You are on page 1of 104

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

TUGAS AKHIR

APLIKASI PENAMPIL MENGGUNAKAN VISUAL


BASIC UNTUK OPTIMASI KETERSEDIAAN TEMPAT
PARKIR MOBIL

Diajukan Untuk Memenuhi Salah Satu Syarat


Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Jurusan Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma

disusun oleh :

YACINTA LAKSMI MAYANG NARISWARI


NIM : 125114049

PROGRAM STUDI TEKNIK ELEKTRO


JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2016
i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

FINAL PROJECT

VIEWER APPLICATIONS USING VISUAL BASIC TO


OPTIMIZE THE CAR PARKING PLACE
AVAILABILITY

In partial fulfilment of the requirements


for the degree of Sarjana Teknik
In Electrical Engineering Study Program
Electrical Engineering Department
Science and Technology Faculty Sanata Dharma University

YACINTA LAKSMI MAYANG NARISWARI


NIM : 125114049

ELECTRICAL ENGINEERING STUDY PROGRAM


ELECTRICAL ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
2016

ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

MOTTO :
WORK, STUDY HARD, AND PRAY
HARDEST!

Atas rahmat Yesus Kristus dan Bunda Maria dengan segala kerendahan hati
kupersembahkan skripsi ini kepada :

Yesus Kristus, Bunda Maria, Sta.Yasinta Pembimbingku yang setia

Papa (Stevanus Sudjito) dan Mama (Maria Purwaningsih) tercinta.


Terimakasih atas segala lelah, pengorbanan, kasih sayang, doa, dan dukungan
dalam setiap langkah yang kupilih.

Kakak (Maria Yosephine Gyang Prakasita) dan Adik-Adikku (Maria Angeline


Gandes Kirana dan Alexander Parahita).

Teman,Sahabat,Kekasih (Richard Bagus Dean Mahendra)

Terimakasih untuk semangat, motivasi, dukungan, serta tawa yang kalian berikan.

Kepada segenap keluarga besarku, terimakasih atas segalanya semoga kelak saya
dapat membahagiakan, membanggakan, dan bisa membuat kalian tersenyum
dalam kebahagiaan.

Almamaterku tercinta Teknik Elektro Universitas Sanata Dharma.


Tempatku memperoleh ilmu dan merancang mimpi yang menjadi sebagian jejak
langkahku menuju kesuksesan

vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

INTISARI

Proses Penggunaan tempat parkir mobil dalam gedung masih menggunakan sistem
pada umunya. Pengendara tidak dapat mengetahui secara langsung tempat parkir mana saja
yang masih kosong, ataupun lokasi parkir yang terdekat dengan pintu masuk kendaraan.
Sistem seperti ini kurang efisien bagi pengendara karena membutuhkan waktu yang cukup
banyak untuk menemukan tempat parkir yang dapat digunakan.
Untuk menanggulangi hal tersebut maka dibuat sistem aplikasi penampil Visual Basic
untuk optimasi ketersediaan tempat parkir mobil yang terdiri dari mikrokontroler ATmega32,
power supply +5Volt, sensor cahaya Light Dependent Resistor, rangkaian komparator.
Rangkaian ini akan melakukan deteksi di tiap-tiap tempat parkir dengan menggunakan sensor
cahaya yang kemudian diproses oleh mikrokontroler ATmega32 dan proses optimasi
pencarian jalur terpendek untuk mencari lokasi parkir yang terdekat diproses dan ditampilkan
pada penampil Visual Basic di komputer.
Hasil dari peneltian ini adalah mendeteksi ada atau tidaknya mobil pada sensor yang
diletakkan pada tiap-tiap tempat parkir dan juga mengetahui letak parkir yang kosong dan
terdekat. Hasil pendeteksian tersebut ditampilkan pada aplikasi Visual Basic dan dicetak
sebagai karcis masuk client yang akan masuk
Kata kunci : Mobil, Sensor LDR, Visual Basic, Algoritma Dijkstra, ATmega32.

viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

ABSTRACT

The use of the process in building a car park still using the system in general. The
rider can not know directly the parking lot which is still empty, or the location of parking
closest to the entrance of the vehicle. Such systems are less efficient for motorists because it
takes quite a lot to find a parking space that can be used.
To overcome this, the viewer application system created Visual Basic for optimizing
the availability of car park consisting of microcontroller ATmega32, power supply + 5volt,
light sensor Light Dependent Resistor, comparator circuit. This circuit will detect in each
park using a light sensor which is then processed by a microcontroller ATmega32 and
process optimization shortest path searching to find the nearest parking area is processed and
displayed on the viewer Visual Basic on the computer.
Results of this research is to detect the presence or absence of a car on a sensor that is
placed on each park and also know the location of empty parking lot and nearby. The
detection result is displayed on a Visual Basic application and printed as a ticket to a client
who will sign
Keywords: Car, LDR Sensor, Visual Basic, Dijkstra's algorithm, ATmega32.

ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

KATA PENGANTAR

Puji dan Syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas segala berkat
dan rahmat-Nya, sehingga penulis dapat menyelesaikan tugas akhir ini dengan baik. Penulis
menyadari bahwa banyak pihak yang telah memberikan doa, dukungan, perhatian serta
bantuan kepada penulis sehingga dapat menyelesaikan tugas akhir ini. Oleh karena itu,
penulis mengucapkan terimakasih yang sebesar-besarnya kepada:
1) Sudi Mungkasi, S.Si., M.Math. Sc., Ph. D selaku dekan Fakultas Sains dan Teknologi
Universitas Sanata Dharma Yogyakarta.

2) Petrus Setyo Prabowo, S.T.,M.T., Ketua Program Studi Teknik Elektro Universitas
Sanata Dharma Yogyakarta.

3) Bernadeta Wuri Harini S.T., M.T.,selaku dosen pembimbing akademik yang telah
mendampingi dan membimbing penulis selama perkuliahan.

4) Djoko Untoro Suwarno S.Si., M.T., selaku dosen pembimbing yang dengan penuh
pengertian, sabar dan ketulusan hati member bimbingan, kritik, saran, serta motivasi
dalam penulisan tugas akhir ini.

5) Ibu Wiwin Widyastuti S.T., M.T., dan Bapak Ir. Tjendro, M.Kom, selaku dosen
penguji yang telah bersedia memberikan masukan, bimbingan, dan saran dalam
memperbaiki tugas akhir ini.

6) Bapak/ Ibu dosen yang telah mengajarkan banyak hal selama penulis menempuh
pendidikan di Program Studi Teknik Elektro, Fakultas Sains dan Teknologi,
Universitas Sanata Dharma.

7) Kedua orang tua tercinta, Papah Stevanus Sudjito dan Mamah Maria Purwaningsih
atas kasih sayang, dukungan dan doa yang tiada henti.

8) Kakak tercinta Maria Yosephine Gyang Prakasita dan Adik-Adik tercinta Maria
Angeline Gandes Kirana dan Alexander Parahita yang selalu mendukung dan
mendoakan saya, sehingga dapat menyelesaikan tugas belajar dengan baik.

x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

9) Richard Bagus Dean Mahendra sebagai teman, sahabat, dan kekasih yang selalu setia
mendukung, menyemangati, dan dengan sabar mengajari, serta memberi masukan dan
saran untuk penulis sampai terselesaikannya tugas akhir ini.

10) Staff sekretariat Teknik Elektro yang telah membantu dalam hal administrasi.

11) Staff dan petugas laboratorium Teknik Elektro yang telah membantu banyak hal
untuk kelancaran tugas-tugas perkuliahan.

12) Teman-teman seperjuangan angkatan 2012 Teknik Elektro yang selalu mendukung
dan menyemangati saya dalam menyelesaikan tugas akhir ini.

13) Adik-adik angkatan 2013 Teknik Elektro yang telah ikut membantu dan mendukung
saya dalam menyelesaikan tugas akhir ini

14) Semua pihak yang tidak dapat disebutkan satu per satu atas semua dukungan yang
telah diberikan dalam penyelesaian tugas akhir ini.

Penulis menyadari bahwa dalam penulisan tugas akhir ini masih banyak kekurangan,
kelemahan dan jauh dari sempurna. Oleh sebab itu, dengan segala kerendahan hati,
penulis mengharapkan kritik dan saran yang membangun untuk penyempurnaan tugas
akhir ini. Dan semoga tugas akhir ini dapat bermanfaat sebagai mana mestinya.

Yogyakarta,11 Juli 2016

Yacinta Laksmi Mayang Nariswari

xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DAFTAR ISI

HALAMAN JUDUL ................................................................................................ i


HALAMAN PERSETUJUAN ................................................................................ iii
HALAMAN PENGESAHAN ................................................................................. iv
PERNYATAAN KEASLIAN KARYA .................................................................. v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ...................................... vi
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI KARYA
ILMIAH UNTUK KEPENTINGAN AKADEMIS ............................................. vii
INTISARI ................................................................................................................ viii
ABSTRACT ............................................................................................................. ix
KATA PENGANTAR ............................................................................................. x
DAFTAR ISI ............................................................................................................ xii
DAFTAR GAMBAR ............................................................................................... xvi
DAFTAR TABEL .................................................................................................... xix

BAB I PENDAHULUAN
1.1. Latar Belakang ............................................................................................. 1
1.2. Tujuan dan Manfaat ..................................................................................... 2
1.3. Batasan Masalah .......................................................................................... 2
1.4. Metodologi Penelitian ................................................................................. 3

BAB II DASAR TEORI


2.1. Visual Basic ................................................................................................. 5
2.2.Sensor Cahaya LDR ...................................................................................... 6
2.3.Mikrokontroler AVR ATmega32 ................................................................. 7
2.3.1. Arsitektur AVR ATmega32 ............................................................... 8
2.3.2. Deskripsi Mikrokontroler ATmega32 ................................................ 8
2.3.3. Organisasi Memori AVR ATmega32 ................................................. 9
2.3.3.1. Memori Program. .................................................................... 10
2.3.3.2. Memori Data. ........................................................................... 10
2.3.4. Komunikasi Serial USART ................................................................ 10

xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

2.3.4.1. Inisialisasi USART. ................................................................. 11


2.4.Komparator ................................................................................................... 14
2.5.Regulator Tegangan IC 78xx......................................................................... 16
2.6.Algoritma ....................................................................................................... 17
2.6.1. Pengenalan Graf .................................................................................. 17
2.6.1.1. Representrasi Graf. .................................................................. 18
2.6.2. Algoritma Dijkstra ............................................................................... 19
2.6.2.1. Algoritma Dijkstra Untuk Lintasan Terpendek. ...................... 19

BAB III PERANCANGAN PENELITIAN


3.1. Proses Kerja dan Mekanisme Sistem Parkir Mobil ..................................... 21
3.2. Perancangan Mekanik Sistem Parkir Mobil ................................................ 22
3.3.Perancangan Perangkat Keras ...................................................................... 23
3.3.1. Minimum System ATmega32 dan Regulator Tegangan 7805 ........... 24
3.3.2. Sensor Light Dependent Resistor ....................................................... 26
3.3.3. Komparator ....................................................................................... 27
3.3.4. Algoritma Dijkstra ............................................................................ 28
3.4.Perancangan Perangkat Lunak ...................................................................... 29
3.4.1. Program Mikrokontroler .................................................................... 30
3.4.2. Diagram Alir Subrutin Cek Sensor Blok PA ..................................... 31
3.4.3. Diagram Alir Subrutin Cek Sensor Blok PB ..................................... 32
3.4.4. Diagram Alir Subrutin Cek Sensor Blok PC ..................................... 32
3.4.5. Diagram Alir Subrutin Cek Sensor Blok PD ..................................... 33
3.4.6. Diagram Alir Subrutin Cek Sensor Blok PE...................................... 33
3.4.7. Format Paket Data.............................................................................. 34
3.4.8. Program Pada Visual Basic ................................................................ 35
3.4.9. Diagram Alir Subrutin Optimasi Hasil Data ...................................... 36
3.4.10. Perancangan Interface Visual Basic ................................................. 37
3.4.11. Perancangan Interface Pencarian Jalur Terpendek dengan
Algoritma Dijkstra .38

BAB IV HASIL PENGAMATAN DAN PEMBAHASAN


4.1. Bentuk Fisik dan Sistem Kerja Parkir Mobil .............................................. 39

xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

4.2. Hasil Data Pengujian dan Pembahasan ....................................................... 41


4.2.1. Pengujian Perangkat Keras ........................................................... 41
4.2.1.1. Pengujian Sensor LDR dan Komparator Didalam
Ruangan....................................................................... 41
4.2.1.2. Pengujian Sensor LDR dan Komparator Diluar
Ruangan................... ..................................................... 43
4.2.2. Pengujian Aplikasi Visual Basic ................................................... 44
4.2.2.1. Form Serial Monitor ........................................................ 44
4.2.2.2. Form Menu Utama GUI Visual Basic .............................. 47
4.2.2.3. Form Denah Parkir Mobil dan Sistem Optimasi.............. 48
4.2.3. Pengujian Software dan Hardware ............................................... 51
4.3.Analisa dan Pembahasan Perangkat Lunak .................................................. 61
4.3.1. Aplikasi CodeVision AVR ............................................................. 61
4.3.1.1. Pengendali Sensor Light Dependent Resistor ................. 61
4.3.1.2. Pengendali Komunikasi USART ................................... 62
4.3.1.3. Subrutin Program Utama ............................................... 63
4.3.2. Aplikasi Visual Basic ................................................................... 64
4.3.2.1. Tampilan Gui Visual Basic ............................................ 64
4.3.2.2. Inisialisasi Komunikasi Serial ........................................ 65
4.3.2.3. Proses Algoritma Untuk Pencarian Jalur Terpendek ...... 66
4.3.2.4. Proses Cetak Tiket dengan Perangkat Keras Printer ..... 69
Kesimpulan dan Saran ............................................................................................ 70
Daftar Pustaka ......................................................................................................... 71
Lampiran .................................................................................................................. L1

xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DAFTAR GAMBAR

Gambar 1.1. Diagram Blok Sistem......................................................................... 3


Gambar 2.1. Jendela Visual Basic 6.0 .................................................................... 6
Gambar 2.2. Simbol dan Fisik Sensor Cahaya LDR ............................................. 7
Gambar 2.3. Rangkaian Pembagi Tegangan Menggunakan Sensor LDR .............. 7
Gambar 2.4. Konfigurasi Pin Mikrokontroler ATmega32 ..................................... 9
Gambar 2.5. Register UDR ..................................................................................... 11
Gambar 2.6. Register UCSRA ............................................................................... 11
Gambar 2.7. Register UCSRB ............................................................................... 12
Gambar 2.8. Register UCSRC ................................................................................ 14
Gambar 2.9. Rangkaian Umum Komparator dengan Pembagi Tegangan .............. 15
Gambar 2.10. Rangkaian Umum Komparator dengan Dioda Zener ........................ 15
Gambar 2.11. Karakteristik Grafik Komparator ....................................................... 15
Gambar 2.12. Konfigurasi Pin IC Regulator ............................................................ 16
Gambar 2.13. Rangkaian Umum Regulator 78xx..................................................... 16
Gambar 2.14. Di Graph (Graf Terarah) .................................................................... 17
Gambar 2.15. Penerapan Algoritma Dijkstra ke Suatu Graf .................................... 19
Gambar 3.1. Blok Diagram Sistem ........................................................................ 21
Gambar 3.2. Rancangan Prototype Sistem Parkir Dalam 3 Dimensi ..................... 22
Gambar 3.3. Perancangan Design Parkir Mobil Tampak Atas ............................... 23
Gambar 3.4. Rangkaian Osilator ATmega32 ......................................................... 24
Gambar 3.5. Rangkaian Reset ATmega32 ............................................................. 25
Gambar 3.6. Rangkaian Minimum System ATmega32 dan Regulator Tegangan
7805 ................................................................................................... 25
Gambar 3.7. Rangkaian Sensor Light Dependent Resistor ..................................... 26
Gambar 3.8. Rangkaian Komparator IC LM32 ...................................................... 27
Gambar 3.9. Graf Lintasan Terpendek pada Blok Parkir ....................................... 29
Gambar 3.10. Diagram Alir Pengendalian Sistem Ketersediaan Parkir Mobil pada
Mikrokontoler .................................................................................... 30
Gambar 3.11. Diagram Alir Subrutin Cek Sensor Blok PA ..................................... 31
Gambar 3.12. Diagram Alir Subrutin Cek Sensor Blok PB .................................... 32

xvi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Gambar 3.13. Diagram Alir Subrutin Cek Sensor Blok PC .................................... 32


Gambar 3.14. Diagram Alir Subrutin Cek Sensor Blok PD .................................... 33
Gambar 3.15. Diagram Alir Subrutin Cek Sensor Blok PE...................................... 33
Gambar 3.16. Diagram Alir Program Visual Basic .................................................. 35
Gambar 3.17. Diagram Alir Subrutin Optimasi Hasil Data ...................................... 36
Gambar 3.18. Perancangan Inteface pada Visual Basic ........................................... 38
Gambar 3.19. Perancangan Interface Pencarian Jalur Terpendek Dengan
Algoritma Dijkstra ............................................................................. 38
Gambar 4.1. Sistem Minimum ATmega32 ............................................................. 39
Gambar 4.2. Regulator Tegangan ........................................................................... 39
Gambar 4.3. Denah Parkir Mobil............................................................................ 40
Gambar 4.4. Prototype Parkir Mobil ...................................................................... 40
Gambar 4.5. Komparator IC LM324 ...................................................................... 40
Gambar 4.6. Rangkaian Pengontrol ....................................................................... 40
Gambar 4.7. Form Utama GUI Visual Basic Keadaan 1 ........................................ 47
Gambar 4.8. Form Utama GUI Visual Basic Keadaan 2 ........................................ 48
Gambar 4.9. Tampilan Visual Basic Pada Form 1 ................................................. 64
Gambar 4.10. Tampilan Visual Basic Pada Form 1 ................................................. 64
Gambar 4.11. Tampilan Visual Basic Pada Form 2 ................................................. 65

xvii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DAFTAR TABEL

Tabel 2.1. Penentuan Ukuran Karakter .................................................................... 13


Tabel 2.2. Karakteristik Regulator Tegangan IC 78xx ............................................ 16
Tabel 3.1. Format Paket Data ................................................................................. 34
Tabel 4.1. Nilai VLDR, dan Vref Didalam Ruangan .............................................. 42
Tabel 4.2. Nilai VLDR, dan Vref Diluar Ruangan .................................................. 43
Tabel 4.3. Data Form Serial Monitor ....................................................................... 45
Tabel 4.4. Format Kirim Paket Data ........................................................................ 47
Tabel 4.5. Percobaan Form Denah Parkir Mobil dan Sistem Optimasi ................... 49
Tabel 4.6. Data Pengujian Software dan Hardware ................................................ 52

xix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB I
PENDAHULUAN
1.1. Latar Belakang
Di era globalisasi saat ini, pengguna kendaraan pribadi khususnya mobil banyak
mengalami peningkatan. Seiring bertambahnya jumlah kendaraan pribadi sekarang ini
membuat kebutuhan lahan sebagai sarana parkir semakin meningkat, peningkatan jumlah
kendaraan yang akan menggunakan lahan parkir kadang tidak diimbangi dengan ketersedian
lahan parkir terutama pada sistem parkir di dalam gedung. Dengan banyaknya kendaraan
yang parkir di dalam gedung membuat sering terjadinya masalah kemacetan dalam pencarian
lokasi parkir dan kurangnya informasi ketersediaan lokasi parkir yang masih tersedia

Dalam tugas akhir ini penulis membuat sistem yang memudahkan penggunanya untuk
melakukan parkir kendaraan. Dengan cara memberikan informasi melalui penampil pada
tiket masuk pengunjung yang akan menunjukkan letak lahan parkir kosong terdekat, yang
nantinya dalam tugas akhir ini akan ditampilkan menggunakan aplikasi Visual Basic,
sehingga pengguna jasa parkir dapat memprediksikan dimana akan parkir sesuai informasi
yang telah didapat melalui tiket masuk yang diterima.

Sistem penampil untuk mendeteksi ketersediaan tempat parkir mobil yang masih
kosong ini sebelumnya pernah dilakukan, metode yang digunakan untuk dapat mendeteksi
keberadaan tempat parkir menggunakan SMS (short message service) [1]. Pada Penulisan ini,
penulis membuat Aplikasi Penampil Menggunakan Visual Basic untuk Optimasi
Ketersediaan Tempat Parkir Mobil. Dengan menggunakan sensor LDR (Light Dependent
Resistor) sebagai sensor pendeteksi kendaraan dan aplikasi visual basic sebagai penampil
untuk pendeteksi ketersediaan tempat parkir. Mikrokontoler ATmega32 beperan sebagai
kontroler untuk sistem penampil pendeteksi tempat parkir mobil.

Prinsip kerja sistem ini adalah input berupa mobil yang masuk ke dalam gedung
parkir. Tahap pertama proses pengambilan data terdeteksi menggunakan sensor LDR, lalu
data diproses pada mikrokontroler kemudian dikirim menggunakan komunikasi serial ke
visual basic yang akan menjalankan perintah untuk menampilkan jumlah ketersediaan dan
lahan parkir mobil terdekat yang masih tersedia.

1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

1.2. Tujuan dan Manfaat


Tujuan dari penulisan tugas akhir ini adalah membuat software dan hardware sistem
prototype pendeteksi tempat parkir mobil yang dapat mendeteksi tempat parkir mobil yang
terdekat secara cepat dan akurat.
Manfaat dari penelitian ini adalah :
a. Membantu memudahkan pengguna jasa parkir dalam mencari tempat parkir mobil
sehingga pengguna jasa parkir dapat terbantu dari segi efisiensi waktu dan juga dapat
memberikan kepuasan bagi pengguna jasa parkir.
b. Untuk penelitian awal aplikasi penampil menggunakan visual basic untuk pendeteksi
ketersediaan tempat parkir mobil.
c. Untuk media pembelajaran mengenai komunikasi serial mikrokontroler dengan pc /
laptop.

1.3. Batasan Masalah


Penulis menetapkan beberapa batasan masalah pada perancangan ini, yaitu sebagai
berikut :
1. Kapasitas area parkir yang digunakan dapat menampung 20 mobil
menggunakan ukuran mobil 2cm x 6cm dan jarak lahan parkir di tiap block
0.5cm.
2. Dimensi prototype lahan parkir menggunakan ukuran 70cm x 35cm x 6.5cm
3. Mikrokontroler ATmega32 menggunakan AVR Code Vision untuk
memrogram Sensor LDR yang digunakan untuk mendeteksi ketersediaan
tempat parkir yang tersedia.
4. Aplikasi visual basic digunakan sebagai simulasi penampil karcis masuk
pengguna jasa parkir. Didalamnya terdapat jumlah ketersediaan parkir dan
lahan parkir terdekat pada setiap block. Terdapat juga tombol cek kondisi
untuk mengetahui kondisi parkir yang terbaru sehingga client dapat
mengeahui lokasi parkir yang kosong dan terdekat, dan tombol cetak untuk
mencetak tiket parkir dengan printer.
5. Sensor yang digunakan adalah sensor cahaya yaitu sensor LDR, diletakan di
tengah pada bagian permukaan setiap lahan parkir yang telah disediakan.
6. Menggunakan USB TO serial TTL converter yang terserdia dipasaran untuk
komunikasi serial antara mikrokontroler dengan laptop.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

7. Algoritma dijkstra digunakan sebagai optimasi pencarian tempat parkir yang


terdekat yang dapat terdeteksi dari lokasi masuk kendaraan.

1.4. Metodologi Penelitian


Metodologi yang digunakan dalam penelitian ini adalah sebagai berikut :
1. Studi pustaka mengenai penggunaan komunikasi serial dan pemrograman
interface pada visual basic, cara kerja sensor LDR, cara optimasi system
dengan algoritma dijkstra, serta penggunaan mikrokontroler ATmega32.
2. Perancangan sub sistem baik meliputi sub sistem hardware (elektrik dan
mekanik) maupun sub sistem software (user interface). Perancangan ini
bertujuan untuk mencari bentuk sistem, sehingga nantinya didapatkan bentuk
sistem yang mampu bekerja secara optimal. Tentunya dengan catatan bahwa
komponen penyusun sistem mudah didapat di pasaran.
3. Membuat susbistem hardware dan software meliputi sistem mekanik, sistem
elektrik, serta programming. Pada gambar 1.1 dapat dilihat sub-sistem yang
akan dibangun untuk sistem parkir mobil. Bagian pertama berupa sensor
cahaya yaitu sensor LDR sebagai masukan yang nanti akan diproses oleh
kontroler. Kontroler yang dipakai menggunakan ATmega32. Masukan
tersebut akan diolah oleh kontroler sebagai pendeteksi ketersediaan parkir
yang tersedia dan terdekat dan akan dikeluarkan dalam bentuk aplikasi antar
muka yang berbasis PC(Personal Computer) menggunakan software Visual
Basic 6.0. Visual Basic akan bekerja sebagai karcis parkir yang diterima oleh
client yang akan masuk ke area parkir dan data yang diterima berupa jumlah
parkir yang tersedia dan letak parkir yang terdekat. Perintah dari Visual Basic
juga bekerja untuk menghidupkan sistem dan untuk pendeteksian sensor yang
ada pada kontoler maka panah dari kontroler menuju ke PC dibuat dua arah
karena saling berhubungan.

Gambar 1.1. Diagram Blok Sistem.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

4. Pembuatan peralatan untuk setiap bagian sistem sesuai dengan fungsinya


masing masing dan menyusun bagian bagian tersebut sebagai kesatuan
yang utuh.
5. Merancang serta menguji minimum system mikrokontroler ATmega32 dengan
software CodeVisionAVR sebagai pengendali sistem secara keseluruhan.
6. Pengujian dan pengambilan data. Pengujian dan pengambilan data penelitian
dilakukan dengan menguji keseluruhan sistem dengan menggabungkan antara
rangkaian kendali dengan rangkaian penampil berikut dengan sensor nya.
Pengujian juga dilakukan dengan mengkomunikasikan minimum system
dengan penampil interface Visual Basic. Pengujian aplikasi Visual Basic
apakah sudah bekerja sesuai dengan yang diharapkan. Pengambilan data juga
dilakukan untuk mengambil nilai tegangan keluaran dan referensi pada sensir
LDR dan komparator.
7. Analisa data dan penyimpulan hasil penelitian. Analisa data dilakukan dengan
mengecek apakah alat sudah bekerja sesuai dengan perancangan awal dan bisa
sesuai dengan kondisi yang diinnginkan, meliputi kemampuan ATmega32
mampu menerima dan mengidentifikasi data dari sensor, kemampuan sensor
kendaraan dapat mendeteksi ketika kendaraan masuk ke dalam tempat parkir
jika kendaraan terdeteksi oleh sensor maka lampu led akan menyala.
Penyimpulan hasil perancangam dilakukan dengan menghitung presentasi
error yang terjadi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB II
DASAR TEORI

2.1. Visual Basic


Visual basicmerupakan suatu bahasa pemrograman yang dikembangkan dari bahasa
pemrograman BASIC (Beginners All-Purposes Symbolic Instruction Code ). Perbedaan
antara Visual basicdan bahasa BASIC adalah pemrograman BASIC masih berorientasi pada
text dan program dijalankan secara berurutan. Untuk itu bahasa BASIC disebut sebagai
Interpreter. Sedangkan dalam Visual basicdengan lingkungan grafiknya, pemrograman
berorientasi obyek dan sudah merupakan compiler. Karena alasan inilah, banyak programmer
baik yang sudah mahir maupun yang baru belajar bahasa pemrograman lebih senang
menggunakannya.
Kelebihan lain dari Visual basic adalah kemampuannya untuk mengkompilasi
program dalam bentuk Native Code, yaitu optimasi pada saat prosesor mengkompilasi dan
menjalankan program tersebut. Keuntungan yang didapat dari Native Code adalah
kecepatannya dalam mengakses program, dimana hal ini hanya dapat ditemui pada aplikasi-
aplikasi yang di-kompilasi dengan bahasa pemrograman C++[2].
Dalam segi komunikasi, terdapat dua cara yang disediakan Visual Basic. Komunikasi
dapat dilakukan dengan menggunakan fitur langsung yang diberikan oleh Visual
basic(MSComm 6.0) dan juga dapat dilakukan dengan USART (menggunakan IC USART).
Pada gambar 2.1 memberikan gambaran mengenai jendela Visual basic6.0. tampilan
di atas akan ditemui ketika bekerja menggunakan Visual basic6.0. Ada beberapa pengertian
dasar yang harus dimengerti ketika akan bekerja menggunakan Visual basic[2], yaitu:
a. Control, yaitu objek yang akan digunakan dalam pemrograman antarmuka. Kontrol yang
digunakan adalah kontrol yang terdapat pada toolbox.
b. Event, adalah aksi yang diberikan pada suatu kontrol, misalnya click pada kontrol tombol.
c. Methods, adalah metode yang digunakan sebelum suatu objek diberi aksi, misalnya hide,
visible load, dan seterusnya.
d. Procedure, adalah sekumpulan perintah, fungsi urut-urutan bagaimana suatu program
dijalankan.
e. Properties, yaitu karakteristik yang melekat pada suatu objek. Misalnya karakteristik
huruf, warna, bentuk, dan seterusnya.

5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Gambar 2.1 Jendela Visual basic6.0


Keterangan:
1. Menu IDE (Integrated Development Environment) Visual Basic
2. Toolbar
3. Project Window
4. Properties Windows
5. Form designer
6. Code Window
7. Toolbox

2.2. Sensor Cahaya LDR (Light Dependent Resistor)


Sensor cahaya LDR adalah salah satu jenis resistor yang dapat mengalami perubahan
resistansinya apabila mengalami perubahan penerimaan cahaya. Besarnya nilai hambatan
pada sensor cahaya LDR tergantung pada besar kecilnya cahaya yang diterima oleh LDR itu
sendiri. LDR sering disebut dengan alat atau sensor yang berupa resistor yang peka terhadap
cahaya. Biasanya LDR terbuat dari cadmium sufida yaitu merupakan bahan semikonduktor
yang resistansinya berubah-ubah menurut banyaknnya cahaya (sinar) yang mengenainya.
Resistansi LDR pada tempat yang gelap biasanya mencapai sekitar 10M dan ditempat
terang LDR mempunyai resistansi yang turun menjadi sekitar 150. Seperti hanya resistor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

konvensional, pemasangan LDR dalam suatu rangkaian sama persis seperti pemasangan
resistor biasa. Simbol LDR dapat dilihat pada gambar 2.2 berikut.[3]

Gambar 2.2. Simbol dan Fisik Sensor Cahaya LDR [3]


Sensor LDR tergolong sensor yang pasif sehingga memerlukan suatu rangkaian
khusus untuk dapat dipergunakan pada suatu aplikasi tertentu seperti rangkaian pembagi
tegangan menggunakan resistor. Pada rangkaian pembagi tegangan tersebut sensor LDR
dipasang seperti resistor yang digunakan untuk membagi tegangan, akan tetapi untuk sensor
LDR nilai tahanannya dapat berubah-ubah seiring dengan perubahan intensitas cahaya
akibatnya nilai tegangan pada hasil keluaran rangkaian pembagi tegangan tersebut juga akan
berubah seiring dengan perubahan intensitas cahaya.[3] Dari gambar dibawah ini didapat
persamaan 2.1 untuk mencari vout:


= . + (2.1)

Gambar 2.3. Rangkaian Pembagi Tegangan Menggunakan Sensor LDR. [3]

2.3. Mikrokontroler AVR ATmega32


AVR (Alf and VegardsRiscProcessor) merupakan seri mikrokontroler CMOS 8-bit
yang diproduksi oleh Atmel berbasis arsitektur RISC (Reduced Instruction Set Computer).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Chip AVR yang digunakan untuk tugas akhir ini adalah ATmega32. Hampir semua instruksi
dieksekusi dalam satu siklus clock dan mempunyai 32 register general-purpose,
timer/counter fleksibel dengan mode compare, interupsi internal dan eksternal, serial UART,
programmable Watchdog Timer, dan power saving mode. AVR juga mempunyai ADC,
PWM internal dan In-System Programmable Flash on-chip yang mengijinkan memori
program untuk diprogram ulang [4].

2.3.1. Arsitektur AVR ATmega32


Mikrokontroler ATmega32 memiliki arsitektur sebagai berikut [4]:
a. Saluran IO sebanyak 32 buah, yaitu Port A, Port B, Port C dan Port D.
b. ADC 10 bit sebanyak 8 Channel.
c. Tiga buah timer/counter yaitu Timer 0, Timer 1, dan Timer 2.
d. Watchdog Timer dengan osilator internal.
e. SRAM sebanyak 512 byte.
f. Memori Flash sebesar 32 kb.
g. Sumber Interupsi internal dan eksternal.
h. Port SPI (Serial Pheriperal Interface)
i. EEPROM on board sebanyak 512 byte.
j. Komparator analog.
k. Port USART (Universal Shynchronous Ashynchronous Receiver Transmitter)

2.3.2. Deskripsi Mikrokontroler ATmega32


Konfigurasi Pin Mikrokontroller ATmega32 dengan kemasan 40-pin DIP (dual in-
line package) dapat dilihat pada Gambar 2.4. Untuk memaksimalkan performa dan
paralelisme, AVR menggunakan arsitektur Harvard (dengan memori dan bus terpisah untuk
program dan data). Ketika sebuah instruksi sedang dikerjakan maka instruksi berikutnya
diambil dari memori program [4].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Gambar 2.4. Konfigurasi Pin Mikrokontroler ATmega32 [4]

Mikrokontroler Atmega 32 memiliki konfigurasi Pin sebagai berikut [4]:


a. VCC (power supply)
b. GND (ground)
c. Port A (PA7..PA0) Port A berfungsi sebagai input analog pada ADC (analog
digital converter). Port A juga berfungsi sebagai suatu Port I/O 8-bit dua arah.
d. 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).
e. 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).
f. 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).
g. RESET (Reset input)
h. XTAL1 (Input Oscillator)
i. XTAL2 (Output Oscillator)
j. AVCC adalah pin penyedia tegangan untuk Port A dan ADC.
k. AREF adalah pin referensi analog untuk ADC.
Port A berfungsi sebagai input analog pada A/D Konverter dan port I/O 8-bit dua
arah. Port B, Port C, Port D adalah suatu port I/O 8-bit dua arah dengan resistor internal
pull-up (yang dipilih untuk beberapa bit).

2.3.3. Organisasi Memori AVR ATmega32


Mikrokontroler ATmega32 memiliki 3 jenis memori yaitu memori program, memori
data dan EEPROM. Ketiganya memiliki ruang sendiri dan terpisah.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

10

2.3.3.1.Memori Program
Kode program disimpan dalam flash memory, yaitu memori jenis non-volatile yang
tidak akan hilang datanya meskipun catu daya dimatikan [5]. Dalam ATmega32 terdapat
32Kbyte On-Chip di dalam sistem Memory Flash Reprogrammable untuk penyimpanan
program. Untuk keamanan perangkat lunak, flash memori dibagi menjadi dua bagian, yaitu
boot program dan bagian aplikasi program [4].

2.3.3.2.Memori Data
Memori data adalah memori RAM (Random Access Memory) yang digunakan untuk
keperluan program. Memori data terdiri dari 32 General Purpose Register (GPR) yang
merupakan register khusus yang bertugas untuk membantu eksekusi program oleh Arithmetic
Logic Unit (ALU) dan I/O register dan additional I/O register yang difungsikan khusus
untuk mengendalikan berbagai peripheral dalam mikrokontroler antara lain pin, port,
timer/counter, USART. ATmega32 memiliki kapasitas memori data sebesar 608 Byte yang
terbagi menjadi 3 bagian yaitu register serba guna, register I/O dan SRAM [6].

2.3.4. Komunikasi Serial USART [4]


Komunikasi data adalah perpindahan data antara dua atau lebih peranti, baik yang
berjauhan maupun yang berdekatan. Perpindahan data antara dua atau lebih peranti dapat
dilaksanakan secara paralel atau seri. Komunikasi seri dapat dibedakan menjadi 2 macam,
yaitu komunikasi dara seri sinkron dan komunikasi data asinkron. Dikatakan sinkron jika sisi
pengirim dan sisi penerima ditabuh (clocked) oleh penabuh (clock) yang sama, satu sumber
penabuh, data dikirim beserta penabuh. Dikatakan asinkron jika sisi pengirim dan sisi
penerima ditabuh oleh penabuh yang terpisah dengan frekuensi yang hampir sama, data
dikirim disertai informasi sinkronisasi.
Pada proses inisialisasi ini setiap perangkat yang terhubung harus memiliki baudrate
yang sama. Beberapa fasilitas yang disediakan USART AVR adalah sebagai berikut:
a) Operasi full duplex (mempunyai register receive dan transmit yang terpisah)
b) Mendukung kecepatan multiprosesor
c) Mode kecepatan berorde Mbps
d) Operasi asinkron atau sinkron
e) Operasi master atau slave clock sinkron
f) Dapat menghasilkan baud-rate (laju data) dengan resolusi tinggi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

11

g) Modus komunikasi kecepatan ganda pada asinkron

2.3.4.1.Inisialisasi USART
Pada mikrokontroler AVR untuk mengaktifkan dan mengeset komunikasi USART
dilakukan dengan cara mengaktifkan register-register yang digunakan untuk komunikasi
USART. Register-register yang digunakan untuk komunikasi USART antara lain:
1. USART I/O Data Register (UDR)
UDR merupakan register 8 bit yang terdiri dari 2 buah dengan alamat yang sama,
yang digunakan sebagai tempat untuk menyimpan data yang akan dikirimkan (TXB) atau
tempat data diterima (RXB) sebelum data tersebut dibaca.

Gambar 2.5. Register UDR [4]

Gambar 2.6. Register UCSRA [4]


Penjelasan bit penyusun UCSRA :
a) RXC (USART Receive Complete)
Bit ini akan set ketika data yang masuk ke dalam UDR belum dibaca dan akan
berlogika nol ketika sudah dibaca. Flag ini dapat digunakan untuk membangkitkan
interupsi RX jika diaktifkan dan akan berlogika nol secara otomatis bersamaan
dengan eksekusi vektor interupsi yang bersangkutan.
b) TXC (USART Transmit Complete)
Bit ini akan set ketika data yang dikirim telah keluar. Flag ini akan membangkitkan
interupsi TX jika diaktifkan dan akan clear secara otomatis bersamaan dengan
eksekusi vektor interupsi yang bersangkutan.
c) UDRE (USART Data Register Empty)
Flag ini sebagai indikator isi UDR. Jika bernilai satu maka UDR dalam keadaan
kosong dan siap menerima data berikutnya, jika flag bernilai nol berarti sebaliknya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

12

d) FE (Frame Error)
Bit ini sebagai indikator ketika data yang diterima error, misalnya ketika stop bit
pertama data dibaca berlogika nol maka bit FE bernilai satu. Bit akan bernilai 0 ketika
stop bit data yang diterima berlogika nol.
e) DOR (Data OverRun)
Bit ini berfungsi untuk mendeteksi jika ada data yang tumpang tindih. Flag akan
bernilai satu ketika terjadi tumpang tindih data.
f) PE (Parity Error)
Bit yang menentukan apakah terjadi kesalahan paritas. Bit ini berfungsi jika ada
kesalahan paritas. Bit akan berlogika satu ketika terjadi bit parity error apabila bit
paritas digunakan.
g) U2X (Double the USART Transmission Speed)
Bit yang berfungsi untuk menggandakan laju data manjadi dua kalinya. Hanya
berlaku untuk modus asinkron, untuk mode sinkron bit ini diset nol.
h) MPCM (Multi Processor Communication Mode)
Bit untuk mengaktifkan modus multi prosesor, dimana ketika data yang diterima oleh
USART tidak mengandung informasi alamat akan diabaikan.
2. USART CONTROL AND STATUS REGISTER B (UCSRB)

Gambar 2.7. Register UCSRB [4]


Penjelasan bit penyusun UCSRB :
a) RXCIE (RX Complete Interrupt Enable)
Bit pengatur aktivasi interupsi penerimaan data serial, akan berlogika satu jika
diaktifkan dan berlogika nol jika tidak diaktifkan.
b) TXCIE (TX Complete Interrupt Enable)
Bit pengatur aktivasi pengiriman data serial, akan berlogika satu jika diaktifkan dan
berlogika nol jika tidak diaktifkan.
c) UDRIE (USART Data Register Empty Interrupt Enable)
Bit ini berfungsi untuk mengaktifkan interupsi data register kosong, berlogika satu
jika diaktifkan dan sebaliknya.
d) RXEN (Receiver Enable)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

13

Bit ini berfungsi untuk mengaktifkan pin RX saluran USART. Ketika pin diaktifkan
maka pin tersebut tidak dapat digunakan untuk fungsi pin I/O karena sudah digunakan
sebagai saluran penerima USART.
e) TXEN (Transmitter Enable)
Bit ini berfungsi untuk mengaktifkan pin TX saluran USART. Ketika pin diaktifkan
maka pin tersebut tidak dapat digunakan untuk fungsi pin I/O karena sudah digunakan
sebagai saluran pengirim USART.
f) UCSZ2 (Character Size)
Bit ini bersama dengan UCSZ1 dan UCSZ0 dalam register UCSRC digunakan untuk
memilih tipe lebar data bit yang digunakan.

Tabel 2.1. Penentuan Ukuran Karakter [4]


UCSZ[2..0] Ukuran Karakter dalam
bit
0 5
1 6

10 7
11 8
100-110 Tidak dipergunakan
111 9

g) RXB8 (Receive Data Bit 8)


Bit ini digunakan sebagai bit ke-8 ketika menggunakan format data 9-10 bit, dan bit
ini harus dibaca dahulu sebelum membaca UDR.
h) TXB8 (Transmit Data Bit 8)
Bit ini digunakan sebagai bit ke-8 ketika menggunakan format data 9-10 bit, dan bit
ini harus ditulis dahulu sebelum membaca UDR.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

14

3. USART CONTROL AND STATUS REGISTER C (UCSRC)

Gambar 2.8. Register UCSRC [4]


Penjelasan bit penyusun UCSRC :
a) URSEL (Register Select)
Bit ini berfungsi untuk memilih register UCSRC dengan UBBRH, dimana untuk
menulis atau membaca register UCSRC maka bit harus berlogika satu.
b) UMSEL (USART Mode Select)
Bit pemilih mode komunikasi serial antara sinkron dan asinkron.
c) UPM[10] (Parity Mode)
Bit ini berfungsi untuk memilih mode paritas bit yang akan digunakan. Transmittter
USART akan membuat paritas yang akan digunakan secara otomatis.
d) USBS (Stop Bit Select)
Bit yang berfungsi untuk memilih jumlah stop bit yang akan digunakan.
e) UCSZ1 dan UCSZ0
Merupakan bit pengatur jumlah karakter serial Bit yang berfungsi untuk memilih
lebar data yang digunakan dikombinasikan dengan bit UCSZ2 dalam register
UCSRB.
f) UCPOL (Clock Parity)
Bit yang berguna hanya untuk modus sinkron. Bit in berhubungan dengan perubahan
data keluaran dan sampel masukkan, dan clock sinkron (XCK).

2.4. Komparator
Komparator adalah suatu rangkaian pembanding dimana dapat mendeteksi suatu
sinyal pada level tegangan tertentu, atau bukan nol. Hal ini dapat dilakukan dengan
memberikan tegangan refrensi (Vref) pada salah satu terminal masukan. Ada beberapa cara
untuk mendapatkan tegangan refrensi. Contohnya yaitu dapat dilihat pada gambar 2.21 yaitu
dengan pembagi tegangan dan gambar 2.19 dengan menggunakan dioda zener [10].
Sesuai dengan karakteristik op-amp sebagai komparator, jika[10] :

Vin > Vref Vout = + Vout(max) (High)


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

15

Vin < Vref Vout = - Vout(max) (Low)

Gambar 2.9. Rangkaian Umum Komparator dengan Pembagi Tegangan [23]

Gambar 2.10. Rangkaian Umum Komparator dengan Dioda Zener [10]

Gambar 2.11. Karakteristik Grafik Komparator [10]


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

16

2.5. Regulator Tegangan IC 78xx


Rangkaian penyearah pada dasarnya sudah cukup bagus jika tegangan ripple-nya
kecil, namun ada masalah pada stabilitas tegangan yang dihasilkan. Regulator tegangan tipe
78xx adalah salah satu regulator tegangan tetap dengan tiga terminal, yaitu terminal Vin,
GND dan Vout. Regulator tegangan 78xx dirancang sebagai regulator tegangan tetap.
Kongifurasi pin IC regulator ditunjukan pada Gambar 2.11.

Gambar 2.12. Konfigurasi Pin IC Regulator [11]

Tabel 2.3 menunjukkan spesifikasi IC regulator seri 78xx denga keluaran dan masukan
minimum dan maksimum.

Tabel 2.2 Karakteristik Regulator Tegangan IC 78xx [12]

VIN (Volt)
Type VOUT (Volt)
Min Maks
7805 5 7,3 20
7806 6 8,3 21
7808 8 10,5 23
7810 10 12,5 25
7812 12 14,6 27
7815 15 17,7 30
7818 18 21 33
7824 24 27,1 38
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

17

Gambar 2.13. Rangkaian Umum Regulator 78xx [12]

Nilai komponen c1 dan c2 difungsikan sebagai filter capasitor yang bertujuan untuk
menghilangkan tegangan ripple agar tegangan keluaran menjadi lebih stabil. Untuk
mendapatkan nilai capasitor yang sesuai, dapat mengacu pada persamaan 2.1 dan 2.2 [12].

2.4 2.4
= 4 = = (2.2)
3 .

( )
= 100% (2.3)

2.6. Algoritma

2.6.1. Pengenalan Graf


Graph tersusun atas titik-titik yang dinamakan vertex, dan garis-garis yang
menghubungkan titik tersebut, yang dinamakan rusuk. Suatu Graph G, terdiri atas dua
himpunan terhingga, yaitu himpunan titik-titik V, dinamakan vertex, dan himpunan garis-
garis yang menghubungkannya E, dinamakan rusuk, sehingga setiap rusuk menghubungkan
dua vertex, yang dinamakan titik ujung rusuk tersebut, dapat dinotasikan G=(V,E). Graph
didalam bidang listrik sering disebut dengan istilah jaringan, dalam hal ini diperlukan
DiGraph (graph searah) yang setiap rusuknya mempunyai arah yang ditunjukan oleh tanda
panah. DiGraph G=(V,E) ialah suatu Graph yang mempunyai rusuk e=(i,j) mempunyai arah
dari titik awal-nya i ke titik akhir-nya j, untuk lebih jelasnya dapat dilihat pada gambar
2.13. [15]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

18

Gambar 2.14. DiGraph (Graph terarah)[15]


Pada gambar 2.18 terdapat 4 vertex yaitu 1, 2, 3, 4, dan 7 rusuk yaitu: e1, e2, e3, e4, e5, e6,
dan e7. Misal untuk e1 dapat dituliskan e1=(1,2).

2.6.1.1 Representasi Graf


Untuk pemrosesan dengan komputer atau otomatisasi, graf direpresentasikan dalam
bentuk matriks. Ada beberapa representasi yang sering digunakan untuk merepresentasikan
graf dalam bentuk matriks, diantaranya matriks ketetanggaan (adjacency matrix), matriks
bersisian (incidency matrix), dan senarai ketetanggaan (adjacency list) [16].
Matriks ketetanggaan atau dikenal juga dengan sebutan adjacency matriks adalah
salah satu representasi graf yang sering digunakan. Matriks ketetanggaan ini menyatakan
status ketetanggan sebuah simpul apakah ia bertetangga dengan simpul yang lainnya atau
tidak.
Definisi suatu simpul bertetangga dengan simpul lainnya [16] ialah Dua buah simpul
pada graf tak-berarah G dikatakan bertetangga bila keduanya terhubung langsung dengan
sebuah sisi. Dengan kata lain, vi bertetangga dengan vk jika (vi,vk) adalah sebuah sisi pada
graf G. Untuk graf tidak berbobot, matriks hanya berisikan angka 0 atau 1, yang berarti 0
jika antar simpulnya tidak bertetangga, dan angka 1 jika antar simpulnya bertetangga. Untuk
graf berbobot, matriks tidak diisi dengan angka 0 atau 1 saja, tetapi menggunakan bobot
masing-masing sisi graf tersebut. Untuk simpul yang tidak memiliki sisi yang
menghubungkan dengan simpul lain, maka matriks bagian kolom dan baris tersebut diisi
dengan .
Matriks ketetanggaan untuk graf sederhana dan tidak berarah selalu simetri,
sedangkan untuk graf berarah matriks nya belum tentu simetri.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

19

2.6.2. Algoritma Dijkstra


Algoritma Dijkstra merupakan algoritma yang digunakan dalam tugas akhir ini untuk
melakukan pencarian jalur terpendek dari satu titik awal ke titik tujuan.
Algoritma Dijkstra adalah algoritma untuk mencari jalur (path) yang termurah dari
satu vertex awal ke vertex akhir [14]. Algoritma ini berbasis pada teknik greedy, di mana
digunakan sebuah himpunan vertex S yang mula-mula diisi dengan vertex awal. Pada setiap
langkah vertex v berikutnya yang memiliki bobot terkecil atau biaya termurah, ditambahkan.
Sebuah array D biasa digunakan untuk merekam panjang jalur terpendek dari vertex awal ke
vertex akhir.[14]

2.6.2.1. Algoritma Dijkstra Untuk Lintasan Terpendek


1. Langkah awal
Label titik dengan (s)=0 dab untuk setiap titik v di G selain s, label titik v dengan
(v)=.
2. Misalkan u T dengan (u) minimum.
3. Jika u=t.STOP, dan beri pesan:Panjang lintasan terpendek dari s ke t adalah (t).
4. Untuk setiap garis e=uv, v T, ganti label v dengan (v)=minimum { (v), (u) +
w(e)}.
5. Tulis T=T-{u}, dan kembali ke step 2.

Keterangan :
s=titik awal
t=tujuan
G=Graph
U=PL
T=TL

Gambar 2.15. Penerapan Algoritma Dijkstra ke Suatu Graf


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

20

Contoh penerapan algoritma Dijkstra ke suatu graf seperti pada gambar berikut ini:

Jawab :
1. L1=0, ~L2=8, ~L3=5, ~L4=7 PL={1}, TL={2.3.4}
2. L3=min {~L2,~L3,~L4}=5, k=3 PL={1,3}, TL={2,4}
3. ~L2=min {8, L3+l32}=min {8, 5+1}=6
~L4=min {7, L3+l34}=min {7, }=7
2. L2= min {~L2,~L4}=6, k=2 PL={1,2,3}, TL={4}
3. ~L4=min {7, L2+l24}= min {7, 6+2}=7
2. L4= 7, k=4 PL={1,2,3,4}, TL={ }
Sehingga lintasan terpendek yang dihasilkan masing-masing :
L2=6, L3=5, L4=7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB III

PERANCANGAN PENELITIAN
Dalam bab III ini akan dibahas mengenai perancangan perangkat keras dan
perancangan perangkat lunak. Pembahasan meliputi :

a. Proses kerja dan mekanisme sistem parkir mobil


b. Perancangan mekanik sistem parkir mobil
c. Perancangan perangkat keras (hardware)
d. Perancangan perangkat lunak (software)

3.1. Proses Kerja dan Mekanisme Sistem Parkir Mobil

Gambar 3.1. Diagram Blok Sistem

Sistem parkir mobil dirancang untuk mendeteksi tempat parkir yang terdekat dari
pintu masuk kendaraan dan juga mendeteksi jumlah pakir yang tersedia disetiap blok nya.
Proses awal sistem dimulai dari client atau mobil yang akan masuk ke area parkir mobil
yang akan mengambil tiket masuk kendaraan melalui PC dengan menekan tombol perintah
cek kondisi pada aplikasi Visual Basic, setelah itu perintah tersebut akan dikirim ke
mikrokontroler melalui USB to TTL converter setelah perintah diterima maka
mikrokontroler mendeteksi sensor untuk mendeteksi keberadaan letak parkir yang masih

21
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

22

kosong dan tersedia setelah karakter dari sensor diolah dan dideteksi oleh mikrokontroler
maka karakter dikirim kembali ke PC melalui USB to TTL converter untuk ditampilkan
pada GUI Visual Basic, sehingga client dapat menerima informasi mengenai informasi
letak parkir yang terdekat dan tersedia. Seperti ditunjukan pada gambar 3.1 yang
merupakan diagram blok sistem.

3.2. Perancangan Mekanik Sistem Parkir Mobil

Pada perancangan mekanik dari sistem parkir, antara lain mendesain prototype
sistem parkir, perancangan design tempat parkir, penggunaan dasar untuk pembuatan
prototype yaitu akrilik setebal 3mm. Dan dimensi prototype menggunakan ukuran sebesar
70cm x 35cm. Desain prototype ini menggunakan Software Corel Draw.

Gambar 3.2. Rancangan Prototype Sistem Parkir dalam 3 dimensi

Keterangan Gambar:

1. Pintu masuk kendaran


2. Pintu keluar kendaraan
3. Sensor LDR
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

23

4. Tempat peletakan rangkaian pengontrol dan komparator (terletak didalam box


akrilik)
5. Tempat parkir kendaraan
6. Jack Male
7. Saklar

Gambar 3.3. Perancangan Design Parkir Mobil Tampak Atas

Perancangan design parkir mobil ini dapat menampung sejumlah 20 buah mobil
yang dibagi dalam 5 blok antara lain, blok PA PB PC PD dan blok PE, dimana setiap blok
parkir dapat menampung 4 buah kendaraan atau terdapat 4 row . Jarak tiap slot parkir
adalah 0.3cm. Pada gambar 3.3 diatas dapat terlihat juga jalur yang akan dilewati oleh
mobil supaya bisa dilakukan optimasi.

3.3. Perancangan Perangkat Keras

Ada beberapa bagian utama dalam perancangan subsistem perangkat keras


prototype sistem parkir mobil, yaitu :

a. Minimum system ATmega32 dan Regulator Tegangan IC 7805


b. Sensor Light Dependent Resistor (LDR)
c. Komparator IC LM324
d. Optimasi dengan Algoritma Dijkstra
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

24

3.3.1. Minimum System ATmega32 dan Regulator Tegangan 7805

Rangkaian minimum system berfungsi sebagai I/O untuk mengontrol atau


mengendalikan sensor LDR yang telah diprogram dalam mikrokontroler ATmega32 pada
blok parkir mobil. Mikrokontroler membutuhkan minimum system yang terdiri dari
rangkaian eksternal yaitu, rangkaian osilator, rangkaian reset.
Untuk rangkaian osilator digunakan crystal dengan frekuensi sebesar 11,0592 MHz
dan menggunakan kapasitor 22 pf pada pin XTAL1 dan XTAL2 di mikrokontroler.
Rangkaian osilator ini berfungsi sebagai sumber clock bagi mikrokontroler. Pemberian
kapasitor bertujuan untuk memperbaiki kestabilan frekuensi yang diberikan oleh osilator
eksternal. Gambar 3.4 menunjukkan rangkaian osilator.
Pada pembuatan tugas akhir ini, regulator digunakan sebagai pemberi daya pada
minimum system ATmega32, komparator, dan sensor LDR dan arus yang digunakan
sebesar 1,5 mA dan keluaran tegangannya sebesar 5 Volt, maka menggunakan Regulator
7805 sesuai dengan karakteristiknya.

Gambar 3.4. Rangkaian Osilator ATmega32 [6]

Perancangan rangkaian reset bertujuan untuk memaksa proses kerja pada


mikrokontroler dapat diulang dari awal. Saat tombol reset ditekan maka mikrokontroler
mendapat input logika rendah, sehingga akan me-reset seluruh proses yang sedang
dilakukan mikrokontroler. Gambar 3.5 adalah rangkaian reset untuk ATmega32.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

25

Gambar 3.5. Rangkaian Reset ATmega32[6/4]

Pada gambar 3.6 terdapat resistor yang memiliki resistansi sebesar 4,7 K yang
difungsikan sebagai pull-up. Resistor pull-up eksternal dapat digunakan untuk menjaga
agar pin RESET tidak berlogika 0 secara tidak disengaja. Kapasitor 10nF digunakan untuk
menghilangkan noise yang disusun seri dengan resistor. Rangkaian reset minimum system
ATmega32 merupakan gabungan dari rangkaian push-button dan low-pass filter

Gambar 3.6. Rangkaian Minimum System ATmega32 dan Regulator Tegangan 7805
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

26

3.3.2. Sensor Light Dependent Resistor

Sensor LDR digunakan untuk mendeteksi ketersediaan parkir mobil yang diletakan
pada bagian permukaan disetiap blok parkir. Cara kerjanya yaitu jika sensor LDR terhalang
oleh mobil, maka lampu led yang terdapat pada komparator akan menyala yang berarti
bahwa tempat parkir tersebut telah terisi, namun jika sensor tidak terhalang maka lampu
led pada komparator akan mati maka tempat parkir tersebut masih kosong. Pada bagian
sensor LDR ini menggunakan rangkaian pembagi tegangan untuk mengetahui nilai Vout,
dan dari nilai Vout itu digunakan untuk mengetahui kondisi high/low pada saat sensor
menerima cahaya atau tidak menerima cahaya. dan dapat diketahui dengan persamaan
pembagi tegangan berikut:


= . + (3.1)

Resistor yang akan digunakan adalah sebesar 10K, saat sensor LDR ditutup atau
berada ditempat gelap maka besar nilai R pada LDR adalah sebesar 10M maka didapat
Vout sebesar:
10000
= 5. 10000 +10=4.995 x 10-3 Volt

Dari hasil vout bisa diketahui bahwa pada saat tegangan keluaran sebesar 5 x 10-7
Volt maka kondisi sensor adalah low atau mati. Tetapi pada saat sensor dibuka atau
menerima cahaya, besar nilar R pada LDR sebesar 150 maka didapat Vout sebesar:
10000
= 5. 10000 +150=4.92 Volt

Dari hasil vout bisa diketahui bahwa pada saat tegangan keluaran sebesar 2 volt
maka kondisi sensor adalah high atau menyala dan rangkaian Sensor LDR dengan pembagi
tegangan ditunjukan pada Gambar 3.7.

Gambar 3.7. Rangkaian Sensor Light Dependent Resistor


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

27

3.3.3. Komparator

Komparator digunakan untuk rangkaian pembanding dimana dapat mendeteksi


suatu sinyal pada level tegangan tertentu supaya sinyal terbaca pada output
mikrokontroler,rangkaian komparator menggunakan IC LM324 karena didalam IC tersebut
terdapat 4 buah komparator yang disesuaikan dengan kebutuhan untuk mengaktifkan 20
sensor sehingga dalam pembuatan tugas akhir ini penulis membuat 5 buah rangkaian
komparator. Rangkaian pada gambar dibawah ini adalah gambar rangkaian dari LM324
dimana terdapat 4 komparator yang terhubung dengan sensor.

Gambar 3.8. Rangkaian Komparator IC LM324


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

28

3.3.4. Algoritma Dijkstra

Algoritma ini digunakan untuk melakukan pencarian jalur terpendek dari satu titik
awal ke titik tujuan, titik awal berupa pintu masuk kendaraan dan titik akhir adalah tempat
parkir mobil yang terdeteksi kosong atau masih tersedia.

Penerapan algoritma dijkstra dalam sistem parkir ini dilakukan dengan penerapan
ke dalam bentuk graf seperti yang tertera pada gambar 3.9. Merupakan letak blok parkir
yang diimplementasikan ke dalam bentuk graf dimana titik awalnya adalah X dimana X
adalah pintu masuk kendaraan dan A,B,C,D, dan E merupakan letak dari blok parkir pada
sistem parkir. Dari gambar graf ini dapat dicari lintasan terpendek dengan algoritma
dijkstra dibawah ini:

1. Lx=0, ~LA=3, ~LB=3, ~LC=, ~LD=9, ~LE= PL={X}, TL={A,B,C,D,E}

2. LA=min {~LA,~LB,~LC, ~LD, ~LE}=3, k=A PL={X,A}, TL={B,C,D,E}

3. ~LB=min {3, LA+lAB}=min {3, 3+4}=3

~LC=min {, LA+lAC}=min {, 3+4}=7

~LD=min {9, LA+lAD}=min {9, 3+}=9

~LE=min {, LA+lAE}=min {, 3+}=

2. LB= min {~LB,~LC, ~LD , ~LE}=3, k=B PL={X,A,B}, TL={C,D,E}

3. ~LC=min {7, LB+lBC}=min {7, 3+}=7

~LD=min {9, LB+lBD}=min {9, 3+}=9

~LE=min {, LB+lBE}=min {, 3+2}=5

2. LE= min {~LC,, ~LD , ~LE}=5, k=E PL={X,A,B,E}, TL={C,D}

3. ~LC=min {7, LE+lEC}=min {7, 5+}=7

~LD=min {9, LE+lED}=min {9, 5+5}=9

2. LC= min {~LC , ~LD}=7, k=C PL={X,A,C,B,C}, TL={D}

3. ~LD=min {9, LC+lCD}=min {9, 7+3}=9

2. LD=9,k=9 PL={X,A,B,C,D,E}, TL={}


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

29

Sehingga lintasan terpendek yang dihasilkan masing-masing :

LA=3, LB=3, LC=7, LD=9, LE=5

Gambar 3.9. Graf lintasan terpendek pada blok parkir

3.4. Perancangan Perangkat Lunak

Perancangan perangkat lunak merupakan tahap pembuatan program yang nantinya


difungsikan untuk menjalankan sistem ketersediaan parkir agar sesuai dengan tugas dan
tujuannya. Perancangan perangkat lunak meliput program utama dan program perantara.
Program utama terdiri dari program yang terdapat pada mikrokontroler dan program
perantara adalah program yang terdapat pada PC yaitu pada Visual Basic dan Optimasi
Algoritma Dijkstra.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

30

3.4.1. Program Mikrokontroler

Gambar 3.10. Diagram Alir Pengendalian Sistem Ketersediaan Parkir Mobil pada
Mikrokontroler

Pada mikrokontroler digunakan sebagai proses pengaturan pengolahan data sensor


untuk mendeteksi ketersediaan parkir. Dimana didalam mikrokontroler ini akan mengolah
data dari sensor LDR kemudiam setelah data diolah akan dikirim menuju laptop untuk
ditampilkan pada aplikasi interface berbasis PC (Personal Computer) yaitu Visual Basic
menggunakan komunikasi serial. Proses awal adalah inisialiasai ATMega32 dan sensor
LDR, proses selanjutnya adalah pengambilan keputusan tentang data yang masuk, data
yang masuk ini merupakan perintah dari PC untuk mengecek kondisi parkir, perintah
tersebut akan diterima oleh mikrokontroler karena menggunakan komunikasi dua arah
antara mikrokontroler dengan PC, jika tidak ada data masuk maka sistem kembali keatas
untuk melakukan inisialisasi, namun jika ada data y yang masuk maka mikro akan
mendeteksi sensor satu-persatu apakah ada sensor yang terdeteksi jika tidak maka proses
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

31

akan kembali keawal untuk proses inisialisasi, setelah itu adalah pengecekan 20 sensor
pada setiap row pada blok parkir proses dilakukan dengan proses subrutin pada setiap blok
PA sampai dengan blok PE, setelah pengecekan adalah pengiriman paket data yang akan
dijelaskan melalui format paket data pada 3.4.2 setelah pengiriman paket data adalah
proses pengambilan keputusan tentang adanya while(i) atau tidak, jika tidak maka proses
selesai, tetapi jika ya maka proses akan kembali ke proses adanya data yang masuk atau
tidak, kondisi while(i) ini adalah pengulangan pada mikrokontroler saat ada atau tidak data
M yang masuk tadi, atau ada tidaknya client yang akan mengecek kondisi tempat parkir.
Diagram alir pengendalian ketersedian parkir mobil pada mikrokontroler dapat dilihat pada
gambar 3.10.

3.4.2.Diagram Alir Subrutin Cek Sensor Blok PA

Gambar 3.11. Diagram Alir Subrutin Cek Sensor Blok PA


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

32

3.4.3.Diagram Alir Subrutin Cek Sensor Blok PB

Gambar 3.12. Diagram Alir Subrutin Cek Sensor Blok Pb

3.4.4.Diagram Alir Subrutin Cek Sensor Blok PC

Gambar 3.13. Diagram Alir Subrutin Cek Sensor Blok PC


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

33

3.4.5.Diagram Alir Subrutin Cek Sensor Blok PD

Gambar 3.14. Diagram Alir Subrutin Cek Sensor Blok PD

3.4.6.Diagram Alir Subrutin Cek Sensor Blok PE

Gambar 3.15. Diagram Alir Subrutin Cek Sensor PE


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

34

3.4.7. Format Paket Data

Format paket data yang akan dikirimkan sejumlah 20 karakter, 20 karakter tersebut
merupakan data fix semua sensor yang akan diolah pada mikrokontroler yaitu sebanyak 20
buah sensor. Paket data tersebut digunakan untuk mendeteksi sensor yang terdeteksi
maupun tidak yang nantinya dari master akan dikirim menuju slave untuk mengetahui
posisi tempat parkir yang terdeteksi masih kosong dan lokasi yang terdekat yang nantinya
akan diolah oleh slave dengan optimasi, simbol perintah tersebut diawali dengan karakter
* dan diakhiri dengan karakter #. Format data tersebut adalah data yang akan dikirim
oleh master, berikut format data yang akan dikirim pada paket data disesuaikan dengan
lokasi sensor yang terdapat pada setiap blok parkir:

*PA1PA2PA3PA4PB1PB2PB3PB4PC1PC2PC3PC4PD1PD2PD3PD4PE1PE2PE3PE4#

Dari format paket data tersebut bisa dijelaskan pada tabel 3.1. sebagai berikut:

Tabel 3.1. Format Paket Data

Format H P P P P P P P P P P P P P P P P P P P P E
Sensor A A A A B B B B C C C C D D D D E E E E
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
Contoh Data * 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 #
Contoh Paket
Data *00000000000000011111#

Keterangan :
0=Tidak Terisi
1=Terisi
Berdasarkan contoh data yang dijelaskan pada tabel 3.1. ditunjukkan data memiliki
format data dengan jumlah karakter yang telah disepakati oleh sistem, data lokasi sensor
berupa nama blok daro setiap tempat parkir yaitu dari blok P.A1 sampai dengan P.E4 yaitu
sejumlah 20 tempat blok parkir sehingga sensor membutuhkan sebanyak 20 buah. Data
yang dikirimkan adalah 0 dan 1, dimana 0 menunjukkan kondisi saat blok parkir belum
terisi oleh mobil, dan 1 menunjukkan kondisi saat blok parkir sudah terisi oleh mobil.
Karakter yang dikirim sejumlah 20 karakter, setiap sensor mengirimkan 1 buah karakter.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

35

3.4.8. Program pada Visual Basic

Gambar 3.16. Diagram Alir Program Visual Basic

Gambar 3.16 menunjukkan diagram alir pada penampil Visual Basic. Pada proses
ini, penampil digunakan sebagai simulasi karcis parkir yang diterima oleh pengguna jasa
parkir yang akan masuk ke area parkir. Awal nya adalah proses user saat menekan tombol
cetak yang terdapat pada perintah Visual Basic, jika user menekan tombol perintah cetak
maka VB akan mengirim karakter y secara serial menuju mikrokontroler, dan proses
menunjukkan bahwa sistem menggunakan komunikasi dua arah, namun jika tidak maka
proses akan kembali ke awal. Setelah pengiriman karakter maka selanjutnya adalah
pengambilan keputusan, apakah VB menerima info data sensor yang telah terdeteksi yang
diolah pada mikrokontroler, jika tidak maka bisa disebabkan oleh info yang diterima
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

36

mikro bekum selesai diolah sehingga user tidak menerima informasi yang didapat,
sehingga user harus menunggu beberapa saat kemudian menekan kembali tombol cetak ,
namun jika ya maka proses selanjutnya adalah proses sub program optimasi dengan
algotirma dijkstra untuk pencarian jalur terpendek yang akan dilalui oleh mobil, setelah itu
proses yang terakhir hasil data dari optimasiakan tampil pada penampil berupa informasi
jalur yang akan dilewati mobil.

3.4.9. Diagram Alir Subrutin Proses Optimasi Hasil Data

Gambar 3.17. Diagram Alir Subrutin Optimasi Hasil Data

Program optimasi dengan algoritma dijkstra, program ini digunakan untuk


memberikan informasi letak parkir terdekat dan algoritma dijkstra digunakan untuk
melakukan pencarian jalur terpendek dari satu titik awal ke titik tujuan . Pada gambar 3.17
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

37

menunjukkan diagram alir subrutin optimasi hasil data, proses diawali dengan melakukan
inisialisasi titik awal yaitu dalam sistem titik awal merupakan pintu masuk kendaraan dan
inisialiasi jarak pada setiap blok parkir setelah inisialisasi adalah proses pemberian tabel
sementara untuk jarak pada setiap blok parkir, selanjutnya adalah penentuan jarak
minimum dari lokasi parkir yang terdeteksi kosong dimana jarak minimum atau vertex
yang minimum merupakan bagian dari penetapan tabel sementara yang telah ditentukan
diproses sebelumnya, selanjutanya adalah proses pengambilan keputusan apakah vertex
yang terdeteksi minimum tadi adalah titik dari tujuan yang diinginkan atau tidak, Jika ya
maka lintasan terpendeknya ditemukan dan proses selesai, jika tidak maka proses akan
kembali untuk mencari jarak minimum dari lokasi parkir yang terdeteksi kosong sampai
menemukan kondisi dimana vertex yang terdeteksi minimum merupakan tujuan akhir yang
dituju.

3.4.10. Perancangan Interface Visual Basic

Tujuan pembuatan Interface yaitu agar mempermudah dalam pengawasan program


yang sedang terjadi atau dieksekusi. Interface pada Visual Basic memiliki peran yang
sangat baik karena pengguna akan dapat melihat apa yang sedang terjadi didalam program
seperti pemrosesan data dan lain lain selain itu perancangan ini juga berfungsi sebagai
penampil karcis parkir yang diterima saat pengguna jasa parkir masuk kedalam tempat
parkir. Perancangan Interface Visual Basic yang akan dibuat dapat ditunjukan pada gambar
3.14. Terdapat beberapa perintah toolbox yang digunakan seperti tombol cetak untuk
memulai proses dimana tombol perintah cetak berfungsi untuk mencetak karcis parkir
yang akan diterima oleh client, terdapat juga tombol check kondisi untuk mengetahui
informasi jalur lokasi mana yang harus ditempuh oleh client dan tombol perintah ini juga
berfungsi sebagai komunikasi dua arah (half) dari Visual Basic untuk diteruskan ke
mikrokontroler dan juga sebagai tombol untuk memulai sistem ini, pada perancangan
interface ini terdapat informasi mengenai kondisi parkir yang berisi tentang informasi
jumlah parkir yang masih tersedia, selain itu juga ada perintah untuk menuju ke lokasi
parkir yang masih kosong terdekat, dan juga jalur mana yang harus ditempuh mobil untuk
memudahkan pengguna jasa parkir dalam memperoleh informasi dari tiuket karcis yang
diterima.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

38

Gambar 3.18. Perancangan Interface pada Visual Basic


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

39

BAB IV

HASIL PENGAMATAN DAN PEMBAHASAN


Pada bab ini akan dibahas mengenai hasil pengamatan dari prototype sistem parkir
sebagai optimasi ketersediaan tempat parkir mobil. Hasil pengamatan berupa pengujian
sensor cahaya LDR mendeteksi adanya kendaraan yang masuk dan keluar dari lokasi parkir,
GUI Visual Basic yang berfungsi sebagai penampil karcis masuk sudah menampilkan kondisi
sesuai dengan sistem optimasi menggunakan algoritma dijkstra, dan pembahasan perangkat
lunak.

4.1. Bentuk Fisik dan Sistem Kerja Parkir Mobil


Perangkat keras sistem parkir mobil tersusun atas sistem minimum ATmega32 dan
regulator sebagai penguat arus seperti pada gambar 4.1 dan gambar 4.2 dan bentuk fisik
prototype sistem parkir beserta dengan rangkaian pengontrol ditunjukkan pada gambar 4.3,
gambar 4.4, gambar 4.5, dan gambar 4.6.

Gambar 4.1 menunjukkan board dari sistem minimum ATmega32 sebagai


pemrosesan data yang diterima dari hasil pengolahan data yang dikirim oleh computer/laptop
untuk memperoleh data kondisi dari tiap sensor LDR, gambar 4.2 menunjukkan board dari
regulator tegangan sebagai penguat arus, gambar 4.3, 4.4, 4.5 dan 4.6. menunjukkan
prototype keseluruhan sistem parkir mobil dan bagian-bagiannya yang terdiri dari rangkaian
pengontrol yang terdapat didalam box akrilik yaitu rangkaian minimum system, regulator
tegangan, dan juga rangkaian komparator

Gambar 4.1. Sistem Minimum ATmega32 Gambar 4.2. Regulator Tegangan


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

40

Gambar 4.3. Denah Parkir Mobil Gambar 4.4. Prototype Parkir Mobil

Gambar 4.5. Komparator IC LM324 Gambar 4.6. Rangkaian Pengontrol

Mekanisme kerja sistem prototype parkir mobil adalah interface pada aplikasi Visual
Basic akan memberikan informasi kepada client letak parkir yang kosong dan terdekat
dengan pintu masuk secara otomatis sesuai dengan perintah yang telah di program, dan saat
client menekan tombol cetak pada Visual Basic maka tiket akan tercetak secara otomatis
melaui perangkat keras yaitu printer. Proses yang terjadi ketika catu daya regulator pada
posisi ON yaitu sistem akan bekerja pada saat client akan masuk menuju tempat parkir,
saat akan masuk kedalam lokasi parkir client harus menekan tombol cek parkir pada
penampil Visual Basic, saat client menekan tombol cek parkir, maka mikrokontroler
ATmega32 akan mengirimkan karakter M secara serial melalui komunikasi serial USART.
Kemudian laptop akan menerima karakter tersebut berupa kondisi dari sensor LDR dan
kondisi yang didapat dari mikrokontroler ATmega32 diolah oleh PC melalui Visual Basic
untuk memperoleh informasi letak blok parkir yang masih kosong dan terdekat.Proses
selanjutnya yaitu Visual Basic akan menampilkan informasi berupa tampilan kepada client
berupa denah lokasi parkir, dan informasi blok parkir yang ditujukkan untuk client yanng
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

41

akan masuk kedalam lokasi parkir. Setelah Visual Basic menampilkan informasi denah parkir
dan informasi blok, tiket yang diterima client akan secara otomatis tercetak melalui perangkat
keras printer. Proses akan berulang kembali saat ada mobil yang akan masuk kedalam lokasi
parkir, ketika parkir penuh maka akan muncul pesan bahwa parkir sudah penuh.

4.2. Hasil Data Pengujian dan Pembahasan


Pada sub bab ini, dilakukan pengujian dan pembahasan terhadap perangkat keras dan
pengujian aplikasi sistem optimasi ketersediaan tempat parkir mobil, pengujian perangkat
keras dilakukan dengan pengujian sensor LDR, dan pengujian komparator. Pengujian pada
aplikasi dilakukan dengan pengujian pada form di Visual Basic antara lain, form komunikasi
serial apakah data yang diterima sudah sesuai, form utama aplikasi penampil apakah tombol
cek parkir saat ditekan oleh client akan mengirimkan karakter M menuju ke
mikrokontroler ATmega32, pengujian form denah parkir mobil apakah denah parkir yang
terdapat pada form menampilkan keadaan sesuai dengan kondisi mobil yang ada di prototype
dan apakah optimasi untuk pencarian lokasi terdekat sudah sesuai, dan yang terakhir adalah
pengujian pencetakan tiket apakah tiket mau tercetak diperangkat keras printer dan
menampilkan informasi yang diinginkan.

4.2.1. Pengujian Perangkat Keras


Pengujian perangkat keras dilakukan pada perangkat elektronik yaitu Sensor LDR dan
Komparator dilakukan dengan pengukuran tegangan, pengukuran tegangan reverensi pada
sensor LDR.Pengambilan data dilakukan pada setiap blok parkir atau sebanyak 20 data.
Pengambilan data tersebut berfungsi untuk menguji perbandingan antara nilai teori dan
sistem yang terdapat pada alat apakah sudah sesuai dengan teori atau tidak.

4.2.1.1. Pengujian Sensor LDR dan Komparator Didalam Ruangan


Pengujian sensor LDR dan Komparator didalam ruangan ini dilakukan dengan
cara pengambilan nilai tegangan keluaran sensor LDR dan nilai tegangan reverensi (Vref)
pada potensio di komparator, data diambil sebanyak 20 kali pada setiap blok parkir yang
terdapat pada sistem prototype.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

42

Tabel 4.1. Nilai VLDR, dan Vref Didalam Ruangan


Parkir V LDR V Ref
(volt) (volt)

Ada Tidak Ada


Mobil Mobil

A 1 0 1.26 0.79

2 0 1.16 0.56

3 0.03 3.14 2.3

4 0.02 3.09 2.4

B 1 0.11 1.23 0.24

2 1.03 4.00 0.76

3 0.36 3.51 2.90

4 0.08 1.30 0.23

C 1 0.34 1.94 1.52

2 0.29 3.28 2.40

3 0.28 3.24 2.71

4 0.03 1.33 0.94

D 1 0 3.24 2.64

2 0 1.21 0.63

3 0 2.67 2.33

4 0 2.60 1.92

E 1 0.18 2.74 2.46

2 0.03 2.61 2.10

3 0 1.03 0.57

4 0.01 0.80 0.21

Tabel 4.1. menunjukkan nilai tegangan pada output sensor LDR pada saat ada
mobil dan tidak ada mobil, dan tegangan referensi pada potensio di komparator. Nilai
tegangan keluaran pada sensor yang didapat pada saat keadaan ada mobil rata-rata lebih kecil
dibandingan dengan tegangan keluaran pada saat keadaan tidak ada mobil hal itu sesuai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

43

dengan teori yang terdapat pada persamaan 3.1. yang menunjukkan bahwa nilai Vout saat ada
mobil lebih kecil dibandingkan dengan saat tidak ada mobil. Nilai tegangan referensi yang
didapat saat pengukuran juga sudah sesuai, nilai tegangan referensi adalah nilai tegangan
pembanding yang stabil, op-amp yang terdapat pada komparator mempunya 2 input,
pengukuran vref dilakukan pada potensio sebagai inputan sinyal, sehingga nilai yang
dihasilkan rata-rata adalah nilai tengah dari tegangan keluaran sensor LDR yang telah diukur.

4.2.1.2. Pengujian Sensor LDR dan Komparator Diluar Ruangan


Pada data tabel 4.2 menunjukkan nilai VLDR, dan Vref diluar ruangan.
Tabel 4.2. Nilai VLDR dan Vref Diluar Ruangan
Parkir V LDR V Ref
(volt) (volt)

Ada Tidak Ada


Mobil Mobil

A 1 0.35 1.37 1.27

2 0.17 1.07 0.48

3 1.10 3.19 1.17

4 1.30 3.13 2.70

B 1 1.08 1.40 1.30

2 1.96 4.10 3.00

3 1.20 3.70 2.93

4 1.38 2.45 0.72

C 1 1.60 2.41 2.15

2 0.99 3.30 2.42

3 1.93 3.20 2.98

4 0.85 1.41 1.11

D 1 0.02 3.32 1.20

2 1.02 1.24 0.91

3 1.11 2.74 2.42


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

44

Tabel 4.2. (Lanjutan)Nilai VLDR dan Vref Diluar Ruangan


4 1.01 2.64 2.28

E 1 1.46 2.86 2.80

2 1.23 2.80 2.11

3 1.03 1.27 0.95

4 1.01 1.00 0.92

Pengujian sensor LDR dan Komparator diluar ruangan ditunjukan pada tabel 4.2.
pengujian dari data yang didapatkan sama dengan pengujian saat didalam ruangan antara lain
nilai tegangan LDR saat ada dan tidak ada mobil, tegangan referensi saat ada dan tidak ada
mobil. Nilai-nilai yang didapatkan berbeda dengan percobaan sebelumnya, nilai tegangan
LDR rata-rata lebih besar dibandingkan dengan pengujian didalam ruangan hal itu
disebabkan cahaya yang diterima lebih banyak sehingga resistansi LDR dalam menerima
cahaya pada keadaan terang juga akan besar nilai keluarannya.
Pengujian sensor LDR untuk memperoleh nilai VLDR dilakukan dengan mengukur
kaki yang terdapat pada sensor LDR dan saat pengukuran diberi tegangan masukkan sebesar
5Volt. Kondisi saat ada mobil berarti bahwa adanya mobil yang terdapat pada blok parkir
sehingga sensor terhalang oleh mobil, sedangkan kondisi saat tidak ada mobil berarti bahwa
tidak ada mobil yang terdapat pada blok parkir sehingga sensor tidak terhalang oleh mobil.
Sedangkan pengujian Vref dilakukan dengan mengukur kaki pin 1, 7, 9 dan 14 atau pin
output pada komparator LM324 dan saat pengukuran diberi tegangan masukkan sebesar
5Volt.

4.2.2. Pengujian Aplikasi Visual Basic


Pengujian aplikasi Visual Basic dilakukan dengan pengujian form pada monitor
komunikasi serial, form pada menu utama GUI Visual Basic, form optimasi denah parkir
mobil. Pengujian form monitor komunikasi serial dilakukan 8 kali percobaan, pengujian
form pada menu utama GUI Visual Basic dilakukan 2 kali percobaan, form optimasi denah
parkir mobil dilakukan 10 kali percobaan. Pengujian aplikasi ini bertujuan untuk mengetahui
apakah aplikasi sudah berfungsi sesuai dengan yang diharapkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

45

4.2.2.1. Form Serial Monitor

Pengujian form monitor komunikasi serial dimaksudkan untuk menguji apakah paket data
(frame) yang dikirim dari mikrokontoler ATmega32 sudah sesuai, dan pengecekkan
menggunakan serial monitor dengan aplikasi Visual Basic.

Tabel 4.3.Data Form Serial Monitor


Pengambilan Paket Data Serial Monitor Benar Salah
data ke- Dikirim

1 *00000#

2 *08000#

3 * 0 0 12 0 0 #

4 *00050#

5 *00006#
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

46

Tabel 4.3. (Lanjutan) Data FormSerial Monitor


* 13 0 1 15 3
#

* 12 7 14 15
13 #

* 15 15 15 15
15 #
8

Tabel 4.2.menunjukkan data form serial monitor, data yang diambilsebanyak 8 kali
percobaan, serial monitor digunakan untuk mengetahui paket data yang dikirim melalui
komunikasi serial dari mikrokontroler ATmega32 menuju ke Visual Basic telah terkirim
sesuai dengan keadaan yang terjadi. Dari ke-8 percobaan yang dilakukan semua data yang
termonitor sudah benar.
Paket data yang digunakan diubah dari bilangan biner menuju ke desimal oleh
mikrokontroler ATmega32 supaya pengirimannya lebih cepat. Contoh paket data yang
dikirim saat paket data bernilai * 0 0 0 0 0 # menunjukkan data yang diterima oleh serial
monitor menunjukkan tidak terdeteksinya sensor LDR karena data yang diterima semua
bernilai 0, paket data yang diolah dikirim dalam 1 frame. 1 frame dibagi menjadi 5 karakter
dalam bilangan desimal yang menunjukkan blok parkir A sampai dengan E. Tabel 4.3.
menunjukkan sistem paket data akan dikirim oleh mikrokontroler ATmega32 pada saat
keadaan blok parkir semua kosong atau belum terisi oleh mobil di setiap blok nya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

47

Tabel 4.4. Format Kirim Paket Data

H A A A A B B B B C C C C D D D D E E E E E
Parkir
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
Keadaan
parkir * 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 #
(dalam biner)
Paket Data
yang diterima
* #
(dalam 0 0 0 0 0
desimal)

Keterangan: 0*=kosong (tidak ada mobil parkir)


1*=isi (ada mobil parkir)
*=dalam biner

4.2.2.2. Form Menu Utama GUI Visual Basic


Form menu utama pada GUI Visual Basic ini merupakan form utama yang terdapat
pada Visual Basic. Ketika aplikasi GUI dijalankan maka form menu utama akan muncul
terlebih dulu.Form pada menu utama ini terdapat menu text untuk memberikan pesan pada
tampilan supaya lebih menarik dan menu command button yang berfungsi sebagai tombol
untuk client mengecek lokasi parkir.Pengujian keberhasilan form menu utama pada pada
Visual Basic ini dibagi menjadi dua keadaan yang akan ditunjukkan pada gambar 4.6. dan
gambar 4.7. dibawah ini.

c
Gambar 4.7.Form Utama GUI Visual Basic Keadaan
Gambar 4.7. menunjukkan form utama pada GUI Visual Basickeadaan 1 dimana saat
client akan masuk kedalam gedung parkir masih ada ketersedian tempat parkir, sehingga akan
muncul pesan pada menu text Silahkan Tekan Tombol Cek Parkir dan pada form juga
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

48

terdapat menu command button sebagai tombol yang harus ditekan oleh client untuk
memperoleh informasi ketersediaan tempat parkir.

Gambar 4.8.Form Utama GUI Visual Basic Keadaan 2

Gambar 4.8.menunjukkan form utama pada GUI Visual Basic kedaan 2, yaitu keadaan
pada saat client yang akan masuk kedalam gedung parkir tetapi sudah tidak ada parkir yang
tersedia maka akan mucul pesan pada menu text Maaf Parkir Penuh. Sehingga client yang
akan masuk kedalam gedung parkir tidak dapat masuk dan mengecek keadaan parkir didalan
menu tombol cek parkir.
Dari pengujian yang dilakukan pada dua keadaan tersebut dapat dikatakan bahwa
form menu utama pada GUI Visual Basic dapat dikatakan benar dan sudah bekerja sesuai
dengan keadaan yang terdapat pada prototype atau keadaan real.

4.2.2.3. Form Denah Parkir Mobil dan Sistem Optimasi


Form Visual Basic pada sub bab ini adalah form yang berisi informasi denah parkir
mobil yang akan muncul pada saat client menekan tombol menu cek parkir pada command
button di aplikasi Visual Basic seperti yang sudah ditunjukkan pada gambar 4.6.
Pada bagian form ini merupakan terjadinya proses optimasi yaitu pencarian tempat
parkir yang kosong dan terdekat. Proses optimasi dilakukan menggunakan algoritma dijkstra
dimana algoritma ini akan melakukan pencarian jalur terpendek dari satu titik awal ke titik
tujuan dimana titik awal merupakan pintu masuk gedung parkir dan titik tujuan adalah blok
parkir yang masih kosong.
Pada bab perancangan sebelumnya, graf dan panjang vertex yang telah dirancang
telah dicari jalur terdekatnya menggunakan algoritma dijkstra dan akan dibuktikan dengan
aplikasi yang telah dibuat di Visual Basic dengan beberapa percobaan dibawah ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

49

Tabel 4.5. Percobaan Form Denah Parkir Mobil dan Sistem Optimasi

Percobaan
ke- Keadaan Gambar denah Visual Basic

Blok
Status*
parkir

P.A Kosong

1 P.B Kosong

P.C Kosong

P.D Kosong

P.E Kosong

P.A Penuh

P.B Isi

P.C Isi
2
P.D Isi

P.E Isi

P.A Penuh

P.B Penuh

3 P.C Isi

P.D Isi

P.E Isi

P.A Penuh

P.B Penuh

P.C Isi

4 P.D Isi

P.E Penuh
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

50

Tabel 4.5. (Lanjutan) Percobaan Form Denah Parkir Mobil dan Sistem Optimasi

P.A Penuh

P.B Penuh

P.C Penuh
5 P.D Isi

P.E Penuh

Keterangan * :
Kosong = Tidak ada kendaraan yang parkir
Isi = Ada beberapa kendaraan yang parkir
Penuh = Semua blok parkir sudah terisi oleh mobil

Tabel 4.4.merupakan tabel percobaan form denah parkir dan sistem optimasi,
percobaan dilakukan sebanyak lima kali. Berdasarkan perancangan denah parkir untuk
penelitian ini denah parkir yang terdapat di prototype diimplementasikan kedalam sebuah
graf, dan untuk mendapat jalur terpendek dicari dengan menggunakan algoritma dijkstra.
Titik awal merupakan pintu masuk gedung parkir, titik tujuan dibagi menjadi 5 yaitu blok
parkir P.A, P.B, P.C, P.D dan P.E. nilai vertek dari titik awal atau pintu masuk menuju blok
P.A adalah 3, menuju blok P.B adalah 3, menuju blok P.C adalah 7, menuju blok P.D adalah
9, dan vertek menuju blok P.E adalah 5. Setelah dicari jalur terpendek menggunakan
algortima dijkstra, maka lintasan terpendek yang dihasilkan masing-masing blok adalah
LP.A=3, LP.B=3, LP.C=7,LP.D=9,LP.E=5, yang artinya bahwa panjang lintasan yang terukur dari
titik awal menuju blok P.A bernilai 3, menuju blok P.B bernilai 3, menuju blok P.C bernilai
7, menuju blok P.D bernilai 9, menuju blok P.E bernilai 5.

Dari hasil lintasan yang didapat melalui algoritma maka,Blok P.A dan P.B merupakan
lintasan yang terpendek jika dibandingkan ketiga blok lainnya karena nilainya paling kecil,
setelah blok P.A dan P.B selanjutnya adalah blok P.E dengan nilai lintasan 5, P.C dengan
nilai lintasan 7, dan nilai lintasan yang paling jauh adalah blok P.D dengan nilai lintasan 9.
Sistem optimasi dalam sistem parkir ini, Visual Basic sebagai aplikasi penampil sesuai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

51

dengan program yang telah dibuat dengan algoritma, akan mengutamakan client yang akan
masuk dan mencari lokasi parkir didalam gedung untuk menempati lokasi parkir dari lintasan
yang terpendek dengan nilai terkecil yaitu blok P.A dan P.Bsampai yang paling jauh yaitu
blok P.D. Di setiap percobaan yang telah dilakukan pada percobaan pertama lokasi parkir
kondisinya kosong atau tidak ada mobil yang terdeteksi memarkirkan kendarannya, maka
pada saat client akan masuk kedalam gedung pakir sistem dengan otomatis menunjuk client
untuk parkir di blok P.A karena P.A adalah titik tujuan dengan lintasan terpendek yang
diukur dari titik awal (pintu masuk). Pada percobaan ke-2 kondisinya berbeda dengan
percobaan yang pertama, yaitu blok P.A sudah penuh terisi oleh kendaraan tetapi blok
lainnya kondisinya terisi atau hanya ada beberapa kendaraan yang parkir maka sistem akan
menunjuk client untuk parkir di blok P.B karena P.B adalah titik tujuan lainnya dengan
lintasan terpendek, dalam graf yang telah dibuat nilai P.A dan P.B bernilai sama tetapi, dalam
sistem ini blok P.A lah yang diutamakan dari P.B. Percobaan selanjutnya kondisi blok P.A
dan P.B terisi penuh dan sisa blok lainnya masih terisi kendaraan sebagian dengan kondisi ini
maka sistem akan menunjuk client untuk menuju blok P.E karena P.E merupakan titik tujuan
yang nilai nya lebih jika dibandingkan dengan blok P.C dan P.D, blok P.A dan P.B sudah
tidak dideteksi karena statusnya sudah penuh atau terisi oleh kendaraan, sehingga sistem
harus mencari lintasan terpendek yang lainnya. Pada percobaan ke-4 blok P.A, P.B, dan P.E
kondisinya penuh dan blok lainnya masih ada beberapa blok yang kosong, saat kondisi ini
sistem akan menunjuk client untuk menuju ke blok P.C dan menunjuk ke alamat blok dari
nilai yang kecil antara blok P.C1 sampai dengan P.C4. Percobaan yang terakhir adalah
kondisi saat blok P.A, P.B, P.C, dan P.E sudah terisi penuh maka sistem akan menunjuk
client untuk parkir di blok P.D karena P.D adalah lintasan dengan nilai yang terbesar atau
terjauh. Sehingga saat blok yang lainnya sudah terisi penuh maka sistem akan menunjuk P.E
sebagai blok dengan lintasan terbesar atau terpanjang. Dari kelima percobaan dapat dikatakan
berhasil dan sistem optimasi yang ditampilkan melalui aplikasi Visual Basic sudah bekerja
sesuai dengan algoritma yang diterapkan.

4.2.3. Pengujian Software dan Hardware


Pengujian software dan hardware pada sistem aplikasi Visual Basic untuk optimasi
ketersediaan tempat parkir mobil ini dilakukan untuk menguji penggabungan sistem menjadi
satu kesatuan baik kerja dari sensor dalam mendeteksi kendaraan, komunikasi serial,
tampilan pada Visual Basic sebagai aplikasi penampil, dan perangkat keras printer yang
berfungsi untuk mencetak tiket yang akan diterima oleh client saat akan masuk kedalam
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

52

gedung parkir.Pengujian dilakukan sebanyak 15 kali dengan kondisi yang berbeda dapat
dilihat pada tabel 4.5.

Tabel 4.6. Data Pengujian Software dan Hardware

Paket Data Gambar

Visual Basic

* 00000 #

Prototype

Print Out
Tiket

* 15 15 15 4 15 # Visual Basic
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

53

Prototype

Print Out
Tiket

Visual Basic

* 15 15 13 10 7 #

Prototype

Print Out
Tiket

* 15 5 5 10 4 # Visual Basic
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

54

Prototype

Print Out
Tiket

Visual Basic

* 15 11 9 8 5 #

Prototype

Print Out
Tiket
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

55

Visual Basic

* 15 15 10 5 3 #

Prototype

Print Out
Tiket

* 15 15 8 5 15 # Visual Basic
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

56

Prototype

Print Out
Tiket

Visual Basic

* 6 13 3 5 11 #

Prototype

Print Out
Tiket
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

57

Visual Basic

* 15 15 15 9 15 #

Prototype

Print Out
Tiket

Visual Basic

* 15 15 10 9 15 #

Prototype
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

58

Print Out
Tiket

Visual Basic

* 15 15 10 0 4 #

Prototype

Print Out
Tiket

* 15 5 10 11 7 # Visual Basic
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

59

Prototype

Print Out
Tiket

Visual Basic

* 1 13 10 11 13 #

Prototype

Print Out
Tiket
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

60

Visual Basic

* 3 3 15 3 15 #

Prototype

Print Out
Tiket

Visual Basic

* 15 15 15 15 15 #

Prototype

Print Out
-
Tiket
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

61

Dari pengujian yang telah dilakukan dapat dikatakan berhasil pengendalian sensor
LDR dapat bekerja untuk mendeteksi kendaraan yang masuk yang kemudian diolah oleh
mikrokontroler ATmega32 untuk dikirim melalui komunikasi serial menuju Visual Basic, di
Visual Basic optimasisasi data juga dapat bekerja dengan baik untuk mencari tempat parkir
yang kosong dan terdekat. Printer untuk mencetak tiket juga dapat bekerja dengan baik
sehingga client yang akan masuk dapat menerima struk tiket yang telah tercetak oleh sistem.

4.3. Analisa dan Pembahasan Perangkat Lunak


Pada sub bab ini akan dibahas mengenai listing program pada CodeVision AVR dan
Visual Basic.

4.3.1. Aplikasi CodeVision AVR


Pada sub bab ini akan dijabarkan dan dijelaskan masing-masing fungsi pada listing
program yang diprogram menggunakan software CodeVision AVR diantaranya program
pengendali sensor cahaya LDR), program untuk komunikasi serial menggunakan USART
(Universal Synchronous Asynchronous Receiver Transmiter).

4.3.1.1. Pengendali Sensor Light Dependent Resistor


Pengendali sensor cahaya LDR dilakukan dengan instruksi #define, #define
berfungsi untuk mendefinisikam atau assignment, instruksi tersebut berfungsi untuk
mempermudah penulisan program..

#include <mega32a.h>
#include <stdio.h>
#include <stdlib.h>
#define P_A (~PINC.0*1+~PINC.1*2+~PINC.2*4+~PINC.3*8)
#define P_B (~PINC.4*1+~PINC.5*2+~PINC.6*4+~PINC.7*8)
#define P_C (~PINA.0*1+~PINA.1*2+~PINA.2*4+~PINA.3*8)
#define P_D (~PINB.0*1+~PINB.1*2+~PINB.2*4+~PINB.3*8)
#define P_E (~PINB.4*1+~PINB.5*2+~PINB.6*4+~PINB.7*8)

Program dengan instruksi define diatas digunakan untuk memasukkan inputan-inputan


sensor cahaya LDR kedalam pin-pin yang terdapat pada mikrokontroler ATmega32, contoh
salah satu pembacaan instruksi define adalah pada #define P_A yang berarti bahwa saat akan
mengendalikan sensor cahaya LDR yang terdapat pada di blok P.A yang inputannya pada
port C.0 sampai dengan port C.3 cukup dengan menulis perintah P_A, maka mikrokontroler
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

62

sudah mengetahuinya. Dan perlu diketahui juga bahwa mikrokontroler hanya mengetahui
angka, alamat, dan port sehingga perintah yang akan diberikan harus didefinisikan lebih
dahulu menggunakan instruksi #define.

Paket data sensor LDR yang dikirim oleh mikrokontroler diolah dari biner menuju
bilangan desimal supaya pengirimannya lebih cepat.Inputan sensor yang terdapat didalam
instruksi #define diolah kedalam bentuk biner.

printf("* %d %d %d %d %d #\n",parkirA, parkirB, parkirC, parkirD, parkirE);

Perintah printf diatas digunakan untuk mengirimkan keadaan parkir melalui


komunikasi serial dan %d digunakan untuk mengubah paket data kebentuk desimal. Sehingga
paket data yang dikirim mikrokontroler ATmega32 untuk mengendalikan sensor LDR adalah
paket data berupa bilangan yang sudah kebentuk desimal.

4.3.1.2. Pengendali Komunikasi USART


Pada bagian ini berfungsi sebagai komunikasi serial USART untuk menghubungkan
antara mikrokontroler ATmega32 dengan laptop. Baudrate yang digunakan yaitu 9600 bps.
Sistem parkir menggunakan komunikasi dua arah antara mikrokontroler dengan laptop
sehingga dalam inisialisasinya Transmitter dan Receiver di On kan. Fungsi getchar()
yaitu untuk menerima karakter dari laptop agar mikrokontroler dapat mengerti apa yang
dimaksud oleh laptop saat mengirimkan karakter. If(cek=='M') merupakan karakter yang
dikirim dari laptop ke mikrokontroler sebagai instruksi untuk mengirimkan paket data yang
telah diolah pada mikrokontroler, dan karakter yang dikirim adalah M jika karakter yang
masuk adalah M maka mikrokontroler akan mengirim data melalui serial. Fungsi
cek_parkir(); yaitu untuk memanggil fungsi cek keadaan parkir. Sedangkan printf adalah
untuk mengirimkan keadaan parkir melalui komunikasi serial.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

63

// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x06;
UBRRH=0x00;
UBRRL=0x47;
while (1)
{
cek=getchar(); // terima data dari serial
if(cek=='M') // apakah data di terima sama dengan M?
{
cek_parkir(); // panggil fungsi cek keadaan parkir
printf("* %d %d %d %d %d #\n",parkirA, parkirB, parkirC, parkirD, parkirE); //
kirim keadaan parkir melalui serial
}
}
}

4.3.1.3. Subrutin Program Utama


Pada bagian ini akan dibahas mengenai subrutin program yang akan dieksekusi secara
terus menerus karena terdapat didalam fungsi while. Listing program dapat dilihat dibawah
ini:
while (1)
{
Cek=getchar(); // terima data dari serial
if(cek=='M') // apakah data di terima sama dengan M?
{
cek_parkir(); // panggil fungsi cek keadaan parkir
printf("* %d %d %d %d %d #\n",parkirA, parkirB, parkirC, parkirD, parkirE); // kirim
keadaan parkir melalui serial
}
}
}

Pada bagian listing program diatas digunakan untuk pengiriman paket data melalui
komunikasi serial
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

64

Subrutin yang terdapat didalam while(1) akan dieksekusi secara terus menerus
hingga power OFF. Hal ini dikarenakan didalam kurung while diberi angka 1 yang
berarti bernilai true atau akan dieksekusi secara terus menerus.

4.3.2. Aplikasi VISUAL BASIC


Pada sub bab ini akan dijabarkan listing program yang diprogram menggunakan
software Visual Basic diantaranya penjelasan tampilan GUI, inisialisasi komunikasi serial,
dan proses optimasi.

4.3.2.1. Tampilan GUI VISUAL BASIC


GUI (Graphical User Interface) yaitu suatu tampilan yang berfungsi untuk
mempermudah dalam pengawasan program yang sedang terjadi atau dieksekusi. GUI
memiliki peran yang sangat baik karena dengan adanya GUI, pengguna akan dapat melihat
apa yang sedang terjadi didalam program seperti pemrosesan data dan lain-lain. Tampilan
GUI yang dibuat dapat ditunjukan pada Gambar 4.9, 4.10. dan 4.11. dibawah ini

Gambar 4.9. Tampilan Visual Basic Pada Form 1

Gambar 4.10. Tampilan Visual Basic Pada Form 1


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

65

Gambar 4.11.Tampilan Visual Basic Pada Form 2

Tampilan GUI pada Visual Basic dibagi menjadi dua form dalam satu project. Pada
form yang pertama tampian berisi tampilan awal saat client akan masuk menuju lokasi
gedung parkir, tampilan pada form pertama yang akan muncul pada Visual Basic. Tampilan
form terdapat beberapa control pada toolbox yaitu text dan menu command button menu text
berisi ucapan selamat datang yang berisi tulisan Selamat Datang selain itu juga berisi pesan
tentang status ketersediaan tempat parkir jika masih terdapat tempat parkir maka pesan pada
text adalah Silahkan tekan tombol cek parkir namun jika sudah tidak parkir yang tersedia
atau parkir penuh maka pesan yang akan muncul pada menu text berupa Maaf Parkir Sedang
Penuh.

Selain menu toolbox text terdapat toolbox menu command button, menu tersebut
digunakan dalam aplikasi sebagai tombol tekan client untuk mengecek keadaan parkir yang
akan ditampilkan pada sebuah denah parkir gedung yang akan ditunjukkan pada form kedua
dan form kedua dapat dilihat pada gambar 4.10. pada form kedua ini terdapat berbagai macam
toolbox seperti shape, line, yang digunakan untuk menggambarkan denah parkir gedung.
Selain itu juga terdapat toolbox text yang berisi pesan yang ditujukkan untuk client pesan
tersebut berisi informasi blok parkir yang akan dituju oleh client dan pesan tersebut akan
tercetak melalui perangkat keras printer, sehingga client sangat dimudahkan dengan tampilan
GUI Visual Basic

4.3.2.2. Inisialisasi Komunikasi Serial


Sebelum menghubungkan laptop dengan mikrokontroler Atmega32, maka pada
bagian program Visual Basic harus di inisialisasi terlebih dahulu. Hal ini dikarenakan pada
bagian laptop dengan mikrokontroler harus memiliki baudrate yang sama. Jika kedua
perangkat tidak memiliki baudrate yang sama, maka sudah dapat dipastikan kedua perangkat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

66

ini tidak akan dapat berkomunikasi satu sama lainnya. Program inisialisasi adalah sebagai
berikut:

Private Sub Form_Load()


serial.CommPort = 5
serial.Settings = "9600,N,8,1"
serial.InputLen = 1
serial.PortOpen = True
End Sub

4.3.2.3. Proses Algoritma Untuk Pencarian Jalur Terpendek


Proses pengolahan algoritma merupakan suatu proses yang dilakukan sistem untuk
mencari jalur terpendek dari suatu titik awal ke titik tujuan, titik tujuan merupakan kondisi
parkir yang kosong yang akan diterima oleh client saat akan memarkirkan kendaraannya.
Proses Algoritma untuk pencarian jalur terpendek ini dilakukan secara manual, . Perintah If
parkir(0) < 15 Then merupakan kondisi ketika variabel parkir(0) atau blok parkir A dalam
keadaan tidak penuh atau masih tersedianya tempat yang kosong maka program akan Call
garis atau tampilan pada GUI Visual Basic akan menunjukkan jalan yang akan dilalui oleh
client dengan menunjukkan objek berupa garis. Proses pencarian jalur terpendek dengan
algortima dijkstra melalui perangkat lunak sistem menunjukkan bahwa blok A dan blok B
merupakan jalur yang paling terpendek yang terdeteksi dari pintu masuk sehingga program
yang dieksekusi terlebih dahulu adalah pada blok A atau parkir(0)karena blok A merupakan
prioritas yang akan dipilih dibandingkan dengan blok B. Program perangkat lunak
ditunjukkan pada perintah dibawah ini program menggunakan syntax If Then for i=0 to 3
menunjukkan blok parkir pada blok A yaitu P.A1 sampai dengan P.A4. If PA(i) = False
Then adalah perintah jika alamat pada blok A yang terdapat pada for adalah false atau
tidak adanya mobil yang parkir pada alamat blok parkir A, maka toolbox shape pada Visual
Basic yang terdapat pada form 1 Visual Basic akan berubah menjadi warna hijau atau kondisi
tersebut menunjukkan kondisi yang yang akan ditujukkan untuk client akan parkir yang
kosong dan yang terdekat atau dengan perintah syntax Form1.PA(i).FillColor = &HC000&.
Form1.Text1.Text = "Silahkan Parkir Di:" & vbNewLine & "P.A" & i + 1 adalah pesan
yang akan ditampilkan oleh Visual Basic untuk memudahkan client mengetahui blok parkir
mana yang harus dituju oleh client yang terdapat pada form 1 pada menu toolbox text.

Function mencari_parkir()
If parkir(0) < 15 Then
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

67

Call garis
For i = 0 To 3
If PA(i) = False Then
Form1.PA(i).FillColor = &HC000&
Form1.Text1.Text = "Silahkan Parkir Di:" & vbNewLine & "P.A" & i + 1
GoTo tampil1
End If
Next i

If parkir(1) < 15 And parkir(0) = 15 Then


Call garis
For i = 0 To 3
If PB(i) = False Then
Form1.PB(i).FillColor = &HC000&
Form1.Text1.Text = "Silahkan Parkir Di:" & vbNewLine & "P.B" & i + 1
GoTo tampil2
End If

Setelah blok A yang dieksekusi, maka selanjutnya adalah blok B sebagai blok yang
memiliki jalur terpendek yang sama dengan A, kondisi If pada program akan berubah
menjadi If parkir(1) < 15 And parkir(0) = 15 Then yaitu jika variabel parkir(1) atau blok
B kurang dari 15 atau menunjukkan adanya kondisi yang kosong dan parkir(0) atau blok A
kurang dari 15 maka call garis. Syntax yang digunakan untuk mengubah warna shape dan
pesan yang terdapat pada menu text juga berubah disesuaikan dengan blok parkir yang akan
dieksekusi selanjutnya.

If parkir(4) < 15 And parkir(0) = 15 And parkir(1) = 15 Then


Call garis
For i = 0 To 3
If PE(i) = False Then
Form1.PE(i).FillColor = &HC000&
Form1.Text1.Text = "Silahkan Parkir Di:" & vbNewLine & "P.E" & i + 1
GoTo tampil3
End If

Setelah blok A dan blok B blok selanjutnya yang mempunyai jalur terpendek adalah
blok E, sehingga pada kondisi If pada program berubah menjadi If parkir(4) < 15 And
parkir(0) = 15 And parkir(1) = 15 Then dimana parkir(4) merupakan variabel dari blok E
dan syntax yang digunakan untuk mengubah warna shape dan pesan yang terdapat pada menu
text juga berubah disesuaikan dengan blok parkir yang akan dieksekusi selanjutnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

68

If parkir(2) < 15 And parkir(0) = 15 And parkir(1) = 15 And parkir(4) = 15 Then


Call garis
For i = 0 To 3
If PC(i) = False Then
Form1.PC(i).FillColor = &HC000&
Form1.Text1.Text = "Silahkan Parkir Di:" & vbNewLine & "P.C" & i + 1
GoTo tampil4
End If

Setelah blok A, blok B dan Blok E blok selanjutnya yang mempunyai jalur terpendek
adalah blok C, sehingga pada kondisi If pada program berubah menjadi If parkir(2) < 15
And parkir(0) = 15 And parkir(1) = 15 And parkir(4) = 15 Then, dimana parkir(2)
merupakan variabel dari blok C dan syntax yang digunakan untuk mengubah warna shape
dan pesan yang terdapat pada menu text juga berubah disesuaikan dengan blok parkir yang
akan dieksekusi selanjutnya.
If parkir(3) < 15 And parkir(0) = 15 And parkir(1) = 15 And parkir(4) = 15 And parkir(2) =
15 Then
Call garis
For i = 0 To 3
If PD(i) = False Then
Form1.PD(i).FillColor = &HC000&
Form1.Text1.Text = "Silahkan Parkir Di:" & vbNewLine & "P.D" & i + 1

Setelah blok A, blok B, Blok E dan Blok C, blok selanjutnya yang mempunyai jalur
terpendek yang terakhir atau nilai yang paling kecil adalah blok D, sehingga pada kondisi If
pada program berubah menjadi If parkir(3) < 15 And parkir(0) = 15 And parkir(1) = 15 And
parkir(4) = 15 And parkir(2) = 15 Then, dimana parkir(3) merupakan variabel dari blok D
dan syntax yang digunakan untuk mengubah warna shape dan pesan yang terdapat pada menu
text juga berubah disesuaikan dengan blok parkir yang akan dieksekusi selanjutnya.

4.3.2.4. Proses Cetak Tiket dengan Perangkat Keras Printer


Proses pencetakan tiker masuk yang akan diterima oleh client saat akan masuk ke area
parkir mobil dicetak melalui perangkat keras printer. Jenis tulisan yang akan tercetak pada
struk parkir Times New Roman sehingga perintah berisi Printer.Font = "Times New
Roman". Perintah printer.currentX dan printer.currentY merupakan perintah pada Visual
Basic untuk menentukan posisi tulisan yang akan tercetak nanti atau sebagai koordinat X dan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

69

Y. Printer.FontSize = 10 adalah untuk ukuran tulisan yang akan tercetak. Tulisan yang akan
tercetak pada kertas dilakukan dengan perintah Printer.Print. Tiket yang tercetak berisi
ucapan Selamat Datang dan pesan informasi yang dituju untuk client yang berisi alamat
blok parkir yang akan masih kosong dan terdekat yang terdapat pada form1 Visual Basic di
menu toolbox text. Printer.Endcoc merupakan perintah untuk minta diakhiri untuk dicetak
sehingga sistem tidak berulang terus untuk mencetak tiket.

Sub cetak()
Printer.Font = "Times New Roman"
Printer.CurrentX = 0
Printer.CurrentY = 0
Printer.FontSize = 10
Printer.Print Tab(4); " Selamat Datang "
Printer.Print Tab(2); "================"
Printer.Print Tab(2); Form1.Text1
Printer.EndDoc
End Sub
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan
Dari hasil pengujian serta pengambilan data pada aplikasi penampil visual basic untuk
optimasi ketersediaan tempat parkir mobil, dapat diambil kesimpulan:
1. Lokasi parkir yang telah terisi mobil dan lokasi yang belum terisi mobil dapat
terdeteksi oleh sensor dan dapat ditampilkan pada penampil Visual Basic di
komputer.
2. Metode optimasi dengan algoritma dijkstra untuk pencarian jalur terpendek
dapat berfungsi sesuai rancangan dan sesuai dengan teori. Sistem berhasil
mendeteksi jalur yang terdekat sesuai dengan kondisi mobil yang terdeteksi
oleh sensor cahaya.
3. Sistem parkir mobil ini mempunyai fasilitas untuk mencetak tiket berupa
informasi lokasi parkir yang dituju.

5.2. Saran
Saran-saran bagi pengembangan selanjutnya adalah:
1. Komunikasi antara mikrokontroler dan PC dikembangkan dengan sistem
wireless bluetooth sehingga sistem dapat menjadi lebih praktis dan efisien.
2. Karcis parkir yang diterima ditambahkan dengan waktu masuk parkir dan
nomor plat mobil yang dapat dideteksi dengan sensor kamera untuk
meningkatkan keamanan.
3. Menambahkan sistem kode batang (barcode) pada karcis untuk pembayaran
otomatis dengan mengakulasi waktu datang dengan waktu keluar sesuai
dengan biaya yang ditentukan sesuai kebijakan.

70
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DAFTAR PUSTAKA

[1] Ardiana, f., 2011, Sistem Ketersediaan Parkir Mobil Menggunakan SMS (Short
Message Service), Institut Bisnis dan Informatika STIKOM Surabaya.

[2] ------,2009.Pengembangan Sistem Pakar Menggunakan Visual Basic.


Yogyakarta:Andi Offset.

[3] ---, 2012, Bab III Dasar Teori LDR, STIKOM, Surabaya.

[4] ---, 2014, Data sheet Mikrokontroler Atmega8535, Atmel

[5] Bejo, A., 2008, C dan AVR Rahasia Kemudahan Bahasa C dalam Mikrokontroler
ATMEGA32, 1st ed, GRAHA ILMU, Yogyakarta.

[6] Winoto, A., 2002, Mikrokontroler AVR ATEMEGA8/32/8535 dan Pemrogramannya


dengan Bahasa C pada WinAVR, INFORMATIKA, Bandung.

[7] Heryanto M.A., ST., Ir. Wisni Adi P., 2008, Pemrograman Bahasa C untuk
Mikrokontroler ATMEGA32, 1st ed, C.V ANDI OFFSET, Yogyakarta.

[8] Adrianto, H., 2008, Pemrograman Mikrokontroler AVR ATMEGA 16, 1st ed,
INFORMATIKA, Bandung.

[9] Sumbodo, W., 2008, Jilid 3, Teknik Produksi Mesin Industri, Direktorat Pembinaan
Sekolah Menengah Kejuruan, Dirjen Manajemen Pendidikan Dasar dan Menengah,
Hak Cipta Depdiknas.

[10] Zuhal, dan Zhanggischan, 2004, Prinsip Dasar Elektroteknik, PT Gramedia Pustaka
Utama, Jakarta.

[11] http://www.fairchildsemi.com/regulator7805, diakses 29 Oktober 2015.

[12] Honeycutt, R.A., 1988, Op Amps and Linear Integrated Circuits, Delmar Publishers
Inc., New York.

[13] Fathoni, 2010, Unjuk Kerja Catu Daya 12 Volt 2A dengan Pass Element Transistor
NPN dan PNP, Politeknik Negeri Malang.

71
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

72

[14] Suarga,M.Sc.,M.Math.,Ph.D., 2012, Algoritma dan Pemrograman, 2nd ed, C.V ANDI
OFFSET, Yogyakarta.

[15] Suryadi,H.s,1996, "Teori Graf Dasar", Gunadarma, Jakarta.

[16] Munir, Rinaldi. Matematika Diskrit. Bandung, Informatika Bandung, 2010.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

L1

Rangkaian Regulator

Rangkaian Light Dependent Resistor

Rangkaian Minimum System Atmega32


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

L2

Rangkaian Komparator

Rangkaian Komparator dan Sensor LDR


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

L3

GUI Visual Basic Form 1

GUI Visual Basic Form 1 (Keadaan Parkir Penuh)

GUI Visual Basic Form 2 (Denah Parkir Mobil)


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

L4

GUI Pencarian Jalur Terpendek di Visual Basic


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

L5

Listing Program
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

L6

Listing Program CVAVR


/*****************************************************
Chip type : ATmega32A
Program type : Application
AVR Core Clock frequency: 11.059200 MHz
Memory model : Small
External RAM size :0
Data Stack size : 512
*****************************************************/

#include <mega32a.h>
#include <stdio.h>
#include <stdlib.h>
#define P_A (~PINC.0*1+~PINC.1*2+~PINC.2*4+~PINC.3*8)
#define P_B (~PINC.4*1+~PINC.5*2+~PINC.6*4+~PINC.7*8)
#define P_C (~PINA.0*1+~PINA.1*2+~PINA.2*4+~PINA.3*8)
#define P_D (~PINB.0*1+~PINB.1*2+~PINB.2*4+~PINB.3*8)
#define P_E (~PINB.4*1+~PINB.5*2+~PINB.6*4+~PINB.7*8)

unsigned char cek, parkirA, parkirB, parkirC, parkirD, parkirE;

void cek_parkir()
{
parkirA=P_A;
parkirB=P_B;
parkirC=P_C;
parkirD=P_D;
parkirE=P_E;
}

void main(void)
{
DDRA=0x00; PORTA=0xFF;
DDRB=0x00; PORTB=0xFF;
DDRC=0x00; PORTC=0xFF;
DDRD.0=0; PORTD.0=1;
DDRD.1=1; PORTD.1=1;
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x06;
UBRRH=0x00;
UBRRL=0x47;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

L7

while (1)
{
cek=getchar(); // terima data dari serial
if(cek=='M') // apakah data di terima sama dengan M?
{
cek_parkir(); // panggil fungsi cek keadaan parkir
printf("* %d %d %d %d %d #\n",parkirA, parkirB, parkirC, parkirD, parkirE); //
kirim keadaan parkir melalui serial
}
}
}

Listing Program GUI VISUAL BASIC


Dim a, awal, akhir As String
Dim spasi(6), i, k As Byte
Dim parkir(5) As Byte
Dim waktu, j, x As Byte
Dim PA(4), PB(4), PC(4), PD(4), PE(4) As Boolean

Sub cetak()
Printer.Font = "Times New Roman"
Printer.CurrentX = 0
Printer.CurrentY = 0
Printer.FontSize = 10
Printer.Print Tab(4); " Selamat Datang "
Printer.Print Tab(2); "================"
Printer.Print Tab(2); Form1.Text1
Printer.EndDoc
End Sub
Function parsing()
k=0
For i = 1 To Len(a)
If Mid(a, i, 1) = " " Then
spasi(k) = i
k=k+1
End If
Next i
parkir(0) = Val(Mid(a, spasi(0), spasi(1) - spasi(0))) 'pakir a
parkir(1) = Val(Mid(a, spasi(1), spasi(2) - spasi(1))) 'parkir b
parkir(2) = Val(Mid(a, spasi(2), spasi(3) - spasi(2))) 'parkir c
parkir(3) = Val(Mid(a, spasi(3), spasi(4) - spasi(3))) 'parkir d
parkir(4) = Val(Mid(a, spasi(4), spasi(5) - spasi(4))) 'parkir e
End Function

Function konversi(x As Byte)


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

L8

j=x
biner = ""
For i = 0 To 3
If (j Mod 2) = 1 Then
Select Case k
Case 0
PA(i) = True
Form1.PA(i).FillColor = &H0&
Case 1
PB(i) = True
Form1.PB(i).FillColor = &H0&
Case 2
PC(i) = True
Form1.PC(i).FillColor = &H0&
Case 3
PD(i) = True
Form1.PD(i).FillColor = &H0&
Case 4
PE(i) = True
Form1.PE(i).FillColor = &H0&
End Select
Else:
Select Case k
Case 0
PA(i) = False
Form1.PA(i).FillColor = &HFFFFFF
Case 1
PB(i) = False
Form1.PB(i).FillColor = &HFFFFFF
Case 2
PC(i) = False
Form1.PC(i).FillColor = &HFFFFFF
Case 3
PD(i) = False
Form1.PD(i).FillColor = &HFFFFFF
Case 4
PE(i) = False
Form1.PE(i).FillColor = &HFFFFFF
End Select
End If
j=j\2
Next i
End Function

Function warna()
For k = 0 To 4
x = parkir(k)
Call konversi(x)
Next k
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

L9

End Function

Function garis()
For i = 0 To 4
Form1.Line1(i).Visible = Flase
Next i
End Function

Function mencari_parkir()
If parkir(0) < 15 Then
Call garis
For i = 0 To 3
If PA(i) = False Then
Form1.PA(i).FillColor = &HC000&
Form1.Text1.Text = "Silahkan Parkir Di:" & vbNewLine & "P.A" & i + 1
GoTo tampil1
End If
Next i
tampil1:
cetak
Form1.Line1(0).Visible = True
End If
If parkir(1) < 15 And parkir(0) = 15 Then
Call garis
For i = 0 To 3
If PB(i) = False Then
Form1.PB(i).FillColor = &HC000&
Form1.Text1.Text = "Silahkan Parkir Di:" & vbNewLine & "P.B" & i + 1
GoTo tampil2
End If
Next i
tampil2:
cetak
Form1.Line1(1).Visible = True
End If
If parkir(4) < 15 And parkir(0) = 15 And parkir(1) = 15 Then
Call garis
For i = 0 To 3
If PE(i) = False Then
Form1.PE(i).FillColor = &HC000&
Form1.Text1.Text = "Silahkan Parkir Di:" & vbNewLine & "P.E" & i + 1
GoTo tampil3
End If
Next i
tampil3:
cetak
Form1.Line1(1).Visible = True
Form1.Line1(2).Visible = True
End If
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

L10

If parkir(2) < 15 And parkir(0) = 15 And parkir(1) = 15 And parkir(4) = 15 Then


Call garis
For i = 0 To 3
If PC(i) = False Then
Form1.PC(i).FillColor = &HC000&
Form1.Text1.Text = "Silahkan Parkir Di:" & vbNewLine & "P.C" & i + 1
GoTo tampil4
End If
Next i
tampil4:
cetak
Form1.Line1(0).Visible = True
Form1.Line1(3).Visible = True
End If
If parkir(3) < 15 And parkir(0) = 15 And parkir(1) = 15 And parkir(4) = 15 And
parkir(2) = 15 Then
Call garis
For i = 0 To 3
If PD(i) = False Then
Form1.PD(i).FillColor = &HC000&
Form1.Text1.Text = "Silahkan Parkir Di:" & vbNewLine & "P.D" & i + 1
GoTo tampil5
End If
Next i
tampil5:
cetak
Form1.Line1(4).Visible = True
End If
End Function

Private Sub Cek_Click()


waktu = 0
serial.Output = "M"
a = ""
Do
USD = DoEvents()
INSTRING$ = serial.Input
a = a + INSTRING$
awal = Left(a, 1)
akhir = Right(a, 1)
If awal = "*" And akhir = "#" Then
Call parsing ' memanggil fungsi untuk memisahkan data serial
Call warna
If parkir(0) = 15 And parkir(1) = 15 And parkir(2) = 15 And parkir(3) = 15 And
parkir(4) = 15 Then
Label1(1).Visible = True
Label2.Visible = False
Timer1.Enabled = True
Else:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

L11

Form1.Visible = True
Call mencari_parkir
Timer1.Enabled = True
End If
End If
Loop Until INSTRING$ = Chr$(13)
End Sub

Private Sub Form_Load()


Timer1.Enabled = False
Label1(1).Visible = Flase
Label2.Visible = True
Form1.Visible = False
serial.CommPort = 5
serial.Settings = "9600,N,8,1"
serial.InputLen = 1
serial.PortOpen = True
End Sub

Private Sub Timer1_Timer()


If waktu < 6 Then
If parkir(0) = 15 And parkir(1) = 15 And parkir(2) = 15 And parkir(3) = 15 And
parkir(4) = 15 Then
Label1(1).Visible = True
Label2.Visible = False
Else: Form1.Visible = True
End If
Else
Label1(1).Visible = False
Label2.Visible = True
Form1.Visible = False
Timer1.Enabled = False
End If
waktu = waktu + 1
End Sub
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

L12

Listing Program Algoritma Dijkstra Pencarian Jalur Terpendek di Visual Basic


Private Sub Command1_Click()
Dim panjang(5), panjangA(4), panjangB(3), panjangE(2), panjangD(1) As Integer
Dim Min As Integer, i As Integer
Dim LA, LB, LD, LAB, LAC, LBE, LED, LDC As Integer

LA = Val(Text6(0).Text)
LB = Val(Text7(2).Text)
LD = Val(Text12(6).Text)
LAB = Val(Text13(4).Text)
LAC = Val(Text8(3).Text)
LBE = Val(Text9(7).Text)
LED = Val(Text11(5).Text)
LDC = Val(Text10(1).Text)

panjang(0) = LA 'LA
panjang(1) = LB 'LB
panjang(2) = 99 'LC
panjang(3) = LD 'LD
panjang(4) = 99 'LE

panjangA(0) = LAB 'LAB


panjangA(1) = LAC 'LAC
panjangA(2) = 99 'LAD
panjangA(3) = 99 'LAE

panjangB(0) = 99 'LBC
panjangB(1) = 99 'LBD
panjangB(2) = LBE 'LBE

panjangE(0) = 99 'LEC
panjangE(1) = LED 'LED

panjangD(0) = LDC 'LDC

MinA = 32767 'nilai maksimal untuk integer

'mencari minimal a
For i = 0 To 4
If panjang(i) < MinA Then
MinA = panjang(i)
Else
MinA = MinA
End If
Next i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

L13

'cari min bcde


For i = 0 To 3
If panjang(i + 1) < panjangA(i) + panjang(0) Then
Min = panjang(i + 1)
Else
Min = panjangA(i) + panjang(0)
End If
panjang(i + 1) = Min
Next i

MinB = 32767 'nilai maksimal untuk integer

'mencari minimal b
For i = 1 To 4
If panjang(i) < MinB Then
MinB = panjang(i)
Else
MinB = MinB
End If
Next i

'cari min cde


For i = 0 To 2
If panjang(i + 2) < panjangB(i) + panjang(1) Then
Min = panjang(i + 2)
Else
Min = panjangB(i) + panjang(1)
End If
panjang(i + 2) = Min
Next i

MinC = 32767 'nilai maksimal untuk integer

'mencari minimal e
For i = 2 To 4
If panjang(i) < MinC Then
MinC = panjang(i)
Else
MinC = MinC
End If
Next i

'cari min cd
For i = 0 To 1
If panjang(i + 2) < panjangE(i) + panjang(4) Then
Min = panjang(i + 2)
Else
Min = panjangE(i) + panjang(4)
End If
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

L14

panjang(i + 2) = Min
Next i

MinD = 32767 'nilai maksimal untuk integer

'mencari min c
For i = 2 To 3
If panjang(i) < MinD Then
MinD = panjang(i)
Else
MinD = MinD
End If
Next i

'cari min d
If panjang(3) < panjangD(0) + panjang(2) Then
MinD = panjang(3)
Else
MinD = panjangD(0) + panjang(2)
End If
panjang(3) = MinD

If a = 1 Then
panjang(0) = 99
End If

Text1.Text = panjang(0)
Text2.Text = panjang(1)
Text3.Text = panjang(2)
Text4.Text = panjang(3)
Text5.Text = panjang(4)

End Sub

You might also like