Jakarta - Pernahkah kamu mendengar tentang algoritma? Mungkin terdengar asing untukmu, tetapi algoritma merupakan fondasi penting untuk menyelesaikan masalah dengan sistem komputer, lho. Show
Secara sederhana, algoritma adalah susunan langkah penyelesaian atau metode untuk menyelesaikan suatu masalah secara sistematis dan logis. Untuk bisa mengenalinya, algoritma memiliki ciri-ciri sebagai berikut: 1. Memiliki masukan atau input,2. Memiliki keluaran atau output,3. Menjabarkan langkah yang pasti, jelas, dan tidak ambigu,4. Langkah yang digunakan sederhana, 5. Memiliki batasan waktu. Simak penjelasan mengenai prinsip kerja, struktur, dan cara penyajian algoritma dalam pemrograman computer yang dikutip dari buku Algoritma dan Pemrograman karya Lamhot Sitorus, yuk. Prinsip Kerja AlgoritmaPada dasarnya, algoritma merupakan deskripsi proses untuk mengerjakan sesuatu yang disusun dalam sederet aksi. Secara sederhana, prinsip kerja algoritma terbagi menjadi, masukan (input), proses, dan keluaran (output). Dalam kehidupan sehari-hari, prinsip kerja algoritma dapat dipahami ketika kita ingin membuat telur dadar. Sebelum membuat algoritma, hal yang perlu kita lakukan adalah mendefinisikan masukan (input) dan keluaran (output). Berdasarkan contoh di atas, maka yang menjadi masukan adalah telur mentah dan yang menjadi keluaran adalah telur dadar matang. Dengan demikian, susunan algoritmanya menjadi sebagai berikut: 1. Nyalakan api kompor,2. Tuangkan minyak ke dalam wajan,3. Pecahkan telur ayam ke dalam mangkuk,4. Tuangkan garam secukupnya,5. Kocok campuran telur dan garam,6. Tuang adonan telur ke dalam wajan, 7. Masak telur hingga matang. Struktur Dasar AlgoritmaSecara umum, struktur dasar algoritma terdiri dari sekuensial (sequential), test kondisi atau percabangan (branching), dan perulangan (looping). 1. Algoritma SekuensialAlgoritma sekuensial adalah langkah-langkah yang dilakukan secara berurutan sesuai dengan urutan penulisannya. Struktur ini merupakan struktur yang paling sering dilakukan. Contoh: 2. Algoritma Percabangan (Branching)Dalam kehidupan sehari-hari ada kalanya suatu kegiatan akan dilakukan dan tidak dilakukan tergantung situasi tertentu. Begitu pun dengan algoritma, ada kalanya satu atau beberapa aksi akan dikerjakan dan tidak dikerjakan tergantung situasi tertentu. Nah, struktur algoritma percabangan ini digunakan untuk mengerjakan satu aksi dari beberapa pilihan yang diberikan. 3. Algoritma Perulangan (Looping)Sama halnya dengan manusia, algoritma juga mengenal kegiatan pengulangan, yakni melakukan satu atau beberapa kegiatan secara berulang-ulang. Namun, berbeda dengan manusia, komputer tidak mengenal istilah lelah atau bosan dalam melakukan kegiatan yang sama secara berulang. Dengan demikian, struktur perulangan atau looping digunakan untuk menjalankan kegiatan yang dilakukan berulang-ulang. Cara Penyajian AlgoritmaPenyajian algoritma akan lebih baik jika ditulis secara sistematis. Ada tiga cara yang bisa kamu gunakan untuk menyajikan algoritma, yakni secara naratif, flowchart atau diagram/bagan alir, dan pseudocode. 1. NaratifPenyajian algoritma secara naratif dituliskan dengan menggunakan cerita seperti dalam bahasa sehari-hari. Contoh: Menghitung luas segitiga menggunakan naratifLangkah-1 : MulaiLangkah-2 : Baca nilai AlasLangkah-3 : Baca nilai TinggiLangkah-4 : Hitung Luas = (Alas x Tinggi) / 2Langkah-5 : Cetak Hasil Luas Langkah-6 : Selesai 2. FlowchartDengan flowchart, cara penyajian algoritma dibuat dalam urutan simbol-simbol khusus. Urutan simbol digambarkan sesuai dengan arah tanda panah.
Sumber gambar: Algoritma dan Pemrograman (Sitorus, 2015) 3. PseudocodeLangkah-langkah penyelesaian masalah ini ditulis dengan cara yang mirip atau menyerupai program. Pseudocode tidak spesifik terhadap salah satu bahasa pemrograman sehingga algoritma ini dapat diterjemahkan menyesuaikan bahasa pemrograman yang ada dalam suatu program. Contoh: Menghitung luas segitiga menggunakan pseudocode Input (Alas)Input (Tinggi)Luas ← (Alas x Tinggi) / 2 Output (Luas) Meskipun ada tiga cara penyajian yang berbeda, hasil algoritma yang diberikan tetap sama. Maka dari itu, tidak ada aturan yang menyatakan harus menggunakan penyajian tertentu. Kamu bebas memilih bentuk penyajian sesuai keinginan dan pemahaman. Meski begitu, algoritma yang dibuat dengan kalimat memiliki kelemahan, yaitu hanya bisa dimengerti oleh praktisi yang mengerti bahasanya. Simak Video "Sistem Transportasi di New York Dihack, Negara-negara Ini Dicurigai" (pal/pal)
Masa sih contoh algoritma dan flowchart bisa pakai aktivitas sehari-hari? Kan mereka biasanya identik dengan pemrograman komputer… Orang-orang biasanya udah pusing duluan ketika ngomongin algoritma dan flowchart. Padahal, cara kerjanya sangat dekat dengan keseharian kita. Nggak percaya? Yuk, langsung saja kita kulik contoh algoritma dan flowchart di artikel ini! Apa itu Algoritma dan Flowchart?Kata algoritma sendiri terdengar terlalu kompleks, walaupun dia sebenarnya punya pengertian yang gampang. Algoritma adalah rangkaian instruksi komputer untuk melaksanakan tugas atau menyelesaikan suatu masalah menggunakan alur logis. Ibaratkan komputer adalah otak kita. Tiap hari sejak kita bangun sampai mau tidur lagi akan ada banyak aktivitas yang dikerjakan. Nah, dalam menjalankannya, otak kita otomatis akan menyusun langkah-langkah apa saja yang harus diikuti biar kerjaan beres. Misalnya nih, kamu mau bikin kopi instan karena nggak mau repot. Langkah-langkahnya kurang lebih akan seperti ini: Minum Kopi Instan
Nah, urutan kegiatan “Minum Kopi Instan” di atas adalah algoritma-mu di kehidupan sehari-hari. Di dalam dunia komputer, biar algoritma lebih “instan” dipahami, biasanya programmer akan menggunakan flowchart. Flowchart adalah presentasi grafis untuk menggambarkan proses spesifik sebuah algoritma. Pengaplikasiannya seperti berikut ini: Perlu Bawa Payung? Kamu akan melakukan aktivitas di luar rumah
Gimana? Sudah jelas atau butuh contoh lagi? Tenang, kalau butuh contoh algoritma dan flowchart yang lebih banyak, kamu bisa lanjut baca artikel ini! Mulai dari aktivitas sehari-hari di rumah sampai kerjaan serius di kantor, semua bisa dibikin jadi algoritma dan flowchart! Kalau sudah begitu, kamu makin gampang deh memahami keduanya. Cuss langsung saja kita cek contoh-contohnya~ 1. Memasak TelurKamu ingin memasak telur, ada variasi langkah flowchart yang bisa dilakukan:
3.1. Pecahkan telurnya ke dalam wadah 3.2. Kocok telur dan tambahkan bumbu sesuai selera 3.3. Panaskan penggorengan 3.4. Masukkan kocokan telur ke penggorengan yang sudah panas 3.5. Aduk telur sampai menjadi orak-arik 4. Kalau ingin dimasak ceplok, maka: 4.1. Panaskan penggorengan yang sudah diisi minyak 4.2. Pecahkan telur di penggorengan dan tunggu sampai matang
5.1. Didihkan air dalam panci 5.2. Masukkan telur utuh ke dalamnya dan tunggu beberapa menit sampai isinya matang 2. Menyalakan KomputerKamu akan menyalakan komputer, alur flowchart-nya:
3.1. Apakah muncul pesan error di layar? 3.1.1. Jika ya, lakukan troubleshooting 3.1.2. Jika tidak, komputer bisa langsung digunakan 4.1. Apakah lampu indikator menyala 4.1.1. Jika ya, pencet tombol “on” pada monitor 4.1.2. Jika tidak, cek sumber listrik untuk memastikan arus 4.2. Apakah masalah teratasi? 4.2.1. Jika ya, komputer bisa langsung digunakan 4.2.2. Jika tidak, silakan panggil teknisi untuk memperbaikinya 3. Memilah SampahUntuk merawat bumi, pemilahan sampah wajib dilakukan sebelum dibawa ke pembuangan akhir. Alur flowchart-nya kurang lebih:
4. Mau Kirim PaketKamu punya toko online dan mau kirim paket yang sudah dipesan pelanggan. Alur flowchart-nya:
5. Manajemen PenjualanKamu pemilik bisnis kerajinan yang memperoleh pesanan. Alur flowchart-nya:
6.1. Jika tidak 6.1.1. Beli bahan baku dan buat produk sesuai jumlah pesanan 6.1.2. Masukkan produk yang sudah jadi ke gudang stok 6.2. Jika ya 6.2.1. Lanjut ke langkah selanjutnya
6. Klaim AsuransiKamu ingin membeli asuransi dan suatu waktu harus melakukan klaim. Alur flowchart-nya:
7. Cetak Poster di PercetakanKamu harus mencetak poster ukuran A3 untuk acara besok pagi. Alur flowchart-nya:
1.1. Bagian registrasi mencatat pesanan cetak poster 1.2. Pesanan masuk ke sistem antrean
2.1. Pesanan masuk dan dicek operator 2.2. Desain dikirim ke mesin cetak 2.3. Mesin cetak melakukan persiapan cetak 2.4. Proses cetak berjalan 2.5. Operator mengecek apakah terjadi kendala di tengah jalan 2.6. Proses cetak selesai dan hasilnya dimasukkan ke rak antrean 2.7. Hasil cetak menunggu untuk diambil 2.8. Hasil cetakan diambil dan dibawa ke meja kasir 3.1. Pelanggan membayar biaya cetak
8. Stok Onderdil BengkelSebagai pemilik bengkel kendaraan, kamu harus menjaga stok onderdil agar dapat melayani pelanggan dengan sigap. Alur flowchart-nya:
2.1. Perbarui daftar stok yang ada 2.2. Validasi daftar stok onderdil, jika ada kejanggalan akan terlihat 2.3. Buat daftar stok final
3.1. Catat barang yang diterima saat kedatangan 3.2. Validasi kesesuaian barang sesuai pesanan, jika ada kekurangan/kejanggalan akan terlihat 3.3. Buat daftar order final sesuai pesanan yang datang
9. Audit PerusahaanAudit merupakan hal yang wajar dilakukan di perusahaan. Alur flowchart-nya:
10. Komplain e-CommerceSebagai pengguna e-commerce, kamu ingin melakukan komplain. Alur flowchart-nya:
2.1. Customer service e-commerce akan menjembatani komplain antara pembeli dengan pedagang 2.2. Jika belum selesai, sistem akan me-review dan memberikan jawaban 2.3. Jika belum selesai juga, departemen terkait akan menjawab komplain 2.4. Jika masih ada kendala, pembeli akan diminta untuk meninjau ulang komplain 2.5. Jika masih belum selesai, pihak e-commerce akan menawarkan kompensasi 2.6. Jika sudah selesai (dapat melalui tahapan 2.x mana saja) transaksi diproses
3.1. Sistem akan me-review dan memberikan jawaban 3.2. Jika belum selesai juga, departemen terkait akan menjawab komplain 3.3. Jika masih ada kendala, pembeli akan diminta untuk meninjau ulang komplain 3.4. Jika masih belum selesai, pihak e-commerce akan menawarkan kompensasi 3.5. Jika sudah selesai (dapat melalui tahapan 3.x mana saja) proses berjalan sesuai dengan SOP e-commerce.
4.1. Departemen terkait akan menjawab komplain 4.2. Jika masih ada kendala, pembeli akan diminta untuk meninjau ulang komplain 4.3. Jika masih belum selesai, pihak e-commerce akan menawarkan kompensasi 4.4. Jika sudah selesai (dapat melalui tahapan 3.x mana saja) proses berjalan sesuai dengan SOP e-commerce. 11. Cek Kesehatan di Rumah SakitKamu ingin cek kesehatan di rumah sakit. Contoh algoritma dan alur flowchart begini:
10.1. Jika ya, dokter membuatkan jadwal kontrol 10.2. Jika tidak, dokter akan meresepkan obat
11.1. Jika iya, dokter akan meresepkan obat 11.2. Pasien akan diminta menebus obat
12. Penerbitan BukuKamu ingin menerbitkan buku melalui penerbit. Alur flowchart-nya:
13. Pembayaran Nontunai dengan Kartu Debit/KreditKamu datang ke bioskop, membeli tiket nonton, dan ingin membayar menggunakan kartu debit/kredit. Alur flowchart-nya:
14. Rekrutmen PegawaiSebuah divisi perusahaan membutuhkan tambahan pegawai. Alur flowchart-nya:
6.1. Jika ada yang sesuai, atur pertemuan dengan kandidat 6.2. Atur pre-wawancara 6.3. Susun daftar pertanyaan wawancara 6.4. Lakukan wawancara 6.5. Jika tidak puas, proses selesai di sini 6.6. Jika puas, pilih kandidat 6.7. Lakukan diskusi gaji 6.8. Buat penawaran 6.9. Jika kandidat tidak menerima, proses selesai di sini 6.10. Jika kandidat menerima, rekrut kandidat
7.1. Cek database pelamar sebelumnya 7.2. Jika kandidat tidak sesuai, susun strategi rekrutmen lanjutan 7.3. Pasang iklan 7.4. Kumpulkan pelamar baru 7.5. Jika ada yang sesuai, atur pertemuan dengan kandidat 7.6. Atur pre-wawancara 7.7. Susun daftar pertanyaan wawancara 7.8. Lakukan wawancara 7.9. Jika tidak puas, proses selesai di sini 7.10. Jika puas, pilih kandidat 7.11. Lakukan diskusi gaji 7.12. Buat penawaran 7.13. Jika kandidat tidak menerima, proses selesai di sini 7.14. Jika kandidat menerima, rekrut kandidat 15. Terlambat Bayar Hosting WebsiteKamu telat bayar hosting. Bisa-bisanya~ Yaudah, deh… Contoh algoritma dan alur flowchart begini:
3.1. Bagian keuangan akan memberikan peringatan ke pelanggan untuk kali pertama 3.2. Jika pembayaran diterima, transaksi diproses, selesai 3.3. Jika pembayaran belum juga diterima, bagian keuangan akan mengirim peringatan kedua 3.4. Jika pembayaran diterima, transaksi diproses, selesai 3.5. Jika setelah peringatan kedua masih belum membayar, hosting akan dihapus dari sistem Itu Dia 15 Contoh Algoritma dan Flowchart dalam Kehidupan Sehari-hariFiuh~ Akhirnya selesai juga membaca artikel ini. Kamu sudah disuguhi belasan contoh algoritma dan flowchart di kehidupan sehari-hari. Gimana? Gampang diikuti, kan? Nantinya, logika yang sama akan kamu gunakan ketika terjun langsung di dunia pemrograman. Intinya sih biar program yang dijalankan tidak error. Jadi selalu ada pilihan: kalau bukan A berarti B atau C; kalau sesuai, program selesai dieksekusi. Kalau masih penasaran, kamu bisa mengikuti kelas-kelas pemrograman dari Bitlabs, lho! Selamat belajar! |