Mengenal Apa Itu Algoritma ?
Algoritma adalah deretan instruksi yang jelas dalam memecahkan masalah, yaitu untuk memperoleh keluaran yang diinginkan dari suatu masukkan dalam jumlah waktu yang terbatas.
Algoritma yang ditulis dalam bahasa komputer dinamakan program. Bahasa komputer yang digunakan untuk menulis program dinamakan bahasa pemrograman. Orang yang membuat program komputer disebut pemrogram, dan kegiatan merancang dan menulis program disebut pemrograman, serta ada aktivitas menulis kode program dinamakan coding.
Pada pemrograman ditekankan pada pemecahan masalah, rancangan pemecahan masalah berisi urutan langkahlangkah pencapaian solusi ditulis dalam notasi diskriptif (notasi algoritmik)
Kata algorism berasal dari nama penulis buku Arab yang terkenal, yaitu Abu Ja’far Muhammad Ibnu Musa alKhuwarizmi (al-Khuwarizmi dibaca orang Barat menjadi algorism). Seorang ilmuwan Persia yang menulis kitab al jabr w’al muqabala yang artinya “Buku pemugaran dan pengurangan” (The Book of Restoration and Reduction).
Perubahan kata dari kata algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa/lumrah, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma. Berikut definisi dari Algoritma :
- Langkah – langkah yang dilakukan agar solusi masalah dapat diperoleh.
- Suatu prosedur yang merupakan urutan langkah-langkah yg berintegrasi.
- Suatu metode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata.
Ciri – Ciri dari Algoritma
Tidak semua urutan langkah penyelesaian masalah yang logis dapat disebut sebagai algoritma. Menurut Donald E. Knuth di dalam bukunya yang berjudul The Art of Computer Programming, algoritma mempunyai lima ciri penting yang meliputi:
Finiteness (keterbatasan), algoritma harus berakhir setelah mengerjakan sejumlah langkah proses. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas (berhingga). Barisan instruksi yang dibuat dalam suatu urutan tertentu, dimaksudkan agar masalah yang dihadapi dapat diselesaikan. Banyaknya instruksi atau langkah itu haruslah berhingga.
Jika tidak demikian, proses yang dilakukan akan memerlukan waktu yang relatif lebih lama dan diperoleh hasil yang tidak diperlukan atau tidak berhubungan dengan masalah yang ada, bahkan mungkin proses akan terus berlangsung walaupun solusi yang diharapkan telah diperoleh. Hasil akhir yang didapat merupakan solusinya atau informasi tidak ditemukannya solusi.
Dengan kata lain, baik dalam kondisi ada solusi ataupun tidak, proses tetap akan berhenti. Sebagai contoh, tinjau kembali algoritma EUCLIDEAN. Pada langkah 1, jika n = 0, algoritma berhenti. Jika n ≠ 0, maka nilai n selalu berkurang sebagai akibat langkah 2 dan 3, dan pada akhirnya nilai n = 0.
Program yang tidak pernah berhenti adalah program yang berisi algoritma yang salah. Suatu prosedur yang hanya akan berhenti jika mempunyai atau menghasilkan solusi disebut semi algoritma. Definiteness (kepastian), setiap langkah harus didefinisikan secara tepat dan tidak berarti ganda.
Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguous). Pembaca harus mengerti apa yang dimaksud dengan “m dan n adalah bilangan bulat tak-negatif”. Contoh lainnya, pernyataan “bagilah P dengan sejumlah beberapa buah bilang bulat positif” dapat bermakna ganda. Input (masukan), algoritma memiliki nol atau lebih data masukan (input).
Algoritma memiliki nol atau lebih masukan (input). Masukan adalah besaran yang diberikan kepada algoritma sebelum algoritma mulai bekerja. Algoritma EUCLIDEAN mempunyai dua buah masukan, m dan n, sedangkan algoritma TUKAR ISI BEJANA memiliki masukan larutan bejana A dan larutan bejana B. Output (keluaran), algoritma mempunyai nol atau lebih hasil keluaran (output).
Algoritma mempunya nol atau lebih keluaran (output). Keluaran adalah besaran yang memiliki hubungan dengan masukan. Keluaran tersebut tentunya harus merupakan solusi dari masalah yang sedang diselesaikan. Algoritma EUCLIDEAN mempunyai satu keluaran yaitu n pada langkah 2 yang merupakan pembagi bersama terbesar dari kedua masukannya. Algoritma TUKAR ISI BEJANA tidak memiliki keluaran sama sekali. Effectiveness (efektivitas), algoritma harus sangkil (efektif), langkah-langkah algoritma dikerjakan dalam waktu yang wajar.
Algoritma harus efektif dan efisien. Setiap langkah harus sederhana sehingga dapat dikerjakan dalam sejumlah waktu yang masuk akal. Suatu algoritma dikatakan efektif jika algoritma tersebut dapat menghasilkan suatu solusi yang sesuai dengan masalah yang diselesaikan. Dengan kata lain suatu algoritma harus tepat guna.
Suatu algoritma dikatakan efisien jika waktu proses dari algoritma relatif lebih singkat dan penggunaan memorinya lebih sedikit. Pada beberapa sumber lain, ada tambahan ciri dari algoritma:
Algoritma harus terstruktur. Urutan baris langkah-langkahnya yang digunakan harus disusun sedemikian rupa agar proses penyelesaiannya tidak berbelit-belit, sehingga memungkinkan waktu prosesnya akan menjadi relatif lebih singkat.
Hal ini akan memperlihatkan bahwa bagian-bagian dari proses tersebut dapat dibedakan secara jelas (bagian input, proses dan output). Dengan demikian memudahkan kita didalam melakukan pemeriksaan ulang. Suatu algoritma harus menghasilkan output yang tepat guna (efektif) dalam waktu yang realtif singkat dan penggunaan memori yang relatif sedikit (efisien) dengan langkah yang berhingga dan prosesnya berakhir baik dalam keadaan diperoleh suatu solusi maupun tidak adanya solusi. Sedang sifat algoritma adalah:
- Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman tertentu.
- Tidak tergantung pada suatu bahasa pemrograman tertentu.
- Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun.
- Algoritma dapat digunakan untuk merepresentasikan suatu urutan kejadian secara logis dan dapat diterapkan di semua kejadian sehari-hari.
Contoh-Contoh Algoritma
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang di acu dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari pun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Berikut adalah beberapa contoh algoritma dalam kehidupan sehari-hari.
Langkah-langkah pada algoritma haruslah logis. Secara umum, pihak (benda) yang mengerjakan proses disebut pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer, robot, atau alat-alat mekanik/elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau mengeksekusi algoritma yang menjabarkan proses tersebut. Melaksanakan algoritma berarti mengerjakan langkahlangkah di dalam algoritma tersebut.
Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Karena itu suatu algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus :
- Mengerti setiap langkah dalam algoritma.
- Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
Penutup dan Kesimpulan
Algoritma adalah metode efektif yang diekspresikan sebagai rangkaian terbatas. Algoritma juga merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah – perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir.
Masalah tersebut dapat berupa apa saja, dengan syarat untuk setiap permasalahan memiliki kriteria kondisi awal yang harus dipenuhi sebelum menjalankan sebuah algoritma. Algoritma juga memiliki pengulangan proses (iterasi), dan juga memiliki keputusan hingga keputusan selesai.
Setelah membaca artikel ini kita sudah mengetahui pentingnya Algoritma dalam Ilmu Komputer maupun di kehidupan sehari – hari, untuk mempermudah menyelesaikan masalah yang ada. Dengan demikian pembahasan mengenai “Mengenal apa itu Algoritma: Definisi, Ciri – ciri, dan contohnya” kali ini, semoga anda sudah mengerti, apabila ada pertanyaan maupun saran anda bisa berkomentar dibawah.
Tidak ada komentar:
Posting Komentar