BAB IV STRUKTUR RUNTUNAN DAN PERCABANGAN Pendahuluan Pada bab ini dijelaskan struktur pada algoritma/pemrograman. Pada bab ini dijelaskan 2 dari 3 struktur tersebut, yaitu struktur runtunan dan struktur percabangan.
Penyajian 4.1 Struktur Runtunan Sebuah runtunan (sequence) terdiri dari satu atau lebih instruksi. Tiap instruksi dikerjakan sesuai dengan urutan penulisannya, yakni sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dilaksanakan. Urutan instruksi menentukan keadaan akhir program. Bila urutannya diubah, maka hasil akhirnya mungkin juga berubah. Contoh berikut adalah program menukar dua buah nilai integer A dan B. Misal sebelum penukaran nilai A = 5, nilai B=3. Setelah penukaran, nilai A=3, nilai B=5. //Program Tukar; #include
Using namespace std; Int A,B, temp; Int main() { Cout<<”Masukkan nilai A : ”; cin>>A; Cout<<”Masukkan nilai B : ”; cin>>B; temp=A; A=B; B= temp; Cout<<”Nilai A sekarang = “<< A; Cout<<”Nilai B sekarang = “<< B; }
Jika urutan instruksi di atas diubah, maka hasilnya juga berubah. Misal : temp=A; A=B; B= temp; END.
diubah menjadi : temp=A; B= temp; A=B;
Silakan dicek sendiri. 4.2 Struktur Percabangan Pada umumnya, masalah yang akan diselesaikan memiliki beberapa alternatif pelaksanaan aksi. Suatu aksi akan dilaksanakan jika persyaratan atau kondisi dipenuhi. Kondisi adalah suatu yang bernilai true atau false, disebut kondisi boolean. Contoh kondisi : x> y m == n k mod 4 == 0 !(true)
Penentuan kondisi bolean dan aksi yang dilakukan bergantung pada jumlah kasus yang terdapat pada masalah tersebut : satu kasus, dua kasus, atau lebih dari dua kasus. 4.2.1 Satu Kasus Bentuk umum untuk kasus satu kasus :
if(kondisi) aksi ;
Contoh program dengan satu kasus :
//Program BilanganGenap; #include Using namespace std; int Bil; int main(){ cout<<”Masukkan bilangan”;
cin>>Bil;
if(bil mod 2 == 0) Cout<
4.2.2 Dua Kasus Bentuk umum untuk kasus dua kasus :
If(kondisi) aksi1; else aksi 2;
Contoh program dengan dua kasus : //Program BilanganGenapGanjil; #include Using namespace std; Int Bil; Int main(){ Cout<<”Masukkan bilangan : “; cin>>Bil; if(bil mod 2 == 0) Cout<
4.2.3 Tiga Kasus atau Lebih Bentuk umum untuk kasus dua kasus :
if(kondisi1) aksi1; else if(kondisi2) aksi2 if kondisi3 aksi3 .... else aksiN;
Contoh program dengan tiga kasus atau lebih:
//Program KonversiNilai; /*Program untuk merubah nilai angka menjadi nilai huruf*/
#include Using namespace std; Int Nilai; Int main(){ Cout<<”Masukkan bilangan”; cin>>Nilai>>; If(Nilai>= 80) Cout<<”Nilai =A”<<endl; else {if(Nilai>= 65) Cout<<”Nilai = B”<<endl; else {if(Nilai>= 50) Cout<<”Nilai = C”<<endl; else {if(Nilai>= 35) Cout<<”Nilai = D”<<endl; else Cout<<”Nilai = E”<<endl; } } } }
4.2.4 Struktur Switch Untuk masalah dengan tiga kasus atau lebih, struktur Switch dapat menyederhanakan penulisan If--Else yang bertingkat-tingkat seperti contoh di atas. Struktur Switch sebagai berikut :
Switch (nama_variabel) { nilai1 : aksi1; break; nilai2 : aksi2; break; ... nilaiN : aksiN; break; default: aksiN1; }
Contoh program KonversiNilai menggunakan struktur Switch :
//Program KonversiNilai; //Program untuk merubah nilai angka menjadi nilai huruf #include Using namespace std; Int NilaiAngka; Int main() { Cin<<” Masukkan bilangan”; cin>>NilaiAngka; switch (NilaiAngka/10){ case 10 : case 9 : cout<<“Nilai = A”; break; case 8 : case 7 : cout<<“Nilai = B”; break; case 6 : case 5 : cout<<“Nilai = C”; break; case 4 : case 3 : cout<<“Nilai = D”; break; case 2 : case 1 : case 0 : cout<<“Nilai = E”; break; Default: Cout<<” Masukkan nilai salah”;} }
Nilai bisa berupa nilai tunggal atau beberapa nilai yang disebutkan satu per satu.
Penutup Latihan soal : 1. Buatlah program yang membaca waktu tempuh dalam jam-menit-detik, kemudian mengubahnya dalam detik. 2. Buatlah program yang mebaca waktu dalam detik, kemudian mengubahnya dalam jammenit-detik. 3. Dibaca dua buah waktu J1 (jam1-menit1-detik1) dan J2 (jam2-menit2-detik2). Buatlah program menghitung selisih waktu dari dari J1 ke J2 (selisih jam-selisih menit-selisih detik). 4. Buatlah program menukar dua nilai A dan B tanpa menggunakan variabel bantu temp. 5.
Buatlah program menampilkan jumlah hari dalam satu bulan. Masukan program ini adalah nomor bulan dan tahun. Misalkan bulan 3 tahun 2010, maka program akan menampilkan 31.
6. Buatlah program untuk membaca tiga bilangan bulat A, B, C, lalu mengurutkannya dari yang kecil ke besar. 7. Buatlah program untuk menghitung total pendapatan dengan ketentuan : Total pendapatan = Gaji Pokok + Uang Lembur Berikut tabel gaji pokok dan lembur per jam berdasarkan golongan : Golongan Gaji Pokok
Lembur per jam
I
1000000
10000
II
2000000
20000
III
3000000
30000
Uang lembur diberikan jika jam kerja melebihi 50 jam.