Anda di halaman 1dari 21

PENGENALAN

ALGORITMA
Definisi Algoritma

urutan langkah-
langkah logis yang
disusun secara
sistematis untuk
menyelesaikan suatu
masalah
Histori Algoritma
Al-
Kwarizmi

Algorithm Algorism

Ditemukan oleh Abu Ja'far Muhammad Ibnu Musa Al-Kwarizmi,


penulis buku “Aljabar Wal Muqabala” (Abad IX) menjelaskan
langkah-langkah menyelesaikan persoalan
Aritmatika(Aljabar)
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
ContohSederhana
• Menukarkan isi dua buah gelas.
• Gelas A berisi cairan biru dan gelas B berisi
cairan merah.
• Tukarkanlah isi kedua gelas tersebut.
Algoritma

Algoritm •Tuangkan isi gelas A ke gelas B


•Tuangkan isi gelas B ke gelas A
a1
Algoritm •Tuangkan isi gelas A ke gelas C
•Tuangkan isi gelas B ke gelas A

a2 •Tuangkan isi gelas C ke gelas B


Bahasa
BahasaPemrograman
Pemrograman
• Agar suatu algoritma dapat dilaksanakan oleh
komputer, maka notasi algoritma harus ditulis
dalam notasi bahasa pemrograman yang
dinamakan program.
• Jadi program merupakan implementasi teknis
algoritma yang ditulis dengan bahasa
pemrograman tertentu.
• Contoh bahasa pemrograman misalnya :
Java,Pascal, C++, Delphi, Basic dan lainnya.
Bahasa
BahasaPemrograman
Pemrograman
• 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

Kalimat Deskriptif Flowchart Pseudocode


Case
• Buat sebuah algoritma untuk
memilih bilangan terbesar dari 2
buah bilangan
Agoritma: Kalimat
Notasi Algoritma Deskriptif(1)
Dengan 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
Agoritma:
Notasi AlgoritmaFlowchart(2)
Dengan Flowchart

Mulai

Input A,B

A>B? Cetak A

Cetak B

Selesai
Agoritma:
Notasi AlgoritmaPseudocode(3)
Dengan Pseudo-code

if Bilangan pertama > bilangan kedua then


Cetak bilangan pertama else
Cetak bilangan kedua
Soal cerita
Question
1. Misalkan anda mempunyai 2 buah ember,
masing-masing bervolume 5 liter dan 3 liter.
Anda diminta mendapatkan air (dari sebuah
danau) sebanyak 4 liter dengan menggunakan
bantuan hanya kedua ember tersebut (tidak ada
peralatan lain yang tersedia, hanya kedua
ember itu saja yang ada). Terserah bagaimana
caranya anda boleh memindahkan air,
membuang air dsb. Bagaimana algoritmanya???
Question
2. Misalkan ada seorang pemuda tiba di tepi sebuah sungai.
Pemuda tsb membawa seekor kambing, seekor srigala dan
sekeranjang sayur. Mereka bermaksud hendak menyeberangi
sungai. Pemuda itu menemukan sebuah perahu kecil dipinggir
sungai, tetapi sayang hanya bisa memuat 1 bawaan saja setiap
kali menyebrang. Situasinya dipersulit dengan kenyataan
bahwa srigala tidak dapat ditinggal berdua dengan kambing
(karena srigala akan makan kambing) atau kambing tidak dapat
ditinggal berdua dengan sekeranjang sayur (karena kambing
akan makan sayur). Bagaimana algoritma sipemuda
menyeberangkan seluruh bawaannya itu sehingga mereka
sampai ke seberang sungai dengan selamat. Tentu saja hanya
sipemuda yang bisa mendayung perahu.

Anda mungkin juga menyukai