Anda di halaman 1dari 25

Percabangan dengan Menggunakan Perintah "IF"

Penulisan Perintah Percabangan dengan menggunakan "IF" dalam bahasa pascal


adalah sebagai berikut :
1. Statement IF tunggal
Khasus : Statement yang dikerjakan hanya jika kondisi "IF" terpenuhi
Penulisan Syntax :
if <conditiron> then
<statement>

contoh :
Jika variable "x" berisi lebih dari 50 maka program akan mencetak tulisan "Nilai X
lebih dari 50"
Jadi code program nya adalah sebagai berikut :
program ifKahsus1;
var
x,y :integer;
begin
x:= 60;
(* cek kondisi boolean(benar/salah) menggunakan IF statement *)
if( x > 50 ) then
(* jika kondisi bernilai benar/true maka kerjakan perintah di
bawah ini *)
writeln('Nilai X lebih dari 50' );
writeln('isi dari nilai X adalah : ', x);
readln;
end.

Output dari program di atas adalah :


Nilai X lebih dari 50
isi dari nilai X adalah : 60

Sekarang coba temen - temen ubah nilai dari variable x menjadi 10, apa yang akan
terjadi?
iya, tulisan "Nilai X lebih dari 50" tidak akan ikut tercetak. mengapa?
karena nilai dari variable x tidak lebih dari 50, jadi kondisi IF tidak terpenuhi atau
menghasilkan nilai salah/false sehingga perogram hanya akan mengeksekusi perintah
selanjutnya(di bawah IF)
2. Statement IF THEN ELSE
Khasus : Statement 1 dikarjakan jika variable x lebih dari sama dengan 50, dan
Statement 2 dikerjakan jika variable x kurang dari 50.
Statement 1 => Cetak tulisan "Nilai X lebih dari sama dengan 50"
Statement 2 => Cetak tulisan "Nilai X kurang dari 50"

Untuk menyelesaikan khasus di atas kita memerlukan teman/pasangan setia dari


perintah "IF" hehehe:D yaitu "ELSE"
Penulisan Syntax :
if <condition> then
<statement1>
else
<statement2>

Jadi code program nya adalah sebagai berikut :


program ifKahsus2;
var
x : integer;
begin
x := 100;
if( x >= 50 ) then
(* jika kondisi benar/true maka cetak Statemen 1 di bawah ini *)
writeln('Nilai X lebih dari sama dengan 50' )
else
(* jika kondisi di atas salah/false maka cetak Statement 2
dibawah ini *)
writeln('Nilai X kurang dari 50' );
writeln('isi dari nilai X adalah : ', x);
readln;
end.

Output dari program di atas adalah :


Nilai X lebih dari sama dengan 50
isi dari nilai X adalah : 100

Sekarang coba temen - temen unbah nilai X manjedi 20, yang terjadi adalah :
Nilai X kurang dari 50
isi dari nilai X adalah : 20

Karena kondisi "IF" di atas salaj jadi program akan menjalankan perintah ke 2 yaitu
perintah di bawah statement "ELSE"
3. Statement IF ganda
Khasus :
Statement 1 dikarjakan jika variable x lebih dari sama dengan 90,
Statement 2 dikerjakan jika variable x lebih dari sama dengan 70,
Statement 3 dikerjakan jika variable x lebih dari sama dengan 60,
Statement 4 dikerjakan jika variable x kurang dari 60,
Statement 1 => Cetak tulisan "Nilai anda adalah A"
Statement 2 => Cetak tulisan "Nilai anda adalah B"
Statement 3 => Cetak tulisan "Nilai anda adalah C"
Statement 4 => Cetak tulisan "Nilai anda adalah D"

program ifKahsus3;
var
x : integer;
begin
x := 50;
if( x >= 90 ) then
writeln('Nilai anda adalah
else if (x >= 70 ) then
writeln('Nilai anda adalah
else if (x >= 60) then
writeln('Nilai anda adalah
else
writeln('Nilai anda adalah

A' )
B ')
C')
D' );

writeln('nilai anda : ', x);


readln;
end.

Di article sebelumnya saya kan memberikan latihan tentang penggunaan IF. dan
membahas mengenai Boolean Oprators
Nah,, untuk mengerjakan latihan yang saya berikan kita membutuhkan batuan dari
salah satu boolean operator tersebut, yaitu AND .
kenapa menggunakan AND? dan Bagaimana cara menggunakannya?
Tenang jangan bingung dulu, saya ajan jelaskan bertahap.
kenapa menggunakan AND ? kita membutuhkan operator AND karena data yang kita
bandingkan lebih dari 1. yaitu kita harus membandingkan isi dari text1 dan text2
apakah keduanya sudah memenuhi syarat? sebenarnya tanpa menggunakan operator
AND bisa saja, dengan cara IF bersarang (IF di dalam IF). tapi akan lebih mudah dan
menghemat penulisan syntax.
Seperti yang temen - temen pelajari dalam Matematika logika AND (dan) / OR (atau)
logika benar salahnya sama persis, jika nilai dari kedua perbandingan benar maka
logika AND akan mengembalikan nilai Benar.
masih bingung? sekarang coba temen - temen buka tabel logika pada matematika. dan
kita coba selesaiakan soal latihan yang keamrin saya berikan.
Yang harus kita lakukan adalah membuat program yang mampu membandingkan 2
text dan menampilkan hasil dengan benar. Berikut ini source code nya :

program latihanif;
Uses crt;
var
x, y : string[10];
begin
x := 'Gen';
y := 'Shishio';
if (x = 'Gen') AND
(* jika kondisi
di bawah ini *)
writeln('BENAR!
else
(* jika kondisi
dibawah ini *)
writeln('Salah

(y = 'Shishio') then
dari kedua text benar/true maka cetak Statemen 1
Isi dari variable x dan y adalah Gen Shishio')
di atas salah/false maka cetak Statement 2
! Isi dari varibale x dan y adalah ',x,' ',y );

readln;
end.

Seperti pada script di atas ada 2 variable yang di bandingkan, jika hasil dari
perbandingan kedua variable tersebut benar, maka hasilnya adalah benar, sama kan
seperti di tabel logika. untuk aturan OR dan yang lainya sama persis seperi yang ada
di matematika.
Hasil dari program di atas adalah :
BENAR! Isi dari variable x dan y adalah Gen Shishio

A. Percabangan (Decision Conditional) "CASE" dalam Pascal


Seperti yang saya bilang di bagian atas, penggunaan CASE itu lebih mudah dan
simple, tapi tentu saja memiliki keterbatasan - keterbatasan tertentu. Karena sejatinya
syntax CASE digunakan untuk men-switch suatu hasil yang sudah pasti. jadi CASE
tidak mengenal relational dan boolean operator. artinya CASE tidak dapat melakukan
perbandingan logika tapi hanya membandingkan suatau yang SAMA ( = )
Berikut ini cara penulisan syntax CASE
case (expression) of
L1 : S1;
L2: S2;
...
...
Ln: Sn;
end;

Dimana L1, L2 dst adalah label/nilai pembanding.


Sebagai contoh saya memiliki 5 klasifikasi nilai yaitu A,B,C,D,E dan setiap klasifikasi
nilai memiliki keterangan, saya ingin menampilkan keterangan tersebut, jadi dalam
hal ini yang akan di bandingkan adalah klasifikasi nilai dengan label/nilai. berikut
source nya :
program checkCase;
var
grade: char;
begin
grade := 'A';
case (grade) of
'A' : writeln('Excellent!' );
'B', 'C': writeln('Well done' ); // contoh penggunaan 2 label
sekaligus
'D' : writeln('You passed' );
'F' : writeln('Better try again' );
end;
writeln('Your grade is ', grade );
end.

dan hasilnya seperti di bawah ini :


Excellent!

Mengenal Percabangan (Decision Conditional) "IF"


dalam Pascal
A. Operator Percabangan (Decision Conditional) dalam Bahasa Pemprograman
Pascal
Sebelum temen - teman belajar mengenai Percabangan sebaiknya temen - temen perlu
tahu dulu berbagaimacam operator yang digunakan dalam perintah percabangan
dalam Pascal

1. Relational Operators

contoh : A = 10 dan B = 20
Operator

Deskripsi

Contoh

[SAMA DENGAN] Cek jika isi dari kedua operan dalah sama.

(A = B) is
not true.

<>

[TIDAK SAMA DENGAN] Cek jika isi dari kedua operan dalah tidak sama.

(A <> B)
is true.

>

[LEBIH DARI] Cek jika operan yang berada disebah kiri bernilai lebih tinggi dari
operan di sebelah kanan.

(A > B) is
not true.

<

[KURANG DARI] Cek jika operan yang berada disebah kiri bernilai lebih rendah
dari operan di sebelah kanan.

(A < B) is
true.

>=

[LEBIH DARI SAMA DENGAN] Cek jika operan yang berada disebah kiri bernilai
lebih tinggi atau sama dengan dari operan di sebelah kanan.

(A >= B)
is not
true.

<=

[KURANG DARI SAMADENGAN] Cek jika operan yang berada disebah kiri bernilai (A <= B)
lebih rendah atau samadengan dari operan di sebelah kanan.
is true.

2. Boolean Operators
contoh : A = true dan B = false
Operator

Description

Example
(A and B)
is false.

and

Jika kedua operan bernilai true maka kondisi akan menjadi true

and then

(A and
Mirip dengan operator AND, tapi urutan compiler mengevaluasi ekspresi logis. Kiri
then B) is
ke kanan dan operan yang tepat dievaluasi hanya bila diperlukan
false.

or

Jika kedua operan salah satunya bernilai true maka kondisi akan menjadi true

or else

Mirip dengan operator OR, tapi urutan compiler mengevaluasi ekspresi logis. Kiri (A or else
ke kanan dan operan yang tepat dievaluasi hanya bila diperlukan
B) is true.

not

Digunakan untuk mebalikkan logika operan, Jika kondisi bernilai true


maka Logical NOT mengubahnya menjadi false

(A or B) is
true.

not (A and
B) is true.

B. Percabangan dengan Menggunakan Perintah "IF"


Penulisan Perintah Percabangan dengan menggunakan "IF" dalam bahasa pascal

adalah sebagai berikut :


1. Statement IF tunggal
Khasus : Statement yang dikerjakan hanya jika kondisi "IF" terpenuhi
Penulisan Syntax :
if <conditiron> then
<statement>

contoh :
Jika variable "x" berisi lebih dari 50 maka program akan mencetak tulisan "Nilai X
lebih dari 50"
Jadi code program nya adalah sebagai berikut :
program ifKahsus1;
var
x,y :integer;
begin
x:= 60;
(* cek kondisi boolean(benar/salah) menggunakan IF statement *)
if( x > 50 ) then
(* jika kondisi bernilai benar/true maka kerjakan perintah di
bawah ini *)
writeln('Nilai X lebih dari 50' );
writeln('isi dari nilai X adalah : ', x);
readln;
end.

Output dari program di atas adalah :


Nilai X lebih dari 50
isi dari nilai X adalah : 60

Sekarang coba temen - temen ubah nilai dari variable x menjadi 10, apa yang akan
terjadi?
iya, tulisan "Nilai X lebih dari 50" tidak akan ikut tercetak. mengapa?
karena nilai dari variable x tidak lebih dari 50, jadi kondisi IF tidak terpenuhi atau
menghasilkan nilai salah/false sehingga perogram hanya akan mengeksekusi perintah
selanjutnya(di bawah IF)
2. Statement IF THEN ELSE
Khasus : Statement 1 dikarjakan jika variable x lebih dari sama dengan 50, dan

Statement 2 dikerjakan jika variable x kurang dari 50.


Statement 1 => Cetak tulisan "Nilai X lebih dari sama dengan 50"
Statement 2 => Cetak tulisan "Nilai X kurang dari 50"
Untuk menyelesaikan khasus di atas kita memerlukan teman/pasangan setia dari
perintah "IF" hehehe:D yaitu "ELSE"
Penulisan Syntax :
if <condition> then
<statement1>
else
<statement2>

Jadi code program nya adalah sebagai berikut :


program ifKahsus2;
var
x : integer;
begin
x := 100;
if( x >= 50 ) then
(* jika kondisi benar/true maka cetak Statemen 1 di bawah ini *)
writeln('Nilai X lebih dari sama dengan 50' )
else
(* jika kondisi di atas salah/false maka cetak Statement 2
dibawah ini *)
writeln('Nilai X kurang dari 50' );
writeln('isi dari nilai X adalah : ', x);
readln;
end.

Output dari program di atas adalah :


Nilai X lebih dari sama dengan 50
isi dari nilai X adalah : 100

Sekarang coba temen - temen unbah nilai X manjedi 20, yang terjadi adalah :
Nilai X kurang dari 50
isi dari nilai X adalah : 20

Karena kondisi "IF" di atas salaj jadi program akan menjalankan perintah ke 2 yaitu
perintah di bawah statement "ELSE"
3. Statement IF ganda
Khasus :
Statement 1 dikarjakan jika variable x lebih dari sama dengan 90,

Statement 2 dikerjakan jika variable x lebih dari sama dengan 70,


Statement 3 dikerjakan jika variable x lebih dari sama dengan 60,
Statement 4 dikerjakan jika variable x kurang dari 60,
Statement 1 => Cetak tulisan "Nilai anda adalah A"
Statement 2 => Cetak tulisan "Nilai anda adalah B"
Statement 3 => Cetak tulisan "Nilai anda adalah C"
Statement 4 => Cetak tulisan "Nilai anda adalah D"
program ifKahsus3;
var
x : integer;
begin
x := 50;
if( x >= 90 ) then
writeln('Nilai anda adalah
else if (x >= 70 ) then
writeln('Nilai anda adalah
else if (x >= 60) then
writeln('Nilai anda adalah
else
writeln('Nilai anda adalah

A' )
B ')
C')
D' );

writeln('nilai anda : ', x);


readln;
end.

Memahami Type Data Variable pada Pascal


Pada contoh 1 (luas persegi)
Program LuasPersegiPanjang;
Uses crt;
Var
Luas,p,l : integer; //Menggunakan Type data INTEGER
Begin
clrscr;
p := 50;
//mengisi variabel p
l := 100;
//mengisi variabel l
Luas := p * l; //perhitungan luas disimpan pada variable Luas
Write('Luas Persegi Panjangnya adalah : ',Luas); //mencetak hasil nya
Readln();
End.

Saya menggunakan type data integer karena data angka yang akan di proses adalah

bilangan bulat (positif/negatif)


Sebenarnya jika kita menggunakan type data real itu bisa saja, akan tetapi akan terjadi
pemborosan ruang memory dan lebih menyulitkan kita utnuk melakukan pembatasan
tampilan bilangan di belakan koma padahal sudah jelas nilai nya 0 (useless script)
Berbeda dengan contoh 1, pada contoh 2 (keliling lingkaran)
Program KelilingLingkaran;
Uses crt;
Var
K, r : real; // Menggunakan Type Data REAL
Const
PHI = 3.14;
Begin
clrscr;
r := 7.0; // mengisi variable r
K := 2 * PHI * r; //perhitungan keliling lingkaran
Write('Keliling lingkaranya : ',K:3:2); //mencetak variable real K,
//var:digit-depan:digit-belakang
// syntax untuk pembatasan digit angka
// K:3:2 = variabel K, 3 digit didepan titik dan
// 2 digit dibelakang titik
Readln;
End.

Saya menggunakan real karena perhitungan kita memerlukan bilangan pecahan.


Coba temen-temen ubah type data variable pada script keliling lingkaran dengan
menggunakan integer, apa yang akan terjadi?
Masih ada hubungannya dengan Type data, Variable dan Operator.
Pada pertanyaan yang saya buat sebelumnya kita akan memanipulsai kata, jadi kita
gunakan Type data STRING .
Gimana sih caranya?
Berkut ini salah satu cara untuk menyatukan kata dalam Bahasa Pemprograman
Pascal :
Program ManipulasiText;
Uses crt;
Var
text1, text2 : string;
Begin
clrscr;

text1 := 'Fujisaki';
text2 := 'Yuusuke';
Writeln('Nama Saya : ',text1,' ',text2);
readln;
End.

Dan hasilnya adalah :


Nama Saya : Fujisaki Yuusuke

Nah sekarang selain menggabungkan 2 kata , kita juga bisa memanipulasi kata-kata
tersebut, seperti menghitung jumlah hurufnya dan mengcopy isi dari variable yang
kita buat.
Berikut ini dalah contoh script nya :
program ManipulasiString2;
uses sysutils,crt;
var
text1, text2, text3 : ansistring;
text4, text5: string;
len: integer;
begin
clrscr;
text1 := 'Halo ';
text2 := 'Dunia!';
(* copy text1 ke text3 *)
text3 := text1;
writeln('appendstr( text3, text1) :

', text3 );

(* menyatukan text1 dan text2 *)


appendstr( text1, text2);
writeln( 'appendstr( text1, text2) ' , text1 );
text4 := text1 + text2;
writeln('Sekarang text4 berisi: ', text4);
(* menghitung jumlah huruf(lengh) text5 *)
text5 := 'hitung saya';
len := byte(text5[0]);
writeln('jumlah huruf text5 adalah: ', len);
readln;
end.

Dan hasilnya adalah :


appendstr( text3, text1) : Halo
appendstr( text1, text2) Halo Duni
Sekarang text4 berisi: Halo Dunia!

jumlah huruf text5 adalah: 11

Type Data, Variable dan Constant pada Pascal


A. Type Data pada Bahasa Pemprograman Pascal.
Tipe data sederhana / Jenis data yang standar (Dasar) Pada pascal adalah sebagai
berikut :
1. Integer
2. Real
3. String
4. Boolean
Apa perbedaan dan kegunaannya?
1. interger
Integer adalah type data yang digunakan untuk perhitungan bilangan bulat. Jenis data
ini merupakan nilai bilangan bulat, yang terdiri atas integer positif, integer negatif
dan nol.
2. real
Mirip dengan integer, tapi real adalah type data yang digunakan untuk menangani
bilangan pecahan dalam bentuk desimal. owh iya dalam pemprograman pascal untuk
membedakan bilangan bulat dan pecahan adalah dengan menggunakan tanda " . "
(titik).
Operator dari kedua type data di atas adalah :
a. + (tambah/penjumlahan)
b. - (kurang/pengurangan)
c. * (bintang untuk perkalian)
d. DIV (divide/pembagian bilangan genap)
e. MOD (modulus untuk medapatkan sisa hasil pembagian)
f. / (garis miring untuk pembagian bilangan pecahan::Khusus Real)
3. string
Berbeda dengan type data di atas, type data String digunakan untuk menangani huruf,
angka dan character, dan tentunya tidak dapat digunakan untuk perhitungan,
mealinkan digunakan untuk mengolah kata-kata.
4. boolean
Boolean adalah type data yang istimewa, fungsi dari type data ini adalah untuk

menampung hasil pernyataan logika (true/false). Ingat hanya berisi true dan false.
Seiring dengan belajar membuat sebuah program temen-temen pasti nati tau kegunaan
dari type data ini.
B. Variable / Variabel.
Yups, benar sekali seperti di matematika, variable adalah sebuah nama yang diberikan
untuk sebuah tempat penyimpanan nilai.
Seperti apa sih variable dalam bahasa permprograman Pascal?
yuk, kita mulai praktik nya aja.
disini saya akan memberiakn contoh program untuk menghitung luas suatu persegi
panjang.
Temen-temen pasti tau kan rumus luas persegi panjang? yups, rumusnya adalah
L = p x l dengan keterangan L : Luas, p : Panjang , l : Lebar
Dan bagaimana menulisnya dalam bahasa pascal? temen-temen masih ingat kan
struktur penulisan program dalam pascal ? Varibale di deklarasikan di bawah word
key var
Berikut sourcode lengkapnya :
Program LuasPersegiPanjang;
Uses crt;
Var
Luas,p,l : integer; //mendeklarasikan variabel
Begin
clrscr;
p := 50;
//mengisi variabel p
l := 100;
//mengisi variabel l
Luas := p * l; //perhitungan luas disimpan pada variable Luas
Write('Luas Persegi Panjangnya adalah : ',Luas); //mencetak hasil nya
Readln();
End.

Setelah disimpan kemudain Run/jalankan programannya tekan ctrl + F9


C. Constants / Konstanta

Iya, sama seperti di matematika, kostanta adalah suatu bentuk variable yang memiliki
nilai tetap dan tidak dapat diubah-ubah.
Berikut contoh programnya :
Menghitung keliling sebuah lingkaran, rumus K = 2 x phi x r , dengan Phi sebagai
constanta (nilainya tidak berubah). maka deklarasikan PHI di bawah word key const
Program KelilingLingkaran;
Uses crt;
Var
K, r : real;
Const
PHI = 3.14;
Begin
clrscr;
r := 7.0; // mengisi variable r
K := 2 * PHI * r; //perhitungan keliling lingkaran
Write('Keliling lingkaranya : ',K:3:2); //mencetak variable real K,
//var:digit-depan:digit-belakang
// syntax untuk pembatasan digit angka
// K:3:2 = variabel K, 3 digit didepan titik dan
// 2 digit dibelakang titik
Readln;
End.

A. INSTALL IDE (compailer dan editor) FreePascal.


Pertama tama kita perlu instal IDE untuk Pascal, pada tutorial ini saya menggunakan
IDE yang dikembangkan oleh komunitas FreePascal, temen-temen bisa download IDE
nya di (download link).
Kenapa saya menggunakan IDE tersebut?
Karena sebagian besar Sekolah dan Perguruan tinggi familiar menggunakan IDE
sepeti Turbo Pascal dan TPW (turbo pascal for windows) sebagai mendia
pembelajaran, tapi kedua IDE tersebut sudah tidak di kembangkan lagi, selain itu IDE
tersebut hanya dapat berjalan pada Paltforms WinXP kebawah,
sedangkan jaman sekarang ini sudah banyak yang menggunakn Win7, MacOS dan
Linux.
1. Karena Sistem Oprasi komputer saya Win7 32 bit maka saya download Intel/i386

-> Win32
2. Double click file masternya (fpc-2.6.2.i386-win32.exe)
ikuti langkah di bawah ini :
B. First Program : Hello World
1. Tentunya buka IDE yang barusaja temen-temen install kalau install nya default
maka akan muncul di :
Jika temen-temen mengubah folder install nya cukup menyesuaikan path untuk
mencari file binary nya.
contoh : <lokasi-folder-dimana-anda-install>\FPC\2.6.2\bin\i386-win32
2. Membuat file baru (klik file -> new) seperti pada gambar :
3. Sebelum mulai menulis code, kita sebaiknya mengerti terlebih dahulu struktur code
dalam penulisan bahasa Pascal
Struktur code bahasa dalam pemprograman pascal :
program //{ nama program }
uses //{ deklarasi library}
const //{ blok deklarasi global constant }
var //{ blok deklarasi global variable}
begin //{ blok starts program utama }
//{ blok statement program }
end. //{ akhir dari blok program utama }

4. Mulai menulis syntax code pascal "HELLO WORLD"


Kita tidak perlu menulis semua struktur code yang di atas. Hanya yang diperlukan
saja.
owh iya, Pascal merupakan bahasa pemprograman yang tidak mengenal case
sensitive. Jadi teman-teman maumenulis dengan huruf besar semua atau huruf kecil
semua, tidak ada masalah :)
contoh :
Karena kita akan membuat program hello world maka kita tidak memerlukan
deklarasi constanta dan variable, jadi kita hanya perlu menulis code seperti yang di
bawah ini:
Program HelloWorld;
Uses crt;
Begin
writeln('Hello, world!');
readln;
End.

5. Menyimpan source code


Klik file -> save, atau tekan F2, maka akan muncul kotak dialog seperti di bawah ini:
ketik nama file, contoh: hello.pas (.pas adalah extention untuk source code pascal)
6. Compile and Run the Programs
Setelah menyimpan kemudian kita akan mengeksekusi / run program yang kita buat.
caranya
klik Compile -> Compile, atau tekan alt+F9
Jika tidak ada error maka akan tampil seperti ini:
dan program kita pun berjalan seperti:
Jika merasa risih dengan code yang aneh di atas program yang kita buat, temen temen dapat menambahkan syntax :
clrscr; di bawah begin , seperti pada gambar :

kemudian, kita compile dan Run kembali, dan hasilnya

horee.....
Aplikasi pertama kita sudah jadi...!! :))
Cukup Mudah kan? seperti menulis dalam bahasa inggris.. Tidak ada code - code yang
aneh :D
Sekarang temen-temen sudah mengenal dasar dalam pemprograman Pascal,
selanjutanya kita akan membahas mengenai tipe data/variable, operator dll.
Jadi nantikan yah pos saya selanjutnya :)
Semoga posting saya dapat bermanfaat untuk teman-teman dalam mempelajari dunia
pemprograman komputer :)
Sampai jumpa di post selanjutnya.. :)

Perulangan (Looping) dengan "WHILE-DO" dan


"REPEAT-UNTIL" dalam Pascal.

Halo temen-temen, gimana kabarnya?


Meskipun negara kita lagi galau gara-gara rencana kenaikan BBM, kita tetap harus
semangat dalam belajar. hehe
Ngomongi belajar, gimana tentang materi sebelumnya? setelah banyak latihan pasti
temen-temen sudah tambah mahir kan? hehe
Kalau materi yang sebelumnya sudah mahir, materi kali ini pasti kecil bagi tementemen. karena memang lebih mudah hanya perlu sedikit catatan saja, hehe
Yups, kali ini kita akan belajar Perulangan dalam Bahasa Pascal menggunakan thenik
WHILE dan REPEAT.
Lets Code!!...
A. WHILE DO
while (condition) do (statement);

Algoritma dalam pengeksekusian scriptnya adalah sebagai berikut:


- Kondisi di cek terlebih dahulu (WHILE)
- Jika kondisi terpenuhi maka kerjakan statement (DO)
Contoh kasus:
Contoh1 : Saya ingin menampilkan bilangan genap mulai dari 10 hingga 20
Script lengkapnya :
program contoh1;
var
x: integer;
begin
x := 10; // nilai awal x
while x <= 20 do // pengecekan while apakah x <= 20, jika iya
kerjakan statment di bawah :
begin
if (x mod 2) = 0 then // pengecekan sisa hasil bagi 2, jika 0
maka genap
write(x,' ');
x := x + 1; // counter pertamnbahan x
end;
readln;
end

Hasilnya :
10 12 14 16 18 20

B. REPEAT UNTIL
repeat
(steatement1);
(steatement2);
...
...
(steatementN);
until (condition);

Algoritma dalam pengeksekusian scriptnya adalah berkebalikan dengan WHILE-DO,


yaitu sebagai berikut:
- Kerjakan statement (REPEAT)
- Kemudian cek kondisi. Jika kondisi belum terpenuhi maka kerjakan statement di
atas hingga kondisi terpenuhi (UNTIL)
Jadi statement akan terus di REPEAT (diulang-dikerjakan) UNTIL (hingga) kondisi
terpenuhi, dan perulangan berakhir.
Contoh kasus:
Contoh2 : Saya ingin menampilkan bilangan ganjil mulai dari 1 hingga 19
program contoh2;
var
a: integer;
begin
a := 1;
repeat // ulang-kerjakan
if (a mod 2) = 1 then // pengecekan sisa hasil pembagian 2, jika
1 bilangan genap
write(a,' ');
a := a + 1
until a = 20; // pembatasan repeat
end.

Hasilnya :
1 3 5 7 9 11 13 15 17 19

DONE!! gimana mudah kan? , yups, menggunakan WHILE-DO dan REPEAT-UNTIL


memang lebih mudah.
TAPI ada yang perlu di ingat, yaitu pembatasan looping, pastikan algoritma
pembatasan loopingnya benar, agar tidak terjadi infinite loop (atau disebut juga
endless loop atau unproductive loop) yaitu perulangan yang tidak terbatas karena
kondisi tidak mungkin terpenuhi.

contoh :
program infinitieloop;
var
a: integer;
begin
a := 2;
repeat
write(a,' ');
a := 2
until a = 3;
end.

Program tersebut akan terus berulang dan tidak selesi karena nilai variable a tidak
mungkin akan sama dengan 3.

Cara Menggunakan Perulangan "FOR/WHILE/DO


WHILE" Pada Pemrograman C
Artikel PintarCoding.com kali ini akan membahas tentang cara penggunaan perintah
for dalam bahasa pemrograman C. Kali ini kita akan sama-sama belajar bahasa
pemrograman C untuk menyelesaikan faktorial dan bilangan pangkat dengan
menggunkan perulangan.
Oke apa itu perulangan, ya tentu perulangan adalah suatu hal yang dilakukan
berulang-ulang... :) ada beberapa syntax yang digunakan pada bahasa pemrogaman C
untuk melakukan suatu perulangan, antara lain:

for

while

do, while
Mari kita lihat cara penggunaan dan karakter dari ketiga perintah tersebut.

Perintah FOR
Berikut potongan perintah, untuk mencetak angka 1 sampai 10 menggunakan
perintahFOR :
for (i = 1; i <= 10; i = i + 1) {
printf("%d", i);
}

Didalam tanda kurung setelah for terdapat suatu perintah yang jika dipecah dengan
tanda titik koma akan terbagi menjadi tiga

i = 1, ini merupakan inisialisasi awal dari nilai i,

i <= 10, merupakan kondisi dari nilai i agar perulangan dapat dijalankan, dalam
hal ini i harus kurang dari atau samadengan 10, jika tidak maka perulangan berhenti,

i = i + 1, perintah ini digunakan untuk penambahan 1 pada variable i.


Sehingga tiga perintah tersebut diurutkan menjadi insialisasi, kondisi,
penambahan/pengurangan

Perintah WHILE
Berikut potongan perintah penulisan while, dalam kasus yang sama dengan
perintah FORyaitu mencetak 1 sampai 10 :
int i = 1;
while (i <= 10) {
printf("%d", i);
i = i + 1;
}

Isi dari tanda kurung perintah WHILE disini hanya berisi kondisi, sedangkan
inisialisasi dari i dilakukan sebelumnya, dan penambahan nilai i dilakukan didalam
blok perulangan (didalam kurung kurawal). perintah tersebut akan melakukan hal
yang sama dengan perintah FOR sebelumnya.
Perintah DO, WHILE
Untuk perintah DO WHILE sendiri penulisannya seperti berikut :
int i = 1;
do {
printf("%d", i);
i = i + 1;
} while(i <= 10);

Potongan perintah tersebut juga akan menjalankan hal yang sama dengan
perintahWHILE dan FOR sebelumnya, namun perbedaannya pengecekan kondisinya
pada DO, WHILE dilakukan diakhir, sedangkan untuk FOR dan WHILE dilakukan
di
awal,
sehingga
jika
i
diinisialisasikan
bernilai
11,
pada
perintah FOR dan WHILE tidak
akan
dijalankan
sedangkan
dengan DO,
WHILE akan dijalankan 1 kali untuk mencetak nilai 11. mana yang terbaik tentu
tergantung dari kasus yang akan dipecahkan. :)
Oke bagaimana dengan bilangan pangkat dan faktorial, mari kita pecahkan bersamasama,
Misal untuk 2 pangkat 3. cara penulisan dengan menggunakan perintah FOR adalah
sebagai berikut :
#include <stdio.h>

int main() {
int nilai = 2;
int pangkat = 3;
int i;
int total = 1;
for (i = 1; i <= pangkat; i++) {
total = total * nilai;
}
printf("%d pangkat %d = %d\n", nilai, pangkat, total);
return 0;
}

Pada baris perintah diatas jika dijalankan akan mencetak 2 pangkat 3 = 8,


perkalian yang terjadi adalah 1 * 2 * 2 * 2 = 8,
bagaimana dengan faktorial contoh 3 faktorial (3!) = 1 * 2 * 3 = 6, berikut cara
penulisan dengan menggunakan perintah FOR
#include <stdio.h>

int main() {
int faktorial = 3;
int i;
int total = 1;
for (i = 1; i <= faktorial; i++) {
total = total * i;
}
printf("%d! = %d\n", faktorial, total);
}

return 0;

Bagaimana dengan penggunaan WHILE dan DO WHILE pada faktorial dan


pangkat, bisa teman-teman explorasi sendiri, akan dibahas dilain kesempatan jika ada
waktu. minggu depan artikel tentang belajar bahasa pemrograman C akan membahas
tentang Array, so stay tune. :)

Mengenal Array dalam Bahasa Pemprograman


Pascal
Yah,, seperti judulnya, kali ini kita akan belajar mengenai penggunaan Array di dalam
bahasa Pemprograman Pascal.
Sebelumnya temen-temen pernah denger apa itu array?

Bahasa pemrograman Pascal menyediakan struktur data yang disebut Array,


yang dapat menyimpan data secara sekuensial dengan ukuran yang sudah ditetapkan
dan setiap elemen memiliki type data yang sama.
Sebuah array digunakan untuk menyimpan koleksi data, tetapi lebih sering
dianalogikan sebagai sebuah kumpulan variabel dari jenis yang sama.
Intinya array adalah suatu struktur data variable yang dapat menampung lebih dari 1
nilai. tentunya dengan type data yang sama.
Penasaran Baimana membuat Array dalam Pascal? yuk langsung aja..
Sebelum membahas mengenai Array. Teman - teman masih ingat pertanyaan yang
saya berilkan di artikel sebelumnya?
Gimana udah pada tahu jawabanya? hehe
Bagi yang belum atu yuk kita bahas bersama - sama
Yang membedakan penggunaan dari ketiga macam perulangan tersebut adalah :
1. Pembatasan perulanagan :
a. FOR mempunyai pembatasan perulangan yang jelas, batas awal dan akhir
perulangan harus definisikan sejak awal. dimana ada loop start dan end nya.
b. Sedangkan WHILE dan REPEAT tidak. kedua perulangan tersebut tidak memiliki
batas yang pasti. jadi perulanganya akan terus di kerjakan hingga kondisi dari
WHILE/REPEAT sudah tidak terpenuhi. Maka dari itu jika tidak hati-hati perulanagan
dengan menggunakan kedua statement ini dapat menyebabkan infinitie loop/
perulangan yang tidak terbatas.
2 . Penggunaan :
a. FOR-TO-DO dan FOR-DOWNTO-DO : digunakan untuk mengulang perintah
dengan batas yang sudah jelas baik itu memiliki counter UP atau DOWN
b. WHILE-DO : dingunakan untuk perulangan dengan batasan yang tidak pasti /
selama kondisi WHILE terpenuhi. Jika kondisi terpenuhi baru perintah di dalam
perulangan di jalankan.
c. REPEAT-UNTIL : mirip seperti WHILE , tapi bedanya selema kondisi dari UNTIL
belum terpenuhi perintah akan terus di ulang.
Gimana? sudah tambah Paham kan? hehehe
OK, selanjutnya kita langsung aja ke materi kali ini hehe.
A. Mendeklarasikan Array 1 Dimensi dalam Pascal
Array 1 dimensi dapat digambarkan dalam skema berikut :

Pemdeklarasiaan Array 1 dimensi


var

array-identifier = array[index-type] of element-type;

array-identifier nama dari array type


index-type panjangnya/banyaknya array
element-type type data dari isi yang akan di masukkan ke dalam array
Contoh Khasus1
program Khasus1;
var
nama : array [1..3] of string[30];
kota : array [1..3] of string[10];
umur : array [1..3] of integer;
i : integer;
begin
nama[1] := 'Yoshimori Sumimura'; // mengisi array nama di index ke
1
kota[1] := 'Kyoto';
umur[1] := 15;
nama[2] := 'Fujisaki Yuushuke';
kota[2] := 'Tokyo'; // mengisi array kota di index ke 2
umur[2] := 17;
nama[3] := 'Gen Shishio';
kota[3] := 'Okinawa';
umur[3] := 16; // mengisi array umur di index ke 3
For i := 1 to 3 do
Begin
writeln('nama nya
array nama index ke i
writeln('kota nya
array kota index ke i
writeln('umur nya
array umur index ke i
writeln(' ');
End;
end.

// perulangan menampilkan isi array


adalah : ', nama[i]); // mengambil isi dari
adalah : ', kota[i]);

// mengambil isi dari

adalah : ', umur[i]);

// mengambil isi dari

Hasilnya adalah :
nama nya adalah : Yoshimori Sumimura
kota nya adalah : Kyoto
umur nya adalah : 15
nama nya adalah : Fujisaki Yuushuke
kota nya adalah : Tokyo
umur nya adalah : 17
nama nya adalah : Gen Shishio
kota nya adalah : Okinawa
umur nya adalah : 16

B. Array Multi Dimensi (contoh array 2 dimensi)


Array 2 dimensi dapat di gambarkan sebagai berikut :

Pendeklarasian Array 2 dimensi


var
arrayName: array[1..x, 1..y] of element-type;

Contoh Khasus2
Mengubah Khasus1 menjadi bentuk array 2 dimensi
program Khasus2;
var
data : array [1..3,1..3] of string[30]; // asumsikan semua sebagai
string
i,j : integer;
begin
data[1,1] := 'Yoshimori Sumimura';
data[1,2] := 'Kyoto';
data[1,3] := '15'; // mengisi array data di baris 1 kolom3 dengan
kota
data[2,1] := 'Fujisaki Yuushuke'; // mengisi array data di baris 2
kolom1 dengan nama
data[2,2] := 'Tokyo';
data[2,3] := '17';
data[3,1] := 'Gen Shishio';

data[3,2] := 'Okinawa'; // mengisi array data di baris 3 kolom 2


dengan kota
data[3,3] := '16';
For j := 1 to 3 do // perulangan baris array
Begin
For i := 1 to 3 do // perulangan kolom array
Begin
writeln('isi data di baris ', j ,' kolom ', i ,' : ',
data[j,i]); // menampilkan array baris ke j kolom ke i
End;
writeln(' ');
End;
end.

Hasilnya
isi data di baris 1 kolom 1 : Yoshimori Sumimura
isi data di baris 1 kolom 2 : Kyoto
isi data di baris 1 kolom 3 : 15
isi data di baris 2 kolom 1 : Fujisaki Yuushuke
isi data di baris 2 kolom 2 : Tokyo
isi data di baris 2 kolom 3 : 17
isi data di baris 3 kolom 1 : Gen Shishio
isi data di baris 3 kolom 2 : Okinawa
isi data di baris 3 kolom 3 : 16

Anda mungkin juga menyukai