Review Materi — KD. 3.1 Logika & Algoritma Komputer
Bismillahirrahmaanirrahiim,
Assalamualaikum wr. wb.
Secara gak sadar sih mungkin kita sudah sering ya menerapkan algoritma dalam kehidupan sehari — hari. Mengapa demikian? karena algoritma dibutuhkan untuk memecahkan setiap permasalahan yang kita miliki dengan disertai logika yang masuk akal pula. Dengan kata lain bisa dibilang semua masalah bisa dipecahkan selama kita tahu algoritma untuk memecahkan masalah tersebut. Lalu definisi logika dan algoritma itu apa sih?
Definisi Algoritma
Algoritma merupakan rangkaian proses pemecahan masalah dengan langkah yang terstruktur dan logis.
Logika merupakan hasil pertimbangan akal pikiran yang diutarakan lewat kata dan dinyatakan dalam bahasa.
Jadi algoritma digunakan untuk memecahkan permasalahan yang sedang dihadapi mulai dari yang simple hingga yang kompleks. Mengapa perlu algoritma? Sederhananya, dengan memiliki pengetahuan mengenai langkah — langkah pemecahan masalah yang sedang kita alami maka kita akan mudah menyelesaikan permasalahan tersebut. Sebaliknya jika tidak tau langkah yang akan dilakukan, kita tidak akan bisa memecahkan suatu permasalahan dengan baik.
Saya ambil contoh disini adalah memasak mie instan. Misal nih kalian mau masak mie instan, tapi gak tau langkahnya gimana. Pertama harus ngapain, kedua harus ngapain, ketiga ngapain dan selanjutnya. Tapi ketika kita tau langkah-langkahnya, tanpa perlu kita baca petunjuk memasaknya-pun kita bisa masak mie-nya malah bisa improvisasi dengan kasih cabe rawit atau ulekan cabe setan biar mie nya lebih pedas mantab.
Dan juga pemecahan masalah tersebuh haruslah secara sistematis, logis dan masuk akal, secara gimana kalau masak mie kalian mulai langkah pertama dengan tuangkan bumbu ke dalam piring sedangkan bungkusnya aja kalian belum buka. Jadi harus sistematis (berurutan) dan logis (masuk akal) ya.
Sistematika Algoritma
Next, gimana bentuk algoritma itu? ada 3 cara penulisan algoritma. Tapi sebelum itu, apa aja yang perlu diperhatikan sebelum menulis algoritma?
- Bahasa yang digunakan harus sederhana dan mudah dimengerti oleh penulisnya maupun orang lain.
- Penulisan algoritma dapat berbeda bagi setiap orang. Artinya gak ada yang mutlak dalam penulisan algoritma selama langkahnya benar dan logika-nya masuk akal sih sah — sah aja.
Lalu menurut Ronald E. Knuth dalam bukunya yang berjudul The Art of Computer Programming, ciri — ciri yang harus dimiliki oleh sebuah algoritma itu adalah sebagai berikut :
- Finiteness (bukan fitnes ya, baca yang bener wkwkwk). Yakni keterbatasan. Maksudnya apa? Ya algoritma harus berakhir / ada ujungnya setelah menyelesaikan suatu permasalahan. Kalau algoritmanya gak selesai, ya masalahnya gak selesai — selesai dong.
- Definiteness yaitu kepastian. Cinta aja butuh kepastian kan, begitu juga algoritma. Artinya disini setiap langkah pada algoritma harus didefinisikan dengan tepat dan tidak menimbulkan makna yang ambigu.
- Input sebuah algoritma memiliki nilai nol atau lebih. Artinya harus ada nilai-nya walaupun nilainya nol. Gak boleh kosong lho.
- Output (keluaran). Setiap algoritma itu harus memiliki setidaknya satu saja keluaran. Atau dengan kata lain, harus ada hasil akhir dari setiap langkah pemecahan masalahnya.
- Effectiveness. Last but not least, algoritma juga kudu efektif. Baik itu dari segi waktu pengerjaannya, tenaga/effort yang digunakan dll.
Sistematika Penulisan Algoritma
Algoritma itu bisa ditulis dengan 3 cara yaitu :
- Menggunakan Bahasa Natural — Penulisan algoritma seperti bahasa sehari-hari yang kita gunakan. Dengan cara ini, algoritma dituliskan dengan instruksi-instruksi yang berbentuk untaian kalimat deskriptif
Contoh :
Algoritma Memasak Mie Instan
1. Siapkan piring, panci, sendok, garpu, gunting, saringan mie dst… (alat & bahan bisa ditambah sesuai kebutuhan)
2. Isi air secukupnya ke dalam panci lalu hidupkan kompor dan masak hingga air mendidih
3. Buka bungkus mie dan keluarkan bumbunya. Kemudian buka dan tuangkan bumbunya ke dalam piring. Aduk hingga merata
4. Apabila mie sudah cukup matang, maka matikan kompor, angkat dan tiriskan mie.
5. Tuangkan mie kedalam piring kemudian aduk hingga bumbu tercampur rata dengan mie.
6. Sajikan. - Menggunakan Pseudocode — Pseudocode itu penulisan algoritma yang bentuknya hampir menyerupai kode pemrograman yang sebenarnya.
Contoh :
Algoritma Menjumlahkan 2 bilangan
1. STORE panjang WITH VALUE 4
2. STORE lebar WITH VALUE 2
3. STORE luas WITH VALUE 0
4. COMPUTE luas WITH lebar TIMES panjang
5. DISPLAY luas
Well, kalian pasti bingung dengan kode diatas, tapi inilah bentuk Pseudocode. Kalau mau tau lebih dalam silahkan browse di mbak Google banyak banget heheh. Disini saya hanya memberi contoh kecil saja untuk penulisan algoritma menggunakan Pseudocode. - Menggunakan Diagram Alir (Flowchart) — Nah kalau dengan flowchart ini, algoritma itu digambarkan dalam suatu diagram alir. Kenapa disebut diagram alir? Karena diagram tersebut memiliki aliran (flow) dan setiap tahapannya digambarkan dengan simbol yang masing — masing memiliki fungsi dan kegunaan khusus. Untuk contoh dan ulasan lebih lanjutnya boleh cek disini.
- https://medium.com/dot-intern/jenis-flowchart-dan-simbol-simbolnya-ef6553c53d73
- https://www.romadecade.org/pengertian-flowchart/#!
Ok, sekian dulu review materi KD 3.1. Semoga bisa dipahami dan bermanfaat bagi yang membaca yah. Jika ada pertanyaan boleh comment di bawah atau di grup kelas kita, Have a nice day :)
Wassalamualaikum wr. wb.