Upload
rachmafina
View
1
Download
0
Embed Size (px)
DESCRIPTION
semester 2
Citation preview
Perguruan Tinggi Raharja
Pemrograman TerstrukturPertemuan VII
Muchamad Gozali
PEMROGRAMAN TERSTRUKTUR
ANALISIS MASALAH
Selection Structure
Latihan:
1. Proses record pelanggan, dengan data yang dibaca :
Data yang dibaca : nama pelanggan, jumlah pembelian
dan kode discount.
Jika kode discount = 0 potongan 3 %
Jika kode discount = 1 potongan 5 %
Jika kode discount = 2 potongan 7 %
Cetak nama pelanggan, jumlah pembelian & jumlah
pembelian setelah potongan!
2
ANALISIS MASALAH
Selection Structure
Penyelesian :
A.Diagram
INPUTINPUT PROSESPROSES OUTPUTOUTPUT
- nm_pel - nm_pel
- jml_beli - jml_beli
- kd_disc - kd_disc
- Baca nm_pel - Baca nm_pel
- Baca jml_beli - Baca jml_beli
- Baca kd_disc - Baca kd_disc
- Hitung - Hitung
jml_beli_disc = jml_beli – jml_beli * discjml_beli_disc = jml_beli – jml_beli * disc
- Cetak nm_pel - Cetak nm_pel
- Cetak jml_beli - Cetak jml_beli
- Cetak jml_beli_disc - Cetak jml_beli_disc
- nm_pel - nm_pel
- jml_beli - jml_beli
- kd_disc - kd_disc
3
ANALISIS MASALAH
Selection Structure
B.Algoritma Pemecahan
Program Proses_Record_Pelanggan
Baca nm_pel
Baca jml_beli
Baca kd_disc
CASE OF kd_disc
0 : jml_beli_disc = jml_beli – jml_beli * 3 %
1 : jml_beli_disc = jml_beli – jml_beli * 5 %
2 : jml_beli_disc = jml_beli – jml_beli * 7 %
other : jml_beli_disc = 0
END CASE
cetak nm_pel, jml_beli, jml_beli_disc
Buat Flowchat untuk algoritma di atas !
4
ANALISIS MASALAH
Selection Structure
DETAIL FLOWCHART
5
ANALISIS MASALAH
Selection Structure
Desk Checking
i. Data Masukan
VariabelVariabel Data_1Data_1 Data_2Data_2
nm_pelnm_pel Shanti Shanti
Jml_beliJml_beli 100000 75000
Kd_discKd_disc 2 1
ANALISIS MASALAH
6
Selection Structure
ii. Table Check
Statement nm_pel Jml_beli Kd_ disc
Jml_beli_disc
CASE Statemen
t
CETAK
Pertama
Kedua
BacaCASE 0CASE 1CASE 2CASE otherCetak
Baca
CASE 0CASE 1CASE 2CASE otherCetak
Shanti
Shanti
Shinta
Shinta
100000
100000
75000
75000
2
1
93000
93000
71250
71250
falsefalsetrue
falsetruefalse
ya
ya
ANALISIS MASALAH
Selection Structure7
iii. Hasil secara manual (yang
diharapkan)
Var masukan Hasil Data pertama
Hasil Data kedua
nm_pel jml_beli jml_beli _disc
Shanti 100000 93000
Shinta 75000 71250
Program :#include <iostream.h>
// deklarasi fungsi
float Hitung_Diskon(float D, float JB);
8
// program utama
void main() {
int Kd_Disc;
float Jum_Beli, Jum_Beli_Disc;
char NamaPlg[20];
cout << "Nama Pelanggan : "; cin.getline(NamaPlg,20);
cout << "Jumlah Beli : "; cin >> Jum_Beli;
cout << "Kode Diskon[0/1/2] : "; cin >> Kd_Disc;
switch(Kd_Disc)
{
case 0 : Jum_Beli_Disc=Hitung_Diskon(0.03,Jum_Beli);
break;
case 1 : Jum_Beli_Disc=Hitung_Diskon(0.05,Jum_Beli);
break;
case 2 : Jum_Beli_Disc=Hitung_Diskon(0.07,Jum_Beli);
break;
default: Jum_Beli_Disc=0;
}
cout << "Jumlah Beli Diskon : "<< Jum_Beli_Disc <<endl<<endl;
}
// fungsi hitung Hitung_Diskon
float Hitung_Diskon(float D, float JB) {
return(JB - D * JB);
}
9