Jumat, 05 November 2021

Beberapa Contoh Algoritma

 


Hei semua. Ketemu lagi sama aye, Wody Smultronställe. Sebelumnya, aye udah pernah membahas tentang apa itu algoritma. Nah, di postingan kali ini, aye akan menunjukkan beberapa contoh algoritma, entah di kehidupan sehari-hari atau kehidupan sehara-hara. Langsung saja kita mulai pembahasannya =D


Contoh 1: Halo Dunia

 

Mari kita mulai dari algoritma yang paling sederhana. Kita bisa pandang algoritma sebagai deretan perintah-perintah atau instruksi-instruksi yang harus dikerjakan. Nah, algoritma seperti apa yang paling sederhana? Yap, algoritma yang paling sederhana adalah algoritma instruksi untuk gak ngapa-ngapain. Tentu saja, algoritma seperti ini gak aplikabel (gak berguna). Mari kita ganti pertanyaannya, algoritma apa yang paling sederhana setelah itu? Yap, jawabannya adalah algoritma yang hanya terdiri dari satu perintah saja, misal perintah "Tulis 'Halo Dunia'". Itu sudah bisa dikatakan algoritma meski sangat-sangat sederhana. 

 

Di awal-awal belajar bahasa pemrograman juga gitu, kita biasanya belajar membuat program yang hanya mengeluarkan output teks sederhana, biasanya teks "Hello, World!" dan kebanyakan bahasa pemrograman tingkat tinggi sudah menyediakan fungsi untuk membuat perintah "print" atau "display" output teks apa saja.


Nah, itulah algoritma yang sangat sederhana, hanya menulis suatu tulisan. Kita lanjut ke algoritma yang lebih tidak sederhana.


Contoh 2: Hai Fulan


Terkadang kita tidak ingin mengatakan halo kepada dunia, kadang kita hanya ingin mengatakan hai pada seseorang saja, misalnya lawan bicara kita. Tentu, menyebut "hai" saja tidak seru tanpa menyebut nama orang yang ingin kita seru. Jadi, kita harus tanya dulu dong siapa nama si orang tersebut. Proses ini bisa kita buat dalam bentuk algoritma yang terdiri dari instruksi-instruksi berikut.


1. Tanyakan nama lawan bicara
2. Tunggu dan dengarkan nama lawan bicara kemudian simpan dalam ingatan, misal namanya adalah x
3. Katakan "Hai x".


Nah, di algoritma ini terdapat 3 step. Step 1 sebenarnya adalah step mengeluarkan input kata-kata, misalnya "siapa namamu?". Step ke-2 adalah mengambil input dari lawan bicara, dalam hal ini nama, nilai input tersebut kemudian disimpan dalam memori (dalam bahasa pemrograman, kita akan mengenal yang namanya variabel, tempat menyimpan nilai-nilai). Kemudian, di step 3, kita mengeluarkan output kata-kata lagi, tapi kali ini outputnya tergantung dari nama yang disimpan dalam memori, misal kalau yang tersimpan namanya adalah "Fulan" maka kita mengeluarkan outpun "Hai Fulan".


Contoh 3: Lulus atau tidak?


Misal kamu adalah seorang guru. Kamu ingin menentukan seorang siswa lulus ujian atau tidak tergantung dari nilainya apakah sudah mencapai standar KKM atau tidak. Misal standar KKM-nya 6. Misal di ujiannya terdapat 5 soal dengan masing-masing soal bernilai 2 kalau benar dan 0 kalau salah. Bagaimana algoritma menilai seorang siswa lulus atau tidak? Berikut algoritmanya.


1. Pertama-tama yang harus dilakukan adalah mengambil input jawaban dari si siswa.
2. Periksa jawaban nomor 1, terdapat dua kemungkinan:

  • Jawaban benar: berikan nilai 1.
  • Jawaban salah: berikan nilai 0.

3. Periksa jawaban nomor 2, terdapat dua kemungkinan:

  • Jawaban benar: tambahkan nilai 1.
  • Jawaban salah: gak ngapa-ngapain.

4. Periksa jawaban nomor 3, terdapat dua kemungkinan:

  • Jawaban benar: tambahkan nilai 1.
  • Jawaban salah: gak ngapa-ngapain.

5. Periksa jawaban nomor 4, terdapat dua kemungkinan:

  • Jawaban benar: tambahkan nilai 1.
  • Jawaban salah: gak ngapa-ngapain.

6. Periksa jawaban nomor 5, terdapat dua kemungkinan:

  • Jawaban benar: tambahkan nilai 1.
  • Jawaban salah: gak ngapa-ngapain.

7. Cek nilai akhir, terdapat dua kemungkinan:

  • Nilai < 6: nyatakan tidak lulus.
  • Nilai ≥ 6: nyatakan lulus.

Perhatikan bahwa terdapat 7 langkah dalam algoritma di atas yang langkah ke-2 sampai 7 merupakan langkah yang bergantung pada kondisi. Di setiap step kita menanyakan suatu kondisi, misal "apakah jawaban di soal ini benar?" kemudian mengeksekusi aksi tergantung dari apakah kondisi itu benar atau salah. Sebagai contoh, pada kasus 5, kita menanyakan apakah jawaban nomor 4 benar? Jika benar maka kita tambahakan nilai 1, jika salah, ya tambahkan nilai 0 atau sama aja dengan gak ngapa-ngapain. So, algoritma juga bisa bercabang bahkan bisa bercabang-cabang tergantung dengan input yang dimasukkan.


Contoh 4: Ganjil atau Genap?


Misal kita ingin mengecek apakah suatu bilangan bulat itu ganjil atau genap. Tentu, pertama-tama kita harus tanyakan dulu bilangan apa yang akan cek. Nah, baru kemudian kita cek apakah bilangan tersebut genap atau ganjil. Cara mengeceknya pun mudah, kita tinggal bagi 2. Kalau hasilnya berupa bilangan bulat juga maka bilangan awal kita simpulkan genap, sebaliknya kalau hasilnya berupa pecahan yang gak bulat maka kita simpulkan bilangan awal adalah bilangan ganjil. Mudah, kan?


1. Pertama-tama tentukan bilangan bulat berapa yang mau dicek, misal x.

2. Bagi x dengan 2, misal hasilnya y.

3. Periksa y, terdapat dua kemungkinan:

  • y merupakan bilangan bulat: simpulkan x genap.
  • y merupakan pecahan yang tidak bulat: simpulkan x ganjil.


Nah, ini adalah salah satu contoh sederhana dari algoritma yang bercabang, lebih sederhana dari contoh 3 di atas. Percabangan terjadi di step 3 dimana cabang yang akan dipilih bergantung pada nilai y apakah bulat ataukah pecahan. Algoritma seperti ini dinamakan algoritma pemilihan (selection) karena terdapat suatu langkah dimana pemilihan langkah-langkah berikutnya bergantung pada suatu kondisi. Kondisi tersebut juga bisa saja secara langsung dipilih oleh user algoritma. Di contoh 5, akan ditunjukkan ilustrasi algoritma pemilihan yang dipilih langsung oleh "user" atau pengguna algoritma.


Contoh 5: Cara Membuat Nasi Goreng


Nasi goreng adalah makanan yang bisa dimasak oleh semua orang baik dari level amatir hingga level profesional. Nasi goreng juga merupakan makanan yang sangat populer serta punya banyak variasi di seluruh dunia. Untuk memasak nasi goreng, basic-nya hanya nasi dan minyak goreng. Namun, kalau ingin menambah bahan-bahan lain juga bisa bikin tambah enak sesuai dengan selera. Kali ini aye akan memberikan algoritma sederhana untuk membuat nasi goreng.


1. Siapkan bahan dan alat yakni nasi, bawang merah, bawang putih, cabe, minyak goreng, dan wajan

2. Cincang sampai halus bawang merah dan bawang putih

3. Panasin minyak, tumis bawang merah dan bawang putih

4. Ada dua pilihan:

  • Jika suka pedas: masukkan cabe
  • Jika tidak suka pedas: gak usah masukkan cabe

5. Jika sudah wangi, masukkan nasi

6. Goreng sambil aduk si nasi ini sampai matang.

 

Nah, itulah cara memasak nasi goreng. Algoritma masak nasi goreng juga merupakan algoritma selection yang ditentukan oleh selera yang pengen makan, contohnya kalau suka pedas ya masukkan cabe, kalo gak suka pedas ya jangan masukkan. Sebenarnya algoritmanya bisa lebih kompleks tergantung selera. Begitupun dalam membuat program, kodingannya bisa lebih kompleks tergantung selera.


Contoh 6: Penuhi Bak dengan Air


Semua orang tahu cara mengisi bak dengan air menggunakan gayung. Caranya simpel, ya cukup isi sampai penuh. Adapun algoritmanya adalah sebagai berikut.


1. Selama bak tidak penuh: masukkan air dengan gayung ke bak.


Nah, ini adalah contoh simpel algoritma perulangan (repetition). Kita mengulangi suatu instruksi selama terpenuhi suatu kondisi. Dalam contoh ini, kita ulangi perintah "masukkan air dengan gayung ke bak" selama kondisi "bak tidak penuh" terpenuhi. Kalau bak sudah penuh, maka kondisi tersebut tidak terpenuhi lagi sehingga perintah "masukkan air dengan gayung ke bak" tidak dilakukan lagi.


Contoh 7: Mengecat Pagar


Misal kamu udah habis masang pagar di depan rumah. Selanjutnya, kamu pengen ngecat pagar-pagarnya. Total ada 15 pager yang pengen dicat. Nah, kamu cat pagarnya satu persatu. Ini juga termasuk dalam algoritma perulangan sebab kamu melakukan pengecatan pagar berkali-kali meskipun pagarnya berbeda-beda.


1. Lakukan untuk setiap pagar: cat pagar.


Hal yang berbeda dari contoh 6 dan contoh 7, adalah banyaknya perulangan di contoh 7 sudah ditentukan sejak awal yakni hanya 15 kali. Sedangkan, pada contoh 6 tidak tentu sebab hanya melihat dan menunggu kondisi. Banyak perulangan juga bisa jadi tidak terbatas kalau baknya berlubang.


Nah, itulah beberapa contoh algoritma. Ada algoritma yang berupa deretan instruksi yang dikerjakan langsung satu per satu, ada algoritma yang berisi instruksi bercabang mengikuti pilihan atau kondisi, ada algoritma yang berisi instruksi perulangan pekerjaan. Semoga postingan ini bermanfaat. Kalau ada yang ingin ditanyakan atau ada salah-salah kata, silahkan curahkan semuanya di kolom komentar. Sampai ketemu lagi di postingan selanjutnya. Da da~

Tidak ada komentar:

Posting Komentar

Mohon berkomentar dengan baik dan benar guys.