SEJARAH ALGORITMA
Algoritma berasal dari nama penulis buku, yakni Abu Ja’far Muhammad Ibnu Musa Al-Khwarizmi yang berasal dari Uzbekistan. Orang Barat menyebut Al-Khwarizmi dengan Algorism.
Pada saat itu, Al-Khwarizmi menulis buku dengan judul Al Jabar wal-Muqabala yang artinya 'Buku Pemugaran dan Pengurangan' (The book of Restoration and Reduction). Dari judul buku tersebut, kita juga memperoleh kata “aljabar” atau biasa dikenal dengan algebra.
Abu Abdullah Ibnu Musa al-Khawarizmi (770M-840M) lahir di Khawarizm (Kheva), kota yang berada di selatan Sungai Oxus (sekarang disebut Uzbekistan) pada 770 M. Al Khawarizmi merupakan salah satu ilmuan terkenal di zamannya. Ada beberapa cabang ilmu matematika yang berhasil ditemukannya, antara lain yang dikenal sebagai astronom dan geografer. Awalnya, algoritma merupakan istilah yang merujuk kepada aturan-aturan aritmetis yang berguna untuk menyelesaikan persoalan dengan menggunakan bilangan numeric Arab.
Penggunaan Pertama
Pada 1950, algoritma pertama kali digunakan pada Algoritma Eucliden (EuclidAlgorithm). Euclid sendiri merupakan seorang matemaitkawan Yunani yang lahir sekitar 350 SM. Euclid menulis buku yang berjudul Element.
Di dalam buku tersebut, dijelaskan langkah-langkah untuk menemukan pembagi bersama terbesar (common greatest divisor) dari dua bilangan bulat, yakni m dan n. Namun, Eucliden pada saat itu tidak menyebutkan bahwa cara yang digunakannya adalah metode algoritma. Hal tersebut baru disebut sebagai algoritma pada abad-abad modern.
Ciri Algoritma
Lima ciri yang harus dipunyai algoritma agar menjadi algoritma yang benar adalah sebagai berikut.
- Algoritma harus berhenti setelah mengerjakan langkah terbatas. Dalam hal ini, jika langkah-langkah yang ada telah dipenuhi dan telah dieksekusi, algortima haruslah berhenti.
- Setiap langkah harus didefinisikan agar tidak memiliki arti dua (ambiguous).
- Algoritma mempunyai nol atau lebih masukan (input).
- Algoritma mempunyai nol atau lebih keluaran (output).
- Algoritma haruslah efektif, yakni mempunyai langkah yang sederhana agar dapat dikerjakan dengan waktu yang efektif.
Pertimbangan dalam pemilihan algoritma adalah:
Dalam memilih dan membuat algoritma,kita harus melakukan pertimbangan dan pemilihan, antara lain:1. Algoritma haruslah benar.
Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik.
2. kita harus mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut.
Hal ini penting terutama pada algoritma untuk menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya berupa pendekatan).Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya.
3. Efisiensi algoritma.
Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar (paling mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan keluarannya, algoritma tersebut biasanya tidak akan dipakai, setiap orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin buruklah algoritma tersebut.
Jenis-jenis Algoritma
1. Divide and Conquer
Paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkanpermasalahan-permasalahan kecil yang terbentuk.
2. Dynamic programming
Paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal (, dan mengandung beberapa bagian permasalahan yang tumpang tindih . Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.
3. Metode serakah
Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap; dan menggunakan pilihan “serakah” apa yang dilihat terbaik pada saat itu.
4. Sistem Flowchart
Sistem flowchart merupakan diagram alir yang menggambarkan suatu sistem peralatan komputer yang digunakan dalam proses pengolahan data serta hubungan antar peralatan tersebut. Sistem flow chart tidak digunakan untuk menggambarkan urutan langkah untuk memecahkan masalah , tetapi hanya untuk menggambarkan prosedur dalam sistem yang dibentuk.
5. Pseudo Code (Kode Semu)
Pseudo Code (kode semu) merupakan metode yang cukup efisien untuk menggambarkan suatu algoritma . Pseudo Code dituliskan dengan menggunakan bahasa yang mudah dipahami (boleh menggunakan bahasa Indonesia) agar alur logika yang digambarkan dapat dimengeti oleh orang awam sekalipun. Flowchart Pseudo Code (kode semu) disusun dengan tujuan untuk menggambarkan tahap-tahap penyelesaian suatu masalah dengan kata-kata (teks). Metode ini mempunyai kelemahan, dimana penyusunan algoritma dengan kode semu sangat dipengaruhi oleh tata bahasa pembuatnya, sehingga kadang-kdang sulit dipahami oleh orang lain. Oleh karena itu kemudian dikembangkan suatu metode lain yang dapat menggambarkan suatu algoritma program secara lebih mudah dan sederhana yaitu dengan menggunakan flowchart (diagram alir).
Definisi Algoritma Menurut Para Ahli
- Menurut Abu Ja’far Muhammad Ibnu Musa Al-Khawarizmi Seorang Matematikawan Islam dari Uzbekistan, Algoritma adalah suatu metode khusus untuk menyelesaikan suatu persoalan yang ada.
- Menurut Goodman dan Hedetniemi, penulis buku “Introduction to the Design and Analysis of Algorithms“, Algoritma merupakan Urut-urutan terbatas dari operasi terdefinisi dengan baik, yang masing-masing membutuhkan memory dan waktu yang terbatas untuk menyelesaikan suatu masalah.
- Menurut Donald Ervin Knuth seorang ilmuan terkenal dalam bidang komputerisasi, Algoritma yaitu Sekumpulan aturan-aturan berhingga yang memberikan sederetan operasi-operasi untuk menyelesaikan suatu jenis masalah yang khusus.
- Menurut Seymour Lipschutz dan Marc Lipson keduanya penulis buku tentang aljabar dan seorang praktisi matematika dan komputer, Algoritma merupakan suatu daftar langkah demi langkah yang terhingga dari instruksi-instruksi yang terdefinisikan dengan jelas yang dipakai untuk permasalahan tertentu.
- Menurut Marvin Minsky seorang Ilmuwan dibidang Kecerdasan Buatan (Artificial Intelligence), Algoritma adalah seperangkat aturan yang memberitahukan kepada kita dari waktu ke waktu, tepatnya bagaimana untuk bertindak.
- Menurut David Bolton seorang praktisi dibidang teknologi asal Australia, Algoritma merupakan sebuah deskripsi suatu prosedur yang berakhir dengan sebuah hasil.
- Menurut Andrey Andreyevich Markov Matematikawan asal Rusia, Algoritma adalah hal umum untuk dipahami sebagai suatu keputusan yang tepat untuk mendefinisikan proses komputasi yang mengarahkan dari data awal hingga hasil yang diinginkan.
- Menurut Romi Satria Wahono salah satu praktisi Komputerisasi terbaik dari indonesia pemilik dari situs ilmukomputer.com, Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan.
Kesimpulan Definisi Algoritma Menurut Para Ahli
Berdasarkan dari definisi algoritma yang dijabarkan oleh beberapa ahli. Kita dapat mengetahui bahwa kata kunci dari algoritma (algorithm) adalah jelas dan logis. Ini menandakan bahwa saat kita merangkai atau menyusun sebuah algoritma harus logis dan jelas agar nantinya keluaran (hasil) benar. Bisa diartikan juga algoritma dirancang untuk menyelesaikan masalah. Jika intruksi yang dijabarkan kurang jelas dan logis maka masalah tidak dapat terselesaikan dengan baik atau hasilnya tidak sesuai dengan kita inginkan. Algoritma juga dapat disajikan dalam 2 bentuk, yaitu bentuk tulisan/bahasa dan bentuk gambar. Penyajian bentuk tulisan biasa disebut pseudocode dan penyajian dalam bentuk gambar disebut flowchart.

Komentar
Posting Komentar