SlideShare una empresa de Scribd logo
1 de 79
1
MODUL I MEMULAI PROGRAM PASCAL
A. TUJUAN
1. Mengenal bahasa pemrograman Pascal
2. Memahami struktur program Pascal
3. Mampu membuat program Pascal sederhana
B. DASAR TEORI
1. Struktur Program Pascal
PROGRAM nama_program;
USES unit1, unit2, unit3;
CONST
Deklarasi konstanta;
TYPE
Deklarasi type data;
VAR
Deklarasi variabel;
BEGIN
Instruksi program Pascal
pernyataan/statement
END.
2. Menjalankan Turbo Pascal
a. Dari menu Start > All Programs > Accessories > Command Prompt
b. Kemudian masuklah ke direktori yang tepat. Tanyakan pada dosen/instruktur, direktori
mana yang memuat aplikasi Turbo Pascal (misalnya : C:TPBIN) cd; masuk ke
direktori cd.. ; keluar dari direktori
c. Setelah masuk ke direktori yang sesuai, tulis TURBO, lalu tekan tombol <ENTER>.
Contoh : C:TPBINTURBO.
Tampilan aplikasi Turbo Pascal :
judul program
bagian deklarasi
badan program
2
3. Cara Memilih Menu
Ketika anda sudah masuk ke aplikasi Pascal, maka yang anda lihat sesungguhnya adalah
editor Pascal, yaitu suatu tempat bagi anda untuk menulis baris-baris pernyataan program.
Pada editor tersebut, perhatikan baris paling atas yang memuat tulisan File, Search, Run,
Compile, Tool, Option, Debug, Window, dan Help yang merupakan Menu Utama di
dalam aplikasi Pascal dan masing-masing menu memiliki sub menu. Menu yang wajib
dipahami adalah File, Edit, Run, dan Compile.
a. Cara Pertama
1. Gunakan mouse untuk menggerakkan pointer di layar monitor ke arah menu-menu
yang tersedia
2. Left Click untuk memilih menu yang diinginkan.
b. Cara Kedua
1. Menekan tombol <ALT> dan huruf pertama dari menu yang diinginkan secara
bersamaan. Misalnya ingin memilih menu File, maka yang perlu dilakukan adalah
menekan tombol <ALT> dan tombol <F> secara bersamaan.
2. Gunakan tombol <ENTER> untuk memilih sub menu yang ada.
4. Mengedit
Perintah-perintah mengedit seperti menghapus, menggerakkan kursor (pointer),
menggulung layar, dan lain-lain banyak yang sama dengan perintah pada MS WORD.
a. Menggerakkan Kursor
Untuk menggerakkan kursor, dapat menggunakan tombol panah, <home>, <Page Up>,
<Page Down>, atau <End>.
b. Operasi Blok
1) Arahkan kursor pada awal blok. Kemudian tekan tombol <SHIFT>, lanjutkan
dengan menekan tombol panah tapi tombol <SHIFT> jangan dilepas dulu. Arahkan
tombol panah sampai posisi yang diinginkan.
2) Untuk menghapus arsiran blok, tekan tombol <CTRL><K><H> secara bersamaan.
c. Menghapus (cut atau clear)
1) <CTRL><T> : untuk menghapus 1 kata yang berada di kanan kursor
2) <CTRL><Y> : untuk menghapus 1 baris pada kursor
3) <CTRL><K><Y> atau <SHIFT><DEL> atau <CTRL><DEL> : untuk
menghapus 1 blok.
3
d. Menyalin (copy)
1) Blok tulisan yang akan disalin (copy)
2) Tekan tombol <CTRL><INSERT> atau <CTRL><K><C>.
3) Untuk memindahkan (paste) tulisan yang telah disalin, tekan tombol
<SHIFT><INSERT>.
5. Mengubah Direktori Kerja
Direktori kerja merupakan direktori yang digunakan untuk menyimpan file-file program
yang telah dibuat. Secara default, direktori kerja sama dengan direktori sistem aplikasi.
Untuk mengubah direktori kerja, buka menu File, lalu pilih sub menu Change Dir. Setelah
muncul kotak dialog Change Directory, ketiklah alamat lengkap direktori yang diinginkan
pada Directory name, kemudian pilih tombol OK. Tanyalah pada dosen/instruktur dimana
letak direktori kerja anda.
6. Memulai Mengetik Teks Program (New)
Ketika aplikasi Pascal dijalankan, secara default akan menyediakan lembar kerja baru.
Sehingga dapat digunakan langsung untuk mengetikkan kode program. Untuk membuat
lembar kerja baru, buka menu File, kemudian pilih sub menu New.
7. Menyimpan Program (Save atau Save As)
Untuk menyimpan program yang telah dibuat, tekan tombol <F2> atau buka menu File,
kemudian pilih sub menu Save. Jika ingin menyimpan degan nama dan/atau pada direktori
lain, gunakan sub menu Save As. File program Pascal disimpan dengan ekstensi .PAS.
8. Membuka Program (Open)
Untuk membuka program yang sudah pernah dibuat, buka menu File, kemudian pilih
sub menu Open atau langsung tekan tombol <F3>, kemudian cari file program yang ingin
dibuka kembali.
9. Kompilasi (Compile)
Program dapat dijalankan apabila telah di-compile terlebih dahulu. Cara melakukan
compile adalah dengan menekan tombol <ALT><F9> secara bersamaan atau dengan cara
membuka menu Compile, kemudian pilih sub menu Compile.
10. Menjalankan Program (Running Program)
Setelah di-compile, program dijalankan dengan menekan tombol <CTRL><F9>
atau dengan membuka menu Run, dan pilih sub menu Run.
11. Membuat Executable Program
Executable program adalah program yang dapat dijalankan langsung tanpa harus
menggunakan compiler (dalam hal ini adalah Pascal). Cirinya adalah file berekstensi .EXE.
Cara mengubah program Pascal menjadi executable program adalah :
a. Buka menu Compile, kemudian pilih sub menu Destination Memory. Maka
Destination Memory secara otomatis berubah menjadi Destination Disk.
b. Kemudian lakukan kompilasi, maka secara otomatis akan tercipta satu buah file yang
berekstensi .EXE sesuai dengan nama file.
12. Aturan Pemberian Nama Program
Nama program terdiri dari maksimal 8 huruf dengan ekstensi .PAS. Dalam praktikum
ini, praktikan diwajibkan memberi nama program sesuai dengan aturan yang telah
4
ditentukan untuk tujuan kemudahan dalam penilaian. Praktikan yang memberi nama
program tidak sesuai dengan ketentuan ini akan menyulitkan praktikan sendiri!!! Pada kasus
tertentu, pekerjaan tidak akan dinilai!!!
Berikut ini adalah ketentuan dalam pemberian nama file dari program yang akan
disimpan :
a. Tentukan angkatan anda. Ambil 2 digit terakhir. Jika angkatan anda adalah 2009, maka
yang diambil adalah 09.
b. Tentukan nomor urut mahasiswa anda. Ambil 2 digit terakhir. Jika nomor mahasiswa
anda adalah 3200916001, maka yang diambil adalah 01.
c. Tentukan nomor program. Nomor program sudah ditentukan oleh dosen/instruktur atau
sudah tercantum dalam modul ini. Nomor program merupakan kombinasi antara nomor
modul dan nomor urut latihan. Contoh : modul 1 dan latihan 1, maka nomor program
adalah 0101.
d. Gabungkan angka-angka yang berasal dari poin a, b, dan c, sehingga nama program
menjadi : 09010101.PAS
09 01 0101 .PAS
C. LATIHAN SOAL
1. Nomor Program : 0101
a. Tulis program berikut dan amati outputnya!
PROGRAM hello_world;
USES CRT;
BEGIN
CLRSCR;
WRITE(‘Hello’);
WRITE(‘World’);
READLN;
END.
b. Statement/pernyataan yang merupakan judul program adalah :
c. Statement/pernyataan yang merupakan deklarasi adalah :
d. Statement/pernyataan yang merupakan badan program adalah :
angkatan nomor urut mahasiswa nomor program
5
e. Output dari program dengan nomor program 0101 adalah :
f. Gantilah statement WRITE menjadi WRITELN, maka outputnya adalah :
g. Hapuslah procedure CLRSCR yang berada pada baris pertama pada badan program,
kemudian lakukan proses running lebih dari 1 kali dan jelaskan apa yang terjadi?
Masih ada tampilan running yang sebelumnya
h. Hapuslah procedure READLN yang berada pada baris terakhir pada badan program dan
jalankan program, kemudian jelaskan apa yang terjadi?
Program hanya bisa nampil sebentar lalu kembali ke coding.
2. Nomor Program : 0102
a. Tulis program berikut dan amati outputnya!
PROGRAM warna_warni;
USES CRT;
BEGIN
CLRSCR;
TEXTCOLOR(red);
WRITELN(‘Saya suka warna merah’);
TEXTCOLOR(green);
WRITELN(‘Kamu suka warna hijau’);
READLN;
END.
6
b. Output dari program dengan nomor program 0102 adalah :
c. Ganti parameter dalam fungsi TEXTCOLOR menjadi white, black, yellow, blue,
magenta, atau cyan. Bagaimana hasilnya?
d. Tambahkan string + blink dalam fungsi TEXTCOLOR, sehingga menjadi :
TEXTCOLOR(red + blink);
Apa kegunaan dari string + blink?
Menambah efek blink pada tulisan.
3. Nomor Program : 0103
a. Buatlah program untuk menampilkan tulisan seperti berikut ini :
MATAKULIAH PRAKTIKUM PEMROGRAMAN 1
PROGRAM STUDI D3 TEKNIK INFORMATIKA
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI PONTIANAK
b. Tentukan warna text untuk tiap baris dan tidak boleh sama.
c. Kemudian tampilkan dengan berkedip.
d. Jika sudah selesai, tambahkan statement TEXTBACKGROUND(green) setelah statement
CLRSCR. Amati outputnya dan jelaskan!
7
4. Nomor Program : 0104
a. Tulis program berikut dan amati outputnya!
PROGRAM simbol;
USES CRT;
BEGIN
CLRSCR;
WRITELN(‘α adalah simbol alfa’);
READLN;
END.
b. Perhatikan simbol α. Simbol tersebut tidak ada di keyboard, sehingga anda harus
mencari terlebih dahulu kode ASCII (American Standard Code for Information
Interchange) desimal dari simbol tersebut. Berikut ini adalah tabel kode ASCII :
8
c. Untuk dapat menggunakan kode ASCII, tekan tombol <ALT>, kemudian tekan tombol
angka yang ada di bagian sebelah kanan keyboard secara bersamaan. Contoh : simbol α
kode ASCII adalah 224, maka tekan tombol <ALT><2><2><4> secara bersamaan.
5. Nomor Program : 0105
Buatlah program untuk menampilkan simbol : ß, Φ, Ω, dan Σ
9
6. Nomor Program : 0106
a. Buatlah program yang menghasilkan suatu output dengan menggunakan kode ASCII :
218, 196, 196, 196, 194, 196, 196, 196, 191. Gunakan Syntax WRITE.
b. Tampilan dari simbol tersebut adalah :
10
7. Nomor Program : 0107
Buatlah program untuk menampilkan tabel seperti berikut ini :
NO NIM NAMA
1
2
3
3200916001
3200916002
3200916003
Budi
Antok
Siska
8. Nomor Program : 0108 (A)
Buatlah program untuk menghitung luas lingkaran dengan jari-jari = 20 dan tetapan
(konstanta) π = 3.14. Output dari program adalah :
11
Program Menghitung Luas Lingkaran
Diketahui :
Jari-jari = 20
Phi = 3.14
Maka :
Luas Lingkaran = 1256
Nomor Program : 0108 (B)
Buatlah program untuk menghitung luas segi tiga, dengan alas = 10 dan tinggi = 20. Output
dari program adalah :
Program Menghitung Luas Segi Tiga
Diketahui :
Alas = 10
Tinggi = 20
Maka :
Luas Segi Tiga = 100
12
9. Nomor Program : 0109 (A)
a. Tulis program berikut dan amati outputnya!
PROGRAM luas_lingkaran;
USES CRT;
CONST phi = 3.14;
VAR r : integer;
luas : real;
BEGIN
CLRSCR;
WRITELN(‘Program Menghitung Luas Lingkaran’);
WRITELN(‘Diketahui :’);
WRITE(‘ Jari-jari = ‘);READLN(r);
luas:=phi*r*r;
WRITELN(‘ Phi = ‘,phi);
WRITELN(‘Maka :’);
WRITELN(‘ Luas Lingkaran = ‘,luas);
WRITE(‘ Luas Lingkaran = ‘,luas:0:0);
READLN;
END.
b. Jelaskan apa fungsi dari statement READLN(r)!
Menyimpan data yang di inputkan ke dalam variabel r.
c. Jelaskan apa fungsi dari :0:0 pada statement WRITE(‘ Luas Lingkaran =
‘,luas:0:0);
13
0 pertama di gunakan untuk memberi jarak atau spasi saat pengeluaran data, 0 yang
kedua di gunakan untuk memberi seberapa banyak angka di belakang koma.
Nomor Program : 0109 (B)
d. Tulis program berikut dan amati outputnya!
PROGRAM luas_segitiga;
USES CRT;
VAR alas, tinggi : integer;
luas : real;
BEGIN
CLRSCR;
WRITELN(‘Program Menghitung Luas Segi Tiga’);
WRITELN(‘Diketahui :’);
WRITE(‘ alas = ‘);READLN(alas);
WRITE(‘ tinggi = ‘);READLN(tinggi);
luas:=1/2*alas*tinggi;
WRITELN(‘ Phi = ‘,phi);
WRITELN(‘Maka :’);
WRITELN(‘ Luas Segi Tiga = ‘,luas);
WRITE(‘ Luas Segi Tiga = ‘,luas:0:0);
READLN;
END.
14
e. Jelaskan apa fungsi dari statement READLN(alas) dan READLN(tinggi)!
Memasukkan data ke dalam variabel alas dan variabel tinggi.
f. Jelaskan apa fungsi dari :0:0 pada statement WRITE(‘ Luas Segi Tiga =
‘,luas:0:0);
15
MODUL II
DEKLARASI PROGRAM
A. TUJUAN
1. Mengenal bagian-bagian dalam deklarasi program beserta kegunaannya
2. Mengenal istilah-istilah yang merupakan unsur penting dalam program Pascal
3. Memahami pengertian variabel
4. Memahami tipe-tipe data sederhana dalam Pascal
5. Mampu mengaplikasikan berbagai macam tipe data dalam permasalahan pemrograman
B. DASAR TEORI
Unsur-unsur pokok program Pascal sederhana :
1. Kata simpan (reserved word) adalah kata-kata yang telah didefinisikan oleh Pascal.
Misalnya kata : PROGRAM, CONST, TYPE, VAR, BEGIN, END, INTEGER.
2. Pemisah pernyataan digunakan untuk memisahkan satu pernyataan dengan pernyataan
lainnya. Dalam Pascal, pemisah pernyataan menggunakan tanda titik koma (;)
3. Identifier adalah kata-kata yang kita definisikan sendiri (bukan kata simpan). Identifier
memenuhi beberapa syarat berikut :
a. Terdiri dari huruf dan angka serta garis bawah (_). Garis bawah (_) biasanya digunakan
sebagai pengganti spasi (space).
b. Karakter/huruf pertama dari identifier tidak boleh menggunakan angka.
c. Tidak boleh menggunakan karakter spasi (space).
d. Tidak membedakan huruf besar dan huruf kecil.
e. Maksimal karakter yang digunakan dalam sebuah identifier adalah 63 karakter.
f. Identifier biasa digunakan untuk memberi nama variabel, judul program, dan konstanta.
4. PROGRAM
Digunakan untuk memberi nama/judul suatu program. Untuk memberi nama program,
tidak boleh diawali dengan angka dan tidak boleh menggunakan spasi maupun operator
aritmatika.
5. USES
USES artinya menggunakan. Pengertian menggunakan di sini adalah menggunakan
UNIT. UNIT adalah istilah dalam bahasa Pascal yang merupakan tempat prosedur/fungsi
tertentu. Dalam bahasa Pascal, terdapat beberapa prosedur yang disedikan langsung oleh
Pascal, misalnya write, writeln, read, readln, dan lain-lain. Namun terdapat beberapa
prosedur yang tidak dimiliki oleh Pascal, tetapi dimiliki oleh UNIT, misalnya prosedur
clrscr, textcolor, dan lain-lain. Berikut ini adalah beberapa UNIT standar yang tersedia :
Nama Unit Keterangan
CRT Berisi fasilitas yang berhubungan dengan layar,
gunanya untuk menghapus layar, mengatur warna teks
dan latar belakangnya (background), dan
membangkitkan suara speaker komputer.
DOS Berisi fasilitas yang berhubungan dengan sistem
operasi dan penanganan file.
GRAPH Berisi fasilitas yang berhubungan dengan mode grafik
SYSTEM Berisi fasilitas prosedur dan fungsi, juga untuk
menangani masukan dan keluaran file serta alokasi
memori yang dinamis.
PRINTER Berisi fasilitas untuk mencetak hasil keluaran (output)
dengan menggunakan printer.
16
TURBO 3 Berisi fasilitas untuk menjalankan programyang telah
dibuat dengan Pascal versi 3, untuk bisa dijalankan
dengan pascal versi 5.5, walau tidak semua program
bisa dijalankan.
GRAPH3 Berisi fasilitas grafik yang terdapat pada Pascal versi
3.0, (khususnya gambar) tetapi harus melibatkan file
GRAPH.BIN dan GRAPH.P.
OVERLAY Berisi fasilitas yang berguna untuk menjalankan
overlay
WINDOS Berisi fasilitas untuk menangani implementasi rutin
penanganan file dan sistem operasi, dan merupakan
unti alternatif dari unit DOS.
6. CONST
Digunakan apabila kita ingin mendeklarasikan suatu nilai tertentu yang tidak dapat
berubah (tetap), misalnya phi = 3.14, nama_pt = ‘Politeknik Negeri Pontianak’, kode =
’X’, benar = ‘TRUE’, dan lain-lain.
7. TYPE
Digunakan apabila kita ingin mendeklarasikan tipe data tertentu.
8. VAR
Digunakan untuk mendeklarasikan suatu variabel. Variabel adalah suatu nama
(identifier) yang dimaksudkan untuk menampung suatu data/nilai tertentu. Isi dari suatu
variabel boleh berubah. Sebelum digunakan di dalam program, variabel harus dideklarasikan
terlebih dahulu. Cara mendeklarasikan variabel adalah diawali dengan kata VAR kemudian
diikuti dengan nama variabel dan tipe variabelnya (tipe data). Berikut ini adalah tipe-tipe
data sederhana yang dikenali oleh Pascal :
a. Variabel Numerik
Type Range/Jangkauan Keterangan
INTEGER -32768 s.d. 32767 Bilangan Bulat
WORD 0 s.d. 65535 Bilangan Bulat
BYTE 0 s.d. 255 Bilangan Bulat
REAL 2.9 x 10-39 s.d. 1.7 x 1038 Bilangan Pecahan
b. Variabel Non Numerik
Type Contoh Keterangan
STRING ‘Pontianak’, ‘PASCAL’,
‘2009’
Rangkaian
Karakter
CHAR ‘a’, ‘A’, ‘2’, ‘Z’, ‘1’ 1 buah karakter
BOOLEAN TRUE, FALSE TRUE = berinilai
benar, FALSE =
berinail salah
9. KOMENTAR
Komentar hanya sebuah tulisan yang digunakan untuk memberikan suatu keterangan
yang akan menjelaskan isi program dan tidak akan berarti apa-apa bagi komputer. Komentar
tidak akan dibaca oleh program. Komentar dapat ditulis dalam 1 (satu) baris maupun lebih.
Pada Pascal, komentar ditulis dengan diawali oleh tanda kurung kurawal ({) dan harus
diakhiri dengan tandan tutup kurung kurawal (}) atau dengan tanda (* dan *).
10. BEGIN dan END
BEGIN digunakan untuk mengawali suatu blok pernyataan dan diakhir dengan END.
17
C. LATIHAN SOAL
1. Berilah tanda centang (√) pada nama-nama program yang benar!
PROGRAM CobaCoba; √ PROGRAM 2000;
PROGRAM Coca-Cola; PROGRAM _Garis;
PROGRAM 3Com; PROGRAM Coba_Coba; √
2. Berilah tanda centang (√) pada nama identifier yang benar!
mata kuliah _jarak_kota √ angka 3
angka_3 √ angka3 √ 3angka
1kelas contoh √ a√
Program 3_angka pro_gram √
3. Tentukan type variabel/tipe data (char, string, integer, boolean, word, byte atau real) yang
tepat untuk menampung data :
No Data Tipe
1 Jumlah peserta ujian Integer
2 Nilai ujian negara Real
3 Jumlah anak dalam 1 keluarga Integer
4 Prosentase potongan harga Real
5 Kiriman bulanan seorang mahasiswa Integer
6 Nama mahasiswa String
7 Alamat mahasiswa String
8 Suatu jawaban yang hanya memiliki
dua kemungkinan, yaitu : ya atau tidak
Boolean
9 Nilai huruf mahasiswa Char
10 Suatu nilai yang berkisar antara 0
sampai dengan 100
Byte
4. Nomor Program : 1
Tulislah program berikut ini dan amati outputnya!
PROGRAM beli_disket;
USES CRT;
CONST dolar = 9750.80;
VAR jml_disket : integer;
harga_disket, total : real;
BEGIN
CLRSCR;
jml_disket:=3;
harga_disket:=3500;
total:= jml_disket * harga_disket;
WRITELN(‘Harga disket = Rp ‘, total:0:2);
WRITELN(‘Harga disket = $ ‘,total/dolar:0:2);
READLN;
END.
18
5. Nomor Program : 2
a. Tulislah program berikut dan amati outputnya!
PROGRAM identitas;
USES CRT;
VAR nama : string[10];
ipk : real;
semester : byte;
sex : boolean;
BEGIN
CLRSCR;
nama:=’Habib Fatahillah’;
sex:=true;
semester:=1;
ipk:=3.80;
WRITELN(‘Nama saya : ‘, nama);
WRITELN(‘True = Laki-laki’);
WRITELN(‘False = Perempuan’);
WRITELN(‘Jenis kelamin : ‘, sex);
WRITELN(‘Semester : ‘, semester,’ (ganjil)’);
WRITELN(‘IPK saya = ‘, ipk:0:2);
READLN;
END.
19
b. Mengapa nama yang ditampilkan hanya sebanyak 10 huruf saja?
..................................................................................................................
..................................................................................................................
..................................................................................................................
c. Coba ganti statement nama:string[10]; menjadi nama:string[15];, amati outputnya
dan jelaskan apa yang terjadi!
..................................................................................................................
..................................................................................................................
..................................................................................................................
Catatan : Jika nama masih belum muncul secara keseluruhan, naikkan nilai angka yang
berada pada deklarasi variabel dengan tipe data string.
6. Nomor Program 3
Suatu komputer memiliki memori sebesar 8.192 Mbyte atau 8192 Kbyte. Pada sistem
komputer yang digunakan, jatah ruang memori untuk masing-masing jenis memori adalah
sebagai berikut :
Conventional Memori : 640 Kbyte
Upper Memori : 123 Kbyte
Reserved Memori : 384 Kbyte
Extended Memori (XMS) : 7045 Kbyte
Pada saat program berjalan, maka jumlah memori yang digunakan pada masing-masing jenis
memori adalah :
Conventional Memori : 40 Kbyte
Upper Memori : 123 Kbyte
20
Reserved Memori : 384 Kbyte
Extended Memori (XMS) : 6021 Kbyte
Karena tidak semua ruang digunakan, maka pada jenis-jenis memori tertentu masih ada
ruang kosong (free space). Buatlah program untuk menampilkan tabel berikut :
Jenis Memori Total Digunakan Free Space
Convensional 640 40 ...................
Upper 123 123 ...................
Reserved 384 384 ...................
Extended (XMS) 7045 6021 ...................
Total Memori 8192 ................... ...................
Pada ruang dalam tabel yang kosong (titik-titik), harus ditampilkan nilai yang sesuai!
Gunakan operator penjumlahan maupun pengurangan untuk mengisi ruang kosong tersebut!
21
22
MODUL III
MASUKAN DAN KELUARAN
(DATA INPUT DAN OUTPUT)
A. TUJUAN
1. Mengenal fasilitas masukan dan keluaran dalam Pascal
2. Memahami cara memasukkan serta menampilkan data
3. Memahami statement masukan dan keluaran serta mengaplikasikannya dalam program
B. DASAR TEORI
Pernyataan masukan dan keluaran merupakan sarana penting dalam bahasa Pascal untuk
melakukan komunikasi antara program dengan komputer. Pernyataan masukan dan keluaran
pada Pascal dapat berupa :
1. READ dan READLN
Pernyataan ini digunakan untuk meminta masukan dari keyboard untuk diolah komputer.
Hasil ketikan pada keyboard akan ditampilkan pada layar. Masukan tersebut dapat berupa
integer, real, character, sesuai dengan tipe variabel masukan yang telah didefinisikan
sebelumnya. Perbedaan antara READ dengan READLN adalah pada READLN, setelah
menerima masukan, komputer akan melanjutkannya dengan pindah baris, sedangkan READ
hanya menerima masukan.
Bentuk umum :
READ(var1, var2, ...); contoh : READ(jml_siswa, nilai_mhs);
READLN(var1, var2, ...); contoh : READLN(jml_siswa, nilai_mhs);
2. WRITE dan WRITELN
Pernyataan ini digunakan untuk menampilkan data hasil pengolahan ke layar. Perbedaan
antara WRITE dengan WRITELN adalah setelah mengerjakan pernyatan WRITELN,
komputer akan melanjutkannya dengan pindah baris, sedangkan WRITE tidak.
Bentuk umum :
WRITE(string1,string2, ..., var1, var2, ...);
WRITELN(string1,string2, ..., var1, var2, ...);
Contoh :
write(nil_ujian,nil_mid);
write(‘nilai mid semester = ‘,nil_mid);
writeln(nil_ujian,nil_mid);
writeln(‘nilai mid semester = ‘,nil_mid);
3. UNIT CRT
UNIT Keterangan
CLRSCR Digunakan untuk menghapus seluruh layar
DELAY Digunakan untuk menunda selama waktu tertentu
GOTOXY Digunakan untuk meletakkan posisi kursor pada lokasi
dengan koordinat tertentu
READKEY Digunakan untuk membaca masukan berupa data char
dan tidak menampilkan data yang dimasukkan
TEXTCOLOR Digunakan untuk memberi warna tertentu pada string
yang ditampilkan
C. LATIHAN SOAL
1. Nomor Program 1
23
a. Tulislah program berikut dan amati outputnya!
PROGRAM biodata;
USES CRT;
VAR nama : string[20];
umur : real;
lama : integer;
nilai : char;
BEGIN
CLRSCR;
WRITE(‘Tulis nama anda : ‘);READLN(nama);
WRITE(‘Berapa umur anda : ‘);READLN(umur);
WRITE(‘Apa nilai ujian Pascal anda (A-E)? ‘);
nilai:=READKEY;
WRITELN(‘Terima kasih... Tunggu sebentar, ya...’);
lama:=1000;
DELAY(lama);
WRITELN;
WRITELN(‘Nama anda : ‘,nama:20);
WRITELN(‘Umur anda : ‘,umur:20:2);
WRITELN(‘Nilai anda : ‘,nilai:20);
GOTOXY(20,24);
WRITE(‘Tekan sembarang tombol’);
READLN;
END.
24
b. Apakah yang terjadi jika statement lama:=1000; diganti dengan lama:=5000; ? Apa
yang terjadi jika semakin kecil nilainya? Apa yang terjadi jika semakin besar nilainya?
Jika lama:=1000; di ganti lama:=5000; maka waktu menunggu akan semakin lama.
Semakin kecil nilainya maka waktu menunggunya akan semakin lama.
c. Apakah yang terjadi jika statement
WRITELN(‘Nama anda : ‘,nama:20);
WRITELN(‘Umur anda : ‘,umur:20:2);
WRITELN(‘Nilai anda : ‘,nilai:20);
diganti dengan :
WRITELN(‘Nama anda : ‘,nama:40);
WRITELN(‘Umur anda : ‘,umur:40:5);
WRITELN(‘Nilai anda : ‘,nilai:40);
d. Apakah yang terjadi jika statement GOTOXY(20,24); diganti dengan GOTOXY(1,24); ?
2. Nomor Program 2
Buatlah program untuk mencari luas sebuah lingkaran dengan meminta masukan berupa
jari-jari lingkaran dengan phi=3.14. Tampilkan luas lingkaran tersebut pada tengah-tengah
layar. Untuk menampilkan data real, hindari penampilan 0000000+00.
25
3. Nomor Program 3
Buatlah program yang akan menerima masukan berupa data nilai matakuliah untuk 3 orang
mahasiswa. Kemudian carilah rata-rata dari nilai tersebut. Tampilkan nilai rata-rata tersebut
pada layar sudut kiri paling bawah!
26
4. Nomor Program 4
Buatlah program untuk menanyakan biodata mahasiswa yang meliputi : nama, nomor induk
mahasiswa, tanggal lahir, asal, jurusan, program studi, IPK. Kemudian menampilkan
kembali data tersebut ke layar.
27
28
MODUL IV
STRUKTUR KENDALI
PERCABANGAN BERSYARAT DENGAN
IF ... THEN DAN IF ... THEN ... ELSE ...
A. TUJUAN
1. Memahami salah satu jenis statement kendali untuk pemilihan proses
2. Memahami proses pengambilan keputusan dengan statement if ... then ... else ...
3. Memahami variasi proses pengambilan keputusan dalam bentuk tunggal
4. Mampu mengaplikasikan proses pengambilan keputusan dalam program
B. DASAR TEORI
Sebuah program sering kali harus dapat memilih pernyataan mana yang akan dikerjakan
berdasarkan suatu kondisi logika tertentu, misalnya bagaimana membuat program untuk
mengetahui bilangan mana yang lebih besar di antara 2 (dua) buah bilangan.
Untuk menyelesaikan persoalan di atas, Pascal menyediakan fasilitas pengambilan
keputusan, yaitu dengan statement IF ... THEN ... ELSE ...
Bentuk umum untuk IF ... THEN ...
IF (ekspresi logika) THEN
BEGIN
bagian yang dikerjakan
jika ekspresi logika bernilai benar (TRUE)
END;
Bentuk umum untuk IF ... THEN ... ELSE ...
IF (ekspresi logika) THEN
BEGIN
bagian yang dikerjakan
jika ekspresi logika bernilai benar (TRUE)
END {tanpa titik koma}
ELSE
BEGIN
bagian yang dikerjakan
jika ekspresi logika bernilai salah (FALSE)
END;
C. LATIHAN SOAL
1. Nomor Program 0401
a. Tulislah program berikut ini, kemudian amati outputnya!
PROGRAM tanya;
USES CRT;
VAR a : real;
BEGIN
CLRSCR;
WRITE(‘Masukkan sebuah bilangan di bawah 100! ’);
READLN(a);
IF a<100 THEN
WRITE(‘Terima Kasih’);
READLN;
END.
29
b. Apa yang terjadi jika anda memasukkan nilai kurang dari 100, jelaskan!
Akan tampil dilayar “Terima Kasih”.
c. Apa yang terjadi jika anda memasukkan nilai lebih dari 100, jelaskan!
Program keluar atau program berhenti memproses.
2. Nomor Program 0402
a. Tulislah program berikut ini, kemudian amati outputnya!
PROGRAM nilai_maksimal;
USES CRT;
VAR a, b, max : integer;
BEGIN
CLRSCR;
TEXTCOLOR(lightblue);
WRITE(‘Masukkan bilangan pertama : ’);READLN(a);
WRITE(‘Masukkan bilangan kedua : ‘);READLN(b);
IF a>b THEN
max:=a
ELSE
max:=b;
WRITELN(‘Bilangan terbesar adalah ‘,max);
READLN;
END.
30
b. Modifikasilah program di atas sehingga output yang ditampilkan adalah nilai terbesar
adalah bilangan pertama (jika bilangan pertama memiliki nilai terbesar) atau nilai
terbesar adalah bilangan kedua (jika bilangan kedua memiliki nilai terbesar)!
31
c. Gantilah bagian-bagian tertentu dari program di atas sehingga dapat digunakan untuk
menampilkan bilangan yang memiliki nilai terkecil!
3. Nomor Program 0403
a. Tulislah program berikut ini, kemudian amati outputnya!
PROGRAM nilai_ujian;
USES CRT;
VAR nilai : real;
nil_huruf : char;
BEGIN
CLRSCR;
WRITE(‘Tulis nilai ujian anda (0-100) : ‘);
READLN(nilai);
SOUND(1000); DELAY(1000); NOSOUND;
IF nilai>=80 THEN
nil_huruf:=’A’
ELSE IF nilai>=70 THEN
nil_huruf:=’B’
ELSE IF nilai>=60 THEN
nil_huruf:=’C’
ELSE IF nilai>=20 THEN
nil_huruf:=’D’
ELSE
nil_huruf:=’E’;
WRITELN(‘Nilai Anda : ‘,nil_huruf);
READLN;
END.
32
b. Modifikasilah program di atas sehingga apabila user memasukkan angka di atas 100,
maka program akan memberi pesan kesalahan!
33
4. Nomor Program 0404
Buatlah program yang akan menampilkan pesan apakah bilangan (0-65535) yang user
masukkan adalah bilangan genap atau ganjil!
5. Nomor Program 0405
34
Seorang karyawan bekerja di perusahaan X. Karyawan tersebut digaji dengan mengikuti
ketentuan PTKP (Penghasilan Tidak Kena Pajak) dan PKP (Penghasilan Kena Pajak). PTKP
berlaku bagi karyawan yang digaji di bawah 360000 per bulan, sedangkan bagi karyawan
yang gajinya adalah 360000 ke atas akan tergolong PKP, dengan pajak 10% dari
Penghasilan Kena Pajak (PKP). PKP = (Gaji-360000). Misalnya seorang karyawan digaji
sebesar 500000, maka PKP = 500000 – 360000 = 140000. Jadi, pajak yang harus dibayar =
140000 x 10% = 14000.
Berdasarkan kasus di atas, buatlah program untuk menentukan pajak yang harus dibayar
oleh karyawan, yang mana ketika program dijalankan, program akan meminta masukan dari
user berupa penghasilan perbulan. Berikut ini contoh output program :
dan
35
MODUL V
PERCABANGAN JAMAK
DENGAN CASE ... OF
A. TUJUAN
1. Memahami salah satu jenis statement kendali untuk pemilihan proses
2. Memahami proses pengambilan keputusan dengan statement case ... of
3. Memahami variasi proses pengambilan keputusan bersifat jamak
4. Mampu mengaplikasikan proses pengambilan keputusan dalam program
B. DASAR TEORI
Statement CASE merupakan alternatif dari statement IF dengan pilihan ganda/jamak.
Biasanya pada masalah tertentu, CASE akan lebih memberi kejelasan dibandingkan IF dan
semua permasalahan yang dibuat dengan CASE akan bisa juga dibuat dengan IF, tetapi tidak
semua permasalahan yang dibuat dengan IF bisa dibuat dengan CASE.
Bentuk umum dari CASE ... OF adalah :
CASE nama_variabel OF
nilai_variabel : statement-statement;
nilai_variabel : statement-statement;
ElsE statement-statement; {setelah ELSE tidak ada titik dua}
END;
Percabangan jamak dimaksudkan untuk mengecek isi dari suatu variabel. Variabel ini
biasanya disebut variabel selektor. Pada struktur di atas, variabel yang akan dicek isinya adalah
variabel dengan nama nama_variabel. Kemudian, isi variabel tersebut dicocokkan dengan
pilihan yang ada di bawahnya. Pada pilihan yang cocok, instruksi/statement yang berada setelah
tanda titik dua (:) akan dikerjakan. Jika tidak ada pilihan yang sesuai, maka statement yang akan
dikerjakan adalah statement pada pilihan ELSE.
C. LATIHAN SOAL
1. Nomor Program 0501
Keluarga Pak Hamid memiliki 3 orang anak berturu-turut, yaitu : Azam, Sarah, dan yang
bungsu bernama Hasim. Tulislah program berikut ini dan amatilah outputnya!
PROGRAM nama_anak;
USES CRT;
VAR no_anak : byte;
BEGIN
CLRSCR;
WRITELN('Program untuk mengetahui nama anak keluarga hamid');
WRITE('Tulis anak ke-');READLN(no_anak);
CASE no_anak OF
1 : WRITELN('Anak ke-',no_anak,' bernama Azam');
2 : WRITELN('Anak ke-',no_anak,' bernama Sarah');
3 : WRITELN('Anak ke-',no_anak,' bernama Hasim');
ELSE WRITELN('Hanya ada anak ke 1, 2, dan 3');
END;
36
READLN;
END.
2. Nomor Program 0502
Tulislah program berikut ini dan amatilah outputnya!
PROGRAM ramalan;
USES CRT;
VAR bln_anda, bln_pacar, nilai_ramal : byte;
nama_anda, nama_pacar : string[30];
BEGIN
CLRSCR;
WRITE('Siapa nama anda? ');READLN(nama_anda);
WRITE('Bulan ke berapa anda lahir? ');READLN(bln_anda);
WRITE('Siapa nama pacar anda? ');READLN(nama_pacar);
WRITE('Bulan ke berapa dia lahir? ');READLN(bln_pacar);
nilai_ramal:=(bln_anda + bln_pacar) mod 13;
CASE nilai_ramal OF
0 : WRITELN('Anda berdua tidak cocok');
1,3 : WRITELN('Anda berdua memang cocok');
5..7 : WRITELN('Kalian berdua harus saling mengalah');
2,4,8 : WRITELN('Cinta bukanlah segalanya. Berpikirlah logis!');
9..12 : WRITELN('Masa depan lebih penting bagi kalian');
END;
READLN;
END.
37
3. Nomor Program 0503
Buatlah program yang mirip dengan nomor program 0403, tetapi dengan menggunakan
percabangan jamak CASE ... OF!
4. Nomor Program 0504
Buatlah program yang menampilkan output untuk meminta masukan dari user berupa nomor
urut hari dan akan menghasilkan output nama hari yang sesuai, yaitu : 1 = minggu, 2 =
senin, 3 = selasa, 4 = rabu, 5 = kamis, 6 = jumat, 7 = sabtu.
38
5. Nomor Program 0505
Buatlah program yang menampilkan output untuk meminta masukan dari user berupa nomor
urut bulan dan akan menghasilkan output nama bulan yang sesuai. Misalnya yang
diinputkan adalah 4, maka hasilnya adalah April.
6. Nomor Program 0506
Buatlah program untuk memberi komentar nilai huruf yang diinputkan oleh user dengan
komentar sebagai berikut :
NILAI KOMENTAR
A Istimewa
B Baik
C Cukup
D Kurang
E Tidak Lulus
Apabila yang diinputkan tidak sesuai, beri pesan khusus!
39
7. Nomor Program 0507
Buatlah program untuk menghitung besarnya gaji pokok, tunjangan jabatan, dan gaji total
seorang karyawan sesuai dengan tabel sebagai berikut :
Golongan Gaji Pokok Tunjangan Jabatan
1 100000 5%
2 120000 10%
3 150000 10%
4 175000 10%
5 200000 10%
6 220000 13%
7 250000 17%
Output :
Berapa golongan anda? 1 <- meminta input dari user
Gaji Pokok : 100000
Tunjangan Jabatan : 10000
Gaji Total : 110000
40
MODUL VI
PERULANGAN
DENGAN FOR ... TO ... DO ...
A. TUJUAN
1. Memahami salah satu jenis statement perulangan dalam Pascal
2. Memahami proses perulangan dengan jumlah yang diketahui
3. Mampu mengaplikasikan proses perulangan dalam program Pascal
B. DASAR TEORI
Proses perulangan adalah suatu proses dimana komputer akan mengeksekusi satu atau lebih
statement berulang kali, sampai suatu kondisi yang telah ditentukan terpenuhi.
Bentuk umum dari FOR ... TO ... DO ... adalah sebagai berikut :
FOR var_penghitung := nilai_awal TO nilai_akhir DO
BEGIN
Statement1;
Statement2;
...
END;
Blok adalah bagian yang diapit oleh BEGIN dan END; yang merupakan bagian yang akan
dikerjakan secara berulang-ulang. Blok tersebut berisi statement-statement Pascal dan
merupakawn satu kesatuan.
blok
41
var_penghitung adalah variabel yang menghitung banyaknya perulangan yang diminta.
var_penghitung merupakan variabel yang bertipe integer. Isi var_penghitung akan selalu
bertambah 1 setiap kali perulangan dilakukan.
nilai_awal dan nilai_akhir merupakan suatu nilai yang menentukan banyaknya perulangan
yang terjadi. Banyaknya perulangan yang terjadi adalah (nilai_akhir – nilai_awal + 1).
C. LATIHAN SOAL
1. Nomor Program 0601
a. Tulislah program berikut ini, dan amatilah outputnya!
PROGRAM ulang_nama;
USES CRT;
VAR i : integer; nama : string[30];
BEGIN
CLRSCR;
nama:=’Zahratussita’;
FOR i := 1 to 5 do
WRITELN(nama);
READLN;
END.
b. Bagaimana output program apabila angka 5 diganti dengan angka 10?
2. Nomor Program 0602
a. Tulislah program berikut ini, dan amatilah outputnya!
PROGRAM urutangka;
USES CRT;
VAR i : integer;
BEGIN
CLRSCR;
FOR i := 1 to 5 DO WRITELN(i:10);
READLN;
END.
42
b. Apa output dari program di atas?
3.
Nomor Program 0603
Buatlah program perulangan untuk menghasilkan output sebagai berikut :
1. Politeknik Negeri Pontianak
2. Politeknik Negeri Pontianak
3. Politeknik Negeri Pontianak
4. Politeknik Negeri Pontianak
5. Politeknik Negeri Pontianak
4. Nomor Program 0604
a. Tulislah program berikut dan amati outputnya!
PROGRAM urut;
USES CRT;
VAR i : intger;
BEGIN
CLRSCR;
FOR i := 1 to 10 DO
BEGIN
GOTOXY(40,i);
WRITE(i:10);
END;
43
END.
b. Gantilah statement GOTOXY(40,i); menjadi GOTOXY(40,i+1); Bagaimana hasilnya?
c. Bagaimana jika i ditambah 2?
5. Nomor Program 0605
Buatlah program untuk menampilkan hasil sebagai berikut :
100
200
300
400
44
6. Nomor Program 0606
Buatlah program untuk menampilkan hasil sebagai berikut :
1000
2000
3000
4000
7. Nomor Program 0607
a. Tulislah program berikut dan amatilah outputnya!
PROGRAM akumulator;
USES CRT;
VAR accumulator, i, n : integer;
BEGIN
CLRSCR;
accumulator:=0;
n:=10;
FOR i := 1 TO n DO
accumulatr:=accumulator+i;
45
WRITELN(‘Nilai pengumpul atau akumulator adalah : ‘, accumulator);
READLN;
END.
b. Bagaimana jika nilai n diganti menjadi 100?
8. Nomor Program 0608
Tulislah program berikut dan amatilah outputnya!
PROGRAM tampil_ascii;
USES CRT;
VAR huruf : char; i : integer;
BEGIN
CLRSCR;
FOR i := 1 to 10 DO
BEGIN
WRITE(‘Tulis sebuah huruf : ‘);
huruf:=readkey;
WRITELN(‘Kok hurufnya tidak muncul?’);
SOUND(300); DELAY(1000); NOSOUND;
SOUND(600); DELAY(1500); NOSOUND;
WRITELN;
WRITELN(‘Huruf yang anda masukkan adalah huruf ‘,huruf);
WRITELN(‘No ASCII dr huruf di atas adalah ‘,ord(huruf));
END;
READLN;
END.
46
9. Nomor Program 0609
Buatlah program untuk menghitung perpangkatan dengan a pangkab b (ab). Dengan catatan
b adalah bilangan bulat.
10. Nomor Program 0610
Buatlah program perulangan untuk menampilkan tabel data buku tabungan dengan saldo
awal 100 ribu dan bunga per bulan adalah 2 %.
Bulan Saldo Awal Bulan Saldo Akhr Bulan
Januari 100000.00 102000.00
Februari 102000.00 104040.00
Maret 104040.00 106120.00
47
MODUL VII
PERULANGAN
DENGAN FOR ... TO ... DO ... BERGANDA
A. TUJUAN
1. Memahami prroses perulangan berganda dengan jumlah yang diketahui
2. Mampu mengaplikasikan proses perulangan berganda dalam Pascal
3. Mampu mengimplementasikan kasus ke dalam bentuk program Pascal
B. DASAR TEORI
Bentuk umum dari FOR ... TO ... DO ... berganda adalah sebagai berikut :
FOR var_penghitung1 := nilai_awal1 TO nilai_akhir2 DO
FOR var_penghitung2 := nilai_awal2 TO nilai_ahir2 DO
BEGIN
Statement1;
Statement2
...
END;
Pada perulangan berganda, dibutuhkan minimal 2 buah variabel penghitung, tergantung
jumlah FOR ... TO ... DO ... dalam program tersebut. Nilai awal dan nilai akhir pada masing-
masing perulangan bisa sama.
Kasus yang biasa diselesaikan dengan perulangan berganda adalah persoalan matriks.
C. LATIHAN SOAL
1. Nomor Program 0701
a. Tulislah program berikut dan amatilah outputnya!
PROGRAM deret_bintang;
USES CRT;
VAR karakter : char;
baris, i, j, kolom : integer;
BEGIN
CLRSCR;
FOR i := 1 TO 5 DO
BEGIN
FOR j := 1 TO 20 DO
BEGIN
TEXTCOLOR(i);
WRITE(‘*’);
END;
WRITELN;
END;
READLN;
END.
48
b. Ubahlah nilai variabel penghitung i, mulai 1 s.d. 20. Kemudian ubah juga nilai variabel
penghitung j, mulai 1 s.d. 5. Bagaimana outputnya, apa kesimpulan anda?
2. Nomor Program 0702
Buatlah program untuk menampilkan output seperti berikut :
1234567890
1234567890
1234567890
3. Nomor Program 0703
Buatlah program untuk menampilkan output seperti berikut :
1111111111
1111111111
111111111
49
4. Nomor Program 0704
Buatlah program untuk menampilkan output seperti berikut :
*
* *
* * *
* * * *
* * * * *
5. Nomor Program 0705
Buatlah program untuk menampilkan output seperti berikut :
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
50
6. nomor Program 0706
Buatlah program untuk menampilkan output seperti berikut :
1 = 1
1 2 = 3
1 2 3 = 6
1 2 3 4 = 10
1 2 3 4 5 = 15
51
MODUL VIII
TIPE DATA (BAG. 2)
LARIK
A. TUJUAN
1. Mengenal tipe data terstruktur menggunakan larik
2. Memahami larik dimensi satu
3. Memahami penggunaan larik dalam program
B. DASAR TEORI
Larik adalah deretan rinci data yang mempunyai tipe data sejenis. Setiap rinci data disebut
dengan komponen atau elemen larik. Setiap larik bisa dioperasikan dengan pemilih larik yang
disebut index.
Bentuk umum larik dimensi satu :
TYPE
nama_larik = array[awal .. akhir] of tipe_data;
VAR
nama_variabel : nama_larik;
atau
VAR nama_variabel : array of [awal .. akhir] of tipe_data;
Gambaran larik dimensi satu adalah sebagai berikut :
Data
[1]
Data
[2]
.......................
Data
[n-1]
Data
[n]
1 2 n-1 n <----- index
Index pada larik tergantung dari nilai awal dan akhir pada deklarasi tipe larik. Nilai index harus
berupa bilangan bulat yang dapat dimulai pada bilangan negatif, nol atau positif.
C. LATIHAN SOAL
1. Nomor Program 0801
Tulislah program berikut dan amatilah outputnya!
PROGRAM isilarik;
USES CRT;
TYPE
larik = array [1..10] of integer;
VAR nilai : larik;
nilai : integer;
BEGIN
CLRSCR;
nilai[1]:=3;
nilai[2]:=2*nilai[1];
nilai[3]:=2;
nilai[4]:=nilai[1]+nilai[2];
nilai[5]:=nilai[4];
nilai[6]:=nilai[nilai[1]];
nilai[7]:=nilai[2] – nilai[4];
nilai[8]:=23;
nilai[9]:=nilai[3+4];
nilai[10]:=nilai[9];
52
FOR i := 1 to 10 do
WRITELN(‘Nilai index ke- ‘,i,’ = ‘,nilai[i]:5);
READLN;
END.
2. Nomor Program : -
Lengkapilah tabel larik berikut dengan memperhatikan statement di atasnya :
a[1] := 5;
a[2] := 4 – nilai[1];
a[3] := 0;
a[4] := nilai[2];
a[5] := nilai[4-nilai[3]];
a[6] := nilai[nilai[1]-2];
a[7] := nilai[1] * nilai[];
a[8] := nilai[2];
a[9] := nilai[3+4];
a[10] := 9;
1 2 3 4 5 6 7 8 9 10
3. Nomor Program 0802
Buatlah larik dengan kapasitas 10 ruang. Gunakan tipe data string[30] untuk larik
tersebut. Kemudian, isilah masing-masing ruang dalam larik dengan nama-nama teman
anda. Buatlah program dengan ketentuan tersebut dan jangan lupa tampilkan isi larik yang
berupa nama-nama anda tersebut.
4. Nomor Program 0803
Buatlah larik string dengan kapasitas 12 ruang. Isilah masing-masing ruang data dengan
nama-nama bulan. Kemudian buatlah program untuk menampilkan hasil sebagai berikut :
Tulis bulan ke- : 2  angka 2 diinputkan oleh user
Bulan ke-2 adalah FEBRUARI
........................................................................................................................
........................................................................................................................
53
5. Nomor Program 0804
1. Tulislah program berikut dan amatilah outputnya!
PROGRAM rata_rata_nilai;
USES CRT;
TYPE
larik = array[1..100] of real;
VAR nilai : larik;
total : real;
i, jml_mhs : integer;
BEGIN
CLRSCR;
total:=0;
WRITE(‘Berapa jumlah mahasiswa? ‘); READLN(jml_mhs);
FOR i := 1 to jml_mhs DO
BEGIN
WRITE(‘Masukkan nilai ke- ‘,i,’ ‘); READLN(nilai[i]);
total:=total+nilai[i];
END;
WRITE(‘Nilai rata-rata dari ‘,jml_mhs,’ adalah ‘,total/jml_mhs);
READLN;
END.
2. Modifikasilah program di atas sehingga rata-ratanya ditampilkan dengan 2 digit angka di
belakang koma.
6. Nomor Program 0805
Buatlah larik dengan tipe data integer yang akan menampung nilai praktikum 10 mahasiswa.
Namailah larik ini sebagai larik_nilai. Buatlah 1 larik lagi dengan jenis dan isi yang sama
seperti nomor program 0802 dan namailah dengan larik_nama. Ketentuannya adalah : pada
larik_nilai, index-1 adalah nilai dari nama yang tercantum pada larik_nama. Begitu juga
pada index-2, adalah nilai dari nama yang tercantum pada larik_nama pada index-2 dan
begitu seterusnya. Maka buatlah program untuk menampilkan nama-nama dan nilainya serta
nilai rata-rata dari keseluruhan nilai. Contoh output :
Daftar Nilai Praktikum Pascal
Andi 80
Bambang 75
Basuki 80
54
Cahyono 60
Dadang 85
Endah 80
Gara 90
Naruto 85
Sakura 90
Sasuke 100
Nilai rata-rata adalah 82.50
7. Nomor Program 0806
Buatlah program yang akan mencari :
a. rata-rata dari 10 bilangan yang diinputkan
b. nilai maksimum dari bilangan tersebut, serta menyebutkan pada urutan ke berapa nilai
tersebut
c. nilai minimum dari 10 bilangan tersebut, serta menyebutkan pada urutan ke berapa nilai
tersebut
55
8. Nomor Program 0807
Buatlah sebuah larik dengan kapasitas 100 ruang data yang bertipe data integer. Isilah nilai
larik pada index ke-1 dan index ke-2 dengan bilangan 1. Larik ini akan mengisi index ke-3
dan seterusnya berdasarkan penjumlahan pada dua buah bilangan sebelumnya, sehingga
menjadi sebuah deret yang dinamakan dengan deret Fibonacci. Kemudian tampilkan deret
tersebut!
56
57
MODUL IX
LARIK MULTI DIMENSI
A. TUJUAN
1. Mengenal tipe data terstruktur menggunakan larik multi dimensi
2. Memahami penggunaan larik multi dimensi
3. Mampu mengimplementasikan permasalahan dengan larik multi dimensi
B. DASAR TEORI
Pada modul sebelumnya, anda telah mempelajari larik 1 dimensi, yaitu hanya memiliki 1
index saja. Pada modul ini akan mempelajari larik multi dimensi, yang memiliki lebih dari 1
index. Larik multi dimensi yang akan dipelajari adalah larik 2 dimensi.
Larik 2 dimensi ini biasa digunakan untuk menyelesaikan persoalan tentang matrik.
Instruksi yang digunakan biasanya adalah instruksi perulangan dengan FOR ... TO ... DO ...
berganda. Berikut ini gambaran larik 2 dimensi :
Data
[1,1]
Data
[1,2]
........ Data
[1,n-1]
Data
[1,n]
Data
[2,1]
Data
[2,2]
........ Data
[2,n-1]
Data
[2,n]
........ ........ ........ ........ ........
Data
[m-1,1]
Data
[m-1,2]
........ Data
[m-1,n-1]
Data
[m-1,n]
Data
[m,1]
Data
[m,2]
........ Data
[m, n-1]
Data
[m,n]
1 2 ........ n-1 n
Perhatikan baik-baik gambar di atas. Index pada larik dua dimensi merupakan index dari baris
dan index dari kolom. Jika index-nya adalah [m,n], maka m melambangkan nomor baris dan n
melambangkan nomor kolom. Bentuk umum dari larik 2 dimensi adalah :
TYPE
nama_larik = array[aw_brs..ak_brs, aw_klm..ak_klm] of tipe_data;
VAR
nama_variabel : nama_lari;
C. LATIHAN SOAL
1. Nomor Program : -
Perhatikan statement program berikut, kemudian isiah tabel 2 dimensi yang diberikan!
larik[1,1]:=10; larik[1,2]:=2;
larik[1,3]:=6; larik[1,4]:=33;
larik[2,1]:=17; larik[2,2]:=5;
larik[2,3]:=26; larik[2,4]:=9;
larik[3,1]:=11; larik[3,2]:=-4;
larik[3,3]:=31; larik[3,4]:=18;
1
2
3
1 2 3 4
2. Nomor Program 0901
a. Tulislah program berikut dan amatilah outputnya!
PROGRAM matriks3x4;
1
2
m
m-1
58
USES CRT;
TYPE
matriks = array[1..3, 1..4] of integer;
VAR
larik : matriks; i, j : integer;
BEGIN
CLRSCR;
larik[1,1]:=10; larik[1,2]:=2;
larik[1,3]:=6; larik[1,4]:=33;
larik[2,1]:=17; larik[2,2]:=5;
larik[2,3]:=26; larik[2,4]:=9;
larik[3,1]:=11; larik[3,2]:=-4;
larik[3,3]:=31; larik[3,4]:=18;
FOR i := 1 to 3 DO
BEGIN
WRITELN(‘Baris ke- ‘,i:5);
FOR j := 1 TO 4 DO WRITE(larik[i,j]:5); WRITELN;
END;
READLN;
END.
b. Modifikasilah program di atas agar matriks yang ditampilkan adalah isi matriks yang
sudah dikalikan dengan 3.
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
3. Nomor Program 0902
Buatlah dua buah matriks dengan ordo yang sama, yaitu 3x2. Isilah dengan nilai integer.
Tulislah program untuk menjulahkan dua buah matriks tersebut dan tampilkan hasilnya!
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
59
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
4. Nomor Program 0903
Buatlah dua buah matriks dengan ordo yang sama, yaitu 2x4. Isilah dengan nilai integer.
Tulislah program untuk mengurangkan dua buah matrik tersebut dan tampilkan hasilnya!
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
60
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
5. Nomor Program 0904
Buatlah dua buah matriks yang masing-masing berordo 3x2 dan 3x2. Isilah dengan nilai
integer. Tulislah program untuk mengalikan dua buah matriks tersebut. Apabila anda sudah
memahami cara mengalikan matriks, anda bisa langsung mengerjakan program ini!
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
61
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
6. Nomor Program 0905
Tulislah program berikut dan amatilah outputnya!
PROGRAM data_nilai;
USES CRT;
TYPE
larik1 = array[1..10] of string;
larik2 = array[1..10,1..3] of real;
VAR
nama : larik1;
nilai : larik2;
total : real;
jml_mhs, i, j : integer;
BEGIN
CLRSCR;
WRITE(‘Berapa jumlah mahasiswa(max 10 orang)? ’);
READLN(jml_mhs);
FOR i := 1 DO jml_mhs DO
BEGIN
CLRSCR;
WRITE(‘Nama mahasiswa : ‘); READLN(nama[i]);
FOR j := 1 TO 3 DO
BEGIN
WRITE(‘Masukkan nilai ke- ‘,j,‘ ‘);
READLN(nilai[i,j]);
END;
END;
CLRSCR;
WRITELN(‘Data-Data Mahasiswa’);
FOR i := 1 TO jml_mhs DO
BEGIN
62
WRITELN(nama[i]);
FOR j := 1 TO 3 DO
WRITE(nilai[i,j],‘ ‘);
WRITELN;
END;
READLN;
END.
7. Nomor Program 0906
Setiap kelas pada praktikum pemrograman 1 terdiri dari 15 orang mahasiswa. Nilai akhir
dari tiap-tiap mahasiswa ditentukan oleh 3 buah tes, yaitu tes tertulis pada pertengahan
praktikum, nilai ujian tengah semester untuk praktek, dan nilai ujian akhir untuk praktek.
Dari ketiga nilai tersebut akan dicari rata-ratanya. Jika nilainya lebih besar atau sama dengan
60, maka mahasiswa tersebut dinyatakan lulus. Tetapi jika nilai rata-ratanya lebih kecil dari
60, maka dinyatakan tidak lulus. Buatlah program yang akan menampung data-data
mahasiswa tersebut, kemudian setelah data-datanya anda inputkan, tentukan berapa orang
mahasiswa yang lulus dan tidak lulus serta tampilkan output data-data mahasiswa lengkap
secara lengkap!
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
63
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
PERULANGAN
DENGAN WHILE ... DO ...
A. TUJUAN
1. Memahami statement perulangan dengan while ... do ... dalam Pascal
2. Memahami proses perulangan dengan jumlah yang tidak diketahui
3. Mampu mengaplikasikan proses perulangan dalam program Pascal
B. DASAR TEORI
Pada modul sebelumnya, anda telah mempelajari perulangan dengan menggunakan FOR ...
TO ... DO ... Perulangan menggunakan FOR ... TO ... DO ... cocok untuk digunakan jika jumlah
perulangannya telah diketahui. Banyak masalah yang terjadi jika jumlah perulangannya tidak
diketahui secara pasti sebelum blok perulangan itu dijalankan.
Perulangan dengan jumlah yang tidak diketahui dapat menggunakan statement WHILE ...
DO ... Bentuk umum dari WHILE ... DO ... adalah :
WHILE (ekspresi logika) DO
BEGIN
Statement1;
Statement2;
...
END;
Mula-mula, komputer akan mengamati nilai logika dari (ekspresi logika). Jika bernilai benar
atau TRUE, maka blok perulangan akan dikerjakan. Setelah blok perulangan dikerjakan,
komputer akan mengamati kembali ekspresi logika pada (ekspresi logika). Jika bernilai benar,
maka blok perulangan dikerjakan kembali. Kemudian mengamati kembali nilai (ekspresi
logika). Jika (ekspresi logika) bernilai salah atau FALSE, maka blok perulangan tidak akan
dikerjakan lagi.
C. LATIHAN SOAL
1. Nomor Program 1001
a. Tulislah program berikut dan amatilah outputnya!
PROGRAM while_do;
USES CRT;
blok perulangan
64
VAR i : intger;
BEGIN
CLRSCR;
i := 3;
WHILE (i < 10) DO
BEGIN
WRITELN(i:10);
i := i * 5;
END;
READLN;
END.
b. Jika statement i := 3; diganti menjadi i := 30; bagaiman outputnya? Mengapa ?
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
c. Jika statement i := i * 5; diganti menjadi i := i + 1; bagaimana outputnya?
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
2. Nomor Program 1002
Buatlah program untuk menampilkan angka dari 1 s.d. 10 dengan mengguankan WHILE ...
DO ...
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
3. Nomor Program 1003
a. Tulislah program berikut dan amati outputnya!
PROGRAM balik_nama;
USES CRT;
TYPE
larik = array[1..30] of char;
VAR
nama : larik;
c : char;
index, jml_huruf, i : integer;
BEGIN
CLRSCR;
index := 1;
c := ‘a’;
WRITELN(‘Tulis nama anda. Akhiri dengan spasi. Lalu tekan enter’);
WHILE (c <> ‘ ‘) DO
BEGIN
c := readkey; WRITE(‘x’);
nama[index] := c;
index := index + 1;
65
END;
jml_huruf := index;
WRITELN;
WRITELN(‘Ini lho nama kamu...’);
i := 1;
WHILE (i <= jml_huruf) DO
BEGIN
WRITE(nama[i]);
INC(i);
END;
READLN;
END.
Perhatikan statement inc(i). Statement tersebut berupa sebuah prosedur, yaitu
procedure inc(i) yang berguna untuk menambahkan nilai variabel sebesar 1,
sehingga artinya sama dengan i := i + 1;
b. Modifikasilah program tersebut sehingga nama yang ditampilkan adalah nama secara
terbalik.
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
4. Nomor Program 1004
Buatlah program untuk meminta masukan berupa nama, kemudian tampilkan kebalikan dari
input tersebut. Berikut ini contoh tampilannya :
66
Nama anda : MANDRA  MANDRA diinputkan user, lalu <ENTER>
Kebalikan : ARDNAM
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
5. Nomor Program 1005
Buatlah program untuk meminta masukan kata password. Jika kata password yang
diinputkan benar, maka tampilkan pesan benar. Jika kata password yang diinputkan salah,
komputer akan meminta masukan sekali lagi. Maksimal masukkan adalah tiga kali.
Tampilkan input dengan karakter ‘*’. Berikut ini contoh output program :
Masukkan password : *****
Salah. Ulangi sekali lagi!
67
Masukkan password : ***
Benar.
6. Nomor Program 1006
Buatlah program untuk mengecek kata yang dimasukkan. Jika kata yang dimasukkan adalah
PALINDROM, maka tampilkan pesan benar. Jika kata yang dimasukkan bukan
PALINDROM, maka tampilkan pesan kesalahan. PALINDROM adalah kata/kalimat yang
dibaca dari arah kiri maupun kanan bunyinya sama. Contoh : KATAK, MALAM, XXZXX,
AMIKIMA, KASURRUSAK, dan seterusnya.
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
PERULANGAN
DENGAN REPEAT ... UNTIL ...
A. TUJUAN
1. Memahami statement perulangan dengan repeat ... until ... dalam Pascal
2. Memahami proses perulangan dengan jumlah yang tidak diketahui
3. Mampu mengaplikasikan proses perulangan dalam program Pascal
B. DASAR TEORI
Bentuk umum dari REPEAT ... UNTIL ... adalah sebagai berikut :
REPEAT
blok perulangan
68
Statement1;
Statement2;
...
UNTIL (ekspresi logika)
Blok perulangan dalam repeat until tidak memerlukan BEGIN dan END sebagai tanda
bagian yang diulang, sebab repeat until itu sendiri sudah menjadi pembatas bagian yang diulang.
Cara kerja perulangan repeat until adalah mula-mula blok perulangan dilaksanakan. Setelah
itu baru ekspresi logika dicek. Apabila ekspresi logika SALAH atau FALSE, maka blok
perulangan dikerjakan. Apabila ekspresi logika bernilai BENAR atau TRUE, maka blok
perulangan tidak dikerjakan lagi.
C. LATIHAN SOAL
1. Nomor Program 1101
a. Tulislah program berikut ini dan amatilah outputnya!
PROGRAM repeat_until;
USES CRT;
VAR i : integer;
BEGIN
CLRSCR;
i := 3;
REPEAT
WRITELN(i:10);
INC(i);
UNTIL (i < 10);
READLN;
END.
b. Jika statement i := 3; diganti menjadi i := 30; dan statement INC(i); diganti
menjadi DEC(i); bagaimana outputnya?
Keterangan : fungsi DEC(i) berguna untuk mengurangi nilai variabel dengan 1.
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
69
..................................................................................................................
2. Nomor Program 1102
a. Tulislah program berikut dan amatilah outputnya!
PROGRAM tebakan;
USES CRT;
VAR bilangan, tebak : integer;
BEGIN
CLRSCR;
RANDOMIZE;
bilangan := random(10) + 1;
WRITELN(‘Saya memiliki sebuah bilangan antara 1-10. Coba tebak! ‘);
REPEAT
WRITE(‘Tebakan anda adalah : ‘); READLN(tebak);
IF tebak <> bilangan THEN
WRITELN(‘Tebakan salah. Coba tebak lagi.’)
ELSE
WRITELN(‘Kamu is the best. Tebakanmu tepat.’);
UNTIL (tebak = bilangan);
READLN;
END.
Program di atas menggunakan prosedur randomize yang berguna untuk menghasilkan
bibit bilangan random atau acak. Bilangan acak tersebut nanti dihasilkan oleh fungsi
random(10). Fungsi random(10) akan menghasilkan bilangan bulat acak dari 0 s.d. 9.
b. Modifikasilah program di atas untuk menebak tanggal lahir. Nilai tanggal tentunya
dimulai dari angka 1 s.d. 31. Petunjuk : gunakan fungsi random() dengan nilai variabel
yang sesuai.
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
3. Nomor Program 1103
Buatlah program untuk menampilkan bilangan genap sempai nilai tertentu yang diinputkan.
Contoh output :
Masukkan bilangan tertinggi : 11  11 diinput oleh user
Deret bilangan genap : 0 2 4 6 8 10
Modul lengkap
Modul lengkap
Modul lengkap
Modul lengkap
Modul lengkap
Modul lengkap
Modul lengkap
Modul lengkap
Modul lengkap
Modul lengkap

Más contenido relacionado

La actualidad más candente

Laporan praktikum v visual basic
Laporan praktikum v visual basicLaporan praktikum v visual basic
Laporan praktikum v visual basic
rahmi wahyuni
 
Pengenalan ms word
Pengenalan ms wordPengenalan ms word
Pengenalan ms word
mutia123
 
Komponen Perangkat Lunak
Komponen Perangkat LunakKomponen Perangkat Lunak
Komponen Perangkat Lunak
Gemi Siksmat
 
Soal uts praktikum pemrograman web
Soal uts praktikum pemrograman webSoal uts praktikum pemrograman web
Soal uts praktikum pemrograman web
dedidarwis
 
03 rangkaian kombinasional
03   rangkaian kombinasional03   rangkaian kombinasional
03 rangkaian kombinasional
opekdoank
 

La actualidad más candente (20)

Ms excel presentasi
Ms excel presentasiMs excel presentasi
Ms excel presentasi
 
Dasar dasar dan aplikasi word-power point
Dasar dasar dan aplikasi word-power pointDasar dasar dan aplikasi word-power point
Dasar dasar dan aplikasi word-power point
 
Modul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeansModul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeans
 
Penggunaan tipe data dan variabel
Penggunaan tipe data dan variabelPenggunaan tipe data dan variabel
Penggunaan tipe data dan variabel
 
Pertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur PerulanganPertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur Perulangan
 
PPT MS EXCEL.pdf
PPT MS EXCEL.pdfPPT MS EXCEL.pdf
PPT MS EXCEL.pdf
 
Laporan praktikum v visual basic
Laporan praktikum v visual basicLaporan praktikum v visual basic
Laporan praktikum v visual basic
 
Kumpulan program-pascal
Kumpulan program-pascalKumpulan program-pascal
Kumpulan program-pascal
 
modul-excel-dasar.ppt
modul-excel-dasar.pptmodul-excel-dasar.ppt
modul-excel-dasar.ppt
 
Pengenalan ms word
Pengenalan ms wordPengenalan ms word
Pengenalan ms word
 
Microsoft Word
Microsoft WordMicrosoft Word
Microsoft Word
 
Ddp percabangan if else - switch case
Ddp   percabangan if else - switch caseDdp   percabangan if else - switch case
Ddp percabangan if else - switch case
 
Laporan praktikum iv.2 visual
Laporan praktikum iv.2 visualLaporan praktikum iv.2 visual
Laporan praktikum iv.2 visual
 
Komponen Perangkat Lunak
Komponen Perangkat LunakKomponen Perangkat Lunak
Komponen Perangkat Lunak
 
Soal uts praktikum pemrograman web
Soal uts praktikum pemrograman webSoal uts praktikum pemrograman web
Soal uts praktikum pemrograman web
 
Tugas laporan uas pbo
Tugas laporan uas pboTugas laporan uas pbo
Tugas laporan uas pbo
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1
 
03 rangkaian kombinasional
03   rangkaian kombinasional03   rangkaian kombinasional
03 rangkaian kombinasional
 
Materi lengkap tentang power point
Materi lengkap tentang power pointMateri lengkap tentang power point
Materi lengkap tentang power point
 
Tutorial Matlab
Tutorial MatlabTutorial Matlab
Tutorial Matlab
 

Destacado (7)

Modul c++
Modul c++Modul c++
Modul c++
 
Modul algo c++
Modul algo c++Modul algo c++
Modul algo c++
 
Modul pascal lengkap
Modul pascal lengkapModul pascal lengkap
Modul pascal lengkap
 
Kelas6 mtk supardjo
Kelas6 mtk supardjoKelas6 mtk supardjo
Kelas6 mtk supardjo
 
Mat kelas-6
Mat kelas-6Mat kelas-6
Mat kelas-6
 
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
 
15. modul bahasa pemrograman (java)
15. modul bahasa pemrograman (java)15. modul bahasa pemrograman (java)
15. modul bahasa pemrograman (java)
 

Más de Fisma Ananda (20)

Bab 13 etika komputer
Bab 13   etika komputerBab 13   etika komputer
Bab 13 etika komputer
 
Bab 12 keamanan komputer
Bab 12   keamanan komputerBab 12   keamanan komputer
Bab 12 keamanan komputer
 
Bab 11 bahasa pemograman
Bab 11   bahasa pemogramanBab 11   bahasa pemograman
Bab 11 bahasa pemograman
 
Bab 10 internet
Bab 10   internetBab 10   internet
Bab 10 internet
 
Bab 9 jaringan komputer
Bab 9   jaringan komputerBab 9   jaringan komputer
Bab 9 jaringan komputer
 
Bab 8 komunikasi data
Bab 8   komunikasi dataBab 8   komunikasi data
Bab 8 komunikasi data
 
Bab 7 organisasi file
Bab 7   organisasi fileBab 7   organisasi file
Bab 7 organisasi file
 
Bab 6 sistem bilangan
Bab 6   sistem bilanganBab 6   sistem bilangan
Bab 6 sistem bilangan
 
Bab 5 software
Bab 5   softwareBab 5   software
Bab 5 software
 
Bab 4 hardware
Bab 4   hardwareBab 4   hardware
Bab 4 hardware
 
Bab 3 komputer dan bagian-bagiannya
Bab 3   komputer dan bagian-bagiannyaBab 3   komputer dan bagian-bagiannya
Bab 3 komputer dan bagian-bagiannya
 
Modul xiii
Modul xiiiModul xiii
Modul xiii
 
Modul xii
Modul xiiModul xii
Modul xii
 
Modul xi
Modul xiModul xi
Modul xi
 
Modul x
Modul xModul x
Modul x
 
Modul viii
Modul viiiModul viii
Modul viii
 
Modul vii
Modul viiModul vii
Modul vii
 
Modul vi
Modul viModul vi
Modul vi
 
Modul ix
Modul ixModul ix
Modul ix
 
Modul iv
Modul ivModul iv
Modul iv
 

Modul lengkap

  • 1. 1 MODUL I MEMULAI PROGRAM PASCAL A. TUJUAN 1. Mengenal bahasa pemrograman Pascal 2. Memahami struktur program Pascal 3. Mampu membuat program Pascal sederhana B. DASAR TEORI 1. Struktur Program Pascal PROGRAM nama_program; USES unit1, unit2, unit3; CONST Deklarasi konstanta; TYPE Deklarasi type data; VAR Deklarasi variabel; BEGIN Instruksi program Pascal pernyataan/statement END. 2. Menjalankan Turbo Pascal a. Dari menu Start > All Programs > Accessories > Command Prompt b. Kemudian masuklah ke direktori yang tepat. Tanyakan pada dosen/instruktur, direktori mana yang memuat aplikasi Turbo Pascal (misalnya : C:TPBIN) cd; masuk ke direktori cd.. ; keluar dari direktori c. Setelah masuk ke direktori yang sesuai, tulis TURBO, lalu tekan tombol <ENTER>. Contoh : C:TPBINTURBO. Tampilan aplikasi Turbo Pascal : judul program bagian deklarasi badan program
  • 2. 2 3. Cara Memilih Menu Ketika anda sudah masuk ke aplikasi Pascal, maka yang anda lihat sesungguhnya adalah editor Pascal, yaitu suatu tempat bagi anda untuk menulis baris-baris pernyataan program. Pada editor tersebut, perhatikan baris paling atas yang memuat tulisan File, Search, Run, Compile, Tool, Option, Debug, Window, dan Help yang merupakan Menu Utama di dalam aplikasi Pascal dan masing-masing menu memiliki sub menu. Menu yang wajib dipahami adalah File, Edit, Run, dan Compile. a. Cara Pertama 1. Gunakan mouse untuk menggerakkan pointer di layar monitor ke arah menu-menu yang tersedia 2. Left Click untuk memilih menu yang diinginkan. b. Cara Kedua 1. Menekan tombol <ALT> dan huruf pertama dari menu yang diinginkan secara bersamaan. Misalnya ingin memilih menu File, maka yang perlu dilakukan adalah menekan tombol <ALT> dan tombol <F> secara bersamaan. 2. Gunakan tombol <ENTER> untuk memilih sub menu yang ada. 4. Mengedit Perintah-perintah mengedit seperti menghapus, menggerakkan kursor (pointer), menggulung layar, dan lain-lain banyak yang sama dengan perintah pada MS WORD. a. Menggerakkan Kursor Untuk menggerakkan kursor, dapat menggunakan tombol panah, <home>, <Page Up>, <Page Down>, atau <End>. b. Operasi Blok 1) Arahkan kursor pada awal blok. Kemudian tekan tombol <SHIFT>, lanjutkan dengan menekan tombol panah tapi tombol <SHIFT> jangan dilepas dulu. Arahkan tombol panah sampai posisi yang diinginkan. 2) Untuk menghapus arsiran blok, tekan tombol <CTRL><K><H> secara bersamaan. c. Menghapus (cut atau clear) 1) <CTRL><T> : untuk menghapus 1 kata yang berada di kanan kursor 2) <CTRL><Y> : untuk menghapus 1 baris pada kursor 3) <CTRL><K><Y> atau <SHIFT><DEL> atau <CTRL><DEL> : untuk menghapus 1 blok.
  • 3. 3 d. Menyalin (copy) 1) Blok tulisan yang akan disalin (copy) 2) Tekan tombol <CTRL><INSERT> atau <CTRL><K><C>. 3) Untuk memindahkan (paste) tulisan yang telah disalin, tekan tombol <SHIFT><INSERT>. 5. Mengubah Direktori Kerja Direktori kerja merupakan direktori yang digunakan untuk menyimpan file-file program yang telah dibuat. Secara default, direktori kerja sama dengan direktori sistem aplikasi. Untuk mengubah direktori kerja, buka menu File, lalu pilih sub menu Change Dir. Setelah muncul kotak dialog Change Directory, ketiklah alamat lengkap direktori yang diinginkan pada Directory name, kemudian pilih tombol OK. Tanyalah pada dosen/instruktur dimana letak direktori kerja anda. 6. Memulai Mengetik Teks Program (New) Ketika aplikasi Pascal dijalankan, secara default akan menyediakan lembar kerja baru. Sehingga dapat digunakan langsung untuk mengetikkan kode program. Untuk membuat lembar kerja baru, buka menu File, kemudian pilih sub menu New. 7. Menyimpan Program (Save atau Save As) Untuk menyimpan program yang telah dibuat, tekan tombol <F2> atau buka menu File, kemudian pilih sub menu Save. Jika ingin menyimpan degan nama dan/atau pada direktori lain, gunakan sub menu Save As. File program Pascal disimpan dengan ekstensi .PAS. 8. Membuka Program (Open) Untuk membuka program yang sudah pernah dibuat, buka menu File, kemudian pilih sub menu Open atau langsung tekan tombol <F3>, kemudian cari file program yang ingin dibuka kembali. 9. Kompilasi (Compile) Program dapat dijalankan apabila telah di-compile terlebih dahulu. Cara melakukan compile adalah dengan menekan tombol <ALT><F9> secara bersamaan atau dengan cara membuka menu Compile, kemudian pilih sub menu Compile. 10. Menjalankan Program (Running Program) Setelah di-compile, program dijalankan dengan menekan tombol <CTRL><F9> atau dengan membuka menu Run, dan pilih sub menu Run. 11. Membuat Executable Program Executable program adalah program yang dapat dijalankan langsung tanpa harus menggunakan compiler (dalam hal ini adalah Pascal). Cirinya adalah file berekstensi .EXE. Cara mengubah program Pascal menjadi executable program adalah : a. Buka menu Compile, kemudian pilih sub menu Destination Memory. Maka Destination Memory secara otomatis berubah menjadi Destination Disk. b. Kemudian lakukan kompilasi, maka secara otomatis akan tercipta satu buah file yang berekstensi .EXE sesuai dengan nama file. 12. Aturan Pemberian Nama Program Nama program terdiri dari maksimal 8 huruf dengan ekstensi .PAS. Dalam praktikum ini, praktikan diwajibkan memberi nama program sesuai dengan aturan yang telah
  • 4. 4 ditentukan untuk tujuan kemudahan dalam penilaian. Praktikan yang memberi nama program tidak sesuai dengan ketentuan ini akan menyulitkan praktikan sendiri!!! Pada kasus tertentu, pekerjaan tidak akan dinilai!!! Berikut ini adalah ketentuan dalam pemberian nama file dari program yang akan disimpan : a. Tentukan angkatan anda. Ambil 2 digit terakhir. Jika angkatan anda adalah 2009, maka yang diambil adalah 09. b. Tentukan nomor urut mahasiswa anda. Ambil 2 digit terakhir. Jika nomor mahasiswa anda adalah 3200916001, maka yang diambil adalah 01. c. Tentukan nomor program. Nomor program sudah ditentukan oleh dosen/instruktur atau sudah tercantum dalam modul ini. Nomor program merupakan kombinasi antara nomor modul dan nomor urut latihan. Contoh : modul 1 dan latihan 1, maka nomor program adalah 0101. d. Gabungkan angka-angka yang berasal dari poin a, b, dan c, sehingga nama program menjadi : 09010101.PAS 09 01 0101 .PAS C. LATIHAN SOAL 1. Nomor Program : 0101 a. Tulis program berikut dan amati outputnya! PROGRAM hello_world; USES CRT; BEGIN CLRSCR; WRITE(‘Hello’); WRITE(‘World’); READLN; END. b. Statement/pernyataan yang merupakan judul program adalah : c. Statement/pernyataan yang merupakan deklarasi adalah : d. Statement/pernyataan yang merupakan badan program adalah : angkatan nomor urut mahasiswa nomor program
  • 5. 5 e. Output dari program dengan nomor program 0101 adalah : f. Gantilah statement WRITE menjadi WRITELN, maka outputnya adalah : g. Hapuslah procedure CLRSCR yang berada pada baris pertama pada badan program, kemudian lakukan proses running lebih dari 1 kali dan jelaskan apa yang terjadi? Masih ada tampilan running yang sebelumnya h. Hapuslah procedure READLN yang berada pada baris terakhir pada badan program dan jalankan program, kemudian jelaskan apa yang terjadi? Program hanya bisa nampil sebentar lalu kembali ke coding. 2. Nomor Program : 0102 a. Tulis program berikut dan amati outputnya! PROGRAM warna_warni; USES CRT; BEGIN CLRSCR; TEXTCOLOR(red); WRITELN(‘Saya suka warna merah’); TEXTCOLOR(green); WRITELN(‘Kamu suka warna hijau’); READLN; END.
  • 6. 6 b. Output dari program dengan nomor program 0102 adalah : c. Ganti parameter dalam fungsi TEXTCOLOR menjadi white, black, yellow, blue, magenta, atau cyan. Bagaimana hasilnya? d. Tambahkan string + blink dalam fungsi TEXTCOLOR, sehingga menjadi : TEXTCOLOR(red + blink); Apa kegunaan dari string + blink? Menambah efek blink pada tulisan. 3. Nomor Program : 0103 a. Buatlah program untuk menampilkan tulisan seperti berikut ini : MATAKULIAH PRAKTIKUM PEMROGRAMAN 1 PROGRAM STUDI D3 TEKNIK INFORMATIKA JURUSAN TEKNIK ELEKTRO POLITEKNIK NEGERI PONTIANAK b. Tentukan warna text untuk tiap baris dan tidak boleh sama. c. Kemudian tampilkan dengan berkedip. d. Jika sudah selesai, tambahkan statement TEXTBACKGROUND(green) setelah statement CLRSCR. Amati outputnya dan jelaskan!
  • 7. 7 4. Nomor Program : 0104 a. Tulis program berikut dan amati outputnya! PROGRAM simbol; USES CRT; BEGIN CLRSCR; WRITELN(‘α adalah simbol alfa’); READLN; END. b. Perhatikan simbol α. Simbol tersebut tidak ada di keyboard, sehingga anda harus mencari terlebih dahulu kode ASCII (American Standard Code for Information Interchange) desimal dari simbol tersebut. Berikut ini adalah tabel kode ASCII :
  • 8. 8 c. Untuk dapat menggunakan kode ASCII, tekan tombol <ALT>, kemudian tekan tombol angka yang ada di bagian sebelah kanan keyboard secara bersamaan. Contoh : simbol α kode ASCII adalah 224, maka tekan tombol <ALT><2><2><4> secara bersamaan. 5. Nomor Program : 0105 Buatlah program untuk menampilkan simbol : ß, Φ, Ω, dan Σ
  • 9. 9 6. Nomor Program : 0106 a. Buatlah program yang menghasilkan suatu output dengan menggunakan kode ASCII : 218, 196, 196, 196, 194, 196, 196, 196, 191. Gunakan Syntax WRITE. b. Tampilan dari simbol tersebut adalah :
  • 10. 10 7. Nomor Program : 0107 Buatlah program untuk menampilkan tabel seperti berikut ini : NO NIM NAMA 1 2 3 3200916001 3200916002 3200916003 Budi Antok Siska 8. Nomor Program : 0108 (A) Buatlah program untuk menghitung luas lingkaran dengan jari-jari = 20 dan tetapan (konstanta) π = 3.14. Output dari program adalah :
  • 11. 11 Program Menghitung Luas Lingkaran Diketahui : Jari-jari = 20 Phi = 3.14 Maka : Luas Lingkaran = 1256 Nomor Program : 0108 (B) Buatlah program untuk menghitung luas segi tiga, dengan alas = 10 dan tinggi = 20. Output dari program adalah : Program Menghitung Luas Segi Tiga Diketahui : Alas = 10 Tinggi = 20 Maka : Luas Segi Tiga = 100
  • 12. 12 9. Nomor Program : 0109 (A) a. Tulis program berikut dan amati outputnya! PROGRAM luas_lingkaran; USES CRT; CONST phi = 3.14; VAR r : integer; luas : real; BEGIN CLRSCR; WRITELN(‘Program Menghitung Luas Lingkaran’); WRITELN(‘Diketahui :’); WRITE(‘ Jari-jari = ‘);READLN(r); luas:=phi*r*r; WRITELN(‘ Phi = ‘,phi); WRITELN(‘Maka :’); WRITELN(‘ Luas Lingkaran = ‘,luas); WRITE(‘ Luas Lingkaran = ‘,luas:0:0); READLN; END. b. Jelaskan apa fungsi dari statement READLN(r)! Menyimpan data yang di inputkan ke dalam variabel r. c. Jelaskan apa fungsi dari :0:0 pada statement WRITE(‘ Luas Lingkaran = ‘,luas:0:0);
  • 13. 13 0 pertama di gunakan untuk memberi jarak atau spasi saat pengeluaran data, 0 yang kedua di gunakan untuk memberi seberapa banyak angka di belakang koma. Nomor Program : 0109 (B) d. Tulis program berikut dan amati outputnya! PROGRAM luas_segitiga; USES CRT; VAR alas, tinggi : integer; luas : real; BEGIN CLRSCR; WRITELN(‘Program Menghitung Luas Segi Tiga’); WRITELN(‘Diketahui :’); WRITE(‘ alas = ‘);READLN(alas); WRITE(‘ tinggi = ‘);READLN(tinggi); luas:=1/2*alas*tinggi; WRITELN(‘ Phi = ‘,phi); WRITELN(‘Maka :’); WRITELN(‘ Luas Segi Tiga = ‘,luas); WRITE(‘ Luas Segi Tiga = ‘,luas:0:0); READLN; END.
  • 14. 14 e. Jelaskan apa fungsi dari statement READLN(alas) dan READLN(tinggi)! Memasukkan data ke dalam variabel alas dan variabel tinggi. f. Jelaskan apa fungsi dari :0:0 pada statement WRITE(‘ Luas Segi Tiga = ‘,luas:0:0);
  • 15. 15 MODUL II DEKLARASI PROGRAM A. TUJUAN 1. Mengenal bagian-bagian dalam deklarasi program beserta kegunaannya 2. Mengenal istilah-istilah yang merupakan unsur penting dalam program Pascal 3. Memahami pengertian variabel 4. Memahami tipe-tipe data sederhana dalam Pascal 5. Mampu mengaplikasikan berbagai macam tipe data dalam permasalahan pemrograman B. DASAR TEORI Unsur-unsur pokok program Pascal sederhana : 1. Kata simpan (reserved word) adalah kata-kata yang telah didefinisikan oleh Pascal. Misalnya kata : PROGRAM, CONST, TYPE, VAR, BEGIN, END, INTEGER. 2. Pemisah pernyataan digunakan untuk memisahkan satu pernyataan dengan pernyataan lainnya. Dalam Pascal, pemisah pernyataan menggunakan tanda titik koma (;) 3. Identifier adalah kata-kata yang kita definisikan sendiri (bukan kata simpan). Identifier memenuhi beberapa syarat berikut : a. Terdiri dari huruf dan angka serta garis bawah (_). Garis bawah (_) biasanya digunakan sebagai pengganti spasi (space). b. Karakter/huruf pertama dari identifier tidak boleh menggunakan angka. c. Tidak boleh menggunakan karakter spasi (space). d. Tidak membedakan huruf besar dan huruf kecil. e. Maksimal karakter yang digunakan dalam sebuah identifier adalah 63 karakter. f. Identifier biasa digunakan untuk memberi nama variabel, judul program, dan konstanta. 4. PROGRAM Digunakan untuk memberi nama/judul suatu program. Untuk memberi nama program, tidak boleh diawali dengan angka dan tidak boleh menggunakan spasi maupun operator aritmatika. 5. USES USES artinya menggunakan. Pengertian menggunakan di sini adalah menggunakan UNIT. UNIT adalah istilah dalam bahasa Pascal yang merupakan tempat prosedur/fungsi tertentu. Dalam bahasa Pascal, terdapat beberapa prosedur yang disedikan langsung oleh Pascal, misalnya write, writeln, read, readln, dan lain-lain. Namun terdapat beberapa prosedur yang tidak dimiliki oleh Pascal, tetapi dimiliki oleh UNIT, misalnya prosedur clrscr, textcolor, dan lain-lain. Berikut ini adalah beberapa UNIT standar yang tersedia : Nama Unit Keterangan CRT Berisi fasilitas yang berhubungan dengan layar, gunanya untuk menghapus layar, mengatur warna teks dan latar belakangnya (background), dan membangkitkan suara speaker komputer. DOS Berisi fasilitas yang berhubungan dengan sistem operasi dan penanganan file. GRAPH Berisi fasilitas yang berhubungan dengan mode grafik SYSTEM Berisi fasilitas prosedur dan fungsi, juga untuk menangani masukan dan keluaran file serta alokasi memori yang dinamis. PRINTER Berisi fasilitas untuk mencetak hasil keluaran (output) dengan menggunakan printer.
  • 16. 16 TURBO 3 Berisi fasilitas untuk menjalankan programyang telah dibuat dengan Pascal versi 3, untuk bisa dijalankan dengan pascal versi 5.5, walau tidak semua program bisa dijalankan. GRAPH3 Berisi fasilitas grafik yang terdapat pada Pascal versi 3.0, (khususnya gambar) tetapi harus melibatkan file GRAPH.BIN dan GRAPH.P. OVERLAY Berisi fasilitas yang berguna untuk menjalankan overlay WINDOS Berisi fasilitas untuk menangani implementasi rutin penanganan file dan sistem operasi, dan merupakan unti alternatif dari unit DOS. 6. CONST Digunakan apabila kita ingin mendeklarasikan suatu nilai tertentu yang tidak dapat berubah (tetap), misalnya phi = 3.14, nama_pt = ‘Politeknik Negeri Pontianak’, kode = ’X’, benar = ‘TRUE’, dan lain-lain. 7. TYPE Digunakan apabila kita ingin mendeklarasikan tipe data tertentu. 8. VAR Digunakan untuk mendeklarasikan suatu variabel. Variabel adalah suatu nama (identifier) yang dimaksudkan untuk menampung suatu data/nilai tertentu. Isi dari suatu variabel boleh berubah. Sebelum digunakan di dalam program, variabel harus dideklarasikan terlebih dahulu. Cara mendeklarasikan variabel adalah diawali dengan kata VAR kemudian diikuti dengan nama variabel dan tipe variabelnya (tipe data). Berikut ini adalah tipe-tipe data sederhana yang dikenali oleh Pascal : a. Variabel Numerik Type Range/Jangkauan Keterangan INTEGER -32768 s.d. 32767 Bilangan Bulat WORD 0 s.d. 65535 Bilangan Bulat BYTE 0 s.d. 255 Bilangan Bulat REAL 2.9 x 10-39 s.d. 1.7 x 1038 Bilangan Pecahan b. Variabel Non Numerik Type Contoh Keterangan STRING ‘Pontianak’, ‘PASCAL’, ‘2009’ Rangkaian Karakter CHAR ‘a’, ‘A’, ‘2’, ‘Z’, ‘1’ 1 buah karakter BOOLEAN TRUE, FALSE TRUE = berinilai benar, FALSE = berinail salah 9. KOMENTAR Komentar hanya sebuah tulisan yang digunakan untuk memberikan suatu keterangan yang akan menjelaskan isi program dan tidak akan berarti apa-apa bagi komputer. Komentar tidak akan dibaca oleh program. Komentar dapat ditulis dalam 1 (satu) baris maupun lebih. Pada Pascal, komentar ditulis dengan diawali oleh tanda kurung kurawal ({) dan harus diakhiri dengan tandan tutup kurung kurawal (}) atau dengan tanda (* dan *). 10. BEGIN dan END BEGIN digunakan untuk mengawali suatu blok pernyataan dan diakhir dengan END.
  • 17. 17 C. LATIHAN SOAL 1. Berilah tanda centang (√) pada nama-nama program yang benar! PROGRAM CobaCoba; √ PROGRAM 2000; PROGRAM Coca-Cola; PROGRAM _Garis; PROGRAM 3Com; PROGRAM Coba_Coba; √ 2. Berilah tanda centang (√) pada nama identifier yang benar! mata kuliah _jarak_kota √ angka 3 angka_3 √ angka3 √ 3angka 1kelas contoh √ a√ Program 3_angka pro_gram √ 3. Tentukan type variabel/tipe data (char, string, integer, boolean, word, byte atau real) yang tepat untuk menampung data : No Data Tipe 1 Jumlah peserta ujian Integer 2 Nilai ujian negara Real 3 Jumlah anak dalam 1 keluarga Integer 4 Prosentase potongan harga Real 5 Kiriman bulanan seorang mahasiswa Integer 6 Nama mahasiswa String 7 Alamat mahasiswa String 8 Suatu jawaban yang hanya memiliki dua kemungkinan, yaitu : ya atau tidak Boolean 9 Nilai huruf mahasiswa Char 10 Suatu nilai yang berkisar antara 0 sampai dengan 100 Byte 4. Nomor Program : 1 Tulislah program berikut ini dan amati outputnya! PROGRAM beli_disket; USES CRT; CONST dolar = 9750.80; VAR jml_disket : integer; harga_disket, total : real; BEGIN CLRSCR; jml_disket:=3; harga_disket:=3500; total:= jml_disket * harga_disket; WRITELN(‘Harga disket = Rp ‘, total:0:2); WRITELN(‘Harga disket = $ ‘,total/dolar:0:2); READLN; END.
  • 18. 18 5. Nomor Program : 2 a. Tulislah program berikut dan amati outputnya! PROGRAM identitas; USES CRT; VAR nama : string[10]; ipk : real; semester : byte; sex : boolean; BEGIN CLRSCR; nama:=’Habib Fatahillah’; sex:=true; semester:=1; ipk:=3.80; WRITELN(‘Nama saya : ‘, nama); WRITELN(‘True = Laki-laki’); WRITELN(‘False = Perempuan’); WRITELN(‘Jenis kelamin : ‘, sex); WRITELN(‘Semester : ‘, semester,’ (ganjil)’); WRITELN(‘IPK saya = ‘, ipk:0:2); READLN; END.
  • 19. 19 b. Mengapa nama yang ditampilkan hanya sebanyak 10 huruf saja? .................................................................................................................. .................................................................................................................. .................................................................................................................. c. Coba ganti statement nama:string[10]; menjadi nama:string[15];, amati outputnya dan jelaskan apa yang terjadi! .................................................................................................................. .................................................................................................................. .................................................................................................................. Catatan : Jika nama masih belum muncul secara keseluruhan, naikkan nilai angka yang berada pada deklarasi variabel dengan tipe data string. 6. Nomor Program 3 Suatu komputer memiliki memori sebesar 8.192 Mbyte atau 8192 Kbyte. Pada sistem komputer yang digunakan, jatah ruang memori untuk masing-masing jenis memori adalah sebagai berikut : Conventional Memori : 640 Kbyte Upper Memori : 123 Kbyte Reserved Memori : 384 Kbyte Extended Memori (XMS) : 7045 Kbyte Pada saat program berjalan, maka jumlah memori yang digunakan pada masing-masing jenis memori adalah : Conventional Memori : 40 Kbyte Upper Memori : 123 Kbyte
  • 20. 20 Reserved Memori : 384 Kbyte Extended Memori (XMS) : 6021 Kbyte Karena tidak semua ruang digunakan, maka pada jenis-jenis memori tertentu masih ada ruang kosong (free space). Buatlah program untuk menampilkan tabel berikut : Jenis Memori Total Digunakan Free Space Convensional 640 40 ................... Upper 123 123 ................... Reserved 384 384 ................... Extended (XMS) 7045 6021 ................... Total Memori 8192 ................... ................... Pada ruang dalam tabel yang kosong (titik-titik), harus ditampilkan nilai yang sesuai! Gunakan operator penjumlahan maupun pengurangan untuk mengisi ruang kosong tersebut!
  • 21. 21
  • 22. 22 MODUL III MASUKAN DAN KELUARAN (DATA INPUT DAN OUTPUT) A. TUJUAN 1. Mengenal fasilitas masukan dan keluaran dalam Pascal 2. Memahami cara memasukkan serta menampilkan data 3. Memahami statement masukan dan keluaran serta mengaplikasikannya dalam program B. DASAR TEORI Pernyataan masukan dan keluaran merupakan sarana penting dalam bahasa Pascal untuk melakukan komunikasi antara program dengan komputer. Pernyataan masukan dan keluaran pada Pascal dapat berupa : 1. READ dan READLN Pernyataan ini digunakan untuk meminta masukan dari keyboard untuk diolah komputer. Hasil ketikan pada keyboard akan ditampilkan pada layar. Masukan tersebut dapat berupa integer, real, character, sesuai dengan tipe variabel masukan yang telah didefinisikan sebelumnya. Perbedaan antara READ dengan READLN adalah pada READLN, setelah menerima masukan, komputer akan melanjutkannya dengan pindah baris, sedangkan READ hanya menerima masukan. Bentuk umum : READ(var1, var2, ...); contoh : READ(jml_siswa, nilai_mhs); READLN(var1, var2, ...); contoh : READLN(jml_siswa, nilai_mhs); 2. WRITE dan WRITELN Pernyataan ini digunakan untuk menampilkan data hasil pengolahan ke layar. Perbedaan antara WRITE dengan WRITELN adalah setelah mengerjakan pernyatan WRITELN, komputer akan melanjutkannya dengan pindah baris, sedangkan WRITE tidak. Bentuk umum : WRITE(string1,string2, ..., var1, var2, ...); WRITELN(string1,string2, ..., var1, var2, ...); Contoh : write(nil_ujian,nil_mid); write(‘nilai mid semester = ‘,nil_mid); writeln(nil_ujian,nil_mid); writeln(‘nilai mid semester = ‘,nil_mid); 3. UNIT CRT UNIT Keterangan CLRSCR Digunakan untuk menghapus seluruh layar DELAY Digunakan untuk menunda selama waktu tertentu GOTOXY Digunakan untuk meletakkan posisi kursor pada lokasi dengan koordinat tertentu READKEY Digunakan untuk membaca masukan berupa data char dan tidak menampilkan data yang dimasukkan TEXTCOLOR Digunakan untuk memberi warna tertentu pada string yang ditampilkan C. LATIHAN SOAL 1. Nomor Program 1
  • 23. 23 a. Tulislah program berikut dan amati outputnya! PROGRAM biodata; USES CRT; VAR nama : string[20]; umur : real; lama : integer; nilai : char; BEGIN CLRSCR; WRITE(‘Tulis nama anda : ‘);READLN(nama); WRITE(‘Berapa umur anda : ‘);READLN(umur); WRITE(‘Apa nilai ujian Pascal anda (A-E)? ‘); nilai:=READKEY; WRITELN(‘Terima kasih... Tunggu sebentar, ya...’); lama:=1000; DELAY(lama); WRITELN; WRITELN(‘Nama anda : ‘,nama:20); WRITELN(‘Umur anda : ‘,umur:20:2); WRITELN(‘Nilai anda : ‘,nilai:20); GOTOXY(20,24); WRITE(‘Tekan sembarang tombol’); READLN; END.
  • 24. 24 b. Apakah yang terjadi jika statement lama:=1000; diganti dengan lama:=5000; ? Apa yang terjadi jika semakin kecil nilainya? Apa yang terjadi jika semakin besar nilainya? Jika lama:=1000; di ganti lama:=5000; maka waktu menunggu akan semakin lama. Semakin kecil nilainya maka waktu menunggunya akan semakin lama. c. Apakah yang terjadi jika statement WRITELN(‘Nama anda : ‘,nama:20); WRITELN(‘Umur anda : ‘,umur:20:2); WRITELN(‘Nilai anda : ‘,nilai:20); diganti dengan : WRITELN(‘Nama anda : ‘,nama:40); WRITELN(‘Umur anda : ‘,umur:40:5); WRITELN(‘Nilai anda : ‘,nilai:40); d. Apakah yang terjadi jika statement GOTOXY(20,24); diganti dengan GOTOXY(1,24); ? 2. Nomor Program 2 Buatlah program untuk mencari luas sebuah lingkaran dengan meminta masukan berupa jari-jari lingkaran dengan phi=3.14. Tampilkan luas lingkaran tersebut pada tengah-tengah layar. Untuk menampilkan data real, hindari penampilan 0000000+00.
  • 25. 25 3. Nomor Program 3 Buatlah program yang akan menerima masukan berupa data nilai matakuliah untuk 3 orang mahasiswa. Kemudian carilah rata-rata dari nilai tersebut. Tampilkan nilai rata-rata tersebut pada layar sudut kiri paling bawah!
  • 26. 26 4. Nomor Program 4 Buatlah program untuk menanyakan biodata mahasiswa yang meliputi : nama, nomor induk mahasiswa, tanggal lahir, asal, jurusan, program studi, IPK. Kemudian menampilkan kembali data tersebut ke layar.
  • 27. 27
  • 28. 28 MODUL IV STRUKTUR KENDALI PERCABANGAN BERSYARAT DENGAN IF ... THEN DAN IF ... THEN ... ELSE ... A. TUJUAN 1. Memahami salah satu jenis statement kendali untuk pemilihan proses 2. Memahami proses pengambilan keputusan dengan statement if ... then ... else ... 3. Memahami variasi proses pengambilan keputusan dalam bentuk tunggal 4. Mampu mengaplikasikan proses pengambilan keputusan dalam program B. DASAR TEORI Sebuah program sering kali harus dapat memilih pernyataan mana yang akan dikerjakan berdasarkan suatu kondisi logika tertentu, misalnya bagaimana membuat program untuk mengetahui bilangan mana yang lebih besar di antara 2 (dua) buah bilangan. Untuk menyelesaikan persoalan di atas, Pascal menyediakan fasilitas pengambilan keputusan, yaitu dengan statement IF ... THEN ... ELSE ... Bentuk umum untuk IF ... THEN ... IF (ekspresi logika) THEN BEGIN bagian yang dikerjakan jika ekspresi logika bernilai benar (TRUE) END; Bentuk umum untuk IF ... THEN ... ELSE ... IF (ekspresi logika) THEN BEGIN bagian yang dikerjakan jika ekspresi logika bernilai benar (TRUE) END {tanpa titik koma} ELSE BEGIN bagian yang dikerjakan jika ekspresi logika bernilai salah (FALSE) END; C. LATIHAN SOAL 1. Nomor Program 0401 a. Tulislah program berikut ini, kemudian amati outputnya! PROGRAM tanya; USES CRT; VAR a : real; BEGIN CLRSCR; WRITE(‘Masukkan sebuah bilangan di bawah 100! ’); READLN(a); IF a<100 THEN WRITE(‘Terima Kasih’); READLN; END.
  • 29. 29 b. Apa yang terjadi jika anda memasukkan nilai kurang dari 100, jelaskan! Akan tampil dilayar “Terima Kasih”. c. Apa yang terjadi jika anda memasukkan nilai lebih dari 100, jelaskan! Program keluar atau program berhenti memproses. 2. Nomor Program 0402 a. Tulislah program berikut ini, kemudian amati outputnya! PROGRAM nilai_maksimal; USES CRT; VAR a, b, max : integer; BEGIN CLRSCR; TEXTCOLOR(lightblue); WRITE(‘Masukkan bilangan pertama : ’);READLN(a); WRITE(‘Masukkan bilangan kedua : ‘);READLN(b); IF a>b THEN max:=a ELSE max:=b; WRITELN(‘Bilangan terbesar adalah ‘,max); READLN; END.
  • 30. 30 b. Modifikasilah program di atas sehingga output yang ditampilkan adalah nilai terbesar adalah bilangan pertama (jika bilangan pertama memiliki nilai terbesar) atau nilai terbesar adalah bilangan kedua (jika bilangan kedua memiliki nilai terbesar)!
  • 31. 31 c. Gantilah bagian-bagian tertentu dari program di atas sehingga dapat digunakan untuk menampilkan bilangan yang memiliki nilai terkecil! 3. Nomor Program 0403 a. Tulislah program berikut ini, kemudian amati outputnya! PROGRAM nilai_ujian; USES CRT; VAR nilai : real; nil_huruf : char; BEGIN CLRSCR; WRITE(‘Tulis nilai ujian anda (0-100) : ‘); READLN(nilai); SOUND(1000); DELAY(1000); NOSOUND; IF nilai>=80 THEN nil_huruf:=’A’ ELSE IF nilai>=70 THEN nil_huruf:=’B’ ELSE IF nilai>=60 THEN nil_huruf:=’C’ ELSE IF nilai>=20 THEN nil_huruf:=’D’ ELSE nil_huruf:=’E’; WRITELN(‘Nilai Anda : ‘,nil_huruf); READLN; END.
  • 32. 32 b. Modifikasilah program di atas sehingga apabila user memasukkan angka di atas 100, maka program akan memberi pesan kesalahan!
  • 33. 33 4. Nomor Program 0404 Buatlah program yang akan menampilkan pesan apakah bilangan (0-65535) yang user masukkan adalah bilangan genap atau ganjil! 5. Nomor Program 0405
  • 34. 34 Seorang karyawan bekerja di perusahaan X. Karyawan tersebut digaji dengan mengikuti ketentuan PTKP (Penghasilan Tidak Kena Pajak) dan PKP (Penghasilan Kena Pajak). PTKP berlaku bagi karyawan yang digaji di bawah 360000 per bulan, sedangkan bagi karyawan yang gajinya adalah 360000 ke atas akan tergolong PKP, dengan pajak 10% dari Penghasilan Kena Pajak (PKP). PKP = (Gaji-360000). Misalnya seorang karyawan digaji sebesar 500000, maka PKP = 500000 – 360000 = 140000. Jadi, pajak yang harus dibayar = 140000 x 10% = 14000. Berdasarkan kasus di atas, buatlah program untuk menentukan pajak yang harus dibayar oleh karyawan, yang mana ketika program dijalankan, program akan meminta masukan dari user berupa penghasilan perbulan. Berikut ini contoh output program : dan
  • 35. 35 MODUL V PERCABANGAN JAMAK DENGAN CASE ... OF A. TUJUAN 1. Memahami salah satu jenis statement kendali untuk pemilihan proses 2. Memahami proses pengambilan keputusan dengan statement case ... of 3. Memahami variasi proses pengambilan keputusan bersifat jamak 4. Mampu mengaplikasikan proses pengambilan keputusan dalam program B. DASAR TEORI Statement CASE merupakan alternatif dari statement IF dengan pilihan ganda/jamak. Biasanya pada masalah tertentu, CASE akan lebih memberi kejelasan dibandingkan IF dan semua permasalahan yang dibuat dengan CASE akan bisa juga dibuat dengan IF, tetapi tidak semua permasalahan yang dibuat dengan IF bisa dibuat dengan CASE. Bentuk umum dari CASE ... OF adalah : CASE nama_variabel OF nilai_variabel : statement-statement; nilai_variabel : statement-statement; ElsE statement-statement; {setelah ELSE tidak ada titik dua} END; Percabangan jamak dimaksudkan untuk mengecek isi dari suatu variabel. Variabel ini biasanya disebut variabel selektor. Pada struktur di atas, variabel yang akan dicek isinya adalah variabel dengan nama nama_variabel. Kemudian, isi variabel tersebut dicocokkan dengan pilihan yang ada di bawahnya. Pada pilihan yang cocok, instruksi/statement yang berada setelah tanda titik dua (:) akan dikerjakan. Jika tidak ada pilihan yang sesuai, maka statement yang akan dikerjakan adalah statement pada pilihan ELSE. C. LATIHAN SOAL 1. Nomor Program 0501 Keluarga Pak Hamid memiliki 3 orang anak berturu-turut, yaitu : Azam, Sarah, dan yang bungsu bernama Hasim. Tulislah program berikut ini dan amatilah outputnya! PROGRAM nama_anak; USES CRT; VAR no_anak : byte; BEGIN CLRSCR; WRITELN('Program untuk mengetahui nama anak keluarga hamid'); WRITE('Tulis anak ke-');READLN(no_anak); CASE no_anak OF 1 : WRITELN('Anak ke-',no_anak,' bernama Azam'); 2 : WRITELN('Anak ke-',no_anak,' bernama Sarah'); 3 : WRITELN('Anak ke-',no_anak,' bernama Hasim'); ELSE WRITELN('Hanya ada anak ke 1, 2, dan 3'); END;
  • 36. 36 READLN; END. 2. Nomor Program 0502 Tulislah program berikut ini dan amatilah outputnya! PROGRAM ramalan; USES CRT; VAR bln_anda, bln_pacar, nilai_ramal : byte; nama_anda, nama_pacar : string[30]; BEGIN CLRSCR; WRITE('Siapa nama anda? ');READLN(nama_anda); WRITE('Bulan ke berapa anda lahir? ');READLN(bln_anda); WRITE('Siapa nama pacar anda? ');READLN(nama_pacar); WRITE('Bulan ke berapa dia lahir? ');READLN(bln_pacar); nilai_ramal:=(bln_anda + bln_pacar) mod 13; CASE nilai_ramal OF 0 : WRITELN('Anda berdua tidak cocok'); 1,3 : WRITELN('Anda berdua memang cocok'); 5..7 : WRITELN('Kalian berdua harus saling mengalah'); 2,4,8 : WRITELN('Cinta bukanlah segalanya. Berpikirlah logis!'); 9..12 : WRITELN('Masa depan lebih penting bagi kalian'); END; READLN; END.
  • 37. 37 3. Nomor Program 0503 Buatlah program yang mirip dengan nomor program 0403, tetapi dengan menggunakan percabangan jamak CASE ... OF! 4. Nomor Program 0504 Buatlah program yang menampilkan output untuk meminta masukan dari user berupa nomor urut hari dan akan menghasilkan output nama hari yang sesuai, yaitu : 1 = minggu, 2 = senin, 3 = selasa, 4 = rabu, 5 = kamis, 6 = jumat, 7 = sabtu.
  • 38. 38 5. Nomor Program 0505 Buatlah program yang menampilkan output untuk meminta masukan dari user berupa nomor urut bulan dan akan menghasilkan output nama bulan yang sesuai. Misalnya yang diinputkan adalah 4, maka hasilnya adalah April. 6. Nomor Program 0506 Buatlah program untuk memberi komentar nilai huruf yang diinputkan oleh user dengan komentar sebagai berikut : NILAI KOMENTAR A Istimewa B Baik C Cukup D Kurang E Tidak Lulus Apabila yang diinputkan tidak sesuai, beri pesan khusus!
  • 39. 39 7. Nomor Program 0507 Buatlah program untuk menghitung besarnya gaji pokok, tunjangan jabatan, dan gaji total seorang karyawan sesuai dengan tabel sebagai berikut : Golongan Gaji Pokok Tunjangan Jabatan 1 100000 5% 2 120000 10% 3 150000 10% 4 175000 10% 5 200000 10% 6 220000 13% 7 250000 17% Output : Berapa golongan anda? 1 <- meminta input dari user Gaji Pokok : 100000 Tunjangan Jabatan : 10000 Gaji Total : 110000
  • 40. 40 MODUL VI PERULANGAN DENGAN FOR ... TO ... DO ... A. TUJUAN 1. Memahami salah satu jenis statement perulangan dalam Pascal 2. Memahami proses perulangan dengan jumlah yang diketahui 3. Mampu mengaplikasikan proses perulangan dalam program Pascal B. DASAR TEORI Proses perulangan adalah suatu proses dimana komputer akan mengeksekusi satu atau lebih statement berulang kali, sampai suatu kondisi yang telah ditentukan terpenuhi. Bentuk umum dari FOR ... TO ... DO ... adalah sebagai berikut : FOR var_penghitung := nilai_awal TO nilai_akhir DO BEGIN Statement1; Statement2; ... END; Blok adalah bagian yang diapit oleh BEGIN dan END; yang merupakan bagian yang akan dikerjakan secara berulang-ulang. Blok tersebut berisi statement-statement Pascal dan merupakawn satu kesatuan. blok
  • 41. 41 var_penghitung adalah variabel yang menghitung banyaknya perulangan yang diminta. var_penghitung merupakan variabel yang bertipe integer. Isi var_penghitung akan selalu bertambah 1 setiap kali perulangan dilakukan. nilai_awal dan nilai_akhir merupakan suatu nilai yang menentukan banyaknya perulangan yang terjadi. Banyaknya perulangan yang terjadi adalah (nilai_akhir – nilai_awal + 1). C. LATIHAN SOAL 1. Nomor Program 0601 a. Tulislah program berikut ini, dan amatilah outputnya! PROGRAM ulang_nama; USES CRT; VAR i : integer; nama : string[30]; BEGIN CLRSCR; nama:=’Zahratussita’; FOR i := 1 to 5 do WRITELN(nama); READLN; END. b. Bagaimana output program apabila angka 5 diganti dengan angka 10? 2. Nomor Program 0602 a. Tulislah program berikut ini, dan amatilah outputnya! PROGRAM urutangka; USES CRT; VAR i : integer; BEGIN CLRSCR; FOR i := 1 to 5 DO WRITELN(i:10); READLN; END.
  • 42. 42 b. Apa output dari program di atas? 3. Nomor Program 0603 Buatlah program perulangan untuk menghasilkan output sebagai berikut : 1. Politeknik Negeri Pontianak 2. Politeknik Negeri Pontianak 3. Politeknik Negeri Pontianak 4. Politeknik Negeri Pontianak 5. Politeknik Negeri Pontianak 4. Nomor Program 0604 a. Tulislah program berikut dan amati outputnya! PROGRAM urut; USES CRT; VAR i : intger; BEGIN CLRSCR; FOR i := 1 to 10 DO BEGIN GOTOXY(40,i); WRITE(i:10); END;
  • 43. 43 END. b. Gantilah statement GOTOXY(40,i); menjadi GOTOXY(40,i+1); Bagaimana hasilnya? c. Bagaimana jika i ditambah 2? 5. Nomor Program 0605 Buatlah program untuk menampilkan hasil sebagai berikut : 100 200 300 400
  • 44. 44 6. Nomor Program 0606 Buatlah program untuk menampilkan hasil sebagai berikut : 1000 2000 3000 4000 7. Nomor Program 0607 a. Tulislah program berikut dan amatilah outputnya! PROGRAM akumulator; USES CRT; VAR accumulator, i, n : integer; BEGIN CLRSCR; accumulator:=0; n:=10; FOR i := 1 TO n DO accumulatr:=accumulator+i;
  • 45. 45 WRITELN(‘Nilai pengumpul atau akumulator adalah : ‘, accumulator); READLN; END. b. Bagaimana jika nilai n diganti menjadi 100? 8. Nomor Program 0608 Tulislah program berikut dan amatilah outputnya! PROGRAM tampil_ascii; USES CRT; VAR huruf : char; i : integer; BEGIN CLRSCR; FOR i := 1 to 10 DO BEGIN WRITE(‘Tulis sebuah huruf : ‘); huruf:=readkey; WRITELN(‘Kok hurufnya tidak muncul?’); SOUND(300); DELAY(1000); NOSOUND; SOUND(600); DELAY(1500); NOSOUND; WRITELN; WRITELN(‘Huruf yang anda masukkan adalah huruf ‘,huruf); WRITELN(‘No ASCII dr huruf di atas adalah ‘,ord(huruf)); END; READLN; END.
  • 46. 46 9. Nomor Program 0609 Buatlah program untuk menghitung perpangkatan dengan a pangkab b (ab). Dengan catatan b adalah bilangan bulat. 10. Nomor Program 0610 Buatlah program perulangan untuk menampilkan tabel data buku tabungan dengan saldo awal 100 ribu dan bunga per bulan adalah 2 %. Bulan Saldo Awal Bulan Saldo Akhr Bulan Januari 100000.00 102000.00 Februari 102000.00 104040.00 Maret 104040.00 106120.00
  • 47. 47 MODUL VII PERULANGAN DENGAN FOR ... TO ... DO ... BERGANDA A. TUJUAN 1. Memahami prroses perulangan berganda dengan jumlah yang diketahui 2. Mampu mengaplikasikan proses perulangan berganda dalam Pascal 3. Mampu mengimplementasikan kasus ke dalam bentuk program Pascal B. DASAR TEORI Bentuk umum dari FOR ... TO ... DO ... berganda adalah sebagai berikut : FOR var_penghitung1 := nilai_awal1 TO nilai_akhir2 DO FOR var_penghitung2 := nilai_awal2 TO nilai_ahir2 DO BEGIN Statement1; Statement2 ... END; Pada perulangan berganda, dibutuhkan minimal 2 buah variabel penghitung, tergantung jumlah FOR ... TO ... DO ... dalam program tersebut. Nilai awal dan nilai akhir pada masing- masing perulangan bisa sama. Kasus yang biasa diselesaikan dengan perulangan berganda adalah persoalan matriks. C. LATIHAN SOAL 1. Nomor Program 0701 a. Tulislah program berikut dan amatilah outputnya! PROGRAM deret_bintang; USES CRT; VAR karakter : char; baris, i, j, kolom : integer; BEGIN CLRSCR; FOR i := 1 TO 5 DO BEGIN FOR j := 1 TO 20 DO BEGIN TEXTCOLOR(i); WRITE(‘*’); END; WRITELN; END; READLN; END.
  • 48. 48 b. Ubahlah nilai variabel penghitung i, mulai 1 s.d. 20. Kemudian ubah juga nilai variabel penghitung j, mulai 1 s.d. 5. Bagaimana outputnya, apa kesimpulan anda? 2. Nomor Program 0702 Buatlah program untuk menampilkan output seperti berikut : 1234567890 1234567890 1234567890 3. Nomor Program 0703 Buatlah program untuk menampilkan output seperti berikut : 1111111111 1111111111 111111111
  • 49. 49 4. Nomor Program 0704 Buatlah program untuk menampilkan output seperti berikut : * * * * * * * * * * * * * * * 5. Nomor Program 0705 Buatlah program untuk menampilkan output seperti berikut : 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5
  • 50. 50 6. nomor Program 0706 Buatlah program untuk menampilkan output seperti berikut : 1 = 1 1 2 = 3 1 2 3 = 6 1 2 3 4 = 10 1 2 3 4 5 = 15
  • 51. 51 MODUL VIII TIPE DATA (BAG. 2) LARIK A. TUJUAN 1. Mengenal tipe data terstruktur menggunakan larik 2. Memahami larik dimensi satu 3. Memahami penggunaan larik dalam program B. DASAR TEORI Larik adalah deretan rinci data yang mempunyai tipe data sejenis. Setiap rinci data disebut dengan komponen atau elemen larik. Setiap larik bisa dioperasikan dengan pemilih larik yang disebut index. Bentuk umum larik dimensi satu : TYPE nama_larik = array[awal .. akhir] of tipe_data; VAR nama_variabel : nama_larik; atau VAR nama_variabel : array of [awal .. akhir] of tipe_data; Gambaran larik dimensi satu adalah sebagai berikut : Data [1] Data [2] ....................... Data [n-1] Data [n] 1 2 n-1 n <----- index Index pada larik tergantung dari nilai awal dan akhir pada deklarasi tipe larik. Nilai index harus berupa bilangan bulat yang dapat dimulai pada bilangan negatif, nol atau positif. C. LATIHAN SOAL 1. Nomor Program 0801 Tulislah program berikut dan amatilah outputnya! PROGRAM isilarik; USES CRT; TYPE larik = array [1..10] of integer; VAR nilai : larik; nilai : integer; BEGIN CLRSCR; nilai[1]:=3; nilai[2]:=2*nilai[1]; nilai[3]:=2; nilai[4]:=nilai[1]+nilai[2]; nilai[5]:=nilai[4]; nilai[6]:=nilai[nilai[1]]; nilai[7]:=nilai[2] – nilai[4]; nilai[8]:=23; nilai[9]:=nilai[3+4]; nilai[10]:=nilai[9];
  • 52. 52 FOR i := 1 to 10 do WRITELN(‘Nilai index ke- ‘,i,’ = ‘,nilai[i]:5); READLN; END. 2. Nomor Program : - Lengkapilah tabel larik berikut dengan memperhatikan statement di atasnya : a[1] := 5; a[2] := 4 – nilai[1]; a[3] := 0; a[4] := nilai[2]; a[5] := nilai[4-nilai[3]]; a[6] := nilai[nilai[1]-2]; a[7] := nilai[1] * nilai[]; a[8] := nilai[2]; a[9] := nilai[3+4]; a[10] := 9; 1 2 3 4 5 6 7 8 9 10 3. Nomor Program 0802 Buatlah larik dengan kapasitas 10 ruang. Gunakan tipe data string[30] untuk larik tersebut. Kemudian, isilah masing-masing ruang dalam larik dengan nama-nama teman anda. Buatlah program dengan ketentuan tersebut dan jangan lupa tampilkan isi larik yang berupa nama-nama anda tersebut. 4. Nomor Program 0803 Buatlah larik string dengan kapasitas 12 ruang. Isilah masing-masing ruang data dengan nama-nama bulan. Kemudian buatlah program untuk menampilkan hasil sebagai berikut : Tulis bulan ke- : 2  angka 2 diinputkan oleh user Bulan ke-2 adalah FEBRUARI ........................................................................................................................ ........................................................................................................................
  • 53. 53 5. Nomor Program 0804 1. Tulislah program berikut dan amatilah outputnya! PROGRAM rata_rata_nilai; USES CRT; TYPE larik = array[1..100] of real; VAR nilai : larik; total : real; i, jml_mhs : integer; BEGIN CLRSCR; total:=0; WRITE(‘Berapa jumlah mahasiswa? ‘); READLN(jml_mhs); FOR i := 1 to jml_mhs DO BEGIN WRITE(‘Masukkan nilai ke- ‘,i,’ ‘); READLN(nilai[i]); total:=total+nilai[i]; END; WRITE(‘Nilai rata-rata dari ‘,jml_mhs,’ adalah ‘,total/jml_mhs); READLN; END. 2. Modifikasilah program di atas sehingga rata-ratanya ditampilkan dengan 2 digit angka di belakang koma. 6. Nomor Program 0805 Buatlah larik dengan tipe data integer yang akan menampung nilai praktikum 10 mahasiswa. Namailah larik ini sebagai larik_nilai. Buatlah 1 larik lagi dengan jenis dan isi yang sama seperti nomor program 0802 dan namailah dengan larik_nama. Ketentuannya adalah : pada larik_nilai, index-1 adalah nilai dari nama yang tercantum pada larik_nama. Begitu juga pada index-2, adalah nilai dari nama yang tercantum pada larik_nama pada index-2 dan begitu seterusnya. Maka buatlah program untuk menampilkan nama-nama dan nilainya serta nilai rata-rata dari keseluruhan nilai. Contoh output : Daftar Nilai Praktikum Pascal Andi 80 Bambang 75 Basuki 80
  • 54. 54 Cahyono 60 Dadang 85 Endah 80 Gara 90 Naruto 85 Sakura 90 Sasuke 100 Nilai rata-rata adalah 82.50 7. Nomor Program 0806 Buatlah program yang akan mencari : a. rata-rata dari 10 bilangan yang diinputkan b. nilai maksimum dari bilangan tersebut, serta menyebutkan pada urutan ke berapa nilai tersebut c. nilai minimum dari 10 bilangan tersebut, serta menyebutkan pada urutan ke berapa nilai tersebut
  • 55. 55 8. Nomor Program 0807 Buatlah sebuah larik dengan kapasitas 100 ruang data yang bertipe data integer. Isilah nilai larik pada index ke-1 dan index ke-2 dengan bilangan 1. Larik ini akan mengisi index ke-3 dan seterusnya berdasarkan penjumlahan pada dua buah bilangan sebelumnya, sehingga menjadi sebuah deret yang dinamakan dengan deret Fibonacci. Kemudian tampilkan deret tersebut!
  • 56. 56
  • 57. 57 MODUL IX LARIK MULTI DIMENSI A. TUJUAN 1. Mengenal tipe data terstruktur menggunakan larik multi dimensi 2. Memahami penggunaan larik multi dimensi 3. Mampu mengimplementasikan permasalahan dengan larik multi dimensi B. DASAR TEORI Pada modul sebelumnya, anda telah mempelajari larik 1 dimensi, yaitu hanya memiliki 1 index saja. Pada modul ini akan mempelajari larik multi dimensi, yang memiliki lebih dari 1 index. Larik multi dimensi yang akan dipelajari adalah larik 2 dimensi. Larik 2 dimensi ini biasa digunakan untuk menyelesaikan persoalan tentang matrik. Instruksi yang digunakan biasanya adalah instruksi perulangan dengan FOR ... TO ... DO ... berganda. Berikut ini gambaran larik 2 dimensi : Data [1,1] Data [1,2] ........ Data [1,n-1] Data [1,n] Data [2,1] Data [2,2] ........ Data [2,n-1] Data [2,n] ........ ........ ........ ........ ........ Data [m-1,1] Data [m-1,2] ........ Data [m-1,n-1] Data [m-1,n] Data [m,1] Data [m,2] ........ Data [m, n-1] Data [m,n] 1 2 ........ n-1 n Perhatikan baik-baik gambar di atas. Index pada larik dua dimensi merupakan index dari baris dan index dari kolom. Jika index-nya adalah [m,n], maka m melambangkan nomor baris dan n melambangkan nomor kolom. Bentuk umum dari larik 2 dimensi adalah : TYPE nama_larik = array[aw_brs..ak_brs, aw_klm..ak_klm] of tipe_data; VAR nama_variabel : nama_lari; C. LATIHAN SOAL 1. Nomor Program : - Perhatikan statement program berikut, kemudian isiah tabel 2 dimensi yang diberikan! larik[1,1]:=10; larik[1,2]:=2; larik[1,3]:=6; larik[1,4]:=33; larik[2,1]:=17; larik[2,2]:=5; larik[2,3]:=26; larik[2,4]:=9; larik[3,1]:=11; larik[3,2]:=-4; larik[3,3]:=31; larik[3,4]:=18; 1 2 3 1 2 3 4 2. Nomor Program 0901 a. Tulislah program berikut dan amatilah outputnya! PROGRAM matriks3x4; 1 2 m m-1
  • 58. 58 USES CRT; TYPE matriks = array[1..3, 1..4] of integer; VAR larik : matriks; i, j : integer; BEGIN CLRSCR; larik[1,1]:=10; larik[1,2]:=2; larik[1,3]:=6; larik[1,4]:=33; larik[2,1]:=17; larik[2,2]:=5; larik[2,3]:=26; larik[2,4]:=9; larik[3,1]:=11; larik[3,2]:=-4; larik[3,3]:=31; larik[3,4]:=18; FOR i := 1 to 3 DO BEGIN WRITELN(‘Baris ke- ‘,i:5); FOR j := 1 TO 4 DO WRITE(larik[i,j]:5); WRITELN; END; READLN; END. b. Modifikasilah program di atas agar matriks yang ditampilkan adalah isi matriks yang sudah dikalikan dengan 3. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. 3. Nomor Program 0902 Buatlah dua buah matriks dengan ordo yang sama, yaitu 3x2. Isilah dengan nilai integer. Tulislah program untuk menjulahkan dua buah matriks tersebut dan tampilkan hasilnya! ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................
  • 59. 59 ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ 4. Nomor Program 0903 Buatlah dua buah matriks dengan ordo yang sama, yaitu 2x4. Isilah dengan nilai integer. Tulislah program untuk mengurangkan dua buah matrik tersebut dan tampilkan hasilnya! ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................
  • 60. 60 ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ 5. Nomor Program 0904 Buatlah dua buah matriks yang masing-masing berordo 3x2 dan 3x2. Isilah dengan nilai integer. Tulislah program untuk mengalikan dua buah matriks tersebut. Apabila anda sudah memahami cara mengalikan matriks, anda bisa langsung mengerjakan program ini! ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................
  • 61. 61 ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ 6. Nomor Program 0905 Tulislah program berikut dan amatilah outputnya! PROGRAM data_nilai; USES CRT; TYPE larik1 = array[1..10] of string; larik2 = array[1..10,1..3] of real; VAR nama : larik1; nilai : larik2; total : real; jml_mhs, i, j : integer; BEGIN CLRSCR; WRITE(‘Berapa jumlah mahasiswa(max 10 orang)? ’); READLN(jml_mhs); FOR i := 1 DO jml_mhs DO BEGIN CLRSCR; WRITE(‘Nama mahasiswa : ‘); READLN(nama[i]); FOR j := 1 TO 3 DO BEGIN WRITE(‘Masukkan nilai ke- ‘,j,‘ ‘); READLN(nilai[i,j]); END; END; CLRSCR; WRITELN(‘Data-Data Mahasiswa’); FOR i := 1 TO jml_mhs DO BEGIN
  • 62. 62 WRITELN(nama[i]); FOR j := 1 TO 3 DO WRITE(nilai[i,j],‘ ‘); WRITELN; END; READLN; END. 7. Nomor Program 0906 Setiap kelas pada praktikum pemrograman 1 terdiri dari 15 orang mahasiswa. Nilai akhir dari tiap-tiap mahasiswa ditentukan oleh 3 buah tes, yaitu tes tertulis pada pertengahan praktikum, nilai ujian tengah semester untuk praktek, dan nilai ujian akhir untuk praktek. Dari ketiga nilai tersebut akan dicari rata-ratanya. Jika nilainya lebih besar atau sama dengan 60, maka mahasiswa tersebut dinyatakan lulus. Tetapi jika nilai rata-ratanya lebih kecil dari 60, maka dinyatakan tidak lulus. Buatlah program yang akan menampung data-data mahasiswa tersebut, kemudian setelah data-datanya anda inputkan, tentukan berapa orang mahasiswa yang lulus dan tidak lulus serta tampilkan output data-data mahasiswa lengkap secara lengkap! ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................
  • 63. 63 ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ PERULANGAN DENGAN WHILE ... DO ... A. TUJUAN 1. Memahami statement perulangan dengan while ... do ... dalam Pascal 2. Memahami proses perulangan dengan jumlah yang tidak diketahui 3. Mampu mengaplikasikan proses perulangan dalam program Pascal B. DASAR TEORI Pada modul sebelumnya, anda telah mempelajari perulangan dengan menggunakan FOR ... TO ... DO ... Perulangan menggunakan FOR ... TO ... DO ... cocok untuk digunakan jika jumlah perulangannya telah diketahui. Banyak masalah yang terjadi jika jumlah perulangannya tidak diketahui secara pasti sebelum blok perulangan itu dijalankan. Perulangan dengan jumlah yang tidak diketahui dapat menggunakan statement WHILE ... DO ... Bentuk umum dari WHILE ... DO ... adalah : WHILE (ekspresi logika) DO BEGIN Statement1; Statement2; ... END; Mula-mula, komputer akan mengamati nilai logika dari (ekspresi logika). Jika bernilai benar atau TRUE, maka blok perulangan akan dikerjakan. Setelah blok perulangan dikerjakan, komputer akan mengamati kembali ekspresi logika pada (ekspresi logika). Jika bernilai benar, maka blok perulangan dikerjakan kembali. Kemudian mengamati kembali nilai (ekspresi logika). Jika (ekspresi logika) bernilai salah atau FALSE, maka blok perulangan tidak akan dikerjakan lagi. C. LATIHAN SOAL 1. Nomor Program 1001 a. Tulislah program berikut dan amatilah outputnya! PROGRAM while_do; USES CRT; blok perulangan
  • 64. 64 VAR i : intger; BEGIN CLRSCR; i := 3; WHILE (i < 10) DO BEGIN WRITELN(i:10); i := i * 5; END; READLN; END. b. Jika statement i := 3; diganti menjadi i := 30; bagaiman outputnya? Mengapa ? .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. c. Jika statement i := i * 5; diganti menjadi i := i + 1; bagaimana outputnya? .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. 2. Nomor Program 1002 Buatlah program untuk menampilkan angka dari 1 s.d. 10 dengan mengguankan WHILE ... DO ... ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ 3. Nomor Program 1003 a. Tulislah program berikut dan amati outputnya! PROGRAM balik_nama; USES CRT; TYPE larik = array[1..30] of char; VAR nama : larik; c : char; index, jml_huruf, i : integer; BEGIN CLRSCR; index := 1; c := ‘a’; WRITELN(‘Tulis nama anda. Akhiri dengan spasi. Lalu tekan enter’); WHILE (c <> ‘ ‘) DO BEGIN c := readkey; WRITE(‘x’); nama[index] := c; index := index + 1;
  • 65. 65 END; jml_huruf := index; WRITELN; WRITELN(‘Ini lho nama kamu...’); i := 1; WHILE (i <= jml_huruf) DO BEGIN WRITE(nama[i]); INC(i); END; READLN; END. Perhatikan statement inc(i). Statement tersebut berupa sebuah prosedur, yaitu procedure inc(i) yang berguna untuk menambahkan nilai variabel sebesar 1, sehingga artinya sama dengan i := i + 1; b. Modifikasilah program tersebut sehingga nama yang ditampilkan adalah nama secara terbalik. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. 4. Nomor Program 1004 Buatlah program untuk meminta masukan berupa nama, kemudian tampilkan kebalikan dari input tersebut. Berikut ini contoh tampilannya :
  • 66. 66 Nama anda : MANDRA  MANDRA diinputkan user, lalu <ENTER> Kebalikan : ARDNAM ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ 5. Nomor Program 1005 Buatlah program untuk meminta masukan kata password. Jika kata password yang diinputkan benar, maka tampilkan pesan benar. Jika kata password yang diinputkan salah, komputer akan meminta masukan sekali lagi. Maksimal masukkan adalah tiga kali. Tampilkan input dengan karakter ‘*’. Berikut ini contoh output program : Masukkan password : ***** Salah. Ulangi sekali lagi!
  • 67. 67 Masukkan password : *** Benar. 6. Nomor Program 1006 Buatlah program untuk mengecek kata yang dimasukkan. Jika kata yang dimasukkan adalah PALINDROM, maka tampilkan pesan benar. Jika kata yang dimasukkan bukan PALINDROM, maka tampilkan pesan kesalahan. PALINDROM adalah kata/kalimat yang dibaca dari arah kiri maupun kanan bunyinya sama. Contoh : KATAK, MALAM, XXZXX, AMIKIMA, KASURRUSAK, dan seterusnya. ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ PERULANGAN DENGAN REPEAT ... UNTIL ... A. TUJUAN 1. Memahami statement perulangan dengan repeat ... until ... dalam Pascal 2. Memahami proses perulangan dengan jumlah yang tidak diketahui 3. Mampu mengaplikasikan proses perulangan dalam program Pascal B. DASAR TEORI Bentuk umum dari REPEAT ... UNTIL ... adalah sebagai berikut : REPEAT blok perulangan
  • 68. 68 Statement1; Statement2; ... UNTIL (ekspresi logika) Blok perulangan dalam repeat until tidak memerlukan BEGIN dan END sebagai tanda bagian yang diulang, sebab repeat until itu sendiri sudah menjadi pembatas bagian yang diulang. Cara kerja perulangan repeat until adalah mula-mula blok perulangan dilaksanakan. Setelah itu baru ekspresi logika dicek. Apabila ekspresi logika SALAH atau FALSE, maka blok perulangan dikerjakan. Apabila ekspresi logika bernilai BENAR atau TRUE, maka blok perulangan tidak dikerjakan lagi. C. LATIHAN SOAL 1. Nomor Program 1101 a. Tulislah program berikut ini dan amatilah outputnya! PROGRAM repeat_until; USES CRT; VAR i : integer; BEGIN CLRSCR; i := 3; REPEAT WRITELN(i:10); INC(i); UNTIL (i < 10); READLN; END. b. Jika statement i := 3; diganti menjadi i := 30; dan statement INC(i); diganti menjadi DEC(i); bagaimana outputnya? Keterangan : fungsi DEC(i) berguna untuk mengurangi nilai variabel dengan 1. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. ..................................................................................................................
  • 69. 69 .................................................................................................................. 2. Nomor Program 1102 a. Tulislah program berikut dan amatilah outputnya! PROGRAM tebakan; USES CRT; VAR bilangan, tebak : integer; BEGIN CLRSCR; RANDOMIZE; bilangan := random(10) + 1; WRITELN(‘Saya memiliki sebuah bilangan antara 1-10. Coba tebak! ‘); REPEAT WRITE(‘Tebakan anda adalah : ‘); READLN(tebak); IF tebak <> bilangan THEN WRITELN(‘Tebakan salah. Coba tebak lagi.’) ELSE WRITELN(‘Kamu is the best. Tebakanmu tepat.’); UNTIL (tebak = bilangan); READLN; END. Program di atas menggunakan prosedur randomize yang berguna untuk menghasilkan bibit bilangan random atau acak. Bilangan acak tersebut nanti dihasilkan oleh fungsi random(10). Fungsi random(10) akan menghasilkan bilangan bulat acak dari 0 s.d. 9. b. Modifikasilah program di atas untuk menebak tanggal lahir. Nilai tanggal tentunya dimulai dari angka 1 s.d. 31. Petunjuk : gunakan fungsi random() dengan nilai variabel yang sesuai. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. .................................................................................................................. 3. Nomor Program 1103 Buatlah program untuk menampilkan bilangan genap sempai nilai tertentu yang diinputkan. Contoh output : Masukkan bilangan tertinggi : 11  11 diinput oleh user Deret bilangan genap : 0 2 4 6 8 10