15/03/2010
Struktur Dasar Algoritma SEQUENCE - RUNTUNAN
STRUKTUR DASAR ALGORITMA (I) Algoritma Pemrograman
SELECTION - PEMILIHAN
REPETITION - PENGULANGAN
Agus Sumaryanto, S.Kom
[email protected]
http://learning.mas-anto.com
1
http://learning.mas-anto.com
SEQUENCE - RUNTUNAN
Runtunan (lanj.)
Algoritma merupakan runtunan aksi 1. Tiap aksi dikerjakan satu per satu 2. Tiap aksi dilaksanakan tepat sekali, tidak ada aksi yang diulang 3. Urutan aksi yang dilakukan pemroses sama dengan urutan aksi sebagaimana yang ada dalam algoritma 4. Akhir dari aksi terakhir merupakan akhir algoritma
http://learning.mas-anto.com
2
A1
A2
A3
A4
•Misalkan A1 adalah aksi pertama, A2 akan dibaca setelah A1, A3 akan dibaca setelah •A2 dst. •A2 merupakan aksi awal sebelum A3, A3 awal aksi awal sebelum A4 •Proses akan dikerjakan secara beruntun sampai aksi terakhir selama tidak ada kondisi lain.
3
http://learning.mas-anto.com
4
1
15/03/2010
Menukar Dua Buah Nilai Algoritma Menukar_Dua_Buah_Nilai Deklarasi A, B, C : integer
Latihan
Algoritma Menukar_Dua_Buah_Nilai Deklarasi A, B, C : integer
Algoritma :
Algoritma :
A=10 B=5 C=A A=B B=C Read(A,B)
A=10 B=5 A=B C=A B=C Read(A,B)
1. Buatlah Algoritma untuk menghitung Luas Segitiga. 2. Buatlah Algoritma untuk menghitung penjualan sebuah barang. Masukkannya adalah nama barang, jumlah, harga. Tentukan total penjualan jika dipotong diskon sebesar 15% !.
Perhatikan dua buah algoritma diatas. Bandingkan keluarannya setelah urutan diubah
http://learning.mas-anto.com
5
Algoritma Hitung Selisih Waktu Bicara Telepon
6
Algoritma Hitung Selisih Waktu Bicara Telepon (lanj.)
A0 Algoritma Selisih_Waktu_Bicara 1. Catat waktu awal bicara 2. Catat waktu akhir bicara 3. Hitung selisih waktu bicara 4. Cetak selisih waktu bicara
A1 Algoritma Selisih_Waktu_Bicara 1. Misal awal bicara T1=J1:M1:D1 2. Misal akhir bicara T2=J2:M2:D2 3. Selisih waktu bicara T3 (J3:M3:D3) = T2 – T1 4. Cetak T3
Algoritma diatas masih global, untuk menghasilkan algoritma detil maka harus diesktrak lagi.
http://learning.mas-anto.com
http://learning.mas-anto.com
Untuk mendapatkan hasil dengan presisi tinggi maka perlu disamakan satuannya ke satuan terkecil yaitu detik.
7
http://learning.mas-anto.com
8
2
15/03/2010
SELECTION - PEMILIHAN
Algoritma Hitung Selisih Waktu Bicara Telepon (lanj.) A2 Algoritma Selisih_Waktu_Bicara 1. T1=(J1 x 3600) + (M1 x 60) + D1 2. T2=(J2 x 3600) + (M2 x 60)+ D2 3. T3 = T2 – T1 1. 2. 3.
J3 = T3 DIV 3600 M3 = (T3 MOD 3600) DIV 60 D3 = (T3 MOD 3600) MOD 60
• Sebuah proses tidak selalu berjalan secara runtun, tapi kadang kala sebuah proses harus memenuhi kondisi tertentu. Jika diperhatikan pada Algoritma (2), akan menghasilkan selisih dalam satuan detik maka pada Algoritma (3) harus dilakukan proses mengembalikan ke satuan jam, menit dan detik.
B
A
C
4. Cetak T3 = J3:M3:D3 D
http://learning.mas-anto.com
9
Struktur Pemilihan
http://learning.mas-anto.com
10
Bentuk If – Then – Else (1) If dengan satu pilihan : If
then endif If dengan 2 pilihan : If then Else endif
Ada dua pernyataan pemilihan : 1. Pernyataan IF – Then – Else 2. Pernyataan Depend – On Sebuah pemilihan adalah percabangan proses, dimana proses akan berlanjut ke sebuah aksi tergantung dari kondisi yang ada.
http://learning.mas-anto.com
Kondisi Relasional
11
akan dilakukan jika bernilai benar
akan dilakukan jika bernilai benar, jika salah maka dilakukan.
http://learning.mas-anto.com
12
3
15/03/2010
Bentuk If – Then – Else (2) If dengan 3 pilihan : If then Else If then Else Endif Endif
Contoh If – Then - Else Algoritma Kondisi_If Deklarasi
b akan ditambah 1 jika a lebih besar/sama dengan 10. b akan ditambah 3 jika a kurang dari 5, selain itu b akan dikurangi 1
a, b, c : integer; akan dilakukan jika benar Jika salah, periksa , Jika benar maka dilakukan, Jika salah otomatis dilakukan
http://learning.mas-anto.com
13
Bentuk Depend – On (1)
http://learning.mas-anto.com
14
Bentuk Depend – On (2)
• Logika Depend – On sama dengan pernyataan If – Then – Else • Depend – On lebih cocok untuk pilihan (aksi) banyak • Penulisannya lebih simpel dari pada pernyataan If – Then – Else • Biasanya digunakan untuk mengatur eksekusi dalam sebuah program bermenu http://learning.mas-anto.com
Algoritma Read(a) If a>=10 then b b+1 Else If a<5 then b b-1 Else b b+3
Bentuk umum : Depend on kondisi1 : aksi1 kondisi2 : aksi2 kondisi1 : aksi3 .. .. kondisiN : aksiN Enddepend
15
http://learning.mas-anto.com
16
4
15/03/2010
Contoh Depend - On
Latihan
Algoritma Hari
1. Ubahlah algoritma hari dari Depend – On ke bentuk baru menggunakan pernyataan If-Then-Else !. 2. Rancanglah algoritma untuk menentukan seorang mahasiswa dikatakan LULUS, HER dan GAGAL berdasarkan nilai yang dimasukkan !. 3. Sebuah toko dalam masa promosi memberikan diskon kepada pembeli sebesar 10%, 15% dan 20%. Dalam menentukan diskon, berdasarkan jumlah beli. Jumlah pembelian lebih dari 15 maka diskon sebesar 20%. Jika jumlah pembelian kurang dari 5 maka diskon sebesar 10%, selain itu diskon sebesar 15%. Hitung dan cetak berapa harus dibayar oleh pembeli setelah diberikan diskon.
Deklarasi hari : integer Algoritma Read(hari) Depend on hari 1 : write(‘Senin’) 2 : write(‘Selasa’) 3 : write(‘Rabu’) 4 : write(‘Kamis’) 5 : write(‘Jumat’) 6 : write(‘Sabtu’) 7 : write(‘Sabtu’) Enddepend http://learning.mas-anto.com
17
http://learning.mas-anto.com
18
5