Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Bab 1 Dasar-Dasar Algoritma
Dewasa ini, computer digunakan dihampir semua bidang kehidupan manusia, mulai dari pendidikan, bisnis, sampai dengan game. Bicara soal computer tidak lepas dari pemrograman computer. Hal ini karena computer adalah mesin yang tidak bisa apa-apa. Kita harus memberikan serangkaian instruksi kepada computer agar mesin 'pintar' ini dapat memecahkan suatu masalah. Langkah-langkah yang kita dilakukan dalam memberikan instruksi kepada computer untuk memecahkan masalah dinamakan dengan pemograman computer . Computer adalah mesin digital artinya computer hanya mengenal kondisi ada arus listrik biasanya dilambangkan dengan 1 dan tidak ada arus listrik dilambangkan dengan 0. Dengan kata lain kita harus menggunakan sandi 0 dan 1 untuk melakukan pemograman computer. Bahasa pemograman yang menggunakan sandi 0 dan 1 disebut dengan bahasa mesin. Karena bahasa ini sangat susah maka muncul ide untuk melambangkan untaian sandi 0 dan 1 dengan singkatan kata yang yang disebut dengan emnemonik code . Bahasa pemograman yang menggunakan singkatan ini disebut dengan bahasa assembly . Sebagain Contoh perintah 0011 1010 0000 1011. Perintah dalam bahasa mesin ini sama artinya dengan bahasa assembly CMP AK, 0D. CMP disini artinya CoMpare. Bahasa assemblypun dirasa orang masih sangat sulit maka dikembangkan bahasa 3GL(third generation language ) HLL (high level language ). Contoh dari bahasa ini antara lain : Basic, Pascal, C, C++, COBOL, dll. Bahasa yang digunakan adalah bahasa inggris memang bahasa tersebut adalah bahasa international. Langkah-langkah pemograman computer 1) Mendifinisikan masalah Langkah ini sering kali dilupakan oleh banyak pemogram. Begitu mereka mendapat perintah untuk membuat suatu program, mereka langsung menuliskan programnya tanpa mendifinisikan masalahnya terlebih dahulu. " semakin cepat anda menulis program akan semakin lama anda menyelesaikannya " by Henry Ledgard. 2) Menentukan solusi Apabila permasalahan terlalu komplek biasanya harus membaginya dalam beberapa modul kecil agar lebih mudah diselesaikan. Contoh : Program untuk menghitung invers dapat dibagi menjadi beberapa modul kecil. Modul pertama adalah meminta memasukkan dari pengguna berupa matrik bujur sangkar. Modul kedua adalah mencari invers matriks yang dimasukkan pengguna. Modul terakhir adalah menampilkan hasilnya kepada pengguna. 3) Memilih algoritma Langkah ini merupakan langkah penting dalam pemograman computer. Mengapa ? karena pemilihan algoritma yang salah akan menyebabkan program memiliki unjuk kerja yang kurang baik. 4) Menulis program 5) Menguji program 6) Setelah program selesai ditulis anda harus mengujinya. Apakah program berhasil dikompail, apakah program menampilkan output program yang diinginkan. 7) Menuliskan dokumentasi Saat menulis program program setiap baris atau beberapa program program tambahkan komentar yang yang menjelaskan kegunaan dari suatu pernyataan.
BAB 2 Dasar-Dasar Turbo Pascal
1
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
8) Merawat program Simbol-simbol Simbol-simbol flowchart
Sebelum masuk dalam algoritma ada baiknya kalian mengetahui terlebih dahulu tentang flowchart. Flowchart digunakan untuk menggambarkan proses dalam program. No 1.
Simbol
2. 3. 4.
5. 6. 7. 8.
9. 1 11 1
Fungsi Terminal, untuk memulai dan mengakhiri suatu program Proses, suatu symbol yang menunjukkan setiap pengolahan yang dilakukan oleh komputer. Input – Ouput, maka memasukkan data maupun menunjukkan hasil dari suatu proses. Decision, suatu kondisi yang akan menghasilkan beberapa kemungkinan jawaban atau pilihan.
Preddifined Process, suatu symbol untuk menyediakan tempattempat pengolahan data di storage. Connector, suatu procedure akan masuk dan keluar melalui symbol ini dalam lembar yang sama. Off line conector, merupakan simbol untuk masuk dan keluarnya suatu prosedure pada lembar kertas yang lain. Arus atau flow, procedure yang dapat dilakukan dari atas kebawah, bawah ke atas, dari kanan ke kiri atau dari kiri ke kanan. Document, merupakan symbol untuk data yang berbentuk informasi. Untuk menyatakan sekumpulan langkah proses yang ditulis sebagai procedure. Symbol, untuk output yang ditunjukkan suatu device seperti printer, plotter. Untuk menyimpan data.
Apa itu ALgoritma ?
Algoritma adalah urutan langkah berhingga untuk memecahkan masalah logika atau matematika. Contoh 1). Anda ingin mengirim sms, maka ada beberapa langkah yang bisa anda lakukan a.l : 1) Mengambil Hp 2) Cek pulsa, jika masih ada pulsa lanjut jika pulsa habis beli pulsa terlebih dahulu 3) Klik menu messaging 4) Masukkan no Hp yang dituju 5) Ketik pesan 6) Kirim Langkah-langkah dari 1 sampai dengan 6 itu yang disebut dengan algoritma. Berikut contoh flowchart :
BAB 2 Dasar-Dasar Turbo Pascal
2
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
8) Merawat program Simbol-simbol Simbol-simbol flowchart
Sebelum masuk dalam algoritma ada baiknya kalian mengetahui terlebih dahulu tentang flowchart. Flowchart digunakan untuk menggambarkan proses dalam program. No 1.
Simbol
2. 3. 4.
5. 6. 7. 8.
9. 1 11 1
Fungsi Terminal, untuk memulai dan mengakhiri suatu program Proses, suatu symbol yang menunjukkan setiap pengolahan yang dilakukan oleh komputer. Input – Ouput, maka memasukkan data maupun menunjukkan hasil dari suatu proses. Decision, suatu kondisi yang akan menghasilkan beberapa kemungkinan jawaban atau pilihan.
Preddifined Process, suatu symbol untuk menyediakan tempattempat pengolahan data di storage. Connector, suatu procedure akan masuk dan keluar melalui symbol ini dalam lembar yang sama. Off line conector, merupakan simbol untuk masuk dan keluarnya suatu prosedure pada lembar kertas yang lain. Arus atau flow, procedure yang dapat dilakukan dari atas kebawah, bawah ke atas, dari kanan ke kiri atau dari kiri ke kanan. Document, merupakan symbol untuk data yang berbentuk informasi. Untuk menyatakan sekumpulan langkah proses yang ditulis sebagai procedure. Symbol, untuk output yang ditunjukkan suatu device seperti printer, plotter. Untuk menyimpan data.
Apa itu ALgoritma ?
Algoritma adalah urutan langkah berhingga untuk memecahkan masalah logika atau matematika. Contoh 1). Anda ingin mengirim sms, maka ada beberapa langkah yang bisa anda lakukan a.l : 1) Mengambil Hp 2) Cek pulsa, jika masih ada pulsa lanjut jika pulsa habis beli pulsa terlebih dahulu 3) Klik menu messaging 4) Masukkan no Hp yang dituju 5) Ketik pesan 6) Kirim Langkah-langkah dari 1 sampai dengan 6 itu yang disebut dengan algoritma. Berikut contoh flowchart :
BAB 2 Dasar-Dasar Turbo Pascal
2
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Contoh 2. Tentang percabangan algoritma untuk menuliskan nilai absolute dari nilai yang dimasukkan pengguna. Definisi dari nilai absolute adalah sebagai berikut : | x | = x, jika x ≥ 0 | x | = -X, jika x < 0
berikut ini adalah algoritma untuk menuliskan nilai absolute dari masukkan pengguna : 1. Masukkan x 2. Jika (x < 0 ) maka kerjakan baris 3, jika tidak kerjakan baris 4 3. X ← -x 4. Tulis x Artinya baris pertama meminta masukkan suatu bilangan dari pengguna yang disimpan dalam variable x. Baris ke 2 mengecek nilai variable x lebih kecil dari 0 atau tidak. Jika ya, yang dikerjakan adalah baris ketiga. Jika tidak maka yang dikerjakan adalah baris keempat. Baris ke 3 membuat nilai x, menjadi positif karena baris ini hanya dikerjakan jika nilai x lebih kecil dari nilai 0. Baris keempat menuliskan nilai x yang selalu positif. Contoh diagram flowchart / diagram alir :
Contoh 3. Pengulangan Pengulangan Menghitung rata-rata dari sekumpulan data yang dimasukkan pengguna. Rumus mencari ratarata dari data xi yang berjumlah N adalah sebagai berikut :
BAB 2 Dasar-Dasar Turbo Pascal
3
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Algoritma untuk menghitung rata-rata data yang dimasukkan pengguna : 1. Masukkan N 2. i 1 3. j 0 4. Selama (i <= N) kerjakan baris 4 sampai dengan baris ke 7 5. Masukkan dt 6. i 1+1 7. j j + dt 8. Rata j/N 9. Tulis Rata ← ←
← ←
←
Penjelasnya : Baris pertama meminta pengguna memasukkan N, yaitu jumlah data Baris kedua, variable i, yaitu berguna sebagai pencacah banyaknya data yang telah dimasukkan pengguna, diberi nilai 1. Baris ke tiga, variable j, yang digunakan untuk menyimpan hasil penjumlahan data, diberi nilai 0. Baris keempat, memberikan perintah untuk mengulangi baris keempat sampai dengan baris ketujuh selama i kurang dari sama dengan N. dengan kata lain setelah i lebih besar dari N, baris kedelapan yang dijalankan. Baris kelima meminta masukkan data yang ke-i. Baris keenam menambah variable I dengan 1. Perhatikan arti perintah i i + 1 adalah nilai I ditambah dengan 1 kemudian hasilnya disimpan pada variable i kembali. Baris ketujuh menambah variable j dengan data yang dimasukkan pengguna. Sebagaimana dijelaskan diatas, variable j digunakan untuk menyimpan hasil penjumlahan semua data, jadi untuk setiap masukkan data, nilai variable j harus ditambah dengan dt. Baris kedelapan menghitung rata-rata dengan cara membagi hasil penjumlahan dengan banyaknya data. Baris terakhir menuliskan rata-rata tersebut. ←
Diagram alir / flowchart :
Masukkan N
i j
← ←
1 0
selama (i <= N)
Masukkan dt i i+1 j j + dt ← ←
Rata
j / N
←
Masukkan dt
Selesai
BAB 2 Dasar-Dasar Turbo Pascal
4
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Latihan 1. Tulislah algoritma dan buatlah flowchart untuk mencari luas segitiga jika masukkan dari pengguna adalah alas dan tingginya. 2. Tulislah algoritma untuk menampilkan teks "Turbo Pascal" sebanyak 100 kali. 3. Tulislah algoritma untuk meminta masukkan dua bilangan dari pengguna kemudian manampilkan bilangan terbesar diantara kedua bilangan tersebut.
BAB 2 Dasar-Dasar Turbo Pascal
5
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Bab 2 Mengenal Tampilan Turbo Pascal Menu Turbo Pascal
Yah, kurang lebih seperti itulah tampilan awal Turbo Pascal, dari gambar diatas kita bisa lihat di Turbo Pascal memiliki 7 buah menu utama yang terdiri dari : File, Edit, Run, Compile, Options, Debug, dan Break / Watch. Untuk memilih salah satu dari menu itu anda
bisa menekan tombol Alt + F (untuk memanggil menu file), atau menekan Alt + [huruf pertama dari menu]. Jika anda ingin kembali ke menu utama anda bisa saja menekan tombol F10, untuk pindah dari menu satu ke menu yang lain anda juga bisa menekan panah kanan
() atau panah kiri (). Contohnya ketika anda berada di menu File maka untuk pindah ke menu Compile anda cukup menggunakan tombol panah kanan () atau panah kiri (), dan anda juga bisa langsung menekan huruf C. Untuk menutup menu anda bisa menggunakan tombol Esc. Sebetulnya akan lebh mudah jika memanggil sebuah menu dengan menggunakan hotkey, table dibawah ini adalah hotkey yang digunakan dalam turbo pascal : Kunci
Fungsi
F1
Mengaktifkan jendela pertolongan.
F2
Menyimpan berkas yang ada pada editor.
F3
Memanggil program kedalam editor.
F4
Mengeksekusi program sampai posisi kursor.
F5
Memperbesar atau memperkecil jendela yang aktif.
F6
Mengganti jendela yang aktif.
F7
Melacak kedalam subrutin.
F8
Melompati pemanggil subrutin.
BAB 2 Dasar-Dasar Turbo Pascal
6
Modul TIK - Pemrograman Pascal
Kunci
SMA Negeri 3 Magelang
Fungsi
F9
Mengaktifkan perintah „Make‟.
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.
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.
Ctrl + F4
Melakukan penghitungan atau mengubah nilai peubah.
Ctrl + F7
Menambahkan ungkapan pada jendela watch.
Ctrl + F8
Toggles Breakpoint.
Ctrl + F9
Menjalankan program.
Ctrl + F10
Menampilkan versi layar monitor
Nah, itu tadi adalah beberapa hotkey yang ada pada Turbo Pascal, sekarang kita langsung aja yah mempelajari menu di Turbo Pascal ini. 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. 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. Submenu Pick
BAB 2 Dasar-Dasar Turbo Pascal
7
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
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 repotrepot lagi mencarinya di submenu load. 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. 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. Submenu Write to
pilihan ini digunakan untuk menggantikan program lama dengan program yang baru (istilah kerennya Overwrite…☺). Jika nama program anda sudah ada pada cakram atau folder maka ada verifikasi dari Turbo Pascal untuk penggantian nama. Submenu Directory
pilihan ini digunakan untuk menampilkan direktori dan nama-nama file yang anda inginkan. Anda juga bisa menggunakan pilihan Load. 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, 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. Submenu Quit [Alt + x]
Dari namanya sudah jelas, perintah ini digunakan untuk keluar dari Turbo Pascal dan kembali ke prompt DOS. Menu Edit
Perintah edit ini digunakan untuk mengaktifkan editor Turbo Pascal. Menu Run [Ctrl + F9]
Perintah ini digunakan untuk mengeksekusi program yang sudah anda buat. Anda juga bisa menekan Ctrl + F9 untuk mengeksekusi program anda.
BAB 2 Dasar-Dasar Turbo Pascal
8
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
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. 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. 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. 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 keseluruhan subrutin akan dikerjakan sekaligus dan debugger akan berhenti pada statement sesudah pemanggilan ke subrutin. 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. 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 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. Submenu Build
BAB 2 Dasar-Dasar Turbo Pascal
9
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
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. 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. 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. Submenu Primary File
Perintah ini digunakan untuk menyatakan bahwa file .PAS akan dikompilasi pada saat make [F9] atau build [Alt + C + B] diaktifkan. 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 Menu Options
Pilihan pada menu yang satu ini berfungsi mengkonfigurasi untuk mengoptimalkan penggunaan fasilitas-fasilitas pada turbo pascal. 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. 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}. 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
BAB 2 Dasar-Dasar Turbo Pascal
10
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
dihentikan. Jika dimatikan, kode kesalahan akan tersimpan dalam fungsi IO Result. Pilihan ini sama dengan penunjuk kompiler {$I}. 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}. 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}. Overlay Allowed [Off] :
Mengaktifkan atau menonaktifkan pembakitan kode Overlay. Pilihan ini sama dengan penunjuk kompiler {$O}. Var string checking [Strict] :
Digunakan untuk mengendalikan cara pengecekan data string yang digunakan sebagai parameter berubah. Pilihan sama dengan penunjuk kompiler {$V}. Boolean Evaluation [Short Circuit] :
Digunakan untuk memilih pembangkitan kode pada saat operasi logika [operasi Boolean] dijalankan. Pilihan ini sama dengan penunjuk kompiler {$B}. 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} Emulation [On] :
Mengaktifkan atau menonaktifkan linking dengan run – time yang mengemulasikan ke prosessor numeric 8087. pilihan ini sama dengan penunjuk kompiler {$E} Debug Information [On] :
Digunakan untuk membangkitkan atau tidak membangkitkan informasi pada saat didalam program terjadi kesalahan. Pilihan ini sama dengan penunjuk kompiler {$D}. Local Symbol [On] :
Digunakan untuk mengaktifkan atau menonaktifkan symbol informasi local. Conditional defines:
Digunakan untuk menyatakan penunjuk kompiler berkondisi. Memory sizes:
Digunakan untuk mengkonfigurasi peta pengingat. Dengan penunjuk kompiler{$M}. Stack Size:
ukuran segmen tumpukan maksimum 64 K dengan standart 16 K. Low Heap limit:
ukuran heap minimum standart adalah 0 K.
BAB 2 Dasar-Dasar Turbo Pascal
11
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
High Heap limit:
ukuran heap maksimum adalah 655360 byte.
Submenu Linker
Pilihan ini digunakan untuk mengatur konfigurasi built in linker. Map File [Off] :
Menentukan berapa banyak informasi dalam berkas peta map yang akan dihasilkan. Berkas peta akan ditempatkan dalam direktori .EXE dengan akhiran .MAP Segment :
Informasi segment [Nama, Ukuran, Awal dan Akhir segment dan kelasnya]. Public :
Informasi segment, semua nama-nama symbol dan alamatnya dan titik masukkan program. Detailed :
segement, informasi symbol dan titik masukkan program dan nomor barisnya dan tabel-tabel modul. Submenu Environment
Pilihan ini digunakan untuk memberitahukan Turbo Pascal dimana bisa ditemukan berkas yang akan dikompilasi, di link dengan dilengkapi dengan menu-menu pertolongan. Config Auto Save [Off] :
Digunakan untuk mencegah kehilangan setting komfigurasi yang telah anda lakukan. Edit Auto Save [Off] :
Digunakan untuk mencegah kehilangan berkas yang disebabkan oleh penyimpanan otomatis pada saat anda menggunakan Run / Step Over atau Run / Run. Backup Files [On] :
Secara standard, turbo pascal akan membangkitkan berkas backup pada saat anda menyimpan berkas. Yang biasa kita lihat dengan .BAK Tab Size [2] :
Digunakan untuk mengatur ukuran Tab pada editor. Ukuran yang diperbolehkan adalah 2 sampai 16 dengan defaultnya 8. Zoom Windows [Off] :
Jika di On kan maka, Jendela Edit, Watch, dan Output akan diperluas sampai satu layar penuh. 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.
BAB 2 Dasar-Dasar Turbo Pascal
12
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Submenu Directories
Pilihan menu ini digunakan untuk menunjukkan kepada Turbo Pascal lokasi setiap direktori yang diperlukan. Turbo directory :
Digunakan untuk menemukan berkas konfigurasi [.TP] dan berkas pertolongan [Turbo.HLP]. EXE & TPU directory :
Digunakan untuk menyimpan berkas .EXE dan .TPU. Include Directories :
Digunakan untuk menentukan direktori yang berisi Include File.
Unit Directories :
Digunakan untuk memberitahu TP dimana berkas-berkas unit berada. Object Directories :
Digunakan untuk menentukan direktori yang berisi berkas [.OBJ]. Pick file name :
Digunakan untuk menentukan nama dan lokasi pick file. Current pick file :
Digunakan untuk menunjukkan nama dan lokasi pick file, jika ada.
Submenu Parameters
Digunakan untuk memberikan parameter baris perintah [Command Line parameters] pada program-program yang akan dijalankan. Submenu Save Option
Digunakan untuk menyimpan semua pengaturan dalam menu Compiler, Environment, dan Directories dalam berkas konfigurasi [standardnya adalah TURBO.TP] Submenu Retrieve Options
Digunakan untuk memuat berkas konfigurasi yang sebelumnya disimpan dengan pilihan save. 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. 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. Submenu Call Stack [Ctrl + F3] :
BAB 2 Dasar-Dasar Turbo Pascal
13
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Pada saat anda melakukan debugging, 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. Submenu Integrated Debugging [On]
Jika dipilih On, debugging dilakukan menggunakan IDE.
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. 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. 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 Submenu Add Watch [Ctrl + F7] :
Digunakan untuk menambahkan rinci data, perubah atau ungkapan kedalam jendela watch. Submenu Delete Watch :
Untuk menghapus ungkapan dalam jendela Watch pada saat jendela ini terlihat. Submenu Edit Watch :
Pilihan ini akan membawa posisi watch ke kotak input sehingga anda bisa mengubahnya. Submenu Remove All Watches :
Menghapus semua rinci dalam jendela watch sekaligus memperkecil ukurannya sampai minimum. Submenu Toggle Breakpoints [Ctrl + F8]:
BAB 2 Dasar-Dasar Turbo Pascal
14
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
mengatur suatu baris sebagai breakpoint. Dalam editor breakpoint ditunjukkan dengan highlight text. Submenu Clear All Breakpoints:
Menghapus semua breakpoint yang telah diset.
Submenu View Next Breakpoint :
Digunakan
untuk
menggerakkan
kursor
ke
posisi
breakpoint
berikutnya.
Perintah Dasar untuk Menggerakkan Kursor Tombol
Fungsi
Ctrl + S atau panah kiri
Bergerak ke kiri satu karakter
Ctrl + D atau panah kanan
Bergerak ke kanan satu karakter
Ctrl + A atau Ctrl + panah kiri
Bergerak ke kiri satu kata
Ctrl + F atau Ctrl + panah kanan
Bergerak ke kanan satu kata
Ctrl + E atau panah naik
Bergerak ke atas satu baris
Ctrl + X atau panah turun
Bergerak ke baah satu baris
Ctrl + W
Memutar layar ke atas
Ctrl + Z
Memutar layar kebawah
Ctrl + R atau PgUp
Kehalaman sebelumnya
Ctrl + C atau PgDown
Kehalaman berikutnya Perintah Kursor Tambahan
Tombol
Fungsi
Ctrl + U
Membatalkan kegiatan
Ctrl + O + I atau Ctrl + Q + I
Meng – On atau meng – Off kan autoindent Awal karakter kendali
Ctrl + P Ctrl + K + D atau Ctrl + K + Q Ctrl + Q + F Ctrl + Q + A Ctrl + Qn Ctrl + Q + W Ctrl + O + O F10 Ctrl + F1 F3 Ctrl + O + F Ctrl + Q + [
Keluar dari editor tanpa menyimpan Mencari kata Mencari kata dan menggantinya Mencari penanda tempat Menuju ke posisi kesalahan Menyisipkan penunjuk kompiler Mengaktifkan menu utama Pertolongan bahasa Memuat berkas Mengisi On / Off secara optimal Pasangan tanda kurung kedepan Pasangan tanda kurung kebelakang
Ctrl + Q + ]
BAB 2 Dasar-Dasar Turbo Pascal
15
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Ctrl + L
Mengulang pencarian terakhir
Ctrl + Q + L
Menyimpan kembali baris
Ctrl + K + S atau F2
Menyimpan dan meneruskan
Ctrl + Kn
Mengatur penanda tempat
Ctrl + I atau Tab
Tab
Ctrl + O + T atau Ctrl + Q + T
Mode Tab
Ctrl + O + U
Unindent On / Off
Tombol-Tombol Kendali Operasi Blok Tombol
Fungsi
Ctrl + K + Y
Menghapus blok
Ctrl + K + V
Memindah blok ke tempat lain
Ctrl + K + C
Membuat duplikat blok
Ctrl + K + W
Meyimpan blok ke dalam cakram
Ctrl + K + H
Menyembunyikan atau menampilkan blok
Ctrl + K + R
Membaca blok dari cakram untuk digabung di merge Menandai satu kata
Ctrl + K + T Ctrl + K + P Ctrl + K + I
Mencetak satu blok Mengident blok Mengunident blok
Ctrl + K + U
Untuk lebih jelasnya tentang pengoperasian blok diatas, lebih baik kita langsung saja praktekan, disini saya akan memberikan contoh yang paling mudah yaitu mengkopi blok
Tampilan sebelum suatu blok dipilih
BAB 2 Dasar-Dasar Turbo Pascal
16
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Procedure FLU.GERAK sampai end [8 baris] akan dipilih sebagai blok. Maka kita letakkan kursor kita di huruf p di kata procedure dan kita tekan Ctrl + K + B. kemudian kursor dipindahkan ke tempat di sebelah kanan d dari kata end dan kita tekan Ctrl + K + K. maka tampilan akan berubah menjadi tampilan yang dibawah ini.
Tampilan setelah diblok
Untuk mengkopi blok, tempatkanlah kursor dimana blok tersebut akan dikopi. Kemudian tekanlah Ctrl + K + C maka blok akan dikopi. Begitu juga dengan perintah blok yang lain, caranya sama dengan teknik pengkopian diatas…
Tampilan sesudah di kopi
BAB 2 Dasar-Dasar Turbo Pascal
17
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Bab 3 Statemen-Statemen pada Pemrograman Pascal
Nah, sekarang anda sudah masuk ke bab statement pemrograman ….selamat mencoba… Reserved Word
Reserved Word adalah kata-kata baku yang digunakan dalam program dan sudah terintergrated dalam pascal dan juga mempunyai bentuk serta kegunaan tertentu yang telah didefinisikan oleh Pascal. Reserved Word tidak boleh didefinisikan kembali oleh pemakai, sehingga tidak dapat digunakan sebagai pengenal (Identifier). Dalam bahasa pemrograman Pascal, beberapa Reserved Word dalam Pascal antara lain : AND
DOWNTO
IN
OF
STRING
ASM
ELSE
INHERITED
OR
THEN
ARRAY
END
INLINE
PACKED
TO
BEGIN
EXPORTS
INTERFACE
PROCEDURE
TYPE
CASE
FILE
LABEL
PROGRAM
UNIT
CONST
FOR
LIBRARY
RECORD
UNTIL
CONSTRUCTOR
FUNCTION
MOD
REPEAT
USES
DESTRUCTOR
GOTO
NIL
SET
VAR
DIV
IF
NOT
SHL
WHILE
OBJECT
SHR
WITH
IMPLEMENTATION DO
Selain dari Reserved Word di atas, Turbo Pascal masih memiliki tambahan Reserved Word berikut: ABSOLUTE
ASSEMBLER ()
FAR
FORWARD
INDEX
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.
BAB 2 Statemen-statemen pada Pemrograman Pascal
14
Modul TIK - Pemrograman Pascal
Read
SMA Negeri 3 Magelang
= pada statemen ini posisi kursor tidak pindah ke baris selanjutnya.
Readln = pada statemen ini posisi kursor akan pindah ke baris selanjutnya setelah di input. # ReadKey [fungsi].
Untuk pembacaan sebuah karakter dari keyboard. Tipe data yang dihasilkan adalah char. Sintaks: ReadKey; # 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 Contoh : Program input; Uses Crt; Var nm : String; npm : String; Begin Clrscr; Writeln ('masukkan nama dan NPM '); Writeln ('------------------------------'); Write ('nama anda : '); Readln (nm); Writeln ('NPM anda : '); Readln (npm); End.
Bila dijalankan hasilnya adalah: masukkan nama dan NPM -----------------------------nama anda : ( di input ) NPM anda : ( di input )
2. Statemen-statemen yang digunakan untuk pengaturan letak layar . # ClrScr [prosedur].
Perintah ini digunakan untuk membersihkan layar. sintaks: ClrScr; [Clear screen] # GotoXY[prosedur].
Untuk menempatkan posisi kursor pada layar.
BAB 2 Statemen-statemen pada Pemrograman Pascal
15
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Sintaks: GotoXY(X, Y: Byte); Keterangan : X = sumbu X (posisi horisontal) Y = sumbu Y (posisi vertikal) # DelLine [prosedur].
Untuk menghapus sebuah baris pada posisi kursor dan menaikkan baris-baris dibawahnya. Sintaks: DelLine; # InsLine [prosedur].
Untuk menyisipkan sebuah baris pada posisi kursor dan menggeser kebawah tampilan-tampilan baris dibawahnya. Sintaks: InsLine; # Delay [prosedur].
Untuk menghentikan sejenak proses program. Sintaks: Delay (MS: Word); Keterangan : variable MS = ukuran waktu dalam milisecond. Contoh : Program Layar; Uses Crt; Var x : Char; Begin ClrScr; GotoXY(35,10);Writeln (‘I Love Dinda'); Write (tunggu sebentar...!!'); Delay (5000); InsLine; GotoXY (35,11);Writeln ('Bayi sehatku'); GotoXY(01,13);Writeln ('Tekan Enter !'); Delay(1000); GotoXY(15,12); DelLine; Read(x); End.
Hasilnya adalah : I Love Dinda Bayi sehatku tunggu sebentar...!! Tekan Enter !
3. Statemen yang digunakan untuk memanipulasi string. # ConCat[fungsi].
Untuk menggabungkan 2 atau beberapa variabel string.
BAB 2 Statemen-statemen pada Pemrograman Pascal
16
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Sintaks: ConCat (s1 [,s2,...,sn]: String) : String; contoh: ConCat ('ABC','DEF') { ABCDEF } # Copy [fungsi].
Mengambil satu atau beberapa karakter dari sebuah string. Sintaks: Copy (S,Index,Count) : String; Keterangan : S = sebuah string (string). Index = posisi awal kita akan mengambil beberapa karakter (integer) Count = banyaknya karakter yang akan diambil (integer). # Delete [prosedur].
Menghapus sebagian karakter dari sebuah string. Sintaks: Delete (S,Index,Count); Keterangan : sama dengan statemen Copy. # Insert [prosedur].
Menyisipkan satu atau beberapa karakter ke dalam sebuah string. Sintaks: Insert (Source,var S,Index); Keterangan : Source = sumber string untuk disisipi (string) var S = string tujuan yang akan disisipi oleh string Source (string) Index = posisi mulai (integer). # Length [fungsi].
Memberikan nilai panjang dari suatu string (jumlah karakter dalam string). Sintaks: Length (S); Keterangan : S = string Length(S) menghasilkan nilai integer. # Pos [fungsi].
Mencari posisi sebuah bagian string (substring) didalam sebuah string. Sintaks: Pos (Substr,S); {menghasilkan nilai Byte} Keterangan : Substr = substring yang akan dicari posisinya di dalam sebuah string S. Bila bernilai 0 berarti nilai string yang dicari tidak ada. # Str [prosedur].
Merubah nilai numerik ke dalam nilai string. Sintaks: Str (N,S); Keterangan : N = data tipe integer, S = data tipe string. # Val [prosedur].
BAB 2 Statemen-statemen pada Pemrograman Pascal
17
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Merubah nilai string ke dalam nilai numerik. Sintaks: Val (S,N,P); Keterangan : S = nilai string, N = nilai real, P = posisi salah. Nilai string harus berisi angka, plus atau minus, bila tidak berarti kesalahan dan letak kesalahannya ditunjukkan oleh variabel posisi salah. Jika benar, maka nilai variabel tsb = 0 (nol). # UpCase [fungsi].
Memberikan huruf kapital dari argumen. Sintaks: UpCase (S); Keterangan : S = variabel bertipe karakter. Contoh : Program Man_String; Uses Crt; Var s : String; l : Integer; h : String; Const a='Dinda'; b='Bayi '; c='Sehatku'; Begin ClrScr; s:= ConCat (a,b,c); Writeln (s); Insert (' & ',s,6); Writeln(s); Delete (s,7,7); Writeln (s); h:=Copy (s,1,5); Writeln (h); l:= Length(s); Writeln ('Panjangnya string S : ',l); Writeln ('Posisi "Sehat" pada nilai S : ',POS('Sehat',s)); END.
Hasilnya adalah : DindaBayiSehatku Dinda & Bayi Sehatku Dinda Sehatku Dinda Panjangnya string S : 16 Posisi "Sehat" pada nilai S : 7
BAB 2 Statemen-statemen pada Pemrograman Pascal
18
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
4. Statemen-statemen untuk perhitungan aritmatik. # Abs [fungsi].
Memberikan nilai mutlak dari suatu argumen. Sintaks: ABS(x); # ArcTan[fungsi].
Memberikan nilai dari fungsi arctangent dari perhitungan goniometri. Sintaks: ArcTan (x); dimana x dapat bertipe real atau integer dan akan menghasilkan nilai bertipe real. # Cos [fungsi].
Memberikan nilai dari fungsi Cosinus. Sintaks: Cos (x); # Exp [fungsi].
Menghitung nilai pangkat dari bilangan e (bilangan alam), yaitu sebesar x. Sintaks: Exp (x); x dapat bertipe real atau integer dan akan menghasilkan nilai bertipe real. # Frac [fungsi].
Untuk mendapatkan nilai pecahan dari suatu bilangan. Sintaks: Frac (x); Tipe dari x sama seperti yang diatas. # Int [fungsi].
Memberikan nilai integer (bilangan bulat) dari suatu variabel dengan membuang bilangan di belakang koma. Sintaks: Int (X); # Ln [fungsi].
Digunakan untuk menghitung nilai logaritma alam (natural logarithm) dari nilai x. Sintaks: Ln (x); # Sin [fungsi].
Memberikan nilai dari fungsi Sinus. Sintaks: Sin (x); # Sqr [fungsi].
Digunakan untuk menghitung nilai pangkat kuadrat dari suatu bilangan. Sintaks: Sqr (x); Tipe dari x bisa berupa real maupun integer. Dan hasilnya akan sama dengan tipe dari x. # Sqrt (fungsi).
Digunakan untuk menghitung nilai akar dari suatu bilangan.
BAB 2 Statemen-statemen pada Pemrograman Pascal
19
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Sintaks: Sqrt (x);
Contoh : Program Aritmatik; Uses Crt; Var x : Real; Begin Clrscr; Write('Masukkan nilai dari X = '); Readln (x); If x <0 Then x:=Abs (x); Writeln('Nilai X = ',x:5:2); Writeln ('Nilai eksponentialnya = ',EXP(x):9:3); Writeln ('Nilai logaritma alamnya = ',LN(x):9:3); Writeln ('Nilai integernya = ',INT(x):5:2); Writeln ('Nilai fraksionalnya = ',FRAC(x):5:2); Writeln ('Nilai X dipangkatkan = ',SQRT(x):9:3); Writeln ('Nilai X diakarkan = ',SQRT(x):9:3); Write('Nilai X jika dimasukkan dalam '); Writeln('fungsi Sin,Cos,Tangen: '); Writeln('- Sinus = ',Sin(x):9:3); Writeln('- Cosinus = ',Cos(x):9:3); Writeln('- Tangen = ',ArcTan(x):9:3); End.
Hasilnya : masukkan nilai dari X = -2.5 Nilai X = 2.50 Nilai eksponensialnya = 12,182 Nilai logarima alamnya = 0,196 Nilai integernya = 2.00 Nilai fraksionalnya = 0.50 Nilai X dipangkatkan = 6.250 Nilai X diakarkan = 1.581 Nilai X jika dimasukkan dalam fungsi Sin,Cos,Tangen: - Sinus = 0.598 - Cosinus = -0.801 - Tangen = 1.190
5. Statemen-statemen untuk transfer nilai dari suatu variabel. # Chr [fungsi].
Merubah nilai dari byte ke bentuk karakter yang sesuai dengan kode ASCII. Sintaks: Chr (x); Keterangan : x bertipe byte
BAB 2 Statemen-statemen pada Pemrograman Pascal
20
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
contoh : Writeln (Chr (61)); hasilnya : a # Ord [fungsi].
Merubah nilai suatu variabel dari bentuk karakter ke bentuk longint. Sintaks: Ord (x); Keteranagn : x bertipe char contoh : Writeln(Ord ('B')); hasilnya : 42 # Round [fungsi].
Membulatkan data tipe real ke data tipe longint. Sintaks: Round (x); Keterangan : Jika nilai pecahan < 0,5 maka dibulatkan kebawah. Jika nilai pecahan > 0,5 maka dibulatkan keatas. contoh : Writeln('10/3 dibulatkan = ',Round(10/3)); hasilnya : 10/3 dibulatkan = 3 # TRUNC [fungsi].
Membulatkan kebawah data tipe real ke data tipe longint. Sintaks: Trunc (x); contoh : Writeln('20/3 dibulatkan kebawah = ',Trunc (20/3)); hasilnya : 20/3 dibulatkan kebawah = 6
6. Statemen-statemen untuk memanipulasi data. # Pred [fungsi].
Memberikan nilai sebelum nilai argumen dalam urutannya dalam ASCII. Sintaks: Pred (x); # Succ [fungsi].
Memberikan nilai sesudah nilai argumen dalam urutannya dalam ASCII. Sintaks: Succ (x); # Inc[fungsi].
Menambah (increments) nilai suatu variabel. Sintaks: Inc (x,i); {i >= 1} # Dec [fungsi].
Mengurangi (decrements) nilai suatu variabel. Sintaks: DEC(x,i); {i >=1}
BAB 2 Statemen-statemen pada Pemrograman Pascal
21
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Contoh : Progam Man_Data; Uses Crt; Type hari = (hr0,hr1,hr2,hr3,hr4,hr5,hr6,hr7) Var urutanhr : hari; Const namahr : Array [hr1..hr7] of String [6]= ('Senin','Selasa','Rabu','Kamis','Jumat','Sabtu','Minggu'); Begin Writeln('Daftar Nama Hari); urutanhr := hr0; While Urutanhr < hr7 DO Begin urutanhr := Succ(urutanhr); Write('hari ke ',Ord(Urutanhr):2,' adalah '); Writeln(namahr[urutanhr]); End; End.
hasilnya adalah : Daftar Nama Hari hari ke 1 adalah Senin hari ke 2 adalah Selasa hari ke 3 adalah Rabu hari ke 4 adalah Kamis hari ke 5 adalah Jumat hari ke 6 adalah Sabtu hari ke 7 adalah Minggu
7. Statemen-statemen tambahan (warna,suara dan window). # TextColor [prosedur].
Untuk mengatur warna dari karakter-karakter di layar. Sintaks: TextColor (color : Byte); Catatan : untuk pilihan warna lihat pada buku Turbo Pascal yang anda miliki. Daftar TextColor :
(2)
-->
Hijau Muda
(3)
-->
Hijau pupus
(4)
--> Merah
(5)
-->
Ungu Tua
(6)
-->
Kuning
(7)
--> Putih
(8)
-->
Biru Tua
(9)
-->
Biru Cerah
(10) --> Hijau Muda (14) --> Kuning Muda
(12) -->
Merah Muda (13) -->
Ungu Cerah
(15) -->
Ungu Pupus
Hitam
(16) -->
Daftar TextColor dengan Blink :
BAB 2 Statemen-statemen pada Pemrograman Pascal
22
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
(17) --> Biru Tua (18) --> Hijau Muda (19) --> Hijau Pupus (20) --> Merah (21) --> Ungu Tua # TextBackGround [prosedur].
Untuk mengatur warna latar belakang dari karakter-karakter di layar. Sintaks: TextBackGround (Color : Byte); # Window [prosedur].
Untuk membuat suatu jendela (window) yang terletak pada layar. Sintaks: Window (x1,x2,y1,y2 : Byte); x1,x2 = kordinat kiri atas dengan nilai maksimal sesuai dengan mode layar. y1,y2 = kordinat kanan bawah dengan nilai maksimal sesuai dengan mode layar. # TextMode [prosedur].
Untuk mengatur lebar layar, 80 kolom atau 40 kolom. Sintaks: TextMode(Mode: Byte); Default
BAB 2 Statemen-statemen pada Pemrograman Pascal
=
C80
23
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
# Sound [prosedur].
Untuk mengaktifkan suara (beep) pada internal speaker. Sintaks: Sound (Hz : word); Untuk mengnonaktifkannya, gunakan statemen NoSound.
Contoh : Program Layar2; Uses Crt; Begin ClrScr; Window (5,5,20,75); TextBackGround(Red); --> anda juga bisa menggunakan angka (4) TextColor(Yellow); Sound (220); GotoXY(10,7); Writeln('I Love Dinda'); GotoXY(11,7); Writeln('Bayi Sehatku'); NoSound; End.
Sebagai Latihan dari teori-teori yang sudah anda pelajari diatas, coba anda kerjakan soalsoal dibawah ini (Good Luck…. --> ).
Soal Latihan 1. Soal I
Buatlah program dibawah ini dengan tampilan menggunakan perintah Window, TextColor, Blink TextColor, Textbackground, GotoXY, dan Sound untuk memperindah tampilan. 1. Mengubah derajat temperatur, dari derajat Celcius ke derajat Fahreinheit dan Reamur (derajat Celcius diinput) 2. Menghitung Luas dan Keliling lingkaran, dengan jari-jari diketahui (diinput). 3. Menghitung Luas dan Keliling segitiga sembarang yang diketahui ke tiga sisinya. 4. Mencari nilai Sinus, Cosinus, dan Tangen dengan sudut diinput. 5. Mencari akar dan kuadrat dari suatu nilai (nilai diinput). 6. Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui keyboard (diinput). Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma (,). 7. Tampilkan nama dan NPM anda di dalam window, dan terletak pada tengah-tengah layar. 8. Tampilkan tulisan 'I Love Dinda‟ di dalam window pada pojo k kanan atas dengan ukuran window sama dengan tulisan tersebut.
BAB 2 Statemen-statemen pada Pemrograman Pascal
24
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
2. Soal II
Buatlah program pada soal jenis I (no. 1-6) dengan tampilan menggunakan 2 window. Window yang pertama digunakan untuk nilai yang diinput. Window yang kedua untuk hasil dari program (output).
3. Soal III
1. Buatlah program untuk menggabungkan buah kata yang diinput. Setiap kata yang diinput harus berada didalam window yang dan hasilnya berada pada window yang berbeda pula. 2. Buatlah program untuk menampilkan window secara acak dengan warna yang berbeda.
BAB 2 Statemen-statemen pada Pemrograman Pascal
25
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Bab 4 Bentuk Perulangan & Penyeleksian Kondisi
Wah gak terasa kita sudah nyampe di bab perulangan & kondisi ……selamat mencoba. Tujuan :
1. Memberikan penjelasan mengenai struktur perulangan dengan statement For, termasuk didalamnya : 1.1. Pengertian dan contoh perulangan statement For Positif. 1.2. Pengertian dan contoh perulangan statement For Negatif. 1.3. Pengertian dan contoh perulangan tersarang (Nested Loop). 2. Memberikan Penjelasan dan contoh mengenai struktur perulangan dengan statement While – Do termasuk didalamnya penjelasan menge nai While-Do tersarang (nested While-Do). 3. Memberikan penjelasan dan contoh mengenai perulangan dengan Statement Repeat-Until termasuk di dalamnya penjelasan mengenai Repeat – Until tersarang . 4. Memberikan penjelasan dan contoh mengenai penyeleksian kondisi dengan : 4.1. Statement If - Then 4.2. Statement If – Then - Else 4.3. Statement If tersarang (Nested IF) 4.4. Statement Case - Of 4.5. Statement Case – Of - Else
Materi # Bentuk – bentuk Perulangan
Dalam hampir setiap program yang kompleks mutlak memerlukan suatu perulangan dan percabangan. Tujuan perulangan disini adalah untuk mengulang statement atau blok statement berulang kali sesuai sejumlah yang ditentukan pemakai. Dalam materi ini akan memberikan gambaran konsep dasar dari pengertian diatas. # Perulangan For.
Perulangan dengan statemen For digunakan untuk mengulang statemen atau suatu blok statemen berulang kali. Perulangan dengan statemen For dapat berupa perunlangan positif dan perulangan negatif.
# Perulangan For positif
contoh : perulangan positif untuk satu statement : Uses Crt;
Bab 4 Array
37
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Var i : Integer; Begin
For i := 1 To 5 Do Writeln ('I Love Dinda’); END.
Maka bila program diatas dicompile hasilnya : I Love Dinda I Love Dinda I Love Dinda I Love Dinda I Love Dinda Penjelasan : Berati statemen I Love Dinda akan diulang sebanyak 5 kali yaitu dengan menghitung nilai i dari i ke 1 sampai nilai i terakhir yaitu i ke 5.
# Contoh dengan menggunakan blok statement:
cara penulisannya dengan pada awal blok diawali dengan Begin dan pada akhir blok diakhiri dengan End; Uses Crt; Var i : Integer; Begin For i:= 1 To 10 Do Begin Writeln ('I Love Dinda'); { blok statement } End; End.
Hasil yang akan didapat akan sama dengan contoh yang pertama, tapi yang harus diingat disini untuk penggunaan blok pada perulangan For biasanya mempunyai banyak statement [lebih dari 1 statement]
# Contoh 3 : Penggunaan perulangan For dalam blok statement untuk membuat tabel Uses Crt; Var a,b,c : Integer; bagi : Real; Begin
Bab 4 Array
38
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Writeln('----------------------------------------------'); Writeln(' a a*a a*a*a 1/a '); Writeln('----------------------------------------------'); For a := 1 To 10 Do Begin b:= a*a; c:=a*a*a; bagi := 1/a; Writeln(a:4,c:10,d:10,bagi:12:3); End; Writeln ('----------------------------------------------'); End.
maka hasilnya : ---------------------------------------------a
a*a
a*a*a
1/a
---------------------------------------------1
1
1
1.000
2
4
8
0.500
3
9
27
0.333
4
16
64
0.250
5
25
125
0.200
6
36
216
0.167
7
49
343
0.143
8
64
512
0.125
9
81
729
0.111
10
100
1000
0.100
----------------------------------------------
# Perulangan For negatif
Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar ke kecil. Statement yang digunakan adalah For-DownTo-Do contoh : Uses Crt; Var i : Integer; Begin For i := 10 DownTo 1 Do Write (i:3); End.
Hasil : 10 9 8 7 6 5 4 3 2 1
# Perulangan For tersarang
Bab 4 Array
39
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Perulangan For tersarang adalah perulangan For yang berada pada perulangan yang lainnya. Perulangan yang lebih dalam akan diproses terlebih dahulu sampai habis, kemudian perulangan yang lebih luar baru akan bertambah, mengerjakan perulangan yang lebih dalam lagi mulai dari nilai awalnya dan seterusnya. Contoh : Var a,b : Integer; Begin For a := 1 To 3 Do Begin For b := 1 To 2 Do Write (a :4,b:2); Writeln; End; End.
Hasil : 1112 2122 3132
# Perulangan While - Do
Penyeleksian kondisi digunakan untuk agar program dapat menyeleksi kondisi, sehingga program dapat menentukan tindakan apa yang harus dikerjakan, tergantung dari kondisi yang diseleksi tersebut. Perulangan While – Do tidak dilakukan jika kondisi tidak terpenuhi. Contoh : Uses Crt; Var i : Integer; Begin i := 0; While < 5 do Begin Write (i:3); Inc (i); { sama dengan i:=i+1 } End; End.
Hasilnya : 01234
# Perulangan While – Do tersarang
Perulangan While – Do tersarang (nested While - Do) merupakan perulangan While – Do yang satu di dalam perulangan While – Do yang lainnya. Contoh : Uses Crt;
Bab 4 Array
40
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Var a, b : Integer; Begin ClrScr; a:=1; b:=1; While a < 4 Do{ loop selama a masih lebih kecil dari 4 } Begin a := a+1; While b < 3 Do{ loop selama b masih lebih kecil dari 3 } Begin Write (a:3,b:2); b:=b+1; End; End; Readln; End.
# Perulangan Repeat - Until.
Repeat – Until digunakan untuk mengulang statement-statemen atau blok statement sampai (Until) kondisi yang diseleksi di Until tidak terpenuhi. Sintak dari statement ini adalah : Contoh : Var i : Integer; Begin i:=0; Repeat i:= i+1; Writeln (i); Until i=5; End.
hasil : 1 2 3 4 5 # Repeat – Until tersarang
Repeat – Until tersarang adalah suatu perulangan Repeat - Until yang satu berada didalam perulangan Repeat – Until yang lainnya. Contoh : Var a,b,c : Real; Begin Writeln('========================================'); Writeln(' sisi A sisi B Sisi C '); Writeln (' ======================================='); a:= 1; Repeat { perulangan luar }
Bab 4 Array
41
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
a := a+1; While b < 3 Do{ loop selama b masih lebih kecil dari 3 } Begin Write (a:3,b:2); b:=b+1; End; End; Readln; End. b := 0; Repeat{ perulangan dalam } c:=Sqrt (a*a+b*b); Writeln (a:6:2, b:9:2, c:9:2); b:=b+5; Until b>25; { berhenti jika b lebih besar dari 5 untuk perulangan dalam } a:=a+1; Until a>3; { berhenti jika a lebih besar dari 3 untuk perulangan luar } Writeln(' ======================================='); End.
# Percabangan # If - Then
Bentuk struktur If – Then adalah sebagai berikut : If Kondisi Then Statement
Ungkapan adalah kondisi yang diseleksi oleh statement If. Bila kondisi yang diseleksi terpenuhi, maka statement yang mengikuti Then akan diproses, sebaliknya bila kondisi tidak terpenuhi, maka yang akan diproses statement berikutnya. Misalnya : If Pilihan = 2 Then Begin { jika kondisi terpenuhi, Yaitu jika pilihan = 2 } ...... ...... End Else { jika kondisi tidak terpenuhi, yaitu jika pilhan tidak sama dengan 2} Begin ....... ....... End;
Contoh Program : Uses Crt; Var Nilai : Real; Begin Write ('Jumlah Nilai :'); Readln (nilai); { Pemasukan data } If nilai > 60 Then { seleksi kondisi variabel nilai } Writeln('Lulus') { Dilaksanakan jika nilai lebih besar dari 60 } Else Writeln('Tidak lulus'); { Dilaksanakan jika variabel nilai lebih kecil dari 60 } End.
Bab 4 Array
42
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Hasil : Jika kita Memasukan 40 pada varibel nilai, Maka program diatas akan mencetak Tidak lulus.
# If tersarang (nested If)
Struktur If tersarang merupakan bentuk dari suatu statement If berada di dalam lingkungan statemen If yang lainya. Bentuk statement If tersarang sebagai berikut :
If kodisi1 Then If kondisi2 Then statemen1 statemen2;
atau
If Kondisi1 Then Begin IF kondisi2 Then Else Else statemen2 End;
statemen1
# Case - Of
Struktur Case – Of mempunyai suatu ungkapan logika yang disebut dengan selector dan sejumlah statemen yang diawali dengan suatu label permasalahan (case label) yang mempunyai tipe sama dengan selector. Statement yang mempunyai case label yang bernilai sama dengan case label yang bernilai sama dengan nilai selector akan diproses sedang statemen yang lainya tidak. Bentuk struktur dari Case - Of: Case Variabel Kondisi Of Case – Label 1; Statement 1; Case – Label 2; Statement 2; Case – Label 3; Statement 3; Case – Label 4; Statement 4; ........ ........ Case – Label n ; Statement n ; End ; { end dari case }
Daftar Case label dapat berupa konstanta, range dari konstanta yang bukan bertipe real. Contoh program ; Program nilai; Var nil : Char ; Begin Write ('Nilai Numerik yang didapat :'); Readln (nil); Case nil Of 'A': Writeln ('Sangat Baik’); 'B': Writeln('Baik’); 'C': Writeln('Cukup'); 'D': Writeln('Kurang'); 'E': Writeln('Sangat Kurang');
Bab 4 Array
43
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
End; End.
hasil : Nilai Numerik yang didapat : B Input Baik
Contoh Listing Program untuk Dicoba 1. Program input data dengan array. Program Pemakaian_Array_Untuk_10_data_dengan_menggunakan_For; Uses Crt; Const garis='------------------------------------------------------'; Var nil1,nil2 npm nama n,i,bar jum tl
: Array [1..10] Of 0..100; {Array dgn Type subjangkauan} : Array [1..10] Of String [8]; : Array [1..10] Of String [15]; : Integer; : Real; : Char;
Begin ClrScr; { pemasukan data dalam array } Write ('Mau Isi Berapa Data:'); Readln (n); For i:= 1 To n Do Begin ClrScr; GotoXY(30,4+1); Write('Data Ke-:',i:2); GotoXY(10,5+i); Write('NPM :'); Readln (npm[i]); GotoXY(10,6+i); Write('Nama :'); Readln (nama[i]); GotoXY(10,7+i); Write('Nilai 1 :'); Realdn(nil 1[i]); GotoXY(10,8+i); Write('Nilai 2 :'); Readln(nil 2[i]); End; { proses data dalam array } ClrScr; GotoXY(5,4); Write(Garis); GotoXY(5,5); Write ('No'); GotoXY(9,5); Write ('NPM'); GotoXY(18,5); Write ('Nama'); GotoXY(34,5); Write ('Nilai 1'); GotoXY(41,5); Write ('Nilai 2'); GotoXY(47,5); Write ('Rata'); GotoXY(54,5); Write ('Abjad’); GotoXY(5,6); Write (Garis); { proses Cetak isi array dan seleksi kondisi } bar := 7; For i:= 1 To n Do Begin
Bab 4 Array
44
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
jum:=(nil1[i]+nil2[i])/2; If jum>= 90 Then tl:='A' Else If jum>80 Then tl:='B' Else If jum>60 then tl:='C' Else If jum 50 Then tl:='D' Else tl:='E'; { cetak hasil yang disimpan di array dan hasil } { penyeleksian kondisi } GotoYX(5,bar); Writeln(i:2); GotoYX(9,bar); Writeln (NPM[i]); GotoYX(18,bar); Writeln (NAMA[i]); GotoYX(34,bar); Writeln (NIL1[i]:4); GotoYX(41,bar); Writeln (NIL2[i]:4); GotoYX(47,bar); Writeln (jum:5:1); GotoYX(54,bar); Writeln (tl); bar:=bar+1; End; GotoXY(5,bar+1);Writeln(garis); Readln; End.
2. Program jendela bergerak. Program Window_Bergerak_dgn_delay; Uses Crt; Var i : Integer; Begin For i:=1 To 15 Do Begin Sound (i*100); Delay (100); NoSound; End; TextBackGround(black); ClrScr; For i := 1 To 9 Do Begin TextBackGround(white); Window (42-i*4,10-i,38+i*4,15+i); ClrScr; Delay(100); End; TextColor(15); GotoXY(28,2);Writeln('c'); GotoXY (8,3); Writeln ('3'); GotoXY (28,4); Writeln ('A'); TextColor(black);
Bab 4 Array
45
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
GotoXY (44,3); Writeln ('3'); GotoXY (44,2); Writeln ('&'); TextColor (29,4); Writeln ('U'); TextColor (red*25); GotoXY (30,3); Writeln ('B E L A J A R'); TextColor (black); GotoXY (5,5); Write('c'); For i := 6 To 64 Do Begin GotoXY (i,5); Writeln (''); End; For i := 6 To 20 Do Begin GotoXY(5,i); Writeln('3 '); End; GotoXY (5,21); Writeln (' '); TextColor(white); GotoXY(65,5); Write('U'); For i := 6 To 65 Do Begin GotoXY (i,21); Writeln(' `); End; For i := 6 To 20 Do Begin GotoXY(65,i); Writeln('3'); End; GotoXY (65,21); Writeln ('c'); TextColor(yellow); Readln; End.
Soal Latihan
Buatlah program untuk soal dibawah ini dengan tampilan sebagus mungkin (gunakan perintah Window, Textcolor dll). Jumlah suku sesuai dengan input dari keyboard. 1. Buat deret hitung 3,7,11,15,......................=? Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T. 2. Buat deret ukur 3,9,27,................................=? Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T. 3. Buat tabel deret bergoyang 1,-2,4,-8,...........=? Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T. 4. Buat deret suku harmonis 1,1/2,1/3,.............=? Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T. 5. Buat deret fibbonaci 1,1,2,3,5,.....................=? Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T. 6. Buat deret seperti berikut 1,-2,3,-4,.............=? Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
Bab 4 Array
46
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
7. Buat deret kuadrat 1, 4, 9,............................=? Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T. 8. Buat deret seperti berikut 100, 90, 70 ,...........=? Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T. 9. Buat deret seperti berikut 256, 196, 144,............=? Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T. 10. Buat deret seperti berikut 1, 1, 1, 2, 2, 3, 6, 4, 24, 5..........=? Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T. 11. Buatlah program untuk mencari faktorial, sesuai dengan input yang diminta. 12. Buatlah program huruf yang berjatuhan sehingga membentuk suatu kalimat yang telah diinput dari keyboard . Bab 5 Array
Array adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama. Komponen-komponen tersebut disebut sebagai komponen type, larik mempunyai jumlah komponen yang jumlahnya tetap. Banyaknya komponen dalam larik ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses dengan menunjukkan nilai indexnya atau subskript. Array dapat bertipe data sederhana seperti byte, word, integer, real, bolean, char, string dan tipe data scalar atau subrange. Tipe larik mengartikan isi dari larik atau komponen- komponenya mempunyai nilai dengan tipe data tersebut. Contoh: Var Untai : array[1..50] of Integer;
Pada contoh Array dengan nama untai telah dideklarasikan dengan tipe integer, dengan jumlah elemen maksimum 50 elemen, nilai dari elemen array tersebut diatas harus bertipe integer.
Contoh Program : Program Contoh_Array_Input; Uses Crt; Var Bilangan : array[1..50] of Integer; Begin ClrScr; Bilangan[1]:=3; Bilangan[2]:=29; Bilangan[3]:=30; Bilangan[4]:=31; Bilangan[5]:=23; Writeln('nilai varibel bilangan ke 3 =',Bilangan[3]);
Bab 4 Array
47
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Readln; End.
Array juga dapat dideklarasikan bersama dengan tipe yang beragam seperti contoh dibawah ini : Program Contoh_Deklarasi_Array_Beragam; Uses Crt; Var NPM : array[1..20] of string[10]; Nama : array[1..20] of string[25]; Nilai : array[1..20] of real; Umur : array[1..20] of byte; banyak,i : integer; Begin ClrScr; Write('Isi berapa data array yang diperlukan :');Readln(banyak); For i := 1 to banyak Do Begin Write('NPM =');Readln(NPM[i]); Write('Nama =');readln(Nama[i]); Write('Nilai=');readln(Nilai[i]); Write('Umur =');readln(Umur[i]); End; {cetak varibel array} Writeln('NPM NAMA NILAI UMUR '); For i:= 1 to banyak Do Begin Writeln(Npm[i]:10,Nama[i]:25,Nilai[i]:3:2,' ',Umur[i]:3); End; Readln; End.
Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini : Type Angka = String[20]; Var Nama : Array [1..50] of Angka; Begin . . End.
Deklarasi tipe indeks subrange integer Indeks pada array dapat tipe skalar atau subrange, tetapi tidak bisa real. Contoh: Var Nilai : Array[1..10] of Integer;
pada contoh ini array nilai mempunyai 10 buah elemen yaitu dari 1 sampai 10. Array tersebut dapat dideklarasikan dengan type seperti berikut ini :
Bab 4 Array
48
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Type Skala = 1..10; Var Nilai : Array [skala] of Integer; atau : Type Skala = 1..10; Y = Array[skala] of Integer; Var Nilai : Y; atau : Type Y = Array[1..10] of Integer; Var Nilai : Y; atau
:
Const Atas =1; Bawah = 5; type Y = Array[Atas..Bawah] of Integer; Var Nilai : Y; I. Deklarasi Type Indeks Skalar
Indeks dari larik dapat berupa tipe skalar. Contoh. : Program Deklarasi_Indeks_Array_Skalar; Uses Crt; Var Jum : Array[(jan,feb,mar,apr,mei)] of Integer; Begin Jum[jan]:=25; Jum[feb]:=45; Jum[mar]:=21; Jum[apr]:=23; Jum[mei]:=50; Writeln('Jumlah nilai bulan maret =',Jum[mar]); Readln; End.
dapat juga ditulis : type Bln = (jan,feb,mar,apr,mei); Var Jum : Array[bln] of Integer; atau : type Bln =(jan,feb,mar,apr,mei);
Bab 4 Array
49
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Var Jum : Array[jan..mei] of Integer; II. Deklarasi Konstanta Array
Array tidak hanya dapat berupa suatu varibel yang dideklarasikan di bagian deklarasi variabel, tetapi dapat juga berupa konstanta (const). Contoh Program : Program Contoh_Deklarasi_Array_Konstan; Uses Crt; Const Tetap : Array[1..4] of Integer=(7,10,21,20); Var i : Integer; Begin For i:= 1 to 4 Do Writeln('Nilai Konstan array ke ',i:2,' =',Tetap[i]); Readln; End.
konstanta array dapat juga berupa ketetapan dalam bentuk karakter seperti berikut. Contoh Program : Program Contoh_Konstan_Array_Char_; Uses Crt; Const Huruf : Array[0..5] of Char=('A','B','C','D','E','F'); Var i : Integer; Begin For i:= 0 to 5 Do Writeln('Nilai konstan array ke',i:2,' = ',Huruf[i]); Readln; End.
Konstanta array dapat juga berupa string seperti berikut ini. Contoh Program : Program Constanta_Array_String; Uses Crt; Type A = Array [1..5] of String; Const Nama : A = ('basic','pascal','cobol','paradox','dbase'); Var i : Integer; Begin For i:= 1 to 5 Do Writeln('Nilai Array ke-',i:2,'= ',Nama[i]); readln; end.
Bab 4 Array
50
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut : Contoh Program :
Program String_Adalah_Array_Tipe_Char; Uses Crt; Var Nama : string; i : Integer; Begin Nama:='Turbo Pascal'; For i:= 1 to Length(nama) Do Writeln('Elemen ',i,' dari ',Nama,'= ',Nama[i]); Readln; End.
contoh program bilangan prima dengan menggunakan bantuan array. Contoh program : Program Mencari_Bilangan_Prima_Dengan_Array; Uses Crt; Var Prima : Array[1..100] of Integer; i,j : Integer; bil : Integer; Begin ClrScr; For i := 2 to 100 Do Begin Prima[i]:=i; For j:= 2 to i-1 Do Begin bil := (i mod j); {* i dibagi j dicek apakah 0*} If bil = 0 then Prima[i]:=0; {*jika habis dibagi,berarti bkn prima*} End; If Prima[i]<> 0 Then Write(Prima[i],' '); {*cetak array yg prima*} End; Readln; End.
Contoh pengurutan data dengan metode buble sort, yaitu dengan cara penukaran, dapat dilihat pada contoh dibawah ini : Contoh Program : Program Penggunaan_Array_Untuk_Sortir_Buble_Sort; Uses Crt; Var nil1 : Array[1..100] of Integer; n,i,j,dum : Integer; Begin ClrScr;
Bab 4 Array
51
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Write('mau isi berapa data acak (integer) ='); readln(n); For i := 1 to n Do Begin Write('Data Ke ',i,':');Readln(nil1[i]); End; {* penyapuan proses} for i:= 1 to n-1 do begin for j:= i to n do begin if nil1[j]
III. Array Dua Dimensi
Di dalam pascal Array dapat berdimensi lebih dari satu yang disebut dengan array dimensi banyak (Multidimensional array), disini akan dibahas array 2 dimensi saja. Array 2 dimensi dapat mewakili suatu bentuk tabel atau matrik, yaitu indeks pertama menunjukkan baris dan indeks ke dua menunjukkan kolom dari tabel atau matrik. 12 123 Untuk mengetahui cara mendeklarasikan dari penggunaan aray dua dimensi dapat dilihat pada listing program dibawah ini . Contoh Program: Program Deklarasi_Array_Dua_Dimensi; Uses Crt; Var Tabel : Array[1..3,1..2] of Integer; i,j : Integer; Begin ClrScr; Tabel[1,1]:=1; Tabel[1,2]:=2; Tabel[2,1]:=3; Tabel[2,2]:=4; Tabel[3,1]:=5; Tabel[3,2]:=6; For I := 1 to 3 Do Begin
Bab 4 Array
52
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
For J:= 1 to 2 Do Begin Writeln('Elemen ',i,',',j,'= ',tabel[i,j]); End; End; Readln; End.
IV. Alternatif Deklarasi Array Dua Dimensi.
Ada beberapa cara dalam mendeklarasikan array dua dimensi, beberapa cara tersebut dapat dilihat dibawah ini : Contoh : Var Tabel : Array[1..3] of Array[1..2] of Byte;
atau : Type Matrik = Array[1..3,1..2] of Byte; Var Tabel : Matrik;
atau : Type Baris = 1..3; Kolom = 1..2; Matrik = Array[Baris,Kolom] of Byte; Var Tabel : Matrik;
atau : Type Baris = 1..3; Kolom=1..2; Matrik= Array[Baris] of Array[Kolom] of Byte; Var Tabel : Matrik;
Dibawah ini akan diberikan listing program penggunaan array dua dimensi dalam aplikasi penjumlahan matrik : Contoh Prorgam: Program Penjumlahan_Matrik; Uses Crt; Var Matrik1,Matrik2, Hasil : Array[1..3,1..2] of Integer; i,j : Integer; Begin ClrScr; { input matrik ke satu } Writeln(' Elemen matrik satu'); For i := 1 to 3 Do Begin For j := 1 to 2 Do
Bab 4 Array
53
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Begin Write('Elemen baris -',i,' Kolom -',j,'= '); Readln(matrik1[i,j]); End; End; {input matrik ke dua} Writeln('input elemen matrik dua'); For i:= 1 to 3 Do Begin For j:= 1 to 2 Do Begin Write('Elemen baris -',i,' kolom -',j,'= '); Readln(matrik2[i,j]); End; End; {proses penjumlahan tiap elemen} For i := 1 to 3 Do Begin For j:= 1 to 2 Do Begin Hasil[i,j]:=Matrik1[i,j]+Matrik2[i,j]; End; End; {proses cetak hasil} For i:= 1 to 3 Do Begin For j:= 1 to 2 Do Begin Write(Hasil[i,j]:6); End; Writeln; End; Readln; End.
V. Array Sebagai Parameter
Array dapat digunakan sebagai parameter yang dikirimkan baik secara nilai (by value) atau secara acuan (by reference) ke procedure atau ke function. Procedure yang menggunakan parameter berupa array harus dideklarasikan di dalam judul procedure yang menyebutkan parameternya bertipe array. Contoh Program : Program Contoh_Pengiriman_Parameter_Array_Di_Procedure; Uses Crt; Const Garis ='---------------------------------------------------'; Type Untai = Array[1..10] of String[15]; Bulat = Array[1..10] of Integer; Huruf = Array[1..10] of Char;
Bab 4 Array
54
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Var i,Banyak : Integer; Procedure Proses(Nama:Untai;Nilai:Bulat); Var Ket : String; Abjad : Char; Begin Writeln(Garis); Writeln('Nama Nilai Abjad Keterangan'); Writeln(Garis); For i := 1 to Banyak Do Begin If Nilai[i] > 90 Then Begin Abjad:='A'; Ket :='Istimewa'; End; If (Nilai[i]<90) And (Nilai[i]>70) Then Begin Abjad:='B'; Ket :='Memuaskan'; End; If (Nilai[i]<70) And (Nilai[i]>60) Then Begin Abjad:='C'; Ket :='Cukup'; End; If (Nilai[i]<60) And (Nilai[i]>45) Then Begin Abjad:='D'; Ket :='Kurang'; End; If Nilai[i]< 45 Then Begin Abjad:='E'; Ket :='Sangat kurang'; End; Writeln(Nama[i]:15,' ',Nilai[i]:4,' ',Abjad,' ',Ket:15); End; Writeln(Garis); End; Procedure Masuk_Data; Var Nama : Untai; Nilai : Bulat; Begin Write('Banyak data =');Readln(Banyak); For i:= 1 to Banyak Do Begin ClrScr;
Bab 4 Array
55
Modul TIK - Pemrograman Pascal
SMA Negeri 3 Magelang
Writeln('Data ke - ',i); Write('Nama =');readln(Nama[i]); Write('Nilai =');readln(Nilai[i]); End; Proses(Nama,Nilai); End; {modul Utama} Begin Masuk_Data; Readln; End.
Referensi :
# Lepkom Universitas Gunadarma. # Dasar-dasar Pemrograman Pascal, Teori dan Program terapan , Ir.P. Insap Santosa, M.Sc.
Bab 4 Array
56