Contoh soal penyegaran Kendali program
Contoh Soal Buatlah program dengan spec sbb: Pada suatu supermarket, uang yang harus dibayarkan oleh pembeli adalah sejumlah harga barang ditambah dengan PPN dan dikurangi diskon sesuai dengan rumus berikut: harga_total = harga + harga*%PPN – harga*%diskon Besar PPN dan diskon ditentukan oleh kode PPN dan kode diskon barang tsb Program dibuat untuk membaca harga barang, kode PPN dan kode diskon barang tersebut, program akan terus membaca sampai ditekan karakter tertentu misalnya ‘q’ Output program berupa jumlah yang harus dibayar
Tabel kelompok PPN dan diskon Tabel kode PPN Tabel kode diskon Kode PPN barang % PPN 1 0% 2 2% 3 4% 4 5% Kode diskon barang % diskon a 3% b 5% c 10% d 15%
Penyelesaian : Desain Program Input : harga_barang, tipe:unsigned int kode_PPN, tipe:char kode_diskon, tipe:char karakter_selesai, tipe:char Output: Harga_total, tipe:float; Variabel tambahan: PPN,diskon, tipe: float;
Algoritma Inisialisasi: karakter_selesai = 0, harga_total=0 While karakter_selesai !=‘q’ (jika karakter_selesai =‘q’,ke langkah 3) 2.1. Baca harga_barang, kode_PPN, dan kode_diskon 2.2. Evaluasi kode_PPN (misalnya memakai if) if (kode_PPN == ‘1’) PPN=harga_barang * 0; else if (kode_PPN == ‘2’) PPN=harga_barang * 1%; else if (kode_PPN == ‘3’) PPN=harga_barang * 4%; else if (kode_PPN == ‘4’) PPN=harga_barang * 5%; 2.3. Evaluasi kode_diskon (misal memakai case) switch(kode_diskon) case ‘a’: diskon=harga_barang * 3%; break; case ‘b’: diskon=harga_barang * 5%; break; case ‘c’: diskon=harga_barang * 10%; break; case ‘d’: diskon=harga_barang * 15%; break; 2.4 Update harga_total sementara : harga_total = harga_total + harga_barang + PPN –diskon 2.5 Baca karakter_selesai, kembali ke langkah 2 Tampilkan harga_total (harga total akhir)