Anda di halaman 1dari 235

Solly Aryza Lubis,

Zulkarnain lubis
i
Solly Arza Lubis, Zulkarnain Lubis

ii
Kata Pengantar
Puji syukur kehadirat Allah SWT atas limpahan rahmat dan
karunianya sehingga Buku Interface In Control. Buku panduan ini
merupakan buku sambungan dari buku pertama algoritma yang digunakan
sebagai buku pegangan di teknik elektro sebagai pedoman mahasiswa
didalam dasar pemograman didalam sistem kontrol power sistem, robot, dan
interface.
Terimakasih disampaikan kepada Dr.H. Muhammad Isa
Indrawan,SE,MM sebagai Rektor Universitas Pembangunan Panca Budi.
Dan juga saya ucapkan terimakasih kepada seluruh teman sejawat dan
pegawai Universitas Pembangunan Panca Budi yang telah memberikan
semangat didalam penulisan buku ini.
Kami menyadari masih terdapat kekurangan dalam buku ini untuk
itu kritik dan saran terhadap penyempurnaan buku ini sangat diharapkan.
Semoga buku ini dapat memberi maanfaat bagi mahasiswa teknik elektro.

Medan, 10 Juni 2020


Penulis

Solly Aryza Lubis,ST,M.Eng

iii
Table of Contents
Kata Pengantar ........................................................................................... iii
BAB 1. Apakah Itu Interface ........................................................................ 1
1. Tentang Sistem ..................................................................................... 3
2. Asal Mula Algoritma ............................................................................ 4
3. Pengertian Algortima............................................................................ 5
4. Pengantar Algoritma dan Pemrograman ................................................ 9
5. Perihal Program dan Pemrograman ..................................................... 13
6. Komputer dan Interface ...................................................................... 15
7. Penyajian Algoritma ........................................................................... 24
8. Flowchart Program ............................................................................. 31
BAB 2. Kontrol .......................................................................................... 38
1. Pengaruh Interaksi Manusia dan Komputer Dalam Interface ............... 39
1.1. Runtunan (Sequence) ....................................................................... 41
1.2. Pemilihan/Percabangan (Selection) .................................................. 44
A. Struktur IF Sederhana .................................................................... 46
B. Struktur IF…THEN…ELSE… ...................................................... 49
C. IF Bersarang .................................................................................. 51
1.3. Pengulangan (Repetition/ Looping). ................................................ 55
A. Struktur FOR ................................................................................. 56
B. Struktur WHILE ............................................................................ 62
C. Struktur DO…WHILE ................................................................... 68
2. Notasi Algoritma ................................................................................ 72
Bab 3. Bahasa Kontroller ........................................................................... 75
1. Lahirnya Bahasa Pemrograman Kontrol ............................................. 76

iv
2. Munculnya Compiler Sistem Kontrol: UCSD Pascal, Microsoft Pascal
dan Turbo Pascal .................................................................................... 78
Pascal Saat Ini .................................................................................... 79
3. Pembagian Tipe Data dan Operator dalam Bahasa Pascal ................... 80
Fitur Bahasa PASCAL........................................................................ 81
Tipe Data............................................................................................ 83
Struktur Bahasa Pascal Secara Umum ................................................ 84
Aturan dalam Penulisan Program Pascal ............................................. 87
Operator ............................................................................................. 96
Bab. 4 Mengistal Turbo Pascal ................................................................. 101
1. Turbo Pascal 7 .................................................................................. 102
2. Menjalankan Turbo Pascal 7 dengan DOSBox.................................. 105
Autorun Turbo Pascal dari DOSBox ................................................. 109
Menampilkan DOSBox Turbo Pascal secara Full Screen .................. 111
Memperbesar Jendela DOSBox Turbo Pascal (non-Full Screen) ....... 111
Mengubah Setingan CRTL+F9 dari DOSBox ................................... 112
Mengatasi Error: Invalid file name or extension dalam Turbo Pascal 113
Bab.5 Mikrokontroller .............................................................................. 116
1. Struktur dasar Mikrokontrollerl ........................................................ 117
1. 1Mikrokontroller .......................................................................... 121
1.2. Analog To Digital Computer...................................................... 126
2. Deklarasi .......................................................................................... 127
2.1. Deklarasi Type .......................................................................... 127
2.2. Deklarasi Konstanta (constant) .................................................. 128
2.3. Deklarasi Variabel (variable) ..................................................... 128
2.4. Deklarasi Fungsi (function)........................................................ 129
2.5. Main Program ............................................................................ 130

v
Bab. 6Programmabel Logical Controling ................................................. 131
1. Struktur PLC .................................................................................... 132
2. Pemilihan Dengan Struktur IF-THEN ............................................... 133
3. Pemilihan Dengan Struktur IF-THEN-ELSE .................................... 136
4. Pemilihan Dengan Tiga Kasus Atau Lebih........................................ 137
5. Pemilihan Dengan Struktur Case ...................................................... 142
Bab. 7 Procedure dan Function ................................................................. 147
1. Pengertian Prosedur .......................................................................... 148
1.1. Prosedur dengan Parameter Masukan ......................................... 151
1.2. Prosedur dengan Perameter Keluaran ......................................... 152
1.3. Prosedur dengan Parameter Masukan / Keluaran ........................ 153
Bab 8. LARIK / ARRAY ........................................................................ 157
1. Pengertian Larik/ Array .................................................................... 158
2. Pencarian / Searching ....................................................................... 160
Spesifikasi masalah pencarian .......................................................... 168
Bab 9. Sensor Interface ...............................................................................173
Glossary .................................................................................................. 177
Daftar Pustaka ....................................................................................... 222

vi
vii
viii
\

ix
BAB 1. Apakah Itu Interface

1
2
1. Tentang Sistem

Berbicara tentang Sistem, hal-hal yang pertama kali muncul di benak

masyarakat luas adalah dunia pemrograman, karena kebanyakan orang tahu

sistem hanya sebagai salah satu bagian dari dunia pemrograman komputer.

Jika diselidiki lebih dalam maka dapat disebutkan sistem merupakan sebagai

suatu kumpulan atau variabel yang terorganisir dan saling tergantung satu

sama lain. Secara umum pengertian system merupakan kumpulan dari

elemen-elemen yang berinteraksi untuk mencapai tujuan tertentu. Hitesh

Gupt, Sistem adalah pengelompokan komponen yang teratur yang saling

dihubungkan bersama sesuai dengan rencana untuk mencapai tujuan tertentu.

Elemen-elemen dari system yaitu :

• Output dan input

• Proses

• Umpan balik

• Kontrol

• Lingkungan

• Batasan dan antarmuka

3
Sistem memiliki cakupan yang jauh lebih kompleks daripada apa

yang dipikirkan orang selama bertahun-tahun. Algoritma merupakan

cakupan istilah yang digunakan dalam kegiatan interface kontrol. Bagi

orang-orang dari latar belakang dunia kontrol, istilah algoritma tentu bukan

alias di telinga mereka. Namun, bagi kebanyakan orang yang tidak berasal

dari Interface kontrol, istilah ini tentu bukan istilah yang akrab di telinga

mereka. Tapi apa sebenarnya algortima itu. Algoritma ini sebenarnya banyak

terjadi dalam kehidupan kita saat ini, tetapi satu-satunya hal yang membuat

algoritma ini terlihat asing. Dalam kehidupan sehari-hari kita tahu langkah-

langkah atau bahasa Indonesia disebut sistem.

2. Asal Mula Algoritma

Asal-usul algoritma ini sangat unik, itu karena algoritma kata berasal

dari nama yang salah dari nama tersebut. Awalnya algoritma ini adalah

proses menghitung angka arab, dan dikatakan sebagai algoritma ketika

menghitung menggunakan angka arab. Nama algoritma berasal dari penulis

Arab terkenal dan ilmuwan Muslim Abu Ja‘far Muhammad Ibn Musa Al-

Khawarizmi. Al-Khawarizmi dijabarkan menjadi Algorisme. Al-Khawarizmi

menulis sebuah buku berjudul ―Al-Jabar Wal-Muqabala‖ yang berarti ―Book

of Restoration and Reduction‖. Dari sini kita mulai mengenali nama Al-Jabar

4
atau Aljabar. Algoritma kesalahan menjadi Algoritma karena

kesalahpahaman dengan Aritmatika, sehingga –sm berubah menjadi –thm.

Kemudian dalam bahasa Indonesia Algoritma diserap ke dalam suatu

algoritma.

3. Pengertian Algortima

Algoritma merupakan susunan logis dan sistematis yang digunakan

untuk memecahkan atau menyelesaikan suatu permasalahan tertentu. Dalam

matematika dan ilmu komputer, algoritme adalah prosedur langkah-demi-

langkah untuk penghitungan. Algoritme digunakan untuk penghitungan,

pemrosesan data, dan penalaran otomatis. Algoritme adalah metode efektif

diekspresikan sebagai rangkaian terbatas dari instruksi-instruksi yang telah

didefinisikan dengan baik untuk menghitung sebuah fungsi.

Dimulai dari sebuah kondisi awal dan input awal (mungkin kosong),

instruksi-instruksi tersebut menjelaskan sebuah komputasi yang, bila

dieksekusi, diproses lewat sejumlah urutan kondisi terbatas yang terdefinisi

dengan baik, yang pada akhirnya menghasilkan ―keluaran‖ dan berhenti di

kondisi akhir. Transisi dari satu kondisi ke kondisi selanjutnya tidak harus

deterministik; beberapa algoritme, dikenal dengan algoritme pengacakan,

menggunakan masukan acak.

5
Umumnya algoritma digunakan pada pemograman komputer, namun

algoritma juga diimplementasikan dengan tujuan lain, seperti jaringan saraf

biologis Selain itu, ada beberapa penjelasan yang berbeda beda dari para ahli

dan pakar mengenai arti algoritma sebenarnya. Berikut ini pengertian

algoritma menurut para ahli.

a. KBBI (Kamus Besar Bahasa Indonesia) Arti algoritma adalah sebagai

berikut :

 prosedur sistematis untuk memecahkan masalah matematis dalam

langkah-langkah terbatas

 urutan logis pengambilan keputusan untuk pemecahan masalah

b. Goodman Hedet Niemi: Algoritma adalah urutan terbatas dari

operasi-operasi terdefinisi dengan baik, yang masing-masing

membutuhkan memori dan waktu yang terbatas untuk menyelesaikan

suatu masalah.

c. Donald E. Knuth: Algoritma adalah sekumpulan aturan-aturan

berhingga yang memberikan sederetan operasi-operasi untuk

menyelesaikan suatu jenis masalah yang khusus.

6
d. Rinaldi Munir: Pengertian algoritma adalah sebuah bentuk urutan

langkah logis yang akan membantu seseorang dalam menyelesaikan

masalah yang sedang dijalaninya.

e. Seymour Lipschutz, Ph.D dan Marc Lipson, Ph.D.Algoritma adalah

suatu daftar langkah-demi-langkah yang terhingga dari instruksi-

instruksi yang terdefinisikan dengan jelas yang dipakai untuk

permasalahan tertentu.

f. David Bolton: Algoritma adalah deskripsi dari suatu prosedur yang

berakhir dengan sebuah hasil.

g. Andrey Andreyevich Markov: Algoritma adalah hal umum untuk

dipahami sebagai suatu keputusan yang tepat untuk mendefinisikan

proses komputasi yang mengarahkan dari data awal hingga hasil yang

diinginkan.

h. Stone dan Knuth: Algoritma adalah suatu seperangkat aturan yang

tepat mendefinisikan urutan operasi hingga sedemikian rupa sehingga

setiap aturan yang efektif, jelas hingga sedemikian rupa sehingga

urutan berakhir dalam waktu yang terbatas.

7
i. Minsky: Algoritma adalah seperangkat arutan yang membertahukan

kepada kita dari waktu ke waktu, tepatnya bagaimana untuk

bertindak.

Gambar 1. Algoritma Sistem

8
4. Pengantar Algoritma dan Pemrograman

Menyeduh kopi? Ini merupakan analogi sederhana algoritma seperti

mebuat teh manis. Anologi ini hal untuk memudahkan pemahaman dalam

pengertian algoritma pemrograman, biasanya pengajar (guru atau dosen)

umumnya memberikan analogi ―menyeduh kopi‖ saat menjelaskan

pengertian algoritma pemrograman. Berikut (kurang-lebih) langkah-langkah

menyeduh kopi:

1. Mulai

2. Mempersiapkan satu gelas kosong.

3. Mempersiapkan sendok makan.

4. Mempersiapkan gula pasir.

5. Mempersiapkan kopi bubuk.

6. Mempersiapkan air panas masak.

7. Memasukkan satu sendok makan kopi bubuk kedalam gelas tersebut

diatas.

8. Memasukkan dua sendok makan gula pasir kedalam gelas tersebut

diatas.

9
9. Menuangkan air panas kedalam gelas tersebut diatas hingga 4/5

penuh.

10. Mengaduk gelas tersebut diatas hingga kopi bubuk dan gula pasir

larut dalam air panas.

11. Selesai

Ini adalah ―algoritma menyeduh kopi‖, yang harus di ingat algoritma adalah

―langkah-langkah‖ atau ―prosedur‖, contoh diatas tentu saja kasus sangat

sederhana, pada kegiatan pemrograman akan jauh lebih kompleks lagi.

Urutan langkah-langkah itulah yang disebut algoritma. Langkah-langkah

tersebut haruslah dinyatakan dengan jelas dan tidak rancu. Dari contoh di

atas, dapat ditarik beberapa syarat atau karakteristik algoritma diantaranya :

 Tidak ambigu (unambiguous)

Langkah-langkah dalam algoritma harus dideskripsikan dengan

tafsiran atau makna tunggal. Oleh sebab itu, sebuah bahasa

pemograman seperti pascal sering digunakan untuk menuliskan

algoritma, sehingga langkah-langkah yang dituliskan hanya

mempunyai tafsiran atau makna tunggal, terutama menurut komputer.

 Jelas

10
Algoritma harus menyatakan urutan langkah-langkahnya dengan

jelas. Kapan sebuah langkah x atau langkah y dilakukan atau kapan

berhenti dari sebuah langkah untuk melanjutkan ke langkah

berikutnya.

Menurut Donald E. Knuth (1981) , ada 5 syarat algoritma yaitu :

1. Finiteness (keterbatasan)

Setelah melakukan sejumlah langkah proses, algoritma harus

berakhir.

2. Definitess (kepastian)

Setiap langkah algoritma harus dinyatakan atau didefinisikan dengan

tepat dan tidak mengakibatkan makna ganda

3. Input (masukan)

Sebelum dijalankan, algoritma memiliki nol atau lebih input

(masukan) yang diberikan kepada algoritma.

4. Output (keluaran)

Setiap algoritma memberikan satu atau lebh hasil keluaran

5. Efectiveness(efektivitas)

Ketika manusia berusaha menyelesaikan masalahnya, ada banyak

teknik atau metode yang terlintas di pikirannya untuk digunakan

11
menyelesaikan masalah tersebut. Namun dari sekian banyak teknik atau

metode itu kita harus memilih mana yang terbaik. Hal ini sama juga dengan

algoritma, yang memungkinkan suatu permasalahan di selesaikan dengan

metode dan logika yang berbeda. Lalu bagaimana mengukur algoritma yang

terbaik? Di bawah ini beberapa syarat untuk menjadikan algoritma yang

baik:

 Tingkat kepercayaannya tinggi(realibility).

Hasil yang didapat dari proses harus berakurasi tinggi dan benar.

 Pemrosesan yang efisien(cost rendah).

Prosesnya diselesaikan dengan secepat dan frekuensi kalkulasi yang

sependek mungkin.

 Sifatnya general.

Tidak hanya dapat menyelesaikan satu kasus tetapi juga juga kasus

lain yag lebih general.

 Bisa dikembangkan (expandable).

Sesuatu yang dapat dikembangkan lebih jauh lagi berdasarkan

requirement yang ada.

 Mudah dimengerti

12
Siapapun yang melihatnya, dia dapat mengerti algoritma yang anda

buat. Program yang sulit dimengerti akan membuat sulit di kelola

(maintenance)

 Portabilitas yang tinggi (Portability)

Mudah diterapkan atau di implementasikan di berbagai platform

komputer.

5. Perihal Program dan Pemrograman

Definisi program: Program jika didefinisikan dalam konteks

teknologi informasi adalah aplikasi yang digunakan untuk melakukan tugas,

seperti aplikasi untuk mengerjakan dokumen, desain grafis, untuk

perhitungan dan lainnya. Tetapi jika didefinisikan secara rinci, program

adalah sesuatu yang terbentuk dari pernyataan komputer, yang ditulis dalam

bahasa pemrograman. Dari definisi di atas, kita dapat menemukan hubungan

antara algoritma dan program. Program dibuat dari bahasa pemrograman,

sedangkan metode dengan tahapan sistematis disebut algoritma. Jadi dapat

dikatakan bahwa program tersebut merupakan implementasi dari algoritma.

Para ilmuwan memiliki formula tentang hubungan antara algoritma dan

program, yaitu:

STRUKTUR DATA + ALGORITMA = PROGRAM

13
Program ini tentu saja memiliki hubungan dengan algoritma dan struktur

data. Jika suatu algoritma memiliki tata letak yang baik tetapi tanpa struktur

data yang baik, program yang berjalan juga kurang efisien, dan sebaliknya.

Ada beberapa hal yang perlu diingat dalam membuat algoritme:

 Algoritme berisi urutan pemecahan masalah, penulisan algoritma

dapat digunakan dalam notasi apa saja asalkan dapat dipahami.

 Tidak ada notasi tetap dari algoritma dalam bahasa pemrograman,

notasi algoritma tidak berpengaruh pada bahasa pemrograman.

Komputer menjalankan algoritma.

 Algoritma adalah cara untuk mengubah struktur pemecahan masalah

menjadi bahasa pemrograman.

 Algoritma adalah hasil pemikiran konseptual, sehingga komputer

dapat mengimplementasikannya, algoritma harus diterjemahkan ke

dalam bahasa pemrograman.

 Notasi algoritma bukanlah notasi bahasa pemrograman, oleh karena

itu pseudocode dalam notasi algoritmik tidak dapat dibaca oleh

komputer.

 Setiap orang dapat membuat notasi algoritma sendiri. Karena teks

algoritma tidak sama dengan teks program.

14
Algoritma tentu terkait dengan ilmu komputer, tetapi tidak hanya itu.

Algoritma juga terkait dengan hal-hal yang ada dalam kehidupan kita sehari-

hari. Langkah-langkah dalam membuat cookies juga disajikan sebagai

algoritma, karena memiliki urutan atau tahapan tersendiri. Jika langkah-

langkah ini bahkan memiliki satu langkah yang tidak realistis, maka kue itu

tidak akan sempurna. Program ditulis dalam bahasa pemrograman, proses

penulisan ini disebut pemrograman (programming), sedangkan pelaku

pemrograman ini disebut programmer (programmer). Kekacauan dalam

program ini disebut instruksi atau pernyataan.

6. Komputer dan Interface

Pengertian komputer secara umum adalah alat yang dipakai untuk

mengolah data menurut prosedur yang telah dirumuskan, dimana komputer

itu sendiri merupakan perangkat elektronik yang terdiri dari beberapa

komponen yang saling bekerja sama membentuk sebuah sistem kerja yang

dapat menjalankan pekerjaan secara otomatis berdasar urutan instruksi

ataupun program yang diberikan sehingga dapat menghasilkan informasi

berdasarkan program dan data yang ada. Komputer adalah kumpulan dari

beberapa perangkat keras, yang untuk mengoperasikannya perlu program

15
yang sesuai dengan kebutuhannya. Program komputer sendiri membutuhkan

algoritma sebagai pemrogram. Hubungannya, Algoritma disamakan dengan

kehidupan program sedangkan programnya adalah bahasa algoritma

sementara komputer adalah eksekutornya.

Perangkat atau komponen dari presentasi masukan input komputer

termasuk alat input seperti keyboard, mouse, pemindai dan pusat pemrosesan

CPU (unit pemrosesan pusat) dan perangkat output seperti layar monitor,

printer dll. melihat atau mendapatkan hasil dari pemrosesan data di

komputer. Komputer pada dasarnya membutuhkan program untuk

menjalankan fungsinya sebagai komputer, biasanya ini dilakukan dengan

mengeksekusi instruksi pada prosesor programmer. Berikut adalah tabel

algoritma, pemrograman, dan koneksi program.

Gambar 2. Diagram Hubungan Algoritma, Pemrograman dan Program

16
Ada beberapa istilah dasar yang perlu dipahami dalam pemrograman, yaitu:

a. Bahasa pemrograman adalah prosedur prosedur untuk menulis

program. Ada dua faktor penting dalam bahasa pemrograman yaitu

sintaks dan sematik. Sintax adalah aturan gramatikal yang mengatur

cara menulis kata, ekspresi, atau pernyataan sedangkan semantik

adalah aturan untuk menyatakan suatu makna.

b. Pemrograman adalah proses di mana langkah-langkah

diimplementasikan menggunakan bahasa pemrograman untuk

memecahkan masalah.

c. Pemrograman terstruktur adalah proses penerapan urutan langkah

untuk memecahkan masalah dengan program yang memiliki desain

yang dirancang dengan baik dan tidak salah yang mudah dimengerti

dan dilacak oleh siapa pun.

d. Programmer adalah orang yang bertanggung jawab mengatur

program.

Karakteristik atau karakteristik teknik pemrograman terstruktur adalah

sebagai berikut:

a. Berisi algoritma pemecahan masalah yang akurat, benar, sederhana,

dan efektif

17
b. Memiliki struktur logika dan struktur program yang benar dan mudah

dipahami serta menghindari penggunaan instruksi GOTO

c. Membutuhkan biaya pengujian, perawatan, dan pengembangan yang

rendah

d. Memiliki dokumentasi yang baik

Standar pemrograman diperlukan untuk membuat program yang

bagus. Untuk menentukan standar program yang baik dibutuhkan beberapa

standar sebagai dasar penilaian, seperti:

 Standar teknik pemecahan masalah

Teknik pemecahan masalah dikenal dengan teknik Top-Down dan

teknik Bottom-Up. Teknik Top-Down adalah teknik terobosan

dengan membagi masalah kompleks menjadi beberapa tingkat

kelompok masalah hingga subdivisi terkecil, kemudian disusun

langkah-langkah untuk menyelesaikannya secara detail. Sedangkan

teknik Bottom-Up adalah teknik pemecahan masalah dengan

menstandardisasi proses prosedur yang ada untuk digabungkan

menjadi satu.

 Formulasi program

18
Faktor-faktor yang perlu diperhitungkan adalah untuk membuat

program yang logis dan menulis kebenaran, waktu minimum untuk

penulisan program, kecepatan eksekusi program maksimum, ekspresi

penggunaan memori, kemudahan pemeliharaan dan pengembangan

program, user friendly, portabilitas, pemrograman modular.

 Pemeliharaan program

Untuk memfasilitasi pemrogram dalam pemeliharaan program dan

pemrograman beberapa standar telah didefinisikan oleh para ahli

sebagai dokumentasi dan instruksi penulisan.

 Prosedur standar

Seorang programmer memiliki kebebasan untuk menyusun ide atau

ide untuk pemecahan masalah dalam pemrograman, tetapi para

programmer harus menggunakan prosedur mereka yang sudah

terbukti dan terkenal.

Dalam memulai program, berikut ini adalah langkah yang paling

sering digunakan dan referensi untuk memprogram

1. Tentukan masalah

Ini adalah langkah pertama yang sering dilupakan orang tentang

mendefinisikan masalah yang ditujukan untuk memahami masalah

19
lebih mendalam. Dengan demikian, asumsi yang baik diperoleh dan

benar untuk menyelesaikan masalah.

2. Temukan solusi

Langkah selanjutnya setelah mendefinisikan masalah adalah

mendefinisikan solusi. Mendefinisikan solusi dapat dicari dengan

menggunakan teknik pemecahan masalah (teknik Top-Down / teknik

Bottom-Up)

3. Pilih algoritma

Pilih algoritma yang tepat dan efisien untuk masalah ini

4. Tulis sebuah program

Pilih bahasa yang mudah dimengerti, mudah dipelajari, mudah

digunakan, dan lebih baik lagi jika sudah dikuasai, memiliki tingkat

kompatibilitas yang tinggi dengan perangkat keras dan platform

lainnya.

5. Uji program

Setelah program selesai, uji program dengan semua kemungkinan

yang mungkin, termasuk penanganan kesalahan. Pastikan

programnya bebas kesalahan \

6. Tulis dokumentasi

20
Menulis dokumentasi sangat penting sehingga pada titik tertentu kita

akan membuat perubahan atau membaca kode sumber tertulis

sehingga kita dapat mengingatnya lagi dan membacanya dengan

mudah. Triknya adalah menulis komentar kecil tentang arti kode, apa

arti variabel, dan parameter apa yang ada dalam prosedur dan fungsi.

7. Memperlakukan program

Mempertahankan program yang sudah dibutuhkan untuk mencegah

terjadinya bug yang sebelumnya tidak terdeteksi. Perawatan program

berarti memperbaiki, beradaptasi, melengkapi fasilitas untuk

mengantisipasi kebutuhan masa depanHubungan algoritma dan

pemrogram diumpamakan seperti nyawa dari program tersebut

sedangkan program adalah bahasa dari algoritma.

Belajar memprogram tidak sama dengan belajar bahasa pemrograman.

Belajar memprogram adalah belajar tentang metodologi pemecahan masalah,

kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca

dan dipahami. Sedangkan belajar bahasa pemrograman berarti belajar

memakai suatu bahasa aturan-aturan tata bahasanya, pernyataan-

pernyataannya, tata cara pengoperasian compiler-nya, dan memanfaatkan

pernyataan-pernyataan tersebut untuk membuat program yang ditulis hanya

21
dalam bahasa itu saja. Sampai saat ini terdapat puluhan bahasa pemrogram,

antara lain bahasa rakitan (assembly), Fortran, Cobol, Ada, PL/I, Algol,

Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasabahasa simulasi seperti

CSMP, Simscript, GPSS, Dinamo. Berdasarkan terapannya, bahasa

pemrograman dapat digolongkan atas dua kelompok besar :

 Bahasa pemrograman bertujuan khusus. Yang termasuk kelompok ini

adalah Cobol (untuk terapan bisnis dan

administrasi). Fortran (terapan komputasi ilmiah), bahasa rakitan

(terapan pemrograman mesin), Prolog (terapan kecerdasan buatan),

bahasa-bahasa simulasi, dan sebagainya.

 Bahasa perograman bertujuan umum, yang dapat digunakan untuk

berbagai aplikasi. Yang termasuk kelompok ini adalah bahasa Pascal,

Basic dan C. Tentu saja pembagian ini tidak kaku.

Bahasabahasabertujuan khusus tidak berarti tidak bisa digunakan

untuk aplikasi lain. Cobol misalnya, dapat juga digunakan untuk

terapan ilmiah, hanya saja kemampuannya terbatas. Yang jelas,

bahasabahasa pemrograman yang berbeda dikembangkan untuk

bermacam-macam terapan yang berbeda pula.

22
Berdasarkan pada apakah notasi bahasa pemrograman lebih ―dekat‖ ke

mesin atau ke bahasa manusia, maka bahasa pemrograman dikelompokkan

atas dua macam :

 Bahasa tingkat rendah. Bahasa jenis ini dirancang agar setiap

instruksinya langsung dikerjakan oleh komputer, tanpa harus melalui

penerjemah (translator). Contohnya adalah bahasa mesin. CPU

mengambil instruksi dari memori, langsung mengerti dan langsung

mengerjakan operasinya. Bahasa tingkat rendah bersifat primitif,

sangat sederhana, orientasinya lebih dekat ke mesin, dan sulit

dipahami manusia. Sedangkan bahasa rakitan dimasukkan ke dalam

kelompok ini karena alasan notasi yang dipakai dalam bahasa ini

lebih dekat ke mesin, meskipun untuk melaksanakan instruksinya

masih perlu penerjemahan ke dalam bahasa mesin.

 Bahasa tingkat tinggi, yang membuat pemrograman lebih mudah

dipahami, lebih ―manusiawi‖, dan berorientasi ke bahasa manusia

(bahasa Inggris). Hanya saja, program dalam bahasa tingkat tinggi

tidak dapat langsung dilaksanakan oleh komputer. Ia perlu

diterjemahkan terlebih dahulu oleh sebuahtranslator bahasa (yang

disebut kompilator atau compiler) ke dalam bahasa mesin sebelum

23
akhirnya dieksekusi oleh CPU. Contoh bahasa tingkat tinggi

adalah Pascal, PL/I, Ada, Cobol, Basic, Fortran, C, C++, dan

sebagainya

Gambar 3. Pembagian Bahasa Pemrograman

7. Penyajian Algoritma

Dalam menyelesaikan masalah, manusia memiliki akal dan pikiran

logis, maka suatu algoritma sebagai bentuk penyelesaian masalah akan

mengikuti pola akal pikiran manusia. Terdapat 3 (tiga) tiga struktur dasar

yang dapat dijadikan sebagai acuan pemecahan masalah, yaitu:

1. Penyelesaian bertahap

24
Penyelesaian bertahap adalah alur pemikiran yang tersuktur, sekuensial,

terarah, dan jelas untuk menyelesaikan masalah. Urutan atau sekuensial

kegiatan pemecahan masalah dilakukan secara bertahap, dimana setiap tahap

akan memberikan hasil dan hasil tersebut akan digunakan untuk proses pada

tahap berikutnya. Sebagai catatan bahwa instruksi atau operasi yang

digunakan dalam setiap tahap sangat menentukan hasil akhir dari suatu

algoritma. Artinya bila tahapan operasi berubah-ubah tidak konsisten

terhadap permasalahan maka mungkin besar hasil yang diaharapkan pada

akhirnya tidak akan sesuai dengan tujuan.

2. Pemilihan Alternatif

Pemilihan alternatip yaitu sebuah pilihan yang harus ditentukan pada suatu

kondisi tertentu, misal berangkat atau tidak berangkat, dikerjakan atau tidak

dikerjakan yang dikerjakan, jika pilih satu maka harus masuk, jika pilih dua

maka harus keluar dan jika pilih tiga maka harus tidak berbuat apa-apa dsb.

Yang dimaksudkan engan kondisi pada pilihan alternatip adalah persyaratan

yang dapat bernilai benar atau salah atau berupa pilihan satu dari sekian

alternatip pilihan. Jika operasi kegiatan merupakan pilihan kondisi bernilai

benar dan salah maka pernyataaan kondisi menggunakan If dan Then.

3. Proses Pengulangan

25
Proses Pengulangan adalah operasi kegiatan yang memerlukan tahapan

sekuensial berkelanjutan seperti halnya pada penyelesaian bertahap, akan

tetapi karena prosesnya sama maka dilakukan kegiatan mengulang sederetan

penyelesaian masalah. Kegiatan yang dilakukan secara berulang-ulang

tersebut sudah barang tentu disesuaikan dengan persyaratan yang telah

ditentukan sebelumnya, dengan demikian tetap akan diperoleh hasil sesuai

yang diharapkan. Pernyataan yang digunakan For To Next, Do While,

Repeat Until dan seterusnya.

Menyajikan Algoritma

Untuk menyajikan Algoritma terdapat kesepakatan dalam bidang

pemrograman peralatan elektronik, yaitu dapat dinyatakan dalam bentuk:

1) Menggunakan bahasa natural dalam bentuk narasi

2) Menggunakan diagram alir (flow chart)

Adapun cara penyajian algoritma dalam bentuk narasi adalah seperti berikut:

Dharma sedang mengikuti rapat di kantor, oleh karena satu dokumen

ketinggalan di rumah maka ia memutuskan menelpon istrinya yang berada

26
di rumah untuk mengantarkan dokumen tersebut. Buatlah algoritma yang

harus dilakukan oleh Dharma sehingga dapat berkomunikasi dengan

istrinya agar bisa mengantarkan dokumen tersebut!.

Sebuah alternatip alagoritma dari permasalahan tersebut adalah sebagai

berikut:

1. Dharma mengambil HPnya yang berada di dalam tasnya.

2. Dharma meminta ijin kepada pimpinannya untuk ke luar ruangan rapat

3. Jika diijinkan maka Dharma keluar ruangan maka Dharma menelpon

istrinya dan minta tolong agar dokumennya diantar ke kantor Dharma.

4. Jika tidak diijinkan maka Dharma tetap mengikuti rapat sampai selesai .

5. Dharma menunggu kedatangan istrinya yang mengantar dokumen

6. Jika istrinya datang membawa dokumen maka dokumen diterima

selanjutnya masuk ruangan rapat kembali untuk mengikuti rapat sampai

selesai.

7. Jika istrinya datang tanpa membawa dokumen maka istrinya masuk ke

ruangan rapat kembali untuk mengikuti rapat sampai selesai.

27
1) Penulisan Algoritma Menggunakan Bahasa Natural

Untuk penyajian algoritma menggunakan bahasa natural dalam bentuk

narasi, dan sebagai contoh penulisannya dapat dilihat pada contoh

permasalahan lembar sebelumnya.

2) Diagram Alir (Flow Chart)

Flowchart adalah algoritma penyelesaian suatu masalah yang diwujudkan

dalam bentuk penggambaran bagan, dimana dalam bagan tersebut memiliki

kandungan aliran data yang lebih menggambarkan langkah-langkah

penyelesaian suatu masalah. Terdapat 2 (dua) penggambaran Flowchart yaitu

System Flowchart dan Program Flowchart.

Flowchart dapat digunakan untuk menggambarkan perilaku suatu

algoritma (dengan menggunakan gambar-gambar atau tanda-tanda yang

sesuai) Bila suatu flowchart lengkap telah selesai dikerjakan, gambaran

lengkap tentang proses pemikiran seorang programmer dalam memecahkan

suatu masalah dapatlah diikuti. Peranan flowchart sangat penting terutama

pada pemeriksaan program. Flowchart yang merupakan bagian penting

dalam suatu program yang telah selesai juga dapat membantu orang lain

dalam memahami algoritma yang tepat yang dibuat programmer.

Ada dua jenis flowchart, yaitu:

28
a. Flowchart sistem: menunjukkan jalannya program secara umum.

b. Flowchart terperinci: rincian (detail) yang dibutuhkan programer.

Biasanya suatu program yang rumit didahului dengan flowchart sistem, lalu

dilengkapi pula dengan. flowchart terperinci. Keuntungan

dari flowchart ialah dapat menunjukkan urutan langkah-langkah dengan

menggunakan simbol anak panah.

a. Flowchart Sistem

Digunakan untuk menggambarkan aliran data atau informasi secara garis

besarnya yang melewati suatu tahapan proses dalam sebuah sistem dengan

menunjukkan media yang digunakan dalam sistem. Seperti media input,

output maupun media penyimpanan dalam proses pengolahan data.

Adapun simbol yang digunakan meliputi:

Gambar 4. Simbol flowchart sistem

29
b. Flowchart Program

Digunakan untuk menggambarkan aliran data atau informasi secara rinci

yang melewati suatu tahapan proses dengan menunjukkan tahapan

penyelesaian permasalahan untuk mendapatkan hasil sesuai tujuan yang

diharapkan.

Adapun simbol yang digunakan adalah sebagai berikut:

Gambar 5. Simbol Flowchart Umum

Sebuah flowchart minimal umumnya terdiiri dari simbol mulai yang

menggambarkan bahwa sebuah algoritma dimulai, dilanjutkan dengan

30
masukan data, selanjutnya data diproses kemudian hasil proses dikeluarkan

dan diakhiri dengan simbol akhir dari aliran program.

8. Flowchart Program

Dalam pembuatan flowchart Program tidak ada rumus atau patokan

yang bersifat mutlak. Karena flowchart merupakan gambaran hasil

pemikiran dalam menganalisis suatu masalah dengan komputer.

Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram

dengan yang lainnya. Namun secara garis besar setiap pengolahan selalu

terdiri atas 3 bagian utama, yaitu :

1. Input,

2. Proses pengolahan dan

3. Output

Untuk pengolahan data dengan komputer, urutan dasar pemecahan suatu

masalah:

1. START, berisi pernyataan untuk persiapan peralatan yang diperlukan

sebelum menangani pemecahan persoalan.

31
2. READ, berisi pernyataan kegiatan untuk membaca data dari suatu

peralatan input.

3. PROSES, berisi kegiatan yang berkaitan dengan pemecahan

persoalan sesuai dengan data yang dibaca.

4. WRITE, berisi pernyataan untuk merekam hasil kegiatan ke

peralatan output.

5. END, mengakhiri kegiatan pengolahan.

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart,

namun ada beberapa anjuran :

1. Hindari pengulangan proses yang tidak perlu dan logika yang berbelit

sehingga jalannya proses menjadi singkat.

2. Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda

panah untuk memperjelas.

3. Sebuah flowchart diawali dari satu titik START dan diakhiri dengan

END.

Berikut merupakan beberapa contoh simbol flowchart yang disepakati oleh

dunia pemrograman :

32
Gambar6. Simbol Flowchart

Untuk memahami lebih dalam mengenai flowchart ini, akan diambil sebuah

kasus sederhana.

Kasus : Buatlah sebuah rancangan program dengan menggunakan flowchart,

mencari luas persegi panjang.

Solusi : Perumusan untuk mencari luas persegi panjang adalah :

L=p.l

33
di mana, L adalah Luas persegi panjang, p adalah panjang persegi,

dan l adalah lebar persegi.

Gambar 7. Flowchart Sederhana (Menghitung Luas)

Gambar 7 adalah contoh flowchart sederhana penyelesaian bertahap

untuk menghitung luas sebuah bangun segi empat, dimana bangun tersebut

memiki panjang = p dan lebar = l, dimana luas = p x l . Menghitung luas

bangun ternyata tidak hanya sebuah bangun yang bisa dilakukan dalam

program, dengan menambahkan menu pilihan ternyata dapat dipilih untuk

menghitung beberapa luas bangun dari bidang tertentu. Jika sebuah algoritma

34
membutuhkan alternatif pilihan maka dibutuhkan simbol percabangan,

sebagai contoh sebuah sistem program harus melakukan layanan perhitungan

luas bangun segi empat, luas bangun segi tiga dan luas bangun lingkaran.

Dengan demikian maka terdapat pilihan alternatip (Gambar 4), jika dipilih 1

maka digunakan untuk menghitung luas bidang segi empat, untuk pilihan 2

digunakan menghitung luas bangun segi tiga dan untuk pilihan 3 digunakan

untuk menghitung luas bangun lingkaran, maka flowchart-nya dapat

digambarkan sebagai berikut:

Gambar 8. Simbol Flowchart Program Pilihan

35
Aliran program dimulai, kemudian memberi kesempatan pada user untuk

memberikan masukan berupa angka 1 atau angka 2 atau angka 3, jika angka

tersebut adalah 1 maka akan diteruskan pada proses menghitung luas bangun

segi empat.

Jika ternyata angka yang diberikan adalah 2 maka akan diteruskan pada

proses menghitung luas bangun segi tiga, dan juika ternyata angka yang

diberikan adalah 3 maka akan diteruskan pada proses menghitung luas

bangun lingkaran. Suatu saat dibutuhkan sebuah algoritma untuk

menggambarkan suatu proses yang berulang, misal pada suatu program

dibutuhkan sebuah rutin yang berfungsi sebagai penghitung (counter). Untuk

itu flowchartnya dapat digambarkan sebagai berikut:

36
Gambar 9. Flowchart Untuk Proses Diulang

37
BAB 2. KONTROL

38
1. PENGARUH INTERAKSI MANUSIA DAN KOMPUTER

DALAM INTERFACE

Fokus interaksi manusia dan komputer merupakan interaksi satu atau

lebih users dengan satu atau lebih komputer.Insap Santoso (2006, p5)

Interaksi manusia komputer adalah sebuah disiplin ilmu yang mempelajari

perancangan, implementasi, dan evaluasi sistem komputasi interaktif dan

berbagai aspek terkait. User Interface Antar muka (User Interface) sangat

diperlukan dalam suatu pembuata sistem. Dengan adanya antar muka,

diharapkan pengguna akan mudah memahami apa yang harus dilakukan dan

menghindari terjadinya kebingungan saat menggunakan sistem. Pressman

(2010, p312) Desain user interface adalah menciptakan sebuah media

komunikasi yang efektif antara manusia dengan komputer. 1.1. Runtunan

(Sequence)

Proses beruntun (sequence) adalah sederetan pernyataan yang urutan

pelaksanaannya / eksekusinya dilakukan secara beruntun dari baris pertama,

kedua dan seterusnya hingga baris terakhir. Sebuah runtunan terdiri dari satu

atau lebih instruksi. Tiap instruksi dikerjakan secara berurutan sesuai dengan

urutan penulisannya, yakni sebuah instruksi dilaksanakan setelah instruksi

sebelumnya selesai dilaksanakan. Urutan instruksi menentukan keadaan

39
akhir algoritma. Bila urutannya diubah, maka hasil akhir mungkin juga

berubah.

Terdapat langkah-langkah dalam pembuatan antar muka (User

Interface): 1. Interface analysis and modeling Interface analysis berfokus

pada user untuk berinteraksi dengan sistem. Kemudian dianalisis untuk

mendefinisikan satu set objek dan aksi interface. Informasi yang

dikumpulkan digunakan untuk membuat model analisis untuk interface. 2.

Interface design Interface design mendefinisikan satu set obyek dan aksi

interfaceyang memungkinkan user untuk melakukan semua tugas desain tata

letak. 3. Interface construction Interface construction biasanya dimulai

dengan membuat sebuah prototype yang memungkinkan skenario

penggunaan untuk dievaluasi dan digunakan untuk menyelesaikan

konstruksiinterface. 4. Interface validation Setelah pembuatan prototype,

interface validation berfokus pada evaluasi secara keseluruhan untuk

menentukan kemampuan interface untuk menjalankan setiap perintah

berjalan dengan benar dan sejauh mana interface mudah digunakan dan

mudah dipelajari serta memenuhi kebutuhan user. Dalam perancangan user

interface, harus memenuhi delapan aturan emas. Shneiderman and Plaisant

(2005, p74) Adapun delapan aturan emas tersebut sebagai berikut: 1.

40
Berusaha untuk konsisten Rangkaian aksi yang konsisten harus digunakan

dalam keadaan seperti pada prompts, menus, dan layar help serta perintah

yang konsisten.

2. Menyediakan universal usability Universal usability mengacu pada

desain informasi dan komunikasi produk dan layanan yang dapat digunakan

oleh semua kalangan user. 3. Memberikan umpan balik yang informatif

Untuk setiap aksi yang dilakukan, hendaknya selalu tersedia fasilitas umpan

balik agar pengguna mengerti apa yang telah dilakukannya. 4. Merancang

dialog yang memberikan penutupan Urutan aksi hendaknya dibagi ke dalam

kelompok dengan awal, tengah, dan akhir. Ketika telah mencapai bagian

akhir, hendaknya user diberitahu melalui umpan balik. Tanpa adanya dialog

untuk mencapai keadaan akhir maka pengguna akan menjadi bingung. 5.

Menawarkan penanganan kesalahan sederhana Sebisa mungkin, desainlah

sistem sehingga pengguna tidak dapat melakukan kesalahan yang serius. Jika

kesalahan dibuat, sistem harus mampu mendeteksi kesalahan dan membantu

memberikan solusi untuk penanganan kesalahan. 6. Memungkinkan

pembalikan aksi yang mudah Fitur ini mengurangi kecemasan, karena user

tahu bahwa kesalahan dapat dibatalkan sehingga akan mendorong eksplorasi

fungsi-fungsi lainnya. 7. Mendukung pusat kendali internal Dengan

41
pengaturan yang menyeluruh, user dapat menggunakan sistem sesuai

kebutuhan mereka dan menggunakan sistem lebih maksimal. 8. Mengurangi

beban ingatan jangka pendek Keterbatasan manusia dalam mengolah

informasi dalam jangka waktu yang pendek harus diperhatikan dalam

membuat tampilan sehingga tidak menyulitkan user.

Program akan mengeksekusi instruksi_1, setelah instruksi_1 sudah

selesai dikerjakan selanjutnya program akan mengeksekusi instruksi_2.

Setelah instruksi_2 sudah selesai dikerjakan selanjutnya program akan

mengeksekusi instruksi_3. Setelah instruksi_3 sudah selesai dikerjakan maka

selanjutnya program akan berakhir atau selesai. Kita ambil contoh program

Luas Lingkaran, dimana untuk panjang jari-jarinya sudah diketahui

besarannya. Dan berikut adalah algoritmanya :

Deskripsi :

1. Mulai

2. Input Jari_Jari

3. Hitung Luas = 3.14 * Jari_Jari * Jari_Jari

4. Cetak Luas

5. Selesai

42
Gambar 1.Flowchart Luas Lingkaran

Perhatikan gambar flowchart Luas Lingkaran memiliki 3 instruksi yang

harus dieksekusi. Instruksi ke-1 : program membaca nilai jari-jari yang telah

diinputkan, Instruksi ke-2 : program melakukan operasi aritmatika rumus

luas lingkaran dan Instruksi ke-3 : menampilkan hasil dari perhitungan

rumus luas lingkaran. Catatan Penting : Semakin banyak instruksi pada

program maka semakin banyak waktu untuk mengeksekusinya. Pada

perancangan sebuah program, efesiensi instruksi sangatlah penting untuk

mempercepat proses dan menghemat konsumsi memory pada program.

43
1.2. SOFTWAR INTERFACE.

Sommervile (2011, p30) SDLC merupakan kepanjangan dari

Software Development Life Cycle, dan pada dasarnya didefinisikan sebagai

metodologi atau model yang digunakan untuk mengembangkan sistem

komputer. Tanpa SDLC, sistem komputer tidak akan menemui tingkat

kebutuhan pengguna atau jika tidak sesuai dengan kebutuhan, ada

kecenderungan over budget pada proyek. Untuk mencipatakan keseimbangan

antara efisiensi dan efektifitas pengeluaran pada sistem komputer, SDLC

telah digunakan dan telah menjadi standar industri dari tahun ke tahun. Salah

satu model dalam SDLC adalah Waterfall Model, atau biasa dikenal dengan

nama Linear Model. Sommervile (2011,p30) Waterfall model menunjukkan

sistematis, pendekatan sekuensial untuk pengembangan perangkat lunak

yang diawali dengan persyaratan spesifikasi pelanggan dan berkembang

melalui perencanaan, pemodelan, konstruksi, dan penyebaran. Gambar 10

Proses Water.

44
Gambar 10. Proses Waterfall

Sommervile (2011, p31) Adapun tahap-tahap dalam proses waterfall model

adalah sebagai berikut: 1. Requirements analysis and definition Proses ini

menentukan dan menemukan layanan sistem, kendala, dan tujuan yang

ditetapkan dari konsultasi dengan pengguna sistem. Kemudian didefinisikan

secara rinci dan menggunakannya sebagai spesifikasi sistem. 2. System and

software design Proses ini menetapkan rencana untuk pengerjaan software

yang meliputi tugas-tugas teknis yang akan dilakukan, resiko yang mungkin

terjadi, sumber-sumber yang dibutuhkan, hasil yang akan dibuat, serta jadwal

pengerjaannya. 3. Implementation and Unit Testing Pada proses ini, desain

perangkat lunak di bentuk menjadi bagian-bagian program atau unit-unit

program. Unit testing berfungsi unuk mencari tahu apakah setiap unit

program sudah memenuhi spesifikasi yang dibutuhkan. 4. Integration and

45
System Testing unit program individu atau program yang terintegrasi dan

diuji sebagai sistem yang lengkap untuk memastikan bahwa persyaratan

perangkat lunak telah dipenuhi. setelah pengujian, sistem perangkat lunak

yang telah melewati proses ini akan dikirimkan ke pelanggan 5. Operation

and maintenance Ini adalah fase terpanjang dalam life cycle. sistem terinstal

dan mulai digunakan. Pemeliharaan melibatkan pengoreksian kesalahan yang

tidak ditemukan pada tahap-tahap awal dari life cycle, meningkatkan

implementasi unit sistem dan meningkatkan layanan sistem untuk

menemukan kebutuhan-kebutuhan baru.

A. Struktur IF Sederhana

Bentuk dari struktur IF sederhana adalah IF (Syarat) THEN (Instruksi),

simak gambar dibawah ini :

46
Gambar10. .Bentuk flowchart IF Sederhana

Pada gambar flowchart diatas, struktur IF sederhana dapat kita lihat bahwa

instruksi_1 akan dieksekusi jika syarat yang ditentukan bernilai benar dan

jika bernilai salah, instruksi_1 tidak akan dieksekusi. Untuk lebih jelasnya

kita simak contoh algoritma kelulusan siswa, program ini akan mengatakan

bawa siswa tersebut lulus jika nilainya >= 65.

Deskripsi :

1. Mulai

2. Baca nilaisiswa

47
3. Jika nilaisiswa >= 65 maka kerjakan langkah 4

4. Cetak ―LULUS‖

5. Selesai

Gambar 11. Flowchart Kelulusan Siswa

Pada flowchart diatas, nilai siswa yang diinputkan akan diuji apakah nilai

tersebut lebih besar atau sama dengan 65. Jika benar maka program akan

mencetak ―LULUS‖ kemudian selesai, namun jika salah maka program

selesai.

48
B. Struktur IF…THEN…ELSE…

Pada struktur ini, terdapat dua kemungkinan instruksi yang akan dikerjakan

berdasarkan hasil dari pengujian. Contoh jika syarat yang diujikan

memperoleh hasil benar maka instruksi_1 dikerjakan, namun jika bernilai

salah maka instruksi_2 yang dikerjakan. Untuk lebih jelasnya bisa lihat

gambar dibawah ini :

Bentuk flowchart:

Tidak lengkap rasanya kalau tidak diberikan contoh, mengambil masalah

sebelumnya tentang kelulusan siswa. Sekarang kita modifikasi sedikit

dimana jika nilai siswa lebih besar atau sama dengan 65 maka dinyatakan

lulus dan jika nilai siswa lebih kecil dari 65 maka siswa dinyatakan tidak

lulus.

49
Deskripsi :

1. Mulai

2. Baca nilaisiswa

3. Jika nilaisiswa >= 65 maka kerjakan langkah 4, selain itu kerjakan langkah 5

4. Cetak ―LULUS‖

5. Cetak ―TIDAK LULUS‖

6. Selesai

Gambar 12. Flowchart Kelulusan Siswa

Pada gambar flowchart diatas, setelah nilai diinputkan maka nilai tersebut

akan diuji apakah nilai siswa lebih besar atau sama dengan 65. Jika benar

50
maka program akan mencetak ―LULUS‖ lalu selesai, Jika tidak maka akan

dicetak ―TIDAK LULUS‖ lalu program selesai.

C. IF Bersarang

Untuk struktur yang satu ini kita perlu belajar logika dan ketelitian, satu

alasan yang pasti adalah struktur ini sering dipakai untuk tes kerja dalam

bidang IT terutama pekerjaan yang berkaitan dengan perancangan sistem.

Pada struktur ini juga kemungkinan akan banyak instruksi yang dikerjakan

berdadarkan hasil pengujian, bisa disimak gambar dibawah ini:

Flowchart struktur IF Bersarang

51
Dari flowchart diatas kita bisa pelajari bagaimana struktur dari IF bersarang.

Kita jabarkan satu persatu, jika syarat1 yang diuji bernilai benar maka

instruksi1 akan dieksekusi, jika syarat1 bernilai salah maka syarat2 diuji,jika

syarat2 yang diuji bernilai benar maka instruksi2 akan dieksekusi, jika

syarat2 bernilai salah maka syarat3 diuji, jika syarat3 yang diuji bernilai

benar maka instruksi3 akan dieksekusi, jika syarat3 bernilai salah maka

syaratx diuji, jika syaratx yang diuji bernilai benar maka instruksix akan

dieksekusi, jika syaratx bernilai salah atau tidak ada syarat yang terpenuhi

maka instruksiy yang dieksekusi.

Untuk lebih jelasnya, kita implementasikan dalam sebuah algoritma konfersi

nilai siswa, program akan mengkonfersi nilai siswa dari semula dalam

bentuk angka dirubah menjadi bentuk huruf dengan ketentuan sebagai

berikut :

– Jika nilai angka >= 80 maka nilai huruf sama dengan A

– Jika nilai angka >= 70 maka nilai huruf sama dengan B

– Jika nilai angka >= 60 maka nilai huruf sama dengan C

– Jika nilai angka >= 50 maka nilai huruf sama dengan D

– Jika nilai angka < 50 maka nilai huruf sama dengan E

52
Deskripsi :

1. Mulai

2. Baca nilaiangka

3. Jika nilaiangka >= 80 maka nilaihuruf = ―A‖, selain itu

4. Jika nilaiangka >= 70 maka nilaihuruf = ―B‖, selain itu

5. Jika nilaiangka >= 60 maka nilaihuruf = ―C‖, selain itu

6. Jika nilaiangka >= 50 maka nilaihuruf = ―D‖, selain itu

7. nilaihuruf = ―E‖

8. Cetak nilaihuruf

9. Selesai

53
Gambar 13.Flowchart Konfersi Nilai Siswa

54
Dapat dicermati gambar flowchart diatas, hal yang perlu diperhatikan dalam

struktur IF bersarang adalah jika salah satu syarat sudah terpenuhi maka

syarat-syarat lainnya yang ada sejajar tidak akan diuji lagi. Contohnya kita

masukan nilaiangka 60 maka nilaihurufnya adalah ―C‖ dan pengujian nilai

angka lebih besar atau sama dengan 50 tidak akan dijalankan.

1.3. Data Flow Diagram.

Pressman (2010, p187) Data FlowDiagram(DFD) adalah diagram

yang menggambarkan aliran data yang sedang berjalan yang meliputi input-

proses-output dari suatu sistem. Model aliran data pertama disebut dengan

DFD level 0 atau context diagram yang merupakan gambaran sistem secara

keseluruhan

Gambar 15. DFD level 0

55
Pada kehidupan sehari-hari banyak yang kita lakukan secara berulang-ulang,

contohnya seperti algoritma menjemur pakaian:

1. Siapkan tiang Jemuran

2. Ambil satu pakaian yang sudah dicuci

3. Peras pakaian hingga sedikit mengering

4. Letakan pakaian pada tiang jemuran

5. Ulangi langkah 2 sampai 4 hingga pakaian habis.

Dari algoritma menjemur pakaian diatas, kita dapat mendapat gambaran

tentang struktur algoritma looping. Jenis struktur dasar ini akan selesai jika

sebuah kondisi tertentu terpenuhi, seperti menjemur pakaian maka proses

jemur akan selesai jika pakaian yang akan dijemur sudah habis. Struktur

dasar algoritma ini mempunyai beberapa bentuk seperti Struktur

FOR, Struktur While dan Struktur Do….While.

A. Struktur FOR

Struktur dasar algoritma perulangan menggunakan instruksi FOR digunakan

untuk mengulang satu baris instrusi atau beberapa baris instruksi sampai

jumlah perulangan yang disyaratkan terpenuhi. Ciri-ciri utama struktur

perulangan menggunakan FOR adalah terdapat nilai awal dan nilai akhir

56
yang menunjukkan syarat yang harus terpenuhi. Berikut Flowchart

menggunakan FOR :

Gambar diatas menjelaskan bahwa Instruksi_1, Instruksi_2 dan Instruksi_3

akan dieksekusi atau dikerjakan ketika syarat terpenuhi. Perulangan

57
menggunakan struktur FOR dimulai dari Nilai_Awal dan akan berhenti

pada Nilai_Akhir. Untuk lebih jelasnya kita lihat contoh algoritma mencetak

angka menggunakan FOR, program akan dicetak angka 1 sampai 5.

Deskripsi :

1. Mulai

2. Kerjakan Langkah 3 mulai i = 1 sampai i = 5

3. Cetak i

4. Selesai

Gambar 16. Flowchart Cetak Angka dengan FOR

58
Gambar flowchart diatas, menjelaskan bahwa nilai i awal berisi 1, kemudian

dicetak nilai i awal yaitu 1. Dalam struktur perulangan menggunakan FOR,

nilai variabel i akan bertambah secara otomatis sehingga nilai variabel i.

Setelah ditambahkan secara otomatis, sekarang i = 2 lalu cetak nilai variabel

i. Proses tersebut akan dijalankan sampai kondisi yang sudah ditentukan

terpenuhi yaitu i = 5 maka proses looping akan berhenti. Jika belum paham

kita pelajari dengan seksama contoh ke 2, algoritma Cetak Bilangan Genap

menggunakan struktur FOR, program akan mencetak bilangan genap mulai

dari 0 dengan batas akhir 10 dengan menggunakan struktur looping FOR.

Deskripsi :

1. Mulai

2. Kerjakan langkah 3 sampai langkah 4 mulai i = 1 sampai i = 10

3. Jika i dibagi 2 sama dengan 0 maka kerjakan langkah 4

4. Cetak i

5. Selesai

59
Gambar 17. .Flowchart Cetak Bilangan Genap dengan FOR

Gambar flowchart diatas, menjelaskan bahwa program akan mengeksekusi

syarat yang dijabarkan dengan FOR, diketahui nilai i pertama kali berisi 1

kemudian diuji apakah nilai i tersebut habis dibagi dengan 2. Jika benar

maka nilai i akan dicetak kemudian dilakukan penambahan otomatis

sehingga nilai i menjadi 2. Namun jika salah, nilai i akan langsung ke

langkah penambahan otomatis. Proses tersebut akan dieksekusi terus sampai

nilai i lebih besar dari 10.

60
B. Struktur WHILE

Struktur looping dengan menggunakan WHILE berfungsi hampir mirip

dengan FOR yaitu mengulang satu baris instruksi atau beberapa baris

instruksi selama syarat yang ditentukan masih terpenuhi. Ciri-ciri utama dari

struktur WHILE adalah syarat yang ditentukan akan diuji lebih dahulu

sebelum instruksi-instruksi dieksekusi dalam perulangan. Catatan Penting :

pada Struktur WHILE akan menguji syarat yang ditentukan terlebih dahulu,

sehingga jika syarat tidak terpenuhi ada kemungkinan instruksi-istruksi pada

perulangan tidak dikerjakan.

Gambar 18.Flowchart struktur whil

61
Gambar sebelumnya menjelaskan bahwa syarat akan diuji oleh pemroses

terlebih dahulu sebelum mengeksekusi instruksi-instruksi yang akan diulang.

Jika syarat yang diuji benar, maka instruksi akan dieksekusi. Setelah

instruksi dikerjakan maka syarat akan diuji lagi, proses perulangan ini akan

berhenti jika syarat yang telah diuji bernilai salah. Untuk lebih jelasnya, kita

simak contoh algoritma cetak angka menggunakan WHILE, program akan

mencetak angka 1 sampai 5 dengan struktur WHILE.

Deskripsi :

1. Mulai

2. i = 1

3. Selama i <= 5 kerjakan langkah 4 sampai langkah 5

4. Cetak i

5. i = i + 1

6. Selesai

62
Gambar 19..Flowchart struktur while

Gambar flowchart sebelumnya, menjelaskan bahwa nilai i pertama kali

bernilai 1. Kemudian akan diuji apakah nilai i lebih kecil atau sama dengan

(<=) 5, jika benar maka nilai i dicetak. Kemudian nilai i ditambah 1, lalu

63
nilai i akan diuji kembali apakah masih memenuhi syarat yang sudah di

deklaraskikan diawal, jika benar maka nilai i akan dicetak. Langkah

perulangan akan berjalan terus sampai nilai i lebih besar dari

5. Catatan penting : Pada struktur WHILE penambahan tidak dilakukan

secara otomatis seperti pada struktur FOR, sehingga kita perlu menambahkan

instruksi lagi. Untuk lebih jelasnya kita liat lagi contoh berikutnya algoritma

cetak bilangan genap menggunakan WHILE, program akan mencetak

bilangan genap sampai 10 dengan menggunakan struktur perulangan

WHILE.

Deskripsi :

1. Mulai

2. i = 1

3. Selama i <= 10 kerjakan langkah 4 sampai langkah 6

4. Jika i habis dibagi 2 kerjakan langkah 5

5. Cetak i

6. i = i + 1

7. Selesai

64
Gambar 19. Flowchart Cetak Angka Genap dengan WHILE

65
Pada gambar flowchart diatas, dapat dijelaskan pertama adalah nilai i

diberikan nilai 1. Lalu nilai i diuji apakah nilai i lebih kecil atau sama dengan

(<=) 10, jika benar maka akan dilakukan operasi aritmatika yaitu nilai i

dibagi 2, jika habis atau hasilnya 0 maka akan dicetak nilai i dan jika

sebaliknya maka nilai i tidak tercetak dan langsung keproses berikutnya.

Proses berikutnya adalah nilai i akan ditambah 1, sebelumnya nilai i adalah 1

maka setelah proses ini menjadi 2. Kemudian nilai i diuji kembali sampai

nilai i lebh besar dari 10 barulah proses perulangan menggunakan WHILE

berakhir.

C. Struktur DO…WHILE

Struktur looping dengan DO…WHILE digunakan untuk mengulangi satu

baris instruksi atau beberapa baris instruksi sampai syarat yang ditetapkan

tidak terpenuhi. Ciri-ciri utama dari struktur DO…WHILE ialah syarat akan

diuji setelah instruksi dikerjakan seluruhnya atau bisa kita katakan pengujian

pada syarat dilakukan dibelakang. Catatan penting : Struktur menggunakan

DO…WHILE berbeda dengan menggunakan WHILE, jika DO…WHILE

melakukan pengujian di akhir dan WHILE melakukan pengujian di awal.

66
Gambar 20. Flowchart struktur DO…WHILE

67
Pada gambar flowchart diatas, kita bisa lihat bahwa instruksi_1, instruksi_2

dan instruksi_3 akan dikerjakan dahulu baru syarat akan diuji. Jika syarat

yang diuji bernilai benar maka instruksi_1 sampai instruksi_3 akan

dikerjakan kembali. Setelah dikerjakan kembali maka syarat akan diuji lagi,

perulangan akan selesai jika syarat yang diuji bernilai salah. Untuk lebih

jelasnya kita lihat contoh algoritma cetak angka DO…WHILE, program

akan mencetak angka 1 sampai 5 dengan menggunakan DO…WHILE

Deskripsi :

1. Mulai

2. i = 0

3. i = i + 1

4. Cetak i

5. Jika i <= 5 kerjakan langkah 3 sampai langkah 4

6. Selesai

68
Gambar21.Flowchart Cetak Angka dengan DO…WHILE

Pada gambar sebelumnya, pertama kali variabel i diberi nilai awal adalah 0.

Kemudian nilai i ditambah 1 sehingga nilai i menjadi 1, Lalu nilai i dicetak.

Langkah selanjutnya adalah nilai i diuji apakah lebih kecil atau sama dengan

(<=) 5, jika hasil uji bernilai benar maka akan kembali ke instruksi ke 1 yaitu

69
nilai i ditambah 1 sehingga nilai i sekarang menjadi 2. Kemudian nilai i

dicetak dan diuji kembali, perulangan akan berhenti sampai nilai i lebih besar

dari 5. Kita lihat contoh berikutnya algoritma cetak bilangan genap, program

akan mencetak bilangan genap dari 1 sampai 10 menggunakan struktur

perulangan DO…WHILE.

Deskripsi :

1. Mulai

2. i = 1

3. Selama i <= 10 kerjakan langkah 4 sampai langkah 6

4. Jika i habis dibagi 2 kerjakan langkah 5

5. Cetak i

6. i = i + 1

7. Selesai

70
Gambar 22. .Flowchart Cetak Angka Genap dengan DO…WHILE

Pada gambar flowchart, instruksi pertama adalah nilai i adalah 1. Instruksi

selanjutnya pengujian nilai i habis dibagi 2, jika benar maka nilai i dicetak

71
kemudian nilai i ditambah 1 sehingga nilai i menjadi 2. Jika salah maka

instruksi nilai i ditambah 1 sehingga menjadi 2. Instruksi berikutnya adalah

pengujian apakah nilai i lebih kecil atau sama dengan 10, jika benar maka

akan kembali pada instruksi ke 2 yaitu diuji apakah nilai i habis dibagi 2,

begitulah seterusnya sampai nilai i lebih besar dari 10 barulah perulangan

selesai.

2. Notasi Algoritma

Notasi Algoritma bukan merupakan notasi bahasa pemrograman.

Namun notasi ini dapat diterjemahkan ke dalam berbagai bahasa

pemrograman. Penotasian algoritma harus dilakukan sedemikian hingga

mudah dibaca dan dimengerti. Meskipun notasi algoritma tidak berbentuk

baku seperti notasi bahasa pemrograman, namun konsistensi terhadap notasi

perlu diperhatikan untuk menghindari terjadinya kekeliruan. Algoritma

adalah solusi detail secara prosedural dari suatu persoalan dalam notasi

algoritmik. Program adalah program komputer dalam suatu bahasa

pemrograman yang tersedia di dunia nyata. Bahasa komputer mempunyai

pemroses sehingga dapat dieksekusi mesin, sehingga teks program dibuat

untuk dieksekusi mesin (dan untuk kepentingan pemeliharaan program

sebaiknya dapat dibaca dengan mudah oleh manusia). Notasi ini dianggap

72
perlu untuk menjembatani keragaman dan kompleksitas bahasa sehingga

mahasiswa mampu melakukan ―abstraksi‖.

Notasi akan merangkum semua konsep pemrograman prosedural

yang harus dapat dengan mudah dituliskan di atas kertas. Notasi lebih

berorientasi kepada detail design dibandingkan coding. Notasi hanyalah alat

untuk menuangkan rancangan secara prosedural yang selanjutnya dengan

mudah dapat ditranslasi menjadi salah satu program dalam bahasa tertentu.

Suatu saat, jika permogram menghadapi dunia profesional yang

membutuhkan hasil yang siap pakai, notasi dapat disesuaikan dan dibuat

lebih dekat dengan bahasa pemrograman yang dipakai. Teks algoritma selalu

terdiri dari tiga bagian, yaitu :

- Judul (Header)

- Kamus

- Algoritma

Pada setiap bagian tersebut, akan didefinisikan dan dipakai nama, atau

dituliskan komentar dalam bahasa Indonesia. Komentar dalam bahasa

Indonesia dituliskan di antara tanda kurung kurawal. Teks yang tidak

dituliskan di antara kurung kurawal buka dan tutup adalah teks dalam notasi

algoritmik. Contoh Teks Algoritma:

73
74
Bab 3. Bahasa Kontroler

75
1. Lahirnya Bahasa Pemrograman Kontrol

Pascal adalah bahasa pemrograman komputer yang dikembangkan

oleh Niklaus Wirth pada tahun 1968–1969 dan dipublikasikan tahun

1970. Niklaus Wirth atau lengkapnya Niklaus Emil Wirth adalah seorang

dosen, ilmuwan dan peneliti komputer berkebangsaan Swiss. Sebelum

membuat Pascal, ia juga banyak mengembangkan bahasa pemrograman lain

pada era 1960-an seperti Euler dan Algol W. Nama Pascal dipilih untuk

menghormati Blaise Pascal, seorang ilmuwan matematis Prancis yang pada

tahun 1642 membuat kalkulator mekanis pertama di dunia. Kalkulator ini

menjadi cikal bakal komputer modern.

Niklaus Wirth pada awalnya merancang bahasa Pascal untuk

mengajarkan pemrograman kepada mahasiswa di Universitas ETH Zürich di

Swiss. Pascal di desain

menggunakan structured

programming yang kemudian menjadi

populer dan banyak digunakan oleh

bahasa pemrograman setelahnya.

Seiiring perkembangan komputer, bahasa pascal juga digunakan untuk

aplikasi komersil.

76
Sejak dipublikasikan oleh pada 1970, bahasa pemrograman Pascal mulai

digunakan oleh berbagai universitas di Eropa dan Amerika. Walaupun

demikian, compiler pascal (sejenis program untuk menjalankan perintah-

perintah bahasa pascal) masih terbatas untuk kalangan tertentu. Karena saat

itu harga komputer masih sangat mahal dan umumnya hanya terdapat di

perusahaan atau universitas besar.

Pascal merupakan bahasa pemrograman data-oriented. Programmer

bisa membuat tipe data sendiri (selain tipe data standar yang disediakan

seperti integer, real, char, dan boolean). Walaupun demikian, pascal sangat

ketat aturan. Setiap variabel hanya bisa menggunakan tipe data tertentu dan

harus dideklarasikan terlebih dahulu. Tidak seperti bahasa pemrograman lain

pada saat itu, bahasa Pascal mirip dengan bahasa inggris sehari-hari,

sehingga mudah bagi programmer pemula untuk mulai membuat kode

program. Bahasa Pascal bersaing dengan bahasa pemrograman lain pada era

tersebut, seperti Algol, Basic, Fortran dan C.

77
2. Munculnya Compiler Sistem Kontrol: UCSD Pascal, Microsoft

Pascal dan Turbo Pascal

Sejak dirilis pada tahun 1970, mulai bermunculan berbagai compiler

bahasa Pascal (program untuk menjalankan bahasa pascal). University of

California, San Diego (UCSD) membuat salah satu compiler pertama pascal,

yakni UCSD Pascal. Compiler ini ditujukan untuk sistem operasi buatan

UCSD sendiri, yang dikenal dengan UCSD p-System. UCSD p-System

merupakan salah satu sistem operasi yang bisa dipilih jika membeli IBM PC

pada saat itu, selain UCSD p-System, IBM juga menyediakan PC dengan

sistem operasi CP/M-86 dan PC DOS buatan Microsoft (cikal bakal

Windows).

Melihat perkembangan Pascal, Microsoft juga mengeluarkan

produk Microsoft Pascal. Namun karena harga yang relatif mahal, compiler

ini tidak terlalu populer, dan segera digantikan dengan Microsoft

QuickPascal untuk dapat bersaing dengan Turbo Pascal.

Saat itu, untuk menjalankan sebuah kode program (termasuk Pascal),

seorang programmer harus menulis kode program pada text editor, kemudian

menjalankannya (men-compile-nya) menggunakan program terpisah. Jika

membutuhkan library tambahan, maka perlu melakukan proses berikutnya,

78
yakni linker. Alur kerja pembuatan program ini dikenal dengan

istilah edit/compile/link cycle.

Philippe Kahn (seorang

enterpreneur yang baru saja mendirikan

sebuah perusahaan software Borland pada

tahun 1983) melihat peluang bisnis dalam

bahasa Pascal dan menggabungkan proses

edit, compile dan link dalam satu produk,

yakni Turbo Pascal. Borland, adalah perusahaan software yang saat itu

berbasis di Scotts Valley, California (sekarang pindah ke Austin, Texas).

Turbo Pascal merupakan compiler Pascal yang revolusioner: cepat

dan murah, terutama jika dibandingkan dengan UCSD Pascal dan Microsoft

Pascal. Sebagai gambaran, harga compiler pascal saat itu berkisar antara US

$400 – $600, namun Turbo Pascal dijual seharga $45. Selain itu, Turbo

Pascal mampu menjalankan kode program jauh lebih cepat dan

membutuhkan sedikit memory. Karena inilah Borland menggunakan kata

―turbo‖ untuk compiler pascal buatan mereka. Pada awal kemunculannya,

Turbo Pascal mendukung 3 sistem operasi, yakni CP/M, CP/M-86, andDOS.

79
Pascal Saat Ini

Saat ini Pascal masih menjadi bahasa pemrograman pengantar yang

banyak digunakan di sekolah/universitas terutama untuk mengajarkan

pemrograman bagi mahasiswa pemula. Pascal lebih disukai dibandingkan C

atau C++ karena menggunakan ‗kata-kata‘ seperti begin, end, read, dan write

dibandingkan dengan symbolic languages seperti C atau C++ yang

menggunakan simbol ―{‖ dan ―}―.

Proyek Open Source seperti Free Pascal (www.freepascal.org)

menyediakan compiler Pascal yang mendukung berbagai sistem operasi

modern, termasuk Linux, Windows 7 dan Windows 8. Proyek Lazarus

(www.lazarus-ide.org) mungkin bisa membawa bahasa Pascal kembali

populer untuk mengembangkan aplikasi. Lazarus sangat mirip dengan

Delphi maupun Visual Basic dan dapat digunakan dengan gratis. Jika kita

telah menguasai Pascal, tidak ada salahnya mencoba Lazarus.

3. Pembagian Tipe Data dan Operator dalam Bahasa Pascal

Fitur Bahasa PASCAL

Pascal memiliki beberapa fitur yang membuatnya cocok untuk belajar

pemrograman dan untuk membuat aplikasi komersil. Beberapa diantaranya

adalah:

80
 Tipe data bawaan: Pascal memiliki tipe data standar yang umum

terdapat dalam bahasa pemrograman komputer seperti Integer, Real,

Character, dan Boolean.

 Tipe data bentukan: Pascal membolehkan kita untuk membuat tipe

data bentukan yang didefinisikan sendiri.

 Memiliki beragam struktur data: Pascal menyediakan beberapa

struktur data seperti Array, Record, File dan Set.

 Aturan tipe data yang ketat: Pascal membatasi penggunaan tipe

data secara ketat. Kita hanya bisa menggunakan variabel untuk 1 tipe

data saja dan variabel tersebut harus dideklarasikan terlebih dahulu.

 Mendukung struktural programming: Bahasa Pascal dirancang

dengan konsep pemrograman terstruktur yang mendukung sub

program melalui fungsi dan prosedur

 Sederhana dan expresif: Pascal banyak menggunakan perintah-

perintah dalam bahasa inggris sederhana, sehingga mudah dipahami.

 Mendukung pemrograman objek: Walaupun tidak banyak dibahas,

tetapi Pascal juga mendukung pemrograman berbasis objek, terutama

pada compiler versi terakhir.

81
Pascal merupakan bahasa program yang deklaratif dan terstruktur. Deklaratif

berarti beberapa bagian harus dideklarasikan terlebih dahulu, seperti uses,

type, var, const, function dan procedure. Bagian deklarasi dimulai dari

setelah statement program dan sebelum statement begin. Main program

terdapat pada bagian setelah statement begin dan sebelum statement end.

Terstruktur berarti harus mengikuti kaidah penulisan kode. Sebagai bahasa

terstruktur, Pascal mempunyai ciri-ciri sebagai berikut :

1. Berurutan

Susunan dari kode-kode dalam teks Pascal harus ditulis secara urut dari atas,

pernyataan-pernyataan yang ditulis lebih awal akan dieksekusi lebih dulu.

Oleh karena itu, suatu pernyataan yang menyangkut suatu variable didalam

program, maka variable itu harus terdefinisi dahulu sebelumnya. Hal ini

terutama menyangkut pada pemanggilan subprogram oleh subprogram yang

lain.

2. Blok dengan batas-batas yang jelas.

Pascal memberikan pembatas yang jelas pada tiap-tiap blok, seperti pada

blok program utama, subprogram, struktur control (pengulangan /

pemilihan), dll. Pemakaian kata kunci begin untuk mengawali operasi pada

82
blok dan end untuk menutupnya memudahkan programer menyusun

programnya dengan mudah.

Seperti contoh :

if X > 0 then

begin write (‗Bilangan Positif‘);

writeln (‗Program selesai‘);

end;

Satu pintu masuk dan satu pintu keluar peda blok pemilihan dan penglangan.

Contoh diatas juga mengilustrasikan pintu masuk tunggal pada satu blok

pemilihan yaitu suatu test logika X > 0, dengan pintu keluaran yang satu pula

(satu disini maksudnya bukan dua baris perintah output tapi suatu paket

perintah yang dirangkai dengan begin…end.

Tipe Data

Pascal merupakan bahasa pemrograman yang sangat strict terhadap

pemakaian tipe data. Apabila tipe data yang digunakan tidak sama, maka

Pascal akan komplain dengan tipe data tersebut. Jenis tipe data yang

digunakan akan berpengaruh pada jangkauan dan jumlah memory yang akan

83
digunakan pada komputer. Berikut berbagai macam tipe data yang digunakan

pada Pascal.

Bagan 1. Tipe Data dalam Pascal

Struktur Bahasa Pascal Secara Umum

Pascal mempunyai struktur sebagai berikut :

1. Judul Program

2. Bagian Deklarasi

84
a) Deklarasi tipe data (TYPE)

b) Deklarasi Variable (VAR)

c) Deklarasi konstanta (CONST)

d) Deklarasi label (LABEL)

e) Deklarasi sub-program ( PROCEDURE dan FUNCTION)

3. Bagian Program Utama Perintah-perintah

Teks Pascal setidaknya memiliki bagia Judul Program, bagian Deklarasi, dan

bagian Program Utama yang berupa perintah-perintah. Sedangkan untuk

bagian deklarasi menyesuaikan dengan isi dari program itu sendiri.

Sebagai contoh:

Program TAMBAH_00; {menjumalahkan dua buah bilangan yang nilainya

diberikan dalam perintah}

Var X,Y,Z : integer; {deklarasi variable X,Y,dan Z sebagai bilangan bulat}

BEGIN {program utama dimulai}

X:= 50; {perintah untuk memberi nilai 50 pada var X}

Y:= 25; {perintah intuk memberi nilai 25 pada var Y}

85
Z:= X + Y; {perintah untuk menjumlahkan X dan Y serta menyimpan

hasilnya ke Z}

END. {akhir program utama}

Pada contoh ini nilai X dan Y tidak bisa sembarang, karena sudah

didefinisikan sebelumnya dalam program. Agar nilai X dan Y bisa bebas

ditentukan, nilai X dan Y dibaca dari default input.

Program TAMBAH_01; {menjumlahkan dua buah bilangan yang dibaca dari

default input}

Var X,Y,Z : integer; {deklarasi variable X,Y,dan Z sebagai bilangan bulat}

BEGIN {program utama dimulai}

Read(X); {membaca nilai X dari keyboard}

Read(Y); {membaca nilai Y dari keyboard}

Z:= X + Y; {perintah untuk menjumlahkan X dan Y serta menyimpan

hasilnya ke Z}

Write(Z); {menyajikan Z kelayar monitor}

END. {akhir program utama}

86
Aturan dalam Penulisan Program Pascal

Kode program Pascal atau sintak Pascal, memiliki aturan-aturan penulisan

yang harus ditaati. Kalau tidak, maka program akan error. Aturan-aturan ini

terbagi tujuah bagian, agar mudah dipahami.

1. Judul program

Judul program Pascal bersifat opsional. Porgram masih bisa berjalan,

meskipun belum diberikan judul. Namun, agar terlihat lebih bagus,

sebaiknya diberikan judul. Judul program ditulis pada bagian teratas.

Contoh:

program stok_pertanian;

Nama program ditulis seteah kata kunci program. Lalu, apabila terdiri dari

dia suku kata, maka dipisah dengan garis bawah (_) seperti contoh di atas.

2. Kepala program

Bagian kepala program berisi deklarasi untuk type, constant, uses, var, dan

termasuk juga judul program.

87
Type

Deklarasi type merupakan deklarasi untuk stuktur data tertentu,

seperti Array, Record, Pointer, dsb.

Contoh:

type

TMember = record

firstname, surname : string;

address: array [1..3] of string;

phone: string;

birthdate: TDateTime;

paidCurrentSubscription: boolean

end;

Penutup deklarasi type menggunakan end diikuti dengan titik-koma.

Pada contoh diatas kita sudah mendeklarasikan type bernama TMember yang

bertipe record.

88
Konstanta

Konstanta merupakan tetapan yang nilainya tidak bisa diubah.

contoh:

const

PI = 3.141592654;

PI adalah nama Konstantanya, kemudian 3.141592654 adalah nilainya.

Setiap pembuatan konstanta harus diakhiri dengan titik-koma.

Saran: nama konstanta sebaiknya pakai huruf kapital, karena untuk

menandakan itu sebuah konstanta.

Uses

Uses digunakan untuk mendeklarasikan libaray atau unit yang akan

digunakan dalam program.

Contoh:

uses crt;

Apabila terdapat lebih dari satu libarary, maka pisahkan dengan tanda koma.

uses crt, my_libaray;

89
Variabel

Deklarasi variabel artinya, kita mendaftarkan variabel apa saya yang akan

dibutuhkan dalam program.

Format pendeklarasian variabel:

var

nama_variabel: type data;

Contoh:

var

umur: integer;

r, d, c : real;

Deklarasi variabel dengan tipe data yang sama, dapat dibuat bersamaan

dengan dipisah tanda koma seperti contoh di atas.

Gunakan garis bawah (_) untuk memisahkan nama variabel yang lebih dari

satu suku kata.

90
3. Tubuh Program

Tubuh program merupakan bagian utama dari progam. Tubuh program

diawali dengan kata kunci BEGIN, kemudian diakhiri dengan END..

Contoh:

BEGIN

// kode program di sini

END.

Perhatikan penulisannya. Boleh menggunakan huruf kecil dan huruf besar,

Pascal tidak membedakannya.

Perhatikan juga penulisan END., di sana harus diakhiri dengan tanda titik (.).

Sebagai tanda kalau END ini adalah akhir dari tubuh program utama.

91
4. Penulisan Tipe Data

Berbeda tipe data, berbeda pula cara penulisannya.

1. String dan char: diapit dengan tanda petik satu, contoh: 'petani kode'.

2. Integer: tidak diapit dengan petik, contoh: 12

3. Real: tidak diapit dengan petik, ditambahkan titik sebagai ganti

koma. Contoh: 13.4

4. boolean: Tidak diapit tanda petik. contoh: true;

5. Intruksi

Intruksi disebut juga statement, merupakan fungsi yang akan menyuruh

komputer melakukan sesuatu. Intruksi dutulis dalam tubuh program.

Contoh:

BEGIN

writeln('Hello Pascal!');

writeln('Saya sedang belajar');

92
END.

Pada contoh di atas, kita membuat dua intruksi untuk menampikan pesan di

layar.

Setiap intruksi harus diakhiri dengan titik-koma (;).

6. Komentar

Komentar adalah bagian yang akan diabaikan oleh komputer. Komentar

digunakan untuk dokumentasi dan mencatat keterangan kode.

Ada tiga cara penulisan komentar pada pascal:

1. Kurung dan bintang: (* di sini komentar *)

2. Garis miring ganda: // di sini komentarnya

3. Kurung kurawal: { ini komentar }

Contoh:

{ begin digunakan untuk memulai tubuh program }

BEGIN

// ini adalah komentar

93
(* ini juga komentar *)

writeln('komentar ada di mana-mana');

END.

end digunakan untuk mengakhiri kode program, end untuk tubuh program

utama diakhiri dengan tanda titik.

7. Blok kode

Blok kode berisi kumpulan intruksi. Blok kode dimulai dengan begin dan

diakhiri dengan end. Blok kode untuk tubuh program (program utama)

diakhiri dengan tanda titik (.), sedangkan untuk blok kode yang lainnya

diakhiri dengan titik-koma (;).

Contoh:

BEGIN

// ini blok kode utama

writeln('intruksi di blok kode utama');

94
if x = y then

begin

// ini blok kode IF

// blok kode ini berada dalam blok kode utama

end;

for i:= 1 to 10 do

begin

// ini blok kode FOR

writeln(i);

end;

END.

Nah, itulah 7 aturan penulisan kode pascal yang wajib dipahami bila anda

ingin menguasai Pascal.

95
Operator

Bagian ini menjelaskan pemakaian operator dalam sebuah ekspresi

kode. Terdapat 2 kategori yaitu : operand dan operator. Operand adalah nilai

yang akan dioperasikan sedangkan operator adalah operasi yang dilakukan

pada operand. Berikut beberapa operator yang terdapat pada Pascal.

 Operator Assignment

Operator Penjelasan Contoh

:= Pemberian nilai (Assignment) a := ―belajar PASCAL‖

 Operator Aritmatika

Operator Penjelasan Contoh

+ Penambahan 2+3=5

– Pengurangan 5–2=3

* Perkalian 2*3=6

/ Pembagian (real/pecahan) 14 / 4 = 3.5

div Pembagian (integer/angka bulat) 14 div 4 = 3

mod Sisa hasil bagi 14 mod 4 = 2

96
 Operator String

Operator Penjelasan Contoh

+ Pengambungan (concatenate ) ―belajar‖ + ―PASCAL‖

 Operator Perbandingan / Relasional

Operator Penjelasan Contoh

= Sama dengan 5 = 5 -> True

<> Tidak sama dengan 5 <> 5 -> False

> Lebih besar 5 > 6 -> False

< Lebih kecil 5 < 6 -> True

>= Lebih besar atau sama dengan 5 >= 3 -> True

<= Lebih kecil atau sama dengan 5 <= 5 -> True

 Operator Logika / Boolean

Operator Penjelasan Contoh

and Logika AND TRUE and FALSE, hasilnya: FALSE

or Logika OR TRUE or FALSE, hasilnya: TRUE

xor Logika XOR TRUE xor FALSE, hasilnya: TRUE

not Logika Negasi not TRUE , hasilnya: FALSE

97
 Operator Bitwise

Operator Penjelasan Contoh

not Bitwise NOT not 1100, hasilnya: 0011

and Bitwise AND 1100 and 0101, hasilnya: 0100

or Bitwise OR 1100 and 0101, hasilnya: 1101

xor Bitwise exclusive OR 1100 xor 0101, hasilnya: 1001

shl Bitwise shift left 0100 shl 1, hasilnya: 1000

shr Bitwise shift right 0100 shr 1, hasilnya: 0010

<< Bitwise shift left 0100 << 1, hasilnya: 1000

>> Bitwise shift right 0100 >> 1, hasilnya: 0010

 Operator Set / Himpunan

Operator Action

+ Union

– Selisih (Difference)

* Irisan (Intersection)

>< Selisih simetri (Symmetric difference)

<= Beranggotakan (Contains)

include Menambahkan element baru

exclude Mengeluarkan element baru

98
in Cek apakah ada di dalam himpunan

 Operator Address (Pointer)

Operator Penjelasan Contoh

@ Menampilkan alamat memory sebuah variabel @nama_variabel

^ Menampilkan nilai variabel dari alamat memory nama_variabel^

99
100
Bab. 4 Mengistal Turbo Pascal

101
1. Turbo Pascal 7

Pada era ‗keemasan‘ bahasa pemrograman Pascal di tahun 1980-

an, Borland Turbo Pascalmerupakan aplikasi compiler pascal paling populer

saat itu. Jika mencari informasi mengenai Turbo Pascal, versi yang paling

sering digunakan saat ini adalah Turbo Pascal 7. Turbo Pascal 7 merupakan

compiler Pascal terakhir yang dirilis oleh Borland pada sistem operasi MS-

DOS. Setelah itu Borland beralih mengembangkan Delphi untuk sistem

operasi Windows. Walaupun Delphi juga merupakan compiler Pascal, tetapi

tidak terlalu cocok digunakan untuk belajar programming.

Sepanjang perjalannya, Borland merilis

10 versi Turbo Pascal, terdiri dari 8 versi untuk

sistem operasi DOS, dan 2 untuk sistem

operasi Windows 3.0. Berikut adalah daftar

mengenai versi dan tanggal perilisan Borland

Turbo Pascal:

 Turbo Pascal 1 – November 20, 1983 – versi pertama, 64kb limit,

CP/M-80, CP/M-86, DOS

 Turbo Pascal 2 – April 17, 1984 – 8087 support via optional compiler

102
 Turbo Pascal 3 – September 17, 1986 – overlays, 8087 compiler,

BCD compiler

 Turbo Pascal 4 – November 20, 1987 – separately compiled units

 Turbo Pascal 5 – August 24, 1988 – integrated debugging, dynamic

overlays

 Turbo Pascal 5.5 – May 2, 1989 – mendukung pemrograman object

 Turbo Pascal 6 – October 23, 1990 – Dirilis juga dengan nama Turbo

Vision

 Turbo Pascal for Windows 1.0 – February 13, 1991 – versi pertama

untuk 16-bit Windows 3.0, Object Windows Library, Whitewater

Resource Toolkit (WRT)

 Turbo Pascal for Windows 1.5 – June 8, 1992 – Windows 3.1,

Resource Workshop, versi terakhir untuk Windows.

 Turbo/Borland Pascal 7 – October 27, 1992 – DPMI 16/32 bit, versi

terkahir untuk MS DOS

103
Seperti yang terlihat dari daftar

diatas, Borland mengulang penomoran

Turbo Pascal dari versi DOS kepada versi

Windows. Turbo Pascal 7 dan Turbo Pascal

for Windows 1.5 dirilis pada saat yang

hampir bersamaan, sehingga keduanya

memiliki fitur yang sama. Namun karena

angka ―7‖ lebih tinggi dari angka ―1.5‖ banyak yang menganggap Turbo

Pascal 7 adalah versi paling terkahir.

Sebelum mulai menginstall Turbo Pascal 7, ada beberapa aspek yang

perlu dibahas terkait aplikasi ini. Walaupun Turbo Pascal 7 dapat anda

temukan dengan mudah di internet, namun sebenarnya aplikasi ini adalah

aplikasi berbayar (memiliki hak cipta). Borland memang men-gratiskan

beberapa versi Turbo Pascal (versi 1.0, 3.02, dan 5.5), namun tidak untuk

Turbo Pascal 7. Jika ingin menggunakan Turbo Pascal 7 secara ‗legal‘, kita

harus membeli aplikasi ini dari Borland.

Masalahnya, saat ini Borland sudah tidak

104
menjual Turbo Pascal 7, sehingga kita ‗terpaksa‘ menggunakan aplikasi non-

legal. Keterbatasan dukungan sistem operasi juga menjadi masalah lainnya.

Borland Turbo Pascal 7 dirilis pada tahun 1992 untuk sistem

operasi Microsoft DOS. Pada saat itu, komputer masih menggunakan

arsitektur 16 bit. Saat ini, kita umumnya menggunakan Sistem Operasi

Linux/Windows dengan arsitektur64-bit. Sehingga aplikasi ‗jadul‘ seperti

Turbo Pascal 7 tidak bisa dijalankan pada Windows vista, 7 atau Windows 8.

Untuk menjalankan Turbo Pascal 7 di dalam sistem operasi modern,

kita harus menggunakan emulator MS-DOS. Emulator adalah sebuah

program yang men-simulasikan sistem lain. Emulator MS-DOS akan

membuat sebuah sistem DOS di dalam Windows. Aplikasi emulator yang

akan kita gunakan adalah DOSBox.

2. Menjalankan Turbo Pascal 7 dengan DOSBox

Untuk menjalankan Turbo Pascal 7 dari dalam DOSBox, kita akan

mengetik beberapa perintah DOS. Perintah ini digunakan untuk mengakses

folder TP di dalam drive C. Jika anda meletakkan folder Turbo Pascal bukan

di C:\TP, silahkan lakukan beberapa pengesuaian. Silahkan jalankan

kembali DOSBox jika anda belum membukanya.

105
Perintah pertama yang kita gunakan adalah:

MOUNT X C:\TP

Silahkan ketik perintah di atas di dalam DOSBox, kemudian tekan ENTER.

DOSBox tidak mempermasalakna penggunaan huruf besar atau kecil (case

insensitive). Jika anda mengetiknya dengan benar, akan ditampilkan

konfirmasi:

Drive X is mounted as local directory C:\TP\

Perintah diatas digunakan untuk ‗menghubungkan‘ folder Turbo Pascal 7 di

lokasi C:\TP dengan drive ‗virtual’ X. Drive virtual ini hanya digunakan di

dalam DOSBox. Anda juga boleh menggunakan huruf lain, seperti C, D, Y

dannlan-lain

Berikutnya, ketikkan perintah berikut dan akhiri dengan tombol ENTER: X:

Perintah diatas digunakan agar DOXBox pindah dari drive default di Z ke

drive X yang baru saja kita buat. Anda dapat perhatikan bahwa setelah

mengetikkan perintah tersebut, terdapat karakter X:\> pada awal perintah

DOSBox.

106
Berikutnya, kita akan memeriksa apakah di dalam drive X ini memang folder

Turbo Pascal. Lakukan dengan perintah berikut, akhiri dengan

tombol ENTER:

DIR

Perintah DIR digunakan untuk menampilkan seluruh folder saat ini. Jika

mengikuti langkah-lahkan diatas dengan benar, akan terlihat daftar folder

yang merupakan isi dari folder C:\TP. Perintah ini sebenarnya tidak

diperlukan, hanya untuk memastikan saja. Untuk langkah terakhir tinggal

mengakses file TURBO.EXE yang terdapat di dalam folder BIN. Ketikkan

perintah berikut, dan akhiri dengan ENTER: BIN\TURBO.EXE

107
Menggunakan Mouse pada DOSBox Turbo Pascal

Saat Turbo Pascal mulai berjalan, hal pertama yang mungkin dilakukan

adalah melihat-lihat menu yang ada menggunakan mouse. Namun tanpa anda

sadari, cursor mouse kita ‗tertahan‘ di dalam DOSBox. Untuk melepaskan

cursor mouse, tekan tombol CTRL+F10. Kombinasi tombol ini harus anda

gunakan setiap kali ingin beralih dari DOSBox ke Windows. Untuk

membuat tombol mouse otomatis keluar-masuk dari Windows ke DOSBox

(dan sebaliknya) tanpa perlu menekan kombinasi CRTL+F10, bisa

melakukan sedikit perubahan file konfigurasi DOSBox. Caranya, buka menu

file pengaturan DOSBox dari Start Menu -> All Program -> DOSBox-0.74

-> Options -> DOSBox-0.74 Options.

Akan tampil aplikasi Notepad yang berisi seluruh pengaturan DOSBox. Pada

bagian atas file konfigurasi, cari baris teks berikut:

autolock=true

108
Dan ubah menjadi:

autolock=false

Save pengaturan dengan menekan CRTL+S, atau dari menu File-> Save.

Tutup Notepad, dan coba jalankan DOSBox kembali. Kali ini mouse akan

otomatis berpindah tanpa di ‗lock’ oleh DOSBox.

Autorun Turbo Pascal dari DOSBox

Perintah-perintah untuk menjalankan Turbo Pascal dari dalam DOSBox yang

kita lalukan diatas, harus dijalankan setiap kali membuka DOSBox. Hal ini

sangat merepotkan. Untungnya kita bisa mengubah sedikit pengaturan

DOSBox agar Turbo Pascal 7 langsung berjalan ketika membuka DOSBox.

Buka kembali menu file pengaturan DOSBox dari Start Menu -> All

Program -> DOSBox-0.74 -> Options -> DOSBox-0.74 Options.

Kali ini, scroll hingga bagian akhir, sampai anda menemukan baris berikut:

109
[autoexec]

# Lines in this section will be run at startup.

# You can put your MOUNT lines here.

Tambahkan beberapa baris perintah berikut dibawah teks tersebut:

mount x c:\tp

x:

bin\turbo.exe

exit

Sehingga tampilannya menjadi seperti dibawah ini:

Save pengaturan, dan restart DOSBox. Jika tidak ada masalah, Turbo Pascal

akan langsung berjalan ketika DOSBox dibuka.

110
Menampilkan DOSBox Turbo Pascal secara Full Screen

Kita bisa memperbesar tampilan dengan menekan

tombol ALT+ENTER saat berada di dalam DOSBox maupun Turbo Pascal.

Kombinasi tombol yang sama juga bisa digunakan untuk keluar dari

tampilan Full Screen. Apabila mengalami kendala mouse tidak bisa

digunakan dalam mode Full Screen, kita harus mengubah sedikit pengaturan

dari DOSBox. Buka file konfigurasi DOSBox dari Start Menu -> All

Program -> DOSBox-0.74 -> Options -> DOSBox-0.74 Options.

Pada bagian atas file konfigurasi, cari baris teks berikut:

output=surface

Dan ubah menjadi:

output=overlay

Save pengaturan, dan restart DOSBox.

Memperbesar Jendela DOSBox Turbo Pascal (non-Full Screen)

Apabila anda ingin tampilan DOSBox Turbo Pascal menjadi Full Screen

(dimana seluruh toolbar windows juga akan tertutup), anda bisa

memperbesar jendela DOSBox Turbo Pascal namun tidak dalam versi Full

Screen. Untuk melakukan hal ini, kita kembali menggunakan file pengaturan

111
DOSBox. Buka kembali file ini dari Start Menu -> All Program ->

DOSBox-0.74 -> Options -> DOSBox-0.74 Options.

Pada bagian atas file konfigurasi, kali ini ubah settingan:

windowresolution=original

menjadi

windowresolution=1024×768

Save pengaturan, dan restart DOSBox. Anda bisa mengubah nilai diatas

untuk menyesuaikan ukuran jendela.

Mengubah Setingan CRTL+F9 dari DOSBox

Secara default, DOSBox menggunakan kombinasi

tombol CRTL+F1 sampai dengan tombol CRTL+F12 sebagai shortcut

fungsi-fungsi DOSBox. Masalahnya, Turbo Pascal juga menggunakan

kombinasi tombol-tombol ini. Terutama tombol CRTL+F9 yang digunakan

untuk menjalankan program pascal (run). Walaupun anda bisa

menjalankannya dengan memilih menu run di dalam Turbo Pascal, shortcut

tombol ini sangat praktis.

112
Oleh DOSBox, kombinasi tombol CRTL+F9 digunakan untuk keluar dari

aplikasi (shutdown). Kita harus mengubah fungsi ini dengan cara sebagai

berikut:

1. Tekan tombol CRTL+F1 untuk masuk ke menu shortcut DOSBox.

2. Cari kotak dengan tulisan ―Shutdown‖, klik kotak ini. Kotak

Shutdown akan berwarna hijau.

3. Klik kotak ―Del‖ di bagian tengah bawah

4. Klik kotak ―Add‖, kemudian tekan tombol ―q‖ di keyboard.

5. Klik kotak ―mod1‖ di bagian kanan bawah

6. Akhiri dengan klik kotak ―Save‖

Langkah-langkah diatas digunakan untuk mengubah shortcut shutdown

DOSBox dari CRTL+F9menjadi CTRL+Q, sehingga kita bisa

menggunakan tombol CRTL+F9 untuk menjalankan (run) aplikasi pascal.

Anda juga bisa melakukan hal yang sama untuk mengubah kombinasi

tombol lain seperti CRTL+F1 yang digunakan untuk menu help di dalam

Turbo Pascal.

113
Mengatasi Error: Invalid file name or extension dalam Turbo Pascal

Walaupun tidak berpengaruh, dalam beberapa kasus anda akan mendapati

error “Error: Invalid file name or extension” ketika pertama kali

menjalankan Turbo Pascal. Error ini terjadi karena Turbo Pascal mencari file

awal untuk ditampilkan.

Error ini sebenarnya tidak terlalu masalah, karena anda bisa menekan tombol

OK, dan Turbo Pascal bisa kembali digunakan.

Untuk menghilangkan pesan error tersebut, jalankan langkah-lahkan berikut:

1. Setelah men-klik tombol OK dari pesan error, buat file pascal baru

dari menu File -> New.

2. Jika halaman kosong sudah tampil, berikutnya cari menu Options ->

Save BIN\TURBO.TP

114
Sekarang, pesan error tersebut tidak akan muncul lagi.

3. Aplikasi Turbo Pascal 7 for Windows 7/8/8.1/9

Apabila anda tidak mau direpotkan dengan menginstall DOSBox

secara manual, saat ini sudah tersedia aplikasi instant yang untuk

menjalankan Turbo Pascal. Aplikasi ―Turbo Pascal 7 for Windows

7/8/8.1/9” bisa anda download dari alamat

berikut: http://sourceforge.net/projects/turbopascal7/.

Pada dasarnya, aplikasi ini menggabungkan proses instalasi DOSBox, Turbo

Pascal dan seluruh setingannya dalam 1 kali proses instalasi. Walaupun

praktis, anda akan sedikit kesulitan jika ingin mencari file konfigurasi

DOSBox. Menggunakan Turbo Pascal 7 atau Free Pascal. Dalam tutorial

belajar pascal di duniailkom ini saya akan menggunakan Free Pascal.

Walaupun demikian, tampilan dan cara penggunaan kedua complier pascal

ini relatif sama.

115
Bab.5 Mikrokontroller

116
1. Struktur dasar Mikrokontroler

Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol atau

pengendali rangkaian elektronik dan umumnya dapat menyimpan program

didalamnya (Widodo, 2000). Penggunaan mikrokontroler lebih

menguntungkan dibandingkan penggunaan mikroprosesor. Hal ini

dikarenakan dengan mikrokontroler tidak perlu lagi penambahan memori dan

I/O eksternal selama memori dan I/O internal masih bisa mencukupi. Selain

itu proses produksinya secara masal, sehingga harganya menjadi lebih murah

dibandingkan mikroprosesor. Pada sebuah chip mikrokontroler umumnya

memiliki fitur-fitur sebagai berikut: 1. Central processing unit mulai dari

processor 4-bit yang sederhana hingga processor kinerja tinggi 64-bit. 2.

Input/output antarmuka jaringan seperti serial port (UART). 3. Antarmuka

komunikasi serial lain seperti IC, serial peripheral interface and controller

area network untuk sambungan sistem. 4. Periferal seperti timer dan

watchdog. 5. RAM untuk menyimpan data. 6. ROM, EPROM, EEPROM

atau flash memory untuk menyimpan program dikomputer. 7. Pembangkit

clock biasanya berupa resonator rangkaian RC. 8. Pengubah analog ke

digital. Secara teknis, hanya ada 2 macam mikrokontroller. Pembagian ini

didasarkan pada kompleksitas instruksi-instruksi yang dapat diterapkan pada

117
mikrokontroler tersebut. Pembagian itu yaitu RISC dan CISC. 1. RISC

merupakan kependekan dari Reduced Instruction Set Computer. Instruksi

yang dimiliki terbatas, tetapi memiliki fasilitas yang lebih banyak. 2.

Sebaliknya, CISC kependekan dari Complex Instruction Set Computer.

Instruksi bisa dikatakan lebih lengkap tapi dengan fasilitas secukupnya.

Kode program diatas cukup panjang, namun sekali lagi tidak perlu

memahaminya. Jadi ini hanya membahas kode-kode diatas dalam pascal

lebih mendalam . Kali ini hanya fokus kepada struktur program. Berikut

penjelasannya dari struktur diatas:

Masing-masing mempunyai keturunan atau keluarga sendiri-sendiri. jenis-

jenis mikrokonktroler yang telah umum digunakan: 1. Keluarga MCS51

Mikrokonktroler ini termasuk dalam keluarga mikrokonktroler CISC.

Sebagian besar instruksinya dieksekusi dalam 12 siklus clock.

Mikrokontroler ini berdasarkan arsitektur Harvard dan meskipun awalnya

dirancang untuk aplikasi mikrokontroler chip tunggal, sebuah mode

118
perluasan telah mengizinkan sebuah ROM luar 64KB dan RAM luar 64KB

diberikan alamat dengan cara jalur pemilihan chip yang terpisah untuk akses

program dan memori data. Salah satu kemampuan dari mikrokontroler 8051

adalah pemasukan sebuah mesin pemroses boolean yang mengijikan operasi

logika boolean tingkatan-bit dapat dilakukan secara langsung dan secara

efisien dalam register internal dan RAM. Karena itulah MCS51 digunakan

dalam rancangan awal PLC (programmable Logic Control). 2. PIC

(Programmable Interface Controller) Pada awalnya, PIC merupakan

kependekan dari Programmable Interface Controller. Tetapi pada

perkembangannya berubah menjadi Programmable Intelligent Computer.

PIC termasuk keluarga mikrokonktroler berarsitektur Harvard yang dibuat

oleh Microchip Technology. Awalnya dikembangkan oleh Divisi

Mikroelektronik General Instruments dengan nama PIC1640. Sekarang

Microhip telah mengumumkan pembuatan PIC-nya yang keenam. PIC cukup

popular digunakan oleh para developer dan para penghobi ngoprek karena

biayanya yang rendah, ketersediaan dan penggunaan yang luas, database

aplikasi yang besar, serta pemrograman (dan pemrograman ulang) melalui

hubungan serial pada komputer. 3. AVR (Alv and Vegard‘s Risc processor)

Mikrokonktroler Alv and Vegard‘s Risc processor atau sering disingkat

119
AVR merupakan mikrokonktroler RISC 8 bit. Karena RISC inilah sebagian

besar kode instruksinya dikemas dalam satu siklus clock. AVR adalah jenis

mikrokontroler yang paling sering dipakai dalam bidang elektronika dan

instrumentasi.

Secara umum, AVR dapat dikelompokkan dalam 4 kelas. Pada dasarnya

yang membedakan masing-masing kelas adalah memori, peripheral dan

fungsinya. Keempat kelas tersebut adalah keluarga ATTiny, keluarga

AT90Sxx, keluarga ATMega dan AT86RFxx.

120
2.Mikrokontroler

Mikrokontroler adalah suatu chip dengan kepadatan yang sangat tinggi,

dimana semua bagian yang diperlukan untuk suatu kontroler sudah dikemas

dalam satu keping, biasanya terdiri dari CPU (Central Proccesssing Unit),

RAM (Random Acess Memory), EEPROM/ EPROM/ PROM/ROM, I/O,

Timer dan lain sebagainya. Mikrokontroler AVR adalah mikrokontroler

RISC 8 bit berdasarkan aristektur Harvard, yang dibuat oleh Atmel pada

tahun 1996. AVR memiliki keunggulan dibandingkan dengan mikrokontroler

lain, keunggulan AVR yaitu AVR memiliki kecepatan eksekusi program

yang lebih cepat, karena sebagian besar instruksi dieksekusi dalam 1 siklus

clock, lebih cepat dibandingkan MCS51 yang membutuhkan 12 siklus clock

untuk mengeksekusi 1 instruksi. Mikrokontroler yang digunakan dalam tugas

akhir ini. Mikrokontroler AVR ATMEGA 16 memiliki fitur yang lengkap

(ADC internal, EEPROM internal, Timer/Counter, Watchdog Timer, PWM,

Port I/O, komunikasi serial, Komparator, I2C,dll). (Yohannes, Elektrikal

Enjiniring: Vol.09 Tahun 2011) Beberapa keistimewaan dari AVR

ATMEGA16 antara lain: 1. Mikrokontroler AVR 8 bit yang memilliki

kemampuan tinggi dengan konsumsi daya rendah 2. Arsitektur RISC dengan

throughput mencapai 16 MIPS pada frekuensi 16MHz 3. Memiliki kapasitas

121
Flash memori 16 Kbyte, EEPROM 512 Byte dan SRAM 1 Kbyte 4. Saluran

I/O sebanyak 32 buah, yaitu Port A, Port B, Port C dan Port D 5. CPU yang

terdiri dari 32 buah register 6. Unit interupsi dan eksternal 7. Port USART

untuk komunikasi serial 8. Fitur peripheral

a. Tiga buah Timer/Counter dengan kemampuan perbandingan (compare).

b. Dua buah Timer/Counter 8 bit dengan Prescaler terpisah dan Mode

Compare. c. Satu buah Timer/Counter 16 bit dengan Prescaler terpisah,

Mode Compare dan Mode Capture. d. Real Time Counter dengan Oscillator

tersendiri e. Empat kanal PWM f. 8 kanal ADC g. 8 Single-ended Channel

dengan keluaran hasil konversi 8 dan 10 resolusi (register ADCH dan

ADCL) h. 7 Diferrential Channel hanya pada kemasan Thin Quad Flat Pack

(TQFP) i. 2 Differential Channel dengan Programmable Gain j. Antarmuka

Serial Peripheral Interface (SPI) Bus k. Watchdog Timer dengan Oscillator

Internal l. On-chip Analog Comparator 9. Non-volatile program memory

2.2.1 Konfigurasi Pin ATmega16 Konfigurasi pena (pin) mikrokontroler

Atmega16 dengan kemasan 40-pin dapat dilihat pada Gambar 2.1. Dari

gambar tersebut dapat terlihat ATMega16 memiliki 8 pin untuk masing-

masing Gerbang A (Port A), Gerbang B (Port B), Gerbang C (Port C), dan

Gerbang D (Port D).

122
Seperti biasa, baris pertama sebuah kode pascal dimulai dengan

penulisan keyword program , kemudian diikuti dengan nama program.

Sebenarnya, tidak harus menulis kode ini. Penulisan nama program

sepenuhnya opsional (boleh ditulis, boleh tidak). Silahkan coba hapus

baris “program hitung_lingkaran;” dari kode diatas, hasilnya tetap bisa di-

compile dan dijalankan. Aturan penulisan nama program sama seperti aturan

penulisan identifier yang kita bahas pada aturan dan cara penulisan kode

program pascal.

123
Gambar 22. Struktur mikrokontroller atmega

Deskripsi Mikrokontroler ATmega16 1. VCC (Power Supply) dan

GND(Ground) 2. Port A (PA7..PA0) Port A berfungsi sebagai input analog

pada konverter A/D. Port A juga sebagai suatu Port I/O 8-bit dua arah, jika

A/D konverter tidak digunakan. Pin - pin Port dapat menyediakan resistor

internal pull-up (yang dipilih untuk masing-masing bit). Port A output buffer

mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan

124
kemampuan sumber. Ketika pin PA0 ke PA7 digunakan sebagai input dan

secara eksternal ditarik rendah, pin–pin akan memungkinkan arus sumber

jika resistor internal pull-up diaktifkan. Pin Port A adalah tri-stated manakala

suatu kondisi reset menjadi aktif, sekalipun waktu habis. 3. Port B

(PB7..PB0) Port B adalah suatu port I/O 8-bit dua arah dengan resistor

internal pull-up (yang dipilih untuk beberapa bit). Port B output buffer

mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan

kemampuan sumber. Sebagai input, pena Port B yang secara eksternal ditarik

rendah akan arus sumber jika resistor pull-up diaktifkan. Pena Port B adalah

tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.

4. Port C (PC7..PC0) Port C adalah suatu Port I/O 8-bit dua arah dengan

resistor internal pull-up (yang dipilih untuk beberapa bit). Port C output

buffer mempunyai karakteristik gerakan simetris dengan keduanya sink

tinggi dan kemampuan sumber. Sebagai input, pena Port C yang secara

eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan.

Pena Port C adalah tri-stated manakala suatu kondisi reset menjadi aktif,

sekalipun waktu habis. 5. Port D (PD7..PD0) Port D adalah suatu Port I/O 8-

bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa

bit). Port D output buffer mempunyai karakteristik gerakan simetris dengan

125
keduanya sink tinggi dan kemampuan sumber. Sebagai input, pena Port D

yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up

diaktifkan. Pena Port D adalah tri-stated manakala suatu kondisi reset

menjadi aktif, sekalipun waktu habis. 6. RESET (Reset input) 7. XTAL1

(Input Oscillator) 8. XTAL2 (Output Oscillator) 9. AVCC adalah pena

penyedia tegangan untuk Port A dan Konverter A/D. 10. AREF adalah pena

referensi analog untuk konverter A/D.

3. Analog To Digital Converter)

Uses adalah cara bahasa pemrograman pascal untuk memasukkan

kode-kode external yang dikenal dengan unit (atau library dalam bahasa

pemrograman lain). Sebagai contoh, perintah clrscr yang saya gunakan pada

program utama merupakan perintah yang ada pada unit crt. Terdapat

berbagai unit yang bisa kita gunakan, seperti math, sysutils,

printer, dan strutils.

Ketersediaan unit ini berbeda-beda untuk masing-masing aplikasi. Compiler

Free Pascal memiliki unit yang lebih banyak dari pada Turbo Pascal karena

masih aktif dikembangkan hingga sekarang.

AVR ATMega16 merupakan tipe AVR yang telah dilengkapi dengan 8

saluran ADC internal dengan resolusi 10 bit. Dalam mode operasinya, ADC

126
dapat dikonfigurasi, baik single ended input maupun differential input.

Selain itu, ADC ATMega16 memiliki konfigurasi pewaktuan, tegangan

referensi, mode operasi, dan kemampuan filter derau (noise) yang amat

fleksibel sehingga dapat dengan mudah disesuaikan dengan kebutuhan dari

ADC itu sendiri. ADC pada ATMega16 memiliki fitur-fitur antara lain : 1.

Resolusi mencapai 10-bit 2. Akurasi mencapai ± 2 LSB 3. Waktu konversi

13-260μs 4. 8 saluran ADC dapat digunakan secara bergantian 5. Jangkauan

tegangan input ADC bernilai dari 0 hingga VCC 6. Disediakan 2,56V

tegangan referensi internal ADC 7. Mode konversi kontinyu atau mode

konversi tunggal 8. Interupsi ADC complete 9. Sleep Mode Noise canceler

2. Deklarasi

2.1. Deklarasi Type

Pada bagian deklarasi Type, kita bisa membuat tipe data bentukan.

Sebagai contoh, dalam kode diatas saya membuat tipe data warna, dimana

tipe data ini hanya bisa diisi dengan nilai merah, kuning, atau biru.

2.2. Deklarasi Konstanta (constant)

Konstanta atau constant adalah sebuah ‗penampung‘ yang nilainya

bersifat tetap. Dalam contoh diatas, saya membuat konstanta PI dengan

127
nilai 3.14. Dalam penulisan angka, tanda ‗koma‘ digunakan sebagai pemisah

ribuan, sedangkan tanda ‗titik‘ digunakan untuk pemisah desimal. Ini berlaku

dalam hampir semua bahasa pemrograman komputer lainnya, seperti C,

C++, PHP, dan Java

2.3. Deklarasi Variabel (variable)

Variabel atau variable adalah ‗penampung‘ yang nilainya bisa

berubah sepanjang alur program. Kita akan sering menggunakan variabel

dalam pembuatan kode program. Pada contoh diatas saya membuat

variabel jari2 yang diset bertipe data integer. Nilai jari2 juga langsung diisi

dengan angka 7.

2.4. Deklarasi Fungsi (function)

Sebuah fungsi atau function dikenal juga sebagai subprogram, karena

kita bisa memecah alur program yang panjang menjadi fungsi-fungsi yang

saling terpisah. Berbeda dengan prosedur, fungsi akan mengembalikan nilai.

Dalam contoh diatas saya membuat function luas_lingkaran yang digunakan

untuk menghitung luas lingkaran. Fungsi ini akan mengembalikan nilai akhir

bertipe real.

Deklarasi Prosedur (procedure) Pada dasarnya, prosedur atau

procedure adalah fungsi yang tidak mengembalikan nilai. Prosedur adalah

128
sesuatu yang unik di dalam pascal. Bahasa pemrograman lain umumnya

tidak mengenal prosedur. Dalam kode diatas saya

membuat procedure kel_lingkaran untuk menghitung keliling lingkaran.

Karena prosedur tidak mengembalikan nilai, maka saya langsung

menampilkan hasilnya dengan writeln.

2.5. Main Program

Main program adalah tempat dimana kode program utama ditulis.

Disinilah dilakukan pemanggilan fungsi atau prosedur (jika ada), serta

pembuatan proses alur kerja program. Main program diawali dengan

keyword begin dan diakhiri dengan end. Pada contoh kode sebelumnya ,

dimulai main program dengan perintah clrscr. Perintah ini berasal dari

unit crt. Clrscr merupakan singkatan dari clear screen, digunakan untuk

menghapus output dari kode program sebelumnya (membersihkan layar).

Agar bisa mengetahui fungsi clrscr, silahkan hapus kode ini dan jalankan

program beberapa kali dari dalam aplikasi Free Pascal atau Turbo Pascal.

Akan lihat bahwa output program akan ‗bertumpuk‘ setiap kali kita

menjalankan kode program.

129
Perintah clrscr akan menghapus kode-kode diatasnya, sehingga tampilan

output akan ‗bersih‘.

130
Bab. 6 Programmable Logical Controlling

131
1. Struktur PLC

Programmable Logic Control merupakan suatu bentuk khusus

pengontrol berbasis microprocessor yang memanfaatkan memori yang dapat

diprogram untuk menyimpan instruksi – instruksi dan untuk

mengimplementasikan fungsi – fungsi semisal logika, sequencing,

pewaktuan (timing), pencacahan (counting) dan aritmatika guna mengontrol

mesin-mesin dan proses-proses serta dirancang untuk dioperasikan oleh para

insinyur yang hanya memiliki sedikit pengetahuan mengenai komputer dan

bahasa pemrograman (Bolton, 2004 : 3). Sebagian besar industri telah

menerapkan sistem otomatis dalam proses produksi. Pada umumnya sistem

otomatis yang diterapkan terdiri atas dua metode yaitu otomatisasi berbasis

kontrol relay dan otomatisasi berbasis Programmable Logic Control (PLC).

Otomatisasi berbasis relay banyak digunakan pada mesinmesin yang

memiliki urutan-urutan (sekuens) yang sederhana, sedangkan otomatisasi

PLC dapat memiliki sekuens yang lebih kompleks dari relay. Otomatisasi

berbasis PLC dapat diintegrasikan dengan sistem monitoring. Sistem

monitoring berbasis PLC adalah suatu sistem yang berguna untuk

mengontrol proses suatu kerja tertentu., dimana parameter atau inputan data

132
diambil dan diolah oleh Personal Computer (PC) dan melalui sebuah

program tertentu

Percabangan adalah cara yang digunakan dalam program untuk mengambil

keputusan ke salah satu kemungkinan True atau False dari beberapa kondisi.

Jadi program percabangan akan menjalankan instruksi sesuai dengan

kondisi tertentu. Kondisi adalah persyaratan yang dapat bernilai benar atau

salah. Instruksi hanya dilaksanakan apabila kondisi bernilai benar. Didalam

suatu program seringkali terdapat instruksi yang hanya bisa dikerjakan jika ia

memenuhi suatu persyaratan tertentu. Oleh karena itu komputer tidak lagi

mengerjakan instruksi secara sekuensial melainkan berdasarkan syarat

tertentu yang dipenuhi. Struktur pemilihan memungkinkan kita melakukan

aksi jika suatu syarat dipenuhi. Didalam makalah ini struktur pemilihan yang

akan dibahas adalah IF-THEN, IF-THEN ELSE dan CASE-OF, sebagai

berikut :

2. Pemilihan Dengan Struktur IF-THEN

Notasi algoritmik untuk satu kasus adalah dengan menggunakan

konstruksi IF-THEN (jika-maka) dalam bentuk pernyataan :

if kondisi then

133
aksi

endif

Pernyataan diatas berarti bahwa aksi hanya dilaksanakan bila konsisi bernilai

benar (true). Bila kondisi bernilai salah (false), tidak ada aksi apapun yang

dikerjakan. Kata endif sengaja kita tambahkan untuk mempertegas awal dan

akhir struktur IF-THEN. Aksi yang dikerjakan bisa satu, dua, atau lebih.

Bagan alir pada gambarmembantu memperlihatkan visualisasi pemilihan

dengan hanya satu kasus ini.

kondis salah
i
benar

aksi

end

134
Bagan alir yang memperlihatkan pemilihan dengan hanya dengan satu kasus

Contoh : Berikut kita akan membuat program mencetak bilangan ganjil

menggunakan statement if dengan bahasa Assembling

Setelah dijalankan maka hasil programnya akan terlihat seperti dibawah.

135
3. Pemilihan Dengan Struktur IF-THEN-ELSE

Konstruksi IF-THEN hanya menyediakan satu alternative aksi jika

suatu persyaratan (kondisi) dipenuhi. Kadang-kadang kita perlu memilih

melakukan aksi alternative jika suatu kondisi tidak memenuhi. Jadi, ada dua

kasus, tetapi hanya salah satu dari keduanya yang harus dipilih satu untuk

dikerjakan. Notasi algoritmik untuk masalah dengan dua buah kasus adalah

dengan menggunakan konstruksi IF-THEN-ELSE( jika-maka-kalau tidak) :

if kondisi then

else

endif

Pernyataan diatas berarti bahwa dikerjakan jika kondisi bernilai benar,

sebaliknya jika kondisi bernilai salah, maka yang akan dilaksanakan.

136
Perhatikanlah bahwa else menyatakan ingkaran (negation) dari kondisi.

Bagan alir pada gambar dibawah membantu memperlihatkan visualisasi

pemilihan dengan dua kasus-kasus.

kondis
Benar Salah
i

𝑎𝑘𝑠𝑖 𝑎𝑘𝑠𝑖

end

Bagan alir yang memperlihatkan pemilihan dengan dua kasus.

Contoh :

Berikut kita akan membuat program Password menggunakan statement if

then else sebagai berikut.

137
Jika password yang dimasukan ―udin‖ maka akan menghasilka output

sebagai berikut

138
Jika password yang dimasukan bukan ―udin‖ maka hasilnya akan tampak

seperti berikut.

4. Pemilihan Dengan Tiga Kasus Atau Lebih

Masalah yang mempunyai tiga buah kasus atau lebih dapat dianalisis dengan

konstruksi IF-THEN-ELSE bertingkat-tingkat. Gambar dibawah

memperlihatkan bagan alir untuk masalah dengan 3 kasus.

Tiga kasus :

if kondisi : then

aksi :

139
else

if kondisi : then

aksi :

else

if kondisi : then

aksi :

endif

endif

endif

140
𝑘𝑜𝑛𝑑𝑖𝑠𝑖
benar salah

𝑎𝑘𝑠𝑖 benar salah


𝑘𝑜𝑛𝑑𝑖𝑠𝑖

𝑎𝑘𝑠𝑖 𝑎𝑘𝑠𝑖3

end

end

Bagan flowchart yang memperlihatkan pemilihan dengan tiga kasus. Berikut

adalah contoh programnya mencetak tulisan Bilangan Positif atau Bilangan

Negatif atau Nol:

141
Bila kita menginputkan data angka 8 maka hasil programnya akan tampak

seperti dibawah.

142
Sedangkan apabila kita menginputkan angka -23 maka hasilnya akan seperti

dibawah.

5. Pemilihan Dengan Struktur Case

Untuk masalah dengan dua kasus atau lebih, kontruksi CASE dapat

menyederhanakan penulisan IF-THEN-ELSE yang bertingkat-tingkat

sebagaimana telah kita bahas diatas. Berikut disajikan struktur CASE :

case ekspresi

143
3 : 3

Otherwise :

endcase

Contoh :

Kita akan membuat program mencari mata kuliah dengan memasukan kode

kelasnya, adalah sebagai berikut :

144
Apabila kita menginputkan kode kelas 114 pada piranti masukannya maka

hasilnya akan tampak seperti berikut.

145
Sedangkan apabila kita menginputkan kode kelas 210 pada piranti

masukannya maka hasilnya akan tampak seperti berikut.

146
Bab. 7 Procedure dan Function

147
1. Pengertian Prosedur

Prosedur adalah program terpisah atau subprogram yang dibuat

dengan tujuan untuk menyederhanakan program. Prosedur ditulis dalam satu

blok program yang cukup ditulis satu kali tetapi dapat dipanggil berulang

kali. Didalam prosedur ada yang disebut Parameter yaitu nama-nama

peubah yang dideklarasikan pada bagian header prosedur. Parameter terbagi

dua menjadi Parameter Aktual adalah parameter yang disertakan pada

waktu pemanggilan prosedur, sedangkan Parameter Formal adalah

parameter yang dideklarasikan didalam bagian header prosedur itu sendiri.

Setiap Prosedur program Pascal harus mengikuti struktur dasarnya. Berikut

adalah sruktur dasar prosedur yang harus diikuit .

PROGRAM NamaProgram;

VAR

NamaVariable : TipeVariable

NamaVariable : TipeVariable

PROCEDURE NamaProsedur;

148
Variable jika dibutuhkan

BEGIN

Code-code program;

END;

…tambah prosedur jika dibutuhkan…

BEGIN

Blok program utama. Ini harus kecil dan semua pekerjaan harus diserahkan

kepada prosedur. Disini sering berisi pengulangan dan pemanggilan prosedur

yang bersesuain.

END.

Berikut contoh program menghitung luas segitiga dengan prosedur tanpa

parameter.

149
Apabila kita masukan nilai 3 pada inputan banyaknya segitiga maka hasilnya

akan tampak seperti ini.

150
Didalam prosedur terdapat 3 parameter yaitu :

1.1. Prosedur dengan Parameter Masukan

Yaitu parameter yang nilainya berlaku sebagai masukan untuk prosedur.

Pada parameter masukan, nilai parameter actual diisikan kedalam badan

prosedur yang besangkutan. Berikut disajikan contoh program menghitung

luas lingkaran dengan prosedur parameter masukan.

151
Dan bila kita mengisikan nilai 3 pada ―Banyaknya Lingkaran‖ dan

mengisikan sembarang nilai pada jari-jarinya, maka hasilnya akan tampak

sebagai berikut.

152
1.2. Prosedur dengan Perameter Keluaran

Yaitu parameter yang menampung keluaran yang dihasilkan oleh prosedur.

Prosedur mungkin menghasilkan satu atau lebih keluaran yang akan

digunakan oleh program pemanggil. Jika seperti ini kasusnya, maka nilai

keluaran tersebut ditampung dalam parameter keluaran. Ketika prosedur

yang mengandung parameter keluaran dipanggil, maka parameter actual

menggantikan nama parameter formal yang bersesuaian didalam prosedur.

Berikut diberikan contoh program menghitung luas lingkaran dengan

menggunakan prosedur parameter keluaran.

153
Dan hasil programnya akan seperti dibawah ini.

154
1.3. Prosedur dengan Parameter Masukan / Keluaran

Adalah parameter yang berfungsi sebagai masukan sekaligus keluaran bagi

prosedur tersebut. Berikut disajikan contoh program rata-rata nilai ujian

dengan parameter masukan / keluaran.

Dengan mengisikan banyaknya mata pelajaran dan nilai tiap mata kuliah

tersebut, maka hasil programnya seperti tampak dibawah ini.

155
156
Bab 8. LARIK / ARRAY

157
1. Pengertian Larik/ Array

Larik / Array adalah tipe data terstruktur yang terdiri dari sejumlah

komponen-komponen yang bertipe sama (homogen). Komponen-komponen

tersebut disebut sebagai komponen tipe, larik mempunyai komponen yang

jumlahnya tetap. Banyaknya komponen dalam larik ditunjukan oleh suatu

indeks, dimana tiap komponen di larik dapat diakses dengan menunjukan

nilai indeksnya atau subscript. Larik dapat bertipe data sederhana seperti

byte, word, integer, real, boolean, char, string dan tipe data scalar atau

subrange. Tipe larik mengartikan isi dari larik atau komponen-komponennya

mempunyai nilai dengan tipe data tersebut.

Sebagai contoh kita akan membuat program nilai mata kuliah dengan

membaca tiap nilainya yang diinputkan pada keyboard, mencetaknya dan

menghitung rata-rata nilainya. Berikut kode programnya :

158
Dan jika kita memasukan nilai tujuh pada banyaknya mata kuliah serta

menginputkan masing-masing nilainya. Hasil programnya seperti berikut :

159
2. Pencarian / Searching

Pencarian / Searching adalah menemukan nilai atau data tertentu

didalam sekumpulan data yang bertipe sama baik tipe dasar maupun bertipe

bentukan. Untuk mengubah atau meng-update data tertentu langkah pertama

yang harus dilakukan adalah mencari keberadaan data tersebut didalam

kumpulanya.

160
Spesifikasi masalah pencarian

Bila kita akan mencari nilai x didalam larik L, maka hasil / keluaran dari

pencarian dapat bermacam-macam:

1. Pencariannya hanya untuk memeriksa keberadaan x.

Write (‗ditemukan‘) atau

Write (‗tidak ditemukan‘)

5 7 9 1 10 51 3 2

2. Hasil pencarian adalah indeks elemen larik.

1 2 3 4 5 6 7

Jika x = 10 maka indeks = 5, jika x = 4 maka indeks = -1

3. Hasil pencarian Boolean yang menyatakan status hasil pencarian.

Jika x = 10 maka ketemu = true,

Jika x = 4 maka ketemu = false

161
Ada dua macam pencarian :

1. Algoritma pencarian beruntun ( sequential search )

2. Algiritma pencarian bagi dua ( binary search )

A. Algoritma Pencarian Beruntun / Squential Search

Cara kerjanya adalah membandingkan setiap elemen larik satu persatu secara

beruntun mulai dari elemen pertama sampai elemen ditemukan atau seluruh

elemen sudah diperiksa.

Berikut ini contoh program prosedur pencarian dengan hasil Boolean,

bernilai true jika ditemukan dan false jika tidak ditemukan.

162
Bila kita memasukan jumlah elemen larik dengan 8 dan memasukan nilai

tiap indeksnya serta memasukan nilai 19 pada nilai yang akan dicari maka

hasil programnya adalah sebagai berikut;

163
B. Algoritma Pencarian Bagi Dua

Algoritma yang paling Efisien adalah algoritma bagi dua atau pencarian

biner atau binary search. Algoritma ini digunakan untuk kebutuhan pencarian

dengan waktu yang cepat.

5 7 9 1 10 51 3 2
Kanan

Kiri

164
L

1 2 3 4 5 6 7

Berikut diberikan contoh kode program prosedur pencarian bagi dua.

165
Dan apabila kita memasukan 7 pada jumlah data juga memasukan nilai

ditiap-tiap indeksnya serta memasukan angka 22 pada angka yang akan

dicari, maka hasil programnya akan tampak sebagai berikut.

166
III.5. REKURSIF

Menurut Niklaus Wirth definisi rekursif yaitu ― An object is said be recursive

if it partially consist of is defines in terms of itself “.

Rekursif disusun oleh dua bagian :

167
1. Basis

Berisi kasus yang terdefinisi eksplsit, bagian ini yang menghentikan rekursif.

2. Rekurens

Mendefinisikan objek dalam terminology dirinya sendiri.

Contoh algoritma fungsi rekursif

Subprogram bisa memanggil dirinya sendiri (Recursive Call) dengan catatan

bahwa memilki syarat penghentian operasi (iterasi), sehingga perlu

dilakukan kehati-hatian dalam penulisannya.

Berikut contoh code program tentang factorial atau mencari factor terhadap

suatu bilangan :

168
Apabila kita mengisikan nilai 5 untuk mencari pemfaktorannya maka hasil

programnya sebagi berikut ;

169
Rekursif dengan list berkait

Link berkait/linked list adalah sekumpulan elemen (boleh kosong) yang

setiap elemennya terdiri dari dua bagian :

1. Bagian data (info)

2. Bagian alamat (next)

Kapan tidak menggunakan rekursif

Ada dua alas an kita harus mengubah algoritma rekursif menjadi algoritma

iterative. Diantaranya adalah :

1. Bahasa pemrograman tidak mendukung. FOTRAN tidak

mendukung.

2. Dapat terjadi rekursif tidak mangkus, memiliki kerumitan yang tidak

perlu atau terlalu lambat.

170
Contoh Menara Hanoi

Berikut diberikan contoh program dengan memakai cara Menara Hanoi yaitu

memindahkan sejumlah disk/piringan dari menara A ke B dengan

menggunakan bantuan menara C.

Dan apabila kita mengisikan 3 buah jumlah piringan /disk maka hasil

program penyelesaiannya seperti dibawah:

171
172
BAB 9. SENSOR INTERFACE

173
1. Sensor Interface

Pengertian Sensor Sensor adalah peralatan yang digunakan untuk mengubah

suatu besarab fisik menjadi besaran listrik sehingga dapat dianalisa dengan

rangkaian listrik tertentu. Hampir seluruh peralatan elektronik yang ada

mempunyai sensor didalanya. Pada saat ini, sensor tersebut telah dibuat

dengan ukuran sangat kecil. Ukuran yang sangat kecil sangat memudahkan

pemakaian dan menghemat energi. Sensor merupakan bagian dari transducer

yang berfungsi unutk melakukan sensing atau ― merasakan dan menangkap ―

adanya perubahan energi eksternal yang akn masuk ke bagian input dari

transducer, sehingga perubahan kapasitas energi yang ditangkap segera

dikirim kepada bagian konverter dari transducer untuk diubah menjadi energi

listrik. Dalam lingkungan sistem pengendali dan robotika, sensor

memberikan kesamaan yanag menyerupai mata, pendengaran, hidung, lidah

yang kemudian akan diolah oleh kontroler sebagai otaknya. (Petruzella,

2001)

174
Gambar 25. Sensor proximity

Sensor proximity merupakan sensor atau saklar yang dapat mendeteksi

adanya target jenis logam dengan tanpa adanya kontak fisik.

Biasanya sensor ini tediri dari alat elektronis solid-state yang

terbungkus rapat untuk melindungi dari pengaruh getaran, cairan, kimiawi,

dan korosif yang berlebihan. Sensor proximity dapat diaplikasikan pada

kondisi penginderaan pada objek yang dianggap terlalu kecil atau lunak

untuk menggerakkan suatu mekanis saklar. Proximity hanya mendeteksi

"keberadaan" dan tidak memberi "kuantitas" dari obyek. Maksudnya, jika

mendeteksi logam maka keluaran dari detektor hanya "ada" atau "tidak ada"

logam. Proximity tidak memberikan informasi tentang kuantitas logam

seperti jenis logam, ketebalan, jarak, suhu dan lain - lain. Jadi hanya "ada

atau tidak ada" logam. Juga sama untuk non logam. Proximity untuk logam

175
biasanya dengan "inductive proximity" sedang untuk non logam dengan

"capacitive proximity" Didepan disebutkan "perangkat" karena sensor

proximity sudah merupakan sirkuit yang terdiri dari beberapa komponen

untuk dirangkai menjadi sebuah sistem yang bekerja sebagai proximity

sensor. (Priyo Jatmiko, hal 39 ,2015)

Adapun jenis sensor secara garis besar bisa dibagi menjadi 2 jenis

yaitu : 1. Sensor Fisika Sensor fisika adalah sensor yang mendeteksi suatu

besaran berdasarkan hokum-hukum fisika. Yang termasuk kedalam jenis

sensor fisika yaitu: - Sensor cahaya - Sensor suara - Sensor suhu - Sensor

gaya - Sensor percepatan 2. Sensor Kimia Sensor kimia adalah sensor yang

mendeteksi jumlah suatu zat kimia dengan cara mengubah besaran kimi

menjadi besaran listrik. Biasanya ini melibatkan beberapa reaksi kimia. Yang

termasuk kedalam jenis sensor kimia yaitu : - Sensor PH - Sensor asap / Gas

- Sensor oksigen - Sensor Ledakan..

176
Glossary
A

Ada

Computer language derived from Pascal and Modula, and named after

Charles Babbage's lady friend. Babbage (1791–1871), an Englishman, was

one of the earliest exponents of computer design and published a design for a

"difference engine" (which he never actually built). Ada King, Countess of

Lovelace and daughter of the poet Lord Byron, was a student/colleague of

Babbage and wrote a program to drive the difference engine; she can be

regarded as the first computer programmer. (There was no romantic

involvement with Babbage.)

Ada is a high-level procedural language, with very similar structure and

syntax to Pascal, but with several extensions. At one time in the 1980s, the

U.S. Department of Defense decreed that all programming by its contractors

must be done using Ada, but unfortunately there was a dearth of suitable

compilers and software development tools, and the language never achieved

177
popularity. Very few applications for the U.S. military were actually written

in Ada.

Assembler, Assembly Language

An assembler converts human-readable symbols (that represent machine

instructions) into the actual binary instructions that the computer executes.

For example an assembler would translate

LD a,b # move the contents of location a into location b

into a binary sequence such as 01110010 which the machine can execute.

Assembly language is the list of codified instructions that a programmer

writes, which the assembler translates into machine code.

An assembler differs from a Compiler by being processor-specific (i.e.,

different assemblers for i386, MC68000, ARM processors, etc.) and by being

much more low-level: it deals with very specific instructions to move data

and perform detailed arithmetic. Many compilers (including Free Pascal)

allow the programmer to embed Assembler sections within the high-level

source code; such sections are, of course, only useful using the processor for

which they are intended, whereas a Compiler can write programs which will

work on a variety of different processors.

178
API

Application Program Interface: a set of tools such as procedural/functional

calls to allow programmers to use a software package.

An example is the API for the MySQL database system; its authors have

published a set of definitions for procedure/function calls, with detailed

specifications for each of the parameters or arguments for each function. The

original MySQL API was defined for C programming, but the Free Pascal

developers have written a set of corresponding procedure/function call

definitions which allow Free Pascal or Lazarus programmers to use the

library of MySQL function calls.

A very important part of any API is its documentation, and any conversion of

an API library to a different programming environment (e.g., from C to Free

Pascal) requires a really excellent set of descriptive documents.

BASIC

179
BASIC is an acronym that stands for Beginner's All-

purpose Symbolic Instruction Code.

A computer language once popular as a training tool, or as an experimental

tool for programming, it was developed in 1963–1964 at Dartmouth College

in Hanover, New Hampshire, U.S.A. by professors John G. Kemeny and

Thomas E. Kurtz. The original version of BASIC was a compiled language

and quite efficient on the slow computers of the early 1960s; however, a

majority of people were first introduced to pared-down interpreted versions,

particularly those that ran on early microcomputers, and they did not support

many of the language features of Dartmouth BASIC. Whether the version in

use was compiled or interpreted, it was easy and quick to make changes in

one's program and see the effects. The programmer gave a line number for

each statement, and the sequence of execution was determined by the order

of line numbers. Extra lines could be inserted by giving them intermediate

line numbers, e.g., line 15 could be inserted between lines 10 and 20. The

original language required the use of line numbers for every line of code.

Execution could be transferred by using GOTO <line number>, and it was

possible to develop very undisciplined habits by the uncontrolled use of

GOTOs; the result was sometimes called "spaghetti code". In many ways

180
early BASIC was the exact antithesis of Pascal with its strong emphasis on

structured programming. However, even as inferior BASIC interpreters

proliferated on personal computers, BASIC kept evolving at Dartmouth

College and elsewhere, and eventually the need for line numbers and GOTO

statements was dropped, allowing it to be used for structured programming.

One modern commercial variant, for example, is True BASIC, which

conforms to ANSI Standard BASIC. It allows programs to be compiled and

bound to a runtime module so that they can be run independently of the

development environment and compiler.

BASIC has latterly fallen out of favour, partly because of the introduction of

languages like Pascal and C, and partly because of the huge improvement in

speed of computers and performance of compilers so that proper compiled

programs could rapidly be written, executed and debugged. There have been

some attempts to improve upon BASIC, such as Microsoft's Visual Basic —

which supports some rudimentary structures and doesn't use line numbers, so

there is less emphasis on GOTOs — but these latter variants are almost

unrecognisable as BASIC, and owe much to C and to several Command

Line or scripting languages. In fact, some Visual Basic programs may look

very similar to Free Pascal or Lazarus programs.

181
For more information on the origins and evolution of BASIC, see Back to

BASIC, by John G. Kemeny and Thomas E. Kurtz (Addison-Wesley

Publishing Co., 1985 ISBN 0-201-13433-0).

Boolean

Logical data type in Pascal and other languages that can take one of two

values, True or False.

Named after George Boole, a pioneer of logical (Boolean) Algebra.

See Boolean_Expressions for a full description.

Bug

An error in a program which might cause catastrophic machine failure,

failure of the program or simply incorrect performance or output. Derived

from the days when computers were constructed with thermionic vacuum

tubes: insects (bugs) crawling around the interior of the apparatus could

cause short-circuits between terminals producing hardware failure or

unpredictable performance.

182
Most software development teams encourage potential users to report bugs

(which are then corrected in subsequent versions) and have a clearly-defined

bug-reporting mechanism (for example Lazarus BugTracker).

C programming language

A widely used computer programming language, particularly useful for

system programming. Forms the basis for most of the Linux operating

system, and as far as we can determine, for the Windows system. Its chief

disadvantage is that it is insufficiently rigorous, and allows poor

programming practices to creep in. It is also vulnerable to problems such as

memory leaks and buffer overflows. By contrast, Pascal imposes a much

more rigorous discipline on the programmer and encourages good

programming habits and practices.

See also Pascal for C users

C++

A variant of C which includes Object-Oriented Programming constructs.

C#

183
Pronounced "C-sharp", a language heavily supported by Microsoft and

designed for their .NET platform. It has a syntax based on C++ that includes

aspects of other programming languages, most notably

Object Pascal and Java.

CCR

Code and Component Repository

The Lazarus Code & Component Repository on SourceForge is the host for

the Lazarus Documentation files and some component libraries.

Class

A special kind of Object in Object Oriented programming.

A Class is a pointer to an Object; its declaration looks very similar to an

Object.

COBOL

COmmercial and Business Oriented Language

A language widely used in business in the 1960s and later. Despite its

deficiencies, and the introduction of newer languages, it is still in widespread

use, mainly as a legacy system. The most notable recent [1]example is in the

184
State of California, where the government payroll system still uses COBOL,

and the governor's recent edict that state employees' salaries should be cut

has run into difficulties, because there aren't enough COBOL programmers

around!

Command Line Interpreter

CLI

A program present in most computer operating systems which examines an

input stream, either from the keyboard (Console Mode) or from a text file

(Batch Mode), interpreting or parsing the text to find instructions causing

execution of operating system commands or running prepared programs or

other scripts of instructions.

The CLI environment, where the operator types commands on a keyboard at

a console, exists in contrast to the Graphical User Interface (GUI), where the

operator makes more use of a mouse, and pictures rather than text convey

information to the operator.

Compiler

185
A program that translates Human-readable source code, usually written in a

high-level language such as Object Pascal, C++, Algol, FORTRAN or Ada,

into machine instructions for execution by a computer.

Compilation usually involves several stages: Parsing the source code to

check for syntax errors, translation of the source code to machine

instructions, and linking the resultant code with libraries in order to produce

the final machine-executable application.

See also Compiler and Compilers entries in main Wiki.

Component

A small piece of code, typically consisting of a data definition or a small

number of methods, which defines and describes a particular action or series

of actions in a Pascal application. Components are typically grouped together

functionally into libraries such as the Free Pascal Component Library

(FCL), Lazarus Component Library (LCL) or Run Time Library (RTL), so

that they can be re-used in many programming applications.

Cross Compilation

186
The act of compiling a program on one type of computer for eventual use on

another computer with a different processor a different operating system. For

example Pascal programs can be cross-compiled on a PC running Linux and

executed on a PC running Windows, or programs can be compiled on a PC

to run on a PDA like the Sharp Zaurus or devices using WinCE.

Another typical example is the Cross-compilation of the Free

Pascal Compiler or the Lazarus IDE on one platform such as Linux for use

on another platform such as Windows or on the Macintosh computer using a

totally different processor.

Cross-platform

Usually refers to a program that can be run on several different Operating

Systems and Platforms such as Windows, Linux and OSX. Examples are

the Free Pascal compiler and Lazarus, the OpenOfficeOrg suite of office

programs, the Mozilla family of Web browsers and e-mail servers.

CVS

Concurrent Version System (see also Subversion SVN). A system for

producing orderly development of a software suite despite its use by multiple

authors. A repository is set up, from which intending developers can check-

187
out documents or files, and to which they can return edited material. Usually

the posting of new or updated material is under the control of one or more

moderators or administrators, and strict version control is maintained.

DataBase

A computer application designed for the structured storage of large amounts

of data and for easy access to it. Many of the Web sites on the Internet make

extensive use of databases: For example, a vendor may keep his catalogue of

items for sale on a database, and may also keep his customer transactions on

another related database; a software development team (like the Free Pascal

team) might keep their library of programs and subprograms on a database; a

medical research team might keep responses to their Case Report forms

(CRFs) on a database.

Some typical examples are MySQL, PostgreSQL, Oracle, DB2. Many of

these use a common standard Structured Query Language to place data in the

database and retrieve it. Free Pascal/Lazarus has links to several of these

databases.

188
A database system typically consists of the actual Data files, a Server which

reads and writes to the files, and a Client which interprets the users

instructions.

See also Databases entry in main Wiki

Delphi

An excellent commercial Pascal-based RAD IDE for Windows made

by Borland.

Free Pascal sets out to be broadly compatible with Delphi, so that

applications written by Delphi developers can be readily ported to Free

Pascal/Lazarus, and the Free Pascal compiler has a Delphi compatability

mode (using the compiler directive {$MODE Delphi} or the command-line

option -Sd).

However, slavish adherence to Delphi constructs and standards is no longer

felt to be a requirement, and Free Pascal developers have improved on many

of the Delphi constructs, in many cases producing a more flexible and more

useful programming environment. All the procedures, functions, classes and

other programming elements have been written from scratch by Free Pascal

developers, quite independent of the Delphi code.

189
Debugger

A computer program which can be used by developers to control the

execution of a program in development, and show where a program is

failing. Debuggers typically keep track of the location in the program (for

example the line number in the source code), the contents of the variables in

the program, and often produce a back-trace showing the instructions that

were being executed immediately before the failure occurred in the program.

The Gnu Debugger GDB is used in Free Pascal/Lazarus systems; GDB must

be present in the system. In Linux and other Unix-like systems the native

Gnu/Linux version can easily be installed; in Windows systems a special

Windows version of GDB has been included in the Lazarus release

packages; alternatively GDB can be compiled from source for Windows and

used in conjunction with the CygWin emulator.

At present the documentation on debugging for Free Pascal/Lazarus is not

very complete, and users are advised to read the documentation on the GDB

site carefully.

diff

190
A GNU program used to show the differences between two files, or even two

directories.

Used by software developers to check the changes in coding before

committing an edited source file to a repository such as SVN. The output

from diff can also be used to generate a Patch which can be applied to a

source code file without having to re-write or re-import the whole file.

Editor

Text Editor — one of the essential tools of program development.

The source code of most computer programs consists of lines of text with the

program instructions arranged in a logical sequence. Some form of text

editor is necessary for inputting the source code and editing or correcting it.

All operating systems have available a number of text editors, some very

primitive (such as ED or EDLIN in DOS/Windows or ED, vi in Unix/Linux)

and some quite sophisticated (such as NotePad and WordPad in Windows,

GEdit, KATE, KWrite and EMACS in Unix/Linux). It is even possible

191
(though not recommended) to use Word Processor software for editing

computer program source code.

Many text editors offer Syntax Highlighting (using different colours to show

keywords, types of data or levels of nesting in statements) or have automatic

indentation to make the structure of a program more apparent. Most have

Search and/or Replace facilities, and can often recognise the beginning of

Subprograms (Procedures and Functions) or open "include" files when

required.

Both the Free Pascal and Lazarus IDEs have integral text editors which are

the ones recommended for developing programs using the Free Pascal

Compiler, but programs developed using any text editor can be passed to the

compiler, provided they are syntactically and logically correct.

Each user will find his or her own favourite editor and come to recognise its

advantages and limitations. And arguments between proponents of one or

other editor are sometimes only slightly less heated than arguments about

preferred Operating System!!

FCL

192
Free Pascal Component Library

The main collection of components used by Free Pascal. See also RTL (Run

Time Library) and LCL (Lazarus Component Library)

Firebird

Free relational database system supported by FPC/Lazarus; see Firebird

FORTRAN

Procedural language for FORmula TRANslation.

Once very popular for academic, scientific and engineering programs, its

emphasis was on getting things done efficiently — very good for calculation-

intense applications, but it made few concessions to ease of user interface.

FORTRAN suffered from a rather rigid syntactic and formatting structure,

though later versions have developed softer edges and make a few

concessions to a windowed user environment with interactive input-output.

It is still one of the best languages for doing really hard sums, but is much

less popular than languages with a friendlier user interface.

Free Pascal

193
An OpenSource CrossPlatform Pascal Compiler which

supports TurboPascal/BorlandPascal (TP/BP), Delphi/Kylix (OO or Object

Pascal) and Apple syntax, also it has some extra addons like C-style macros

and operators/symbols, Operator Overloading, auto function overloading and

other nice features.

Free Pascal initially set out to reproduce the features of Delphi in an open-

source environment, and offered the advantage of working on a number of

operating system platforms, but it has acquired a character and ethos of its

own, and slavish adherance to Delphi compatibility is no longer the

fundamental driver. Free Pascal developers write code entirely independently

from the Delphi sources.

Free Pascal consists of the compiler itself, a number of libraries including the

Run-time library RTL, the Free Pascal Component Library FCL and a

number of optional packages that can be installed by the user. There is also

an Integrated Development Environment (IDE) intended for use in a non-

graphic text mode, and very similar to the TurboPascal IDE. Users who

prefer to use a Graphical User Interface (GUI) can use one of a number of

products, Lazarus being the best-known IDE which has been contributed to

194
by over 120 programmers of whom some are closely involved with the Free

Pascal project.

GDB

GNU Debugger used for debugging programs developed with the Free

Pascal compiler, as well as programs in C, C++, FORTRAN and other

languages.

GIMP

GNU Image Manipulation Program

One of the largest influences on Linux Graphics — it is a tool that some find

hard to use at first, but it so infinitely configurable and intensively useful that

most are eventually won over. The GIMP provides most of

the Widgets (small graphic objects) used in the Gimp ToolKit (GTK)

libraries that form one of the major sets of tools in Lazarus.

GNU

195
GNU is a wrapper around the Linux Kernel and Shell, providing a large

number of user programs, user environments (both graphical and text-based),

applications and development systems. It also contains a large number of

libraries for use by various packages and systems. Its developers suggest that

the Linux operating system should actually be described as the GNU/Linux

OS, as the Linux kernel requires the functionality provided by GNU in order

to work for the end-user.

From GNU's Website: GNU is a recursive acronym for ―GNU's Not UNIX‖;

it is pronounced ―guh-noo.‖ GNU is like UNIX, but is not the same!

GTK

Gimp Tool Kit.

GTK+ is a multi-platform toolkit for creating graphical user interfaces,

and Free Pascal and the Lazarus IDE make extensive use of GTK. It contains

a set of Widgets or small graphical objects which can be incorporated into

the forms or panels of applications.

GUI

Graphical User Interface

196
A working environment in which a computer user is presented with a screen

on which there are pictures or Icons representing programs, actions or files,

and either uses a mouse cursor (or similar pointing device) to select the

appropriate icon or uses a keyboard with directional buttons or keys to move

around the screen and select the appropriate icon. There are often drop-down

menus available when the mouse is placed over certain parts of the screen.

A GUI typically makes use of Object-Oriented or event-driven

programming; instead of following a pre-determined sequence of actions, the

application waits for an event such as a mouse-click over a particular icon, to

determine what action is required and execute the appropriate piece of code;

the application then goes back into the "wait" state until another event

occurs, such as a mouse click over a different icon.

IDE

197
Integrated Development Environment

It typically consists of a text editor for developing the program source,

a Compiler, perhaps an Assembler and a Linker to make construction and

subsequent execution of the program quick and easy. It may also have access

to a Debugger to help detect and correct logical or operational errors in the

code.

Interpreter

A software tool that examines an input stream of computer-language

instructions (from the console or from a text-file) and converts them into

machine-code instructions which are then immediately executed. This differs

from a compiler (which converts a whole file into machine instructions and

then stores the code for subsequent execution) in that instructions are

interpreted line-by-line, and the conversion process has to happen every time

the program is run.

The Command-Line interpreters in Linux, Windows, IBM systems and DEC

PDP and VAX systems are good examples. Several popular programming

languages are interpretive rather than compiled. The best examples

are BASIC (in all its variants including Visual BASIC), PERL, Python

198
and Java. Interpreted-language programs are generally several orders of

magnitude slower than compiled-language programs because of the need to

re-interpret the commands before execution every time, but they have the

great advantage that changes are easily made, new code can be tested

quickly, and often speed is not all that important compared with ease of

development. Some languages (including various dialects of BASIC) offer

the programmer an opportunity to try out a program first in interpreted mode,

then when the program works correctly and no more changes are necessary,

the whole program can be compiled to produce a much faster product.

Some variants of Pascal, including UCSD Pascal from the University of

California at San Diego (UCSD), offered a peculiar combination of compiled

and interpreted operation: The textual Pascal source code was first converted

into an intermediate P-code, which was then passed on to a P-code

interpreter that translated and executed it.

Java

Computer language developed by Sun Microsystems for writing Web-based

applications. It is an interpreted language (which tends to produce rather

199
slowly-running programs), but applications can be written rapidly and ported

to a large number of different processors and machines. It has facilities

for Object-Oriented Programming.

See also: Pascal for Java users

Kylix

Delphi-like Rad Tool for Linux made by Borland. It is based on Delphi, and

uses the QT / CLX widget set. It attempts to port Delphi's IDE to Linux by

using WINE, a Windows Emulator program, rather than translating the code

for the IDE into proper Linux-specific code, and hence operates rather

slowly and patchily. Borland seem to have lost interest in developing or

supporting Kylix further, and many former users of Kylix have migrated to

Free Pascal/Lazarus as the only viable alternative for Pascal development in

Linux.

200
Lazarus

A CrossPlatform RAD IDE made with Free Pascal and designed to use Free

Pascal as its programming language and compilation tool. It has many of the

features of the IDE found in Borland's Delphi and Kylix (although all the

code has been written independently), and has some features which are

missing from Delphi/Kylix, while lacking a few of the features found in the

Borland products.

Its main user interface includes a Source Code Editor, a Main Menu bar

containing the Component Palette, a Form Design Window and an Object

Inspector. Other features include a Documentation editor, considerable Code

Help, and access to extensive libraries of components and packages.

Developers typically use the IDE's Form Designer to sketch out the physical

structure of their applications, use the Source Code Editor to add

programming instructions to respond to events occurring during program

execution, and then use the built-in Free Pascal compiler and linker to

produce executable code. During execution of the code, the debugger is used

to trap errors and find logical problems in the program.

201
The IDE can even be used to rebuild Lazarus itself, when corrections or

updates are received, for example, from the SVN repositories.

LCL

Lazarus Component Library, contains a large number of units defining

classes, components and methods for creating applications using Free Pascal.

The LCL consists mainly of visual components and objects, often

called Widgets: some examples are Buttons, Labels, Edit Boxes, Drop-down

Lists, Popup Menus, Images and Grids. The non-visual elements such as file

handling and database management are found in the Free Pascal Component

Library and Run Time Library. Many of the components defined in the LCL

and other libraries are used to build the Lazarus IDE.

See Lazarus Components for a list of components available, and their

equivalent in TurboPascal and Delphi.

Linker

A computer program that takes the output from a Compiler and finds any

pre-compiled library routines that are needed, and joins them all together to

produce an executable program.

202
Linux

Linux is an Open Source Operating System derived originally from Unix, but

totally re-built using Open Source code, and receiving contributions from

literally thousands of developers. Today it is one of the most popular

Operating Systems. It is one of the platforms for which Free

Pascal and Lazarus are built, and one of the platforms extensively used for

their development.

MAC

 Usually refers to the Macintosh Operating System from Apple, it is

famous for its high quality graphics and stability. The latest

version MAC OS X is actually based on Unix and shares many

commonalities with Linux. OSX is currently capable of running X11.

After Windows, it is the most popular desktop Operating Systems.

 In networking, MAC means Media Access Control or Medium

Access Control, a low level unique identifier for a network card

(NIC) which however can easily be changed via software.

203
MariaDB

Fork of MySQL; aims to be compatible but more generously licensed for

commercial use.

Mormot

mORMot : Synopse mORMot is an Open Source Client-Server ORM SOA

MVC framework for FPC, targeting Win/Linux for the server, and any

platform for clients (including mobile or AJAX). In other words, nobody

knows what it is supposed to be but a heap of gibberish.

MySQL

Relational database system; see MySQL.

Object

A special type of Record used in Free Pascal and other high-level Object

Oriented languages. As well as containing a group of data Fields (as in a

conventional Record), an Object can define Methods (Procedures and

Functions, either static, virtual or non-virtual) for processing the data in the

204
fields. For example, an object could contain an array of real values, together

with a Method for calculating the average.

Type

Average = Object

NumVal: Integer;

Values: Array [1..200] of Real;

Function Mean : Real; { calculates the average value of the array }

End;

Or a Button placed on a Form in a graphical environment might have the

following structure (highly simplified):

Type

Button = Object

Top, Left: Integer; { screen coordinates to define button's position }

Height, width: Integer;

Color: TColor;

205
Caption : String;

Procedure OnClick; { method invoked when the mouse is clicked on the

Button's image}

End;

The Procedure or Function in the above definition must, of course, be

declared elsewhere in the program, typically in an Implementation section.

See also Classes

OO

Object Oriented

Extension to a procedural language which enables the creation and

manipulation of complicated Objects.

While Standard Pascal maintains a Record structure, in which various

different data types such as integers, reals, arrays, strings and pointers can

co-exist in a predefined way, an object-oriented language like Free

Pascal allows the structure also to contain Methods (procedures and

functions) for the manipulation of the data elements within the structure.

See also Object Oriented Programming with Free Pascal and Lazarus

206
Open Source

A system of software development based on publishing all your source code

where it is freely available for others to view, copy, compile and use, and

also to correct, modify and improve. Users, developers or modifiers are

simply required or expected to acknowledge where the source came from,

how they have changed it, and make the source available to anyone to whom

they give or sell their program. It exists in contrast to the usual commercial

model of software development, where programs are shrouded in secrecy

and patent/copyright legality, only a few members of the team have access to

the code, and the end user has no idea of how the program works or how to

fix it if it breaks.

From the outset, Free Pascal and Lazarus have been developed as open

source programs, with all the source code freely available to anybody who

wants to use it, and with encouragement to all to try it out, suggest bug-fixes,

attempt to improve it or complete the parts that have not been implemented,

and generally contribute to its development. This approach has led to an

excellent cooperative effort, rapid development of the system and a

development environment that is completely transparent for all its users.

207
OS

The Operating System is a program that controls the basic performance of a

computer. It deals with the input-output functions of the various parts (such

as keyboard, mouse, video display, disk storage, memory and peripherals

such as serial, parallel and USB interfaces); it controls scheduling of tasks

and allocation of processing time between processes and users; it traps

system errors and performs a host of other functions. Most of these activities

proceed without the user being aware of them.

An operating system usually has a part called the kernel (i.e., the most

deeply embedded part of the program) which is started by the BIOS (Basic

Input-Output System of the computer) and it has various libraries which

provide an interface with the computer hardware. The Kernel can also be

considered an abstraction layer between the applications and the electronics

part.

There is often another "layer", called the shell, which represents an interface

between the Kernel and the user who types commands on a keyboard or

moves a mouse around the table to select commands displayed on the screen.

208
An Operating Systems can operate in Console (Text) or Graphical Mode.

Most modern Operating Systems support threading and are multitasking,

allowing multiple programs to run at the same time.

OSX

The latest version of the Macintosh Operating System, see MAC

Pascal

Pascal is a procedural programming language, designed in 1968–1969 and

published in 1970 by Niklaus Wirth (see Object Pascal

History, Why_use_Pascal).

There is an international standard definition of the language (ISO 7185,

equivalent to ANSI/IEEE770X3.97), but apart from Gnu Pascal (Open

Source) and Prospero Pascal (a commercial product available only

for Windows systems), not many of the modern implementations conform

exactly to the Standard. However, they are all essentially similar in syntax

209
and structure, and programs written for one variant are fairly interchangeable

with others.

Free Pascal, Delphi and other variants of Pascal have Object

Oriented extensions.

PDA

Personal Digital Assistant — a pocket-sized (or Palm-sized) device on which

information such as address-books, calendars and other useful information

can be stored. These devices (such as the Palm-Pilot and the Compaq

Pocket-PC) are becoming increasing sophisticated, and the

Sharp Zaurus which has a Linux operating system is a popular vehicle for

experimenters and developers.

There is a Free Pascal cross-compiler available, which allows Pascal

programs compiled on a PC to be run on the Zaurus, and there is also a

WinCE cross-compiler branch of FPC that allows applications to be

developed in Windows for operation on the Pocket-PC.

The PDA functions are now largely incorporated into SmartPhones and

portable Tablet computers, most of which run the Android operating system,

210
a Pascal-derived OS developed by Google. Some Lazarus developers are

producing applications for the Android platform.

PostgreSQL

Free relational database system supported by FPC/Lazarus; see PostgreSQL

Qt interface

Qt is one of the major widget sets used in Linux, and forms the basis for the

KDE (K-desktop environment). It is one of the libraries of widgets actively

supported by Lazarus-FPC, though it is not as well-established as the GTK

libraries.

RAD

Rapid Application Development (Examples: Delphi, Lazarus, Visual Basic)

A software package for the fast and easy creation of Applications

(Programs). Typically includes a text editor, a graphic user interface, and

easy links to various tools such as compilers, linkersand debuggers.

Frequently offers an Integrated Development Environment (IDE).

211
Record

A highly structured data type in Pascal and other high-level languages.

While simple data structures such as arrays or sets consist of elements all of

the same type, a record can consist of a number of elements of different

types, and can take on a huge complexity.

Records are widely used in Pascal, to group data items together logically.

They also form the basis for even more complicated structured types such

as Objects and Classes, used in Object Oriented programming. See

also: Record

RTL

Runtime Library

The library of components in Free Pascal which are used at run-time to

translate instructions from programs according to the operating system and

computer architecture of the current platform. See also Free Pascal

Component Library FCL

RTTI

Runtime Type Information

212
Keeping the data-types of objects available at runtime. Can be useful for

streaming and typecasting objects.

SQL

Structured Query Language.

An universal script language used in various types of DataBases with a

defined syntax to be used for execution of queries.

SVN

Subversion

A document version control system designed to improve upon and ultimately

to replace CVS.

SVN is the document management system currently used by both the Free

Pascal and the Lazarus projects.

213
Turbo Pascal

A Pascal compiler produced by Borland which revolutionised Pascal

development on PCs and microcomputers.

Previous Pascal compilers were huge and cumbersome, or slow, or

expensive, or all three.

Borland's TurboPascal was very fast, very economic in resources, and very

cheap.

Unfortunately it did not comply in all respects with the ISO standard, notably

in its handling of the get() and put() functions with text files.

However it has been very popular, and with object oriented extensions it

formed the basis of Delphi (which, though it has a stripped-down free no-

cost version, is rather expensive if you want to do serious computing) and

Kylix, the Linux version of Delphi.

It also forms the foundation for Free Pascal and Lazarus, but the main

difference between Borland's compilers and Free Pascal is that the source is

not available for Borland, whereas all the sources for Free Pascal are readily

214
available. Borland compilers are commercial (even if offered at no-cost) but

Free Pascal and Lazarus are free (open-source).

Unix

One of the first Operating Systems. It was written in C and had threading and

multi-process capabilities; later Linus Torvalds and other programmers made

an Open Source system resembling Unix called Linux which is one of the

most popular Operating Systems today. Others followed the example and

other Operating Systems were born: FreeBSD, OpenBSD, NetBSD and

many others; also Apple introduced Open Source parts of various Unix

clones and made MAC OS X which is famous for its graphical features and

stability.

Unit

A Pascal source file is also called a unit and usually has .pas, .pp or .p

extension.

The Pascal unit has an internal name which is usually the first line of the unit

"unit MyUnit;", where MyUnit is the internal name.

215
The unit also has two main sections interface and implementation which

are similar in C/C++ terminology to the header (.h, .hpp, .hh) file and the

body file (.c, .cpp, .cc).

All the code in the interface section can be accessed by other units

or program files that "use" this unit: this is done by the uses clause.

The uses clause can appear either in the interface or implementation section:

the code in the implementation section is "private" and can only be accessed

by the same unit unless it is redefined in the interface section which is the

case for "global" procedures and functions.

The Pascal unit can also contain two more

sections, initialization and finalization: these are executed automatically

when the main program starts and stops using this unit, as their names

suggest.

Uses

Clause in an Object Pascal program: a line near the top of the file or Unit (in

either the interface or the implementation) which lists other units that need to

be accessed to find components used in the program.

For Example:

216
uses

Classes, SysUtils, MySpecialUnit;

VCL

Visual Component Library — Base of Delphi Components Classes.

V4L

Video For Linux

VFW

Video For Windows

Widget

A small (or even large!) graphical object or image, often part of a larger

image, form, screen or picture. Object Oriented programs often depend

heavily on the use of Forms, which comprise a large number of widgets such

217
as buttons, captions, edit boxes, scroll bars, titles, menu bars, panels, grids

and pictorial images like photos or drawings.

Lazarus has separate widget sets for each Window Manager system, such as

Microsoft Windows (widget sets Win32/64, or WinCE for hand-held

devices), Linux (GTK widgetsets for Gnome-based systems, Qt for KDE

systems), Apple (widget sets Carbon and Cocoa) as well as some non-

specific sets such as CustomDrawn, fpGUI or nvidia widgets.

Lazarus developers have had to design custom-built interfaces to each widget

set: the aim is to provide an interface of which the user is unaware; he or she

simply writes the code or designs the form, and the widgets of the relevant

set for his operating system fit into place and work seamlessly.

Wiki

A type of Web site that provides documentation for a software package or

similar information, and that welcomes editorial activity, additions and

comments from the community. Most Wiki sites require potential users to

register, and then login in order to edit the site. Documentation can be

developed very quickly and flexibly.

218
The Lazarus and Free Pascal Wiki site that you are currently browsing

contains extensive documentation about the Free

Pascal and Lazarus projects. Users and developers are actively encouraged

to register and submit their contributions.

WinCE

A Windows-like environment for portable hand-held devices, mobile phones,

PDAs, etc. Produced by Microsoft, it has many features that

resemble Windows for desktops, but represents a "cut-down" version.

Most hand-helds use the ARM processor, and a WinCE port of Free

Pascal and Lazarus has been constructed to allow applications for the ARM

and WinCE to be cross-compiled and loaded for running on the hand-held

device.

For more details see Windows CE Development Notes and Windows CE

Interface

Windows

219
An Operating System from Microsoft, probably the most widely used

Operating System today, famous for its user friendly interface but infamous

for its vulnerability to malicious attackers.

"Windows" also refers to rectangular areas on a computer screen which

contain the textual and graphical material associated with a particular process

or application. A window may form part of a program or system other than

Microsoft's offering, for example there can be X-windows (see X11) or

simple text-windows used by inherently text-based systems.

X11

Also called XFree, Xorg or simply X is a graphical interface originally

designed for Unix and also widely used in Linux.

The X11 concept is quite different from the Windows GDI mainly because

XFree is a program, not just a set of libraries. Because X11 is more hardware

oriented and doesn't have a full set of widgets yet, some programmers

developed more advanced widgets like GTK and QT and various Window

Managers and Desktop Environments like GNOME, KDE, XPde, XFCE,

IceWM, WindowMaker and many others.

220
For more information about X11 please visit the XFree Web site.

Zaurus

PDA made by Sharp that uses Linux as its operating system. Its processor is

the ARM for which a port of the Free Pascal compiler has been made, and it

is possible to cross-compile applications in Free Pascal that will run on the

Zaurus

221
Daftar Pustaka
Abdul Kadir, 1991. Pemrograman Turbo PASCAL, Penerbit PT. Elex
Media Komputindo, Jakarta

Brookshear, J.G. 2004. Computer Science Suatu Pengantar. Erlangga,


Jakarta.

Bryon Goffried, 1986. Programming with PASCAL, Schaum Series, New


York.

Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C.


(2009). Introduction to algorithms. MIT press.
Crochemore, M., Crochemore, R., & Rytter, W. (1994). Text algorithms.
Maxime Crochemore.
Dale, N. B., & Lilly, S. C. (1995). Pascal plus data structures, algorithms,
and advanced programming. Jones & Bartlett Learning.

David Harel, 1987. Algorithmics the Spirit of Computing. Addison- Wesley


Publishing Company.Inc. USA.

Deo, N., & Kowalik, J. S. (2006). Discrete optimization algorithms: with


Pascal programs. Courier Corporation.
Gragono, P. 1980. Programming in Pascal. Addison Wesley. USA

Hammer, R., Hocks, M., Kulisch, U., & Ratz, D. (2012). Numerical toolbox
for verified computing I: Basic numerical problems theory, algorithms, and
pascal-XSC programs (Vol. 21). Springer Science & Business Media.
Hartono, P. 1990. Bahasa Pascal. PT. Elex Media Komputindo, Jakarta.

222
Horowitz E. & Sahni S. 1984. Fundamentals of Data Structures in Pascal.
Pitman Publishing Limited.

Jogiyanto H.M., 1990. Turbo Pascal, Penerbit Andi Offset. Yogyakarta


Muhammad Zarlis Cs. 1995 Pemrograman Pascal. Medan

Kadir, Abdul. 2012. Algoritma & Pemrograman Menggunakan Java.


Yogyakarta : Andi Offset

Kamus Besar Bahasa Indonesia. Struktur

Knuth, D. E. (1981). The Art of Computer Programming (Volume 2) (Vol.


5). Addison–Wesley.

Koffman, E. B. (1993). Turbo Pascal. Addison-Wesley Longman Publishing


Co., Inc..
Kumar, V., Grama, A., Gupta, A., & Karypis, G. (1994). Introduction to
parallel computing: design and analysis of algorithms (Vol. 400). Redwood
City: Benjamin/Cummings.
Muhammad Zarlis & Handrizal. 2007. Bahasa Pemrograman, Konsep &
Aplikasi Dalam C++, USU Press. Medan

Munir Rinaldi. 2002. Algoritma & Pemrograman Dalam Bahasa Pascal


dan C, Informatika Bandung.

Nell Dale & Chip Neems, 1989. Introduction to Pascal and Structured
Design. D.C. Heat & Company, Toronto.

Parsons, Thomas W. 1995. Introduction to Algorithms in Pascal, Johns


Wiley and Sons, Inc.

223
Prather, Ronald E., 1982. Problem Solving Principle: Programming with
PASCAL, Prentice Hall, New Jersey.

Press, W. H., Press, W. H., Flannery, B. P., Flannery, B. P., Teukolsky, S.


A., Vetterling, W. T., & Vetterling, W. T. (1989). Numerical recipes in
Pascal: the art of scientific computing (Vol. 1). Cambridge University Press.

Robert R. Korfhage. 1966. Logic and Algorithms. John Wiley & Sons.Inc.
New York.
Robert Sedgewick. 1983. Algorithms. Addison-Wesley Publishing
Company.Inc. USA.
Santosa, P.J. 1998. Dasar-dasar Pemrograman Pascal, Andi Offset.
Yogyakarta

Savitch, W. J. (1994). Pascal, an Introduction to the Art and Science of


Programming. Benjamin-Cummings Publishing Co., Inc..
Skiena, S. S. (1998). The algorithm design manual: Text (Vol. 1). Springer
Science & Business Media.
Wawan. 2015. Struktur Dasar Algoritma Pemrograman. pemrograman.html

224
Penulis

Solly Aryza Lubis,ST,M.Eng


Penulis saat ini sedang menempuh pendidikan PhD Engineering
di Universitas Malaysia Perlis. Menamatkan gelar Sarjana Teknik
Universitas Medan Area tahun 2009 Jurusan Teknik Elektro.
Meraih gelar Magister Engineering di Univesiity Malaysia
Pahang tahun 2011. Penulis memiliki pengalaman di beberapa
Penelitian di Malaysia dan Indonesia, Hingga saat ini penulis
masih tercatat sebagai Peneliti. Sejak tahun 2011, penulis
memutuskan untuk bergabung dan mengabdikan diri sebagai
dosen di Universutas Pembangunan Panca Budi. Selain
mengajar, penulis juga aktif menulis jurnal Internasional
bereputasi seperti Thomson Reuters dan Scopus.

Ir.H.Zulkarnain Lubis,MT,Ph.D
Penulis merupakan seorang peneliti dan seorang dosen dimana
telah lama berkecimpung dalam dunia penelitian dan
pengajaran international, dari tahun 1997 sampai dengan 2017
beliau merupakan dosen di University TATI Terengganu
Malaysia dan juga Dean Of Faculty Enginerring Di kampus
tersebut, Di tahun 2017 beliau kembali lagi keindonesia untuk
tujuan memajukan pendidikan di indonesia,

225
226

Anda mungkin juga menyukai