Title: Pengenalan Algoritma
1 Pengenalan Algoritma
2Bagaimana kita memecahkan masalah?
- Langsung dipecahkan
- Menebak nebak
- Mencoba-coba (Trial-and-error)
- Pengalaman (bisa saja dari pengalaman orang lain)
- Secara ilmiah
3Proses Pemecahan Masalah
"Doctor, my head hurts"
Patient has elevated pressure in anterior
parietal lobe
1. Sterilize cranial saw 2. Anaesthetize
patient 3. Remove top of skull 4. Get the big
spoon... 5. etc., etc.
sterilize(saw,alcohol) raise_hammer() lower
hammer(fast) start(saw) / etc. etc. /
01001110101100101010101010010101010101001100101010
10101001011010011101010101010010010111010011110101
010111110101010001101
4Proses Pemecahan Masalah
"Dokter, kepala saya sakit"
Pasien mendapatkan benturan keras pada wajah.
Analisis
Spesifikasi masalah
1. Sterilkan gergaji tengkorak 2. Bius pasien 3.
Ambil bagian atas tengkorak 4. Ambil Sendok
besar... 5. dst.,dst.
Desain
Algoritma
Implementasi
sterilize(saw,alcohol) raise_hammer() lower
hammer(fast) start(saw) / dst. dst. /
Program
Compilasi
01001110101100101010101010010101010101001100101010
10101001011010011101010101010010010111010011110101
01011111010101000110100001101...
Executable (solusi)
5Proses Pemecahan Masalah
Analisis
Spesifikasi Masalah
Desain
Algoritma
Implementasi
Program
Compilasi
Executable (solusi)
6Algoritma
- Barisan instruksi yang menentukan langkah-langkah
untuk menyelesaikan suatu tugas. - Berasal dari nama akhir Muhammad ibn Musa
al-Khwarizmi - dari Khowarezm (sekarang Khiva di Uzbekistan)
- 780-850 M.
7Sejarah Algoritma
- Muhammad ibn Musa Al-Khwarizmi
- http//www-groups.dcs.st-andrews.ac.uk/history/Ma
thematicians/Al-Khwarizmi.html - Buku aritmatika
- Hindu numeration, decimal numbers, use of zero,
method for finding square root - Latin translation (c.1120 CE) Algoritmi de
numero Indorum - Buku Aljabar
- Hisab al-jabr wal-muqabala
8Contoh Algoritma
- Resep memasak
- Aturan bagaimana memainkan sebuah permainan
- Petunjuk mengemudi dari lokasi A ke B
- Pola rajutan
- Manual memperbaiki mobil
9 Apel Berselimut
- Campurkan tepung terigu, margarine, gula halus
dan kuning telur dengan sendok kayu, diaduk.
Simpan di lemari es - Adonan digilas tipis kira-kira ½ cm, bentuk
persegi panjang, kemudian potong dengan ukuran
15x15 cm - Apel dikupas dan dipotong ½ lingkaran dengan
tebal 1 cm direbus dalam air gula, kayu manis,
dan air hingga kering. - Taruh satu potong apel taruh pada potongan adonan
kulit, lipat setiap sudut ke tengah sehingga apel
tertutup. Atasnya dihiasi dengan adonan kulit
berbentuk bunga kecil. - Olesi kulit kue dengan capuran kuning telur
dengan rum - Panggang dalm oven yang telah dipanaskan selama
30 menit. - Hidangkan setelah dingin
- Bahan
- 300 gr tepung terigu
- 250 gr margarine
- 75 gr gula halus
- 1 ½ butir telur
- 2 buah apel
- 1 sdt kayu manis
- 3 sdm air
- 1 butir kuning telur
- 1 sdm rum
10Apel Berselimut
- Campurkan tepung terigu, margarine, gula halus
dan kuning telur dengan sendok kayu, diaduk.
Simpan di lemari es - Adonan digilas tipis kira-kira ½ cm, bentuk
persegi panjang, kemudian potong dengan ukuran
15x15 cm - Apel dikupas dan dipotong ½ lingkaran dengan
tebal 1 cm direbus dalam air gula, kayu manis,
dan air hingga kering. - Taruh satu potong apel taruh pada potongan adonan
kulit, lipat setiap sudut ke tengah sehingga apel
tertutup. Atasnya dihiasi dengan adonan kulit
berbentuk bunga kecil. - Olesi kulit kue dengan capuran kuning telur
dengan rum - Panggang dalm oven yang telah dipanaskan selama
30 menit. - Hidangkan setelah dingin
- Bahan
- 300 gr tepung terigu
- 250 gr margarine
- 75 gr gula halus
- 1 ½ butir telur
- 2 buah apel
- 1 sdt kayu manis
- 3 sdm air
- 1 butir kuning telur
- 1 sdm rum
Instruksi diberikan dalam bentuk urut-urutan yang
harus dikerjakan (dieksekusi)
11Correct Algorithm?
- Cut chicken into pieces and brown the pieces on
all sides in a casserole dish in hot olive oil. - Remove the chicken and to the juices in the
casserole add garlic, onions and green peppers,
and sauté until onion is golden. - Add bay leaf, whole tomatoes, and chicken broth.
- When the broth boils add salt, saffron and rice.
- Arrange chicken on rice, cover casserole and bake
in a moderate oven (350F) for 20 minutes or
until the rice is tender. - Add beans and artichokes during last 10 minutes
of cooking.
From Arroz Con Pollo in The Margaret Fulton
Cookbook, Hamlyn, Sydney, 1968.
12Correct Algorithm?
- Cut chicken into pieces and brown the pieces on
all sides in a casserole dish in hot olive oil. - Remove the chicken and to the juices in the
casserole add garlic, onions and green peppers,
and sauté until onion is golden. - Add bay leaf, whole tomatoes, and chicken broth.
- When the broth boils add salt, saffron and rice.
- Arrange chicken on rice, cover casserole and bake
in a moderate oven (350F) for 20 minutes or
until the rice is tender. - Add beans and artichokes during last 10 minutes
of cooking.
From Arroz Con Pollo in The Margaret Fulton
Cookbook, Hamlyn, Sydney, 1968.
13Correct Algorithm?
- Cut chicken into pieces and brown the pieces on
all sides in a casserole dish in hot olive oil. - Remove the chicken and to the juices in the
casserole add garlic, onions and green peppers,
and sauté until onion is golden. - Add bay leaf, whole tomatoes, and chicken broth.
- When the broth boils add salt, saffron and rice.
- Arrange chicken on rice, cover casserole and bake
in a moderate oven (350F) for 10 minutes. - Add beans and artichokes.
- Cover, and bake for another 10 minutes or until
rice is tender.