MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi,...

56
1 MODUL PEMROGRAMAN DASAR PASCAL dan DELPHI 7 Guru Mata Palajaran HERUL HERDIANA SMK HANDAYANI BANJARAN TEKNIK KOMPUTER JARINGAN – ADMINISTRASI PERKANTORAN BANDUNG 2010

Transcript of MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi,...

Page 1: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

1

MODUL PEMROGRAMAN DASAR

PASCAL dan DELPHI 7

Guru Mata Palajaran

HERUL HERDIANA

SMK HANDAYANI BANJARAN

TEKNIK KOMPUTER JARINGAN – ADMINISTRASI PERKANTORAN

BANDUNG

2010

Page 2: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

2

KATA PENGANTAR

Bissmillahir’rahmanirrahim

Puji dan syukur kita panjatkan ke hadirat Allah SWT, Shalawat serta salam

senantiasa tercurah limpah kepada nabi besar kita Muhammad SAW, kepada sahabatnya

dan sampai kepada kita selaku umatnya, Amin.

Alhamdullilah, setelah melakukan pembelajarann dan praktik, akhirnya selesai

juga modul Pemrograman Dasar Pascal dan Delphi, yang akan Kami gunakan di

lingkungan SMK HANDAYANI Banjaran. Kedua mata pelajaran ini sengaja

diperingkas agar siswa dapat memahami dasar dari pada kedua Pemrograman tersebut.

Pada modul ini, Siswa ditekankan untuk lebih memperdalam tanpa menunggu

Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman ini.

Penulis menyadari bahwa isi modul ini jauh dari sempurna, oleh karena itu Penulis

sangat menerima saran dan kritik untuk memperbaiki isi dari pada modul ini.

Mudah-mudahan dengan mempelajari isi modul ini, dapat meningkatkan

wawasan akan Pemrograman bagi Siswa yang baru memulai mempelajari

Pemrograman, terutama yang dibahas pada modul ini yang seyogyanya hanya

didapatkan di Perguruan Tinggi saja. Akhir kata Penulis mengucapkan sekian dan

terima kasih.

Dadang Hermawan, S.Pd

Kepala SMK HANDAYANI Banjaran

Arjasari, Juni 2010

Penyusun,

Herul Herdiana

Mobile : 0857.2006.6481

Page 3: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

3

MODUL 1

PENDAHULUAN

Pascal merupakan suatu bahasa komputer tingkat tinggi yang dibuat sekitar tahun

1970 oleh Niklaus Wirth dan digunakan untuk pendidikan komputer. Nama Pascal

diambil dari seorang ahli matematika yang bernama Blaise Pascal yang menemukan mesin

hitung pertama. Bahasa Pascal dirancang untuk menyelesaikan masalah dari berbagai

kalangan pemakai, mulai dari para mahasiswa, pendidik, dan ilmuwan. Salah satu kompiler

pascal yang terkenal dan tercepat adalah Turbo PASCAL yang dibuat oleh perusahaan

Borland.

Adakah versi Turbo Pascal untuk pemrograman Visual ?

Pada trend pemrograman Visual, perusahaan Borland mengeluarkan Borland Delphi yang

menggunakan dasar dialek Pascal pada lingkungan pemrograman Visual. Apa artinya Pascal

adalah bahasa pemrogram terstruktur ? Pascal adalah suatu bahasa pemrograman terstruktur.

Hal tersebut berarti semua program yang anda buat harus terstruktur dan teratur, dalam hal

ini ada pemakaian goto dan jump.

Bagaimana Struktur program pascal yang paling sederhana ?

Perintah Input :

Perintah Pascal yang digunakan untuk memasukkan/menginputkan data.

Bentuk perintah:

Read dan Readln

Struktur penulisan:

Read(nama variabel);

Readln(nama Variabel)

Perintah Output:

Perintah Pascal yang digunakan untuk menampilkan/mengoutputkan data.

Bentuk perintah:

Write : setelah menampilkan data atau teks, kursor berada tepat disamping kanan data yang

ditampilkan.

Write : setelah menampilkan data atau teks, kursor berada pada baris berikutnya.

Struktur penulisan:

Page 4: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

4

write(nama variabel);

write(‘teks’);

writeln(nama Variabel);

writeln(‘teks’);

Contoh:

Buat program sederhana untuk Menghitung Luas Persegi Panjang:

Program LuasPersegiPanjang;

Var

Luas, Panjang, Lebar : integer;

Begin

Readln(panjang);

Readln(Lebar);Luas:= Panjang*Lebar;

Writeln(‘Luas Persegi Panjang adalah:’,Luas);

Readln;

End.

Tampilan pada lembar kerja Pascal,

Menjalankan program dengan perintah:

Ctrl+F9(tekan tombol Ctrl dan F9 bersama-sama).

Struktur program pascal yang paling sederhana adalah :

uses ...;

var ...;

begin

.... {Your program is here}

end.

Adapun struktur dasar suatu program pascal adalah sebagai berikut :

program ... ; { Program heading }

uses ... ; { Uses clause }

label ... ; { Labels }

const ... ; { Constants }

type ... ; { Types }

var ... ; { Variables }

procedure ... ; { Procedures }

function ... ; { Functions }

Page 5: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

5

begin

statement; { Statements }

...

end.

Program heading

Judul program dalam Turbo Pascal bersifat optional dan tidak ada pengaruhnya

dalam program. Jika ditulis akan memberikan nama program dan suatu daftar parameter

optional dimana program itu berkomunikasi. Daftar itu terdiri dari sederetan

indentifier yang diakhiri dengan tanda kurung dan dipisahkan dengan tanda koma.

Contoh :

Program Perhitungan (Input,Output);

Uses Clause

Bagian uses clause digunakan untuk menentukan library yang dibutuhkan saat

proses program. LIBRARY merupakan file penyimpan subroutine yang secara

berulang digunakan saat proses program. Library ini diistilahkan sebagai unit dalam

Turbo PASCAL yang terdiri dari SYSTEM, OVERLAY, GRAPH, DOS, CRT yang

ditempatkan dalam file TURBO.TPL.

Contoh :

Uses Crt; (*menggunakan Unit Crt *)

Perhatian :

Unit system merupakan unit yang secara otomatis akan disertakan dalam

setiap program, unit inilah mengatur semua perintah dasar input dan output pada Pascal.

Sedangkan unit-unit lain hanya akan disertakan bila kita pilih pada bagian uses.

Declaration Bagian ini meliputi deklarasi untuk label, const, type, var, procedure

dan function.Syarat terpenting dalam pembentukan suatu program adalah, bahwa setiap

variabel, type non-standard, label, procedure non-standard, serta function non-standard

yang dipakai didalamnya harus nyatakan (deklarasi) terlebih dahulu pada bagian deklarasi.

Setiap deklarasi tersebut harus bersifat unik (tidak boleh serupa satu sama yang

lain). Penulisan nama dalam deklarasi tersebut harus memenuhi syarat-syarat sebagai

berikut :

� panjang nama maximum 63 character, diawali dengan alphabet

� tidak ada special character kecuali tanda garis bawah ("_")

Page 6: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

6

� tidak boleh serupa dengan reserved word (kata tercadang)

� tidak boleh serupa dengan indentifier lainnya.

Variabel Declaration

Setiap variabel yang digunakan dalam program harus didefinisikan terlebih dahulu sebelum

digunakan. Cara penulisan ini adalah :

Var

<nama var> : <type variable>;

Statement

Bagian ini merupakan inti dari program. Seluruh perintah dan urutannya serta proses

Input/Output dalam program perlu disusun secara teratur oleh penyusun program. Segala

yang ada pada bagian uses maupun deklarasi merupakan pendukung terhadap isi program.

Bagaimana membuat keterangan ?

Untuk membuat program anda menjadi mudah dibaca dan dimengerti, maka perlu

diberi keterangan yang akan diabaikan oleh kompiler. Untuk membuat keterangan gunakan

tanda kurawal { ini adalah keterangan }, atau (* ini adalah keterangan *). Type data apa saja

yang disediakan Turbo Pascal ?

Adapun type variable yang disediakan pada TURBO PASCAL :

1. Ordinal types

Type data yang mempunyai urutan pasti, dan masih terbagi menjadi

- Integer

Type variable yang beguna untuk pengolahan data yang bulat, type ini masih terbagi atas

berberapa menurut jangkauan data dan ukurannya :

Type Jangkuan Ukuran

Shortint -128..127 8 bit

Integer -32768..32767 16 bit

Longint -2147483648..2147483647 32 bit

Byte 0..255 8 bit

Word 0..65535 16 bit

- Char

Type variabel yang berguna untuk pengolahan character ASCII, type character ini

penulisannya ditandai dengan dua buah petik tunggal seperti : 'A', '3','*',#7 untuk

menyatakan ' harus ditulis ''''

- Boolean

Page 7: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

7

Type varibale yang berguna untuk pengolahan hal yang hanya mempunyai dua

ketentuan yaitu benar(TRUE) dan salah(FALSE) saja.

2. Real types

Type variable yang beguna untuk pengolahan data yang tidak bulat, untuk type real ini juga

terbagi atas beberapa :

Type Jangkauan Ketelitian Ukuran

Real 2.9e-39..1.7e38 11-12 digit 6 bit

Single 1.5e-45..3.4e38 ³ 7-8 7-8 digit 4 bit

Double 5.0e-324..1.7e308 15-16 digit 8 bit

Extended 3.4e-4932..1.1e4932 19-20 digit 10 bit

Comp -9.2e18..9.2e18 19-20 digit 8 bit

Untuk pengolahan type variabel diatas di sediakan berbagai jenis operator antara lain :

Operator Integer Type Real Type

+ Penjumlahan Penjumlahan

- Pengurangan Pengurangan

* Perkalian Perkalian

/ Pembagian Pembagian

DIV Hasil bagi

MOD Sisa Bagi

Operator Integer Type Boolean Type

NOT Bitwise Negation Logical Negation

AND Bitwise AND Logical AND

OR Bitwise inclusive OR Logical inclusive OR

XOR Bitwise exclusive OR Logical exclusive OR

SHL Bitwise shift-left

SHR Bitwise shift-right

Operator relasi yang mengembalikan hasil Boolean

Operator Fungsi

:= Menyatakan nilai

= Sama dengan

<> Tidak sama dengan

< Lebih kecil

> Lebih besar

<= Lebih kecil atau sama dengan

Page 8: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

8

>= Lebih besar atau sama dengan

Bagaimana menampilkan tulisan ke layar ?

Pascal menyediakan perintah Write dan Writeln yang dapat anda gunakan

untuk menampilkan tulisan ke layar. Perintah Readln dapat digunakan untuk membaca

masukan dari pemakai dan menyimpannya ke suatu variabel.

Kunci Fungsi Ekivalen menu

F1 Mengaktifkan jendela pertolongan. File / Save

F2 Menyimpan berkas yang ada pada editor. File / Load

F3 Memanggil program kedalam editor. Run / Go to cursor

F4 Mengeksekusi program sampai posisi kursor. Run / Trace into

F5 Memperbesar atau memperkecil jendela yang aktif. Compile / Make

F6 Mengganti jendela yang aktif. File / Pick

F7 Melacak kedalam subrutin. File / user screen

F8 Melompati pemanggil subrutin. Compile

F9 Mengaktifkan perintah ‘Make’ Run / Program reset

F10 Berpindah dari menu-menu ke jendela yang aktif.

Alt + F1 Memanggil jendela pertolongan yang terakhir dibaca.

Alt + F3 Memilih berkas untuk dimuat.

Alt + F5 Memperlihatkan hasil eksekusi.

Alt + F6 Mengganti isi jendela yang aktif.

Alt + F9 Mengkompilasi program.

Alt + B Mengaktifkan menu Break / Watch.

Alt + C Mengaktifkan menu compile.

Alt + D Mengaktifkan menu debug.

Alt + E Mengaktifkan editor.

Alt + F Mengakaktifkan menu file.

Alt + O Mengaktifkan menu option.

Alt + R Mengaktifkan menu run.

Page 9: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

9

Alt + X Keluar dari Turbo Pascal dan kembali ke DOS.

Ctrl + F1 Menampilkan menu pertolongan bahasa.

Ctrl + F2 Menghentikan pembetulan.

Ctrl + F3 Menampilkan isi tumpukan. Debug / Call Stack

Ctrl + F4 Melakukan penghitungan atau mengubah nilai peubah.. Debug / Evaluate

Ctrl + F7 Menambahkan ungkapan pada jendela watch. . B / Add Watch

Ctrl + F8 Toggles Breakpoint.. B / Toggle

breakpoint

Ctrl + F9 Menjalankan program.. Run / Run

Ctrl + F10 Menampilkan versi layar monitor.

Nah, itu tadi adalah beberapa hotkey yang ada pada Turbo Pascal,

Fungsi MenuBar Program Pascal

1. Menu File : Didalam menu File banyak submenu yang bisa dipilih misalkan saja

perintah Load / F3 yang berfungsi untuk memanggil berkas yang sudah tersimpan, dan

banyak lainnya.

2. Submenu Load : Pilihan ini digunakan untuk memanggil program dari suatu folder

atau directory ke dalam editor. Didalam submenu ini anda juga bisa memilih submenu

yang lain dengan hanya menekan tombol huruf depan dari submenu yang dituju,

contohnya anda mau ke submenu New, maka anda tinggal menekan huruf N.

3. Submenu Pick : Pilihan yang satu ini digunakan untuk mengambil salah satu dari

beberapa buah program yang sebelumnya telah dimuat ke dalam jendela Edit. Hal ini

ditujukan agar kita tidak perlu repot-repot lagi mencarinya di submenu load.

4. Submenu New :Program yang ada di editor akan dihapus dan program yang akan anda

tulis dianggap sebagai program yang baru dengan nama NONAME.PAS, nama ini bisa

anda rubah ketika anda mau menyimpannya.

5. Submenu Save [F2] : Pilihan ini digunakan untuk menyimpan suatu program yang

sudah di edit ke dalam cakram atau folder, jika nama program itu masih

NONAME.PAS maka Turbo Pascal akan menanyakan pada anda, nama apa yang akan

anda berikan pada program yang akan disimpan tersebut. Atau anda juga bisa menekan

tombol F2.

6. Submenu Write to : pilihan ini digunakan untuk menggantikan program lama dengan

program yang baru (istilah kerennya Overwrite…☺). Jika nama program anda sudah

Page 10: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

10

ada pada cakram atau folder maka ada verifikasi dari Turbo Pascal untuk penggantian

nama.

7. Submenu Directory : pilihan ini digunakan untuk menampilkan direktori dan nama-

nama file yang anda inginkan. Anda juga bisa menggunakan pilihan Load.

8. Submenu Change Dir : Pilihan yang satu ini digunakan untuk menampilkan direktori

yang sedang digunakan dan juga bisa digunakan untuk mengganti nama direktori yang

baru.

9. Submenu OS shell : Perintah ini digunakan bagi anda yang ingin ke tampilan DOS

tetapi tanpa mematikan Turbo Pascalnya, untuk kembali lagi ke Turbo Pascal, anda

tinggal mengetikan “exit”, tetapi biasanya ketika anda sedang membuat suatu program

atau mengedit suatu program perintah ini tidak dapat dijalankan karena kurangnya

kapasitas memory.

10. Submenu Quit [Alt + x] : Dari namanya sudah jelas, perintah ini digunakan untuk

keluar dari Turbo Pascal dan kembali ke prompt DOS.

11. Menu Edit : Perintah edit ini digunakan untuk mengaktifkan editor Turbo Pascal.

12. Menu Run [Ctrl + F9] : Perintah ini digunakan untuk mengeksekusi program yang

sudah anda buat. Anda juga bisa menekan Ctrl + F9 untuk mengeksekusi program

anda.

13. Submenu Program Reset [Ctrl + F2] : Pilihan ini digunakan untuk memberitahukan

Turbo Pascal bahwa anda selesai dengan pembetulan-pembetulan dan menginisialisasi

debugger untuk operasi yang lain. Pilihan ini sekaligus membebaskan pengingat yang

telah dialokasikan dan menutup semua berkas, tetapi tidak merubah nilai-nilai perubah.

Pilihan ini sangat berguna jika anda ingin menjalankan pilihan File / OS shell.

14. Submenu Go to Cursor [F4] : Pilihan ini digunakan untuk memulai / melanjutkan

eksekusi program dimulai dari posisi saat eksekusi dimulai sampai tempat kursor

berada. Jika kursor berada pada statement yang bersifat executable, seperti spasi atau

baris komentar, maka eksekusi akan dilanjutkan sampai statement yang bersifat

executable.

15. Submenu Trace Into [F7] :Perintah ini digunakan untuk mengeksekusi baris

berikutnya, jika ada pemanggilan ke suatu subrutin, maka pelacakan akan dimulai dari

statement pertama dari subrutin tersebut. Sekaligus juga akan memuat berkas-berkas

atau unit Include jika dimungkinkan.

16. Submenu Step Over : Step over ini memiliki cara kerja yang hampir sama dengan

Trace Into, hanya saja jika statement adalah sebuah prosedur atau fungsi, maka

Page 11: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

11

keseluruhan subrutin akan dikerjakan sekaligus dan debugger akan berhenti pada

statement sesudah pemanggilan ke subrutin.

17. Submenu User screen [Alt + F5] : Pada umumnya perintah ini digunakan untuk

melihat hasil dari program yang telah compile dan kita run. Pada tampilan ini IDE

[Integrated Debugger Environment] berpindah-pindah pada saat anda menjalankan

dan mendebug program. Perintah ini juga digunakan oleh File / OS shell Tampilan

User Screen.

18. Menu Compile [Alt + F9] : Perintah ini digunakan untuk mengkompile program atau

bisa juga kita bilang kalau program yang telah kita buat tadi dengan bahasa pascal di

terjemahkan kedalam bahasa komputer agar si komputer ini mengerti apa-apa saja

perintah kita.

19. Submenu Make : Pilihan ini digunakan untuk mengaktifkan perintah make, jika file

yang primer telah diberi nama, maka file ini akan dikompilasi, jika tidak maka file yang

terakhir yang sedang dimuat di editor akan dikompilasi.. Pilihan ini sangat berguna jika

terdapat beberapa program yang secara fisik terpisah tetapi secara logikanya

merupakan suatu kesatuan.

20. Submenu Build : Perintah ini mirip dengan perintah make, hanya saja perintah build ini

sifatnya bebas, sedangkan perintah make hanya akan mengkompilasi file-file selain file

yang digunakan.

21. Submenu Destination [Memory] : Perintah ini secara umumnya hanya berfungsi untuk

memilih apakah hasil kompilasi akan disimpan dalam cakram atau folder sebagai file

yang bertipe .EXE atau hanya di pengingat utama yang akan hilang pada saat anda

keluar dari Turbo Pascal.

22. Submenu Find Error : Dari namanya anda pasti sudah tahu, yah perintah ini digunakan

untuk menentukan lokasi kesalahan pada saat program dijalankan [run time error].

Lokasi kesalahan dinyatakan dengan format seg:off, misalnya 2BE0:FFD4. jika anda

kembali ke IDE, turbo pascal akan menempatkan kursor pada baris dimana terjadi

kesalahan. Jika anda terlanjur memindahkan kursor sembarangan maka anda bisa

memindahkan kembali kursor ke tempat kesalahan dengan menekan Ctrl + Q + W.

23. Submenu Primary File : Perintah ini digunakan untuk menyatakan bahwa file .PAS

akan dikompilasi pada saat make [F9] atau build [Alt + C + B] diaktifkan.

24. Submenu Get info : Tidak salah lagi, perintah ini digunakan untuk menampilkan

jendela informasi dari program .PAS yang sedang anda gunakan, termasuk ukuran

kode sumber [dalam sumber dan baris], ukuran file .EXE atau .TPU dalam byte dan

data.

Page 12: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

12

25. Menu Options : Pilihan pada menu yang satu ini berfungsi mengkonfigurasi untuk

mengoptimalkan penggunaan fasilitas-fasilitas pada turbo pascal.

26. Submenu Compiler : Pilihan ini didalamnya pun masih banyak perintah yang lainnya

seperti pengecekan batas, pengecekan tumpukan dll, seperti yang anda lihat pada

gambar di atas. contohnya pengecekan batas [Range checking] adalah sama dengan

{$R}. sekarang saya akan coba jelaskan satu persatu agar lebih jelas dari masing-masing

penggunaan ini.

27. Range checking [Off]: Perintah ini digunakan untuk menghidupkan atau mematikan

pengecekan batas. Jika dihidupkan, kompiler akan membangkitkan kode yang akan

mencek batas index pada array dan string dan juga nilai yang dihasilkan dalam suatu

statement pemberian. Pilihan ini sama dengan petunjuk kompiler {$R}.

28. Stack checking [On]: Digunakan untuk menghidupkan atau mematikan pengecekan

kesalahan operasi I/O. Jika dihidupkan pada saat terjadi kesalahan operasi I/O proses

akan langsung dihentikan. Jika dimatikan, kode kesalahan akan tersimpan dalam fungsi

IO Result. Pilihan ini sama dengan penunjuk kompiler {$I}.

29. Force far calls [Off]: Digunakan untuk memilih model pemanggilan terhadap prosedur

atau fungsi yang telah dikompilasi. Model pemanggilan bisa secara far atau near.

Pilihan ini sama dengan penunjuk kompiler {$F}.

30. Allign Data [Word] : Digunakan untuk mengatur cara penyimpanan perubah dan

konstanta bertipe dari byte ke word atau sebaliknya. Pilihan ini sama dengan penunjuk

kompiler {$A}.

31. Overlay Allowed [Off] : Mengaktifkan atau menonaktifkan pembakitan kode Overlay.

Pilihan ini sama dengan penunjuk kompiler {$O}.

32. Var string checking [Strict] : Digunakan untuk mengendalikan cara pengecekan data

string yang digunakan sebagai parameter berubah. Pilihan sama dengan penunjuk

kompiler {$V}.

33. Boolean Evaluation [Short Circuit] : Digunakan untuk memilih pembangkitan kode

pada saat operasi logika [operasi Boolean] dijalankan. Pilihan ini sama dengan

penunjuk kompiler {$B}.

34. Numeric Processing [Software] : Digunakan untuk memilih pembangkitn kode operasi

titik mengambang [floating point] yang didukung oleh Turbo Pascal. Pilihan ini juga

sama dengan penunjuk kompiler {$N}

35. Emulation [On] : Mengaktifkan atau menonaktifkan linking dengan run – time yang

mengemulasikan ke prosessor numeric 8087. pilihan ini sama dengan penunjuk

kompiler {$E}

Page 13: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

13

36. Debug Information [On] : Digunakan untuk membangkitkan atau tidak

membangkitkan informasi pada saat didalam program terjadi kesalahan. Pilihan ini

sama dengan penunjuk kompiler {$D}.

37. Local Symbol [On] : Digunakan untuk mengaktifkan atau menonaktifkan symbol

informasi local.

38. Conditional defines: Digunakan untuk menyatakan penunjuk kompiler berkondisi.

39. Memory sizes: Digunakan untuk mengkonfigurasi peta pengingat. Dengan penunjuk

kompiler{$M}.

40. Stack Size: ukuran segmen tumpukan maksimum 64 K dengan standart 16 K.

41. Low Heap limit: ukuran heap minimum standart adalah 0 K.

42. High Heap limit: ukuran heap maksimum adalah 655360 byte.

43. Submenu Linker Pilihan ini digunakan untuk mengatur konfigurasi built in linker.

44. Map File [Off] : Menentukan berapa banyak informasi dalam berkas peta map yang

akan dihasilkan. Berkas peta akan ditempatkan dalam direktori .EXE dengan akhiran

.MAP

45. Segment : Informasi segment [Nama, Ukuran, Awal dan Akhir segment dan kelasnya].

46. Public : Informasi segment, semua nama-nama symbol dan alamatnya dan titik

masukkan program.

47. Detailed : segement, informasi symbol dan titik masukkan program dan nomor

barisnya dan tabel-tabel modul.

48. Submenu Environment Pilihan ini digunakan untuk memberitahukan Turbo Pascal

dimana bisa ditemukan berkas yang akan dikompilasi, di link dengan dilengkapi dengan

menu-menu pertolongan.

49. Config Auto Save [Off] : Digunakan untuk mencegah kehilangan setting komfigurasi

yang telah anda lakukan.

50. Edit Auto Save [Off] : Digunakan untuk mencegah kehilangan berkas yang disebabkan

oleh penyimpanan otomatis pada saat anda menggunakan Run / Step Over atau Run /

Run

51. Backup Files [On] : Secara standard, turbo pascal akan membangkitkan berkas backup

pada saat anda menyimpan berkas. Yang biasa kita lihat dengan .BAK

52. Tab Size [2] : Digunakan untuk mengatur ukuran Tab pada editor. Ukuran yang

diperbolehkan adalah 2 sampai 16 dengan defaultnya 8.

53. Zoom Windows [Off] : Jika di On kan maka, Jendela Edit, Watch, dan Output akan

diperluas sampai satu layar penuh.

Page 14: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

14

54. Screen Size [25 line] : Digunakan untuk memilih ukuran layar. Dengan standard 25

baris, 43 baris [EGA] atau 50 baris [VGA]. Pilihan ini hanya bisa diaktifkan jika

perangkat kerasnya mendukung.

55. Submenu Directories : Pilihan menu ini digunakan untuk menunjukkan kepada Turbo

Pascal lokasi setiap direktori yang diperlukan.

56. Turbo directory : Digunakan untuk menemukan berkas konfigurasi [.TP] dan berkas

pertolongan [Turbo.HLP].

57. EXE & TPU directory : Digunakan untuk menyimpan berkas .EXE dan .TPU.

58. Include Directories : Digunakan untuk menentukan direktori yang berisi Include File.

59. Unit Directories : Digunakan untuk memberitahu TP dimana berkas-berkas unit

berada.

60. Object Directories : Digunakan untuk menentukan direktori yang berisi berkas [.OBJ].

61. Pick file name : Digunakan untuk menentukan nama dan lokasi pick file.

62. Current pick file : Digunakan untuk menunjukkan nama dan lokasi pick file, jika ada.

63. Submenu Parameters : Digunakan untuk memberikan parameter baris perintah

[Command Line parameters] pada program-program yang akan dijalankan.

64. Submenu Save Option : Digunakan untuk menyimpan semua pengaturan dalam menu

Compiler, Environment, dan Directories dalam berkas konfigurasi [standardnya adalah

TURBO.TP]

65. Submenu Retrieve Options :Digunakan untuk memuat berkas konfigurasi yang

sebelumnya disimpan dengan pilihan save.

66. Menu Debug : Pilihan-pilihan yang ada dalam menu ini terutama digunakan untuk

melacak nilai-nilai perubah, mencari letak suatu fungsi atau prosedur dan lain-lain.

67. Submenu Evaluate [Ctrl + F4] : Dengan pilihan ini anda akan dibawa ke suatu jendela

dengan 3 kotak yang memungkinkan anda untuk menuliskan sembarang nama perubah

/ ungkapan, menunjukan nilai perubah / ungkapan saat itu an memungkinkan anda

untuk memberikan nilai yang baru untuk sembarang perubah.

68. Submenu Call Stack [Ctrl + F3] : Pada saat anda melakukan debugging, suatu jendela

yang menunjukan daftar pemanggil prosedur dan fungsi akan terlihat.

69. Submenu Find Procedure : Memungkinkan anda untuk menuliskan nama prosedur

dan fungsi dan kemudian mencari dalam program yang sedang anda aktifkan.

70. Submenu Integrated Debugging [On] Jika dipilih On, debugging dilakukan

menggunakan IDE.

Page 15: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

15

71. Submenu Stand Alone Debugging [Off] Jika diset Off, dan compile / destination

dipilih ke Disk debug information akan ditambahkan ke dalam berkas .EXE untuk

digunakan oleh Turbo Debugger.

72. Submenu Display Swapping [Smart] Penampilan pada layar bisa dipilih salah satu dari

3 pilihan, Smart, Always atau Never.

• Smart : debugger akan melihat kode yang sedang dieksekusi untuk melihat apakah

perlu menampilkan hasilnya ke layar.

• Always : pilihan ini akan menyebabkan layar dipindah setiap kali suatu statement

dieksekusi.

• Never : pilihan ini akan memberitahukan debugger untuk tidak melakukan

pemindahan layar.

73. Submenu Refresh Display : Pilihan ini digunakan untuk memanggil kembali layar IDE.

Hal ini perlu, terutama jika program anda merusak tampilan yang sudah ada dalam

layar.

Menu Break / Watch

74. Submenu Add Watch [Ctrl + F7] : Digunakan untuk menambahkan rinci data,

perubah atau ungkapan kedalam jendela watch

75. Submenu Delete Watch : Untuk menghapus ungkapan dalam jendela Watch pada saat

jendela ini terlihat.

76. Submenu Edit Watch : Pilihan ini akan membawa posisi watch ke kotak input sehingga

anda bisa mengubahnya.

77. Submenu Remove All Watches : Menghapus semua rinci dalam jendela watch sekaligus

memperkecil ukurannya sampai minimum.

78. Submenu Toggle Breakpoints [Ctrl + F8]: mengatur suatu baris sebagai breakpoint.

Dalam editor breakpoint ditunjukkan dengan highlight text.

79. Submenu Clear All Breakpoints: Menghapus semua breakpoint yang telah diset.

80. Submenu View Next Breakpoint : Digunakan untuk menggerakkan kursor ke posisi

breakpoint berikutnya.

Page 16: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

16

MODUL 2

UNSUR-UNSUR PEMROGRAMAN

Turbo Pascal menyediakan suatu unit CRT, yang berisi perintah-perintah

pengaturan layar seperti membersihkan layar, mengatur warna tulisan, warna

background. Baiklah, berikut ini adalah nomor warna yang mewakili masing-masing

warna: 0 (black), 1 (blue), 2 (green), 3 (cyan), 4 (red), 5 (magenta), 6 (brown), 7 (lightgray),

8 (darkgray), (9) lightblue, 10 (lightgreen), 11 (lightcyan), 12 (lightred), 13

(lightmagenta), 14 (yellow), 15 (White).

Contoh :

TextColor(4 + 128);

Writeln('Merah dan berkedip-kedip');

Unsur Program

a. Mendapatkan data dengan membaca data dari default input (key board, file atau sumber

data lainnya).

b. Menyimpan data ke dalam memori dengan struktur data yang sesuai,

Page 17: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

17

c. Memproses data dengan instruksi yang tepat.

d. Menyajikan atau mengirimkan hasil olahan data ke default output (monitor, file atau

tujuan lainnya).

Nama yang dipergunakan dalam program Pascal disebut dengan pengenal

atau Identifier. Identifier digunakan untuk nama: Program, Sub-program (procedure dan

function), nama: Variable, Constant, Type, Label. Nama-nama ini digunakan untuk

pemakaian dan pemanggilan dalam program. Ketentuan penulisan identifier

� Nama identifier harus dimulai dengan karakter huruf alfabet: a sampai z, A sampai Z

atau karakter ‘_’ (underscore – garis bawah)

� Karakter berikutnya boleh karakter numerik (0 .. 9) atau kombinasi alphanumerik

(huruf-numerik).

� Panjang nama, pada berbagai versi Pascal umumnya antara 32 – 63.

� Tidak boleh menggunakan karakter istimewa: + – * / | \ = < > [ ] . , ; : ( ) ^ @ { } $ #

~ ! % & ` ” ‘ dan ?

� Contoh penulisan:

Penulisan yang benar: NamaMahasiswa, Gaji_Karyawan, PX4, dll. Penulisan yang salah:

3X, A & B, C Z dll.

Variable adalah identifier yang berisi data yang dapat berubah-ubah nilainya di dalam

program. Deklarasi Variable adalah :

� Memberikan nama variabel sebagai identitas pengenal

� Menentukan tipe data variable

� Contoh deklarasi variabel:

var X : integer;

R : real;

C : char;

T : boolean;

Konstanta adalah identifier yang berisi data yang nilainya tidak berubah di dalam program.

Deklarasi Konstanta adalah:

a. Memberikan nama konstanta sebagai identitas pengenal

b. Menentukan nilai konstanta Contoh deklarasi konstanta:

conts MaxSize = 100; {integer}

ExitC = ‘Q’; {char}

Reserved Words atau kata-kata cadangan pada Pascal adalah kata-kata yang sudah

didefinisikan oleh Pascal yang mempunyai maksdu tertentu Suatu. Unit adalah kumpulan

Page 18: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

18

dari konstanta, tipe-tipe data, variabel, prosedur dan fungsi-fungsi. Unit standar pada Pascal

yang bisa langsung digunakan adalah System, Crt, Printer Dos dan Graph.

Untuk menggunakan suatu unit, maka kita harus meletakkan clausa atau anak

kalimat Uses di awal blok program, diikuti oleh daftar nama unit yang digunakan. Pada

materi ini yang akan dibahas adalah unit Crt. Unit ini digunakan untuk memanipulasi layar

teks (windowing, peletakan cursor di layar, Color pada teks, kode extended keyboard dan

lain sebagainya.

Beberapa Statemen Turbo Pascal

Statemen adalah perintah untuk pengerjaan program pascal. Statemen terletak di

bagian deklarasi statemen dengan diawali oleh kata cadangan BEGIN dan diakhiri dengan

kata cadangan END. Akhir dari setiap statemen diakhiri dengan titik koma [ ; ].

Statemen statemen dalam bahasa Pascal terdiri dari pernyataan yang berupa fungsi dan

prosedur yang telah disediakan sebagai perintah standar Turbo Pascal.

1. Statemen-statemen yang digunakan untuk input/output.

# Read/Readln [prosedur].

Perintah ini digunakan untuk memasukkan [input] data lewat keyboard ke dalam suatu

variabel.

Sintaks : Read/Readln(x);

(ingat, selalu diakhiri dengan titik koma [;])

Keterangan : x = variabel.

Read = pada statemen ini posisi kursor tidak pindah ke baris selanjutnya.

Readln = pada statemen ini posisi kursor akan pindah ke baris selanjutnya setelah di input.

# Write/Writeln [prosedur].

Digunakan untuk menampilkan isi dari suatu nilai variable di layar.

Sintaks: Write/Writeln(x);

Keterangan : x = variabel.

Write/Writeln= statement ini digunakan untuk mencetak variable ke dalam monitor

2. Statemen-statemen yang digunakan untuk pengaturan letak layar.

# ClrScr [prosedur].

Perintah ini digunakan untuk membersihkan layar.

sintaks: ClrScr; [Clear screen]

Page 19: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

19

MODUL 3

STATEMENT IF CONDITIONAL

Bagaimana penulisan perintah pengambilan keputusan pada Pascal ? Salah satu perintah

struktur pengambilan keputusan adalah :

If condition Then statement;

Struktur kendali aliran adalah suatu bentuk/struktur yang memiliki peranan khusus untuk

mengatur aliran urutan pengerjaan operasi atau beberapa operasi tertentu. Salah satu

contoh pernyataan kendali yaitu pernyataan if. Pernyataan if (if statement) akan memeriksa

suatu persyaratan dan menentukan apakah syarat tersebut benar atau salah, kemudian

melakukan pekerjaan sesuai dengan nilai pernyataan tersebut.

Dimana condition adalah sesuatu yang bernilai True atau False, dan statement adalah

perintah yang akan dijalankan. Untuk keputusan seperti ini, pascal menyediakan

struktur pengambilan keputusan berikut.

Page 20: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

20

Statement

If condition

Then Statement1 Else Statement2;

Atau lebih baik ditulis sebagai

If conditon Then

Statement1

Else

Statement2;

Contoh :

Uses Crt;

Var

Bilangan : Integer;

Begin

Clrscr;

Write(‘Masukan Bilangan ? ‘); Readln(Bilangan);

If (Bilangan Mod 2) = 0 Then

Writeln (‘Genap’)

Else (pengecualisn)

Writeln (‘Ganjil’);

Readln;

End.

Dalam Statement ini, akan di pilih jika statement pertama dipilih maka program tidak akan

berlanjut ke pengecualian yang kedua, akan tetapi apabila pengecualian pertama tidak

memenuhi syarat, maka pengecualian kedua akan dipilih.

Berikut IF Statement lebih dari 2 pengecualian

Statement :

If condition1 Then

Statement1

Else

If condition2 Then

Statement2

Else

If condition3 Then

Statement3

Page 21: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

21

Else

Statement4;

Sama seperti pengecualian IF 2 Statement, hanya saja bertambah pengecualiannya.

Contoh :

if mark>=80 then

grade:='A'

else { 79 or below goes here }

if mark>=70 then

grade:='B'

else { 69 or below goes here }

if mark>=60 then

grade:='C'

else { 59 or below goes here }

if mark>=50 then

grade:='D'

else { 49 or below goes here }

grade:='E';

Selain struktur kendali If, pascal juga menyediakan suatu struktur Case, yang akan

menjalankan statement berdasarkan range tertentu, adapun syntaxnya adalah sebagai

berikut :

Case variabel Of

Range1 : Statement1;

Range2 : Statement2;

Range3 : Statement3;

Else StatementN;

End;

Page 22: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

22

MODUL 4

PENGULANGAN (LOOPING)

Secara sederhana looping diartikan sebagai proses berulang terhadap statement

maupun serangkaian statement lebih dari satu kali.Salah satu struktur perintah

perulangan pada pascal adalah yang menggunakan counter.

For variabel := nilai awal To nilai akhir Do Statement;

Atau

For variabel := nilai awal DownTo nilai akhir Do Statement; Dimana variabel harus ordinal

type

Page 23: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

23

Contoh :

Var I : Integer;

Begin

For I := 1 To 10 Do Writeln('PentaCOM');

End.

Program yang menggunakan pengulangan atau Looping :

Program Pengulangan;

uses crt;

var

x : integer;

begin

clrscr;

For x:= 1 to 10 do

writeln ('I LOVE U GIRL');

readln;

end.

Pengulangan pada program diatas adalah kata I LOVE U GIRL akan dicetak sebanyak 10

kali. Logikanya, jika kata belum memenuhi akhir daripada variable yang telah ditentukan,

maka pengulangan itu akan terus berlanjut sampai variable terpenuhi.

MODUL 5

PROCEDURE DAN FUNCTION

Sebuah program yang baik adalah program yang membagi permasalahan utama

menjadi bagian-bagian kecil dimana setiap bagian kecil ditangani oleh sebuah

subprogram, cara ini disebut dengan modular programming (pemrograman

terbagi/terpecah). Cara ini termasuk pemrograman terstruktur dan sangat didukung

oleh bahasa Pascal. Untuk itu, Pascal telah menyediakan dua jenis subprogram, yaitu

procedure dan function (prosedur dan fungsi).

Page 24: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

24

Dengan modular programming, program lebih mudah dibaca dan dimengerti.

Selain itu, pembenahan program dan penelusuran jalannya program (debugging)

menjadi lebih mudah sebab dapat langsung diketahui subprogram mana yang berjalan

tidak sesuai dengan yang diharapkan.

Procedure dan function merupakan sub-program yang memiliki bagian deklarasi dan begin-

end; tersendiri layaknya suatu program pascal. Tujuan pemakaian procedure maupun

function adalah untuk memecah program kita menjadi kesatuan logika yang lebih kecil

(sub-sub program) untuk menghindari perulangan pengetikan dan memudahkan

pembacaan.

a. Prosedur

Prosedur adalah subprogram yang menerima masukan tetapi tidak mempunyai

keluaran secara langsung.

b. Fungsi

Fungsi adalah subprogram yang menerima masukan dan mempunyai keluaran secara

langsung

procedure Nama_Prosedur;

begin

. . .

end;

Function Nama_Fungsi;

begin

. . .

end;

{ Program utama }

begin

. . .

end.

Contoh pemakaian procedure :

uses crt;

begin

clrscr;

writeln('ABC');

writeln('Press any key when ready ...');

readkey;

writeln('Hey, let''s pause !');

writeln('Press any key when ready ...');

Page 25: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

25

readkey;

writeln('Pause again !');

writeln('Press any key when ready ...');

readkey;

end. Dengan memecah program kita menjadi kesatuan yang lebih kecil :

uses crt;

procedure pause;

begin

writeln('Press any key when ready ...');

readkey;

end;

begin

clrscr;

writeln('ABC');

pause;

writeln('Hey, let''s pause !');

pause;

writeln('Pause again !');

pause;

end.

Contoh pemakaian function :

Var I : Byte;

Akar,Bagi : Word;

Begin

Writeln(Upper('Bilangan Prima dari 1 s/d 100');

Writeln(Replicate('-',30);

For I := 1 To 100 do

If (Bil > 1 And Bil < 4) Then

Write(I : 4)

Page 26: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

26

Else

Begin

Akar := Round(Sqrt(Bil));

Bagi := 3;

While (Bagi <= Akar) And (Bil Mod Bagi <> 0) Do

Bagi := Bagi + 1;

If Bagi > Akar Then

Write(I : 4);

End;

End.

Dan contoh berikut yang menggunakan function :

Function IsPrime (Num : Longint) : Boolean;

Var

Sq ,Dv : Word; (*local variable )

Begin

If Num < 2 Then

IsPrime := False

Else

If Num < 4 Then

IsPrime := Bil > 1

Else

Begin

Sq := Round(Sqrt(Num));

Dv := 3;

While (Dv <= Sq) And (Num Mod Dv <> 0) Do

Dv := Dv + 1;

IsPrime := Dv > Sq;

End;

End;

Pada prinsipnya function mengembalikan nilai.

Pada deklarasi bagian deklarasi parameter kita menentukan parameter dan type data dari

masing-masing parameter yang akan dikirim kedalam procedure maupun function.

Page 27: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

27

MODUL 6

A R R A Y

Array adalah variabel yang dapat menampung sejumlah data yang ditandai dengan suatu

index pada masing-masing elemennya.

Contoh :

Var

Page 28: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

28

Nilai : Array [1..10] of Integer;

Penjelasan dari contoh diatas adalah menyisakan ruang pada penyimpanan sebanyak array

itu sendiri, seperti contoh akan terpenuhi setelah jumlah ke 10. Dalam hal ini variabel

Nilai adalah suatu array yang memiliki 10 element, yaitu Nilai[1], Nilai[2], Nilai[3],

…, Nilai[10]. Pada masing-masing elemennya dapat menampung satu nilai Integer.

Adakah bentuk array yang lain, selain yang anda sebutkan ?

Ada, array yang telah kita sebutkan tersebut adalah array 1 dimensi, kita dapat juga

membuat multi dimensi sesuai dengan kebutuhan, contoh :

Var

Matrix : Array [1..3,1..3] Of Integer;

Adalah contoh array 2 dimensi, yang terdiri dari elemen Matrix[1,1], Matrix [1,2],

Matrix[1,3], Matrix[2,1], Matrix[2,2], Matrix[2,3], Matrix[3,1], Matrix[3,2], dan

Matrix[3,3].

Jadi jumlah elemennya adalah 3 x 3 = 9 elemen.

Dapatkah kita buat 3 Dimensi, 4 Dimensi, dst ?

Oh, bisa, hal ini tergantung bagaimana kita mendeklarasikan variabel array tersebut. Adakah

hal-hal yang khusus dalam mendeklarasikan array pada Pascal ? Ada, anda bisa

mendeklarasikan array seperti :

x : Array[3..10] of Integer; {elemennya x[3], x[4], x[5], …, x[10]}

idx : Array['A'..'Z'] of Integer;

a : Array['a'..'z'] of Byte;

n : Array[byte] of Integer; { The same as array[0..255] of integer; }

Cara pemakaiannya seperti array bisanya, Cuma indexnya ditulis sebgai character,

contoh:

Idx['A'] = 100;

Dan kalau pakai looping :

For c:='A' to 'Z' do

idx[c]:= 0;

Contoh Program Array :

Program Nama_Bulan;

uses crt;

Page 29: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

29

const

Bulan :array[1..13] of string = ('Januari','Februari','Maret','April','Mei','Juni','Juli',

'Agustus','September','Oktober','Nopember','Desember','KIAMAT');

var

NoBulan : integer;

begin

clrscr;

write ('Masukan nomor bulan : '); readln (NoBulan);

write ('Nama bulan ke ' ,NoBulan,' adalah ', bulan [NoBulan]);

readln;

end.

MODUL 7

RECORD

Record adalah tipe data kompleks yang elemen-elemennya boleh mempunyai tipe data yang

berbeda. Record lebih kompleks daripada array karena record merupakan kumpulan

Page 30: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

30

beberapa variabel dengan tipe data yang berbeda. Berbeda dengan array yang tiap

elemennya ditandai dengan nomer indeks maka record ditandai dengan nama variabel

anggotanya. Cara mengakses elemen dari record dilakukan dengan menyebutkan nama

variabel anggota setelah menyebutkan nama record yang akan diakses. Di antara nama

record dan nama variabel anggota dipisahkan tanda titik (.).

Cara pendeklarasian record adalah sebagai berikut :

var

B : record

X : integer;

Y : real;

end;

Pada pendeklarasian di atas, maksudnya adalah sebagai berikut : variabel B berupa

record dengan dua elemen yaitu X bertipe integer dan Y bertipe real. Untuk

mengakses elemen dari variabel B seperti berikut : B.nama_variabel

contoh : B.X := 10;

Untuk lebih memahami penggunaan record dalam program, perhatikan contoh berikut ini :

program Jumlah_Kompleks;

uses CRT;

Type

Kompleks = record

bil_real : integer;

bil_imaj : integer;

end;

var

K1, K2, H : kompleks;

procedure Awal;

begin

Writeln(' Latihan Pascal 3 : Array dan Record');

Writeln('------------------------------------');

Writeln;

Writeln('Nama : ____________________');

Writeln('NIM : __________');

Writeln;

end;

Page 31: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

31

procedure JumlahKompleks(var Komp1, Komp2, KompHasil : kompleks);

begin

KompHasil.bil_real := Komp1.bil_real + Komp2.bil_real;

KompHasil.bil_imaj := Komp1.bil_imaj + Komp2.bil_imaj;

end;

procedure BacaData(var Komp : kompleks);

begin

Write('Bilangan real : ');

Readln(Komp.bil_real);

Write('Bilangan imajiner : ');

Readln(Komp.bil_imaj);

end;

procedure TulisKompleks(var Komp : kompleks);

begin

Write('(',Komp.bil_real:3,' + ',Komp.bil_imaj:3,'i)');

end;

begin

ClrScr;

Awal;

Writeln('Isi bilangan kompleks pertama :');

BacaData(K1);

Writeln;

Writeln('Isi bilangan kompleks kedua :');

BacaData(K2);

Writeln;

JumlahKompleks(K1, K2, H);

Writeln('Penjumlahan bilangan kompleks pertama dan kedua :');

TulisKompleks(K1);

Write(' + ');

TulisKompleks(K2);

Write(' = ');

TulisKompleks(H);

Writeln;

Writeln;

Write('Tekan Enter...');

Page 32: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

32

Readln;

end.

Perhatikan program di atas. Untuk lebih jelasnya, jalankan program dengan F7 sehingga

akan terlihat urutan jalannya program. Perhatikan pula bagaimana cara mengakses elemen

record seperti pada prosedur Jumlah Kompleks.

Page 33: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

33

MODUL 8

DELPHI INTERFACE

Tampilan Interface Delphi 7

1. Perintah penting pada Delphi

F9 Berfungsi untuk melakukan proses RUN (menjalankan program)

File | Close All Berfungsi untuk menutup File project sekaligus

Run | Program Reset Berfungsi untuk menghentikan program yang berjalan

F12 Berfungsi untuk berpindah dari Form editor dan sebaliknya

Ctrl+F11 Berfungsi untuk membuka File project(*.dpr)

Alt+F+V Berfungsi untuk menyimpan File project sekaligus

Ctrl+S Berfungsi menyimpan File dan yang belum didimpan

Alt+F+A Berfungsi untuk menyimpan nama file unit yang baru (sama

dengan Ctrl+S) untuk menyimpan file unit yang berbeda nama

MenuBar Component Palete

Code Editor

Object Inspector

Speed Bar

Form Design

Page 34: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

34

Alt+F+E Berfungsi untuk menyimpan nama file project (*.dpr) dengan nama

yang berbeda

2. Menu

Menu pada Delphi memiliki kegunaan seperti menu pada aplikasi Windows lainnya. Dari

menu ini, kita bias memanggil atau menyimpan program, menjalankan dan melacak bug

program. Singkatnya, segala sesuatu yang berhubungan dengan IDE Delphi.

3. Speed Bar

Speed bar atau toolbar yang berisi kumpulan tombol yang tidak lain adalah pengganti

beberapa item menu yang sering digunakan.

4. Componnent Pallete

Pada komponen Pallete berisi kumpulan ikon yang melambangkan komponen-komponen

pada VCL (Visual Component Library).

5. Code Editor

Code Editor merupakan tempat untuk menuliskan listing program yang dinyatakan dengan

bahasa Pascal, karena sangat serupa bahasa Pemrograman Delphi dengan bahasa

Pemrograman Pascal. Yang perlu diperhatikan pada code editor adalah, kita tidak perlu

menuliskan seluruh kode sumber. Delphi telah menuliskan semacam kerangka untuk kita.

6. Object Inspector

Pada object Inspector terdiri dari 2 menu :

- Propertis

- Event

Pada tab Propertis Kita bias mengubah property dari komponen Kita, property dapat

dijelaskan sebagai data yang menentukan karakteristik komponen.

Pada Tab event Kita dapat menyisipkan kode untuk menangani kejadian tertentu.

Page 35: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

35

Page 36: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

36

PROGRAM AJAR PEMROGRAMAN PASCAL

Program Input_Nama; Uses crt; var Nama, NIS : String; begin clrscr; writeln ('Masukan Nama dan NIS'); writeln ('____________________'); write ('Nama Anda :'); readln (Nama); write ('NIS Anda :'); readln (NIS); end. Program Cetak_Data; uses crt; begin clrscr; TextColor(4 + 128); Writeln('Hai Nama Saya Udin'); readln; end. Program Aritmatika; uses crt; var A,B,Plus,Minus : Integer; Kali,Bagi : Real; begin clrscr; writeln('Hitungan Sederhana Pascal'); writeln('*************************'); writeln; write('Nilai A : '); Readln (A); write('Nilai B : '); Readln (B); writeln; Plus:=A+B; Minus:=A-B; Kali:=A*B; Bagi:=A/B; writeln; writeln('Hasilnya Adalah ???'); writeln; writeln('A+B=',Plus); writeln('A-B=',Minus); writeln('A*B=',Kali:0:2); writeln('A/B=',Bagi:0:2); writeln; writeln('Press ENTER to Continue....'); Readln; end.

Page 37: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

37

Program BBM; uses crt; var Liter,Solar,Premium,Pertamax : Real; begin clrscr; write('Silahkan Masukan Jumlah Yang Anda Kehendaki:'); Readln (Liter); Solar:=Liter*4000; Premium:=Liter*4500; Pertamax:=Liter*5000; writeln('Harga Solar =Rp ', Solar:0:0); writeln('Harga Premium =Rp ', Premium:0:0); writeln('Harga Pertamax =Rp ', Pertamax:0:0); Readln; end. Program Bintang; Uses crt; var bar,kol,jml : integer; begin clrscr; write('Jumlah Baris : '); readln (jml); bar:=1; while bar <= jml do begin write ('*' : jml + 1 - bar); kol:=1; while kol <= (1 * bar - 1) do begin write ('*'); kol :=kol + 1; end; writeln; bar:=bar + 1; end; readln; end. Program Bilangan; uses crt; var x : Integer; begin clrscr; x := 1; while x <= 1000 do begin write(x,' '); x:=x+1; end; readln; end.

Page 38: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

38

Program Bonus; uses crt; var a : real; b : Integer; begin clrscr; write('Total Pembelian: '); readln(a); writeln; write('Jumlah Barang: '); Readln(b); writeln; if (a >= 500000) and (b>5) then begin write('Bonus Setrika'); end else if (a >=400000) and (b>5) then begin write('Bonus Celana Jeans'); end else if (a >=300000) and (b>5) then begin write('Bonus T-Shirt'); end else if (a >=200000) and (b>5) then begin write('Bonus Kemeja Batik'); end else if (a >=100000) and (b>5)then begin write('Bonus Jam Dingding'); end else if (a >=50000) and (b>5) then begin write('Bonus Payung'); end else begin write('Maaf Anda Tidak Mendapat Bonus'); end; readln; end. Program Luas_Balok; uses crt; var p,l,t,luas : Integer; begin clrscr; writeln('Penghitungan Luas Balok'); writeln; write('panjang : ') ; readln(p); write('lebar : ') ; readln(l);

Page 39: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

39

write('tinggi : ') ; readln(t); luas:=2*p*t + 2*p*l + 2*l*t; writeln; writeln('luasnya adalah : ', luas); readln; end. Program Diskon_pembelian; uses crt; var a,diskon : Real; begin clrscr; write('Harga Pembelian :Rp.'); readln(a); writeln; if a > 100000 then begin diskon:=a*(15/100); write('Diskon :Rp.',Diskon:0:2); end else begin write('Maaf Anda Tidak Mendapat Diskon'); end; readln; end. Program Cetak_Angka; uses crt; var x : integer; begin clrscr; x := 0; write('Nilai Kelipatan 2 = '); while x <= 1000 do begin write(x, ' '); x:=x+2; end; readln; end. Program Konfersi_Waktu; Uses crt; type Jam = Record hh : longint; mm : longint; ss : longint; end; var J : Jam;

Page 40: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

40

TotalDetik : longint; begin write('Jam : '); readln(J.hh); write('Menit : '); readln(J.mm); write('Detik : '); readln(J.ss); TotalDetik:= (J.hh*3600) + (J.mm*60) + J.ss; writeln('Total Detik = ', TotalDetik); end. Program LIST_SISWA; uses crt; type Siswa = Record Nama : String; Kelamin : String; Kelas : String; Sekolah : String; Alamat : String; end; Var Sis : Siswa; begin clrscr; writeln('Masukan Data Diri Anda:'); Writeln; write('Nama : '); Readln (Sis.Nama); write('Kelamin : '); Readln (Sis.Kelamin); write('Kelas : '); Readln (Sis.Kelas); write('Sekolah : '); Readln (Sis.Sekolah); write('Alamat : '); Readln (Sis.Alamat); Writeln; Writeln('Berikut Data Informasi Diri Anda :'); writeln; writeln(Sis.Nama); writeln(Sis.Kelamin); writeln(Sis.Kelas); writeln(Sis.Sekolah); writeln(Sis.Alamat); readln; end. Program Pengulangan; uses crt; var x : integer; begin clrscr; For x:= 1 to 10 do writeln ('I LOVE U GIRL'); readln; end.

Page 41: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

41

Program Nama_Bulan; uses crt; var month : integer; begin clrscr; write('Input Bulan Ke : '); readln(month); writeln; case month of 1 : Write('Bulan Januari'); 2 : Write('Bulan Februari'); 3 : Write('Bulan Maret'); 4 : Write('Bulan April'); 5 : Write('Bulan Mei'); 6 : Write('Bulan Juni'); 7 : Write('Bulan Julii'); 8 : Write('Bulan Agustus'); 9 : Write('Bulan Setpember'); 10 : Write('Bulan November'); 11 : Write('Bulan Oktober'); 12 : Write('Bulan Desember'); else write('Yang Anda Masukan Salah'); end; readln; end. Program Nama_Bulan; uses crt; const Bulan :array[1..13] of string = ('Januari','Februari','Maret','April','Mei','Juni','Juli', 'Agustus','September','Oktober','Nopember','Desember','KIAMAT'); var NoBulan : integer; begin clrscr; write ('Masukan nomor bulan : '); readln (NoBulan); write ('Nama bulan ke ' ,NoBulan,' adalah ', bulan [NoBulan]); readln; end. Program Status_Nilai; uses crt; var Nilai : integer; begin clrscr; write('Masukan Nilai Anda : '); readln (Nilai); case nilai of 80..100 : writeln ('Nilai Sangat Baik'); 70..79 : writeln ('Nilai Baik'); 60..69 : writeln ('Nilai Kurang');

Page 42: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

42

50..59 : writeln ('Nilai Sangat Kurang'); else writeln ('Nilai Buruk !!! '); end; readln; end. Program Jenis_SegiTiga; uses crt; var a,b,c : Integer; begin clrscr; write('Input sisi a : '); readln(a); write('Input sisi b : '); readln(b); write('Input sisi c : '); readln(c); writeln; if (a=b) and (b=c) and (c=a) then writeln('Segitiga Sama Sisi') else if (a=b) and (a<>c) or (b=c) and (b<>a) or (c=a) and (c<>b) then writeln('Segitiga Sama Kaki') else if (a<>b) and (b<>c) and (c<>a) then writeln('Segitiga Sembarang'); Readln; end. Program Perkalian_Matrix; Uses crt; var i,j,n : integer; begin clrscr; write('Masukan Jumlah Perkalian : '); readln (n); write('A' : 5); for i:= 1 to n do write(i:5); writeln; for i:= 1 to n do begin write (i:5); for j:= 1 to n do write(i*j:5); writeln; end; end. Program Nilai_SISWA; uses crt; var Nama : array [1..20] of string; Tugas, UTS, UAS, Persentasi : array [1..20] of Integer;

Page 43: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

43

rata : array [1..20] of real; a,jd :byte; begin clrscr; writeln('Masukan Jumlah Data Nilai'); write('Masukan Nama : '); readln (Nama[a]); write('Masukan Nilai Tugas : '); readln (Tugas[a]); write('Masukan Nilai UTS : '); readln (UTS[a]); write('Masukan Nilai UAS : '); readln (UAS[a]); write('Masukan Nilai Persentasi: '); readln (Persentasi[a]); rata[a]:=(0.1*Tugas[a]) + (0.2*UTS[a]) + (0.3*UAS[a]) + (0.4*Persentasi[a]); end. clrscr; for a := 1 to jd do begin writeln('PENILAIAN UJIAN SISWA'); writeln('Nama : ',Nama[a]); writeln('Nilai Tugas : ',Tugas[a]); writeln('Nilai UTS : ',UTS[a]); writeln('Nilai UAS : ',UAS[a]); writeln('Persentasi : ',Persentasi[a]); writeln('Rata-rata :', rata[a]:1:2); Readln; end. Program Perubahan_Zat; uses crt; var Suhu : Integer; begin clrscr; write ('Input Suhu : '); Readln (Suhu); WRITELN; if Suhu <=0 Then writeln('padat'); if (Suhu>0) and (Suhu<100) Then write('Cair'); if Suhu >100 Then writeln('Gas'); Readln; end. Program Pembuatan_Tabel; uses crt; var a,b,c : integer; begin clrscr; writeln ('--------------------------------'); writeln (' a a*a a*b*c '); writeln ('--------------------------------'); For a:= 1 to 10 Do

Page 44: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

44

begin b:=a*a; c:=a*a*a; writeln (a:4, b:10, c:10); end; writeln ('--------------------------------'); readln; end. Program Persegi; uses crt; var p,l,luas : integer; begin clrscr; writeln('Penghitungan Luas Persegi Panjang'); writeln; write('panjang : '); Readln (p); write('lebar : '); Readln (l); luas:=p*l; writeln; writeln('Luasnya Adalah : ', Luas); readln; end. Program Tukat_Uang; Uses crt; Var a,b,c,d,e,f : word; begin clrscr; write('Masukan Jumlah Uang Yang Akan Ditukarkan: '); readln (a); b:= a div 1000; a:= a-(b*1000); c:= a div 500; a:= a-(c*500); d:= a div 200; a:= a-(d*200); e:= a div 100; a:= a-(e*100); f:= a div 50; a:= a-(f*50); writeln('Rp.1000 = ',b,'buah'); writeln('Rp.500 = ',c,'buah'); writeln('Rp.200 = ',d,'buah'); writeln('Rp.100 = ',e,'buah'); writeln('Rp.50 = ',f,'buah'); readln; end.

Page 45: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

45

Program Contoh_Bulan; uses wincrt; const Bulan :array[1..12] of string = ('Januari','Februari','Maret','April','Mei','Juni','Juli', 'Agustus','September','Oktober','November','Desember'); var NoBulan:integer; begin clrScr; write ('Masukkan nomor bulan: ' ); readln (NoBulan); write ('Nama bulan ke- ' ,NoBulan , ' adalah ', Bulan [NoBulan]); readln; end. Program data_mhs; uses wincrt; type mahasiswa = record nim : string[8]; nama : string[25]; umur : integer; end; var data:mahasiswa; begin clrScr; writeln ('Masukkan data diri Anda : ' ); write ('Nim : ' );readln(data.Nim); write ('Nama : ' );readln(data.Nama); write ('Umur : ' );readln(data.Umur); writeln; {Memasukkan baris kosong} {Menampilkan data yang telah dimasukan} writeln ('Beikut ini informasi data diri yang telah anda masukkan : '); writeln ('Nim : ' , data.Nim); writeln ('Nama : ' , data.Nama); writeln ('Umur : ' , data.Umur); readln ; end. program penilaian_MHS uses wincrt; var nama : array[1..20] of string; tugas, uts, uas, presensi : array[1..20] of integer; rata : array[1..20] of real; a,jd : byte; begin clrscr; write('Masukkan Jumlah Data Nilai: '); readln(jd); for a := 1 to jd do; begin

Page 46: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

46

writeln('PENILAIAN UJIAN MAHASISWA'); write('Masukkan Nama : '); readln(nama[a]); write('Masukkan Nilai Tugas : '); readln(tugas[a]); write('Masukkan Nilai UTS : '); readln(uts[a]); write('Masukkan Nilai UAS : '); readln(uas[a]); write('Masukkan Presensi : '); readln(presensi[a]); Rata[a]:=(0.1*tugas[a])+(0.2*uts[a])+(0.3*uas[a])+(0.4*presensi[a]); end; clrscr; for a := 1 to jd do; begin writeln('PENILAIAN UJIAN MAHASISWA'); writeln('Nama : ',nama[a]); writeln('Nilai Tugas : ',tugas[a]); writeln('Nilai UTS : ',uts[a]); writeln('Nilai UAS : ',uas[a]); writeln('Presensi : ',presensi[a]); {untuk menampilkan semua data yang sudah dimasukkan di awal} writeln('Rata-rata : ',rata[a]:1:2);{untuk menampilkan rata-rata} end; end. Program_penjualan ; uses crt ; var pembelian,potongan : integer ; begin write (‘ total pembelian ‘ ); readln (pembelian); case pemotongan of =10000 : potongan := 1000; =100000 : potongan := 10000; end; writeln (‘ jumlah pembelian : ‘ ,pembelian) ; writeln (‘ potongan : ‘ ,potongan) ; write ( ‘ jumlah bayar : ‘ ,pembelian – potongan) ; readln ; end. Program Gaji ; uses wincrt; var Nama,Nip : char ; gaji_pokok,gaji_kotor,tunjangan,pajak,gaji_bersih :real; begin writeln (‘ Gaji Pegawai ‘) ; write ( ‘ Nama : ‘ ) ; readln ( Nama ) ; write ( ‘ Nip : ‘) ; readln (Nip) ; write ( ‘ Gaji Pokok : ‘ ) ; readln ( gaji_pokok ) ; write ( ‘ Tunjangan : ‘ ) ; readln ( tunjangan ) ; writeln; pajak := 0.1 * gaji_pokok ; writeln ( ‘ Pajak : ‘ , pajak : 2 : 0 ) ; gaji_kotor := gaji_pokok + tunjangan ; writeln ( ‘ Gaji Kotor : ‘ , gaji_kotor: 2 : 0 ) ;

Page 47: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

47

gaji_bersih := gaji_kotor + pajak ; writeln ( ‘ Gaji Bersih: ‘ , gaji_bersih : 2 : 0 ) ; readln ; end. Program Berat_badan ; uses crt ; var berat : integer ; begin write ( ‘ masukkan berat badan : ‘ ); readln (berat) ; if berat > 37 then writeln (‘berat’); else writeln ( ‘ kurus ‘ ) ; readln ; end. Program Kalkulator_Sederhana; uses crt; var x,y,hasil:real; jawab:char; begin write ('masukan angka ke-1:');readln (x); write ('pilih operator: (+)/(-)/(*)/(/)');readln (jawab); write ('masukan angka ke-2:');readln (y); if ( jawab= '+') then begin hasil:= x+y end; if ( jawab = '-') then begin hasil:= x-y end; if ( jawab = '*') then begin hasil:= x*y end; if (jawab='/') then begin hasil:= x/y end; write ('hasilnya: ',(hasil):5:2); end. Program Counter_Pulsa; uses crt; label awal; const days : array [0..6] of string[9] = ('minggu','senin','selasa','rabu','kamis','jumat','sabtu'); var operator,i,j,u,y,m,d,dow : integer;

Page 48: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

48

uang,harga, pulsa,pilihan,c : longint; hp : string; {pernghitungan uang-harga} function hitung(a,b : longint):longint; begin hitung:= b-a end; procedure simpati(var pulsa:longint); label simpati1; var nominal : longint; begin clrscr ; simpati1: writeln('daftar harga SIMPATI'); writeln('v 5 ===== 6.000'); writeln('v 10 ===== 12.000'); writeln('v 20 ===== 21.000'); writeln('v 50 ===== 50.000'); writeln('v 100 ===== 98.000'); writeln; writeln('masukkan nominal pulsa'); readln (nominal); case nominal of 5 : pulsa := 6000; 10 : pulsa := 12000; 20 : pulsa := 21000; 50 : pulsa := 50000; 100: pulsa := 98000; else begin pulsa := 0; writeln ('salah, tulis nominal'); goto simpati1; end; end; end; procedure as(var pulsa:longint); label as1; var nominal : longint; begin as1: writeln('daftar harga Kartu As'); writeln('v 5 ===== 6.000'); writeln('v 15 ===== 18.000'); writeln('v 25 ===== 29.000'); writeln('v 50 ===== 54.000'); writeln('v 100 ===== 108.000'); writeln; writeln('masukkan nominal pulsa'); readln (nominal);

Page 49: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

49

case nominal of 5 : pulsa := 6000; 15 : pulsa := 18000; 25 : pulsa := 29000; 50 : pulsa := 54000; 100: pulsa := 108000; else begin pulsa := 0; writeln ('salah, tulis nominal'); goto as1; end; end; end; procedure MENTARI(var pulsa:longint); label im31; var nominal : longint; begin im31: writeln('daftar harga MENTARI'); writeln('v 5 ===== 6.000'); writeln('v 10 ===== 11.000'); writeln('v 20 ===== 21.000'); writeln('v 50 ===== 50.000'); writeln('v 100 ===== 98.000'); writeln; writeln('masukkan nominal pulsa'); readln (nominal); case nominal of 5 : pulsa := 6000; 10 : pulsa := 11000; 20 : pulsa := 21000; 50 : pulsa := 50000; 100: pulsa := 98000; else begin pulsa := 0; writeln ('salah, tulis nominal'); goto im31; end; end; end; procedure im3(var pulsa:longint); label im32; var nominal : longint; begin im32: writeln('daftar harga im3'); writeln('v 5 ===== 6.000'); writeln('v 10 ===== 11.000'); writeln('v 20 ===== 20.000'); writeln('v 50 ===== 48.000');

Page 50: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

50

writeln('v 100 ===== 95.000'); writeln; writeln('masukkan nominal pulsa'); readln (nominal); case nominal of 5 : pulsa := 6000; 10 : pulsa := 11000; 20 : pulsa := 20000; 50 : pulsa := 48000; 100: pulsa := 95000; else begin pulsa := 0; writeln ('salah, tulis nominal'); goto im32; end; end; end; procedure XL(var pulsa:longint); label xl1; var nominal : longint; begin xl1: writeln('daftar harga XL'); writeln('v 5 ===== 6.000'); writeln('v 10 ===== 11.000'); writeln('v 20 ===== 21.000'); writeln('v 50 ===== 47.000'); writeln('v 100 ===== 95.000'); writeln; writeln('masukkan nominal pulsa'); readln (nominal); case nominal of 5 : pulsa := 6000; 10 : pulsa := 11000; 20 : pulsa := 21000; 50 : pulsa := 47000; 100: pulsa := 95000; else begin pulsa := 0; writeln ('salah, tulis nominal'); goto xl1; end; end; end; {program utama} begin {GetDate(y,m,d,dow : word); } {program untuk menampilkan date belum bisa keluar... bantuin dounk masss....}

Page 51: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

51

awal: for j:=7 to 11 do begin for i:=1 to j do write('='); writeln; end; writeln('================================'); writeln('********************************'); writeln(' '); writeln('selamat datang di counter digital'); writeln(' '); writeln; writeln('********************************'); writeln('================================ '); for j:=11 downto 7 do begin for i:=1 to j do write('='); writeln; end; writeln(' zen design'); readln; clrscr; writeln('================================'); writeln('********************************'); writeln(' '); writeln(' kami ada untuk anda '); writeln('tekan enter untuk memulai '); writeln('transaksi anda'); writeln('********************************'); writeln('================================ '); readln; clrscr; writeln('1. Telkomsel'); writeln('2. Indosat'); writeln('3. XL'); writeln; writeln('silahkan pilih operator anda'); readln (operator); clrscr; case operator of 1 : begin writeln('1. Simpati'); writeln('2. Kartu As'); readln (pilihan); clrscr; case pilihan of 1 : simpati(pilihan); {memanggil procedure simpati}

Page 52: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

52

2 : as(pilihan); {mamanggil procedure as} end; end; 2 : begin writeln('1. MENTARI'); writeln('2. im3'); readln (pilihan); clrscr; case pilihan of 1 : MENTARI(pilihan); 2 : im3(pilihan); end; end; 3 : begin readln (pilihan); XL(pilihan); clrscr; end else begin writeln ('maaf anda salah pilih'); goto awal; {mengembalikan program ke label awal} end; end; clrscr; writeln ('masukan nomer hepe'); readln(hp); {input nomer hape} clrscr; writeln ('masukkan uang anda'); readln (uang); {input uang} clrscr; if uang > pilihan then begin harga:=hitung(pilihan,uang); { memanggil fungsi hitung} writeln('============================='); writeln(' BERHASIL '); writeln; writeln('transaksi ke nomor ',hp); writeln(''); writeln('sisa uang anda Rp.',harga); writeln('============================'); while harga > 6000 do {6000 adalah harga minimal voucher} begin {supaya pelanggan dapat melakukan trakdaksi lagi} writeln('saldo anda masih bisa untuk melanjutkan transaksi'); readln(u); goto awal; end; writeln(days[dow],',',m:0,'/',d:0,'/',y:0); {yang ini belum bisa ditampilkan.. bantuin dounk mass} end else begin writeln('========================='); writeln(' TRANSAKSI GAGAL'); writeln('saldo anda tidak mencukupi');

Page 53: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

53

writeln('=========================='); writeln; writeln(' TERIMA KASIH'); end; end.

PROGRAM AJAR PEMROGRAMAN DELPHI

Kalkulator Sederhana Delphi

procedure TForm1.Button1Click(Sender: TObject); var x,y,z:real; begin x:=strTOfloat(edit1.Text); y:=strTOfloat(edit2.Text); z:=x+y; edit3.Text:=floatTOstr(z); z:=x*y; edit4.Text:=floatTOstr(z); z:=x/y; edit5.Text:=floatTOstr(z); z:=x-y; edit6.Text:=floatTOstr(z); end; procedure TForm1.Button2Click(Sender: TObject); begin Close; end; end.

Page 54: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

54

Input Data

procedure TForm1.Button1Click(Sender: TObject); begin laporan.clear; laporan.Items.add('Laporan Data Pegawai'); laporan.Items.add(''); laporan.Items.add('NIP : '+nip.Text); laporan.Items.add('NAMA : '+nama.Text); laporan.Items.add('GOL : '+gol.Text); laporan.Items.add('STATUS : '+status.Text); laporan.Items.add('LAHIR : '+dateTOstr(lahir.date)); if K1.checked then

Laporan.Items.add('KELAMIN : '+K1.Caption) else Laporan.Items.add('KELAMIN : '+K2.Caption); Laporan.Items.add('ALAMAT : '+alamat.Text); Laporan.Items.add(''); Laporan.Items.add ('ADMINISTRASI : ');

if A1.checked then Laporan.Items.add('-'+A1.Caption); if A2.checked then Laporan.Items.add('-'+A2.Caption); if A3.checked then Laporan.Items.add('-'+A3.Caption); end;

Page 55: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

55

procedure TForm1.Button2Click(Sender: TObject); begin Laporan.Clear; nip.Text:=''; nama.Text:=''; gol.Text:=''; status.Text:=''; lahir.date:=Now; K1.Checked:=True; alamat.Text:=''; A1.Checked:=false; A2.Checked:=false; A3.Checked:=false; nip.SetFocus; end; procedure TForm1.Button3Click(Sender: TObject); begin Close; end; end. Data Base Buku (DB Access)

Page 56: MODUL DASAR PROGRAM PASCAL JADI - allwaysedu · juga modul Pemrograman Dasar Pascal dan Delphi, yang ... Guru Mata Pelajaran yang memberikan materi pada Mata Pelajaran Pemrograman

56

procedure TForm1.Button1Click(Sender: TObject); begin ADOTable1.Append; ADOTable1['Kode Buku']:=edit1.Text; ADOTable1['Nama Buku']:=edit2.Text; ADOTable1['Pengarang']:=edit3.Text; ADOTable1['Penerbit']:=edit4.Text; ADOTable1['Tahun Terbit']:=edit5.Text; ADOTable1.Post; edit1.Text:=''; edit2.Text:=''; edit3.Text:=''; edit4.Text:=''; edit5.Text:=''; end;

procedure TForm1.Button2Click(Sender: TObject); begin edit1.Text:=''; edit2.Text:=''; edit3.Text:=''; edit4.Text:=''; edit5.Text:=''; edit1.SetFocus; end;

procedure TForm1.Button3Click(Sender: TObject); begin ADOTable1.Delete; end;

procedure TForm1.Button4Click(Sender: TObject); begin ADOTable1.Locate('Nama Buku',edit6.Text,[loPartialKey]); begin if not ADOTable1.locate('Nama Buku',edit6.text,[loPartialKey])then ShowMessage('Maaf Buku Tidak ditemukan'); edit6.Text:=''; end; end; end.

procedure TForm1.Button5Click(Sender: TObject); begin Close; end;