Featured

Sejarah tentang Algoritma



                SEJARAH ALGORITMA
      Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis". Algoritma berasal dari nama penulis buku, yakni Abu Ja’far Muhammad Ibnu Musa Al-Khwarizmi yang berasal dari Uzbekistan. Orang Barat menyebut Al-Khwarizmi.  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-Khawar. Ada beberapa cabang ilmu matematika yang berhasil ditemukannya, antara lain yang dikenal sebagai astronom dan geografer.izmi (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


    Awalnya, algoritma merupakan istilah yang merujuk kepada aturan-aturan aritmetis yang berguna untuk menyelesaikan persoalan dengan menggunakan bilangan numeric Arab.
    Pada 1950, algoritma pertama kali digunakan pada Algoritma Eucliden (Euclid Algorithm). 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.

  Menurut Donal E.Knuth syarat-syarat algoriyma sebagai berikut :
1.      Finiteness (keterbatasan) , yaitu algoritma harus berakhir setelah melakukan sejumlah langkah proses.
2.      Definiteness (kepastian) , yaitu setiap langkah algoritma harus didefinisikan dengan tepat dan tidak menimbulkan makna ganda.
3.      Input (masukan) , yaitu sebuah algoritma memiliki  nol atau lebih masukan (input) yang diberikan algoritma sebelum dijalankan.
4.      Output (keluaran) , yaitu setiap algoritma memberikan  satu atau beberapa hasil keluaran.
5.      Effectiveness (efektivitas) , yaitu langkah algoritma dikerjakan dalam waktu yang wajar.
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 memecahkanpermasalahan-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.
  • 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.

Tabel Simbol Dasar Flowchart


·         Pseudecode
       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).