KATA PE N GANTAR
Bagi sebagian orang yang bisa mengoperasikan komputer pada saat ini, bahasa Pemrograman
komputer masih merupakan bahasa yang sulit untuk dimengeri sehingga sebagian orang tersebut
enggan atau malas untuk mempelajari lebih jauh mengenai bahasa pemrograman komputer tersebut.
sehingga walau tanpa proses polling, survei, statistik dan sebagainya, saya dapat menyimpulkan
bahwa 80 orang dari 100 orang yang bisa menggunakan komputer dalam arti bisa mengoperasikan
program-program komputer seperti MS WINDOWS, tidak bisa membuat atau mengerti bahasa
pemrograman komputer. Generalisasi seperti ini saya simpulkan melalui pengalaman dan
pengamatan saya sewaktu duduk dibangku kuliah dulu.
Di Fakultas Informatika yang notabene khusus mempelajari ilmu-ilmu komputer sekalipun, tidak
semua mahasiswanya pandai dalam bahasa pemrograman tertentu. Hal itu dikarenakan tidak semua
orang mempunyai pemikiran dan kreativitas yang sama sehingga daya nalar terhadap sebuah bahasa
pemrograman didapatkan hasil yang berbeda-beda untuk setiap orang. Contoh kasus adalah ketika
dulu saya kuliah pada semester ke-6. Pada waktu itu seorang dosen memberikan sebuah tugas
kepada semua mahasiswa untuk membuat sebuah program aplikasi yang sederhana tapi bermanfaat
untuk orang banyak dengan menggunakan bahasa Pemrograman PASCAL. Praktek dilapangan
ketika memenuhi tugas tersebut, 40% mahasiswa yang melaksanakan tugas tersebut (24 MHs dari
60 MHS) yang sekelas dengan saya masih tidak mengerti mengenai bahasa pemrograman ini,
padahal mata kuliah untuk Bahasa Pascal ini telah didapat pada semester ke 3 sampai ke 4. Walhasil
ke 24 mahasiswa tersebut dinyatakan untuk mengambil ulang mata kuliah tersebut.
Hal tersebut dikarenakan beberapa faktor sebagai berikut :
1. Kurang nya informasi maupun literatur yang sangat dasar mengenai Bahasa Pemrograman
Komputer untuk orang yang benar-benar pemula dalam mempelajari sebuah bahasa
perograman komputer.
2. Informasi, literatur, tutorial dan buku-buku yang ada, kebanyakan masih sulit dimengerti
oleh orang-orang yang memang benar-benar pemula dalam mempelajari sebuah bahasa
pemrograman.
3. Para pemula terlalu tergesa-gesa dalam mempelajari suatu bahasa pemrograman, padahal
untuk mempelajari bahasa pemrograman komputer diperlukan Kesabaran dan Ketekunan
yang tinggi. Contohnya ; Mungkin sebagian dari Anda yang membaca Tutorial ini, akan
melewati pengantar-pengantar yang menurut mereka bertele-tele dan tidak penting dan
langsung menuju pada pokok bahasan utama, walaupun membaca mungkin hanya sekilas
saja, itulah kebiasaan buruk yang seharusnya ditinggalkan bagi Anda yang memang benar-
benar pemula dalam mempelajari sebuah bahasa pemrograman komputer.
4. Enggan, malu dan sebagainya untuk bertanya serta tidak ingin berusaha mencari informasi-
informasi yang berhubungan dengan ketidak mengertian nya dalam mempelajari bahasa
pemrograman tersebut, atau mungkin tidak tahu kemana dia harus bertanya. Untuk hal ini
saya atas nama situs ini d/a http://www.suryascience.co.nr akan segera mengusahakan
membuat forum khusus untuk pemula yang bisa Anda akses melalui SSC Forum, INSYA
ALLAH.
Saran penulis dalam mempelajari Tutorial Dasar-dasar Pemrograman Delphi ini adalah sebagai
berikut :
• Blok teks pada tutorial ini, lalu anda copy ke MS.Word. setelah itu langsung praktekan
materi yang ada pada komputer Anda.
• Ikuti step by step, jangan melewati satu materipun atau meloncat ke materi berikutnya bila
Anda belum benar-benar mengerti apa yang dibahas pada materi itu.
• Sebelum meloncat ke materi berikutnya, buatlah sebuah proyek yang telah Anda pelajari
sebelumnya tanpa melihat lagi keterangan-keterangan yang ada artinya jangan OPEN
BOOK, bila Anda masih juga melihat keterangan-keterangan dalam membuat proyek
tersebut, sebaiknya Anda tidak menyimak materi berikutnya sampai Anda benar-benar bisa
menguasainya tanpa OPEN BOOK.
Akhirnya penulis berharap semoga Tutorial Dasar-dasar Pemrograman Delphi ini dapat bermanfaat
bagi Anda yang pemula dalam mempelajari bahasa pemrograman Delphi ini. Penulis juga
mengucapkan banyak terima kasih kepada sdr.Yusuf rekan kerja saya serta DINDA yang telah
memberikan semangat serta spirit dalam menuliskan tutorial ini.
PE N DAHU LUAN
I. DELPHI ADALAH PASCAL TAPI PASCAL BUKAN DELPHI
Delphi adalah sebuah bahasa pemrograman yang bersipat Objek (Object Oriented Programming)
artinya adalah sebuah program yang mempunyai objek-objek tertentu dalam pemrograman nya.
Selain itu Delphi adalah sebuah program yang bersifat visual artinya mempunyai tampilan grafik-
grafik yang mudah dimengerti oleh pemula sekalipun (Graphical user Interface). Dengan Delphi
Anda bisa membuat program-program dengan tampilan yang menawan, Delphi hanya bisa bekerja
di bawah System Microsoft Windows sedangkan untuk system yang lain seperti Linux atau Unix
Delphi mempunyai saudara kembarnya yang bisa bekerja pada system tersebut yaitu KYLIX.
Syntax-syntax Delphi di adopsi dari bahasa Pascal, untuk itu di dalam tutorial Dasar-dasar Delphi
ini saya akan mengajak Anda ke masa lalu dimana pemrograman komputer saat itu masih
menggunakan system 16 BIT yaitu Bahasa PASCAL sebelum Anda dibawa untuk mempelajari
Pemrograman Delphi. Bila Anda sudah bisa bahasa PASCAL Anda dapat melewati pengantar
mengenai bahasa Pascal ini.
Mengapa saya membawa Anda terlebih dahulu ke Bahasa Pascal tidak langsung ke Delphi ?,
Dengan mengenal dasar-dasar bahasa pascal, Anda akan mudah untuk mempelajari pemrograman
Delphi sebab semua syntax yang ada dalam pascal sama dengan syntax bahasa delphi, tetapi syntax
dalam delphi tidak bisa diadopsi ke pascal karena itulah dalam pengantar ini saya beri judul Delphi
adalah pascal tapi pascal bukan delphi.
II. Pengantar Bahasa Pascal
Instalasi PASCAL
Oke kita langsung saja pada materi pertama kita yaitu pengenalan bahasa pascal agar Anda mudah
dalam mengikuti pemrograman bahasa Delphi berikutnya. Bila Anda kesulitan mencari program
Bahasa Pascal versi 5, Anda dapat mendownloadnya disini. ( Download Pascal). Tapi saya
memperingati kepada Anda bahwa program Pascal ini tidak boleh disebar-luaskan lagi kepada
Umum sebab saya tidak punya lisensi untuk menyebarluaskan program ini. Dan juga Anda tidak
boleh mengkomersialkan program ini, sebab program Pascal yang saya sediakan disini hanya untuk
mempelajari program tersebut.
Setelah Anda Download exstract file pascal.zip dengan menggunakan winrar (Program Winrar
Dapat di Download dari pilar kanan situs ini) atau winzip. Setelah itu klik dua kali file turbo.exe
pada folder tersebut, maka program turbo pascal 5.5 sudah bisa Anda jalankan, bila ingin program
Turbo Pascal yang lebih lengkap ikuti langkah-langkah berikut :
1. Bila Komputer Anda belum terinstall winrar atau winzip installah program tersebut, program
winrar dapat Anda download melalui link yang ada di pilar kanan situs ini.
2. Pindahkan file pascal.zip ke Drive C: jangan didalam folder lagi agar mudah untuk
memanggilnya melalui Command Prompt.
3. Bila Winrar sudah terinstall, klik kanan file pascal.zip lalu pilih extract to pascal.
4. Jalankan Command Prompt dari windows Anda, klik start run lalu ketik command klik ok
maka command Prompt akan ditampilkan. Setelah itu ketik CD\ dan ketik C: maka drive
yang aktif saat ini di command prompt adalah drive C.
5. Setelah itu ketik CD PASCAL lalu tekan enter, maka sekarang Anda berada di drive C:
pada folder pascal yang telah Anda extract tersebut. Kemudian Ketik Install lalu tekan enter.
maka proses instalasi TURBO PASCAL 5.5 akan berlangsung. Ikuti saja petunjuk instalasi
pascal yang ada di proses instalasi. Folder default instalasi pascal adalah TP.
6. setelah instalasi pascal selesai keluar lah dahulu dari program pascal, kembali ke command
prompt. Pada command prompt ketik lagi CD\pascal maka Anda akan kembali lagi ke
folder pascal, setelah berada di folder pascal extract beberapa file yang berekstensi ARC ke
folder TP, Sebelumnya ketik perintah DIR *.ARC maka semua file yang berekstensi ARC
akan ditampilkan, catat nama file-file tersebut. Ada beberapa file ARC yang ada di folder
pascal ini yaitu : BGI.ARC, DEMOS.ARC, DOC.ARC, HELP.ARC, OOPDEMOS.ARC,
TCALC.ARC, TOUR.ARC, TURBO3.ARC, dan UTILS.ARC. File tersebut hanya bisa di
extract oleh file UNPACK.COM yang berada di folder pascal. cara mengekstract nya
sebagai berikut :
Buat folder pada direktori TP sesuai dengan nama-nama file arc yang akan diextract contoh :
Anda akan mengekstract file DEMOS.ARC, maka buatlah direktori di folder TP dengan
nama DEMOS. Masuk ke folder TP -- ketik CD\TP lalu ketik MD DEMOS maka folder
dengan nama DEMOS akan terbentuk di folder TP. Setelah terbentuk folder DEMOS
sekarang Anda beralih lagi ke folder PASCAL dengan mengetik CD\PASCAL, di folder
PASCAL ketik perintah berikut UNPACK DEMOS C:\TP\DEMOS lalu tekan Enter. Maka
file DEMOS.ARC akan di extract ke folder DEMOS yang berada di dalam folder TP.
Lakukan hal yang sama pada file ARC yang lainnya.
uses Crt;
var
x,y,z : longint;
lagi : char;
namak : string[20];
begin
lagi := 'y';
while (lagi = 'y') or (lagi = 'Y') do
begin
clrscr;
write('Siapa Nama Anda..?'); ReadLn(namak);
writeLn;
write('Hallo ',namak,', Coba kamu');
WriteLn(' masukan nilai x,y dan z ');
writeLn('pada operasi matematika ini.');
writeLn;
writeLn('Operasi matematika X^2 + y^2 + z =..... ');
write('masukan nilai x..= '); ReadLn(x);
write('masukan nilai y..= '); ReadLn(y);
write('masukan nilai z..= '); ReadLn(z);
writeLn;
writeLn('nilai operasi x^2 + y^2 + z adalah : ',x*x+y*y+z);
writeLn;
write('Mau hitung lagi apa tidak (y/t), ',namak,' ? ');
readLn(lagi);
end;
end.
Setelah Anda ketik kode-kode program tersebut simpanlah file tersebut dengan nama testprog.pas,
kemudian tekan tombol CTRL+F9 untuk melihat hasil program yang Anda ketik tersebut.
Siapa Nama Anda...? _
Masukanlah Sembarang Nama, misalkan nama yang anda masukan adalah BEJO, maka selanjutnya
akan ditampilkan kalimat seperti dibawah ini :
Sekarang Program meminta anda untuk memasukan nilai operasi untuk x kemudian y dan z , setelah
itu program akan menampilkan hasil operasi matematika itu dan menanyakan lagi pada anda,
apakah akan menghitung lagi atau tidak, bila anda memasukan huruf t maka program akan
dihentikan sedangkan bila anda memasukan huruf y program akan diulang lagi.
Dari contoh program pengenalan diatas, Anda dapat melihat dalam program sederhana tersebut
terdapat beberapa atribut, variabel, serta beberapa statemen. sekarang mari kita uraikan program
sederhana tersebut berdasarkan kelompok-kelompok.
{ Program : Input dari keyboard dan
Menghitung operasi matematika }
{ Create by : Komarudin_surya@suryatekno }
Pada bagian ini merupakan suatu KOMENTAR yang tidak diproses oleh program, bagian
komentar ini diperlukan untuk keperluan Dokumentasi agar program dapat diketahui maksud dan
tujuannya serta bila kita suatu waktu akan menambahkan atau merubah program maka kita dapat
dengan cepat mengetahui lokasi dari bagian program yang perlu kita tambahkan atau dirubah.
Untuk memberikan komentar dalam pascal diberikan tanda { dan } atau (* dan *), jadi apapun yang
dituliskan didalam kurung tersebut tidak akan diproses oleh program.
uses Crt;
perintah ini merupakan suatu UNIT, Unit mempunyai beberapa prosedur dan jenisnya. UNIT dalam
Pascal harus disertakan untuk mengaktifkan prosedur-prosedur yang akan diprogram. Sedangkan
Prosedur didalam Pascal dapat berbentuk prosedur yang didefinisikan atau dibuat sendiri oleh
pemakai atau prosedur yang telah disediakan oleh Pascal. Prosedur yang didefinisikan sendiri oleh
pemakai harus dideklarasikan terlebih dahulu.
Unit-unit dalam PASCAL 5.5 ada tujuh buah unit standar, ketujuh unit tersebut disimpan dalam file
yang bernama TURBO.TPL. Unit-unit tersebut yaitu :
1. UNIT System -- Unit ini merupakan sebuah runtime Turbo Pascal yang mendukung semua
proses yang dibutuhkan pada waktu runtime (eksekusi program). Anda akan menemui pesan
error seperti ini "RUNTIME ERROR" bila Anda salah dalam memanipulasi system yang
diprogramkan. Unit ini Otomatis ditambahkan oleh Pascal walau Anda tidak mencantumkan
nya sewaktu meng-Compile.
2. UNIT CRT -- Unit ini digunakan untuk keperluan program dalam memanipulasi layar,
dalam hal ini bisa berupa manipulasi TEKS, KURSOR, KODE EXTENDED KEYBOARD
dll.
3. UNIT Printer -- Sesuai dengan namanya maka unit ini tentu saja digunakan dalam program
yang berhubungan dengan printer, misalkan kita akan mencetak suatu program ke printer
maka unit ini harus digunakan untuk mengaktifkan printer. Printer yang bisa didukung hanya
printer jenis LPT dan COM, sedangkan printer jenis USB tidak bisa diakses karena pada
waktu itu belum ada printer yang berjenis USB, kecuali printer tersebut menyediakan
DRIVER untuk DOS kemungkinan printer USB bisa digunakan oleh PASCAL 5.5 ini.
Contoh program yang menggunakan unit printer :
(* Program Pencetakan Printer, Catatan dlm Pascal 5.0 keatas harus ditambahkan kata Lst *)
Uses Printer;
Begin
WriteLn(Lst,'Saya sedang mencoba Printer.');
WriteLn(Lst,'Create By : Suryatekno©2008');
WriteLn(Lst,'============================');
End.
4. UNIT DOS -- Unit ini digunakan bila anda akan mengaktifkan prosedur-prosedur yang ada
dalam DOS seperti DosVersion, GetTime, SetTime, DiskSize, DiskFree, Call, Dir, Path,
Copy dan sebagainya.
Contoh program yang menggunakan unit DOS :
(* Program melihat versi DOS dan sisa Disk,
Create By : Suryatekno *)
Uses DOS,CRT;
var ukuran : longint;
Begin
ukuran := DiskFree(0);
ClrScr;
WriteLn('Versi DOS yang Anda gunakan adalah : MS-DOS ',DosVersion);
WriteLn('Sisa Kapasitas Harddisk Anda : ',ukuran,' Bytes');
WriteLn;
WriteLn('Tekan tombol apa saja untuk keluar');
ReadLn;
End.
5. UNIT Graph -- Unit ini digunakan untuk menampilkan grafik seperti Tabel, Chart Statistik
dan sebagainya. Biasanya Unit ini digunakan bila kita ingin menampilkan suatu grafik
seperti pada MS-EXCEL. Bisa juga digunakan untuk membuat animasi, Game dan
sebagainya.
{ Program menampilkan Grafik Bar,
Create By : Suryatekno 2008 }
Uses Graph;
var
Driver,Model : integer;
I : integer;
Begin
Driver := VGA;
Model := VGAHi;
InitGraph(Driver, Model, ' ');
Line(20,25,20,155);
Line(20,155,200,155);
Randomize;
for I := 0 to 4 do
Bar3D(30+I*35, 154-Random(100),55+I*35,154,15,TopOn);
WriteLn;
WriteLn('Tekan Sembarang Tombol untuk Keluar');
ReadLn;
End.
6. UNIT Turbo3 -- Unit ini digunakan pada pascal 3.0 sedangkan untuk pascal versi 4.0 keatas
unit ini sudah tidak digunakan lagi atau tidak difungsikan. Kegunaannya adalah sewaktu
anda meng-upgrade dari pascal versi 3.0 ke 4.0 atau 5.0 , Untuk latihan kita sekarang unit ini
tidak kita gunakan saja.
7. UNIT Graph3 -- Unit ini digunakan untuk meng-konversi grafik yang dibuat oleh pascal
versi 3.0 agar dapat digunakan oleh pascal 4.0 keatas, sama seperti unit Pascal3 unit ini pun
tidak kita gunakan pada latihan kita ini sebab kita menggunakan PASCAL versi 5.5 yang
lebih canggih dan lengkap.
Untuk Lebih jelasnya mengenai unit-unit ini silahkan anda buka Folder DOC yang ada pada
Direktory TP. Atau bila Anda orang yang kreatif dan tidak cepat puas silahkan Anda mencari
referensi-referensi dari situs atau media yang lainnya, Ini sangat saya anjurkan dan saya acungkan
jempol bila Anda melakukan hal ini.
Sekarang kita lanjutkan mengenai pembahasan program perkenalan yang telah anda buat pertama
kali.
var
x,y,z : longint;
lagi : char;
namak : string[20];
Pada bagian ini disebut VARIABLE , Semua bahasa pemrograman memerlukan variabel untuk
mengetahui type atau jenis data yang digunakan oleh si programer. Pada contoh program
pengenalan tersebut kita memberitahukan kepada PASCAL bahwa type atau jenis variabel yang kita
gunakan untuk variable x,y, dan z bertype longint, variable lagi bertype char dan variable namak
bertype String dengan panjang karakter sebanyak 20 string.
1. DEKLARASI VARIABEL (VARIABLE DECLARATION)
Deklarasi variabel adalah suatu deklarasi yang nilai nya sudah pasti, dengan kata lain Deklarasi
jenis ini tidak dapat dirubah lagi atau konstan. Pada contoh program diatas, deklarasi variabel untuk
x, y dan z berjenis longint ( bilangan bulat dari -2147483648 sampai 2147483648 ) maka dalam
program tersebut, hanya bisa dimasukan tipe data yang berjenis tersebut. Pada contoh diatas bila
anda memasukan nilai selain tipe tersebut, misalkan anda memasukan angka A pada pada
pertanyaan masukan nilai x..= maka program akan error, Nah agar tidak terdapat pesan error pada
program tersebut, maka program tersebut harus ditambahkan suatu baris perintah yang berjenis
logika jadi bila user memasukan nilai-nilai x,y dan z selain dari jenis tersebut maka akan
dikeluarkan suatu peringatan yang memberitahukan user agar memasukan nilai untuk x, y dan z
hanya bisa dimasukan oleh type variabel tersebut.
Silahkan Anda tambahkan baris perintah pada program testprog.pas diatas, agar user tidak salah
dalam memasukan type data yang telah ditentukan !.
2. DEKLARASI KONSTANTA (CONSTANT DECLARATION)
Sama seperti deklarasi variabel, deklarasi konstanta juga bersifat tetap (konstan), bedanya adalah
bila dalam deklarasi variabel kita hanya mendeklarasikan jenis dari data yang harus dikerjakan,
sedangkan pada deklarasi konstanta kita langsung menyebutkan nilainya. Deklarasi konstanta tidak
menggunakan tanda titik dua ( : ) seperti pada deklarasi variabel tetapi menggunakan tanda sama
dengan ( = ).
Contoh Program yang menggunakan deklarasi konstanta
uses crt;
const
nama = 'Amir';
nip = 'A3110';
gaji = 1000000;
lembur = 50000;
begin
clrscr;
writeLn('Nama Pegawai : ',nama);
writeLn('N I P : ',nip);
writeLn('Gaji Pokok : ',gaji);
writeLn('Uang Lembur : ',lembur);
writeLn('--------------------- +');
writeLn('Total Gaji : ',gaji+lembur);
writeLn;
writeLn('Tekan tombol ENTER untuk keluar');
readLn;
end.
uses crt;
const
Jadwal : J=('Mandi','Sarapan','Meeting',
'Menemui Pak Badrun','Pulang',
'Mandi','Makan Malam','Istirahat');
var
I : word;
begin
clrscr;
writeLn('Jadwal Hari ini');
writeLn('===============');
writeLn;
for I:=1 to 8 do
writeLn(' ',I,'. ',Jadwal[I]);
writeLn('Tekan enter untuk Keluar.....');
readLn;
end.
uses crt;
label
1,2,3,4,keluar; {Deklarasi label yang ditentukan}
var
ketik,ulang : char;
begin
if ketik='a' then
begin
goto 2;
end;
if ketik='b' then
begin
goto 3;
end;
if ketik='c' then
begin
goto 4;
end
else
begin
clrscr;
writeLn('Anda tidak pesan apa-apa.');
writeLn('Mungkin Anda tidak Lapar..);
writeLn;
writeLn('Tekan Enter untuk keluar..');
readLn;
goto keluar;
end;
end.
Penulisan label bebas sesuai dengan keinginan anda, bisa sebuah kata atau karakter, yang penting
nama label tidak boleh sama dengan nama variabel, type, atau konstanta yang anda tetapkan. Bila
itu terjadi maka kemungkinan akan terjadi konflik variabel dalam pengeksekuasian program.
Contoh diatas akan terus dilakukan selama anda memilih pilihan yang di tetapkan. Ada cara yang
lebih praktis ketimbang menggunakan LABEL yaitu dengan printah CASE - OF yang akan dibahas
nanti.
4. DEKLARASI PROSEDUR (PROCEDURE DECLARATION)
Deklarasi prosedur adalah sebuah deklarasi yang dibuat dalam program agar bisa digunakan lagi
dalam program, jadi deklarasi prosedur merupakan sebuah SUB PROGRAM yang bisa dipanggil
sewaktu-waktu dalam program bila dibutuhkan. Dalam sebuah program yang terstruktur, Deklarasi
Prosedur ini sangat dibutuhkan agar program menjadi lebih simpel. Untuk mengerti arti dari
PROSEDUR ini saya berikan contoh kasus sebagai berikut : misalkan ada sebuah proses yang yang
harus dikerjakan berulang kali untuk menampilkan kata "SURYATEKNO" , maka dalam program
yang terstruktur kata tersebut disimpan dalam sebuah prosedur yang dapat dipanggil lagi dimanapun
kata tersebut diperlukan.
Contoh program yang menggunakan Deklarasi Prosedur.
uses crt;
Procedure s;
begin
write('Suryatekno');
end;
{akhir prosedur}
{program utama}
begin
clrscr;
s; { prosedur yang dipanggil }
Prosedur mempunyai banyak jenisnya, disini saya hanya akan menjelaskan suatu prosedur yang
mudah-mudah saja agar anda sebagai pemula mengerti dalam menggunakan prosedur ini.
Prosedur yang paling terkenal adalah Prosedur REKURSI (RECURSION PROCEDURE) .
Prosedur ini adalah sebuah prosedur yang menggunakan sendiri prosedurnya, jadi prosedur ini
adalah prosedur yang memakan prosedur . Contoh kasus proses rekursi yang rumit
adalah sebagai berikut :
Anda diminta untuk memindahkan sebuah piringan yang berbeda satu dengan yang lainnya secara
satu persatu dari sebuah tumpukan ke tumpukan yang lainnya, dengan syarat piringan yang lebih
kecil tidak boleh berada dibawah piringan yang lebih besar, dan pemindahan nya harus satu persatu
tidak boleh sekalian. Lihat gambar.
kepada anda !.
Pusing menghitung nya yah..? , kalau pusing berapa langkah yang Anda tempuh untuk
tugas itu, dibawah ini saya berikan contoh program yang memakai prinsip REKURSI untuk
menghitung langkah yang diperlukan. serta akan diperlihatkan piringan mana saja yang akan
dipindahkan terlebih dahulu, Anda bisa saja memasukan 1000 piringan misalnya, tetapi Anda harus
sabar menunggunya, sebab bila Anda memasukan waktu yang diinginkan sebesar 1 detik saja untuk
setiap piringan, berarti Anda harus sabar menunggu program untuk menghitung dan memperagakan
kepada Anda selama 3 Hari . Untuk contoh ini cobalah Anda masukan Tugas
End;
Delay(Waktu*1000);
GotoXY(Kolom_Sumber,Baris_Sumber); Write(' ');
GotoXY(Kolom_Tujuan,Baris_Tujuan); Write(Jumlah);
GotoXY(18,24); Write(Langkah);
MenaraHanoi(Jumlah-1,Bantuan,Tujuan,Sumber,
Langkah,Jumlah_A,Jumlah_B,Jumlah_C,Waktu);
End;
End;
{Akhir Rekursi}
{Program Utama}
Var
Jumlah, Langkah : Integer;
Sumber,Bantuan,Tujuan : Char;
I,Baris : Integer;
Jumlah_A,Jumlah_B,Jumlah_C : Integer;
Waktu : Integer;
Begin
ClrScr;
Write('Berapa Piringan Yang akan dipindah ? ');
ReadLn(Jumlah);
Write('Waktu yang Anda inginkan (0-32) detik ? ');
ReadLn(waktu);
ClrScr;
GotoXY(25,24); WriteLn(' Sumber Bantuan Tujuan');
For I:=Jumlah DownTo 1 Do
Begin
Baris := 23-(Jumlah-I);
GotoXY(30,Baris); WriteLn(I);
End;
Langkah := 0;
Sumber :='A';
Bantuan :='B';
Tujuan :='C';
Jumlah_A := Jumlah;
Jumlah_B := 0;
Jumlah_C := 0;
Dari contoh program diatas, mungkin sebagian dari Anda ada yang bertanya mengapa fungsi yang
dinyatakan dengan variabel-variabel A,B dan C bisa berhubungan dengan Variabel X,Y dan Z ?.
Begini..,Fungsi yang dijabarkan dengan variabel A,B,C hanya merupakan operasi yang harus
dikerjakan oleh fungsi Hasil := A*A+B*B+C; , jadi Variabel A,B dan C tidak bernilai atau kosong.
Sedangkan Variabel X,Y dan Z adalah Variabel Identifier (Pengenal) yang Ada nilainya dan nilai
ini harus dilaksanakan oleh fungsi seperti yang dikehendaki. Untuk lebih jelas lagi Sekarang
cobalah Anda rubah baris program WriteLn(' adalah :,Hasil(X,Y,Z); dengan mengganti variabelnya
dengan A,B dan C kemudian Anda RUN lagi, maka COMPILER PASCAL akan mengeluarkan
peringatan bahwa variabel A,B,dan C tidak diketahui identitasnya (Unknow Identifier), sebab A,B
dan C tidak bernilai. Bagian inilah yang harus Anda Pahami dan Perhatikan dengan serius tentang
Tata Cara membuat Deklarasi Fungsi.
Kalau diterjemahkan dalam konteks bahasa manusia, perintah Hasil(X,Y,Z) adalah : Kerjakan Nilai
yang ada dalam kurung, yang nilainya dimasukan melalui input keyboard dengan operasi Hasil ,
Dimana operasi tersebut adalah A*A+B*B+C dengan A sebesar X, B sebesar Y, dan C sebesar Z..
Paham..!!, Kalau belum paham juga saya menyerah.. , tidak bisa menerangkan lagi kepada Anda
secara detail mengenai fungsi ini, dan dapat membuat Anda mengerti.
DELPHI ADALAH PASCAL TAPI PASCAL BUKAN DELPHI
Sejauh ini Anda sudah disuguhkan dengan contoh-contoh program, contoh-contoh tersebut saya
rancang sedemikian rupa agar Anda yang pemula dalam mempelajari Bahasa Pemrograman dapat
mengikuti tutorial ini. Cobalah Anda buat program-program sejenis tapi kali ini atas pemikiran dan
cara-cara ANda sendiri dan tentu saja materi-mteri nya disesuaikan dengan contoh-contoh program
yang telah Anda pelajari.
Baiklah sekarang mari kita lanjutkan pembahasan kita mengenai uraian Program pengenalan
(TESTPROG.PAS). Selanjutnya dalam program tersebut ada baris-baris program berikut :
While (pilih='y') or (pilih='Y') Do
Begin
..........
..........
..........
end;
end.
Pada bagian ini dinamakan perulangan (LOOPING). Looping sangat sering digunakan dalam
sebuah program yang majemuk, arti looping itu sendiri adalah memulai atau mengulang lagi suatu
proses program yang sama jika kondisi dan syarat-syarat nya terpenuhi. Ada beberapa struktur
perulangan yang perlu Anda ketahui yaitu :
1. Perulangan dengan perintah For - To - Do
2. Perulangan dengan perintah While - Do
3. Perulangan dengan perintah Repeat - Until.
Sekarang marilah kita bahas mengenai struktur perulangan ini satu persatu.
1. Perulangan For - To - Do
Struktur perulangan For - To - Do ada dua jenis yaitu :
a. Perulangan For Positif.
Bila variabel perulangan dilakukan dengan cara penghitungan dari nilai yang kecil ke nilai yang
besar, maka struktur perulangan tersebut dinamakan perulangan for positif dengan struktur sebagai
berikut :
2. Perulangan While - Do
Perulangan While-Do adalah suatu perulangan atau looping yang akan terus menerus dilakukan
selama kondisi yang disyaratkan terpenuhi, Jadi selama persyaratan yang dicantumkan adalah
TRUE (BENAR) maka loop ini akan terus berjalan tak ada hentinya. Untuk itu berhati-hatilah
dalam memberikan prasyarat sebuah perulangan while-do, bisa-bisa program itu tidak akan bisa di
hentikan.
Seperti pada contoh program TESTPROG.PAS yang pertama kali Anda buat, Disitu parameter
while-do di berikan nilai TRUE untuk huruf Y, jadi selama Anda menekan huruf Y, maka program
itu akan terus dilakukan sampai Anda menekan tombol yang lainnya.
Mari Kita lihat lagi listing Program TESTPROG.PAS yang sudah Anda buat pertama kali.
{ Program : Input dari keyboard dan
Menghitung operasi matematika }
{ Create by : Komarudin_surya@suryatekno }
uses Crt;
var
x,y,z : longint;
lagi : char;
namak : string[20];
begin
lagi := 'y';
{awal perulangan dengan nama Lagi }
while (lagi = 'y') or (lagi = 'Y') do
begin { --> index awal perulangan}
clrscr;
write('Siapa Nama Anda..?'); ReadLn(namak);
writeLn;
writeLn('Hallo ',namak,', Coba kamu masukan nilai x,y dan z ');
writeLn('pada operasi matematika ini.');
writeLn;
writeLn('Operasi matematika X^2 + y^2 + z =..... ');
write('masukan nilai x..= '); ReadLn(x);
write('masukan nilai y..= '); ReadLn(y);
write('masukan nilai z..= '); ReadLn(z);
writeLn;
writeLn('nilai operasi x^2 + y^2 + z adalah : ',x*x+y*y+z);
writeLn;
write('Mau hitung lagi apa tidak (y/t), ',namak,' ? ');
readLn(lagi);
end; { --> index akhir perulangan}
{akhir perulangan dengan nama Lagi }
end.
Pada listing TESTPROG.PAS diatas, saya beri tambahan keterangan. Nah selama Anda memasukan
variabel Lagi dengan huruf Y maka loop while menjadi true sehingga program akan balik lagi ke
index awal (Begin pertama sesudah perintah while). begitu saja terus menerus sampai Anda
memasukan variabel Lagi dengan karakter selain Y.
Berikut ini adalah salah satu program yang menggunakan Perulangan While-Do yang salah, sebab
tidak ada ujungnya dan tidak bisa dihentikan. Cara menghentikan nya dengan menutup prompt
command bila Anda menjalankan Pascal dari mode command window, atau reset komputer Anda
bila menggunakan DOS Prompt.
{ Ini adalah contoh program yang
menggunakan perulangan While-Do
yang salah }
Var X : integer;
Begin
X := 1;
While X=1 Do
Begin
write(X,' .');
WriteLn('Salah Euy.., Muir Wae Yeuh..!');
End;
End.
Contoh Program diatas sebagai peringatan kepada Anda agar berhati-hati dalam memberikan
parameter untuk while-do. pada program diatas X diberikan nilai awal 1 ( X := 1 ), selanjutnya
perulangan while-do ( While X=1 Do ) juga diberikan nilai 1, jadi X selalu TRUE sehingga
perulangan akan dilakukan terus tanpa henti sampai Anda menutup atau mereset komputer Anda.
Perhatikan baik-baik dalam menggunakan perulangan ini jangan sampai kesalahan yang kecil akan
berakibat fatal bila tidak teliti. Kesalahan yang legendaris dalam pemrograman pascal pernah terjadi
pada sekitar tahun 1973 dimana saat itu seorang programer membuat suatu aplikasi, yang akhirnya
menjadi sebuah VIRUS yang dibuat tanpa sengaja (Virus itu mendelete semua program yang
berektensi COM) tanpa bisa dihentikan oleh programernya sendiri sehingga programer tersebut
Jadi pada perulangan repeat-until ini, pertama kita taruh perintah repeat diatas statemen-statemen
yang akan diulang kemudian ditutup dengan perintah until yang diikuti oleh parameter untuk
perulangan. Untuk lebih jelas lihat contoh program dibawah ini yang menggunakan perulangan
repeat-until.
{ Program : Tabel hasil perkalian
Creat by : Suryatekno@2008 }
uses crt;
Var
X,Y,Z : integer;
Begin
WriteLn(' TABEL PERKALIAN ');
WriteLn('==============================');
WriteLn('| X | Y | Hasil |');
WriteLn('==============================');
X := 10;
Repeat {awal perulangan X}
Y := 10;
Repeat {awal perulangan Y}
Z = X*Y;
WriteLn(X:5, Y:9, Z:10);
Y := Y+1;
Until Y > 13; {akhir perulangan Y}
X := X+1;
Until X > 13; {akhir perulangan X}
WriteLn('=============================');
WriteLn;
WriteLn('Tekan Enter untuk Keluar');
ReadLn;
End.
Pada contoh program diatas, perulangan repeat-until digunakan untuk membuat sebuah tabel
perkalian antara X dan Y, dimana nilai awal untuk X dan Y adalah 10, dan akan bertambah 1 setiap
kali terjadi perulangan ( X := X+1 dan Y := Y+1 ) sampai nilai akhir yang ditentukan yaitu 13.
Perulangan akan terjadi sebelum melebihi nilai akhir yang ditentukan ( 13 ). Jadi Perintah UNTIL
bila kita terjemahkan adalah : Sebelum melebihi . Lihat hasil jalannya program seperti dibawah ini.
JIKA INI MAKA ITU, BILA INI MAKA BILA, MAKA BILA INI JIKA MAKA.
Hmm..,sepertinya sub judul yang aneh..!. Anda tidak perlu terlalu pusing memikirkan sub judul
yang saya sertakan. Mungkin bagi Anda sub judul diatas agak sedikit aneh, tapi bagi saya itu tidak
aneh, biasa-biasa saja. Oke Friend, Anda sudah banyak melihat dan menjalankan program-program
contoh yang saya sertakan pada Tutorial ini, disitu banyak perintah-perintah BAHASA PASCAL
yang belum saya terangkan kepada Anda, jadi bila Anda orang yang kritis tentunya akan bertanya
maksud ini apa, maksud itu apa, jika begini bagaimana dan bagaimana bila begini maka jangan
1,24 80,24
uses crt;
begin
biru := 1;
kuning := 14;
hijau := 2;
kedip := 128;
clrscr;
TextColor(biru);WriteLn('Huruf berwarna Biru');
TextColor(kuning);WriteLn('Huruf berwarna Kuning');
TextColor(hijau);WriteLn('Huruf berwarna Hijau');
TextColor(kuning+kedip);
WriteLn('Huruf Berwarna Kuning kucap-kiceup');
TextColor(15);
WriteLn;
ReadLn;
WriteLn('Tekan Enter untuk Keluar');
End.
uses crt;
var x : integer;
begin
x := 1;
clrscr;
window(15,3,61,20);
TextColor(15);
Repeat
for x:=1 to 100 do
begin
Write('suryatekno ');
end;
until KeyPressed;
end.
Cobalah program diatas agar Anda lebih jelas melihat perintah WINDOW. Program diatas
akan menulis kata suryatekno didalam jendela yang ditentukan dan terus bergerak gerak,
sampai Anda menekan tombol apa saja untuk menghentikannya. Tampilannya seperti
gambar dibawah ini.
uses crt;
var
lagi : char;
kata : string[50];
Begin
lagi := 'y';
clrscr;
writeLn('Kata dibaris ini akan diganti dgn kata baru');
while (lagi='y') or (lagi='Y') do
Begin
gotoXY(1,3);
clrEol;
write('Kata pengganti (maks 50 karakter) : ');
ReadLn(kata);
gotoXY(1,1); {pointer pada kolom 1 baris 1}
clrEol; (Kata pada baris tersebut dihapus}
writeLn(kata); {menuliskan kata baru}
gotoXY(1,5);
clrEol;
write('Mau diganti lagi (y/t) ? ');
ReadLn(lagi);
end;
end.
Perhatikan jalannya program !. Pada program tersebut POINTER diatur sedemikian rupa agar tidak
saling tindih dengan kata-kata baru yang telah dituliskan, kita mengatur posisi kursor atau pointer
tersebut ketempat yang sesuai dengan keinginan kita dengan perintah gotoXY(x,y);. Ini perlu Anda
perhatikan agar program atau aplikasi yang Anda buat terlihat cantik dan menawan.
• insLine; -- Perintah ini berfungsi untuk menyisipkan sebuah baris kosong pada layar.
Berbeda dengan clrEol, perintah insLine tidak menghapus kata atau tampilan yang berada
pada sebuah baris tapi menyisipkan sebuah baris kosong, sedangkan kata-kata yang sudah
ditampilkan akan tetap ada namum bergeser kebawah setelah baris kosong yang dibuat
dengan perintah insLine. Contoh program yang menggunakan insLine seperti dibawah ini .
( Program menyisipkan baris
by : suryatekno@2008 }
uses crt;
var lagi : char;
begin
clrscr;
writeLn('Ini baris ke 1');
writeLn('Ini baris ke 2');
writeLn('Ini baris ke 3');
writeLn('Ini baris ke 4');
writeLn;
write('Mau sisipkan baris dimana ? (2-4) : ');
ReadLn(lagi);
if (lagi='2') then
begin
gotoXY(1,2);insLine;
gotoXY(1,2);write('-- Ini sisipan barisnya --');
gotoXY(1,7);clrEol;
writeLn('Baris ke ',lagi,' sudah di sisipkan.');
writeLn('tekan Enter untuk keluar');
readLn;
exit;
end;
if (lagi='3') then
begin
gotoXY(1,3);insLine;
gotoXY(1,3);write('-- Ini sisipan barisnya --');
gotoXY(1,7);clrEol;
writeLn('Baris ke ',lagi,' sudah di sisipkan.');
writeLn('Tekan Enter untuk keluar');
readLn;
exit;
end;
if (lagi='4') then
begin
gotoXY(1,4);insLine;
gotoXY(1,4);write('-- Ini sisipan barisnya --');
gotoXY(1,7);clrEol;
writeLn('Baris ke ',lagi,' sudah di sisipkan.');
writeLn('Tekan Enter untuk keluar');
readLn;
exit;
end
else
begin
gotoXY(1,7);clrEol;
writeLn('Pilihan salah !, baris tidak disisipkan.');
writeLn('Tekan Enter untuk keluar');
ReadLn;
end
end.
DELPHI ADALAH PASCAL TAPI PASCAL BUKAN DELPHI
C. Operator Unari (Unary Operator) -- Adalah operator yang menyatakan perbedaan antara
bilangan positip dan negatif. ( - 1 ) , ( + 1 )
D. Operator Pilihan (Bitwise Operator) -- Adalah operator yang digunakan untuk
membandingkan suatu variabel atau expresi. Operator ini banyak digunakan dalam operasi logika.
Ada beberapa tanda operator yang digunakan pada operator ini yaitu.
1. NOT -- Tanda operator bitwise ini digunakan untuk menyatakan kebalikan dari suatu
ekspresi atau variabel, contoh : NOT 1 -- berarti 0 , NOT 0 -- berarti 1 , NOT TRUE --
berarti FALSE , NOT FALSE -- berarti TRUE.
A NOT A
1 0
0 1
TRUE FALSE
FALSE TRUE
Tabel NOT
2. AND -- Tanda operator bitwise ini digunakan untuk membandingkan dua buah komponen,
yang menghasilkan nilai TRUE (benar) bila kedua komponen itu benar, dan menghasilkan
nilai FALSE (salah) bila salah satu atau kedua komponen itu salah. 1 AND 1 -- TRUE , 0
AND 0 -- FALSE , 1 AND 0 -- FALSE , 0 AND 1 -- FALSE.
A B A AND B
1 1 TRUE
1 0 FALSE
0 1 FALSE
0 0 FALSE
Tabel AND
3. OR -- Tanda operator bitwise ini digunakan untuk membandingkan dua buah komponen,
yang menghasilkan nilai TRUE bila salah satu dari kedua komponen tersebut TRUE. 1 OR 1
-- TRUE , 1 OR 0 -- TRUE , 0 OR 1 -- TRUE , 0 OR 0 -- FALSE.
A B A OR B
1 1 TRUE
1 0 TRUE
0 1 TRUE
0 0 FALSE
Tabel OR
4. XOR -- Tanda operator bitwise ini digunakan untuk membandingkan dua buah komponen,
yang menghasilkan nilai TRUE bila hanya salah satu dari dua komponen tersebut yang
benar. 1 XOR 1 -- FALSE , 1 XOR 0 -- TRUE , 0 XOR 1 -- TRUE , 0 XOR 0 -- FALSE.
A B A XOR B
1 1 FALSE
1 0 TRUE
0 1 TRUE
0 0 FALSE
Tabel XOR
5. NAND -- Tanda operator bitwise ini merupakan kebalikan dari tanda AND ( Not AND ) bila
AND TRUE maka NAND FALSE. Menghasilkan nilai FALSE bila kedua komponen yang
dibandingkan TRUE.
A B A NAND B
1 1 FALSE
1 0 TRUE
0 1 TRUE
0 0 TRUE
Tabel NAND
6. NOR -- Tanda operator bitwise ini merupakan kebalikan dari tanda OR ( Not OR ) bila OR
TRUE maka NOR FALSE. Menghasilkan nilai TRUE bila kedua komponen yang
dibandingkan FALSE.
A B A NOR B
1 1 FALSE
1 0 FALSE
0 1 FALSE
0 0 TRUE
Tabel NOR
DELPHI ADALAH PASCAL TAPI PASCAL BUKAN DELPHI
E. Operator Relasi (Relational Operator) - Operator ini digunakan untuk membandingkan dua
buah variabel atau ekspresi yang berbeda antara satu dengan yang lainnya atau sama antara satu
dengan yang lainnya. Operator ini mempunyai beberapa Tanda yaitu :
Tanda Operator Keterangan
= Sama dengan >>> Jeruk = Buah
> Lebih besar dari >>> 5 > 3
< Lebih kecil dari >>> 3 < 5
<> Tidak sama dengan >>> Jeruk < > Komputer
<= Lebih kecil atau sama dengan >>> x = 15 , x < = 20
>= Lebih besar atau Sama dengan >>> x = 15 , x > = 10
F. Operator Logika (Logical Operator) - Operator ini digunakan dalam operasi logika yang hanya
menghasilkan nilai TRUE atau FALSE. Berbeda dengan Operator Bitwise, operator ini justru
membandingkan nilai dari operator Bitwise tersebut. Penggunaan nya sama dengan Operator
Bitwise.
G. Operator Alamat (Address Operator) - Adalah operator yang mengakses alamat suatu variabel
di memory. Operator ini banyak digunakan bila program yang kita buat berhubungan dengan sistem
operasi. Hanya ada dua buah tanda operator yang disediakan oleh pascal untuk mengakses alamat di
memory yaitu tanda ( ^ ) dan ( @ ).
Untuk Operator ini saya tugaskan kepada Anda untuk mencari dari media atau situs yang lain, sebab
operator yang berhubungan dengan sistem terlalu panjang untuk di uraikan pada tutorial ini. Saya
khawatir kapasitas hosting yang disediakan di Web Server yang gratisan ini habis untuk
uses crt;
type
karakter = set of char;
var
huruf : karakter;
teks : string[255];
jumlah, I : word;
begin
clrscr;
writeLn('Ketiklah kata Apa saja dibawah ini :');
writeLn;
readLn(teks);
huruf := ['a'..'z','A'..'Z'];
jumlah := 0;
for I := 1 to ord(teks[0]) do
if teks[I] in huruf then
jumlah := jumlah+1;
writeLn;
writeLn('Jumlah huruf yang anda masukan = ',jumlah,' huruf');
writeLn('Kalau tidak percaya hitung saja sendiri !');
writeLn;writeLn;
writeLn('Tekan Enter untuk keluar');
readLn;
end.
I. Operator String (String Operator) - Operator string adalah suatu operator yang digunakan
untuk memanipulasi suatu string atau karakter yang akan ditampilkan pada layar. Operator ini boleh
dikatakan wajib untuk Anda kuasai. sebab semua program pascal yang membutuhkan tampilan
dilayar menggunakan operator string. Karena wajib, jadi walaupun pembahasan nya
agak panjang saya berusaha akan menjelaskannya seminimal dan sejelas mungkin, agar Anda
paham mengenai operator string ini. (sungguh menyakitkan, karena keterbatasan hiik ).
Kita lanjutkan, elemen-elemen Operator string ini antara lain :
1. Str - Elemen str digunakan untuk merubah nilai numerik menjadi string. Struktur penulisan
STR sebagai berikut :
Str( X : Y : Z , V ) >>> X = nilai numerik , Y = banyaknya angka , Z = banyaknya angka
dibelakang koma , dan V = nama variabel string perubahnya.
uses crt;
var
x : integer;
z1,z2 : string[8];
begin
clrscr;
x := 123;
Str(x:3,z1);
Str(x:3,z2);
writeLn('Nilai x = ',x);
writeLn('Operasi numerik x + x = ',x+x);
write('Operasi string x + x = ');
writeLn(z1+z2);
readLn;
end.
2. Val - Elemen Val digunakan untuk merubah nilai string menjadi Numerik. Struktur
penulisan Val sebagai berikut :
Val( X , Y , Z ) >>> X = nilai string , Y = variabel perubahnya , Z = tanda error. Tanda Error
diberikan bila kita ingin mengetahui dimana letak error atau kesalahan operasi Val dari suatu
string. Bila terjadi error maka nilai numerik dianggap kosong atau nol, sekarang cobalah
jalankan program dibawah ini kemudian lihat hasilnya, lalu Anda rubah nilai x := '123';
menjadi x := '123C' , maka operasi numerik akan menghasilkan angka 0 dan error
ditunjukan dengan angka 4, berarti ada kesalahan pada karakter ke 4 yaitu karakter C.
uses crt;
var
x : string[8];
z1,z2 : integer;
begin
clrscr;
x := '123';
Val(x,z1,z2);
writeLn('nilai x = ',x);
writeLn('Operasi numerik x + x = ',z1+z1);
write('Operasi string x + x = ');
writeLn(x+x);
writeLn('Error berada pada angka ke : ',z2);
readLn;
end.
var
nama : string[10];
buang : integer;
begin
clrscr;
nama := 'SURYATEKNO';
buang := 6;
delete(nama,buang,3);
writeln(nama);
readln;
end.
4. COPY - Elemen COPY digunakan untuk mengcopy sejumlah karakter string yang
diinginkan. Struktur penulisan COPY sebagai berikut :
COPY(X , Y , Z ) >>> X = String , Y = Urutan string , Z = Banyaknya string yang di Copy.
uses crt;
var
kata : string[10];
begin
clrscr;
kata := 'SURYATEKNO';
writeLn('Kata yang akan di copy : ',kata);
writeLn;
write('Copy 5 karakter pertama : ');
writeLn(copy(kata,1,5));
writeLn;
write('Copy 5 karakter terakhir : ');
writeLn(copy(kata,6,5));
writeLn;writeLn;
writeLn('Tekan Enter untuk keluar');
readLn;
end.
5. ConCat - Elemen ConCat digunakan untuk menambahkan suatu string pada string lainnya
yang sudah ada. Struktur penulisan ConCat sebagai berikut :
ConCat(X1,X2,X3,..,Xn) >>> X1 sampai Xn = String yang akan ditambahkan.
uses crt;
const
x1 = 'Saya';
X2 = 'belajar';
x3 = 'Pascal';
x4 = 'dari';
x5 = 'http://www.suryascience.co.nr';
xn = ' ';
begin
clrscr;
writeLn(concat(x1,xn,x2,xn,x3,xn,x4,xn,x5));
writeLn;
writeLn('Enter untuk keluar..!');
readLn;
end.
6. Pos - Elemen Pos digunakan untuk mencari posisi substring yang ada pada string yang
lainnya. Elemen Pos ini menghasilkan nilai Integer dari suatu barisan string. Struktur
penulisan elemen Pos sebagai berikut :
Pos( X , Y ) >>> X = Substring yang dicari , Y = String yang mengandung Substring.
uses crt;
Var
ketik : string[255];
huruf : char;
begin
huruf := 'a';
clrscr;
write('Ketik kata apa saja yang mengandung ');
writeLn('huruf a kecil dibawah ini :');
readLn(ketik);
writeLn;
writeLn('Kata yang Anda Ketik : ',ketik);
writeLn;writeLn;
writeLn('Huruf a pertama yang Anda ketik');
write('berada pada urutan ke - ',Pos(huruf,ketik));
writeLn(' dari kata yang Anda ketik');
writeLn;
readLn;
end.
7. Length - Elemen Length digunakan untuk menghitung jumlah substring dari string yang
dikehendaki. Elemen Length ini menghasilkan nilai Integer dari suatu barisan string.
Struktur penulisan elemen Length sebagai berikut :
Length( X ) >>> X = Substring yang dihitung dari sebuah string. Contoh dibawah ini
modifikasi dari elemen Pos diatas yang diganti dengan elemen Length.
uses crt;
Var
ketik : string[255];
begin
clrscr;
writeLn('Ketik kata apa saja dibawah ini :');
readLn(ketik);
writeLn;
writeLn('Kata yang Anda Ketik : ',ketik);
writeLn;writeLn;
write('Jumlah Huruf yang Anda ketik ada ');
writeLn(Length(ketik),' huruf termasuk spasi.');
writeLn;
readLn;
end.
8. CHR - Elemen CHR digunakan untuk merubah nilai bytes menjadi karakter ASCII. Struktur
penulisan elemen CHR sebagai berikut :
CHR( X ) >>> X = angka dari 0 sampai 255.
uses crt;
var
x : byte;
lagi : char;
begin
lagi := 'Y';
while (upcase(lagi)='Y') do
begin
clrscr;
write('Kode ASCII yang ingin ');
write('Anda Lihat ! (0-255) : ');readLn(x);
writeLn;
writeLn('Kode ASCII nya adalah : ',CHR(x));
writeLn;
write('Mau lihat lagi ? (y/t) : ');
readLn(lagi);
end;
end.
9. ORD - Elemen ORD kebalikan dari CHR yaitu memasukan nilai ASCII untuk dirubah
menjadi bentuk Integer. Struktur penulisan elemen ORD sebagai berikut :
ORD( X ) >>> X = Karakter ASCII. Contoh kode ASCII untuk huruf kapital S adalah 83
uses crt;
var
x : char;
lagi : char;
begin
lagi := 'Y';
while (upcase(lagi)='Y') do
begin
clrscr;
writeLn('Ketik huruf atau karakter yang ingin ');
write('Anda lihat nilai kode ASCII nya ! : ');readLn(x);
writeLn;
writeLn('Nilai Kode ASCII ',x,' adalah : ',ORD(x));
writeLn;
write('Mau lihat lagi ? (y/t) : ');
readLn(lagi);
end;
end.
10.UpCase - Elemen Upcase digunakan untuk merubah huruf kecil menjadi huruf besar.
Struktur penulisan elemen UpCase sebagai berikut :
UpCase( X ) >>> X = huruf yang akan dirubah.
uses crt;
var x : char;
begin
clrscr;
write('Ketik satu Huruf kecil : ');readLn(x);
writeLn('Huruf yang diketik jadi : ',UpCase(x));
readLn;
end.
11.Insert - Elemen Insert digunakan untuk menyisipkan sebuah karakter pada karakter yang
sudah ada. Struktur penulisan elemen Insert sebagai berikut :
Insert( X , Y , Z ) >>> X = String yang akan di sisipkan , Y = String yang disisipkan , Z =
Urutan string tempat penyisipan string. Maksimum panjang string yang disisipkan dengan
yang akan disisipkan berjumlah 255 karakter.
uses crt;
var str_asli : string[25];
begin
str_asli := 'Surya Putra Tenokindo';
clrscr;
write('String Asli sebelum disipkan : ');
writeLn(str_asli);
writeLn;
writeLn('Menyisipkan huruf k pada kata Tenokindo.');
writeLn;
Insert('k', str_asli , 15);
write('String yang sudah disisipkan jadi : ');
writeLn(str_asli);
readLn;
end.
lagi lah !. .
Tampilan Delphi 6
sendiri .
Setelah Anda letakkan unit-unit yang ada secara sembarangan, cobalah Anda klik RUN atau tekan
tombol F9. Tidak akan terjadi apa-apa sekalipun Anda tekan tombol button yang Anda letakkan di
form kosong dalam mode RUN berkali-kali, sebelum Anda memberikan event pada unit tersebut....!
misalkan saya menjitak kepala Anda.. , misalkan..!. Tentunya Anda akan bereaksi
dengan menendang saya misalnya atau mungkin Anda akan membalasnya dengan menjitak kepala
saya lagi, atau setidaknya Anda akan marah kepada saya. Begitu juga Event dalam Delphi, unit-unit
yang Anda letakkan pada form kosong tersebut tidak akan bereaksi sebelum Anda memberikan
suatu kejadian yang membuat tombol tersebut bereaksi terhadap unit yang lainnya. Bagaimana
caranya membuat EVENT ?, mudah saja sebab Anda sudah mempelajari Bahasa Pascal, hanya
sedikit penyesuaian yang perlu Anda lakukan. OK sekarang kita mulai mencoba bagaimana caranya
membuat event dalam Delphi, sebelumnya tutup form yang sudah diletakkan unit-unit sampah yang
mungkin saja Anda mengikuti saya untuk meletakkan unit-unit tersebut secara tidak karuan.
Caranya : Klik File -- Close All kemudian Delphi akan menanyakan kepada Anda Apakah proyek
akan disimpan ?, jawab saja tidak. Kemudian klik lagi File -- New -- Pilih Aplication , maka form
baru akan dibuatkan lagi oleh Delphi.
Setelah form baru dibuatkan oleh Delphi, sekarang Anda lihat window disebelah kiri. Disitu ada
yang namanya OBJECT INSPECTOR. Kalau tidak ada klik View - klik object inspector atau
tekan tombol F11. Pada OI Properties ( Selanjutnya saya akan menyebut Object Inspector ini
dengan istilah OI, ingat baik-baik sebab cape ketiknya.) cari bacaan ClientHeight dan
ClientWidth, rubah nilainya menjadi ClientHeight 200 dan ClientWidth 300 , maka ukuran form
kosong yang dibuatkan oleh delphi akan berubah ukurannya menjadi 200 X 300 Pixel. Setelah itu
cari di OI kata Caption rubah nama nya menjadi Latihan 1.
Setelah selesai dengan pengaturan ukuran form, sekarang letakkan Unit Label pada form tersebut,
Atur posisinya agar berada diatas tapi jangan terlalu atas. Klik sekali unit label1, pada OI rubah
Caption nya dengan : Hallo Delphi Saya datang..! , kemudian rubah ukuran font nya dengan cara
mengklik FONT pada OI, setelah itu klik tanda ANCHOR yang berbentuk titik 3 ( ... )
disampingnya, maka akan dikeluarkan window untuk merubah ukuran font. Pilih jenis font nya
Arial dengan ukuran 16. Masih di OI untuk label1, sekarang cari di OI kata Name, rubah namanya
menjadi Teks1. Kemudian cari lagi di OI kata Visible , rubah menjadi False.
Setelah selesai dengan pengaturan Label, sekarang letakkan dua buah Unit Button pada form, atur
letaknya secantik mungkin ganti caption untuk button1 menjadi Tampil dan button2 menjadi
Sembunyi , setelah itu kita berikan event pada kedua tombol tersebut. Klik dua kali tombol
Tampil, maka command event akan dikeluarkan, lalu ketik perintah berikut ini teks1.visible :=
True; , Kemudian klik tombol Shift+F12 pilih form1, untuk menampilkan form lagi bila terhalangi
oleh command event. Setelah form ditampilkan lagi sekarang klik dua kali tombol Sembunyi , pada
command event ketik perintah berikut : teks1.visible := False; . Setelah itu tekan tombol Shift+F12
lagi untuk menampilkan form. Perlu diingat, Anda hanya menambahkan perintah diatas saja,
sedangkan perintah yang otomatis diberikan oleh delphi tidak perlu dirubah. Lihat cara penulisan
event dibawah ini.
procedure Tform1.Button1Click(sender : TObject); >> dibuat oleh delphi.
begin >> dibuat oleh delphi.
Ketik disini perintah diatas
end; >> dibuat oleh delphi.
Setelah semuanya diberi event, sekarang tekan tombol F9 untuk melihat hasil kerja Anda. Kalau
Anda benar, maka tampilannya akan seperti gambar dibawah ini. Jika tombol tampil Anda klik
maka teks Hallo Delphi saya datang akan ditampilkan, sebaliknya bila tombol sembunyi Anda klik
maka teks tersebut akan hilang lagi.
Terlalu mudah...!, Apa..! . OK setelah Anda simpan pekerjaan Anda, Klik file -- Close
All. Setelah di close sekarang buka file project yang telah Anda buat, klik file -- open project -- pilih
latpro1.dpr -- klik ok. Tambahkan unit-unit baru pada latpro1.dpr yang telah Anda buat dengan dua
buah button dan satu buah memo, atur letaknya sehingga seperti gambar dibawah ini :
Modifikasi latihan 1
Rubah caption untuk button3 jadi Rubah Teks dan button4 dengan Selesai , berikan event pada
button Rubah Teks dengan teks1.Caption := memo1.Text; dan button Selesai dengan
form1.close; Jalankan lagi latpro1.dpr lihat hasilnya. Sekarang teks yang ada di atas yaitu Hallo
Delphi saya datang , bisa Anda rubah dengan memasukan teks pada memo dan mengklik tombol
Rubah Teks, sedangkan tombol selesai bila di klik maka program akan keluar. Latihlah kemampuan
membuat event yang telah Anda pelajari disini dengan merubah-rubah value yang ada pada OI.
Berhubung jari jemari saya sudah pada pegal, selain itu saya juga harus mengatur sisa space yang
disediakan oleh Web Hosting ( sisa 1 Mega Bytes ) , maka sampai disini dulu tutorial ini, Insya
Allah disambung lagi minggu depan setelah saya membersihkan space di Web Hosting yang sudah
tidak terpakai.
Kami juga memohon bantuan dari Anda untuk berpartisipasi menjalankan program Suryatekno,
agar bisa memiliki Domain dan Web Hosting sendiri sehingga tidak terbatas lagi seperti saat ini.
Untuk lebih jelasnya silahkan Anda menuju Halaman Donasi klik link ini.( Masuk Halaman
Donasi ). Atas partisipasi Anda sebelum dan sesudahnya kami ucapkan banyak terima kasih.