algoritma
TRANSCRIPT
ALGORITMA DASAR
ALGORITMA DASAR
ALGORITMA DASAR terbagi menjadi 3 yaitu :
1. SEQUENCE ( URUT AN)
2. CONDITIONAL ( PILIHAN )
3. LOOPING ( PENGULANGAN)
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.
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
conditional ( 2)Pernyataan‐pernyataan yang digunakan :
1. Pernyataan if2. Pernyataan if….else3. Pernyataan if .. Else bertingkat ( bersarang)4. Pernyataan switch
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)
conditional ( 4)Pernyataan if sederhanaBentuk :
if (kondisi)pernyataan;
Keterangan :Kondisi : untuk menentukan pengambilankeputusanPernyataan : dapat berupa satu atau lebih dandikerjakan apabila kondisi bernilai benar.
conditional ( 5)Flow chart
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
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
conditional ( 8)if dengan pernyataan majemuk
If (kondisi){
pernyataan_1pernyataan_2
.
.
.pernyataan_n
}
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
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.
conditional ( 11)Flow chart :
conditional ( 12)Pernyataan if…else dapat berupa pernyataan tunggalatau majemuk.Kemungkinan 1:
if(kondisi)pernyataan_1
else{ pernyataan_21pernyataan_22….
}
conditional ( 13)Kemungkinan 2:if (kondisi){ pernyataan_11pernyataan_12….}
elsepernyataan_2
conditional ( 14)Kemungkinan 3:if (kondisi){ pernyataan_11pernyataan_12….}
else{ pernyataan_21pernyataan_22…..
}
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
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
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
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
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
conditional ( 20)Flow chart
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
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
conditional ( 23)4. Pernyataan switchBentuk :
switch (ungkapan){
case ungkapan 1:pernyataan_1;break;
case ungkapan 2:pernyataan_2;break;
……..default:pernyatan_X;
}
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
conditional ( 25)Jawab :Switch (kode_hari){
case 1:senin;break;
case 2:selasa;break;
case 3:rabu;break;
case 4:kamis;break;
conditional ( 26)case 5:
jumat;break;
case 6:sabtu;break;
case 7:minggu;break;
default :maaf kode yg anda masukkan salahbreak;
}
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
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;
}
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.
3. LOOPING/ REPETITION ( 4)
Flow diagram
3. LOOPING/ REPETITION ( 5)2. Do whileBentuk :
do{
pernyataan;} while(kondisi)
Ataudo{pernyataan1;pernyataan2;…….pernyataanN;
} while (kondisi);
3. LOOPING/ REPETITION ( 6)Keterangan :• pernyataan dikerjakan secara berulang sampai
kondisi bernilai salah.• Pengujian kondisi dilakukan setelah
pernyataan• Pernyatan akan dikerjakan minimal 1 kali
3. LOOPING/ REPETITION ( 7)Flow chart
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
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
3. LOOPING/ REPETITION ( 10)Contoh soal :mencetak tulisan SELAMAT sebanyak 5 kaliDengan while :
i=0while ( i<5){
write (‘SELAMAT’)i++
}
3. LOOPING/ REPETITION ( 11)Contoh soal :mencetak tulisan SELAMAT sebanyak 5 kaliDengan do while :
i=0do{
write (‘SELAMAT’)i++
} while (i< 5);
3. LOOPING/ REPETITION ( 12)Contoh soal :mencetak tulisan SELAMAT sebanyak 5 kaliDengan for :
int i ;for ( i=0; i<5;i++)
{write (‘SELAMAT’)
}