Sabar Rudiarto

advertisement
Sabar Rudiarto
Definisi Algoritma
Algoritma adalah urutan langkah-langkah logis
penyelesaian masalah yang disusun secara
sistematis.
 Logis artinya sesuai dengan logika manusia.
 Untuk menjadi sebuah algoritma, urutan langkah
yang ditempuh untuk menyelesaikan masalah
harus memberikan hasil yang benar.
 Guna algoritma adalah untuk membantu
seseorang dalam menyelesaikan suatu masalah
berdasarkan pada pola pikirnya masing-masing.

Definisi Algoritma


Ciri – ciri algoritma:
 Ada input.
 Ada proses.
 Ada output.
 Memiliki instruksi instruksi yang jelas dan tidak ambigu.
 Harus mempunyai stopping role.
Sifat algoritma :
 Tidak menggunakan simbol atau sintaks dari suatu bahasa
pemrograman.
 Tidak tergantung pada suatu bahasa pemrograman.
 Notasi-notasinya dapat digunakan untuk seluruh bahasa
manapun.
Penulisan Algoritma
Dalam bahasa natural (Bahasa Indonesia, Bahasa
Inggris, dan bahasa manusia lainnya)
 Tapi sering membingungkan (ambiguous)
 Menggunakan flow chart (diagram alir)
 Bagus secara visual akan tetapi repot kalau
algoritmanya panjang
 Menggunakan pseudo-code
 Sudah lebih dekat ke bahasa pemrograman, namun
sulit dimengerti oleh orang yang tidak mengerti
pemrograman

Contoh algoritma 1

Ada 2 buah gelas. Satu berisi teh dan satunya
lagi berisi kopi. Bagaimana caranya menukar
isi masing-masing gelas?
Kopi
Teh
Contoh algoritma 1




Siapkan gelas cadangan R
Tuangkan gelas yang berisi
teh ke gelas R
Tuangkan gelas yang berisi
kopi ke gelas teh
Tuangkan gelas R yang
berisi teh ke gelas kopi
R
R
Teh
Kopi
Teh
Kopi
R
Contoh Algoritma 2

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.
2.
Ambil bilangan pertama dan set maks sama dengan
bilangan pertama
Ambil bilangan kedua dan bandingkan dengan
maks
3.
4.
5.
6.
Apa bila bilangan kedua lebih besar dari maks, set
maks sama dengan bilangan kedua
Ambil bilangan ketiga dan bandingan dengan maks
Apabila bilangan ketiga lebih besar dari maks, set
maks sama dengan bilangan ketiga
Variabel maks berisi bilangan terbesar. Tayangkan
hasilnya
Algoritma dengan Flowchart
Mulai
Maks = bilangan pertama
Maks <
bilangan kedua
Ya
Maks = bilangan kedua
Ya
Maks = bilangan ketiga
Tidak
Maks <
bilangan ketiga
Tidak
Selesai
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 memiliki sifat efektif
Struktur Dasar Algoritma
Runtunan (sequence)
 Pemilihan (selection)
 Pengulangan (repetition)

Runtunan
Sebuah runtunan terdiri dari satu atau lebih instruksi
 Tiap instruksi dikerjakan berurutan
 Urutan instruksi menentukan keadaan akhir
algoritma
 Contoh

A1
A2
A3
A4
A5
A6
Algoritma TUKAR_ISI_BEJANA


Diberikan dua buah bejana, A dan B; bejana A
berisi larutan merah, bejana B berisi larutan
biru. Pertukarkan isi kedua bejana itu sehingga
bejana A berisi larutan biru dan bejana B berisi
larutan merah
DESKRIPSI
1. Tuangkan larutan dari bejana A ke bejana X
2. Tuangkan larutan dari bejana B ke bejana A
3. Tuangkan larutan dari bejana X ke bejana B

Hasil akhir
 Bejana A berisi larutan dari bejana B semula
 Bejana B berisi larutan dari bejana A semula
Algoritma TUKAR_ISI_BEJANA

Misal urutan diubah menjadi
1.
2.
3.

Tuangkan larutan dari bejana B ke bejana A
Tuangkan larutan dari bejana A ke bejana X
Tuangkan larutan dari bejana X ke bejana B
Hasil akhir menjadi


Bejana A kosong
Bejana B berisi campuran larutan dari bejana A dan
bejana semula B
Runtunan
Algoritma merupakan runtunan (sequence) satu atau
lebih instruksi, yang berarti bahwa :
1. Tiap instruksi dikerjakan satu per satu
2. Tiap instruksi dilaksanakan satu kali
3. Urutan instruksi yang dilaksanakan pemroses sama
dengan urutan aksi sebagaimana tertulis di dalam
Algoritma
4. Akhir dari instruksi terakhir merupakan akhir
algoritma
Runtunan
Aksi 1
Aksi 2
Aksi 3
Aksi 4
Aksi 5
Aksi 6
Runtunan yang terdiri dari 6 buah
instruksi.
Tiap instruksi dikerjakan satu per
satu secara berurutan, sesuai
dengan urutannya di dalam
algoritma
Runtunan
Urutan di dalam algoritma sangat penting. Urutan
instruksi yang berbeda akan menghasilkan hasil
yang berbeda pula

Contoh :
A  10
A2*A
BA
write (B)
A  10
BA
A2*A
write (B)
LATIHAN (QUIZ)
Algoritma memasak mie instan (5).
 Rebus air hingga mendidih.
 Masukkan mie instan ke dalam air mendidih
tersebut.
 Tunggu beberapa hingga mie terlihat matang.
 Jika mie sudah dirasa matang, angkat dan
tiriskan.
 Campurkan bumbu-bumbu, dan aduk hingga
rata.
LATIHAN (QUIZ)
Algoritma menghitung luas persegi panjang (4).
 Masukkan panjang.
 Masukkan lebar.
 Nilai luas adalah panjang * lebar.
 Tampilkan luas.
LATIHAN (QUIZ)
Algoritma mengkonversi waktu ke dalam
jam:menit:detik.
Download