1.
Langkah Kerja
1. Con 31.C
2. Con 32.C
3. Con 33.C
4. Con 34.C
5. Con 35.C
6. Con 36.C
1|Percabangan Bersyarat
7. Con 37.C
8. Con 38.C
2|Percabangan Bersyarat
2. Pertanyaan dan Tugas
1. Buatlah flowchart dan program untuk menampilkan total pembelian yang
harus dibayarkan oleh seorang pelanggan apabila diketahui kondisi berikut
ini:
Beli=harga barang * jumlah barang
Jika jumlah barang > 100 maka discount = beli*15%
Jika tidak discount = beli*5%
Dimana Total bayar = beli - discount
2. Buatlah program untuk membantu menyelesaikan persoalan pada sebuah
developer menjual dua tipe rumah,Tipe A dengan harga tanah 40000 dan
harga bangunan 150000,sedamgkan Tipe B dijual dengan harga tanah 50000
dan harga bangunan 200000.
Sebagai input: luas tanah, luas bangunan, tipe
Sebagai output: harga tanah, harga bangunan, harga total
Ketentuan tentang variable-variabel yang digunakan:
Variable untuk nama variable tipe
Luas tanah luas_tanah float
Luas bangunan luas_bang float
Harga satuan tanah harga_sat_tnh float
Harga satuan bang. harga_sat_bang float
Harga tanah harga_tnh float
Harga bangunan harga_bang float
Harga total harga_total float
Tipe tipe char
3. Buatlah flowchart dan program untuk menyelesaikan permasalahan pada PT
POLINOS yang memberikan komisi kepada para salesmannya dengan
ketentuan sebagai berikut:
3|Percabangan Bersyarat
a. Bila seorang salesman dapat menjual menjual barang hingga Rp.200.000,-
dia akan mendapat uang jasa sebesar Rp.10.000,- ditambah dengan uang
komisi sebesar 10% dari pendapatan yan diperoleh hari itu.
b. Bila seorang salesman menjual barang diatas Rp.200.000,- hingga
Rp.500.000,- maka uang jasa yang diterima sebesar Rp.20.000,- ditambah
dengan 15% dari pendapatan yang dieroleh.
c. Bila seorang salesman menjual barang di atas Rp.500.000,- maka uang
jasa yang diperoleh sebesar Rp.30.000,- ditambah dengan 20% dari
pendapatan yang didapat.
Sebagai input: Pendapatan
Sebagai output: Uang jasa, Komisi, Total uang
Ketentuan-ketentuan variable yang digunakan:
Variabel untuk nama variable tipe
Pendapatan p_dptan float
Uang jasa jasa float
Komisi komisi float
Total Uang total float
4. Buatlah program untuk mengkonversikan nilai angka menjadi nilai huruf
akan dibuat berdasarkan ketentuan sebagai berikut:
Nilai Angka Nilai huruf
<50 E
50-59 D
60-69 C
70-84 B
85-100 A
4|Percabangan Bersyarat
Sebagai input: Nilai Angka
Sebagai Output: Nilai Huruf
Ketentuan variable
Variable untuk nama variable tipe
Nilai Angka angka float
Nilai Huruf huruf char
5. Buatlah program dalam bentuk menu yang mampu menghitung:
a. Luas dan Keliling bujur sangkar
b. Luas dan keliling persegi panjang
c. Luas dan keliling lingkaran
5|Percabangan Bersyarat
Jawaban dan Penyelesaian
1
PEMROGRAMAN
main()
{
float beli,harga,jumlah,discount,total;
clrscr();
printf("\xB1\xB1 APRIL MART \xB1\xB1");
printf("\n\nHarga Barang : Rp. "); scanf("%f",&harga);
printf("\nJumlah Barang :"); scanf("%f",&jumlah);
beli=jumlah*harga;
if(jumlah>100)
discount=beli*0.15;
else
if (jumlah<=100)
discount=beli*0.05;
total=beli-discount;
printf("\n\nDiscount anda : %8.0f",discount);
printf("\n\nAnda harus membayar sebesar : Rp. %8.0f",total);
printf("\n\n\xB1\xB1 Terima Kasih atas Kunjungannya \xB1\xB1");
getche();
}
OUTPUT
6|Percabangan Bersyarat
FLOWCHART
START
var beli, harga, jumlah,
discount, total
Input harga , jumlah
Beli=jumlah*harga
YA
Jumlah>100 Discount = beli*0.15
TIDAK
Discount = beli*0.5
Total=beli-discount
Cetak discount, total
STOP
7|Percabangan Bersyarat
2
PEMROGRAMAN
main()
{
float
luas_tanah,luas_bang,harga_sat_tnh,harga_sat_bang,harga_tnh,harga_bang,harga_total;
char tipe;
clrscr();
printf("SELAMAT DATANG DI JASA JUAL BELI RUMAH APRIL");
printf("\n\nPilihan Tipe Rumah Anda:\n\n Rumah Tipe [A]\n\n Rumah Tipe [B]\n\n Pilih
:");
scanf("%s", &tipe);
switch(tipe)
{
case 'A' : harga_sat_tnh=40000;
harga_sat_bang=150000;
printf("\nLuas Tanah : "); scanf("%f", &luas_tanah);
printf("\nLuas Bangunan : "); scanf("%f", &luas_bang);
harga_tnh=harga_sat_tnh*luas_tanah;
harga_bang=harga_sat_bang*luas_bang;
harga_total=harga_tnh+harga_bang;
printf("\nHarga Tanah : %2.0f",harga_tnh);
printf("\nHarga Bangunan : %2.0f",harga_bang);
printf("\nHarga Total : %2.0f",harga_total);
break;
case 'B' : harga_sat_tnh=50000;
harga_sat_bang=200000;
printf("\nLuas Tanah : "); scanf("%f", &luas_tanah);
printf("\nLuas Bangunan : "); scanf("%f", &luas_bang);
harga_tnh=harga_sat_tnh*luas_tanah;
harga_bang=harga_sat_bang*luas_bang;
harga_total=harga_tnh+harga_bang;
printf("\nHarga Tanah : %2.0f",harga_tnh);
printf("\nHarga Bangunan : %2.0f",harga_bang);
printf("\nHarga Total : %2.0f",harga_total);
break;
default : printf("Maaf Anda Salah Pilih ");
break;
}
getche();
}
8|Percabangan Bersyarat
OUTPUT
9|Percabangan Bersyarat
FLOWCHART
START
Var tipe, luas tanah, luas bang,
harga sat tnh, harga sat bang,
harga tnh, harga bang, harga total
Tipe A Input tipe Tipe B
Input luas tanah , Input luas tanah
luas bangunan luas bangunan
Harga sat tnh=40000 Harga sat Harga sat tnh=50000 Harga sat
bang=150000 bang=200000
Harga tanah=harga sat tnh*luas tanah Harga tanah=harga sat tnh*luas tanah
Harga bang=harga sat bang*luas bang Harga bang=harga sat bang*luas bang
Harga total=harga tanah+harga bang Harga total=harga tanah+harga bang
Cetak
Harga tnh , Harga bang, Harga total
STOP
10 | P e r c a b a n g a n B e r s y a r a t
3
PEMROGRAMAN
main()
{
float p_dapatan,jasa,komisi,total;
clrscr();
printf("Pendapatan : Rp. "); scanf("%f",&p_dapatan);
if(p_dapatan <=200000)
{jasa=10000;
komisi=0.10*p_dapatan;}
else if(p_dapatan >200000 && p_dapatan <=500000)
{jasa=20000;
komisi=0.15*p_dapatan;}
else if(p_dapatan >500000)
{jasa=30000;
komisi=0.20*p_dapatan;}
total=p_dapatan+jasa+komisi;
printf("\nUang Jasa : Rp. %2.0f",jasa);
printf("\nKomisi : Rp. %2.0f",komisi);
printf("\nTotal uang : Rp. %2.0f",total);
getche();
}
OUTPUT
11 | P e r c a b a n g a n B e r s y a r a t
FLOWCHART
START
Var
p_dapatan,jasa,
komisi,total
Input
pendapatan
P_dapatan Jasa=10000
<=200000 Komisi=0.10*p_dapatan
P_dapatan >200000 Jasa=20000
&& <=500000 Komisi=0.15*p_dapatan
P_dapatan >500000 Jasa=30000
Komisi=0.20*p_dapatan
Total=p_dapatan+jasa+
komisi
Cetak jasa,
komisi, total
STOP
12 | P e r c a b a n g a n B e r s y a r a t
4
PEMROGRAMAN
main()
{
float angka;
char huruf;
clrscr();
printf("\nMasukkan nilai anda : "); scanf("%f",&angka);
if (angka <50)
printf("\nAnda mendapat nilai E");
{
if (angka >=50)
if (angka <60)
printf("\nAnda mendapat nilai D");
}
if (angka >=60)
if (angka <70)
printf("\nAnda mendapat nilai C");
}
{
if (angka >=70)
if (angka <85)
printf("\nAnda mendapat nilai B");
}
{
if (angka >=85)
if (angka <=100)
printf("\nSelamat, Anda mendapat nilai A");
}
getche();
}
13 | P e r c a b a n g a n B e r s y a r a t
OUTPUT
FLOWCHART
START
Float angka
Char huruf
Input angka
N N N N
Angka Angka Angka Angka Angka
y y y y
<50 >=50 >=60 >=70 >=85
<60 <70 <85 <=100
Y Y Y Y Y
y y y y y
Anda Anda Anda Anda Selamat, Anda
mendapat mendapat mendapat mendapat mendapat nilai
nilai E nilai D nilai C nilai B A
STOP
14 | P e r c a b a n g a n B e r s y a r a t
5
PEMROGRAMAN
main()
{
float menu,bj_sgkr,psg_pjg,ling, sisi,kel_bs,luas_bs, p,l,kel_pp,luas_pp,
r,phi,kel_ling,luas_ling;
clrscr();
printf("\n\n BAB KELILING dan LUAS BANGUN DATAR \n\nMenu Bangun Datar:
\n\n[1] Bujur Sangkar \n\n[2] Persegi Panjang \n\n[3] Lingkaran \n\nPilih yang mana?");
scanf("%f",&menu);
switch(menu)
{ case 1 : printf("\nBUJUR SANGKAR: \n\n[1] Luas Bujur Sangkar \n\n[2] Keliling
Bujur Sangkar \n\nPilihannya ?");
scanf("%f",&bj_sgkr);
clrscr();
switch(bj_sgkr)
{ case 1 : printf("\nMasukkan sisi : "); scanf("%f",&sisi);
luas_bs=sisi*sisi;
printf("\nMaka luas Bujur Sangkar dengan sisi %3.0f adalah
%3.0f",sisi,luas_bs);
break;
case 2 : printf("\nMasukkan sisi : "); scanf("%f",&sisi);
kel_bs=4*sisi;
printf("\nMaka keliling Bujur Sangkar dengan sisi %3.0f adalah
%3.0f",sisi,kel_bs);
}
break;
case 2 : printf("\nPERSEGI PANJANG: \n\n[1] Luas Persegi Panjang \n\n[2]
Keliling Persegi Panjang \n\nPilihannya ?");
scanf("%f",&psg_pjg);
clrscr();
switch(psg_pjg)
{ case 1 : printf("\nMasukkan panjang : "); scanf("%f",&p);
printf("\nMasukkan lebar : "); scanf("%f",&l);
luas_pp=p*l;
printf("\nMaka luas Persegi Panjang adalah %3.0f",luas_pp);
break;
case 2 : printf("\nMasukkan panjang : "); scanf("%f",&p);
printf("\nMasukkan lebar : "); scanf("%f",&l);
kel_pp=2*(p+l);
printf("\nMaka keliling Persegi Panjang adalah %3.0f",kel_pp);
}
break;
15 | P e r c a b a n g a n B e r s y a r a t
case 3 : printf("\nLINGKARAN: \n\n[1] Luas Lingkaran \n\n[2] Keliling Lingkaran
\n\nPilihannya ?");
scanf("%f",&ling);
clrscr();
switch(ling)
{ case 1 : printf("\nMasukkan jari-jari : "); scanf("%f",&r);
phi=3.14;
luas_ling=phi*r*r;
printf("\nMaka luas Lingkaran adalah %4.2f",luas_ling);
break;
case 2 : printf("\nMasukkan jari-jari : "); scanf("%f",&r);
phi=3.14;
kel_ling=2*phi*r;
printf("\nMaka keliling Lingkaran adalah
%4.2f",kel_ling);
}
getche();
}
16 | P e r c a b a n g a n B e r s y a r a t