Suroyo dan Arfiandy, Pengembangan Aplikasi Mobile Untuk Digital Payment ……… 577

## Pengembangan Aplikasi Mobile Untuk Digital Payment Pada Internet of Thing Coffee Vending Machine
Heri Suroyo 1* , Arfiandy 2
1, 2 Teknik Informatika, Universitas Bina Darma, Jl. Jendral A. Yani No.2 Palembang Sumatra Selatan 30264
e-mail: herisuroyo@binadarma.ac.id 1 , 542arfiandy@gmail.com 2
Abstrak
Penelitian telah menghasilkan Sebuah Coffe Vending Machine (CVM) dengan mengembangkan aplikasi mobile digital payment berbasis android untuk transaksi pembayaran CVM. Fitur transaksi digital payment yang telah dikembangkan menggunakan Internet of Things (IoT) dimana user dapat melakukan pembayaran dengan CVM menggunakan aplikasi mobile yang dapat melakukan scan kode QR,Setelah user melakukan scan kode QR server akan memproses transaksi apakah saldo yang dimiliki user cukup atau tidak, jika saldo cukup maka server akan mengirim perintah ke CVM untuk mengeluarkan kopi, Saldo user menggunakan saldo yang telah dirancang menggunakan database MySQL. Penelitian ini akan menggunakan bahasa pemrograman C, PHP dan java. Penelitian ini menggunakan metode riset yaitu metode Research & Devlopment (R&D) serta metode pengembangan yang digunakan adalah Metode Unified Process.
Kata Kunci - Vending Machine, Mikrokontroller, Digital Payment, Internet of Things
Abstract
Research has produced a Coffee Vending Machine (CVM) by developing an Android- based digital payment mobile application for CVM payment transactions. The digital payment transaction feature that has been developed using the Internet of Things (IoT) where users can make payments with CVM using a mobile application that can scan QR codes, After the user scans the QR code the server will process the transaction whether the balance that the user has is sufficient or not, if the balance is sufficient, the server will send a command to the CVM to issue a copy, the user's balance uses the balance that has been designed using a MySQL database. This research will use C, PHP and Java programming languages. This study uses a research method, namely the Research & Development (R&D) method and the development method used is the Unified Process Method.
Keywords - Vending Machine, Microcontroller, Digital Payment, Internet of Things
1. PENDAHULUAN
erkembangan teknologi pada saat ini sangat pesat dan banyak berperan dalam kehidupan manusia, salah satunya dalam bidang transaksional. Tantangan bisnis dimasa pandemi diantaranya adalah bagaimana menciptakan bisnis tanpa harus ada kontak fisik antara penjual dan pembeli, maka dibutuhkanlah sebuah teknologi yang bisa menjadi solusi tantangan tersebut, yaitu vending machine. Vending Machine merupakan kios elektronik yang menjual berbagai kebutuhan manusia. Biasanya berbentuk kotak besi yang bagian depannya dilapisi kaca agar produk yang dijual dapat dilihat oleh konsumen[1].
Universitas Bina Darma melalui tim riset teknik informatika sudah menghasilkan sebuah CVM dengan transaksi uang koin, Penelitian ini akan mengembangkan CVM dengan
P
menambahkan sebuah fitur digital payment, digital payment adalah pembayaran yang dilaksanakan secara elektronik. Di dalam pembayaran elektronik uang di simpan, di proses, dan di terima dalam bentuk informasi digital dan proses pemindahannya di inisialisasi melalui alat pembayaran elektronik[2] . Untuk mengembangkan fitur tersebut dibutuhkannya sebuah IoT. IoT merupakan sebuah sistem yang terdiri dari smart device, termasuk sensor, aktuator, microcontroller, yang memungkinkan untuk bertukar informasi dan komunikasi secara otomatis. IoT menggunakan smart device yang dapat meningkatkan tingkat optimalisasi kegiatan setiap hari[3].
Beberapa penelitian yang berhubungan dengan pengembangan aplikasi mobile digital payment pada IoT CVM : “Integrasi QRIS pada Aplikasi Donasi Elektronik Berbasis Web di Masa Pandemi Covid-19”. (Mardiyono et al., 2021), dengan hasil penelitian sebuah Aplikasi yang menjawab solusi donasi di masa pandemi COVID-19 agar kegiatan operasional masjid dapat berjalan dan kegiatan kajian keagamaan pun dapat berjalan dengan baik[4]. “Pengembangan Aplikasi Cashless Payment menggunakan Teknologi QR Code berbasis Android pada Kantin Dharma Wanita Filkom UB”.(Anggatanata et al., 2020), dengan hasil penelitian dua aplikasi, yaitu aplikasi kasir, dan aplikasi pengelola. Aplikasi kasir memiliki fitur login, logout, register, TopUp saldo, Update saldo, dan Refund saldo. Aplikasi pengelola memiliki fitur login, logout, register, kelola menu, transaksi, dan riwayat transaksi[5].

## 2. METODE PENELITIAN
Penelitian penelitian Research and Development (R&D) merupakan metode yang digunakan untuk menghasilkan produk dan menguji keefektifan produk tersebut. Produk tersebut tidak selalu berbentuk benda atau perangkat keras, akan tetapi dapat pula dalam bentuk perangkat lunak [6]. Langkah-langkah yang dilakukan untuk rancangan R&D adalah sebagai berikut[7] :
1. Analisis potensi dan masalah
2. Studi literatur/ pengumpulan informasi
3. Rancangan produk
4. Validasi desain
5. Revisi desain
6. Pembuatan produk
7. Uji coba terbatas
8. Revisi produk 1
9. Uji coba lab 10. Revisi produk 2
11. Uji coba lapangan 12. Revisi produk 3 13. Diseminasi dan implementasi
Pada penelitian ini akan menggunakan Unified Process (UP) sebagai metode pengembangannya, metode UP merupakan tahapan pengembangan sistem secara iterative khusus untuk pemrograman berorientasi objek[9]. Digunakannya metode UP karena penelitian ini menghasilkan luaran sebuah aplikasi berbasis mobile, dan prinsip pengembangannya akan digambarkan bahasa permodelan Unified Modelling Language (UML), UML berupa diagram untuk merancang atau memodelkan bagaimana sistem tersebut bekerja, bagaimana penggunaan dapat berinteraksi dengan sistem, tata cara kerja sistem serta fitur-fitur yang terdapat pada sebuah sistem nantinya akan diimplementasikan[8].
Suroyo dan Arfiandy, Pengembangan Aplikasi Mobile Untuk Digital Payment ……… 579
Metode UP memiliki empat fase pengembangan sistem metode UP yaitu[10] :
1. Incepsi : Tahap ini merupakan tahap awal dalam pembuatan proyek perangkat lunak yang meliputi pengumpulan data, penentuan ruang lingkup serta analisi dan desain awal.
2. Elaborasi : Di dalam tahap yang ke dua ini dilakukan perancangan perangkat lunak yang meliputi penspesifikasian fitur serta analisis dan desain teknis.
3. Konstruksi : Tahap ini lebih pada implementasi dan pengujian sistem yang fokus pada implementasi perangkat lunak pada kode program dan menghasilkan produk perangkat lunak yang menjadi syarat dari batas kemampuan operasional awal.
4. Transisi : Tahap ini melakukan transisi dari pengembangan perangkat lunak yaitu melakukan perbaikan dan penambahan data pada aplikasi serta menarik kesimpulan dan pembuatan laporan akhir.

## 3. HASIL DAN PEMBAHASAN

## 3.1 Perancangan Topologi IoT CVM
Pada topologi IoT CVM user menggunakan aplikasi mobile untuk melakukan pemesanan, aplikasi mobile akan mengirim data ke server lalu server mengambil data dari database dan kemudian mengirim perintah ke CVM untuk mengeluarkan kopi.

## Gambar 1. Topologi IoT CVM

## 3.2 Perancangan Use Case Diagram
Pada use case diagram terdapat 3 aktor yaitu : user yang dapat melakukan login dan bertransaksi dengan cvm, cvm yang dapat berinteraksi dengan server dan bertransaksi dengan user, dan admin yang dapat mengolah data di server.
Internet Aplikasi Mobile CVM Database Router
Gambar 2. Use Case Diagram CVM
3.3 Perancangan Database
Database dirancang dengan menggunakan MySQL dan akan menggunakan phpMyAdmin sebagai bahasa pemrograman ,database dibuat dengan nama db_cvm dan terdapat 3 tabel pada database yang dibuat yaitu : tbl_topup, tbl_transaksi dan tbl_user.
NO Nama Tipe Ekstra 1 Id_user Integer Auto_increment 2 Username Varchar 3 Password Varchar 4 Saldo Integer 5 Status varchar Gambar 3. Tabel tbl_user
Pada tabel tbl_user terdapat id_user sebagai primary key, username dan password untuk akan digunakan user untuk login, saldo yang akan digunakan user untuk bertransaksi dan status yang menentukan apakah akun tersebut member atau admin.
NO Nama Tipe Ekstra 1 Id_transaksi Integer Auto_increment 2 Id_user Integer 3 Jumlah_transaksi Integer 4 Tgl_transaksi Current_timestamp On update current_timestamp Gambar 4. Tabel tbl_transaksi
Pada tabel tbl_transaksi terdapat id_transaksi sebagai primary key, id_user untuk mencatat id_user yang melakukan transaksi, tgl_transaksi untuk mencatat waktu transaksi yang terjadi.
NO Nama Tipe Ekstra 1 Id_topup Integer Auto_increment 2 Id_user Integer 3 Jumlah_topup Integer 4 Tgl_topup Current_timestamp On update current_timestamp Gambar 5. Tabel tbl_topup 3.4 Implementasi
@Override public void onClick(View v) {
IntentIntegrator intentIntegrator = new IntentIntegrator(this); intentIntegrator.setPrompt("Scan a barcode or QR Code"); intentIntegrator.setOrientationLocked(false); intentIntegrator.setCameraId(0); intentIntegrator.setBeepEnabled(true); intentIntegrator.setBarcodeImageEnabled(false); intentIntegrator.initiateScan(); }

## Gambar 6. Kode Program Scan kode QR
Kode program diatas adalah kode program yang menggunakan zxing library untuk membuat scanner pada aplikasi mobile, Setelah user melakukan scan kode QR, server akan melakukan validasi jumlah saldo user di database apakah saldo user cukup atau tidak.
if ($_SERVER['REQUEST_METHOD'] == 'POST') { $id_user = $_POST['id_user']; $harga = 5000; $sql = "Select * from tbl_user where id_user='$id_user'"; require_once('koneksi.php'); $r = mysqli_query($con,$sql); if ($row = mysqli_fetch_assoc($r)){ if ($row['saldo'] > $harga){ $saldo_sisa = $row['saldo'] - $harga; $sql = "update tbl_user set saldo='$saldo_sisa' where id_user='$id_user'"; $r = mysqli_query($con,$sql);
Gambar 7. Kode Program Proses Transaksi
Kode program diatas adalah kode program yang digunakan untuk memproses transaksi dimana kode program tersebut menggunakan metode post sebagai request metode, dengan mengambil id_user dari tabel tbl_user di dalam database db_cvm sebagai identifikasi akun yang melakukan transaksi.
582 Jurnal Jupiter, Vol.15 No. 1 Bulan April, Tahun 2023 , Hal. 577 - 585
void streamCallback(FirebaseStream data) { Serial.print("sream path, %s\nevent path, %s\ndata type, %s\nevent type, %s\n\n", data.streamPath().c_str(),
data.dataPath().c_str(),
data.dataType().c_str(), data.eventType().c_str()); printResult(data); // see addons/RTDBHelper.h Serial.println(data.stringData()); if (data.stringData() == "buka") { dataChanged = true; }
Gambar 8. Kode Program Mengaktifkan Firebase
Pada penelitian ini menggunakan firebase sebagai cloud penghubung antara CVM dan aplikasi mobile, maka jika firebase aktif maka mesin juga aktif dan CVM mengeluarkan kopi, kode program diatas digunakan untuk mengaktifkan firebase.
void loop() { if (Firebase.ready() && (millis() - sendDataPrevMillis > 15000 || sendDataPrevMillis == 0)) { sendDataPrevMillis = millis(); count++; FirebaseJson json; json.add("data", "hello"); json.add("num", count); Serial.printf("Set json... %s\n\n", Firebase.RTDB.setJSON(&fbdo, "/test/stream/data/json", &json) ? "ok" : fbdo.errorReason().c_str()); } if (dataChanged) { digitalWrite(led1,HIGH); delay(5000); digitalWrite(led1,LOW); if (Firebase.RTDB.setString(&fbdo, "message", "tutup")){ Serial.println("PASSED"); Serial.println("PATH: " + fbdo.dataPath()); Serial.println("TYPE: " + fbdo.dataType());
} else { Serial.println("FAILED"); Serial.println("REASON: " + fbdo.errorReason()); }
Gambar 9. Kode Program Mematikan Firebase
Kode program diatas adalah kode program yang digunakan untuk mengatur waktu lamanya dari delay ketika firebase aktif, ketika waktu delay telah habis firebase akan mati maka mesin CVM juga mati dan berhenti mengeluarkan kopi.

## 3.6 Prototipe CVM
Pada prototipe CVM bagian depan terlihat sebuah QR code sebagai fitur transaksi digital payment, coint acceptor sebagai fitur transaksi uang koin, lcd sebagai petunjuk pembeli yang bertransaksi mengguanakan uang koin, dan sebuah tangki untuk menampung kopi.
Gambar 10. Tampilan Prototipe CVM Bagian Depan
Sedangkan pada bagian dalam CVM, terdapat sebuah NodeMCU sebagai mikrokontroler, mini pompa elektrik untuk menarik kopi dari tangki dan sebuah selang untuk mengarahkan kopi yang dipompa ke cangkir.
Gambar 10. Tampilan Prototipe CVM Bagian Dalam
QR code LCD
Coin Acceptor Selang
Mikrokontroler

## 3.5 Hasil Pengujian
Tabel 1. Percobaan mencari data jeda waktu dari scan ke waktu mesin hidup
percobaan waktu scan waktu mesin hidup jeda waktu 1 9:30:28 9:30:30 2 2 9:31:32 9:31:33 1 3 9:32:11 9:32:12 1 4 9:32:34 9:32:35 1 5 9:33:01 9:33:02 1 6 9:33:26 9:33:27 1 7 9:33:43 9:33:48 5 8 9:34:16 9:34:18 2 9 9:34:38 9:34:40 1 10 9:34:51 9:34:52 1 11 9:35:15 9:35:17 2 12 10:00:20 10:00:23 3 13 10:00:27 10:00:28 1 14 10:00:32 10:00:33 1 15 10:00:38 10:00:39 1 16 10:00:44 10:00:45 1 17 10:00:50 10:00:51 1 18 10:00:56 10:00:57 1 19 10:01:02 10:01:04 2 20 10:01:09 10:01:10 1 jeda waktu tercepat 1 detik jeda waktu terlama 5 detik rata rata jeda waktu 1.5 detik
Berdasarkan hasil pengujian dari tabel diatas ditemukan bahwa jeda waktu tercepat dari waktu scan ke waktu mesin hidup adalah 1 detik, jeda waktu terlama adalah 5 detik dan rata – rata jeda waktu adalah 1.5 detik.

## 4. KESIMPULAN
Berdasarkan penelitian ini yang berjudul “Pengembangan aplikasi mobile untuk digital payment pada internet of things coffee vending machine” telah berhasil mengembangkan sket mikrokontroler dengan menambahkan fitur digital payment pada coffee vending machine, ditemukan juga bahwa jeda waktu tercepat dari waktu scan ke waktu mesin hidup adalah 1 detik, jeda waktu terlama adalah 5 detik dan rata – rata jeda waktu adalah 1.5 detik.
Penelitian ini masih banyak memiliki kekurangan seperti halnya keamanan data server dan mungkin masih banyak yang lainnya. Dengan ini peneliti berharap penelitian ini dapat dikembangkan lebih jauh agar dapat menjadi sebuah program yang lebih komplek dan dapat berguna bagi masyarakat.

## DAFTAR PUSTAKA
[1] T. Hari Wicaksono, F. Dwiki Amrizal, H. Atun Mumtahana, and J. Setia Budi No,
“Pemodelan Vending Machine dengan Metode FSA (Finite State Automata),” DoubleClick J. Comput. Inf. Technol. , vol. 2, no. 2, pp. 66–69, 2019, [Online]. Available: http://e-journal.unipma.ac.id/index.php/doubleclick/article/view/3901 [2] A. U. Gunadarma, D. Trihasta, J. Fajaryanti, U. Gunadarma, U. Gunadarma, and E. Sistem, “‘ E-payment ’ SISTEM,” no. Kommit, pp. 20–21, 2008. [3] R. H. Hardyanto, “Konsep Internet Of Things Pada Pembelajaran Berbasis Web,” J. Din.
Inform. , vol. 6, no. 1, pp. 87–97, 2017.
[4] A. Mardiyono, A. A. Suhandana, and R. Vidyasari, “Integrasi QRIS pada Aplikasi Donasi Elektronik Berbasis Web di Masa Pandemi Covid-19,” J. Teknol. Inform. dan Komput. , vol. 7, no. 1, pp. 146–155, 2021, doi: 10.37012/jtik.v7i1.526. [5] K. Anggatanata, W. Hayuhardhika, N. Putra, and D. E. Ratnawati, “Pengembangan Aplikasi Cashless Payment menggunakan Teknologi QR Code berbasis Android pada Kantin Dharma Wanita Filkom UB,” vol. 4, no. 8, pp. 2529–2537, 2020, [Online]. Available: http://j-ptiik.ub.ac.id [6] S. Fransisca and R. N. Putri, “Pemanfaatan Teknologi Rfid Untuk Pengelolaan Inventaris Sekolah Dengan Metode (R&D),” J. Mhs. Apl. Teknol. Komput. dan Inf. , vol. 1, no. 1, pp. 72–75, 2019.
[7] Sugiyono, “Metode Penelitian Pendidikan (Pendekatan Kuantitatif dan R & D) Alfabeta. Bandung,” Metod. Penelit. Bisnis , 2016.
[8] Hendy, “Pemodelan Sistem Menggunakan UML (Unified Modelling Language),” Syst.
Model. , no. July, pp. 1–5, 2019, [Online]. Available: https://www.researchgate.net/publication/334562380
[9] H. Suroyo, “Perancangan Dan Implementasi Warehouse Management System Berbasis Mobile Web Pada Pt. Indonusa Telemedia Palembang,” Bina Darma Conf. Comput. … ,
pp. 282–294, 2020, [Online]. Available:
https://conference.binadarma.ac.id/index.php/BDCCS/article/view/2058%0Ahttps://confe rence.binadarma.ac.id/index.php/BDCCS/article/download/2058/792
[10] Z. Hakim and R. Rizky, “Analisis Perancangan Sistem Informasi Pembuatan Paspor Di Kantor Imigrasi Bumi Serpong Damai Tangerang Banten Menggunakan Metode Rational Unified Process,” vol. 6, no. 2, pp. 103–112, 2018.