Algorism
/ Algorithm / Algoritma
Ditemukan oleh
Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi
Al-Khuwarizmi menulis buku yang berjudul Kitab
Al-Jabar Wal-Muqabala yang artinya “buku pemugaran dan pengurangan”
(The book of restoration and reduction)
(The book of restoration and reduction)
Algoritma adalah urutan langkah-langkah logis
penyelesaian masalah yang disusun secara sistematis.
Kata logis merupakan kata kunci dalam algoritam.
Harus logis dan harus dapat ditentukan bernilai salah atau benar.
Algoritma dapat juga di devinisikan urutan logis
pengambilan putusan untuk pemecahan masalah
Algoritma dibutuhkan untuk memerintah komputer
mengambil langkah-langkah tertentu dalam menyelesaikan masalah
Penulisan
Algoritma
Penulisan Algoritma bisa dilakukan dengan 3 cara,
Yang pertama yaitu dalam bahasa natural (Bahasa Indonesia, Bahasa Inggris, dan
bahasa manusia lainnya) sering membingungkan (ambiguous), yang kedua dengan
cara menggambarkan flow chart (diagram alir) secara visual namun repot kalau
algoritmanya panjang. Dan yang ketiga dilakukan dengan menggunakan Pseudo-Code,
dimana sudah lebih dekat kebahasa pemrograman, namun sulit dimengerti oleh
orang yang tidak mengerti bahasa pemrograman.
Contoh
• Requirement
– Buat sebuah algoritma untuk memilih bilangan
terbesar dari 3 buah bilangan
– Nantinya ini bisa digeneralisir menjadi n buah
bilangan
Algoritma
Dalam Bahasa Natural
1. Ambil bilangan pertama dan set maks sama dengan
bilangan pertama
2. Ambil bilangan kedua dan bandingkan dengan maks
3. Apa bila bilangan kedua lebih besar dari maks,
set maks sama dengan bilangan kedua
4. Ambil blangan ketiga dan bandingan dengan maks
5. Apabila bilangan ketiga lebih besar dari maks,
set maks sama dengan bilangan ketiga
6. Variabel maks berisi bilangan terbesar. Tayangkan
hasilnya
Algoritma
dengan Flowchart
Algoritma
dengan pseudo-code
maks ← bilangan pertama
if (maks < bilangan kedua)
maks ← bilangan kedua
if (maks < bilangan ketiga)
maks ← bilangan ketiga
Aspek
Penting dari Algoritma
1. Finiteness
• Algoritma harus berhenti after a finite number of
steps
2. Definiteness
• Setiap langkah harus didefinisikan secara tepat,
tidak boleh membingungkan (ambiguous)
3. Input
• Sebuah algoritma memiliki nol atau lebih input
yang diberikan kepada algoritma sebelum dijalankan
4. Output
• Sebuah algoritma memiliki satu atau lebih output,
yang biasanya bergantung kepada input
5. Effectiveness
• Setiap algoritma diharapkan miliki sifat efektif
0 comments:
Post a Comment