0% found this document useful (0 votes)
12 views

Bab 2

Pembelajaran Arduino 2

Uploaded by

umi.pratiwi.fis
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Bab 2

Pembelajaran Arduino 2

Uploaded by

umi.pratiwi.fis
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

1

Umi Pratiwi, M.Sc.

APLIKOM

BAB 2

PENGANTAR ALGORITMA

Bab ini membahas hal-hal berikut:

O prinsip pembuatan program;


O pengertian algoritma;
O independensi algoritma terhadap bahas pemrograman;
O cara penyusunan algoritma.
10

2.1 PRINSIP PEMBUATAN PROGRAM


Untuk menangani permasalahan yang kompleks, penulisan program tidak bisa langsung
dilakukan. Secara prinsip, pernbuatan program melibatkan empat aktivitas berikut.

1. Menganalisis masalah.
Informasi yang diperlukan pada tahap ini adalah mengumpulkan informasi awal mengenai
masalah, memahami keluaran yang dikehendaki, mengumpulkan masukan-masukan yang
diperlukan, dan mengenali pemrosesan data masukan sehingga bisa menjadi keluaran.
2, Merancang program yang digunakan untuk memecahkan masalah.
Penyiapan program dilakukan pada tahap ini. Sketsa penyelesaian, rancangan antarmuka,
desain database, dan pemilihan atau penyusunan algoritma merupakan bagian dari aktivitas ini.
3. Menuliskan program.
Setelah aktivitas tahap kedua sudah terkumpul, penuangan ke dalam program mulai bisa
dilaksanakan.

4. Menguji program.
Tahap akhir pernbuatan program adalah memastikan bahwa program yang dibuat benar-benar
sesuai dengan tugas yang diembannya dan bebas dari kesalahan.

2.2 PENGERTIAN ALGORITMA


Berdasarkan uraian di depan, salah satu bagian yang diperlukan di dalam pemecahan masalah
adalah memilih atau menyusun algoritma. Itulah sebabnya, pengetahuan mengenai algoritma
mutlak diperlukan. Dengan memahami algoritma, penyusunan program akan menjadi lebih
mudah.
Algoritma adalah sekumpulan langkah yang rinci yang ditujukan untuk menyelesaikan suatu
masalah. Langkah-langkah yang dimaksud adalah agar bisa dituangkan ke dalam program
sehingga bisa dieksekusi oleh sistem komputer. Namun, tanpa harus menuangkan ke dalam
program, langkah-langkah yang terdapat di algoritma bisa diuji secara manual. Contoh algoritma
ditunjukkan di bawah ini.
1. Masukkan nilai panjang persegi panjang dan catat di variabel Panjang
2. Masukkan nilai lebar persegi panjang dan catat di variabel Lebar.
3. Hitunglah keliling persegi panjang dengan menggunakan rumus: Keliling =
2 x (Panjang + Lebar)

Tampilkan isi keliling.


Algoritma seperti di atas dapat disederhanakan dalam bentuk pseudokode atau kode Yang lebih
ringkas daripada kalimat Yang digunakan manusia. Psedudokode agak mengarah ke bahasa
pemrograman, walaupun sesungguhnya tidak bergantung kepada suatu bahasa pernrograman.
Algoritma nomor urut, sedangkan pseudokode tidak. Contoh pseudokode:
Panjang ← panjang persegi panjang
Lebar 4 ←lebar persegi panjang
Keliling ← 2 * (Panjang + Lebar)
Tampilkan keliling
11

Agar algoritma (atau pseudokode) bisa dituangkan ke dalam program, ada tiga hal yang perlu
diperhatikan, yaitu tidak ambigu, dapat dieksekusi, dan berurutan (Brown, 2012).
"Tidak ambigu” berarti bahwa setiap instruksi hanya mempunyai satu interpretasi.
"Dapat dieksekusi” berarti bahwa setiap instruksi dapat dieksekusi oleh orang atau sistem
kompüter tanpa memerlukan informasi tambahan.
"Berurutan" berarti bahwa instruksi-instruksi di dalam algoritma telah tersusun urut
sehingga dapat digunakan untuk melaksanakan tugas dengan tepat.

Menurut Knuth (1973) dan juga Horowitz, dkk. (1999), ada lima ciri-ciri penting yang harus
dimiliki oleh suatu algoritma, yaitu berupa finjteness, definiteness, maşukan, keluaran, dan
efektivitas.
1. Finiteness. Finiteness menyatakan bahwa suatu algoritma harus berakhir untuk semua
kondisi setelah memproses sejumlah langkah.

2. Definiteness. Definiteness menyatakan bahwa setiap langkah harus dinyatakan dengan


jelas (tidak rancu atau mendua-arti).

3. Maşukan. Setiap algoritma bisa tidak memiliki maşukan, tetapi umumnya mempunyai
satu atau beberapa maşukan. Maşukan merupakan suatu besaran yang diberikan di awal
sebelum algoritma diproses.

4. Keluaran. Setiap algoritma memiliki keluaran, entah hanya sebuah keluaran atau banyak
keluaran. Keluaran merupakan besaran yang mempunyai kaitan atau hubungan dengan
maşukan.

5. Efektivitas. Setiap algoritma diharapkan bersifat efektif, dalam arti semua operasi yang
dilaksanakan oleh algoritma haruslah sederhana dan dapat dikerjakan dalam waktu yang
terbatas

LATİHAN
1. Cobalah uji algoritma untuk menghitung luas lingkaran di depan dengan ketiga hal yang
diutarakan oleh Brown. Apakah ada langkah yang tidak memenuhi kriteria tersebut?
2. Bagaimana halnya kalau terdapat algoritma seperti berikut yang ditujukan untuk
memberitahukan suatu tempat? Asumsikan yang akan mengerjakan adalah orang.
a. Jalanlah lurus sampai bertemu perempatan yang pertama.
b. Ambil jalan ke kanan.
c. Carilah rumah tingkat. Di situlah lokasinya.

2.3 ALGORİTMA TIDAK BERHUBUNGAN DENGAN BAHASA PEMROGRAMAN TERTENTU


Algoritma bukanlah suatu program dan tidak berafiliasi dengan bahasa pemrograman tertentu.
Jadi, algoritma secara teoretis bersifat bebas dari bahasa pemrograman. Itulah sebabnya, sebuah
algoritma Semestinya mudah untuk diterjemahkan ke dalam berbagai bahasa pemrograman.
12

Contoh di Gambar 2.1 memperlihatkan algoritma dalam bentuk pseudokode yang diterjemahkan
ke dalam dua bahasa pemrograman: C++ dan Pascal.

Gambar 2.1 Algoritma dapat dituangkan ke dalam bahasa pemrograman yang berbeda dengan mudah

2.4 BAGAIMANA MEMBUAT ALGORİTMA?


Algoritma dibuat dengan mula-mula memperhatikan unsur maşukan dan keluaran yang akan
ditangani oleh algoritma. Gambar 2.2 memperjelas hal ini. Setelah maşukan dan keluaran
diperoleh, diperlukan satu atau beberapa langkah yang ditujukan untuk membentuk hubungan
antara keluaran dan maşukan.

Gambar 2.2 Algoritma memiliki maşukan dan keluaran

Untuk memahami cara menyusun algoritma berdasarkan suatu permasalahan, ikuti contoh-
contoh berikut.

Contoh 1:

Terdapat dua anak bersaudara, sebut saja A dan B. A berkedudukan sebagai kakak dan B sebagai
adik Usia kedua anak tersebut kalau dijumlahkan adalah 26, sedangkan kalau diselisihkan bernilai
8. Berapa

Solusi:
Pada contoh ini, A dan B jelas berkedudukan sebagai keluaran karena yang dipertanyakan.
Bagaimana dengan maşukannya? Jika Anda membandingkan dengan kasus perhitungan keliling
persegi panjang di depan, kasus usja ini sebenarnya tidak mengandung maşukan. Informasi
tentang jurnlah dan selisih usia
13

lebih cenderung sebagai bahan untuk melaksanakan pemrosesan. Sebagai penyelesaian,


penalaran aljabar bisa digunakan. Pertama-tama, kita bisa menuliskan fakta seperti berikut:
A + B = 26 (Persamaan 1)
A — B = 8 (Persamaan 2)
Berdasarkan Persamaan 1, B bisa ditulis menjadi:
B=26-A
Selanjutnya, persamaan di atas dapat disubstitusikan ke Persamaan 2, seperti berikut:
Th -26=8
Jadi, usia A = 18.
Dengan demikian, usia B adalah
B = 26 – A = 26-17 = 9
Algoritma untuk menyelesaikan persoalan di atas adalah seperti berikut:
1. Hitung:A← (26 +8)/2
2. Hitung: B ← 26 –A
3. Tampilkan A, B
CATATAN
Hal terpenting yang perlu diperhatikan di sini adalah bahwa algoritma bisa
disusun karena perhitungan secara manual bisa dilakukan. Jika persoalan tidak
bisa dipecahkan secara manual, algoritma pun tidak bisa diwujudkan.

Contoh 2:

Sekarang, angka 26 dan 8 akan dijadikan sebagai variabel X dan Y. Persoalannya menjadi
seperti berikut. A berkedudukan sebagai kakak dan B sebagai adik. Usia kedua anak
tersebut kalau dijumlahkan adalah X, sedangkan kalau diselisihkan adalah Y. Berapa usia
A dan B?

Solusi:
Pada persoalan di atas, X dan Y berkedudukan sebagai masukan. Jika dinyatakan dalam bentuk
gambar adalah seperti berikut.

X A
Algoritma
Y B

Gambar 2.3 Hubungan masukan dan keluaran algoritma


14

Itulah sebabnya, berdasarkan cara pada contoh pertama, algoritma bisa ditulis seperti berikut:
1. Baca X
2. Baca Y
3. Hitung : A ← (X + Y) / 2
4. Hitung: B ← A - X
5. Tampilkan A, B
Contoh 3:
solusi pada persoalan kedua bisa berbeda dengan solusi di Contoh 2. Jika solusi di atas mengacu
pada perhitungan A terlebih dulu, perhitungan sebenarnya juga bisa dimulai dari B dahulu. Hal
ini menunjukkan bahwa persoalan yang sama bisa dipecahkan dengan menggunakan algoritma
yang berbeda.

Solusi:
1. Baca X
2. Baca Y
3. B ← (X-Y)/2
4. A ← X - B
5. Tampilkan A, B
Contoh 4:

Diketahui, jari-jari lingkaran sebesar R. Berapakah luasnya?

Solusi:
Persoalan ini sangat sederhana. Namun, solusi yang digunakan untuk menuangkan algoritma
tidak sekadar bisa diselesaikan dengan penalaran aljabar. Contoh ini menunjukkan bahwa
dalam kasus tertentu Anda harus melakukan pencarian untuk memperoleh solusinya. Dalam
hal ini, Anda bisa melihat rumus lingkaran di buku-buku geometri, menanyakan pada teman
atau adik, atau dengan melakukan pencarian melalui Search engine. Setelah Anda mengetahui
cara menghitung luas lingkaran (yaitu πR2), Anda bisa menuangkannya menjadi seperti
berikut:
1. Baca R

2. Hitung: Luas ← 3,14 * R * R

3. Tampilkan R

Contoh 5:

Bagaimana menghitung penjumlahan berikut?


1+2+ 3 +4 + 5 +6+7 +8+9+10
15

Solusi:
penyelesaian persoalan ini tidak semudah contoh-contoh di depan. Untuk memahami penulisan
algoritmanya, mula-mula kita siapkan secarik kertas dan pensil. Perhatikan uraian berikut.

Gambar 2.4 Ilustrasi penjumlahan angka 1+2+3+4+5+6

Terlihat bahwa penjumlahan dilakukan per bilangan (tidak serentak untuk kesepuluh
bilangan), dimulai saat pencacah bernilai 1 hingga bernilai 10. Dengan cara seperti itu,
jika nilai 10 ditambahkan, akan diperoleh penjumlahan 1+2+3+4+5+6+7+8+9+10.

Berdasarkan uraian di depan, ada dua besaran yang dilibatkan dalam pengulangan
perhitungan, yaitu:

1. sebuah pencacah yang bergerak dari 1, 2, 3, hingga 100;


2. sebuah penampung hasil yang mula-mula diisi dengan nol dan digunakan untuk
menampung hasil penjumlahan hasil sebelumnya dengan nilai pencacah.
Apabila pencacah yang disebut di depan dinamakan dengan Pencacah dan hasil yang
menampung penjumlahan disebut Jumlah, proses perhitungan di Gambar 2.4 dapat
ditulis kernbali dengan melibatkan Pencacah dan Jumlah, seperti yang diperlihatkan di
Gambar 2.5.
16

Gambar 2.5 Penjumlahan dengan memanfaatkan variabel Pencacah dan Jumlah

Berdasarkan ilustrasi di Gambar 2.5, dapat dituliskan algoritma seperti berikut.


1. Muta-mula, Jumlah diisi dengan O.
2. Atur agar Pencacah bernilai 1.
3. Lakukan pengulangan terhadap perintah-perintah berikut selama Pencacah < 10:
a. tambahkan nilai Pencacah dan Jumlah serta kemudian simpan ke Jumlah kernbali;
b. Naikkan isi Pencacah sebesar 1.
4. Tampilkan nilai Jumlah.

CATATAN
Dalam praktik, seringkali pemrogram menyelesaikan persoalan dengan
menggabungkan algoritma-algoritma yang pernah dibuat oleh orang Iain.
Sebagai contoh, di dalam mengurutkan sekumpulan data, pemrograman bisa
menggunakan algoritma seperti Quicksort ataupun Insertion sort.
Algoritmaalgoritma seperti itu banyak diulas dalam buku-buku yang membahas
17

masalah algoritma, struktur data, dan pemrograman. Oleh karena itu, selain
seorang pemrogram memiliki kemampuan dasar dalam membuat algoritma, ia
juga perlu mengetahui berbagai algoritma yang pernah dibuat orang supaya
penyelesaian masalah dapat dilakukan segera.
18

LATIHAN
1. Benar atau salah?
a. Algoritma itu sebenarnya program.
b. Suatu algoritma selalu mempunyai masukan.
c. Suatu algoritma dapat tidak memiliki keluaran.
d. Suatu instruksi yang baik tidak boleh ambigu.
e. Istilah definiteness pada algoritma sebenarnya berarti tidak ambigu.
f. Pseudokode itu memiliki bentuk yang lebih ringkas daripada algoritma.

2. Jelaskan sebenarnya apa makna algoritma!


3. Jelaskan bahwa algoritma merupakan bagian penting dari pembuatan program!

4. Dengan menggunakan penalaran aljabar, jabarkan perhitungan yang digunakan di


Contoh 3 di Subbab 2.4.

5. Coba tuliskan algoritma untuk menyelesaikan persoalan berikut:


Gaji dua orang kalau dijumlahkan adalah sebesar X. Salah satu dari kedua orang
tersebut mempunyai gaji yang lebih tinggi sebesar Y. Berapa gaji masing-masing?
19

You might also like