Pengenalan Algoritme
Pernahkah kamu membaca bagian aturan pakai pada sampo atau cara memasak mie instan pada bagian belakang bungkusnya ?
Jika pernah itu merupakan salah satu dari penerapan algoritme dalam dunia nyata.
Dalam bidang lain, algoritme menjadi jantung dari ilmu komputer dan informatika dalam praktiknya, mulai dari pengurutan angka hingga sangkut pautnya dengan keakuratan mesin pencari.
Apa itu Algoritme ?
Algoritme merupakan langkah kerja untuk menyelesaikan persoalan.
Pada mie instan sebelumnya, merupakan salah satu contoh dalam menyelesaikan persoalan pada mie instan :
Bagiamana memasak mie instan ?
Selain permasalahan diatas, tanpa kita sadari algoritme merupakan medium untuk menjelaskan sesuatu baik itu secara lisan atau tulisan. Maka dari itu algoritme harus memiliki 5 karakteristik berikut
- Memiliki batasan yang jelas untuk mulai dan berhenti.
- Langkah kerja tidak bermakna ganda / multi tafsir / ambigu.
- Memiliki masukan masalah
- Menghasilkan keluaran
- Berkerja efektif
Jika tidak memenuhi karakteristik di atas, maka algoritme bisa tidak jelas atau malah menyesatkan.
Oke pemaparan menarik, sekarang saya pusing dengan artikel anda, Yogha. Telepas dari itu, siapa yang mencetuskan konsep algoritme ini ?
Muhammad bin Musa al-Khwārizmī al-Majousi al-Katarbali atau disebut singkat al-Khwārizmī, merupakan matematikawan asal Persia.
Beliau menulis buku tentang Aturan Penjumlahan dan Pengurangan (Rules of Restoration and Reduction) yang menjadi tempat beliau menulisakan pemahaman algoritme pertama kali, yang pada zaman itu disebut dengan Al-Jabr.
Sumber gambar si Al-Khwarismi dari : Wikidata.com
Komputasi
Sudah mendapat gambarkan mengenai algoritme, kecuali bagian mengapa itu menjadi jantung dari ilmu komputer dan informatika.
Data berasal dari bahasa latin : Datum, yang bearti “sesuatu yang diberikan”. Sesuatu yang diberikan dari rekam jejak suatu keberadaan. Ambil contoh sebuah gelas, Gelas mempunyai data yang bisa diambil seperti ukuran volum, warna, bentuk, komposisi kimiawi dan sebagainya.
Bila direduksi maka berbunyi, Data adalah catatan dari kumpulan fakta.
Algoritme dapat digunakan untuk mengolah data dan mendapatkan penyelesaian persoalan dengan data. Komputer mampu memroses algoritme lebih hemat dan efektif ketimbang manusia, karena manusia bisa lelah dan ketelitian pekerjaan menurun seiring waktu dan komputer sebaliknya.
Proses kerja algoritma yang digunakan untuk menangani data disebut Komputasi. Komputasi bisa diproses oleh manusia dan komputer. Namun perlu diingat, bahwa komputer tidak bisa memasak mie instan dan manusia tidak bisa memroses berkas komputer dengan otak mereka. Karena setiap pemroses memiliki kasus gunanya di masing tempatnya tersendiri.
Algoritme akan menjadi cetak biru suatu program komputer. Program ini memberi tahu bagiamana komputer melakukan suatu pekerjaan berdasarkan algoritme yang ditanam pada program.
Algoritme merupakan medium penjelas yang baik ? sampai komputer pun bisa dibuat mengerti. Maka untuk membuat komputer mengerti penjelasaan anda, maka anda perlu mampu untuk membangun algoritme dan menuliskanya dalam bentuk program, tentunya melalui bahasa pemrograman.
Contoh algoritme dalam bidang komputasi
- Algoritme Divide and Conquer (Pengurutan data)
- Algoritme Rakus/Greedy (Pengambilan keputusan)
- Algoritme Djikstra (Pencarian jarak terpendek)
Senarai algoritme diatas merupakan salah satu, contoh strategi algoritme yang banyak digunakan. Berikut ada berapa ulasan menarik dari algoritme diatas :
- Algoritme Divide and Conquer terinspirasi dari politik pecah belah masa kolonial (divide et impera). Memecah permasalahan menjadi bagian kecil lalu menyelesaikanya satu persatu kemudian mengabungkan semua hasilnya.
- Algoritme Rakus/Greedy secara tak sadar banyak kita terapkan dalam kehidupan seperti membeli barang banyak saat diskon atau promo dan maraton main game online ketika ada acara musiman.
- Algoritme Djikstra banyak penerapan dalam pencarian rute lintasan terpendek, seperti rute pengiriman data, penerbangan dan yang sekarang sedang populer pemilihan rute pengemudian pada aplikasi transportasi daring.
Membangun Algoritme
Algoritme hadir sebagai pelengkap dari masalah : solusi.
Hal pertama yang perlu dilakukan untuk membangun algoritme yaitu mendefinisikan masalah kemudian memahaminya. Masalah sebagai masukan algoritme terhadap masalah yang ingin diselesaikan.
Sebagai contoh, kamu memiliki masalah pada sandi akun medsos dan kamu adalah seorang ahli manajer sosial media. Setiap kamu membuat akun media sosial, tidak ingat atau mencatatan sandinya. Namun kamu tidak menganggap ini masalah dan terus membiarkanya, maka tidak ada penyelesaianya bisa dilakukan kecuali kamu memperdulikan masalah tersebut dan coba memahaminya.
Hal kedua, merancang algoritme. Dengan mendapatkan pemahaman kita bisa mendapatkan data tentang masalah yang kita hadapi dan memrancang strategi untuk menyelesaikanya.
Setelah ada peduli bahwa mencatat sandi merupakan hal yang perlu, anda membangun strategi untuk mengatasi masalah tersebut. Seperti memulai mecatat sandi atau mengunakan tautan akun lain seperti akun Googl*.
Hal ketiga, menguji algoritme. Menguji untuk memastikan apakah algoritme yang ada rancang mempan atau malah sebaliknya mempersulit anda.
Kamu menguji rencana untuk mencatat sandi, namun rencana itu menambah resiko baru bila hilang ada kemungkinan untuk di baca orang dan mendapatkan semua akun kamu.
Maka dari sini semua rencana kamu perlu di perbaiki, Kamu mengunakan cara menyimpan sandi pada akun browser kamu yang memiliki manajer sandi dan cukup mencatat sandi akun browser kamu serta melengkapinya dengan pengamaan berlapis : 2FA (Two Factor Authentication).
Ini mempersulit kamu untuk kehilangan banyak akun karena hanya mencatat satu sandi dan mengunakan keamanan berlapis untuk mempersulit pembajakan.
Setelah tahap ini penerimaan masalah, perancangan algoritme serta pengujian siap maka algoritme siap dilaksanakan.
Penutup
Sekian dari tulisan saya, ini pengenalan algoritme , sejarah dan kaitanya dengan komputasi. Bila ada kesempatan, saya akan mencoba untuk membahas terkait klasifikasi dan paradigma dari algoritme.
Nature like to surprised us with old stuff we didn’t know, but fortunately that blow our mind
— Yoghaswara
Terima kasih telah membaca.
Referensi
- Munir, Rinaldi.2011.Algoritma dan Pemrograman dalam Bahasa Pascal dan C. Penerbit Informatika.
- https://www.slideshare.net/bhaykur/komputasi-modern-dalam-bidang-biologi-46322805