BAB I - BAB Total.doc
BAB I MENGENAL PASCAL
1.1. Pendahuluan Pascal adalah bahasa tingkat tinggi (high level language) yang orentasinya
dirancang pada segala tujuan, dirancang oleh Professor Niklaus Wirth dari Technical
University di Zurich, Switzerland. Nama Pascal diambil sebagai penghargaan
terhadap Blaise Pascal, ahli matematik dan philosofi terkenal di abad 17 dari Perancis.
Professor Niklaus Wirth memperkenalkan kompiler bahasa Pascal pertama
kali untuk komputer CDC 6000 (Control Data Corporation) yang dipublikasikan pada
tahun 1971 dengan tujuan untuk membantu mengajar program komputer secara
sistematis, khususnya untuk memperkenalkan pemrogaman yang terstruktur
(structured programming). Jadi Pascal adalah bahasa yang ditujukan untuk membuat
program terstruktur.Dalam waktu singkat, Pascal telah menjadi bahasa yang populer di kalangan
pelajar universitas dan merupakan bahasa yang diajarkan di beberapa perguruan
tinggi. Beberapa profesional komputer juga mulai beralih ke bahasa Pascal.
Kenyataannya, Pascal merupakan bahasa yang paling cepat populer dibandingkan
dengan bahasa-bahasa komputer tingkat tinggi lainnya.Turbo Pascal adalah copyright oleh BORLAND Inc.dapat digunakan pada
sistem operasi PC-DOS, MS-DOS, CPM-86 dan CP/M-80. Buku ini menggunakan
Turbo Pascal versi 7.0. Selain itu BORLAND Inc. Juga telah mengembangkan Pascal
menjadi bahasa pemrogaman visual yaitu Borland Delphi dengan struktur bahasa
pemrogaman Pascal yang telah dikembangkan lebih lanjut lagi.1.2. Struktur Program Pascal Struktur dari suatu program Pascal terdiri dari sebuah judul program (program
heading) dari suatu blok program (program block) atau badan program (body
program). Blok program dibagi lagi menjadi dua bagian, yaitu bagian deklarasi
(declaration part) dan bagian pernyataan (statement part). Bagian deklarasi ini dapat
terdiri dari deklarasi label (labels declaration), deklarasi konstanta (constants
declaration), deklarasi tipe (type declaration), deklarasi variabel (variables
declaration), deklarasi prosedur (procedures declaration), dan deklarasi fungsi
(function declaration). Secara ringkas, stuktur program Pascal dapat terdiri dari :1. Judul program
2. Blok program Judul program
a. Bagian deklarasi deklarasi label Bagian deklarasi
deklarasi konstanta definisi tipe deklarasi variabel Bagian pernyataan
deklarasi prosedur
deklarasi fungsi
b. Bagian pernyataan
1.3. Deklarasi
identifier tersebut dikenalkan terlebih dahulu sebelum digunakan, yaitu dideklarasikan
terlebih dahulu pada bagian ini.1.3.1. Deklarasi Konstanta Definisi konstanta diawali dengan kata const diikuti oleh kumpulan identifier yang diberi suatu nilai konstanta.
program contoh_konstanta; uses crt; const potongan = 0.2; gaji = 25000; nama_perusahaan = 'PT Lali Jaya'; begin clrscr; writeln('potongan = ',potongan); writeln('gaji = ',gaji); writeln('nama = ',nama_perusahaan); readln; end.
1.3.2. Deklarasi Variabel Variabel adalah identifier yang diberi data yang dapat berubah-ubah nilainya di dalam program.
program contoh_variabel; uses crt; var total,gaji,tunjangan : real; menikah : boolean; jumlahanak : integer; keterangan : string[25]; begin clrscr; gaji := 50000; menikah := true; jumlahanak := 4; tunjangan := 0.25 * gaji * jumlahanak; total := gaji + tunjangan; keterangan := 'karyawan Teladan'; writeln('Gaji Bulanan : Rp. ',gaji); writeln('Tunjangan : Rp. ',tunjangan); writeln('Total gaji : Rp. ',total); writeln('Sudah Menikah : ',menikah); writeln('Jumlah Anak : ',jumlahanak); writeln('keterangan : ',keterangan); readln; end.
1.3.3. Deklarasi Tipe Deklarasi ini terdiri dari:
1. Tipe data sederhana (simple-type data) terdiri dari :
a. Tipe data standar (standard data type) :
integer real
char
string
subrange type
2. Tipe data terstruktur (structured-type data), terdiri dari :
a. array
b. record
c. file
d. set
program contoh_type; uses crt; type pecahan = real; logika = boolean; bulat = integer; huruf = string[25]; var total,gaji,tunjangan: pecahan; menikah : logika; jumlahanak : bulat; keterangan : huruf; begin clrscr; gaji := 50000; menikah := true; jumlahanak := 4; tunjangan := 0.25 * gaji * jumlahanak; total := gaji + tunjangan; keterangan := 'karyawan Teladan'; writeln('Gaji Bulanan : Rp. ',gaji); writeln('Tunjangan : Rp. ',tunjangan); writeln('Total gaji : Rp. ',total); writeln('Sudah Menikah : ',menikah); writeln('Jumlah Anak : ',jumlahanak); writeln('keterangan : ',keterangan); readln; end.
1.3.4. Deklarasi Label
Kalau program anda menggunakan statemen goto untuk meloncat ke suatu
statemen yang tertentu, maka dibutuhkan suatu label pada statemen yang dituju dan
label tersebut harus dideklarasikan terlebih dahulu pada bagian deklarasi.
Mendeklarasikan label diawali dengan kata cadangan label diikuti oleh kumpulan
identifier label dengan dipisahkan oleh koma dan diakhiri dengan titik koma.program contoh_label; uses crt; label 100,selesai; begin clrscr; writeln('Bahasa'); goto 100; writeln('BASIC'); writeln('COBOL'); 100: writeln('PASCaL'); goto selesai; writeln('FOTRAN'); selesai: Writeln('Versi 7.0');
1.3.5. Deklarasi Prosedur Prosedur merupakan bagian yang terpisah dari program dan dapat diaktifkan
dimanapun di dalam program. Prosedur dapat berupa prosedur standar (sudah
disediakan oleh Pascal) maupun prosedur yang akan dibuat sendiri oleh pemakai.
Prosedur dibuat sendiri bilamana program akan dibagi-bagi menjadi beberapa blok
modul. Prosedur dibuat di dalam program dengan cara mendeklarasikannya di bagian
deklarasi prosedur. Kata cadangan procedure digunakan sebagai judul dari bagian
deklarasi prosedur, diikuti oleh identifier yang merupakan nama dari prosedurnya dan
secara optional dapat diikuti lagi oleh kumpulan parameter yang diakhiri dengan titik
koma.program contoh_prosedur; uses crt; procedure tambah(x,y :integer; var hasil: integer); begin hasil := x+y; end; {program utama} var z : integer; begin clrscr; tambah(2,3,z); writeln('2 + 3 = ',z); readln; end.
1.3.6. Deklarasi Fungsi Fungsi juga merupakan bagian program yang terpisah mirip dengan prosedur,
tetapi ada beberapa perbedaanya. Fungsi dapat berupa fungsi standar (sudah
disediakan oleh Pascal) atau Fungsi yang akan dibuat sendiri oleh pemakai. Bila
pemakai akan membuat sendiri suatu fungsi, maka harus dideklarasikan terlebih
dahulu. Kata cadangan function mengawali bagian deklarasi fungsi diikuti oleh
identifier yang merupakann nama dari fungsinya dan secara optional dapat diikuti
oleh kumpulan parameter, tipe dari fungsinya dan diakhiri dengan titik koma.program contoh_fungsi; uses crt; function tambah(x,y :integer) : integer; begin tambah := x+y; end; {program utama} var z : integer; begin clrscr; writeln('2 + 3 = ',tambah(2,3)); readln; end.
1.4. Penggunaan Pascal
Gambar Tampilan Pascal
Turbo Pascal memiliki 10 buah menu utama yang terdiri dari : File, Edit,
Search, Run, Compile, Debug, Tools, Options, Window dan
Help . Untuk memilih salah satu dari menu itu anda bisa menekan tombol Alt + F
(untuk memanggil menu file), atau menekan Alt + [huruf pertama dari menu]. Jika
anda ingin kembali ke menu utama anda bisa saja menekan tombol F10,
untuk pindah dari menu satu ke menu yang lain anda juga bisa
menekan panah kanan () atau panah kiri (). Contohnya ketika
anda berada di menu File maka untuk pindah ke menu Compile
anda cukup menggunakan tombol panah kanan () atau panah kiri
(), dan anda juga bisa langsung menekan huruf C. Untuk menutup
menu anda bisa menggunakan tombol Esc. Sebetulnya akan lebh
mudah jika memanggil sebuah menu dengan menggunakan hotkey,
table dibawah ini adalah hotkey yang digunakan dalam turbo pascal
:
KUNCI FUNGSI EKIVALEN MENU
F1 Mengaktifkan jendela pertolongan.F2 Menyimpan berkas yang ada pada editor. File / Save F3 Memanggil program kedalam editor. File / Load F4 Mengeksekusi program sampai posisi kursor. Run / Go to cursor F5 Memperbesar atau memperkecil jendela yang aktif.
F6 Mengganti jendela yang aktif. F7 Melacak kedalam subrutin. Run / Trace into F8 Melompati pemanggil subrutin.
F9 Mengaktifkan perintah ‘Make’. Compile / Make F10 Berpindah dari menu-menu ke jendela yang aktif. Alt + F1 Memanggil jendela pertolongan yang terakhir dibaca. Alt + F3 Memilih berkas untuk dimuat. File / Pick Alt + F5 Memperlihatkan hasil eksekusi. File / user screen Alt + C Mengaktifkan menu compile. Alt + D Mengaktifkan menu debug. Alt + E Mengaktifkan editor.
Alt + F Mengakaktifkan menu fle. Alt + O Mengaktifkan menu option. Alt + R Mengaktifkan menu run. Alt + X Keluar dari Turbo Pascal dan kembali ke DOS. Ctrl + F1 Menampilkan menu pertolongan bahasa. Ctrl + F2 Menghentikan pembetulan. Run / Program reset Ctrl + F3 Menampilkan isi tumpukan. Debug / Call Stack Ctrl + F4 Melakukan penghitungan atau mengubah nilai Debug / Evaluate peubah.
Ctrl + F7 Menambahkan ungkapan pada jendela watch. B / Add Watch Ctrl + F8 Toggles Breakpoint. B / Toggle breakpoint Ctrl + F9 Menjalankan program. Run / Run
Ctrl + Menampilkan versi layar monitor F10
1.5. Unit Pascal
Unit standar sudah merupakan kode mesin(sudah dikompilasi), bukan kode
sumber Pascal lagi dan sudah diletakkan di memori pada waktu Anda menggunakan
Turbo Pascal 7.0. Sebagai akibatnya, penggunaan suatu unit atau beberapa unit
sekaligus hanya membutuhkan tambahan waktu yang sangat sedikit sekali atau sangat
cepat (kurang dari satu detik) dari seluruh waktu kompilasi program Pascal yang
menggunakannya. Dengan demikian penggunaan suatu unit akan dapat mempercepat
waktu kompilasi program Pascal Anda. Untuk menggunakan suatu unit, maka Anda
harus meletakkan suatu anak kalimat (clause) uses di awal blok program, diikuti oleh
daftar unit yang digunakan. Beberapa unit yang sering digunakan sebagai berikut :1.5.1. Unit System Unit standar system sebenarnya adalah pustaka (library) dari runtime Turbo
Pascal yang mendukung semua proses yang dibutuhkan pada waktu runtime
(pengerjaan program).
1.5.2. Unit Crt Unit standar crt digunakan untuk memanipulasi layar teks (windowing,
peletakan cursor di layar, Color untuk teks, kode extended keyboard dan lain
sebagainya).1.5.3. Unit Printer Unit standar printer merupakan unit yang sangat kecil dirancang untuk penggunaan printer di dalam program.
1.5.4. Unit Dos Unit standar dos digunakan bilamana Anda menggunakan prosedur-rosedur
dan fungsi-fungsi standar yang berhubungan dengan DOS call, semacam GetTime,
SetTime, DiskSize, DiskFree dan lain sebagainya.
1.5.5. Unit Graph Unit standar graph menyediakan suatu kumpulan rutin grafik yang canggih,
BAB II
ELEMEN PROGRAM PASCAL2.1. Tipe Data Kalau Anda menggunakan pengenal variabel di dalam program, maka variabel
tersebut harus Anda deklarasikan terlebih dahulu. Pada waktu Anda mendeklarasikan
suatu variabel, maka Anda harus menentukan tipe dari datanya. Tipe data ini
menunjukkan suatu nilai yang dapat digunakan oleh variabel yang bersangkutan.2.1.1. Tipe Data Numerik Integer Data numerik integer merupakan nilai bilangan bulat baik dalam bentuk
desimal maupun hexadesimal. Nilai integer hexadesimal diawali dengan tanda dollar
($). Turbo Pascal menyediakan 5 macam tipe data integer yang masing-masing
mempunyai jangkauan nilai yang berbeda seperti pada label berikut ini.Ukuran Memori Tipe Jangkauan (dalam byte)
Byte 1 0...255 Shortint 1 -128...127 Integer 2 -32768...32767 Word 2 0...65535 Longint
4 -2147483648...2147483647
2.1.2. Tipe Data Numerik Real Nilai konstanta numerik berkisar dari 1E-38 sampai dengan 1E+38 dengan
mattisa yang signifikan sampai denga 11 digit. E menunjukkan nilai 10 pangkat. Nilai
konstanta nemerik real menempati memori sebesar 6 byte. Penggunaan tipe data real
menurut IEEE (Institute of Electrical and Electronic Engineers) seperti berikut.Ukuran Memori Digit Tipe Jangkauan Nilai
(dalam byte) Signifikan Single
4 1.5 x 10E-45 … 3.4 x 10E38 7-8
Double 8 5.0 x 10E-324 … 1.7 x 10E308 15-16 Extended 10 1.9 x 10E-4951 … 1.1 x 10E4932 19-20 Comp 8 -2E+63+1 … 2E+63-1 19-202.1.3. Tipe Data Karakter Nilai karakter berupa sebuah karakter yang ditulis diantara tanda petik tunggal,
seperti misalnya ‘A’, ‘a’, ‘!’, ‘’%’, ‘5’ dan sebagainya. Penggunaan variabel untuk
Nilai data string merupakan urut-urutan dari karakter yang terletak di antara
tanda petik tunggal. Bila karakter yang terletak di antara tanda petik tunggal. Bila
karakter petik merupakan bagian dari konstanta string, maka dapat ditulis dengan
menggunakan dua buah petik tunggal berurutan. Nilai data string akan menempati
memori sebesar banyaknya karakter stringnya ditambah dengan 1 byte. Bila panjang
dari suatu string di dalam deklarasi variabel tidak disebutkan, maka dianggap
panjangnya adalah 255 karakter.2.1.5. Tipe Data Boolean Tipe data boolean mempunyai dua buah nilai, yaitu true dan false. Anda dapat
mendeklarasikan suatu variabel dengan tipe boolean dan mengisi variabe tersebut
dengan nilai data boolean true dan false.program tipe_data; uses crt; var jumlah : integer; nilai1,nilai2 : real; karakter : char; kata : string; lagi : boolean; begin clrscr; jumlah := 5000; writeln('Nilai jumlah = ',jumlah); nilai1 := 12345678901.2345; nilai2 := 12345; writeln('Nilai 1 = ',nilai1); writeln('Nilai 2 = ',nilai2); karakter := 'A'; writeln('Karakter tersebut = ',karakter); kata := 'Turbo Pascal'; writeln(kata); lagi := true; writeln('Nilai Lagi = ',lagi); readln; end.
2.1.6. Tipe Data Pointer Suatu pointer adalah suatu variabel yang berisi alamat (address) di memori
(RAM) dimana suatu data disimpan, bukannya berisi data itu sendiri. Dengan kata
lain, pointer akan menunjukkan letak dari data di memori.program pointer; uses crt; type tipestring = string; pointerstring = ^tipestring; var letaknama : pointerstring; begin clrscr; letaknama^ := 'Pascal'; writeln(letaknama^);
2.1.7. Tipe Data Ordinal
2.2. Tanda Operasi
7. Address operator
integer
Operator Operasi Tipe Operand Tipe Hasil
2.2.2. Binary Operator Disebut dengan binary operator (tanda operasi biner) karena operator ini
digunakan untuk mengoperasikan dua buah operand. Operand dapat berbentuk
konstanta ataupun variabel. Operator ini digunakan untuk operasi aritmatika yang
berhubungan dengan nilai tipe data integer dan real.2.2.1. Assignment Operator Assignment operator (operator pengerjaan) menggunakan simbol titik dua diikuti oleh tanda sama dengan (:=) A := B
9. String operator
8. Set operator
6. Logical operator
Tipe data ordinal adalah tipe data yang merupakan subset dari tipe data
sederhana (tipe data standar dan tipe data yang didefinisikan sendiri oleh pemakai).
Yang dimaksud denga tipe data sederhana sebenarnya adalah semua tipe data
sederhana kecuali tipe data numerik real. Jadi yang termasuk tipe data ordinal adalah :
5. Relational operator
4. Bitwise operator
3. Unary operator
2. Binary operator
1. Assignment operator
Tanda operasi (operator) di dalam bahasa Pascal dikelompokkan ke dalam 9 kategori, yaitu :
Tipe data yang didefinisikan sendiri oleh pemakai (enumerated type dan subrange type).
Tipe data standar (integer, shortint, longint, byte, word, boolean, dan char).
- Perkalian real, real integer, integer real, integer Real integer real DIV Pembagian bulat integer,integer Integer / Pembagian real real, real integer, integer real, integer Real real real MOD Modulus (sisa hasil bagi) integer, integer Integer + Pertambahan real, real integer, integer Real
program binary_operator; uses crt; begin clrscr; writeln(15*5); writeln(20/3); writeln(20 div 3); writeln(20 mod 3); readln; end.
2.2.3. Unary Operator Disebut dengan unary operator karena operator ini hanya menggunakan
sebuah operand saja. Unary operator dapat berupa unary minus dan unary plus. Unary
minus adalah operator yang berupa tanda minus yang hanya digunakan pada sebuah
numerik operand saja untuk menunjukan nilai negatif, baik pada operand numerik
real, maupun numerik integer. Unary plus adalah operator untuk memberi tanda plus.
Contoh :- 5
- 7 a+(-b)
- 2.5 a+(+b)
- 2.5 Unary Operator
2.2.4. Bitwise Operator
Bitwise operator digunakan untuk operasi bit per bit pada nilai integer.
Operator Operasi Tipe Operand Tipe hasil NOT bitwise negation integer integer AND bitwise AND integer,integer integer OR bitwise OR integer,integer integerXOR bitwise XOR integer,integer integer Shl shirt left integer,integer integer Shr shift right integer,integer integer
program bitwise_operator; uses crt; begin clrscr; writeln(not 0); writeln(not 5); writeln(not 18); writeln(not -17); writeln(12 and 23); writeln(12 or 23); writeln(12 xor 23); end.
2.2.5. Relational Operator Relational operator (operator hubungan) digunakan untuk membandingkan
hubungan antara dua buah operand dan akan didapatkan hasil tipe boolean, yaitu true
dan false.Operator Operasi = sama dengan <> tidak sama dengan > lebih besar dari >= lebih besar sama dengan dari < lebih kecil dari <= lebih kecil sama dengan dari
IN seleksi dari anggota himpunan
program relational_operator; uses crt; var a,b : integer; begin clrscr; a := 5; b := 3; writeln (a=b); writeln (a=5); writeln (a<>b); writeln (a>b); writeln (a>=b); writeln (a<b); writeln (a<=b); readln; end.
2.2.6. Logical Operator Terdapat 4 buah logical operator (operator logika), yaitu not, and, or, dan
xor. Bentuk operator ini sama dengan bitwise operator, tetapi penggunaannya lain.
Logical operator bekerja dengan nilai-nilai logika, yaitu true dan false
program logical_operator; uses crt; begin clrscr; writeln(not true); writeln(not false); writeln(true and false); writeln(true or false); writeln(true xor false); readln; end.
2.2.7. Address Operator
operator (^). Operator @ akan menghasilkan alamat dari suatu nilai variabel dan
operator ^ akan memberikan nilai di alamat yang ditunjukkan.program address_operator; uses crt; type tipestring = string; pointerstring = ^tipestring; var nama : tipestring; letaknama : pointerstring; begin clrscr; nama := 'Pascal'; letaknama := @nama; writeln('Nama adalah : ',nama); writeln('Nama adalah : ',letaknama^); readln; end.
2.2.8. Set Operator
Set operator (operator himpunan) digunakan untuk operasi himpunan.
Operator Operasi Union +- Perbedaan himpunan Perkalian himpunan *
2.2.9. String Operator String operator (operator string) digunakan untuk operasi string. Hanya ada
sebuah operator string saja, yaitu operator + yang digunakan untuk menggabung dua
buah nilai string.program string_operator; uses crt; var nama1,nama2,nama3 :string; begin clrscr; nama1 := 'Turbo'; nama2 := 'Pascal'; nama3 := nama1 + nama2; writeln(nama3); readln; end.
2.3. Komentar Program
Untuk keperluan dokumentasi program, sehingga program mudah dibaca dan
dipahami dapat ditambahkan komentar-komentar di dalam program yang tidak akan
mempengaruhi proses dari program. Komentar program dapat diletakkan dimanapun
di dalam program. Suatu komentar program ditulis dengan pembatas { dan } atau
pembatas (* dan *)Statemen adalah perintah pengerjaan program. Kumpulan dari statemen
membentuk suatu program. Bila suatu program Pascal tidak mengandung statemen
atau disebut statemen kosong (empty statemen), maka tidak akan ada yang dikerjakan
oleh program. Statemen terletak dibagian deklarasi statemen dengan diawali oleh kata
cadangan begin dan ditutup dengan kata cadangan end. Masing-masing akhir dari
statemen diakhiri denga titik koma. Di dalam bahasa Pascal statemen dapat berupa
statemen dapat berupa statemen sederhana (simple statement) dan statemen
terstruktur (structured statement).2.4.1. Statemen Sederhana
Statemen sederhana adalah statemen yang tidak mengandung statemen yang
lainnya. Yang termasuk dengan statemen sederhana statemen pengerjaan (assignment
statement), statemen prosedur (procedure statement) dan statemen goto.2.4.1.1. Statemen Pengerjaan Statemen pengerjaan (assignment statement) merupakan statemen yang paling
mendasar dari semua statemen yang ada. Statemen ini digunakan untuk memasukkan
suatu nilai tertentu ke dalam suatu variabel. Bentuk dari statemen ini terdiri dari
pengenal variabel diikuti oleh operator := dan suatu ungkapan sebagai berikut :Pengenal-variabel := ungkapan; Contoh :
nilai :=5; nilai :=nilai+1; D := B*B-4*A*C; lulus :=(nilai>65.5) benar := true; lolos := (kode = sandi);
2.4.1.2. Statemen Prosedur Statemen prosedur digunakan untuk mengaktifkan suatu prosedur yang telah
didefinisikan oleh pemakai atau prosedur standar yang telah didefinisikan oleh Pascal.
Contoh :
cari(nama,alamat); tambah(2,3,z); urutkan(nilai); writeln(fahrenheit);
2.4.1.3. Statemen GOTO Statemen goto diawali dengan kata goto yang diikuti oleh pengenal label.
Pengenal label yang dipergunakan harus sudah dideklarasikan di bagian deklarasi
label.2.4.2. Statemen Terstruktur
Statemen terstruktur (structured statement) merupakan statemen yang
dibentuk dari komposisi beberapa statemen. Statemen terstruktur dapat berupa
statemen jamak (compound statement), statemen penyeleksian kondisi (conditioanal
statement), Statement perulangan (repetitive statement) serta statemen with dibahas
Statemen jamak digunakan bilamana lebih dari sebuah statemen harus
dikerjakan, sedang bentuk umum dari Pascal hanya memungkinkan sebuah statemen
saja yang disebutkan. Statemen jamak ditulis di dalam kata cadangan begin dan end
yang tersendiri. Misalnya statemen if-then hanya memungkinkan diikuti oleh sebuah
statemen saja, sebagai berikut :program statemen_jamak; uses crt; var nilai : real; keterangan,komentar : string; begin clrscr; nilai := 55.5; keterangan := 'Tidak Lulus'; komentar := 'Mengecewakan'; if nilai > 60 then begin keterangan := 'Lulus'; komentar := 'memuaskan'; end; writeln('Keterangan : ',keterangan); writeln('Komentar : ',komentar); readln; end.
2.4.2.2. Statemen Penyeleksian Kondisi Statemen penyeleksian kondisi menunjukkan bahwa suatu statemen akan
dikerjakan bila suatu kondisi adalah benar. Jika kondisinya salah, maka statemen yang
lainnya atau statemen setelah kata cadangan else yang akan dikerjakan (else tidak
boleh diawali dengan titik koma, karena titik koma menunjukkan akhir dari statemen).
Contoh :
if kondisi1 then if kondisi2 then statemen1 else statemen2
Penulisan statemen diatas dapat juga dengan menggunakan blok statemen sehingga
lebih mudah terbaca, sebagai berikut :if kondisi1 then begin if kondisi2 then statemen1 else statemen2 end;
Statemen yang digunakan untuk menyeleksi kondisi selaian statemen if juga statemen
case of2.4.2.3. Statemen Perulangan Statemen perulangan digunakan untuk memproses statemen-statemen tertentu
berulangkali . Bila jumlah perulangannya diketahui, maka statemen for akan tepat
BAB III INPUT DAN OUTPUT
3.1. Pendahuluan Setiap program aplikasi pasti membutuhkan operasi input dan output.
Memasukkan data input secara interaktif merupakan ciri dari program aplikasi yang
banyak ditemukan. Pada bab ini akan dibahas mengenai cara-cara memasukkan data
secara interaktif dan cara-cara menampilkan output.3.2. Memasukkan Data Turbo Pascal menyediakan prosedur standar untuk memasukkan data dengan
cara mengetikkan lewat keyboard. Turbo Pascal menyediakan prosedur untuk maksud
tersebut, yaitu read dan readln yang mempunyai aturan tertentu untuk beberapa tipe
pengenal variabel. Tiap-tiap data yang dimasukkan harus sesuai dengan tipe
variabelnya.Tipe Variabel Keterangan Char Memasukkan sebuah karakter, bila lebih akan terpotong, yang di anggap hanya yang pertama. String Memasukkan string maksimum sepanjang yang definisikan.
Integer Memasukkan data numerik bulat antara nilai 32767 sampai –32768
Word Memasukkan data numerik bulat diantara nilai 0 sampai dengan65535 Byte Memasukkan data numerik bulat diantara 0 sampai dengan 255
ShortInt Memasukkan data numerik bulat diantara nilai –128 sampai dengan
127LongInt Memasukkan data numerik bulat diantara nilai –2147483648 sampai
dengan 2147483647Real Memasukkan data numerik real maksimum 30 digit dapat tanpa titik desimal Boolean Data tipe ini tidak diijinkan Contoh :
program Masuk1(layar); uses crt; var A,B : integer; clrscr; readln(A); readln(B); readln(C); readln(D); readln(E); writeln; writeln('A = ',A,' B = ',B,' C = ',C); writeln('D = ',D); writeln('E = ',E); readln; end.
Prosedur standar Readln untuk memasukkan data perbaris, artinya setelah
anda menekan tombol Enter, maka akan ganti baris, sedang prosedur standar Read
tidak ganti baris, masih dalam baris sama.3.2.1. Tampilan sewaktu memasukkan data Pada contoh program data sebelumnya, pemakai program kadangkala menjadi
bingung disebabkan tidak adanya tampilan keterangan tentang data apa yang
seharusnya dimasukkan. Supaya lebih interaktif, maka dapat ditampilkan penjelasan
tentang data yang akan dimasukkan. Untuk maksud ini sebelum prosedur standar read
atau readln dapat digunakan prosedur standar write terlebih dahulu untuk
menampilkan penjelasan tentang data yang akan dimasukkan lewat prosedur standar
read atau readln.Contoh :
program masuk2(input,output); uses crt; var C,F : real; begin clrscr; write('berapa celcius = '); readln(C); F:= 1.8*C+32; writeln; writeln(C,' celcius adalah',F,' fahrenheit'); readln; end.
3.2.2. Teknik Memasukkan Data Tipe Boolean Telah disebutkan pada tabel bahwa data tipe boolean tidak dapat di masukkan
sebagai data input. Akan tetapi hal ini dapat di atasi dengan cara memasukkan data
dengan tipe char terlebih dahulu, kemudian baru di lakukan pengerjaan boolean.Contoh :
Program Masuk5(input,output); uses crt; var jawab_C : char; jawab_B : boolean; begin clrscr; readln; end.
3.3. Menampilkan Hasil
Untuk menampilkan hasil dengan bahasa pascal digunakan prosedur standar
Write atau Writeln. Perbedaannya adalah prosedur Write menampilkan hasil tanpa
ganti baris dan tampilan beikutnya akan disambung pada baris yang sama, sedang
prosedur Writeln digunakan untuk menampilkan tampilan perbaris, akan ganti baris
untuk tampilan berikutnya.Contoh:
Program tampil1(Output); uses crt; var nama : string; begin clrscr; nama := 'Dewi'; write('Nama : '); write(nama); readln; end.
Coba Jalankan Program di atas kemudian ganti prosedur Write dengan Writeln
kemudian jalankan kembali3.3.1. Tampilan Default
Merupakan tampilan yang mengikuti bentuk pengaturan default yang sudah ditentukan oleh Pascal.
3.3.1.1. Default Tampilan Integer Tampilan nilai integer akan ditampilkan dengan bentuk :
ddddd
Contoh :
Program Tampil3(output); uses crt; var bulat1,bulat2 : integer; begin clrscr; bulat1 := 123; bulat2 := 12345; writeln(Bulat1,Bulat2); readln; end.
3.3.1.2. Default Tampilan Real Tampilan real menempati posisi lebar 18 digit dengan menggunakan bentuk
Untuk nilai real negatif akan ditampilkan dengan bentuk :
- d.ddddddddddEsdd
Dengan : b = blank d = digit s = tanda (+) pangkat positif / tanda (-) pangkat negatif tanda (-) untuk biilangan negatif Contoh :
Program Tampil4(output); uses crt; var pecahan1, pecahan2 : real; begin clrscr; pecahan1 := 123.45; pecahan2 := -123.45; writeln(Pecahan1, Pecahan2); readln; end.
3.3.1.3. Default Tampilan Char Karakter di tampilkan tanpa mengandung blank dimuka maupun di belakang.
Contoh :
Program Tampil5(output); uses crt; var huruf1,huruf2: char; begin clrscr; huruf1 := 'A'; huruf2 := 'B'; Writeln(Huruf1,Huruf2); readln; end.
3.3.1.4. Default Tampilan String Tampilan string ditunjukkan dengan panjang sesuai dengan panjang isinya, tanpa mengandung blank dimuka atau blank dibelakang.
Contoh :
Program Tampil6(output); uses crt; var string1, string2: String[10]; Begin clrscr; string1 := 'BASIC'; string2 := 'COBOL'; writeln(String1, String2);
3.3.1.5. Default Tampilan Boolean
Tampilan Boolean, TRUE atau FALSE ditampilkan dengan tidak mengandung blank di muka atau belakang. Contoh :
Program Tampil7(output); uses crt; var logika1,logika2 : boolean; Begin clrscr; logika1 := True; logika2 := False; writeln(Logika1,Logika2); readln; end.
3.3.2. Tampilan Terformat
Walaupun bentuk default dianggap cukup untuk menampilkan bentuk pada
program yang sederhana, tetapi untuk program-program aplikasi dibutuhkan bentuk
format tertentu yang harus diatur kembali. Untuk mengatur format tampilan dengan
prosedur standar Write atau Writeln dipergunakan parameter-parameter sebagai
berikut ini Parameter CH:N Digunakan untuk membentuk format tampilan char selebar n karakter dengan blank di muka sebanyak n-1
Parameter S:N
Digunakan untuk membentuk format tampilan string selebar n karakter.
Parameter I:N
Digunakan untuk membentuk format tampilan integer selebar n digit.
Parameter R:N Digunakan untuk membentuk format tampilan nilai numerik real selebar n digit rata sebelah kanan.
Parameter R:N:M Digunakan untuk membentuk format tampilan nilai numerik real selebar n digit rata sebelah kanan, dengan m digit angka dibelakang koma tidak dalam bentuk eksponensial.
Parameter B:N Digunakan untuk membentuk format tampilan nilai boolean true atau false selebar n karakter rata sebelah kanan.
Contoh :
Program Tampil8(Output); uses crt; var ket1,ket2 : char; karakter : string[6]; N : integer; nilai : real; logika : boolean; begin clrscr; {parameter CH:N} ket1 := 'A'; ket2 := 'B'; writeln(ket1:5,ket2:3); {parameter S:N} karakter := 'Pascal'; writeln('Bahasa :',karakter:10); {parameter I:N} N := 275; writeln('Jumlah Data =',N:5); {parameter R:N} nilai := 123.45; writeln('Nilai Real =',nilai:12); {parameter R:N:M} nilai := 123.45; writeln('Nilai Real =',nilai:12:3); {parameter B:N} logika := true; writeln('Nilai Boolean =',logika:6); readln; end.
3.3.3. Pengaturan letak di layar
Berikut beberapa prosedur standar yang disediakan oleh pascal untuk mengatur tampilan di layar terminal. Semua prosedur menggunakan unit standar crt.
3.3.3.1. Prosedur Clrscr Digunakan untuk membersihkan layar dari tampilan sebelumnya dan meletakkkan cursor di posisi ujung kiri atas layar.
3.3.3.2. Prosedur GotoXY Digunakan untuk meletakkkan cursor di posisi layar yang di tunjukkan oleh
nilai XPOS dan YPOS. Nilai XPOS menunjukkan posisi sumbu X (posisi horizontal
atau posisi kolom diantara kolom 1 sampai dengan kolom 80). Nilai YPOS
menunjukkan posisi sumbu Y (posisi vertikal atau posisi baris, diantara baris 1 sampai
dengan baris 25).Program Tampil9(Output); uses crt; begin clrscr; gotoxy(10,15); writeln('Bahasa Pascal'); readln; end.
3.3.3.3. Prosedur Clreol Digunakan untuk menghapus semua karakter dalam satu baris disebelah kanan posisi kursor tanpa mengubah posisi kursor.
Program Tampil10(Output); uses crt; var nilai : integer; begin clrscr; gotoxy(10,15); write('Masukkan sebuah nilai integer ? '); readln(nilai); gotoxy(10,15); clreol; writeln('Anda Pintar'); readln; end.
3.3.3.4. Prosedur Delay Digunakan untuk menghentikan sejenak proses program selama nilai dari
argumen tempo, yaitu dalam waktu millisecond (1/1000 detik). Nilai argumen tempo
ini harus dalam nilai integer.Program Tampil11(Output); uses crt; begin clrscr; writeln('5 detik lagi akan tampak tulisan menarik'); delay(5000); writeln; writeln('Anda kena tipu, ... tidak ada tulisan menarik !!!'); readln; end.
BAB IV PERULANGAN
5.1. Pendahuluan Didalam pascal, dikenal tiga macam perulangan, yaitu dengan menggunakan statemen For,While-Do dan Repeat…Until.
5.2. Struktur Perulangan For Perulangan dengan statemen for digunakan untuk mengulang statemen atau
blok statement berulang kali sejumlah yang ditentukan. Perulangan ini dapat
berbentuk perulangan positif, negatif dan perulangan bersarang, sintaks statemen for
adalah sebagai berikut :for variabel kontrol := nilai awal to nilai akhir do statemen
atau
for variabel kontrol := nilai awal downto nilai akhir do statemen
5.2.1. Perulangan positif Perulangan positif adalah dengan penghitung (counter) dari kecil ke besar.
Perulangan positif dibentuk dengan menggunakan statemen For-To-Do. Contoh :
uses crt; var i : integer; begin clrscr; {ada begin dan end} for i:=1 to 5 do begin write(i); writeln(' Pascal'); end; {tidak ada begin dan end} for i:=1 to 5 do write(i); writeln(' Pascal'); readln; end.
5.2.2. Perulangan negatif Perulangan negatif adalah perulangan dengan penghitung (counter) dari besar
ke kecil. Perulangan negatif. Perulangan ini dibentuk dengan menggunakan statemen
For-DownTo-Do. uses crt; var celcius : integer; fahrenheit : real; begin clrscr; writeln('=========================='); writeln(' Celcius Fahrenheit '); writeln('--------------------------'); celcius := 0; for celcius:=15 downto 0 do begin fahrenheit := 1.8 * celcius + 32; writeln(celcius:8,Fahrenheit:14:2); end; writeln('--------------------------'); readln; end.
5.2.3. Perulangan tersarang Merupakan perulangan yang berada didalam perulangan yang lainnya.
Perulangan yang lebih dalam akan diproses terlebih dahulu sampai habis, kemudian
perulangan yang lebih luar baru akan bertambah, mengerjakan perulangan yang lebih
dalam lagi mulai nilai awalnya dan seterusnya. Contoh :uses crt; var i,j : integer; begin clrscr; for i := 1 to 5 do begin for j := 1 to 3 do write(i:8,j:3); writeln; end; readln; end.
5.3. Struktur Perulangan While-Do
Perulangan ini menggunakan statement While-Do yang memiliki sintaks sebagai berikut:
while ungkapan logika do statemen
Statement while-do digunakan untuk melakukan proses perulangan suatu statemen
atau blok statemen terus-menerus selama kondisi ungkapan-logika pada while masih berlogika benar’ Contoh 1 : uses crt; var i : integer; begin clrscr; i := 0; while i < 5 do begin writeln(i); i := i + 1; end; readln; end.
Contoh 2 :
uses crt; var celcius, fah : real; lagi : char; begin lagi := 'Y'; while lagi = 'Y' do begin clrscr; write('Nilai Celcius = '); readln(celcius); fah := 1.8 * celcius + 32; writeln; writeln('Fahrenheit = ',fah:7:2); writeln; write('menghitung lagi (Y/T) ? '); readln(lagi); end; end.
5.3.1. Struktur perulangan While-Do bersarang
Merupakan perulangan while-do yang satu di dalam perulangan while-do yang lainnya. Contoh :
uses crt; var nilai,total,ratarata : real; n,i : integer; lagi : char; begin lagi := 'Y'; while lagi = 'Y' do begin clrscr; {memasukkan jumlah data} write('Jumlah data = '); readln(n); writeln; {memasukkan nilai-nilai data dan langsung dihitung nilai totalny} begin i := i + 1; write('Nilai data ke ',I,' = '); readln(nilai); total := total + nilai; end; {menghitung nilai rata-ratanya} ratarata := total/n; {menampilkan hasil} writeln; writeln('Total nilai = ',total:8:2); writeln('Jumlah data = ',n:3); writeln('Rata-rata nilai = ',ratarata:8:2); writeln; write('Akan menghitung lagi (Y/T) ? '); readln(lagi); end; end.
5.4. Struktur Repeat … Until
Struktur repeat … until digunakan untuk mengulang (repeat) statemen-
statemen atau blok statemen sampai (until) kondisi yang di seleksi di until tidak
terpenuhi. Sintaks dari statement ini adalah sebagai berikut :repeat statemen until ungkapan
Contoh :
uses crt; var i : integer; begin clrscr; i := 0; repeat i := i + 1; writeln(i); until i = 5; readln; end.
5.4.1. Struktur perulangan Repeat … Until bersarang
Merupakan suatu perulangan repeat … until yang satu berada dalam perulangan Repeat ... Until yang lainnya. Contoh :
uses crt; var a,b,c : real; begin clrscr; writeln('========================'); writeln('Sisi A Sisi B Sisi C'); writeln('------------------------'); a := 1; repeat b := b + 5; until b > 25; a := a + 1; until a > 3; writeln('------------------------'); readln; end.
BAB V PENYELEKSIAN KONDISI
5.1. Pendahuluan Untuk menyeleksi kondisi, di dalam bahasa pascal dapat di pergunakan statemen if dan statement case.
5.2. Statemen
Struktur dari statemen if adalah if-then atau if-then-else dengan sintaks :
if ungkapan then statemen else statemen
5.2.1. Struktur Statemen if-then
Bentuk dari statement if-then adalah sebagai berikut :
if ungkapan then statemen
Ungkapan adalah kondisi yang akan di seleksi oleh statemen if. Bila kondisi yang
diseleksi terpenuhi, maka statemen yang mengikuti then akan diproses. Sebaliknya,
bila kondisi tidak memenuhi, maka yang akan diproses adalah statemen berikutnya. Contoh 1 :uses crt; var nilaiujian : real; ket : string; begin clrscr; ket := 'Tidak Lulus'; write('Nilai yang didapat ? '); readln(nilaiujian); if nilaiujian > 60 then ket := 'Lulus'; writeln(ket); readln; end.
Contoh 2 :