PENGENALAN ALGORITMA
DEFINISI ALGORITMA
·
Algoritma adalah urutan langkah-langkah logis
yang disusun secara sistematis untuk menyelesaikan suatu masalah.
·
Kata logis (logika) merupakan kunci dalam
algoritma.
·
Langkah-langkah dalam algoritma harus logis,
hasil algoritma harus dapat ditentukan bernilai benar atau salah.
·
Langkah yang salah akan memberikan hasil yang
salah.
HISTORI
Pertama kali diungkapkan oleh Abu Ja'far Muhammad Ibnu Musa
Al-Kwarizmi, penulis buku “Aljabar Wal Muqabala” (Abad IX)
Menjelaskan langkah-langkah menyelesaikan persoalan
Aritmatika(Aljabar)
Kata “Algoritma”“Al-Kwarizmi”Algorism”
”Algorithm”
CIRI-CIRI ALGORITMA YANG BAIK
·
Memiliki logika perhitungan/metode yang tepat
dalam memecahkan masalah
·
Menghasilkan output yang tepat dan benar dalam
waktu yang singkat
·
Ditulis dengan bahasa yang standar secara
sistematis dan rapi sehingga tidak menimbulkan arti ganda
·
Ditulis dengan format yang mudah dipahami dan
diimplementasikan ke dalam bahasa pemrograman
·
Semua operasi yang dibutuhkan terdefinisi dengan
jelas
·
Semua proses harus selalu berakhir setelah
sejumlah langkah dilakukan
ALGORITMA DALAM KEHIDUPAN
·
Membuat kopi
·
Membuat mie instant
·
Membuat resep makanan
·
Mengirim surat melalui pos
·
Mencuci piring
·
Mengganti ban mobil yang pecah
·
Menentukan keputusan pada saat lampu merah
dijalan raya
·
berwudlu
·
Dll.
CONTOH ALGORITMA SEDERHANA
Sebagai contoh, menukarkan isi dua buah gelas.
Gelas A berisi cairan biru dan gelas B berisi cairan merah.
Tukarkanlah isi kedua gelas tersebut
Algoritma 1 :
Tuangkan isi gelas A ke gelas B
Tuangkan isi gelas B ke gelas A
Jawaban pada Algoritma 1 diatas tidak menghasilkan
pertukaran yang benar.
Cairan pada kedua gelas bisa saja tercampur.
Algoritma 2 :
Tuangkan isi gelas A ke gelas C
Tuangkan isi gelas B ke gelas A
Tuangkan isi gelas C ke gelas B
Jawaban pada Algoritma 2 sudah tepat.
Dengan menggunakan bantuan sebuah gelas C, maka kedua isi
gelas dapat ditukarkan tanpa tercampur.
BAHASA PEMROGRAMAN
·
Agar suatu algoritma dapat dilaksanakan oleh
komputer, maka notasi algoritma harus ditulis dalam notasi bahasa pemrograman
sehingga dinamakan program.
·
Jadi program merupakan implementasi teknis
algoritma yang ditulis dengan bahasa pemrograman tertentu.
·
Contoh bahasa pemrograman misalnya : Pascal,
C++, Delphi, Basic dan lainnya.
·
Notasi algoritma nantinya dapat dituangkan ke
dalam bahasa pemrograman apapun, dengan kata lain algoritma bersifat
independen.
·
Belajar bahasa pemrograman tidak sama dengan
belajar algoritma.
NOTASI ALGORITMA
·
Notasi algoritma umumnya dapat dibuat dalam tiga
cara yaitu :
1.
Kalimat Deskriptif
2.
Flowchart
3.
Pseudo-code
·
Dalam belajar algoritma notasi yang umum
digunakan adalah Flowchart dan Pseudo-code.
·
Flowchart dan Pseudo-code memiliki keunggulan
tersendiri.
·
Menulis algoritma dengan Flowchart dan Pseudo-code
biasanya dilakukan oleh programmer pemula (tahap belajar).
·
Programmer yang mahir umumnya langsung
menuangkan algoritma dengan bahasa pemrograman tertentu.
·
Namun programmer mahir terkadang menggunakan
Flowchart dan Pseudo-code untuk dokumentasi.
CONTOH KASUS
Buat sebuah algoritma untuk memilih bilangan terbesar dari 2
buah bilangan
NOTASI ALGORITMA DALAM KALIMAT DESKRIPTIF
·
Mulai
·
Masukkan bilangan pertama dan bilangan kedua
·
Bandingkan bilangan pertama dengan bilangan
kedua
·
Apabila bilangan pertama lebih besar dari
bilangan kedua, cetak bilangan pertama, jika tidak cetak bilangan kedua
·
Selesai
Atau
·
Mulai
·
Masukkan A dan B
·
Apakah A>B?
·
Bila ya, Cetak A. bila tidak cetak B
·
selesai
NOTASI ALGORITMA DENGAN PSEUDO-CODE
if Bilangan pertama > bilangan kedua then
Cetak bilangan
pertama else
Cetak bilangan
kedua
CONTOH SOAL
Terdapat tiga buah cakram seperti pada gambar, dimana cakram
yang lebih kecil berada lebih diatas. Buatlah algoritma untuk memindahkan
cakram dari tempat A ke B dimana satu kali perpindahan hanya boleh satu cakram.
Cakram yang lebih kecil harus selalu berada diatas cakram yang lebih besar.
1.
Pindahkan cakram A ke B
2.
Pindahkan cakram A ke C
3.
Pindahkan cakram B ke C
4.
Pindahkan cakram A ke B
5.
Pindahkan cakram C ke A
6.
Pindahkan cakram C ke B
7.
Pindahkan cakram A ke B
Comments
Post a Comment