proses menghitung dengan bahasa Arab Algorism berasal dari nama penulis buku Arab yang terkenal yaitu Abu Jafar Muhammad ibnu Musa al-Khuwarizmi yang menulis Kitab al jabar wal-muqabala
langkah-langkah logis penyelesaian masalah yang disusun secara sistematis Urutan logis pengambilan keputusan untuk pemecahan masalah Logis : hasil dari urutan langkah tersebut harus dapat ditentukan benar atau salah Dalam bidang pemrograman,
Algoritma didefinisikan sebagai suatu metode khusus yang tepat dan terdiri dari serangkaian langkah yang terstruktur dan dituliskan secara sistematis yang akan dikerjakan untuk menyelesaikan suatu masalah dengan bantuan komputer.
3
Masalah
Algoritma
Solusi
Contoh
Ibu
Ruang Lingkup
Apakah
kentangnya harus dibeli dulu atau sudah ada di dapur ? Apakah yang dimaksud dengan mengupas kentang untuk makan malam berarti sampai kentang terhidang? Ketika kentangnya terhidang,jadi sup,digoreng atau direbus saja?
Constraint
Initial
State : Kentang sudah ada di kantong kentang, yang ditaruh di rak di dapur dimana ibu tati akan mengupasnya Final State : Kentang dalam keadaan terkupas di panci, siap untuk dimasak dan kantong kentangnya dikembalikan ke rak lagi
7
Sub-Aksi
Ambil
kantong kentang dari rak Ambil panci dari almari Kupas kentang Kembalikan kantong kentang ke rak
Ambil
kantong kentang dari rak Ambil panci dari almari Depend on warna baju
Berwarna muda Tidak berwarna muda
Kupas
Ambil
kantong kentang dari rak Ambil panci dari almari Depend on baju
Berwarna muda Tidak berwarna muda
While
do
Kupas 1 kentang
Kembalikan
While
11
harus berhenti setelah mengerjakan sejumlah langkah terbatas Setiap langkah harus didefinisikan dengan tepat dan tidak memiliki dua arti (ambigu) Algoritma memiliki nol atau lebih masukan (input) Algoritma memiliki nol atau lebih keluaran (output) Algoritma harus efektif
12
adalah formulasi sebuah algoritma dalam bentuk bahasa pemrograman sehingga siap untuk dijalankan pada mesin komputer Bahasa pemrograman adalah bahasa buatan yang digunakan untuk mengendalikan perilaku dari sebuah mesin, biasanya berupa mesin komputer, sehingga dapat digunakan untuk memberitahu komputer tentang apa yang harus dilakukan.
13
Generasi
First Generation Language (1GL), kode mesin Second Generation Language (2GL), bahasa assembly Generasi Ketiga, C,C++,Pascal,Java Generasi Keempat, SQL,PL/SQL,ABAP Generasi Kelima, Prolog,LISP AI
Menurut
Tingkatan
Low-level programming language, 1GL & 2GL High-level programming language (HLL), 3GL Very High-level programming language (VHLL), 4GL
14
Piranti Masukan
CPU
Piranti Keluaran
Memori
15
memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Belajar bahasa pemrograman berarti belajar memakai suatu bahasa, aturan-aturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya, dan memanfaatkan instruksi-instruksi tersebut untuk membuat program yang ditulis hanya dalam bahasa itu saja.
16
Belajar Memprogram
belajar
bahasa pemrograman belajar tentang strategi pemecahan masalah, metodologi dan sistematika pemecahan masalah kemudian menuliskannya dalam notasi yang disepakati bersama bersifat pemahaman persoalan, analisis dan sintesis titik berat : designer program
17
memakai suatu bahasa pemrograman, aturan sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa titik berat : coder
18
2.
3. 4. 5.
benar berlaku umum untuk beragam data (valid) mudah dibaca mudah dimodifikasi dan dikembangkan efisiensi dalam penggunaan ruang dan waktu (kompleksitas rendah)
19
21
Flowchart
bagan
yang menggambarkan urutan instruksi untuk proses dengan komputer dan hubungan antara suatu proses dengan proses lainnya dengan menggunakan simbol tidak digunakan untuk menggambarkan urutan langkah untuk memecahkan masalah, tetapi hanya untuk menggambarkan prosedur dalam sistem yang dibentuk
22
Flowchart
Terminator Input/Output Proses
Condisional / Decision
23
Flowchart (cont)
Preparation Arrow Connector (on page) Connector (off page) Display
24
Flowchart (cont)
Keuntungan
: lebih mudah dilihat dan dipahami Kelemahan : jika digunakan untuk menggambarkan proses atau algoritma untuk skala kasus yang besar, maka akan dibutuhkan banyak kertas
25
Kasus
Pemimpin
sebuah perusahaan otomotif perlu menentukan besarnya bonus yang akan diberikan kepada para pegawainya yang bekerja sebagai account executive. Jika terdapat pegawai yang dalam bulan ini telah menjual mobil lebih dari dua unit, maka akan mendapatkan bonus sebesar Rp 1.000.000,- kemudian pegawai yang bisa menjual mobil tepat dua buah maka, akan mendapatkan bonus Rp 500.000,- namun jika pegawai yang dalam bulan ini penjualannya kurang dari dua unit maka, pegawai tersebut tidak mendapatkan bonus.
26
Pseudocode
Diarahkan
27
Pseudocode
Judul
Kamus
Algoritma
28
Judul
Tidak
diawali dengan angka atau karakter lain selain alphabet Tidak terdapat karakter spasi atau karakter selain alphabet kecuali karakter underscore _ (sebagai pengganti karakter spasi) Mana yang benar ?
Algoritma Algoritma Algoritma Algoritma Algoritma berhitung; konversi suhu; hitungan_pajak; 2bilangan; *kecil;
29
Kamus
digunakan
record
Hal-hal
yang dideklarasikan pada bagian ini digunakan sebagai reservasi alokasi memory untuk penyimpanan data dan akan digunakan selama program bekerja
30
Algoritma
digunakan
untuk meletakkan semua algoritma atau kode-kode program Diawali dengan BEGIN dan diakhiri dengan END
31
Pemilihan (Selection)
If kondisi then endIf
aksi
aksi1
endIf
aksi2
32
Contoh (Pemilihan) :
If A>B then Max A endIf If B>A then Max B endIf If A>B then Max A Else Max B endIf
33
Pengulangan (Repetition)
for var awal to akhir do Endfor repeat
aksi
aksi
-Alpro 2009-
34
Contoh (Pengulangan) :
For i 1 to 5 do output(Algoritma dan Pemrograman) EndFor i1 Repeat
output(Algoritma dan Pemrograman) ii+1 Until (i>5) i1 While (i<=5) do output(Algoritma dan Pemrograman) ii+1 endwhile
35
36
37
Reference
Rinaldi
Munir. Algoritma dan Pemrograman Inggriani Liem.Diktat Kuliah Algoritma dan Pemrograman. ITB Diktat Kuliah Algoritma dan Pemrograman. Politeknik Telkom
38