Algoritma
A. Sejarah algoritma
Dalam bahasa inggris atau bahasa internasional istilah ini dikenal dengan algorithm. Algoritma merupakan rancangan program untuk komputer yang dilaksanakan sebelum program tersebut diolah melalui bahasa pemrograman. Rancangan ini memiliki prosedur yang terstruktur dan mengandung olahan matematika dan logika, terdiri dari rangkaian perintah dan langkah tata cara yang disusun secara teratur.
Algoritma berasal dari nama seorang ahli astronomi dan matematik Persia (Iran), Abu Ja’far Mohammed Ibn Musa al-Khwarizmi, dalam sebuah tulisan Arab berjudul “al jabr w’al-muqabala” pada tahun 780-850M. Alur logika berpikir manusia yang dituangkan dalam skema tertentu yang selanjutnya dapat diimplementasikan sebagai beberapa perintah dalam suatu bahasa pemrograman untuk menghasilkan sebuah software.
B. Definisi algoritma
Algoritma merupakan prosedur komputasi yang terdefinisi dengan baik ( dari initial state ke terminal state ) yang menerima himpunan ( input ) untuk menyelesaikan suatu masalah yang menghasilkan himpunan output/ urutan-urutan dari instruksi atau langkah-langkah untuk menyelesaikan suatu masalah masalah yang disusun secara sistematis dan logis.
.
Suatu algoritma dikatakan benar apabila himpunan input menghasilkan output yang benar. Langkah logis berarti algoritma tidak harus mengikuti urutan tertentu, dan tidak melompati langkah yang lain. Kata Logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam Algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar.
1) Langkah-langkah yang dilakukan agar solusi masalah dapat diperoleh
2) Suatu prosedur yang merupakan urutan langkah-langkah yang berintegrasi
3) Suatu metode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata.(Webster Dictionary)
C. Algoritma Merupakan Jantung Ilmu Informatika
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-haripun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Karena itu suatu Algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus :
1) Mengerti setiap langkah dalam Algoritma
2) Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
D. Analisis suatu algoritma
1) Deskripsi (cara penulisan):
a) natural language
b) pseudo-code
c) diagram (seperti flowchart)
2) Kriteria algoritma:
a) Input: nol atau lebih
b) Output: satu atau lebih
c) Definisi/terjemahan/interprestasi: jelas, tepat untuk tiap instruksi
d) Batasan: sebuah algoritma harus berhenti setelah sejumlah langkah, walaupun jumlah langkah boleh banyak tapi harus terbatas
e) Efektivitas dan efisien
f) Terstruktur
Berikut ini beberapa contoh penyelesaian dengan Algoritma
a. Algoritma membuat kopi:
1) Masukan 2 sendok gula
2) Masukan 1 sendok kopi
3) Masukan air sampai gelas penuh
4) Aduk hingga semua zat terlarut
5) Minumlah selagi panas
b. Algoritma menentukan bilangan Genap/Ganjil :
1) Masukan sebuah bilangan
2) Tambah bilangan tersebut dengan angka 1 (satu)
3) Bagi bilangan tersebut dengan angka 2 (dua)
4) Jika sisa samadengan 0 (nol), maka bilangan tersebut adalah bilangan ganjil.
5) Jika sisa samadengan 1 (satu), maka bilangan tersebut adalah bilangan genap
6) Cetak hasilnya
E. Kesimpulan
Suatu Algoritma yang terbaik(The Best) : “Suatu algoritma harus menghasilkan output yan tepat guna(efektif) dalam waktu yang relatif singkat & penggunaan memori yang relatif sedikit(efisien) dengan langkah yang berhingga & prosedurnya berakhir baik dalam keadan diperoleh suatu solusi ataupun tidak ada solusinya”
Tahapan Analisa Algoritma
1. Bagaimana merencakan suatu algoritma:
2. Bagaimana menyatakan suatu algoritma
Ø Dengan Bahasa semu(Pseudocode): yaitu dengan menggunakan bahasa sehari-hari, tetapi harus jelas dan terstruktur
3. Bagaimana validitas suatu algoritma
4. Bagaimana menganalisa suatu algoritma
5. Bagaimana menguji program dari suatu algoritma
a) Fase Debugging, yaitu fase dari suatu proses program eksekusi yang akan melakukan koreksi terhadap kesalahan program.
b) Fase Profilling, yaitu fase yang akan bekerja jika program tersebut sudah benar atau telah melalui proses pada fase debugging.
Refensi
Ø Blog.m.kurniawan
Ø My Blog
Ø Yusriel.files.wordpress.com
