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" [Gambas:Video 20detik] (pal/pal)
KOMPAS.com - Pada pagi hari apa yang kamu lakukan sebelum berangkan ke suatu tempat? Pertama kali kamu akan bangun, berjalan ke kamar mandi, menganggalkan pakaian, mandi, menggunakan pakaian kembali, sarapan, lalu pergi. Hal tersebut adalah urutan lengkap sebelum pergi, karena tidak mungkin kita mandi dulu padahal belum bangun tidur ataupun mandi tanpa menganggalkan pakaian terlebih dulu. Urutan tersebut adalah algoritma rutinitas pagi. Definisi algoritma dalam program komputer adalah daftar langkah atau instruksi untuk menyelesaikan masalah atau pekerjaan tertentu. Dengan adanya algoritma, akan lebih mudah untuk membuat program computer yang rumit sekalipun. Ciri-ciri algoritma, yaitu:
Baca juga: Sistem Operasi Komputer: Pengertian, Fungsi, Jenis, Cara Kerja, dan Contohnya Jenis algoritmaAlgoritma memiliki beberapa jenis, sebagai berikut:
Algoritma divide and conquer adalah algoritma pemecahan suatu masalah dengan membaginya ke dalam dua masalah yang lebih kecil. Pertama-tama masalah dibagi menjadi dua sub masalah, lalu masing-masing sub masalah tersebut diselesaikan. Setelah kedua submasalah terselesaikan, solusinya digabungkan kembali menjadi satu. Algoritma divide and conquer sangat sering digunakan karena dinilai stabil dan sederhana. Contoh algoritma divide and conquer yang kompleksDilansir dari Analytic Step, algoritma rekursif memecah masalah menajadi submasalah dan memanggil dirinya sendiri berulang-ulang sampai masalah terurai atau sebuah kondisi dasar yang ditentukan terpenuhi. Baca juga: Jaringan Komputer: Pengertian dan Manfaatnya
Algoritma pemrograman dinamis adalah perwujudan dari kalimat “melihat masa lalu dan membenarkan masa depan”. Algoritma pemrograman dinamis memecahkan submasalah dengan hasil pemecahan submasalah sebelumnya. Karena hasil pemecahan submasalah sebelumnya bisa apa saja, inilah mengapa algoritma ini disebut dinamis atau tidak tetap. Algoritma greedy atau algoritma serakah adalah algoritma yang menyelesaikan masalah dalam submasalah dengan mencari solusi yang paling jelas secara global. Algoritma greedy tidak mempertimbangkan hasil sebelumnya maupun konsekuensi kedepannya dan hanya memiliki hasil terbaik, sehingga disebut serakah. Algoritma brute force adalah algoritma paling mendasar dengan mencoba semua peluang sampai hasil yang diinginkan tercapai. Algoritma brute force adalah algoritma logis yang mempertimbangkan banyak opsi dengan optimal namun waktu pemecahannya tergolong lama. Baca juga: Hal-hal yang Perlu Diperhatikan dalam Penggunaan Komputer Algoritma backtracking atau algoritma mundur adalah algoritma yang menyelesaikan masalah secara rekursif atau memanggil dirinya sendiri berulang-ulang. Bedanya, saat suatu opsi tidak memecahkan masalah, algoritma akan menghapus opsi tersebut dan mundur ke belakang untuk mengulang pencarian solusi kembali. Algoritma memiliki tiga struktur dasar yaitu sequence, selection, dan repetition. Sequence atau urutan adalah struktur yang menadung runtutan langkah-langkah algoritma dari awal hingga akhir secara berurutan. Selection adalah proses seleksi atau pemilihan solusi masalah yang paling tepat. Sedangkan repetition atau pengulangan struktur algoritma yang memungkinkan suatu fungsi untuk diulang atau digunakan berulang kali hingga didapat kondisi atau solusi yang diinginkan. Contoh algoritmaDapatkan update berita pilihan dan breaking news setiap hari dari Kompas.com. Mari bergabung di Grup Telegram "Kompas.com News Update", caranya klik link https://t.me/kompascomupdate, kemudian join. Anda harus install aplikasi Telegram terlebih dulu di ponsel. |