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.
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
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
• Proses
• Umpan balik
• Kontrol
• Lingkungan
3
Sistem memiliki cakupan yang jauh lebih kompleks daripada apa
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-
Asal-usul algoritma ini sangat unik, itu karena algoritma kata berasal
dari nama yang salah dari nama tersebut. Awalnya algoritma ini adalah
Arab terkenal dan ilmuwan Muslim Abu Ja‘far Muhammad Ibn Musa Al-
of Restoration and Reduction‖. Dari sini kita mulai mengenali nama Al-Jabar
4
atau Aljabar. Algoritma kesalahan menjadi Algoritma karena
algoritma.
3. Pengertian Algortima
Dimulai dari sebuah kondisi awal dan input awal (mungkin kosong),
kondisi akhir. Transisi dari satu kondisi ke kondisi selanjutnya tidak harus
5
Umumnya algoritma digunakan pada pemograman komputer, namun
biologis Selain itu, ada beberapa penjelasan yang berbeda beda dari para ahli
berikut :
langkah-langkah terbatas
suatu masalah.
6
d. Rinaldi Munir: Pengertian algoritma adalah sebuah bentuk urutan
permasalahan tertentu.
proses komputasi yang mengarahkan dari data awal hingga hasil yang
diinginkan.
7
i. Minsky: Algoritma adalah seperangkat arutan yang membertahukan
bertindak.
8
4. Pengantar Algoritma dan Pemrograman
mebuat teh manis. Anologi ini hal untuk memudahkan pemahaman dalam
menyeduh kopi:
1. Mulai
diatas.
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
11. Selesai
Ini adalah ―algoritma menyeduh kopi‖, yang harus di ingat algoritma adalah
tersebut haruslah dinyatakan dengan jelas dan tidak rancu. Dari contoh di
Jelas
10
Algoritma harus menyatakan urutan langkah-langkahnya dengan
berikutnya.
1. Finiteness (keterbatasan)
berakhir.
2. Definitess (kepastian)
3. Input (masukan)
4. Output (keluaran)
5. Efectiveness(efektivitas)
11
menyelesaikan masalah tersebut. Namun dari sekian banyak teknik atau
metode itu kita harus memilih mana yang terbaik. Hal ini sama juga dengan
metode dan logika yang berbeda. Lalu bagaimana mengukur algoritma yang
baik:
Hasil yang didapat dari proses harus berakurasi tinggi dan benar.
sependek mungkin.
Sifatnya general.
Tidak hanya dapat menyelesaikan satu kasus tetapi juga juga kasus
Mudah dimengerti
12
Siapapun yang melihatnya, dia dapat mengerti algoritma yang anda
(maintenance)
komputer.
adalah sesuatu yang terbentuk dari pernyataan komputer, yang ditulis dalam
program, yaitu:
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.
komputer.
14
Algoritma tentu terkait dengan ilmu komputer, tetapi tidak hanya itu.
Algoritma juga terkait dengan hal-hal yang ada dalam kehidupan kita sehari-
langkah ini bahkan memiliki satu langkah yang tidak realistis, maka kue itu
komponen yang saling bekerja sama membentuk sebuah sistem kerja yang
berdasarkan program dan data yang ada. Komputer adalah kumpulan dari
15
yang sesuai dengan kebutuhannya. Program komputer sendiri membutuhkan
termasuk alat input seperti keyboard, mouse, pemindai dan pusat pemrosesan
CPU (unit pemrosesan pusat) dan perangkat output seperti layar monitor,
16
Ada beberapa istilah dasar yang perlu dipahami dalam pemrograman, yaitu:
memecahkan masalah.
yang dirancang dengan baik dan tidak salah yang mudah dimengerti
program.
sebagai berikut:
dan efektif
17
b. Memiliki struktur logika dan struktur program yang benar dan mudah
rendah
menjadi satu.
Formulasi program
18
Faktor-faktor yang perlu diperhitungkan adalah untuk membuat
Pemeliharaan program
Prosedur standar
1. Tentukan masalah
19
lebih mendalam. Dengan demikian, asumsi yang baik diperoleh dan
2. Temukan solusi
Bottom-Up)
3. Pilih algoritma
digunakan, dan lebih baik lagi jika sudah dikuasai, memiliki tingkat
lainnya.
5. Uji program
6. Tulis dokumentasi
20
Menulis dokumentasi sangat penting sehingga pada titik tertentu kita
mudah. Triknya adalah menulis komentar kecil tentang arti kode, apa
arti variabel, dan parameter apa yang ada dalam prosedur dan fungsi.
7. Memperlakukan program
21
dalam bahasa itu saja. Sampai saat ini terdapat puluhan bahasa pemrogram,
antara lain bahasa rakitan (assembly), Fortran, Cobol, Ada, PL/I, Algol,
22
Berdasarkan pada apakah notasi bahasa pemrograman lebih ―dekat‖ ke
kelompok ini karena alasan notasi yang dipakai dalam bahasa ini
23
akhirnya dieksekusi oleh CPU. Contoh bahasa tingkat tinggi
sebagainya
7. Penyajian Algoritma
mengikuti pola akal pikiran manusia. Terdapat 3 (tiga) tiga struktur dasar
1. Penyelesaian bertahap
24
Penyelesaian bertahap adalah alur pemikiran yang tersuktur, sekuensial,
akan memberikan hasil dan hasil tersebut akan digunakan untuk proses pada
digunakan dalam setiap tahap sangat menentukan hasil akhir dari suatu
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 dapat bernilai benar atau salah atau berupa pilihan satu dari sekian
3. Proses Pengulangan
25
Proses Pengulangan adalah operasi kegiatan yang memerlukan tahapan
Menyajikan Algoritma
Adapun cara penyajian algoritma dalam bentuk narasi adalah seperti berikut:
26
di rumah untuk mengantarkan dokumen tersebut. Buatlah algoritma yang
berikut:
4. Jika tidak diijinkan maka Dharma tetap mengikuti rapat sampai selesai .
selesai.
27
1) Penulisan Algoritma Menggunakan Bahasa Natural
dalam suatu program yang telah selesai juga dapat membantu orang lain
28
a. Flowchart sistem: menunjukkan jalannya program secara umum.
Biasanya suatu program yang rumit didahului dengan flowchart sistem, lalu
a. Flowchart Sistem
besarnya yang melewati suatu tahapan proses dalam sebuah sistem dengan
29
b. Flowchart Program
diharapkan.
30
masukan data, selanjutnya data diproses kemudian hasil proses dikeluarkan
8. Flowchart Program
dengan yang lainnya. Namun secara garis besar setiap pengolahan selalu
1. Input,
3. Output
masalah:
31
2. READ, berisi pernyataan kegiatan untuk membaca data dari suatu
peralatan input.
peralatan output.
1. Hindari pengulangan proses yang tidak perlu dan logika yang berbelit
3. Sebuah flowchart diawali dari satu titik START dan diakhiri dengan
END.
dunia pemrograman :
32
Gambar6. Simbol Flowchart
Untuk memahami lebih dalam mengenai flowchart ini, akan diambil sebuah
kasus sederhana.
L=p.l
33
di mana, L adalah Luas persegi panjang, p adalah panjang persegi,
untuk menghitung luas sebuah bangun segi empat, dimana bangun tersebut
bangun ternyata tidak hanya sebuah bangun yang bisa dilakukan dalam
menghitung beberapa luas bangun dari bidang tertentu. Jika sebuah algoritma
34
membutuhkan alternatif pilihan maka dibutuhkan simbol percabangan,
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
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
36
Gambar 9. Flowchart Untuk Proses Diulang
37
BAB 2. KONTROL
38
1. PENGARUH INTERAKSI MANUSIA DAN KOMPUTER
DALAM INTERFACE
lebih users dengan satu atau lebih komputer.Insap Santoso (2006, p5)
berbagai aspek terkait. User Interface Antar muka (User Interface) sangat
diharapkan pengguna akan mudah memahami apa yang harus dilakukan dan
(Sequence)
kedua dan seterusnya hingga baris terakhir. Sebuah runtunan terdiri dari satu
atau lebih instruksi. Tiap instruksi dikerjakan secara berurutan sesuai dengan
39
akhir algoritma. Bila urutannya diubah, maka hasil akhir mungkin juga
berubah.
Interface design Interface design mendefinisikan satu set obyek dan aksi
berjalan dengan benar dan sejauh mana interface mudah digunakan dan
40
Berusaha untuk konsisten Rangkaian aksi yang konsisten harus digunakan
dalam keadaan seperti pada prompts, menus, dan layar help serta perintah
yang konsisten.
desain informasi dan komunikasi produk dan layanan yang dapat digunakan
Untuk setiap aksi yang dilakukan, hendaknya selalu tersedia fasilitas umpan
kelompok dengan awal, tengah, dan akhir. Ketika telah mencapai bagian
akhir, hendaknya user diberitahu melalui umpan balik. Tanpa adanya dialog
sistem sehingga pengguna tidak dapat melakukan kesalahan yang serius. Jika
pembalikan aksi yang mudah Fitur ini mengurangi kecemasan, karena user
41
pengaturan yang menyeluruh, user dapat menggunakan sistem sesuai
selanjutnya program akan berakhir atau selesai. Kita ambil contoh program
Deskripsi :
1. Mulai
2. Input Jari_Jari
4. Cetak Luas
5. Selesai
42
Gambar 1.Flowchart Luas Lingkaran
harus dieksekusi. Instruksi ke-1 : program membaca nilai jari-jari yang telah
43
1.2. SOFTWAR INTERFACE.
telah digunakan dan telah menjadi standar industri dari tahun ke tahun. Salah
satu model dalam SDLC adalah Waterfall Model, atau biasa dikenal dengan
Proses Water.
44
Gambar 10. Proses Waterfall
yang meliputi tugas-tugas teknis yang akan dilakukan, resiko yang mungkin
terjadi, sumber-sumber yang dibutuhkan, hasil yang akan dibuat, serta jadwal
program. Unit testing berfungsi unuk mencari tahu apakah setiap unit
45
System Testing unit program individu atau program yang terintegrasi dan
and maintenance Ini adalah fase terpanjang dalam life cycle. sistem terinstal
A. Struktur IF Sederhana
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
Deskripsi :
1. Mulai
2. Baca nilaisiswa
47
3. Jika nilaisiswa >= 65 maka kerjakan langkah 4
4. Cetak ―LULUS‖
5. Selesai
Pada flowchart diatas, nilai siswa yang diinputkan akan diuji apakah nilai
tersebut lebih besar atau sama dengan 65. Jika benar maka program akan
selesai.
48
B. Struktur IF…THEN…ELSE…
Pada struktur ini, terdapat dua kemungkinan instruksi yang akan dikerjakan
salah maka instruksi_2 yang dikerjakan. Untuk lebih jelasnya bisa lihat
Bentuk flowchart:
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‖
6. Selesai
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
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
Pada struktur ini juga kemungkinan akan banyak instruksi yang dikerjakan
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
nilai siswa, program akan mengkonfersi nilai siswa dari semula dalam
berikut :
52
Deskripsi :
1. Mulai
2. Baca nilaiangka
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
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
55
Pada kehidupan sehari-hari banyak yang kita lakukan secara berulang-ulang,
tentang struktur algoritma looping. Jenis struktur dasar ini akan selesai jika
jemur akan selesai jika pakaian yang akan dijemur sudah habis. Struktur
A. Struktur FOR
untuk mengulang satu baris instrusi atau beberapa baris instruksi sampai
perulangan menggunakan FOR adalah terdapat nilai awal dan nilai akhir
56
yang menunjukkan syarat yang harus terpenuhi. Berikut Flowchart
menggunakan FOR :
57
menggunakan struktur FOR dimulai dari Nilai_Awal dan akan berhenti
pada Nilai_Akhir. Untuk lebih jelasnya kita lihat contoh algoritma mencetak
Deskripsi :
1. Mulai
3. Cetak i
4. Selesai
58
Gambar flowchart diatas, menjelaskan bahwa nilai i awal berisi 1, kemudian
terpenuhi yaitu i = 5 maka proses looping akan berhenti. Jika belum paham
Deskripsi :
1. Mulai
4. Cetak i
5. Selesai
59
Gambar 17. .Flowchart Cetak Bilangan Genap dengan FOR
syarat yang dijabarkan dengan FOR, diketahui nilai i pertama kali berisi 1
kemudian diuji apakah nilai i tersebut habis dibagi dengan 2. Jika benar
60
B. Struktur WHILE
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
pada Struktur WHILE akan menguji syarat yang ditentukan terlebih dahulu,
61
Gambar sebelumnya menjelaskan bahwa syarat akan diuji oleh pemroses
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
Deskripsi :
1. Mulai
2. i = 1
4. Cetak i
5. i = i + 1
6. Selesai
62
Gambar 19..Flowchart struktur while
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
secara otomatis seperti pada struktur FOR, sehingga kita perlu menambahkan
instruksi lagi. Untuk lebih jelasnya kita liat lagi contoh berikutnya algoritma
WHILE.
Deskripsi :
1. Mulai
2. i = 1
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
maka setelah proses ini menjadi 2. Kemudian nilai i diuji kembali sampai
berakhir.
C. Struktur DO…WHILE
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
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
dikerjakan kembali. Setelah dikerjakan kembali maka syarat akan diuji lagi,
perulangan akan selesai jika syarat yang diuji bernilai salah. Untuk lebih
Deskripsi :
1. Mulai
2. i = 0
3. i = i + 1
4. Cetak i
6. Selesai
68
Gambar21.Flowchart Cetak Angka dengan DO…WHILE
Pada gambar sebelumnya, pertama kali variabel i diberi nilai awal adalah 0.
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
perulangan DO…WHILE.
Deskripsi :
1. Mulai
2. i = 1
5. Cetak i
6. i = i + 1
7. Selesai
70
Gambar 22. .Flowchart Cetak Angka Genap dengan DO…WHILE
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
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,
selesai.
2. Notasi Algoritma
adalah solusi detail secara prosedural dari suatu persoalan dalam notasi
sebaiknya dapat dibaca dengan mudah oleh manusia). Notasi ini dianggap
72
perlu untuk menjembatani keragaman dan kompleksitas bahasa sehingga
yang harus dapat dengan mudah dituliskan di atas kertas. Notasi lebih
mudah dapat ditranslasi menjadi salah satu program dalam bahasa tertentu.
membutuhkan hasil yang siap pakai, notasi dapat disesuaikan dan dibuat
lebih dekat dengan bahasa pemrograman yang dipakai. Teks algoritma selalu
- Judul (Header)
- Kamus
- Algoritma
Pada setiap bagian tersebut, akan didefinisikan dan dipakai nama, atau
dituliskan di antara kurung kurawal buka dan tutup adalah teks dalam notasi
73
74
Bab 3. Bahasa Kontroler
75
1. Lahirnya Bahasa Pemrograman Kontrol
1970. Niklaus Wirth atau lengkapnya Niklaus Emil Wirth adalah seorang
pada era 1960-an seperti Euler dan Algol W. Nama Pascal dipilih untuk
menggunakan structured
aplikasi komersil.
76
Sejak dipublikasikan oleh pada 1970, bahasa pemrograman Pascal mulai
perintah bahasa pascal) masih terbatas untuk kalangan tertentu. Karena saat
itu harga komputer masih sangat mahal dan umumnya hanya terdapat di
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
pada saat itu, bahasa Pascal mirip dengan bahasa inggris sehari-hari,
program. Bahasa Pascal bersaing dengan bahasa pemrograman lain pada era
77
2. Munculnya Compiler Sistem Kontrol: UCSD Pascal, Microsoft
California, San Diego (UCSD) membuat salah satu compiler pertama pascal,
yakni UCSD Pascal. Compiler ini ditujukan untuk sistem operasi buatan
merupakan salah satu sistem operasi yang bisa dipilih jika membeli IBM PC
pada saat itu, selain UCSD p-System, IBM juga menyediakan PC dengan
Windows).
produk Microsoft Pascal. Namun karena harga yang relatif mahal, compiler
seorang programmer harus menulis kode program pada text editor, kemudian
78
yakni linker. Alur kerja pembuatan program ini dikenal dengan
yakni Turbo Pascal. Borland, adalah perusahaan software yang saat itu
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
79
Pascal Saat Ini
atau C++ karena menggunakan ‗kata-kata‘ seperti begin, end, read, dan write
Delphi maupun Visual Basic dan dapat digunakan dengan gratis. Jika kita
adalah:
80
Tipe data bawaan: Pascal memiliki tipe data standar yang umum
data secara ketat. Kita hanya bisa menggunakan variabel untuk 1 tipe
81
Pascal merupakan bahasa program yang deklaratif dan terstruktur. Deklaratif
type, var, const, function dan procedure. Bagian deklarasi dimulai dari
terdapat pada bagian setelah statement begin dan sebelum statement end.
1. Berurutan
Susunan dari kode-kode dalam teks Pascal harus ditulis secara urut dari atas,
Oleh karena itu, suatu pernyataan yang menyangkut suatu variable didalam
program, maka variable itu harus terdefinisi dahulu sebelumnya. Hal ini
lain.
Pascal memberikan pembatas yang jelas pada tiap-tiap blok, seperti pada
pemilihan), dll. Pemakaian kata kunci begin untuk mengawali operasi pada
82
blok dan end untuk menutupnya memudahkan programer menyusun
Seperti contoh :
if X > 0 then
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
Tipe Data
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.
1. Judul Program
2. Bagian Deklarasi
84
a) Deklarasi tipe data (TYPE)
Teks Pascal setidaknya memiliki bagia Judul Program, bagian Deklarasi, dan
Sebagai contoh:
85
Z:= X + Y; {perintah untuk menjumlahkan X dan Y serta menyimpan
hasilnya ke Z}
Pada contoh ini nilai X dan Y tidak bisa sembarang, karena sudah
default input}
hasilnya ke Z}
86
Aturan dalam Penulisan Program Pascal
yang harus ditaati. Kalau tidak, maka program akan error. Aturan-aturan ini
1. Judul program
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
87
Type
Contoh:
type
TMember = record
phone: string;
birthdate: TDateTime;
paidCurrentSubscription: boolean
end;
Pada contoh diatas kita sudah mendeklarasikan type bernama TMember yang
bertipe record.
88
Konstanta
contoh:
const
PI = 3.141592654;
Uses
Contoh:
uses crt;
Apabila terdapat lebih dari satu libarary, maka pisahkan dengan tanda koma.
89
Variabel
Deklarasi variabel artinya, kita mendaftarkan variabel apa saya yang akan
var
Contoh:
var
umur: integer;
r, d, c : real;
Deklarasi variabel dengan tipe data yang sama, dapat dibuat bersamaan
Gunakan garis bawah (_) untuk memisahkan nama variabel yang lebih dari
90
3. Tubuh Program
Contoh:
BEGIN
END.
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
1. String dan char: diapit dengan tanda petik satu, contoh: 'petani kode'.
5. Intruksi
Contoh:
BEGIN
writeln('Hello Pascal!');
92
END.
Pada contoh di atas, kita membuat dua intruksi untuk menampikan pesan di
layar.
6. Komentar
Contoh:
BEGIN
93
(* ini juga komentar *)
END.
end digunakan untuk mengakhiri kode program, end untuk tubuh program
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
Contoh:
BEGIN
94
if x = y then
begin
end;
for i:= 1 to 10 do
begin
writeln(i);
end;
END.
Nah, itulah 7 aturan penulisan kode pascal yang wajib dipahami bila anda
95
Operator
kode. Terdapat 2 kategori yaitu : operand dan operator. Operand adalah nilai
Operator Assignment
Operator Aritmatika
+ Penambahan 2+3=5
– Pengurangan 5–2=3
* Perkalian 2*3=6
96
Operator String
97
Operator Bitwise
Operator Action
+ Union
– Selisih (Difference)
* Irisan (Intersection)
98
in Cek apakah ada di dalam himpunan
99
100
Bab. 4 Mengistal Turbo Pascal
101
1. Turbo Pascal 7
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-
Turbo Pascal:
Turbo Pascal 2 – April 17, 1984 – 8087 support via optional compiler
102
Turbo Pascal 3 – September 17, 1986 – overlays, 8087 compiler,
BCD compiler
overlays
Turbo Pascal 6 – October 23, 1990 – Dirilis juga dengan nama Turbo
Vision
Turbo Pascal for Windows 1.0 – February 13, 1991 – versi pertama
103
Seperti yang terlihat dari daftar
angka ―7‖ lebih tinggi dari angka ―1.5‖ banyak yang menganggap Turbo
perlu dibahas terkait aplikasi ini. Walaupun Turbo Pascal 7 dapat anda
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
104
menjual Turbo Pascal 7, sehingga kita ‗terpaksa‘ menggunakan aplikasi non-
Turbo Pascal 7 tidak bisa dijalankan pada Windows vista, 7 atau Windows 8.
folder TP di dalam drive C. Jika anda meletakkan folder Turbo Pascal bukan
105
Perintah pertama yang kita gunakan adalah:
MOUNT X C:\TP
konfirmasi:
lokasi C:\TP dengan drive ‗virtual’ X. Drive virtual ini hanya digunakan di
dannlan-lain
drive X yang baru saja kita buat. Anda dapat perhatikan bahwa setelah
DOSBox.
106
Berikutnya, kita akan memeriksa apakah di dalam drive X ini memang folder
tombol ENTER:
DIR
Perintah DIR digunakan untuk menampilkan seluruh folder saat ini. Jika
yang merupakan isi dari folder C:\TP. Perintah ini sebenarnya tidak
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
cursor mouse, tekan tombol CTRL+F10. Kombinasi tombol ini harus anda
file pengaturan DOSBox dari Start Menu -> All Program -> DOSBox-0.74
Akan tampil aplikasi Notepad yang berisi seluruh pengaturan DOSBox. Pada
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
kita lalukan diatas, harus dijalankan setiap kali membuka DOSBox. Hal ini
Buka kembali menu file pengaturan DOSBox dari Start Menu -> All
Kali ini, scroll hingga bagian akhir, sampai anda menemukan baris berikut:
109
[autoexec]
mount x c:\tp
x:
bin\turbo.exe
exit
Save pengaturan, dan restart DOSBox. Jika tidak ada masalah, Turbo Pascal
110
Menampilkan DOSBox Turbo Pascal secara Full Screen
Kombinasi tombol yang sama juga bisa digunakan untuk keluar dari
digunakan dalam mode Full Screen, kita harus mengubah sedikit pengaturan
dari DOSBox. Buka file konfigurasi DOSBox dari Start Menu -> All
output=surface
output=overlay
Apabila anda ingin tampilan DOSBox Turbo Pascal menjadi Full Screen
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 ->
windowresolution=original
menjadi
windowresolution=1024×768
Save pengaturan, dan restart DOSBox. Anda bisa mengubah nilai diatas
112
Oleh DOSBox, kombinasi tombol CRTL+F9 digunakan untuk keluar dari
aplikasi (shutdown). Kita harus mengubah fungsi ini dengan cara sebagai
berikut:
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
menjalankan Turbo Pascal. Error ini terjadi karena Turbo Pascal mencari file
Error ini sebenarnya tidak terlalu masalah, karena anda bisa menekan tombol
1. Setelah men-klik tombol OK dari pesan error, buat file pascal baru
2. Jika halaman kosong sudah tampil, berikutnya cari menu Options ->
Save BIN\TURBO.TP
114
Sekarang, pesan error tersebut tidak akan muncul lagi.
secara manual, saat ini sudah tersedia aplikasi instant yang untuk
berikut: http://sourceforge.net/projects/turbopascal7/.
praktis, anda akan sedikit kesulitan jika ingin mencari file konfigurasi
115
Bab.5 Mikrokontroller
116
1. Struktur dasar Mikrokontroler
I/O eksternal selama memori dan I/O internal masih bisa mencukupi. Selain
itu proses produksinya secara masal, sehingga harganya menjadi lebih murah
komunikasi serial lain seperti IC, serial peripheral interface and controller
117
mikrokontroler tersebut. Pembagian itu yaitu RISC dan CISC. 1. RISC
Kode program diatas cukup panjang, namun sekali lagi tidak perlu
lebih mendalam . Kali ini hanya fokus kepada struktur program. Berikut
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
efisien dalam register internal dan RAM. Karena itulah MCS51 digunakan
popular digunakan oleh para developer dan para penghobi ngoprek karena
hubungan serial pada komputer. 3. AVR (Alv and Vegard‘s Risc processor)
119
AVR merupakan mikrokonktroler RISC 8 bit. Karena RISC inilah sebagian
besar kode instruksinya dikemas dalam satu siklus clock. AVR adalah jenis
instrumentasi.
120
2.Mikrokontroler
dimana semua bagian yang diperlukan untuk suatu kontroler sudah dikemas
dalam satu keping, biasanya terdiri dari CPU (Central Proccesssing Unit),
RISC 8 bit berdasarkan aristektur Harvard, yang dibuat oleh Atmel pada
yang lebih cepat, karena sebagian besar instruksi dieksekusi dalam 1 siklus
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
Mode Compare dan Mode Capture. d. Real Time Counter dengan Oscillator
ADCL) h. 7 Diferrential Channel hanya pada kemasan Thin Quad Flat Pack
Atmega16 dengan kemasan 40-pin dapat dilihat pada Gambar 2.1. Dari
masing Gerbang A (Port A), Gerbang B (Port B), Gerbang C (Port C), dan
122
Seperti biasa, baris pertama sebuah kode pascal dimulai dengan
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
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
124
kemampuan sumber. Ketika pin PA0 ke PA7 digunakan sebagai input dan
jika resistor internal pull-up diaktifkan. Pin Port A adalah tri-stated manakala
(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
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
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
125
keduanya sink tinggi dan kemampuan sumber. Sebagai input, pena Port D
yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up
penyedia tegangan untuk Port A dan Konverter A/D. 10. AREF adalah pena
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
Free Pascal memiliki unit yang lebih banyak dari pada Turbo Pascal karena
saluran ADC internal dengan resolusi 10 bit. Dalam mode operasinya, ADC
126
dapat dikonfigurasi, baik single ended input maupun differential input.
referensi, mode operasi, dan kemampuan filter derau (noise) yang amat
ADC itu sendiri. ADC pada ATMega16 memiliki fitur-fitur antara lain : 1.
2. Deklarasi
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.
127
nilai 3.14. Dalam penulisan angka, tanda ‗koma‘ digunakan sebagai pemisah
ribuan, sedangkan tanda ‗titik‘ digunakan untuk pemisah desimal. Ini berlaku
variabel jari2 yang diset bertipe data integer. Nilai jari2 juga langsung diisi
dengan angka 7.
kita bisa memecah alur program yang panjang menjadi fungsi-fungsi yang
untuk menghitung luas lingkaran. Fungsi ini akan mengembalikan nilai akhir
bertipe real.
128
sesuatu yang unik di dalam pascal. Bahasa pemrograman lain umumnya
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
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
129
Perintah clrscr akan menghapus kode-kode diatasnya, sehingga tampilan
130
Bab. 6 Programmable Logical Controlling
131
1. Struktur PLC
otomatis yang diterapkan terdiri atas dua metode yaitu otomatisasi berbasis
PLC dapat memiliki sekuens yang lebih kompleks dari relay. Otomatisasi
mengontrol proses suatu kerja tertentu., dimana parameter atau inputan data
132
diambil dan diolah oleh Personal Computer (PC) dan melalui sebuah
program tertentu
keputusan ke salah satu kemungkinan True atau False dari beberapa kondisi.
kondisi tertentu. Kondisi adalah persyaratan yang dapat bernilai benar atau
suatu program seringkali terdapat instruksi yang hanya bisa dikerjakan jika ia
memenuhi suatu persyaratan tertentu. Oleh karena itu komputer tidak lagi
aksi jika suatu syarat dipenuhi. Didalam makalah ini struktur pemilihan yang
berikut :
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.
kondis salah
i
benar
aksi
end
134
Bagan alir yang memperlihatkan pemilihan dengan hanya dengan satu kasus
135
3. Pemilihan Dengan Struktur IF-THEN-ELSE
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
if kondisi then
else
endif
136
Perhatikanlah bahwa else menyatakan ingkaran (negation) dari kondisi.
kondis
Benar Salah
i
𝑎𝑘𝑠𝑖 𝑎𝑘𝑠𝑖
end
Contoh :
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.
Masalah yang mempunyai tiga buah kasus atau lebih dapat dianalisis dengan
Tiga kasus :
if kondisi : then
aksi :
139
else
if kondisi : then
aksi :
else
if kondisi : then
aksi :
endif
endif
endif
140
𝑘𝑜𝑛𝑑𝑖𝑠𝑖
benar salah
𝑎𝑘𝑠𝑖 𝑎𝑘𝑠𝑖3
end
end
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.
Untuk masalah dengan dua kasus atau lebih, kontruksi CASE dapat
case ekspresi
143
3 : 3
Otherwise :
endcase
Contoh :
Kita akan membuat program mencari mata kuliah dengan memasukan kode
144
Apabila kita menginputkan kode kelas 114 pada piranti masukannya maka
145
Sedangkan apabila kita menginputkan kode kelas 210 pada piranti
146
Bab. 7 Procedure dan Function
147
1. Pengertian Prosedur
blok program yang cukup ditulis satu kali tetapi dapat dipanggil berulang
PROGRAM NamaProgram;
VAR
NamaVariable : TipeVariable
NamaVariable : TipeVariable
PROCEDURE NamaProsedur;
148
Variable jika dibutuhkan
BEGIN
Code-code program;
END;
BEGIN
Blok program utama. Ini harus kecil dan semua pekerjaan harus diserahkan
yang bersesuain.
END.
parameter.
149
Apabila kita masukan nilai 3 pada inputan banyaknya segitiga maka hasilnya
150
Didalam prosedur terdapat 3 parameter yaitu :
151
Dan bila kita mengisikan nilai 3 pada ―Banyaknya Lingkaran‖ dan
sebagai berikut.
152
1.2. Prosedur dengan Perameter Keluaran
digunakan oleh program pemanggil. Jika seperti ini kasusnya, maka nilai
153
Dan hasil programnya akan seperti dibawah ini.
154
1.3. Prosedur dengan Parameter Masukan / Keluaran
Dengan mengisikan banyaknya mata pelajaran dan nilai tiap mata kuliah
155
156
Bab 8. LARIK / ARRAY
157
1. Pengertian Larik/ Array
Larik / Array adalah tipe data terstruktur yang terdiri dari sejumlah
nilai indeksnya atau subscript. Larik dapat bertipe data sederhana seperti
byte, word, integer, real, boolean, char, string dan tipe data scalar atau
Sebagai contoh kita akan membuat program nilai mata kuliah dengan
158
Dan jika kita memasukan nilai tujuh pada banyaknya mata kuliah serta
159
2. Pencarian / Searching
didalam sekumpulan data yang bertipe sama baik tipe dasar maupun bertipe
kumpulanya.
160
Spesifikasi masalah pencarian
Bila kita akan mencari nilai x didalam larik L, maka hasil / keluaran dari
5 7 9 1 10 51 3 2
1 2 3 4 5 6 7
161
Ada dua macam pencarian :
Cara kerjanya adalah membandingkan setiap elemen larik satu persatu secara
beruntun mulai dari elemen pertama sampai elemen ditemukan atau seluruh
162
Bila kita memasukan jumlah elemen larik dengan 8 dan memasukan nilai
tiap indeksnya serta memasukan nilai 19 pada nilai yang akan dicari maka
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
5 7 9 1 10 51 3 2
Kanan
Kiri
164
L
1 2 3 4 5 6 7
165
Dan apabila kita memasukan 7 pada jumlah data juga memasukan nilai
166
III.5. REKURSIF
167
1. Basis
Berisi kasus yang terdefinisi eksplsit, bagian ini yang menghentikan rekursif.
2. Rekurens
Berikut contoh code program tentang factorial atau mencari factor terhadap
suatu bilangan :
168
Apabila kita mengisikan nilai 5 untuk mencari pemfaktorannya maka hasil
169
Rekursif dengan list berkait
Ada dua alas an kita harus mengubah algoritma rekursif menjadi algoritma
mendukung.
170
Contoh Menara Hanoi
Berikut diberikan contoh program dengan memakai cara Menara Hanoi yaitu
Dan apabila kita mengisikan 3 buah jumlah piringan /disk maka hasil
171
172
BAB 9. SENSOR INTERFACE
173
1. Sensor Interface
suatu besarab fisik menjadi besaran listrik sehingga dapat dianalisa dengan
mempunyai sensor didalanya. Pada saat ini, sensor tersebut telah dibuat
dengan ukuran sangat kecil. Ukuran yang sangat kecil sangat memudahkan
adanya perubahan energi eksternal yang akn masuk ke bagian input dari
dikirim kepada bagian konverter dari transducer untuk diubah menjadi energi
2001)
174
Gambar 25. Sensor proximity
kondisi penginderaan pada objek yang dianggap terlalu kecil atau lunak
mendeteksi logam maka keluaran dari detektor hanya "ada" atau "tidak ada"
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
Adapun jenis sensor secara garis besar bisa dibagi menjadi 2 jenis
yaitu : 1. Sensor Fisika Sensor fisika adalah sensor yang mendeteksi suatu
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
176
Glossary
A
Ada
Computer language derived from Pascal and Modula, and named after
one of the earliest exponents of computer design and published a design for a
Babbage and wrote a program to drive the difference engine; she can be
syntax to Pascal, but with several extensions. At one time in the 1980s, the
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.
instructions) into the actual binary instructions that the computer executes.
into a binary sequence such as 01110010 which the machine can execute.
different assemblers for i386, MC68000, ARM processors, etc.) and by being
much more low-level: it deals with very specific instructions to move data
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
178
API
An example is the API for the MySQL database system; its authors have
specifications for each of the parameters or arguments for each function. The
original MySQL API was defined for C programming, but the Free Pascal
A very important part of any API is its documentation, and any conversion of
BASIC
179
BASIC is an acronym that stands for Beginner's All-
and quite efficient on the slow computers of the early 1960s; however, a
particularly those that ran on early microcomputers, and they did not support
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
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.
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
College and elsewhere, and eventually the need for line numbers and GOTO
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
programs could rapidly be written, executed and debugged. There have been
which supports some rudimentary structures and doesn't use line numbers, so
there is less emphasis on GOTOs — but these latter variants are almost
Line or scripting languages. In fact, some Visual Basic programs may look
181
For more information on the origins and evolution of BASIC, see Back to
Boolean
Logical data type in Pascal and other languages that can take one of two
Bug
from the days when computers were constructed with thermionic vacuum
tubes: insects (bugs) crawling around the interior of the apparatus could
unpredictable performance.
182
Most software development teams encourage potential users to report bugs
C programming language
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
C++
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
CCR
The Lazarus Code & Component Repository on SourceForge is the host for
Class
Object.
COBOL
A language widely used in business in the 1960s and later. Despite its
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!
CLI
input stream, either from the keyboard (Console Mode) or from a text file
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
Compiler
185
A program that translates Human-readable source code, usually written in a
instructions, and linking the resultant code with libraries in order to produce
Component
Cross Compilation
186
The act of compiling a program on one type of computer for eventual use on
Pascal Compiler or the Lazarus IDE on one platform such as Linux for use
Cross-platform
Systems and Platforms such as Windows, Linux and OSX. Examples are
the Free Pascal compiler and Lazarus, the OpenOfficeOrg suite of office
CVS
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
DataBase
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
medical research team might keep responses to their Case Report forms
(CRFs) on a database.
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.
Delphi
by Borland.
option -Sd).
of the Delphi constructs, in many cases producing a more flexible and more
other programming elements have been written from scratch by Free Pascal
189
Debugger
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
packages; alternatively GDB can be compiled from source for Windows and
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.
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
The source code of most computer programs consists of lines of text with the
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
191
(though not recommended) to use Word Processor software for editing
Many text editors offer Syntax Highlighting (using different colours to show
Search and/or Replace facilities, and can often recognise the beginning of
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
Each user will find his or her own favourite editor and come to recognise its
other editor are sometimes only slightly less heated than arguments about
FCL
192
Free Pascal Component Library
The main collection of components used by Free Pascal. See also RTL (Run
Firebird
FORTRAN
Once very popular for academic, scientific and engineering programs, its
emphasis was on getting things done efficiently — very good for calculation-
though later versions have developed softer edges and make a few
It is still one of the best languages for doing really hard sums, but is much
Free Pascal
193
An OpenSource CrossPlatform Pascal Compiler which
Pascal) and Apple syntax, also it has some extra addons like C-style macros
Free Pascal initially set out to reproduce the features of Delphi in an open-
operating system platforms, but it has acquired a character and ethos of its
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
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
languages.
GIMP
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
the Widgets (small graphic objects) used in the Gimp ToolKit (GTK)
GNU
195
GNU is a wrapper around the Linux Kernel and Shell, providing a large
libraries for use by various packages and systems. Its developers suggest that
OS, as the Linux kernel requires the functionality provided by GNU in order
From GNU's Website: GNU is a recursive acronym for ―GNU's Not UNIX‖;
GTK
and Free Pascal and the Lazarus IDE make extensive use of GTK. It contains
GUI
196
A working environment in which a computer user is presented with a screen
and either uses a mouse cursor (or similar pointing device) to select the
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.
determine what action is required and execute the appropriate piece of code;
the application then goes back into the "wait" state until another event
IDE
197
Integrated Development Environment
subsequent execution of the program quick and easy. It may also have access
code.
Interpreter
instructions (from the console or from a text-file) and converts them into
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
PDP and VAX systems are good examples. Several popular programming
are BASIC (in all its variants including Visual BASIC), PERL, Python
198
and Java. Interpreted-language programs are generally several orders of
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
then when the program works correctly and no more changes are necessary,
and interpreted operation: The textual Pascal source code was first converted
Java
199
slowly-running programs), but applications can be written rapidly and ported
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
supporting Kylix further, and many former users of Kylix have migrated to
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
Developers typically use the IDE's Form Designer to sketch out the physical
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
201
The IDE can even be used to rebuild Lazarus itself, when corrections or
LCL
classes, components and methods for creating applications using Free Pascal.
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
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
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
Pascal and Lazarus are built, and one of the platforms extensively used for
their development.
MAC
famous for its high quality graphics and stability. The latest
203
MariaDB
commercial use.
Mormot
MVC framework for FPC, targeting Win/Linux for the server, and any
MySQL
Object
A special type of Record used in Free Pascal and other high-level Object
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
Type
Average = Object
NumVal: Integer;
End;
Type
Button = Object
Color: TColor;
205
Caption : String;
Button's image}
End;
OO
Object Oriented
different data types such as integers, reals, arrays, strings and pointers can
functions) for the manipulation of the data elements within the structure.
See also Object Oriented Programming with Free Pascal and Lazarus
206
Open Source
where it is freely available for others to view, copy, compile and use, and
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
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,
207
OS
computer. It deals with the input-output functions of the various parts (such
system errors and performs a host of other functions. Most of these activities
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
provide an interface with the computer hardware. The Kernel can also be
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.
OSX
Pascal
History, Why_use_Pascal).
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.
Oriented extensions.
PDA
can be stored. These devices (such as the Palm-Pilot and the Compaq
Sharp Zaurus which has a Linux operating system is a popular vehicle for
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
PostgreSQL
Qt interface
Qt is one of the major widget sets used in Linux, and forms the basis for the
libraries.
RAD
211
Record
While simple data structures such as arrays or sets consist of elements all of
Records are widely used in Pascal, to group data items together logically.
They also form the basis for even more complicated structured types such
also: Record
RTL
Runtime Library
RTTI
212
Keeping the data-types of objects available at runtime. Can be useful for
SQL
SVN
Subversion
to replace CVS.
SVN is the document management system currently used by both the Free
213
Turbo Pascal
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-
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
Unix
One of the first Operating Systems. It was written in C and had threading and
an Open Source system resembling Unix called Linux which is one of the
most popular Operating Systems today. Others followed the example 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
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
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
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
For Example:
216
uses
VCL
V4L
VFW
Widget
A small (or even large!) graphical object or image, often part of a larger
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
Lazarus has separate widget sets for each Window Manager system, such as
systems), Apple (widget sets Carbon and Cocoa) as well as some non-
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
comments from the community. Most Wiki sites require potential users to
register, and then login in order to edit the site. Documentation can be
218
The Lazarus and Free Pascal Wiki site that you are currently browsing
Pascal and Lazarus projects. Users and developers are actively encouraged
WinCE
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
device.
Interface
Windows
219
An Operating System from Microsoft, probably the most widely used
Operating System today, famous for its user friendly interface but infamous
contain the textual and graphical material associated with a particular process
X11
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
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
Zaurus
221
Daftar Pustaka
Abdul Kadir, 1991. Pemrograman Turbo PASCAL, Penerbit PT. Elex
Media Komputindo, Jakarta
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.
Nell Dale & Chip Neems, 1989. Introduction to Pascal and Structured
Design. D.C. Heat & Company, Toronto.
223
Prather, Ronald E., 1982. Problem Solving Principle: Programming with
PASCAL, Prentice Hall, New Jersey.
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
224
Penulis
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