0% menganggap dokumen ini bermanfaat (0 suara)
48 tayangan

Modul Dasar Pemrograman

Buku penuntun praktikum ini memberikan panduan dasar dan bahan ajar untuk pelaksanaan praktikum mata kuliah Dasar Pemrograman. Buku ini terdiri atas 8 modul yang mencakup pengenalan Pascal, tipe data, operator, kondisi, perulangan, array, prosedur dan fungsi, serta pointer.
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
48 tayangan

Modul Dasar Pemrograman

Buku penuntun praktikum ini memberikan panduan dasar dan bahan ajar untuk pelaksanaan praktikum mata kuliah Dasar Pemrograman. Buku ini terdiri atas 8 modul yang mencakup pengenalan Pascal, tipe data, operator, kondisi, perulangan, array, prosedur dan fungsi, serta pointer.
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 47

ILK1201

DASAR PE MROGRAMAN

Disusun oleh:
1. Dia n Ra c hm a wa ti, S.Si., M.Kom .
2. Ilm a Sa kina h Pa rind uri
3. Fitri Aulia
4. Fa ra d hilla Cha ira ni
5. Wa hyu Fra nc esc o Told o Huta b a ra t
6. And rew Bened ic tus Ja m esie
7. John Tri Putra Sihom b ing

No . Dokum en : IK- GKM- Fa silkom - TI- 001- KDP


Berla ku Efektif : 20 Sep tem b er 2021
Revisi : 09
Direvisi : TIM GKM ILK Fa silkom - TI
Dip eriksa / Disetujui : GJM d a n GKM ILK Fa silkom - TI USU
Disa hka n Oleh : Dr. Ma ya Silvi Lyd ia B.Sc ., M.Sc .
Deka n Fa silkom - TI USU

S- 1 ILMU KOMPUTER
FASILKOM- TI
USU
No. Dokumen : IK-GKM-ILK-Fasilkom-TI-001-KDP
Edisi : 01
MODUL
Revisi : 09
PRAKTIKUM
Berlaku Efektif : 20 September 2021
Halaman : i dari ii
KATA PENGANTAR

Puji syukur ke hadirat Allah SWT. Tuhan Yang Maha Esa karena atas berkat dan rahmat-
Nya sehingga penyusun dapat menyelesaikan buku penuntun praktikum ini. Sholawat dan salam
kepada Nabi Muhammad saw. Sosok manusia teladan bagi hidup dan kehidupan manusia sampai
akhir zaman.

Modul praktikum ini disusun berdasarkan silabus mata kuliah praktikum Program Studi S1
Ilmu Komputer Fasilkom-TI USU. Buku ini terdiri 8 modul atau judul percobaan yang terdiri dari
tujuan, teori, latihan dan tugas praktikum dengan harapan mahasiswa dapat membuat jurnal sebagai
tolak ukur bagi keberhasilan pencapaian tujuan praktikum. Buku penuntun praktikum ini merupakan
buku pedoman dasar dan bahan ajar dalam pelaksanaan praktikum.

Atas tersusunnya buku ini, penyusun mengucapkan terima kasih kepada Ketua dan
Sekretaris Program Studi S1 Ilmu Komputer, Bapak/Ibu Dosen, Staf Tata Usaha Program Studi S1
Ilmu Komputer dan semua pihak yang telah membantu dalam penyusunan buku penuntun
praktikum ini. Buku penuntun praktikum digunakan oleh Program Studi S1 Ilmu Komputer
Fasilkom-TI USU dan merupakan implementasi dari pelaksanaan Sistem Manajemen Mutu
Perguruan Tinggi.

Buku penuntun ini adalah revisi dari buku penuntun praktikum terdahulu. Penyusun
menyadari buku ini masih jauh dari kesempurnaan oleh karena itu penyusun sangat mengharapkan
kritik dan saran dari para pembaca demi menyempurnakan buku penuntun praktikum ini. Dengan
adanya buku penuntun praktikum diharapkan dapat membantu mahasiswa dalam pelaksanaan
praktikum dan bermanfaat secara maksimal bagi semua pihak.

Medan, 19 Oktober 2020


Program Studi S1 Ilmu Komputer Fasilkom-TI
USU
Ketua,

Dr. Poltak Sihombing, M.Kom.


NIP. 19620317 199103 1 001

Laboratorium Pemrograman – Modul Praktikum Dasar Pemrograman


No. Dokumen : IK-GKM-ILK-Fasilkom-TI-001-KDP
Edisi : 01
MODUL
Revisi : 09
PRAKTIKUM
Berlaku Efektif : 20 September 2021
Halaman : ii dari ii
KATA PENGANTAR

KATA PENGANTAR ................................................................... Error! Bookmark not defined.


DAFTAR ISI................................................................................... Error! Bookmark not defined.
MODUL I – PENGENALAN PASCAL DAN TIPE DATA ............................................... 1
MODUL II – OPERATOR ...................................................................................................... 7
MODUL III – PENGGUNAAN OPERASI KONDISI .......................................................... 12
MODUL IV – PERULANGAN DAN PELONCATAN........................................................ 18
MODUL V – ARRAY ............................................................................................................ 25
MODUL VI – PROSEDUR DAN FUNGSI ........................................................................... 30
MODUL VII – RECORD ......................................................................................................... 35
MODUL VIII – POINTER ........................................................................................................ 42

Nama :

NIM :

Laboratorium Pemrograman – Modul Praktikum Dasar Pemrograman


Laboratorium Pemrograman Modul Dasar Pemrograman

MODUL I
PENGENALAN PEMROGRAMAN DAN BAHASA
PEMROGRAMAN PASCAL

I. Tujuan
1. Praktikan dapat memahami apa itu Algoritma, Program, dan Bahasa Pemrograman.
2. Praktikan dapat memahami apa itu Bahasa Pemrograman Pascal.
3. Praktikan dapat memahami apa Tipe Data dan Jenis Tipe Data dalam Pascal.

II. Teori
1. Algoritma dan Program
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara
sistematis dan logis. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah
dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau bernilai benar.

Algoritma tidak selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari
pun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue
atau masakan yang dinyatakan dalam suatu resep juga dapat disebut algoritma. Pada setiap
resep selalu ada urutan langkah-langkah membuat masakan. Bila langkah-langkahnya tidak
logis atau tidak berurutan, maka tidak dapat dihasilkan masakan yang diinginkan. Algoritma
bisa ditampilkan dalam bentuk bahasa ilmiah, pseudocode, atau flowchart.

Contoh Algoritma
1. Menghitung luas dan keliling lingkaran
- Baca atau tentukan nilai jari-jari lingkaran
- Phi merupakan konstanta dengan nilai 3.14
- Menghitung luas dan keliling
L = phi * r * r
K = 2 * phi * r
- Mencetak atau menampilkan nilai luas dan keliling
2. Menghitung rata-rata 3 buah bilangan
- Baca atau tentukan nilai bilangan 1, bilangan 2, dan bilangan 3
- Jumlahkan ketiga bilangan tersebut
- Bagi jumlahnya dengan 3
- Tulis hasilnya

Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan


sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa
pemrograman. Program = Algoritma + Bahasa Pemrograman.

Belajar memprogram tidak sama dengan belajar bahasa pemrograman. Belajar


memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian
menuangkannya dalam notasi tertentu yang mudah dibaca dan dipahami. Sedangkan belajar
bahasa pemrograman berarti belajar memakai suatu bahasa, aturan-aturan tata bahasanya,
pernyataan-pernyataannya, tata cara pengoperasian compiler-nya dan memanfaatkan
pernyataan-pernyataan tersebut untuk membuat program yang ditulis dalam bahasa itu saja.

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 1 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

Tahapan dalam pemrograman

1. Definisikan Masalah
Berikut hal-hal yang harus diketahui dalam menganalisis suatu masalah:
- Kondisi awal, input yang tersedia
- Kondisi akhir, output yang diinginkan
- Data dan operator yang tersedia
- Syarat dan kendala yang harus dipenuhi
2. Buat Algoritma dan Struktur Cara Penyelesaian
3. Menulis Program Dalam Suatu Bahasa Pemrograman Tertentu
4. Mencari Kesalahan
5. Uji dan Verifikasi Program
6. Dokumentasi Program
7. Pemeliharaan Program

2. Struktur Program Pascal


Bentuk struktur penulisan program dalam bahasa pemrograman Pascal secara sederhana
adalah sebagai berikut.

program <judul program>


uses <daftar unit>
<bagian deklarasi>
begin
<statemen-statemen>
end.

Gambar1 Struktur penulisan program Pascal


Keterangan:
a) <judul program> biasanya sama dengan nama program, contoh:
program ujicoba;

b) <daftar unit> berisi daftar unit yang akan digunakan di dalam program. Untuk
membatasi unit satu dengan yang lainnya, gunakan tanda koma (,). Contoh:
uses crt;

c) <bagian deklarasi> berisi macam-macam deklarasi yang dibutuhkan oleh program, yang
meliputi hal-hal berikut:
• Deklarasi tipe data
• Deklarasi konstanta
• Deklarasi variabel
• Deklarasi prosedur
• Deklarasi fungsi
• Deklarasi label

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 2 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

d) <statemen-statemen> merupakan perintah-perintah yang akan dituliskan. Statemen-


statemen ini harus berada di dalam blok begin-end. Berikut ini contoh penulisan statemen-
statemen di dalam program.
begin
clrscr;
writeln(‘S-1 Ilmu Komputer USU’);
end.

3. Prosedur Write dan Read


Dalam pembuatan program tentunya akan melakukan banyak penulisan (output) dan
pembacaan (input) data. Dalam bahasa Pascal, prosedur yang digunakan untuk melakukan
penulisan adalah Write, sedangkan untuk melakukan pembacaan adalah Read. Prosedur
Write dan Read kadang kala diakhiri dengan ln (singkatan dari line) menjadi Writeln dan
Readln yang berguna untuk memindahkan kursor ke baris baru di bawahnya setelah program
melakukan proses input ataupun output. Prosedur Read juga bisa diakhiri dengan key menjadi
Readkey yang berfungsi untuk membaca sebuah karakter. Prosedur Readln dan Readkey
juga digunakan di akhir program agar hasil dari program dapat dilihat.

4. Komentar Program
Ada dua macam cara untuk membuat komentar program pada bahasa Pascal:
- Menggunakan tanda (*…*)atau {…}
Digunakan untuk menuliskan komentar yang banyaknya lebih dari satu baris.
- Menggunakan tanda //…
Digunakan untuk menuliskan satu baris komentar.
NB: Jangan menuliskan sintaks program di sebelah kanan // karena sintaks akan dianggap sebagai komentar

Contoh:
begin // ini komentar 1 baris di kanan sintaks program
clrscr;
{ini komentar 2 baris, yang berada di dalam kurung kurawal}
writeln(‘S-1 Ilmu Komputer USU’);
end.

5. Variabel
Adalah suatu pengenal yang didefinisikan oleh programmer untuk menyimpan nilai atau
data tertentu yang dibutuhkan dalam program pada saat program sedang berjalan (run time).

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 3 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

Bentuk umum pendeklarasian variabel:


var
NamaVariabel : tipe_data;

var
x : integer;
nama : string[25];

6. Konstanta
Konstanta adalah tetapan yang nilainya tidak dapat diubah selama program berjalan.
Bentuk umum konstanta:
const
NamaKonstanta1 : nilaiKonstanta1;
NamaKonstanta2 : nilaiKonstanta2;

7. Tipe Data
a) Bilangan Bulat
Berikut ini tipe yang termasuk ke dalam tipe bilangan bulat di dalam bahasa Pascal:
Alokasi
Tipe Data Penjelasan
Memori
Shortint Tipe data dengan nilai bilangan bulat mulai (1 Byte)
dari –128 hingga 127

Integer Tipe data dengan nilai bilangan bulat mulai (2 Byte)


dari –32768 hingga 32767

Longint Tipe data dengan nilai bilangan bulat mulai (4 Byte)


dari –2147483648 hingga 2147383647

Byte Tipe data dengan nilai bilangan bulat mulai (1 Byte)


dari 0 hingga 255

Word Tipe data dengan nilai bilangan bulat mulai (2 Byte)


dari 0 hingga 65535

b) Bilangan Riil
Adalah bilangan yang mengandung angka di belakang koma. Tipe data yang termasuk
ke dalam tipe bilangan riil:
Tipe Data Rentang (Jangkauan) Nilai
Real 2.9 × 10−39 𝑠𝑎𝑚𝑝𝑎𝑖 1.7 × 1038
Single 1.5 × 10−45 𝑠𝑎𝑚𝑝𝑎𝑖 3.4 × 1038
Double 5.0 × 10−324 𝑠𝑎𝑚𝑝𝑎𝑖 1.7 × 10308
Extended 3.4 × 10−4932 𝑠𝑎𝑚𝑝𝑎𝑖 1.1 × 104932
Comp −9.2 × 10−18 𝑠𝑎𝑚𝑝𝑎𝑖 9.2 × 1018

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 4 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

c) Karakter
Tipe ini direpresentasikan dengan menggunakan tipe char. Berguna untuk
merepresentasikan nilai-nilai karakter seperti ‘A’, ‘B’, ‘C’, ‘D’, ‘E’.

d) String
Tipe ini direpresentasikan dengan menggunakan tipe string. String merupakan
kumpulan dari karakter yang terangkai menjadi satu kata ataupun kalimat, misalnya
‘ILKOM JAYA’.

e) Tipe Logika
Tipe yang hanya memiliki dua buah nilai yaitu true dan false. Pascal menyediakan
tipe khusus untuk mendefinisikan data-data logic tersebut, yaitu tipe Boolean.

8. Penulisan Identifier
Identifier merupakan suatu nama yang digunakan sebagai pengenal dari suatu variabel,
fungsi, konstanta, struct, objek dan sebagainya. Penulisan identifier yang sah harus mengikuti
aturan berikut:
1. Gabungan dari huruf – huruf. Contoh: nama, saya, aku, satu dan sebagainya.
2. Gabungan dari huruf dan angka dimana harus diawali dengan huruf terlebih dahulu.
Contoh : N01, N4ma, Say4, s4t0 dan sebagainya.
3. Dimulai dengan tanda underscore. Contoh: _aku, _kamu, _dia, _1satu
4. Apabila lebih dari satu kata digunakan tanda underscore. Contoh: saya_makan,
aku_cinta_dia, fungsi_satu, konstanta_1 dan sebagainya.
5. Tidak berupa sintaks/prosedur bawaan dari PASCAL. Contoh: write, read, for, case, if,
dll.

III. Tugas
1. Buatlah program untuk menampilkan “Belajar Pascal”!
2. Buatlah program untuk menampilkan daftar nama hari!
*Catatan: output diurutkan ke bawah.
3. Buat program untuk menampilkan biodata pribadi Anda, data-data Anda diinputkan terlebih
dahulu setelah itu ditampilkan!
Contoh :
Input :
Masukkan Nama Anda : Dwi Puspita Sari
Masukkan NIM Anda : 161401086
Masukkan Kom Anda : B
Masukkan Alamat Anda : Jalan Bunga Asoka
Output :
Hallo, Nama saya Dwi Puspita Sari, NIM saya 161401086, saya di kom B,
alamat saya di Jalan Bunga Asoka. Salam Kenal

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 5 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

*Catatan : - Masing-masing diinput ke dalam satu variabel.


- Tulisan tebal merupakan inputan.

4. Buat program Pascal untuk menampilkan alamat lengkap Anda!


Contoh :
Input :
Jalan : Alumni
No : 10
Kota : Medan
Kode Pos : 20155
Output :

Alamat : Jalan Alumni No. 10 Medan 20155


*Catatan : - Masing-masing diinput ke dalam satu variabel.
- Tulisan tebal merupakan inputan.

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 6 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

MODUL II
OPERATOR

I. Tujuan
1. Praktikan memahami operator-operator serta dapat menggunakan operator dalam
pemrograman Pascal.

II. Tugas Persiapan


1. Apa pengertian operator, operand dan operasi secara bahasa dan istilah?
2. Jelaskan mengapa operator diperlukan dalam pemrograman!
3. Sebutkan operator-operator yang digunakan dalam kehidupan sehari-hari beserta contoh!
4. Sebutkan 2 sifat operator dalam bahasa Pascal serta contoh operator dan penggunaannya!
5. Operator apa saja yang terdapat dalam:
a. Flowchart I/O (jajar genjang)
b. Flowchart Proses (persegi)
c. Flowchart Kondisi (belah ketupat)

III. Teori
Tanda operasi (operator) dalam Pascal dikelompokkan ke dalam 9 kategori, yaitu: assignment,
binary, unary, bitwise, relational, logical, address, set, dan string operator.
1. Assignment Operator
Assignment operator digunakan untuk memberikan nilai. Operator ini menggunakan simbol
titik dua diikuti oleh tanda sama dengan :=
Contoh: A := B;

2. Binary Operator
Operator ini digunakan untuk mengoperasikan dua buah operand. Operand dapat berbentuk
konstanta/variabel. Operator ini digunakan untuk operasi aritmatika yang berhubungan
dengan nilai tipe data integer dan floating point.
Operator Operasi
* Perkalian
DIV Pembagian bulat
/ pembagian real
MOD Modulus
+ Pertambahan
− Pengurangan

3. Unary Operator
Operator ini hanya menggunakan sebuah operand saja. Operand dapat berbentuk konstanta
atau variabel. Unary operator dapat berupa unary minus atau plus.

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 7 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

4. Bitwise Operator
Operator ini digunakan untuk operasi bit per bit pada integer. Operasi yang dipergunakan
antara lain: NOT, AND, OR, XOR, Shl, dan Shr.
Operator Operasi
NOT bitwise negation
AND bitwise and
OR bitwise or
XOR bitwise xor
SHL shift left
SHR shift right

5. Relational Operator
Operator ini digunakan untuk membandingkan hubungan antara dua buah operand dan
menghasilkan tipe boolean, yaitu true atau false.
Operator Operasi
= sama dengan
<> tidak sama dengan
> lebih besar dari
>= lebih besar sama dengan dari
< lebih kecil dari
<= lebih kecil sama dengan dari
IN seleksi dari anggota himpunan

6. Logical Operator
Logical operator terdapat empat operator, yaitu: not, and, or, dan xor. Bentuk operator ini
sama dengan bitwise operator, tetapi penggunaannya lain. Operator ini bekerja dengan nilai-
nilai logika true dan false.

7. Address Operator
Operator ini khusus berhubungan dengan alamat di memori, yaitu address of operator (@)
dan inderiction operator (^). Operator @ akan menghasilkan alamat dari suatu nilai variabel
dan operator ^ akan memberikan nilai di alamat yang ditunjukkan.

8. Set Operator
Set operator digunakan untuk operasi himpunan.
Operator Operasi
+ union / sum
− set difference
* intersection

9. String Operator
Operator ini digunakan untuk operasi string. Hanya ada sebuah operator string saja, yaitu
operator + yang digunakan untuk menggabungkan string.

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 8 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

IV. Latihan
begin
writeln(25 * 3);
writeln(14 / 4);
writeln(14 div 4);
writeln(14 mod 4);
end.
Program 2.1 Penggunaan binary operator

begin
writeln(not 3);
writeln(4 or 3);
writeln(not -3);
writeln(3 and 2);
writeln(2 xor 3);
writeln(6 shl 4);
writeln(160 shr 6);
end.
Program 2.2 Penggunaan bitwise operator

var
a,b : integer
begin
a := 5;
b := 2;
writeln(a = b);
writeln(a = 5);
writeln(a <> b);
writeln(a > b);
writeln(a < b);
end.

Program 2.3 Penggunaan relational operator

begin
writeln(not True);
writeln(True and False);
writeln(False or True);
writeln(True xor False);
end.
Program 2.4 Penggunaan logical operator

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 9 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

var
nilai : integer;
pointer : ^integer;
begin
nilai := 80;
pointer := @nilai;
writeln(pointer^);
end.

Program 2.5 Penggunaan address operator

var
lab1, lab2, lab3, lab : string[20];
begin
lab1 := ‘Konsep ‘;
lab2 := ‘Dasar ‘;
lab3 := ‘Pemrograman’;
lab := lab1 + lab2 + lab3;
Writeln(‘Lab : ‘, lab);

Program 2.6 Penggunaan string operator


End.

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 10 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

V. Tugas
1. Buatlah program untuk menghitung jumlah gaji yang diterima seorang karyawan dalam
sebulan dengan ketentuan sebagai berikut :
a. Inputan : nama karyawan, gaji pokok banyak hari lembur, banyak hari tidak bekerja.
b. Syarat untuk menghitung jumlah gaji yang diterima dalam sebulan adalah :
• Gaji lembur = Rp100.000 x banyak hari lembur
• Potongan gaji = - Rp20.000 setiap 1 hari tidak bekerja
• Gaji total merupakan jumlah dari Gaji pokok + Gaji lembur – Potongan gaji
Input Output
Nama Karyawan : Putra Gaji Total : Rp 5280000
Gaji Pokok : 5000000
Lembur (hari) :3
Tidak Bekerja (hari) :1

2. Buatlah program untuk menghitung nilai akhir seorang mahasiswa dengan ketentuan sebagai
berikut:
a. Inputan : nama mahasiswa, nilai keaktifan, nilai tugas dan nilai ujian.
b. Proses yang dilakukan untuk mendapatkan nilai murni dari masing-masing nilai adalah:
• Nilai murni keaktifan = Nilai keaktifan x 30%
• Nilai murni tugas = Nilai tugas x 30%
• Nilai murni ujian = Nilai ujian x 40%
• Nilai akhir adalah Nilai murni keaktifan + Nilai murni tugas + Nilai murni ujian.
Input Output
Nama Mahasiswa : Amanda Nilai Akhir : 87.50
Nilai Keaktifan : 80
Nilai Tugas : 85
Nilai Ujian : 95

3. Buatlah sebuah program dari beberapa pilihan program di bawah ini :


c. Menghitung luas dan keliling 2 buah bangun datar dengan sisi bangun datar diketahui.
d. Mencari nilai Sinus, Cosinus, dan Tangen dengan sudut sebagai inputan.
e. Mengubah derajat temperatur dari Celsius (inputan) ke derajat Fahrenheit, Kelvin dan
Reamur.

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 11 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

MODUL III
PENGGUNAAN OPERASI KONDISI

I. Tujuan
1. Praktikan dapat memahami penggunaan operasi kondisi dan operasi logika dalam
pembuatan program kondisi.
2. Praktikan dapat mengaplikasikan Operasi Kondisi dalam sebuah program.

II. Tugas Persiapan


1. Apa pengertian dari operator kondisi?
2. Operasi kondisi apa saja yang terdapat dalam Pascal?
3. Buatlah flowchart untuk melakukan pengecekan input-an nilai x lebih kecil dari 5!
4. Berikanlah contoh operasi kondisi dalam kehidupan sehari-hari!

III. Teori
Operasi kondisi adalah menjalankan suatu perintah pada program dengan output yang
berbeda sesuai dengan hasil dari kondisi-kondisi. Output akan ditampilkan apabila kondisi yang
ditetapkan terpenuhi (true), atau akan menghasilkan output yang berbeda saat kondisi tidak
terpenuhi (false) atau langsung keluar dari blok operasi.
1. Statement If
Statement if akan diikuti oleh kondisi yang akan diperiksa, dan disusul oleh kata kunci
then. Setelah kata kunci then, tulis perintah yang akan dijalankan jika hasil kondisi yang
diperiksa sebelumnya bernilai 1 (true).
1.a Statement if Satu Kasus
Statement if satu kasus berarti perintah akan dijalankan hanya jika kondisi yang
diperiksa sebelumnya bernilai benar. Apabila kondisi yang diperiksa bernilai salah,
maka perintah tidak akan dijalankan.
Bentuk umumnya adalah:
if (kondisi yang diperiksa) then
perintah yang dijalankan;

Latihan 3.1 Statement if Satu Kasus (v.1)


program cek_Bilangan_Lebih_Besar_Dari_10;
uses crt;
var
x : integer;

begin
clrscr;
write ('Masukkan sebuah bilangan bulat: '); readln(x);

if (x > 10) then


writeln(x,' > 10');

readln;
end.

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 12 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

Latihan 3.2 Statement if Satu Kasus (v.2)


program cek_Huruf_Vokal;
uses crt;
var
huruf : char;

begin
clrscr;
write('Masukkan sebuah huruf: '); readln(huruf);
writeln;

if ((huruf = 'a') or (huruf = 'A') or


(huruf = 'e') or (huruf = 'E') or
(huruf = 'i') or (huruf = 'I') or
(huruf = 'o') or (huruf = 'O') or
(huruf = 'u') or (huruf = 'U')) then

writeln('(',huruf, ') merupakan huruf vokal ');

readln;
end.

1.b Statement if Dua Kasus


Jika di bentuk sebelumnya output hanya akan ditampilkan jika kondisi yang
diperiksa bernilai benar, di statement if dua kasus program akan memeriksa kondisi dan
akan menampilkan output apabila hasil pemeriksaan kondisi bernilai benar atau salah.
Bentuk umumnya adalah:
if (kondisi) then
perintah yang dijalankan jika kondisi terpenuhi/TRUE
else
perintah yang dijalankan jika kondisi tidak terpenuhi/FALSE;

NB: Bentuk di atas berlaku jika statemen di setiap kondisi HANYA satu baris saja, jika lebih dari satu
baris maka:

if (kondisi) then
begin
perintah_1;
...
perintah_x;
end
else
begin
perintah_y;
end;
NB: Perlu diingat, jika ada perintah sebelum else, perintah end tersebut TIDAK BOLEH diakhiri dengan
titik koma (;). Misalnya pada bentuk umum pertama, sebelum else (...terpenuhi/TRUE) tidak ada
tanda titik koma (;), sama juga pada bentuk umum yang kedua, perintah end di dalam if tidak ada
titik koma (;) karena program masih dilanjutkan oleh else.

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 13 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

Latihan 3.3 Statement if Dua Kasus (v.1)


program cek_Genap_Ganjil;
uses crt;
var
bil : integer;

begin
clrscr;
write('Masukkan bilangan bulat: '); readln(bil);

if (bil mod 2 = 0) then


writeln(bil,' adalah bilangan GENAP')
else
writeln(bil,' adalah bilangan GANJIL');

readln;
end.

Latihan 3.4 Statement if Dua Kasus (v.2)


program cek_Positif_Negatif;
uses crt;
var
bil : integer;

begin
clrscr;
write('Masukkan bilangan bulat: '); readln(bil);

if (bil >= 0) then


writeln(bil,' adalah bilangan POSITIF')
else
writeln(bil,' adalah bilangan NEGATIF');

readln;
end.

1.c Statement if Tiga Kasus atau Lebih


Bentuk ini akan menguji lebih dari satu kondisi, dan akan menampilkan perintah
yang berbeda-beda tergantung kondisi mana yang terpenuhi.
if (kondisi_1) then
begin
perintah_jika_kondisi_1_benar;
...
end
else if (kondisi_2) then
begin
perintah_jika_kondisi_2_benar;
...
end
else
begin
perintah;
end;

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 14 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

Latihan 3.5 Statement if Tiga Kasus


program cek_Positif_Negatif_dan_Nol;
uses crt;
var
bil : integer;
begin
clrscr;
write('Masukkan sebuah bilangan bulat: '); readln(bil);
if (bil < 0) then
begin
writeln(bil,' merupakan bilangan NEGATIF');
end
else if (bil = 0) then
begin
writeln('Anda memasukkan bilangan NOL');
end
else
begin
writeln(bil,' merupakan bilangan POSITIF');
end;
readln;
end.

Latihan 3.6 Statement if Lima Kasus


program cek_Nilai_Huruf;
uses crt;
var
NA,NUTS,NUAS : real;
NI : char;
begin
clrscr;
write('Nilai UTS: '); readln(NUTS);
write('Nilai UAS: '); readln(NUAS);
NA := (0.4 * NUTS) + (0.6 * NUAS);
if (NA >= 80) then
begin
NI := 'A';
end
else if (NA >= 70) then
begin
NI := 'B';
end
else if (NA >= 50) then
begin
NI := 'C';
end
else if (NA >= 30) then
begin
NI := 'D';
end
else
begin
NI := 'E';
end;
writeln;
writeln('Nilai Akhir : ',NA:0:2);
writeln('nilai Indeks : ',NI);
readln;
end.

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 15 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

2. Statement Case
Apabila kondisi yang didefinisikan di dalam statement if semakin banyak maka hal
tersebut tentu akan menjadi hal yang cukup kompleks. Oleh karena itu, bahasa Pascal
menyediakan alternatif lain untuk melakukan pemilihan yang didasarkan pada nilai-nilai
konstanta tertentu, yaitu dengan menggunakan statement case.
Bentuk umum statement case:
case (ekspresi) of
nilai_konstan1 : statement_1;
nilai_konstan2 : statement_2;
...
nilai_konstan2 : statement_2
else
statemen_default;
end;

Latihan 3.7 Statement case Cek Indeks Nilai


program cek_Nilai_Huruf;
uses crt;
var
NA,NUTS,NUAS : integer;
NA_1 : real;
NI : char;

begin
clrscr;

write('Nilai UTS: '); readln(NUTS);


write('Nilai UAS: '); readln(NUAS);
NA_1 := (0.4 * NUTS) + (0.6 * NUAS);
NA := round(NA_1);
case (NA) of
81..100 : NI := 'A';
71..80 : NI := 'B';
51..70 : NI := 'C';
31..50 : NI := 'D';
0..30 : NI := 'E';
else
begin
writeln('Range nilai tidak sesuai');
end;
end;
writeln;
writeln('Nilai Akhir : ',NA);
writeln('Nilai Indeks : ',NI);

readln;
end.

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 16 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

Latihan 3.8 Statement case Cek Hari


program cek_Hari_Dengan_Angka;
uses crt;
var
nomorhari : integer;

begin
clrscr;

write('Masukkan nomor hari (1..7): '); readln(nomorhari);


case (nomorhari) of
1: writeln('Hari Minggu');
2: writeln('Hari Senin');
3: writeln('Hari Selasa');
4: writeln('Hari Rabu');
5: writeln('Hari Kamis');
6: writeln('Hari Jumat');
7: writeln('Hari Sabtu');
else
begin
writeln('Tidak ada pilihan yang dimasukkan');
end;
end;

readln;
end.

IV. Tugas
1. Dengan menggunakan operasi kondisi, buatlah sebuah program untuk mengurutkan 3 buah
angka yang di-input-kan secara menaik (ascending).
Input :
Masukkan Nilai 1 : 5
Masukkan Nilai 2 : 2
Masukkan Nilai 3 : 3
Output :
Urutan : 2 3 5

2. Buatlah sebuah program untuk memilih menu makanan yang tersedia. Dengan ketentuan
sebagai berikut:
• Minimal terdapat 5 menu makanan yang dapat dipilih pengguna
• Input program berupa kode menu
• Output program merupakan menu yang dipilih, serta biaya yang harus dibayar
• Menu serta kode yang digunakan tiap praktikan tidak boleh sama

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 17 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

MODUL IV
PERULANGAN DAN PELONCATAN

I. Tujuan
1. Praktikan dapat memahami penggunaan operasi perulangan.
2. Praktikan dapat membuat program yang menggunakan peloncatan dengan benar dalam
program.

II. Tugas Persiapan


1. Jelaskan pengertian dari perulangan dan peloncatan!
2. Operator apa yang biasanya digunakan pada operasi perulangan dan jelaskan kenapa!
3. Buatlah flowchart untuk menuliskan nama kamu sebanyak x kali!
4. Apa yang kamu ketahui tentang perbedaan perulangan for, while, dan repeat!
5. Apa manfaat dari perulangan dan beri contoh perulangan dalam kehidupan sehari-hari!
6. Sebutkan syarat-syarat suatu perulangan!

III. Teori
Blok pengulangan merupakan suatu blok program yang memiliki mekanisme untuk
melakukan statement secara berulang. Hal ini tentu akan membuat program yang ditulis menjadi
lebih efisien.
1. Statement For
Konstruksi pengulangan for pada umumnya digunakan untuk melakukan pengulangan
yang banyaknya sudah diketahui secara pasti.
Bentuk umum dari statement for:
for variable_index := batas_awal to batas_akhir do
statement_yang_akan_diulang;
NB: Jika statement yang ingin diulang hanya 1 baris, tidak perlu menggunakan begin-end; Tetapi jika statement
yang ingin diulang lebih dari 1 baris, statement harus diletakkan di dalam begin-end.
for variable_index := batas_awal to batas_akhir do
begin
statement_looping_1;
statement_looping_2;
...
Statement_looping_x;
end;

Latihan 4.1 for Loop Cetak Kalimat Sebanyak 5 Kali


program ulangi_String_5_kali_for;
uses crt;
var
i : integer;

begin
clrscr;
for i := 0 to 4 do
writeln('ILMU KOMPUTER USU ');
readln;
end.

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 18 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

Latihan 4.2 for Loop Hitung Jumlah 1 + 2 + ... + n


program hitung_Jumlah_1_sampai_n;
uses crt;
var
i,n,jumlah : integer;

begin
clrscr;

write('Masukkan sebuah bilangan bulat: '); readln(n);


jumlah := 0;
for i := 1 to n do
jumlah := jumlah + i;
writeln('Jumlah dari 1 sampai ',n,' = ', jumlah);

readln;
end.

Latihan 4.3 for Loop Cetak Angka 1 sampai 5 Secara Menurun


program cetak_1_sampai_5_descending;
uses crt;
var
i : integer;

begin
clrscr;
for i := 5 downto 1 do
begin
writeln(i);
end;
readln;
end.

Latihan 4.4 Nested for Loop Cetak Angka Berurut


program cetak_Angka_Berurut;
uses crt;
var
i,j : integer;

begin
clrscr;

for i := 1 to 5 do
begin
for j := 1 to 5 do
write(i);
writeln;
end;
writeln;
for i := 1 to 5 do
begin
for j := 1 to 5 do
write(j);
writeln;
end;

readln;
end.

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 19 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

2. Statement While
Berbeda dengan bentuk pengulangan for, pada konstruksi pengulangan while ini terdapat
suatu kondisi yang harus diperiksa terlebih dahulu. Apabila kondisi bernilai true, maka
statement di dalam blok while akan dikerjakan, sedangkan jika false maka program tidak akan
melakukan perulangan.
Bentuk umum statement while:
while (kondisi) do
statement;
NB: Jika statement yang ingin diulang hanya 1 baris, tidak perlu menggunakan begin-end; Tetapi jika statement
yang ingin diulang lebih dari 1 baris, statement harus diletakkan di dalam begin-end.
while (kondisi) do
begin
statement_1;
statement_2;
...
statement_x;
end;

Latihan 4.5 while Cetak Kalimat Sebanyak 5 Kali


program ulangi_String_5_kali_while;
uses crt;
var
i : integer;
begin
clrscr;

i := 1;
while (i <= 5) do
begin
writeln('Ilmu Komputer USU');
i := i + 1;
end;

readln;
end.

Latihan 4.6 while Cetak Angka 1 sampai 20 yang Ganjil dengan Fungsi inc (increment)
program cetak_1_sampai_20_Ganjil_while_inc;
uses crt;
var
i : integer;
begin
clrscr;

i := 1;
while (i <= 20) do
begin
write(i, ' ');
inc(i,2); //sama dengan i:=i+2;
end;

readln;
end.

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 20 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

3. Statement Repeat-Until
Pernyataan repeat-until digunakan untuk mengulang (repeat) suatu pernyataan atau
blok pernyataan terus-menerus sampai (until) kondisi ungkapannya tidak terpenuhi (false).
Struktur penggunaan perulangan repeat-until.
repeat
pernyataan yang diulang;
until (ekspresi logika);

Latihan 4.7 repeat-until Cetak Angka 1 sampai 5


program cetak_1_sampai_5_repeat_until;
uses crt;
var
i : integer;

begin
clrscr;

i := 0;
repeat
i := i + 1;
writeln(i);
until (i = 5);

readln;
end.

4. Peloncatan (Penggunaan Label)


Statemen peloncatan merupakan statement yang digunakan untuk memaksa program
agar meloncat atau menuju statement tertentu yang kita inginkan. Dalam bahasa Pascal
terdapat sebuah statement yang sering digunakan untuk melakukan hal tersebut yaitu
statement goto dan empat buah prosedur yaitu break, continue, exit dan halt.
4.a label dan Statement goto
Untuk menggunakan statement goto, sebelumnya kita harus mendefinisikan
sebuah label dengan menggunakan kata kunci label. Di sini label akan berperan sebagai
baris yang akan di tuju. Dengan kata lain, statement goto akan memindahkan program
secara langsung ke lokasi yang ditandai oleh label yang telah didefinisikan.
Latihan 4.8 Statement goto
program statement_goto;
uses crt;
label destination;

begin
clrscr;

writeln('Statement pertama');
goto destination;
writeln('Statement kedua');
writeln('Statement ketiga');
destination: writeln('Ini adalah statement yang akan dituju');

readln;
end. //what happen??

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 21 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

4.b Prosedur break


Prosedur break digunakan untuk meloncat dari proses pengulangan. Artinya, prosedur
break akan memaksa program untuk menghentikan pengulangan dan akan langsung
menuju ke statement selanjutnya yang terdapat di bawah blok pengulangan.
Latihan 4.9 Prosedur break
program prosedur_break;
uses crt;
var
i : integer;

begin
clrscr;

writeln('Ini adalah statement sebelum looping');


writeln;

for i := 1 to 100 do
begin
if (i > 3) then
break;
writeln('Statement ke-',i);
end;

writeln;
writeln('Apa yang terjadi??');

readln;
end.

4.c Prosedur continue


Prosedur continue merupakan kebalikan dari prosedur break, yaitu berguna untuk
melanjutkan pengulangan dengan cara meloncat ke bagian awal pengulangan. Pada
umumnya prosedur continue digunakan di dalam kasus dimana kondisi pengulangannya
selalu bernilai true.
Latihan 4.10 Prosedur continue
program prosedur_continue;
uses crt;
var
x : integer;

begin
clrscr;

while (true) do
begin
write('Masukkan bilangan bulat negatif: '); readln(x);
if (x > -1) then
continue
else
writeln('Anda telah memasukkan bilangan: ',x);
end;

readln;
end. //apa yang terjadi? :D

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 22 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

4.d Prosedur exit


Prosedur exit digunakan untuk keluar dari suatu blok program. Namun apabila
prosedur exit kita gunakan di dalam program utama, maka prosedur tersebut akan
menyebabkan program berhenti.
Latihan 4.11 Prosedur exit
program prosedur_exit;
uses crt;

procedure contoh;
begin
writeln('Statement 1 di dalam prosedur');
exit;
writeln('Statement 2 di dalam prosedur');
end;

begin
clrscr;

writeln('Statement 1 di dalam program utama');


contoh;
writeln('Statement 2 di dalam program utama');

readln;
end.

4.e Prosedur halt


Berbeda dengan prosedur exit yang digunakan untuk keluar dari blok program,
prosedur halt berguna untuk keluar dari program. Prosedur halt memiliki parameter
berupa nilai 0 dan 1 yang bersifat opsional. Statement yang terdapat di bawah prosedur
halt tidak akan dieksekusi oleh program karena program akan langsung dihentikan.
Latihan 4.12 Prosedur halt
program prosedur_exit;
uses crt;

begin
clrscr;

writeln('Statement sebelum pemanggilan prosedur halt');


halt(1);
writeln('Statement sesudah pemanggilan prosedur halt');

readln;
end.

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 23 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

IV. Tugas
1. Buatlah sebuah program untuk menghitung jumlah nilai dari 1 sampai n!
Masukan Keluaran
n = 4 1 2 3 4 = 10
1 2 3 = 6
1 2 = 3
1 = 1
2. Buatlah sebuah program untuk membuat tampilan seperti berikut!
*
2 2
* * *
4 4 4 4
* * * * *
3. Buatlah sebuah program untuk membuat tampilan seperti berikut!
*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*
4. Buatlah sebuah program untuk menghitung rumus kombinasi (𝐶𝑟𝑛 = 𝑛! )
𝑟!(𝑛 −𝑟 )!
5. Di Kota Medan masih belum terlalu banyak orang sakit jiwa, yang ada hanyalah orang yang
sangat dengan KORUPSI. Tetapi berbeda halnya dengan TOGU, dia adalah seorang anak
Siantar yang jumpa orang langsung main tembak langsung. Dia adalah seseorang yang sangat
suka dan sangat teguh dengan apa yang dinamakan dengan integritas. Berjumpalah dia dengan
seorang yang baru dikenalnya yang bernama Putra dan menantang si Togu. Cukup sengit
perdebatan mereka. Mereka berdebat mulai dari Biologi, Fisika, Kimia, Pendidikan,
Kehutanan, Permasalahan Jomblo di Indonesia. Perdebatan mereka sampai ke puncak
klimaks, Si Putra menantang Togu untuk menyelesaikan permasalahan matematika, Si Togu
dipaksa menyelesaikan masalah dengan membuat sebuah segitiga siku-siku di bawah kiri.
Tetapi segitiga itu terbuat dari penjumlahan dari decrement input-an yang input-an dan nilai
awal bernilai satu dan increment 1 ke bawahnya.
Input: Output:
Sebuah baris n (1 ≤ n ≤ 30) Segitiga siku bawah kiri angka menaik

Masukan Keluaran
3 1
2 4
3 5 6
5 1
2 6
3 7 10
4 8 11 13
5 9 12 14 15

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 24 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

MODUL V
ARRAY

I. Tujuan
1. Praktikan memahami array dan penggunaanya.
2. Praktikan dapat membuat program yang menggunakan array.

II. Tugas Persiapan


1. Apa yang anda ketahui mengenai array/larik?
2. Apa fungsi array dalam dunia pemrograman?
3. Apa fungsi indeks pada array?
4. Apa keterkaitan antara perulangan dengan array?
5. Sebutkan beberapa contoh untuk implementasi dari array dalam kehidupan?

III. Teori Array


Array (larik) adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen
yang mempunyai tipe sama. Komponen-komponen tersebut disebut sebagai komponen type,
larik mempunyai jumlah komponen yang jumlahnya tetap. Banyaknya komponen dalam larik
ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses dengan
menunjukkan nilai indexnya atau subskript.
Array dapat bertipe data sederhana seperti byte, word, integer, real, boolean, char, string
dan tipe data scalar atau subrange. Tipe larik mengartikan isi dari larik atau komponen-
komponennya mempunyai nilai dengan tipe data tersebut.
Agar lebih jelas, perhatikan contoh berikut.
Index 1 2 3 4
X 31 21 23 12
X[1] = 31 X[3] = 23
X[2] = 21 X[4] = 12
Tipe data larik dapat berupa larik satu dimensi, dua dimensi, tiga dimensi atau banyak
dimensi.
Bentuk Umum Larik Satu Dimensi :

Var
X : array[1..50] of Integer

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 25 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

Contoh Program :
Program Contoh_Array_Input;
Uses Crt;
Var Bilangan : array[1..20] of Integer;
Begin
ClrScr;
Bilangan[1]:=3;
Bilangan[2]:=29;
Bilangan[3]:=30;
Bilangan[4]:=31;
Bilangan[5]:=23;

Writeln(‘nilai varibel bilangan ke 3 =‘,Bilangan[3]);


Writeln(‘nilai varibel bilangan ke 7 =‘,Bilangan[7]);
Readln;
End.

Output
Nilai variabel bilangan ke 3 = 30
Nilai variabel bilangan ke 5 = 23

Bentuk Umum Larik Multi Dimensi :

Var
X : array[1..50,1..20,1..5] of integer;

Dalam Larik multi dimensi diatas terdapat tiga indeks. Pengaksesan larik diatas :
X[indeks1] [indeks2] [indeks3];

Contoh deklarasi : int data [3][4];


Artinya terdapat variabel yang bernama data yang dideklarasikan dengan larik dua dimensi,
dengan jumlah maksimal baris=3 dan kolom=4, sehingga dapat diilustrasikan sebagai berikut:

Indeks1 mewakili jumlah

Berikut merupakan contoh sederhana dari pengaplikasian array dalam Matriks.

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 26 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

1. Struktur matriks

program strukturMatriks(input,output);
uses crt;
type
larik = array[1..10,1..10] of integer;
var
matriks1,matriks2 : larik;
begin
matriks1[1,1]:=2;
matriks1[1,2]:=4;
matriks2[2,1]:=9;
matriks2[2,2]:=5;
clrscr;
write(matriks1[1,1],’ ‘);
writeln(matriks1[1,2]);
write(matriks2[2,1],’ ‘);
writeln(matriks2[2,2]);
readln;
end.

2. Penjumlahan matriks

program penjumlahanMatriks(input,output);
uses crt;
type
larik = array[1..10,1..10] of integer;
var
matriks1,matriks2,hasil : larik;
jum,i,j,k : integer;
begin
matriks1[1,1]:=2;
matriks1[1,2]:=4;
matriks1[2,1]:=8;
matriks1[2,2]:=6;
matriks2[1,1]:=7;
matriks2[1,2]:=1;
matriks2[2,1]:=9;
matriks2[2,2]:=0;
clrscr;
writeln(‘ Program Penjumlahan Matriks ‘);
writeln;
writeln(‘Matriks pertama ‘);
for i:=1 to 2 do
begin
for j:=1 to 2 do
begin
write(matriks1[i,j],’ ‘);
end;
writeln;
end;

writeln(‘Matriks kedua ‘);


for i:=1 to 2 do
begin
for j:=1 to 2 do
begin
write(matriks2[i,j],’ ‘);
end;
writeln;
end;

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 27 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

{proses penjumlahan }
for i:=1 to 2 do
begin
for j:=1 to 2 do
begin
hasil[i,j]:=matriks1[i,j]+matriks2[i,j];
end;
end;

writeln(‘Hasil Perkalian ‘);


for i:=1 to 2 do
begin
for j:=1 to 2 do
begin
write(hasil[i,j],’ ‘);
end;
writeln;
end;
readln;
end.

Perkalian matriks
program perkalianMatriks(input,output);
uses crt;

type
larik = array[1..10,1..10] of integer;
var
matriks1,matriks2,hasil2 : larik;
i,j,k : integer;
begin
matriks1[1,1]:=2;
matriks1[1,2]:=4;
matriks1[2,1]:=8;
matriks1[2,2]:=6;
matriks2[1,1]:=7;
matriks2[1,2]:=1;
matriks2[2,1]:=9;
matriks2[2,2]:=0;
clrscr;
writeln(‘ Program Perkalian Matriks ‘);
writeln;
writeln(‘Matriks pertama ‘);
for i:=1 to 2 do
begin
for j:=1 to 2 do
begin
write(matriks1[i,j],’ ‘);
end;
writeln;
end;

writeln(‘Matriks kedua ‘);


for i:=1 to 2 do
begin
for j:=1 to 2 do
begin
write(matriks2[i,j],’ ‘);
end;
writeln;
end;

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 28 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

{Proses perkalian }
for i:=1 to 2 do
begin
for j:=1 to 2 do
begin
for k:=1 to 2 do
begin
hasil2[i,j]:=hasil2[i,j]+matriks1[i,k]*matriks2[k,j];
end;
end;
end;

writeln(‘Hasil perkalian ‘);


for i:=1 to 2 do
begin
for j:=1 to 2 do
begin
write(hasil2[i,j],’ ‘);
end;
writeln;
end;
readln;
end.

V. Tugas dan Latihan

1. Buatlah program penjumlahan matriks, dengan jumlah kolom dan baris matriks ke-1 dan ke-2
ditentukan oleh user. Program juga dapat menentukan apakah kedua matriks tersebut dapat
dijumlahkan atau tidak.
2. Buatlah program perkalian matriks, dengan jumlah kolom dan baris matriks ke-1 dan ke-2 ditentukan
oleh user. Program juga dapat menentukan apakah operasi perkalian dapat dilanjutkan atau tidak.
3. Buatlah program untuk menentukan matriks transpose, dengan jumlah baris dan kolom matriks
ditentukan oleh user.
4. Buat program untuk menampung nilai IPK dari n buah mahasiswa, dimana nilai dari n ditentukan oleh user,
kemudian menampilkan semua data tersebut beserta rata-rata IPK, IPK tertinggi dan terendah!
5. Buatlah program untuk membalikkan susunan angka dalam matriks yang dimasukkan.
Input : Terdiri dari banyak angka (n), kemudian diikuti dengan input angka sebanyak n.
Output : Baris angka yang telah dibalikkan susunannya.
INPUT OUTPUT
5 10 8 6 4 2
2 4 6 8 10
7 31 11 10 23 54 45 19
19 45 54 23 10 11 31

No. Dokumen: IK-GKM-ILK-Fasilkom-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 29 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

MODUL VI
PROSEDUR DAN FUNGSI

I. Tujuan
1. Praktikan memahami pembuatan dan pemakaian suatu Prosedur dan Fungsi
2. Praktikan dapat membuat program dengan menggunakan Prosedur dan Fungsi
3. Praktikan dapat membedakan Prosedur dengan Fungsi

II. Tugas Persiapan


1. Jelaskan functional programming, procedural programming, dan object oriented
programming!
2. Jelaskan perbedaan fungsi dan prosedur!
3. Jelaskan parameter dan kegunaannya !
4. Tuliskan minimal 5 fungsi dalam bidang matematika, fisika, dan kimia. (tiap praktikan tidak
boleh sama)

III. Teori Procedure


Prosedur adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai
subprogram (program bagian). Prosedur diawali dengan keyword procedure di dalam bagian
deklarasi prosedur.
1. Struktur Procedure
1.a. Struktur penggunaan prosedur tanpa parameter
Program { judul program }
Procedure { judul prosedur }
Begin
{ blok pernyataan prosedur }
End;
Begin
{ blok pernyataan program utama }
End.
Latihan 5.1
Procedure Stars;
Begin
Writeln(‘*************’);
End;

Begin
Stars;
Writeln(‘Hello Pascal!’);
Stars;
End.

No. Dokumen: IK-GKM-ILK-FASILKOM-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 30 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

Latihan 5.2

Program ProsedurDenganParameter;
uses crt;
Type
Huruf = String[15];

Procedure Stars(Nama : Huruf);


var
k,panjang : integer;
Begin
k := 0;
Panjang := Length(Nama) + 6;
Repeat Write(‘*’);
k := k + 1;
Until k > Panjang;
Writeln;
End;

Var
Nama : Huruf;
Begin
Write(‘Nama Anda = ‘);
Readln(Nama);
Stars(Nama);
Writeln(‘Hello ‘, Nama, ‘!’);
Stars(Nama);
readln();
End.

IV. Teori Fungsi


Definisi fungsi sebenarnya sama dengan prosedur. Perbedaannya pada fungsi terdapat
pengembalian nilai, sehingga pada saat pemanggilan, fungsi dapat langsung digunakan untuk
mengisi sebuah ekspresi. Berbeda dengan prosedur yang didefinisikan dengan kata kunci
procedure, fungsi didefinisikan dengan kata kunci function.
Bentuk umum fungsi:
Function
nama_fungsi(parameter1:tipedata1;parameter2:tipedata2,…):tipedata;

Cont {daftar konstanta lokal}


Var{daftar pendeklarasian variable lokal}

Begin
{kode program yang akan ditulis}

….
NamaFungsi:=nilai_kembalian;{bagian ini harus diINGAT!}
End;

Beberapa contoh pendefinisian fungsi sederhana yang akan mengalikan dua buah bilangan bulat:

Function Kali(x,y:integer):longint;
Begin
Kali:=x*y;
End;

No. Dokumen: IK-GKM-ILK-FASILKOM-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 31 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

Bisa juga seperti ini:


Function kali(x,y: integer):longint;
Var
Hasil : longint;
Begin
Hasil:=x*y;
Kali:=hasil;
End;

1. Parameter
Parameter merupakan suatu nilai atau referensi yang dilewatkan ke dlam rutin tertentu dan
kehadirannya akan mempengarui proses maupun nilai yang terdapat di dalam rutin itu
sendiri. Parameter ditempatkan di dalam tanda kurung setelah nama rutin bersangkutan.
Setiap parameter yang dilewatkan harus memiliki tipe data tersendiri.

Secara teori, parameter dibedakan menjadi dua yaitu :


• Parameter formal ➔ parameter yang terdapat pada saat pembuatan prosedur/fungsi
• Parameter aktual ➔ parameter yang terdapat pada saat pemanggilan prosedur/
fungsi.

Menurut fungsinya, parameter dibedakan menjadi tiga jenis yaitu sebagai masukan,
keluaran, masukan/keluaran.

2. Parameter Masukan
Secara default parameter yang digunakan di dalam sebuah rutin akan berperan sebagai
masukan, artinya nilai yang disimpan di dalam parameter tersebut akan dijadikan sebagai
input(masukan) untuk melakukan proses yang terdapat di dalam rutin bersangkutan.
Perhatikan contoh:

Latihan 5.3

Program parametermasukan
Uses crt;

Function jumlahkan(x,y: integer): integer;


Begin
Jumlahkan:=x+y; {x dan y bertindak sebagai parameter masukan}

End;
Var
a,b,hasil: integer;
begin
a=100;
b=200;
hasil:=jumlahkan(a,b);
writeln(‘Hasil= ‘,hasil);
readln;
end.

3. Parameter Keluaran
Parameter ini berfungsi sebagai penampung nilai hasil proses yang dilakukan oleh suatu
subrutin. Parameter jenis ini biasanya diimplementasikan di dalam sebuah prosedur
sebagai nilai kembalian. Hal ini disebabkan karena prosedur tidak dapat mengembalikan
nilai secara langsung seperti yang dilakukan oleh fungsi.

No. Dokumen: IK-GKM-ILK-FASILKOM-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 32 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

Perhatikan contoh:
Latihan 5.4
Program parameterkeluaran;
Uses crt;

Procedure Kali(x,y:integer;var hasil: integer);


Begin
Hasil:=x*y;
End;
{x dan y parameter masukan, sementara hasil adllh parameter
keluaran}

Var
a,b,c: integer;
begin
a:=3; b:=5;
kali(a,b,c);
writeln(‘Hasil= ‘,c);
readln;
end.

4. Parameter Masukan/keluaran
Parameter jenis ini merupakan gabungan dari jenis pertama dan kedua, yaitu berperan
sebagai masukan sekaligus sebagai keluaran. Untuk mendefinisikan parameter sebagai
parameter masukan/keluaran maka kita harus melewatkannya berdasarkan referensi.
Perhatikan contoh:
Latihan 5.5
Program parametermaskel;
Uses crt;

Procedure tambahsatu(var x:integer);


Begin
x:=x+1;
end;

var
a: integer;
begin
a:=10;
tambahsatu(a);
writeln(a);
readln();
end.

V. Tugas
1. Buat program menghitung luas segitiga dengan menggunakan fungsi dengan parameter
masukan!
Input Output
Alas :4 Luas Segitiga : 12
Tinggi : 6

No. Dokumen: IK-GKM-ILK-FASILKOM-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 33 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

2. Buat program menghitung rata-rata dari sejumlah bilangan yang diinputkan operator dengan
fungsi!
Input Output
Banyak Data : 5 Rata – Rata : 3.00
12345

3. Buat program dari n! secara rekursi !

Input Output

Nilai : 5 Hasil : 120

4. Buatlah program menggunakan fungsi untuk menampilkan deret bilangan berikut :


a. 1,1,2,3,5,8,13,21,34,....
b. 1,2,4,8,16,32,...
c. 1,4,9,16,25,....
d. 2,6,12,20,30,....

Input Output
3 1,1,2
1,2,4
1,4,9
2,6,12
6 1,1,2,3,5,8
1,2,4,8,16,32
1,4,9,16,25,31
2,6,12,20,30,42

No. Dokumen: IK-GKM-ILK-FASILKOM-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 34 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

MODUL VII
RECORD

I. Tujuan
1. Praktikan memahami konsep dasar record dalam Pascal
2. Praktikan dapat menggunakan record dalam pemrograman
II. Tugas Persiapan
1. Tuliskan dengan bahasamu sendiri, apa yang kamu ketahui tentang record !
2. Tuliskan beberapa fungsi dan kegunaan record !
3. Tuliskan fungsi pernyataan WITH pada record, dan jelaskan kelebihan dan kerurangannya!
4. Apa yang anda ketahui tentang array record dan nested record serta tuliskan kegunaannya
masing-masing menurut pendapat kalian!
III. Teori
Record adalah jenis tipe data terstruktur yang berisi beberapa data, yang masing-masing dapat
berlainan tipe. Suatu tipe Record dideklarasikan dengan bentuk sebagai berikut :
Type Identifier = RECORD
Nama_field1 : tipe1;
Nama_field2 : tipe2;
...
Nama_fieldn : tipen;
End;

Masing-masing data field dapat berupa satu atau beberapa nama pengenal dan masing-masing
dinamakan field.
Contoh Penggunaan Record dalam Pascal :
Latihan 7.1
program Record1;
Uses CRT;

Type biodata = Record


nama : String[25];
NIM : String[10];
Umur : integer;
End;

Var
data : biodata;

begin
clrscr;
Write(‘ Masukkan Nama Anda : ‘);
readln(data.nama);
Write(‘ Masukkan NIM Anda : ‘);
readln(data.NIM);
Write(‘ Masukkan Umur Anda : ‘);
readln(data.umur);

No. Dokumen: IK-GKM-ILK-FASILKOM-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 35 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

clrscr;
Writeln(‘ Nama Anda : ‘,data.nama);
Writeln(‘ NIM Anda : ‘,data.NIM);
Writeln(‘ Umur Anda : ‘,data.umur);

Readln;
End.

Contoh di atas merupakan contoh record sederhana untuk menginput data mahasiswa. Dalam
record, penampilan data tidak boleh dilakukan secara langsung, Contohnya Writeln(nama),
yang harus kita lakukan adalah kita harus menuliskan variabel dan field yang akan ditampilkan,
contoh Writeln(mahasiswa.nama).
IV. Penugasan Antar Record
Penugasan antar record merupakan penyalinan yang dilakukan dari record satu ke record
yang lain, tetapi record yang disalin dan yang menyalin bertipe yang sama.
Contoh :
Latihan 7.2
Type recBio = RECORD
Nama : String[25];
NIM : Integer;
NoHp : String[12];
End;
Var
Bio1,Bio2 : RecBio;

Begin
Bio1.Nama := ‘ Nama Saya ‘;
Bio1.NIM := ‘ NIM Saya ‘;
Bio1.NoHP := ‘ No.HP Saya ‘;

Bio2:=Bio1; (* Proses Menyalin Dari Record Bio1 ke Bio2 *)

{ Menampilkan Data }
Writeln(‘ Nama : ‘,Bio2.Nama);
Writeln(‘ NIM : ‘,Bio2.NIM);
Writeln(‘ NO. HP : ‘,Bio2.NoHP);

Readln;
End.

Contoh di atas akan menampilkan isi dari Record dari Bio1.

V. Pernyataan With
Pernyataan with di dalam record berfungsi untuk menyederhanakan atau menyingkat
penulisan pernyataan. Bentuk penulisan :
WITH nama_record Do
Begin
Pernyataan
End;

No. Dokumen: IK-GKM-ILK-FASILKOM-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 36 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

Contoh :
Latihan 7.3

Type recBio = RECORD


Nama : String[25];
NIM : Integer;
NoHp : String[12];
End;
Var
Bio1,Bio2 : RecBio;
Begin
With Bio1 do
begin
Nama := ‘ Nama saya ‘;
Alamat:= ‘ NIM saya ‘;
NoHP := ‘ No HP saya ‘;
End;

Bio2:=Bio1;

{ Menampilkan Data }
With bio2 do
begin
Writeln(‘ Nama : ‘,Nama);
Writeln(‘ NIM : ‘,NIM);
Writeln(‘ NO. HP : ‘,NoHP);
End;

Readln;
End.

Dalam penulisan program di atas, kita melakukan penulisan pernyataan yang lebih singkat
daripada yang sebelumnya dengan menggunakan statement with.

VI. Array Record


Elemen dari suatu array juga bisa berupa Record, yang menampung beberapa data
sekaligus( data pertama hingga data ke n ).
Penulisan Array record :

Type Identifier = RECORD


Nama_field1 : tipe1;
Nama_field2 : tipe2;
...
Nama_fieldn : tipen;
End;
Var
Variabel : array[1..n] of Identifier; //array record

No. Dokumen: IK-GKM-ILK-FASILKOM-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 37 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

Contoh Array Record :


Latihan 7.3
program Recordn;

Uses CRT;

Type KRS = Record

matkul : String[25];
SKS : integer;

Kode : String[10];

Var

data : array[1..10] of K R S ;
n,i : integer;

begin

clrscr;

write(‘ Masukkan Banyak Mata kuliah Yang Diambil : ‘);


readln(n);

clrscr;

for i:=1 to n do
begin

writeln(‘ Masukkan Data ke ‘,i); with


data[i] do

begin

Write(‘ Masukkan Nama Matkul : ‘);


readln(matkul);

Write(‘ Masukkan Jumlah SKS : ‘);


readln(SKS);

Write(‘ Masukkan Kode SKS : ‘);


readln(Kode);

clrscr;
end;

end;

No. Dokumen: IK-GKM-ILK-FASILKOM-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 38 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

clrscr;

for i:=1 to n do begin

Writeln(‘ Data ke ‘,i); with


data[i] do

begin

Writeln(‘ Nama Mata Kuliah : ‘,matkul);

Writeln(‘ Jumlah SKS : ‘,SKS);

Writeln(‘ Kode Mata Kuliah : ‘,kode);

end; writeln;

end;

Readln;

End.

VII. Record dalam Record ( Nested Record )


Record di dalam record adalah record yang mempunyai tipe record lain. Contoh Penulisan :
Type record1 = RECORD
Nama_field1 : tipe1;
Nama_field2 : tipe2;
...
Nama_fieldn : tipen;
End;

Record2 = Record
Nama1 : Reord1;
Nama2 : identifier1;
Nama3 : Identifier2;
End;
Var
Variabel : record;

No. Dokumen: IK-GKM-ILK-FASILKOM-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 39 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

Contoh Penggunaan Record dalam record :


Latihan 7.4

program recordinrecord; Uses Crt;

Type date = Record


tanggal : String[30];
bulan : integer;
tahun : string[25];
End;
album = Record
penyanyi : char;
lagu : String[25]; rilis
: date;
End;

Var
data : album;

Begin

Clrscr; with data do


begin
Write(‘ Masukkan Nama Penyanyi : ‘);
readln(penyanyi);
Write(‘ Masukkan Nama Lagu : ‘);
readln(lagu);
Writeln(‘ Masukkan Tanggal Rilis ‘); with Rilis
do
begin
Write(‘ Tanggal : ‘);
readln(tanggal);
write(‘ Bulan : ‘); readln(bulan);
write(‘ Tahun : ‘); readln(tahun);
end; end;
clrscr;
writeln(‘ Data yang Anda Masukkan’); with data
do
begin
Writeln(‘ Nama : ‘,penyanyi);
Writeln(‘ Lagu : ‘,lagu);
Writeln(‘ Tanggal Rilis : ‘);
With rilis do
begin
writeln(‘ Yanggal : ‘,tanggal); writeln(‘
Bulan : ‘,bulan);
Writeln(‘ Tahun : ‘,tahun);
end;
end;

Readln;
End.

No. Dokumen: IK-GKM-ILK-FASILKOM-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman: 40 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

VIII. Tugas

1. Buatlah sebuah program untuk menginputkan beberapa biodata


mahasiswa ( nama, nim, alamat, no hp, tempat lahir, tanggal
lahir(tanggal, bulan(angka), tahun)). Kemudian Tampilkan data-
data yang telah diinputkan tersebut. (nb: gunakan perulangan)

2. Buatlah sebuah program untuk menampilkan data beberapa


mahasiswa dengan sebuah kondisi (if).

3. Buatlah sebuah program untuk menginputkan hasil studi beberapa


mahasiswa yang berisi nama, nim dan jumlah matakuliah yang
diambil. Kemudian program akan meminta nama matakuliah,
jumlah sks, dan nilai, sesuai dengan jumlah matakuliah yang
diinputkan pada setiap mahasiswa. Program akan menampilkan
kembali data-data hasil study mahasiswa tersebut satu persatu (
menunggu user menekan tombol, kemudian data selanjutnya di
tampilkan ) hingga semua data selesai ditampilkan.
A=4, B+=3.5, B=3, C+=2.5, C=2, D=1, E=0

Contoh hasil program program.

Nama : Nama Anda


NIM : Nim Anda

---------------------------------------------
| No | Matakuliah | SKS | Nilai | Skor |
---------------------------------------------
| 1 | Algoritma | 3 | B+ | 10.5 |
| 2 | Kalkulus | 3 | B | 9 |
| 3 | Logika Komputer | 3 | A | 12 |
---------------------------------------------
| TOTAL | 31.5 |
-------------------------------
-------------- Jumlah SKS : 9
IP : 3.50

Tekan sembarang tombol untuk melihat data


selanjutnya..

Note: dalam membuat program, semua kondisi harus diperhatikan.

No. Dokumen: IK-GKM-ILK-FASILKOM-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman 41 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

MODUL VIII
POINTER

I. Tujuan
1. Praktikan memahmi konsep dasar pointer dan penggunaannya.
2. Praktikan bisa mebuat program yang menggunakan pointer.

II. Tugas persiapan


1. Apakah perbedaan variable biasa dengan variable pointer?
2. Jelaskan apa yang dimaksud dengan alamat memori dan blok memori?
3. Apakah pointer perlu dipelajari? Jelaskan dengan argument!

III. Teori
Pointer merupakan jenis perintah yang disediakan oleh bahasa pemrograman untuk melakukan
operasi terhadap suatu alamat memori seperti penunjukan alamat, pengaksesan alamat dan sebagainya.
Tipe data pointer bersifat dinamis, variable dapat diletak ke variabel pointer hanya pada saat dibutuhkan
dan sesudah tidak dibutuhkan lagi isi dari variabel pointer tersebut dapat dihapus. Setiap kita membuat
sebuah variabel, pascal akan membuat sebuah ruang di memory komputer. Ruang ini memiliki sebuah
alamat yang dapat kita tampilkan dengan variabel pointer. Pendeklarasian variabel pointer tidak berbeda
jauh dengan pendeklarasian variable biasa, hanya perlu menambahkan simbol “^” sebelum tipe datanya.

Blok A Blok B
Analogi Pointer
Di Analogikan sebagai lemari
yang memiliki stempel alamat
dimana stempel alamat tersebut
Blok C Blok D
adalah alamat pointer dan dalam
lemari adalah isi nilai dari tiap
Pointer

Blok E Blok F

Blok G Blok H

No. Dokumen: IK-GKM-ILK-FASILKOM-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman 42 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

Bentuk umum deklarasi pointer :

<nama_var> : ^<tipe_data>;

Perbedaan :

VARIABEL BIASA VARIABEL POINTER


a = isi data a^ = isi data
@ = alamat data a = alamat data

Contoh :

Var
Nama : ^string[30];
Type data : record
No : integer;
Pilihan : char;
End;
RecordData : ^data;

Dalam penggunaannya, pointer menggunakan 2 buah operator yaitu operator ^ untuk


mengambil nilai dari alamat yang ditunjuk oleh pointer dan operator @ untuk
mengambil alamat dari sebuah variable.

Contoh Program :
Program tipe_pointer;
uses crt;
var
angka: integer;
ptr : ^integer;
i : ^word;
begin
clrscr;
angka:= 15;
writeln(‘Nilai dari variable angka: ‘,angka);
ptr:=@angka;
writeln(‘Nilai dari pointer : ‘,ptr^);
i:= addr(ptr);
writeln (‘alamat memory yang digunakan adalah :’, i^);
readln;
end.

Pointer Tanpa Tipe

No. Dokumen: IK-GKM-ILK-FASILKOM-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman 43 dari 44
Laboratorium Pemrograman Modul Dasar Pemrograman

Menurut keadaan default, pointer hanya dapat menunjuk ke alamat yang tipe datanya sama
dengan tipe data yang dideklarasikan pada pointer. Seperti pada contoh program pointer1,
pointer ptr tersebut hanya dapat menunjuk ke alamat-alamat memori yang menyimpan data
dengan tipe integer saja, artinya, apabila kita memiliki variabel c yg bertipe data char, maka
kita tidak dapat memerintahkan pointer ptr untuk menunjuk ke alamat dari variabel c.
Untuk mengatasi kasus tersebut, bahasa Pascal telah menyediakan tipe generik untuk
pointer sehingga pointer tersebut dapat menunjuk ke alamat yang berisi data dengan tipe
apa saja. Pointer yang dideklarasikan dengan tipe generik ini sering disebut dengan pointer
tanpa tipe. Contoh pointer tipe generik :

Var
Ptr : pointer;
X : Integer;
Y : real;
Z : char;
Begin
Ptr:=@x;
Ptr:=@y;
Ptr:=@z;
End.

IV. Tugas
1. Buatlah sebuah program yang menginputkan nama dan nilai mahasiswa, lalu
dengan menggunakan variable pointer carilah:
a. Nilai terbesar serta nama pemilik nilai terbesar
b. Nilai terkecil serta nama pemilik nilai terkecil
2. Buatlah sebuah program yang menunjukkan bahwa satu buah variabel
dapat ditunjuk oleh dua buah pointer yang berbeda.

3.Buatlah sebuah program untuk menampilkan alamat


dari 3 variabel biasa yang berbeda.

No. Dokumen: IK-GKM-ILK-FASILKOM-TI-001-KDP Berlaku Efektif: 20 September 2021 Revisi: 09 Halaman 44 dari 44

Anda mungkin juga menyukai