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
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
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
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
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…
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
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
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.
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
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.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
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 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.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
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
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.
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
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.
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.
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.
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)
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 Vegard’sRiscProcessor) merupakan seri mikrokontroler CMOS 8-bit
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
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
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
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)
[image:30.595.79.520.232.742.2]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.
[image:31.595.81.529.67.671.2]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)
[image:32.595.83.525.82.653.2]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]
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.
UCSZ[2..0] Ukuran Karakter dalam bit
0 5
1 6
10 7
11 8
100-110 Tidak dipergunakan
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[1…0] (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) (Low)
Gambar 2.9. Rangkaian Umum Komparator dengan Pembagi Tegangan [23]
Gambar 2.10. Rangkaian Umum Komparator dengan Dioda Zener [10]
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]
Type VOUT (Volt) VIN (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
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].
� � = �
4 3� = 2.4 �
=2.4 �
��. (2.2)
=� �( � )× 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
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 ∞.
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.
[image:38.595.84.525.206.733.2]Keterangan : s=titik awal t=tujuan G=Graph U=PL T=TL
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 :
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)
[image:40.595.86.508.203.610.2]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
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
[image:41.595.87.514.242.630.2]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:
4. Tempat peletakan rangkaian pengontrol dan komparator (terletak didalam box
akrilik)
5. Tempat parkir kendaraan
6. Jack Male
[image:42.595.83.530.173.624.2]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. Minimumsystem ATmega32 dan Regulator Tegangan IC 7805 b. Sensor Light Dependent Resistor (LDR)
c. Komparator IC LM324
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.
[image:43.595.88.526.278.559.2]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]
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
[image:44.595.88.515.335.637.2].
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:
�� = 5. 10000
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:
�� = 5. 10000
10000 +150Ω=4.92 Volt
[image:45.595.82.528.230.726.2]Dari hasil vout bisa diketahui bahwa pada saat tegangan keluaran sebesar 2 volt maka kondisi sensor adalah high atau menyala dan rangkaian SensorLDR dengan pembagi tegangan ditunjukan pada Gambar 3.7.
3.3.3. Komparator
[image:46.595.84.511.238.653.2]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.
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
Sehingga lintasan terpendek yang dihasilkan masing-masing :
[image:48.595.85.530.149.628.2]LA=3, LB=3, LC=7, LD=9, LE=5
Gambar 3.9. Graf lintasan terpendek pada blok parkir
3.4. Perancangan Perangkat Lunak
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
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
[image:50.595.83.512.227.672.2]„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
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
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
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#
[image:53.595.81.573.232.583.2]Dari format paket data tersebut bisa dijelaskan pada tabel 3.1. sebagai berikut:
Tabel 3.1. Format Paket Data
Format Sensor
H P A 1 P A 2 P A 3 P A 4 P B 1 P B 2 P B 3 P B 4 P C 1 P C 2 P C 3 P C 4 P D 1 P D 2 P D 3 P D 4 P E 1 P E 2 P E 3 P E 4 E
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
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
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.
[image:55.595.85.509.211.642.2]3.4.9. Diagram Alir Subrutin Proses Optimasi Hasil Data
Gambar 3.17. Diagram Alir Subrutin Optimasi Hasil Data
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
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
[image:58.595.72.527.312.721.2]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.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
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
Tabel 4.1. Nilai VLDR, dan Vref Didalam Ruangan
Parkir V LDR
(volt) V Ref (volt) Ada Mobil Tidak Ada 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
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
[image:62.595.82.509.252.736.2]Pada data tabel 4.2 menunjukkan nilai VLDR, dan Vref diluar ruangan. Tabel 4.2. Nilai VLDR dan Vref Diluar Ruangan
Parkir V LDR
(volt) V Ref (volt) Ada Mobil Tidak Ada 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
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
4.2.2.1. Form Serial Monitor
[image:64.595.65.533.208.749.2]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
data ke-