11
Perguruan Tinggi Raharja Pemrograman Terstruktur Pertemuan VII Muchamad Gozali

pertemuan7

Embed Size (px)

DESCRIPTION

semester 2

Citation preview

Page 1: pertemuan7

Perguruan Tinggi Raharja

Pemrograman TerstrukturPertemuan VII

Muchamad Gozali

Page 2: pertemuan7

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

Page 3: pertemuan7

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

Page 4: pertemuan7

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

Page 5: pertemuan7

ANALISIS MASALAH

Selection Structure

DETAIL FLOWCHART

5

Page 6: pertemuan7

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

Page 7: pertemuan7

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

Page 8: pertemuan7

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

Page 9: pertemuan7

// 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