Bahasa Pemrograman
Bahasa C/C++ (Lanjutan)
Seleksi Kondisi
Pengantar Seleksi Kondisi
Secara umum seleksi kondisi didefinisikan sebagai:
Sistem pengambilan keputusan yang dapat dilakukan oleh komputer
Didasari atas operasi logika
Komputer akan diberikan suatu kondisi.
Secara algoritma, pengguna program akan diberikan suatu kondisi atau syarat, bila
kondisi ini terpenuhi (bernilai benar, true atau kondisi 1), maka suatu perintah dijalankan, bila
kondisi tidak terpenuhi (bernilai salah, false atau kondisi 0), maka perintah lain yang
dikerjakan.
Dalam kehidupan sehari-hari, seleksi kondisi banyak ditemukan, contoh; seorang ayah
akan menaikkan uang saku anaknya, dengan syarat; si anak bisa meraih juara di kelasnya,
ternyata si anak tidak bisa meraih juara, artinya syarat yang ditentukan oleh sang Ayah tidak
terpenuhi, maka si anak tidak jadi menerima kenaikan uang saku.
Dalam aplikasinya ke dalam bahasa pemrograman C++, terdapat tiga macam seleksi
kondisi, yaitu Seleksi Satu Kasus, Seleksi Dua Kasus dan Seleksi Lebih dari dua kasus. Setiap
seleksi kondisi menerapkan perintah yang berbeda-beda
Menggunakan Perintah IF
27
#include<stdio.h>
#include<conio.h>
void main()
{
float pembelian;
clrscr();
printf("pembelian bruto: Rp ");
scanf("%f", &pembelian);
if (pembelian>=50000)
pembelian=pembelian-(0.05*pembelian);
printf("pembelian netto: Rp %.f", pembelian);
}
getch();
28
Dari diagram alir di atas tampak sebuah kasus pemberian diskon untuk setiap nilai
pembelian. Dalam kasus ini, yang menjadi kondisi atau syarat tetap jumlah pembelian, bila
nilainya 50000 atau lebih besar, maka nilai pembelian akan dikurangi dengan 10% dari jumlah
pembelian. Selanjutnya nilai pembelian yang dikeluarkan adalah nilai pembelian setelah
dikurangi 10%. Namun bila nilai pembelian di bawah 50000, maka nilai pembelian akan
dikurangi dengan 5% dari jumlah pembelian. Selanjutnya nilai pembelian yang dikeluarkan
adalah nilai pembelian setelah dikurangi 5%.
Praktikum Seleksi Kondisi 2
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
#include<stdio.h>
#include<conio.h>
void main()
{
float pembelian;
clrscr();
printf("pembelian bruto: Rp ");
scanf("%f", &pembelian);
if (pembelian>=50000)
pembelian=pembelian-(0.1*pembelian);
else
pembelian=pembelian-(0.05*pembelian);
printf("pembelian netto: Rp %.f", pembelian);
getch();
#include<stdio.h>
#include<conio.h>
void main()
{
float pembelian;
clrscr();
printf("pembelian bruto: Rp ");
scanf("%f", &pembelian);
if (pembelian>=50000)
{
printf("Selamat, anda mendapatkan diskon 10 persen");
pembelian=pembelian-(0.1*pembelian);
}
else
{
printf("Selamat, anda mendapatkan diskon 5 persen");
pembelian=pembelian-(0.05*pembelian);
}
printf("pembelian netto: Rp %.f", pembelian);
29
23.
24.
getch();
Seleksi Kondisi Lebih dari Dua Kasus memiliki ciri-ciri sebagai berikut
Terdapat lebih dari dua kondisi atau syarat.
Dalam pemrograman bahasa C/C++ diaplikasikan dengan perintah: IF ... ELSE
berkalang dan SWITCH CASE
Perhatikan Contoh Kasus di bawah ini, terdapat Program zodiak yang memiliki menu
pilihan tanggal kelahiran sebagai berikut:
30
#include<stdio.h>
#include<conio.h>
void main()
{
int pilihan;
clrscr();
printf(Pilih jangkauan tanggal lahir anda :");
printf([1] 21 Desember 19 Januari);
printf([2] 20 Januari 18 Februari);
printf([3] 19 Februari 20 Maret);
.
.
.
printf([12] 23 November 20 Desember);
printf("\nMasukkan pilihan anda : ");
scanf("%d", &pilihan);
if (pilihan==1)
printf(Capricorn);
else if (pilihan==2)
printf(Aquarius);
else if (pilihan==3)
printf(Pisces);
.
.
.
else if (pilihan==12)
printf(Sagitarius);
else
printf(Pilihan salah);
getch();
}
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
31
__________________________________________________________________________________
Menggunakan Perintah SWITCH CASE
Setiap kondisi memiliki perintah yang berbeda, perintah yang dijalankan dipilih
berdasarkan kondisi yang dimasukkan pada posisi pilihan case
Pada akhir perintah harus diberikan perintah break untuk membawa program ke akhir
switch, bila tidak, maka seluruh perintah case di bawahnya juga akan dikerjakan
Bila tidak ada pilihan yang sesuai, maka program akan mengerjakan perintah default
Praktikum Seleksi Kondisi 5
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
#include<stdio.h>
#include<conio.h>
void main()
{
int pilihan;
clrscr();
printf(Pilih jangkauan tanggal lahir anda :");
printf([1] 21 Desember 19 Januari);
printf([2] 20 Januari 18 Februari);
.
.
.
printf([12] 23 November 20 Desember);
printf("\nMasukkan pilihan anda : ");
scanf("%d", &pilihan);
switch(pilihan)
{
case(1):
printf(Capricorn); break;
case(2):
printf(Aquarius); break;
.
.
.
case(12):
printf(Sagitarius); break;
default :
printf(Pilihan salah);
}
getch();
}
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
32
Perulangan (Looping)
Pengantar Perulangan
Salah
satu
kelebihan
komputer
dibandingkan
manusia
adalah
kemampuannya untuk melaksanakan suatu perintah secara berulang-ulang tanpa
adanya perasaan lelah dan jenuh. Secara Algoritma, pengulangan suatu perintah
dapat dilakukan berkali-kali sampai tercapainya kondisi penghentian pengulangan.
Pada Awal jaman ilmu komputer berkembang, program-program dibuat asal
jadi dan masih pendek. Untuk mengulang proses dibuat suatu metode lompatan
dengan memanfaatkan perintah GOTO.
Penerapan GOTO
Nama: --perintah--;
--perintah--;
;
;
;
--kondisi--;
GOTO nama;
Praktikum Perulangan 1
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
#include<stdio.h>
#include<conio.h>
void main()
{
int hitung=1;
clrscr();
TULIS:
printf("Saya berjanji tidak nakal lagi\n");
hitung++;
if (hitung<=10)
goto TULIS;
getch();
Dengan kata lain perintah GOTO akan membuat program menjadi tidak terstruktur.
Karena itu Jangan sekali-kali menggunakan perintah GOTO dalam program. Pembahasan
perintah GOTO hanya untuk memperkenalkan teknik pemrograman jaman dahulu dan menjadi
pengetahuan sejarah saja. Untuk menghindari penggunaan perintah GOTO, saat ini telah
disediakan perintah-perintah perulangan yang terstruktur.
Struktur Perulangan
Pada dasarnya, struktur perulangan terdiri dari dua bagian, yaitu
Kondisi Perulangan. Yaitu kondisi atau syarat secara logika yang harus dipenuhi
untuk melaksanakan pengulangan
2.
Badan (body) Pengulangan. Yaitu satu atau lebih perintah yang akan diulang
1.
1.
Selain itu struktur perulangan biasanya dilengkapi dengan dua bagian lain, yaitu
Inisialisasi. Yaitu perintah atau nilai awal suatu kondisi sebelum pengulangan
dikerjakan
33
Gambar 8.4 Diagram Alir (flowchart) perulangan syarat awal dengan perintah for
34
Praktikum Perulangan 2
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
#include<iostream.h>
#include<conio.h>
void main()
{
clrscr();
int ayam, hitung;
cout<<"Masukkan jumlah anak ayam: ";
cin>>ayam;
for(hitung=1;hitung<ayam;hitung++)
{
cout<<"Anak ayam turunlah "<<ayam+1-hitung<<", mati
satu tinggallah"<<ayam-hitung<<endl;
}
cout<<"Anak ayam turunlah 1, mati satu tinggal induknya"
<<endl;
getch();
14.
15.
16.
17.
18.
35
Gambar 8.5 Diagram Alir (flowchart) perulangan syarat awal dengan perintah while
Praktikum Perulangan 3
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
#include<iostream.h>
#include<conio.h>
void main()
{
clrscr();
int ayam, hitung=1;
cout<<"Masukkan jumlah anak ayam: ";
cin>>ayam;
while(hitung<ayam)
{
cout<<"Anak ayam turunlah "<<ayam+1-hitung<<", mati
satu tinggallah "<<ayam-hitung<<endl;
hitung=hitung++;
}
cout<<"Anak ayam turunlah 1, mati satu tinggal induknya"
<<endl;
getch();
14.
15.
16.
17.
18.
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
36
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
Perulangan syarat akhir
Pada perulangan syarat akhir, kondisi atau syarat diberikan setelah perintah yang
akan diulang. Pada Bahasa Pemrograman C/C++ perulangan syarat akhir diaplikasikan dengan
menggunakan perintah do ... while
Perulangan syarat akhir menggunakan perintah do ... while
Penerapan perintah do ... while
--Inisialisasi--;
do
{
--perintah yang akan diulang--;
--terminasi--;
}while(syarat);
37
Gambar 8.6 Diagram Alir (flowchart) perulangan syarat akhir dengan perintah do while
Praktikum Perulangan 4
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
38
#include<iostream.h>
#include<conio.h>
void main()
{
clrscr();
int ayam, hitung=1;
cout<<"Masukkan jumlah anak ayam: ";
cin>>ayam;
do
{
15.
16.
17.
18.
}while(hitung<ayam);
cout<<"Anak ayam turunlah 1, mati satu tinggal induknya"
<<endl;
getch();
}
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
39