250 likes | 395 Views
Introduction to Algorithms. Topik. Solving problems Algorithms Nilai dan v ariabel. Bgmn kita memecahkan masalah ?. Langsung kerjakan Tabak dan untung-untungan Trial error Pengalaman "Scientifically“ = dg cara ilmiah. Analysis. Problem specification. Design. Algorithm.
E N D
Topik • Solving problems • Algorithms • Nilai dan variabel
Bgmn kita memecahkan masalah ? • Langsung kerjakan • Tabak dan untung-untungan • Trial error • Pengalaman • "Scientifically“ = dg cara ilmiah
Analysis Problemspecification Design Algorithm Implementation Program Compilation Executable (solution) Process memcahkan 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. */ 0100111010110010101010101001010101010100110010101010101001011010011101010101010010010111010011110101010111110101010001101…
Process memcahkan masalah "Dok, kepala saya sakit” Pasien ada penyumbatan pd anterior parietal lobe. Analysis Problem specification 1. Steril gergaji 2. bius 3. Potong batok kepala 4. Ambil spoon... 5. etc., etc. Design Algorithm Implementation steril(gergaji,alcohol); raise_hammer(); lower hammer(fast); start(saw); /* etc. etc. */ Program Compilation 010011101011001010101010100101010101010011001010101010100101101001110101010101001001011101001111010101011111010101000110100001101... Executable (solution)
Process memcahkan masalah Analysis Problem specification Design Algorithm Implementation Program Compilation Executable (solution)
Algorithm – Definisi From: Websters Revised Unabridged Dictionary, 1913: Algorism (Al"go*rism Al"go*rithm) • n. [OE. algorism, algrim, augrim, OF. algorisme, F. algorithme (cf. Sp. algoritmo, OSp. alguarismo, LL. algorismus) • Al-Khowarezmi aslinyaAbu Ja'far Mohammed ben Musa, ahli arithmetic awal abad 9, bukunya dalam bhs latin algorismus.
Algorithm • Urutan instruksiuntuk menentukan langkah yang di perlukan dalam menyelesaikan suatu tugas. • Muhammad ibn Musa al-Khwarizmi Berasal dari Khowarezm (sekarang Khiva di Uzbekistan)
Source: http://www.atlapedia.com/online/maps/political/Kazakh_etc.htm
Algorithm– Sejarah Muhammad ibn Musa Al-Khwarizmi • Circa 160-230 A.H. (anno Hegirae) • Circa 780-850 C.E. (Common Era)
Algorithm –Sejarah (lanj) Muhammad ibn Musa Al-Khwarizmi http://www-groups.dcs.st-andrews.ac.uk/~history/Mathematicians/Al-Khwarizmi.html • Buku arithmetic: • Hindu numeration, decimal numbers, use of zero, method for finding square root • Latin translation (c.1120 CE): “Algoritmi de numero Indorum” • Book aljabar algebra • Hisab al-jabr w’al-muqabala
Algorithm – Working Definition • Urutan langkah yang menggambarkan bagaimana melakukan suatu pekerjaan [As opposed to actually executing the instructions]
Algorithm -- Contoh • Resep masakan • Instruksi Assembly • Aturan main game • Instruksi VCR • Deskripsi teknik bela diri • Arahan dari A to B • Pola jahitan • Manual perbaikan mobil
Algorithm: A sequence of instructions describing how to do a task (or process) Problem C Program From Algorithms to Programs
Komponen Algorithm • Variabel dan Nilai • Instruksi • Sequences (Urutan) • Procedures (Prosedur) • Selections (Pilihan) • Repetitions (Perulanagan) • Documentation
Nilai • Mewakili kuantitas, jumlah atau pengukuran • Bisa numeri atau alphabetical (atau lainnya) • Biasanya memiliki unit yang berhubungan dengan tujuannya
Variable Values 10 kue 50 grams gula 3 potong roti dll. Tolpes Dapat berisi Variabel • Adalah container untuk nilai– tempat untuk menyimpan nilai • Contoh :
Batasan Variabel • Variabel dibatasi oleh nilai tipe yang di spesifikasikan
Komponen Algorithm • Nilai dan Variabel • Instruksi (primitive) • Sequence (dr instruction) • Procedure (yg melibatkan instruction) • Selection (antara instruction) • Repetition (dr instruction) • Documentation (disamping instruction)
Instruksi (Primitives) • Suatu action yang simple... • ...dan jelas... • ...komputer mengerti... • ...dapat diaktualisasikan
Instruksi– Examples Directions to perform specific actions on values and variables. • Take off your shoes • Count to 10 • Cut alongdotted line • Jahit 1 • Purl 2 • tarik benang pelan-pelan • Bubuhkan 10 grams arsenic
Instruksi -- Application • Beberapa instruksi dapat hanya di aplikasikan pada nilai atau variabel yang di spesifikasikan. • Contoh:
Instruksi (Primitives) -- Recommendations • Jika menulis algorithm, buat instruksi yang simple dan jelas • Contoh: Potong ayam kecil-kecil. Panaskan minyak. Masak ayam 5 menit Potong ayam kecil-kecil dan masak potongan tersebut pada minyak yang panas
Instruksi (Primitives) “Urutan” dari instruksi yang simple. • When writing an algorithm, make the instructions simple and unambiguous. • Example: Potongayamkecil-kecil. Panaskanminyak. Masakayam 5 menit Potongayamkecil-kecildanmasakpotongantersebutpadaminyak yang panas