Anda di halaman 1dari 13

Bab 8 Bahasa Pemrograman Bahasa C/C++ (lanjutan)

Bahasa Pemrograman
Bahasa C/C++ (Lanjutan)

Standar Kompetensi: 9. Mengenal Bahasa Pemrograman


Kompetensi Dasar :
9.3 Membuat Program untuk Operasi Logika

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

Seleksi Kondisi Satu Kasus

Seleksi Kondisi Satu Kasus memiliki ciri-ciri sebagai berikut


Bila kondisi yang diberikan terpenuhi (bernilai BENAR), maka perintah akan dikerjakan.
Sebaliknya, bila kondisi bernilai salah, maka perintah tidak akan dikerjakan (program
langsung selesai/berlanjut ke baris program selanjutnya).
Dalam pemrograman komputer, bahasa C/C++ diaplikasikan dengan perintah: IF

Menggunakan Perintah IF

Gambar 8.1 Diagram Alir (flowchart) seleksi kondisi satu kasus

Teknologi Informasi & Komunikasi kelas XI SMA Negeri 3 Malang 2006/2007

27

Bab 8 Bahasa Pemrograman Bahasa C/C++ (lanjutan)


Dari diagram alir di atas tampak sebuah kasus pemberian diskon untuk pembelian
lima puluh ribu rupiah ke atas. Dalam kasus ini, yang menjadi kondisi atau syarat adalah 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 yang baru. Namun bila nilai pembelian di bawah 50000, maka nilai yang dikeluarkan
akan tetap (tidak mendapatkan diskon).
Praktikum Seleksi Kondisi 1
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.

#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();

Seleksi Kondisi Dua Kasus

Seleksi Kondisi Dua Kasus memiliki ciri-ciri sebagai berikut


Bila kondisi yang diberikan terpenuhi (bernilai BENAR), maka perintah pertama yang
akan dikerjakan.
Sebaliknya, bila kondisi bernilai salah, maka perintah kedua yang akan dikerjakan.
Dalam pemrograman bahasa C/C++ diaplikasikan dengan perintah: IF ELSE

Menggunakan Perintah IF ELSE

28

Teknologi Informasi & Komunikasi kelas XI SMA Negeri 3 Malang 2006/2007

Bab 8 Bahasa Pemrograman Bahasa C/C++ (lanjutan)


Gambar 8.2 Diagram Alir (flowchart) seleksi kondisi dua kasus

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();

Menggunakan Perintah IF / IF ELSE majemuk


Pada prinsipnya, perintah IF / IF ELSE majemuk tidak berbeda dengan perintah
dasar IF / IF ELSE, bila dalam perintah dasar IF / IF ELSE hanya terdapat satu
pernyataan, maka perintah IF / IF ELSE majemuk mengandung lebih dari satu baris
pernyataan. Pada perintah IF / IF ELSE majemuk, Pernyataan algoritma dalam flowchart
tetap sama. Agar dapat berjalan dengan baik, pernyataan-pernyataan lebih dari satu baris yang
terdapat di dalam IF / IF ELSE harus dibatasi dengan tanda kurung kurawal buka ({) dan
tanda kurung kurawal tutup (}).
Praktikum Seleksi Kondisi 3
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)
{
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);

Teknologi Informasi & Komunikasi kelas XI SMA Negeri 3 Malang 2006/2007

29

Bab 8 Bahasa Pemrograman Bahasa C/C++ (lanjutan)

23.
24.

getch();

Seleksi Kondisi Lebih dari Dua Kasus

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:

Pilihan (1): 21 Desember 19 Januari Capricornus

Pilihan (2): 20 Januari 18 Februari Aquarius

Pilihan (3): 19 Februari 20 Maret Pisces

Pilihan (4): 21 Maret 20 April Aries

Pilihan (5): 21 April 20 Mei Taurus

Pilihan (6): 21 Mei 20 Juni Gemini

Pilihan (7): 21 Juni 20 Juli Cancer

Pilihan (8): 21 Juli 21 Agustus Leo

Pilihan (9): 22 Agustus 22 September Virgo

Pilihan (10): 23 September 23 Oktober Libra

Pilihan (11): 24 Oktober 22 November Scorpio

Pilihan (12): 23 November 20 Desember Sagitarius

Selain pilihan di atas akan menghasilkan tulisan Pilihan Salah

Gambar 8.3 Diagram Alir (flowchart) seleksi kondisi dua kasus

30

Teknologi Informasi & Komunikasi kelas XI SMA Negeri 3 Malang 2006/2007

Bab 8 Bahasa Pemrograman Bahasa C/C++ (lanjutan)

Menggunakan Perintah IFELSE berkalang (Nested IFELSE)


Perintah ini menyatakan adanya seleksi kondisi di dalam seleksi kondisi yang lain. Bila
menggunakan perintah IF, dapat dikatakan terdapat IF di dalam IF.
Proses seleksi dilaksanakan secara bertingkat
Bila kondisi bernilai benar, perintah akan langsung dikerjakan, bila tidak, maka akan
dilakukan seleksi pada kondisi berikutnya, demikian seterusnya sampai seleksi kondisi
yang terakhir
Praktikum Seleksi Kondisi 4
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.
34.
35.
36.
37.

#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();
}

__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________

Teknologi Informasi & Komunikasi kelas XI SMA Negeri 3 Malang 2006/2007

31

Bab 8 Bahasa Pemrograman Bahasa C/C++ (lanjutan)

__________________________________________________________________________________
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

Teknologi Informasi & Komunikasi kelas XI SMA Negeri 3 Malang 2006/2007

Bab 8 Bahasa Pemrograman Bahasa C/C++ (lanjutan)


__________________________________________________________________________________
Kompetensi Dasar :
9.4 Membuat Program dengan Perulangan

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();

Implikasi penggunaan perintah GOTO:


Dengan menggunakan perintah GOTO, kita dapat membuat lompatan; maju, mundur, ke
awal program, ke akhir program
Dapat menimbulkan kesulitan ketika terjadi kesalahan program dan kita harus
melacaknya

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

Teknologi Informasi & Komunikasi kelas XI SMA Negeri 3 Malang 2006/2007

33

Bab 8 Bahasa Pemrograman Bahasa C/C++ (lanjutan)


2.

Terminasi. Yaitu perintah yang dikerjakan setelah pengulangan selesai


dikerjakan
Inisialisasi dan terminasi dapat ditiadakan, namun pada umumnya, kedua bagian ini menjadi
indikator dan syarat dikerjakannya pengulangan
Di dalam algoritma terdapat beberapa macam struktur pengulangan yang berbeda.
Beberapa struktur dapat dipakai untuk sebuah kasus, namun ada kalanya sebuah kasus hanya
dapat dipecahkan pengan penggunaan struktur perulangan tertentu. Pemilihan struktur yang
tepat bergantung pada kasus yang harus diprogramkan serta dapat mempengaruhi kebenaran
algoritma. Secara umum, macam-macam struktur perulangan di dalam Bahasa Pemrograman
C/C++ dapat dibagi menjadi dua bagian, yaitu

Perulangan syarat awal


Menggunakan perintah for
Menggunakan perintah while
Perulangan syarat akhir
Menggunakan perintah dowhile

Perulangan syarat awal


Pada perulangan syarat awal, kondisi atau syarat diberikan sebelum adanya perintah
apa pun yang akan diulang. Pada Bahasa Pemrograman C/C++ perulangan syarat awal
diaplikasikan dengan menggunakan perintah for dan while
Perulangan syarat awal menggunakan perintah for
Penerapan perintah for
for(inisialisasi;syarat;terminasi)
{
--perintah yang akan diulang--;
}

Gambar 8.4 Diagram Alir (flowchart) perulangan syarat awal dengan perintah for

34

Teknologi Informasi & Komunikasi kelas XI SMA Negeri 3 Malang 2006/2007

Bab 8 Bahasa Pemrograman Bahasa C/C++ (lanjutan)

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.

Perulangan syarat awal menggunakan perintah while


Penerapan perintah while
--Inisialisasi--;
while(syarat)
{
--perintah yang akan diulang--;
--terminasi--;
}

Teknologi Informasi & Komunikasi kelas XI SMA Negeri 3 Malang 2006/2007

35

Bab 8 Bahasa Pemrograman Bahasa C/C++ (lanjutan)

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

Teknologi Informasi & Komunikasi kelas XI SMA Negeri 3 Malang 2006/2007

Bab 8 Bahasa Pemrograman Bahasa C/C++ (lanjutan)

__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
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);

Teknologi Informasi & Komunikasi kelas XI SMA Negeri 3 Malang 2006/2007

37

Bab 8 Bahasa Pemrograman Bahasa C/C++ (lanjutan)

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
{

cout<<"Anak ayam turunlah "<<ayam+1-hitung<<", mati


satu tinggallah "<<ayam-hitung<<endl;
hitung=hitung++;

Teknologi Informasi & Komunikasi kelas XI SMA Negeri 3 Malang 2006/2007

Bab 8 Bahasa Pemrograman Bahasa C/C++ (lanjutan)

15.
16.
17.
18.

}while(hitung<ayam);
cout<<"Anak ayam turunlah 1, mati satu tinggal induknya"
<<endl;
getch();
}

__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________

Teknologi Informasi & Komunikasi kelas XI SMA Negeri 3 Malang 2006/2007

39

Anda mungkin juga menyukai