2. STRUKTUR KEPUTUSAN
Struktur keputusan (decision) adalah
struktur program yang melakukan proses
pengujian untuk mengambil suatu keputusan
apakah suatu baris atau blok instruksi akan
diproses atau tidak. Pengujian kondisi ini
dilakukan untuk memilih salah satu dari
beberapa alternatif yang tersedia.
C++ menyediakan dua perintah pengambilan
keputusan yaitu perintah IF dan perintah
SWITCH yang disertai dengan CASE
3. SYARAT DALAM STRUKTUR KEPUTUSAN
Syarat dalam dunia pemrograman
adalah sebuah pernyataan Boolean,
yang dapat bernilai benar (true) atau
salah (false). Biasanya sebuah syarat
terdiri dari operand-operand yang
dihubungkan dengan operator logika.
Yaitu: =, <>, >, <, >=, <=, and dan or.
4. STRUKTUR KEPUTUSAN DENGAN PERINTAH IF
Berguna untuk memilih satu dari dua
atau lebih alternatif jawaban yang
tersedia.
Jika perintah IF tersebut terdiri dari 2
atau lebih pernyataan, maka
pernyataan tersebut harus berada di
antara begin dan end.
5. BENTUK UMUM STRUKTUR KEPUTUSAN DENGAN
PERINTAH IF
Bentuk umum perintah if (tunggal sederhana)
if (kondisi)
pernyataan
Bentuk di atas mempunyai arti jika kondisi bernilai benar
maka pernyataan di bawahnya akan dikerjakan.
Bentuk perintah if tunggal blok statemen (majemuk).
if (kondisi)
{
pernyataan1
pernyataan2
dst
}
8. /* ----------------------------------------------------------------------
Nama Program: ADP_19
Struktur Keputusan dengan Statemen if Tunggal Sederhana
----------------------------------------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int beli, diskon, total;
printf("Contoh Struktur Keputusann");
printf("dengan Statemen if Tunggal Sederhanan");
printf("____________________________________n");
printf("n");
printf("Masukkan nilai pembelian: "); scanf("%d",&beli);
if (beli>100000)
diskon=10*beli/100;
total=beli-diskon;
printf("n");
printf("Jadi pembelian adalah: %dn",beli);
printf("dengan discount: %dn",diskon);
printf("dan total pembayaran sebesar Rp. %dn",total);
system("pause");
}
10. /* --------------------------------------------------------------------
Nama Program: ADP_20
Contoh Struktur Keputusan dengan Statemen if Majemuk
--------------------------------------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int beli, diskon, pajak, total_harga;
printf("Contoh Struktur Keputusann");
printf("dengan Statemen if Majemuk
printf("__________________________n");
printf("n");
printf("Masukkan nilai pembelian: "); scanf("%d",&beli);
if (beli>100000)
{
diskon=10*beli/100;
pajak=0.01*beli;
}
total_harga=beli-diskon;
printf("n");
printf("Jadi pembelian adalah: %dn",beli);
printf("dengan discount: %dn",diskon);
printf("dikenakan pajak: %dn",pajak);
printf("dan total pembayaran dengan diskon Rp. %dn",total_harga);
printf("dan total pembayaran dikenakan pajak sebesar Rp. %dn",total_harga+pajak);
system("pause");
}
11. STRUKTUR KEPUTUSAN DENGAN PERINTAH if .. else
Bentuk umum dari if .. else
if (kondisi)
pernyataan1
else
pernyataan2
Bentuk umum ini berarti jika kondisi benar maka
pernyataan1 akan dikerjakan dan jika kondisi salah
maka pernyataan2 yang akan dikerjakan
13. /* ---------------------------------------------------
Nama Program: ADP_21
Contoh Struktur Keputusan dengan if..else
---------------------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int nilai;
printf("Contoh Struktur Keputusan Dengan if..elsen");
printf("_________________________________________n");
printf("n");
printf("Masukkan sebuah nilai: ");scanf("%d",&nilai);
if (nilai>70)
printf("Lulusn");
else
printf("Tidak Lulusn");
printf("n");
system("pause");
}
14. STRUKTUR KEPUTUSAN DENGAN PERINTAH if .. else
if...else
Bentuk umum dari if .. else
if (kondisi1)
pernyataan1
else if (kondisi2)
pernyataan2
Bentuk ini disebut if..else if tangga, karena
mempunyai bentuk seperti sebuah tangga
16. STRUKTUR KEPUTUSAN DENGAN PERINTAH if ..
else if...else
Contoh:
Akar-akar dari suatu persamaan kuadrat
aX2 + bX2 + c = 0 tergantung dari nilai determinannya. Nilai determinan (D) dapat
dihitung dengan rumus:
D = b2 – 4ac
Jika D bernilai positif, maka akan mempunyai dua akar riel yang berbeda yaitu:
X1 = dan X2 =
Jika D bernilai 0, maka akan mempunyai dua buah akar riel kembar, yaitu
X1 = X2 =
jika D bernilai negatif, maka akan dihasilkan dua akar imajiner:
X1 = X2 = , tanda i menunjukkan bahwa nilai tersebut
adalah nilai imajiner.
17. /* -------------------------
Nama Program: ADP_21
Contoh Struktur Keputusan
dengan if..else if..else
------------------------- */
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main()
{
float A, B, C, D, X1, X2;
printf("Contoh Struktur Keputusann");
printf("dengan Statemen if..else if..elsen");
printf("n");
printf("Menghitung Akar-akar Persamaan Kuadrat");
printf("____________________________________n");
printf("n");
/* Masukkan Data Koefisien Persamaan Kuadrat */
printf("Masukkan nilai a: ");scanf("%f",&A);
printf("Masukkan nilai b: ");scanf(“%f",&B);
printf("Masukkan nilai c: ");scanf("%f",&C);
printf("n");
/* Menghitung Nilai Determinan */
D = B*B - 4*A*C;
/* Menyeleksi Nilai Determinan */
if(D==0){
X1 = -B / (2*A);
printf("Dua akar riel kembar: n");
printf("X1 = X2 = %.2fn",X1);
}
else if (D>0){
X1 = (-B + sqrt(D)) / (2*A);
X2 = (-B - sqrt(D)) / (2*A);
printf("Dua akar riel berlainan: n");
printf("X1 = %.2fn",X1);
printf("X2 = %.2fn",X2);
}
else if (D<0){
X1 = -B / (2*A);
X2 = sqrt(-D) / (2*A);
printf("Dua akar imajiner berlainan: n");
printf("X1 = %.2f + %.2f in",X1,X2);
printf("X2 = %.2f - %.2f in",X1,X2);
}
system("pause");
}
18. /* -------------------------------------
Nama Program: ADP_21
Contoh Struktur Keputusan
dengan if..else if..else Alternatif
-------------------------------------- */
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main()
{
float A, B, C, D, X1, X2;
printf("Contoh Struktur Keputusann");
printf("dengan Statemen if..else if..else Alternatifn");
printf("n");
printf("Menghitung Akar-akar Persamaan Kuadrat");
printf("____________________________________n");
printf("n");
/* Masukkan Data Koefisien Persamaan Kuadrat */
printf("Masukkan nilai a: ");scanf("%f",&A);
printf("Masukkan nilai b: ");scanf(“%f",&B);
printf("Masukkan nilai c: ");scanf("%f",&C);
printf("n");
/* Menghitung Nilai Determinan */
D = B*B - 4*A*C;
/* Menyeleksi Nilai Determinan */
if(D==0){
X1 = -B / (2*A);
printf("Dua akar riel kembar: n");
printf("X1 = X2 = %.2fn",X1);
}
if (D>0){
X1 = (-B + sqrt(D)) / (2*A);
X2 = (-B - sqrt(D)) / (2*A);
printf("Dua akar riel berlainan: n");
printf("X1 = %.2fn",X1);
printf("X2 = %.2fn",X2);
}
if (D<0){
X1 = -B / (2*A);
X2 = sqrt(-D) / (2*A);
printf("Dua akar imajiner berlainan: n");
printf("X1 = %.2f + %.2f in",X1,X2);
printf("X2 = %.2f - %.2f in",X1,X2);
}
system("pause");
}
19. STRUKTUR KEPUTUSAN BERSARANG (nested
if)
Bentuk umum
if (kondisi1)
if (kondisi2)
pernyataan1;
else
pernyataan2;
else
pernyataan3;
d
21. /* --------------------------------------
Nama Program: ADP_21
Contoh Struktur Keputusan if Bersarang
-------------------------------------- */
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main()
{
float A, B, C, D, X1, X2;
printf("Contoh Struktur Keputusann");
printf("dengan Statemen if Bersarangn");
printf("_________________________n");
printf("n");
printf("Menghitung Akar-akar PersamaanKuadratn");
printf("n");
/* Masukkan Data Koefisien Persamaan Kuadrat */
printf("Masukkan nilai a: ");scanf("%f",&A);
printf("Masukkan nilai b: ");scanf("%f",&B);
printf("Masukkan nilai c: ");scanf("%f",&C);
printf("n");
/* Menghitung Nilai Determinan */
D = B*B - 4*A*C;
/* Menyeleksi Nilai Determinan */
if(D>=0)
if(D==0){
X1 = -B / (2*A);
printf("Dua akar riel kembar: n");
printf("X1 = X2 = %fn",X1);
}
else{
X1 = (-B + sqrt(D)) / (2*A);
X2 = (-B - sqrt(D)) / (2*A);
printf("Dua akar riel berlainan: n");
printf("X1 = %fn",X1);
printf("X2 = %fn",X2);
}
else{
X1 = -B / (2*A);
X2 = sqrt(-D) / (2*A);
printf("Dua akar imajiner berlainan: n")
printf("X1 = %f + %f in",X1,X2);
printf("X2 = %f - %f in",X1,X2);
}
system("pause");
}
22. STRUKTUR KEPUTUSAN BERSARANG/* ----------------------------
Nama Program: ADP_Soal21.cpp
Contoh Struktur Keputusan
dengan if..else majemuk
---------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int nilai;
char huruf;
printf("Contoh Program Struktur Keputusann");
printf("dengan if..else majemukn");
printf("_________________________________n");
Printf("Masukkan Nilai Akhir Mahasiswa: "); scanf("%d",&nilai);
if (nilai>=81 && nilai <=100)
huruf='A';
else
if (nilai>=71 && nilai <81)
huruf='B';
else
if (nilai>=61 && nilai <71)
huruf='C';
else
if (nilai>=51 && nilai <61)
huruf='D';
else
huruf='E';
printf("Jadi Nilai Akhir Mahasiswa: %d, dengan Huruf : %c",nilai, huruf);
printf("n");
system("Pause");
}
23. STRUKTUR KEPUTUSAN DENGAN SWITCH/CASE
Perintah SWITCH merupakan
pernyataan yang dirancang untuk
menangani pengambilan keputusan
yang melibatkan sejumlah pilihan
alternatif yang diantaranya untuk
menggantikan pernyataan IF
bertingkat.
24. STRUKTUR KEPUTUSAN DENGAN SWITCH/CASE
Bentuk umum
switch (ekspresi)
{
case konstanta1;
pernyataan1;
break;
case konstanta2;
pernyataan2;
break;
default:
pernyataanx;
}
26. main()
{
int kdhari;
printf("Masukkan Kode Hari [1..7]: "); scanf("%d",&kdhari);
switch (kdhari)
{
case 1:
printf("Senin");
break;
case 2:
printf("Selasa");
break;
case 3:
printf("Rabu");
break;
case 4:
printf("Kamis");
break;
case 5:
printf("Jum'at");
break;
case 6:
printf("Sabtu");
break;
case 7:
printf("Minggu");
break;
default:
printf("Kode tidak ada, hari tidak ditemukan");
}
printf("n");
printf("n");
system("pause");
}
27. Buatlah flowchart dan program untuk menghitung
besarnya tunjangan yang akan diterima oleh seorang
pegawai. Besar tunjangan tergantung dari jumlah
anaknya. Jika pegawai tsb mempunyai anak kurang
dari 3, maka tunjangannya adalah sebesar 20% dari
gaji kotornya. Jika jumlahnya lebih besar atau sama
dengan 3, maka tunjangannya adalah 30% dari gaji
kotornya. Gaji juga akan dipotong untuk keperluan
asuransi, 5% untuk yang mempunyai anak kurang dari
3 dan 7% untuk yang lebih besar atau sama dengan 3.
28. Buatlah flowchart dan program dalam bentuk menu,
untuk menghitung:
a. Volume dari tabung
b. Luas dan keliling persegi panjang
c. Luas dan keliling bujur sangkar
Buatlah flowchart di sebuah kertas dan programnya
dalam bentuk file