welcome

Loading...

yuhuuuu.."

Search Engine



translate

English French German Spain Italian Dutch Russian Portuguese Japanese Korean Arabic Chinese Simplified

Jumat, 19 Juni 2009


SEJARAH TENTANG PASCAL
Pencipta bahasa Pascal adalah Niklaus Wirth (EidgenÖssische Technishe Hochshule, Zurich, Swiss). Nama Pascal sendiri diambil untuk mengenang dan mengabadikan seorang matematikawan Perancis bernama Blaise Pascal (1623-1662), penemu mesin penjumlah mekanis yang pertama kali.
Bahasa Pascal lahir sebagai hasil pengembangan dari bahasa ALGOL-60. Versi pertama Pascal muncul pada tahun 1970 dan laporan pertama mengenai bahasa baru ini dipublikasikan pada tahun 1971. Pada tahun 1974, buku berjudul Pascal User Manual and Report dipublikasikan. Buku ini ditulis oleh Niklaus Wirth dan Kathleen Jensen.
Tercatat pada tahun 1992, Turbo Pascal versi 7.0 telah dirilis. Turbo Pascal merupakan bahasa pemrograman yang serba guna. Dapat digunakan untuk tujuan komputasi, pembuatan permainan (game) ataupun masalah-masalah yang lain. Turbo Pascal bukan sekedar kompiler. Turbo Pascal menyediakan suatu lingkungan terpadu (dikenal dengan sebutan IDE, Intergrated Development Environment), yang diantaranya berisi:
Ø Kompiler (untuk mengkompilasi program menjadi suatu objek yang dipahami oleh komputer)
Ø Debugger (untuk membantu mencari kesalahan program)
Ø Linker (untuk menggabungkan file objek dan file pustaka serta membentuk file executable)
Ø Editor (untuk menulis program sumber)

MEMULAI TURBO PASCAL
Mulai Menggunakan Turbo Pascal
Untuk memulai menggunakan Turbo Pascal terdapat 3 langkah, yaitu:
Langkah 1:
Sebelum memulai bekerja dengan Turbo Pascal yang pertama kali, ada baiknya membuat subdirektori bernama LATIHAN pada direktori tempat perangkat lunak Turbo Pascal diletakkan. Subdirektori ini digunakan untuk menaruh program-program yang hendak kita buat. Perintah DOS yang digunakan untuk menciptakan direktori tersebut adalah:
MKDIR\TP\LATIHAN
Langkah 2:
Setiap akan hendak bekerja dengan Turbo Pascal, jangan lupa untuk menjadikan \TP\LATIHAN sebagai direktori kerja. Perintahnya adalah:
CD\TP\LATIHAN
Langkah 3:
Ketik TURBO (atau BP untuk Borland Pascal) dan tekan ENTER.
D:\TP\LATIHAN>TURBO
Turbo Pascal memiliki menu batang pada bagian atas layar. Item-item dari menu ini berupa:
v File
Berisi berbagai perintah untuk operasi yang berhubungan dengan file, seperti:
- membuat program baru,
- menyimpan file,
- mencetak program ke printer,
- memuat program ke editor,
- mengubah direktori kerja,
- keluar ke DOS untuk sementara,
- keluar dari Turbo Pascal
v Edit
Berisi berbagai perintah yang berhubungan dengan operasi penyuntingan program, seperti:
- menyalin dan membuang teks,
- melihat isi clipboard
v Search
Di antaranya berguna untuk mencari dan mengganti teks.
v Run
Di antaranya untuk:
- menjalankan/mengeksekusi program,
- mengatur eksekusi perintah per langkah,
- mengisikan parameter baris perintah.
v Compile
Di antaranya untuk:
- mengkompilasi program ke disk atau ke memori,
- mengkompilasi secara cerdas terhadap program yang multifle,
- menampilkan informasi mengenai program, memori dan EMS.
v Debug
Untuk melakukan debugging (pencarian kesalahan).
v Tools
Di antaranya untuk menampilkan jendela pesan kesalahan.
v Option
Untuk mengatur berbagai pilihan untuk:
- Debugger.
- Linker.
Pengaturan direktori untuk file EXE hasil kompilasi program, letak file include, TPU, unit dan objek juga dilakukan melalui menu pilihan ini.
v Window
Di antaranya untuk menutup jendela yang sedang aktif, memperbesar ukuran
jendela, memilih jendela aktif.
v Help
Berisi berbagai bantuan yang disediakan Turbo Pascal।

Menulis Program
Setelah layar muncul, kita dapat memulai untuk membuat program. Caranya adalah:
1) Pilih menu File (Alt+F),
2) Pilih New
Sebagai contoh, dapat ditulis :
PROGRAM Lat1;
BEGIN
Writeln(‘Selamat Belajar Turbo Pascal’);
END

Perintah Editor
Editor Turbo Pascal menyerupai Wordstar (program pengolah kata yang sangat popular). Bila kita telah mengenal pengolah kata tersebut, akan segera mengetahui editor Turbo Pascal.
Berikut tabel berisi sejumlah perintah pada editor Turbo Pascal.
Tombol
Keterangan
atau Ctrl+E
Kursor ke atas
atau Ctrl+X
Kursor ke bawah
atau Ctrl+D
Kursor ke kanan 1 karakter
Ctrl+S
Kursor ke kiri 1 karakter
Ctrl+A
Kursor ke kiri 1 kata
Ctrl+F
Kursor ke kanan 1 kata
PgDn
Ke bawah 1 layar
Ctrl+Y
Menghapus 1 baris pada posisi kursor
Ctrl+N
Menyisipkan 1 baris
Ctrl+T
Menhapus 1 kata pada posisi kursor

Menyimpan Program
Program yang telah dibuat atau dimodifikasi sebaiknya disimpan ke disk terlebih dahulu sebelum dijalankan. Langkah ini perlu dilakukan agar program yang baru saja ditulis tidak hilang bila komputer mendadak mati pada saat program dieksekusi atau karena sebab-sebab lain.
Cara menyimpan program adalah sebagai berikut:
1) Pilih menu File (Alt+F),
2) Pilih File Save

Menjalankan/Mengeksekusi Program
Untuk menjalanka program yang telah berada pada editor, yaitu:
1) Pilih menu Run (Alt+R),
2) Pilih Run
Langkah ini menyebabkan:
v Program akan dikompilasi terlebih dahulu (kecuali kalau pernah dikompilasi dan tidak ada perubahan lagi)
v Sekiranya tak ada kesalahan sintaks pada program, dan program akan segera dijalankan
Ke dua langkah untuk menjalankan program diatas
dapat disederhanakan dengan menekan tombol Ctrl+F9

Melihat Hasi Program
Setelah langkah diatas dijalankan, dapat melihat hasil program dengan cara sebagai berikut:
1) Pilih menu Debug (Alt+D)
2) Pilih Output
Cara lain untuk melihat hasil program adalah sebagai berikut:
1) Pilih menu Debug (Alt+D)
2) Pilih User screen
Dan untuk menutup jendela output adalah sebagai berikut:
1) Pilih menu Window (Alt+W)
2) Pilih menu Close

Menutup Program
Program yang sedang berada pada editor sekarang (tempat kursor berada) dapat ditutup dengan cara sebagai berikut:
1) Tekan Alt+W (menu Window)
2) Pilih Close

MENGENAL ELEMEN DASAR TURBO PASCAL
Karakter
Elemen terkecil pada Turbo Pascal adalah karakter. Karakter dapat berupa:
v Huruf (A sampai dengan Z, a sampai dengan z),
v Angka (0 sampai dengan 9),
v Simbol khusus,
v Spasi,
v Karakter kontrol (karakter dengan nilai ASCII dibawah 32, misalnya Tab dan Backspace),
v Karakter ASCII tidak standar pada PC (karakter nilai ASCII antara 128 hingga 255).
Simbol khusus pada Turbo Pascal dapat beupa:
+ - * / = < > [ ] , ( ) : ; ^ . @ { } $ #
Selain itu juga terdapat simbol khusus yang berupa karakter tunggal, ada sejumlah simbol khusus yang tersusun atas dua karakter. Kedua karakter pada simbol-simbol seperti ini tidak boleh ditulis dengan diantarai oleh spasi.
Simbol Khusus Dua Karakter
Simbol
Keterangan
<= Operator relasi >=
Operator relasi
:=
Operator penugasan
<>
Operator relasi
(*
Tanda awal komentar
*)
Tanda akhir komentar
(.
Identik dengan [
.)
Identik dengan ]
..
Tanda subjangkauan

Kata Tercadang
Turbo Pascal mencadangkan beberapa kata sebagai kata yang mempunyai makna khusus, dan disebut sebagai kata –tercadang (reserved word). Kata-kata yang tergolong sebagai kata-tercadang tidak boleh dipakai menamai label, tipe, variable, konstanta bernama atau prosedur dan fungsi, field dari record, program dan unit.
Daftar kata-tercadang Turbo Pascal :
and asm array begin
case const constructor destructor
div do downto else
end exsports file for
function goto if implementation
in inherited inline interface
label library mod nil
not object of or
packed procedure program record
repeat set shl shr
string then to type
unit until uses var
while with xor

Pengenal
Pengenal (identifier) merupakan elemen nama yang banyak dipakai di dalam program. Pengenal digunakan untuk memberikan nama terhadap:
v tipe data buatan,
v label,
v variabel,
v konstanta bernama,
v program,
v unit
v field dari record,
v prosedur, serta
v fungsi

Nama pengenal yang salah
Penyebab kesalahan
Semester 1
Ada spasi
12bulan
Diawali dengan angka
Bulan-2
Ada tanda minus

Tipe Data
Tipe data pada Turbo Pascal dapat dibagi dua, yaitu:
1) Tipe ordinal
Adalah suatu tipe yang mempunyai jumlah kemungkinan data yang pasti. Termasuk dalam kategori tipe datai ini, yaitu:
Ø Tipe Bilangan Bulat (integer)
Tipe Data
Jangkauan Nilai
Ukuran Memori
Shortint
-128 s/d 127
1 byte
Integer
-32.768 s/d 32.767
2 byte
Longint
-2.147.483.648 s/d 12.147.483.647
4 byte
Byte
0 s/d 255
1 byte
Word
0 s/d 65.535
2 byte

Ø Tipe Boolean
Adalah suatu tipe data yang berisi nilai dengan kemungkinan hanya berupa:
- False (nilai salah)
- True (nilai benar)
Pada Turbo Pascal sebenarnya ada 4 tipe data yang berkaitan dengan Boolean, yaitu:
§ Boolean (sesuai ukuran Byte)
§ WordBool (sesuai ukuran Word)
§ LongBool (sesuai ukuran Long)
§ ByteBool (sesuai ukuran Byte)

Ø Tipe Char
Adalah tipe yang berisi sebuah karakter. Dalam hal ini dapat berupa karakter apa saja. Misalnya: ‘A’, ‘a’, ‘$’, #27,dsb.

Ø Tipe String
Tipe ini sebenarnya bukanlah termasuk tipe data dasar (sederhana). Tipe ini merupakan pengembangan dari tipe char. Berikut contoh penulisan tipe string:
‘Ayo Belajar Turbo Pascal’

2) Tipe real.
Adalah tipe yang berkaitan dengan bilangan real.
Tipe Data
Jangkauan Nilai
Ketelitian (digit)
Ukuran Memori
Real
±2,9x10-39 s/d 1,7x1038
11 s/d 12
6 byte
Single
±1,5x10-45 s/d 3,4x1038
7 s/d 8
4 byte
Double
±5,0x10-324 s/d 1,7x10308
15 s/d 16
8 byte
Extended
±5,0x10-4951 s/d 1,1x104932
19 s/d 20
10 byte
Comp
±263 s/d 263-1(-9,2x1018 s/d 9,2x1018)
19 s/d 20
8 byte

Konstanta
Konstanta (atau biasa juga dinamakan literal) adalah suatu nilai yang tetap berada di dalam program. Beberapa jenis konstanta, yaitu:
Ø Konstanta bilangan bulat
Contoh:
Konstanta
Keterangan
356
Bilangan 356
-27
Minus 27
+58
Identik dengan bilangan 58
Konstanta bilangan dapat dinyatakan dengan notasi heksadesimal (bilangan berbasis 16). Pada sistem bilangan ini, simbol bilangan yang digunakan berupa 0 sampai dengan 9, kemudian A sampai dengan F.
Contoh:
Konstanta
Keterangan
$10
Identik dengan bilangan 16
$A
Identik dengan bilangan 10
$FF
Identik dengan bilangan 255

Ø Konstanta bilangan real
- Tanda pecahan ditulis dengan tanda titik (bukan koma).
Contoh:
Konstanta
Keterangan
25.6
Berarti: 25,6
6000
Tanpa tanda pecahan
+5.234
Identik dengan: 5.234 (berarti: 5,234)
- Bila ditulis dengan notasi eksponensial, menggunakan tanda E atau e.
Contoh:
Konstanta
Keterangan
1.2E+02
Menyatakan nilai 1,2 x 102
1.2E2
Sama dengan di atas
1.2e-5
Menyatakan nilai 1.2 x 10-5
1.2E-5
Identik dengan 1.2e-5
Contoh penulisan konstanta real yang salah
Konstanta
Keterangan
1.200,50
Konstanta real hanya boleh mengandung tanda titik
23.
Sesudah tanga titik harus ada koma
1 23.4
Konstanta harus ditulis tanpa spasi
5.23 E 27
Di depan maupun di belakang tanda E tidak boleh ada spasi

Ø Konstanta karakter
- Suatu konstanta karakter ditulis dengan awalan dan akhiran berupa petik tunggal.
Contoh:
Konstanta
Keterangan
‘A’
Konstanta huruf A
‘a’
Konstanta huruf a
‘2’
Konstanta angka 1 (berbeda dengan angka 1)
‘*’
Konstanta simbol *

Konstanta spasi (di antara petik tunggal terdapat sebuah spasi)
‘’’
Konstanta petik tunggal (Tanda petik tunggal di antara petik tunggal ditulis dua kali)

Ø Konstanta string
- Dapat terdiri dari sederetan sembarang karakter (huruf, angka maupun simbol)
- Penulisan diawali dan diakhiri dengan tanda petik tunggal (‘)
Contoh:
‘Jalan Hayam Wuruk Tengah 235/G Jakarta’
‘2 * 3 = 6’

Ø Konstanta Boolean
Konstanta Boolean berupa True dan False saja.

Variabel
Variabel biasa digunakan di dalam program dengan tujuan untuk menaruh data. Nilai yang ada padanya dapat diubah sewaktu-waktu. Jumlah variable yang dapat diciptakan oleh pemrogram tidak terbatas. Namun masing-masing variabel tersebut harus bersifat unik, tidak boleh ada variable yang mempunyaui nama yang sama.
PROGRAM Variabel;
{ ------------------------------------------------ }
{ Contoh untuk menunjukkan program yang mengandung }
{ ------------------------------------------------ }
USES Crt;
VAR
Jumlah : Integer; { Deklarasi variable jumlah }
BEGIN
Jumlah : =23; { Memberi nilai terhadap variabel}
Writeln(Jumlah); { Menampilkan isi variabel }
END.

Hasil:
23

STRUKTUR PROGRAM
Struktur Program Yang Lengkap
Sebuah program Pascal yang lengkap tersusun atas 3 bagian:
1. Kepala program
2. Bagian deklarasi
3. Bagian pernyataan
Urutan bagian-bagian diatas, letaknya di dalam program sesuai dengan penomerannya. Pada Turbo Pascal, diantara kepala program dan bagian deklarasi seringkali terdapat klausa USES. Klausa ini berkaitan dengan penggunaan rutin yang ada di dalam suatu unit. Contoh:
USES Crt;
sudah biasa digunakan, mengingat kita memakai perintah:
Clrscr;
yang berguna menghapus layer

Kepala Program
Kepala program diawali dengan kata-tercadang PROGRAM, lalu diikuti dengan nama program dan tanda titik koma.
PROGRAM nama;
Dalam hal ini nama mengikuti aturan pengenal. Contoh:
PROGRAM Lat1;
PROGRAM NilaiTes;
Program Turbo Pascal, judul program hanya bersifat opsional.
Turbo Pascal juga mendukung bentuk kepala program yang biasa digunakan dalam Pascal standar.
PROGRAM nama (daftar_file)
Misalnya:
PROGRAM nama (output);
Untuk menyatakan bahwa operasi yang dilakukan hanya bersifat keluaran.

Bagian Deklarasi
Bagian deklarasi dapat berupa sejumlah bagian, yaitu:
· Bagian deklarasi label,
· Bagian deklarasi konstanta,
· Bagian deklarasi tipe,
· Bagian deklarasi variabel,
· Bagian deklarasi subprogram.

PROGRAM Dekla;
{ ----------------------------------- }
{ Contoh deklarasi yang lengkap. }
{ ----------------------------------- }
USES Crt;
LABEL
Selesai;
CONST
PHI = 3.14;
TYPE
BilanganNyata = Real;
VAR
JariJari : BilanganNyata ;
PROCEDURE HitungLuas(Radius : BilanganNyata);
BEGIN
Clrscr;
Writeln(‘Luas = ‘, 0.5 * PHI * Radius * Radius);
END;
BEGIN { Program utama }
JariJari := 10.5;
HitungLuas {JariJari}
GOTO Selesai;
Writeln(‘Lho, kok saya dilewati’);
Selesai:
Writeln(‘Selesai…’);
END.
Hasil:
Luas = 1.7309250000E+02

Bagian Pernyataan
Bagian pernyataan dari suatu program berbentuk:
BEGIN
pernyataan;

Pernyataan
END.
Bagian ini diawali kata-tercadang BEGIN, diikuti nol atau sejumlah pernyataan dan kemudian diakhiri dengan kata-tercadang END dan tanda titik (.).

Deklarasi Label
Label berguna untuk menandai suatu pernyataan. Tanda ini selanjutnya dapat diacu oleh suatu pernyataan (yaitu GOTO).
Bentuk yang lebih umum untuk mendeklarasikan label:
LABEL
daftar_label;
daftar_label berupa satu atau beberapa nama label. Jika ada lebih dari satu label, antara label satu dengan label berikutnya perlu diberi tanda pemisah yang berupa koma.

Deklarasi Konstanta
Cara mendeklarasikan konstanta yang mempunyai nama adalah dengan menggunakan CONST, dengan format sebagai berikut:
CONST
pengenal = nilai;

pengenal = nilai;
Sebagai contoh:
CONST
PHI = 3.141593
mendefinisikan konstanta bernama PHI dengan nilai 3.141593
Setelah konstanta PHI didefinisikan, PHI tidak dapat diubah. Pernyataan seperti:
PHI = 3.14;
tidak diperkenankan

Deklarasi Tipe
Pascal memperkenankan pemrogram untuk membuat sendiri suatu tipe data baru. Hal ini dilakukan pada bagian deklarasi tipe. Bentuk umumnya:
TYPE
nama_tipe_1 = tipe_1;

nama_tipe_n = tipe_n;
Dalam hal ini:
§ nama_tipe berupa suatu pengenal,
§ Tipe dapat berupa sebarang tipe data

Deklarasi Variabel
Sebelum suatu variabel dapat digunakan pada bagian pernyataan, variabel haruslah dideklarasikan terlebih dahulu. Bentik pendeklarasiannya:
VAR
nama_variabel_1 : tipe_1;

nama_variabel_2 : tipe_2;
Dalam hal ini nama_variabel berupa pengenal dan tipe dapat berupa tipe standar Turbo Pascal (misalnya Real dan Integer) ataupun tipe yang dibuat pada bagian TYPE.
Perlu diketahui, sekiranya terdapat dua atau lebih variabel yang bertipe sama, pendeklarasiannya dapat ditulis dengan format:
variabel1, variabel2, variabel3 : tipe;

Deklarasi Subprogram
Bagian deklarasi subprogram digunakan untuk mendeklarasikan subprogram (prosedur atau fungsi yang kita buat sendiri).
Contoh:
PROCEDURE Hitung (Radius : BilanganNyata);
BEGIN
Clrscr;
Writeln(‘Luas = ‘, 0.5 * PHI * Radius);
END.
Perbedaan antara prosedur dan fungsi
Prosedur
Fungsi
Berdiri sendiri sebagai pernyataan
Berdiri sebagai operand dalam ekspresi
Tidak memberikan hasil saat prosedur dipanggil
Memberikan hasil berupa suatu nilai saat fungsi dipanggil

OPERASI KELUARAN DAN MASUKAN
Operasi Keluaran ke Layar
Pernyataan yang digunakan untuk menampilkan informasi ke layer adalah Writeln. Selain Writeln, juga terdapat pernyataan lain, yaitu Write.
a. Pernyataan Writeln
Writeln dapat menerima argument bertipe data dasar (seperti Real, Integer) dan bahkan String. Sebagai contoh:
Writeln(20.13); {Argumen bertipe real}
Writeln(678); {Argumen bertipe integar}
Writeln(True); {Argumen bertipe Boolean}
Writeln(‘A’); {Argumen bertipe char}
Writeln(‘Turbo Pascal); {Argumen bertipe string}
Writeln juga dapat menerima suatu ekspresi. Misalnya:
Writeln(2*3+5);
Akan menampilkan hasil ekspresi: 2*3+5
Jumlah pada Writeln bisa lebih dari satu. Masing-masing argumen dapat berbeda tipe. Antar argument perlu dipisahkan dengan koma (,). Contoh:
Writeln(‘Jumlah Barang: ‘,JumBrg);
Pada contoh di atas ada dua argumen. Argumen pertama berupa string dan argument kedua berupa variabel.
Contoh Program yang menunjukkan hasil tampilan berbagai tipe data oleh Writeln.
PROGRAM writl;
{ ------------------------------------- }
{ Contoh untuk menunjukkan efek Writeln }
{ terhadap berbagai tipe data. }
{ ------------------------------------- }
USES Crt;
VAR
Harga : Real;
Jumlah: Integer;
BEGIN
Clrscr; {Hapus layar}
Harga := 500.25;
Jumlah := 10;
Writeln(‘1234567890123456789012345678901234567890’);
Writeln(Jumlah, Jumlah);
Writeln(Jumlah, -Jumlah);
Writeln(Harga, Harga);
Writeln(Harga, -Harga);
Writeln(‘Harga Total’, Harga * Jumlah);
END.

Hasil:
1234567890123456789012345678901234567890
1010
10-10
5.0025000000E+02 5.0025000000E+02
5.0025000000E+02-5.0025000000E+02
Harga Total 5.0025000000E+03

Pernyataan Write
Pernyataan Write mempunyai kegunaan yang serupa dengan pernyataan Writeln. Perbedaan utamanya adalah:
- Writeln menanmahkan LF dan CR setelah menampilkan data semua argumennya
- Write tidak menambah LF dan CR
Berdasarkan hal ini, Write akan menyebakan tulisan pada Write atau Writeln berikutnya terletak pada baris yang sama. Contoh:
Writeln(‘Turbo’);
Writeln(‘Pascal’);
Hasilnya:
Turbo
Pascal
Adapun:
Write(‘Turbo’);
Writeln(‘Pascal’);
Memberikan hasil:
Turbo Pascal
Write biasa digunakan kalau tulisan berikutnya (entah dengan Write atau Writeln) hendak ditampilkan pada baris yang sama. Misalnya yntuk menuliskan elmen-elemen matriks.akkan kalau tulisan berikutnya (entah dengan Write atau Writeln)utnya terletak pada baris yang sama.
Pernyataan Masukan dari Keyboard
Pernyataan yang biasa dipakai untuk memasukkan data dari keyboard adalah Read dan Readln. Perbedaan kedua pernyataan ini terletak pada sifatnya dalam menangani kelebihan data.
§ Read Pernyataan ini tidak akan membuang kelebihan data. Kelebihan data
akan diberikan pada Read atau Readln berikutnya.
§ Readln Pernyataan ini menyebabkan kelebihan data akan dibuang (tidak
diberikan ke Read atau Readln).
Ea.
a sifatnya dalam menangani kelebihan dkan data dari keyboard adalah Read dan Readln. Perbedaan kedua pernyataan ini
Mencetak Informasi ke Printer
Program yang digunakan bila kita akan mencetak informasi, harus dengan menyebutkan:
USES Printer;
Jelasnya format untuk mencetak informasi ke printer adalah sebagai berikut:
Write(Lst, informasi,..)
atau
Writeln(Lst, informasi,…)

Contoh:
PROGRAM Cetak;
{ ------------------------------------------------- }
{ Contoh program untuk mengirimkan tulisan }
{ ke layar dan printer. }
{ ------------------------------------------------- }
USES Crt, Printer; { Unit Printer dilibatkan }
BEGIN
Clrscr;
Writeln(‘Tulisan ini dikirim ke layar’);
Writeln(‘Lat, ‘Tulisan ini dicetak ke printer’);
Writeln(‘Lat, ‘Begitu juga tulisan ini’);
END.

PERNYATAAN IF DAN CASE
Pernyataan IF
Pernyataan IF terdiri atas:
a) Pernyataan IF Sederhana
Pernyataan ini bentuknya:
IF kondisi THEN
pernyataan
Pada bentuk ini, pernyataan akan dijalankan kalau kondisi True. Berikut contoh program pernyataan ini.
PROGRAM Suhu;
{ --------------------------------------- }
{ Contoh sederhana pemakaian IF }
{ --------------------------------------- }
USES Crt;
VAR
Suhu : Real;
BEGIN
Clrscr;
Write(‘Suhu tubuh : ‘);
Readln(Suhu);
IF Suhu > 37 THEN;
Writeln(‘Suhu tinggi !’);
Writeln(‘Selesa’);
END.
Hasil:
Suhu tubuh : 37
Selesai

b) Pernyataan IF ELSE
Bentuk pernyataannya:

IF kondisi THEN
pernyataan_1
ELSE
pernyataan_2

Pada bentuk ini :
§ pernyataan_1 hanya akan dijalankan kalau kondisi bernilai True (benar)
§ pernyataan_2 hanya akan dijalankan kalau kondisi bernilai False (salah)

c) Pernyataan IF Bersarang
Suatu pernyataan IF dapat mengandung pernyataan IF yang lain. Bentuk seperti ini biasa disebut IF bersarang (nested IF).
Contoh:
IF kondisi THEN
IF kondisi2 THEN
pernyataan_1;
ELSE
pernyataan_2;

Untuk memudahkan pembacanya, tuliskan IF dan ELSE yang berpasangan pada kolom yang sama. Selain itu aturlah dengan memasukkan bagian yang tergantung dari IF agak sedikit masuk ke kanan. Penulisan seperti:
IF kondisi1 THEN
IF kondisi2 THEN
pernyataan_1;
ELSE
pernyataan_2;

Pernyataan CASE
Merupakan alternatif dari pernyataan IF untuk masalah dengan pilihan berganda. Pada masalah tertentu, CASE lebih memberikan kejelasan daripada IF. Namun perlu diketahui bahwa semua persoalan yang dapat ditangani oleh CASE bisa ditangani oleh IF, tetapi tidak sebaliknya.
Pernyataan CASE biasanya dipakai pada pilihan berganda. Bentuk pernyataannya adalah sebagai berikut:
CASE nilai OF
daftar_nilai_1 : pernyataan_1;
daftar_nilai_2 : pernyataan_2;

daftar_nilai_m : pernyataan_m;
ELSE
pernyataan_n
END

Contoh programnya:
PORGRAM Case2;
{ ---------------------------------- }
{ Contoh pemakaian koma di dalam CASE }
{ ---------------------------------- }
USES Crt;
VAR
KodeBulan : Integer;
BEGIN
Clrscr;
Write(‘Kode bulan [1..12] : ‘);
Readln(KodeBulan);

CASE KodeBulan OF
1, 3, 5, 7, 8, 10, 12:
Writeln(‘Jumlah hari = 31’);
4, 6, 9, 11 :
Writeln(‘Jumlah hari = 30’);
2 :
Writeln(‘Jumlah hari 28 atau 29’);
ELSE
Writeln(‘Salah memasukkan kode bulan’);
END;
END.
Hasil:
Kode bulan [1..12] : 12
Jumlah hari = 31

PENGULANGAN PROSES
Pernyataan FOR
Pernyataan ini biasanya digunakan untuk melakukan pengulangan yang jumlahnya telah diketahui sebelumnya. Sebagai contoh, FOR dapat digunakan untuk menampilkan tulisan “TURBO PASCAL” 10 kali ataupun dalam jumlah yang lebih banyak lagi.
Pernyataan ini terdiri dari:
a) FOR TO
Bentuk pernyataannya adalah:
FOR variabel:= nilai_awal TO nilai_akhir Do
pernyataan
Contoh programnya:
PROGRAM Deret;
{ ---------------------------------------- }
{ Menampilkan bilangan 1 sampai dengan 10. }
{ ---------------------------------------- }
USES Crt;
VAR
Pencacah : Integer;
BEGIN
Clrscr;
FOR Pencacah := 1 TO 10 DO
Writeln(Pencacah);
END.
Hasil:
1
2
3
4
5
6
7
8
9
10
b) FOR DOWNTO
Kalau FOR-TO digunakan untuk mencacah naik, FOR-DOWNTO adalah kebalikanjya. Pada FOR-DOWNTO, nilai awal justru harus lebih besar (atau sama dengan) nilai akhir. Formatnya:
FOR variabel:= nilai_awal DOWNTO nilai_akhir DO
pernyataan
Pernyataan seperti:
FOR Pencacah := 10 DOWNTO 1 DO
Writeln(Pencacah);
Menghasilkan berupa:
10
9
8
7
6
5
4
3
2
1

c) FOR BERSARANG
Pada masalah tertentu ada kemungkinan FOR berada di dalam FOR yang lain. Bentuk seperti ini biasa disebut FOR bersarang (nested FOR).
Contoh programnya:
PROGRAM Bintang;
{ ------------------------------- }
{ Contoh pemakaian IF di dalam IF. }
{ ------------------------------- }
USES Crt;
CONST
AKHIR = 8; { -- Jumlah * pada baris terakhir --}
VAR
Baris, Kolom : Integer;
BEGIN
Clrscr;
FOR Baris := 1 TO AKHIR DO
BEGIN
FOR Kolom := 1 TO Baris DO
Write(‘*’);
Writeln; { --- Pindah Baris ---};
END;
END.
Hasil:
*
**
***
****
*****
******
*******
********
d) FOR Tanpa Diikuti oleh Pernyataan
Suatu pernyataan FOR bisa saja tidak diikuti dengan sebuah pernyataan pun. Contoh:
FOR I := 1 TO 20000 DO;
Writeln(‘Halo’);
Tampak bahwa sesudah DO terdapat titik koma. Ini menandakan bahwa FOR tidak diikuti dengn pernyataan yang akan diulang. Pernyataan di atas jelas berdeda dengan:
FOR I := 1 TO 20000 DO
Writeln(‘Halo’);
Bukan karena tulisan Writeln ditulis masuk ke kanan, tetapi berhubung tanda titik koma ada pada akhir DO, pernyataan yang terakhir ini akan mengulang Writeln sebanyak 20.000kali. Sedangkan pernyataan FOR pada contoh sebelumnya akan menunda pengerjaan Writeln sampai I bernilai 20.000 terlampaui (Writeln hanya dikerjakan sekali).

Pernyataan WHILE
Pernyataan ini biasa dipakai untuk melakukan pengulangan yang jumlahnya tidak diketahui di depan atau selang pencacahan tidak sebesar 1 atau -1. Bentuk pernyataannya:
WHILE kondisi DO
pernyataan

PROSEDUR DAN REKURSI
Membuat Prosedur
Deklarasi prosedur terdiri dari 3 bagian, yaitu:
1. Judul prosedur,
2. Bagian deklarasi, dan
3. Bagian pernyataan
Format lengkapnya:
PROCEDURE nama(daftar_parameter);
Bagian deklarasi;
Bagian pernyataan;

Contoh program:

PROGRAM Pros2;
{ ------------------------------------------ }
{ Contoh prosedur yang melibatkan parameter. }
{ ------------------------------------------ }
USES Crt;
VAR
PROCEDURE Ulang(Kar: Char; Jum: Byte);
VAR
Pencacah : Byte;
BEGIN
FOR Pencacah := 1 TO Jum DO
Write(Kar);
Writeln
END; { --- Akhir prosedur Ulang ---}
BEGIN { --- Program utama ---}
Clrscr;
Ulang(‘+’, 10);
Ulang(‘+’, 5);
Ulang(‘+’, 12);
Readln
END.

Rekursi
Merupakan tehnik untuk memanggil dirinya sendiri, baik pada prosedur ataupun fungsi. Sebuah contoh rekursi, yaitu untuk mendapatkan nilai faktorial. Seperti diketahui suatu faktorial m! didefinisikan sebagai berikut:
§ 1 Jika m = 0
§ 1 x 2x … x m jika m > 0
Secara rekursif persoalan diatas dijabarkan sebagai berikut:
1) 0! = m
2) Bila m > 0, m! = m x (m-1)!
Kondisi 1 merupakan penghenti rekursi. Kondisi 2 menggambarkan proses rekursi. Langkah dia tas dapat dituangkan menjadi:
FUNCTION Faktorial (M : Integer): LongInt;
BEGIN
IF M = 0 THEN
Faktorial := 1
ELSE
Faktorial := 1
END;

TIPE DATA ARRAY
Pengertian Array
Array (biasa disebut larik) merupakan tipe data terstruktur yang berguna untuk menyimpan sejumlah data yang bertipe sama.
Bagian yang menyusun array biasa dinamakan elemen array. Masing-masing elemen dapat diakses tersendiri, melalui indeks array.

Array Berdimensi Satu
Format lengkapnya:
NamaTipe = ARRAY[TipeOrdinal] OF TipeElemen

Contoh programnya:
PROGRAM Musik;
{ -------------------------------------------- }
{ Contoh array berdimensi satu untuk menyimpan }
{ -------------------------------------------- }
USES Crt;
CONST
MAKS_ELEMEN = 5; { -- Jumlah maksimum elemen array --}
TYPE
NamaMusik = ARRAY[1..MAKS_ELEMEN] OF STRING[15];
VAR
DafMusik : NamaMusik;
Posisi : Integer;
BEGIN
Clrscr;
{ -- Penugasan nilai ke array --};
DafMusik [1] := ‘JAZZ’;
DafMusik [2] := ‘ROCK’;
DafMusik [3] := ‘KERONCONG’;
DafMusik [4] := ‘DANGDUT’;
DafMusik [5] := ‘REGGAE’;

{ -- Menampilkan isi array --}
FOR Posisi := 1 TO MAKS_ELEMEN DO
Writeln(DafMusik[Posisi]);
Readln
END.

Hasil:
JAZZ
ROCK
KERONCONG
DANGDUT
REGGAE

Array Berdimensi Dua
Array yang bertipe array biasa disebut sebagai array multidimensi. Bentuk yang sederhana dari array multidimensi adalah array yang berdimensi dua. Penerapan array jenis ini lebih banyak daripada array berdimensi lebih tinggi.
Format lengkapnya:
nama_array[indeks_baris, indeks_kolom]

TIPE RECORD
Pengantar Record
Record adalah jenis tipe data terstruktur yang berisi beberapa data, yang masing-masing dapat berlainan tipe.

Mendeklarasikan Record
Suatu tipe record dideklarasikan dengan bentuk sebagai berikut:
RECORD
daftar_field_1 : tipe_1;
daftar_field_2 : tipe_2;

Daftar_field_n : tipe_n
END;

Record di dalam Record
Mungkin saja di dalan record berisi record. Sebagai gambaran hal ini, perhatikan deklarasi berikut:
RecTangggal = RECORD
Tanggal,
Bulan,
Tahun : Integer
END;
RecPegawai = RECORD
Nomor : LongInt;
Nama : STRING[35];
TglLahir : RecTanggal;
Gaji : LongInt
END;

Contoh program:
PROGRAM Rec3;
{ ---------------------------------------- }
{ Contoh Record di dalam record. }
{ ---------------------------------------- }
USES Crt;
TYPE
RecTanggal = RECORD
Tanggal,
Bulan,
Tahun : Integer
END;
RecPegawai = RECORD
Nomor : LongInt;
Nama : STRING[35];
TglLahir : RecTanggal;
Gaji : LongInt;
END;
VAR
DataPeg : RecPegawai;{ -- Variabel bertipe Record --}
BEGIN
CLrscr;
{ -- Penugasan nilai terhadap field-field --}
DataPeg.Nomor := 56789;
DataPeg.Nama := ‘Wilis Bayu’;
DataPeg.TglLahir,Tanggal := 14;
DataPeg.Tgl.Bulan := 11;
DataPeg.TglLahir.Tahun := 1989;
DataPeg.Gaji := 980000;
{ --Menampilkan isi field --}
Writeln(‘Nama pegawai : ‘, DataPeg.Nama);
Writeln(‘Tanggal Lahir : ‘, DataPeg.TglLahir.Tanggal,
‘/’, DataPeg.TglLahir.Bulan,
‘/’, DataPeg.TglLahir.Tahun);
Readln
END.
Hasil:
Nama pegawai : Wilis Bayu
Tanggal Lahir : 14/11/1989

???