algoritma

41
ALGORITMA DASAR

Upload: londohollic

Post on 03-Jul-2015

150 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Algoritma

ALGORITMA DASAR

Page 2: Algoritma

ALGORITMA DASAR

ALGORITMA DASAR terbagi menjadi 3 yaitu :

1. SEQUENCE ( URUT AN)

2. CONDITIONAL ( PILIHAN )

3. LOOPING ( PENGULANGAN)

Page 3: Algoritma

SEQUENCE ( URUTAN )* Langkah – langkah program bergantung dari padalangkah sebelumnya.•Misalnya jika kita akan menghitung Luas persegipanjangLuas = panjang*lebar

Dapat dilakukan jika panjang dan lebar diketahuiterlebih dahulu.

Page 4: Algoritma

conditional ( 1)Merupakan dasar algoritma yang digunakan untukmenentukan pilihan atau kondisi.Misalnya :1. Untuk menentukan klasifikasi A,B,C,D,E berdasarkan

nilai yang diperoleh oleh mahasiswa2. Untuk menentukan bilangan genap atau ganjil3. Untuk menentukan nama hari4. Untuk menentukan jumlah gaji suatu pegawai dsb

Page 5: Algoritma

conditional ( 2)Pernyataan‐pernyataan yang digunakan :

1. Pernyataan if2. Pernyataan if….else3. Pernyataan if .. Else bertingkat ( bersarang)4. Pernyataan switch

Page 6: Algoritma

conditional ( 3)1. Pernyataan if

digunakan untuk mengambil keputusanberdasarkan suatu kondisi ( benilai benar atausalah). Kondisi yang digunakan menggunakankondisi ungkapan, dimana ungkapan dapatmelibatkan :operator relasi : ==, != , > ,<, >=, <=operator logika : &&(and), ||(or), ! (not)

Page 7: Algoritma

conditional ( 4)Pernyataan if sederhanaBentuk :

if (kondisi)pernyataan;

Keterangan :Kondisi : untuk menentukan pengambilankeputusanPernyataan : dapat berupa satu atau lebih dandikerjakan apabila kondisi bernilai benar.

Page 8: Algoritma

conditional ( 5)Flow chart

Page 9: Algoritma

conditional ( 6)Contoh :1. Untuk menentukan seseorang boleh menonton pertunjukan

film bioskop atau tidak. Kondisi yang digunakan adalahseseorang boleh menonton apabila sudah berumur lebih dariatau sama dengan 17 tahun.

Jawab :if ( umur >= 17)

anda diperbolehkan menonton filmKet :Kondisi : (umur >=17)Pernyataan : anda diperbolehkan menonton film

Page 10: Algoritma

conditional ( 7)2. Untuk menentukan besarnya diskon yang diterima oleh pembeli dengankondisi sebagai berikut :* tidak ada diskon apabila jumlah total pembelian kurang dari 100 ribu.•Jika jumlah total pembelian lebih dari atau sama dengan 100 ribu maka diskonyang diterima sebesar 10 % dari total jumlah pembelian.

jawab :Penyelesaian dapat dilakukan dengan mengasumsikan terlebih dahulu bahwabesarnya diskon adalah 0. Kemudian jika tptal jumlah pembelian lebih dari atausama dengan 100 ribu maka diskonnya diubah menjadi 10% dari totalpembelian.dikon =0If ( total pembelian>=100000)

diskon 10% dari total pembelian

Page 11: Algoritma

conditional ( 8)if dengan pernyataan majemuk

If (kondisi){

pernyataan_1pernyataan_2

.

.

.pernyataan_n

}

Page 12: Algoritma

conditional ( 9)Contoh :Untuk menentukan seseorang boleh menonton pertunjukan film bioskop atau

tidak. Kondisi yang digunakan adalah seseorang boleh menonton apabilasudah berumur lebih dari atau sama dengan 17 tahun.

Jawab :

if ( umur >=17)anda diperbolehkan menonton film iniselamat menikmati

Ket :Kondisi : (umur <17)Pernyataan _1: anda diperbolehkan menonton filmPernyataan_2 : selamat menikmati

Page 13: Algoritma

conditional ( 10)2. Pernyataan if …elsebentuk :

if (kondisi)pernyataan_1

elsepernyataan_2

Keterangan :Pernyataan_1 akan dikerjakan apabila kondisi bernilaibenar jika ridak maka pernyataan_2 yang dikerjakan.

Page 14: Algoritma

conditional ( 11)Flow chart :

Page 15: Algoritma

conditional ( 12)Pernyataan if…else dapat berupa pernyataan tunggalatau majemuk.Kemungkinan 1:

if(kondisi)pernyataan_1

else{ pernyataan_21pernyataan_22….

}

Page 16: Algoritma

conditional ( 13)Kemungkinan 2:if (kondisi){ pernyataan_11pernyataan_12….}

elsepernyataan_2

Page 17: Algoritma

conditional ( 14)Kemungkinan 3:if (kondisi){ pernyataan_11pernyataan_12….}

else{ pernyataan_21pernyataan_22…..

}

Page 18: Algoritma

conditional ( 15)contoh :1. Mahasiswa dikatakan lulus sebuah matakuliah

apabila nilai terakhinya lebih dari atau sama dengan70. Apabila tidak maka mahasiswa dinyatakan tidaklulus.

Jawab : ( dengan pernyataan tunggal)if (nilai >=70)

selamat anda luluselsemaaf anda tidak lulus

Page 19: Algoritma

conditional ( 16)Dengan pernyaataan majemukif (nilai >=70)

selamat anda luluselsemaaf anda tidak lulusanda harus mengulang

if (nilai >=70)selamat anda lulusanda boleh mengambil matakuliah lanjut

elsemaaf anda tidak lulusanda harus mengulang

Page 20: Algoritma

conditional ( 17)2. Untuk menentukan bilangan genap atau ganjik apabila memili kondisi sebgai

berikut: jika suatu bilangan habis dibagi dengan 2 maka bilangan tersebutmerupakan bilangan genap, jika tidak maka bilangan ganjil

Jawab : ( pernyataan tunggal)

if ( bilangan % 2 )

bilangan genapelse

bilangan ganjil

Page 21: Algoritma

conditional ( 18)Dengan pernyataan majemuk

if ( bilangan % 2 )

bilangan yg habis dibagi 2jadi merupakan bilangan genap

else

bilangan yg tidak habis dengan 2jadi merupakan bilangan ganjil

Page 22: Algoritma

conditional ( 19)3.Pernyataan if dalam if atau if bersarang ( nested if )Bentuk :

if (kondisi 1)pernyatan_1

else if (kondisi 2)pernyataan_2

else if (kondisi 3)pernyataan_3

else if (kondisi M)pernyataan_M

elsepernyataan N

Page 23: Algoritma

conditional ( 20)Flow chart

Page 24: Algoritma

conditional ( 21)Contoh:

Untuk menentukan nama hari dengan kondisi sebagai berikut:Jika kode hari = 1 maka hari seninJika kode hari = 2 maka hari selasaJika kode hari = 3 maka hari rabuJika kode hari = 4 maka hari kamisJika kode hari = 5 maka hari jumatJika kode hari = 6 maka hari sabtuJika kode hari = 7 maka hari mingguJika bukan kode diatas maka salah memasukkan kode hari

Page 25: Algoritma

conditional ( 22)Jawab :if ( kode_hari ==1)

seninelse if( kode_hari==2)

selasaelse if( kode_hari==3)

rabuelse if( kode_hari==4)

kamiselse if( kode_hari==5)

jumatelse if( kode_hari==6)

sabtuelse if( kode_hari==7)

mingguElse

maaf kode yag anda masukkan salah

Page 26: Algoritma

conditional ( 23)4. Pernyataan switchBentuk :

switch (ungkapan){

case ungkapan 1:pernyataan_1;break;

case ungkapan 2:pernyataan_2;break;

……..default:pernyatan_X;

}

Page 27: Algoritma

conditional ( 24)Keterangan :

1. Pada pernyataan switch, ungkapan dapat berupa ungkapankonstanta ataupun variabel. Sedangkan ungkapan 1 ,ungkapan 2 dst dapat berupa sembarang konstanta bertipeint atau char.

2. Pengecekan ungkapan dengan ungkapan 1 dst dilakukan secaraberurutan, dimulai dari yang pertama. Jika cocok makapernyataan yg di dalam case yg bersangkutan akan dijalankan.Jika kemudian pernyataan break ditemukan maka eksekusidari switch akan berakhir.

3. Bagian default akan dikerjakan apabila ungkapan pada casetidak ada yang cocok dengan ungkapan switch.

Contoh soal: menentukan nama hari

Page 28: Algoritma

conditional ( 25)Jawab :Switch (kode_hari){

case 1:senin;break;

case 2:selasa;break;

case 3:rabu;break;

case 4:kamis;break;

Page 29: Algoritma

conditional ( 26)case 5:

jumat;break;

case 6:sabtu;break;

case 7:minggu;break;

default :maaf kode yg anda masukkan salahbreak;

}

Page 30: Algoritma

3. LOOPING/ REPETITION ( 1)

Algoritma looping digunakan untuk melakukansuatu proses secara berulang‐ulang, jika suatukondisi dipenuhi atau sebaliknya.

Pernyataan yang digunakan :1. while (pengulangan dengan kondisi)2. do while (pengulangan dengan kondisi)3. for

Page 31: Algoritma

3. LOOPING/ REPETITION ( 2)1. while

Pernyataan while merupakan satu pernyataan yang berguna untuk memprosessuatu pernyataan atau beberapa pernyataan.

Bentuk :while (kondisi)

pernyataan;Atau

while (kondisi){pernyataan1;pernyataan2;….pernyataanN;

}

Page 32: Algoritma

3. LOOPING/ REPETITION ( 3)

Keterangan :• Bagian pernyataan yg mengikuti while akan

dijalankan selama ungkapan pada whilebernilai benar

• Pengujian terhadap ungkapan dilakukansebelum pernyataan

• Terdapat kemungkinan pernyataan tidak akandijalankan sama sekali apabila kondisi yangpertama kali bernilai salah.

Page 33: Algoritma

3. LOOPING/ REPETITION ( 4)

Flow diagram

Page 34: Algoritma

3. LOOPING/ REPETITION ( 5)2. Do whileBentuk :

do{

pernyataan;} while(kondisi)

Ataudo{pernyataan1;pernyataan2;…….pernyataanN;

} while (kondisi);

Page 35: Algoritma

3. LOOPING/ REPETITION ( 6)Keterangan :• pernyataan dikerjakan secara berulang sampai

kondisi bernilai salah.• Pengujian kondisi dilakukan setelah

pernyataan• Pernyatan akan dikerjakan minimal 1 kali

Page 36: Algoritma

3. LOOPING/ REPETITION ( 7)Flow chart

Page 37: Algoritma

3. LOOPING/ REPETITION ( 8)3. ForBentuk :

for(ungkapan1;ungkapan2;ungkapan3)pernyataan;

Identik denganungkapan1;while (ungkapan2){pernyataan;ungkapan3;

}Keterangan :Ungkapan1 : inisialisasi terhadap variabel pengendali loopingUngkapan2 : kondisi untuk keluar dari loopingUngkapan3 : pengatur kenaikan atau penurunan nilai variabel pengendali loop

Page 38: Algoritma

3. LOOPING/ REPETITION ( 9)Pernyataan continue

Digunakan untuk mengarahkan eksekusi ke putaran atau iterasiberikutnya pada pernyataan pengulangan.

Efek dari perintah continue pada for, while dan do while :

1. Pada forUngkapan ke tiga ada for akan dijalankan dan kemudianungkapan ke 2 diuji lagi.

2. Pada while dan do whilePengujian terhadap ungkapan pada while dilakukan kembali

Page 39: Algoritma

3. LOOPING/ REPETITION ( 10)Contoh soal :mencetak tulisan SELAMAT sebanyak 5 kaliDengan while :

i=0while ( i<5){

write (‘SELAMAT’)i++

}

Page 40: Algoritma

3. LOOPING/ REPETITION ( 11)Contoh soal :mencetak tulisan SELAMAT sebanyak 5 kaliDengan do while :

i=0do{

write (‘SELAMAT’)i++

} while (i< 5);

Page 41: Algoritma

3. LOOPING/ REPETITION ( 12)Contoh soal :mencetak tulisan SELAMAT sebanyak 5 kaliDengan for :

int i ;for ( i=0; i<5;i++)

{write (‘SELAMAT’)

}