Sabtu, 24 Oktober 2009

Jenis Jenis Algoritma

Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Beberapa paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda.
  • 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 memecahkan permasalahan-permasalahan kecil yang terbentuk.
  • 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.

Algoritma

Dalam matematika dan komputasi, algoritma 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 catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda dengan heuristik. Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai.
Desain dan analisis algoritma adalah suatu cabang khusus dalam ilmu komputer yang mempelajari karakteristik dan performa dari suatu algoritma dalam menyelesaikan masalah, terlepas dari implementasi algoritma tersebut. Dalam cabang disiplin ini algoritma dipelajari secara abstrak, terlepas dari sistem komputer atau bahasa pemrograman yang digunakan. Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan kriteria yang sama.
Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi.

Awal Algoritma

Asal-usul kata Algoritma

Istilah algoritma, mungkin bukan sesuatu yang asing bagi kita. Teman-teman ada yang tahu arti kata ‘algoritma’? Ditinjau dari asal-usul katanya, kata ‘Algoritma’ mempunyai sejarah yang agak aneh. Orang hanya menemukan kata Algorism yang berarti proses menghitung dengan angka Arab. Seseorang dikatakan ‘Algorist’ jika menghitung menggunakan angka Arab. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku Arab terkenal, yaitu Abu Abdullah Muhammad Ibnu Musa Al-Khuwarizmi dibaca orang barat menjadi Algorism.

Definisi Algoritma

Definisi Algoritma adalah “langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”. Contoh sederhana adalah penyusunan sebuah resep makanan, yang biasanya terdapat langkah-langkah cara memasak masakan tersebut. Tapi, algoritma umumnya digunakan untuk membuat diagram alur (flowchart) dalam ilmu komputer / informatika.

Penemu konsep Algoritma dan Aljabar

Penemunya adalah seorang ahli matematika dari uzbekistan yang bernama Abu Abdullah Muhammad Ibn Musa al-Khwarizmi. Di literatur barat, beliau lebih terkenal dengan sebutan Algorism. Panggilan inilah yang kemudian dipakai untuk menyebut konsep algoritma yang ditemukannya. Abu Abdullah Muhammad Ibn Musa al-Khwarizmi (770-840) lahir di Khwarizm (Kheva), kota di selatan sungai Oxus (sekarang Uzbekistan) tahun 770 masehi. Kedua orangtuanya kemudian pindah ke sebuah tempat di selatan kota Baghdad (Irak), ketika ia masih kecil. Khwarizm dikenal sebagai orang yang memperkenalkan konsep algoritma dalam matematika, konsep yang diambil dari nama belakangnya.

Al khwarizmi juga adalah penemu dari beberapa cabang ilmu matematika yang dikenal sebagai astronom dan geografer. Ia adalah salah satu ilmuwan matematika terbesar yang pernah hidup, dan tulisan-tulisannya sangat berpengaruh pada jamannya. Teori aljabar juga adalah penemuan dan buah pikiran Al khwarizmi. Nama aljabar diambil dari bukunya yang terkenal dengan judul “Al Jabr Wa Al Muqabilah”. Ia mengembangkan tabel rincian trigonometri yang memuat fungsi sinus, kosinus dan kotangen serta konsep diferensiasi.

Pengaruhnya dalam perkembangan matematika, astronomi dan geografi tidak diragukan lagi dalam catatan sejarah. Pendekatan yang dipakainya menggunakan pendekatan sistematis dan logis. Dia memadukan pengetahuan dari Yunani dengan Hindu ditambah idenya sendiri dalam mengembangkan matematika. Khwarizm mengadopsi penggunaan angka nol, dalam ilmu aritmetik dan sistem desimal. Beberapa bukunya banyak diterjemahkan kedalam bahasa latin pada awal abad ke-12, oleh dua orang penerjemah terkemuka yaitu Adelard Bath dan Gerard Cremona. Risalah-risalah aritmetikanya, seperti Kitab al-Jam’a wal-Tafreeq bil Hisab al-Hindi, Algebra, Al-Maqala fi Hisab-al Jabr wa-al-Muqabilah, hanya dikenal dari translasi berbahasa latin. Buku-buku itu terus dipakai hingga abad ke-16 sebagai buku pegangan dasar oleh universitas-universitas di Eropa.

Buku geografinya berjudul Kitab Surat-al-Ard yang memuat peta-peta dunia pun telah diterjemahkan kedalam bahasa Inggris. Buah pikir Khwarizmi di bidang geografi juga sangat mengagumkan. Dia tidak hanya merevisi pandangan Ptolemeus dalam geografi tapi malah memperbaiki beberapa bagiannya. Tujuh puluh orang geografer pernah bekerja dibawah kepemimpinan Al khwarizmi ketika membuat peta dunia pertama di tahun 830. Ia dikisahkan pernah pula menjalin kerjasama dengan Khalifah Mamun Al-Rashid ketika menjalankan proyek untuk mengetahui volume dan lingkar bumi.

sumber : http://www.e-smartschool.com/PNK/001/PNK0010008.asp