Anda di halaman 1dari 29

STRUKTUR KEPUTUSAN (DECISION)

 Tujuan Instruksional Umum (TIU) : Mahasiswa dapat


membuat algortima yang baik dan benar dan dapat
mengimplementasikannya ke dalam bahasa
pemrograman C++

 Kriteria Unjuk Kerja (Tujuan Instruksional Khusus) :


Dapat menjelaskan dan menggunakan konsep dasar
penggunaan struktur keputusan untuk pembuatan
program menggunakan bahasa C++
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
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
hubungan dan logika. Yaitu: =, >, <, >=,
<=, and dan or.
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.
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
}
FLOWCHART STRUKTUR KEPUTUSAN DENGAN IF TUNGGAL
SEDERHANA
FLOWCHART STRUKTUR KEPUTUSAN DENGAN IF MAJEMUK
/* ----------------------------------------------------------------------
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 Keputusan\n");
printf("dengan Statemen if Tunggal Sederhana\n");
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: %d\n",beli);


printf("dengan discount: %d\n",diskon);
printf("dan total pembayaran sebesar Rp. %d\n",total);

system("pause");
}
/* -----------------------------
Nama Program: ADP_Soal15b.cpp
Statemen if Tunggal Majemuk
----------------------------- */
#include <stdio.h>
#include <stdlib.h>

main()
{
int jumlah_anak;
float gaji_kotor, gaji_bersih, tunjangan, potongan,
persen_tunjangan=0.2, persen_potongan=0.05;
printf("Contoh Program Penggunaan Statemen if Tunggal Majemuk\n");
printf("_______________________________________________________\n");
printf("\n");
printf("Gaji kotor yang diperoleh = Rp. ");scanf("%f",&gaji_kotor);
printf("Jumlah anak = ");scanf("%d",&jumlah_anak);
if(jumlah_anak>2)
{
persen_tunjangan = 0.3;
persen_potongan = 0.07;
}
tunjangan = persen_tunjangan * gaji_kotor;
potongan = persen_potongan * gaji_kotor;
gaji_bersih = gaji_kotor + tunjangan - potongan;
printf("Besarnya Tunjangan = Rp. %.2f\n",tunjangan);
printf("Besarnya Potongan = Rp. %.2f\n",potongan);
printf("Jadi, Gaji Bersihnya = Rp. %.2f\n",gaji_bersih);

system("pause");
}
/* --------------------------------------------------------------------
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 Keputusan\n");
printf("dengan Statemen if Majemuk\n”);
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: %d\n",beli);


printf("dengan discount: %d\n",diskon);
printf("dikenakan pajak: %d\n",pajak);
printf("dan total pembayaran dengan diskon Rp. %d\n",total_harga);
printf("dan total pembayaran dikenakan pajak sebesar Rp. %d\n",total_harga+pajak);
system("pause");
}
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
FLOWCHART STRUKTUR KEPUTUSAN DENGAN IF..ELSE
/* ---------------------------------------------------
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..else\n");
printf("_________________________________________\n");
printf("\n");
printf("Masukkan sebuah nilai: ");scanf("%d",&nilai);

if (nilai>70)
printf("Lulus\n");
else
printf("Tidak Lulus\n");
printf("\n");
system("pause");
}
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
FLOWCHART STRUKTUR KEPUTUSAN DENGAN
if..else if..else
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.


/* -------------------------
Nama Program: ADP_21
Contoh Struktur Keputusan
dengan if..else if..else /* Menyeleksi Nilai Determinan */
------------------------- */ if(D==0){
X1 = -B / (2*A);
#include <stdio.h> printf("Dua akar riel kembar: \n");
#include <math.h> printf("X1 = X2 = %.2f\n",X1);
#include <stdlib.h> }
else if (D>0){
main() X1 = (-B + sqrt(D)) / (2*A);
{ X2 = (-B - sqrt(D)) / (2*A);
float A, B, C, D, X1, X2; printf("Dua akar riel berlainan: \n");
printf("Contoh Struktur Keputusan\n"); printf("X1 = %.2f\n",X1);
printf("dengan Statemen if..else if..else\n"); printf("X2 = %.2f\n",X2);
printf("\n"); }
printf("Menghitung Akar-akar Persamaan Kuadrat"); else if (D<0){
printf("____________________________________\n"); X1 = -B / (2*A);
printf("\n"); X2 = sqrt(-D) / (2*A);
printf("Dua akar imajiner berlainan: \n");
/* Masukkan Data Koefisien Persamaan Kuadrat */ printf("X1 = %.2f + %.2f i\n",X1,X2);
printf("Masukkan nilai a: ");scanf("%f",&A); printf("X2 = %.2f - %.2f i\n",X1,X2);
printf("Masukkan nilai b: ");scanf(“%f",&B); }
printf("Masukkan nilai c: ");scanf("%f",&C); system("pause");
printf("\n"); }
/* Menghitung Nilai Determinan */
D = B*B - 4*A*C;
/* -------------------------------------
Nama Program: ADP_21
Contoh Struktur Keputusan
dengan if..else if..else Alternatif /* Menyeleksi Nilai Determinan */
-------------------------------------- */ if(D==0){
X1 = -B / (2*A);
#include <stdio.h> printf("Dua akar riel kembar: \n");
#include <math.h> printf("X1 = X2 = %.2f\n",X1);
#include <stdlib.h> }
if (D>0){
main() X1 = (-B + sqrt(D)) / (2*A);
{ X2 = (-B - sqrt(D)) / (2*A);
float A, B, C, D, X1, X2; printf("Dua akar riel berlainan: \n");
printf("Contoh Struktur Keputusan\n"); printf("X1 = %.2f\n",X1);
printf("dengan Statemen if..else if..else Alternatif\n"); printf("X2 = %.2f\n",X2);
printf("\n"); }
printf("Menghitung Akar-akar Persamaan Kuadrat"); if (D<0){
printf("____________________________________\n"); X1 = -B / (2*A);
printf("\n"); X2 = sqrt(-D) / (2*A);
printf("Dua akar imajiner berlainan: \n");
/* Masukkan Data Koefisien Persamaan Kuadrat */ printf("X1 = %.2f + %.2f i\n",X1,X2);
printf("Masukkan nilai a: ");scanf("%f",&A); printf("X2 = %.2f - %.2f i\n",X1,X2);
printf("Masukkan nilai b: ");scanf(“%f",&B); }
printf("Masukkan nilai c: ");scanf("%f",&C); system("pause");
printf("\n"); }
/* Menghitung Nilai Determinan */
D = B*B - 4*A*C;
STRUKTUR KEPUTUSAN IF BERSARANG (nested if)
 Bentuk umum
if (kondisi1)
if (kondisi2)
pernyataan1;
else
pernyataan2;
else
pernyataan3;

d
FLOWCHART STRUKTUR KEPUTUSAN BERSARANG
/* --------------------------------------
Nama Program: ADP_21
Contoh Struktur Keputusan if Bersarang
-------------------------------------- */ /* Menyeleksi Nilai Determinan */
if(D>=0)
#include <stdio.h> if(D==0){
#include <math.h> X1 = -B / (2*A);
#include <stdlib.h> printf("Dua akar riel kembar: \n");
printf("X1 = X2 = %f\n",X1);
main() }
{ else{
float A, B, C, D, X1, X2; X1 = (-B + sqrt(D)) / (2*A);
printf("Contoh Struktur Keputusan\n"); X2 = (-B - sqrt(D)) / (2*A);
printf("dengan Statemen if Bersarang\n"); printf("Dua akar riel berlainan: \n");
printf("_________________________\n"); printf("X1 = %f\n",X1);
printf("\n"); printf("X2 = %f\n",X2);
printf("Menghitung Akar-akar PersamaanKuadrat\n"); }
printf("\n"); else{
X1 = -B / (2*A);
/* Masukkan Data Koefisien Persamaan Kuadrat */ X2 = sqrt(-D) / (2*A);
printf("Masukkan nilai a: ");scanf("%f",&A); printf("Dua akar imajiner berlainan: \n")
printf("Masukkan nilai b: ");scanf("%f",&B); printf("X1 = %f + %f i\n",X1,X2);
printf("Masukkan nilai c: ");scanf("%f",&C); printf("X2 = %f - %f i\n",X1,X2);
printf("\n"); }
system("pause");
/* Menghitung Nilai Determinan */ }
D = B*B - 4*A*C;
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 Keputusan\n");


printf("dengan if..else majemuk\n");
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");
}
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.
STRUKTUR KEPUTUSAN DENGAN SWITCH/CASE
 Bentuk umum
switch (ekspresi)
{
case konstanta1;
pernyataan1;
break;
case konstanta2;
pernyataan2;
break;
default:
pernyataanx;
}
FLOWCHART STRUKTUR KEPUTUSAN SWITCH/CASE
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\a");
}
printf("\n");
printf("\n");

system("pause");
}
 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.
 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

Anda mungkin juga menyukai