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.
Jika urutan instruksi di atas diubah, maka hasilnya juga berubah. Misal : temp=A; A=B; B= temp; //Program Tukar; #include<iostream> 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; }
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<iostream> Using namespace std; int Bil; int main(){ cout<<Masukkan bilangan; cin>>Bil; if(bil mod 2 == 0) Cout<<Bil<< adalah bilangan genap; } 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<iostream> Using namespace std; Int Bil; Int main(){ Cout<<Masukkan bilangan : ; cin>>Bil; if(bil mod 2 == 0) Cout<<Bil<< adalah bilangan genap; else Cout<<Bil<< adalah bilangan ganjil; }
4.2.3 Tiga Kasus atau Lebih Bentuk umum untuk kasus dua kasus :
//Program KonversiNilai; /*Program untuk merubah nilai angka menjadi nilai huruf*/ #include<iostream> 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 :
Contoh program KonversiNilai menggunakan struktur Switch : //Program KonversiNilai; //Program untuk merubah nilai angka menjadi nilai huruf #include<iostream> 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 jam- menit-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.