Anda di halaman 1dari 83

KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI

UNIVERSITAS NEGERI SEMARANG (UNNES)


Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 1 dari 83 27 Februari 2017

TEACHING MATERIALS

Computer Programming 1
15X00068
3 SKS

MATHEMATICS EDUCATION S1
FACULTY OF MATHEMATICS AND NATURAL SCIENCES
UNIVERSITAS NEGERI SEMARANG
2018
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 2 dari 83 27 Februari 2017

VERIFICATION OF TEACHING MATERIALS

Today Thursday, February 15th, 2018, group of teaching materials of Computer


Programming 1 of Mathematics Education study program in the Faculty
Mathematics and Natural Sciences has been verified by the Chairman of the
Program.

Semarang, February 15th, 2018


The Chairman of the Program Lecturer

Drs. Arief Agoestanto, M.Si Muhammad Kharis, S.Si, M.Sc


NIP 19680722 199303 1005 NIP 19821012 200501 1001
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 3 dari 83 27 Februari 2017

PREFACE

Alhamdulillahi rabbil alamin kami panjatkan kehadirat Allah Subhanahu


wa Taala yang telah melimpahkan karunianya sehingga kami dapat
menyelesaikan bahan ajar mata kuliah pemrograman komputer 1 ini. Tidak lupa
pula kami ucapkan shalawat dan salam kehadirat nabi Muhammad SAW yang
kami harapkan syafaatnya nanti di hari akhir. Kami juga mengucapkan terima
kasih kepada semua pihak yang telah membantu sehingga dapat
terselesaikannya bahan ajar ini.

Sebagaimana pepatah tidak ada gading yang tak retak, pasti bahan ajar
ini mempunyai banyak kekurangan sehingga kami mengharapkan masukan dari
para pembaca sekalian untuk perbaikan bahan ajar ini. Demikian yang dapat
kami sampaikan semoga bahan ajar ini bermanfaat.

Semarang, 2018

TIM
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 4 dari 83 27 Februari 2017

SUBJECT DESCRIPTION

This course is a course that provides the basics for learning computer
programming language. After following this course, students are expected to
think critically and logically. Students are also expected to develop creative
mindset and can innovate independently in software development especially
software that is studied in this lecture. Commonly given materials include:
Introduction to programming languages, programming algorithms, basic elements
of programming languages, input and output data, conditional selection, looping
or repetition, functions and procedures, arrays, strings, records, and file
operations.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 5 dari 83 27 Februari 2017

CONTENTS LIST

PREFACE 3
SUBJECT DESCRIPTION 4
CONTENTS LIST 5
FIGURES LIST 8
TABLES LIST 9
CHAPTER 1. INTRODUCTION TO PROGRAMMING LANGUAGES 10
AND ALGORITHMS
1.1. Description 10
1.2.. Learning Outcome 10
1.3. Learning Materials 10
A. Algorithm 10
B. Flowchart 14
1.4. Summary 20
1.5. Questions/Discussions 21
CHAPTER 2. PASCAL DATA STRUCTURE 22
2.1. Description 22
2.2. Learning Outcome 22
2.3. Learning Materials 22
A. Identifier 22
B. Data Types 24
2.4. Summary 29
2.5. Questions/Discussions 29
CHAPTER 3. PASCAL PROGRAM ALGORITHM STRUCTURE 30
3.1. Description 30
3.2. Learning Outcome 30
3.3. Learning Materials 30
A. Program components 30
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 6 dari 83 27 Februari 2017

B. Statement Part 35
C. Input/Output 36
3.4. Summary 37
3.5. Questions/Discussions 38
CHAPTER 4. PROGRAMMING STRUCTURE / CONTROL 39
STRUCTURE
4.1. Description 39
4.2. Learning Outcome 39
4.3. Learning Materials 39
A. Sequential 39
B. Selection/ Condition 40
4.4. Summary 48
4.5. Questions/Discussions 49
CHAPTER 5. ARRAY AND RECORD 50
5.1. Description 50
5.2. Learning Outcome 50
5.3. Learning Materials 50
A. Array 50
B. Record 54
5.4. Summary 61
5.5. Questions/Discussions 61
CHAPTER 6. MODULAR PROGRAMMING 62
6.1. Description 62
6.2. Learning Outcome 62
6.3. Learning Materials 62
A. Procedure 62
B. Function 68
C. Recurtion 71
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 7 dari 83 27 Februari 2017

6.4. Summary 72
6.5. Questions/Discussions 72
CHAPTER 7. FILE 73
7.1. Description 73
7.2. Learning Outcome 73
7.3. Learning Materials 73
A. Text File 75
B. Typed File 77
C. Untyped File 80
7.4. Summary 81
7.5. Questions/Discussions 82
References 83
Glocarium
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 8 dari 83 27 Februari 2017

FIGURES LIST

Gambar 1.1. Flowchart menghitung luas persegi panjang 1


Gambar 1.2. Flowchart menghitung jumlah 50 bilangan asli pertama 19
Gambar 1.3. Flowchart menentukan bilangan terbesar dari tiga bilangan 19
Gambar 1.4. Flowchart menghitung N faktorial 20
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 9 dari 83 27 Februari 2017

TABLES LIST

Tabel 1.1. Perbandingan antara Algortima dan Pseudo-code 17


Tabel 1.2. Daftar lambang-lambang yang digunakan dalam flowchart 15
Tabel 2.1. Tipe-tipe yang termasuk dalam kategori bilangan bulat 25
Tabel 2.2. Hasil operasi Boolean 26
Tabel 2.3. Tipe-tipe yang termasuk dalam kategori bilangan riil 26
Tabel 3.1. macam-macam unit dan keterangannya 32
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 10 dari 83 27 Februari 2017

CHAPTER 1
INTRODUCTION TO PROGRAMMING LANGUAGES AND ALGORITHMS

1.1. Description
In this chapter we will discuss about programming languages and
algorithms generally.

1.2. Learning Outcome


Understanding high level computer programming language intelligently
and can create algorithms to solve problems in the field of Mathematics
with attention to conservation values.

1.3. Learning Materials


A. Algorithm
Asal kata Algoritma berasal dari nama Abu Ja'far Mohammed Ibn
Musa al-Khowarizmi. Ilmuan Persia yang menulis kitab Al Jabr w'al-muqabala
(rules of restoration and reduction) Tahun 825 M. Beliau berasal dari Iran.
Algoritma dapat didefiniskan sebagai urutan langkah logis tertentu
untuk memecahkan suatu masaIah. Urutan langkah logis, yang berarti
algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat.
(Dari Microsoft Press Computer and Internet Dictionary 1997, 1998). Alur
pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara
tertulis. Maksud dari alur pemikiran adalah algoritma seseorang dapat
berbeda dari algoritma orang lain. Tertulis artinya dapat berupa kalimat,
gambar, atau tabel tertentu. (Dari Algoritma dan Struktur Data dengan C, C++,
dan Java oleh Moh Sjukani hal 1)
Contoh Algoritma:
1. Proses Memasak.
2. Proses mengirim Surat.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 11 dari 83 27 Februari 2017

Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain,


langkah yang harus dilakukan adalah:
a. Menulis surat
b. Surat dimasukkan ke dalam amplop tertutup
c. Amplop ditempeli perangko secukupnya.
d. Pergi ke Kantor Pos terdekat untuk mengirimkannya
Dalam bidang komputer, algoritma sangat diperlukan dalam
menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi
numeris. Tanpa algoritma yang dirancang baik maka proses pemrograman
akan menjadi salah, rusak, atau lambat dan tidak efisien.
Pelaksana algoritma adalah Komputer. Manusia dan komputer
berkomunikasi dengan cara: manusia memberikan perintah-perintah kepada
komputer berupa instruksi-instruksi yang disebut program. Alat yang
digunakan untuk membuat program tersebut adalah bahasa pemrograman.
Bahasa pemrograman sangat bermacam-macam: C, C++, Pascal, Java, C#,
Basic, Perl, PHP, ASP, JSP, J#, J++ dan masih banyak bahasa lainnya. Dari
berbagai bahasa pemrograman cara memberikan instruksinya berbeda-
beda namun bertujuan menghasilkan output yang sama.
Kriteria Algoritma (Donald E. Knuth):
1. Input: algoritma dapat memiliki nol atau lebih inputan dari luar.
2. Output: algoritma harus memiliki minimal satu buah output keluaran.
3. Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan
tidak ambigu.
4. Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping
role).
5. Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat
dilaksanakan dan efektif.
Contoh instruksi yang tidak efektif adalah: A = A+ 0 atau A = A * 1
Namun ada beberapa program yang memang dirancang untuk
unterminatable: contoh Sistem Operasi.
Jenis Proses Algoritrna:
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 12 dari 83 27 Februari 2017

1. Sequence Process: instruksi dikerjakan secara sekuensial, berurutan.


2. Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu
3. Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi
tertentu.
4. Concurrent Process: beberapa instruksi dikerjakan secara bersama.
Contoh Algoritma menghitung luas persegi panjang:
1. Masukkan panjang (P)
2. Masukkan lebar (L)
3. Luas  P * L
4. Tulis Luas
Sifat Umum Algoritma: (1) Tidak menggunakan simbol atau sintaks
dari suatu bahasa pemragrarnan; (2) Tidak tergantung pada suatu bahasa
pemrograman; (3) Notasi-notasinya dapat digunakan untuk seluruh bahasa
manapun. Salah satu kelanjutan dari algoritma adalah Pseudo-code. Kode
atau tanda yang menyerupai (pseudo) atau merupakan pejelasan cara
menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia
untuk menuliskan algoritma.
Contoh:
Problem: mencari bilangan terbesar dari dua bilangan yang diinputkan
Contoh Algoritma:
1. Masukkan bilangan pertama
2. Masukkan bilangan kedua
3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika
tidak, kerjakan langkah 5.
4. Tampilkan bilangan pertama
5. Tampilkan bilangan kedua
Contoh Pseudo-code:
1. Input a
2. Input b
3. If a > b then kerjakan langkah 4
4. print a
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 13 dari 83 27 Februari 2017

5. print b

Perbandingan antara Algoritma dan Pseudo-code diberikan pada Tabel 1.1.


Tabel 1.1. Perbandingan antara Algortima dan Pseudo-code
Algoritma Pseudo-code
Nilai A ditambah dengan 5 A  A+5

Cetak nilai A bila lebih besar dari 10 IF A > 10 THEN PRINT A


Dari dua bilangan A dan B, cari IF A > B THEN PRINT A ELSE
bilangan yang terbesar PRINT B
Suatu program pada dasarnya terdiri dari 3 bagian yaitu: (1) Input: bisa ada,
bisa tidak; (2) Proses; (3) Output: minimal satu ouput.
Langkah Pembuatan Program:
1. Mendefinisikan masalah
Ini merupakan langkah pertama yang sering dilupakan orang. Menurut
hukum Murphy (oleh Henry Ledgard): "Semakin cepat menulis program,
akan semakin lama kita dapat menyelesaikannya". Hal tersebut berlaku
untuk permasalahan yang kompleks. Tentukan masalahnya, apa saja
yang harus dipecahkan dengan menggunakan komputer, dan apa inputan
serta outputnya.
2. Menemukan solusi
Setelah masalah didefinisikan maka langkah berikutnya adalah
menentukan solusi. Jika masalah terlalu kompleks, maka ada baiknya
masalah tersebut dipecah menjadi modul-modul kecil agar lebih mudah
diselesaikan. Contohnya masalah invers matriks. Kita dapat membagi
menjadi beberapa modul seperti (a) meminta masukkan berupa matriks
bujur sangkar; (b) mencari invers matriks; (c) menampilkan hasil kepada
pengguna. Dengan penggunaan modul tersebut program utama akan
menjadi lebih singkat dan mudah dilihat.
3. Memilih algoritma
Pilihlah algoritma yang benar-benar sesuai dan efisien untuk
permasalahan tersebut.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 14 dari 83 27 Februari 2017

4. Menulis program
Pilihlah bahasa yang mudah dipelajari, mudah digunakan, dan lebih baik
lagi jika sudah dikuasai, memiliki tingkat kompatibilitas tinggi dengan
perangkat keras dan platform lainnya.
5. Menguji program
Setelah program jadi, silahkan uji program tersebut dengan segala
macam kemungkinan yang ada, termasuk error-handlingnya sehingga
program tersebut akan benar-benar handal dan layak digunakan.
6. Menulis dokumentasi
Menulis dokumentasi sangat penting agar pada suatu saat jika kita akan
melakukan perubahan atau membaca source code yang sudah kita tulis
dapat kita ingat-ingat lagi dan kita akan mudah membacanya. Caranya
adalah dengan menuliskan komentar-komentar kecil tentang apa maksud
kode tersebut, untuk apa, variabel apa saja yang digunakan, untuk apa,
dan parameter-parameter yang ada pada suatu prosedur dan fungsi.
7. Merawat program
Program yang sudah jadi perlu dirawat untuk mencegah munculnya bug
yang sebelumnya tidak terdeteksi atau mungkin juga pengguna
membutuhkan fasilitas baru yang dulu tidak ada

B. Flowchart
Flowchart didefinisikan sebagai bentuk gambar/diagram yang
mempunyai aliran satu atau dua arah secara sekuensial. Kegunaan Flowchart
adalah untuk mendesain program dan untuk merepresentasikan program.
Oleh sebab itu, flowchart harus dapat merepresentasikan komponen-
komponen dalam bahasa pemrograman.
Pernbuatan Flowchart dapat dilakukan sebelum pembuatan program
(dengan tujuan mempermudah programmer dalam menentukan alur logika
program) dan sesudah pembuatan program (dengan tujuan menjelaskan alur
program kepada orang lain). Secara garis besar, unsur-unsur pemrograman
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 15 dari 83 27 Februari 2017

adalah Input  Proses  Output. Semua bahasa pemrograman, pasti


mempunyai komponen-komponen sebagai berikut:
 Input (scanf)
 Percabangan (if, switch)
 Perulangan (while, for, for each, loop)
 Output (printf)
Lambang-lambang yang digunakan dalam membuat flowchart beserta
artinya diberikan pada Tabel 1.2.
Tabel 1.2. Daftar lambang-lambang yang digunakan dalam flowchart
Lambang Keterangan
Mulai/selesai (terminator)

Aliran data

Input/Output

Proses

Percabangan (Decision)
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 16 dari 83 27 Februari 2017

Lambang Keterangan
Pemberian nilai awal suatu
variabel (Preparation)

Memanggil prosedur/fungsi (Call)

Connector (di halaman yang


sama)

Connector (di halaman lain)

Sequence Process
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 17 dari 83 27 Februari 2017

Lambang Keterangan
PeruIangan

Contoh:
Problem: Menghitung luas persegi panjang.
Algoritma:
1. Masukkan panjang (p)
2. Masukkan Iebar (l)
3. Hitung luas (L), yaitu panjang kali Iebar
4. Cetak luas (L)
5. Selesai
Flowchart dari algoritma tersebut diberikan pada Gambar 1.1.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 18 dari 83 27 Februari 2017

Gambar 1.1. Flowchart menghitung luas persegi panjang

Contoh lain flowchart diberikan pada Gambar 1.2 sampai Gambar 1.4.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 19 dari 83 27 Februari 2017

Gambar 1.2. Flowchart menghitung jumlah 50 bilangan asli pertama

Gambar 1.3. Flowchart menentukan bilangan terbesar dari tiga bilangan


KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 20 dari 83 27 Februari 2017

Gambar 1.4. Flowchart menghitung N faktorial

1.4. Summary
Kriteria Algoritma menurut Donald E. Knuth: (1) Input (boleh tidak
ada). (2) Output (harus ada). (3) Definiteness (pasti) (3) Finiteness (ada
batas). (4) Effectiveness (tepat dan efisien). Jenis Proses Algoritrna: (1)
Sequence Process (2) Selection Process (3) Iteration Process (4) Concurrent
Process. Langkah Pembuatan Program: (1) Mendefinisikan masalah; (2)
Menemukan solusi; (3) Memilih algoritma; (4) Menulis program; (5) Menguji
program; (6) Menulis dokumentasi; (7) Merawat program.
Pernbuatan Flowchart dapat dilakukan sebelum pembuatan program
dan sesudah pembuatan program. Semua bahasa pemrograman, pasti
mempunyai komponen-komponen sebagai berikut: (1) Input (scanf); (2)
Percabangan (if, switch); (3) Perulangan (while, for, for each, loop); (4)
Output (printf)
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 21 dari 83 27 Februari 2017

1.5. Questions/Discussions
A. Algortima
1. Buatlah algoritma untuk menghitung konversi suhu.dari Celcius
menjadi Reamur dan Farenheit.
Input: suhu dalam Celcius
Proses: R = 4/5 * C dan F = 9/5 * C + 32
Output: suhu dalam Reamur dan Farenheit
2. Buatlah algoritma untuk mencari sisi miring dari suatu segitiga siku-
siku, jika diketahui panjang sisi yang membentuk sudut siku-siku.
Input: a dan b, yaitu panjang sisi pembentuk sudut siku-siku

Proses: c  a2  b2
Ouput: sisi miring (c)
3. Buatlah algoritma untuk menentukan suatu bilangan genap atau ganjil
Input: suatu bilangan
Ouput: genap/ganjil
4. Buatlah algoritma untuk untuk menghitung akar-akar persamaan
kuadrat dengan rumus:
D  B2  4 * A*C
Jika D < 0 maka didapat akar imajiner
B
Jika D = 0 maka X1 = X2 yang didapat dari X 1  X 2 
2* A
B D B D
Jika D > 0 maka ada dua akar X 1  dan X 2 
2* A 2* A
5. Menghitung usia berdasarkan tahun (saja) lahir dan tahun (saja)
sekarang
Input: Tahun lahir (tl), Tahun sekarang (ts)
Proses: Umur = ts - tl
Output: Cetak Umur
B. Flowchart
Buatlah flowchart untuk semua soal pada bagian Algoritma.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 22 dari 83 27 Februari 2017

CHAPTER 2
PASCAL DATA STRUCTURE

2.1. Description
In this chapter we will discuss about data structure in Pascal.

2.2. Learning Outcome


Operating the Turbo Pascal program, knowing the major commands, and
rules in Turbo Pascal, the basic elements of Turbo Pascal, and Pascal
program structure intelligently and responsibly.

2.3. Learning Materials


A. Pengenal (identifier)
Pengenal juga bisa disebut nama. Seluruh objek di sekitar kita
semuanya memiliki nama. Begitu pula dalam pemrograman. Berikut kategori
yang dapat mempunyai nama :
1. Peubah (Variabel)
Variabel dalam matematika berarti sesuatu yang memiliki nilai yang
belum pasti. Seperti pada contoh Y = X + 1. Masing-masing X dan Y disebut
variabel. Bagaimana di dalam pemrograman? Variabel disebut sebagai
tempat penyimpanan data di memori yang isinya dapat diubah. Prinsip
kedua pengertian variabel antara matematika dan pemrograman adalah
sama. Contoh :
Var
jml_kelas : integer
Nilai : real
Nilai_huruf : char
n : integer

Jml_siswa, nilai, nilai_huruf, dan n adalah nama dari peubah/variabel. Nilai-


nilai dari variabel tersebut dapat diganti-ganti dalam program.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 23 dari 83 27 Februari 2017

2. Konstanta
Kita telah mengenal konstanta dalam matematika sebagai sesuatu
yang bernilai mutlak/konstan serta tidak dapat diubah. Misal phi = 3.14.
Bagaimana konstanta pada pemrograman? Konstanta adalah data yang
ditempatkan di dalam memori dengan nilai yang tidak dapat diubah selama
program dijalankan. Contoh :
Const Phi = 3.14
Const jml_siswa = 150
Const pass = ‘deltadirect2’
Phi, jml_siswa, dan pass adalah nama dari konstanta. Nilai-nilai dalam
konstanta tidak dapat diubah di dalam program.
3. Tipe bentukan
Tipe ini akan lebih detail dijelaskan pada pembahasan berikutnya
tentang tipe data. Hal yang perlu anda ketahui sekarang bahwa tipe ini juga
memiliki nama. Sebagai contoh deklarasi :
Type koordinat : record <x : real, y : real>
Type mahasiswa : record
< nama : string,
NIM : integer,
Prodi : string >
Titik_x : koordinat
Peserta_ujian : mahasiswa
Koordinat dan mahasiswa adalah nama dari tipe bentukan. Sedangkan
titik_x dan peserta_ujian adalah variabel yang bernilai koordinat dan
mahasiswa.
4. Function
Function seperti yang akan dijelaskan pada bab Pemrograman
Modular juga mempunyai nama. Deklarasinya sebagai berikut :
Function rata_rata (A, B : integer) : real
{ Program mencari rata-rata }
Supaya tidak bingung Anda cukup memperhatikan kata rata_rata yang kita
sebut sebagai nama function. Sedangkan lebih detail tentang komponen
function akan dijelaskan selanjutnya.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 24 dari 83 27 Februari 2017

5. Procedure
Procedure akan dijelaskan detail bersama dengan function. Namun
kita akan mengenal terlebih dahulu tentang procedure bahwa procedure
memiliki nama. Contoh deklarasinya sebagai berikut :
Procedure tukar (A, B : integer)
{ Menukar nilai A dan B }
Kata tukar sebagai nama dari procedure.
Ada beberapa hal yang harus diingat dalam memberikan nama yaitu:
a. Nama tidaklah case sensitive, artinya penulisan dalam huruf kecil atau
kapital tidak berpengaruh. Misal : Jml_siswa sama dengan jml_siswa.
b. Nama tidak boleh mengandung karakter kecuali underscore ( _ ).
c. Nama tidak boleh mengandung spasi. Biasanya spasi digantikan oleh
underscore.
d. Nama tidak boleh diawali dengan angka. Misal : 1sistem (salah).
e. Nama boleh mengandung angka asal tidak diawal kata. Misal: sistem1
(benar).

B. Tipe Data
Setelah Anda mengenal variabel maka selanjutnya kita akan
mengenalkan tentang tipe data. Misal ada sebuah ungkapan Y = X + 1 di
mana Y : bilangan bulat. Arti ungkapan tersebut adalah Y tidak boleh bernilai
selain bilangan bulat. Di dalam pemrograman Pascal, bilangan bulat inilah
yang disebut sebagai tipe data. Setiap variabel dan function di dalam Pascal
mempunyai tipe data. Dan berikut macam-macam tipe data yang kami
kategorikan sesuai ketersediaannya dalam Pascal.
1. Tipe data dasar
Tipe ini sudah sering kita dengar ataupun kita pakai. Yang termasuk
dalam tipe data dasar adalah : bilangan logika, bilangan bulat, karakter,
bilangan riil, dan string. Ketiga tipe yang pertama disebut juga sebagai tipe
ordinal.Disebut demikian karena nilainya dapat ditransformasikan menjadi
bentuk integer (bilangan bulat).
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 25 dari 83 27 Februari 2017

a. Bilangan bulat
Nama tipe ini adalah Integer. Daftar tipe-tipe yang termasuk
dalam kategori bilangan bulat dapat dilihat pada Tabel 2.1.

Tabel 2.1. Tipe-tipe yang termasuk dalam kategori bilangan bulat


Nama tipe Rentang nilai Format
Byte 0 .. 255 Unsigned 8-bit
Shortint -128 .. 127 Signed 8-bit
Word 0 .. 65535 Unsigned 16-bit
Integer -32768 .. 32767 Signed 16-bit
Longint -2147483648 .. 2147483647 Signed 32-bit

Sebagai contoh misal suatu variabel Y dan X bertipe integer dan byte.
Dalam bahasa Pascal dituliskan
Var
X : byte;
Y : integer;
Arti dari deklarasi pada contoh yaitu X bernilai bilangan bulat tetapi tidak
dapat lebih besar dari 255 dan Y dapat bernilai antara -32768 .. 32767.
Perlu diperhatikan dalam pemilihan tipe data. Misal kita butuh sebuah
variabel yang nantinya hanya bernilai antara 0 – 100 maka kita tidak perlu
menggunakan tipe data integer atau word. Namun tipe byte sudah
mencukupi. Hal ini berkaitan dengan penghematan ukuran memori
komputer. Operasi yang dapat diberlakukan dalam tipe data ini yaitu:
1) Operasi aritmetik, antara lain : + (tambah), - (kurang), * (kali), DIV
(bagi), dan MOD (sisa pembagian).
Contoh : 5 div 2 = 2, 10 mod 3 = 1, dsb.
2) Operasi perbandingan, antara lain : < (kurang dari), > (lebih dari),
<= (kurang dari sama dengan), >= (lebih dari sama dengan), dan
<> (tidak sama dengan).
b. Logika
Nama tipe ini adalah Boolean. Nilai dari tipe ini hanya true dan
false. Jika diubah dalam integer nilainya 1 dan 0. Operasi yang dapat
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 26 dari 83 27 Februari 2017

diberlakukan pada tipe data logika adalah AND, OR, NOT, dan XOR. Ada
operasi lain seperti NAND, NOR namun keempat operasi sebelumnya
sudah mewakili. Contoh operasi tipe ini diberikan pada Tabel 2.2.
Tabel 2.2. Hasil operasi Boolean
A B A and B A or B A xor B
True True True True False
True False False True True
False True False True True
False False False False False

c. Bilangan riil
Nama tipe ini adalah Real. Daftar tipe-tipe yang termasuk dalam
kategori bilangan riil diberikan pada Tabel 2.3.
Tabel 2.3. Tipe-tipe yang termasuk dalam kategori bilangan riil
Nama tipe Rentang nilai Format
Real 2.9 x 10-39 .. 1.7 x 1038 6 byte
Single 1.5 x 10-45 .. 3.4 x 1038 4 byte
Double 5.0 x 10-324 .. 1.7 x 10308 8 byte
Extended 3.4 x 10-4932 .. 1.1 x 104932 10 byte

Operasi yang berlaku pada tipe data ini antara lain:


1) Operasi aritmetik, antara lain : + (tambah), - (kurang), * (kali), dan /
(bagi). Contoh : 10 / 3 = 3.333, 10 / 2.5 = 4.0.
2) Operasi perbandingan, antara lain : < (kurang dari), > (lebih dari), <=
(kurang dari sama dengan), >= (lebih dari sama dengan), dan <> (tidak
sama dengan).

Perlu diperhatikan!
Y = X / Z, di mana X, Y, Z adalah integer.
Di dalam Pascal proses ini akan memunculkan pesan kesalahan. Karena
hasil pembagian dari integer adalah real. Kecuali tanda bagi (/) digantikan
dengan DIV.
d. Karakter
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 27 dari 83 27 Februari 2017

Nama tipe ini adalah Char. Tipe char dapat mempunyai nilai antara lain:
1) Huruf : ‘a .. z’ dan ‘A .. Z’
2) Angka : ‘0 .. 9’
3) Karakter Spesial : ‘@, #, $, %, dsb (lebih lengkap dapat dilihat pada
tabel ASCII).
4) Tanda baca : ?, !, ., ,, dsb.
Operasi yang dapat diberlakukan pada tipe data ini hanyalah operasi
logika. Contoh :
‘x’ <> ‘X’ true
‘k’ < ‘l’ true
‘a’ > ‘A’ false
Perlu diketahui bahwa ‘3’ adalah karakter namun 3 merupakan integer.
e. String
Nama tipe ini adalah String. String adalah kumpulan dari karakter
yang memiliki panjang tertentu. Nilai dari string sama seperti nilai dari
karakter. Namun string yang kosong diberikan nilai NULL.
Contoh string: ‘Solo’
‘Jl. Perintis Kemerdekaan no 14, Laweyan’
‘57147’
‘No. telp 741903’
‘Alamat siapa ini ?’ Dsb.
Operasi yang berlaku pada tipe data string antara lain:
1) Operasi penyambungan (Concatenate).
Contoh: ‘Mate’ + ‘Matika’ = ‘MateMatika’, ’10’ + ‘6’ = ‘106’, dsb.
2) Operasi perbandingan, antara lain : < (kurang dari), > (lebih dari), <=
(kurang dari sama dengan), >= (lebih dari sama dengan), dan <> (tidak
sama dengan).
Contoh :
‘aku’ = ‘daku’ false
‘anda’ < ‘ANDA’ true Dsb.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 28 dari 83 27 Februari 2017

2. Tipe data bentukan


Seperti yang telah disebut di atas tentang tipe data bentukan, tipe ini
didefinisikan oleh user. Pascal menyediakan fasilitas untuk mendefinisikan
tipe data tersendiri oleh user yaitu ada dua jenis yaitu:
a) Tipe data dasar yang diberi nama baru.
Contoh:
Type Bilangan_bulat : Integer
Var X: Bilangan_bulat
Type Kata_sambung : string
Var J : kata_sambung
Atau yang sering dipakai
Type larik : array [1..10] of integer
Var S : larik
b) Tipe data record. Detail tentang record akan dibahas dalam bab-bab
berikutnya. Di sini akan kita kenalkan bagaimana deklarasi record dan
komponen-komponennya.
Contoh:
Type mahasiswa : record <
Nama : string,
NIM : integer,
Alamat : string,
Jns_kel : char >
Var Biodata : mahasiswa;
Artinya : kita telah membuat tipe data bentukan baru berupa record yang
kita beri nama mahasiswa. Sedangkan kita mempunyai variabel Biodata
yang bertipe data record yang telah kita buat, yaitu mahasiswa.
Perhatian :
o Deklarasi TYPE lebih dahuru dari pada deklarasi variabel (VAR).
o Deklarasi TYPE digunakan untuk membuat tipe data bentukan.
o Nama tipe data bentukan tidak dapat dipakai sebagai nama
variabel.
Sehingga diperlukan deklarasi variabel tersendiri yang memuat tipe data
bentukan. Untuk mengakses salah satu nilai dari record dapat
digunakan cara sbb :
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 29 dari 83 27 Februari 2017

Misalkan kita akan menggunakan nilai dari NIM mahasiswa saja tanpa
menggunakan field yang lain. Maka sintaksnya
Biodata.NIM
Biodata.NIM := 9107 {untuk mengisikan nilai pada field NIM}
Contoh lain jika kita akan mengisikan data lengkap tentang mahasiswa,
dapat ditempuh dengan
Biodata.nama := ‘Ali Al Sahab’
Biodata.NIM := 10189
Biodata.alamat := ‘Jl. Sahab no. 19, Pekalongan’
Biodata.jns_kel := ‘L’
Demikian tentang record. Anda dapat lebih mendalaminya pada bab
tentang record.
3. Tipe data pointer
Tipe ini akan dibahas khusus pada bab data pointer. Tipe data yang
sering digunakan adalah tipe yang pertama.

2.4. Summary
Objek-objek atau Hal-hal yang digunakan dalam pemrograman
dengan Pascal yaitu: (1) Pengenal (identifier) yang terdiri dari Peubah
(Variabel), Konstanta, Tipe bentukan, Function, dan Procedure. Dalam
pemberian nama objek atau hal-hal tersebut harus mengikuti aturan: nama
tidak boleh mengandung karakter kecuali underscore ( _ ), nama tidak boleh
mengandung spasi. Biasanya spasi digantikan oleh underscore, nama tidak
boleh diawali dengan angka, dan nama boleh mengandung angka asal tidak
di awal kata. Tipe data yang digunaka dalam Pascal antara lain: (1) Tipe data
dasar meliputi: Bilangan bulat (Integer), logika (Boolean), Bilangan riil (Real),
Karakter (Char), String.

2.5. Questions/Discussions
A. Pengenal
1. Apa perbedaan dari pendefinisian Procedure dan Function?
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 30 dari 83 27 Februari 2017

2. Berikan contoh penaamaan objek pada Pascal yang benar dan salah!
Masing-masing 5 contoh.
3. Apa yang dimaksud dengan Case sensitive? Sebutkan objek/hal yang
biasanya case sensitive.
B. Tipe Data
1. Apakah perbedaan dari operasi DIV dan / ?
2. Sebutkan perintah operasi yang digunakan apabila kita akan
membuat program bilangan bulat genap dan ganjil.
3. Sebutkan istilah logika dalam matematika yang berkaitan dengan
operasi AND, OR, XOR.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 31 dari 83 27 Februari 2017

CHAPTER 3
PASCAL PROGRAM ALGORITHM STRUCTURE

3.1. Description
In this chapter we will discuss about Algorithm Structure in Pascal.

3.2. Learning Outcome


Understanding the structure of pascal program algorithm intelligently and
responsibly.

3.3. Learning Materials


A. Komponen Program
Sebelum kita belajar membuat program menggunakan Pascal
alangkah baiknya jika kita mengetahui terlebih dahulu komponen apa saja
yang sekiranya diperlukan dalam membuat program tersebut. Komponennya
antara lain :
1. Kepala program
2. Bagian deklarasi
3. Bagian pernyataan
Mari kita bahas secara terperinci dari ketiga komponen tersebut.
1. Kepala Program
Kepala program pada Pascal diawali dengan kata ‘PROGRAM’ dan
diikuti dengan nama program yang ditentukan sendiri oleh pemrogram.
Kepala program biasanya dijadikan judul dari program yang bersangkutan.
PROGRAM menghitung_rata_rata;
Perlu diperhatikan bahwa nama program tidak boleh diawali dengan angka,
tidak mengandung karakter kecuali underscore “_”, dan tidak mengandung
spasi. Huruf kapital atau huruf kecil tidaklah berbeda karena Pascal adalah
bahasa pemrograman yang tidak case sensitive. Terakhir, baris kepala
program diakhiri dengan karakter titik-koma ( ; ).
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 32 dari 83 27 Februari 2017

2. Bagian Deklarasi
Bagian deklarasi dibagi menjadi 5 macam, yaitu :
a. Deklarasi unit
b. Deklarasi konstanta
c. Deklarasi tipe bentukan dan tipe record
d. Deklarasi variabel
e. Deklarasi subprogram
Berikut penjelasan dari kelima jenis deklarasi.
a. Deklarasi unit
Pascal versi 4.0 ke atas menyediakan beberapa function atau
procedure serta variabel standar yang dapat dikompilasi bersama
dengan program yang kita buat. Function, procedure, dan variabel itu
terangkum menjadi satu kelompok yang disebut unit. Jika pada program
yang kita buat mengandung suatu perintah atau function terkandung
dalam salah satu unit Pascal. Maka kita harus menyertakan deklarasi
unit tersebut. Jika kita telah menyertakan suatu unit dalam program, itu
berarti kita memakai procedure, function, dan variabel yang telah dibuat
standar oleh bahasa pemrograman Pascal dalam program yang kita
bangun. Daftar macam-macam unit dan keterangannya diberikan pada
Tabel 3.1.
Tabel 3.1. macam-macam unit dan keterangannya
Nama Keterangan
unit
Crt Berisi dengan rutin yang berkaitan dengan layar, keyboard dan suara.
WinCrt Rutinnya hampir sama dengan unit crt namun digunakan pada Turbo
Pascal
Dos Windows.dengan operasi terhadap sistem operasi dan penanganan file.
Berkaitan
Graph Berisi lebih dari 50 rutin yang berkaitan dengan operasi grafis.

Graph3 Menyediakan pengendali grafik kura-kura (turtlegraphics) yang tersedia


pada Turbo Pascal 3.0.
Overlay Berisi rutin yang berguna untuk melakukan overlay (berbagi memori
dengan program besar).
Printer Berisi fasilitas untuk memudahkan pencetakan dengan printer.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 33 dari 83 27 Februari 2017

Nama Keterangan
unit
System Berisi sejumlah pustaka yang digunakan saat eksekusi (runtime
library).
Turbo3 Diantaranya
Untuk mejagaberisi rutin :
kompatibilitas terhadap program Turbo Pascal 3.0.
- penanganan masukan/keluaran file.
WinDos Merupakan implementasi rutin penanganan file dan sisem operasi. Unit ini
- Penanganan string.
merupakan altenatif dari unit DOS.
- Alokasi memori dinamis
Program yang menggunakan rutin ataupun elemen yang ada pada suatu
unit harus menggunakan klausa ‘USES’ dan diikuti nama unitnya.
USES Crt;
Menyatakan bahwa program yang kita buat menggunakan unit crt.
Sebagai contoh misal di dalam program yang kita buat menggunakan
perintah clrscr (membersihkan layar output). Maka perintah tersebut
tidak dikenali oleh Pascal jika kita belum menyertakan unit crt dalam
program yang bersangkutan.
b. Deklarasi konstanta
Seperti yang telah dijelaskan pada bab sebelumnya bahwa
konstanta memiliki nama. Pemberian nama untuk konstanta disebut
deklarasi konstanta. Deklarasi ini didahului dengan klausa ‘CONST’ dan
diikuti dengan nama-nama konstanta dan nilainya.
Contoh:
Program Hitung_Nilai;
CONST
Phi = 3.14;
Delta = 0.1;
Nilai : char = ‘A’;
Var x, y, z : integer;
Begin
Nilai := ‘B’; {konstanta bertipe dapat dirubah di
dalam program.
Berbeda dengan contoh pada bab
sebelumnya}
Writeln(nilai);
End.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 34 dari 83 27 Februari 2017

Pada contoh di atas terdapat dua jenis konstanta. Pertama, konstanta


tak bertipe yang tidak dapat diubah dalam program dan konstanta
bertipe yang depat diubah dalam program.
c. Deklarasi tipe bentukan dan tipe record
Seperti konstanta tipe bentukan juga mempunyai nama
tersendiri yang diberikan oleh pemrogram. Pemberian nama ini disebut
sebagai deklarasi tipe bentukan. Adapun dalam deklarasi tipe bentukan
terlebih dahulu menggunakan klausa ‘TYPE’ dan diikuti nama-nama tipe
bentukan.
Contoh:
Program Pengecekan;
TYPE
Cek_status : integer;
Pegawai : record <
Nama : string;
NIM : integer;
>
Const A = 21;
Var x, y, z : integer;
Karyawan : pegawai;
Begin
….;
End.
Pada contoh di atas terdapat dua deklarasi tipe bentukan. Yang pertama
adalah deklarasi tipe bentukan dan yang kedua adalah deklarasi tipe
record.
d. Deklarasi variabel
Variabel dideklaasikan agar dikenali oleh Pascal saat di-compile
dengan didahului klausa ‘VAR’ dan diikuti nama-nama dari variabel serta
tipe datanya.
Contoh:
Program Menghitung_Deret;
Const A = 16;
Type larik : array[1..100] of integer;
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 35 dari 83 27 Februari 2017

VAR
Deret : larik;
Jumlah, beda, kelipatan : integer;
Begin
…. ;
End.
Pendeklarasian variabel tak lain berfungsi untuk mengalokasikan
memori untuk diisi dengan suatu nilai pada program yang kita buat.
e. Deklarasi subprogram
Deklarasi subprogram tak lain adalah mendeklarasikan suatu
procedure atau function. Penulisannya didahului klausa ‘PROCEDURE’
jika yang akan dikenalkan adalah procedure. Dan klausa ‘FUNCTION’
jika berupa function.
Contoh:
Program Nilai_Mahasiswa;
Const w = 7;
Type daftar_nilai : array [1..100] of real;
Var x,y,z: integer;
Nilai : daftar_nilai;
PROCEDURE Baca_Nilai (nilai : daftar_nilai);
Var i : integer;
Begin
…..
End;

FUNCTION rata_rata (nilai : daftar_nilai): real;


Var jml_mahasiswa : integer;
Begin
…..
End;

Begin
…… ; {program utama}
End.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 36 dari 83 27 Februari 2017

Seperti yang telah kita ketahui bahwa procedure dan function


merupakan subprogram. Maka di dalam procedure dan function dapat
mendeklarasikan variabel yang dipakai di dalamnya (disebut variabel
lokal yang akan dibahas pada bab pemrograman modular). Tetapi tidak
ada deklarasi yang lain di dalam procedure dan function.

B. Bagian Pernyataan
Bagian pernyataan ini yang kita sebut dengan program utama.
Program utama berisi statement-statement program yang terletak di antara
klausa ‘BEGIN’ dan ‘END’ serta karakter ‘ . ‘ (titik).
Contoh :
Begin
For i:= 1 to 10 do
Begin
X := 5;
X := X + 1;
End;
End.
Komentar Program: Pada saat menuliskan sintaks program, kita dapat
menambahkan komentar yang bertujuan untuk menjelaskan maksud dari
sintaks. Komentar ini tidak dicompile oleh Pascal karena dianggap bukan
kategori sintaks program. Di dalam Pascal komentar ditulis dengan diikuti
tanda { } atau (* dan *).
Contoh :
{----------------------------}
{ [ Program Nilai ] }
{ [ Mahasiswa ] }
{ [ UGM ] }
{----------------------------}
Pada contoh di atas tampilan tersebut dianggap sebuah komentar.
C. Operasi Input Output
Perintah untuk membaca input dari user terdiri dari dua jenis :
1. Read : Membaca input dari user setelah user menekan enter.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 37 dari 83 27 Februari 2017

2. Readln : Membaca input dari user setelah user menekan enter.


Kemudian memindah posisi cursor pada baris baru.
Sedangkan perintah untuk menampilkan suatu output pada layar :
1. Write : Menuliskan pada layar suatu nilai/output program.
2. Writeln : Menuliskan pada layar suatu niali/output dan memindahkan
posisi cursor pada pada baris baru.
Untuk mengatur tampilan layar menggunakan argumen pada write. Sebagai
contoh terdapat deret seperti di bawah ini :
1234
200000
600
16
dan
1234
200000
600
16
Dengan menggunakan format write (‘data’ : n) dimana n adalah ukuran
banyaknya karakter yang diukur dari kiri dan menyebabkan penulisan data
rata kanan.
Contoh :
Write (‘1234’)
Write (‘1234’ : 8)
Write (‘200000’ : 8)
Outputnya :
1234
1234
200000
Untuk menampilkan data berupa bilangan desimal, kita dapat menggunakan
format write (angka : n : m) dimana n adalah ukuran banyaknya karakter yang
diukur dari kiri dan m adalah banyaknya angka di belakang koma.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 38 dari 83 27 Februari 2017

Contoh :
Write (12345678901234)
Write (1526.5893 : 12 : 2)
Write (1526.5893 : 12 : 4)
Outputnya :
12345678901234
1526.59
1526.5893

3.4. Summary
Komponen program terdiri dari: (1) Kepala program; (2) Bagian
deklarasi; (3) Bagian pernyataanParagraf. Bagian deklarasi dibagi menjadi 5
macam, yaitu: (1) Deklarasi unit; (2) Deklarasi konstanta; (3) Deklarasi tipe
bentukan dan tipe record; (4) Deklarasi variabel; (5) Deklarasi subprogram.
Program utama berisi statement-statement program yang terletak di antara
klausa ‘BEGIN’ dan ‘END’ serta karakter ‘ . ‘ (titik).

3.5. Questions/Discussions
1. Tuliskan deklarasi untuk hal-hal berikut ini:
a. Konstanta: Gaji pokok besarnya 5.000.000, Jam kerja utama
selama 8 jam, uang lembur tiap jam besarnya 100.000
b. Data pegawai yang memuat nama pegawai, nomor pegawai,
tempat dan tanggal lahir, alamat tingal, mulai bekerja, unit
pekerjaan.
2. Tuliskan kode program untuk program berikut.
a. Program input nama, nim, alamat, tempat tanggal lahir kemudian
menampilkan inputan tersebut.
b. Program menghitung operasi dua bilangan bulat yaitu
penjumlahan, pengurangan, perkalian, dan pembagian.
c. Program menghitung rata-rata 5 bilangan bulat.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 39 dari 83 27 Februari 2017

CHAPTER 4
PROGRAMMING STRUCTURE / CONTROL STRUCTURE

4.1. Description
In this chapter we will discuss about condition selection and looping.

4.2. Learning Outcome


1. Understanding intelligently and can make the application programs
associated with the screening structure with strong and responsibly.
2. Understanding looping structure in Pascal language intelligently and
can create application programs associated with the looping problem
strongly.

4.3. Learning Materials


Pada bagian ini akan membahas mengenai “Struktur Algoritma“.
Pemrograman pascal merupakan bahasa pemrograman terstruktur
prosedural yang berarti pembacaan algoritma dilakukan secara beurutan.
Namun demikian, pemrograman Pascal juga menyediakan alur
pembacaan program yang melompat (seleksi). Ada tiga macam struktur
pemrograman yaitu :
a) Runtutan/ Sequential
b) Seleksi/ Conditional
c) Perulangan/ Repetition/ Looping

A. Runtutan/ Sequential
Berfungsi mengontrol program sehingga berjalan secara berurutan.
Program dibaca dari mulai perintah yang pertama dituliskan kemudian turun
ke perintah selanjutnya demikian seterusnya sampai pada akhir perintah.
Secara umum program akan dibaca oleh compailer secara terurut.
Contoh :
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 40 dari 83 27 Februari 2017

Program_Selisih_Jam;
Uses crt;
var j1,j2,m1,m2,d1,d2,B1,B2,J,M,S,Delta,sisa: integer;
begin
clrscr;
write('Baca jam mulai =');readln(j1,m1,d1);
writeln;
write('Baca jam selesai =');readln(j2,m2,d2);
B1:= 3600 * j1 + 60 * m1 + d1;
B2:= 3600 * j2 + 60 * m2 + d2;
Delta:= B2 - B1;
J:= Delta div 3600;
sisa:= Delta mod 3600;
M:= sisa div 60;
S:= sisa mod 60;
write('Selisih jam =',J);
writeln;
write('Selisih menit =',M);
writeln;
write('Selisih detik =',S);readln;
end.

Hasil Run program:


Baca jam mulai = 3 23 29
Baca jam selesai = 4 30 27
Selisih jam = 1
Selisih menit = 6
Selisih detik =58
Catatan :
Tanda (:= ) disebut sebagai Operator Penugasan.

B. Selection/ Condition
Sistem kontrol ini memungkinkan programmer untuk membuat
program yang dapat memilih satu langkah di antara sejumlah langkah untuk
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 41 dari 83 27 Februari 2017

dikerjakan. Dalam Turbo Pascal disediakan 2 buah struktur kontrol seleksi,


yaitu: (a) Struktur IF……THEN…..
(b) Struktur CASE…OF…
1. Struktur IF
Merupakan struktur kontrol di mana suatu aksi dilaksanakan
berdasarkan kondisi logikanya (benar atau salah). Bentuk umum:
if (kondisi) then aksi ;
{Jika kondisi benar maka aksi akan dilaksanakan dan
sebaliknya}
if (kondisi) then aksi1 else aksi2 ;
{Jika kodisi benar maka aksi1 diaksanakan, jika kondisi
salah maka aksi2 akan dilaksanakan}
if (kondisi1) then aksi1 else
if (kondisi2) then aksi2 else
……………………..
if (kondisi-n) then aksi-n ;
{Jika kondisi1 benar maka aksi1 dilaksanakan tanpa
membaca kondisi2 dan seterusnya. Jika kondisi1 salah
maka aksi2 dilaksanakan tanpa membaca aksi3 dan
selanjutnya. Demikian seterusnya}
if (kondisi1) then aksi1 ;
if (kondisi2) then aksi2 ;
……………………….
if (kondisi-n) then aksi-n ;
{Masing-masing kondisi akan dibaca dan aksi akan tetap
dilaksanakan. Jadi masing-masing struktur terpisah satu
dengan yang lain}
Contoh :
program_menghitung_akar_kwadrat:
uses crt;
var A,B,C:integer;
x1,x2,D:real;
begin
clrscr;
write('Baca koofisien:');readln(A,B,C);writeln;
writeln(A,'x*x + (',B,') x +',C);
if A=0 then writeln('Bukan persamaan kwadrat') else
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 42 dari 83 27 Februari 2017

begin
D:=(B*B) - (4*A*C);
writeln('Determinannya :',D:2:2);readln;
if D>0 then
begin
writeln('Persamaan kwadrat mempunyai 2 akar yang
berbeda');
x1:= (-B + sqrt(D))/(2*A);
x2:= (-B - sqrt(D))/(2*A);
writeln('Akar-akarnya
adalah:',x1:2:2,'dan',x2:2:2);
end else
if D=0 then
begin
writeln('Persamaan kwadrat mempunyai akar yang
sama'
x1:= -B/(2*A);
x2:= -B/(2*A);
writeln('Akar-akanya adalah:',x1:2:2);
end else
writeln('Tidak memiliki akar riil');
end;
readln;
end.
Hasil Run Program :
Baca koofisien: 1 -4 4
1x*x + (-4) x +4
Determinannya :0.00
Persamaan kwadrat mempunyai akar yang sama
Akar-akanya adalah:2.00
Baca koofisien: 1 -5 6
1x*x + (-5) x +6
Determinannya :1.00
Persamaan kwadrat mempunyai 2 akar yang berbeda
Akar-akarnya adalah:3.00dan2.00
Baca koofisien: 1 3 4
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 43 dari 83 27 Februari 2017

1x*x + (3) x +4
Determinannya :-7.00
Tidak memiliki akar riil

Program_Konversi_nilai:
Uses Crt;
var Nilai : Byte;
begin
clrscr;
write('Baca nilai :');readln(Nilai);
if nilai>=80 then write('Nilai = A') else
if nilai>=65 then write('Nilai = B') else
if nilai>=41 then write('Nilai = C') else
if nilai>=26 then write('Nilai = D') else
write('Nilai = E');
readln;
end.
Hasil Run Program :
Baca nilai : 90 Baca nilai :55
Nilai = A Nilai = C
Baca nilai :75 Baca nilai :25
Nilai = B Nilai = E
Catatan :
Pada pernyataan else if ataupun else, tidak diperkenankan didahului
dengan menggunakan tanda titik koma (;)

2. Struktur CASE…OF..
Merupakan peluasan dari struktur IF. Karena kalau dalam struktur
IF hanya disediakan dua pilihan (berdasarkan kondisi logikanya) maka
dalam struktur Case ..of dimungkinkan untuk memilih satu pilihan di antara
banyak pilihan yang ada. Bentuk umumnya :
Case var.pilih of atau Case var.pilih of
Pilih1 : aksi1 ; pilih1 : aksi1 ;
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 44 dari 83 27 Februari 2017

Pilih2 : aksi2 ; pilih2 : aksi2 ;


……………. ; ……………. ;
pilih-n : aksi-n ; pilih-n : aksi n;
else aksi-n+1
end; end;
Catatan :
Ekspresi yang digunakan dalam statemen Case adalah yang
mempunyai tipe ordinal yaitu dengan batas antara (-32768 s/d 32767).
Sehingga tipe lain seperti integer yang bertipe longint, tipe string atau
word tidak boleh digunakan.

Contoh :
Program_Konversi_nilai2;
Uses Crt;
Var Nilai : integer;
begin
Clrscr;
write('Baca nilai =');readln(Nilai);
Case Nilai of
0..25 : writeln('Nilainya = E');
26..39 : writeln('Nilainya = D');
40..64 : writeln('Nilainya = C');
65..79 : writeln('Nilainya = B');
80..100: writeln('Nilainya = A');
else
writeln('Tidak ada nilai yang dimaksud');
end;readln;
end.
Catatan:
Program ini akan memberikan nilai yang sama persis dengan yang
menggunakan struktur IF.

3. Perulangan/ Looping/ Repetition


Dalam membuat suatu program kadang-kadang diinginkan agar
program tersebut mampu memproses hal yang sama secara berulang-
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 45 dari 83 27 Februari 2017

ulang sampai ditemukan suatu nilai tertentu yang diinginkan atau mencapai
batas yang telah ditentukan. Untuk itu maka Turbo Pascal telah
menyediakan suatu struktur perulangan yang memudahkan untuk
melakukan proses tersebut, sehingga kode-kode dalam program menjadi
lebih sederhana. Ada beberapa struktur perulangan, yaitu :
a) Struktur FOR….DO….
b) Struktur WHILE…DO……
c) Struktur REPEAT…UNTIL….
a) Struktur FOR
Ada 2 jenis struktur FOR, yaitu :
 Ascendant (Naik)
 Descendant (Turun)
 Naik
Format : For count:= awal to akhir do aksi/blok aksi;
Catatan :
 awal <= akhir
 Variabel count akan naik satu setelah menyelesaikan aksi
 Turun
Format : For count:= awal downto akhir do aksi1/blok aksi;
Catatan :
 awal >= akhir
 Variabel count akan turun satu setelah menyelesaikan aksi

Struktur FOR hanya dpat digunakan pada cacah perulangan yang


diketahui (berapa kali perulangan tersebut akan dilakukan).
Contoh :
Program Latihan: Program Latihan 2:
uses Crt; uses Crt;
var N,i,j :integer; var N, I, j, data : integer;
begin begin
clrscr; clrscr;
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 46 dari 83 27 Februari 2017

write('Baca nilai : ');readln(N); write(‘Baca


nilai:’);
for i:= 1 to N do readln(N);Data:=N;
begin for i:=1 to N do
for j:=1 to i do begin
write(i:3); for j:=1 to N do
writeln; write(data:3);
end; writeln;
readln; data := data -1;
end. end;
End.
Hasil Run Program : Hasi Run Program :
Baca nilai : 7 Baca nilai : 7
1 7
22 66
333 555
4444 4444
55555 33333
666666 222222
7777777 1111111

b) Struktur WHILE .. DO..


Format : While (kondisi) do Aksi/blok aksi
Kondisi: Ekspresi Boolean
Pengecekan untuk melakukan perulangan dilakukan pada awal
proses dan perulangan akan dikerjakan selama kondisi benar. Oleh
karena itu, perlu adanya suatu proses yang dapat mengontrol kondisi
agar dapat menghentikan proses.
Contoh :
uses crt;
var i:integer;
begin
clrscr;
write('Masukkan angka :');readln(i);
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 47 dari 83 27 Februari 2017

while i<5 do
begin
write('Matematika UGM');
i:=i+1;
end;
readln;
end.
Hasil Run program :
Masukkan angka :1
Matematika UGMMatematika UGMMatematika UGMMatematika
UGM Matematika UGM
Keterangan :
Program di atas akan dilaksanakan jika angka yang kita masukkan
kurang dari atau sama dengan lima. Dalam program di atas yang
bertugas menghentikan perulangan adalah proses i:= i+1; sebab jika
tidak ada statement itu, apabila angka yang kita masukkan benar
<= 5 maka program akan berulang sampai tak hingga banyak.
Catatan:
Struktur perulangan while..do dapat digunakan untuk melakukan
perulangan baik yang diketahui maupun yang tidak diketahui jumlah
perulangannya.

c) Struktur REPEAT..UNTIL..
Format : Repeat aksi/ blok aksi until (kondisi) ;
(kondisi) di sini berupa Boolean.
Perulangan dilakukan terus-menerus hingga diperoleh kondisi bernilai
benar. Dalam hal inipun diperlukan adanya kondisi yang dapat
mengontrol program agar program dapat berhenti namun berbeda
dengan while do yang kontrolnya ditempatkan pada awal proses,
maka repeat until kontrolnya diletakkan pada akhir proses.
Contoh :
PROGRAM CONTOH_REPEAT;
Uses crt;
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 48 dari 83 27 Februari 2017

var
n,tot,x: integer;
Mean: real;
begin
clrscr;
tot:=0;
n:=0;
write ('Baca data :');readln(x);
repeat
tot:= tot + x;
n:= n + 1;
write('Data lagi :');readln(x);
until x=0;
end.
Hasil Run Program :
Baca data :12
Data lagi :3
Data lagi :4
Data lagi :5
Data lagi :0
{setelah dimasukkan nol maka pembacaan akan
berhenti dan akan kembali ke
menu awal}
Catatan :
Pada perulangan menggunakan repeat..until ini, proses pembacaan
program dilaksanakan paling tidak satu kali karena proses
pengecekan syarat dilakukan pada akhir.

4.4. Summary
Ada tiga macam struktur pemrograman yaitu: (1) Runtutan/
Sequential; (2) Seleksi/ Conditional; (3) Perulangan/ Repetition/ Looping.
Dalam Turbo Pascal disediakan 2 buah struktur kontrol seleksi, yaitu: (1)
Struktur IF……THEN….. dan (2) Struktur CASE…OF…. Ada tiga struktur
perulangan, yaitu: (1) Struktur FOR….DO…. (2) Struktur WHILE…DO……,
dan (3) Struktur REPEAT…UNTIL….
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 49 dari 83 27 Februari 2017

4.5. Questions/Discussions
1. Tuliskan kode program untuk memeriksa apakah sebuah bilangan
bulat merupakan bilangan ganjil atau genap.
2. Tuliskan kode program untuk menampilkan bilangan bulat sebagai
hasil kali pembagi dan hasil bagi ditambah sisa
3. Tuliskan kode program untuk konversi nilai mahasiswa.
4. Tuliskan program untuk menghitung deret artimatika dan geometri
dengan bilangan asli n tertentu.
5. Tuliskan kode program untuk menghitung dan menampilkan faktorial
dari bilangan cacah n tertentu .
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 50 dari 83 27 Februari 2017

CHAPTER 5
ARRAY AND RECORD

5.1. Description
In this chapter we will discuss about array and record.

5.2. Learning Outcome


1. Understanding the array concepts intelligently and can use to resolve
the problems in Mathematics strongly and responsibly.
2. Understanding the definitions and declarations of record and its
application strongly and responsibly.

5.3. Learning Materials


A. Array
Array atau larik terdiri atas bagian-bagian komponen yang memiliki
tipe data sama. Dalam penyimpanannya array selalu mempunyai jumlah
komponen yang tetap yang ditunjukkan oleh indeksnya. Dimana indeks ini
harus merupakan data dengan tipe ordinal artinya mempunyai urutan tertentu.
Dari penjelasan di atas, sebuah larik (array) dapat diilustrasikan
sebagai berikut:
1 2 3 4 ... i ... n
X

X adalah data bertipe larik dengan komponen sebanyak n


Ada 2 cara untuk mendeklarasikan larik yaitu :
1. Sebagai tipe data baru
Type Larik=Array[1..n] of datatype ;
Var x : larik ;
2. Langsung sebagai variabel
Var x : Array[1..n] of datatype ;
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 51 dari 83 27 Februari 2017

Cara mengakses data larik adalah dengan menunjukkan :


Nama_Larik[no.indeks] ;
Misal : x[1] berarti kita mengakses data larik x pada no.indeks ke-1.

Keuntungan:
Menggunakan data larik adalah bahwa kita tidak akan kehilangan nilai dari
suatu data.

Kelemahan:
Saat ditentukan suatu variable bertipe data array maka ia akan langsung
mengambil tempat pada memory penyimpanannya sesuai dengan tipe data
yang digunakan pada array, baik nantinya semua komponen pada array itu
digunakan ataupun tidak.
Dalam pemrograman kadang kita menghadapi masalah saat kita akan
mendeklarasikan suatu matriks dengan adanya tipe data array maka masalah
itu dapat diselesaikan, yaitu dengan menggunakan array dengan dimensi dua
atau lebih yang kemudian dikenal dengan array dimensi banyak.

Pendeklarasian:
Type
Nama_Array = Array[tipe-indeks1,tipe-indeks2] of tipedata;

Contoh:
Type
Matriks = Array[1..10, 1..10] of integer ;
Berarti matriks itu akan mempunyai dimensi (10x10), namun itu hanya batas
atas dari indeks yang dipesan dalam memori penyimpanan (di atas itu tidak
akan disimpan), sedangkan apabila nantinya kita hanya memasukkan jumlah
baris misal 2 dan jumlah kolom 3 itu boleh saja selama tidak lebih dari 10.
Entry-entry dari matriks tersebut dapat kita panggil dengan mengetikkan
Nama_Array[indeks] ; dari contoh diatas berarti Matriks[2,3] yaitu entry dari
matriks pada baris kedua kolom ketiga.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 52 dari 83 27 Februari 2017

Contoh :
Program Rata_rata;
Uses crt;
type
larik = array[1..10] of integer;
var
x : larik;
Tot, i, n : integer;
mean : real;
Begin
clrscr;
write('Masukkan jumlah data : '); readln(n);
writeln;
Tot := 0;
for i:= 1 to n do
begin
write('Masukkan Data ke-',i,' ', 'Anda : ');
readln(x[i]);
Tot:= Tot + x[i];
end;
writeln;
mean:= Tot/n;
write('Dan hasil perhitungan meannya : ');
writeln(mean:8:2);
readln;
end.
Hasil Run Program :
Masukkan jumlah data : 5
Masukkan Data ke-1 Anda : 1
Masukkan Data ke-2 Anda : 2
Masukkan Data ke-3 Anda : 3
Masukkan Data ke-4 Anda : 4
Masukkan Data ke-5 Anda : 5
Dan hasil perhitungan meannya : 3.00
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 53 dari 83 27 Februari 2017

Tipe Larik yang dijelaskan di atas merupakan Array statis, terdapat


juga array yang bersifat dinamis, yang tidak perlu dideklarasikan panjangnya
pada awal deklarasi.
Contoh :
var
A, B: array of Integer;
begin
SetLength(A, 1);
A[0] := 1;
B := A;
B[0] := 2;
end;
Catatan :
Tipe data Larik (Array) ini data juga berisi tentang kumpulan record, yang
biasa disebut sebagai array of record. Dapat digunakan untuk menyimpan
database dalam Pascal.

Program Matriks
Program Baca_tulis_matriks ;
uses crt;
Var m,n,i,j : integer;
x: Array[1..100,1..100] of integer;
begin
clrscr;
write('Baca ukuran baris Matriks :',' ');readln(m);
write('Baca ukuran kolom matriks :',' ');readln(n);
writeln('Matriks anda berukuran',' ',m,'x',n,' ');
for i:=1 to m do
for j:=1 to n do
begin
write('Baca nilai :',' ');readln(x[i,j]);
end;
writeln;
writeln('Matriksnya :',' ');
for i:=1 to m do
begin
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 54 dari 83 27 Februari 2017

for j:=1 to n do
write(x[i,j]:3); writeln;
end;
writeln;writeln('Matriks tranposenya :',' ');
for j:= 1 to n do
begin
for i:=1 to m do
write(x[i,j]:3);writeln;
end;writeln;
writeln('Matriks anda berukuran',' ',n,'x',m,' ');
readln;
end.

Hasil Run Program :


Baca ukuran baris Matriks : 2
Baca ukuran kolom matriks : 2
Matriks anda berukuran 2x2
Baca nilai : 1
Baca nilai : 2
Baca nilai : 3
Baca nilai : 4
Matriksnya :
1 2
3 4
Matriks tranposenya :
1 3
2 4
Matriks anda berukuran 2x2

B. Record
Tipe data ini merupakan perluasan dari tipe data Array, yaitu karena
pada array masing-masing komponennya harus menggunakan tipe data yang
sama, maka pada record hal itu tidak berlaku lagi. Artinya diperbolehkan untuk
menggunakan tipe data yang berbeda pada masing-masing komponen (field)
dari record tersebut.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 55 dari 83 27 Februari 2017

Pendeklarasian record:
Type
Nama_record = record
Field1: tipe data1 ;
Field2: tipe data2 ;
…………………
…………………
Fieldn: tipe datan ;
End ;
Contoh:
Type Barang = record
Nama : string[20] ;
Jenis : string [20]
Jumlah : integer ;
End ;
Memasukkan data ke dalam record:
Untuk memberikan nilai dari masing-masing field maka kita harus
menuliskan
Nama_record.field := (nilainya);
Misalkan: dari contoh diatas kita akan mengisikan nama barang dengan
Piring, jenis barang yaitu barang pecah belah dan jumlah barang 3 lusin maka
kita harus menuliskan pada program utama
Barang.Nama := ‘Piring’ ;
Barang.Jenis := ‘Pecah belah’ ;
Barang.Jumlah:= 36 ;
Nilai-nilai dari field ini akan disimpan dalam record. Untuk melihat apakah
benar data yang dimasukkan telah tersimpan dalah ecord maka pada var kita
deklarasikan suatu variable misal :
X : array[1..n] of Nama_record ; dari soal di atas yaitu
X : array[1..n] of Barang ;
Maka apabila nanti kita lakukan pemanggilan dengan mengetikkan
Write(Barang[i].nama),
data dari field yang tersimpan dalam record tersebut akan ditampilkan.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 56 dari 83 27 Februari 2017

Contoh program :
PROGRAM DATABASE;
Uses crt;
TYPE mahasiswa=record
nama: array[1..20] of string;
nim: array[1..20] of string;
alamat: array[1..20] of string;
ipk: array[1..20] of real;
end;
VAR data1: mahasiswa;
PROCEDURE data(var mhs:mahasiswa; mhs1:mahasiswi);
Var i,n,no:integer;
pilih,tekan:char;
Begin
write('Masukan jumlah mahasiswa : ');readln(n);
writeln;
for i:= 1 to n do
begin
writeln('Masukan data mahasiswa ke - ',i);
writeln;
write('Nama Mahasiswa : ');readln(mhs.nama[i]);
write('No. Mahasiswa : ');readln(mhs.nim[i]);
write('Alamat Mahasiswa : ');readln(mhs.alamat[i]);
write('IPK : ');readln(mhs.ipk[i]);
writeln;
end;
writeln;
writeln('DATA MAHASISWA');
writeln;
writeln('=============================================');
writeln('|','No':5,'Nama':20,'NIM':10,'Alamat':20,'IPK':10,
'|':2);
writeln('=============================================');
for i:=1 to n do
writeln('|',i:5,mhs.nama[i]:20,mhs.nim[i]:10,mhs.alamat[i]:
20,mhs.ipk[i]:10:2, '|':2);
writeln('=============================================');
writeln;
write('Ingin mencari data tertentu (y/n)? ');
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 57 dari 83 27 Februari 2017

readln(pilih);
writeln;
case pilih of
'y': begin
tekan:='Y';
while upcase(tekan)='Y' do
begin
clrscr;
writeln;
writeln('MENU PILIHAN');
writeln;
writeln('[1] NAMA');
writeln('[2] NIM');
writeln('[3] ALAMAT');
writeln('[4] IPK');
writeln;
write('Pilihan anda : ');readln(no);
case no of
1: begin
write('Masukan Nama Mahasiswa : ');
readln(mhs1.nama);
writeln;
writeln('===========================================');
writeln('|','Nama':20,'NIM':10,'Alamat':20,'IPK':10,'|':2);
writeln('===========================================');
for i:=1 to n do
if (mhs1.nama) = (mhs.nama[i]) then
begin
writeln('|',mhs1.nama:20,mhs.nim[i]:10,mhs.alamat[i]:20,
mhs.ipk[i]:10:2, '|':2);
end;
writeln('===========================================');
writeln;
end;
2: begin
write('Masukan No. Mahasiswa : ');readln(mhs1.nim);
writeln;
writeln('===========================================');
writeln('|','Nama':20,'NIM':10,'Alamat':20,'IPK':10,'|':2);
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 58 dari 83 27 Februari 2017

writeln('===========================================');
for i:=1 to n do
if (mhs1.nim) = (mhs.nim[i]) then
begin
writeln('|',mhs.nama[i]:20,mhs1.nim:10,mhs.alamat[i]:2
0,mhs.ipk[i]:10 :2,'|':2);
end;
writeln('===========================================');
writeln;
end;
3: begin
write('Masukan Alamat Mahasiswa : ');readln(mhs1.alamat);
writeln;
writeln('===========================================');
writeln('|','Nama':20,'NIM':10,'Alamat':20,'IPK':10,'|':2);
writeln('===========================================');
for i:=1 to n do
if (mhs1.alamat) = (mhs.alamat[i]) then
begin
writeln('|',mhs.nama[i]:20,mhs.nim[i]:10,mhs1.alamat:2
0,mhs.ipk[i]:10 :2,'|':2);
end;
writeln('===========================================');
writeln;
end;
4: begin
write('Masukan IPK : ');readln(mhs1.ipk);
writeln;
writeln('===========================================');
writeln('|','Nama':20,'NIM':10,'Alamat':20,'IPK':10,'|':2);
writeln('===========================================');
for i:=1 to n do
if (mhs1.ipk) = (mhs.ipk[i]) then
begin
writeln('|',mhs.nama[i]:20,mhs.nim[i]:10,mhs.alamat[i]
:20,mhs1.ipk: 10:2,'|':2);
end;
writeln('===========================================');
writeln;
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 59 dari 83 27 Februari 2017

end;
end;
write('Ingin mencari data lagi (y/n) ? ');readln(tekan);
writeln;
end;end;end;end;
{===============PROGRAM UTAMA==================}
BEGIN
clrscr;
data(data1,data2);
readln;
end.
Hasil Run Program :
Masukan jumlah mahasiswa : 4
Masukan data mahasiswa ke - 1
Nama Mahasiswa : Tumpal PS
No. Mahasiswa : 8051
Alamat Mahasiswa : KalBar
IPK : 3.5
Masukan data mahasiswa ke - 2
Nama Mahasiswa : Sri Sunarwati
No. Mahasiswa : 8244
Alamat Mahasiswa : Klaten
IPK : 3.4
Masukan data mahasiswa ke - 3
Nama Mahasiswa : Putu Eka A
No. Mahasiswa : 8239
Alamat Mahasiswa : Bali
IPK : 3.3
Masukan data mahasiswa ke - 4
Nama Mahasiswa : Timotius N
No. Mahasiswa : 8299
Alamat Mahasiswa : Tegal
IPK : 3.5
DATA MAHASISWA
=============================================
| No Nama NIM Alamat IPK |
=============================================
| 1 Tumpal PS 8051 KalBar 3.50 |
| 2 Sri Sunarwati 8244 Klaten 3.40 |
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 60 dari 83 27 Februari 2017

| 3 Putu Eka A 8239 Bali 3.30 |


| 4 Timotius N 8299 Tegal 3.50 |
=============================================
Ingin mencari data tertentu (y/n) ? y
MENU PILIHAN
[1] NAMA
[2] NIM
[3] ALAMAT
[4] IPK
Pilihan anda : 1
Masukan Nama Mahasiswa : Tumpal PS
==========================================
| Nama NIM Alamat IPK |
==========================================
| Tumpal PS 8051 KalBar 3.50 |
==========================================
Ingin mencari data lagi (y/n) ? y
MENU PILIHAN
[1] NAMA
[2] NIM
[3] ALAMAT
[4] IPK
Pilihan anda : 2
Masukan No. Mahasiswa : 8299
=========================================
| Nama NIM Alamat IPK |
=========================================
| Timotius N 8299 Tegal 3.50 |
=========================================
Ingin mencari data lagi (y/n) ? y
MENU PILIHAN
[1] NAMA
[2] NIM
[3] ALAMAT
[4] IPK
Pilihan anda : 3
Masukan Alamat Mahasiswa : Bali
=========================================
| Nama NIM Alamat IPK |
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 61 dari 83 27 Februari 2017

=========================================
| Putu Eka A 8239 Bali 3.30 |
=========================================
Ingin mencari data lagi (y/n) ? y
MENU PILIHAN
[1] NAMA
[2] NIM
[3] ALAMAT
[4] IPK
Pilihan anda : 4
Masukan IPK : 3.4
=========================================
| Nama NIM Alamat IPK |
=========================================
| Sri Sunarwati 8244 Klaten 3.40 |
=========================================

5.4. Summary
Ada 2 cara untuk mendeklarasikan larik yaitu (1) Sebagai tipe data
baru atau (2) Langsung sebagai variabel. Keuntungan menggunakan data
larik adalah bahwa kita tidak akan kehilangan nilai dari suatu data, sedangkan
kelemahannya yaitu saat ditentukan suatu variable bertipe data array maka ia
akan langsung mengambil tempat pada memory penyimpanannya sesuai
dengan tipe data yang digunakan pada array, baik nantinya semua komponen
pada array itu digunakan ataupun tidak. Tipe data Larik (Array) ini data juga
berisi tentang kumpulan record, yang biasa disebut sebagai array of record.
Dapat digunakan untuk menyimpan database dalam Pascal.

5.5. Questions/Discussions
1. Buatlah program hasil kali dua matriks.
2. Buatlah program menghitung determinan matriks 3 x 3.
3. Buatlah program KRS dan KHS Mahasiswa.
4. Buatlah program data base pegawai.
5. Buatlah program statistka.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 62 dari 83 27 Februari 2017

CHAPTER 6
MODULAR PROGRAMMING

6.1. Description
In this chapter we will discuss about declaration of procedures and
functions.

6.2. Learning Outcome


Understanding intelligently and can create programs that apply the
procedures and functions strongly and responsibly.

6.3. Learning Materials


Pada bagian ini akan dibahas mengenai “Pemrograman Modular“.
Pemrograman modular merupakan salah satu kemudahan yang diberikan
oleh Turbo Pascal terhadap programmer, karena di sini programmer dapat
membagi program yang sedang dibuatnya ke dalam modul-modul program
tertentu. Tujuannnya agar dapat menghindari penulisan teks program yang
sama berkali-kali dan dapat juga memudahkan dalam melakukan pelacakan
kesalahan dalam program yang sedang dibuatnya. Ada 2 jenis pemograman
modelar yang dibahas dalam praktikum ini, yaitu: (1) PROCEDURE
(Prosedur) dan (2) FUNCTION (Fungsi)
A. Procedure
Deklarasi :
Procedure NamaProcedure(DaftarParameter) ;
{Deklarasi}
Begin
.............
.............
End ;
Pemanggilan Procedure :
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 63 dari 83 27 Februari 2017

Suatu procedure bukan merupakan program yang berdiri sendiri


sehingga tidak dapat dielsekusi secara langsung. Untuk itu suatu
procedure memerlukan sebuah akses pada program utama / modul lain
yang befungsi sebagai pemanggil. Sedangkan cara pemanggilannya
adalah dengan : menuliskan nama procedurenya berikut parameternya
(jika ada). Terdapat 2 jenis Procedure dan Fuction, yaitu :
1. Procedure Pustaka, yaitu procedure yang sudah disediakan oleh
kompilernya sehingga programmer tidak perlu membuatnya sendiri,
contoh procedure pustaka adalah antara lain CLRSCR,
GOTOXY(..,..), dll.
2. Procedure user defined, yaitu procedure yang dibuat oleh
user/programmer dalam rangka agar programnya menjadi terstruktur.
(Pada catatan ini akan lebih dibahas tentang procedure user defined)
Hal-hal yang berhubungan dengan procedure :
Ada beberapa hal yang berhubungan dengan penulisan sebuah
procedure program yaitu :
1. Variabel Global dan variabel Lokal
Variabel Global adalah variabel yang dapat dikenali diseluruh
bagian program. Biasanya variabel ini merupakan variabel yang
dideklarasikan pada deklarasi program umum.
Variabel Lokal adalah variabel yang dikenal pada lingkup yang
lebih sempit dari pada variabel global. Biasanya dideklarasikan dalam
procedure ataupun function.
Catatan :
Untuk deklarasi dalam procedure ataupun function yang memiliki
nama variabel yang sama dengan variabel global, maka nilai yang
akan diload adalah dalam scope (ruang lingkupnya) masing-masing.
Contoh :
Program tesvariabel;
Var a,b : integer;
Procedure vardalam();
Var a : integer;
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 64 dari 83 27 Februari 2017

Begin
a := 10;
b := 15;
writeln(“a dalam = “,a);
End;
Begin
a := 100;
b := 200;
writeln(“a = “,a);
writeln(“b = “,b);
vardalam();
writeln(“a = “,a);
writeln(“b = “,b);
end.
Hasil run program :
a = 100 // variable a yang diload merupakan variable global
yang telah dideklarasikan sebelumnya dengan nilai
100
b = 200 // variable b yang diload merupakan variable global
yang telah dideklarasikan sebelumnya dengan nilai
200
a dalam = 10 // variable a dalam yang diload merupakan variable
lokal yang dideklarasikan di dalam procedure
vardalam().
Procedure ini hanya memberi nilai pada variable a di dalam,sehingga
tidak merubah nilai variable a luar.
a = 100 // variable a yang diload tetapmemiliki nilai seperti awal
karena tidak terpengaruh oleh procedure vardalam()
b = 15 // procedure vardalam() telah mengubah nilai variable
b global karena procedure vardalam() tidak memiliki
variable b, maka ia akan menggunakan variable global,
dan kemudian mengubahnya dengan 15.
2. Parameter
Ada 2 parameter yang berlaku dalam sebuah procedure, yaitu :
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 65 dari 83 27 Februari 2017

a. Parameter Formal yitu parameter yang dideklarsikan mengikuti


pendeklarasian program utama.
b. ParameterAktual yaitu parameter yang dituliskan mengikuti
pemanggilan procedure.
Aturan antara parameter formal dan parameter aktual :
a. Banyaknya parameter aktual harus sama dengan banyaknya
parameter formal
b. Tiap-tiap parameter aktual harus bertipe sama dengan parameter
formal yang bersesuaian
c. Tiap-tiap parameter aktual harus diekspresikan yang sesuai
dengan parameter formal
Pengiriman parameter:
a. Pengiriman parameter secara nilai (by Value)
Tiap-tiap parameter dalam prosecure utama akan beisi nilai yang
dikirim oleh parameter aktual dan bersifat lokal diprocedure.
Pengiriman nilai parameter secara by value merupakan
pengiriman searah, artinya hanya dari parameter aktual ke
parameter formal. Perubahan parameter formal tifak
mempengaruhi terhadap nilai parameter actual.
Contoh:
Procedure Hitung(A,B,C : integer) ;
Begin
B: = A;
C: = A + B ;
Writeln(A,B,C) ;
End;
Var X,Y,Z : integer ;
Begin
Readln(X) ; Readln(Y) ; Readln(Z) ;
Hitung(X,Y) ; Writeln(X,Y,Z) ;
Readln ;
End.
Keterangan:
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 66 dari 83 27 Februari 2017

dikirim ke parameter formal pada procedure yaitu A,B,C sehingga


nilai awal A=5, B=7 dan Z=15. Setelah melalui proses maka hasil
outputnya adalah bahwa nilai X=5 , Y=7 dan Z=15. Sebab apapun
yang diproses pada procedure tidak akan mempengaruhi nilai dari
parameter aktual X,Y,Z.

b. Pengiriman parameter secara acuan (by Reference)


Merupakan pengiriman dua arah yaitu dari parameter aktual ke
parameter formal dan dari parameter formal ke parameter aktual
sebagai hasil output dari procedure. Perubahan nilai pada
parameter formal mempengaruhi pada parameter aktual. Dicirikan
dengan pengunaan deklarasi VAR , pada parameter Procedurenya
Contoh:
Procedure Hitung(Var A,B,C : integer) ;
Begin
B: = A;
C: = A + B ;
Writeln(A,B,C) ;
End;
Var X,Y,Z : integer ;
Begin
Readln(X) ; Readln(X) ; Readln(X) ;
Hitung(X,Y) ; Writeln(X,Y,Z) ;
Readln ;
End.
Keterangan:
Misalkan dimasukkan nilai dari X=5, Y=8 dan Z=15 maka nilai ini
akan dikirim ke parameter formal pada procedure yaitu A,B,C
sehingga nilai awal A=5, B=8 dan C=15. Setelah melalui proses
maka hasil outputnya adalah bahwa nilai X=A=5 , Y=B=A=5 dan
Z=C=10. Sebab apapun yang diproses pada procedure akan
mempengaruhi nilai dari parameter aktual X,Y,Z.
Contoh program yang menggunakan procedure:
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 67 dari 83 27 Februari 2017

Program KOMBINASI;
uses crt;
var f1,f2,f3:longint;
n,r,delta:integer;
c: real;
Procedure facto( n:integer; var f:longint);
var i:integer;
begin
f:=1;
for i:=1 to n do
f:= f * i;
end;
{==============PROGRAMUTAMA==============}
Begin
clrscr;
gotoxy(12,3);
write('Kita akan menghitung nilai kombinasi dari
suatu angka');
gotoxy(19,4);
writeln(‘Yang mempunyai rumus: rCn = n!/(r!(n-
r)!)');
gotoxy(20,5);
writeln('Nilai r harus lebih kecil/sama dengan
n');
writeln;gotoxy(28,6);
write('Masukkan nilai n :',' ');readln(n);
writeln;gotoxy(28,8);
write('Masukkan nilai r :',' ');readln(r);
facto(n,f1);
facto(r,f2);
delta:=(n-r);
facto(delta,f3);
c:= f1/(f2*f3);gotoxy(30,10);
write('Hasilnya :',' ',c:2:0);
readln;
end.
Hasil Run Program :
Kita akan menghitung nilai kombinasi dari suatu angka
Yang mempunyai rumus : rCn = n!/(r!(n-r)!)
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 68 dari 83 27 Februari 2017

Nilai r harus lebih kecil/sama dengan n


Masukkan nilai n : 6
Masukkan nilai r : 2
Hasilnya : 15

B. Function
Deklarasi:
Function NamaFungsi(NamaParameter) : TipeData ;
{Deklarasi}
Begin
...........
...........
End ;
Struktur dari fungsi ini hampir sama dengan procedur hanya saja
function harus dideklarasikan beserta tipe datanya dan fungsi ini adalah
mengembalikan nilai sehingga Tipe data dalam sebuah function
menunjukkan tipe dari data akhir dari deklarasi sebuah fungsi. Suatu
fungsi dapat dipanggil dengan menggunakan beberapa cara, misalkan:
Nama Fungsinya adalah Rata, maka ia akan dapat dipanggil dengan
menggunakan
Rata2 : = Rata(vector,Ukuran) ;
X : = Y + Rata(vector,Ukuran) ;
Write(‘Nilai rata-ratanya = ‘, rata(vector,ukuran));
Perbedaan prinsip antara procedure dengan function:
1. Pada function nilai yang dikirim balik terdapat nama fungsinya
(Karena nama fungsi digunakan untuk menampung nama fungsi yang
terakhir).
2. Function dapat langsung ditampikan hasilnya.
Misal : writeln( Hitung(X,Y));
Catatan:
Untuk keterangan yang lain yang meliputi macam variabel, parameter,
aturan antar parameter dan cara pengiriman parameter sama dengan
yang ada pada procedure, sehingga tidak perlu dituliskan lagi.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 69 dari 83 27 Februari 2017

Keuntungan menggunakan deklarasi procedure atau function:


1. Program mudah dipahami
Dengan membuat procedure-procedure yang akan digunakan,
misalnya procedure hitung, maka bentuk program utamanya kurang
lebih sebagai berikut:
Begin
Readln(X) ; Readln(Y) ; Readln(Z) ;
Hitung(X,Y) ; Writeln(X,Y,Z) ;
Readln ;
End.
Terlihat lebih mudah untuk di pahami maksud dari program utama di
atas.
2. Program mudah diperbaiki jika terjadi kesalahan (error)
Jika terdapat error, baik sintax error, running error ataupun output
error, maka akan mudah ditelusuri dimana letak errornya apakah
pada program utama, pada procedure hitung atau pada waktu
menentukan frekuensi.
3. Program mudah dimodifikasi atau dikembangkan
Seandainya akan dilakukan modifikasi atau pengembangan program,
akan lebih mudah, misalkan akan dimodifikasi bagian tampilan input
atau output, atau akan diganti algoritma untuk mengurutkan datanya
dengan algoritma yang lebih cepat, semua dapat dilakukan dengan
lebih mudah.
4. Program akan menjadi lebih ringkas
Jika pada program utama terdapat suatu alur procedure yangakan
digunakan berulang kali, maka programmer tidak perlu mengetikkan
isi dari procedure itu berulang kali, programmer hanya perlu
memanggil nama dari Procedure atau Function tersebut.
Contoh:
Begin
Readln(X) ; Readln(Y) ; Readln(Z) ;
Hitung(X,Y) ;
Hitung(Y,Z);
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 70 dari 83 27 Februari 2017

Writeln(X,Y,Z) ;
Readln ;
End.
Pada listing program di atas, programmer hanya perlu memanggil
Procedure Hitung dua kali, tidak perlu mengetikkan isi dari Procedure
Hitung dua kali.
Contoh Program yang menggunakan fungsi :
Program faktorial;
Uses crt;
Var i,N,Hsl:integer;
Function Fakto(N:integer):integer;
Var Fak: integer;
Begin
Fak:= 1;
for i:=1 to N do
Fak := Fak * i;
Fakto:= Fak;
end;
Begin
clrscr;
write('Faktorial yang anda ingin hitung: ');
readln(N);
writeln('Hasil perhitungan: ',Fakto(N));
readln;
end.
Hasil Run Program :
Faktorial berapa yang anda ingin hitung : 5
Hasil perhitungan : 120
Dalam turbo Pascal telah dikenal ada beberapa tipe data yang
kemudian dapat digolongkan menjadi 2 kelompok besar tipe data
yaitu tipe data standard dan tipe data terstruktur. Pada laporan ini
akan dibahas mengenai tipe-tipe data terstruktur yang meliputi tipe
data array, tipe data record dan tipe data set.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 71 dari 83 27 Februari 2017

C. Recurtion
Salah satu keistimewaan yang dimiliki oleh Turbo Pascal adalah
bahwa pascal dapat melakukan suatu proses yang dinamakan sebagai
proses Rekursi, yaitu proses untuk memanggil dirinya sendiri. Dalam
procedure dan function proses ini bisa berarti proses berulang yang tidak
diketahui kapan akan berakhirnya. Contoh paling sederhana dari proses
rekursi adalah Proses mencari faktorial dari suatu.
Faktorial N = N! = N (N-1) (N-2)……………..3.2.1
N! = N (N-1)! ,untuk N>0
N! = N (N-1) (N-2)!
Jika ditulis dalam program menjadi :
Faktorial(0) = 1 ;
Faktorial(N) = N (N-1)!
Ini merupakan sebuah hubungan rekurens yang berarti nilai suatu fungsi
dengan argument tertentu dapat dihitung dengan menggunakan fungsi
yang sama hanya saja dengan argument yang lebih kecil.
Contoh :
Program faktorial;
Uses crt ;
Var i , N , Hsl : integer
Function Fakto(N:integer):integer ;
Var Fak: integer ;
Begin
if (N=0) or (N=1) then
Fakto:= 1
else
Fakto:= N*Fakto(N-1) ;
end;
Begin
clrscr;
write('Faktorial yang anda ingin hitung: ') ;
readln(N) ;
writeln('Hasil perhitungan : ',Fakto(N)) ;
readln ;
end .
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 72 dari 83 27 Februari 2017

Hasil Run Program:


Faktorial berapa yang anda ingin hitung : 5
Hasil perhitungan : 120
Dari program diatas maka notasi Fakto(N-1) yang digunakan untuk
memanggil program sebelumnya dinamakan sebagai Pemanggil atau
rekursi.

6.4. Summary
Ada 2 jenis pemograman modelar yang dibahas dalam praktikum ini,
yaitu: PROCEDURE (Prosedur) dan FUNCTION (Fungsi). Terdapat 2 jenis
Procedure dan Fuction, yaitu: Procedure Pustaka dan Procedure user defined.
Ada 2 parameter yang berlaku dalam sebuah procedure, yaitu Parameter
Formal dan ParameterAktual. Pengiriman parameter dapat dilakukan dengan
Pengiriman parameter secara nilai (by Value) dan Pengiriman parameter
secara acuan (by Reference).

6.5. Questions/Discussions
1. Buatlah program untuk menghitung rata bilangan dengan
menggunakan prosedur dan fungsi (input data, hitung rata-rata, tampil
data)
2. Buatlaj program KRS dan KHS Mahasiswa dengan menggunakan
prosedur dan fungsi.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 73 dari 83 27 Februari 2017

CHAPTER 7
FILE

7.1. Description
In this chapter we will discuss about file and file management.

7.2. Learning Outcome


Using the concept of files to solve problems in the field of Mathematics
responsibly

7.3. Learning Materials


Seringkali pada program-program aplikasi untuk sistem informasi,
data perlu disimpan untuk keperluan penegelolaan lebih lanjut. Bila data
yang perlu disimpan mempunyai volume yang cukup besar, maka
penggunaan variabel, larik, atau pointer sudah tidak tepat lagi, karena
variabel, larik, atau pointer menggunakan memori internal komputer,
sehingga tidak cukup untuk menampungnya. Variabel, larik, dan pointer
hanya tepat digunakan untuk menyimpan data yang sedang digunakan untuk
proses saja. Untuk menyimpan data dengan volume yang besar harus
digunakan cara yang lain yaitu dapat dengan menyimpannya di external
memory yang relatif mempunyai kapasitas penyimpanan lebih besar
daripada internal memory serta involatile (tidak hilang bila aliran listrik
terputus, sehingga dapat menyimpan data lebih permanen).
Data yang ada di external memory disimpan dalam bentuk file. File
ini dapat diibaratkan dengan map-map yang berisi dengan data di filling
cabinet dan filling cabinet itu sendiri dapat diibaratkan sebagai simpanan
luarnya. Seperti halnya filling cabinet yang dapat menyimpan beberapa map,
demikian juga dengan disk dapat menyimpan beberapa file.
Suatu file terdiri dari urutan komponen yang mempunyai tipe yang
sama. Berbeda dengan larik yang jumlah komponennya sudah pasti, jumlah
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 74 dari 83 27 Februari 2017

komponen dalam file sifatnya luwes, yaitu dapat ditambah dan dikurangi
sewaktu-waktu. Di dalam bahasa Pascal dikenal 3 macam tipe file, yaitu file
teks (text file), file bertipe (typed file), dan file tak bertipe (untyped file).

Procedure dan Function Standard Untuk Semua Tipe File


Assign (f: file; name: string) : digunakan untuk menghubungkan nama
dari external file ke suatu variabel file.
Rewrite (f [: file; recsize: word]) : digunakan untuk membuka file yang baru
atau yang belum pernah ada di disk.
Reset (f [: file; recsize: word]) : digunakan untuk membuka file yang
sudah ada.
Close (f: file) : digunakan untuk menutup file yang telah
dibuka dengan procedure standard
Rewrite, Reset, atau Append (procedure
khusus untuk membuka file teks).
Erase (f: file) : digunakan untuk menghapus suatu
external file. Dalam penggunaanya harus
didahului dengan procedure standard
Close.
Rename (f: file; newname: string): digunakan untuk mengganti nama suatu
external file.
GetDir (d: byte; var s: string) : digunakan untuk mengetahui direktori
yang aktif pada suatu drive.
ChDir (s: string) : digunakan untuk mengubah posisi dari
direktori.
MkDir (s: string) : digunakan untuk membuat suatu direktori.
RmDir (s: string) : digunakan untuk menghapus suatu
direktori.
Eof (f: file): Boolean : fungsi ini akan menghasilkan status
apakah file sudah berada di posisi akhir
dari file atau tidak.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 75 dari 83 27 Februari 2017

A. Text File
File teks merupakan file yang berisi karakter yang dibentuk dalam
baris-baris dan masing-masing baris dengan end-of-line marker berupa
karakter carriage return dan karakter line feed (CR/LF). Sedangkan akhir dari
file ditunjukkan dengan karakter Ctrl-Z. Panjang dari tiap-tiap baris dari file
teks dapat berbeda-beda, sehingga posisi dari suatu baris tertentu dari file
teks tidak dapat dihitung dan akibatnya file teks hanya dapat diakses secara
urut. File teks sebenarnya merupakan file dengan tipe Char, tetapi mempunyai
perbedaan, yaitu nilai yang bukan tipe Char dapat direkam dan dibaca oleh
file teks. Nilai yang bukan tipe Char ini akan secara otomatis dirubah ke atau
dari tipe Char.
Deklarasi
var
variabelFile : Text;
begin

end.
Prosedur dan Fungsi Standard File Teks
Append(var f:text); : digunakan untuk membuka file yang telah
ada untuk keperluan menambah data ke
dalam file.
Write ([var f:text;] v1 [v2,…,vn]) : digunakan untuk merekam data ke dalam
file.
Writeln ([var f:text;] v1 [v2,…,vn]) : digunakan untuk merekam data ke dalam
file dan memberikan end-of-line marker.
Flush (var f:text) : digunakan untuk segera merekam data
yang ada di dalam buffer ke dalam file
teks.
Read ([var f:text;] v1 [v2,…,vn]) : digunakan untuk membaca satu atau
lebih nilai dari file ke dalam satu variabel
atau lebih.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 76 dari 83 27 Februari 2017

Readln ([var f:text;] v1 [v2,…,vn]) : kegunaannya sana dengan procedure


Read, tetapi procedure ini akan
menggeser pembacaan ke awal baris
beikutnya dalam file.
Eoln [(var f:text)]:boolean : digunakan untuk mengetahui apakah
posisi dari file berada di end-of-line
marker atau tidak.
SeekEof [(var f:text)]:boolean : kegunaannya sama dengan Eof, yaitu
menghasilkan status akhir dari file.
SeekEoln[ (var f:text)]:boolean : kegunaannya sama dengan Eoln, yaitu
menghasilkan status akhir dari baris.
Contoh program:
 Membuat file teks baru
uses Crt;
var
berkasText : Text;
kodeBrg : String[5];
namaBrg : String[20];
unitBrg : Integer;
hargaBrg : Real;
lagi : Char;
begin
{hubungkan dengan external file}
Assign(berkasText,'Barang.txt');
{buka file}
Rewrite(berkasText);
Lagi:='Y';
while upCase(Lagi)='Y' do
begin
clrScr;
gotoxy(5,6) ;Write('Kode Barang : ');
gotoxy(5,8) ;Write('Nama Barang : ');
gotoxy(5,10);Write('Unit Barang : ');
gotoxy(5,12);Write('Harga Satuan Barang : ');
gotoxy(27,6) ;readln(kodeBrg);
gotoxy(27,8) ;readln(namaBrg);
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 77 dari 83 27 Februari 2017

gotoxy(27,10);readln(unitBrg);
gotoxy(27,12);readln(hargaBrg);
{rekam di file}
Writeln(berkasText,kodeBrg:5,namaBrg:20,unitBrg,harg
aBrg:10:2);
gotoxy(5,15);write('Ada data lagi (Y/T)? ');
readln(lagi);
end;
{tutup file}
close(berkasText);
end.
 Menampilkan semua isi file
uses Crt;
var
berkasText : Text;
kodeBrg : String[5];
namaBrg : String[20];
unitBrg : Integer;
hargaBrg : Real;
begin
{hubungkan dengan external file}
Assign(berkasText,'Barang.txt');
{buka file}
Reset(berkasText);
clrScr;
While not(Eof(berkasText)) do
begin
Readln(berkasText,kodeBrg,namaBrg,unitBrg,hargaBrg);
Writeln(kodeBrg,namaBrg:22,unitBrg:7,hargaBrg:10:2);
end;
{tutup file}
close(berkasFile);
end.

B. Typed File
Berbeda dengan file teks yang hanya dapat diakses secara urut, file
bertipe (typed file) disamping dapat juga diakses secara urut (sequential
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 78 dari 83 27 Februari 2017

access), dapat juga dikases secara acak (random access). Ini berarti
komponen-komponen di dalam file bertipe dapat dibaca atau direkam dari
manapun di dalam file.
Dalam file bertipe, kita dapat menambahkan variabel terdefinisi dalam
unit standard System untuk menentukan kode akses file bertipe. Adapun kode
aksesnya adalah:
0 – read only
1 – write only
2 – read/write (default)
Deklarasi :
var
fileData : File of tipeData;
begin

end.
tipeData dapat berupa integer, real, char, string, array, record, dan
sebagainya.
Prosedur dan Fungsi Standard File Bertipe
Write (f,v1[v2,…,vn]) : digunakan untuk merekam satu atau lebih
nilai ke dalam file.
Read (f,v1[v2,…,v3]) : digunakan untuk membaca satu atau
lebih nilai dari file.
Seek (f; n : longint) : digunakan untuk mengarhkan penunjuk
file ke suatu komponen tertentu, sehingga
memungkinkan kita untuk membaca
komponen atau menuliskan komponen
secara acak.
Truncate(f) : digunakan untuk menghapus sejumlah
komponen atau record mulai dari posisi
record tertentu.
FilePos(f):longint : digunakan untuk menghasilkan letak
posisi sekarang dari penunjuk file.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 79 dari 83 27 Februari 2017

FileSize(f):longint : digunakan untuk menghasilkan jumlah


dari komponen atau record yang sudah
ada di file. Fungsi ini harus digunakan
setelah file dibuka.
Contoh Program:
 Membuat file bertipe (typed file) baru
uses crt;
type
mahasiswa = record
nomor : integer;
nama : string[25];
nilai : real;
end;
var
fileMhs : File of mahasiswa;
recordMhs : mahasiswa;
lagi : char;
begin
assign(fileMhs,'MHS.dat');
rewrite(fileMhs);
lagi:='Y';
while upcase(lagi)='Y' do
begin
clrscr;
with recordMhs do
gotoxy(5,6) ;write('Nomor Mahasiswa : ');
gotoxy(5,8) ;write('Nama Mahasiswa : ');
gotoxy(5,10);write('Nilai Mahasiswa : ');
gotoxy(27,6) ;read(nomor);
gotoxy(27,8) ;read(nama);
gotoxy(27,10);read(nilai);
end;
write(fileMhs,recordMhs);
gotoxy(5,15);write('Memasukkan data lagi (Y/T)? ');
readln(lagi);
end;
close(fileMhs);
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 80 dari 83 27 Februari 2017

end.
 Menampilkan semua data di file bertipe
uses crt;
type
mahasiswa = record
nomor : integer;
nama : string[25];
nilai : real;
end;
var
fileMhs : File of mahasiswa;
recordMhs : mahasiswa;
begin
assign(fileMhs,'MHS.dat');
rewrite(fileMhs);
while not(Eof(fileMhs)) do
begin
read(fileMhs,recordMhs);
with recordMhs do
write(nomor:5,nama:17,nilai:10:2);
end;
close(fileMhs);
end.

C. Untyped File
File tak bertipe (untyped file) adalah channel I/O (Input/Output) level
rendah (low level I/O channel) yang digunakan untuk mengakses langsung
suatu file di disk tidak peduli bagaimana tipe dan strukturnya.
Deklarasi
FileData : File;
Karena file tak bertipe tidak memandang tipe dan struktur filenya, maka file tak
bertipe ini sifatnya kompatibel dengan file apapun dan tepat digunakan untuk
operasi-operasi mengecek keberadaan suatu file di dalam disk, menghapus
suatu file, mengganti nama dari suatu file, menyalin suatu file, dan operasi-
operasi lainnya yang tidak langsung melibatkan operasi I/O.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 81 dari 83 27 Februari 2017

Prosedur dan fungsi standard yang dapat digunakan di file bertipe


dapat juga digunakan di file tak bertipe, kecuali prosedur standard Read dan
Write yang diganti dengan prosedur standard BlockRead dan BlockWrite.
Kedua prosedur ini digunakan untuk transfer data dengan kecepatan tinggi.
BlockRead(var f:file;var buf;countword[;result:word]);
BlockWrite(var f:file;var buf;countword[;result:word]);
Contoh Program:
Mengganti nama file di disk
var
fileGantiNama : file;
fileLama, fileBaru : string[139];
begin
write('Nama file yang akan diganti?');
readln(fileLama);
write('Nama file baru ? ');readln(fileBaru);
if (fileLama = '') or (fileBaru = '') then halt;
Assign(fileGantiNama,fileLama);
{$I-} Rename(fileGantiNama,fileBaru);
{$I+};
if IOResult <> 0 then
writeln('Salah, file TIDAK DITEMUKAN atau nama baru
TELAH ADA')
else
writeln('file telah diganti namanya');
end.

7.4. Summary
Di dalam bahasa Pascal dikenal 3 macam tipe file, yaitu file teks (text
file), file bertipe (typed file), dan file tak bertipe (untyped file). File teks hanya
dapat diakses secara urut. File bertipe (typed file) di samping dapat juga
diakses secara urut (sequential access), dapat juga dikases secara acak
(random access). Ini berarti komponen-komponen di dalam file bertipe dapat
dibaca atau direkam dari manapun di dalam file. Dalam file bertipe, kita dapat
menambahkan variabel terdefinisi dalam unit standard System untuk
menentukan kode akses file bertipe. Adapun kode aksesnya adalah: 0 – read
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 82 dari 83 27 Februari 2017

only; 1 – write only; 2 – read/write (default). File tak bertipe (untyped file)
adalah channel I/O (Input/Output) level rendah (low level I/O channel) yang
digunakan untuk mengakses langsung suatu file di disk tidak peduli
bagaimana tipe dan strukturnya.

7.5. Questions/Discussions
1. Buatlah sebuah program menampilkan struk belanjaan dalam file.
2. Buatlah sebuah program menampilkan KRS dan KHS dalam file.
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 83 dari 83 27 Februari 2017

References

Abdul Kadir, 2002. Pemrograman Pascal Menggunakan Turbo Pascal


7.0/Borland Pascal 7.0 Membahas Pemrograman Berorientasi Objek.
Penerbit Andi Yogyakarta.

Budi Raharjo. 2005. Teknik Pemrograman Pascal. Bandung: INFORMATIKA.

Decky Hendarsyah. 2003-2008. Kumpulan Program Pascal. IlmuKomputer.Com

Jogiyanto, 2001. Turbo Pascal Teori dan Aplikasi Program Komputer Bahasa
Turbo Pascal Termasuk Database Toolbox. Penerbit Andi,
Yogyakarta.

Sam A. Abolrous. 2001. Learn Pascal in Three Days Third Edition. Texas:
Wordware Publishing, Inc.

Anda mungkin juga menyukai