Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) 2014 Yogyakarta, 15 November 2014
ISSN: 1979-911X
MODEL SISTEM ANTRIAN LOKET MENGGUNAKAN APLIKASI PROCESSING DENGAN SISTEM MIKROPENGENDALI ARDUINO DAN RASPBERRY PI 1
Arief Hendra Saptadi1 Program Studi D-III Teknik Telekomunikasi, Sekolah Tinggi Teknologi Telematika TELKOM Purwokerto e-mail :
[email protected]
ABSTRACT Queueing system in public service counters is created in order to ensure the continuity of services for the community. With the aim to easily manage it, an electronic system consisting of multiple electronic devices connected to one another is used. This system works according to queueing procedure set beforehand. In a system which used monitor screen to display queue information, a complete PC setup is required to run the main program. This needs a fairly high procurement cost, a significant portion of electricity consumption and a relatively spacious room allocation. For a smallscale public service office with a limited number of counters, this may be an inadequate solution. The aim of this research is to create a model of cost-efficient, low power electronic queueing system. The system consists of a Processing application, Arduino microcontroller and Raspberry Pi mini PC. From the tests performed, Arduino microcontroller had successfully detect that a specific button on a counter has been pushed and sent queueing data to Raspberry Pi through serial communication (USART). Processing application which runs atop Raspbian operating system had also been able to receive the data, to process them and to display them on the monitor screen that is connected to Raspberry Pi via HDMI port. System as a whole costs less through the use of Open Source licensed devices and it runs with power consumption of 5 V 1 A. Processing application requires a longer loading time (due to the use of Java Runtime with limited RAM) and the system could be developed further with the addition of audio feature and daily queue data logging. Keywords: queueing system for counters, Processing application, Arduino, Raspberry Pi PENDAHULUAN Sistem antrian diterapkan dalam layanan administratif di suatu lokasi dengan jumlah pengguna layanan lebih banyak dibandingkan dengan jumlah petugas yang melayani. Sistem antrian didasarkan pada suatu tata urutan tertentu yang baku dimana suatu tahap hanya boleh dijalani bila tahap sebelumnya sudah ditempuh. Contoh: Seorang pengantri tidak boleh mengantri bila belum mengambil nomor antrian. Untuk mempermudah pengaturan sistem antrian, maka digunakan sistem elektronik terdiri dari beberapa perangkat elektronik yang saling terhubung. Sistem elektronik tersebut bekerja berdasarkan tata urutan atau prosedur di dalam sistem antrian. Dengan mengkaji kembali sistem antrian yang sudah ada, terdapat beberapa permasalahan yang patut dicermati pertama penggunaan seperangkat PC untuk sistem antrian (meliputi keyboard, mouse, monitor, sistem komputer dan sebagainya) adalah kurang efisien dalam segi biaya maupun penggunaan ruang. Perangkat tersebut semestinya lebih berdaya guna untuk mengerjakan tugas-tugas administratif atau menyelesaikan tugas komputasi yang lebih kompleks. Kedua aplikasi antrian yang berfungsi untuk menampilkan informasi antrian, umumnya dibangun menggunakan perangkat lunak pemrograman proprietary (seperti MS Visual Basic, Borland Delphi dan semacamnya) dengan biaya lisensi yang tinggi untuk dapat digunakan secara legal. Ketiga pencetakan nomor antrian menggunakan printer menimbulkan isu kurang ramah lingkungan (eco-friendly). Meskipun secara fisik kertas tersebut berukuran kecil dan dicetak tidak menggunakan tinta, namun dengan akumulasi antrian per hari, hal ini akan menimbulkan tumpukan kertas sekali pakai di suatu saat kelak. Salah satu solusi yang dapat ditawarkan untuk sistem antrian tersebut adalah dengan menggunakan Arduino Uno R3 (Arduino) dan Raspberry Pi Model B (Raspberry). Aplikasi antrian dapat dibangun melalui Processing IDE (Processing). Arduino bertugas untuk mengatur interaksi perangkat masukan (saklar) dan komunikasi serial menuju Raspberry. Sedangkan Raspberry itu sendiri (yang menjalankan sistem operasi Raspbian) berfungsi untuk menerima data antrian dari Arduino dan menayangkan informasi antrian ke layar monitor atau TV. Processing IDE yang berjalan A-7
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) 2014 Yogyakarta, 15 November 2014
ISSN: 1979-911X
di atas sistem operasi Raspbian, digunakan untuk membangun aplikasi antrian yang berfungsi untuk memberikan informasi visual tentang urutan antrian kepada para pengantri. Seluruh perangkat keras dan perangkat lunak yang digunakan dalam sistem antrian tersebut adalah berlisensi Open Source. Sehingga hal ini tidak memunculkan isu legalitas dan mengurangi biaya keseluruhan dalam rancang bangun sistem. Raspberry Pi Raspberry Pi (http://raspberrypi.org) adalah sebuah komputer mini (Single Board Computer) yang dikembangkan oleh Raspberry Pi Foundation. Komputer seharga $35 tersebut selain digunakan untuk keperluan komputasi umum (seperti aplikasi pengolah kata, lembar sebar dan permainan) juga dapat difungsikan sebagai media pembelajaran pemrograman dan perancangan proyek elektronika. Raspberry Pi berawal dari keprihatinan Eben Upton, Rob Mullins, Jack Lang dan Alan Mycroft (semuanya adalah staf pengajar Laboratorium Komputer di University of Cambridge) terhadap turunnya kemampuan komputasi dari para mahasiswa di jurusan Ilmu Komputer di universitas tersebut. Mereka merasa bahwa komputer saat ini sedemikian mahal dan penting peranannya dalam menunjang aktivitas sehari-hari sehingga tidak ada ruang untuk bereksperimen menggunakan komputer tersebut. Di sisi lain, berbagai perangkat komputasi bergerak (seperti ponsel cerdas dan komputer tablet) telah menggunakan prosesor berdaya rendah, berharga terjangkau dan cukup bertenaga untuk menjalankan aplikasi multimedia. Berpijak dari tantangan dan peluang tersebut, keempatnya memelopori berdirinya Raspberry Pi Foundation yang selanjutnya memroduksi Raspberry Pi (Model A dan B) secara massal. Bagian-bagian dari Raspberry Pi Model B adalah sebagaimana diperlihatkan dalam Gambar 1. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
(a) (b)
Keterangan: Microprocessor SD Card USB Port Ethernet Port HDMI Connector Status LED Analog Audio Output Composite Video Out Power Connector General Purpose I/O Display Serial Interface Camera Serial Interface
Gambar 1. Tampilan Raspberry Pi Model B (a) Depan (b) Belakang Raspbian Raspbian (http://raspbian.org) adalah sistem operasi yang ditujukan khusus untuk Raspberry Pi dan merupakan distro Linux turunan dari Debian versi Wheezy Armhf. Derivasi dari Debian tersebut memang diperlukan karena Debian standarnya hanya mendukung arsitektur prosesor ARM versi 7 ke atas, sementara Raspberry Pi sendiri masih menggunakan ARM versi 6. Raspbian dibangun dan dikelola oleh komunitas pengguna Raspberry Pi meski tidak berafiliasi terhadap pencipta komputer mini tersebut.
Gambar 2. Sistem Operasi Raspbian pada Raspberry Pi A-8
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) 2014 Yogyakarta, 15 November 2014
ISSN: 1979-911X
Setelah melewati tahapan instalasi Raspbian, pengguna biasanya dihadapkan pada aplikasi raspiconfig yang berfungsi untuk melakukan pengaturan dari filesystem, pilihan untuk langsung booting ke desktop, zona waktu, hingga konfigurasi yang lebih rumit lainnya. Standarnya, pengguna dapat masuk ke sistem cukup dengan menggunakan nama pengguna pi dan kata sandi raspberry. Setelah mengetikkan perintah startx pada konsol, pengguna dapat masuk ke sistem operasi dengan tampilan awal sebagaimana dalam Gambar 2. Arduino Arduino adalah platform komputasi open source yang terdiri dari perangkat keras berupa papan Arduino dan perangkat lunak pemrograman, Arduino IDE. Arduino lahir di Italia pada tahun 2005 dari sebuah proyek thesis Hernando Barragan bernama Wiring. Proyek tersebut berupa sebuah papan rangkaian elektronik menggunakan mikropengendali ATMEL ATmega644P diprogram menggunakan perangkat lunak yang dibangun dari bahasa pemrograman Processing. Arduino awalnya dikembangkan oleh Massimo Banzi dan David Cuartielles yang lalu menjadi sebuah tim dengan bergabungnya Tom Igoe, Gianluca Martino dan David Mellis. Salah satu jenis papan Arduino yang banyak digunakan adalah Arduino Uno R3 (Revision 3). Papan ini menggunakan mikropengendali ATmega328 sebagai pemroses utama dan ATmega16U untuk komunikasi serial. Catu daya rangkaian diperoleh dari konektor DC atau kabel USB yang juga berfungsi sebagai konektor terhadap PC untuk pengunduhan program ke mikropengendali.
(a)
(b)
Gambar 3. Arduino UNO R3 (a) Perangkat Keras (b) Perangkat Pemrograman Lingkungan pemrograman Arduino menggunakan perangkat lunak Arduino IDE (Integrated Development Environment) yang dibuat berbasiskan antarmuka Processing. Bahasa pemrograman Arduino yang digunakan mengambil sintaks dasar dari C++. Program yang ditulis menggunakan perangkat lunak tersebut dinamakan sketsa atau sketch, berekstensi PDE atau INO (untuk versi Arduino IDE yang lebih baru). Processing Processing (http://processing.org) adalah bahasa pemrograman berbasis Java yang dikembangkan oleh Casey Reas dan Benjamin Fry dari MIT Media Lab pada tahun 2001. Bahasa ini awalnya digunakan untuk mengajar dasar-dasar pemrograman komputer dalam konteks visual. Perangkat pemrogramannya atau IDE (Integrated Development Environment) tersedia bebas dengan lisensi Open Source dan digunakan pula dalam pengembangan aplikasi mikropengendali Arduino. Bagian-bagian di dalam Processing IDE adalah seperti di dalam Gambar 4. Sintaks pemrograman dalam Processing memiliki kemiripan terhadap Java dan C/C++ secara umum, dengan kelebihan pada pembuatan objek grafis secara cepat melalui instruksi yang sederhana. Pemrograman dapat dilakukan pada platform Windows, Linux atau Mac, baik untuk sistem 32 bit maupun 64 bit. Hasil dari pemrograman adalah berupa berkas executable yang dapat langsung dijalankan (di Windows, Linux dan Mac OS), skrip Javascript yang dijalankan di halaman web atau aplikasi Android yang dihasilkan dengan mengintegrasikan paket ADT (Android Developer Tools). A-9
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) 2014 Yogyakarta, 15 November 2014
1. 2. 3. 4. 5. 6. 7. 8.
ISSN: 1979-911X
Keterangan: Menu Bar Toolbar Tab Text Editor Display Window Message Area Console Line Number
Gambar 4. Processing IDE METODE PENELITIAN Alat dan bahan yang digunakan dalam penelitian ini adalah hardware yang terdiri dari : (1) Raspberry Pi Model B; (2) Arduino UNO R3 dan (3) Rangkaian (4) tombol saklar di atas breadboard, Software yang terdiri dari : (1) Processing IDE 1.5.1; (2) Arduino IDE 1.0.1 dan (3) Cutecom serta alat pendukung berupa mouse, konektor HDMI dan monitor komputer. Sedangkan tahapan yang ditempuh dalam penelitian ini seperti terlihat pada Gambar 5.
Gambar 5. Alur Penelitian Asumsi dan Skenario Antrian Beberapa asumsi yang digunakan dalam sistem antrian ini adalah pertama jumlah loket dan layanan, masing-masing dibatasi sebanyak dua buah, yaitu Loket 1 dan 2, serta Layanan A dan B. Kedua setiap loket dapat menjalankan Layanan A dan B, tergantung dari prioritas jumlah pengantri untuk kedua layanan tersebut. Ketiga nomor antrian untuk masing-masing layanan dibatasi hingga 99 (A99 dan B99). Keempat sistem antrian diaplikasikan pada lingkup skala kecil sehingga antar bagian sistem dimungkinkan untuk saling terhubung menggunakan sambungan kabel.
Gambar 6. Skenario Antrian Skenario untuk model sistem antrian ini mengikuti sebagaimana digambarkan pada Gambar 6. Pada kesempatan pertama, pengunjung memasuki ruang melalui pintu masuk. Dari sini, pengunjung tersebut kemudian diarahkan oleh petugas untuk mengambil nomor antrian (tergantung dari jenis layanannya, A atau B) di meja yang sudah disediakan. Selanjutnya pengunjung duduk di kursi antrian yang disediakan dan menunggu nomor antriannya ditampilkan di layar. Setelah nomor antrian tampil, pengunjung menuju Loket 1 atau 2 dan dilayani oleh petugas loket. Setelah selesai, pengunjung A-10
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) 2014 Yogyakarta, 15 November 2014
ISSN: 1979-911X
tersebut meninggalkan loket dan melangkah keluar. Petugas loket menekan tombol untuk menampilkan nomor antrian berikutnya. Persiapan Langkah-langkah yang dilakukan berkisar pada penyiapan perangkat lunak untuk kartu memori (SD Card) yang digunakan pada Raspberry Pi, meliputi instalasi sistem operasi Raspbian melalui paket perangkat lunak NOOBS (New Out Of Box Software), konfigurasi Raspbian untuk mengatur tata letak (layout) keyboard, memilih booting langsung ke desktop tanpa melalui layar login dan melakukan pembaharuan (update) sistem operasi, instalasi Java Development Kit (JDK) dan berkas pustaka (library) untuk komunikasi serial, serta instalasi dan konfigurasi Processing IDE versi 1.5.1. Perancangan Sistem Sistem antrian secara keseluruhan dirancang sesuai blok diagram pada Gambar 7.
Gambar 7. Blok Diagram Sistem Antrian Cara kerja dari sistem antrian adalah melalui urutan sebagai berikut: saat Raspberry Pi dinyalakan, sistem langsung masuk ke desktop. Seorang operator kemudian mengklik aplikasi antrian untuk membukanya. Setelah aplikasi berjalan, petugas loket memencet saklar untuk memanggil pengantri. Selanjutnya penekanan saklar tersebut memberikan masukan data ke Arduino, yang selanjutnya menjalankan rutin penghitungan antrian. Hasil perhitungan tersebut kemudian dikirimkan ke Raspberry Pi dalam bentuk string dengan format tertentu melalui komunikasi serial USART. Kemudian Raspberry Pi menerima data string dari Arduino melalui sistem operasi Raspbian dan meneruskannya ke aplikasi antrian. Aplikasi tersebut selanjutnya memecah string menjadi dua nomor antrian, masing-masing untuk Loket 1 dan Loket 2 serta menayangkannya ke monitor atau TV. Setelah selesai beroperasi, seorang operator kemudian menutup aplikasi antrian dan mematikan sistem operasi. Semuanya melalui klik mouse. Perancangan Perangkat Keras Hubungan antar perangkat keras dalam model sistem antrian ini adalah seperti ditampilkan dalam diagram pengabelan (wiring diagram) pada Gambar 8.
(a) (b) Gambar 8. Rancangan Perangkat Keras (a) Koneksi Antar Perangkat (b) Rangkaian Saklar A-11
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) 2014 Yogyakarta, 15 November 2014
ISSN: 1979-911X
Mouse USB ditancapkan ke port USB pertama (USB0) di Raspberry Pi. Kabel USB menuju Arduino menempati port USB kedua (USB1). Monitor dihubungkan ke Raspberry Pi melalui port HDMI. Sedangkan keempat saklar untuk Loket 1 dan 2, baik untuk Layanan A dan B, masing-masing dihubungkan ke pin 8, 9, 10 dan 11 pada port Digital Input di Arduino. Ada pun masing-masing saklar yang terhubung ke Arduino tersebut menggunakan resistor 10 KΩ sebagai pull down, sebagaimana skematik pada Gambar 8.b di atas. Perancangan Perangkat Lunak Firmware untuk Arduino UNO R3 diprogram melalui Arduino IDE versi 1.0.1. Cara kerja program untuk mikropengendali tersebut adalah seperti diagram alir dalam Gambar 9. Pada tahap inisialisasi, program melakukan deklarasi variabel loket1_A, loket1_B, loket2_A dan loket2_B. Keempat variabel tersebut, masing-masing bernilai 8, 9, 10 dan 11 yang menunjukkan nomor pin Digital Input yang terhubung ke saklar. Pada tahap ini dideklarasikan juga variabel hitung_A dan hitung_B yang memuat nomor antrian untuk Layanan A dan B. Selain itu terdapat deklarasi string loketA, loketB dan loket yang masing-masingnya diberikan nilai awal. Ketiga variabel tersebut menampung teks nomor antrian untuk dikirimkan via komunikasi serial.
Gambar 9. Diagram Alir Program pada Arduino UNO R3 Komunikasi serial menggunakan bitrate 9600 bps, dengan format 8 bit data, 1 stop bit dan tanpa paritas. Semua pin untuk saklar diinisialisasi sebagai masukan via instruksi pinMode. Masingmasing saklar dideteksi, jika tombol ditekan, maka variabel hitung_A atau hitung_B bertambah satu. Nilai ini lalu digabung dengan string awalan (tergantung apakah nilai variabel tersebut kurang dari 10 atau tidak) dan masuk ke variabel loket_A atau loket_B. if(digitalRead(loket1_A)) { hitung_A++; if(hitung_A < 10) { loket1 = "#A0" + String(hitung_A); } else { loket1 = "#A" + String(hitung_S1); } delay(200); //Debouncing } Pengembangan aplikasi antrian dilakukan melalui Processing IDE versi 1.5.1. Cara kerja aplikasi antrian tersebut dijelaskan melalui diagram alir pada Gambar 10. Dalam tahap inisialisasi, Processing mengimpor modul komunikasi serial, membentuk objek Serial, mendeklarasikan variabel string token dan empty sebagai karakter pembanding dan pendeklarasian variabel backdrop1 dan A-12
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) 2014 Yogyakarta, 15 November 2014
ISSN: 1979-911X
backdrop2 untuk menentukan level transparansi warna suatu objek. Beberapa hal lain yang dikerjakan pada tahap ini adalah Processing menentukan ukuran form, menerapkan anti-aliasing dan memilih nomor port serial. Saat pertama berjalan, program memeriksa apakah terdapat aliran data pada port serial. Bila ada, maka string yang diterima ditampung di dalam sebuah buffer untuk kemudian dicek, apakah terisi karakter dan panjangnya sebesar 10 karakter. Jika syarat ini terpenuhi, maka form dan seluruh objek di dalamnya ditampilkan. String buffer = port.readString(); if((buffer!= null)&&(buffer.length()==10)) { background(224, 224, 224); … rect(300, 100, 200, 90);
Gambar 10. Diagram Alir Aplikasi Processing Program lalu mengambil karakter dari buffer untuk disimpan pada String loket1 dan loket2. String loket1 = buffer.substring(1,4); String loket2 = buffer.substring(5,8); Pemeriksaan dijalankan kembali bila string yang diterima adalah A00. Bila ya, maka berarti string tersebut menandakan belum ada penekanan tombol sehingga string tersebut tidak ditampilkan. Hal yang sama juga dilakukan untuk mendeteksi keberadaan string B00. if(empty.equals(buffer.substring(2,4))) { backdrop1 = 0; } else { backdrop1 = 255; String loket1 dicek, bila diawali dengan karakter “A”, maka nomor antrian diberikan warna merah. Bila “B”, maka diberikan warna biru. Sesudah itu, nomor antrian ditampilkan. Demikian juga proses untuk String loket2. if(token.equals(loket1.substring(0,1))) { fill(255, 0, 0, backdrop1); } else { fill(0, 0, 255, backdrop1); } text(loket1, 100, 165);
A-13
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) 2014 Yogyakarta, 15 November 2014
ISSN: 1979-911X
PEMBAHASAN Pengujian sistem antrian meliputi tiga tahap, yaitu pengujian untuk mendeteksi port USB yang menghubungkan Arduino dengan Raspberry Pi, pemeriksaan data yang dikirimkan melalui komunikasi serial dan pengecekan aplikasi antrian yang ditulis menggunakan bahasa pemrograman Processing. Tahap pertama pengujian adalah pendeteksian Port USB Arduino pada Raspberry Pi. Pengujian ini diperlukan untuk mendeteksi keberadaan port USB pada Raspberry Pi yang terhubung ke Arduino. Informasi mengenai alamat port yang dihasilkan dari pengujian ini akan diperlukan di dalam skrip program Processing. Proses pengujian ini cukup membutuhkan LXTerminal, aplikasi terminal pada Raspbian. Prosedur pengujian : jalankan LXTerminal, ketikkan perintah ls /dev/tty* untuk mengetahui port yang sedang aktif saat itu, tancapkan port USB yang terhubung ke Arduino, kemudian ketikkan kembali perintah ls /dev/tty*. Dengan membandingkan hasil pengetikan perintah pada langkah ke-2 (yaitu kondisi sebelum port USB dari Arduino ditancapkan) dan langkah ke-4 (yaitu kondisi sesudah port ditancapkan), maka dapat diketahui bahwa port yang dihasilkan adalah sama kecuali /dev/ttyACM0 (ditunjukkan oleh panah merah). Sehingga dapat diketahui bahwa itu adalah port USB yang digunakan oleh Arduino (Gambar 11).
Gambar 11. Hasil Pendeteksian Port USB Arduino Tahap kedua adalah pemeriksaan data yang dikirimkan via komunikasi serial dari Arduino. Pengujian ini diperlukan untuk mengetahui apakah data string yang dikirimkan oleh Arduino melalui komunikasi serial sudah dapat diterima oleh Raspberry Pi. String yang diterima seharusnya berformat: #A/Bxx*A/Byy Dalam pengujian ini diperlukan perangkat lunak serial terminal, bernama Cutecom. Perangkat lunak ini dipasang melalui LXTerminal dengan instruksi: sudo apt-get install cutecom Prosedur pengujian adalah tancapkan port USB dari Arduino, kemudian jalankan Cutecom, pada device pilih atau ketikkan /dev/ttyACM0. Selanjutnya cek dan pastikan baud rate, data bits dan stop bits, masing-masing bernilai 9600, 8 dan 1. Selanjutnya klik open device, setelah muncul aliran data dari Arduino, lakukan beberapa penekanan pada tombol saklar. Bila selesai, klik Close device lalu Quit. Dari tampilan Gambar 12 tersebut, dapat disimpulkan bahwa Raspberry Pi sudah dapat berinteraksi dengan Arduino melalui komunikasi serial. Selain itu string yang dikirimkan juga sudah sesuai format yang dipersyaratkan.
A-14
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) 2014 Yogyakarta, 15 November 2014
ISSN: 1979-911X
Gambar 12. Hasil Pengujian Komunikasi Serial Melalui CuteCom Tahapan pengujian yang terakhir adalah berupa pengoperasian aplikasi antrian. Tujuan dari pengujian ini adalah untuk menentukan apakah sistem antrian yang dirancang secara keseluruhan sudah dapat berjalan dengan semestinya. Pada tahapan ini, perangkat dihubungkan sesuai diagram pengabelan pada Gambar 7.a. Sistem kemudian dinyalakan dan aplikasi Processing dijalankan. Dari hasil pengujian diketahui aplikasi antrian yang dibuat menggunakan Processing IDE 1.5.1 dapat berjalan sesuai dengan penekanan tombol pada rangkaian Arduino. Tidak ada permasalahan dalam komunikasi serial. Kendati pun demikian waktu yang dibutuhkan untuk membuka aplikasi tersebut cukup lama, berkisar 15 – 30 detik dan respon perubahan tampilan pada aplikasi terkadang terlambat.
(a) (b) Gambar 13. Uji Aplikasi Antrian (a) Rangkaian Keseluruhan (b) Tampilan Aplikasi Selain itu, aplikasi antrian juga membutuhkan Processing IDE untuk dapat berjalan. Saat dilakukan pembuatan aplikasi executable, yaitu melalui menu File > Export to Application, aplikasi tersebut memang dapat diciptakan, namun tidak dapat dijalankan. Diduga hal ini disebabkan oleh penggunaan modul serial. Saat dilakukan pemrograman yang lain sebagai pembanding, kali ini tanpa menggunakan modul serial, aplikasi tersebut dapat diekspor dan dijalankan tanpa masalah. Secara keseluruhan model sistem antrian ini memiliki kelebihan dalam hal kesederhanaan sistem dan perangkat yang dibutuhkan dan bahwa kode program aplikasi antrian bersifat portabel, karena penulisan program cukup dilakukan sekali dan dapat dijalankan di Processing IDE pada platform lainnya tanpa modifikasi. Sintaks pemrograman yang dimiliki oleh Processing dan Arduino juga berkesan sederhana dan cukup akrab, khususnya bagi para pengembang aplikasi C/C++ maupun Java. Meski demikian model ini juga memiliki beberapa kekurangan seperti indikator nomor antrian yang hanya bersifat visual, aplikasi antrian membutuhkan waktu yang lama untuk dapat dimuat (loading) dan dalam beberapa kesempatan kurang responsif. Tahapan yang perlu dilalui dalam instalasi Processing IDE juga tidaklah mudah. Kiranya ini semua berdasarkan fakta bahwa Processing itu sendiri memang belum didukung secara resmi dalam repositori perangkat lunak yang digunakan pada Raspberry Pi. A-15
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) 2014 Yogyakarta, 15 November 2014
ISSN: 1979-911X
Meski demikian, masih terbuka kemungkinan pengembangan yang sangat luas untuk model antrian ini. Beberapa diantaranya adalah penambahan indikator antrian secara audio, penambahan fitur pencatatan (logging) dan entri data berupa nomor identitas tertentu (seperti NIM, nomor KTP, SIM dan semacamnya). Integrasi dengan basis data dimungkinkan, mengingat Processing memiliki modul pustaka tersendiri untuk dapat terhubung ke server basis data. Khusus untuk keperluan entri data sebagaimana disebutkan sebelumnya, aplikasi dapat menggunakan keyboard sebagai perangkat input. Opsi lainnya adalah antarmuka aplikasi dirancang ulang sehingga mengakomodasi input data melalui mouse. KESIMPULAN Dalam pembangunan model sistem antrian ini dapat ditarik beberapa kesimpulan sebagai berikut: pertama model ini memiliki keunggulan dalam hal kebutuhan perangkat keras yang minim, kode program aplikasi antrian yang bersifat portabel dan sintaks pemrograman sederhana dan mudah untuk dipahami. Penerapan aplikasi Open Source juga dapat mengurangi biaya yang diperlukan dalam pembangunan aplikasi. Model sistem antrian ini memiliki kelemahan dalam waktu pemuatan (loading) aplikasi yang cukup lama, indikator antrian yang hanya bersifat visual (tanpa audio) dan aplikasi yang terkadang kurang responsif terhadap penekanan tombol di Arduino. Kendatipun demikian, tidak ada permasalahan dalam komunikasi serial antara Processing dan Arduino. Penerapan sistem antrian ini diperkirakan dapat berjalan secara mudah, mengingat bahwa skenario antrian yang digunakan mirip dengan sistem antrian lainnya. Perbedaan utamanya terletak pada peniadaan printer sebagai pencetak nomor antrian dan bahwa kartu antrian telah dicetak sebelumnya untuk digunakan berulang-kali. Model sistem antrian ini lebih cocok diterapkan pada skala kecil, dimana semua perangkat dapat dijangkau melalui koneksi kabel. Skala antrian berskala besar, dengan berbagai jenis layanan dan jumlah loket yang banyak, terutama yang terpisah-pisah pada beberapa lokasi berbeda, membutuhkan perangkat-perangkat yang saling berkomunikasi secara nirkabel. DAFTAR PUSTAKA Arief Hendra Saptadi, Paulus Insap Santosa, Bambang Sutopo, 2013, Model Sistem Akuisisi Data Multiplatform Menggunakan Aplikasi Antarmuka Pengguna Berbasis Bahasa Pemrograman Processing, CITACEE 2013, Universitas Diponegoro Semarang. Casey Reas, Ben Fry, 2010, Getting Started with Processing, O’Reilly: Sebastopol. Daniel Shiffman, 2008. Learning Processing, Elsevier: Burlington. Elinux. RPi Easy SD Card Setup. http://elinux.org/RPi_Easy_SD_Card_Setup. Diakses pada 5 Desember 2013. Massimo Banzi, 2011, Getting Started with Arduino, Second Edition. O’Reilly: Sebastopol. Mike McRoberts, 2010, Beginning Arduino, Apress: New York. 2010. Matt Richardson, Sam Wallace, 2012, Getting Started with Raspberry Pi, O’Reilly: Sebastopol. Pete Membrey, David Hows, 2012, Learn Raspberry Pi with Linux, Apress: New York. Raspberry Pi, Quick Start Guide, http://www.raspberrypi.org/quick-start-guide. Diakses pada 5 Desember 2013. S. C. Russell. Controlling An Arduino From Raspberry Pi Using Processing. http://scruss.com/blog/2012/08/12/controlling-an-arduino-from-raspberry-pi-usingprocessing/. Diakses pada 7 Desember 2013.
A-16