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 2
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 3 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
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 aplikasiaplikasi 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 6
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 7 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
yang diproduksi oleh Atmel berbasis arsitektur RISC (Reduced Instruction Set Computer).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 8 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 inline 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 9
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[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) (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] Type
VOUT (Volt)
7805 7806 7808 7810 7812 7815 7818 7824
5 6 8 10 12 15 18 24
VIN (Volt) Min
Maks
7,3 8,3 10,5 12,5 14,6 17,7 21 27,1
20 21 23 25 27 30 33 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]. 𝑉𝑟 𝑟𝑚𝑠 = 4 𝑟=
2.6.
𝑉𝑟 (𝑟𝑚𝑠 ) 𝑉𝑑𝑐
𝐼𝑑𝑐 3𝑓𝑐
=
× 100%
2.4 𝐼𝑑𝑐 𝐶
=
2.4 𝑉𝑑𝑐 𝑅𝐿.𝐶
(2.2) (2.3)
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 garisgaris 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 sedangkan untuk graf berarah matriks nya belum tentu simetri.
tidak berarah selalu 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 4. Untuk setiap garis e=uv, v Є T, ganti label v dengan
(v)=minimum { (v),
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
(t)”. (u) +
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 Sensor
H
Contoh Data Contoh Paket Data
*
P A 1 0
P A 2 0
P A 3 0
P A 4 0
P B 1 0
P B 2 0
P B 3 0
P B 4 0
P C 1 0
P C 2 0
P C 3 0
P C 4 0
P D 1 0
P D 2 0
P D 3 0
P D 4 1
P E 1 1
P E 2 1
P E 3 1
*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.
P E E 4 1 #
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
A
B
C
D
E
V LDR
V Ref
(volt)
(volt)
Ada Mobil
Tidak Ada Mobil
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
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
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
1
0
3.24
2.64
2
0
1.21
0.63
3
0
2.67
2.33
4
0
2.60
1.92
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
A
B
C
D
V LDR
V Ref
(volt)
(volt)
Ada Mobil
Tidak Ada Mobil
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
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
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
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
E
4
1.01
2.64
2.28
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 data ke-
Paket Data Dikirim
1
*00000#
√
2
*08000#
√
3
* 0 0 12 0 0 #
√
4
*00050#
√
5
*00006#
√
Serial Monitor
Benar
Salah
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 #
√
6
7
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 Parkir Keadaan parkir (dalam biner) Paket Data yang diterima (dalam desimal)
H
A A 1 2
A A B B B B C C C C D D D D E E E E E 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
*
0
0
0
*
Keterangan:
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
#
#
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 Blok Status* parkir
1
P.A
Kosong
P.B
Kosong
P.C
Kosong
P.D
Kosong
P.E
Kosong
P.A
Penuh
P.B
Isi
P.C
Isi
P.D
Isi
P.E
Isi
P.A
Penuh
P.B
Penuh
P.C
Isi
P.D
Isi
P.E
Isi
P.A
Penuh
P.B
Penuh
P.C
Isi
P.D
Isi
P.E
Penuh
2
3
4
Gambar denah Visual Basic
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 50
Tabel 4.5. (Lanjutan) Percobaan Form Denah Parkir Mobil dan Sistem Optimasi
5
P.A
Penuh
P.B
Penuh
P.C
Penuh
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