Anda di halaman 1dari 33

KEGIATAN BELAJAR IV

KEGIATAN BELAJAR IV :

PERCABANGAN DAN LOOP

Tujuan Pembelajaran Umum


Setelah mempelajari bab ini, pembaca diharapkan dapat memahami dan
menggunakan: operator relasi, operator logika, pernyataan if(), if-else(),
nested if(), switch-break(), operator kondisi, loop, meliputi: for(), nested
for(), while(), do-while() pernyataan break dan continue.

Tujuan Pembelajaran Khusus


1. Menjelaskan pengertian percabangan bersyarat
2. Menjelaskan definisi operator relasi
3. Menjelaskan definisi operator logika
4. Menjelaskan pengertian pernyataan if(), else-if(), nested if(), switch()-
break dan operator kondisi
5. Menggunakan pernyataan if(), else-if(), nested if(), switch()-break dan
operator kondisi dalam sebuah program dengan benar
6. Menjelaskan pengertian loop
7. Menjelaskan loop menggunakan for() dan nested for()
8. Menjelaskan loop menggunakan while()
9. Menjelaskan loop menggunakan do-while()
10.Menggunakan loop dengan for() dan nested for() dengan benar
11.Menggunakan loop dengan while() dengan benar
12.Menggunakan loop dengan do-while() dengan benar
13.Menjelaskan pengertian break dan continue
14.Menggunakan break dan continue dalam sebuah program dengan benar.

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-1


KEGIATAN BELAJAR IV

Lembar Informasi 4:

PERCABANGAN DAN LOOP

4.1. Percabangan Bersyarat


Percabangan bersyarat digunakan untuk menentukan suatu alternatif dari berbagai
alternatif yang ada dalam suatu program, berdasarkan dengan kondisi atau syarat-syarat
tertentu.

4.1.1. Operator Relasi


Operator relasi digunakan untuk membandingkan nilai dua buah ekspresi aritmatik.
Kedua nilai ekspresi yang dibandingkan dapat : sama, lebih besar, lebih kecil, dan lain-
lain.

Tabel 4.1. Operator Relasi

Operator relasi Arti

< Lebih kecil

> Lebih besar

== Sama dengan

<= Lebih kecil atau sama dengan

>= Lebih besar atau sama dengan

!= Tidak sama dengan

Contoh membandingkan dua ekspresi aritmatika dengan operator sama dengan :


Ekspresi pertama : x+2
Ekspresi kedua : y+6
1. Penulisan pernyataan yang benar  x+2 == y+6
2. Penulisan pernyataan yang salah  x+2 = y+6

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-2


KEGIATAN BELAJAR IV

Pada nomor 1 menunjukkan ekpresi relasional dan di bawah ini diberikan contoh yang
lainnya :
a. a+b <= 75
b. p >= q+20
c. Z != 2*x-20

Untuk (a) bila a=20 & b=30, nilai BENAR = 1


Bila a=100 & b=50, nilai SALAH = 0

4.1.2. Operator Logika


Umumnya digunakan untuk membandingkan dua atau lebih ekspresi logika relasional.

Tabel 4.2. Operator Logika

Operator logika Arti


&& AND
|| OR
! NOT

Tabel 4.3. Tabel Kebenaran Operasi Logika

Operator logika Operasi Hasil


1 && 1 1
&&
1 && 0 0
0 && 1 0
0 && 0 0
1 || 1 1
||
1 || 0 1
0 || 1 1
0 || 0 0
! !1 0
!0 1

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-3


KEGIATAN BELAJAR IV

Contoh :

Tiga ekspresi relasional berikut ini, digabungkan dengan operator logika.

a. x+5 < 10

b. y > x+3

c. z-2 > 3

Menggunakan operator logika AND (&&)

(x+5<10 && y>x+3 && z-2>3)

Untuk x=1, y=5 dan z=10 hasilnya adalah :

x+5<10  benar

y>x+3  benar

z-2>3  benar

jadi (x+5<10 && y>x+3 && z-2>3) adalah benar.

Untuk x=2, y=2 dan z=10 hasilnya adalah :

x+5<10  benar

y>x+3  salah

z-2>3  benar

jadi (x+5<10 && y>x+3 && z-2>3) adalah salah.

4.1.3. Pernyataan if()

Pernyataan if() digunakan untuk membagi dua alur suatu proses sesuai dengan
persyaratan yang diberikan.

 Cabang pertama dijalankan bila syarat dipenuhi

 Cabang kedua dijalankan bila syarat tidak dipenuhi

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-4


KEGIATAN BELAJAR IV

Diagram alir ditunjukkan pada gambar 4.1 :

Gambar 4.1 Diagram alir penyataan if()

Bentuk penulisan :
 satu perintah

if(syarat)

----perintah;

 sekumpulan perintah

if(syarat)
{
----perintah;
----perintah;
----perintah;
}

Contoh program 4.1 :


1. Untuk menghitung jumlah belanja dengan ketentuan akan mendapat potongan
(discount) 10% bila pembelian melebihi atau sama dengan Rp. 100.000,-.

Penyelesaian :

Pertama tentukan input dan output :


Input program  jumlah belanja
Output program  potongan dan jumlah pembayaran

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-5


KEGIATAN BELAJAR IV

Kedua tentukan nama variabel dan tipenya, sebagai berikut :


variabel nama varibel tipe
- jumlah belanja jml_belanja float
- potongan potongan float
- jumlah yang harus dibayar jml_bayar float

Ketiga tulis programnya, yaitu :

/* Contoh program 4.1 */


main()
{
/* Deklarasi variabel */
float jml_belanja, potongan, jml_bayar;
clrscr();

/* Input jumlah belanja */


printf(“\n Besar belanja : Rp. “);
scanf(“%f”, &jml_belanja);

/* Menghitung potongan */
if(jml_belanja>=100000)
potongan=0.1*jml_belanja;

/* Menghitung jumlah pembayaran */


jml_bayar = jml_belanja-potongan;

/* Cetak potongan dan pembayaran */


printf(“\n Potongan : Rp. %10.2f“, potongan);
printf(“\n Jumlah pembayaran : Rp. %10.2f“, jml_bayar);
}

Contoh program 4.2 di bawah ini yang menggunakan sekumpulan perintah.

/*Contoh 4.2*/
/* if dengan sekumpulan perintah */
main()
{
int usia;
clrscr();

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-6


KEGIATAN BELAJAR IV

printf(“\n Berapakah tahunkan usia saudara : “);


scanf(“%d”, &usia);
if (usia>=40)
{
printf(“\n Saudara sudah tua”);
printf(“\n jangan banyak merokok”);
printf(“\n tidak baik bagi kesehatan”);
}
}

4.1.4. Pernyataan if-else

Pernyataan if else merupakan pengembangan dari pernyataan if, dimana kedua


cabangnya mengandung perintah. Diagram alir ditunjukkan pada gambar 4.2.

Gambar 4.2 Diagram alir pernyataan if else

Bentuk penulisan :

 Satu perintah

if(syarat)
----perintah;
else
----perintah;

 Sekumpulan perintah

if(syarat)

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-7


KEGIATAN BELAJAR IV

----perintah;
----perintah;
}
else
{
----perintah;
----perintah;
}

Contoh program :

 Satu perintah

/* Contoh program 4.3 */


main()
{
char jawab;
printf(“\n Saudara mau ikut ? “);
jawab=getche();
if(jawab==’Y’ || jawab=’y’)
printf(“\n Cepat ganti pakaian !”);
else
printf(“\n Tolong jaga rumah”);
}

 Sekelompok perintah
Misalkan untuk menentukan harga dua buah rumah dengan jenis yang berbeda dan
harga tanah yang berbeda pula.
Rumah tipe A, harga tanah Rp. 40000, bangunan Rp. 150000,-
Rumah tipe B, harga tanah Rp. 50000, bangunan Rp. 200000,-

Input program :
- luas tanah
- luas bangunan
- tipe

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-8


KEGIATAN BELAJAR IV

Output program :
- harga tanah
- harga bangunan
- harga total

variabel nama variabel tipe


- luas tanah luas_tnh float
- luas bangunan luas_bng float
- harga satuan tanah harga_sat_tnh float
- harga satuan bangunan harga_sat_bng float
- harga tanah harga_tnh float
- harga bangunan harga_bng float
- harga total harga_total float
- tipe tipe char

/*Contoh program 4.4 */


main()
{
/* Deklarasi variabel */
float luas_tnh, luas_bng, harga_sat_tnh, harga_sat_bng;
float harga_tnh, harga_bng, harga_total;
char tipe;
clrscr();

/* Input luas tanah, bangunan dan tipe */


printf(“\n Luas Tanah : “);
scanf(“%f”, &luas_tnh);
printf(“\n Luas Banguanan : “);
scanf(“%f”, &luas_bng);
printf(“\n Tipe Rumah A atau B : “);
tipe=getche();

/* Pilihan alternatif dengan if else */


if(tipe==’A’ || tipe=’a’)
{

harga_sat_tnh = 40000;
harga_sat_bng = 150000;
}
else

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-9


KEGIATAN BELAJAR IV

{
harga_sat_tnh = 50000;
harga_sat_bng = 200000;

/* Menghitung harga tanah & harga bangunan */


harga_tnh=luas_tnh*harga_sat_tnh;
harga_bng=luas_bng*harga_sat_bng;
harga_total=harga_tnh*harga_bng;

/* Cetak output pada layar */


printf(“\n Harga Tanah : Rp. 12.2f”, harga_tnh);
printf(“\n Harga Bangunan : Rp. 12.2f”, harga_bng);
printf(“\n ---------------------------------------------------------------“);
printf(“\n Harga Total : Rp. 12.2f”, harga_total);
printf(“\n ===========================================”);
}

4.1.5. Nested if

Digunakan untuk masalah-masalah yang memiliki lebih dari dua cabang. Diagram alir
ditunjukkan pada gambar 4.3.

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-10


KEGIATAN BELAJAR IV

Gambar 4.3 Diagram alir pernyataan nested if

Bentuk penulisan :

 Satu perintah

if(syarat)
if(syarat)
----perintah;
else
----perintah;
else
if(syarat)
----perintah;
else
----perintah;

 Sekumpulan perintah

if(syarat)

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-11


KEGIATAN BELAJAR IV

{
----perintah;
----perintah;
if(syarat)
{
----perintah;
----perintah;
}
else
{
----perintah;
----perintah;
}
}
else
{
----perintah;
----perintah;
if(syarat)
{
----perintah;
----perintah;
}
else
{
----perintah;

----perintah;
}
}

Catatan :
1. Tanpa penggunaan kurung kurawal {}, else akan selalu dipasang dengan if
sebelumnya yang terdekat.
2. Bagian-bagian struktur if else dapat dipertegas dengan menggunakan tanda kurung
kurawal {}.

Contoh program 4.5.

PT. Indonesia Raya sebagai perusahaan distribusi berbagai produk rumah tangga,
memberikan intensif kepada para salesmen-nya dengan ketentuan sebagai berikut :

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-12


KEGIATAN BELAJAR IV

1. Salesmen dengan penjualan hingga Rp. 300000,- mendapat uang jasa Rp.
30000,- dan intensif sebesar 5% dari pendapatan.

2. Salesmen dengan penjualan diatas Rp. 300000,- hingga Rp. 500000,- mendapat
uang jasa Rp. 50000,- dan intensif sebesar 10% dari pendapatan.

3. Salesmen dengan penjualan diatas Rp. 500000,- mendapat uang jasa Rp.
60000,- dan intensif sebesar 15% dari pendapatannya.

Buat programnya dengan ketentuan sebagai berikut :


1. Input : - pendapatan
2. Output : - uang jasa
- insentif
- jumlah pendapatan
3. Variabel
variabel untuk : nama variabel tipe variabel
- pendapatan p_dapatan float
- uang jasa jasa float
- insentif insentif float
- jumlah pendapatan jml_pend float

/*Contoh program 4.5*/


/* Contoh penggunaan nested if */

main()
{
/* Deklarasi & inisialisasi variabel */
float p_dapatan, jasa, insentif=0, jml_pend;
clrscr();

/* Input pendapatan */
printf(“\n Pendapatan Salesmen hari ini : Rp. “);
scanf(“%f”, &p_dapatan);

/* Menentukan uang jasa & insentif */


if(p_dapatan>=0 && p_dapatan<=300000)
{
jasa = 30000;
insentif = (5/100)*p_dapatan;
}

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-13


KEGIATAN BELAJAR IV

else
{
if(p_dapatan<=500000)
{
jasa = 50000;
insentif = (10/100)*p_dapatan;
}
else
{
jasa = 60000;
insentif = (15/100)*p_dapatan;
}
}

/* Menghitung jumlah */
jml_pend = jasa + insentif;

/* Mencetak uang jasa & insentif & jumlah */


printf(“\n Uang jasa : Rp. 10.2f”, jasa);
printf(“\n Uang insentif : Rp. 10.2f”, insentif);
printf(“\n Uang pendapatan : Rp. 10.2f”, jml_pend);
getch();
}

/*Contoh program 4.6 */


main()
{
int umur;
clrscr();
printf(“\n Berapakah umur Saudara ? : “);
scanf(“%d”, &umur);
if(umur<50)
if(umur>21)
printf(“\n Saudara sudah dewasa”);
else
printf(“\n Saudara sudah tua !!!!”);
}

/*Contoh program 4.7 */

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-14


KEGIATAN BELAJAR IV

main()
{
int umur;
clrscr();
printf(“\n Berapakah umur Saudara ? : “);
scanf(“%d”, &umur);
if(umur<50)
if(umur>21)
printf(“\n Saudara sudah dewasa”);
else
printf(“\n Saudara masih muda”);
else
printf(“\n Saudara sudah tua !!!!”);
}

4.1.6. Pernyataan else-if

Bentuk dan kegunaan pernyataan else if mirip nested if, tetapi keuntungan penulisan
jadi lebih sederhana. Flowchart ditunjukkan pada gambar 4.4

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-15


KEGIATAN BELAJAR IV

Gambar 4.4 Diagram alir pernyataan else if

Bentuk penulisan :

if(syarat)
{
----perintah;
----perintah;
}
else if(syarat)
{
----perintah;
----perintah;

}
else if(syarat)
{
----perintah;
----perintah;
}
else
{
----perintah;
----perintah;
}

Contoh program 4.8 :

Buatlah program konversi nilai ANGKA menjadi nilai HURUF dengan ketentuan
sebagai berikut :

Nilai Angka Nilai Huruf

<50 E

50-59 D

60-69 C

70-84 B

85-100 A

Input dan output yang diperlukan :

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-16


KEGIATAN BELAJAR IV

1. Input : nilai angka

2. Output : nilai huruf

3. Variabel :

variabel untuk nama variabel tipe variabel

- nilai angka angka float

- nilai huruf huruf char

/* Contoh program 4.8 */


main()
{
float angka;
char huruf;
clrscr();
printf(“\n Masukan nilai angka (0-100) : “);
scanf(“%f”, &angka);
if(angka<50)
huruf = ‘E’;
else if(angka>=50 && angka<60)
huruf = ‘D’;
else if(angka>=60 && angka<70)
huruf = ‘C’;
else if(angka>=70 && angka<85)
huruf = ‘B’;
else
huruf = ‘A’;
printf(“\n Nilai %f dalam huruf = %c”, angka, huruf);
getch();
}

4.1.7. Pernyataan switch dan break

Sifat pernyataan switch dan break mirip dengan else if, tetapi penggunaannya terbatas;
yaitu hanya pada pemeriksaan data jenis karakter atau integer.

Bentuk penulisan :

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-17


KEGIATAN BELAJAR IV

switch(var int atau char)


{
case nilai pertama var:
----perintah;
----perintah;
break;
case nilai kedua var:
----perintah;
----perintah;
break;
case nilai ketiga var:
----perintah;
----perintah;
break;
default:
----perintah;
----perintah;
}

/*Contoh program 4.9 :*/


/* Contoh penggunaan switch dan break */
main()
{
/* Deklarasi & inisialisasi variabel */
int bil;
clrscr();
printf(“\n Ketikan bilangan bulat antara 1 s/d 5”);
scanf(“%d”, &bil);

/* Perintah switch & break */


switch(bil)
{
case 1:
printf(“\n Anda mengetikan angka SATU”);
printf(“\n\n Coba ketikan angka yang lain”);
break;
case 2:
printf(“\n Anda mengetikan angka DUA”);
printf(“\n\n Coba ketikan angka yang lain”);
break;
case 3:
printf(“\n Anda mengetikan angka TIGA”);

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-18


KEGIATAN BELAJAR IV

printf(“\n\n Coba ketikan angka yang lain”);


break;
case 4:
printf(“\n Anda mengetikan angka EMPAT”);
printf(“\n\n Coba ketikan angka yang lain”);
break;
case 5:
printf(“\n Anda mengetikan angka LIMA”);
printf(“\n\n Coba ketikan angka yang lain”);
break;
default:
printf(“\n Anda mengetikan bilangan yang
salah !!”);
}
getch();
}

4.1.8. Operator Kondisi

Operator kondisi digunakan untuk penyederhanaan penulisan program. Contoh di


bawah ini menunjukkan penyederhanaan penulisan program :

if(nilai>=60)
status = “LULUS”;
else
status = “GAGAL”;

Disederhanakan menjadi :
status=nilai>=60 ? “lulus” : “gagal”;

Bentuk penulisan :

nama_var = ekspresi logika atau relasi ? ekspresi1 : ekspresi 2

Catatan :

 nama_var adalah variabel yang akan menerima ekspresi1 atau ekspresi2

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-19


KEGIATAN BELAJAR IV

 ekspresi logika atau relasi adalah ekspresi yang akan memeriksa apakah kondisi
yang ada benar atau salah

- benar bila sesuai dengan syarat

- salah bila tidak sesuai dengan syarat

 ekspresi1 dijalankan bila ekspresi logika atau relasi benar dan bila salah yang
dijalankan ekspresi2

/*Contoh program 4.10 */


/* Menentukan bilangan mutlak */
main()
{
float bil, mutlak;
clrscr();

printf(“\ Masukan sembarang bilangan : “);


scanf(“%f”, &bil);
mutlak=bil>=0 ? bil : -bil;
printf(“\n Nilai mutlak %f adalah %f”, bil, mutlak);
}

Bila menggunakan pernyataan if(), maka programnya menjadi :

/*Contoh program 4.11 :*/


main()
{
float bil, mutlak;
clrscr();
printf(“\ Masukan sembarang bilangan : “);
scanf(“%f”, & bil);
if(bil>=0)
mutlak=bil;
else
mutlak=-bil;
printf(“\n Nilai mutlak %f adalah %f”, bil, mutlak);
}

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-20


KEGIATAN BELAJAR IV

/*Contoh program 4.12 */


/* Menentukan jumlah hari pada bulan tertentu */
main()
{
/* Deklarasi var */
int bulan, tahun, hari;
clrscr();
/* Input bulan dan tahun */
printf(“\n Masukan bulan dan tahun (xx-xxx)”);
scanf(“%d-%d”, &bulan, &tahun);
/* Pilihan dengan if else dan else if */
if(bulan==1)
hari=31;
else if(bulan==2)
{
if(tahun%4==0) /* Tahun kabisat */
hari=29;
else
hari=28;
}
if(bulan==3)
hari=31;
if(bulan==4)
hari=30;
if(bulan==5)
hari=31;
if(bulan==6)
hari=30;
if(bulan==7)
hari=31;
if(bulan==8)
hari=31;
if(bulan==9)
hari=30;
if(bulan==10)
hari=31;
if(bulan==11)
hari=30;
if(bulan==12)
hari=31;
else
printf(“\n\n Anda salah !! \n\n”);
printf(“\n\n Bulan %2d tahun %4d memiliki %d hari”,
bulan, tahun, hari);
}

/* Contoh program 4.13 */

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-21


KEGIATAN BELAJAR IV

main()
{
int bulan, tahun, hari;
clrscr();
/* Deklarasi var */
int bulan, tahun, hari;
clrscr();
/* Input bulan dan tahun */
printf(“\n Masukan bulan dan tahun (xx-xxxx)”);
scanf(“%d-%d”, &bulan, &tahun);
/* Pilihan dengan if else dan else if */
if(bulan<=12)
{
if(bulan<=7)
hari = bulan %2 == 0 ? 30 : 31;
else
hari = bulan %2 == 0 ? 30 : 31;
}
else
printf(“\n\n Anda salah !! \n\n”);
if(bulan==2)
hari = tahun %4 == 0 ? 29 : 28;
printf(“\n\n Bulan %2d tahun %4d memiliki %d hari”,
bulan,
tahun, hari);
}

Jalankan kedua program tersebut dan amati hasilnya.

4.2. Loop

Loop adalah proses pengulangan yang dapat dilakukan dalam sebuah program. Proses
pengulangan dapat diimplementasikan dengan perintah for, nested for, while dan do-
while.

4.2.1. Pengulangan dengan for()

Bentuk penulisan secara umum :

 Satu perintah atau pernyataan

for(inisialisasi;syarat pengulangan;perubah nilai pencacah)

perintah atau pernyataan;

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-22


KEGIATAN BELAJAR IV

 Sekelompok perintah atau pernyataan


for(inisialisasi;syarat pengulangan;perubah nilai pencacah)


{
perintah atau pernyataan;
perintah atau pernyataan;
perintah atau pernyataan;
}

Keterangan :

1. Inisialisasi digunakan untuk memberikan nilai awal, dapat satu atau beberapa
variabel

2. Syarat pengulangan digunakan sebagai pengendali pengulangan

3. Pengubah nilai pencacah digunakan untuk mengubah nilai variabel pencacah

/*Contoh program 4.14 */


/* Mencari jumlah total dari sepuluh bilangan */
main()
{
int bil, total=0;
clrscr();
printf(“\n N Total”);
for(bil=1; bil<=10; bil++)
{
total +=bil;
printf(“\n %d %d”, bil, total);
}
printf(“\n Nilai N setelah keluar loop : %d”, bil);
}

Proses increment dari pencacah dapat dimodifikasi dengan menuliskan program sebagai
berikut :

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-23


KEGIATAN BELAJAR IV

for(bil=1; bil<=10; bil)


{
total +=bil;
printf(“\n %d %d”, bil, total);
}

/*Contoh program 4.15 */


/* Inisialisasi lebih dari satu variabel dari contoh di atas */
/* Mencari jumlah total dari sepuluh bilangan */
main()
int bil, total;
clrscr();
printf(“\n N Total”);
for(bil=1; total=0; bil<=10; bil++)
{
total +=bil;
printf(“\n %d %d”, bil, total);
}
printf(“\n Nilai N setelah keluar loop : %d”, bil);
}

/*Contoh program 4.16 */


/* Mencari nilai rata-rata dari sejumlah bilangan */
main()
{
int i, n;
float bil, rata, total=0;
clrscr();
printf(“\n Jumlah bilangan : “);
scanf(“%d”, &n);
for(i=1; i<=n; i++)
{
printf(“\n bilangan ke %d : “, i);
scanf(“%f”, &bil);
total +=bil;
}
rata=total/n;
printf(“\n Nilai rata-rata bilangan adalah : %f”, rata);
}

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-24


KEGIATAN BELAJAR IV

Catatan : bil pada program diatas dapat diberi nilai lain.

a). Pengulangan for() dengan argumen tidak lengkap

Argumen yang digunakan dalam for tidak perlu selalu lengkap, misalnya tanpa
inisialisasi, syarat pengulangan atau pengubah nilai pencacah. Contoh-contoh
penulisannya sebagai berikut :

for(;syarat pengulangan;pengubah nilai pencacah)

for(;inisialisasi;;pengubah nilai pencacah)

for(inisialisasi;syarat pengulangan;)

for(;syarat pengulangan;)

Catatan :

Walaupun penulisan argumen boleh tidak lengkap, tetapi tanda titik koma (;) tidak
boleh dihilangkan.

/*Contoh program 4.17*/


/* Menghitung jumlah total beberapa bilangan bulat */
main()
{
int bil=1, total=0;
clrscr();
printf(“\n Untuk berhenti masukan angka NOL”);
for(;bil!=0;)
{
printf(“\n Masukan bilangan : “);
scanf(“%d”, &bil);
total +=bil;
}
printf(“\n Total bilangan yang dimasukan : %d”, total);

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-25


KEGIATAN BELAJAR IV

Catatan : bil pada program di atas dapat diberi nilai lain.

b). Pengulangan tak berhingga

Pengulangan tak berhingga dapat diimplementasikan dengan perintah for yang tidak
dilengkapi dengan argumen.

Penulisannya menjadi for(;;);

Di bawah ini diberikan contoh program pengulangan tak berhingga dan untuk keluar
dapat digunakan perintah break.

/*Contoh program 4.18 :*/


/* Pengulangan tak berhingga */
main()
char kar;
clrscr();
printf(“\n Program pengulangan tak berhingga ”);

printf(“\n Pilih satu karakter, sehingga program berhenti “);


for(;;)
{
printf(“\n\n\n Masukan satu karakter : “);
kar=getche();
if(kar==’q’ || kar==’Q’)
{
printf(“\n Ternyata anda benar “);
break;
}
printf(“\n Anda masih salah !!!!”);
printf(“\n Silakan coba lagi.”);
}
}

c). Nested for()

Nested for adalah pernyataan for yang bertingkat atau pernyataan for di dalam for.

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-26


KEGIATAN BELAJAR IV

/*Contoh program 4.19 */


/* Mencetak matriks satuan */
main()
{
int i, j, n, elemen;
clrscr();
printf(“\n Dimensi matriks : “);
scanf(“%d”, &n);
printf(“\n\n”);
for(i=1; i<=n; i++)
{
printf(“\n”);
for(j=1; j<=n; j++)
{
elemen = i == j ? 1 : 0;
printf(“\t %d”, elemen);
}
}
getch();
}

4.2.2. Pengulangan dengan while()

Bentuk pengulangan while mirip dengan pengulangan for tetapi mempunyai bentuk
yang lebih sederhana. Pengulangan dikontrol oleh syarat tertentu, dimana pengulangan
akan terus berlangsung selama syarat tersebut dipenuhi (benar) dan akan dihentikan
bila syarat tidak dipenuhi (salah). Syarat pengulangan dapat berupa ekspresi relasional
atau ekspresi logika.

Bentuk penulisan :
 Satu perintah

while(syarat)
perintah atau pernyataan;

 Sekelompok perintah

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-27


KEGIATAN BELAJAR IV

while(syarat)
{
perintah atau pernyataan;
perintah atau pernyataan;
perintah atau pernyataan;
}

/*Contoh program 4.20 */


/* Mencetak bilangan bulat dari 1 – 10 */
main()
{
int bil1; total=0; /* deklarasi dan inisialisasi */
clrscr();
while(bil<=10)
{
total +=bil;
printf(“\n %d %d”, bil, total);
bil++; /* mengubah nilai pencacah */
}
getch();
}

/*Contoh program 4.21 */


/* Pengulangan tak berhingga */
main()
{
char exit;
clrscr();
printf(“\n Tebak satu huruf yang benar untuk berhenti : “);
while(exit=getche() !=’e’)
{
printf(“\n Anda masih salah “);
printf(“\n Coba huruf yang lainnya “);
printf(“\n Selamat menebak …………………… “);
}
getche();
}

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-28


KEGIATAN BELAJAR IV

Penjelasan :

Pada baris while yang pertama dijalankan exit = getche, berarti variabel exit
akan diisi dengan sebuah karakter, kemudian karakter tersebut akan
dibandingkan dengan e. Selain karakter e akan menghasilkan nilai benar
sehingga program akan diulang, sebaliknya bila diisi e, maka program akan
bernilai salah dan program dihentikan.

4.2.3. Pengulangan dengan do-while()

Pengulangan dengan do while mempunyai syarat pengulangan di akhir loop sedangkan


for dan while syarat tersebut diawali loop.

Bentuk penulisan :

do
{
perintah atau pernyataan;
perintah atau pernyataan;
perintah atau pernyataan;
}
while(syarat);

/*Contoh program 4.22 */


/* Mencetak bilangan bulat dari 1 – 10 */
main()
{
int bil=1, total=0; /* deklarasi dan inisialisasi */
clrscr();
do
{
total +=bil;
printf(“\n %d %d”, bil, total);
bil++; /* mengubah nilai pencacah */
}
while(bil<=10);
getch();
}

Bandingkan hasilnya dengan contoh program 4.20 dan berikan kesimpulan.

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-29


KEGIATAN BELAJAR IV

4.2.4. Pernyataan break dan continue

Pernyataan break digunakan untuk menghentikan program loop dan continue digunakan
untuk mengembalikan proses yang sedang dilaksanakan ke awal loop lagi, tanpa
melaksanakan sisa perintah dalam loop tersebut.

/*Contoh program 4.23*/


/* Menggunakan pernyataan break */
main()
{
int i;
clrscr();
for(i=0; i<=10; i++)
{
if(i==6)
break;
printf(“%5d”, i);
}
printf(“\n Ini adalah akhir program”);
getch();
}

/*Contoh program 4.24 */


/* Menggunakan pernyataan continue */
main()
{
int i;
clrscr();
for(i=0; i<=10; i++)
{
if(i==6)
continue;
printf(“%5d”, i);
}
printf(“\n Ini adalah akhir program”);
getch();
}

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-30


KEGIATAN BELAJAR IV

Lembar Latihan 4 :

1. Jelaskan pengertian percabangan bersyarat dan loop ?


2. Jelaskan definisi operator relasi dan logika ?
3. Jelaskan pengertian dan kegunaan pernyataan if(), if-else(), nested-if(), switch()
dan break ?
4. Jelaskan pengertian dan kegunaan pernyataan for(), nested-for(), while() dan do-
while() ?
5. Buatlah program lengkap untuk operasi pembagian, dengan ketentuan sebagai
berikut:
a). Bilangan terdiri dari dua buah (bil 1 dan bil 2)
b). Kedua bilangan dimasukan melalui keyboard
c). Bila bilangan pembagi = 0, maka proses pembagian tidak dilakukan dan
selanjutnya dilakukan perintah untuk memasukan “pembagi harus tidak sama
dengan 0”

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-31


KEGIATAN BELAJAR IV

d). Bila pembagi tidak sama dengan 0, maka proses pembagian di-laksanakan dan
hasilnya ditampilkan.
Simpan dalam file LAT431.C

6. Buatlah program lengkap untuk operasi penjumlahan, pengurangan, perkalian dan


pembagian (+, - , *, /), dengan ketentuan sebagai berikut:
a). Bilangan terdiri dari dua buah (bil 1 dan bil 2)
b). Program dimulai dengan menampilkan 5 pilihan, sebagai berikut:

OPERASI ARITMATIK
1). Penjumlahan
2). Pengurangan
3). Perkalian
4). Pembagian
5). Keluar

Tentukan pilihan anda (1-5) !

c). Proses baru bisa dimulai bila telah dimasukan angka tertentu (1 s/d 5)

d). Untuk proses pembagian gunakan program nomor 1.

e). Proses pemilihan 1 s/d 5, gunakan pernyataan else-if .


Simpan dalam file LAT432.C

7. Ulangi program nomor 6, dengan memodifikasi proses pemilihan menggunakan


switch-break.
Simpan dalam file LAT433.C

8. Seperti nomor 7, untuk perhitungan masing-masing tiga buah resistor yang


dihubung: serie, paralel, konversi Y-D dan konversi D-Y. Tampilan sebagai
berikut:

RANGKAIAN LISTRIK

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-32


KEGIATAN BELAJAR IV

1). Serie tiga resistor


2). Paralel tiga resistor
3). Konversi Y-D
4). Konversi D-Y
5). Keluar

Tentukan pilihan anda (1-5) !

a). Proses pemilihan 1 s/d 5, gunakan pernyataan else-if .


c). Proses baru bisa dimulai bila telah dimasukan angka tertentu (1 s/d 5)
Simpan dalam file LAT434.C

9. Ulangi program nomor 8, dengan memodifikasi proses pemilihan menggunakan


switch-break. Simpan dalam file LAT435.C

EL 2022 – DASAR PEMOGRAMAN KOMPUTER IV-33

Anda mungkin juga menyukai