Meredita Susanty
Hak cipta dilindungi undang-undang. Dilarang memperbanyak sebagian atau seluruh isi buku ini dalam bentuk apa pun, baik secara
elektronis maupun mekanis, termasuk tidak terbatas pada memfotokopi, merekam, atau dengan menggunakan sistem penyimpanan
lainnya, tanpa izin tertulis dari Penerbit.
Susanty, Meredita
ISBN 978-623-92373-0-1
540.1.01
PRAKATA
Meredita Susanty
DAFTAR ISI
BERPIKIR
KOMPUTASIONAL
Tujuan Pembelajaran:
• Memahami pentingnya berpikir komputasional.
• Memahami keterkaitan antara berpikir komputasional, algoritme, dan
pemrograman.
• Mampu mendokumentasikan hasil berpikir komputasional dalam diagram
alir.
• Mampu menelusuri diagram alir untuk memahami suatu algoritme.
Contoh lainnya adalah pada saat mendengarkan pembicaraan seseorang atau membaca
bahasa asing. Anda akan berusaha mengenali kata yang diucapkan, mencari tahu arti
dari kata yang diucapkan, dan memperhatikan urutan kemunculan kata-kata tersebut
agar Anda dapat memahami makna dari perkataan seseorang.
Anda melakukan elemen-elemen berpikir komputasional pada contoh tersebut.
Jika hal tersebut Anda lakukan untuk bahasa yang sudah sangat Anda kuasai, misalnya
bahasa Indonesia, Anda mungkin sudah tidak menyadari lagi proses tersebut karena
berpikir komputasional adalah cara berpikir alamiah manusia.
“Coding is the literacy of today and it helps practice 21st century skills such as problem-
solving, teamwork and analytical thinking” (EU Digital Single Market, 2016).
“...the world is going digital and so is the labour market... Skills like coding are the
new literacy. Whether you want to be an engineer or a designer, a teacher, nurse or web
entrepreneur, you’ll need digital skills” (McCormack, 2014: 57).
ALGORITME
Kata algoritme merupakan serapan dari bahasa Inggris algorithm. Secara etimologi,
kata algorithm berasal dari nama ahli matematika abad ke-9 asal Persia bernama
Muh.ammad ibn Mūsā al-Khwārizmī. Al Khwārizmī dibaca oleh orang barat menjadi
algorism.1
Al Khwārizmī menulis sebuah risalah dalam bahasa Arab yang diterjemahkan
ke bahasa Latin menjadi Algoritmi de numero Indorum, yang dalam bahasa Inggris
berarti Algoritmi on the numbers of the Indians, di mana kata algoritmi adalah terjemahan
namanya dalam bahasa Latin. Risalah ini memperkenalkan penggunaan angka Arab
(1, 2, 3, 4, 5, .., dst) dan sistem angka desimal bagi dunia barat. Dunia barat saat
itu menggunakan angka romawi (I, X, M, ..., dst). Pada abad pertengahan, kata
algorismus (latin) atau algorisme (Inggris) diartikan sebagai sistem angka desimal.2
Pada abad ke-15, akibat pengaruh kata dalam bahasa Yunani αριθμητική (baca
arithmitiki) yang artinya angka, kata dalam bahasa Latin mengalami perubahan
menjadi algorithmus yang padanannya dalam bahasa Inggris adalah algorithm.
Any well-defined computational procedure that takes some value, or set of values, as input
and produces some value, or set of values as output. (Cormen, Introduction to Algorithm)
1
http://www-history.mcs.st-andrews.ac.uk/Biographies/Al-Khwarizmi.html
2
https://en.wikipedia.org/wiki/Algorithm#cite note-16 http://www-history.mcs.st-andrews.ac.uk/Biographies/Al-
Khwarizmi.html
DIAGRAM ALIR
Salah satu cara menyatakan algoritme adalah menggunakan diagram alir (flowchart).
Diagram alir merupakan representasi grafis yang menggunakan bentuk-bentuk
geometris dengan anotasi yang sesuai dan dihubungkan garis yang menyatakan
aliran data/informasi dengan tujuan merancang atau mendokumentasikan suatu
proses atau solusi penyelesaian suatu masalah.
Gambar di bawah adalah notasi yang digunakan dalam diagram alir.
flow lines Garis dengan tanda panah di ujungnya menyatakan urutan langkah atau
arah membaca algoritme.
Contoh:
Setiap pagi Anda berangkat ke kampus dengan urutan sebagai berikut.
1. Jam beker berbunyi.
2. Anda mematikan alarm dan lanjut tidur lagi.
3. Jam beker berbunyi kedua kali.
4. Anda kembali mematikan alarm.
5. Jam beker berbunyi ketiga kali.
6. Anda mematikan alarm.
7. Mandi dan bersiap-siap.
8. Sarapan.
9. Jika hari hujan, Anda akan naik becak sedangkan jika cuaca cerah, Anda akan
jalan kaki ke kampus.
10. Anda sampai di kampus.
Algoritme 1
Anotasi proses
start biasanya end
menggunakan
kata kerja
Alarm berbunyi Sampai di Percabangan
kampus selalu memiliki
2 garis keluar.
Matikan alarm
Algoritme 2
start
Input/output biasanya
menggunakan kata end
benda
Bunyi alarm
Sampai di kampus
Matikan alarm
Naik Tidak Ya
Bunyi Ya
Tidur lagi Cuaca = Jalan
< 3? becak cerah? kaki
Tidak
Mandi dan
Makanan Sarapan Lihat cuaca
bersiap-siap
PENELUSURAN
Seperti disebutkan sebelumnya, algoritme harus benar agar hasil atau solusi
yang diperoleh benar. Untuk memastikan algoritme benar, kita harus melakukan
penelusuran (tracing). Penelusuran berarti kita menjalankan langkah demi langkah
yang ada di algoritme dan mencatat data/informasi pada tiap langkah dengan tujuan
mencari kesalahan dan memperbaiki kesalahan tersebut.
Di bawah ini adalah algoritme untuk menghitung perkalian n × m.
start Nilai n
Nilai m
i=1
Ya
Hasil = n + n
Tidak
i=i+1 i <= m? Hasil end
start Nilai n
Penelusuran
dimulai dari
Nilai m terminator dengan
anotasi start
i=1
Ya
Hasil = n + n
Tidak
i=i+1 i <= m? Hasil end
start Nilai n
Algoritme
Nilai m meminta input
nilai n
i=1
Ya
Hasil = n + n
Tidak
i=i+1 i <= m? Hasil end
Jika algoritme meminta nilai input, maka orang atau komputer yang menelusuri algoritme
bebas memberikan nilai apapun. Misalkan dalam penelusuran ini kita akan menghitung
5 × 2, maka nilai n adalah 5. Catatlah nilai n saat ini pada tabel penelusuran.
Variabel Nilai
n 5
start Nilai n
Algoritme
meminta input
Nilai m nilai m
i=1
Ya
Hasil = n + n
Tidak
i=i+1 i <= m? Hasil end
Variabel Nilai
n 5
m 2
start Nilai n
Algoritme
melakukan
Nilai m proses pemberian
nilai untuk
variabel i
i=1
Ya
Hasil = n + n
Tidak
i=i+1 i <= m? Hasil end
Variabel Nilai
n 5
m 2
i 1
start Nilai n
Algoritme melakukan
Nilai m proses penambahan nilai n
dengan nilai n kemudian
menyimpan hasil
i=1 penambahan di
variabel hasil
Ya
Hasil = n + n
Tidak
i=i+1 i <= m? Hasil end
Variabel Nilai
n 5
m 2
i 1
hasil 10
start Nilai n
Algoritme melakukan
proses penambahan nilai i
Nilai m saat ini dengan 1, hasilnya
disimpan lagi di variabel i
i=1
Ya
Hasil = n + n
Tidak
i=i+1 i <= m? Hasil end
Variabel Nilai
n 5
m 2
i 12
hasil 10
Algoritme
start Nilai n melakukan
pemeriksaan, apakah
Nilai m nilai variabel i <= nilai
variabel m
i=1
Ya
Hasil = n + n
Tidak
i=i+1 i <= m? Hasil end
start Nilai n
Karena nilai i (2) sama
Nilai m dengan m(2), maka proses
ini dijalankan kembali
i=1
Ya
Hasil = n + n
Tidak
i=i+1 i <= m? Hasil end
Variabel Nilai
n 5
m 2
i 12
hasil 10 15
start Nilai n
Algoritme melakukan
proses penambahan nilai i
Nilai m saat ini dengan 1, hasilnya
disimpan lagi di variabel i
i=1
Ya
Hasil = n + n
Tidak
i=i+1 i <= m? Hasil end
Variabel Nilai
n 5
m 2
i 123
hasil 10 15
i=1
Ya
Hasil = n + n
Tidak
i=i+1 i <= m? Hasil end
start Nilai n
Karena nilai i (3) lebih
Nilai m besar dari m(2), maka
proses ini dijalankan
i=1
Ya
Hasil = n + n
Tidak
i=i+1 i <= m? Hasil end
Algoritme memberikan
output, yakni nilai dari
variabel hasil
Variabel Nilai
n 5
m 2
i 123
hasil 10 15
start Nilai n
Ya
Hasil = n + n
Tidak
i=i+1 i <= m? Hasil end
Bisa dilihat pada algoritme di atas, bahwa hasil dari perkalian 5 × 2 adalah 15.
Berarti, algoritme tersebut salah sehingga kita harus memperbaiki algoritme tersebut.
Pada algoritme di atas, kita melakukan penambahan angka 5 sebanyak 3 kali,
padahal seharusnya hanya 2 kali. Hal ini disebabkan karena syarat pada percabangan
adalah i <= m. Bagaimana hasilnya jika syarat ini kita ubah menjadi i < m? Silakan
Anda coba jalankan kembali algoritme yang sudah diperbaiki di bawah ini mengikuti
langkah-langkah yang sudah dijelaskan di atas.
start Nilai n
Nilai m
i=1
Hasil = n + n
Tidak
i=i+1 i <= m? Hasil end
Variabel Nilai
n 5
m 2
i 12
hasil 10
!
Selain mencari kesalahan untuk diperbaiki, penelusuran sangat diperlukan untuk memahami
cara kerja sebuah algoritme.
Latihan Soal
1. Buatlah algoritme yang dinyatakan dengan diagram alir untuk proses memasak agar-agar seperti
gambar di bawah ini.
Agar-Agar
Shallow
Cara Memasak:
Tuangkan sebungkus agar-agar
Shallow ke dalam panci dengan
4 gelas air minum (900 cc)
dan 120 gr gula (atau menurut
s e l e ra k e m u d i a n d i m a s a k
hingga mendidih sambil diaduk.
Tuangkan ke dalam cetakan dan
biarkan hingga dingin.
2. Buatlah algoritme yang dinyatakan dengan diagram alir untuk proses memasak mi instan seperti
pada gambar di bawah ini.
Mie Goreng
Sate
Cara Penyajian:
- Rebus mi dalam 400 cc (2 gelas)
air mendidih selama 3 menit
sambil diaduk.
- Sementara mi direbus, campurkan
bumbu, minyak bumbu, kecap
manis, dan bubuk cabe ke dalam
piring.
- Tiriskan mi, kemudian campurkan
mi ke dalam campuran bumbu di
piring, diaduk hingga merata.
- Taburkan bawang goreng dan Mie
Goreng Sate siap disajikan.
3. Algoritme di bawah ini dibuat untuk menghitung pangkat dari suatu bilangan dengan rumus nm.
Jika kita ingin menghitung 33, berarti nilai n adalah 3 dan m adalah 3, dan kita akan mendapatkan
hasil 27.
start Nilai n
Nilai m
i=1
Ya
Hasil = n * n
Tidak
i=i+1 i <= m? Hasil end
4. Algoritme pada Latihan Soal 2 adalah algoritme untuk membuat mi goreng instan. Di bawah ini adalah
algoritme untuk membuat mi rebus instan. Modifikasi algoritme yang sudah Anda buat di Latihan Soal
2 sehingga algoritme tersebut termasuk langkah-langkah untuk membuat mi rebus instan.
Mie Kari
Ayam
Cara Penyajian:
- Rebus mi dalam 400 cc (2 gelas)
air mendidih selama 3 menit
sambil diaduk-aduk.
- Sementara mi dimasak, siapkan
campuran bumbu, minyak bumbu,
dan bubuk cabe ke dalam
mangkok.
- Tuangkan mi yang sudah matang
beserta kuahnya ke dalam
mangkok dan aduk dengan bumbu
hingga rata.
- Taburkan bawang goreng dan Mie
Kari Ayam siap untuk disajikan.
Tips: Perhatikan proses yang berbeda, gunakan percabangan untuk memisahkan algoritme mi rebus
dan mi goreng.
c. Ada proses apa saja untuk mendapatkan output yang Anda sebutkan di jawaban (b)?
d. Buatlah algoritme yang menghitung keliling lingkaran.
Nilai Phi adalah 3,14 dan nilai ini tidak pernah berubah. Jadi, gunakan proses untuk menyatakan
pemberian nilai untuk phi (bukan input).
7. Buatlah diagram alir untuk algoritme menghitung biaya percakapan telepon di bawah ini:
• Pelanggan mengangkat telepon.
• Pelanggan memasukkan nomor telepon (lokal/telepon seluler). Tarif telepon lokal Rp 0,01/detik,
tarif telepon selular 0,02/detik.
• Program menghitung detik percakapan hingga telepon ditutup. Detik terus bertambah 1 hingga
telepon ditutup.
• Pelanggan menutup telepon.
• Program menghitung biaya percakapan yang dilakukan.
a. Manakah input dalam kasus di atas?
b. Manakah output dalam kasus di atas?
c. Ada proses apa saja untuk mendapatkan output yang Anda sebutkan di jawaban (b)?
d. Buatlah flowchart untuk algoritme menghitung biaya percakapan telepon.