LA Ke-1
LA Ke-1
LA Ke-1
PRAKTIKUM KE : 1
NPM : 50405517
KELAS : 4IA15
KETUA ASISTEN :
NAMA ASISTEN :
PARAF :
LABORATORIUM INFORMATIKA
UNIVERSITAS GUNADARMA
2008
1. Listing Program
Gambar 1.1 Tampilan di Editor Turbo Pascal 7, Program Menu menggunakan Procedure
Gambar 1.2 Tampilan di Editor Turbo Pascal 7, Program Menu menggunakan Procedure
Gambar 1.6 Tampilan di Editor Turbo Pascal 7, Program Menu menggunakan Procedure
Gambar 1.8 Tampilan di Editor Turbo Pascal 7, Program Menu menggunakan Procedure
Gambar 1.10 Tampilan di Editor Turbo Pascal 7, Program Menu menggunakan Procedure
Program judul_program;
var
{bagian deklarasi prosedur, sifatnya global}
Procedure Nama_Prosedur;
{Jika prosedur tidak memiliki parameter, tanda kurung tidak disertakan}
var
{bagian deklarasi prosedur, sifatnya lokal}
begin
statement-1;
statement-2;
…………
Statement-n;
end;
{program utama}
begin
Nama_Prosedur;
end.
Ketika kita membuat suatu program tanpa prosedur maka seluruh statement
yang terdapat di dalam program utama akan dieksekusi secara beruntun (sequential) dari
atas ke bawah, sedangkan bila menggunakan prosedur, maka program utama hanya akan
mengeksekusi prosedur-prosedur yang dipanggil, bila prosedur tersebut dipanggil di
dalam program utama, jadi bila untuk sementara kita tidak membutuhkannya, maka cara
mudah yang dapat kita lakukan yaitu tidak usah menghapusnya tetapi cukup dengan tidak
memanggilnya di dalam blok program utama.
Gambar 2.3 Arah eksekusi program utama ketika terdapat prosedur, maka akan memanggil prosedur dan
melakasanakan statement yang terdapat di dalam prosedur
C. Parameter
Secara sederhana parameter merupakan variabel yang dituliskan di dalam kurung
setelah nama prosedur atau fungsi. Dalam pembuatan program biasanya diperlukan
pertukaran informasi antara prosedur atau fungsi, serta pada blok progam utama dimana
nama prosedur atau fungsi tersebut dipanggil.
Berdasarkan penulisannya terdapat 2 jenis parameter, yaitu : parameter formal
(formal parameter) dan parameter aktual (actual parameter). Parameter formal adalah
parameter yang disertakan/dituliskan pada saat pendefinisian prosedur/fungsi itu sendiri.
Sedangkan parameter aktual adalah parameter yang disertakan pada saat pemanggilan
prosedur/fungsi tersebut di blok program utama.
D. Passing Parameter
Proses pengiriman data dari parameter aktual ke parameter formal disebut dengan
transfer parameter (passing parameter). Nama Parameter aktual dan parameter formal
boleh berbeda, tetapi harus memiliki tipe data yang sama selain itu juga jumlah parameter
aktual dan parameter formal harus sama. Di Turbo Pascal, parameter dapat
dikirim/ditransfer secara nilai (by value) atau secara acuan (by reference).
Gambar 4.1 Tampilan di Editor Turbo Pascal 7, Program Menu menggunakan Procedure
Baris pertama pada program dimulai uses crt; yang berfungsi untuk mengenali sintaks
dalam bahasa pascal seperti textcolor , textbackground, sound dan lain lain. Juga
memberikan informasi bahwa program tersebut menggunakan unti crt.
Pada baris ketiga kita membuat objek dengan nama berkas. Kemudian membuat 6
procedure dengan nama rekam, baca, tambah, potong, ganti dan warna.
Selanjutnya adalah langkah pendeklarasian variabel yang terdiri dari FileInt, data, n, i,
x, j, F, st, ch, i2 dan n2.
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.
Gambar 4.2 Tampilan di Editor Turbo Pascal 7, Program Menu menggunakan Procedure
Setelah dicetak kemudian dibaca sekaligus disimpan dalam variable data dengan
sintaks read. Kemudian memanggil file DATA.DAT yang telah disimpan dalam file
FileInt yang selanjutnya di tulis kedalam variable data dengan sintaks write.
Setelah itu kita diminta untuk memotong data dari komponen keberapa ? setelah
kita memasukkan komponen yang akan kita potong/hapus, maka data/record akan
disimpan kedalam variabel x yang bertipe data integer. Fungsi sintaks seek adalah untuk
menggeser pointer terhadap variabel x ke variabel FileInt. Kemudia data dalam variabel
FileInt kita potong dengan sintaks truncate.
Kemudian kita diminta memasukkan data komponen keberapa yang akan diganti/diubah,
setelah itu data yang ingin kita ganti di simpan kedalam variabel j, kemudian membuka
pointer kembali dengan sintaks seek terhadap variabel FileInt. Dimana data komponen
yang ingin diganti dikurangi 1. Setelah itu diganti menjadi data/record apa. Kemudian
data/record yang baru disimpan kedalam variebel data. Setelah data simpan kemudian
ditulis dan disimpan kedalam variabel FileInt.
Lakukan looping untuk nilai awal variable i2 sebesar 1 sebanyak nilai variable
n2(variable banyak huruf yang akan diwarnai). Sintaks readkey; berfungsi untuk
pembacaan sebuah karakter dari keyboard. Tipe data yang dihasilkan adalah char.
Sehingga tipe data untuk variablel ch adalah char.
ch[i2] artinya untuk variable ch2 array ke - … ? kemudian cetak nilai array. Jika
nilai variable i2 lebih kecil dari nilai variable n2 cetak -. Fungsi sintaks assign adalah
untuk menghubungkan file(stand.txt) dengan variabel F yang bertipe data text. Fungsi
sintaks reset adalah untuk membuka file stand.txt (Jika file sudah ada) terhadap variabel
F.
Jika variabel st TIDAK SAMA DENGAN nilai array variabel i2 dari variabel ch,
maka warna tulisan putih. Sintaks delay berfungsi untuk menghentikan sejenak proses
program. Diprogram ini saya kurangi nilai delaynya dari 500 menjadi 50, agar animasi
jalannya tulisan lebih cepat dibanding diberi delay 500.
Gambar 4.8 Tampilan di Editor Turbo Pascal 7, Program Menu menggunakan Procedure
Selanjutnya saya membuat 2 variabel global yaitu oberkas dan pil, bersifat global
sehingga dapat dikenali baik di program utama maupun didalam masing-masing
procedure.
Varibel oberkas berisi objek yang telah dibuat di awal-awal program, yaitu
dengan nama berkas. Untuk variabel pil bertipe data char.
clrscr; digunakan untuk membersihkan layar, clrscr artinya clear screen. Dari
Gambar 4.9 jelas akan tercetak output yang berada diantara tanda kutip buka dan kutip
tutup (’ … ’);
Setelah kita memilih Menu Yang Tersedia dari 1 sampai 7, maka akan disimpan
dalam variable pil.
Jika yang dipilih 1, maka angka 1 akan di simpan dalam variable pil, kemudian
akan di seleksi, jika nilai variable pil sama dengan 1 maka jalankan Procedure
berkas.rekam
Jika yang dipilih 2, maka angka 2 akan di simpan dalam variable pil, kemudian
akan di seleksi, jika nilai variable pil sama dengan 2 maka jalankan Procedure
berkas.baca
…
…
…
…
…
…
Dan seterusnya sampai kondisi until nya terpenuhi yakni maksimal pil ke 7. end.
Menunjukkan program telah selesai.
Dalam kaitan ini aliran karakter yang membentuk program sumber dibaca dari
kiri ke kanan dan dikelompokkan dalam apa yang disebut token yaitu barisan dari
karakter yang dalam suatu kesatuan mempunyai suatu arti tersendiri. Analisa ini
melakukan penerjemahan masukan menjadi bentuk yang lebih berguna untuk tahap-tahap
kompilasi berikutnya.
Analisa Leksikal merupakan antarmuka antara kode program sumber dan analisa
sintaktik (parser). Scanner melakukan pemeriksaan karakter per karakter pada teks
masukan, memecah sumber program menjadi bagian-bagian disebut Token. Analisa
Leksikal mengerjakan pengelompokkan urutan-urutan karakter ke dalam komponen
pokok: identifier, delimeter, simbol-simbol operator, angka, keyword, noise word, blank,
komentar, dan seterusnya menghasilkan suatu Token Leksikal yang akan digunakan pada
Analisa Sintaktik. Model dasar untuk membentuk suatu Analisa Leksikal adalah Finite-
State Automata.
Dua aspek penting pembuatan Analisa Leksikal adalah :
- Menentukan token-token bahasa.
- Mengenali token-token bahasa dari program sumber.
Token-token dihasilkan dengan cara memisahkan program sumber tersebut
dilewatkan ke parser. Analisa Leksikal harus mengirim token ke parser. Untuk mengirim
token, scanner harus mengisolasi barisan karakter pada teks sumber yang merupakan 1
token valid. Scanner juga menyingkirkan informasi seperti komentar, blank, batas-batas
baris dan lain-lain yang tidak penting (tidak mempunyai arti) bagi parsing dan Code
Generator.
Scanner juga harus dapat mengidentifikasi token secara lengkap dan membedakan
keyword dan identifier. Untuk itu scanner memerlukan tabel simbol. Scanner
memasukkan identifier ke tabel simbol, memasukkan konstanta literal dan numerik ke
tabel simbol sendiri setelah konversi menjadi bentuk internal.
Algoritma Polindrom :
1.deklarasikan kal[], i, balik[], x
2.input kal[]
3.hitung panjang kal[] masukkan dalam x
4.looping dengan awalan 1,diakhiri pada x+1, dengan pengendali looping i++
5.masukkan kal[i-1] dalam balik[x-1]
6.cetak balik
7.apakah balik[]=kal[]
8.jika ya cetak polindrom, jika tidak cetak tidak polindrom