Pengujian Software dan Hardware

15 15 10 5 3 Visual Basic Prototype Print Out Tiket 15 15 8 5 15 Visual Basic Prototype Print Out Tiket 6 13 3 5 11 Visual Basic Prototype Print Out Tiket 15 15 15 9 15 Visual Basic Prototype Print Out Tiket 15 15 10 9 15 Visual Basic Prototype PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Print Out Tiket 15 15 10 0 4 Visual Basic Prototype Print Out Tiket 15 5 10 11 7 Visual Basic Prototype Print Out Tiket 1 13 10 11 13 Visual Basic Prototype Print Out Tiket 3 3 15 3 15 Visual Basic Prototype Print Out Tiket 15 15 15 15 15 Visual Basic Prototype Print Out Tiket - PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.01+~PINC.12+~PINC.24+~PINC.38 define P_B ~PINC.41+~PINC.52+~PINC.64+~PINC.78 define P_C ~PINA.01+~PINA.12+~PINA.24+~PINA.38 define P_D ~PINB.01+~PINB.12+~PINB.24+~PINB.38 define P_E ~PINB.41+~PINB.52+~PINB.64+~PINB.78 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 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. Ifcek==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 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 ifcek==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 ifcek==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 Subrutin yang terdapat didalam “while1” 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 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