DAFTAR
ISI
Daftar Isi ………………………………………………………………….. 1
Petunjuk Penggunaan dan Pelaporan ……………………………
2
1.
Dasar Pemrograman dalam Pascal ………………………….
3
2.
Tipe Data Standar
……………………………………………….. 7
3.
Tipe Data Didefinisikan ………………………………………….. 11
4.
Input Output
……………………………………………………… 15
5.
Perulangan ………………………………………………………… 18
6.
Percabagan ………………….…………………………………… 22
7.
Prosedur ……………………….…………………………………… 26
8.
Fungsi
…………………………..…………………………………… 32
9.
Rekursi …………………………..………………………………….. 36
PETUNJUK PENGGUNAAN DAN PELAPORAN
Untuk mendapatkan
pemahaman yang baik dalam setiap modul,
pelajarilah terlebih dahulu teori yang saudara peroleh pada patakuliah
Algoritma dan Pemrograman I. Disamping itu, sebaiknya saudara mempelajari
terlebih dahulu setiap topik dengan membaca literature-literatur Bahasa Pascal.
Setiap
materi ditampilkan untuk memberikan gambaran kerangka program saja, sehingga
untuk dapat sempurnanya program saudara harus melengkapi program. Jangan lupa
setiap saudara selesai mengetik contoh program, lakukan eksekusi (Runing)
sampai program dapat dikerjakan tanpa kesalahan. Selajutnya lakukan
perubahan-perubahan sesuai dengan keinginan saudara. Jangan takut salah… coba…
coba… dan coba !!!!
Untuk setiap kali praktikum saudara diharuskan
membuat laporan dengan ketentuan sebagai berikut :
1. Jawablah semua pertanyaan pada setiap
materi dan berikan ulasan.
2. Kerjakan latihan pada setiap modul, jika
ada kesulitan konsultasikan dengan Asisten atau Dosen yang bersangkutan.
3. Dokumenkan semua hasil kerja saudara
setiap selesai praktikum
4.
Kumpulkan laporan praktikum pada asisten tiap modul
MODUL 1
DASAR PEMROGRAMAN DALAM PASCAL
Tujuan
Mahasiswa
memahami dasar-dasar pembuatan program dalam bahasa Pascal. Mahasiswa dapat
membuat program sederhana sampai dapat dieksekusi (tanpa kesalahan)
Dasar Teori
1.
Cara mengaktifkan Turbo Pascal
- Pilih menu Programs (jika Pascal disimpan dalam menu program)
- Pilih sub menu TPW 1.5
- Pilih sub-sub menu TPW 1.5
- Atau, jika dibuat shortcut click shortcut tersebut.
2.
Cara membuat, menyimpan, menutup, dan mengedit file
program
·
Memubuat file baru
Dari
jendela Turbo Pascal pilih menu : File, New maka akan dibuat file dengan nama
sementara noname00.pas
·
Menyimpan
File
Pilih
menu File, Save, ketik nama file pada isian dibelakang tulisan File Name : kemudian
Click [Ok].
·
Menutup jendela Editing
Click tanda x pada sudut kanan atas
jendele editing, maka akan ditutup jendela yang bersangkutan
Atau
pilih menu Window, Close all untuk menutup semua jendela yang terbuka.
·
Mengedit program
Pilih
menu File, Open, click salah satu file yang ada pada daftar atau ketik namanya
kemudian click [Ok]
3. Cara me-eksekusi program (running)
Pilih menu Run,Run atau tekan
secara bersama-sama tombol [Ctrl] dan [F9]
Maka hasil eksekusi akan
ditampilkan dalam jendela yang lain
4.
Struktur dasar dan aturan umum pemrograman dalam Turbo
Pascal
·
Struktur program utama dalam Pascal adalah
terdiri dari kepala program yang harus ditulis terlebih dahulu kemudian badan
program yang ditulis dibawah kepala program. Kepala program berisi deklarasi-deklarasi yang diperlukan dalam program.
Biasanya berisi perintah USES, CONST, VAR, TYPE, FUNCTION, PROCEDURE. Badan
program dibatasi dengan blok perintah BEGIN ….. END. (harus diakhiri dengan
tanda titik).
·
Setiap
baris perintah atau blok perintah harus diakhiri dengan titik koma (;).
5.
Perintah
WRITE atau WRITELN adalah perintah untuk
menampilkan besaran atau variable dalam argumennya
USES adalah perintah menggunakan unit
bawaan pascal
CLRSCR adalah perintah menghapus layar
FOR var:=awal TO akhir
DO perintah adalah blok perulangan dari kondisi awal sampai
akhir. Lebih lanjut akan dibahas di belakang.
6.
Hotkey / Tombol navigasi cepat
- [CTRL][F9] untuk Compile dan Run
- [CTRL][F1] untuk tombol bantuan
- [F2] untuk menyimpan
- [F3] untuk membuka
- [ALT][F3]
untuk menutup jendela yang aktif
- [ALT][F5] untuk menampilkan keluaran
- [SHIFT][Panah] untuk mengeblok teks
- [CTRL][INS] untuk mengcopy blok
- [SHIFT][INS] untuk mem-paste blok di memori
- [SHIFT][DEL] untuk menghapus teks yang diblok
- [CTRL][K][H] untuk menyembunyikan teks yang diblok
- [ALT][Space] untuk pembatalan
- [ALT][X] untuk keluar
Materi
1. Ketiklah program berikut kemudian simpan
dengan nama M11, kemudian eksekusi amati hasilnya:
USES
WINCRT;
BEGIN
CLRSCR;
WRITELN(‘Selamat Datang di Turbo Pascal’);
WRITELN(‘Mahasiswa Fakultas MIPA’);
WRITELN(‘Universitas
Widya Dharma Klaten’);
END.
2.
Berilah
spasi pada masing-masing baris program no 1, kemudian eksekusi. Bandingkan
hasilnya dengan program awal.
3.
Ketik ulang program diatas dengan menggunakan huruf
kecil untuk semua perintah (tulisan yang tidak dalam tanda petik). Run !
4.
Ubah semua
kalimat dalam tanga petik dengan huruf besar. Run!
5.
Ketik program dibawah ini dan sempurnakan kesalahan
serta lengkapi kekurangannya.
USES WINCRT
VAR I:WORD;
BEGIN
CLRSCR;
FOR I:=1 TO 10 DO
BEGIN
WRITELN(‘Isi Variabel I adalah :’,I)
END;
END
Latihan
- Buatlah
program sehingga layar menampilkan hasil sbb :
|
- Buatlah
program untuk menampilkan tulisan dengan format sebagai berikut :
|
- Lengkapi
program berikt sehingga bisa dieksekusi :
|
-End-
MODUL 2
TIPE DATA STANDAR
Tujuan
Mahasiswa dapat memahami tipe data
standar dalam Pascal
Mahasiswa dapat membuat program dengan menggunakan
data-data standar.
Mahasiswa dapat menggunakan operasi-operasi serta
fungsi-fungsi standar/bawaan
Dasar Teori
1.
Data jenis Integer
Tipe data integer adalah tipe data yang nilainya berupa angka matematis
bulat baik desimal maupun heksadesimal (untuk heksadesimal diawali dengan $).
Jenis data integer seperti terlihat pada tabel berikut :
Tipe
|
Jangkauan Nilai
|
Format
Penyimpanan
|
Shortint
|
-128…127
|
8 bit bertanda
|
Integer
|
-32768…32767
|
16 bit bertanda
|
Longint
|
-2147483648…2147483647
|
32 bit bertanda
|
Byte
|
0…255
|
8 bit tak bertanda
|
word
|
0…65535
|
16 bit tak bertanda
|
Operasi-operasi biner yang
bisa digunakan dalam jenis data ini adalah :
Nama
|
Simbul
|
Contoh
|
Jumlahan
|
+
|
2+3
|
Pengurangan
|
-
|
2-3
|
Perkalian
|
*
|
2*3
|
Pembagian real
|
/
|
2/3
|
Pembagian integer
|
Div
|
2 div 3
|
Modulo (sisa pembagian)
|
Mod
|
6 mod 3
|
2.
Data jenis Real
Tipe data real adalah tipe data yang nilainya berupa data matematis yang
mengandung pecahan. Jenis data real seperti terlihat pada tabel berikut :
Tipe
|
Jangkauan Nilai
|
Ukuran
|
Real
|
2.9E-39…1.7E38
|
6 byte
|
Single
|
1.5E-45…3.4E38
|
4 byte
|
Double
|
5.0E-324…1.7E308
|
8 byte
|
Extended
|
3.4E-4932…1.1E4932
|
10 byte
|
comp
|
-263+1…263-1
|
8 byte
|
Operasi-operasi biner yang
dapat dikerjakan pada jenis data ini adalah :
Nama
|
Simbul
|
Contoh
|
Jumlahan
|
+
|
2.23+3.22
|
Pengurangan
|
-
|
2.45-4.3
|
Perkalian
|
*
|
2.34*3.56
|
Pembagian real
|
/
|
5.232/3.45
|
3.
Data jenis Boolean
Jenis data Boolean adalah
jenis data yang mempunyai satu nila dengan dua kemungkinan yaitu benar atau
salah ( true atau false). Operasi dasar pada data Boolean adalah and, or, not.
Contoh penggunaannya seperti terlihat pada tabel berikut :
A
|
B
|
A and B
|
A or B
|
Not A
|
true
|
True
|
True
|
True
|
False
|
true
|
False
|
False
|
True
|
False
|
false
|
True
|
Flase
|
True
|
True
|
False
|
false
|
false
|
false
|
True
|
4.
Data jenis Char
Tipe data char adalah tipe
data yang nilainya semua karakter yang dikenal komputer. Setiap karakter
mempunyai nilai yang disebut kode ASCII. Untuk menuliskan data char digunakan
tanda petik (‘) atau dengan kode ASCII dengan mengawali tanda #. Fungsi-fungsi bawaan yang sering digunakan
diantarnya :
Nama
|
Guna
|
Ord(x)
|
Mencari kode ASCII dari character x
|
Char(x)
|
Mencari character yang kode ASCII-nya x
|
Pred(x)
|
Mencari character yang urutannya mendahului x
|
Succ(x)
|
Mencari character yang urutannya setelah x
|
Upcase(x)
|
Mengubah x menjadi huruf besar
|
5.
Data jenis String
Data tipe string adalah data
yang berisi sederetan karakter yang terletak di antara tanda petik tunggal (‘).
Untuk mendeklarasikan suatu data dengan tipe ini selalu disertakan panjangnya,
jika tidak akan disimpan dengan panjang 255 karakter.
6.
Perintah
a. VAR adalah perintah inisialisasi variabel
dan jenisnya.
b.
TYPE perintah deklarasi jenis variable
c.
SQRT mencari akar bilangan
d. SQR mencari pangkat dua dari suatu
bilangan
Materi
Siapkan Pascal dan kerjakan soal-soal dibawah ini.
1.
Ketik
program berikut kemudian Run. Amati dan buatlah rangkuman tentang
prosesnya!
USES WINCRT;
VAR jari2:real;
Begin
Jari2:=20;
Luas:=(22/7)*jari2*jari2;
Writeln(‘Luas lingkaran dengan jari-jari
‘,jari2,’ m adalah ‘,luas,’ m2’);
End.
2. Ketik program berikut dan lengkapi jika
ada kekurangan, bagaimanakah proses yang dikerjakan ?
USES
WINCRT;
VAR kata1,kata2:string[10];kata3:char;
Begin
Kata1:=’Minggu’;
Kata2:=’Senin’;
Writeln(kata1+kata2);
End.
3. Modifikasi program no 2 tanpa dengan
menambah variable lagi, sehingga keluar hasil sbb :
---------------------------------------------------------------
Hari Minggu dan Hari Senin
adalah hari ke 1 dan 2
---------------------------------------------------------------
4. Gunakan fungsi upcase(x), sehingga program
no 3 menampilkan hasil dengan huruf besar semua!
Latihan
- Buatlah suatu program untuk menghitung luas dan keliling dari suatu persegi panjang yang panjang dan lebarnya diketahui dalam program. (Petunjuk : Luas= panjang . lebar, Keliling = 2(panjang+lebar).
- Buatlah suatu program untuk menghitung luas segitiga, jika diketahui tinggi dan alasnya. (Petunjuk : Luas = 0.5 *alas*tinggi)
- Buatlah
suatu program untuk menghitung akar persamaan kuadrat ax2 + bx
+ c =0. Jika a,b,c
diketahui dalam program. (Petunjuk : X1,2 = (-b±(b2-4ac)1/2)/(2a)
- Buatlah
program untuk mengkonversi suhu dari satuan derajat ke satuan Reamur,
Fahrenheid dan Kelvin. (Petunjuk : Reamur=3/4 Celcius, Fahrenheid=9/5
celcius+32, Kelvin=celcius+273)
-End-
MODUL 3
TIPE DATA DIDEFINISIKAN
Tujuan
Mahasiswa dapat
memahami tipe data yad didefinisikan dalam Pascal
Mahasiswa dapat membuat program dengan menggunakan
data-data didefinisikan.
Mahasiswa dapat menggunakan operasi-operasi serta
fungsi-fungsi standar/bawaan
Dasar Teori
- Data subrange
Type
data subrange adalah suatu data yang menunjuk pada suaru range, dengan
diketahui nilai terkecil dan terbesarnya. Bentuk umum pendeklarasiannya adalah
sbb:
Type pengenal= awal..terakhir
Pengenal adalah nama type
data yang dideklarasikan
Awal adalah nilai data terkecil
Akhir adalah nilai data terbesar
- Data Enumerated
Type data
Enumerated adalah suatu data yang menunjuk pada kumpulan data yang urutannya
sudah pasti. Nilai dari tipe data yang dideklarasikan akan diwakili
dengan konstanta-konstanta mulai dari nol. Deklarasi umum untuk tipe ini adalah
:
Type
pengenal= (daftar)
Pengenal adalah nama type data yang dideklarasikan
Daftar
adalah daftar dari elemen-elemen yang digunakan.
- Fungsi-fungsi
·
Pred(x) adalah fungsi untuk menghasilkan
nilai urutan sebelum x dari suatu nilai ordinal.
·
Succ(x) adalah fungsi untuk menghasilkan
nilai urutan sesudah x dari suatu nilai
ordinal.
·
Ord(x) adalah suatu fungsi menghasilkan urutan
dari nilai ordinal x.
·
Inc(x,n) adalah suatu fungsi untuk menaikkan suatu
nilai ordinak x dengan n
·
Dec(x,n) adalah suatu fungsi untuk menurunkan
suatu nilai ordinal x dengan n
Materi
1. Ketik program berikut, kemudian tuliskan
proses yang terjadi dari program tsb, hapus perintah yang tidak dapat
dikerjakan.
Uses wincrt;
Type Bil =
(Nol,Satu,Dua,Tiga,Empat,Lima);
Var Angka: Bil;
Begin
Angka := Nol;
Write(Ord(Angka));
Writeln(angka);
Inc(Angka,2);
(nilai Angka dinaikkan 2}
Write(Ord(Angka));
Writeln(angka);
End.
2.
Berdasar listing program no 1, tampilka order
(urutannya).
3. Cobalah program berikut kemudian simpulkan
hasilnya.
Uses wincrt;
Type hari =1..7;
Var harike:hari;
Begin
For
harike:=1 to 7 do
Writeln(‘Subrange
ke ’,ord(harike));
End.
4.
Ketik
program tersebut, dapatkah dikerjakan. Coba hilangkan baris yang salah. Tulis kesimpulan saudara.
uses wincrt;
type hari=1..7;
nama=(Minggu,Senin,Selasa,Rabu,Kamis,Jumat,Sabtu);
var nhari:hari;
chari:nama;
begin
nhari:=1;
chari:=Minggu;
for nhari:=1 to 7 do
begin
write(ord(nhari));
writeln(nhari);
end;
for chari:=Minggu to Sabtu do
begin
write(ord(chari));
writeln(chari);
end;
end.
Latihan
1. Tulis program berikut kemudian sempurnakan
sehingga dapat dieksekusi dan ambil kesimpulan.
uses
wincrt;
type
bulanke=1..12;
nama=(Januari, Pebruari, Maret, April,
Mei, Juni,
Juli, Agustus,
September, Oktober,
Nopember, Desember);
var i:bukanke;
cbulan:nama;
begin
for i:=1 to 12 do write(i));
writeln;
for cbulan:=januari to Desember do
writeln(ord(cbulan));
end.
2. Ketik
kepala program berikut kemudian lengkapi badan programnya sehingga dapat menampilkan
tulisan ‘Ok!’ sebanyak data yang mungkin.
uses
wincrt;
type
NN=(Ayam, Senin, Agung, Laut, Mata, Malam,DR);
var Data:NN;
3. Gunakan fungsi pred() dan Succ() untuk
menampilkan order sebelumnya dan order setelahnya.
4. Buatlah kepala program sehingga badan program
berikut dapat dieksekusi menampilkan seluruh tanggal, setelah saudara lengkapi.
Begin
For tanggal:=1 to 31 do
Write(‘Tanggal : ‘)
Write(tanggal)
End.
-End-
MODUL 4
INPUT OUTPUT
Tujuan
Mahasiswa dapat
memahami Perintah Input dan Output
Mahasiswa dapat
membuat program dengan proses Input dan Output
Mahasiswa dapat
mengatur tampilan di layar dan di printer dengan program
Dasar Teori
1.
Perintah WRITE, WRITELN
Adalah perintah untuk
menampilkan sesuatu yang enjadi argumennya. Jika argumennya adalah suatu
konstanta karakter maka akan ditampilkan apa adanya. Jika sebuah variabel maka
akan ditampilkan isi variabel tersebut. Bentuk umum dari perintah tersebut
adalah :
WRITE (pesan)
WRITELN(pesan)
Perbedaan WRITE dengan WRITELN adalah pada posisi kursor sesaat setelah
selesai mencetak.
2.
Perintah READ, READLN
Adalah perintah untuk membaca masukan yang diberikan lewat papan ketik
saat program berjalan untuk disimpan dalam variabel yang menjadi argumennya.
Bentuk umumnya adalah :
READ(variabel)
READLN(variabel)
3.
Perintah READKEY
Adalah perintah untuk membaca satu carakter yang dimasukkan lewat papan
ketik. Bentuk umumnya adalah :
Var:=READKEY;
Materi
1.
Ketik dan lengkapi program untuk membuat tabel berikut
ini sehingga dapat dieksekusi:
USES WINCRT;
VAR X,Y:REAL;i:integer;
BEGIN
WRITELN(‘
TABEL FUNGSI Y1(X) = X^2 + 3 DAN Y2(X) = (X^2+X)/X)
WRITELN(‘ ‘);
WRITELN(‘------------------------------------------------------‘);
WRITELN(‘ X
Y1 Y2 ‘);
WRITELN(‘------------------------------------------------------‘);
X:=1.500;
FOR i:=1 TO 15 DO
BEGIN
Y1=SQR(X)+3;
Y2=(SQR(X)+X)/X;
WRITE(
X:5:2);
WRITE(Y1:6:3);
WRITELN(Y2:6:3);
X:=x+0.56;
END;
WRITELN(‘------------------------------------------------------‘);
END.
2.
Untuk program diatas, ubahlah agar perintah mencetak
dalam blok FOR..NEXT hanya terdiri dari satu perintah WRITELN.
3. Ketik program berikut dan lengkapi
sehingga tidak ada kesalahan !
USES WINCRT;
VAR A:CHAR;
BEGIN
WRITELN(‘Tekan tombol apa saja !);
CR:=READKEY;
WRITE(‘Karakter yang baru anda
masukkan adalah : ‘,cr);
END.
4.
Sempurnakan program diatas sehinga dapat memasukkan
suatu tiga carakter kemudian saudara rangkaiakan untuk kemudian dicetak.
Latihan
1.
Buatlah suatu program untuk membuat tabel sinus dan
cosinus dengan format tiap kolom menampilkan angka dua digit didepan koma dan
empat digit dibelakang koma.
2.
Buatlah program untuk mencetak bobot nilai berupa angka
numerik berdasar pembacaan masukan keyboard berupa huruf/carakter.
MODUL 5
PERULANGAN
Tujuan
Mahasiswa
memahami konsep tentang perulangan dalam Pascal
Mahasiswa dapat membuat program dengan perulangan
dengan benar
Mahasiswa dapat
mengimplementasikan macam-macam perulangan
Dasar Teori
1.
Perulangan dengan FOR
Bentuk perulangan ini merupakan
bentuk berulangan dengan format tetap atau tidak memerlukan kondisi.
a.
Perulangan positif
Perulangan
positif yaitu perulangan dengan kenaikan counter positif. Bentuk umum perintah
ini adalah :
FOR counter:= awal TO akhir DO statemen
Variabel counter merupakan variable jenis
integer, sedangkan konstanta awal dan akhir merupakan konstanta integer.
Konstanta akhir harus lebih besar dari awal. Blok perintah pada statemen
merupakan perintah-perintah yang akan diulang.
b.
Perulangan negatif
Perulangan
negarif yaitu perulangan dengan kenaikan counter negatif. Bentuk umum perintah
ini adalah :
FOR counter:= awal DOWNTO akhir DO statemen
Variabel counter merupakan variable jenis
integer, sedangkan konstanta awal dan akhir merupakan konstanta integer.
Konstanta akhir harus lebih kecil dari awal. Blok perintah pada statemen
merupakan perintah-perintah yang akan diulang.
c.
Perulangan bersusun
Perulangan bersusun adalah perulangan yang
memuat perulangan lagi. Jadi statemen dari blok perulangan akan merupakan
perulangan lagi. Proses mengulang akan dikerjakan terlebih dahulu untuk
perulangan yang berada di dalam, baru kemudian akan menambah/mengurangi counter
satu untuk perulangan diluarnya. Sehingga jika diluar ada n perulangan dan
didalamnya ada m perulangan maka akan terjadi perulangan sebanyak mn kali
(bukan m+n kali!)
Jadi perulangan dengan
menggunakan bentuk FOR merupakan perulangan dengan jumlah perulangan tertentu
(diketahui) yaitu dari kedaan variable counter berisi awal sampai diperoleh
variable counter berisi akhir.
2.
Perulangan dengan WHILE..DO
Jenis perulangan ini memerlukan kondisi untuk dapat dilakukannya
perulangan. Kondisi biasanya akan tergantung saat program di-eksekusi. Bentuk
umum perintah ini adalah :
WHILE kodisi DO ekspresi
Jika kondisi benar maka blok
perintah dalam ekspresi akan diulang. Proses mengulang akan berhenti saat
diketahui kondisi bernilai salah. Jika saat pertama kali ditemukan kondisi
salah maka tidak ada proses yang dikerjakan dari blok perintah ekspresi.
3.
Perulangan dengan REPEAT..UNTIL
Perulangan ini hampir sama dengan jenis WHILE..DO. Bentuk umum untuk
perulangan ini adalah :
REPEAT ekspresi
UNTIL kondisi
Perbedaan dengan bentuk WHILE..DO adalah bahwa jika kondisi bernilai
benar maka perulangan akan berhenti. Perintah dalam blok ekspresi tidak
memerlukan statemen BEGIN..END. Karena kondisi akan di cek setelah proses, maka
dalam bentuk ini minimal akan terjadi satu kali proses perintah dalam ekspresi.
4.
Kondisi
Kondisi merupakan suatu ekpresi yang mempunyai nilai kebenaran. Suatu kondisi biasanya akan terkait dengan
relasi. Jika bukan variable Boolean, maka akan terdiri dari tiga bagian yaitu
variable, relasi, dan konstanta. (Mis :
n>10, gaji>100000, dll)
Materi
- Ketik
program berikut mendapatkan karkter dalam kompur dan kode ASCII nya.
USE WINCRT;
VAR NO:WORD;
BEGIN
FOR
NO:=1 TO 256 DO
BEGIN
WRITELN(‘Kode ASCII :
’,no,’ KARACTERNYA : ‘,CHAR(NO))
END;
END.
- Ketikkan
program berikut dan eksekusi dan
sempurnakan.
USES WINCRT;
VAR I:INTEGER;
C,R,F,K:REAL;
BEGIN
CLRSCR;
WRITELN(‘PROGRAM KONVERSI SUHU);
WRITELN(‘
---------------------------------------------‘);
WRITELN(‘Celcius Reamur
Fahrenheit Kelvin’);
WRITELN(‘----------------------------------------------‘);
FOR I:=1 TO 20 DO
BEGIN
C:=I;
R:=4/5*C;
F:=9/5*C+32;
K:=C+273;
WRITELN(C:15:2,R:15:2,F:15:2,K:15:2);
END;
END.
- Buat program diatas dengan perulangan While..do
- Buat program diatas dengan Repeat…until.
Latihan
1. Buatlah program untuk menghitung jumlah
bilangan dari 1 sampai dengan 100.
2. Buatlah program untuk menghitung rata-rata
bilangan dari 50 sampai dengan 250.
3. Buatlah table untuk konversi matauang
Rupiah ke dolar dari 1000 rupiah sampai 100.000 rupiah jika kurs 1$ = Rp.
8.700,-
4. Jika diketahu rumus standar deviasi s =
buatlah program untuk menghitung s dari data
bilngan bulat positif kurang dari 200.
-End-
MODUL 6
PERCABANGAN
Tujuan
Mahasiswa dapat memahami konsep
percabangan/pengambilan keputusan
Mahasiswa dapat mengimplementasikan dalam program
Dasar Teori
1.
Struktur IF
Struktur ini akan bekerja
berdasar kondisi yang terjadi saat program dieksekusi. Bentuk umum perintah ini
adalah :
IF kondisi THEN statemen
Bentuk ini akan megerjakan
blok perintah statemen jika kondisi bernilai benar. Tetapi jika kondisi
bernilai salah maka tidak ada perintah yang dikerjakan. Sedangkan untuk bentuk
:
IF kondisi THEN statemen1 ELSE statemen2
Akan mengerjakan statemen1
jika kondisi benar dan akan mengerjakan statemen2 jika kondisi salah.
Untuk struktur ini sangat
dimungkinkan juga membentuk struktur IF yang bersusun. Berarti dalam
blok statemen juga berisi struktur IF juga.
2.
Struktur CASE
Struktur CASE merupakan
struktur percabangan dengan banyak pilihan. Bentuk umum struktur ini
adalah :
CASE
variable OF
Kasus1: statemen1;
Kasus2: statemen2;
Kasus3: statemen3;
.
.
kasusN: statemenN;
END;
Atau bentuk :
CASE
variable OF
Kasus1: statemen1;
Kasus2: statemen2;
Kasus3: statemen3;
.
.
kasusN: statemenN;
ELSE
Statemen;
END;
Dalam blok perintah ini variable akan mempunyai banyak kemungkinan
(kasus) yang dinyatakan dalam kasus1,kasus2,…,kasusN. Jika kasus1 yang terjadi maka akan dikerjakan blok
statemen1, jika kasus2 yang terjadi maka statemen2 yang akan dikerjakan dan
seterusnya. Sedangkan jika semua kasus yang diberikan tidak ada yang terjadi
maka akan dikerjakan statemen dibawah perintah ELSE, jika perintah ini
diberikan. Variabel yang digunakan pada acuan kasus harus bertipe
ordinal.
Materi
- Tulis program berikut dan lengkapi sehingga dapat dieksekusi
USES WINCRT;
VAR NILAI:INTEGER;
BEGIN
CLRSCR;
WRITE(‘Masukkan
nilai awal :’); readln(nilai);
If
(nilai>10) then nilai:=5
Else
nilai:=15;
Writeln(‘Nilai
Akhir =’,nilai);
END.
- Untuk program diatas tambahkan pada blok, kejadia jika nilai=0 maka nilai di set menjadi 0 juga.
- Ketik
program berikut dan beri ulasan terkait dengan kemungkinan nya.
Uses wincrt;
Var hari:byte;
Begin
Clrscr;
Writeln(‘Program konversi nama hari ‘);
Write(‘Masukkan urutan hari (1..7) :’);
readln(hari);
Case
hari of
1:writeln(‘Minggu
‘);
2:writeln(‘Senin’);
3:writeln(‘Selasa’);
4:writeln(‘Rabu’);
5:writeln(‘Kamis);
6:writeln(‘Jumat’);
7:writeln(‘Sabtu’);
end;
End.
- Untuk program diatas (no 3), lengkapi dengan perulangan sehingga setiap kali selesai mencetak hari, akan ada pertanyaan ‘Apakah akan konversi lagi ? (Y/N).’
Latihan
- Buatlah program untuk membuat table konversi nilai skala 100, jika diketahu table konversinya sbb :
Nilai angka
|
Nilai huruf
|
86
– 100
|
A
|
65
– 85
|
B
|
36
- 64
|
C
|
16
– 35
|
D
|
0
– 15
|
E
|
- Buatlah
suatu program untuk menghitung jumlah bilangan bulat dan bilangan ganjil
dari 1 sampai dengan 100.
- Buatlah
program untuk mengkonversi urutan bulan menjadi nama bulan!
- Buatlah
program untuk menghitung jumlah satuan, puluhan, ratusan, dan ribuan jika
diketahu masukan besarnya angka.
-End-
MODUL 7
PROSEDUR
Tujuan
Mahasiswa dapat
memahami konsep prosedure
Mahasiswa dapat
mengimplementasikan dalam program
Mahasiswa dapat
memahami konsep variabel global dan local
Mahasiswa dapat
memahami konsep parameter formal dan actual dalam prosedur
Mahasiswa dapat
memahami konsep melewatkan parameter dengan nilai dan dengan acuan pada prosedur.
Dasar Teori
1.
Prosedur dapat dikatakan suatu program yang kecil yang
biasa disebut sub-program. Suatu prosedur lebih ‘menekankan’ pada proses
daripada pada hasil. Suatu prosedur dapat dipanggil berkali-kali dari program
atau dari prosedur yang lain. Setiap prosedur dapat memanggil prosedur lain
yang telah didefinisikan.
2.
Suatu prosedur biasanya akan didefinisikan pada bagian
kepala program, bentuk umumnya adalah sbb:
procedure
identifier
<bagian deklarasi>
begin
statemen-statemen
end;
atau dengan
menggunakan parameter formal sbb:
procedure
identifier ( parameters:type_data );
<bagian deklarasi>
begin
statemen-statemen
end;
3.
Suatu
variable dikatakan variabel global jika variable tersebut dikenal pada seluruh
program. Sebuah variable global dideklarasikan diluar prosedur/fungsi.
4.
Suatu variable dikatakan variable local jika hanya
dikenali pada sutu prosedur/fungsi. Suatu variable yang dideklarasikan pada
sutu prosedur akan menjadi variable local.
5.
Nama variable local dimungkinkan sama dengan variable
global, tetapi saat kontrol program berada diluar prosedur/fungsi yang
mendeklarasikan, maka yang akan dikenali adalah variable globalnya.
6.
Parameter formal adalah parameter yang ditulis pada pendeklarasian
prosedur/fungsi. Sedangkan parameter actual adalah parameter yang diberikan
saat fungsi atau prosedur dipanggil.
7.
Parameter dengan nilai adalah parameter formal yang
hanya mengambil nilai dari parameter actual yang bersesuaian. Sedangkan parameter
dengan acuan adalah parameter formal yang jika nilainya mengalami perubahan
maka nilai parameter aktualnya akan ikut berubah.
8. Pendefinisian parameter dengan acuan
didahului dengan kata vara yaitu :
Nama_prosedur(Var
namaparameter:type_data)
Materi
1. Ketiklah program berikut kemudian
eksekusi, uraikan jalannya program :
{kepala
program utama}
program
buat_prosedure ;
uses
wincrt;
var nama:string;
{prosedur satu}
procedure
garis_satu;
begin
writeln('------------------------------------------');
end;
{prosedur
dua}
procedure
garis_dua;
begin
writeln('==============================================');
end;
{badan
program utama}
begin
clrscr;
garis_satu;
write('Masukkan Nama :');readln(nama);
garis_dua;
writeln;
writeln;
writeln('Hasil Program........');
garis_satu;
writeln('Hallo, selamat datang ',nama);
garis_dua;
end.
2. Ketik program berikut ini, kemudian beri
analisa untuk kerja program.
uses wincrt;
var kalimat:string;
model_cetak,i:word;
procedure
buat_garis;
begin
writeln('===============================================');
end;
procedure
cetak_mendatar;
begin
writeln(kalimat);
end;
procedure
cetak_terbalik;
begin
for i:=length(kalimat) downto 1 do
write(kalimat[i]);
end;
procedure
cetak_menurun;
begin
for i:=1 to length(kalimat) do
writeln(kalimat[i]);
end;
procedure
cetak_menurun_terbalik;
begin
for i:=length(kalimat) downto 1 do
writeln(kalimat[i]);
end;
{program utama}
begin
clrscr;
buat_garis;
write('Masukkan
sembarang kalimat : ');readln(kalimat);
write('Ketik
model cetak (1-biasa, 2-terbalik 3-menurun,4-menurun terbalik :');
readln(model_cetak);
buat_garis;
writeln(' ');
case model_cetak of
1:begin
buat_garis;
cetak_mendatar;
buat_garis;
end;
2:begin
buat_garis;
cetak_terbalik;
writeln;
buat_garis
end;
3:begin
buat_garis;
cetak_menurun;
buat_garis;
end;
4:begin
buat_garis;
cetak_menurun_terbalik;
buat_garis;
end;
end;
end.
3. Ketikkan program berikut kemudian
modifikasi variable-variabel yang ada :
uses
wincrt;
var
k,l,r:real;
procedure
keliling(jari2:real);
begin
k:=2*(22/7)*jari2;
end;
procedure
luas(jari2:real);
begin
l:=(22/7)*jari2*jari2;
end;
begin
clrscr;
write('Masukkan jari-jari lingkaran : ');
readln(r);
luas(r);
keliling(r);
writeln('Keling lingkaran tersebut adalah : ',k:9:4);
writeln('Luas
lingkaran tersebut adalah : ',l:9:4);
4. Ketikkan program berikut dan perhatikan
perubahan isi variable-variabelnya, apakah yang saudara simpulkan ?
uses wincrt;
var data:integer;
{prosedur dengan pelewatan parameter dengan nilai}
procedure prosedur1(par1:integer);
var a:integer;
begin
a:=2;
writeln('-----------di
prosedur1-------------') ;
writeln('Isi dari parameter par1(data)
=',par1);
writeln('Isi dari variabel a =',a);
par1:=par1+a;
writeln('Isi parameter par1(data) sekarang
=',par1);
writeln('------------------------------------');
end;
{prosedur dengan pelewatan parameter dengan acuan}
procedure prosedur2(var par2:integer);
var b:integer;
begin
b:=3;
writeln('-----------di
prosedur2-------------');
writeln('Isi
dari parameter par2(data) =',par2);
writeln('Isi
dari variabel a =',b);
par2:=par2*b;
writeln('Isi
variabel par2(data) sekarang =',par2);
writeln('------------------------------------');
end;
begin
data:=5;
writeln('-------------di program utama------------');
writeln('Isi
variabel data =',data);
prosedur1(data);
writeln('-----------------------------------------');
writeln('---------di prog utama lagi--------------');
writeln('Isi
variabel data =',data);
writeln('-----------------------------------------');
prosedur2(data);
writeln('---------di prog utama lagi--------------');
writeln('Isi
variabel data =',data);
writeln('-----------------------------------------');
end.
Latihan
1.
Buatlah suatu program untuk menyatakan proses
menghitung dan menampilkan hasil luas persegi panjang dengan menggunakan
prosedur. Prosedur berupa proses menghitung luas dan proses menampilkannya,
sedang program utama berisi proses mengisi variabel panjang dan lebar.
2. Buatlah sebuah program untuk menhitung
keliling bentuk-bentuk bidang datar yaitu : persegi, lingkaran, dan segitiga
siku-siku. Prosedur berisi proses menghitung keliling (Petunjuk : Rumus
keliling untuk bentuk bidang datar tersebut berturut-turut 2(p+l), 2Õr, a+t+(
).
3.
Buatlah program yang melibatkan variable local dan
global serta prosedur.
4.
Buatlah program yang mempunyai parameter formal dan
actual dalam prosedur
5. Buatlah program yang melibatkan parameter
dengan nilai.
6. Buatlah program yang melibatkan parameter
dengan acuan.
-End-
MODUL 8
FUNGSI
Tujuan
Mahasiswa dapat memahami konsep fungsi dalam
pascal
Mahasiswa dapat mengimplementasikan fungsi dalam
program
Mahasiswa dapat memahami konsep variabel global
dan local
Mahasiswa dapat memahami konsep parameter formal
dan actual dalam fungsi
Mahasiswa dapat memahami konsep melewatkan
parameter dengan nilai dan dengan acuan
pada fungsi.
Dasar Teori
1. Suatu
fungsi pada dasarnya adalah sebuah prosedur juga. Yang membedakan fungsi dengan
prosedur adalah bahwa sebuah fungsi akan menghasilkan sebuah nilai, sedangkan
prosedur tidak. Nilai ini disimpan
dalam sebuah variable dengan nama nama fungsinya. Dengan demikian hasil sebuah
fungsi akan dapat disimpan kedalam sebuah variable.
2. Untuk mendeklarasikan suatu fungsi pada
dasarnya sama dengan mendeklarasikan sebuah prosedur, yaitu :
function ident : type;
<bagian
deklarasi>
begin
statemen-statemen
end;
atau dengan menggunakan parameter formal sbb:
function ident (parameters) : type;
<bagian
deklarasi>
begin
statemen-statemen
end;
3. Seperti halnya sebuah prosedur, cara
pelewatan parameter pada fungsi dilakukan secara sama.
4. Fungsi dan prosedur bawaan
- Length – suatu
fungsi untuk mencari panjang string
Bentuk : length(str):integer
Str
= string yang akan dicari panjangnya.
Materi
1. Ketiklah program berikut kemudian berikan
analisa program tersebut.
uses
wincrt;
var
jari2:real;
function
keliling(r:real):real;
begin
keliling:=2*(22/7)*r;
end;
function
Luas(r:real):real;
begin
Luas:=(22/7)*r*r;
end;
begin
write('Masukkan jari-jari lingkaran = ');readln(jari2);
writeln(' ');
writeln('-----------------------------------------');
writeln('Keliling lingkaran tersbut adalah
=',keliling(jari2):7:3);
writeln('Luas
lingkaran tersebut adalah
=',luas(jari2):7:3);
writeln('-----------------------------------------');
end.
2. Perhatikan program berikut, ketik kemudian
eksekusi perhatikan hasilnya :
uses
wincrt;
var
bil1:real;
function
fungsi1(par:real):real;
begin
fungsi1:=par*par;
par:=par+1;
end;
function
fungsi2(par:real):real;
begin
fungsi2:=par+par;
par:=par-1;
end;
begin
write('Masukkan sembarang bilangan = ');readln(bil1);
writeln(' ');
writeln('---------belum memanggil fungsi-----------');
writeln('Isi
variabel bil1 =',bil1:5:2);
writeln('Hasil
fungsi1 =',fungsi1(bil1):5:2);
writeln('--------setelah memanggil fungsi1---------');
writeln('Isi variabel bil1 =',bil1:5:2);
writeln('Hasil
fungsi2 =',fungsi2(bil1):5:2);
writeln('setelah memanggil fungsi2 ----------------');
writeln('Isi variabel bil1 =',bil1:5:2);
writeln('-----------------------------------------');
end.
3.
Lewatkan parameter para fungsi program diatas dengan
referensi, ambil kesimpulan saudara!
4.
Ketikkan
program berikut, saudara perhatikan pemanggilan fungsi atas fungsinya, eksekusi
program tersebut. Kemudian ubah letak deklarasi fungsinya, ambil
kesimpulan
uses
wincrt;
var
jarak:real;
function
jumlah_bensin(par1:real):real;
begin
jumlah_bensin:=par1/40;
end;
function
jumlah_uang(par2:real):real;
begin
jumlah_uang:=jumlah_bensin(par2)*1850;
end;
begin
write('Masukkan
jarak yang akan ditempuh = ');readln(jarak);
writeln(' ');
writeln('-----------------------------------------');
writeln('Jumlah bensin yang diperlukan =',jumlah_bensin(jarak):7:3);
writeln('Jumlah uang yang diperlukan
=',jumlah_uang(jarak):7:3);
writeln('-----------------------------------------');
end.
Latihan
1. Buatlah program yang menggunakan fungsi
dengan parameter yang dilewatkan dengan nilai.
2. Buatlah program yang menggunakan fungsi
dengan parameter yang dilewatkan dengan acuan!
3.
Buatlah
program untuk menghitung luas jajaran genjang. Nyatakan proses menghitung
luasnya dengan menggunakan fungsi berparameter yang dilewatkan dengan nilai. (rumus
Luas=alas x tinggi).
4. Ubahlah program diatas dengan melewatkan
parameter dengan acuan kemudian gunakan.
-End-
MODUL 9
REKURSI
Tujuan
Mahasiswa memahami tentang
proses rekursi
Mahasiswa dapat
mengimplementasikan dalam program
Dasar
Teori
Rekursi adalah suatu proses
yang dapat memanggil dirinya sendiri. Sebetulnya proses rekursi adalah proses
pemanggilan fungsi oleh fungsi. Pada proses rekursi kebetulan yang
dipanggil mempunyai nama sama.
Materi
1.
Jika diketahui rumus factorial n!=1.2.3.4.5….n, maka
untuk menyelesaikannya dapat dilakukan proses rekursi. Ketik dan perhatikan
program menghitung faktorial berkut
uses
wincrt;
var
n,hasil:integer;
function faktorial(n:integer):integer;
begin
if n=0 then faktorial:=1 else
faktorial:=n*faktorial(n-1);
end;
begin
write('Masukkan sembarang bilangan buat n = ');readln(n);
writeln(' ');
writeln('-----------------------------------------');
writeln('Faktorial dari bilangan tersebut adalah :');
hasil:=faktorial(n);
writeln(' n! =
',hasil);
writeln('-----------------------------------------');
end.
2. Berikut adalah program menghitung bilangan
fibonacci. Bilangan ini adalah suatu deret bilangan yang diperoleh dengan
menjumlahkan dua elemn terakhir yaitu deret : 1 1 2 3 5 8 13 21 34…..
Uses wincrt;
Var n,hasil:integer;
Function fibonacci(n:integer):integer;
Begin
If (n=1) or (n=2) then fibonacci:=1 else
Fibonacci:=fibonacci(n-1)*fibonacci(n-2);
End;
Begin
Write(‘Bilangan fibonaci ke : ‘);readln(n)
Hasil:=fibonacci(n);
Writeln(‘Bilangan fibonacci ke ’,n,’ = ‘,hasil);
End.
3.
Perhatikan proses rekursi berikut ini, setelah saudara
mengesekusinya.
uses
wincrt;
var
x,hasil:real;
y:integer;
function
pangkat(x:real;y:integer):real;
begin
if y=0 then
pangkat:=1
else begin
if y>0 then
pangkat:=x*pangkat(x,y-1)
else
if y<0 then
pangkat:=1/x*pangkat(x,y+1);
end;
end;
begin
writeln('Menhitung nilai x^y dengan x
bilangan real dan y bilangan bulat');
write('Nilai x = ');readln(x);
write('Nilai y = ');readln(y);
hasil:=pangkat(x,y);
writeln('Nilai x^y = ',hasil:10:4);
end.
Latihan
1.
Buatlah fungsi yang mengandung proses rekursi!
2.
Buatlah program untuk menghitung banyaknya kombinasi
dari dua buah bilangan (rumus combinasi dari m,n adalah m!/(m-n)!
3.
Buatlah program untuk menampilkan
kemungkinan-kemungkinan pasangan berurutan huruf A,B,C,D.( Petunjuk :
kemungkinan pasangan berurutan dari 4 huruf tersebut adalah ada 4!)
4.
Tampilkan kombinasi dua huruf dari huruf A,B,C,D yang
mungkin. (Petunjuk : banyak pasangan yang mungkin adalah kombinasi bilangan 4
dan 2)
-End-
DAFTAR ISI
Petunjuk Penggunaan dan Pelaporan
………………………………. 37
Daftar
Isi ……………………………………………………………………. 37
1. Tipe Data
Set …………………………………………………………. 38
2. Tipe Data
Array ………………………………………………………. 43
3. Tipe Data
Record ……………………………………………………. 48
4. Tipe Data
File/Berkas ………………………………………………… 53
5. Tipe Data
Pointer …………………………………………………….. 61
6. Unit
……….……………………………………………………………… 64
MODUL 10
TIPE DATA SET
Tujuan
Mahasiswa
memahami tentang tipe data set
Mahasiswa dapat
mengimplementasikan dalam program
Dasar Teori
1.
Data set adalah suatu data yang berupa kumpulan obyek
yang mempunyai tipe sama dan urutan penulisannya tidak diperhatikan.
2.
Untuk membuat data jenis set digunakan deklarasi tipe
data yaitu :
Type pengenal = set of tipe_data
atau dalam deklarasi
variabelnya :
Var pengenal = set of tipe_data
Pengenal adalah nama pengenal yang akan dinyatakan
sebagai tipe himpunan.
Tipe_data adalah type data dari anggota
himpunan
3. Type data dari anggota himpunan harus
memenuhi syarat sbb:
- Tidak boleh
bertipe data terstruktur
- Tidak
boleh bertipe real
- Dapat
berupa tipe enumerated, subrange dari integer, tupe char, atau subrange
dari char atau boolean.
4.
Operasi yang dapat dilakukan antara dua data set adalah
:
Operator
|
Guna
|
Contoh
|
+
|
Union atau sum
|
[1,2,3,4] + [3,4,5]
= [1,2,3,4,5]
|
*
|
Interseksi atau product
|
[1,2,3,4] *
[3,4,5,6,7,8] = [3,4]
|
-
|
Set difference atau selisih
|
[1,2,3,4] -
[3,4,5,6,7,8] = [1,2]
|
5.
Untuk operator relasional, disediakan operasi sebagai
berikut :
Operator
|
Guna
|
Contoh
|
=
|
Mengetes kesamaan dua himpunan
|
[1,2,3,4] =
[3,4,5,6,7,8]
|
<>
|
Mengetes ketidaksamaan dua himpunan
|
[1,2,3,4] <> [3,4,5,6,7,8]
|
Operator
|
Guna
|
Contoh
|
>=
|
Mengetes apakah
operand kedua merupakan bagian dari operand pertama.
|
[1,2,3,4] >= [3,4,5,6,7,8]
|
<=
|
Mengetes apakah
operand pertama merupakan bagian dari operand kedua
|
[1,2,3,4] <= [3,4,5,6,7,8]
|
In
|
Mengetes keanggotaan suatu himpunan.
|
1 In [1,2,3,4]
|
6.
Perintah perintah
- Val –
sebuah prosedur untuk mengubah teks angka menjadi angka matematis.
Bentuk : val (string,var1,var2)
String
= teks angka (angka dengan tipe string)
Var1
= variable jenis integer/real untuk menampung hasil
Var2 = variable jenis integer untuk
menampung kesalahan saat konversi.
- Str – suatu prosedur untuk mengubah nilai angka matematis menjadi jenis string
Bentuk
: str(value,teks)
Value
= angka yang akan di stringkan
Teks
= hasil konversi yang berupa angka dengan jenis string
- Upcase –
suatu fungsi yang mengubah huruf kecil menjadi huruf besar
Bentuk : upcase(param):char
Param
= data bertipe character
- Insert
– suatu prosedur untuk menyisipkan suatu substring ke suatu string pada
posisi yang ditentukan.
Bentuk : insert(substring,var1,var2)
Substring
= string yang akan disisipkan
Var1
= variable ber jenis string yang akan disisipi
Var2
= variable jenis integer yang menunjukkan posisi penyisipan
Hasil yang dikenali hanyalah 255 carakter
pertama, selebihnya dibuang.
- Concat –
suatu fungsi untuk menggabung string, hasil fungsinya adalah string hasil
gabungan.
Bentuk : concat(str1,str2,…):string
Str1,
str2 = string-string yang akan digabung
Hasil yang dikenali hanyalah 255 carakter
pertama, selebihnya dibuang.
- Copy –
Suatu fungsi yang berguna untuk mengcopy sebagian atau seluruhnya dari
suatu string.
Bentuk : copy(str, var1,var2):string
Str
= string yang akan disalin
Var1 = variable integer yang
menyatakan posisi awal substring yang akan disalin
Var2 = variable integer yang
menyatakan panjang string yang akan disalin
- Delete – suatu prosedur untuk menghapus substring dari suatu string
Bentuk : delete(str,var1,var2)
Str = variable string yang
akan dihapus sebagian
Var1 = variable integer yang
menyatakan posisi awal substring yang akan dihapus.
Var2 = variable integer yang
menyatakan panjang string yang akan dihapus.
- Post – suatu fungsi untuk mencari posisi suatu substring dari suatu string.
Bentuk
:post(str1,str2):byte
Str1 = string yang akan dicari
Str2 = string sumber
Materi
1.
Cobalah program berikut dan perhatikan definisi
himpunannya :
uses wincrt;
var A,B,C:set of 1..10;
begin
A:=[1,2,3,4];
B:=[3,4,5,6];
C:=[2,3];
if C<=A then writeln('C berada dalam A') else writeln('C tidak berada
dalam A');
if C<=B then Writeln('C berada dalam B') else
begin
if C>=B then
writeln('B berada dalam C')
else
writeln('C tidak berada dalam
B');
end;
end.
2. Ketik program berikut dan perhatikan
operasi yang dilakukan :
uses wincrt;
type
type1=set of char;
var
A,B:type1;
jawab:char;
begin
A:=['a','i','u','e','o'];
B:=['b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','v','w','x','y','z'];
write('Sembarang Charakter
:');readln(jawab);
if jawab in A then writeln('Huruf
vokal...')else
begin
if jawab in B then writeln('Huruf
mati....')else
writeln('Charakter khusus..')
end;
end.
3.
Coba dan perhatikan program berikut .
uses wincrt;
type type1=set of 1..100;
var A,B:type1;
awal,akhir:integer;
begin
write('Masukkan awal himpunan
A:');readln(awal);
write('Masukkan akhir himpunan A:');readln(akhir);
if awal<= akhir then A:=[awal..akhir];
write('Masukkan awal himpunan
B:');readln(awal);
write('Masukkan akhir himpunan B:');readln(akhir);
if awal<=akhir then B:=[awal..akhir];
if A<=B then writeln('A bagian dari B');
if A>=B then writeln('B bagian dari A');
if A=B then writeln('A sama dengan B');
if A<>B then writeln('A tidak sama dengan B');
end.
Latihan
1. Buatlah program yang menggunakan operasi
gabungan, interseksi, dan set defference
himpunan
2. Buatlah program untuk mengklasifikasikan
macam-macam bentuk bidang datar. (Petunjuk : macam bidang datar adalah : segi
empat, segitiga, lingkaran, dll )
3. Buatlah program untuk mengklasifikasikan
warna dengan menggunakan kode warna!!
-End-
MODUL 11
TIPE DATA ARRAY
Tujuan
Mahasiswa dapat
memahami konsep data jenis array
Mahasiswa dapat mengimplementasikan
kedalam program data jenis array
Dasar Teori
1.
Array adalah jenis data terstruktur yang terdiri
sejumlah komponen yang mempunyai jenis sama. Suatu array dalam pascal mempunyai
sifat statis yaitu jumlah elemennya tetap. Secara matematis suatu array
dinyatakan dengan bilangan berindeks sbb :
a1,
a2,a3,a4,a5,…….,an
2.
Untuk membuat data jenis array dapat digunakan
deklarasi array pada statemen type atau var, sbb :
Type nama = array[tipe_indeks] of
tipe_data
Atau
Var nama: array[tipe_indeks] of
tipe_data
Nama =
menyatakan tipe data yang dibuat atau nama variable yang dibuat
Tipe_indeks = menyatakan indeks atau type indeks yang akan
digunakan pada array. Tipe_indeks
selalu digunakan jenis data subrange scalar atau tipe enumerated. Jadi jenis
data untuk indeks ini dapat berjenis char, integer, atau Boolean.
Tipe_data= menyatakan tipe data yang akan
disimpan dalam array, dapat berupa data bertipe standar atau jenis data yang
didefinisikan sendiri pada statemen type.
3. Jika deklarasi array hanya mempunyai satu
indeks maka akan diperoleh array satu dimensi (dalam baris). Jika deklarasi
array mempunyai dua indeks maka disebut array dimensi dua (dalam bidang) dan
seterusnya.
4. Deklarasi array berdimensi dua dapat
dilakukan dengan sebagai berikut :
Nama_array=array[tipe_indek1,tipe_indek2] of tipe_data
5.
Untuk mengalamati array (mengakses) dapat dilakukan
dengan menuliskan nama variable dengan diikuti indek dalam kurung tegak.
Nama_variabel[indek]
Materi
1. Buatlah program berikut dan perhatikan
cara pengisisna dan pencetakan variabel dengan jeni array.
uses wincrt;
var x:array[1..10] of integer;
i:integer;
begin
{Proses mengisi X}
for
i:=1 to 10 do
begin
x[i]:=i*i;
end;
{Proses menampilkan}
for
i:=1 to 10 do
begin
writeln('Isi variabel x ke ',i,'
adalah :',x[i])
end;
end.
2. Ketiklah program berikut dan analisa
kerjanya.
uses wincrt;
type jenis_matriks=array[1..7,1..5] of integer;
var
y,x:jenis_matriks;
i,j:integer;
begin
{Proses mengisi X dan Y }
for
i:=1 to 7 do
begin
for j:=1 to 5 do
begin
x[i,j]:=i*i;
Y[i,j]:=i+2;
end;
end;
{Proses menampilkan}
for
i:=1 to 7 do
begin
for j:=1 to 5 do
begin
writeln('X[',i,',',j,']
= ',x[i,j])
end;
end;
for
i:=1 to 7 do
begin
for j:=1 to 5 do
begin
write('Y[',i,',',j,'] = ',Y[i,j])
end;
writeln;
end;
end.
3. Perhatikan operasi antara dua variebal
jenis matriks berikut !
uses wincrt;
type jenis_matriks=array[1..4,1..4] of integer;
var
A,B:jenis_matriks;
i,j:integer;
begin
{Proses mengisi B }
for
i:=1 to 4 do
begin
for j:=1 to 4 do
begin
write('B[',i,',',j,']=');readln(B[i,j]);
end;
end;
{Proses menambah elemen2 B dengan 2 dimasukkan ke A}
for
i:=1 to 4 do
begin
for j:=1 to 4 do
begin
A[i,j]:=B[i,j]+2;
end;
end;
{menampilkan B}
writeln('Matriks B nya adalah =');
for i:=1
to 4 do
begin
for j:=1 to 4 do
begin
write(B[i,j]);write(' ');
end;
writeln;
end;
{Proses menampilkan A}
writeln('Matriks A nya adalah
=');
for i:=1
to 4 do
begin
for j:=1 to 4 do
begin
write(A[i,j]);write(' ');
end;
writeln;
end;
end.
Latihan
- Buatlah program untuk menjumlahkan dua matriks dengan ukuran tertentu yang bisa dimasukkan saat runing program. (Petunjuk: c(h,j)=a(h,j)+b(h,j))
- Buatlah program untuk mengalikan dua matriks dengan
kemampuan mengecek apakah matriks dapat dikalikan atau tidak. (Petunjuk : Dua matriks dapat
dikalikan jika kolom matriks pertama sama dengan baris matriks yang kedua.
Rumus : C(i,j)=åA(i,k)B(k,j) untuk semua harga k.
- Buatlah
program konversi bilangan dssimal ke bilangan heksadesimal,oktal dan
biner. (Petunjuk: gunakan prosedur umum dengan menggunakan konstanta
array)
-End-
MODUL 12
TIPE DATA RECORD
Tujuan
Mahasiswa dapat
memahami jenis data record
Mahasiswa dapat
mengimplementasikan kedalam program
Dasar
Teori
1. Data record adalah data yang merupakan
kumpulan field dengan tipe yang dapat berbeda-beda. Banyaknya recor dalam suatu
data record ada yang tetap tetapi juga ada yang tidak tetap. Dengan demikian
data record dapat menyimpan jenis data dengan tipe yang berbeda-beda.
2.
Untuk membuat data jenis record digunakan statemen sbb:
Type pengenal = record
Field1:tipe1;
Field2:tipe2;
Field3:tipe3;
……….
Fieldn:tipen;
End;
Pengenal = menyatakan nama
tipe record yang dideklarasikan
Field1…fieldn = menyatakan
nama-nama field yang digunakan untuk menyimpan data.
Tipe1….tipen = menyatakan tipe
data yang akan disimpan dalam field yang bersangkutan. Tipe ini dapat berupa
jenis record maupun jenis array.
3. Untuk mengakses field dari data jenis
record dilakukan dengan menuliskan nama variabel diikuti nama field dengan
dirangka tanda titik (.).
Nama_variabel.namafield
4. Selain bentuk dasar tersebut, type data
record dapat dibuat dengan struktur field bervariasi. Jenis ini biasa disebut
dengan varian record, dengan bentuk umum :
Type pengenal = record
Field1:tipe1;
Field2:tipe2;
Field3:tipe3;
……….
Fieldn:tipen;
Case tag : tipe_tag of
Label1:
(field:tipe;
…………
field :tipe);
label2 :
(field : tipe;
…………
field : tipe);
End;
Tag = pemilih kasus
Tipe_tag = tipe data pemilih kasus
Label1,label2,...... = nama label yang menunjukkan kasus yang dipilih
Materi
1.
Ketik program berikut dan perhatikan deklarasi record nya.
uses wincrt;
type tipe_mhs=record
nama:string[20];
jurusan:string[15];
IPK:real;
end;
var mahasiswa:tipe_mhs;
i:integer;
begin
{Mengisis data record sebanyak 5 dan menampilkan}
for i:=1 to 5 do
begin
write('Masukkan Nama
:');readln(mahasiswa.nama);
write('
Jurusan:');readln(mahasiswa.jurusan);
write(' IPK
:');readln(mahasiswa.ipk);
writeln('---------------------------------');
writeln('Nama Mahasiswa
:',mahasiswa.nama);
writeln(' Jurusan :',mahasiswa.jurusan);
writeln(' IP Komulatif
:',mahasiswa.IPK);
writeln('----------------------------------');
end;
end.
2. Perhatikan program berikut dan analisa
cara deklarasinya.
uses wincrt;
type tipe_buku=record
judul:string[20];
pengarang:string[15];
penerbit:string[20];
jumlah:integer;
end;
var
data_buku:array[1..5] of tipe_buku;
i:integer;
begin
{Mengisis data record sebanyak 5 }
for i:=1 to 5 do
begin
writeln('---------------------------------');
writeln(' Data ke :',i);
write('Masukkan Judul Nuku
:');readln(data_buku[i].judul);
write(' Pengarang :');
readln(data_buku[i].pengarang);
write('
Penerbit :');
readln(data_buku[i].penerbit);
write(' Jumlah :');readln(data_buku[i].jumlah);
writeln('----------------------------------');
end;
{Mengisis data record sebanyak 5 }
for i:=1 to 5 do
begin
writeln('---------------------------------');
writeln(' Isi
Data ke :',i);
writeln(' Judul Nuku :',data_buku[i].judul);
writeln(' Pengarang :',data_buku[i].pengarang);
writeln(' Penerbit :',data_buku[i].penerbit);
writeln(' Jumlah :',data_buku[i].jumlah);
writeln('----------------------------------');
end;
end.
3. Perhatikan program berikut dan cobalah !
uses wincrt;
type tanggal=record
tg:1..31;
bl:1..12;
th:1900..2020;
end;
jenis1=record
nama:string[20];
alamat:string[30];
tgl_lahir:tanggal;
end;
var mhs:jenis1;
i:integer;
begin
for i:=1 to 5 do
begin
write
('Masukkan Nama
:');readln(mhs.nama);
write
(' Alamat :');readln(mhs.alamat);
writeln(' Tanggal Lahirnya');
write
(' Tanggal :');readln(mhs.tgl_lahir.tg);
write
(' Bulan :');readln(mhs.tgl_lahir.bl);
write
(' Tahun :');readln(mhs.tgl_lahir.th);
writeln('========================================');
writeln('Nama :',mhs.nama);
writeln('Alamat :',mhs.alamat);
writeln('Tanggal Lahir
:',mhs.tgl_lahir.tg,'/',mhs.tgl_lahir.bl,'/',mhs.tgl_lahir.th);
writeln('========================================');
end;
end.
Latihan
- Buatlah
program untuk merekam data pegawai yang mempunyai identitas :
Nama, Alamat, Pangkat, Golongan, Gaji
Pokok. Program berjalan dengan jumlah data sesuai dengan keinginan pengguna.
(Petunjuk: gunakan array untuk menentukan maksimal data yang akan ditampung).
- Buatlah
program untuk memasukkan data yang memuat data dengan jenis record yang
bertingkat!
- Buatlah
program untuk menyimpan data kedalam array dengan data berjenis varian
record, kemudian dicetak!!
-End-
MODUL 13
TIPE DATA FILE/BERKAS
Tujuan
Mahasiswa dapat
memahami jenis data file
Mahasiswa dapat
membuat serta menggunakan data jenis file dalam program
Dasar Teori
1. Tipe data file adalah jenis data
yang dapat disimpan kedalam media simpan sekunder
2. Di dalam pascal dikenal tiga macam
data file yaitu : File bertipe, file tidak bertipe, dan file text. Untuk bekerja dengan file-file tersebut
dilakukan langkah-langkah inisialisasi, buka, modifikasi, tutup.
3. Variabel yang digunakan untuk menyimpan
nama file bertipe dideklarasikan dengan perintah :
Type <Nama_type> = file of
<tipe_data>
Var <nama_var >:<nama_type>
Atau
Var <nama_var>:file of <tipe_data>
4. Variabel yang digunakan untuk menyimpan
nama file tidak bertipe dideklarasikan dengan perintah :
Var <nama_var>:file
5. Variabel yang digunakan untuk menyimpan
nama file teks dideklarasikan dengan perintah :
Var <nama_var>:text
6. Untuk memproses file bertipe dapat
dilakukan dengan tahapan-tahapan sebagai berikut :
f
Nyatakan
nama file kedalam suatu nama variabel dengan perintah
Assign(nama_var_file,str_nama_file)
f
Buatlah
file baru dengan perintah Rewrite(nama_var_file), atau
buka file yang sudah ada dengan perintah Reset(nama_var_file).
f
Tambahkan
isi file dengan perintah write(nama_var_file,nama_var_data),
baca isi file dengan perintah read(nama_var_file,nama_var_data).
f
Tutup
file jika telah selesai menggunakan dengan perintah
Close(nama_var_file).
7.
Untuk memproses file tidak bertipe dapat dilakukan
dengan tahapan-tahapan sebagai berikut :
f
Nyatakan
nama file kedalam suatu nama variabel dengan perintah
Assign(nama_var_file,str_nama_file)
f
Buatlah
file baru dengan perintah Rewrite(nama_var_file,n), atau
buka file yang sudah ada dengan perintah Reset(nama_var_file,n).
f
Modifikasi
isi file dengan perintah baca dan tulis sebagai berikut :
BlockWrite(nama_var_file,buffer,size)
BlockRead(nama_var_file,buffer,size)
f
Tutup
file jika telah selesai menggunakan dengan perintah
Close(nama_var_file).
8.
Untuk memproses file text dapat dilakukan dengan
tahapan-tahapan sebagai berikut :
f
Nyatakan
nama file kedalam suatu nama variabel dengan perintah
Assign(nama_var_file,str_nama_file)
f
Buatlah
file baru dengan perintah Rewrite(nama_var_file,n), atau
buka file yang sudah ada dengan perintah Reset(nama_var_file,n).
f
Modifikasi
isi file dengan perintah baca dan tulis sebagai berikut :
Write(nama_var_file,text)
WriteLn(nama_var_file,text)
Read(nama_var_file,text)
ReadLn(nama_var_file,text)
f
Tutup
file jika telah selesai menggunakan dengan perintah
Close(nama_var_file).
9. Fungsi-fungsi dan prosedur-prosedur
pendukung operasi file diantaranya :
f
Assign(Var,String) – prosedur yang
berguna untuk mengasosiasikan suatu nama file external dengan suatu variabel
file.
Var = variabel file bertipe sembarang
String = Nama file bertipe string
Catatan : tidak dapat digunakan untuk file
yang telah dibuka
f
Reset(Var) – prosedur yang
berguna untuk membuka file yang telah ada
Var = Variabel file yang telah di assign
Catatan : File harus telah dibuat
sebelumnya. Jika file dalam kedaan terbuka maka akan ditutup dahulu kemudian
dibuka lagi. Jika filenya berjenis teks maka hanya akan dapat dibaca saja.
f
Rewrite(Var) – prosedur untuk
membuat file baru kemudian membukanya.
Var = variabel file yang telah di assign
sebelumnya
Catatan: Jika nama file yang diberikan
telah ada maka file tersebut akan dihapus kemudian dibuat yang baru. Jika
file teks maka setelah prosedur ini bersifat read only (hanya dapat dibaca).
f
Append(F) – prosedur yang berguna membuka file teks untuk penambahan data.
F = Variabel file teks yang akan ditambah
datanya.
f
Read(Var,Var1) dan ReadLn(Var,Var1) –
prosedur untuk membaca isi file
Var = Variabel file yang telah di assign
sebelumnya
Var1 = Variabel untuk menampung hasil
pembacaan
Catatan: ReadLn digunakan untuk file teks
f
Write(Var,Param) dan WriteLn(Var,Param) –
prosedur yang berguna untuk menulis kedalam file
Var = Variabel file yang telah di assign
sebelumnya
Var1 = Variabel untuk menampung data yang
akan dituliskan
Catatan: Writeln digunakan untuk file teks
f
BlockRead(F,Buff,Count) dan BlockWrite(F,Buff,Count) – prosedur untuk menulis dan membaca isi file tak bertipe.
F
= Variabel file tak bertipe
Buff
= buffer untuk menampung data yang dibaca atau akan ditulis kedalam file.
Count
= Besar pembacaan atau penulisan
f
Seek(F,Pos)
– prosedur untuk menggerakkan penunjuk file ke posisi tertentu dalam file
F
= Variabel file
Pos
= posisi yang dikehendaki
f
FilePos(F):LongInt – fungsi yang
mengembalikan posisi penunjuk file
F
= Variabel file
f
FileSize(F):LongInt – fungsi yang mengembalikan ukuran file
F
= Variabel file
f
Eof(F):Boolean – fungsi yang mengembalikan status end of file
F
= Variabel file
f
Eoln(F):Boolean – fungsi yang mengembalikan status apakah end of line
dalam file text.
F
= Variabel file text
f
Erase(Var) – prosedur untuk menghapus file
Var = Variabel file yang akan
dihapus
f
Close(Var) – prosedur untuk menutup file
Var = Variabel file yang telah di assign
sebelumnya
Materi
1. Ketikan program berikut kemudian
modifikasi seperlunya untuk percobaan.
uses
wincrt;
type
TMahasiswa=record
Nama:string[25];
NIM:string[4];
Progdi:(Ilkom,
MI);
end;
TmhsFile= file of TMahasiswa;
var
Mhs:TMahasiswa;
MhsFile:TmhsFile;
begin
clrscr;
Assign(MhsFile,'Mhs.dat');
rewrite(MhsFile);
Mhs.Nama:='Vera Indrayati';
Mhs.NIM :='2001' ;
Mhs.Progdi:=Ilkom;
write(MhsFile,Mhs);
Reset(MhsFile);
Read(MhsFile,Mhs);
Writeln('Mahasiswa yang telah tersimpan
adalah :');
writeln('Nama :',Mhs.Nama);
writeln('N I M
:',Mhs.NIM);
Write('Progdi
:');
if mhs.Progdi
=Ilkom then writeln('Ilmu Komputer')
else
writeln('Manajemen Informatika');
close(MhsFile);
Erase(MhsFile);
repeat until keypressed;
end.
2. Cobalah program berikut ini
uses wincrt;
type TMahasiswa=record
Nama:string[25];
NIM:string[4];
Progdi:(Ilkom,
MI);
end;
TmhsFile= file
of TMahasiswa;
var Mhs:TMahasiswa;
num:byte;
F:file;
begin
clrscr;
randomize;
Assign(F,'Mhs.dat');
rewrite(F,1);
Mhs.Nama:='Vera
Indrayati';
Mhs.NIM
:='2001' ;
Mhs.Progdi:=Ilkom;
num:=random(256);
Blockwrite(F,Mhs,sizeof(TMahasiswa));
BlockWrite(F,Num,1);
Reset(F,1);
BlockRead(F,Mhs,sizeof(TMahasiswa));
BlockRead(F,Num,1);
Writeln('Mahasiswa yang telah tersimpan
adalah :');
writeln('Nama :',Mhs.Nama);
writeln('N I M
:',Mhs.NIM);
Write('Progdi
:');
if mhs.Progdi
=Ilkom then writeln('Ilmu Komputer')
else
writeln('Manajemen Informatika');
writeln('dan
Bilangan random ',num);
close(F);
Erase(F);
repeat until keypressed;
end.
3. Modifikasi program berikut setelah selesai
di run !
uses wincrt;
uses wincrt;
type tmahasiswa=record
nama:string[25];
nim:string[4];
progdi:(ilkom, mi);
end;
tmhsfile= file of tmahasiswa;
var
mhs:tmahasiswa;
num:byte;
f:text;
baris:string;
dec:real;
begin
clrscr;
randomize;
assign(f,'mhs.txt');
rewrite(f);
mhs.nama:='vera indrayati';
mhs.nim :='2001' ;
mhs.progdi:=ilkom;
num:=random(256);
writeln(f,'1. data mahasiswa :');
writeln(f,'nama :',mhs.nama);
writeln(f,'n i m :',mhs.nim);
write(f,'progdi :');
if
mhs.progdi=ilkom then writeln(f,'ilmu komputer')
else writeln(f,'manajemen
informatika');
write(f,'2.
data acak bertipe byte :');writeln(f,num);
reset(f);
writeln('data yang telah disimpan adalah :');
while not eof(f) do
begin
readln(f,baris);
writeln(baris);
end;
append(f);
mhs.nama:='elvi
yuniar';
mhs.nim:='2004';
mhs.progdi:=mi;
dec:=random;
writeln(f,'3. data mahasiswa :');
writeln(f,'nama :',mhs.nama);
writeln(f,'n i m :',mhs.nim);
write(f,'progdi :');
if
mhs.progdi=ilkom then writeln(f,'ilmu komputer')
else
writeln(f,'manajemen informatika');
write(f,'4.
data acak bertipe real :');writeln(f,dec:4:2);
reset(f);
writeln('data yang telah prosedur append dipanggil adalah :');
while not eof(f) do
begin
readln(f,baris);
writeln(baris);
end;
close(f);
erase(f);
repeat until keypressed;
end.
Latihan
1. Buatlah suatu program untuk mengelola data
buku bertipe record dengan field : Judul, Kode, Penerbit, Tanggal Masuk kedalam
file eksternal.
2. Buatlah file teks untuk menyimpan data
pada nomer 1
3. Buatlah program untuk menyimpan sembarang
teks yang dimasukkan dari keyboard kedalam file eksternal. Teks tersebut berisi
komentar.
4. Implementasikan prosedur menyimpan,
membaca sembarang data dari file tak bertipe.
-End-
MODUL 14
TIPE DATA POINTER
Tujuan
1.
Mahasiswa dapat memahami data jenis pointer
2.
Mahasiswa dapat membuat data jenis pointer dan
mengimplementasikan dalam program
Dasar
Teori
- Data
pointer adalah suatu jenis data yang menyimpan alamat di memori. Jenis
data ini biasa digambar dengan anak panah dan kotak. Didalam kotak
menyatakan isi dari variebel.
|
- Untuk
mendeklarasikan variabel bentuk ini digunakan perintah :
<nama_var>:^<tipe_data>
atau jika pointer
tak bertipe dapat digunakan
<nama_var>:pointer
- Setiap
data pointer dapat menunjuk data-data jenis standar, terstruktur, atau
pointer lain.
- Setiap
data pointer dapat diisi dengan nilai yang berasal dari : NIL, operator @,
fungsi ptr, prosedur New dan GetMem, atau pointer yang lain.
- Dengan
menggunakan data jenis record dan pointer dapat disusun suatu rangkaian
data yang disebut linklist. Data yang berikut menunjuk alamat data
sebelumnya.
Materi
1.
Coba program berikut dengan terlebih dahulu melengkapinya.
var p,q,r,s:^string;
nilai:string
begin
nilai:=’ini
string nilai !!!’;
p:=@nilai;
new(q);
q^:=’ini
isi pointer q !!!’;
r:=q
{r menunjuk ke alamat yang ditunjuk q}
s^:=q^;
writeln(’alamat
pointer p =’,seg(p^):4,’:’,ofs(p^):4,’; isi pointer p =’,p^);
writeln(’alamat
pointer q =’,seg(q^):4,’:’,ofs(q^):4,’; isi pointer q =’,q^);
writeln(’alamat
pointer r =’,seg(r^):4,’:’,ofs(r^):4,’; isi pointer r =’,r^);
writeln(’alamat
pointer s =’,seg(s^):4,’:’,ofs(s^):4,’; isi pointer s =’,s^);
end.
2. Coba program berikut kemudian pahami
strukturnya.
var p:pointer;
q:^byte;
r:array[0..19]
of byte;
i:byte;
begin
getmem(p,20);
q:=p;
for
i:=0 to 19 do
begin
r[i]:=19-i;
q^:=19-i;
inc(q);
end;
q:=p;
for
i:=0 to 19 do
begin
write(’r[’,i,’]=’,r[i],’;’);
writeln(’p^ ke –’,i,’=’,q^);
inc(q);
end;
end.
Latihan
1. Buatlah program untuk mengimplementasikan
data jenis record dengan suatu pointer.
2. Buatlah program yang melibatkan data jenis
pointer dengan data array.
3. Buatlah program dengan struktur data
sebagai berikut :
Data:record;
Nama:string[10];
Berikut:pointer;
End;
4. Buatlah program untuk mengisi data pada no
3 diatas sehingga terbentuk suatu linklist .
-End-
MODUL 15
UNIT
Tujuan
1. Mahasiswa dapat memahami apa yang disebut
unit dalam pascal
2. Mahasiswa dapat mengimplementasikan dalam
program
3. Mahasiswa dapat membuat suatu pustaka
sendiri
Dasar Teori
1.
Unit adalah kumpulan/pustaka dari komponen-komponen
program
2.
Untuk menggunakan unit harus dinyatakan dalam klausa
uses
3.
Setiap unit terdiri dari bagian-bagian yaitu :
a.
Kepala unit, yaitu bagian yang menentukan nama unit
yang dibatasi sebanyak delapan carakter. Nama file yang digunakan harus sama
dengan nama unitnya.
b.
Bagian Interface, berisi perintah-perintah
pendeklarasian variable, konstanta, fungsi dan lain sebagainya yang diperlukan
dalam pendefinisian unit. Bagian ini diawali dengan kata inteface
c.
Bagian Implementation, bagian ini berisi tubuh dari
sebua prosedur mupun fungsi yang dideklarasikan dalam interface.
d.
Bagian Initialization, merupakan bagian akhir darai
unit.
4.
Struktur unit adalah sebagai berikut :
Unit <nama_unit>
Interface
{bagian interface}
implementation
{bagian implementasi}
begin
{bagian inisialisasi}
end.
5.
Unit-unit bawaan pascal diantaranya :wincrt, windos,
system, dan lain-lain.
Materi
Buatlah contoh unit berikut ini :
Unit balok;
Interface
Type
Tbalok=record;
Panjang, lebar, tinggi:byte;
End;
Procedure buatbalok(var b:tbalok;p,l,t:byte);
Function luasbalok(b:tbalok):word;
Function isibalok(b:tbalok):word;
Implementation
Procedure buatbalok
Begin
With b
do begin
Panjang:=p;
Lebar:=l;
Tinggi:=t;
End;
End;
Function luasbalok;
Begin
With b
do luasbalok:=2*panjang*lebar+2*panjang*tinggi+2*lebar*tinggi;
End;
Function isibalok;
Begin
With b
do isibalok:=panjang*lebar*tinggi;
End;
Latihan
- Buatlah unit untuk menangani bilngan kompleks, yang memuat :
q Pendeklarasian
type data bilngan kompleks
q Opersi
jumlahan, pengurangan, perkalian, pembagian
q Fungsi
untuk mengambil komponen imajiner dan realnya
q Fungsi
untuk mengambil modulusnya
- Buatlah unit untuk menangani opersi matriks orde nxm, yang memuat :
q Pendeklrasian
tipe data matriks
q Pencarian
determinan
q Opersi
jumlahan, pengurangan, perkalian, transpose
q Opersi
elementer matriks
q Fungsi
mengambil elemen tertentu.
-End-
MODUL 16
PENGURUTAN
Tujuan
Dasar Teori
Materi
Latihan
-End-
mb, mbok di kasih jawaban nya jg buat yg materi n latian nya
BalasHapusmb, mbok jawaban nya sekalian, bngung ini
BalasHapus