## PERANCANGAN APLIKASI DESKTOP KASIR PADA BENGKEL MOTOR DI SURABAYA
Louis Maximillian 1) , Ivan Sanjaya 2) , Edwin Alexander 3) 1,2,3) Program Studi Informatika, Fakultas Teknik, Universitas Katolik Darma Cendika Jl. Ir. Dr. H. Soekarno Nomor 201, Surabaya 60117, Jawa Timur, Indonesia E-mail : 1) louis.maximillian@student.ukdc.ac.id , 2) ivan.sanjaya@student.ukdc.ac.id, 3) edwin alexander@ukdc.ac.id

## ABSTRAK
Bengkel  merupakan  salah  satu  usaha  yang  memiliki  peran  penting  dalam  perekonomian Indonesia.  Namun,  masih  banyak  bengkel  yang  belum  memiliki  sistem  operasional  yang  baik, terutama  dalam  hal  pencatatan  transaksi.  Hal  ini  dapat  menyebabkan  bengkel  menjadi  kurang efisien  dan  efektif  dalam  menjalankan  bisnisnya.  Pada  penelitian  ini,  penulis  mengembangkan aplikasi  kasir  desktop  untuk  bengkel.  Aplikasi  ini  dibangun  menggunakan  Python,  PyQt5,  dan MySQL.  Aplikasi  ini  memiliki  fitur-fitur  yang  dapat  membantu  bengkel  dalam  melakukan pencatatan  transaksi,  seperti  master  data,  transaksi,  laporan,  dan  pengaturan.  Hasil  penelitian menunjukkan  bahwa  aplikasi  kasir  desktop  ini  dapat  membantu  bengkel  dalam  meningkatkan efisiensi dan efektivitas operasionalnya. Aplikasi ini dapat memudahkan bengkel dalam melakukan pencatatan transaksi, menghasilkan laporan yang akurat, dan mengelola data bengkel.
Kata kunci : aplikasi, bengkel, Python, PyQt5, MySQL

## ABSTRACT
Workshops are a business that has an important role in the Indonesian economy. However, there are still many workshops that do not have a good operational system, especially in terms of recording transactions. This can cause the workshop to be less efficient and effective in running its business. In this research, the author developed a desktop cashier application for workshops. This application was built using Python, PyQt5, and MySQL. This application has features that can help workshops  in  recording transactions,  such  as  master  data,  transactions,  reports  and  settings.  The research  results  show  that  this  desktop  cashier  application  can  help  workshops  improve  their operational  efficiency  and  effectiveness.  This  application  can  make  it  easier  for  workshops  to record transactions, produce accurate reports, and manage workshop data.

## Keywords:  application, workshop, Python, PyQt5, MySQL

## 1. PENDAHULUAN
Bengkel  merupakan  salah  satu  usaha yang memiliki peran penting dalam perekonomian  Indonesia.  Bengkel  menyediakan jasa  perbaikan  dan  perawatan  kendaraan bermotor.  Usaha  bengkel  ini  dapat  memberikan lapangan kerja dan meningkatkan perekonomian masyarakat[1][2]. Namun, masih banyak bengkel yang belum memiliki sistem operasional  yang  baik,  terutama  dalam  hal
pencatatan  transaksi,  seperti  laporan  penjualan semuanya  masih  dilakukan  dengan  manual dalam  proses  penyelesainya[3][4].  Hal  ini  dapat menyebabkan  bengkel  menjadi  kurang  efisien dan  efektif  dalam  menjalankan  bisnisnya[5][6]. Pencatatan transaksi yang manual dapat menyebabkan terjadinya kesalahan dan kekeliruan[7].  Selain  itu,  pencatatan  transaksi yang  manual  juga  dapat  memakan  waktu  yang lama  dan  tidak  efisien[8].  Untuk  mengatasi
permasalahan tersebut, solusinya dapat melakukan  transaksi  pelayanan  administrasi secara  terkomputerisasi.  Sistem  pencatatan transaksi  yang  baik  dapat  membantu  bengkel dalam  meningkatkan  efisiensi  dan  efektivitas operasionalnya[9].  Aplikasi  ini  berisi  laporan data  barang  transaksi  jasa  service  serta  laporan data suku cadang yang dicetak berdasarkan hasil transaksi  dan  juga  struk  pembayaran  yang  akan diserahkan  ke  pelanggan  guna  bukti  pembayran yang  sah[7][10].  Aplikasi  ini  dibuat  guna membantu kinerja pegawai dalam hal penyewaan  sehingga  tidak  banyak  buku  yang dikeluarkannya untuk pencatatan sehingga dapat membantu  dalam  membuat  laporan  yang  tepat dan akurat serta untuk membantu mengendalikan proses layanan servis bengkel[8].

## 2. METODE PENELITIAN
Dalam  pengembangan  perangkat  lunak aplikasi  kasir  untuk  bengkel  motor,  prosesnya melibatkan  serangkaian  tahapan  yang  saling terkait  untuk  mencapai  tujuan  pengembangan yang berhasil.
Gambar 1. Metode Waterfall
Pertama,  dimulai  dengan  tahap  studi  literatur yang melibatkan penelitian dan analisis terhadap literatur  serta  metode  pengembangan  perangkat lunak  terkini.  Langkah  ini  bertujuan  untuk memperoleh  wawasan  yang  mendalam  tentang praktik-praktik terbaik dalam merancang aplikasi kasir.
Selanjutnya,  tahap  analisis  kebutuhan  bengkel motor menjadi fokus utama. Melalui wawancara
dengan  pemilik  bengkel  dan  teknisi,  serta analisis  dokumen  terkait,  kebutuhan  fungsional dan  non-fungsional  aplikasi  kasir  diidentifikasi. Ini  mencakup  pemahaman  mendalam  tentang proses  bisnis  bengkel  motor,  termasuk transaksi penjualan,  manajemen  inventaris,  dan  layanan yang disediakan[11].
Setelah  memahami  kebutuhan,  perancangan konseptual aplikasi kasir menjadi tahap berikutnya. Di sini, model konseptual dirancang, dan arsitektur sistem ditentukan untuk menciptakan landasan yang kokoh bagi pengembangan aplikasi[12].
Tahap keempat melibatkan perincian lebih lanjut terhadap arsitektur sistem dan spesifikasi modul atau  komponen  utama  aplikasi.  Ini  memastikan bahwa  setiap  aspek  aplikasi  terperinci  dengan baik dan sesuai dengan kebutuhan.
Berikutnya, fokus beralih ke perancangan modul. Setiap  modul  diuraikan  lebih  lanjut,  dan ketergantungan  antar  modul  ditentukan  untuk memastikan integrasi yang lancar dalam aplikasi.
Tahap  keenam  menitikberatkan  pada  desain antarmuka  pengguna  (UI).  Antarmuka  yang dirancang  harus  intuitif  dan  efisien,  mencakup elemen-elemen  UI  yang  mendukung  navigasi dan interaksi pengguna yang optimal.
Proses implementasi dan uji unit dilakukan pada tahap ketujuh. Kode program diterjemahkan dari desain yang telah dibuat sebelumnya, dan setiap modul  diuji  secara  terpisah  untuk  memastikan keberhasilan implementasi.
Tahap berikutnya, yakni tahap kedelapan, adalah pengujian  fungsional  dan  integrasi.  Uji  kinerja juga  dilakukan  untuk  menilai  sejauh  mana aplikasi  dapat  berkinerja  dengan  baik  dalam situasi penggunaan sehari-hari.
Pada  tahap  kesembilan,  manajemen  konfigurasi diterapkan  untuk  mengelola  versi  perangkat lunak dan mencatat perubahan selama pengembangan.  Dokumentasi  perubahan  dan
pembaruan  dibuat  untuk  memberikan  panduan yang jelas bagi pengembang di masa mendatang.
Terakhir,  tahap  kesepuluh  adalah  distribusi aplikasi  kepada  pengguna  akhir.  Pelatihan diberikan  kepada  kasir  dan  staf  bengkel  untuk memastikan  pemahaman  yang  baik  tentang penggunaan  aplikasi  di  lingkungan  bengkel motor.  Tahap  ini  menandai  penyelesaian  siklus pengembangan  aplikasi  kasir  untuk  bengkel motor.

## 3. HASIL DAN DISKUSI

## Analisis user dan sistem
Berdasarkan hasil wawancara dan obesevasi  pada  sisi  user  sendiri  menginginkan aplikasi  yang  dapat  menyajikan  data  transaksi penjualan  dan  pembelian,  dan  usability  yang pastinya  memudahkan  user.  Sebelum  aplikasi dibuat  sistem  yang  digunakan  masih  manual secara tertulis di nota dan dicatat tertulis juga di buku  besar.  Sehingga  banyak  kekurangan  yang muncul  terutama  effort  dan  management  data yang  harus  nya  sudah  ter-otomatisasi,  selain  itu pentinganya  kewaspadaan  redundansi  data  dan backupdata yang terintegrasi internet/cloud.

## Gambar 2. Sistem yang Berjalan

## Use case
Dalam  perencanaan  perangkat  lunak  diperlukan peran  flowchart/use  case.  Memiliki  peran  untuk memahami  poin-poin  penting  dari  sisi  user  dan meminimalisir perubahan yang signifikan dalam pembuatan  aplikasi.  Pada  prosesnya  di  tahapan awal  hingga  tahapan  akhir  semua  akan  berjalan secara  linear  yang  mengikuti  konsep  awal perencaan  yaitu  metode  waterfall,  sehingga dokumentasi  wawancara  dan  obsevasi  itu penting.
Gambar 3. Use Case Program

## Unified Modeling Language (UML)
UML  adalah  bahasa  pemodelan  visual  yang digunakan untuk merancang dan
mendokumentasikan  sistem  perangkat  lunak. UML  terdiri  dari  berbagai  diagram,  seperti diagram  kelas,  diagram  use  case,  diagram
aktivitas,  dan  lainnya,  yang  membantu  dalam menggambarkan berbagai aspek dari sistem.

## Gambar 4. UML Database
UML  digunakan  untuk  menggambarkan  entitas utama  seperti  produk,  pelanggan,  transaksi,  dan kelas-kelas  lain  dalam  sistem  kasir  bengkel. Selain  itu  mengidentifikasi,  merinci,  dan mengorganisir  fungsionalitas  utama  yang  akan diimplementasikan  dalam  sistem,  seperti  proses penjualan, manajemen stok, dan pelaporan.

## Enitity Relationship Diagram (ERD)
ERD  adalah  diagram  yang  digunakan  untuk menggambarkan  struktur  basis  data  dengan menunjukkan  entitas  (tabel),  atribut  (kolom), dan  hubungan  antar  entitas.  ERD  membantu dalam  merancang  dan  memahami  struktur  basis data yang akan digunakan oleh sistem.
Gambar 5. ERD Database
Pada  Gambar  4  terdapat  entitas  "Barang," "Pelanggan," "Transaksi," dan "Pemasok" dalam sistem  kasir  bengkel.  Dan  menunjukkan bagaimana  entitas  terhubung  satu  sama  lain, seperti hubungan antara "Barang" dan "Transaksi”.

## Implementasi Menu Master
Menu  Barang:  Menu  barang  ini  menampilkan daftar  barang  yang  tersedia  di  bengkel.  Daftar menu  ini  dapat  disortir  berdasarkan  kategori, harga, atau nama. Memudahkan proses penjualan dengan memberikan informasi lengkap mengenai barang yang tersedia.
Gambar 6. Menu Master
User  Master:  User  Master  adalah  pengelola informasi pengguna dalam aplikasi kasir bengkel motor.  Memastikan  setiap  staf  memiliki  akses yang  sesuai,  meningkatkan  keamanan  data,  dan memastikan konsistensi operasional. iu Admin: Admin memiliki tanggung jawab tingkat tinggi  dalam  menjaga  kinerja  dan  keamanan aplikasi.  Mengelola  sistem,  pemeliharaan,  dan menangani masalah kritis.

## Implementasi Menu Transaksi
Menu  transaksi  dalam  aplikasi  kasir  bengkel motor  adalah  elemen  kunci  yang  memainkan peran  sentral  dalam  berbagai  aspek  operasional. Dengan  mencatat  setiap  transaksi.  Dengan fungsionalitas  yang  baik,  menu  transaksi  tidak hanya  mengoptimalkan  efisiensi  operasional bengkel  motor  tetapi  juga  meningkatkan pengalaman pelanggan dan mendukung pertumbuhan bisnis secara keseluruhan.
Gambar 7. Menu Transaksi Menu  Transaksi,  terdapat  fitur  Transaksi Pembelian  (Fitur  ini  memungkinkan  pengguna untuk  mencatat  semua  pembelian  barang  atau layanan  untuk  bengkel).  Transaksi  Penjualan (Fitur  ini  memungkinkan  pengguna  untuk mencatat semua transaksi penjualan barang atau layanan).    Cashflow  (Fitur  ini  memberikan gambaran tentang aliran kas dalam bengkel).

## Implementasi Menu Laporan
Menu  laporan  dalam  suatu  aplikasi  memiliki peranan  penting  dalam  menyediakan  informasi yang dibutuhkan secara efisien. Ini memungkinkan  pemantauan  kinerja  bisnis, pengambilan  keputusan  yang  berdasarkan  data, dan identifikasi pola serta tren.
Gambar 8. Menu Laporan
Menu  Laporan  terdapat  fitur-fitur  seperti (Laporan  pembelian,  laporan  detail  pembelian, laporan pembelian per barang, laporan pembelian  per  suplier,  laporan  penjualan, laporan  detail  penualan,  laporan  pernjualan  per tanggal,  laporan  penjualan  per  barang,  laporan barang  terlaris,  laporan  barang  tidak  laku, laporan  barang  yang  expired,  laporan  barang yang habis, laporan stok total).

## 4. KESIMPULAN DAN SARAN
Dalam  pengembangan  aplikasi  kasir  untuk bengkel  motor,  dapat  disimpulkan  bahwa  peran User  Master  dan  Admin  memegang  peran
sentral  dalam  memastikan  keberhasilan  dan keamanan  operasional  aplikasi.  User  Master bertanggung  jawab  atas  manajemen  akses  staf, memberikan  fondasi  kuat  untuk  keamanan  data dan  operasional  yang  konsisten.  Sementara  itu, Admin  memiliki  tanggung  jawab  tingkat  tinggi dalam  menjaga  kesehatan  sistem,  pemeliharaan, dan  menangani  masalah  kritis,  memastikan aplikasi berjalan optimal dan responsif terhadap tantangan yang muncul.
Terdapat 4 hal yang bisa dilakukan kedepannya:
1. Pengembangan  User  Master  yang  Lebih Lanjut: Peningkatan fungsionalitas User Master  dapat  melibatkan  pengembangan lebih lanjut dalam manajemen izin akses, termasuk  fitur  pemantauan  aktivitas pengguna dan pelaporan untuk meningkatkan pemahaman tentang penggunaan aplikasi.
2. Pengoptimalan Tugas Admin:
Meningkatkan  alat-alat  dan  fitur  yang mendukung tugas Admin, seperti otomatisasi pemeliharaan dan pemantauan  kinerja,  dapat  membantu mengoptimalkan  efisiensi  pengelolaan aplikasi.
3. Pengembangan Antarmuka Pengguna:
Fokus  pada  pengembangan  antarmuka pengguna  untuk  memastikan  kemudahan penggunaan  dan  pemahaman  yang  cepat bagi  pengguna,  baik  itu  User  Master, Admin, maupun staf bengkel.
4. Pelatihan Pengguna: Mengadakan  pelatihan  yang  berkala untuk  User  Master,  Admin,  dan  staf bengkel  guna  memastikan  pemahaman yang mendalam tentang fitur-fitur aplikasi  dan  menjaga  keamanan  serta efisiensi dalam penggunaannya.

## 5. DAFTAR PUSTAKA
[1] B. F. N. Amalia, “Direktori Online Kursus Komputer  di  Indonesia,”  pp.  1–11,  2020, [Online]. Available: https://repository.unair.ac.id/99447/
[2]  D. Irmayani, “Rekayasa Perangkat Lunak,”
J. Inform. , vol. 2, no. 3, pp. 1–9, 2019, doi: 10.36987/informatika.v2i3.201.
[3] F. N. Purnomo and T. A. Sandy, “Analisis Business Model Canvas pada Usaha Mikro Kecil  Menengah  Obat  Tradisional:  Studi Kasus  UMKM  Omah  Jamu  Novi  di Yogyakarta,” JIRA J. Inov. dan Ris. Akad. , vol.  3,  no.  5,  pp.  226–235,  2022,  doi: 10.47387/jira.v3i5.282.
[4] F.  Syakti,  “Metode  Pengembangan Perangkat  Lunak  Berbasis  Mobile:  a Review,” J.  Bina  Komput. ,  vol.  1,  no.  2,
pp. 82–89, 2019, doi: 10.33557/binakomputer.v1i2.440.
[5] A.  W.  Noorfikri,  B.  Narpati,  E.  Bukhari, and  M.  F.  Nursal,  “Pelatihan  Komputer Untuk  Meningkatkan  Ketrampilan  dan Motivasi  Belajar  Anak  –  Anak  Yatim  di Rumah Yatim Bekasi,” J.  Pengabdi.  Kpd.
Masy.  UBJ ,  vol.  4,  no.  2,  pp.  131–140, 2021, doi: 10.31599/jabdimas.v4i2.627.
[6] N.  D.  Rusida  and  Z.  M.  Noer, “Perancangan  Perangkat  Lunak  Bantu
Sistem Penjualan Berbasis Aplikasi Pekstop Pada Cafe Instamie Pangandaran,”
J.  Jumantaka ,  vol.  1,  no.  1,  pp.  341–350,
2018.
[7] D. W. T. Putra and R. Andriani, “Unified
Modelling Language (UML) dalam Perancangan Sistem Informasi Permohonan  Pembayaran  Restitusi  SPPD,” J.  TeknoIf ,  vol.  7,  no.  1,  p.  32,  2019,  doi:
10.21063/jtif.2019.v7.1.32-39.
[8] K.  Rizqiani,  M.  Ramdhani,  A.  Rizal,  and D.  T.  Elektro,  “Perancangan  Perangkat Lunak,” pp. 1–6, 2009.
[9] T.  Limbong,  A.  Rikki,  and  D.  M. Rajagukguk,  “Pelatihan  Office  (Microsoft
Word  dan  Microsoft  Excel)  untuk  Anak- anak  Panti  Asuhan  Yacan  Kecamatan Namorambe  Kabupaten  Deli  Serdang,”
Publisher.Yccm.or.Id , vol. 1, no. 1, pp. 1– 7, 2021.
[10]  K. S.  Haryana,  “Penerapan  Agile Development Methods Dengan
Framework  Scrum  Pada  Perancangan Perangkat  Lunak  Kehadiran  Rapat  Umum Berbasis  QR-Code,” J.  Comput.  Bisnis , vol.  13,  no.  2,  pp.  70–79,  2019,  [Online].
Available: http://www.jurnal.stmik- mi.ac.id/index.php/jcb/article/view/202
[11]  T.  Angkarini  and  N.  A.  Tanamal, “Pelatihan  Animasi  Powerpoint  Interaktif Untuk  Membuat  Media  Pembelajaran  Di Lkp Bmc Lebak Jaya Pandeglang,” J. PkM Pengabdi. Kpd. Masy. , vol. 5, no. 6, p. 658, 2023, doi: 10.30998/jurnalpkm.v5i6.14266.
[12]  Andi  Nurul  Qalbi et  al. ,  “Penerapan
Kursus  Kilat  Komputer  di  SDA  2  Pusat Sengkang Melalui Metode Team
Teaching,” J.  Pengabdi.  Kpd.  Masy. Sosiosaintifik ,  vol.  4,  no.  2,  pp.  68–76, 2022, doi: 10.54339/jurdikmas.v4i2.419.