Algoritma & Pemrograman

7
Missionaries & Cannibal Bagaimana cara memindahkan 3 orang missionaries dan 3 orang kanibal dari satu sisi sungai ke sungai lainnya. Dimana jumlah cannibal tidak boleh lebih banyak daripada jumlah missionaries, karna missionaries akan dimangsa oleh cannibal Caranya: Missionaries = M, Cannibal = C Anggap saja saat ini missionaries dan cannibal berada pada sisi sebelah kanan sungai dan akan dibawa ke sisi sebelah kiri sungai MMMCCC______ MMMC______CC MMMCC______C MMM______CCC MMMC______CC MC______MMCC MMCC______MC CC______MMMC CCC______MMM C______MMMCC CC______MMMC ______MMMCCC 1. Bawa C1 dan C2 keseberang, tinggalkan C1 disisi sebelah kiri sungai, C2 kembali kesisi kanan. 2. Bawa C2 dan C3 keseberang, tinggalkan C2 disisi sebelah kiri sungai, C3 kembali kesisi kanan. 3. Bawa M1 dan M2 keseberang, tinggalkan M1 disisi sebelah kiri sungai, M2 dan C2 kembali kesisi kanan. 4. Bawa M2 dan M3 keseberang, tinggalkan M2 dan M3 disisi sebelah kiri sungai, bawa C1 kembali kesisi kanan. 5. Bawa C1 dan C2 keseberang, tinggalkan C1 disisi sebelah kiri sungai, bawa C2 kembali kesisi kanan 6. Bawa C2 dan C3 kesisi sebelah kiri sungai. Turunkan keduanya disana. 7. Selesai

Transcript of Algoritma & Pemrograman

Page 1: Algoritma & Pemrograman

Missionaries & Cannibal

Bagaimana cara memindahkan 3 orang missionaries dan 3 orang kanibal dari satu sisi sungai ke sungai lainnya. Dimana jumlah cannibal tidak boleh lebih banyak daripada jumlah missionaries, karna missionaries akan dimangsa oleh cannibal

Caranya:

Missionaries = M, Cannibal = C

Anggap saja saat ini missionaries dan cannibal berada pada sisi sebelah kanan sungai dan akan dibawa ke sisi sebelah kiri sungai

MMMCCC______MMMC______CCMMMCC______CMMM______CCCMMMC______CCMC______MMCCMMCC______MCCC______MMMCCCC______MMMC______MMMCCCC______MMMC______MMMCCC

1. Bawa C1 dan C2 keseberang, tinggalkan C1 disisi sebelah kiri sungai, C2 kembali kesisi kanan.2. Bawa C2 dan C3 keseberang, tinggalkan C2 disisi sebelah kiri sungai, C3 kembali kesisi kanan.3. Bawa M1 dan M2 keseberang, tinggalkan M1 disisi sebelah kiri sungai, M2 dan C2 kembali kesisi

kanan.4. Bawa M2 dan M3 keseberang, tinggalkan M2 dan M3 disisi sebelah kiri sungai, bawa C1 kembali

kesisi kanan.5. Bawa C1 dan C2 keseberang, tinggalkan C1 disisi sebelah kiri sungai, bawa C2 kembali kesisi

kanan6. Bawa C2 dan C3 kesisi sebelah kiri sungai. Turunkan keduanya disana.7. Selesai

Page 2: Algoritma & Pemrograman

Memindahkan Isi Gelas

A B

Kopi Susu

Cara nya:

2

A B

1 C 3

ALGORITMA

Al khuwarizmi algorism algorithm (diserap dalam bahasa Indonesia menjadi algoritma) Abu ja’far Muhammad Ibnu Musa Al Khuwarizmi adalah seorang penulis buku arab yang

berjudul kitab Aljabar wal muqabala (Buku pemugaran dan pengurangan). Kata Al khuwarizmi dibaca oleh orang barat menjadi algorism

Algorism = proses menghitung dengan angka angka arab Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara

sistematis Kata logis berarti benar sesuai dengan logika manusia Untuk menjadi sebuah algoritma, urutan langkah yang ditempuh untuk menyelesaikan masalah

harus memberikan hasil yang benar

Page 3: Algoritma & Pemrograman

Penulisan Algoritma

Dalam bahasa natural (Bahasa Indonesia, bahasa Inggris & bahasa lainnya)o Tapi sering membingungkan (ambigous)

Menggunakan flowchart (Diagram Alir)o Bagus secara visual tetapi repot kalau algoritmanya panjang

Menggunakan pseudo-codeo Sudah lebih dekat dengan bahasa pemrograman, namun sulit dimengerti oleh orang

yang tidak mengerti pemrograman

Algoritma memasak mie

1. Sediakan sebungkus mie, air 2 gelas, alat untuk memasak, piring2. Keluarkan mie dari dalam bungkusnya, pisahkan dengan bumbunya3. Masak air sampai mendidih4. Masukkan mie dalam air mendidih, aduk perlahan selama 3 menit5. Angkat mie lalu tiriskan6. Taruh mie di piring lalu tambahkan bumbu & aduk hingga merata7. Mie siap disajikan

Contoh 2. Kasus

Algoritma untuk memmilih bilangan terbesar dari 3 buah bilangan

1. Mulai2. Definisikan maks sebagai bilangan terbesar, saat ini maks = bilangan3. Masukkan bilangan 1, bilangan 1 = maks4. Masukkan bilangan 2, jika bilangan 2 lebih besar dari bilangan 1 maka bilangan 2 = maks5. Masukkan bilangan 3, apakah bilangan 3 lebih besar dari maks? Bila iya, definisikan bilangan 3

sebagai maks6. Tampilkan maks sebagai bilangan terbesar7. Selesai

Page 4: Algoritma & Pemrograman

Y

N

N

Y

1.

L

P

LUAS:

a. Mulaib. Masukkan nilai panjang dan

lebar (P & L)c. Hitung Luas = P*L

d. Tampilkan hasile. Selesai

Start

n1, n2, n3

Maks> n2?

Maks = n1

Maks = n2

Maks = n3

Maks > n3

Maks

End

Page 5: Algoritma & Pemrograman

KELILING:

a. Mulaib. Masukkan nilai panjang dan

lebar (P & L)

c. Hitung Keliling = (P+L)*2d. Tampilkan hasile. Selesai

2.

LUAS:

a. Mulaib. Masukkan nilai jari-jari (r)c. Definisikan π = 3.14d. Hitung Luas = π * r * re. Tampilkan hasilf. Selesai

KELILING:

a. Mulaib. Masukkan nilai jari-jari (r)c. Definisikan π = 3.14d. Hitung Keliling = 2 *π * r e. Tampilkan hasilf. Selesai

3.

a

b

LUAS:

a. Mulaib. Masukkan nilai alas dan tinggi (a & b)c. Hitung luas dengan rumus ½*alas*tinggid. Tampilkan hasil

r

Page 6: Algoritma & Pemrograman

e. Selesai

KELILING:

a. Mulaib. Masukkan alas dan tinggi (a & b)c. Cari sisi miring c= √a2 +b2

d. Hitung keliling = a +b +ce. Tampilkan hasilf. Selesai

NOTASI FLOWCHART