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.
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"
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' );
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
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
(A or B) is
true.
not (A and
B) is true.
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.
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
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,
A' )
B ')
C')
D' );
Saya menggunakan type data integer karena data angka yang akan di proses adalah
text1 := 'Fujisaki';
text2 := 'Yuusuke';
Writeln('Nama Saya : ',text1,' ',text2);
readln;
End.
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 );
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.
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.
-> 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 }
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.. :)
Hasilnya :
10 12 14 16 18 20
B. REPEAT UNTIL
repeat
(steatement1);
(steatement2);
...
...
(steatementN);
until (condition);
Hasilnya :
1 3 5 7 9 11 13 15 17 19
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.
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 <= 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,
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;
}
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;
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
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';
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