Anda di halaman 1dari 24

MODUL MATERI

PEMBELAJARAN
Matakuliah: Algoritma dan Pemrograman

MODUL 7
Berbagai Contoh Solusi Permasalahan

Penyusun Modul
DR. SUARGA. MSc, M.Math, Ph.D

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 125


PETA MODUL

Pendahuluan
Solusi Masalah:
Algoritma
Flowchart, Algoritma, Teknik
Program C/C++ Pencarian

Flowcharting

Ujian Tengah Teknik


Semester Pengurutan
Variabel, Data,
dan Operator

Struktur Data
Instruksi : Prosedur
Input & Output, dan Fungsi
If/then/else

Orientasi Objek

Instruksi : Teks File


Seleksi Case,
Perulangan For Ujian Akhir
Semester
Larik:
Instruksi : Vektor
Perulangan While, Matriks
Do While

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 126


PENDAHULUAN
CAPAIAN PEMBELAJARAN : Setelah mengikuti matakuliah ini mahasiswa
diharapkan dapat menganalisis masalah, menyusun algoritma penyelesaian dan
membuat program dalam bahasa C/C++ berdasarkan algoritma untuk berbagai
persoalan komputasi dasar.

KOMPETENSI MODUL : Setelah mengikuti modul ini Mahasiswa mampu mengerjakan


berbagai contoh permasalahan, baik berupa flowchart, algoritma, maupun implementasi
program C/C++.

KERANGKA TOPIK :

1. Menghitung Jumlah Deret


2. Menghitung jumlah angka ganjil dan jumlah angka genap
3. Operasi melalui Menu program
4. Menghitung rata-rata bilangan yang dimasukkan lewat keyboard
5. Menghitung cicilan kredit
6. Menghitung biaya penyemprotan lahan

PRASYARAT BELAJAR:

Materi pada modul ini memerlukan penguasaan terhadap analisis masalah, pembuatan flowchart,
penyusunan algoritma, pembuatan program, dan uji-program. Mahasiswa harus menguasai
materi-materi utama dari modul-1 hingga modul-6, kemudian mencoba membuat program setiap
permasalahan dan melakukan uji-coba dan penyempurnaan program.

DESKRIPSI SINGKAT:

Materi pada modul ini menyajikan contoh-contoh permasalahan dengan analisis, algoritma,
flowchart, dan implementasi program.

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 127


PRE-TEST:
1. Tuliskan semua instruksi C++ yang telah anda pelajari / kuasai hingga hari ini.

2. Dapatkah anda menterjemahkan sebuah flowchart menjadi program C++?

3. Dapatkan anda menterjemahkan sebuah algoritma/pseudo-code menjadi program C++?

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 128


URAIAN MATERI:
Modul-1 hingga modul-6 telah menyajikan instruksi instruksi utama dari algoritma dan
pemrograman, sehingga modul-7 ini hanya akan menyajikan contoh-contoh soal untuk lebih
memahami aplikasi dari instruksi-instruksi tersebut. Namun sebelum memulai dengan contoh-
contoh permasalahan tersebut berikut ini disajikan ringkasan tabel translasi antara flowchart,
algoritma, dan instruksi C++.

Flowchart Algoritma C++


INPUT-OUTPUT:

read( …) cin >> …


write( …) cout << …

SELEKSI :

if ( … ) if ( … )
then …. { …. }

else …. else
{ …. }

case ( variable ) switch(variabel) {


nilai-1 : aksi-1; case nilai-1: aksi-1; break;
nilai-2 : aksi-2; case nilai-2: aksi-2; break;
nilai-3 : aksi-3; case nilai-3: aksi-3; break;
……….. …………
default : aksi-n; default : aksi-n;
endcase. }

PERULANGAN/LOOP:

for ( …. ) for (awal; syarat; ubah) {


….. ……..

endfor; }

while ( … ) do while ( … ) {
….. …….
endwhile; }

repeat do {
…. …..
until (…. ); } while ( …. );

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 129


• Berikut ini disajikan beberapa contoh soal yang mencakup instruksi-instruksi yang
telah dipelajari selama ini.
• Contoh soal ini harus dikerjakan mulai dari :
– Pembuatan Flowchart
– Penyusun algoritma / pseudo-code
– Penyusunan program C++
– Uji-coba program

Contoh-1:
Buatlah sebuah algoritma untuk menghitung jumlah deret dengan N buah suku sbb:
S = 1 – 1/2 + 1/4 - 1/6 + 1/8 - 1/10 + 1/12 - 1/14 + …

Analisis:
Ketika dijalankan maka akan ada permintaan untuk memasukkan jumlah suku N
Bila diperhatikan maka tanda berselang seling positif dan negatif, pada posisi ganjil maka
tandanya positif dan pada posisi genap tandanya negatif
Nilai yang dijumlahkan adalah kelipatan dari (1/2) yang dikalikan sesuai dengan posisi-
nya, mula-mula 1/2 kemudian 1/(2*2), 1/(2*3), ….

Algoritma:

Algoritma Jumlah_Deret_V1
{ menjumlahkan deret bersuku N }

Definisi Variabel
integer N, cacah, k;
real S;

Rincian Langkah
write ( “Berapa banyak suku ? “);
read ( N );
S  1;
cacah  1;
k  0;

while ( cacah < = N ) do


cacah  cacah + 1;
k  k + 2;
if ( cacah % 2 = 0 )
then S  S – 1/k;
else S  S + 1/k;
endif.
endwhile.
write ( “Jumlah deret = “, S);

Flowchart:

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 130


Mulai cacah = cacah + 1;
k = k + 2;

Berapa Suku?
Input N
Y
cacah %2 = 0 S = S - 1/k

N
S=1;
cacah=1;
k = 0;
S = S + 1/k;

cacah <= N?
Y

Jumlah Deret = S Selesai

Program:

//Program7_1.cpp
//menjumlahkan deret suku N
#include <iostream>
using namespace std;

int N, cacah, k;
float S;

int main() {
cout << "Berapa banyak suku? ";
cin >> N;
S = 1.0;
cacah = 1;
k = 0;
while (cacah <= N) {
cacah++;
k += 2;
if (cacah % 2 == 0)
S = S - float(1.0/k);
else
S = S + float(1.0/k);
}
cout << "Jumlah deret S = " << S << '\n';
return 0;
}

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 131


Uji coba:

Contoh-2:
• Andaikan dari keyboard dimasukkan N buah data (bilangan bulat)
kemudian akan dikelompokkan menjadi dua macam yaitu kelompok
bilangan ganjil dan kelompok bilangan genap dalam bentuk
jumlahan sehingga keluaran (output) berbentuk sebagai berikut:

Jumlah bilangan Ganjil = ….


Jumlah bilangan Genap = ….

• Analisis:
1. Berapa banyak data harus diketahui terlebih dahulu  N
2. Lakukan perulangan sebanyak N kali untuk:
1. meminta data
2. memeriksa data apakah masuk ganjil atau genap
3. menjumlahkan data sesuai kelompoknya
3. Tampilkan hasil penjumlahan.

Algoritma:

Algoritma GanjilGenap
{ mengelompokkan data dalam bentuk jumlahan bilangan ganjil
dan genap }

Deklarasi
integer cacah, N, angka, Genap, Ganjil;

Deskripsi
write ( “Berapa banyak bilangan ? “ );

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 132


read ( N );
cacah  1;
Genap  0;
Ganjil  0;

repeat
write ( “Masukkan bilangan ke-“, cacah );
read ( angka );
if ( angka % 2 = 0 )
then Genap  Genap + angka;
else Ganjil  Ganjil + angka;
endif.
cacah  cacah + 1;
until ( cacah > N );
write ( “Jumlah bilangan Ganjil = “, Ganjil);
write ( “Jumlah bilangan Genap = “, Genap);

Flowchart:

Mulai Y
angka % 2 = 0 Genap = Genap + angka

N
Berapa Bilangan?
Input N
Ganjil = Ganjil + angka

cacah= 1;
Genap = 0;
Ganjil = 0;
cacah=cacah + 1

Bilangan ke-: cacah Jumlah Ganjil;


Input angka Y Jumlah Genap;

cacah > N?
N

Selesai

Program:

//Program7_2.cpp
//menjumlahkan angka genap dan ganjil
#include <iostream>
using namespace std;

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 133


int N, cacah, angka;
int Genap, Ganjil;

int main() {
cout << "Berapa banyak bilangan? ";
cin >> N;
cacah=1;
Genap=0;
Ganjil=0;
do {
cout << "Masukkan bilangan ke " << cacah << " : ";
cin >> angka;
if (angka % 2 == 0)
Genap = Genap + angka;
else
Ganjil = Ganjil + angka;
cacah++;
} while (cacah <= N);
cout << "Jumlah angka genap = " << Genap << '\n';
cout << "Jumlah angka ganjil = " << Ganjil << '\n';
return 0;
}

Uji coba :

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 134


Contoh-3 :
Andaikan operasi terhadap dua bilangan dapat dipilih melalui satu “menu”
sebagai berikut :

Pilih Operasi yang di-inginkan :

+ Penjumlahan
- Pengurangan
/ Pembagian
* Perkalian
Jenis operasi ?: _

Masukkan angka 1: _
Masukkan angka 2: _
Hasil = …

Masih mau coba (Y/T) ?

Apabila jawaban untuk mencoba ulang adalah ‘Y’ maka menu operasi
diatas dimunculkan kembali dan proses yang sama berulang kembali
hingga jawaban pengguna program adalah ‘T’.

Algoritma / Pseudo-code:

Algoritma MenuProgram
{ memilih operasi berdasarkan pilihan pada Menu program }

Deklarasi
real angka1, angka2, hasil;
char pilihan, ulang;

Deskripsi
ulang  ‘Y’;
while ( ulang = ‘Y’ || ulang = ‘y’ ) do
write ( “Pilih Operasi yang di-inginkan :” );
write ( “+ Penjumlahan “ );
write ( “ - Pengurangan “);
write ( “ / Pembagian “ );
write ( “* Perkalian “ );
write ( “ “);
write ( “Jenis operasi?: “);
read ( pilihan );
write ( “Masukkan angka 1: “ );
read ( angka1 );
write ( “Masukkan angka 2: “ );
read ( angka2 );

case ( pilihan )
‘ + ‘ : hasil  angka1 + angka2;
‘ – ‘ : hasil  angka1 – angka2;

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 135


‘ / ‘ :
if ( angka2 = 0 )
then write ( “hasil tak berhingga “ );
else hasil  angka1 / angka2;
endif.
‘*’ : hasil  angka1 * angka2;
default : write ( “Pilihan operasi salah !”);
hasil  0;
endcase.
if ( angka2 != 0 )
then write ( “Hasil = “, hasil );
endif.
write ( “Masih mau coba (Y/T) ? “ );
read ( ulang );
endwhile.

Flowchart:

Mulai
Input angka1
Input angka2
hasil = angka1
+ angka2
Ulang = 'Y' Y

Pilihan = '+'

hasil = angka1
N - angka2;
Ulang = 'Y' Y Masih mau coba?
or Ulang = 'y' Input ulang
pilihan = ' - '

N Y Y
N angka2 = 0? Hasil tak
Menu: Y berhingga
+
- pilihan = ' / ' N
*
/ N hasil = angka1/angka2;

Display hasil
Jenis operasi? pilihan = ' * ' Y
Input Pilihan hasil = angka1
N * angka2;
Y
Selesai Pilihan Salah! angka2 != 0?
hasil = 0;

Program:

//Program7_3.cpp
//memilih operasi melalui menu
#include <iostream>
using namespace std;

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 136


float angka1, angka2, hasil;
char pilihan, ulang;

int main() {
ulang = 'Y';
while (ulang=='Y' || ulang=='y') {
// menu
cout << "Pilih Operasi yang di-inginkan!\n";
cout << " + : Penjumlahan \n";
cout << " - : Pengurangan \n";
cout << " / : Pembagian \n";
cout << " * : Perkalian \n";
cout << '\n' << "Jenis operasi : ";
cin >> pilihan;
// terima angka
cout << "Masukkan angka-1 : ";
cin >> angka1;
cout << "Masukkan angka-2 : ";
cin >> angka2;
// penetapan operasi
switch(pilihan) {
case '+' : hasil = angka1 + angka2; break;
case '-' : hasil = angka1 - angka2; break;
case '/' : if (angka2==0)
cout << "hasil tak berhingga\n";
else
hasil = angka1/angka2;
break;
case '*' : hasil = angka1 * angka2; break;
default : cout < "Pilihan operasi SALAH !";
hasil = 0;
}
// menampilkan hasil
if (angka2 != 0)
cout << "Hasil operasi = " << hasil << '\n';
cout << '\n' << "Masih mau coba ?";
cin >> ulang;
}
return 0;
}

Uji coba:

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 137


Contoh-4:
Andaikan ada N bilangan biasa yang dimasukkan lewat keyboard, maka nilai
rata-rata adalah jumlah semua bilangan tersebut dibagi N, dengan kata lain:

Rata-rata = (x1 + x2 + … + xN) / N = Σ x / N

Varians adalah nilai yang menunjukkan besarnya jumlah perbedaan dari


setiap bilangan terhadap nilai rata-rata, atau:

Varians = ( Σ ( x – Rata)2 ) / (N-1) = ( Σx2 – (Σx)2 /N ) / (N-1)

Analisis:
- Tetapkan N
- Lakukan perulangan mulai dari i=1 s/d N
- masukkan x
- jumlahkan x, S = S + x
- jumlahkan x2, K = K + x2
- Hitung Rata = S / N
- Hitung Varians = ( K – S2 / N ) / (N-1)

Algoritma/Pseudo-code:

Algoritma Nilai_Rata_dan_Varians
{ menghitung nilai Rata dan Varians dari N buah bilangan }

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 138


Definisi Variabel
integer N, i ;
real x, S, K, Rata, Varians;

Rincian Langkah:
write ( “Berapa banyak bilangan ? : “ );
read ( N );
S  0;
K  0;
for ( i =1 to N step 1 )
write ( “Masukkan bilangan ke – “, i );
read ( x );
S  S + x;
K  K + x * x;
endfor.
Rata  S / N;
Varians  ( K – S*S/N ) / (N – 1);
write ( “Rata-rata = “, Rata );
write ( “Varians = “, Varians );

Flowchart:

Mulai

Berapa banyak bilangan?


Input N

Rata = S/N;
Varians = (K - S*S/N) / (N-1);
S = 0;
K = 0;

i = 1 to N Display Rata
Display Varians

Masukkan bilangan ke i
Selesai
Input x

S = S + x;
K = K + x * x;

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 139


Program:

//Program7_4.cpp
//Nilai rata dan Varians
#include <iostream>
using namespace std;

int N, i;
float x, S, K, Rata, Varians;

int main() {
cout << "Berapa banyak bilangan : ";
cin >> N;
S = 0.0;
K = 0.0;
for (i=1; i<N+1; i++) {
cout << "Masukkan data ke-" << i << " : ";
cin >> x;
S = S + x;
K = K + x * x;
}
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout.precision(3) ;
Rata = S/N;
Varians = (K - S*S/N)/(N-1);
cout << "Rata-rata = " << Rata << '\n';
cout << "Varians = " << Varians << '\n';
return 0;
}

Uji coba:

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 140


Contoh-5 :

• Dewasa ini banyak perusahaan finansial yang menawarkan kredit


pembelian dalam bentuk cicilan. Jumlah yang harus dibayarkan setiap
bulan oleh pelanggan bergantung pada tiga macam faktor, yaitu: Jumlah
Modal yang dipinjam, besarnya bunga pinjaman, dan lama periode
cicilan. Sebuah algoritma akan disusun untuk mencetak daftar
pembayaran cicilan. Variabel yang terkait antara lain adalah:
• Modal : total modal yang dipinjam
• Bunga : bunga pinjaman / tahun
• Lama : lamanya pinjaman dalam tahun
• Cicilan : cicilan perbulan

• Besarnya cicilan dihitung berdasarkan rumus :


∗ ∗( )
•  = ( )  

• Bunga dihitung perbulan sehingga Bunga = Bunga/12, dan n adalah
lamanya pinjaman dalam bulan sehingga n = Lama * 12.

Algoritma / Pseudo-code:

Algoritma Cicilan
{ pembayaran cicilan atas pinjaman modal }

Definisi Variabel
real modal, cicilan, bunga;
real ModalBulanan, BungaBulanan, ModalTahunan, BungaBulanan;
int lama, n;

Rincian Langkah
{ memasukkan data utama }
write(“Masukkan Modal yang akan dipinjam : “);
readln(modal);
write(“Masukkan Bunga pinjaman / tahun : “);
readln(bunga);
write(“Berapa tahun akan dipinjam : “);
readln(lama);

{ melakukan proses perhitungan }


bunga  0.01*bunga/12;
n  lama * 12;
cicilan  (modal*bunga*(bunga+1)^n)/((bunga+1)^n – 1);
writeln(“Pembayaran cicilan setiap bulan = Rp. “, cicilan);

{ membuat daftar pembayaran }


writeln(“Tahun”, “Bulan”, “ModalTerbayar”, “BungaTerbayar”);
for thn=1 to lama
BungaTahunan  0.0;
ModalTahunan  0.0;

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 141


for bln = 1 to 12
BungaBulanan  bunga*Modal;
ModalBulanan  cicilan – BungaBulanan;
BungaTahunan  BungaTahunan + BungaBulanan;
ModalTahunan  ModalTahunan + ModalBulanan;
writeln(thn, bln, ModalBulanan, BunganBulann);
Modal  Modal – ModalBulanan;
endfor;
writeln(“Akkhir tahun-“,thn);
writeln(“Modal Terbayar = “, ModalTahunan, “Bunga Terbayar = “,
BungaTahunan);
writeln(“Sisa Utang Modal = “, Modal);
endfor;

Program :

//Program7_5.cpp
//Cicilan
#include <iostream>
#include <math.h>
using namespace std;

double modal, cicilan, bunga, pktBunga;


double modalBulanan, bungaBulanan;
double modalTahunan, bungaTahunan;
int lama, n, thn, bln;

int main() {
//memasukkan data utama
cout << "Masukkan Modal yang akan dipinjam : ";
cin >> modal;
cout << "Masukkan bunga pinjaman / tahun : ";
cin >> bunga;
cout << "Berapa tahun akan dipinjam : ";
cin >> lama;
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout.precision(2) ;
// komputasi dasar
bunga = 0.01*bunga/12.0;
n = lama * 12;
pktBunga = pow((bunga+1),n);
cicilan = (modal*bunga*pktBunga)/(pktBunga-1);
cout << "Pembayaran cicilan setiap bulan = Rp." << cicilan <<'\n';
// membuat daftar
for (thn=1; thn < lama+1; thn++){
cout << "Thn\t Bln\t Modal\t Bunga\n";
bungaTahunan = 0.0;
modalTahunan = 0.0;
for (bln=1; bln < 13; bln++) {
bungaBulanan = bunga * modal;
modalBulanan = cicilan - bungaBulanan;
bungaTahunan = bungaTahunan + bungaBulanan;
modalTahunan = modalTahunan + modalBulanan;
cout << thn << '\t' << bln << '\t';
cout << modalBulanan << '\t' << bungaBulanan << '\n';

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 142


modal = modal - modalBulanan;
}
cout << "Akhir tahun ke-" << thn << '\n';
cout << "Modal terbayar=" << modalTahunan << '\n';
cout << "Bunga terbayar=" << bungaTahunan << '\n';
cout << "Sisa utang = " << modal << '\n';
}
return 0;
}

Uji Coba :

Contoh-6 :
Sebuah perusahaan agribisnis memiliki pesawat-pesawat kecil yang disewakan
untuk melakukan penyemprotan tanaman pada areal perkebunan yang luas,
biaya sewa yang dikenakan adalah sebagai berikut:

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 143


tipe-1: Penyemprotan rumput / alang-alang, Rp.250.000. per hektare
tipe-2 : Penyemprotan hama belalang, Rp. 500.000 per hektar
tipe-3: Penyemprotan kutu, hama wereng, dsb Rp. 750.000 per hektar
tipe-4 : Penyemprotan segala jenis hama dan segala macam rumput Rp.
1.250.000 / hektar

Apabila luas areal yang akan disemprot lebihdari 100 hektar maka petani
memperoleh discount sebesar 10%, disamping itu apabila total pembayaran
diatas Rp. 150 juta, maka kelebihan pembayaran akan menerima potongan
10%. Data yang diterima perusahaan adalah: Nama petani, luas lahan, dan
tipe penyemprotan. Beberapa petani boleh saja berkelompok namun diwakili
oleh satu petani saja.

Pseudo-code:

Algoritma Penyemprotan
{ menghitung biaya penyemprotan tanaman }

Deklarasi
String Nama;
real Luas;
int tipe;
real biaya, potongan1, potongan2, jumPot;

Deskripsi
{ masukkan data petani }
writeln(“Masukkan Data Petani : “);
write(“Nama petani : “);
readln(Nama);
write(“Luas lahan : “);
readln(Luas);
write(“Tipe penyemprotan : “);
readln(Tipe);
{ Menghitung biaya }
case (Tipe) of
1 : biaya Luas * 250000;
2 : biaya  Luas * 500000;
3 : biaya  Luas * 750000;
4 : biaya  Luas * 1250000;
default : writeln(“Tipe penyemprotan salah Ulangi!”);
Exit;
endcase;

{ menghitung potongan }
if (luas > 100)
then potongan1 = 0.1 * biaya;
else potongan1 = 0.0;
endif;
biaya  biaya – potongan1;
if (biaya > 150000000)
then potongan2 = 0.1 * (biaya – 150000000);
else potongan2 = 0.0;
endif;

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 144


biaya  biaya – potongan2;
jumPot  potongan1 + potongan2;
{ menampilkan hasil }
write(“Sdr : “, Nama, “ mendapat potongan : Rp. “, jumPot);
writeln(“ dan harus membayar biaya Rp. “, biaya);

Program :

//Program7_6.cpp
//Penyemprotan
#include <iostream>
#include <math.h>
#include <cstring>
using namespace std;

#define semprot1 "rumput+alang2"


#define semprot2 "hama belalang"
#define semprot3 "kutu+hama wereng"
#define semprot4 "semua jenis hama"

char Nama[20], semprot[20];


float Luas;
int tipe;
double biaya, potongan1, potongan2, jumPot;

int main() {
//masukkan data petani
cout << "Masukkan Data Petani:\n";
cout << "Nama petani : "; cin >> Nama;
cout << "Luas lahan : "; cin >> Luas;
cout << "Tipe penyemprotan : (1-4) "; cin >> tipe;
//menghitung biaya
switch (tipe) {
case 1 : biaya = Luas * 250000.00;
strcpy(semprot,semprot1); break;
case 2 : biaya = Luas * 500000.00;
strcpy(semprot,semprot2); break;
case 3 : biaya = Luas * 750000.00;
strcpy(semprot,semprot3); break;
case 4 : biaya = Luas * 1250000.00;
strcpy(semprot,semprot4); break;
default : {
cout << "Tipe salah, ulangi\n";
return 0;
}
}
//menghitung potongan dan biaya
if (Luas > 100)
potongan1 = 0.1 * biaya;
else
potongan1 = 0.0;
biaya = biaya - potongan1;
if (biaya > 150000000.00)
potongan2 = 0.1 * (biaya - 150000000.0);
else

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 145


potongan2 = 0.0;
biaya = biaya - potongan2;
jumPot = potongan1 + potongan2;
// menampilkan hasil
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout.precision(2) ;
cout << "Sdr: " << Nama << '\n';
cout << "Penyemprotan " << semprot << " mendapat potongan Rp. ";
cout << jumPot << '\n';
cout << "dan harus membayar biaya sebesar Rp. " << biaya;
cout << '\n';
return 0;
}

Uji Coba:

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 146


POST-TEST:
Buatlah tabel persamaan / translasi antara flowchart, algoritma, dan
program C++

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 147


SUMBER BACAAN:
1. Suarga, Drs,MSc,MMath,Ph.D, “ALGORITMA dan Pemrograman”, Penerbit Andi,
Yogyakarta, 2012.
2. Despande,P.S., “C & Data Structures”, PART-I, the C Language, Charles River Media, 2004.
3. Savitch, W., “Problem Solving with C++”, 7th, Pearson Addison-Wesley, Massachusetts,
2009

Suarga,PhD, Modul-7 Algoritma Pemrograman Page 148

Anda mungkin juga menyukai