TUGAS AKHIR
PEMANTAUAN LOKASI PARKIR PADA SISTEM
SMART PARKING
Diajukan untuk memenuhi salah satu syarat Memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
Disusun oleh : NOEL VINCENT NIM : 165114022
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
FINAL PROJECT
PARKING LOT MONITORING ON SMART
PARKING SYSTEM
In a partial fulfilment of the requirements
for the degree of Sarjana Teknik
Department of Electrical Engineering
Faculty of Science and Technology, Sanata Dharma University
NOEL VINCENT NIM : 165114022
DEPARTMENT OF ELECTRICAL ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
vi
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
“Setiap peristiwa pasti ada hikmahnya”
Skripsi ini saya persembahkan untuk: Tuhan Yesus Kristus yang selalu memberi berkat, kasih, dan karunia-Nya, Kedua orang tua saya yang selalu mendukung dan mengasihi, Seluruh teman-teman dan orang-orang terdekat yang selalu menyemangati
INTISARI
Seiring dengan perkembangan zaman, penggunaan kendaraan semakin bertambah banyak. Meningkatnya jumlah kendaraan menuntut kebutuhan tempat parkir yang cukup. Sistem parkir yang berlaku saat ini menimbulkan masalah. Masalah yang muncul adalah pengguna perlu mencari tempat parkir secara manual. Tujuan penelitian ini adalah memudahkan proses pencarian tempat parkir bagi pengguna.
Sistem Smart Parking bertujuan untuk memudahkan pengguna lahan parkir mendapatkan tempat untuk parkir tanpa menghabiskan waktu dan bahan bakar yang banyak. Pemantauan lokasi parkir pada sistem Smart Parking dilakukan dengan menggunakan website sebagai media komunikasi. Sistem ini terdiri dari sensor ultrasonik sebagai pendeteksi kendaraan, NodeMCU sebagai mikrokontroler, dan raspberry pi sebagai web server sekaligus database.
Hasil dari penelitian ini menunjukan bahwa sistem ini belum bekerja dengan sempurna menurut tanggapan dari pengguna dengan persentase rata-rata sebesar 84%. Hal yang paling memengaruhi tanggapan pengguna adalah persentase pemahaman pengguna mengenai sistem ini sebesar 70%. Nilai tersebut merupakan nilai terendah yang didapatkan dibanding dengan nilai kinerja sistem pada tiap bagian.
ix
ABSTRACT
Along with the times, the use of vehicles is increasing. The increasing number of vehicles demands a sufficient parking space. The current parking system creates problems. The problem that arises is that users need to find a parking space manually. The purpose of this study is to facilitate the process of finding a parking space for users.
The Smart Parking system aims to make it easier for parking area users to find a place to park without wasting a lot of time and fuel. Monitoring of parking locations in thesystem is Smart Parkingcarried out using the website as a communication medium. This system consists of an ultrasonic sensor as a vehicle detector, NodeMCU as a microcontroller, and raspberry pi as a web server as well as a database.
The results of this study indicate that this system has not worked perfectly according to user responses with an average percentage of 84%. The thing that most influences user responses is the percentage of user understanding of this system at 70%. This value is the lowest value obtained compared to the system performance value for each part.
DAFTAR ISI
LEMBAR PERSETUJUAN ... iii
HALAMAN PENGESAHAN ... iv
LEMBAR PERNYATAAN KEASLIAN KARYA ... iv
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ... vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vii
INTISARI ... viii
ABSTRACT ... ix
KATA PENGANTAR ... x
DAFTAR ISI ... xii
DAFTAR GAMBAR... xv
DAFTAR TABEL ... xvii
BAB I PENDAHULUAN ... 1
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 ... 4
2.1 SMART PARKING ... 4 2.2 WEBSITE ... 5 2.3 WEB SERVER ... 5 2.3.1 APACHE ... 6 2.4 DATABASE ... 7 2.5 NODEMCU ... 8 2.6 SENSOR ULTRASONIK ... 10 2.7 RASPBERRY PI ... 13
BAB III RANCANGAN PENELITIAN ... 15
3.1 PROSES KERJA SISTEM ... 15
3.2 PERANCANGAN PERANGKAT KERAS ... 18
3.2.1 DESAIN MODEL PARKIR ... 18
3.2.2 PERANCANGAN PENGKABELAN PENDETEKSI KENDARAAN ... 21
3.3 PERANCANGAN PERANGKAT LUNAK ... 21
3.3.1 DIAGRAM ALIR PENDETEKSI KENDARAAN ... 21
3.3.2 DIAGRAM ALIR WEB SERVER... 23
3.3.3 DESAIN TAMPILAN WEBSITE... 24
3.3.4 DIAGRAM ALIR TARIF PARKIR... 26
BAB IV HASIL DAN PEMBAHASAN ... 28
4.1 IMPLEMENTASI PERANGKAT KERAS ... 28
4.2 KINERJA SISTEM ... 30
4.2.1 PENGUJIAN SENSOR ULTRASONIK ... 32
4.2.2 PENGUJIAN VARIASI SLOT ... 34
4.2.3 PENGUJIAN DETEKSI KENDARAAN ... 36
4.3 IMPLEMENTASI PERANGKAT LUNAK ... 38
4.3.1 TAMPILAN WEBSITE ... 40
4.3.2 DATABASE ... 42
4.3.3 PROGRAM KONEKSI ACCESS POINT DAN WEB SERVER ... 44
4.3.4 PROGRAM PEMBACAAN SENSOR ULTRASONIK ... 45
4.3.5 PROGRAM PENAMPIL DATA KETERSEDIAAN LAHAN ... 46
4.3.6 PROGRAM PENGHITUNG TARIF PARKIR ... 49
4.4 KINERJA KOMUNIKASI ... 51
4.4.1 PROGRAM PENGIRIMAN DATA SENSOR ULTRASONIK ... 51
4.4.2 KINERJA PENGIRIMAN DATA NODEMCU ... 52
5.1 KESIMPULAN ... 57
5.2 SARAN ... 57
DAFTAR PUSTAKA ... 58
DAFTAR GAMBAR
Gambar 2.II.1. Arsitektur smart parking [3]. ... 4
Gambar 2.II.2. Arsitektur database berbasis web [8]. ... 7
Gambar 2.II.3. ESP-12 [10]. ... 9
Gambar 2.II.4. NodeMCU V3. ... 10
Gambar 2.II.5. Sensor Ultrasonik. ... 11
Gambar 2.II.6. Cara kerja sensor ultrasonik [12]. ... 12
Gambar 2.7. Timing diagram sensor ultrasonik HC-SR04 [11]. ... 12
Gambar 2.II.8. RaspberryPi [13]. ... 14
Gambar 3.III.1. Blok diagram sistem smart parking. ... 15
Gambar 3.III.2. Diagram alir sistem smart parking. ... 16
Gambar 3.III.3. (a) Tampilan keseluruhan model; (b) Tampak atas lantai dasar; ... 19
Gambar 3.III.4. Bentuk tiap lahan parkir... 20
Gambar 3.III.5. Pengkabelan NodeMCU dan sensor ultrasonik. ... 21
Gambar 3.III.6. Diagram alir deteksi kendaraan. ... 22
Gambar 3.7. Diagram alir web server... 23
Gambar 3.8. Rancangan Tampilan Website. ... 25
Gambar 3.9. Diagram alir tampilan tarif parkir. ... 26
Gambar 4.1 Tampak atas model. ... 28
Gambar 4.2 Tampak samping. ... 29
Gambar 4.3 Wiring rangkaian bagian bawah. ... 29
Gambar 4.4. Grafik kinerja sistem secara keseluruhan dan tiap bagian. ... 31
Gambar 4.5 Grafik pengujian sensor ultrasonik ... 32
Gambar 4.6. Grafik pengujian variasi slot. ... 35
Gambar 4.7. Grafik deteksi kendaraan tiap variasi jarak. ... 37
Gambar 4.8. Isi tabel database data_sp. ... 43
Gambar 4.9. Listing program koneksi access point. ... 44
Gambar 4.10. Listing program koneksi ke web server. ... 45
Gambar 4.11. Listing program pembacaan sensor ultrasonik. ... 46
Gambar 4.12. Listing program penampil data ketersediaan lahan pada website. ... 47
Gambar 4.13. Tampilan website dengan kondisi berbeda-beda. ... 48
Gambar 4.15. Listing program penghitung tarif parkir. ... 50
Gambar 4.16. Tampilan pembayaran. ... 50
Gambar 4.17. Listing program pengiriman data sensor ultrasonik. ... 52
DAFTAR TABEL
Tabel 2.1. Spesifikasi sensor ultrasonik [11]. ... 11
Tabel 3.1. Keterangan Gambar 3.8. Rancangan Tampilan Website... 25
Tabel 4.1. Data kuisioner. ... 31
Tabel 4.2 Hasil pengujian ketepatan jarak sensor ultrasonik. ... 33
Tabel 4.3. Data percobaan bernilai benar dan salah. ... 35
Tabel 4.4. Letak kesalahan deteksi database. ... 35
Tabel 4.5. Pengujian variasi slot. ... 36
Tabel 4.6. Deteksi kendaraan tiap slot. ... 37
Tabel 4.7. Data pengujian sensor ultrasonik dengan batas jarak 3-11 cm... 38
Tabel 4.8. Hasil percobaan penulisan data pada database. ... 39
Tabel 4.9. Pembacaan database melalui website. ... 39
Tabel 4.10. Tampilan website. ... 40
Tabel 4.11. Kinerja pengiriman slot 1 sampai 4. ... 53
Tabel 4.12. Kinerja pengiriman slot 5 sampai 8. ... 53
Tabel 4.13. Contoh pengukuran pada slot 5. ... 54
1
BAB I
PENDAHULUAN
1.1 LATAR BELAKANG
Smart parking merupakan sistem yang diterapkan untuk memperoleh informasi
mengenai ketersediaan lahan parkir pada area tertentu dan diproses secara real-time. Sistem ini menggunakan teknologi Internet of Things (IoT) yang memungkinkan adanya komunikasi antara sensor dan pengguna. Sistem ini menggunakan sensor dengan harga yang terjangkau dan tidak membutuhkan daya yang besar, mampu mengambil data terus menerus secara real-time, berdaya tahan tinggi. Smart parking mampu mengurangi emisi kendaraan dengan mengatasi masalah pencarian lahan parkir yang mengakibatkan pembakaran emisi berlebih.
Memarkirkan kendaraan merupakan permasalahan yang cukup serius dilihat dari meningkatnya ukuran kendaraan mewah dan area parkir yang terbatas di daerah perkotaan. Pengguna kendaraan perlu mencari lahan parkir yang kosong diantara banyak sekali kendaraan dan tempat yang luas. Hal ini menjadi permasalahan umum saat mencari parkir. Masalah ini sangat tidak efisien ditinjau dari waktu dan bahan bakar yang terbuang sia-sia. Sistem smart parking banyak mengalami perubahan dan pengembangan. Salah satunya adalah smart parking menggunakan metode sms gateway. Sistem ini memudahkan pengguna karena pengguna tidak perlu mencari lahan parkir yang kosong dengan waktu yang lama. Pengguna diminta memasukkan kode lalu mengirim kode tersebut menuju nomor yang tertera di layar Human Machine Interface (HMI). Sistem ini masih memiliki beberapa kelemahan yaitu pengguna harus mengirimkan kode ke nomor yang tertera. Akses informasi lahan parkir tidak bisa didapat secara langsung karena harus melakukan pengiriman sms terlebih dahulu. Sistem ini juga menggunakan HMI yang tidak portable dan jumlahnya terbatas, hal ini dapat menyebabkan pengguna mengantri cukup lama untuk dapat menggunakan HMI tersebut [1].
Dibutuhkan sebuah sistem smart parking yang bisa membantu para pengendara mengetahui ketersediaan lahan parkir dan menemukan lahan parkir yang masih dapat ditempati dengan pendekatan teknologi yang banyak digunakan secara umum. Sistem smart
parking berbasis web ini diharapkan mampu meningkatkan efektifitas pengendara
mengetahui informasi ketersediaan lahan yang ada di tempat tersebut. Pengendara membutuhkan perangkat yang dapat digunakan untuk mengakses internet seperti
smartphone yang pada zaman ini umum dimiliki semua orang [1].
1.2 TUJUAN DAN MANFAAT
Tujuan dari penelitian ini adalah membuat sistem pemantauan lokasi parkir berbasis IoT. Hasil data ditampilkan di dalam website.
Manfaat yang diharapkan dari penelitian ini adalah agar penelitian ini dapat dijadikan sebagai rujukan, bahan kajian dan acuan yang dapat digunakan untuk pengembangan
Internet of Things di dalam sistem smart parking dan untuk memudahkan akses informasi
ketersediaan juga letak lahan parkir.
1.3 BATASAN MASALAH
Penelitian dibatasi dengan ketentuan sebagai berikut: 1. Pemodelan lahan parkir berupa miniatur.
2. Total kapasitas parkir sebanyak 8 petak. Tempat parkir terdiri dari 2 lantai dengan ketentuan tiap lantai terdiri dari 4 petak parkir.
3. Sensor ultasonik digunakan sebagai pendeteksi ada/tidaknya mobil.
4. Apache digunakan sebagai web server untuk menampilkan ketersediaan lahan parkir melalui website.
5. Menggunakan NodeMCU sebagai pengolah data dari sensor ultrasonik dan mengirim data tersebut ke web server.
6. Jumlah NodeMCU yang digunakan sebanyak 4 buah. 7. Menggunakan PHP MySQL ssebagai database.
8. Menggunakan Raspberry Pi sebagai perangkat keras untuk web server dan database. 9. Perangkat yang digunakan pengguna memiliki aplikasi untuk memindai QR Code.
10. Perangkat yang digunakan pengguna terhubung dengan access point sistem.
1.4 METODOLOGI PENELITIAN
Berdasarkan tujuan yang ingin dicapai, metode yang digunakan dalam penyusunan proposal ini adalah:
1. Studi Pustaka
Mencari informasi dan referensi dengan cara membaca buku-buku, artikel, dan jurnal-jurnal yang berkaitan dengan permasalahan yang dibahas yaitu IOT dan smart parking, cara kerja sensor, komunikasi wireless, dan web server.
2. Rancangan/Desain
Merancang bentuk atau model yang sesuai dengan kebutuhan sistem dan batasan masalah diatas dan merancang algoritma komunikasi antara sensor yang dikendalikan NodeMCU dengan raspi yang berperan sebagai web server.
3. Implementasi
Merancang algoritma komunikasi antara sensor yang dikendalikan NodeMCU dengan raspi yang berperan sebagai web server.
4. Pengujian dan Pengukuran
Pengujian dan pengukuran alat dilakukan dengan menempatkan kendaraan pada posisi yang berbeda-beda dan jumlah yang variatif, menghitung waktu sistem melakukan proses, mengambil data pengukuran sensor ultrasonik.
5. Analisis Hasil Pengujian
Analisis data dilakukan dengan melihat kebenaran data yang ditampilkan, menganalisa kinerja alat, melihat waktu delay dari sistem untuk mengirimkan data. Penyimpulan hasil didapat dengan menghitung persentase error yang terjadi di dalam sistem.
4
BAB II
DASAR TEORI
2.1 SMART PARKING
Smart parking secara umum berarti parkir pintar, smart parking berarti sistem yang dikembangkan untuk mempermudah proses parkir. Pintar yang dimaksud dalam smart
parking adalah mampu melakukan sesuatu dengan baik, teratur, dan rapi sesuai dengan
aturan atau etika yang berlaku, serta mampu menyerap informasi dengan baik dan cepat sebagai hasil dari pembelajaran.
Smart parking dilakukan dengan mengkombinasikan sistem parkir dengan jaringan
berbasis IP (Internet Protocol), diharapkan menambah efisiensi dari penggunaan tempat parkir tersebut. Smart parking membutuhkan model jaringan TCP/IP (Transmission Control Protocol) sebagai protokol untuk mengatur komunikasi data dari satu perangkat ke perangkat lain. IP digunakan untuk memudahkan komunikasi antar perangkat dan meningkatkan efektifitas kerja sistem. Komunikasi yang dilakukan antar perangkat dapat dilakukan secara nirkabel, hal ini merupakan salah satu keuntungan yang didapat dari penggunaan sistem
smart parking [2].
Salah satu contoh arsitektur smart parking ditunjukan pada gambar 2.1.
Smart parking merupakan teknologi pengembangan dari konsep Internet of Things
(IoT) yaitu komunikasi antar perangkat melalui internet. Tiap perangkat tersebut mampu melacak, mengendalikan atau memantau sebuah sistem dari jarak jauh menggunakan komputer yang terhubung dengan internet [3]. Smart parking merupakan bagian dari sebuah sistem pintar yang lebih besar yaitu smart city yang mengkhususkan pada tata kelola lokasi parkir sehingga lebih teratur dan efisien [4].
2.2 WEBSITE
Website merupakan halaman yang dapat digunakan untuk menampilkan informasi berupa teks, gambar, suara, video, animasi, atau gabungan dari semuanya. Data yang ditampilkan bersifat statis atau dinamis. Website terdiri dari kumpulan halaman dari banyak web yang saling terhubung. Di dalam website terdapat sebuah halaman yang disebut
homepage yang merupakan halaman yang pertama kali dilihat oleh pengguna saat
mengakses website. Hubungan antara satu halaman web dengan halaman lain biasa disebut dengan hyperlink. Website tersimpan dalam web server yang menunjang dan mendukung kinerja website.
Website dapat dikelompokkan menjadi dua jenis berdasarkan sifatnya, yaitu website statis dan website dinamis. Website statis merupakan datanya jarang mengalami perubahan atau cenderung tetap dan belum menggunakan database. Bahasa pemrograman yang digunakan untuk website statis adalah HTML. Website dinamis merupakan website yang menampilkan data yang selalu berubah-ubah. Data yang ditampilkan diperbarui setiap saat. Bahasa pemrograman yang sering digunakan adalah PHP, ASP, .NET. Website dinamis sudah menggunakan database untuk memperbarui data yang ditampilkan, database yang sering digunakan adalah MySQL dan MS SQL [5].
2.3 WEB SERVER
Web server merupakan perangkat lunak yang berfungsi sebagai penerima permintaan dan kemudian memberikan tanggapan permintaan dalam bentuk halaman website. Web server memiliki dua pengertian yang berbeda, yaitu web server sebagai perangkat keras yang berperan untuk menyimpan semua data mulai dari dokumen, teks, gambar, dan lain-lain. Perangkat keras web server berupa perangkat untuk menyimpan perangkat lunak web server
itu sendiri, contohnya komputer. Web server sebagai perangkat lunak berfungsi untuk mengontrol dan memproses permintaan sesuai dengan yang diinginkan pengguna melalui
browser. Web server menggunakan port 80 untuk menghubungkan koneksi antara client
dengan web server.
Pada web server, website digunakan sebagai media untuk memberikan informasi atau bertukar informasi. Aplikasi web server dapat diperoleh dengan mudah, baik yang berbayar maupun tidak berbayar. Administrator perlu menentukan web server yang digunakan sebelum mengembangkan sebuah website. Pemilihan web server dilakukan saat proses hosting server.
Web server dibedakan menjadi beberapa jenis, beberapa diantaranya adalah Apache web server, MS Windows server 2003 Internet Information Service (IIS), Light HTTP, Nginx, dll. Tiap web server memiliki kecepatan transfer data, waktu request, dan koneksi yang berbeda-beda. Fitur-fitur yang terdapat dalam tiap web server memiliki kelebihan masing-masing yang tidak dimiliki web server lain [6].
2.3.1 APACHE
Apache atau Apache HTTP server adalah perangkat lunak dengan sistem operasi yang mampu mengeksekusi beberapa program dalam waktu yang bersamaan, dan menyediakan layanan untuk aplikasi yang terhubung seperti web browser. Apache pertamakali dikembangkan untuk sistem operasi berbasis Linux/unix, kemudian diadaptasi agar dapat bekerja dalam OS lain seperti Windows dan Mac [6].
Apache merupakan salah satu web server yang dikeluarkan oleh NSCA (National Center for Supercomputing Applications). NSCA merupakan lembaga yang bergerak dibidang penelitian infrastruktur cyber. Apache web server merupakan bagian yang penting untuk menjalankan World Wide Web (www.). Web server menunggu client membuat request melalui browser dan memproses permintaan tersebut. Apache berada di bawah General Public License yang bersifat gratis sehingga Apache dapat diunduh gratis [7].
Apache memiliki keunggulan yang baik untuk penelitian ini. Apache merupakan web server yang mudah dikelola karena berstuktur modul. Struktur modul memudahkan administrator untuk mengendalikan fitur-fitur yang digunakan. Contoh modul yang terdapat
pada web server apache adalah modul keamanan, URL rewrite, cache, dll. Apache merupakan web server yang memiliki connection tumes yang lebih cepat dibandingkan dengan web server lain, hal ini mengakibatkan koneksi saat membuka website tetap stabil.
Transfer rate yang dimiliki apache cukup tinggi dibandingkan dengan web server lain, yaitu
mencapai 949 Kbytes/sec. Namun, apache membutuhkan penggunaan memori RAM yang lebih besar dari web server lain, yaitu hingga 715 MB.
2.4 DATABASE
Database adalah kumpulan dari seluruh obyek database seperti tabel, trigger, maupun fungsi yang membentuk sebuah bangun data. Tiap data yang disimpan di dalam database memiliki cara masing-masing dalam menyimpan sebuah database dalam file sistem. Data yang terdapat di dalam database dikelompokan dengan data yang memiliki tipe serupa. Database server merupakan program utama pengolah database. Database server selalu bekerja pada memori server selagi menunggu request dari pengguna/client [7].
Ada tiga baris sistem yang memengaruhi kinerja database pada web browser, tiga baris sistem tersebut yaitu:
1. Baris pertama adalah web client, contohnya adalah browser yang digunakan oleh user. 2. Baris kedua adalah web server, CGI script, dan penghubung API untuk database
seperti apache.
3. Baris ketiga adalah database server seperti MySQL Berikut gambar arsitektur database:
Gambar 2.2. Arsitektur database berbasis web [8]. Database memiliki beberapa fungsi yaitu:
1. Mengelompokan data dengan tujuan mempermudah pengguna mengidentifikasi data. Pengelompokan dilakukan dengan berbagai cara seperti membuat tabel atau
2. Menghindari data tersimpan lebih dari sekali. Data-data yang disimpan lebih mudah diatur dan meminimalisir adanya file data ganda.
3. Menghemat daya penyimpanan. Semua penyimpanan dibebankan kepada basis data secara digital. Tidak memakan tempat (secara fisik) dan mudah diakses [9].
2.5 NODEMCU
NodeMCU adalah media IoT yang sifatnya open source. NodeMCU terdiri dari chip ESP8266 yang diproduksi oleh Espressif System. Firmware yang digunakan pada NodeMCU adalah Bahasa pengrograman scripting Lua. Pemrograman NodeMCU juga bisa menggunakan perangkat lunak Arduino. NodeMCU menggunakan modul micro USB 2.0 sebagai interface untuk mengunduh program.
NodeMCU menggunakan chip ESP8266 sebagai prosesor, yang secara spesifikasi menyerupai seri ESP-12. Fitur yang dimiliki NodeMCU antara lain adalah:
1. 10 Port GPIO dari D0-D9 2. Fungsionalitas PWM 3. Interface I2C dan SPI 4. Interface 1 wire 5. ADC
Gambar 2.3. ESP-12 [10]. Keterangan dari tiap pin ESP-12:
1. RST : berfungsi mereset modul
2. ADC: Analog Digital Converter. Rentang tegangan masukan 0-1v, dengan skup nilai digital 0-1024
3. EN: Chip Enable, Active High
4. IO16 :GPIO16, dapat digunakan untuk membangunkan chipset dari mode deep sleep 5. IO14 : GPIO14; HSPI_CLK
6. IO12 : GPIO12: HSPI_MISO
7. IO13: GPIO13; HSPI_MOSI; UART0_CTS 8. VCC: Catu daya 3.3V (VDD)
9. CS0 : Chip selection
10. MISO : Slave output, Main input 11. IO9 : GPIO9
12. IO10 : GBIO10
14. SCLK: Clock 15. GND: Ground
16. IO15: GPIO15; MTDO; HSPICS; UART0_RTS 17. IO2 : GPIO2;UART1_TXD 18. IO0 : GPIO0 19. IO4 : GPIO4 20. IO5 : GPIO5 21. RXD : UART0_RXD; GPIO3 22. TXD : UART0_TXD; GPIO1
Bentuk fisik NodeMCU dapat dilihat pada gambar berikut.
Gambar 2.4. NodeMCU V3.
2.6 SENSOR ULTRASONIK
Sensor ultrasonik merupakan sensor yang berfungsi untuk mengubah besaran fisis (bunyi) menjadi besaran listrik dan sebaliknya. Cara kerja sensor ultrasonik didasarkan pada prinsip dari pantulan suatu gelombang suara sehingga dapat dipakai untuk menafsirkan jarak suatu benda dengan frekuensi tertentu. Disebut sebagai sensor ultrasonik karena sensor ini menggunakan gelombang ultrasonik (bunyi ultrasonik). Gelombang ultrasonik adalah gelombang bunyi yang mempunyai frekuensi sangat tinggi yaitu 20.000 Hz. Bunyi ultrasonik tidak dapat di dengar oleh telinga manusia. Bunyi ultrasonik dapat merambat melalui zat padat, cair dan gas.
Bentuk fisik dari sensor ultrasonik ditunjukkan pada gambar berikut.
Gambar 2.5. Sensor Ultrasonik.
Berikut spesifikasi elektrik sensor ultrasonik:
Tabel 2.1. Spesifikasi sensor ultrasonik [11].
Spesifikasi Keterangan Tegangan Kerja DC 5 V Arus Kerja 15 mA Frekuensi Kerja 40 Hz Jangkauan Maksimum 4 m Jangkauan Minimum 2 cm
Sinyal Input Trigger 10 µs gelombang TTL
Sinyal Output Echo Gelombang TTL sesuai dengan jarak objek
Dimensi 45 x 20 x 15 mm
Cara kerja sensor ultrasonik adalah dengan membangkitkan gelombang ultrasonik yang nantinya dipantulkan oleh obyek, gelombang pantulan tersebut diterima kembali oleh sensor sehingga dapat diketahui jarak antara benda. Sensor menghitung selisih antara waktu pengiriman gelombang dan waktu gelombang pantul yang diterima. Piezoelektrik yang berada di dalam sensor membangkitkan gelombang ultrasonik.
Cara kerja sensor ultrasonik ditunjukkan pada gambar berikut.
Gambar 2.II.6. Cara kerja sensor ultrasonik [12]. Berikut adalah timing diagram proses kerja sensor ultrasonik:
Gambar 2.7. Timing diagram sensor ultrasonik HC-SR04 [11].
Cara kerja sensor ultrasonik adalah sebagai berikut, sensor ultrasonik dipicu oleh gelombang input melalui port trigger. Setelah port trigger dipicu, sensor ultrasonik melepaskan 8 gelombang ultrasonik. Gelombang yang dikeluarkan bergerak dengan kecepatan suara menuju obyek. Setelah gelombang mencapai sebuah obyek, gelombang tersebut terpantul dan diterima oleh Echo. Pin echo memberikan nilai lama waktu yang diperlukan gelombang untuk diterima oleh echo. Nilai yang didapat dari echo dapat dimasukkan kedalam persamaan kecepatan sebagai berikut:
Variabel kecepatan pada persamaan 2.1 dapat diganti dengan kecepatan suara sebesar 0,034 cm/µs. Nilai yang didapat pada pengukuran sensor ultrasonik merupakan lama waktu yang diperlukan gelombang untuk dapat terdeteksi oleh sensor. Hasil perhitungan harus dibagi dua karena gelombang membutuhkan waktu dua kali lipat untuk mendatangi benda dan kembali lagi ke sensor ultrasonik [12].
2.7 RASPBERRY PI
Raspberry Pi merupakan sebuah perangkat yang digunakan untuk menjalankan program. Raspberry Pi dikembangkan oleh Raspberry Pi Foundation yang juga bekerjasama dengan para pengembang dan ahli komputer dari Universitas Cambridge. Sistem operasi yang digunakan oleh Raspberry Pi adalah Raspbian OS yang didasari oleh Debian.
Spesifikasi Raspberry Pi 3 adalah sebagai berikut:
1. Processor : Quad-Core 64-bit ARM Cortex A53 clock 1.2Ghz 2. SoC: Broadcom BCM2837
3. CPU: 4× ARM Cortex-A53, 1.2GHz
4. GPU: Broadcom VideoCore IV
5. RAM: 1GB LPDDR2 (900 MHz)
6. Networking: 10/100 Ethernet, 2.4GHz 802.11n wireless
7. Bluetooth: Bluetooth 4.1 Classic, Bluetooth Low Energy
8. Storage: microSD
9. GPIO: 40-pin header, populated
10. Ports: HDMI, 3.5mm analogue audio-video jack, 4× USB 2.0, Ethernet, Camera
Bentuk fisik RaspberryPi ditunjukkan pada gambar berikut.
Gambar 2.8. RaspberryPi [13].
Raspberry Pi merupakan perangkat yang baik digunakan sebagai web server. Raspberry Pi memiliki beberapa kelebihan yang mendukung kinerjanya sebagai web server. Raspberry Pi memiliki harga yang terjangkau dibandingkan perangkat lain. Raspberry Pi juga dijalankan dengan sistem operasi yang open source, sehingga mudah untuk digunakan dan diakses siapa saja. Daya yang dibutuhkan untuk menjalankan Raspberry Pi relatif kecil, hal ini merupakan faktor yang memengaruhi sistem smart parking yang membutuhkan web server untuk aktif secara terus menerus. Pemborosan konsumsi listrik dapat ditekan dengan baik [14].
15
BAB III
RANCANGAN PENELITIAN
3.1 PROSES KERJA SISTEM
Perancangan alat ini terdiri dari beberapa bagian yaitu perancangan perangkat keras berupa model lahan parkir, pengkabelan NodeMCU dan sensor ultrasonik. Perancangan perangkat lunak meliputi perancangan RaspberryPi sebagai web server, perancangan halaman web sebagai tampilan informasi yang sudah diproses, perancangan pendeteksi kendaraan, dan perancangan algoritma penentuan tarif parkir.
Blok diagram sistem smart parking pada penelitian dapat dilihat pada gambar 3.1.
Gambar 3.1. Blok diagram sistem smart parking.
Berdasarkan gambar 3.1 bagian yang dikerjakan pada penelitian kali ini meliputi perancangan NodeMCU dan sensor ultrasonik, perancangan RaspberryPi sebagai web server sekaligus database, dan perancangan website untuk menampilkan data kepada pengguna.
Berikut adalah gambar yang menunjukan proses kerja sistem smart parking secara umum:
Gambar 3.2. Diagram alir sistem smart parking.
Proses kerja sistem dimulai dengan menghubungkan NodeMCU dan access point agar terhubung ke jaringan internet. Koneksi tersebut dibutuhkan agar terhubung dengan web server sehingga dapat mengirimkan data menuju basis data. Saat sistem sudah siap dijalankan, sistem mulai melakukan deteksi keberadaan kendaraan pada tiap tempat parkir. Data yang didapat oleh sensor ultrasonik dikirimkan oleh NodeMCU menuju database pada RaspberryPi.
Pengguna perlu menghubungkan perangkatnya (smartphone) dengan access point sistem smart parking. Pengguna kendaraan yang ingin parkir dapat mengakses website untuk mendapatkan informasi mengenai ketersedian lahan parkir dan lokasi parkir yang kosong atau dapat ditempati. Website menampilkan informasi-informasi yang memudahkan
pengguna dalam menggunakan fasilitas smart parking. Setelah membuka website, pengguna dapat melihat kondisi tempat parkir. Indikator pada website berwarna hijau saat lahan parkir dalam kondisi kosong atau tidak terisi kendaraan apapun dan indikator pada website berwarna merah saat lahan parkir masih terisi oleh kendaraan. Indikator pada website berwarna kuning saat lahan parkir sudah dipesan.
Saat ada lahan parkir yang belum terisi, pengguna dapat menempati tempat parkir. Jika ada lebih dari satu slot pada tempat parkir, pengguna dapat memilih lahan parkir mana yang ingin ditempati. Setelah selesai memilih lahan parkir yang ingin ditempati, kolom username perlu diisikan pengguna. Kolom username berfungsi sebagai kode verifikasi pada bagian operator. Kolom username dapat diisikan oleh pengguna secara bebas. Pengguna perlu menekan tombol parkir untuk melakukan pemesanan pada lahan parkir tersebut. Setelah menekan tombol parkir, website menampilkan rute masuk menuju lahan parkir yang sudah dipilih dan rute keluar tempat parkir, identitas lahan parkir yang ditempati, dan username yang sudah dimasukan oleh pengguna pada halaman sebelumnya. Halaman ini dianjurkan untuk discreenshot oleh pengguna. Saat tombol parkir ditekan, indikator pada lahan parkir yang dipilih berubah menjadi warna kuning dan berubah menjadi warna merah setelah sensor pada lahan mendeteksi ada kendaraan yang menempati tempat tersebut.
Saat sensor mendeteksi keberadaan kendaraan pada lahan parkir, sistem secara otomatis merubah indikator pada lahan parkir menjadi merah dan mencatat waktu kendaraan memasuki lahan parkir. Data ini digunakan untuk menghitung tarif yang perlu dibayarkan oleh pengguna lahan parkir saat ingin keluar dari lahan parkir tersebut. Pengguna menekan
link yang ada pada lahan parkir yang ditempati untuk mengetahui besar jumlah tarif yang
perlu dibayarkan.
Saat pengguna selesai menggunakan lahan parkir, pengguna melihat screenshot halaman pada device pelanggan untuk melihat rute keluar dari tempat parkir tersebut. Saat berada pada gerbang keluar, pengguna perlu menyebutkan identitas lahan parkir dan
username yang dimasukan oleh user kepada operator di gerbang keluar sebagai verifikasi.
Pengguna dapat melihat identitas lahan parkir dan username pada hasil screenshot sebelumnya. Setelah operator berhasil melakukan verifikasi data, maka proses pembayaran dapat dilakukan dan pengguna meninggalkan tempat parkir. Secara otomatis indikator pada lahan parkir berubah menjadi hijau yang artinya siap ditempati.
Informasi yang tersedia dalam sistem smart parking kali ini adalah letak lahan parkir siap ditempati dan masih terisi, jumlah lahan parkir yang siap ditempati, status lahan parkir, rute keluar dan rute masuk lahan parkir, dan perhitungan biaya parkir yang harus dibayarkan. Sistem terus berjalan dan terus melakukan pembaruan data pada website. Setiap lahan parkir memiliki sensor ultrasonik. Cara kerja sensor ultrasonik yaitu saat kendaraan berada diposisi tertentu yang sudah ditentukan, sensor mengirimkan sinyal bahwa sensor mendeteksi adanya kendaraan yang mengakibatkan berubahnya status lahan parkir tersebut. Data yang didapatkan langsung diproses dan ditampilkan pada website.
3.2 PERANCANGAN PERANGKAT KERAS
3.2.1 DESAIN MODEL PARKIR
Perancangan untuk model parkir yang akan digunakan pada penelitian ini memiliki ukuran panjang 50 cm, lebar 60 cm, dan tinggi 20 cm. Ada 4 tempat parkir pada tiap tingkat dan model terdiri dari 2 tingkat. Total tempat parkir yang ada di dalam model ada 8 tempat parkir. Dimensi untuk tiap tempat parkir pada model adalah 10 cm x 15 cm. Tiap tempat parkir memiliki sebuah sensor ultrasonik dan sebuah solenoid. Sensor ultrasonik berfungsi untuk mendeteksi keberadaan kendaraan pada tempat parkir tersebut. Solenoid digunakan sebagai palang pintu untuk menghalangi kendaraan lain memasuki tempat parkir yang sudah dipilih oleh pengguna. Namun, pada penelitian ini bagian solenoid tidak dibahas secara lanjut.
Berikut gambar-gambar rancangan model tempat parkir pada penelitian ini.
(a)
(b) (c)
Gambar 3.3. (a) Tampilan keseluruhan model; (b) Tampak atas lantai dasar; (c) Tampak atas lantai atas.
Gambar 3.4. Bentuk tiap lahan parkir.
Bentuk keseluruhan model tempat parkir pada penelitian ini ditunjukan pada gambar 3.3. (a). Dimensi model berukuran 60 cm x 50 cm x 20 cm. Model memiliki akses kendaraan untuk naik maupun turun berupa tanjakan (berwarna merah) seperti yang ditunjukkan pada gambar 3.3. Lahan parkir pada model ditandai dengan warna kuning, pada bagian atas terdapat 4 slot dan pada bagian bawah terdapat 4 slot.
Keterangan dari gambar 3.4 adalah sebagai berikut:
1. Bagian A: Sensor ultrasonik yang berfungsi untuk mendeteksi keberadaan kendaraan. 2. Bagian B: Solenoid yang berfungsi sebagai pembatas untuk menghalangi kendaraan
lain menempati tempat parkir tersebut.
3. Bagian C: Contoh mobil yang sedang menempati tempat parkir. 4. Bagian D: Tempat parkir berukuran 15cm x 10cm.
A
B C
3.2.2 PERANCANGAN PENGKABELAN PENDETEKSI KENDARAAN
Perancangan pengkabelan NodeMCU pada penelitian ini terdapat dua buah sensor ultrasonik yang terhubung dengan NodeMCU, namun wilayah kerja dari tiap sensor berbeda-beda. Tiap sensor ultrasonik membutuhkan 4 port yang terdiri dari Vcc, Ground,Trig, dan Echo. Vcc, ground, dan trig dapat digabungkan menjadi satu dan digunakan
bersama, tetapi echo dari tiap sensor tidak dapat digabungkan karena port tersebut merupakan data hasil pengukuran dari sensor ultrasonik tersebut.
Pengkabelan antara NodeMCU dan sensor ultrasonik ditunjukkan pada gambar 3.4.
Gambar 3.5. Pengkabelan NodeMCU dan sensor ultrasonik.
3.3 PERANCANGAN PERANGKAT LUNAK
3.3.1 DIAGRAM ALIR PENDETEKSI KENDARAAN
Perancangan perangkat lunak sesuai dengan diagram alir pada gambar 3.5. Saat pertama kali dihidupkan, NodeMCU melakukan inisialisasi pada tiap port yang digunakan. Sesuai dengan gambar 3.4. Port D0 diinisialisasi sebagai port untuk trig, sedangkan port D1 untuk echo dari sensor ultrasonik A dan port D2 untuk echo dari sensor ultrasonik B. Setelah melakukan inisialisasi, NodeMCU akan mencoba menghubungkan dengan jaringan atau
access point yang ada. Setelah terhubung, NodeMCU memberikan pernyataan melalui
monitor serial.
Gambar 3.6. Diagram alir deteksi kendaraan.
Sensor ultrasonik mulai melakukan deteksi obyek (kendaraan) setelah NodeMCU terhubung dengan access point. Data yang didapat dari sensor langsung diproses oleh NodeMCU. Program memiliki batasan jarak untuk menentukan ada atau tidaknya kendaraan pada lahan tersebut. Jika data yang sudah diproses menghasilkan status ada kendaraan, NodeMCU mengirimkan data tersebut ke database, begitu juga sebaliknya. Jika status yang dihasilkan adalah tidak ada kendaraan, maka data tersebut langsung dikirim ke database. Setelah semua data sudah dikirim ke database, program pada NodeMCU melakukan looping. NodeMCU kembali melakukan deteksi obyek pada lahan parkir. Proses ini terjadi terus menerus selama NodeMCU memiliki koneksi ke internet.
Sensor ultrasonik diatur untuk melakukan pengukuran secara terus-menerus dengan ketentuan tertentu. Jika hasil pengukuran tidak berubah-ubah atau statis maka data dianggap sebagai kendaraan. Jika data berubah-ubah setiap waktu, data tidak dianggap sebagai kendaraan dan diabaikan.
3.3.2 DIAGRAM ALIR WEB SERVER
Perancangan perangkat lunak web server sesuai dengan gambar 3.6. Proses diawali dengan adanya request dari pengguna untuk mengakses website informasi parkir. Web server mengakses file PHP yang diinginkan oleh pengguna. Data yang sudah didapatkan oleh NodeMCU sudah dikirimkan ke database, data tersebut diakses oleh file PHP lalu diproses. Web server menampilkan website pada browser pengguna sesuai dengan data yang ada di dalam database. Jika data yang ada pada database sewaktu-waktu berubah, maka website memperbarui halaman web tersebut dan menampilan data terbaru.
Proses kerja web server untuk menampilkan website informasi tempat parkir dapat dilihat pada Gambar 3.7. Diagram alir web server.
Web server aktif secara terus menerus tanpa dipengaruhi oleh ada atau tidaknya
request dari pengguna. Selama perangkat keras web server aktif, pengguna dapat melakukan request kapan saja. Website yang ditampilkan berubah-ubah (dinamis) sesuai dengan data
yang terdapat pada basis data. Untuk mendapatkan informasi terkini melalui website, pengguna perlu melakukan proses refresh agar informasi yang didapat sesuai dengan keadaan terkini di tempat parkir. Bahasa pemrograman PHP mendukung pembuatan website yang bersifat dinamis.
3.3.3 DESAIN TAMPILAN WEBSITE
Pengguna perlu mengakses website yang disediakan untuk melihat informasi mengenai ketersediaan lahan parkir pada sistem smart parking. Website menujukan informasi mengenai letak lahan parkir yang masih tersedia dan yang sudah terisi. Website juga menunjukan informasi total jumlah ketersediaan lahan parkir dan jumlah ketersediaan lahan parkir tiap lantai.
Website dapat menunjukan tarif parkir yang perlu dibayarkan oleh pengguna lahan parkir tersebut dengan menekan angka pada lahan parkir yang ditempati. Angka yang tertera pada tiap lahan parkir merupakan teks hyperlink yang dapat ditekan untuk melihat tarif parkir dan waktu penggunaan lahan parkir tersebut. Tarif parkir dihitung berdasarkan waktu terkini pelanggan mengakses website.
Berikut rancangan tampilan website yang ditampilkan kepada pengguna.
Gambar 3.8. Rancangan Tampilan Website.
Tabel 3.1. Keterangan Gambar 3.8. Rancangan Tampilan Website..
Bagian Keterangan
1-8 Gambar yang mewakili lahan parkir yang ada di lapangan.
Link yang dapat digunakan untuk mengetahui tarif parkir yang perlu dibayarkan
A Bidang miring untuk akses naik dan turun pengguna
3.3.4 DIAGRAM ALIR TARIF PARKIR
Perancangan tarif parkir dilakukan sesuai dengan gambar 3.9 Sensor mendeteksi keberadaan mobil dan mulai melakukan penandaan waktu masuk kendaraan. Data tersebut dikirim dan disimpan di dalam database. Sistem mulai menghitung tarif parkir sesuai dengan waktu yang berlalu dan tarif yang berlaku. Data yang sudah dikirimkan ke database merupakan patokan untuk menghitung lama waktu penggunaan lahan parkir. Sistem terus melakukan perhitungan selama kendaraan masih terdeteksi pada lahan parkir.
Diagram alir tarif parkir dapat dilihat pada gambar di bawah ini:
Sebelum pengguna meninggalkan lahan parkir, pengguna dapat melihat tarif parkir yang perlu dibayarkan. Setelah pengguna meninggalkan lahan parkir, sistem secara otomatis menghentikan penghitungan tarif parkir dan menghilangkan akses pengguna terhadap link yang digunakan untuk melihat perhitungan tarif parkir. Sistem penghitungan tarif parkir tidak melayani pembayaran parkir secara online. Pengguna hanya dapat melihat estimasi tarif parkir yang harus dibayarkan.
28
BAB IV
HASIL DAN PEMBAHASAN
Bab ini berisi hasil dari pengujian dan pembahasan sistem pemantauan lokasi parkir pada sistem smart parking. Pengujian dilakukan dengan melakukan pemesanan slot parkir pada website yang berkaitan. Setelah memesan, pengguna perlu memindai QRcode yang pada website untuk mendapatkan kendali dari portal masuk dan portal pada slot yang dipesan. Untuk keluar dari parkir, pengguna perlu menunjukkan QRcode pada portal keluar dan melakukan pembayaran. Setelah admin menerima konfirmasi pembayaran, portal keluar terbuka dan pengguna dapat keluar.
4.1 IMPLEMENTASI PERANGKAT KERAS
Bentuk fisik model Smart Parking pada penelitian ini ditunjukkan pada gambar 4.1. Model terdiri dari dua tingkat. Tiap tingkat memiliki 4 slot parkir dan untuk akses naik dan turun dihubungkan dengan tanjakan yang di tunjukkan pada huruf C. Untuk masuk ke dalam tempat parkir, pengguna perlu melewati pintu masuk yang ditunjukkan pada huruf A. Huruf B menunjukkan lahan parkir yang berada pada lantai atas. Lahan parkir memiliki urutan penamaan A1, A2, A3, dan A4 mulai dari kiri ke kanan seperti pada gambar 4.1.
Gambar 4.2 Tampak samping.
Gambar 4.3 Wiring rangkaian bagian bawah. Penjelasan gambar 4.3 adalah sebagai berikut:
A. Sensor ultrasonik dilihat dari bagian bawah model.
B. NodeMCU sebagai mikrokontoler untuk mengolah data yang sudah diterima dari sensor ultrasonik dan mengirimkannya ke database.
C. Pin power supply 5V 10A, digunakan sebagai sumber listrik untuk mengaktifkan NodeMCU, sensor ultrasonik, relay 8 channel, dan relay 2 channel.
D. Pin power supply 24V 10A, digunakan sebagai sumber listrik untuk mengaktifkan solenoid 24V dan LED 24V.
E. Solenoid digunakan sebagai penggerak tuas untuk menutup dan membuka portal pada tiap lahan parkir maupun pada gerbang masuk dan keluar.
F. Relay 8 channel digunakan untuk mengendalikan portal (solenoid) pada tiap lahan parkir bagian atas maupun bawah.
G. Relay 2 channel digunakan untuk mengendalikan portal (solenoid) pada gerbang masuk dan keluar.
H. Mekanik dari portal yang terbuat dari sterofoam yang nantinya dapat naik maupun turun sesuai dengan kondisi solenoid.
4.2 KINERJA SISTEM
Sistem Smart Parking pada penelitian ini terdiri dari beberapa bagian proses kerja. Pada subbab ini penulis membahas 3 topik yang berkaitan dengan judul penelitian. Topik yang dibahas pada subbab ini adalah pengujuan sensor ultrasonik, pengujian variasi slot, dan pengujian deteksi kendaraan.
Pengujian kinerja sistem secara keseluruhan dilakukan dengan menyebarkan kuisioner kepada pengguna Smart Parking. Kuisioner yang dibagikan berisi 10 pertanyaan. Pertanyaan-pertanyaan yang diajukan berkaitan dengan kinerja sistem secara keseluruhan dan kinerja sistem pada tiap bagian. Data dari 10 pengguna digunakan untuk mencari nilai rata-rata kinerja sistem pada penelitian ini. Nilai yang terdapat pada kuisioner ada 4 yaitu, sangat baik, baik, cukup, dan kurang. Penilaian ini diberi bobot 4 untuk sangat baik dan bobot 1 untuk kurang. Nilai tertinggi yang bisa didapatkan adalah 4 dan 1 nilai terendah yang bisa didapatkan. Data dan grafik kuisioner dapat dilihat pada gambar 4.4 dan tabel 4.1.
Gambar 4.4. Grafik kinerja sistem secara keseluruhan dan tiap bagian. Tabel 4.1. Data kuisioner.
No. Topik pertanyaan
Rata-rata
Persentase 1 Kinerja sistem secara keseluruhan 3,4 85%
2 Tingkat pemahaman pengguna 2,8 70%
3 Kinerja sistem pemesanan 3,6 90%
4 Tampilan website 3,4 85%
5 Pengarahan jalur parkir 3,1 78%
6 Kinerja Qrcode 3,4 85%
7 Kinerja kontrol portal parkir 3,3 83%
8 Kinerja sistem pembayaran 3,6 90%
9 Kinerja webserver 3,4 85%
10 Perbandingan dengan sistem parkir pada
umumnya 3,6 90%
11 Total 3,36 84%
Data yang didapat pada gambar 4.4 dan tabel 4.1 merupakan hasil rata-rata yang didapat dari 10 kuisioner yang berbeda-beda. Hasil penghitungan yang didapat menyatakan kinerja sistem secara keseluruhan sudah cukup baik dilihat dari persentase yang didapatkan cukup tinggi sebesar 85%. Tingkat pemahaman pengguna terhadap sistem merupakan nilai yang paling kecil dibandingkan dengan bagian lain yaitu sebesar 70%. Kinerja tiap bagian pada sistem sudah cukup baik dilihat dari nilai persentase yang didapat melebihi 75%.
0% 20% 40% 60% 80% 100%
Kinerja sistem secara keseluruhan Tingkat pemahaman pengguna Kinerja sistem pemesanan Tampilan website Pengarahan jalur parkir Kinerja Qrcode Kinerja kontrol portal parkir Kinerja sistem pembayaran Kinerja webserver Perbandingan dengan sistem parkir pada…
4.2.1 PENGUJIAN SENSOR ULTRASONIK
Pengujian dilakukan dengan membandingkan hasil pengukuran sensor yang didapat pada serial monitor NodeMCU dengan jarak kendaraan yang berada pada lahan parkir. Serial monitor dilihat melalui aplikasi Arduino pada laptop yang terhubung dengan NodeMCU menggunakan kabel USB. Dalam pengujian ini terdapat 16 variasi pengukuran jarak mulai dari 3cm sampai dengan 18cm. Pada tiap pengambilan data, kendaraan digeser sebesar 1cm pada tiap pengambilan data. Pengujian tiap variasi dilakukan sebanyak 5 kali. Dari 5 data yang didapat, data dirata-rata untuk mendapatkan nilai rata-rata galat pengukurannya.
Dari data hasil pengujian dapat diperoleh tingkat keakuratan sensor ultrasonik mendeteksi jarak kendaraan pada tiap lahan parkir, besar galat pada tiap lahan parkir, dan besar probabilitas kurang akuratnya sensor ultrasonik mendeteksi jarak kendaraan. Hasil perbandingan nilai pengukuran dengan nilai secara riil dapat dilihat pada gambar 4.5 dan tabel 4.2 dibawah ini.
Gambar 4.5 Grafik pengujian sensor ultrasonik
0 0.2 0.4 0.6 0.8 1 1.2 1 2 3 4 5 6 7 8 Slot
Pengujian Sensor Ultrasonik
Tabel 4.2 Hasil pengujian ketepatan jarak sensor ultrasonik.
Keterangan Slot 1 Slot 2 Slot 3 Slot 4 Slot 5 Slot 6 Slot 7 Slot 8 Rata-rata galat tiap
slot 0,65 0,638 0,2 0,313 0,3 0,313 0,238 0,738 Probabilitas galat tiap
slot 6% 6% 2% 3% 3% 3% 2% 7%
Tingkat keakuratan
tiap slot 94% 94% 98% 97% 97% 97% 98% 93%
Rumus yang digunakan untuk menghitung rata-rata galat, rata-rata galat tiap slot, dan probabilitas galat tiap slot adalah sebagai berikut:
Rata − rata galat tiap slot = Jumlah rata−rata galat
Banyaknya variasi (4.1)
Probabilitas galat tiap slot = Jumlah rata−rata galat
Jumlah jarak variasi (4.2)
Rata-rata galat tiap slot (4.1) menyatakan besar galat jarak pengukuran yang diukur oleh sensor ultrasonik. Rata-rata galat tiap slot yang didapatkan pada slot 1 sebesar 0,65 cm. Nilai 0,65 cm adalah besar nilai kesalahan pengukuran yang dapat muncul saat pengukuran. Jarak yang seharusnya terukur sebesar 9 cm dapat berubah menjadi 8,3 cm yang dibulatkan menjadi 8 cm oleh sistem. Rata-rata galat tiap slot menyatakan besar nilai galat yang dapat muncul saat pengukuran.
Probabilitas galat tiap slot (4.2) merupakan persentase kegagalan yang terdapat pada tiap slot. Probabilitas galat tiap slot yang didapatkan pada slot 8 sebesar 7%. Nilai 7% menyatakan kemungkinan error yang muncul. Pada slot 8 terdapat 80 data yang didapat dari 16 variabel pengukuran dan 5 kali pengambilan data pada tiap variabelnya. Jumlah percobaan yang tidak tepat sebesar 7% dari 80 data atau sebesar 6 data yang error.
Berdasarkan data yang didapatkan pada tabel 4.1, rata-rata galat jarak yang didapatkan pada tiap slot tidak melebihi 1cm. Galat jarak terbesar ada pada slot 8 dengan rata-rata 0,738 cm dan probabilitas galat yang terjadi sebesar 7%. Galat jarak terkecil ada pada slot 3 dengan rata-rata 0,2 cm dan probabilitas galat yang terjadi sebesar 2%. Sistem sudah berhasil
mengidentifikasi keberadaan kendaraan dengan cukup baik. Tingkat keakuratan sistem mendeteksi keberadaan kendaraan sebesar 96% dengan tingkat keakuratan terkecil adalah sebesar 93% pada slot 8. Tingkat keakuratan tertinggi terdapat pada slot 3 dengan persentase sebesar 98%. Terdapat 5 slot yang tingkat keakuratanya lebih tinggi daripada rata-rata sistem.
Tiap slot memiliki tingkat keakuratan yang berbeda-beda, namun persentasi keakuratan tiap slot berada di atas 90%. Persentasi keakuratan sistem sudah cukup stabil. Pada percobaan ini, galat dapat terjadi karena perbedaan gelombang yang dideteksi oleh masing-masing sensor ultrasonik. Perbedaan pengukuran gelombang oleh tiap sensor ultasonik memengaruhi hasil pengukuran jarak. Hasil perhitungan gelombang oleh sensor merupakan hasil pembulatan secara otomatis oleh program setelah dihitung menggunakan rumus kecepatan.
4.2.2 PENGUJIAN VARIASI SLOT
Pengujian variasi slot dilakukan dengan memberi masukan berupa posisi kendaraan dengan variasi yang berbeda-beda. Pengujian dilakukan dengan variasi sebanyak 100 variasi yang berbeda-beda. Variasi pengujian dimulai dari keadaan kendaraan pada tiap slot sebanyak 1 buah dan diakhiri dengan keadaan semua slot terisi penuh oleh 8 buah kendaraan.
Percobaan dapat dikatakan benar jika posisi kendaraan pada sistem sama dengan hasil deteksi yang ada pada database. Percobaan dikatakan salah jika posisi kendaraan pada sistem tidak sama dengan hasil deteksi yang ada pada database. Data yang dibandingkan adalah data antara kondisi posisi kendaraan pada sistem dan data pada database. Data pada database merupakan data hasil pengukuran yang dimasukkan secara otomatis oleh sistem. NodeMCU mengirimkan data berupa 0 (kosong) dan 1 (ada kendaraan) secara terus menerus ke web server. Web server menangkap data tersebut dan memasukkan data ke dalam database. Web server berperan sebagai media komunikasi antara NodeMCU dan database. Data hasil percobaan variasi slot ditunjukkan pada gambar 4.6 dan tabel 4.4.
Gambar 4.6. Grafik pengujian variasi slot. Tabel 4.3. Data percobaan bernilai benar dan salah. Banyaknya percobaan Jumlah percobaan benar Jumlah percobaan salah 100 93 7 Persentase 93% 7%
Pada 100 kali percobaan, terdapat 93 percobaan bernilai benar dan 7 percobaan bernilai salah. Persentase percobaan benar yang didapat dari total pengujian sebesar 93% dan persentase percobaan salah yang didapat dari pengujian sebesar 7%. Letak kesalahan deteksi database terjadi pada slot 2, slot 4, slot 5, slot 7, dan slot 8. Tidak ada kesalahan deteksi yang terjadi pada slot 1, slot 3, dan slot 6. Slot 4 dan slot 7 memiliki nilai kesalahan deteksi yang paling besar diantara slot lainnya yaitu 2 kali kesalahan deteksi. Letak kesalahan deteksi dapat dilihat pada tabel 4.5.
Tabel 4.4. Letak kesalahan deteksi database. Keterangan Slot 1 Slot 2 Slot 3 Slot 4 Slot 5 Slot 6 Slot 7 Slot 8 Jumlah kesalahan deteksi 0 1 0 2 1 0 2 1 93 7 0 10 20 30 40 50 60 70 80 90 100
Jumlah percobaan benar Jumlah percobaan salah
Ju m lah Perc o b aa n
Contoh data pengujian variasi slot ditunjukkan pada tabel 4.6. Percobaan ke-91 dinyatakan salah karena ada data yang tidak cocok antara keadaan asli pada sistem dan pendeteksian oleh database. Ketidakcocokan terdapat pada slot 4 dimana sistem tidak mendeteksi adanya keberadaan kendaraan pada slot tersebut. Ketidakcocokan salah satu data membuat percobaan bernilai salah. Percobaan ke-92 dinyatakan benar karena sistem berhasil mendeteksi kendaraan dengan baik. Data yang ada pada keadaan asli sama dengan data yang ada pada database.
Tabel 4.5. Pengujian variasi slot. Percobaan ke- Keterangan Slot 1 Slot 2 Slot 3 Slot 4 Slot 5 Slot 6 Slot 7 Slot 8 Benar / Salah 91 Keaadan Asli 1 1 1 1 1 0 1 1 S Deteksi Database 1 1 1 0 1 0 1 1 92 Keaadan Asli 1 1 1 1 0 1 1 1 B Deteksi Database 1 1 1 1 0 1 1 1
4.2.3 PENGUJIAN DETEKSI KENDARAAN
Pengujian dilakukan dengan menempatkan kendaraan pada tiap slot dengan jarak yang variatif. Variasi jarak yang digunakan pada pengujian kali ini sebanyak 7 variasi dengan jarak yang digunakan 5 cm, 7 cm, 9 cm, 11 cm, 13 cm, 15 cm, 17 cm. Batas yang ditentukan sebagai indikator keberadaan kendaraan adalah 15 cm. Jika kendaraan berada kurang dari 15 cm dari sensor, NodeMCU mendeteksi adanya kendaraan pada slot tersebut. NodeMCU mengirimkan data 1 pada database sebagai tanda adanya kendaraan yang terdeteksi. Dilakukan 5 kali pengambilan data pada tiap variasi jarak yang digunakan. Data deteksi kendaraan pada tiap slot dapat dilihat pada gambar 4.7 dan tabel 4.7.
Gambar 4.7. Grafik deteksi kendaraan tiap variasi jarak. Tabel 4.6. Deteksi kendaraan tiap slot.
Jarak Asli Slot 1 Slot 2 Slot 3 Slot 4 Slot 5 Slot 6 Slot 7 Slot 8 Total 5 cm 1 1 1 1 1 1 1 1 100% 7 cm 1 1 1 1 1 1 1 1 100% 9 cm 1 1 1 1 1 1 1 1 100% 11 cm 1 1 1 1 1 1 1 1 100% 13 cm 1 1 1 1 1 0.8 1 1 98% 15 cm 1 1 0.2 0.6 0 0 1 1 60% 17 cm 0 0 0 0 0 0 0 0 0%
Data yang dilampirkan pada tabel 4.2 merupakan hasil penghitungan rata-rata dari 5 kali proses pengambilan data. Kendaraan terdeteksi dengan baik pada pengujian jarak 5cm sampai dengan pengujian pada jarak 11 cm. Pada pengujian jarak 13 cm, terdapat galat yang timbul pada pengukuran di slot 6. Pada pengujian jarak 15 cm, 60% sistem mendeteksi adanya kendaraan. Pada pengujian 17 cm, sudah tidak ada slot yang mendeteksi keberadaan kendaraan. 0% 20% 40% 60% 80% 100% 120% 5 cm 7 cm 9 cm 11 cm 13 cm 15 cm 17 cm
Sistem sudah berhasil mengidentifikasi kendaraan dengan baik sampai dengan jarak 11 cm. Galat yang terdapat di slot 6 pada pengujian jarak 13 cm terbilang kecil. Galat yang muncul pada pengujian jarak 15cm lebih besar daripada galat pada pengujian jarak 13 cm. Dugaan terjadinya galat tersebut adalah karena kemampuan tiap sensor ultrasonik berbeda-beda. Gelombang yang diterima saat pengukuran berbeda-beda sehingga memunculkan galat pada hasil perhitungan jarak kendaraan. Pada proses perhitungan jarak juga terjadi proses pembulatan yang mengakibatkan adanya perbedaan hasil pengukuran jarak kendaraan.
Data yang didapatkan pada pengujian sensor ultrasonik (subbab 4.2.1) dapat dibandingkan dengan data yang didapat pada pengujian ini. Pada pengujian deteksi kendaraan didapatkan hasil pengujian berhasil mengidentifikasi dengan baik sampai dengan jarak 11 cm. Data pengujian sensor ultrasonik dapat dibandingkan dengan pengujian ini menggunakan batas jarak sebesar 11 cm. Hasil perhitungan data pengujian sensor ultrasonik dengan batas jarak 11 cm dapat dilihat pada tabel .
Tabel 4.7. Data pengujian sensor ultrasonik dengan batas jarak 3-11 cm. Keterangan Slot 1 Slot 2 Slot 3 Slot 4 Slot 5 Slot 6 Slot 7 Slot 8
rata-rata galat tiap slot (11 cm)
0.378 0.467 0.111 0.2 0.111 0.311 0.067 0.533
Berdasarkan data yang didapat pada tabel 4.7 menunjukkan data uang didapat saling mendukung. Rata-rata galat tiap slot dengan batas 11 cm pada tabel 4.7 dibandingkan dengan data rata-rata galat tiap slot secara keseluruhan pada tabel 4.2 cenderung lebih kecil. Dugaan terjadinya hal ini karena galat yang terjadi pada jarak 3-11 cm lebih kecil dibandingkan dengan galat yang terjadi pada jarak 12-18 cm.
4.2.4 PENGUJIAN PENULISAN DAN PEMBACAAN DATABASE
Pengujian penulisan data pada database dilakukan dengan cara mengirimkan data pada web server untuk memasukkan/menulis data pada database. Percobaan dilakukan sebanyak 5 kali pada setiap lahan parkir. Jika data masuk ke dalam database, percobaan dinyatakan berhasil. Jika data pada database tidak masuk ke dalam database, percobaan dinyatakan gagal. Hasil percobaan penulisan pada database dapat dilihat pada tabel.
Tabel 4.8. Hasil percobaan penulisan data pada database.
Keterangan Slot 1 Slot 2 Slot 3 Slot 4 Slot 5 Slot 6 Slot 7 Slot 8 Percobaan pengiriman berhasil 5 5 5 5 5 5 5 5 Persentase tingkat keberhasilan 100% 100% 100% 100% 100% 100% 100% 100%
Berdasarkan data yang didapat pada tabel 4.8 menyatakan bahwa dalam 5 kali percobaan penulisan pada database semua percobaan berhasil. Penulisan data pada tiap slot berhasil dilakukan dengan baik. Persentase tingkat keberhasilan penulisan data pada tiap slot adalah sebesar 100%. Tingkat keberhasilan penulisan data pada sistem adalah sebesar 100%.
Tabel 4.9. Pembacaan database melalui website.
Keterangan Slot 1 Slot 2 Slot 3 Slot 4 Slot 5 Slot 6 Slot 7 Slot 8 Percobaan pembacaan data 5 5 5 5 5 5 5 5 Persentase tingkat kesesuaian data 100% 100% 100% 100% 100% 100% 100% 100%
Pada tabel 4.9 ditunjukkan data hasil percobaan pembacaan database melalui website. Dilakukan percobaan pembacaan sebanyak 5 kali pada tiap slot. Tujuan percobaan ini adalah untuk memastikan tingkat kesesuaian data yang ditampilkan pada website dengan database. Persentase tingkat kesesuaian data yang didapat pada tiap slot bernilai 100% dari slot 1 sampai slot 8. Tiap percobaan pembacaan database berhasil dilakukan dengan baik. Tingkat kesesuaian data untuk sistem adalah sebesar 100%.
4.3 IMPLEMENTASI PERANGKAT LUNAK
4.3.1 TAMPILAN WEBSITE
Tampilan website secara bertahap ditunjukkan pada tabel 4.10. Website ditampilkan dengan menggunakan bahasa pemrograman HTML dan PHP. Tampilan website ditujukan untuk pengguna melakukan proses pemantauan lokasi parkir, pemesanan lahan parkir, dan pembayaran. Pengguna menggunakan smartphone yang terhubung dengan access point yang digunakan pada sistem smart parking.
Tabel 4.10. Tampilan website.
No. Gambar Keterangan
1.
Tampilan awal untuk melihat lahan yang masih tersedia dan bisa ditempati. Setelah memilih lahan parkir yang ingin ditempati, pengguna perlu mengisi username untuk menuju halaman selanjutnya.
2.
QRcode yang tampil di halaman website perlu dipindai pada kamera yang ada di pintu gerbang masuk parkir untuk membuka pintu gerbang masuk.
3.
Website menunjukan arah dari pintu gerbang masuk menuju lahan parkir yang sudah dipilih.
4.
Saat sudah membuka portal pada lahan parkir, pengguna perlu menekan tombol jalur keluar untuk mendapatkan jalur keluar dari sistem parkir dan QRcode untuk melakukan pembayaran.
5.
Halaman website perlu disimpan pengguna dengan cara screenshot melalui smartphone pengguna.
QRcode dipindai penjaga pintu gerbang keluar untuk melakukan proses pembayaran.
4.3.2 DATABASE
Database merupakan basis data yang digunakan untuk menyimpan data yang siap diolah pada halaman website. Database dapat diakses dengan menggunakan bahasa pemrograman SQL atau Structured Query Language. Isi database yang digunakan pada penelitian kali ini meliputi ID, Slot, Asal, Tujuan, Jarak, Nilai1, Nilai2, Nilai_sole, Username, Waktu_masuk, Waktu_pesan, Tanggal, Keterangan. Nama tabel yang digunakan adalah data_sp yang berada di dalam database test. Struktur database yang digunakan ditunjukkan pada gambar 4.5. Nama database yang digunakan pada penelitian ditunjukkan pada huruf A. Nama database yang digunakan ditunjukkan pada huruf B. Indikator yang terdapat di dalam database data_sp ditunjukkan pada huruf C. Isi database yang digunakan pada penelitian ini dapat dilihat pada gambar 4.8.
Gambar 4.8. Isi tabel database data_sp.
Setiap indikator yang ada di dalam database memiliki fungsi masing-masing. Berikut penjelasan tentang indikator dalam database data_sp yang digunakan pada penelitian ini:
1. ID digunakan sebagai acuan untuk mengidentifikasi tiap baris data yang ada di dalam tabel. ID pada tiap baris data berbeda-beda.
2. Slot merupakan penamaan slot yang terdapat pada sistem smart parking ini. Terdapat 8 slot pada penelitian ini.
3. Nilai1 digunakan untuk menentukan ada atau tidaknya kendaraan pada slot tersebut. Kolom Nilai1 memiliki 2 kondisi yaitu 0 dan 1. Nilai1 bernilai 0 saat tidak ada kendaraan terdeteksi dan bernilai 1 saat ada kendaraan yang terdeteksi. Data pada kolom Nilai1 didapatkan dari NodeMCU.
4. Nilai2 digunakan untuk menentukan kondisi pemesanan pada slot tersebut. Kolom Nilai2 memiliki 2 kondisi yaitu 0 dan 1. Nilai2 bernilai 0 saat slot tidak sedang dipesan dan bernilai 1 saat slot tersebut sudah dipesan. Data pada kolom Nilai2 didapatkan saat pelanggan melakukan pemesan pada halaman website.
5. Nilai_sole digunakan untuk mengendalikan solenoid yang ada pada setiap slot. Solenoid aktif saat bernilai 1 dan mati saat bernilai 0.
6. Username digunakan untuk mendata kepemilikan slot tersebut.
7. Waktu_masuk digunakan untuk mencatat waktu saat kendaraan mulai terdeteksi dalam slot.
8. Waktu_pesan digunakan untuk mencatat waktu saat kendaraan mulai melakukan pemesanan.
9. Tanggal digunakan untuk mencatat tanggal kendaraan masuk.
10. Keterangan digunakan untuk mengetahui apakah pengguna pada slot tersebut sudah melakukan pembayaran atau belum.
4.3.3 PROGRAM KONEKSI ACCESS POINT DAN WEB SERVER
Penghubungan antara access point dan NodeMCU dilakukan dengan menginisalisasikan SSID dan password dari access point yang digunakan. IP dari NodeMCU diproses secara DHCP (Dynamic Host Configuration Protocol) oleh access point. Header ESP8266WiFi.h perlu dideklarasikan untuk mengakses bagian wifi pada NodeMCU. Jika header tidak dideklarasi, modul wifi pada NodeMCU tidak dapat digunakan. SSID dan password access point perlu dideklarasikan sesuai dengan yang digunakan.
Sintaks WiFi.begin digunakan untuk menghubungkan NodeMCU dengan access point sesuai dengan SSID dan password yang sudah diinisialisasi. SSID yang digunakan pada penelitian ini adalah manut dan password yang digunakan adalah kurangitisue. Program melakukan looping sampai NodeMCU berhasil terhubung dengan jaringan. Sintaks WiFi.localIP digunakan untuk mengetahui IP address yang dimiliki NodeMCU. Program koneksi NodeMCU dengan access point dapat dilihat pada gambar 4.9.
Ip address yang digunakan oleh web server pada penelitian ini adalah 192.168.1.99 dengan subnet mask 255.255.255.0. Ip 192.168.1.99 dipilih sebagai ip web server karena dinilai jarang digunakan dan mudah diingat. Ip web server perlu diatur agar tidak berubah-ubah (statik). Ip web server digunakan untuk alamat pengiriman data yang didapatkan oleh sensor ultrasonik.
Sintaks WiFiClient digunakan untuk mendeklarasikan NodeMCU berperan sebagai
client. Port yang digunakan untuk koneksi antara NodeMCU dan web server harus
dideklarasikan. Program menghubungkan NodeMCU dengan web server menggunakan sintaks client.connect, namun jika koneksi gagal terhubung maka program berhenti dieksekusi. Program melakukan looping dari awal program jika koneksi gagal terhubung dengan web server. Program koneksi NodeMCU dengan web server dapat dilihat pada gambar 4.10.
Gambar 4.10. Listing program koneksi ke web server.
4.3.4 PROGRAM PEMBACAAN SENSOR ULTRASONIK
Proses pembacaan sensor ultrasonik bermula dari deklarasi pin yang digunakan. Pin D1 digunakan sebagai pin yang terhubung dengan trigger pada sensor ultrasonik dan pin D2 terhubung dengan pin echo pada sensor ultrasonik. Variabel yang digunakan untuk keperluan pemrograman perlu dideklarasikan tipe datanya. Pada void setup, pin D1 dideklarasikan sebagai pin output dan D2 sebagai input/masukkan untuk menerima data hasil pengukuran sensor ultrasonik.
Pada void loop, pin trigger perlu diatur logika rendah untuk menghindari adanya kesalahan. Pin trigger diatur logika tinggi selama 10 detik untuk mengirimkan perintah mulai mendeteksi. Hasil pengukuran diterima pada pin echo dan dimasukkan kedalam variabel sens1. Data pada sens1 dimasukkan ke dalam rumus kecepatan agar didapatkan hasil data dalam satuan sentimeter. Data hasil perhitungan dimasukkan kedalam variabel hasil1 dengan tipe data integer. Program pembacaan sensor ultrasonik dapat dilihat pada gambar 4.11.
Gambar 4.11. Listing program pembacaan sensor ultrasonik.
4.3.5 PROGRAM PENAMPIL DATA KETERSEDIAAN LAHAN
Program penampil dimulai dengan memanggil fungsi query yang berfungsi untuk memanggil isi database. Program melakukan identifikasi pada tiap data di dalam database dengan ID sebagai acuan. Nilai1 menyatakan keberadaan kendaraan pada slot tersebut. Nilai2 menyatakan kondisi slot tersebut sudah dipesan atau belum dipesan. Keterangan menyatakan kondisi slot tersebut sudah melakukan pembayaran atau belum melakukan pembayaran.
Program memanggil data berdasarkan urutan ID di dalam database. Ada 4 kondisi yang dapat ditampilkan pada penelitian ini yang dapat diidentifikasi dengan warna yang berbeda-beda yaitu hijau, kuning, merah, dan abu-abu. Berikut penjelasan tentang 4 kondisi pada website:
1. Hijau, kondisi hijau terpenuhi saat Nilai1 bernilai 0, Nilai2 bernilai 0, dan Keterangan tidak berisi nilai apapun.
2. Kuning, kondisi kuning terpenuhi saat Nilai1 bernilai 0, Nilai2 bernilai 1, dan Keterangan tidak berisi apapun.
3. Merah, kondisi terpenuhi saat Nilai1 bernilai 1.
4. Abu-abu, kondisi terpenuhi saat Keterangan berisi BELUM BAYAR.
Program tampilan website mengenai ketersediaan lahan ditunjukkan pada gambar 4.12.
Program melakukan perulangan untuk setiap data yang terdapat di dalam database. Data di dalam database terdiri dar 8 baris data yang merupakan data tiap slot pada penelitian ini. Bagian dalam dari gambar lahan parkir pada website merupakan hyperlink yang berfungsi untuk memilih slot tersebut. Hyperlink pada slot tidak dapat dipilih jika slot berwarna kuning, merah, dan abu-abu. Hyperlink hanya dapat ditekan saat kondisi slot berwarna hijau. Gambar tampilan website ditunjukkan pada gambar 4.13.
4.3.6 PROGRAM PENGHITUNG TARIF PARKIR
Program penghitung tarif parkir yang perlu dibayarkan pengguna dapat dilihat pada gambar 4.9. Penghitungan program tarif parkir pada penelitian ini menggunakan bahasa pemrograman PHP. Sistem mengambil waktu berdasarkan letak sistem berada, penelitian ini menggunakan zona waktu sesuai dengan Asia/Jakarta GMT+7. Tarif parkir yang digunakan pada penelitian ini diambil berdasarkan tarif parkir yang ada di salah satu mall yaitu Mall Malioboro. Untuk 1 jam pertama akan dikenakan tarif sebesar Rp. 3.000,- dan Rp. 2.000,- untuk tiap jam berikutnya. Tarif parkir yang dijadikan sebagai acuan dapat dilihat pada gambar 4.14.
Gambar 4.14. Tarif parkir di Mall Malioboro sebagai acuan.
Waktu sistem disimpan dalam variabel $waktusys. Waktu masuk pengguna disimpan dalam variabel $waktumsk. Variabel $waktusys dan $waktumsk diproses dengan membaginya dalam beberapa bagian berdasarkan jam, menit, dan detik. Setelah data dibagi, data $waktusys dan $waktumsk diproses dengan pengurangan untuk mencari selisih antara kedua variabel tersebut. Selisih yang didapatkan merupakan lama waktu pengguna menggunakan lahan parkir yang kemudian dikalikan dengan ketentuan tarif parkir yang berlaku. Hasil perhitungan tarif ditampilkan pada halaman bayar.php. Program penghitung tarif parkir ditampilkan pada gambar 4.15.