modul pascal dasar

32
MODUL PRAKTIKUM PEMROGRAMAN KOMPUTER DASAR DENGAN PASCAL Disusun Oleh : Muhtadan Budi Suhendro Bhumy Adhidharma JURUSAN TEKNOFISIKA NUKLIR SEKOLAH TINGGI TEKNOLOGI NUKLIR BADAN TENAGA NUKLIR NASIONAL 2009 Rev. 0.0

Upload: rifai-el-jufri

Post on 13-Dec-2014

205 views

Category:

Documents


1 download

DESCRIPTION

mateeri pascal

TRANSCRIPT

Page 1: Modul Pascal Dasar

MODUL PRAKTIKUM PEMROGRAMAN KOMPUTER DASAR

DENGAN PASCAL

Disusun Oleh : Muhtadan

Budi Suhendro Bhumy Adhidharma

JURUSAN TEKNOFISIKA NUKLIR SEKOLAH TINGGI TEKNOLOGI NUKLIR

BADAN TENAGA NUKLIR NASIONAL 2009

Rev. 0.0

Page 2: Modul Pascal Dasar

DAFTAR ISI

DAFTAR ISI ....................................................................................................................................................... 1

MODUL 1 PENDAHULUAN............................................................................................................................ 3

MODUL 2 MULAI DENGAN TURBO PASCAL............................................................................................ 6

MODUL 3 ELEMEN DASAR PEMROGRAMAN PASCAL ........................................................................ 10

MODUL 4 SEKUENSIAL ............................................................................................................................... 15

MODUL 5 PENCABANGAN IF-THEN ......................................................................................................... 17

MODUL 6 PENCABANGAN CASE-OF........................................................................................................ 20

MODUL 7 PERULANGAN FOR-TO-DO DAN FOR-DOWNTO-DO.......................................................... 22

MODUL 8 PERULANGAN WHILE-DO........................................................................................................ 24

MODUL 9 PROSEDUR DAN FUNGSI DALAM TURBO PASCAL ............................................................ 26

MODUL 10 VARIABEL BERINDEKS ........................................................................................................... 29

Page 3: Modul Pascal Dasar

MODUL 1 PENDAHULUAN

A. TUJUAN :

a. Mampu memahami konsep pemrograman terstruktur. b. Mampu membaca dan menulis struktur bagan alir. c. Mampu mengimplementasikan proses persoalan umum menjadi bagan alir. d. Mencoba membuat bagan alir dari persoalan matematika dan statistika.

B. DASARTEORI : 1. Pemrograman terstruktur merupakan suatu tindakan untuk

mengorganisasikan dan membuat kode-kode program supaya mudah untuk dimengerti, mudah di tes dan mudah dimodifikasi

2. Teknik pemrograman terstruktur bertujuan untuk meningkatkan kehandalan program, supaya program mudah dibaca dan ditelusuri, menyederhanakan kerumitan program, menyederhanakan pemeliharaan program dan meningkatkan produktivitas pemrogram.

3. Beberapa struktur dasar yang digunakan dalam pemrogram terstruktur diantaranya pemrograman modular, pemrograman top-down serta struktur pemrograman.

C. PERCOBAAN :

1. Bagan Alir Pemrograman Modular. • Dalam pemrograman modular, program dipecah-pecah ke dalam modul-

modul dimana setiap modul menunjukkan fungsi dan tugas tunggal. • Setiap program mempunyai sebuah modul program utama yang mengontrol

semua proses yang terjadi, termasuk mengirimkan kontrol program ke sub-modul untuk melakukan suatu fungsi tertentu.

• Adapun pengiriman kontrol program ke atau dari sub modul adalah :

Modul Utama Sub Modul A

2. Bagan Alir Pemrograman Top-Down. • Dalam pemrograman Top-Down yang perlu didefinisikan adalah modul

utama, yaitu modul yang pertama kali dijalankan, selain modul yang mengakhiri program.

• Secara umum, dalam sebuah program yang lengkap akan terdiri dari modul utama, sub modul memasukkan data, sub modul proses data, sub modul buat tabel, sub modul proses hitung data dan sub modul proeses cetak tabel yang bagan alirnya tergambar sebagai berikut:

……….. ……….. Call Sub A ………… …………

Sub ……….. ………… ………… Return

Page 4: Modul Pascal Dasar

3. Bagan Alir Pemrograman Struktur Berurutan. • Dalam struktur berurutan, perintah/pemyataan dijalankan dalam suatu urutan

yang telah ditentukan, yang penting hams ada sebuah cara masuk dan ada sebuah cara keluar.

• Pemrograman dengan struktur berurutan inilah yang menjadi dasar dari semua pemrograman. Adapun bagan struktur berurutan dapat dilihat pada gambar berikut.

4. Bagan Alir Pemrograman Struktur Seleksi. • Dalam struktur seleksi ini suatu proses pengambilan keputusan "ya" atau

"tidak", sehingga pemrogram hams mampu membaca kondisi yang dimaksudkan.

• Dalam struktur seleksi ini dua macamjenisnya, yaitu IF-THEN-ELSE dan CASE Selection. Adapun bagan alirnya secara umum dapat dilihat seperti gambar berikut

00 Modul utama

10 Sub Modul

Memasukkan data

20 Sub modul

Proses Data

30 Sub Modul cetak tabel

40 Sub Modul

Proses hitung data

50 Sub Modul

proses buat tabel

Proses 1

Proses lanjut

Page 5: Modul Pascal Dasar

5. Bagan Alir Pemrograman Struktur Perulangan.

• Struktur perulangan diperlukan untuk menyusun pernyataan yang harus diulang sampai pada suatu keadaan yang diberikan terpenuhi. Jika kondisi belum terpenuhi maka perulangan akan terus dilakukan. Jadijika perulangan hanya dilakukan satu kali saja, maka prosesnya sama dengan proses seleksi.

• Dalam perulangan ini ada 3 macamjenis perulangan, yaitu FOR-NEXT, DO-WHILE dan REPEAT-UNTIL. Adapun bagan alirnya secara umum dapat dilihat seperti gambar berikut:

D. TUGAS :

1. Buatlah bagan alir dari kasus penyelesaian persamaan kwadrat dengan mmus ABC. 2. Buatlah bagan alir dari persoalan menghitung rata-rata.

DAFTAR PUSTAKA. 1. FX. Sutiono Gunadi Dkk, ”Belajar Sendiri Turbo Pascal", PT Elex Media Komputindo

Jakarta, 1990. 2. Abdul Kadir, ” Pemrograman Turbo Pascal untuk IBM PC Menggunakan versi 5.0 dan

5.5 “, PT Elex Media Komputindo, Jakarta, 1990 3. Eko Nugroho, "Pemrograman Terstruktur dengan Pascal", Andi Offset Yogyakarta,

1996.

Page 6: Modul Pascal Dasar

MODUL 2 MULAI DENGAN TURBO PASCAL

A. TUJUAN : a. Membuka tampilan awal bekerja dengan turbo pascal b. Mampu menuliskan program pascal pada editor berbasis windows c. Mampu membuka/menampilkan program pascal yang telah ditulis d. Mampu mengeksekusi program dan memperbaiki program yang salah

B. DASARTEORI :

1. Program turbo pascal yang bekerja dengan istem operasi berbasis windows akan memudahkan dalam pengeditan, misal Turbo Pascal 1.5

2. Pembacaan menu hampir sama dengan turbo pascal yang bebasis DOS. C. PERCOBAAN :

1. Klik icon shortcut Turbo Pascal atau dari menu Program pilih TPW 1.5 2. Akan terbuka menu windows Turbo Pascal sbb :

Gambar 2.1 Menu Utama Turbo Pascal 1.5

3. Pada menu File terdapat sub menu New, Open, Save, Save As, Save all, Print, Print Setup dan Exit

Gambar 2.2 Menu Editor TP1.5

4. Dari layar editor TPW1.5 tersebut, dapat ditulis program bahasa pascal (lihat gambar). Program tersebut secara default jika disimpan akan diletakkan di Direktori C:/tpw

Page 7: Modul Pascal Dasar

Gambar 2.3 Menulis program pada menu editor TP

Gambar 2.4 Menu save as di TP

5. Simpan file dengan nama Latih1.pas 6. Setelah program ditulis, maka program tersebut perlu dikompilasi agar dapat dijalankan.

Untuk kompilasi gunakan menu Compile lalu pilih Compile, maka akan muncul hasil kompilasi sbb : a. Kompilasi program yang benar

Gb. 2.5 Kompilasi jika program benar

Page 8: Modul Pascal Dasar

b. Kompilasi jika program terdapat kesalahan

Gb. 2.6 Kompilasi jika terdapat kesalahan

7. Setelah program diperbaiki maka program dapat di jalankan (run) dengan memilih menu

Run, kemudian pilih sub menu run, maka hasil eksekusinya sebagai berikut :

8. Setelah selesai, maka untuk keluar dari Turbo Pascal 1.5 gunakan menu File dan pilih

exit, atau langsung klik tombol X di sebelah kanan atas window TPW1.5. Latihan :

1. Tulis program berikut : program latih1; uses wincrt; var nama:string; begin write('Program Pascal-ku '); writeln('**Ini Program Pascal-ku**'); writeln ('Isikan nama Anda '); read (nama); writeln; writeln('Selamat Belajar Pascal ',nama); end.

Page 9: Modul Pascal Dasar

2. Cobalah buat program berikut : program latih1b; uses wincrt; var x,y:real; begin write('nilai x = '); Readln(x); y:= exp(2*ln(x))+(2*x)-1; writeln(' y= x^2 + 2x -1 '); writeln(' y=',y:2); end.

3. Buatlah program sembarang dengan contoh diatas. 4. Lampirkan dalam laporan program-program 1-3 diatas dan hasil eksekusinya.

DAFTAR PUSTAKA.

1. FX. Sutiono Gunadi Dkk, ”Belajar Sendiri Turbo Pascal", PT Elex Media Komputindo Jakarta, 1990.

2. Abdul Kadir, ” Pemrograman Turbo Pascal untuk IBM PC Menggunakan versi 5.0 dan 5.5 “, PT Elex Media Komputindo, Jakarta, 1990

3. Eko Nugroho, "Pemrograman Terstruktur dengan Pascal", Andi Offset Yogyakarta, 1996.

Page 10: Modul Pascal Dasar

MODUL 3 ELEMEN DASAR PEMROGRAMAN PASCAL

A. TUJUAN : - Mengenal dan memahami elemen dasar pascal - Mengenal tipe data dan pengolahannya - Mengenal pernyataan masukan dan keluaran Pascal - Mengenal dan memahami bentuk umum susunan program pascal - Membuat program sederhana sebagai dasar pemrograman lanjut.

B. DASAR TEORI :

Elemen dasar bahasa pascal terdiri dari : Simbol dasar, Kata perbendaharaan dan pengenal. Simbol atau karakter dalam pascal atau pemrograman umumnya sebagai berikut :

• Huruf : A sampai Z a sampai z

• Angka : 0 sampai 9 • Angka Hexadesimal : 0-9 dan A sampai F • Spasi (pemisah), dll

Kata Perbendaharaan (tercadang) dalam pascal diantaranya sebgai berikut : ABSOLUTE, AND, ARRAY, BEGIN, CASE, CONST, DIV, DO, DOWNTO, ELSE, AND,

FOR, FUNCTION, GOTO, IF, LABEL, MOD, NOT, OF, OR, PROCEDURE, PROGRAM, REPEAT, STRING, THEN, TO, TYPE, UNIT, UNTIL, USES, VAR, WHILE, WITH, XOR

Setiap kata yang termasuk kata tercadang dalam Pascal jika ditulis dalam Turbo Pascal akan memiliki warna berbeda (cetak tebal).

Pengenal Pengenal (identifier) digunkan untuk memberikan namakonstanta, variabel, tipe data, label, fungsi,

prosedure, program yang dibuat pemrogram. Aturan penulisan pengenal yaitu harus diawali dengan HURUF, selanjutnya bisa berupa huruf, angka, garisbawah( _ ). Pengenal TIDAK BOLEH menggunakan spasi.

Contoh: NilaiTotal Nilai_Total Nilai2 Contoh penulisan pengenal yang salah: Nilai Total (salah karena ada spasi) 3NilaiTotal (Salah karena diawali angka) Nilai-Total (Salah karena menganduk tanda – sebagai operator program) Tipe Data

1. Tipe Bilangan bulat Jenis Jangkauan nilai

shortint -128 ... 127 integer -32767 ... 32767 longint -2147483648 ...2147483647 byte 0 ... 255 word 0 ... 65535

2. Tipe Bilangan Real

Jenis Jangkauan nilai real ±2,9 x 10-39... 1,7 x 1038.

single ±1,5 x 10-45... 3,4 x 1038.

Page 11: Modul Pascal Dasar

double ±5,0 x 10-324... 1,7 x 10308. extended ±5,0 x 10-4951... 1,1 x 104932.

comp -263... 263 – 1

3. Tipe String Tipe data string berupa sederetan karakter yang biasa digunakan untuk memberikan keterangan pada program. Untuk mendeklarasikan tipe ini digunakan syntax string

4. Tipe data karakter Tipe ini mengandung sebuah karakter ASCII yang berupa huruf, angka atau simbol khusus. Untuk mendeklarasikan tipe ini syntax-nya char.

Variabel Variabel merupakan suatu nama yang menyatakan lokasi memori untuk menyimpan

suatu nilai yang nilainya dapat berubah-ubah selama program berjalan (dieksekusi). Suatu variabel harus dideklarasikan terlebih dahulu, yaitu memesan tempat dan menentukan jenis/tipe data yang akan disimpan didalamnya. Pendeklarasian variabel dengan syntax var.

Contoh : Var X, y : byte;

Nilai : real; Operand dan Operator Ungkapan dibentuk oleh operand dan operator, contoh :

Masukan dan Keluaran Pernyataan untuk masukan dalam pascal digunakan READ dan READLN sedang

pernyataan (syntax) keluaran digunakan WRITE dan WRITELN. Struktur Program Program Pascal dikelompokkan menjadi tiga berupa:

1. Kepala program 2. Bagian deklarasi 3. Bagian pernyataan

PROGRAM nama_program; {Blok Deklarasi} ---------------------

USES wincrt; ---------------------

LABEL Nama_label1; Nama_label2;

--------------------- CONST

Nama_konstanta1=nilai konstanta1; Nama_konstanta1=nilai konstanta2;

--------------------- TYPE

A + B operator

operand

Page 12: Modul Pascal Dasar

Nama_tipe=jenis tipe; --------------------

VAR Nama_variabel1 : tipe variabel; Variabel2, variabel3, variabel4 : tipe variabel;

-------------------- PROCEDURE nama_procedure (daftar parameter);

....

.... Begin ....

.... {Blok Prosedure} .... END ------------------

FUNCTION nama_fungsi (daftar parameter):tipe_hasil_fungsi; ... ... BEGIN ... ... {Blok Fungsi} ... END BEGIN {Awal Program Utama} ..................... .................... {Blok Program Utama} ................... END {Akhir Program Utama}

Prosedur dan Fungsi merupakan program bagian dalam satu program Pascal. Satu program Pascal yang kompleks biasanya terdiri dari banyak prosedur dan fungsi. Tiap prosedur dan fungsi mempunyai satu tugas atau pemrosesan data tertentu. Oleh karena itu bahasa pascal disebut bahasa modular karena terdiri dari modul-modul.

Latihan :

5. Tulis program berikut : Program mod3_1; uses WinCrt; var a:integer; b:real; c:string; d:char; begin write('Bilangan Bulat : '); readln(a); write('Bilangan Nyata : '); readln(b); write('Data String : '); readln(c); write('Karakter : '); readln(d); End.

Page 13: Modul Pascal Dasar

6. Buat program berikut : Program mod3_2; uses WinCrt; var a:integer; b,jumlah,hasil,total:real; begin write('Masukkan nilai A : '); readln(a); write('Masukkan nilai B : '); readln(b); jumlah:=a+b; hasil:=jumlah*a; total:=hasil/jumlah; writeln('a+b = ',jumlah); writeln('jumlah*a = ',hasil); writeln('hasil/jumlah = ',total); End.

7. Buat program berikut : Program modul3_4; uses wincrt; var n1 , n2 : string [10] ; c1 ,c2 : char ; a, b : real ; begin clrscr ; {==string==} n1 := ' TURBO';n2 := ' PASCAL' ; Writeln ( ' PENGGABUNGAN STRING ') ; writeln ( ' N1+N2 = ', n1+n2 ) ; writeln; {--REAL==} a := 12345.123 ;b :=23456.234; writeln ( 'OPERASI PENGGABUNGAN ARIEMATIK REAL '); writeln ( 'A+B = ' , a+b ); writeln ( 'A-B = ' , a-b ); writeln ( 'A*B = ' , a*b ); writeln ( 'A/B = ' , a/b ); writeln; {==DENGAN BATAS==} writeln ( 'A+B = ',a+b : 20 : 3); writeln ( 'A-B = ',a-b : 20 : 3); writeln ( 'A*B = ',a*b : 20 : 3); writeln ( 'A/B = ',a/b : 20 : 3); end.

Page 14: Modul Pascal Dasar

8. Buat program berikut : program mod3_3 uses WinCrt; var a,b,c,d:integer; nama,alamat:string[25]; komentar:string[40]; begin write('Nama Siswa : '); Readln(nama); write('Alamat : '); Readln(alamat); write('Nilai Matematika : '); Readln(a); write('Nilai Fisika : '); Readln(b); write('Nilai Kimia : '); Readln(c); write('Nilai English : '); Readln(d); writeln; writeln('Komentar Anda Tentang ',nama,' ?');Readln(komentar); writeln; writeln('Terimakasih'); End.

9. Buatlah program untuk menghitung rumus berikut, dan dieksekusi. a. Y=5a+7 b. X=5a+4b c. W=X/Y d. Z=X*Y

Nilai a dan b adalah masukan.

TUGAS 1. Tampilkan hasil eksekusi tiap-tiap program diatas dalam laporan. 2. Jelaskan maksud dan fungsi dari tiap pernyataan program diatas.

DAFTAR PUSTAKA. 1. FX. Sutiono Gunadi Dkk, ”Belajar Sendiri Turbo Pascal", PT Elex Media Komputindo Jakarta,

1990. 2. Abdul Kadir, ” Pemrograman Turbo Pascal untuk IBM PC Menggunakan versi 5.0 dan 5.5 “,

PT Elex Media Komputindo, Jakarta, 1990 3. Eko Nugroho, "Pemrograman Terstruktur dengan Pascal", Andi Offset Yogyakarta, 1996.

Page 15: Modul Pascal Dasar

MODUL 4 SEKUENSIAL

A. TUJUAN :

- Mengenal dan memahami suatu pemrosesanperintah sesuai dengan urutannya (teknik sekuensial)

- Membuat program dengan teknik sekuensial.

B. DASAR TEORI : Salah satu teknik pemrograman yaitu teknik sekuensial (berurutan), dimana penerapan

struktur berurutan dalam pascal adalah dengan statement majemuk, yaitu suatu urutan statement yang terletak antara BEGIN dan END. Statement yang membentuk statement majemuk dipisahkan dengan tanda titik koma (;).

Latihan :

1. Tulis program berikut : program modul4a; uses WinCrt; Const phi=3.14; var a,t,sisi,r,luas,kel:real; begin writeln(' Perhitungan Keliling, Luas Bidang '); writeln(' ============================================ '); writeln; writeln(' Segitiga Sama Sisi'); write('Alas = ');Readln(a); write('tinggi = ');Readln(t); write('panjang sisi = ');readln(sisi); luas:=1.5*a*t; kel:=3*sisi; writeln; writeln('Luas = ',luas); writeln('keliling = ',kel); writeln; writeln(' Bujursangkar'); write('panjang sisi = ');readln(sisi); luas:=sqr(sisi); kel:=3*sisi; writeln; writeln('Luas = ',luas); writeln('keliling = ',kel); writeln; writeln(' lingkaran'); write('Jari-jari = ');readln(r); luas:=phi*sqr(r); kel:=2*phi*r; writeln; writeln('Luas = ',luas); writeln('keliling = ',kel); writeln; writeln('Terimakasih'); End.

Page 16: Modul Pascal Dasar

2. Buatlah program untuk menghitung rumus-rumus berikut, dan dieksekusi. e. y = x2 +3x – 2 (x sbg input) f. Menghitung volume prisma, kerucut dan tabung (tentukan input outputnya)

g. a

acbx2

42 −=

TUGAS

1. Tampilkan hasil eksekusi tiap program diatas dalam laporan. 2. Jelaskan maksud dan fungsi dari tiap pernyataan program diatas.

DAFTAR PUSTAKA.

1. FX. Sutiono Gunadi Dkk, ”Belajar Sendiri Turbo Pascal", PT Elex Media Komputindo Jakarta, 1990.

2. Abdul Kadir, ” Pemrograman Turbo Pascal untuk IBM PC Menggunakan versi 5.0 dan 5.5 “, PT Elex Media Komputindo, Jakarta, 1990

3. Eko Nugroho, "Pemrograman Terstruktur dengan Pascal", Andi Offset Yogyakarta, 1996.

Page 17: Modul Pascal Dasar

MODUL 5 PENCABANGAN IF-THEN

A. TUJUAN : - Mengenal dan memahami suatu pemrosesan perintah sesuai dengan proses

pengambilan keputusan - Memahami program berkondisi (pencabangan) dengan if-then - Membuat program dengan teknik pencabangan if-then.

B. DASAR TEORI :

Pengambilan keputusan memegang peranan penting dalam teknik pemrograman terstruktur. Untuk melaksanakan pengambilan keputusan dapat digunakan teknik pencabangan, salah satu teknik pencabangan dalam pascal yaitu dengan if-then.

Dalam mengambil keputusan biasanya diperlukan pembandingan data, adapun operator pembanding yang digunakan adalah :

Simbol Arti Simbol Arti

= Sama dengan >= Lebih besar atau sama dengan

<> Tidak sama dengan < Lebih kecil dari

> Lebih besar dari <= Lebih kecil atau sama dengan

Selain itu juga sering digunakan operator boolean not, and, or dan xor:

p not p p q p and q

Salah Benar Salah Salah salah

Benar Salah Salah Benar salah

Benar Salah salah

Benar Benar Benar

p q p or q p q p xor q

Salah Salah Salah Salah Salah Salah

Salah Benar Benar Salah benar Benar

benar Salah Benar Benar Salah Benar

benar Benar benar benar Benar Salah

Latihan :

1. Tulis program berikut : program modul5a; uses WinCrt; Const phi=3.14; var nama,nilai_huruf:string[10]; nilai:integer;

Page 18: Modul Pascal Dasar

begin Write('Masukkan Nama : ');Readln(nama); Write('Masukkan Nilai : ');Readln(nilai); if (nilai>=90) then begin nilai_huruf:='A'; end else if (nilai<90) and (nilai>=80) then begin nilai_huruf:='B'; end else if (nilai<80) and (nilai>=70) then begin nilai_huruf:='C'; end else if (nilai<70) and (nilai>=60) then begin nilai_huruf:='D'; end else begin nilai_huruf:='E'; end; Writeln('Nilai Huruf : ',nilai_huruf); End.

2. Tulis program berikut : program rekening_air; uses wincrt ; label 1; var mk,ml,v,r1,r2,r3,r4,pm,ba,jt,hr1,hr2,hr3,hr4:real; nm,al : string; begin 1: writeln('Menghitung Tagihan Rekening Air '); Writeln; write('Nama : ');readln(nm); write('Alamat : ');readln(al); writeln; write('Meter kini : ');read(mk); write('meter lalu : ');read(ml); if (mk<ml) then begin clrscr; writeln('Anda salah memasukkan nilai meter'); writeln('nilai Meter Lalu lebih besar dari Meter

Kini'); readln; goto 1 ; end; begin v := mk-ml;

Page 19: Modul Pascal Dasar

write('Pemakaian Air : ',v:3:2,' m3'); if v <= 15 then begin r1 := v; r2 := 0; r3 := 0; r4 := 0; end else if (v >=16) and (v <= 30) then begin r1 := 15; r2 := v - 15; r3 := 0; r4 := 0; end else if (v >= 31) and (v<=50) then begin r1 := 15; r2 := 15; r3 := v - 30; r4 := 0; end else begin r1 := 15; r2 := 15; r3 := 20; r4 := v-50; end ; writeln; hr1 := r1*350 ;writeln('Tarif 1 = Rp ',hr1:3:2); hr2 := r2*625 ;writeln('Tarif 2 = Rp ',hr2:3:2); hr3 := r3*925 ;writeln('Tarif 3 = Rp ',hr3:3:2); hr4 := r4*1550;writeln('Tarif 4 = Rp ',hr4:3:2); Write('Pemeliharaan Alat = Rp ');read(pm); write('Biaya Administrasi = Rp ');read(ba); jt := hr1+hr2+hr3+hr4+pm+ba ; writeln; write('Jumlah Tagihan Air = Rp ',jt:3:2); end end.

3. Buatlah program bebas (diutamakan bidang teknik) menggunakan teknik pencabangan if then TUGAS 1. Tampilkan hasil eksekusi program diatas dalam laporan. 2. Jelaskan maksud dan fungsi dari tiap pernyataan program diatas. DAFTAR PUSTAKA. 1. FX. Sutiono Gunadi Dkk, ”Belajar Sendiri Turbo Pascal", PT Elex Media Komputindo Jakarta,

1990. 2. Abdul Kadir, ” Pemrograman Turbo Pascal untuk IBM PC Menggunakan versi 5.0 dan 5.5 “,

PT Elex Media Komputindo, Jakarta, 1990 3. Eko Nugroho, "Pemrograman Terstruktur dengan Pascal", Andi Offset Yogyakarta, 1996.

Page 20: Modul Pascal Dasar

MODUL 6 PENCABANGAN CASE-OF

A. TUJUAN : - Mengenal dan memahami suatu pemrosesan perintah sesuai dengan proses

pengambilan keputusan - Memahami program berkondisi (pencabangan) dengan case of - Mengetahui perbedaan syntax if-then dengan case of - Membuat program dengan teknik pencabangan case-of dan if then.

B. DASAR TEORI :

Dalam Pascal, permasalahan dengan sejumlah alternatif atau pilihan berganda dapat diselesaikan dengan menggunakan pernyataan CASE OF disamping menggunakan if then.

Bentuk umum CASE OF CASE pemilih OF

Daftar_konstanta_1:Pernyataan_1; Daftar_konstanta_2:Pernyataan_2; . . . Daftar_konstanta_n:Pernyataan_n; [ELSE Pernyataan_m]

END;

Latihan : 1. Tulis program berikut :

program modul6a; uses wincrt; var tgl : integer; begin writeln ('Program memeriksa hari dalam bulan Agustus 1999'); write ('Masukkan tanggal '); readln (Tgl) ; case tgl of 2,9,16,23,30 : writeln ('Hari Senin'); 3,10,17,24,31 : writeln ('Hari Selasa'); 4,11,18,25 : writeln ('Hari Rabu'); 5,12,19,26 : writeln ('Hari Kamis'); 6,13,20,27 : writeln ('Hari Jumat'); 7,14,21,28 : writeln ('Hari Sabtu'); 1,8,15,22,29 : writeln ('Hari Minggu'); else Begin writeln ('Maaf tidak ada tanggal tersebut'); end; end; end.

2. Ubahlah program modul5.2 menggunakan teknik pencabangan CASE-OF 3. Buatlah program aplikasi bebas dengan teknik pencabangan gabungan If then dan case of

TUGAS

1. Tampilkan hasil eksekusi program diatas dalam laporan. 2. Jelaskan maksud dan fungsi dari tiap pernyataan/syntax program diatas.

Page 21: Modul Pascal Dasar

DAFTAR PUSTAKA. 1. FX. Sutiono Gunadi Dkk, ”Belajar Sendiri Turbo Pascal", PT Elex Media Komputindo Jakarta,

1990. 2. Abdul Kadir, ” Pemrograman Turbo Pascal untuk IBM PC Menggunakan versi 5.0 dan 5.5 “,

PT Elex Media Komputindo, Jakarta, 1990 3. Eko Nugroho, "Pemrograman Terstruktur dengan Pascal", Andi Offset Yogyakarta, 1996.

Page 22: Modul Pascal Dasar

MODUL 7 PERULANGAN FOR-TO-DO DAN FOR-DOWNTO-DO

A. TUJUAN : - Mengenal dan memahami suatu pemrosesan perintah sesuai dengan proses perulangan. - Memahami program pengulangan dengan For-To Do - Dapat membuat program pascal dengan menggunakan perintah-perintah masukan

maupun keluaran dalam setiap program perulangan.

B. DASAR TEORI : Penerapan struktur perulangan dalam pascal adalah dengan statement majemuk, yaitu suatu

urutan statement yang terletak diantara BEGIN dan END. Statement yang membentuk statement majemuk dipisahkan dengan titikkoma (;).

Dalam suatu proses perhitungan sering dibutuhkan suatu perulangan semisal dalam perhitungan metode numerik. Untuk itu peran pemrograman sangan penting, adapun proses perulangan dalam pascal terdapat 4 macam yaitu

1. FOR-TO-DO 2. FOR-DOWNTO-DO 3. WHILE-DO 4. REPEAT-UNTIL Pada modul ini dibahas mengenai FOR-TO-DO dan FOR-DOWNTO-DO.

Latihan : 1. Tulis program berikut :

program modul7a; uses wincrt; var jumlah, bulat:integer; rerata:real; begin jumlah:=0; for bulat:=1 to 25 do begin jumlah:=jumlah+bulat; end; rerata:=jumlah/25; writeln(' Jumlah : ', jumlah:5); writeln(' Rata-rata : ', rerata:5:3); end.

2. Tulis program berikut :

program modul7b; uses wincrt; var a,b,c:real; i,n:integer; begin writeln(' Program Nilai kurs '); writeln; b:=0; n:=5; for i:=1 to n do begin write('Masukkan nilai kurs 1$ = Rp. '); readln(a);

Page 23: Modul Pascal Dasar

b:=b+a; writeln(b:8:2); end; c:=b/n; writeln('Rata-rata 1$ = Rp. ',c:8:2); writeln; if c>9000 then writeln('Jual Dollar') else if c<6500 then writeln('Dollar disimpan'); readln; end.

3. Tulis program berikut : program modul7c; uses wincrt; var karakter:char; begin clrscr; for karakter:='Z' downto 'A' do write(karakter,' '); readln; end.

4. Buatlah program aplikasi bebas dengan teknik perulangan For-to-do dan For-Downto-Do

TUGAS 1. Tampilkan hasil eksekusi program diatas dalam laporan. 2. Jelaskan maksud dan fungsi dari tiap pernyataan/syntax program diatas.

DAFTAR PUSTAKA. 1. FX. Sutiono Gunadi Dkk, ”Belajar Sendiri Turbo Pascal", PT Elex Media Komputindo Jakarta,

1990. 2. Abdul Kadir, ” Pemrograman Turbo Pascal untuk IBM PC Menggunakan versi 5.0 dan 5.5 “,

PT Elex Media Komputindo, Jakarta, 1990 3. Eko Nugroho, "Pemrograman Terstruktur dengan Pascal", Andi Offset Yogyakarta, 1996.

Page 24: Modul Pascal Dasar

MODUL 8 PERULANGAN WHILE-DO

A. TUJUAN : - Mengenal dan memahami suatu pemrosesan perintah sesuai dengan proses perulangan. - Memahami program pengulangan dengan While-Do - Dapat membuat program pascal dengan menggunakan perintah-perintah masukan

maupun keluaran dalam setiap program perulangan.

B. DASAR TEORI : Proses perulangan selain For To Do dan For Downto Do adalah While-Do, Teknik perulangan dengan While Do dilakukan jika jumlah pengulangan belum diketahui dengan pasti. Pernyataan WHILE..DO sering dikatakan sebagai pengulang proses selama kondisi benar. Adapun diagram alir prose While sbb:

Pada saat WHILE dikerjakan, mula-mula ungkapan nalar yang merupakan kondisi pengulangandiperiksa terlebih dahulu, jika ungkapan nalar berkondisi benar maka Pernyataan akan dikerjakan. Kemudian dilakukan pengujian kembali ungkapan nalarnya. Selama ungkapan nalar benar, maka Pernyataan akan selalu dikerjakan, sehingga :

• Pada Pernyataan atau ungkapan nalar harus ada suatu bagian yang bisa mengubah ungkapan nalar menjadi kondisi tertentu (misal dari kondisi benar menjadi kondisi salah). Karena kalau tidak, maka proses akan berulang tiada henti.

• Pada saat WHILE dikerjakan pertama kali, kalau ungkapan bernilai salah maka Pernyataan tidak akan dikerjakan sama sekali.

Latihan : 1. Tulis program berikut :

program modul8a; uses wincrt; var a,b:real; const c=1.609344; begin writeln('Konversi Kilometer ==> Mil'); a:=0; while a<20 do begin

Page 25: Modul Pascal Dasar

a:=a+1; b:=c*a; writeln(a:5:2,' Km = ', b:5:4,' Mil'); end; end.

2. Tulis program berikut : program modul8a; uses wincrt; var a:real; b:char; begin randomize; {perintah untuk menghasilkan angka acak} b:='N'; writeln(' PROGRAM ANGKA ACAK '); while b<>'Y' do begin a:=random (1000); writeln('Angka Sekarang : ',a :5:2); writeln; write('Tekan Sembarang Tombol untuk mulai mengacak'); writeln; write('Tekan Y untuk berhenti'); b:=readkey; b:=upcase(b); writeln; end; writeln; writeln('PENGACAKAN BERHENTI'); end.

3. Buatlah program aplikasi bebas dengan teknik perulangan While-Do

TUGAS 1. Tampilkan hasil eksekusi program diatas dalam laporan. 2. Jelaskan maksud dan fungsi dari tiap pernyataan/syntax program diatas.

DAFTAR PUSTAKA.

1. FX. Sutiono Gunadi Dkk, ”Belajar Sendiri Turbo Pascal", PT Elex Media Komputindo Jakarta, 1990.

2. Abdul Kadir, ” Pemrograman Turbo Pascal untuk IBM PC Menggunakan versi 5.0 dan 5.5 “, PT Elex Media Komputindo, Jakarta, 1990

3. Eko Nugroho, "Pemrograman Terstruktur dengan Pascal", Andi Offset Yogyakarta, 1996.

Page 26: Modul Pascal Dasar

MODUL 9 PROSEDUR DAN FUNGSI DALAM TURBO PASCAL

A. TUJUAN PRAKTIKUM : - Mengenal dan memahami penggunaan prosedur dan fungsi untuk membangun suatu

program dalam bahasa pascal. - Mengenal dan memahami pembuatan prosedur dan fungsi yang mudah dibaca,

dipelajari dan dimodifikasi. - Mencoba menggunakan prosedur atau fungsi yang digunakan pada program lain untuk

menyelesaikan sebagian masalah yang sama dari suatu masalah yang besar.

B. DASAR TEORI II.1. Prosedur Prosedur merupakan subprogram yang terdiri dari sekelompok perintah untuk mengolah suatu

masalah dengan satu atau lebih masukan untuk menghasilkan satu atau lebih keluaran. Adapun cara mendeklarasikan prosedur adalah:

PROCEDURE nama_prosedur (parameter1 , parameter2 , ………..: tipeparameter) II.2. Fungsi Fungsi merupakan subprogram yang mengolah suatu masalah tertentu untuk menghasilkan suatu

keluaran tertentu. Keluaran fungsi harus mempunyai tipe. FUNCTION nama_prosedur (parameter1 , parameter2 , ………..: tipeparameter); TYPE_fungsi II.3. Perbedaan utama antara fungsi dan prosedur adalah: Prosedur tidak harus mempunyai keluaran, tetapi fungsi harus mempunyai keluaran.

C. PERCOBAAN : 1. Contoh 01

program modul07_contoh01; uses wincrt; type tulisan = string[11]; var a , b , c , x1 , x2 : real; Keterangan : tulisan; PROCEDURE akar(A1 , A2 , A3 : real; var x1 , x2 : real); var DET : real; keterangan : tulisan; begin keterangan :='Akar nyata'; DET := (A2*A2) - (4*A1*A3); if DET <0 then begin keterangan := 'Akar khayal'; end else begin X1 := (-A2 + SQRT(DET)) / (2 * A1); X2 := (-A2 - SQRT(DET)) / (2 * A1);

Page 27: Modul Pascal Dasar

end; end; begin CLRSCR; writeln('Mencari Akar'); writeln('Persamaan AX^2 + BX + C = 0'); write('A = '); readln (A); write('B = '); readln (B); write('C = '); readln (C); AKAR(A, B, C, X1, X2); Writeln(keterangan); if (keterangan = 'Akar khayal') then begin writeln('Akar1 dan Akar2 = Akar Khayal'); end else if X1=0.0 then begin writeln('Akar1 dan Akar2 = Akar khayal'); end else begin writeln('Akar1 = ', X1: 6: 2); writeln('Akar2 = ', X2: 6: 2); end; end.

2. Contoh 02 program modul07_contoh02; uses wincrt; function fiborekur(suku : integer) : integer; begin if (suku = 1) or (suku = 2) then begin fiborekur := 1; end else begin fiborekur := fiborekur( suku-1 ) + fiborekur (suku-2); end; end; var iterasi, N1, N2, hasil, tampung : integer; begin clrscr; write('dari suku ke : '); readln (N1); write('sampai suku ke : '); readln (N2); writeln; writeln(' Deret Fibonacci '); hasil := 0; for iterasi := N1 to N2 do begin

Page 28: Modul Pascal Dasar

tampung := fiborekur (iterasi); hasil := hasil + tampung; write(tampung :3, ' '); end; writeln; writeln('Jumlah deret Fibonacci dari ',N2-N1,' suku adalah',

hasil : 5); readln end.

D. TUGAS 1. Uraiakan arti dari masing-masing perintah dalam program contoh01 dan contoh02 2. Buatlah alur algoritma dari contoh01 dan contoh02 3. Buatlah program contoh03 dengan menggunakan perintah PROCEDURE dan FUNCTION

E. DAFTAR PUSTAKA 1. FX. Sutiono Gunadi dkk,”Belajar Sendiri Turbo Pascal”, PT. Elex. Media Komputindo

Jakarta, 1990. 2. HM. Jogiyanto,”Pengenalan Komputer”, Andi Offset Yogyakarta, 1989. 3. C. Seiter and R. Weiss,”PASCAL for BASIC Programmers”, Addison-Wesley Publishing

Company, Inc., Canada, 1985. 4. Eko Nugroho,”Pemrograman Terstruktur dengan Pascal”, Andi Offset Yogyakarta, 1996. 5. Rinaldi Munir dan Leoni Lidya, “Algoritma Pemrograman”, Penerbit Informatika, Bandung,

1998.

Page 29: Modul Pascal Dasar

MODUL 10 VARIABEL BERINDEKS

A. TUJUAN PRAKTIKUM : - Dapat mengenal dan memahami teknik perhitungan yang menggunakan variabel

berindeks(larik), yaitu dengan type array. - Dapat membuat program dari persoalan matriks. - Dapat mengaplikasikan type array untuk program-program lain yang harus

menggunakan variabel berindeks (dimensi).

B. DASAR TEORI II.1. Dalam mendeklarasikan sebuah variabel berindeks, selain mendefinisikan tipe larik,

juga harus menentukan banyaknya indeks yang akan mengisi larik tersebut, yaitu dengan menuliskan : Array[index] of tipe_data.

II.2. Larik padat adalah salah satu bentuk array untuk mengatasi pemakaian memori utama

yang besar pada array atau larik umumnya, yaitu dengan menambah kata packet di depan kata array atau larik umumnya.

II.3. Larik juga dimungkinkan untuk digunakan pada variabel berindeks yang berdimensi

banyak, misalnya untuk dimensi dua adalah : Matriks = array[1..100,1..100] of integer, yang artinya matriks tersebut disediakan

tempat sebanyak 100 baris dan 100 kolom.

C. PERCOBAAN : 1. Contoh 01

program modul08_contoh01; uses wincrt; const maxordo = 3; type ordomatrix = array[1..maxordo, 1..maxordo] of integer; var matA, matB, matC : ordomatrix; loopI, loopJ, loopK, Jum : integer; brsA, klmA, brsB, klmB, brsC, klmC : integer; begin clrscr; brsA := 3; klmA := 3; brsB := 3; klmB := 3; brsC := 3; klmC := 3; writeln('Masukkan Data Matriks A'); for loopI := 1 to brsA do for loopJ := 1 to klmA do begin write(' data [', loopI,' ,' , loopJ,'] = '); readln(matA[loopI, loopJ]) end; writeln('Masukkan Data Matriks B');

Page 30: Modul Pascal Dasar

for loopI := 1 to brsB do for loopJ := 1 to klmB do begin write(' data [', loopI,' ,' , loopJ,'] = '); readln(matB[loopI, loopJ]) end; writeln('Hasil Penjumlahan matriks C = A + B'); for loopI := 1 to brsC do for loopJ := 1 to klmC do begin matC[loopI, loopJ] := matA[loopI, loopJ] +

matB[loopI, loopJ]; end; clrscr; writeln('Matriks A'); for loopI := 1 to brsA do begin for loopJ := 1 to klmA do write(matA[loopI, loopJ]:3);writeln; end; writeln; writeln('Matriks B'); for loopI := 1 to brsB do begin for loopJ := 1 to klmB do write(matB[loopI, loopJ]:3); writeln; end; writeln; writeln('Matriks C'); for loopI := 1 to brsC do begin for loopJ := 1 to klmC do write(matB[loopI, loopJ]:3); writeln; end; end.

2. Contoh 02 program modul08_contoh02; uses wincrt; const maxordo = 3; type ordomatrix = array[1..maxordo, 1..maxordo] of integer; var matA, matB, matC : ordomatrix; loopI, loopJ, loopK, Jum : integer; brsA, klmA, brsB, klmB, brsC, klmC : integer; begin clrscr; brsA := 3; klmA := 3;

Page 31: Modul Pascal Dasar

brsB := 3; klmB := 3; brsC := 3; klmC := 3; writeln('Masukkan Data Matriks A'); for loopI := 1 to brsA do for loopJ := 1 to klmA do begin write(' data [', loopI,' , ' , loopJ,'] = '); readln(matA[loopI, loopJ]) end; writeln('Masukkan Data Matriks B'); for loopI := 1 to brsB do for loopJ := 1 to klmB do begin write(' data [', loopI,' ,' , loopJ,'] = '); readln(matB[loopI, loopJ]) end; writeln('Hasil Perkalian matriks C = A * B'); for loopI := 1 to brsA do for loopJ := 1 to klmB do begin Jum := 0; for loopK := 1 to brsB do Jum := Jum + matA[loopI, loopK]*matB[loopK,

loopJ]; matC[loopI, loopJ] := Jum; end; clrscr; writeln('Matriks A'); for loopI := 1 to brsA do begin for loopJ := 1 to klmA do write(matA[loopI, loopJ]:3);writeln; end; writeln; writeln('Matriks B'); for loopI := 1 to brsB do begin for loopJ := 1 to klmB do write(matB[loopI, loopJ]:3); writeln; end; writeln; writeln('Matriks C'); for loopI := 1 to brsC do begin for loopJ := 1 to klmC do write(matB[loopI, loopJ]:3); writeln; end; end.

D. TUGAS 1. Uraiakan arti dari masing-masing perintah dalam program contoh01 dan contoh02 2. Buatlah alur algoritma dari contoh01 dan contoh02

Page 32: Modul Pascal Dasar

3. Buatlah program contoh03 dengan menggunakan perintah array

E. DAFTAR PUSTAKA 1. FX. Sutiono Gunadi dkk,”Belajar Sendiri Turbo Pascal”, PT. Elex. Media Komputindo

Jakarta, 1990. 2. HM. Jogiyanto,”Pengenalan Komputer”, Andi Offset Yogyakarta, 1989. 3. C. Seiter and R. Weiss,”PASCAL for BASIC Programmers”, Addison-Wesley Publishing

Company, Inc., Canada, 1985. 4. Eko Nugroho,”Pemrograman Terstruktur dengan Pascal”, Andi Offset Yogyakarta, 1996. 5. Rinaldi Munir dan Leoni Lidya, “Algoritma Pemrograman”, Penerbit Informatika, Bandung,

1998.