You are on page 1of 40

BAB I

IF
Penyeleksian kondisi adalah penentuan kondisi yang memenuhi dalam penyeleksian.
Penyeleksian kondisi ini hubungannya dengan operasi relasi yang membandingkan antara dua
kondisi. Di dalam Pascal, penyeleksian kondisi menggunakan statement If dan statement Case.

A. STATEMENT IF
If atau jika yaitu penyeleksian dengan menggunakan logika pengandaian. Statement if
mempunyai dua bentuk yaitu If-Then dan If-Then..Else. Seperti dalam looping, statement if juga
mempunyai bentuk tersarang (nested if).
1. persyaratan selection If
 Pernyataan harus bernilai Boolean (False atau true )
 Meentukan aksi yang dilakukan jika kondisi tersebut memenuhi
 Setiap aksi tidak bileh beririsan
 Analisis kasus harus mencangkup semua kemungkinan kasus

Struktur If-Then
Algoritma : Dalam pemrograman Pascal : Dalam pemrograman C :

if kondisi then if kondisi then if (kondisi)

statement 1 statement 1 statement 1;

else else else

statement 2 statement 2; statement 2;

endif (*endif*) /*endif*/

a. Penyeleksian Satu Kasus


Notasi algoritmik untuk analisis penyeleksian satu kasus adalah dengan
menggunakan struktur IF-THEN: IF
CONDIS
I

Benar
AKSI

Page 1
If kondisi then
Aksi
endif
Salah then

Kondisi akan diseleksi oleh statemen if. Bila kondisi bernilai benar (true), maka aksi sesudah
kata then (dapat berupa satu atau lebih aksi) akan diproses. Bila kondisi
bernilai salah (false), maka tidak ada aksi apapun yang akan dikerjakan. Statemen endif adalah untuk
mempertegas bagian awal dan bagian akhir struktur IF THEN.

Contoh: Algoritma menentukan apakah sebuah bilangan bulat merupakan bilangan genap.

Algoritma BILANGAN_GENAP
{ Menentukan apakah sebuah bilangan
bulat benar
bil mod
yang dibaca dari piranti masukan 2=0
merupakan bilangan genap }
DEKLARASI
bil : integer
then
DESKRIPSI :
read(bil)
salah
if bil mod 2 = 0 then
write(‘bilangan genap’) ‘bilangan genap’
Endif

END

Contoh bahasa pemrograman dalam bahasa pascal:


Page 2
Maka apabila di Run akan menghasilkan output sbagai berikur:

2. Struktur If-Then..Else
b. Penyeleksian Dua Kasus
• Notasi algoritmik untuk analisis penyeleksian dua kasus adalah dengan menggunakan struktur IF-
THEN-ELSE:

IF
IF Kondisi Then Kondisi Benar
?
Aksi 1

Else
then
aksi 2
Aksi 1
endif
salah 2
Aksi else

Page 3
Dalam struktur IF-THEN-ELSE, aksi1 akan dilaksanakanjika kondisi bernilai benar (true),
dan jika kondisi bernilai salah (false) maka aksi2 yang akan dilaksanakan. Statemen else
menyatakan ingkaran (negation) dari kondisi.
Contoh: Algoritma menentukan bilangan maksimum (terbesar) dari dua buah bilangan bulat.

benar
Algoritma MAKSIMUM A>
{ Menentukan bilangan terbesar dari dua B
bilangan bulat }
DEKLARASI
salah then
A, B : integer
DESKRIPSI : Nilai terbesar A
read(A,B)
if A > B then
write(‘Bilangan terbesar : ’,A)
else { B A }
write(‘Bilangan terbesar : else
’,B) Nilai terbesar
endif B

END

program MAKSIMUM;
{ Menentukan bilangan terbesar
dari dua bilangan bulat }
(* DEKLARASI *)
var
A, B : integer;
(* DESKRIPSI *)
begin
write(‘Masukkan bilangan A :
‘);readln(A);
write(‘Masukkan bilangan B :
‘);readln(B);
if A > B then
writeln(‘Bilangan terbesar :
’,A)
else
writeln(‘Bilangan terbesar :
’,B);
(*endif*)
end.

Page 4
Contoh bahasa pemrograman dalam pascal:

Apabila di Run akan muncul tampilan output sebagai berikut:

c. Penyeleksian Tiga Kasus atau Lebih (tersarang)

Notasi algoritmik untuk analisis penyeleksian tiga kasus atau lebih (tersarang) adalah tetap
dengan menggunakan struktur IF-THEN-ELSE sebagaimana halnya pada masalah dengan dua
kasus
• Tiga kasus:
If kondisi then If
kondisi
Aksi 1
1
Aksi 1
Else
If kondisi then If Aksi 2
Aksi 2 kondisi
2
Else
Aksi 3
If kondisi then
Aksi 3
Endif
endif

Page 5
program MAKSIMUM;
{ Menentukan bilangan terbesar dari dua
bilangan bulat }
(* DEKLARASI *)
var
A, B : integer;
(* DESKRIPSI *)
begin
write(‘Masukkan bilangan A :‘);readln(A);
write(‘Masukkan bilangan B :‘);readln(B);
if A > B then
writeln(‘Bilangan terbesar : ’,A)
else
writeln(‘Bilangan terbesar : ’,B);
(*endif*)
end.

Contoh bahasa pemrograman dalam pascal:

Apabila di Run maka akan muncul tampilan output sebagai berikut:\

Page 6
d. Empat kasus:
Kondis
Aksi 1
i1
If kondisi then
Aksi 1
else
If kondisi then Kondi Aksi 2
Aksi 2 si2
Else
If kondisi then
Aksi 3
Else Kondi
If kondisi then si3 Aksi 3
Aksi 4
else
endif
Aksi 4
endif
endif

Algoritma INDEKS_NILAI_UJIAN
{ Menentukan indeks nilai mahasiswa berdasarkan nilai
ujiannya }
Contoh:
DEKLARASI Algoritma menentukan indeks nilai ujian mahasiswa:
nilai : real { nilai ujian dalam numerik }
indeks : char { ’A’, ’B’, ’C’, ’D’, ’E’ }
DESKRIPSI :
read(nilai)
if nilai _ 80 then
indeks ‘A’
else
if (nilai _ 70) and (nilai < 80) then
indeks ‘B’
else
if (nilai _ 55) and (nilai < 70) then
indeks ‘C’
else
if (nilai _ 40) and (nilai < 55) then
indeks ‘D’
else { nilai < 40 }
indeks ‘E’
endif Page 7
endif
endif
endif
write(indeks)
program INDEKS_NILAI_UJIAN;
{ Menentukan indeks nilai mahasiswa berdasarkan nilai ujiannya }
(* DEKLARASI *)
var
nilai : real; { nilai ujian dalam numerik }
indeks : char;
(* DESKRIPSI *)
begin
write(‘Masukkan nilai ujian : ‘);readln(nilai);
if nilai >= 80 then
indeks := ‘A’
else
if (nilai >= 70) and (nilai < 80) then
indeks := ‘B’
else
if (nilai >= 55) and (nilai < 70) then
indeks := ‘C’
else
if (nilai _ 40) and (nilai < 55) then
indeks := ‘D’
else { nilai < 40 }
indeks := ‘E’;
(*endif*)
(*endif*)
(*endif*)
(*endif*)
writeln(‘Indeks nilai ujian = ‘,indeks);
end.

Contoh pascal :

Page 8
Apabila di output akan muncul tampilan sebagai berikut:

Penyeleksian Kondisi pada c


Penyeleksian kondisi digunakan untuk mengarahkan perjalanan suatu proses. Penyeleksian
kondisi dapat diibaratkan sebagai katup atau kran yang mengatur jalannya air. Bila katup terbuka
maka air akan mengalir dan sebaliknya bila katup tertutup air tidak akan mengalir atau akan mengalir
melalui
tempat lain. Fungsi penyeleksian kondisi penting artinya dalam penyusunan bahasa C, terutama
untuk program yang kompleks.

1.STRUKTUR KONDISI “IF….”

Page 9
Struktur if dibentuk dari pernyataan if dan sering digunakan untuk menyeleksi suatu kondisi
tunggal. Bila proses yang diseleksi terpenuhi atau bernilai benar, maka pernyataan yang ada di dalam
blok if akan diproses dan dikerjakan. Bentuk umum struktur kondisi if adalah :
if(kondisi)
pernyataan;
Contoh Program 1 :
/* Program struktur kondisi if untuk memeriksa suatu kondisi */
#include “stdio.h”
#include “conio.h”
void main()
{ float nilai;
printf(“Masukan nilai yang didapat : “);
scanf(“%f”, &nilai);
if(nilai > 65)
printf(“\n ANDA LULUS !!!!\n”);
getch(); }
Bila program tersebut dijalankan dan kita memasukan nilai 80, maka perintah mencetak
perkataan LULUS !!!! akan dilaksanakan, namun sebaliknya bila kita memasukan sebuah nilai
yang kurang dari 65 maka program akan berhenti dan tidak dihasilkan apa-apa.

/* Program contoh penerapan struktur kondisi if */


#include"stdio.h"
#include"conio.h"
void main()
{ clrscr();
int a,b,c,max;
printf("Entry bil 1 : ");fflush(stdin);scanf("%i",&a);
printf("Entry bil 2 : ");fflush(stdin);scanf("%i",&b);
printf("Entry bil 3 : ");fflush(stdin);scanf("%i",&c);
if((a>b)&&(a>c))
max=a;
if((b>a)&&(b>c))
max=b;

Page 10
if((c>a)&&(c>b))
max=c;
printf("Bil terbesar : %i\n",max);
if(max>0)
printf("Bil tsb adalah bil positif\n");
if(max<0)
printf("Bil tsb adalah bil negatif");
getch();
}

2 STRUKTUR KONDISI “IF......ELSE….”


Dalam struktur kondisi if.....else minimal terdapat dua pernyataan. Jika kondisi yang
diperiksa bernilai benar atau terpenuhi maka pernyataan pertama yang dilaksanakan dan jika kondisi
yang diperiksa bernilai salah maka pernyataan yang kedua yang dilaksanakan. Bentuk umumnya
adalah sebagai berikut :

if(kondisi)
pernyataan-1
else pernyataan-2

ontoh Program C:
#include “stdio.h”
#include “conio.h”
void main()
{ float nilai;
clrscr();
printf(“Masukan nilai yang didapat : “);
scanf(“%f”, &nilai); /* Masukan akan disimpan dalam variable nilai */
if (nilai > 65)
printf(“\n LULUS !!!\n”);
else
printf(“\n TIDAK LULUS !!!\n”);
getch();

Page 11
}
Bila program tersebut dijalankan dan kita memasukan nilai 80 maka akan dicetak perkataan
“LULUS !!!” namun bila kita memasukan nilai yang kurang dari 65 maka akan tercetak perkataan
“TIDAK LULUS !!!”. Hal ini berbeda dengan struktur if dimana program akan berhenti bila kita
memasukan nilai kurang dari 65.

3 .STRUKTUR KONDISI “SWITCH....CASE....DEFAULT…”


Struktur kondisi switch....case....default digunakan untuk penyeleksian kondisi dengan
kemungkinan yang terjadi cukup banyak. Struktur ini akan melaksanakan salah satu dari beberapa
pernyataan ‘case’ tergantung nilai kondisi yang ada di dalam switch. Selanjutnya proses diteruskan
hingga ditemukan pernyataan ‘break’. Jika tidak ada nilai pada case yang sesuai dengan nilai
kondisi, maka proses akan diteruskan kepada pernyataan yang ada di bawah ‘default’. Bentuk umum
dari struktur kondisi ini adalah :
switch(kondisi)
{
case 1 : pernyataan-1;
break;
case 2 : pernyataan-2;
break;
.....
.....

case n : pernyataan-n;
break;
default : pernyataan-m
}

Translasi ke dalam bahasa C:


Persyaratan If :

 Kondisi if harus bernilai Boolean ( true and false )


 Jika syarat 1 benar maka aksi dijalankan, jika syarat 1 salah maka tidak dapat dijalankan.
 Pertanyaannya harus jelas.
Penjelasaan :

Page 12
Apabila kondisi berniai true atau memenuhi persyaratan maka aksi 1 akan di jalankan tetapi
jika kondisi bernilai false maka aksi 2 tidak di jalankan.

KESIMPULAN
Penggunaan fungsi if di gunakan untuk memecahkan masalah untuk mengambil suatu
keputusan di antara banyaknya masalah yang ada. Tetapi pengunaan if strukturnya lebih
panjang dan rumit di bandingkan dengan struktur case.
Selain itu fungsi if juga bisa di gunakan untuk memecahkan masalah lebih dari satu
dengan menggunakan bentuk if bersusun
DAFTAR PUSTAKA
Suarga,Drs.M.Sc.,M.Math.,Ph.D.algoritma pemrograman.andi yogyakarta.
Murnir, renaldi (2007). Algoritma dan Pemograman. Bandung:informatika Bandung.
Praktikum, team pengelola (2010) modul praktikum.. Garut : STT GARUT.

BAB II
STUKTUR CASE

1. STATEMENT CASE
1. Persyaratan Selection Case:
 Nilai dari ekspresi harus berbeda
 Aksi dari ekspresi harus berupa runtunan
Boleh memakai otherwise yang bersifat optional Perbedaan case dengan if adalah susunan case lebih.
Bentuknya :
CASE ekspresi OF
case_label1 : statement_1;
case_label2 : statement_2;
..
END;
Struktur CASE dapat digunakan untuk menganalisis penyeleksian dua kasus atau lebih

Page 13
dan bentuknya adalah lebih sederhana daripada struktur IF-THEN-ELSE yang memiliki
bentukbertingkat-tingkat.
Kondisi1, kondisi2, …kondisiN dapat bernilai benar atau salah. Tiap kondisi diperiksa nilai
kebenarannya mulai dari kondisi pertama sampai ditemukan kondisi yang benar. Jika kondisi ke-k
benar, maka aksi ke-k dilaksanakan, selanjutnya keluar dari struktur CASE. Aksi yang dipasangkan
dengan kondisi ke-k dapat lebih dari satu, karena ituia berupa runtunan. Jika tidak ada satupun
kondisi yang benar, maka aksi sesudah otherwise (optional) dikerjakan.

Case nama

Kondisi 1 : aksi 1

Kondisi 2 : aksi 2

Kondisi 3 : aksi 3

Kondisi N : aksi N

Bentuk umum instruksi case :

Case(variabel)

Nilai-1 : aksi-1;

Nilai-2 : aksi-2;

Nilai-3 : aksi-3;

............

Default : aksi-n;

Endcase.

Bentuk case di atas dapat di terjemahkan sbagai berikut :

 Dimungkinkan ada n-buah aksi,mulai dari aksi-1 hingga aksi-n.

Page 14
 Setiap aksi hanya di lakukan apabila suatu nilai varibel di capai sesuai persyaratan. Misalnya,
aksi-1 dilakukan hanya bila variabel bernilai nilai-1,aksi-2 di lakukan apabila varibel bernilai
nilai-2, dan seterusnya.
 Apabila tak satu pun nilai varibel yang cocok maka aksi-ndi kerjakan sebagai aksi
“default”(hanya dikerjakan apabila tidak ada yang memenhi syarat).

2. Struktur CASE menggantikan analisis kasus yang ekivalen dengan struktur IF-THEN-
ELSE berikut ini:

Page 15
Contoh program selection CASE :

Algoritma teks : translasi ke dalam pascal

Deklarasi uses crt;

N : integer var

Deskripsi nilai : integer;

Read (masukan nilai :) begin

Case nilai of clrscr;

90 … 100 : write(A) write(‘masukan nilai=’); readln(nilai);

70 … 89 : write(B) case nilai of

50 … 69 : write(C) 90 … 100 : writeln(‘A’);

Page 16
40 … 49 : write(D) 70 … 89 : writeln(‘B’);

0 … 39 : write(E) 50 … 69 : writeln(‘C’);

Endcase 40 … 49 : writeln(‘D’);

0 … 39 : writeln(‘E’);
end;

Readln;

End.

Algoritma teks : progam C :

Deklarasi #include<stdio.h>

#include<math.h>

Hitung1,hitung2,hitung3,N: real; main()

Pilihan : integer; { int pilihan;

Read(masukan pilihan, N) float hitung1,hitung2,hitung3,N;

Hitung1 ( N/6 ) * 4/3 printf(“masukan pilihan:”);

Hitung2 N*N + hitung1 scanf(“%d”, &pilihan);

Hitung3 sqrt(hitung2) + (N-hitung1) printf(“N:”);

scanf(“%f”, &N);

Case pilihan hitung1= (N/6) * 4/3;

1 : write(hitung1) hitung2= N*N + hitung1;

2 : write(hitung2) hitung3= sqrt (hitung2) +(Nhitung1);

3 : write(hitung3) switch(pilihan)

Endcase .

Page 17
End { case 1 : printf(“hasilnyaadalah:%f”,hitung1);

Break;
case 2 : printf(“hasilnya adalah:%f”,hitung2);

Break;
case 3 : printf(“hasilnya adalah:%f”,hitung3);

Break;

}}

Tidak semua bahasa pemrograman menyediakan struktur CASE (misalnya Bahasa Fortran).
Bahasa Pascal dan C menyediakan struktur ini. Jika bahasa pemrograman tidak menyediakan
struktur CASE, maka struktur CASE dapat diganti dengan struktur IF-THEN-ELSE yang ekivalen.

Suatu permasalahan dapat dianalisa berdasarkan jumlah kasus yang dimilikinya, sehingga
nantinya dapat ditentukan aksi apa yang akan dilakukan bila suatu kasus dimasuki Struktur
penyeleksian adalah berupa struktur IF-THEN (atau IF-THEN-ELSE) dan struktur CASE.

KESIMPULAN

Penggunaan case tidak seluas if dan case lebih terbatas penggunaannya,

Karena dalam case tidak berfungsinya operator perbandingan. Dan nilai yang di case kan
harus bertipe integer atau karakter.

DAFTAR PUSTAKA

Suarga,Drs.M.Sc.,M.Math.,Ph.D.algoritma pemrograman.andi yogyakarta.

Murnir, renaldi (2007). Algoritma dan Pemograman. Bandung:informatika Bandung.

Praktikum, team pengelola (2010) modul praktikum.. Garut : STT GARUT.

BAB III

Page 18
LOOPING FOR

1. LOOPING FOR-DO
Looping for-do digunakan untuk mengulang statement berulang kali sejumlah yang
ditentukan. Bila terdapat lebih dari satu statement yang ada di dalam looping maka menggunakan
begin...end;, jika hanya satu blok saja tidak perlu menggunakan begin...end;. Ada 3 bentuk looping
for-do yaitu for-do positif, for-do negatif dan for-do tersarang.
1. Persyaratan FOR-DO
 Pencacah harus bernilai integer atau karakter, tetapi real tidak dapat digunakan
sebagai pencacah
 Aksi dapat berupa satu atau lebih intruksi yang diulang
 Nilai awal harus lebih keil atau sama dengan nilai akhir (for menaik )
 Nilai awal harus lebih besar atau sama dengan nilai akhir (for menurun)
 Penacacah diinisialisasi dengan nilai awal, nilai awal secara otomatis bertambah satu
setiap kali badan pengulangan dimasuki, sampai akhirnya nilai pencacah sama dengan
nilai akhir
 Jumlah pengulangan yang terjadi adalah nilai akhir-nilai awal +1

Bentuk umum pernyataan for ada 2 macam yaitu menaik (ascenfing) atau menurun
(descending).

FOR menaik :

For pencacah nilai_awal to nilai_akhir do

Aksi

Endfor.

Keterangan:

 Pencacah haruslah dari type data yang memiliki predecessor dan successor, yaitu integer atau
karakter.tipe riil tidak dapat digunakan sebagai pencacah.
 Aksi dapat berupa satu atau lebih instruksi yang si ulang.
 Nilai_awal harus lebih kecil atau sama dengan nilai_akhir.jika nilai_awal lebih besar dari
nilai_akhir, maka badan pengulangan tidak dimasuki.

Page 19
 Pada awalnya,pencacah diinisialisasi dengan nilai_awal. Nilai pencacah secara otomatis
bertambah satu setiap kali badan pengulangan dimasuki,sampai akhirnya nilai pencacah sama
dengan nilai_akhir.
 Jumlah pengulangan yang terjadi adalah nilai_akhir-nilai_awal +1.

FOR menurun :

For pencacah nilai_akhir downto nilai_awal do

Aksi

Endfor.

Keterangan :

 Pencacah haruslah dari type data yang memiliki predecessor dan successor, yaitu integer atau
karakter.tipe riil tidak dapat digunakan sebagai pencacah.
 Aksi dapat berupa satu atau lebih instruksi yang si ulang.
 Nilai_akhir harus lebih kecil atau sama dengan nilai_awal.jika nilai_akhir lebih besar dari
nilai_awal, maka badan pengulangan tidak dimasuki.
 Pada awalnya,pencacah diinisialisasi dengan nilai_akhir. Nilai pencacah secara otomatis
bertambah satu setiap kali badan pengulangan dimasuki,sampai akhirnya nilai pencacah sama
dengan nilai_awal Jumlah pengulangan yang terjadi adalah nilai_awal-nilai_akhir +1.

2. Looping For-Do Tersarang (Nested For)


Looping tersarang yaitu looping yang ada di dalam looping lainnya. Looping yang lebih
dalam akan diproses terlebih dahulu hingga habis kemudian looping yang lebih luar bertambah atau
berkurang dan memproses kembali looping yang paling dalam. Untuk lebih jelasnya, perhatikan
listing code program berikut :
Bila dicompile, maka outputnya :
11 12 13
21 22 23
Dengan digit/angka yang kiri adalah I dan yang kanan adalah j. Bagaimana bisa terjadi demikian?!?

Page 20
Looping disamping bisa digambarkan seperti berikut :

Untuk i=1 è Untuk j=1 è write(i,j,’ ‘); = 11


Untuk j=2 è write(i,j,’ ‘); = 12
Untuk j=3 è write(i,j,’ ‘); = 13 writeln;
Untuk i=2 è Untuk j=1 è write(i,j,’ ‘); = 21
Untuk j=2 è write(i,j,’ ‘); = 22
Untuk j=3 è write(i,j,’ ‘); = 23 writeln;

Cara kerja program diatas yaitu cabang looping harus didahulukan operasi loop-nya
kemudian baru sub-nya. Looping tersebut berakhir sampai sub dan cabang bernilai akhir. Sekarang
analisis kedua listing code berikut :

Variabel = niali_awal

true
Variabel<=nilai
_akhir
false
pernyataan Akhir for

Variabel = variabel + 1

Page 21
Keterangan:

 Pencacah haruslah dari tipe data yang memiliki predecesser dan succerror,yaitu
integer atau karakter.tipe riil tidak dapat digunakan sebagai pencacah.
 Aksi dapat berupa satu atau lebih instruksi yang di ulang.
 jumlah pengulangan yang terjadi adalah nilai_akhir – nilai_awal + 1 .

Contoh Soal ;

#include <stdio.h>

main()

int i;

float c, f;

f=32;

for (i=1; i<=5; i++)

c=(f-32)*5/9;

printf("%0.5f %0.5f \n", f, c);

f=f+10;

PASCAL

Page 22
program konversi;

uses crt;

var i : integer;

c,f : real;

begin

clrscr;

f := 32;

for i := 1 to 5 do

begin

c := 5/9 * (f - 32);

writeln (f:2:2 , c:10:2);

f := f+10;

end;

readln;

end.

Page 23
Printscreen

pascal

Page 24
DAFTAR PUSTAKA

Suarga,Drs.M.Sc.,M.Math.,Ph.D.algoritma pemrograman.andi yogyakarta.

Murnir, renaldi (2007). Algoritma dan Pemograman. Bandung:informatika Bandung.

Praktikum, team pengelola (2010) modul praktikum.. Garut : STT GARUT.

Page 25
BAB IV
WHILE

1. PERULANGAN WHILE-DO
. persyaratan Looping While:
 Kondisi harus bernilai false agar prulangan berhenti
 Didalam badan perulangan harus ada intruksi untuk mengubah nilai kondisi
 Peubah harus terdefinisi nilainya sebelum pengulangan dilaksanakanpertama kali
 While digunakan pada kasus yang mengharuskan terlebih dahulu pemeriksaan kondisi objek,
sebelum objek tersebut dimanupulasi

Looping dengan while-do mempunyai bentuk seperi berikut :


while ekspresi_logika/relasi do statement;
Statement while-do digunakan untuk melakukan proses looping suatu statemen terus-menerus
selama ekspresi_logika/relasi bernilai benar atau belum terpenuhi.

Page 26
Ekspresi relasi-nya yaitu i < 5. Jadi jika i masih lebih kecil dari 5 maka statement akan terus
diproses berulang, dan proses akan berhenti setelah i tidak lagi lebih besar dari 5 (i > 5). Maka dari
itu di dalam statement ada i:=i+1; yang akan menambahkan nilai i satu persatu supaya i > 5. Lihat
code berikut yang mebaca input dan mengoperasi-kannya. Kemudian ada penyeleksian input jika
memenuhi akan diulangi jika tidak akan berhenti.

program cel_to_fah; uses wincrt;


var cel,fah:real; lagi:char;
begin
lagi:=’y’;
while lagi=’y’ do
clrscr; {prosedur untuk menghapus layar}
write(‘Nilai celcius ? ‘);
readln(cel);
fah:=1.8 * cel + 32;
writeln(‘Fahrenheit = ‘,fah:5:2);
write(‘Menghitung lagi (y/t) ? ‘);
readln(lagi);
end; end.

Page 27
Di dalam looping while-do juga terdapat while-do tersarang (nested while-do). Dan pada
prinsipnya adalah sama dengan nested for-do. Pemrograman Bahasa C dengan Turbo C

Perullangan pada c
Dalam bahasa C tersedia suatu fasilitas yang digunakan untuk melakukan proses yang
berulangulang
sebanyak keinginan kita. Misalnya saja, bila kita ingin menginput dan mencetak bilangan dari 1
sampai 100 bahkan 1000, tentunya kita akan merasa kesulitan. Namun dengan struktur perulangan
proses, kita tidak perlu menuliskan perintah sampai 100 atau 1000 kali, cukup dengan beberapa
perintah saja. Struktur perulangan dalam bahasa C mempunyai bentuk yang bermacam-macam.

1 STRUKTUR PERULANGAN “ WHILE”


Perulangan WHILE banyak digunakan pada program yang terstruktur. Perulangan ini banyak
digunakan bila jumlah perulangannya belum diketahui. Proses perulangan akan terus berlanjut
selama kondisinya bernilai benar (true) dan akan berhenti bila kondisinya bernilai salah.
Contoh Program 1 :
/* Program Perulangan menggunakan while */
#include “stdio.h”
#include “conio.h”
void main()
{ int x;
x = 1; /* awal variabel */
while (x <= 5) /* Batas akhir perulangan */
{ printf(“%d BAHASA C\n”, x);
x ++; /* variabel x ditambah dengan 1 */
}
getch();
}
Jika program tersebut dijalankan maka akan menghasilkan hasil sebagai berikut
1BAHASA C
2BAHASA C

Page 28
3BAHASA C
4BAHASA C
5BAHASA C

Pada perulangan while di atas, proses atau perintah mencetak kata-kata “BAHASA C” akan
terus dilakukan selama variabel x masih kurang atau sama dengan 10. Setiap kali melakukan
perulangan, nilai dari variabel x akan bertambah 1.
Contoh Program 2 :
/* Program mencetak deret bilangan dengan menggunakan while */
#include"stdio.h"
#include"conio.h"
void main()
{ clrscr();
int i=1,x;
while(i<=3)
{ x=1;
while(x<=i)
{ printf("%3i",x);
x=x+1;
}
printf("\n");
i=i+1;
}
getch();
}

2 STRUKTUR PERULANGAN “DO.....WHILE…”


Pada dasarnya struktur perulangan do....while sama saja dengan struktur while, hanya saja
pada proses perulangan dengan while, seleksi berada di while yang letaknya di atas sementara pada
perulangan do....while, seleksi while berada di bawah batas perulangan. Jadi dengan menggunakan
struktur do…while sekurang-kurangnya akan terjadi satu kali perulangan.

Page 29
Contoh Program :
#include “stdio.h”
#include “conio.h”
void main()
{ int x;
x = 1;
Kuliah Berseri IlmuKomputer.Com
Copyright © 2003 IlmuKomputer.Com
do
{ printf(“%d BAHASA C\n”, x);
x ++;
}
while(x <= 10);
getch(); }

3 STRUKTUR PERULANGAN “FOR”


Struktur perulangan for biasa digunakan untuk mengulang suatu proses yang telah diketahui
jumlah perulangannya. Dari segi penulisannya, struktur perulangan for tampaknya lebih efisien
karena susunannya lebih simpel dan sederhana. Bentuk umum perulangan for adalah sebagai r=t/i;
printf("\n Rata rata : %.2f",r);
getch();
}
Contoh Program 1 :

/* Program perulangan menggunakan for */


#include “stdio.h”
#include “conio.h”
void main()
{ int x;
for(x = 1; x<= 10; x++)
{ printf(“%d BAHASA C\n”, x); }
getch();
}

Page 30
Contoh Program 2 :
/* Mencari total dan rata-rata sejumlah bilangan menggunakan for */
#include"stdio.h"
#include"conio.h"
void main()
{ clrscr();
float r,i,x,t=0;int y;
for(y=1;y<=3;y++)
for(i=0;i<=2;i++)
{ printf("Entry bilangan %i : ",y);scanf("%f",&x);
t=t+x;
y=y+1;
}
printf("\n Total : %.2f",t);
r=t/i;
printf("\n Rata rata : %.2f",r);
getch();
}

Flowchart while

kondisi
false

true

pernyataan

Page 31
Dari diagram di atas terlihat bahwa ada kemungkinan pernyataan tidak dieksekusi sama sekali
.keadaan ini terjadi kalau kondsi awal bernilai false.

Contoh Program

#include <stdio.h>

main()

int i, jumlah;

jumlah=0;

i=1;

while(i<=5)

jumlah=jumlah+2;

printf("jumlah deret ke %d : %d\n",i,jumlah);

i++;

PASCAL

var

i,n,jumlah : integer;

begin

n := 2;

jumlah := 0;

i :=1;

Page 32
while i <= 5 do

begin

jumlah := jumlah + 2;

writeln('jumlah deret ke ', i, ': ' , jumlah);

n := n+2;

i := i+1; end;

readln;

end.

Printscreen

Page 33
PASCAL

Page 34
KESIMPULAN
Aksi akan dilaksanakan berulangkali selama kondisi bernilai true. Jika kondisi bernilai
false, badan pengulangan tidak akan dimasuki, yang berarti pengulangan selesai. Kondisi di
akhir pengulangan (setelah endwhile) disebut loop invariant, yaitu variabel kondisi yang
nilainya sudah tidak berguna lagi.
Yang harus diperhatikan adalah pengulangan harus berhenti. Pengulangan yang tidak
pernah berhenti menandakan bahwa logika algoritma tersebut salah. Pengulangan berhenti
apabila kondisi bernilai falsei. Agar kondisi suatu saat bernilai false, maka di dalam badan
pengulangan harus ada instruksi yang mengubah nilai kondisi.

DAFTAR PUSTAKA

Suarga,Drs.M.Sc.,M.Math.,Ph.D.algoritma pemrograman.andi yogyakarta.

Murnir, renaldi (2007). Algoritma dan Pemograman. Bandung:informatika Bandung.

Praktikum, team pengelola (2010) modul praktikum.. Garut : STT GARUT.

Page 35
BAB V
REPEAT

1. PERULANGAN REPEAT..UNTIL
A. Persyaratan Looping Repeat:
 Pada perulangan kondisi harus bernilai Boolean
 Didalam badan perulangan harus ada intruksi untuk mengubah nilai kondisi
 Peubah harus terdefinisi nilainya sebelumpengulangan dilaksanakan pertama kali
 Repeat di ginakan pada kasus yang terlebih dahulu memanipulasi objek baru, kemudian
memeriksa objek tersebut

B.definisi Repeat..Until
Repeat.. until adalah proses looping suatu statement secara terus menerus hingga ekspresi
yang ada di dalam until bernilai false atau sudah terpenuhi. Dengan kata lain looping repeat..until
prosesnya berkebalikan dengan looping while-do. Bentuknya:
Bentuk pernyataan REPEAT:

REPEAT

Pernyataan_1 :

Pernyataan_2 :

...

Pernyataan_n :

UNTIL kondisi

Penjelasan:

notasi ini menjelaskan pengulangan lpada kondisi boolean.aksi di dalam badan kalang di
ulang-ulang sammpai kondisi bernilai true. dengan kata lain , jika kondisi masih false ,proses
pengulangan masih terus dilakukan .karena proses pengulangan suatu saat harus berhenti. Maka di
dalam badan pengulangan harus ada pernyataan yang mengubah nilai peubah kondisi.

Page 36
Pernyataan REPEAT memiliki makna yang sama sengan WHILE , dan dalam beberapa masalah
kedua pernyataan tersebut komplemen satu sama lain.

pernyataan

false
kondisi true

true

end

Tampak bahwa pengulangan justru dilakukan selama kondisi bernilai salah (false). Jadi
erupakan kebalikan dari WHILE .perbedaaan yang lain terhadap WHILE ,pemeriksaan terhadap
kondisi pada REPEAT dilakukan belakangan ,setelah bagian pernyataan yang terletak antara
REPEAT dan UNT IL.

Repeat statement; until ekspresi_logika/relasi;


Perhatikan contoh berikut :
program repeat_until;
uses wincrt;
var i:byte;
begin
i:=0;
repeat
i:=i+1;
writeln(i);
until i=5;
end.
Page 37
Output yang dihasilkan adalah :
12345

Proses looping akan terus dilakukan hingga ekspresi terpenuhi. Pada contoh, penambahan i
terus dilakukan hingga i=5. Sekarang pada program repeat_until, coba anda ganti ekspresi di dalam
until menjadi i>5. Kemudian anda compile dan apa yang terjadi ??! Coba bandingkan contoh looping
menggunakan repeat..until dengan looping while-do ini!

repeat while
program sample_repeat; program sample_while;
uses wincrt; uses wincrt;
var i:integer; var i:integer;
begin begin
i:= 10; i:= 10;
repeat while i<5 do
writeln(i); begin
i:=i + 1; writeln(i);
until i>5; i:=i+1;
end. end;
end.

Output : Output : Tidak ada hasil


11
Page 38
Dari kedua contoh diatas dapat disimpulkan perbedaan kedua operasi tersebut : Ø Paling
sediki statement di dalam looping repeat diproses sekali, karena pemenuhan syarat until terletak
setelah statement. Sedangkan looping while statement-nya palingsedikit dikerjakan nol kali, karena
pemenuhan syarat while terletak sebelum statement. Ø Looping repeat tidak memerlukan blok
statement (begin..end;) pada statement yang lebih dari satu, karena batasnya sudah ditunjukkan oleh
repeat..until. Sedangkan while memerlukan blok statement (begin..end;) jika statementnya lebih dari
satu.

Didalam looping repeat..until juga terdapat looping tersarang (nested repeat). Sama seperti
nested for dan nested while dalam hal aturan, yaitu di dalam looping terdapat looping yang lain.
Perhatikan code program berikut yang menggunakan nested repeat. Program ini akan menghitung
sisi-sisi segitiga siku-siku dengan menggunakan rumus phytagoras yaitu C = A2 + B2.

Page 39
KESIMPULAN

Aksi di dalam badan kalang diulang-ulang sampai kondisi bernilai true. Dengan kata
lain, jika kondisi masih false, proses pengulangan masih terus dilakukan. Karena proses
pengulangan suatu saat harus berhenti, maka di dalam badan pengulangan harus ada pernyataan
yang mengubah nilai peubah kondisi.

Pernyataan repeat memiliki makna yang sama dengan while, dan dalam beberapa
masalah kedua pernyataan tersebut komplemen satu sama lain.

DAFTAR PUSTAKA

Suarga,Drs.M.Sc.,M.Math.,Ph.D.algoritma pemrograman.andi yogyakarta.

Murnir, renaldi (2007). Algoritma dan Pemograman. Bandung:informatika Bandung.

Praktikum, team pengelola (2010) modul praktikum.. Garut : STT GARUT.

Page 40

You might also like