MODUL PEMROGRAMAN DASAR PASCAL dan DELPHI 7

Guru Mata Palajaran

HERUL HERDIANA

SMK HANDAYANI BANJARAN TEKNIK KOMPUTER JARINGAN – ADMINISTRASI PERKANTORAN BANDUNG 2010
1

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.

Arjasari,

Juni 2010

Penyusun,

Dadang Hermawan, S.Pd Kepala SMK HANDAYANI Banjaran

Herul Herdiana Mobile : 0857.2006.6481
2

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:
3

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 label const type var ... ; { Uses clause } ... ; { Labels } ... ; { Constants } ... ; { Types } ... ; { Variables }

procedure ... ; { Procedures } function ... ; { Functions }
4

begin statement; ... 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 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 ("_")
5

{ Statements }

dimana program

itu berkomunikasi. Daftar itu terdiri

dari sederetan

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

Ordinal types Type data yang mempunyai urutan pasti. Statement Bagian ini merupakan inti dari program..255 8 bit Word 0.#7 untuk menyatakan ' harus ditulis '''' Boolean 6 ... Bagaimana membuat keterangan ? Untuk membuat program anda menjadi mudah dibaca dan dimengerti.32767 16 bit Longint -2147483648. Variabel Declaration Setiap variabel yang digunakan dalam program harus didefinisikan terlebih dahulu sebelum digunakan.. type character ini penulisannya ditandai dengan dua buah petik tunggal seperti : 'A'.65535 16 bit Char Type variabel yang berguna untuk pengolahan character ASCII.'*'. Untuk membuat keterangan gunakan tanda kurawal { ini adalah keterangan }. Seluruh perintah dan urutannya serta proses Input/Output dalam program perlu disusun secara teratur oleh penyusun program.2147483647 32 bit Byte 0. 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. Segala yang ada pada bagian uses maupun deklarasi merupakan pendukung terhadap isi program.tidak boleh serupa dengan reserved word (kata tercadang) tidak boleh serupa dengan indentifier lainnya. atau (* ini adalah keterangan *).. Type data apa saja yang disediakan Turbo Pascal ? Adapun type variable yang disediakan pada TURBO PASCAL : 1. '3'. maka perlu diberi keterangan yang akan diabaikan oleh kompiler. Cara penulisan ini adalah : Var <nama var> : <type variable>.

7e38 11-12 digit 6 bit 7-8 digit 4 bit Single 1..3.5e-45.7e308 15-16 digit 8 bit Extended 3..1. untuk type real ini juga terbagi atas beberapa : Type Jangkauan Ketelitian Ukuran Real 2. 2.1e4932 19-20 digit 10 bit Comp -9.9.1.0e-324..Type varibale yang berguna untuk pengolahan hal yang hanya mempunyai dua ketentuan yaitu benar(TRUE) dan salah(FALSE) saja.2e18.4e38 ³ 7-8 Double 5.4e-4932..9e-39..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 7 . Real types Type variable yang beguna untuk pengolahan data yang tidak bulat.1.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 .

Mengaktifkan perintah ‘Make’ Berpindah dari menu-menu ke jendela yang aktif. Menyimpan berkas yang ada pada editor. Mengaktifkan menu run. Memanggil program kedalam editor. 8 Ekivalen menu File / Save File / Load Run / Go to cursor Run / Trace into Compile / Make File / Pick File / user screen Compile Run / Program reset . Mengaktifkan menu Break / Watch. Mengganti jendela yang aktif. Memperbesar atau memperkecil jendela yang aktif. Kunci F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Alt + F1 Alt + F3 Alt + F5 Alt + F6 Alt + F9 Alt + B Alt + C Alt + D Alt + E Alt + F Alt + O Alt + R Fungsi Mengaktifkan jendela pertolongan. Mengaktifkan menu option. Mengaktifkan menu compile.>= 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. Mengaktifkan menu debug. Melacak kedalam subrutin. Mengeksekusi program sampai posisi kursor. Melompati pemanggil subrutin. Perintah Readln dapat digunakan untuk membaca masukan dari pemakai dan menyimpannya ke suatu variabel. Memanggil jendela pertolongan yang terakhir dibaca. Memilih berkas untuk dimuat. Mengakaktifkan menu file. Memperlihatkan hasil eksekusi. Mengganti isi jendela yang aktif. Mengaktifkan editor. Mengkompilasi program.

Submenu Load : Pilihan ini digunakan untuk memanggil program dari suatu folder atau directory ke dalam editor. Menjalankan program.. Atau anda juga bisa menekan tombol F2. contohnya anda mau ke submenu New. 4.PAS maka Turbo Pascal akan menanyakan pada anda. 6. Nah. 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. Debug / Evaluate Menambahkan ungkapan pada jendela watch. Menu File : Didalam menu File banyak submenu yang bisa dipilih misalkan saja perintah Load / F3 yang berfungsi untuk memanggil berkas yang sudah tersimpan. nama apa yang akan anda berikan pada program yang akan disimpan tersebut. B / Add Watch B / Toggle breakpoint Run / Run Ctrl + F10 Menampilkan versi layar monitor.Alt + X Ctrl + F1 Ctrl + F2 Ctrl + F3 Ctrl + F4 Ctrl + F7 Ctrl + F8 Ctrl + F9 Keluar dari Turbo Pascal dan kembali ke DOS.PAS.. jika nama program itu masih NONAME. Toggles Breakpoint. Submenu New :Program yang ada di editor akan dihapus dan program yang akan anda tulis dianggap sebagai program yang baru dengan nama NONAME. dan banyak lainnya. . maka anda tinggal menekan huruf N. Fungsi MenuBar Program Pascal 1. Menampilkan isi tumpukan. Submenu Pick : Pilihan yang satu ini digunakan untuk mengambil salah satu dari beberapa buah program yang sebelumnya telah dimuat ke dalam jendela Edit. Debug / Call Stack Melakukan penghitungan atau mengubah nilai peubah. Jika nama program anda sudah 9 . Submenu Write to : pilihan ini digunakan untuk menggantikan program lama dengan program yang baru (istilah kerennya Overwrite…☺). Menampilkan menu pertolongan bahasa. 3. Menghentikan pembetulan.. Hal ini ditujukan agar kita tidak perlu repot-repot lagi mencarinya di submenu load. itu tadi adalah beberapa hotkey yang ada pada Turbo Pascal. Didalam submenu ini anda juga bisa memilih submenu yang lain dengan hanya menekan tombol huruf depan dari submenu yang dituju. 2.

Submenu Go to Cursor [F4] : Pilihan ini digunakan untuk memulai / melanjutkan eksekusi program dimulai dari posisi saat eksekusi dimulai sampai tempat kursor berada. Pilihan ini sekaligus membebaskan pengingat yang telah dialokasikan dan menutup semua berkas. 10. 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. anda tinggal mengetikan “exit”. tetapi tidak merubah nilai-nilai perubah. tetapi biasanya ketika anda sedang membuat suatu program atau mengedit suatu program perintah ini tidak dapat dijalankan karena kurangnya kapasitas memory. hanya saja jika statement adalah sebuah prosedur atau fungsi. 12. 11. 14. Anda juga bisa menggunakan pilihan Load. Jika kursor berada pada statement yang bersifat executable. 9. maka 10 . Submenu Trace Into [F7] :Perintah ini digunakan untuk mengeksekusi baris berikutnya. 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. Submenu Quit [Alt + x] : Dari namanya sudah jelas. maka eksekusi akan dilanjutkan sampai statement yang bersifat executable.ada pada cakram atau folder maka ada verifikasi dari Turbo Pascal untuk penggantian nama. jika ada pemanggilan ke suatu subrutin. seperti spasi atau baris komentar. Submenu Step Over : Step over ini memiliki cara kerja yang hampir sama dengan Trace Into. Sekaligus juga akan memuat berkas-berkas atau unit Include jika dimungkinkan. maka pelacakan akan dimulai dari statement pertama dari subrutin tersebut. 16. Pilihan ini sangat berguna jika anda ingin menjalankan pilihan File / OS shell. 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. Submenu OS shell : Perintah ini digunakan bagi anda yang ingin ke tampilan DOS tetapi tanpa mematikan Turbo Pascalnya. untuk kembali lagi ke Turbo Pascal. Menu Edit : Perintah edit ini digunakan untuk mengaktifkan editor Turbo Pascal. 15. Submenu Directory : pilihan ini digunakan untuk menampilkan direktori dan namanama file yang anda inginkan. perintah ini digunakan untuk keluar dari Turbo Pascal dan kembali ke prompt DOS. 7.

. Submenu Find Error : Dari namanya anda pasti sudah tahu. Perintah ini juga digunakan oleh File / OS shell Tampilan User Screen.PAS yang sedang anda gunakan. Jika anda terlanjur memindahkan kursor sembarangan maka anda bisa memindahkan kembali kursor ke tempat kesalahan dengan menekan Ctrl + Q + W. turbo pascal akan menempatkan kursor pada baris dimana terjadi kesalahan. 20. yah perintah ini digunakan untuk menentukan lokasi kesalahan pada saat program dijalankan [run time error]. 11 . jika file yang primer telah diberi nama. maka file ini akan dikompilasi. 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. Submenu Primary File : Perintah ini digunakan untuk menyatakan bahwa file . 19. 23. 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. perintah ini digunakan untuk menampilkan jendela informasi dari program . jika anda kembali ke IDE.PAS akan dikompilasi pada saat make [F9] atau build [Alt + C + B] diaktifkan. 18.EXE atau . 22. Submenu Destination [Memory] : Perintah ini secara umumnya hanya berfungsi untuk memilih apakah hasil kompilasi akan disimpan dalam cakram atau folder sebagai file yang bertipe . Lokasi kesalahan dinyatakan dengan format seg:off.EXE atau hanya di pengingat utama yang akan hilang pada saat anda keluar dari Turbo Pascal. termasuk ukuran kode sumber [dalam sumber dan baris]. Submenu Get info : Tidak salah lagi. Submenu Build : Perintah ini mirip dengan perintah make. Submenu Make : Pilihan ini digunakan untuk mengaktifkan perintah make. 17.TPU dalam byte dan data. ukuran file . sedangkan perintah make hanya akan mengkompilasi file-file selain file yang digunakan. 21. misalnya 2BE0:FFD4.keseluruhan subrutin akan dikerjakan sekaligus dan debugger akan berhenti pada statement sesudah pemanggilan ke subrutin. hanya saja perintah build ini sifatnya bebas. Submenu User screen [Alt + F5] : Pada umumnya perintah ini digunakan untuk melihat hasil dari program yang telah compile dan kita run. 24. Pada tampilan ini IDE [Integrated Debugger Environment] berpindah-pindah pada saat anda menjalankan dan mendebug program.

Menu Options : Pilihan pada menu yang satu ini berfungsi mengkonfigurasi untuk mengoptimalkan penggunaan fasilitas-fasilitas pada turbo pascal. kode kesalahan akan tersimpan dalam fungsi IO Result.25. Jika dimatikan. Boolean Evaluation [Short Circuit] : Digunakan untuk memilih pembangkitan kode pada saat operasi logika [operasi Boolean] dijalankan. Pilihan ini sama dengan penunjuk kompiler {$B}. Jika dihidupkan. 27. 28. Model pemanggilan bisa secara far atau near. 26. 33. Emulation [On] : Mengaktifkan atau menonaktifkan linking dengan run – time yang mengemulasikan ke prosessor numeric 8087. kompiler akan membangkitkan kode yang akan mencek batas index pada array dan string dan juga nilai yang dihasilkan dalam suatu statement pemberian. 32. Pilihan sama dengan penunjuk kompiler {$V}. Pilihan ini sama dengan petunjuk kompiler {$R}. Allign Data [Word] : Digunakan untuk mengatur cara penyimpanan perubah dan konstanta bertipe dari byte ke word atau sebaliknya. 31. Numeric Processing [Software] : Digunakan untuk memilih pembangkitn kode operasi titik mengambang [floating point] yang didukung oleh Turbo Pascal. Pilihan ini sama dengan penunjuk kompiler {$A}. pengecekan tumpukan dll. Force far calls [Off]: Digunakan untuk memilih model pemanggilan terhadap prosedur atau fungsi yang telah dikompilasi. Pilihan ini sama dengan penunjuk kompiler {$O}. Jika dihidupkan pada saat terjadi kesalahan operasi I/O proses akan langsung dihentikan. pilihan ini sama dengan penunjuk kompiler {$E} 12 . 29. seperti yang anda lihat pada gambar di atas. 30. sekarang saya akan coba jelaskan satu persatu agar lebih jelas dari masing-masing penggunaan ini. Var string checking [Strict] : Digunakan untuk mengendalikan cara pengecekan data string yang digunakan sebagai parameter berubah. contohnya pengecekan batas [Range checking] adalah sama dengan {$R}. Pilihan ini sama dengan penunjuk kompiler {$F}. Pilihan ini sama dengan penunjuk kompiler {$I}. Submenu Compiler : Pilihan ini didalamnya pun masih banyak perintah yang lainnya seperti pengecekan batas. Overlay Allowed [Off] : Mengaktifkan atau menonaktifkan pembakitan kode Overlay. Range checking [Off]: Perintah ini digunakan untuk menghidupkan atau mematikan pengecekan batas. Stack checking [On]: Digunakan untuk menghidupkan atau mematikan pengecekan kesalahan operasi I/O. 34. Pilihan ini juga sama dengan penunjuk kompiler {$N} 35.

53. Detailed : segement. Yang biasa kita lihat dengan . Public : Informasi segment. Map File [Off] : Menentukan berapa banyak informasi dalam berkas peta map yang akan dihasilkan. Submenu Linker Pilihan ini digunakan untuk mengatur konfigurasi built in linker. Stack Size: ukuran segmen tumpukan maksimum 64 K dengan standart 16 K. 40. 48. Memory sizes: Digunakan untuk mengkonfigurasi peta pengingat. Low Heap limit: ukuran heap minimum standart adalah 0 K.MAP 45. dan Output akan diperluas sampai satu layar penuh. Dengan penunjuk kompiler{$M}.BAK 52. Ukuran yang diperbolehkan adalah 2 sampai 16 dengan defaultnya 8. 50. 49. 37. High Heap limit: ukuran heap maksimum adalah 655360 byte. Debug Information [On] : Digunakan untuk membangkitkan atau tidak membangkitkan informasi pada saat didalam program terjadi kesalahan. 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. turbo pascal akan membangkitkan berkas backup pada saat anda menyimpan berkas. Zoom Windows [Off] : Jika di On kan maka. Ukuran. Segment : Informasi segment [Nama. Submenu Environment Pilihan ini digunakan untuk memberitahukan Turbo Pascal dimana bisa ditemukan berkas yang akan dikompilasi. 13 . Awal dan Akhir segment dan kelasnya].36. Watch.EXE dengan akhiran . Local Symbol [On] : Digunakan untuk mengaktifkan atau menonaktifkan symbol informasi local. Conditional defines: Digunakan untuk menyatakan penunjuk kompiler berkondisi. Pilihan ini sama dengan penunjuk kompiler {$D}. 46. 43. Backup Files [On] : Secara standard. 42. di link dengan dilengkapi dengan menu-menu pertolongan. Config Auto Save [Off] : Digunakan untuk mencegah kehilangan setting komfigurasi yang telah anda lakukan. 47. semua nama-nama symbol dan alamatnya dan titik masukkan program. 41. informasi symbol dan titik masukkan program dan nomor barisnya dan tabel-tabel modul. Berkas peta akan ditempatkan dalam direktori . 39. Jendela Edit. Tab Size [2] : Digunakan untuk mengatur ukuran Tab pada editor. 44. 38.

57. Submenu Directories : Pilihan menu ini digunakan untuk menunjukkan kepada Turbo Pascal lokasi setiap direktori yang diperlukan. 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.TP] dan berkas pertolongan [Turbo. EXE & TPU directory : Digunakan untuk menyimpan berkas . 60. Dengan standard 25 baris. debugging dilakukan menggunakan IDE. Include Directories : Digunakan untuk menentukan direktori yang berisi Include File. 61. Submenu Save Option : Digunakan untuk menyimpan semua pengaturan dalam menu Compiler. 70. menunjukan nilai perubah / ungkapan saat itu an memungkinkan anda untuk memberikan nilai yang baru untuk sembarang perubah. Turbo directory : Digunakan untuk menemukan berkas konfigurasi [. 68. 59. 66. Current pick file : Digunakan untuk menunjukkan nama dan lokasi pick file. jika ada. Object Directories : Digunakan untuk menentukan direktori yang berisi berkas [. Submenu Integrated Debugging [On] Jika dipilih On. 62. 14 .54. Menu Debug : Pilihan-pilihan yang ada dalam menu ini terutama digunakan untuk melacak nilai-nilai perubah. Pick file name : Digunakan untuk menentukan nama dan lokasi pick file. suatu jendela yang menunjukan daftar pemanggil prosedur dan fungsi akan terlihat. Submenu Find Procedure : Memungkinkan anda untuk menuliskan nama prosedur dan fungsi dan kemudian mencari dalam program yang sedang anda aktifkan. 69. Screen Size [25 line] : Digunakan untuk memilih ukuran layar. 63. 56.HLP].TPU.TP] 65. Environment. dan Directories dalam berkas konfigurasi [standardnya adalah TURBO. 64.EXE dan . 43 baris [EGA] atau 50 baris [VGA]. Unit Directories : Digunakan untuk memberitahu TP dimana berkas-berkas unit berada. mencari letak suatu fungsi atau prosedur dan lain-lain. 58. Pilihan ini hanya bisa diaktifkan jika perangkat kerasnya mendukung. Submenu Call Stack [Ctrl + F3] : Pada saat anda melakukan debugging. Submenu Retrieve Options :Digunakan untuk memuat berkas konfigurasi yang sebelumnya disimpan dengan pilihan save. Submenu Parameters : Digunakan untuk memberikan parameter baris perintah [Command Line parameters] pada program-program yang akan dijalankan. 55.OBJ]. 67.

perubah atau ungkapan kedalam jendela watch 75. Submenu Refresh Display : Pilihan ini digunakan untuk memanggil kembali layar IDE.71. Submenu Edit Watch : Pilihan ini akan membawa posisi watch ke kotak input sehingga anda bisa mengubahnya. Submenu Clear All Breakpoints: Menghapus semua breakpoint yang telah diset. dan compile / destination dipilih ke Disk debug information akan ditambahkan ke dalam berkas . • • • Smart : debugger akan melihat kode yang sedang dieksekusi untuk melihat apakah perlu menampilkan hasilnya ke layar. Dalam editor breakpoint ditunjukkan dengan highlight text. 72. Submenu View Next Breakpoint : Digunakan untuk menggerakkan kursor ke posisi breakpoint berikutnya. terutama jika program anda merusak tampilan yang sudah ada dalam layar. Smart. Always : pilihan ini akan menyebabkan layar dipindah setiap kali suatu statement dieksekusi. 76. Never : pilihan ini akan memberitahukan debugger untuk tidak melakukan pemindahan layar. 15 .EXE untuk digunakan oleh Turbo Debugger. Submenu Add Watch [Ctrl + F7] : Digunakan untuk menambahkan rinci data. Submenu Remove All Watches : Menghapus semua rinci dalam jendela watch sekaligus memperkecil ukurannya sampai minimum. 80. 78. Submenu Stand Alone Debugging [Off] Jika diset Off. Submenu Toggle Breakpoints [Ctrl + F8]: mengatur suatu baris sebagai breakpoint. 79. 77. Menu Break / Watch 74. Hal ini perlu. Submenu Display Swapping [Smart] Penampilan pada layar bisa dipilih salah satu dari 3 pilihan. Always atau Never. 73. Submenu Delete Watch : Untuk menghapus ungkapan dalam jendela Watch pada saat jendela ini terlihat.

8 (darkgray). 10 (lightgreen). yang berisi perintah-perintah pengaturan layar seperti membersihkan layar. b. 11 (lightcyan). 1 (blue). Writeln('Merah dan berkedip-kedip'). 2 (green). 14 (yellow). 7 (lightgray). 5 (magenta).MODUL 2 UNSUR-UNSUR PEMROGRAMAN Turbo Pascal menyediakan suatu unit CRT. 6 (brown). Baiklah. Unsur Program a. 3 (cyan). 12 (lightred). 16 (9) lightblue. 15 (White). 13 (lightmagenta). warna background. . berikut ini adalah nomor warna yang mewakili masing-masing warna: 0 (black). Menyimpan data ke dalam memori dengan struktur data yang sesuai. file atau sumber data lainnya). mengatur warna tulisan. Mendapatkan data dengan membaca data dari default input (key board. Contoh : TextColor(4 + 128). 4 (red).

: ( ) ^ @ { } $ # ~ ! % & ` ” ‘ dan ? Contoh penulisan: Penulisan yang benar: NamaMahasiswa. Identifier digunakan untuk nama: Program. file atau atau Identifier. Deklarasi Variable adalah : Memberikan nama variabel sebagai identitas pengenal Menentukan tipe data variable Contoh deklarasi variabel: var X : integer. A sampai Z atau karakter ‘_’ (underscore – garis bawah) Karakter berikutnya boleh karakter numerik (0 . . PX4. 9) atau kombinasi alphanumerik (huruf-numerik). . Constant. Memberikan nama konstanta sebagai identitas pengenal b. Variable adalah identifier yang berisi data yang dapat berubah-ubah nilainya di dalam program. dll. Gaji_Karyawan.c. nama: Variable.. Tidak boleh menggunakan karakter istimewa: + – * / | \ = < > [ ] . Menyajikan atau mengirimkan hasil olahan data ke default output (monitor. C : char. Nama-nama ini digunakan untuk pemakaian dan pemanggilan dalam program. Type. Memproses data dengan instruksi yang tepat. {integer} ExitC = ‘Q’. Penulisan yang salah: 3X. Label. C Z dll. pada berbagai versi Pascal umumnya antara 32 – 63. tujuan lainnya). Nama yang dipergunakan dalam program Pascal disebut dengan pengenal d. A & B. Unit adalah kumpulan 17 . Konstanta adalah identifier yang berisi data yang nilainya tidak berubah di dalam program. Deklarasi Konstanta adalah: a. {char} Reserved Words atau kata-kata cadangan pada Pascal adalah kata-kata yang sudah didefinisikan oleh Pascal yang mempunyai maksdu tertentu Suatu. Sub-program (procedure dan function). R : real. Panjang nama. T : boolean. Ketentuan penulisan identifier Nama identifier harus dimulai dengan karakter huruf alfabet: a sampai z. Menentukan nilai konstanta Contoh deklarasi konstanta: conts MaxSize = 100.

Sintaks: Write/Writeln(x). Digunakan untuk menampilkan isi dari suatu nilai variable di layar. (ingat. peletakan cursor di layar. diikuti oleh daftar nama unit yang digunakan. Statemen statemen dalam bahasa Pascal terdiri dari pernyataan yang berupa fungsi dan prosedur yang telah disediakan sebagai perintah standar Turbo Pascal. Read = pada statemen ini posisi kursor tidak pindah ke baris selanjutnya. Crt. [Clear screen] 18 . Statemen terletak di bagian deklarasi statemen dengan diawali oleh kata cadangan BEGIN dan diakhiri dengan kata cadangan END. Unit ini digunakan untuk memanipulasi layar teks (windowing. Statemen-statemen yang digunakan untuk pengaturan letak layar. tipe-tipe data. Statemen-statemen yang digunakan untuk input/output. Write/Writeln= statement ini digunakan untuk mencetak variable ke dalam monitor 2. Untuk menggunakan suatu unit.]) Keterangan : x = variabel. selalu diakhiri dengan titik koma [. prosedur dan fungsi-fungsi. Pada materi ini yang akan dibahas adalah unit Crt. # Read/Readln [prosedur]. maka kita harus meletakkan clausa atau anak kalimat Uses di awal blok program. Beberapa Statemen Turbo Pascal Statemen adalah perintah untuk pengerjaan program pascal. variabel. Perintah ini digunakan untuk memasukkan [input] data lewat keyboard ke dalam suatu variabel. Unit standar pada Pascal yang bisa langsung digunakan adalah System. Sintaks : Read/Readln(x). Keterangan : x = variabel. 1. # ClrScr [prosedur]. Akhir dari setiap statemen diakhiri dengan titik koma [ . # Write/Writeln [prosedur]. Color pada teks.dari konstanta. Printer Dos dan Graph. kode extended keyboard dan lain sebagainya. ]. Readln = pada statemen ini posisi kursor akan pindah ke baris selanjutnya setelah di input. sintaks: ClrScr. Perintah ini digunakan untuk membersihkan layar.

Struktur kendali aliran adalah suatu bentuk/struktur yang memiliki peranan khusus untuk mengatur aliran urutan pengerjaan operasi atau beberapa operasi tertentu. Dimana condition adalah sesuatu yang bernilai True atau False. Untuk struktur pengambilan keputusan berikut. pascal menyediakan .MODUL 3 STATEMENT IF CONDITIONAL Bagaimana penulisan perintah pengambilan keputusan pada Pascal ? Salah satu perintah struktur pengambilan keputusan adalah : If condition Then statement. dan statement adalah perintah yang akan dijalankan. Pernyataan if (if statement) akan memeriksa suatu persyaratan dan menentukan apakah syarat tersebut benar atau salah. 19 keputusan seperti ini. Salah satu contoh pernyataan kendali yaitu pernyataan if. kemudian melakukan pekerjaan sesuai dengan nilai pernyataan tersebut.

akan di pilih jika statement pertama dipilih maka program tidak akan berlanjut ke pengecualian yang kedua. maka pengecualian kedua akan dipilih. Dalam Statement ini. Begin Clrscr. Readln. If (Bilangan Mod 2) = 0 Then Writeln (‘Genap’) Else (pengecualisn) Writeln (‘Ganjil’). Contoh : Uses Crt. Atau lebih baik ditulis sebagai If conditon Then Statement1 Else Statement2. Var Bilangan : Integer. Berikut IF Statement lebih dari 2 pengecualian Statement : If condition1 Then Statement1 Else If condition2 Then Statement2 Else If condition3 Then Statement3 20 . End.Statement If condition Then Statement1 Else Statement2. Readln(Bilangan). Write(‘Masukan Bilangan ? ‘). akan tetapi apabila pengecualian pertama tidak memenuhi syarat.

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'. Sama seperti pengecualian IF 2 Statement. Selain struktur kendali If. End. 21 . Range2 : Statement2. yang akan menjalankan statement berdasarkan range tertentu.Else Statement4. pascal juga menyediakan suatu struktur Case. hanya saja bertambah pengecualiannya. Range3 : Statement3. adapun syntaxnya adalah sebagai berikut : Case variabel Of Range1 : Statement1. … Else StatementN.

Atau For variabel := nilai awal DownTo nilai akhir Do Statement.Salah perulangan pada pascal adalah yang menggunakan counter. For variabel := nilai awal To nilai akhir Do Statement. Dimana variabel harus ordinal type satu struktur perintah 22 .MODUL 4 PENGULANGAN (LOOPING) Secara sederhana looping diartikan sebagai proses berulang terhadap statement maupun serangkaian statement lebih dari satu kali.

Contoh : Var I : Integer. maka pengulangan itu akan terus berlanjut sampai variable terpenuhi. 23 . Pascal telah menyediakan dua jenis subprogram. Cara ini termasuk pemrograman terstruktur dan sangat didukung oleh bahasa Pascal. var x : integer. Logikanya. For x:= 1 to 10 do writeln ('I LOVE U GIRL'). yaitu procedure dan function (prosedur dan fungsi). Untuk itu. cara ini disebut dengan modular programming (pemrograman terbagi/terpecah). jika kata belum memenuhi akhir daripada variable yang telah ditentukan. uses crt. Begin For I := 1 To 10 Do Writeln('PentaCOM'). End. Program yang menggunakan pengulangan atau Looping : Program Pengulangan. Pengulangan pada program diatas adalah kata I LOVE U GIRL akan dicetak sebanyak 10 kali. readln. 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. end. begin clrscr.

let''s pause !').. Contoh pemakaian procedure : uses crt.'). begin clrscr. writeln('Hey. Fungsi Fungsi adalah subprogram yang menerima masukan dan mempunyai keluaran secara langsung procedure Nama_Prosedur. readkey. begin .. Prosedur Prosedur adalah subprogram yang menerima masukan tetapi tidak mempunyai keluaran secara langsung... pembenahan program dan penelusuran jalannya program (debugging) menjadi lebih mudah sebab dapat langsung diketahui subprogram mana yang berjalan tidak sesuai dengan yang diharapkan. begin . a. { Program utama } begin .. writeln('ABC'). tersendiri layaknya suatu program pascal.. b. end. 24 . Procedure dan function merupakan sub-program yang memiliki bagian deklarasi dan beginend.. writeln('Press any key when ready . writeln('Press any key when ready .')... end. program lebih mudah dibaca dan dimengerti. end..Dengan modular programming. Function Nama_Fungsi. Selain itu. 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.

.Bagi : Word. Contoh pemakaian function : Var I : Byte. begin clrscr. readkey.30). writeln('Press any key when ready . procedure pause. Akar. readkey. Begin Writeln(Upper('Bilangan Prima dari 1 s/d 100').. pause. let''s pause !'). begin writeln('Press any key when ready . end. writeln('Pause again !'). For I := 1 To 100 do If (Bil > 1 And Bil < 4) Then Write(I : 4) 25 . Writeln(Replicate('-'. end. Dengan memecah program kita menjadi kesatuan yang lebih kecil : uses crt. end.readkey.').'). writeln('Pause again !'). pause.. writeln('ABC'). writeln('Hey. pause..

Pada prinsipnya function mengembalikan nilai. Bagi := 3. End. End. Begin If Num < 2 Then IsPrime := False Else If Num < 4 Then IsPrime := Bil > 1 Else Begin Sq := Round(Sqrt(Num)). (*local variable ) 26 . While (Dv <= Sq) And (Num Mod Dv <> 0) Do Dv := Dv + 1.Else Begin Akar := Round(Sqrt(Bil)). Pada deklarasi bagian deklarasi parameter kita menentukan parameter dan type data dari masing-masing parameter yang akan dikirim kedalam procedure maupun function. End. While (Bagi <= Akar) And (Bil Mod Bagi <> 0) Do Bagi := Bagi + 1. Dv := 3. IsPrime := Dv > Sq. End.Dv : Word. If Bagi > Akar Then Write(I : 4). Var Sq . Dan contoh berikut yang menggunakan function : Function IsPrime (Num : Longint) : Boolean.

Contoh : Var 27 .MODUL 6 ARRAY Array adalah variabel yang dapat menampung sejumlah data yang ditandai dengan suatu index pada masing-masing elemennya.

contoh: Idx['A'] = 100.. n : Array[byte] of Integer.3] Of Integer.1. Nilai[10].1]. yaitu Nilai[1]. …. Matrix[3. Nilai[2]. dst ? Oh.3].'Z'] of Integer. selain yang anda sebutkan ? Ada. ….1].. Penjelasan dari contoh diatas adalah menyisakan ruang pada penyimpanan sebanyak array itu sendiri. dan {elemennya x[3].3. anda bisa mendeklarasikan array seperti : x : Array[3. Matrix [1.10] of Integer. Contoh Program Array : Program Nama_Bulan. 28 Matrix[2. { The same as array[0. Dan kalau pakai looping : For c:='A' to 'Z' do idx[c]:= 0. Adakah hal-hal yang khusus dalam mendeklarasikan array pada Pascal ? Ada.. Jadi jumlah elemennya adalah 3 x 3 = 9 elemen.2]. x[4]. Dalam hal ini variabel Nilai adalah suatu array yang memiliki 10 element.'z'] of Byte. Matrix[3. Nilai[3]. Cuma indexnya ditulis sebgai character. Adakah bentuk array yang lain.2]. uses crt. hal ini tergantung bagaimana kita mendeklarasikan variabel array tersebut. Matrix[2. 4 Dimensi. Matrix[3. yang terdiri dari elemen Matrix[1.. seperti contoh akan terpenuhi setelah jumlah ke 10. a : Array['a'. array yang telah kita sebutkan tersebut adalah array 1 dimensi. kita dapat juga membuat multi dimensi sesuai dengan kebutuhan.. Matrix[1. contoh : Var Matrix : Array [1. Pada masing-masing elemennya dapat menampung satu nilai Integer.. Matrix[2.2]. Adalah contoh array 2 dimensi.Nilai : Array [1. bisa. x[10]} .255] of integer..3].10] of Integer.3]. idx : Array['A'. x[5].1]. Dapatkah kita buat 3 Dimensi. } Cara pemakaiannya seperti array bisanya.

Record lebih kompleks daripada array karena record merupakan kumpulan 29 . readln (NoBulan). var NoBulan : integer.'Maret'.'Februari'. readln. begin clrscr.'Juni'. MODUL 7 RECORD Record adalah tipe data kompleks yang elemen-elemennya boleh mempunyai tipe data yang berbeda.'Desember'.'Mei'.'September'.13] of string = ('Januari'.'Oktober'.. end. bulan [NoBulan]). 'Agustus'.NoBulan.'April'.'KIAMAT').' adalah '.'Nopember'. write ('Masukan nomor bulan : '). write ('Nama bulan ke ' .'Juli'.const Bulan :array[1.

Cara pendeklarasian record adalah sebagai berikut : var B : record X : integer. : : ____________________').X := 10. uses CRT. Type Kompleks bil_real bil_imaj end. end. Writeln('------------------------------------'). maksudnya adalah sebagai berikut : variabel B berupa record dengan dua elemen yaitu X bertipe integer dan Y bertipe real. Latihan Pascal 3 : Array dan Record'). end. H : kompleks. integer. Cara mengakses elemen dari record dilakukan dengan menyebutkan nama variabel anggota setelah menyebutkan nama record yang akan diakses. Untuk mengakses elemen dari variabel B seperti berikut : B. Berbeda dengan array yang tiap elemennya ditandai dengan nomer indeks maka record ditandai dengan nama variabel anggotanya.beberapa variabel dengan tipe data yang berbeda. Pada pendeklarasian di atas. Writeln('Nama Writeln('NIM Writeln. K2.). Y : real. . perhatikan contoh berikut ini : program Jumlah_Kompleks. procedure begin Writeln(' Writeln. __________'). Awal. var K1. 30 = : : record integer. Untuk lebih memahami penggunaan record dalam program.nama_variabel contoh : B. Di antara nama record dan nama variabel anggota dipisahkan tanda titik (.

Write(' TulisKompleks(K2). '). Writeln('Isi BacaData(K2). begin ClrScr.' end. Komp2.bil_real Komp1. end. KompHasil. Writeln. '.bil_real:3. ').bil_real KompHasil.bil_imaj). procedure begin Write('Bilangan Readln(Komp. Writeln('Isi BacaData(K1).procedure begin JumlahKompleks(var := := BacaData(var Komp1. :'). Write('Tekan Komp1. Writeln. 31 . '). procedure begin Write('('. kompleks). Write(' TulisKompleks(H). Writeln.bil_real. K2.'). Enter.bil_imaj Komp real imajiner Komp2.bil_real). Writeln. TulisKompleks(var + Komp : kompleks). Komp2.Komp. Writeln('Penjumlahan TulisKompleks(K1). '). bilangan kompleks + = pertama dan kedua H). Write('Bilangan Readln(Komp.Komp. Awal. bilangan kompleks kedua :'). JumlahKompleks(K1.bil_imaj end. KompHasil + + : : : : kompleks)..'i)').bil_imaj. bilangan kompleks pertama :').bil_imaj:3..

Perhatikan pula bagaimana cara mengakses elemen record seperti pada prosedur Jumlah Kompleks. jalankan program dengan F7 sehingga akan terlihat urutan jalannya program. end.Readln. Perhatikan program di atas. Untuk lebih jelasnya. 32 .

MODUL 8 DELPHI INTERFACE Tampilan Interface Delphi 7 MenuBar Speed Bar Component Palete Code Editor Form Design Object Inspector 1.dpr) Berfungsi untuk menyimpan File project sekaligus Berfungsi menyimpan File dan yang belum didimpan Berfungsi untuk menyimpan nama file unit yang baru (sama dengan Ctrl+S) untuk menyimpan file unit yang berbeda nama 33 Run | Program Reset . Perintah penting pada Delphi F9 File | Close All F12 Ctrl+F11 Alt+F+V Ctrl+S Alt+F+A Berfungsi untuk melakukan proses RUN (menjalankan program) Berfungsi untuk menutup File project sekaligus Berfungsi untuk menghentikan program yang berjalan Berfungsi untuk berpindah dari Form editor dan sebaliknya Berfungsi untuk membuka File project(*.

Alt+F+E Berfungsi untuk menyimpan nama file project (*. Yang perlu diperhatikan pada code editor adalah. Object Inspector Pada object Inspector terdiri dari 2 menu : Propertis Event Pada tab Propertis Kita bias mengubah property dari komponen Kita. 4. segala sesuatu yang berhubungan dengan IDE Delphi. Speed Bar Speed bar atau toolbar yang berisi kumpulan tombol yang tidak lain adalah pengganti beberapa item menu yang sering digunakan. Delphi telah menuliskan semacam kerangka untuk kita. Dari menu ini. Singkatnya.dpr) dengan nama yang berbeda 2. 6. Code Editor Code Editor merupakan tempat untuk menuliskan listing program yang dinyatakan dengan bahasa Pascal. property dapat dijelaskan sebagai data yang menentukan karakteristik komponen. 5. menjalankan dan melacak bug program. Componnent Pallete Pada komponen Pallete berisi kumpulan ikon yang melambangkan komponen-komponen pada VCL (Visual Component Library). Menu Menu pada Delphi memiliki kegunaan seperti menu pada aplikasi Windows lainnya. Pada Tab event Kita dapat menyisipkan kode untuk menangani kejadian tertentu. 3. kita bias memanggil atau menyimpan program. 34 . karena sangat serupa bahasa Pemrograman Delphi dengan bahasa Pemrograman Pascal. kita tidak perlu menuliskan seluruh kode sumber.

35 .

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

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

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

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

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

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

uses crt. var Nama : array [1. end. write('Input sisi b : ').b. write('Input sisi c : '). var a. end. readln(b). Tugas. write('A' : 5). Uses crt. writeln. write('Input sisi a : ').n : integer. uses crt.20] of Integer. readln(a). else writeln ('Nilai Buruk !!! '). Readln.50.. Program Nilai_SISWA. Program Perkalian_Matrix. for i:= 1 to n do write(i:5).c : Integer. write('Masukan Jumlah Perkalian : '). var i. end. Persentasi : array [1.. Program Jenis_SegiTiga.. begin clrscr. UTS. 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'). UAS.j.59 : writeln ('Nilai Sangat Kurang'). readln(c). 42 . for j:= 1 to n do write(i*j:5). writeln. readln. begin clrscr. writeln. end. end.20] of string. readln (n). for i:= 1 to n do begin write (i:5).

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

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

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

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

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

writeln('v 15 ===== 18. case nominal of 5 : pulsa := 6000. procedure as(var pulsa:longint). writeln('v 10 ===== 12. writeln('v 100 ===== 98.c hp : string. readln (nominal). pulsa. end.000'). writeln('v 50 ===== 50.000'). procedure simpati(var pulsa:longint). goto simpati1. 50 : pulsa := 50000. 100: pulsa := 98000. end. 48 . begin as1: writeln('daftar harga Kartu As').000'). else begin pulsa := 0.000'). end.000'). readln (nominal). 20 : pulsa := 21000. label simpati1.000'). simpati1: writeln('daftar harga SIMPATI'). begin hitung:= b-a end. 10 : pulsa := 12000. writeln('v 5 ===== 6.b : longint):longint. begin clrscr . writeln('masukkan nominal pulsa'). writeln('v 100 ===== 108.000'). writeln.harga. writeln. label as1.000').000'). writeln('v 5 ===== 6. tulis nominal'). var nominal : longint.pilihan. writeln('masukkan nominal pulsa'). writeln('v 20 ===== 21. writeln('v 50 ===== 54.000'). {pernghitungan uang-harga} function hitung(a. writeln ('salah. : longint. writeln('v 25 ===== 29.uang. var nominal : longint.

end. 49 . writeln('v 100 ===== 98. 50 : pulsa := 50000. case nominal of 5 : pulsa := 6000. tulis nominal'). 100: pulsa := 108000.000'). writeln('v 50 ===== 48.000'). writeln ('salah.000'). end. writeln('v 5 ===== 6. goto as1.000').000'). end. procedure MENTARI(var pulsa:longint). writeln('v 10 ===== 11. label im31. else begin pulsa := 0. begin im31: writeln('daftar harga MENTARI'). 10 : pulsa := 11000. writeln('v 20 ===== 21. writeln('v 50 ===== 50. var nominal : longint. procedure im3(var pulsa:longint).000').000').000'). writeln('v 10 ===== 11. goto im31. end. begin im32: writeln('daftar harga im3'). 20 : pulsa := 21000. 15 : pulsa := 18000. writeln('masukkan nominal pulsa'). 50 : pulsa := 54000. writeln ('salah. writeln('v 20 ===== 20. writeln. end. label im32. end. tulis nominal'). 100: pulsa := 98000. 25 : pulsa := 29000.case nominal of 5 : pulsa := 6000. else begin pulsa := 0. var nominal : longint. writeln('v 5 ===== 6. readln (nominal).000').

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

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

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

end.Text:=floatTOstr(z). PROGRAM AJAR PEMROGRAMAN DELPHI Kalkulator Sederhana Delphi procedure TForm1. z:=x+y. edit6. writeln. end.y. z:=x*y.Button1Click(Sender: TObject).Text:=floatTOstr(z).z:real.Text:=floatTOstr(z). begin Close. end. procedure TForm1.Text). end. z:=x-y. z:=x/y. 53 .Text). y:=strTOfloat(edit2. edit4. var x. end.writeln('=========================='). begin x:=strTOfloat(edit1. edit3.Text:=floatTOstr(z). edit5.Button2Click(Sender: TObject). writeln(' TERIMA KASIH').

Text).Items.add('KELAMIN : '+K1. if A1. 54 . if A3. laporan.Text).add('-'+A3. Laporan.add('Laporan Data Pegawai').add('STATUS : '+status.Items. if K1.Caption) else Laporan. laporan.Items.Items.Caption).checked then Laporan. end.Items. Laporan.Caption).Caption).Items.add('ALAMAT : '+alamat. if A2.Items.checked then Laporan.add('LAHIR : '+dateTOstr(lahir.Items.Items.Text).add('NAMA : '+nama.add('').add ('ADMINISTRASI : ').add('').Items.Items.Caption).add('NIP : '+nip.Items.Items.Items. laporan. laporan.clear.date)).add('-'+A1. laporan. laporan.Text).checked then Laporan.Items.add('KELAMIN : '+K2.checked then Laporan. begin laporan. Laporan.Button1Click(Sender: TObject).add('GOL : '+gol.Input Data procedure TForm1. laporan.add('-'+A2.Text).

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

end. edit3.Text. end. edit4. edit5. end.SetFocus.Text:=''. ADOTable1['Tahun Terbit']:=edit5.Text:=''.Text.Button5Click(Sender: TObject).Text:=''.[loPartialKey]).procedure TForm1. begin ADOTable1. begin ADOTable1.Text:=''. begin if not ADOTable1.Delete. edit4. begin ADOTable1. edit3.locate('Nama Buku'. begin edit1. edit1.Text:=''.Button2Click(Sender: TObject). begin Close.Post.Button4Click(Sender: TObject). edit5.Locate('Nama Buku'.text.Text. ADOTable1['Penerbit']:=edit4. end. ADOTable1['Kode Buku']:=edit1.edit6.Text:=''. end. edit2. edit1. end.Text:=''. ADOTable1['Nama Buku']:=edit2. 56 .Text:=''. ADOTable1['Pengarang']:=edit3.Text. edit6.Text. procedure TForm1.Text:=''. procedure TForm1.Append. edit2. procedure TForm1.Text:=''.edit6. ADOTable1.Text. end. procedure TForm1.Button3Click(Sender: TObject).[loPartialKey])then ShowMessage('Maaf Buku Tidak ditemukan').Button1Click(Sender: TObject).Text:=''.

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer: Get 4 months of Scribd and The New York Times for just $1.87 per week!

Master Your Semester with a Special Offer from Scribd & The New York Times