PENDAHULUAN
A. LATAR BELAKANG
Variabel dan Type Data serta Branching pada Pascal telah kita pelajarari dan praktekkan.
Maka kita akan mempelajari operator lain pada pascal yaitu tentang Looping
(pengulangan). .Perulangan Merupakan control program yang digunakan untuk suatu proses
yang akan berjalan terus menerus. Kondisi perulangan merupakan proses berjalannya
program secara terus menerus dan akan berhenti ketika proses mendapatkan kondisi yang
sudah ditentukan
B. TUJUAN PRAKTIKUM
1. Mahasiswa dapat mengerti dan memahami kegunaan looping.
2. Mahasiswa dapat mengerti dan memahami bentuk dasar looping.
3. Mahasiswa dapat mengerti dan memahami kapan suatu pernyataan looping sebaiknya
digunakan.
4. Mahasiswa mampu menggunakan dan membedakan kegunaan masing-masing
pernyataan looping.
BAB II
PENYELEKSIAN KONDISI DENGAN IF
2.1.Teori
a. Penyeleksian Satu Kasus, dengan menggunakan struktur IF-THEN:
Pada penyeleksian satu kasus, 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 yang akan
dikerjakan. Statemen endif adalah untuk mempertegas bagian awal dan bagian akhir
struktur IF-THEN.
if kondisi then
aksi
Gambar 2.1. Struktur Bahasa Pemrograman Untuk Penyeleksian Satu Kasus (IF-THEN)
Gambar 2.3. Struktur Bahasa Pemrograman untuk Penyeleksian Tiga Kasus IF-THEN-ELSE
(tersarang)
2.2.Persyaratan penyeleksian kondisi dengan if
a. 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 yang akan dikerjakan
b. Dalam menuliskan pernyataan IF ELSE adalah tidak diperkenankannya
pemakaian tanda titik koma dibelakang pernyataan sebelum ELSE.
c. Pada pernyataan IF ELSE yang mana ”ELSE” artinya ”kalau tidak” maka bila
kondisi bernilai benar, aksi 1akan dikerjakan, tetapi kalau tidak, aksi 2 yang akan
dikerjakan.
d. Kondisi IF harus bernilai boolean
e. Dalam penulisan algoritma, identasi haruslah diperhatikan, karena tanpa
identasi, algoritma menjadi lebih sulit dibaca.
begin
clrscr;
write('masukan nilai A : ');readln(A);
write('masukan nilai B : ');readln(B);
write('masukan nilai C : ');readln(C);
if a > b then maks := a
else maks := b;
if c > maks then maks := c
else maks := maks;
writeln('nilai terbesar adalah : ',maks :1:2);
if maks > 0 then writeln('nilai tersebut adalah bilangan positif')
else writeln('nilai tersebut adalah bilangan negatif') ;
readln;
end.
Contoh program IF dalam bahasa C
#include <stdio.h>
#include <conio.h>
main()
{ long int jam, menit,detik,sisa,totaldetik;
printf("masukan total detik "); scanf("%ld\n", &totaldetik);
{ if (totaldetik > 3600)
jam = totaldetik / 3600 ;
else jam = 0;
sisa = totaldetik % 3600 ;
if (sisa > 60 )
menit = sisa / 60;
else menit = 0;
if (menit >= 1)
detik=sisa % 60;
else detik = 0;
Pada contoh diatas, penyelesaian dimulai dari kondisi a>b. Jika kondisi ini bernilai True
(benar), maka proses akan dilanjutkan hingga menghasilkan pernyataan:
”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 yang
akan dikerjakan”
2. Pembuktian persyaratan B
Satu hal penting yang perlu diperhatikan dalam menuliskan pernyataan IF ELSE adalah
tidak diperkenankannya pemakaian tanda titik koma di belakang pernyataan sebelum ELSE.
Contoh penulisan yang salah:
if a > b then
maks := a;
else
maks := b;
Kesalahannya yaitu pada pada tanda titik koma yang terletak sesudah ”maks:=a”.
Tanda koma pada posisi tersebut tidak diperbolehkan , pesan kesalahan yang muncul pada
persoalan diatas berupa: ”Error 113: Error in statments”.
3. Pembuktian persyaratan C
ELSE” artinya ”kalau tidak” maka bila kondisi bernilai benar, aksi 1 akan dikerjakan,
tetapi kalau tidak, aksi 2 yang akan dikerjakan.
Misalnya pada pernyataan berikut:
if a > b then maks := a
else maks := b;
Jika a lebih besar daripada b maka nilai maksimum adalah a, sebaliknya b lebih besar
daripada a maka nilai maksimum adalah b.
Penjelasan diatas sesuai dengan persyaratan C yaitu:
“Pada pernyataan IF ELSE yang mana ”ELSE” artinya ”kalau tidak” maka bila kondisi
bernilai benar, aksi 1akan dikerjakan, tetapi kalau tidak, aksi 2 yang akan dikerjakan”.
4. Pembuktian persyaratan D
Menganalisis kasus dari suatu masalah adalah menentukan kondisi boolean (bernilai true
atau false) untuk setiap kasus dan menentukan aksi yang dilakukan jika kondisi tersebut
berlaku (memenuhi).
Kondisi boolean adalah ekspresi boolean yang bernilai true atau false bergantung pada
nilai masing-msing oprand yang terlibat didalamnya. Ekspresi boolean dibentuk dengan
mengkombinasikan operand yang bertipe sama dengan salah satu dari operator relasional:
=,<, <, >, >, dan operator uner not.
Contoh dalam program:
if a > b then
Aksi yang dikerjakan bila kondisi boolean dipenuhi dapat berupa pengisian nilai
(assignment), kalkulasi, baca, tulis, dan sebagainya, bergantung pada masalahnya.
Penentuan kondisi boolean dan aksi yang dilakukan bergantung pada jumlah kasus yang
terdapat pada masalah tersebut: satu kasus, dua kasus, atau lebih dari dua kasus.
Pernyataan diatas sesuai dengan persyaratan D yaitu:
“Kondisi IF harus bernilai boolean”
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 itu ia berupa runtunan.
Jika tidak ada satupun kondisi yang benar, maka aksi sesudah otherwise (optional)
dikerjakan.
I. Pada CASE terdapat tanda subjangkauan (berupa..) juga dapat digunakan untuk
menyatakan jangkauan nilai.
II. Bagian ELSE pada CASE bersifat opsional.
III. CASE lebih memberikan kejelasan daripada IF maka semua persoalan yang
dapat ditangani oleh CASE bisa ditangani oleh IF namun tidak sebaliknya.
IV. Pada bentuk CASE, daftar_nilai dapat berupa sederetan nilai yang dipisahkan
oleh koma.
V. Pernyataan CASE merupakan alternatif dari pernyataan IF untuk masalah
dengan pilihan berganda
2.3. Contoh program IF dalam bahasa Pascal dan C
#include <stdio.h>
#include <conio.h>
#include <math.h>
main ()
{
float n ;
float hitung1, hitung2, hitung3;
int pilihan;
switch(pilihan)
{ case 1 : printf("hasilnya adalah :%1.2f",hitung1);
break;
case 2 : printf("hasilnya adalah :%1.2f",hitung2);
break;
case 3 : printf("hasilnya adalah :%1.2f",hitung3);
break;
}
}
program nilai_mutu;
uses crt;
var nilai : integer;
begin
write('masukan nilai : '); readln(nilai);
case nilai of
90..100 : writeln('Grade A');
70..89 : writeln('Grade B');
50..69 : writeln('Grade C');
40..49 : writeln('Grade D');
0..39 : writeln('Grade E');
end;
readln;
end.
2.4. Hal-hal yang membuktikan persyaratan
A. Pembuktian persyaratan CASE bagian I
Pada CASE terdapat tanda subjangkauan (berupa..) juga dapat digunakan untuk
menyatakan jangkauan nilai, misalnya:
case nilai of
90..100 : writeln('Grade A');
70..89 : writeln('Grade B');
50..69 : writeln('Grade C');
40..49 : writeln('Grade D');
0..39 : writeln('Grade E');
program nilai_mutu;
uses crt;
var nilai : integer;
begin
write('masukan nilai : '); readln(nilai);
case nilai of
90..100 : writeln('Grade A');
70..89 : writeln('Grade B');
50..69 : writeln('Grade C');
40..49 : writeln('Grade D');
0..39 : writeln('Grade E');
end;
readln;
end.
Contoh CASE menggunakan ELSE dapat dilihat dalam contoh sebagai berikut:
Uses crt;
Var
Kode_bulan : integer;
BEGIN
Clrscr;
Write ( ‘Kode bulan (1..12) :’ );
Readln (Kode_bulan);
Case Kode_bulan of
1, 3, 5, 7, 8, 10, 12 :
Writeln ( ‘Jumlah hari = 31’ );
4, 6, 9, 11 :
Writeln ( ‘Jumlah hari = 30’ );
2:
Writeln ( ‘Jumlah hari = 28 atau 29’ );
Else
Writeln ( ‘salah memasukkan kode bulan’ )
End;
End.
Pengeksekusian 1:
Pengeksekusian 2 :
Pilihan (1, 2, atau 3) : 2
Pilihan anda adalah 2
Selesai…….
Pengeksekusian 3:
Pilihan (1, 2, atau 3) : 3
Pilihan anda adalah 3
Selesai…….
Pengeksekusian 4:
Pilihan (1, 2, atau 3) : 4
Pilihan Salah !
Selesai…….
Tampak bahwa bila nilai yang dimasukkan berupa 1,2 atau 3 maka akan muncul tulisan :
Pilihan anda adalah ...... (dengan ..... berupa nomor pilihan ). Sedangkan kalau nilai Pil
tidak berisi 1, 2, atau 3, pesan yang muncul adalah adalah :
Pilihan Salah !
Dari sifat diatas dapat kita ketahui bahwa sebenarnya CASE merupakan alternatif lain
dari IF. Tetapi pada kasus seperti diatas, CASE lebih disukai daripada IF, karena lebih
memberikan kejelasan. Sebagai gambaran, berikut ini merupakan bentuk IF yang serupa
dengan CASE diatas.
IF Pil = 1 THEN
Writeln (‘Pilihan Anda adalah 1’)
ELSE
IF Pil = 2 THEN
Writeln (‘Pilihan Anda adalah 2’)
ELSE
IF Pil = 3 THEN
Writeln (‘Pilihan Anda adalah 3’)
ELSE
Writeln (‘Salah Pilih’) ;
Penjelasan diatas menjelaskan persyaratan C yaitu:
“CASE lebih memberikan kejelasan daripada IF maka semua persoalan yang dapat
ditangani oleh CASE bisa ditangani oleh IF namun tidak sebaliknya”.
Uses crt;
Var
Kode_bulan : integer;
BEGIN
Clrscr;
Write ( ‘Kode bulan (1..12) :’ );
Readln (Kode_bulan);
Case Kode_bulan of
1, 3, 5, 7, 8, 10, 12 :
Writeln ( ‘Jumlah hari = 31’ );
4, 6, 9, 11 :
Writeln ( ‘Jumlah hari = 30’ );
2:
Writeln ( ‘Jumlah hari = 28 atau 29’ );
Else
Writeln ( ‘salah memasukkan kode bulan’ )
End;
End.
#include <stdio.h>
#include <conio.h>
#include <math.h>
main ()
{
float n ;
float hitung1, hitung2, hitung3;
int pilihan;
switch(pilihan)
{ case 1 : printf("hasilnya adalah :%1.2f",hitung1);
break;
case 2 : printf("hasilnya adalah :%1.2f",hitung2);
break;
case 3 : printf("hasilnya adalah :%1.2f",hitung3);
break;
}
}