## Aplikasi Layanan Pasien Dokter Menggunakan Algoritma Reed Solomon Codes Berbasis Android
Mhd Nazar Alfian Hrp 1 , Samsudin 2
1 Jurusan Sistem Informasi, Fakultas Sains dan Teknologi, Universitas Islam Negeri Sumatera Utara
2 Jurusan Sistem Informasi, Fakultas Sains dan Teknologi, Universitas Islam Negeri Sumatera Utara
1 nazarharahap26@gmail.com, 2 samsudin@uinsu.ac.id

## Abstract
In the digital era, the use of mobile technology is key in increasing the efficiency and accessibility of health services. However, data integrity issues often become obstacles in Android-based health applications. This research aims to develop an Android- based patient service application for Doctor Aznan Lelo that uses the Reed Solomon Codes algorithm to ensure the integrity of medical data. The main goals are to increase the security and reliability of data transfer, facilitate efficient communication between  patients  and  doctors,  and  improve  the  quality  of  healthcare  services  provided.  The  methods  used  include  data collection methods by interviewing practice owners and surveys of patients, system design methods using the Reed Solomon Codes algorithm and system development methods using the waterfall method. Data collected includes user response to the application, success rate of QR Code detection and data error correction, as well as the overall performance of the application in facilitating communication between patients and doctors. The results of the research obtained scan results that read <1s on good cellphone screen conditions with a low (L) correction level of 86.6%, medium (M) of 93.3%, quartile (Q) of 98.3%, and high (H) of 99.3%. Meanwhile, in the condition of a damaged cellphone screen, the scan results read <1s with a correction level of low (L) is 52.3%, medium (M) is 54.3%, quartile (Q) is 63.6%, and high (H) is 73.6%. This level of error correction can have an impact on the outcome of the QR Code decoding process. Thus, this application provides an innovative solution in improving communication between patients and doctors, as well as improving the overall quality of health services in today's digital era.
Keywords: patient service application, android, QR Code, reed solomon codes

## Abstrak
Dalam  era  digital,  pemanfaatan  teknologi  mobile  menjadi  kunci  dalam  meningkatkan  efisiensi  dan  aksesibilitas  layanan kesehatan. Namun, masalah integritas data seringkali menjadi hambatan dalam aplikasi kesehatan berbasis android. Penelitian ini bertujuan untuk mengembangkan aplikasi layanan pasien pada Dokter Aznan Lelo berbasis android yang menggunakan algoritma Reed Solomon Codes untuk memastikan integritas data medis. Tujuan utama adalah meningkatkan keamanan dan keandalan transfer data, memfasilitasi komunikasi yang efisien antara pasien dan dokter, serta meningkatkan kualitas layanan kesehatan yang diberikan. Metode yang digunakan meliputi metode pengumpulan data dengan wawancara terhadap pemilik praktek  dan  survei  terhadap  pasien,  metode  perancangan  sistem  dengan  algoritma  Reed  Solomon  Codes  dan  metode pengembangan sistem dengan metode waterfall. Data yang dikumpulkan meliputi respons pengguna terhadap aplikasi, tingkat keberhasilan deteksi QR Code dan koreksi kesalahan data, serta kinerja keseluruhan aplikasi dalam memfasilitasi komunikasi antara pasien dan dokter. Hasil pengujian didapat hasil scan yang terbaca <1s pada kondisi layar handphone yang baik dengan tingkat koreksi low (L) sebesar 86,6%, medium (M) sebesar 93,3%, quartile (Q) sebesar 98,3%, dan high (H) sebesar 99,3%. Sementara pada kondisi layar handphone yang rusak hasil scan yang terbaca <1s dengan tingkat koreksi low (L) adalah 52,3%, medium  (M)  adalah  54,3%,  quartile  (Q)  adalah  63,6%,  dan  high  (H)  adalah  73,6%.  Tingkat  koreksi  kesalahan  ini  dapat memiliki dampak pada hasil dari proses decoding QR Code. Dengan demikian, aplikasi ini memberikan solusi inovatif dalam memperbaiki komunikasi antara pasien dan dokter, serta meningkatkan kualitas layanan kesehatan secara keseluruhan di era digital saat ini.
Kata kunci: aplikasi layanan pasien, android, QR Code, reed solomon codes .
©This work is licensed under a Creative Commons Attribution - ShareAlike 4.0 International License

## 1. Pendahuluan
Dalam  menghadapi  era  digitalisasi  yang  semakin berkembang  saat  ini,  penerapan  teknologi  informasi menjadi suatu keharusan untuk meningkatkan efektivitas  dan  efisiensi  dalam  berbagai  bidang pelayanan,  termasuk  pelayanan  kesehatan.  Praktik dokter, seperti yang dijalankan oleh Dokter Aznan Lelo di Kota Medan, harus memanfaatkan inovasi teknologi sebagai  upaya  memberikan  pelayanan  terbaik  kepada
pasien.  Dengan  adopsi  teknologi  yang  tepat,  seperti penggunaan aplikasi berbasis Android yang memanfaatkan QR Code dan algoritma Reed Solomon Codes, praktik dokter dapat meningkatkan aksesibilitas dan  mobilitas  pasien,  mempercepat  proses  pertukaran informasi,  dan  meningkatkan  kualitas  layanan kesehatan secara keseluruhan.
QR  Code adalah  format  gambar  dua  dimensi  yang mengandung  data  teks  atau  informasi  lainnya,
dirancang  dalam  menyampaikan  sebuah  informasi secara  cepat  dan  memungkinkan  respons  yang instan[1].  Karakteristik  utama  dari  QR  Code  adalah kemampuannya  menyimpan  informasi  dalam  dua dimensi,  berbeda  dengan  barcode  tradisional  yang hanya  menyimpan  data  secara  linear.  QR  Code  dapat menyimpan  berbagai  jenis  informasi,  termasuk  teks, URL, informasi kontak, dan lainnya.
Sedangkan Reed Solomon Codes yang dipakai adalah sebagai error correction pada saat memeroses encoding pada  QR  Code[2]. Reed  Solomon  Codes  adalah  jenis kode  koreksi  kesalahan  yang  kuat  dan  efisien  yang digunakan  untuk  memperbaiki  kesalahan  dalam  data yang  terganggu  atau  rusak.  Reed  Solomon  Code merumuskan kode yang dirancang dari suatu field dan dapat mengoreksi suatu error.
Kodular  memberikan  kemudahan  bagi  pengembang aplikasi dengan antarmuka drag-and-drop yang intuitif, memungkinkan  mereka  untuk  membangun  aplikasi Android tanpa harus memiliki pengetahuan pemrograman yang mendalam. Platform ini menyediakan beragam komponen dan fitur yang kaya, termasuk  integrasi  dengan  layanan  pihak  ketiga  dan akses  ke  sensor  perangkat.  Salah  satu  keunggulan Kodular  adalah  kemampuannya  untuk  terhubung dengan  Firebase,  yang  menyediakan  layanan  backend yang  kuat  seperti  Firebase  Realtime  Database  dan Firebase Authentication. Dengan Firebase, pengembang  dapat  menyimpan  dan  mengelola  data aplikasi  secara  mudah  dan  aman,  serta  menyediakan solusi  otentikasi  pengguna  yang  terintegrasi  dengan baik. Selain itu, Firebase Cloud Functions memungkinkan  pengembang  untuk  menulis  kode backend  tanpa  harus  mengelola  infrastruktur  server sendiri, sehingga mempercepat pengembangan aplikasi dan  meningkatkan  skalabilitasnya.  Dengan  demikian, penggunaan  Kodular  dan  Firebase  bersama-sama memungkinkan  pengembangan  aplikasi  mobile  yang cepat,  aman,  dan  skalabel,  dengan  fokus  pada pengalaman pengguna dan fitur yang inovatif.
Melalui  pendekatan  yang  melibatkan  pengguna  akhir, praktik Dokter Aznan Lelo dapat memahami kebutuhan dan  preferensi  pasien  secara  lebih  mendalam.  Survei yang  dilakukan  langsung  kepada  pasien-pasien  yang berada  di  lokasi  praktik  memberikan  wawasan  yang berharga  tentang  apa  yang  diinginkan  oleh  mereka dalam  sebuah  layanan  kesehatan.  Dengan  memahami kebutuhan dan preferensi pasien, praktik Dokter Aznan Lelo dapat mengarahkan pembangunan aplikasi secara tepat sesuai dengan kebutuhan yang sebenarnya. Hal ini tidak hanya memastikan bahwa aplikasi yang dibangun dapat  memberikan  solusi  yang  relevan  bagi  pasien, tetapi  juga  menciptakan  pengalaman  yang  lebih bermakna  dan  memuaskan  bagi  mereka.  Dengan demikian, pendekatan yang berorientasi pada pengguna memainkan peran kunci dalam memastikan kesuksesan dan adopsi aplikasi oleh pasien.
Tujuan  dari  penelitian  ini  adalah  untuk  membangun aplikasi  layanan  pasien  Dokter  Aznan  Lelo  berbasis Android yang memanfaatkan algoritma Reed Solomon Codes  dan  QR  Code  dengan  menggunakan  platform Kodular  serta database  Firebase.  Aplikasi  ini  berguna dalam meningkatkan efektivitas dan efisiensi pelayanan  kesehatan  dengan  memfasilitasi  pertukaran informasi antara pasien dan dokter secara cepat, aman, dan efisien. Selain itu, aplikasi ini juga bertujuan untuk meningkatkan  keterlibatan  pasien  dalam  pengelolaan dan  pemantauan  kesehatan  mereka  sendiri,  serta menciptakan kepuasan pasien kepada sistem pelayanan yang diberikan oleh praktik Dokter Aznan Lelo di Kota Medan.

## 2. Metode Penelitian
Pada  penelitian  ini  dilakukan  beberapa  metode penelitian, antara lain yaitu metode pengumpulan data, metode perancangan sistem dan metode pengembangan sistem.

## 2.1 Metode Pengumpulan Data
Dalam  penelitian  ini,  dilakukan  metode  pengumpulan data  secara  wawancara  dan  survei.  Wawancara dilakukan dengan Prof. dr. H. Aznan Lelo, PhD, SpFK, pemilik  praktik  dokter,  sebagai  narasumber.  Selama wawancara,  Prof.  dr.  Aznan Lelo  ditanya  pertanyaan- pertanyaan  dengan  pendekatan  5W1H,  yaitu  tentang apa, siapa, kapan, mengapa, dimana, dan bagaimana[3].
Kemudian  survei  dilakukan  dengan  penyebaran kuesioner. Kuesioner dapat digunakan untuk mengumpulkan  informasi  tentang  sikap,  pendapat, harapan, dan keinginan individu yang meresponsnya[4]. Kuesioner disebar dengan kertas dan diberikan  kepada  100  responden.  Dengan  4  indikator yaitu pendaftaran, pelayanan, pembayaran, fasilitas dan 1 pertanyaan yaitu “apakah perlu sebuah aplikasi untuk mempermudah administrasi?”. Responden bermayoritas  perempuan  dengan  62  responden  (62%) dan  laki-laki  38  (38%).  Responden,  dengan  rentang usia termuda yaitu 15 tahun dan tertua 76 tahun (15-76 tahun). Berikut hasil data pada tabel 1 yang diperoleh terhadap responden.
Tabel 1. Tabel Hasil Survei Pasien
No Indikator Kurang   Cukup   Bagus   Total 1 Pendaftaran 48 29 23 100 2 Pelayanan 5 36 59 100 3 Pembayaran 4 31 65 100 4 Fasilitas 9 43 48 100
Pertanyaan
Setuju
Tidak
Setuju
1
Apakah  perlu sebuah aplikasi  untuk mempermudah administrasi? 93 7 100
Dari  data  diatas,  sebanyak  93  atau  93%  responden setuju bahwa perlu adanya aplikasi untuk mempermudah  administrasi,  sementara  7  atau  7% responden  tidak  setuju.  Ini  menunjukkan  mayoritas responden mendukung ide penggunaan aplikasi untuk mempermudah  administrasi.  Dukungan  ini  bisa menjadi indikasi bahwa ada kebutuhan dan keinginan dari  pihak  pasien  untuk  meningkatkan  efisiensi administratif dalam praktik dokter tersebut.
2.2 Metode Perancangan Sistem
Reed  Solomon  Codes  adalah  metode  sistematis  yang digunakan  untuk  menciptakan  sebuah  kode  yang memiliki  kemampuan  untuk  memperbaiki  kesalahan yang  muncul  secara  acak  dan  tak  terduga  pada  paket data  yang  diterima.  Metode  ini  menggunakan  operasi aritmatika dalam Galois Field[5].
Di  dalam  QR  Code  terdapat  empat  jenis  pola  fungsi, termasuk pola waktu, pola pencari, pemisah, dan pola penyesuaian[6]. Dalam  QR  Code,  algoritma  Reed Solomon  Codes  digunakan  untuk  melakukan  koreksi kesalahan  jika  kode  QR  mengalami  kerusakan  atau kotor  [7].  Kemampuan  QR  Code  dalam  mengoreksi error memiliki 4 tingkatan.
Tabel 2. Tabel Tingkatan QR Code dalam Koreksi Error
Tingkat Kemampuan Koreksi Error L (Low) 7% M (Medium) 15%
Q (Quality) 25% H (High) 30%
Langkah-langkah  dalam  perancangan  sistem  dengan algortima  Reed  Solomon  Codes  yang  dibuat  dibagi menjadi dua, yakni:
2.2.1 Analisis Encoding
Encoding  adalah  proses  konversi  informasi  dari  satu bentuk  ke  bentuk  kode  yang  memiliki  format  atau representasi  khusus.  Kode dalam  konteks  ini  merujuk pada sistem simbol, tanda, atau huruf yang digunakan untuk mewakili makna yang bersifat rahasia.

## Gambar 1. Flowchart Encoding
Flowchart di atas memberikan gambaran tentang proses perancangan aplikasi yang meliputi tahap konversi data ke dalam bentuk QR code, yang dikenal sebagai proses encoding.  Proses  ini  merupakan  langkah  kunci  dalam menghasilkan QR code dari data yang dimasukkan ke dalam sistem. Dalam tahap ini, data yang dimasukkan akan  diubah  menjadi  format  yang  sesuai  dengan standar  QR  code . Selama  proses  encoding,  data  akan diolah  sesuai  dengan  aturan  dan  spesifikasi  QR  code, termasuk penambahan pola-pola khusus dan pembatasan  panjang  data.  Langkah-langkah  ini diperlukan  untuk  memastikan  bahwa  QR  code  yang dihasilkan  dapat  dibaca  dengan  akurat  oleh  pembaca kode QR.
Tabel 3. Tabel Tipe Input Tipe Input Tipe Karakter Indikator Numeric 0-9 0001 Alphanumeric 0-9, A-Z, $, %, *, +, -, ., /, : 0010 Byte ISO 8859-1 0100 Kanji Shift JIS X 0208 1000
Dalam proses encoding, contoh data yang dimasukkan adalah  "ALFIAN13".  Berdasarkan  tabel  3,  contoh tersebut termasuk dalam tipe alphanumeric. Langkah- langkah  encoding  akan  mengolah  data  ini  sesuai dengan  aturan  dan  spesifikasi  QR  code  untuk menghasilkan QR code yang sesuai dengan standar dan dapat dibaca dengan baik oleh pembaca kode QR.
Tabel 4. Tabel Kode Alphanumeric Kode Karakter Kode Karakter 0 0 20 K 1
1
21 L 2
2 22 M
3 3 23 N
4 4
24 O 9 9
35 Z
10 A 36 [sp] 11 B 37 $ 12 C 38 % 13 D 39 * 15 F 40 +
16 G
41 - 17 H 42 . 18 I 43 / 19 J 44 :
Contoh  dipresentasikan  kedalam  kode  biner  yang sesuai pada tabel 4. Data dikelompokkan per 2 karakter, kemudian  karakter pertama dikalikan 45 dan hasilnya dijumlahkan dengan karakter kedua pada data karakter.
Tabel 5. Tabel Perhitungan Karakter Karakter Perhitungan Hasil Biner AL (45.10)+21 471 111010111 FI (45.15)+18 693 1010110101 AN (45.10)+23 473 111011001 13 (45.1)+3 48 110000
Saat  melakukan  proses  encoding,  sebuah  rangkaian biner  0000  ditambahkan  sebagai  penanda  akhir  jika data  yang  telah  diencode  mencapai  kapasitas maksimum dalam versi dan tingkat koreksi kesalahan yang dipilih. Namun, jika panjang data terakhir kurang dari  8  bit,  bit  0  akan  ditambahkan  untuk  memastikan setiap blok data terdiri dari 8 bit Hasilnya, representasi biner  tersebut  kemudian  digabungkan  menjadi  satu rangkaian biner tunggal, sehingga menjadi

## 00100000 01001111 01011110 10110101 11101100 11100000
Apabila jumlah codewords yang dihasilkan dari proses encoding  data  tidak  mencapai  kapasitas  maksimum simbol yang dapat ditampung dalam versi dan tingkat koreksi  kesalahan  yang  dipilih,  urutan  spesifik "11101100"  dan  "00010001"  akan  ditambahkan berulang  kali  hingga  kapasitas  maksimum  terpenuhi. Sehingga menjadi

## 00100000 01001111 01011110 10110101 11101100 11100000 11101100 00010001 11101100

## Kemudian biner diubah ke bentuk desimal

## 32 79 94 181 236 224 236 17 236
Tahap berikutnya adalah melakukan koreksi kesalahan pada  codewords  dengan  menggunakan  metode  Reed Solomon.  Pertama,  hasil  codewords  akan  dibatasi sesuai  dengan  aturan  yang  ditetapkan  oleh  blok  Reed Solomon.  Dalam  kasus  ini,  menggunakan  versi  1 dengan  tingkat  koreksi  kesalahan  H,  sehingga  jumlah codewords  yang  dapat  dikoreksi  adalah  sebanyak  17. Selanjutnya,  akan dipilih  fungsi  polinomial g(n)  yang sesuai dengan 17, yaitu
𝑔(𝑛) = 𝑛 17 +   𝑎 43 𝑛 16 +   𝑎 139 𝑛 15 + 𝑎 206 𝑛 14 + 𝑎 78 𝑛 13 + 𝑎 43 𝑛 12 + 𝑎 239 𝑛 11 + 𝑎 123 𝑛 10 +
𝑎 206 𝑛 9 + 𝑎 214 𝑛 8 + 𝑎 147 𝑛 7 + 𝑎 24 𝑛 6 + 𝑎 99 𝑛 5 + 𝑎 150 𝑛 4 + 𝑎 39 𝑛 3 + 𝑎 243 𝑛 2 + 𝑎 163 𝑛
1 + 𝑎 136 𝑛 0 (1)
Langkah  selanjutnya  adalah  menyiapkan  polinomial f(x), yang merupakan bentuk dasar dari elemen dalam Galois Field [GF(256)], maka
𝑓(𝑛) = 32𝑛 25 +  79𝑛 24 + 94𝑛 23 + 181𝑛 22 + 236𝑛 21 + 224𝑛 20 + 236𝑛 19 +  17𝑛 18 + 236𝑛 17 (2)
Dengan  memperhatikan  bahwa  koefisien  dari  istilah terkemuka dalam f(n) adalah 32, yang setara dengan α 5 dalam  notasi  elemen  Galois  Field,  maka  akan digunakan fungsi
𝑔(𝑛)𝑎 5 𝑛 8 =   𝑎 5 𝑛 25 + 𝑎 5 𝑎
43 𝑛 24 + 𝑎 5 𝑎 139 𝑛
23 + 𝑎 5 𝑎 206 𝑛
22 + 𝑎 5 𝑎 78 𝑛 21 + 𝑎 5 𝑎 43 𝑛 20 + 𝑎 5 𝑎 239 𝑛 19 + 𝑎 5 𝑎 123 𝑛 18 + 𝑎 5 𝑎 206 𝑛 17 + 𝑎 5 𝑎 214 𝑛 16 + 𝑎 5 𝑎 147 𝑛 15 + 𝑎 5 𝑎 24 𝑛 14 + 𝑎 5 𝑎 99 𝑛 13 + 𝑎 5 𝑎 150 𝑛 12 + 𝑎 5 𝑎 39 𝑛 11 + 𝑎 5 𝑎 243 𝑛 10 + 𝑎 5 𝑎 163 𝑛 9 + 𝑎 5 𝑎 136 𝑛 8 (3) =   𝑎 5 𝑛 25 +   𝑎 48 𝑛 24 +   𝑎 144 𝑛
23 +   𝑎 211 𝑛 22 + 𝑎 83 𝑛 21 +   𝑎 48 𝑛 20 +   𝑎 244 𝑛 19 +   𝑎 128 𝑛 18 + 𝑎 211 𝑛 17 +   𝑎 219 𝑛 16 +   𝑎 152 𝑛 15 +   𝑎 29 𝑛 14 + 𝑎 104 𝑛 13 +   𝑎 155 𝑛 12 +   𝑎 44 𝑛 11 +   𝑎 248 𝑛 10 + 𝑎 168 𝑛 9 +   𝑎 141 𝑛 8 + (4)
Tabel 6. Tabel Log QR Code gf(256) Eksponen dari α Bilangan Bulat Eksponen dari α Bilangan Bulat 0 1 141 21 1 2 144 168 5 32 152 73 29 48 155 114 44 238 168 252 48 70 211 178
83 187 219 86 104 13 244 250 128 133 248 27
Konversikan α n pada  perhitungan  (4)  dengan  tabel  6, maka di dapat
= 32𝑛 25 + 70𝑛 24 + 168𝑛 23 + 178𝑛 22 + 187𝑛 21 + 70𝑛 20 + 250𝑛 19 + 133𝑛 18 + 178𝑛 17 + 86𝑛 16 + 73𝑛 15 + 48𝑛 14 + 13𝑛 13 + 114𝑛 12 + 238𝑛 11 + 27𝑛 10 + 252𝑛 9 + 21𝑛 8
Lalu, operasikan XOR pada hasil dari perhitungan (2) dengan perhitungan (4) yang telah disiapkan.
= (32 ⊕ 32)𝑛 25 + (79 ⊕ 70)𝑛 24 + (94 ⊕ 168)𝑛 23 + (181 ⊕ 178)𝑛 22 + (236 ⊕ 187)𝑛 21 + (244 ⊕ 70)𝑛 20 + (236 ⊕ 250)𝑛 19 + (17 ⊕ 133)𝑛 18 + (236 ⊕ 178)𝑛 17 + (0 ⊕ 86)𝑛 16 + (0 ⊕ 73)𝑛 15 + (0 ⊕ 48)𝑛 14 + (0 ⊕ 13)𝑛 13 + (0 ⊕ 114)𝑛 12 + (0 ⊕ 238)𝑛 11 + (0 ⊕ 27)𝑛 10 + (0 ⊕ 252)𝑛 9 + (0 ⊕ 21)𝑛 8

## Maka didapatkan hasil
= 0𝑛 25 + 9𝑛 24 + 246𝑛 23 + 7𝑛 22 + 87𝑛 21 + 178𝑛 20 +  22𝑛 19 + 148𝑛 18 + 94𝑛 17 + 86𝑛 16 + 73𝑛 15 + 48𝑛 14 + 13𝑛 13 + 114𝑛 12 + 238𝑛 11 + 27𝑛 10 + 252𝑛 9 + 21𝑛 8
Berikut adalah representasi dalam format desimal yang dihasilkan dari operasi XOR tersebut
9 246 7 87 178 22 148 94 86 73 48 13 114 238 27 252 21
Dari data tersebut, maka akan didapat QR code seperti yang diilustrasikan dalam gambar 2.
Gambar 2. QR Code
2.2.2 Analisis Decoding
Decoding  adalah  proses  kebalikan  dari  encoding.  Ini merupakan  langkah  untuk  mengembalikan  data  atau pesan  yang  telah  diubah  ke  dalam  bentuk  yang  dapat dimengerti  atau  diproses.  Proses  decoding  dilakukan untuk  mengonversi  data  atau  informasi  yang  telah  di encoding kembali ke format atau representasi semula, sehingga dapat diinterpretasikan atau digunakan sesuai dengan tujuan awalnya.
Untuk  melakukan  proses  scanning  layanan,  langkah- langkah  decoding  seperti  yang  diilustrasikan  dalam Gambar 3 dilakukan sebagai berikut[8].
Proses  dimulai  dengan  memindai  QR  code  yang dihasilkan  menggunakan  kamera  ponsel.  Sistem kemudian  melakukan  pemeriksaan  terhadap  QR  code tersebut  untuk  memverifikasi  apakah  sudah  terdaftar. Jika QR code belum terdaftar, proses akan dihentikan, namun  jika  sudah  terdaftar,  sistem  akan  memulai proses decoding menggunakan database yang tersedia untuk  mengonversi  QR  code  menjadi  data.  Setelah proses  decoding  berhasil  dilakukan,  maka  proses scanning layanan dianggap berhasil.
2.3 Metode Pengembangan Sistem
Metode  pengembangan  sistem  waterfall  sering digunakan  ketika  proyek  memiliki  kebutuhan  yang jelas  dan  terdefinisi  dengan  baik  sejak  awal,  dan perubahan kebutuhan dianggap minim.
Metode waterfall adalah pendekatan dalam pengembangan perangkat lunak yang mengikuti aliran proses  secara  sekuensial  atau  berurutan.  Tahapan dalam metode waterfall yaitu[9].
Tujuan utama dari metode waterfall adalah menyediakan  kerangka  yang  terstruktur  dan  teratur dalam  pengembangan  perangkat  lunak.  Dengan pendekatan  ini,  setiap  tahap  pengembangan,  seperti analisis  kebutuhan,  desain  sistem,  penulisan  kode program,  pengujian  program,  dan  pemeliharaan, dilakukan  secara  berurutan  dan  bergantian  satu  sama lain.  Hal  ini  memungkinkan  pengembang  untuk memiliki  visibilitas  yang  baik  terhadap  proses pengembangan  dan  memastikan  setiap  tahapan diselesaikan  sebelum  dilanjutkan  menuju  ke  tahap selanjutnya.  Selain  itu,  metode  waterfall  juga membantu  dalam  mengidentifikasi  dan  mengelola risiko dengan lebih baik, karena setiap tahap memiliki deliverable yang jelas dan dapat dievaluasi. Meskipun memiliki  kegunaan  dalam  proyek-proyek  yang membutuhkan prediktabilitas dan struktur yang tinggi, metode  waterfall  cenderung  kurang  fleksibel  dalam mengakomodasi perubahan kebutuhan atau perubahan lingkungan proyek yang kompleks.
Gambar 4. Metode Waterfall

## A. Analisis Kebutuhan
Pada periode ini yaitu dengan mengmpulkan kebutuhan analisis  termasuk  didalamnya  dokumen  dan  interface dalam  menganalisis  kebutuhan  pengguna  untuk menentukan sebuah solusi perangkat lunak yang akan dipakai  sebagai  sebuah  proses  komputerisasi  pada sistem.
B. Desain Sistem
Tahap  ini  adalah  desain  arsitektur  dan  pemodelan sistem, dengan menekanan pada pembentukan struktur data, arsitektur perangkat lunak, layar antarmuka, dan algoritma program[10].
C. Penulisan Kode Program
Disini  ditranslasikan  kepada  program  software.  Dan hasil  pada  proses  ini  yaitu  program  komputer  yang sesuai  pada  desain  yang  sudah  dibangun  di  tahap sebelumnya.
D. Pengujian Program
Pada pengujian berfokus kepada perangkat lunak mulai segi  logik  dan  fungsi  dan  juga  memastikan  seluruh bagian telah diuji sehingga output yang didapat sesuai dengan yang direncanakan.
E. Penerapan Program dan Pemeliharaan
Untuk  mendefinisikan  seluruh  usaha  pengembangan yang sedang dilakukan dalam mengatasi perkembangan  ataupun  perubahan  pada  sistem  yang berkaitan dengan perangkat keras dan perangkat lunak.

## 3.   Hasil dan Pembahasan
3.1 Desain Sistem
Unified  Modeling  Language  (UML)  adalah  bahasa pemodelan grafis yang digunakan untuk mendokumentasikan, merancangkan, dan mengkomunikasikan  desain  sistem  perangkat  lunak. Unified  Modeling  Language  merupakan  metodologi untuk  mengembangkan  sistem  OOP  dan  sekelompok alat yang digunakan untuk mendukung pengembangan sistem[11].
UML  menyediakan  notasi  yang  standar  dan  dapat dipahami  oleh  berbagai  pemangku  kepentingan, termasuk pengembang perangkat lunak, analis sistem, dan manajer proyek.
A. Activity Diagram
Activity  diagram  adalah  representasi  visual  dari  alur kerja  atau  aktivitas  yang  terjadi  dalam  suatu  sistem, proses bisnis, atau menu yang tersedia dalam perangkat lunak.  Activity  diagram  juga  dapat  menggambarkan proses lebih dari satu aksi salam waktu bersamaan[12].

## Gambar 5. Activity Diagram Aplikasi Layanan Pasien

## B. Use Case Diagram
Use case diagram merupakan representasi dari perilaku atau fungsi yang diinginkan dari sistem informasi yang sedang  direncanakan  atau  dibuat.  Secara  umum,  use case  digunakan  untuk  mengidentifikasi  fungsi-fungsi yang  terdapat  dalam  sistem  informasi  dan  aktor-aktor yang  berwenang  untuk  menggunakan  fungsi-fungsi tersebut  [13].  Use  case  diagram  sering  dipakai  dalam mendokumentasikan  serta  menguraikan  proses  yang ada pada sistem.
Gambar 6. Use Case Diagram Aplikasi Layanan Pasien

## 3.2 Penulisan Kode Program
Aplikasi  dibangun  menggunakan  kodular  yang merupakan sebuah situs website yang menyuguhi tools yang mirip MIT App Inventor guna membangun suatu
aplikasi  berbasis  android  dengan  memakai  block programming.

## Gambar 7. Pembuatan Kode Blok pada Kodular
Untuk  sistem  database  pada  aplikasi  yang  dibangun menggunakan  Firebase.  Firebase  merupakan  sebuah layanan  yang  disediakan  oleh  Google  yang  bertujuan untuk  memfasilitasi  dan  menyederhanakan  proses pengembangan  aplikasi  bagi  para  pengembang. Dengan  menggunakan  Firebase,  pengembang  dapat dengan mudah mengakses berbagai fitur dan alat yang dibutuhkan  untuk  membangun  aplikasi  mereka  tanpa harus  memikirkan  infrastruktur  backend  secara  detail [14]. Firebase memang dirancang untuk menyederhanakan banyak aspek pengembangan aplikasi,  hal  ini  membuatnya  populer  di  kalangan pengembang  yang  mencari  solusi  yang  mudah digunakan dan terintegrasi dengan ekosistem Google.

## 3.3 Tampilan Hasil Block Progamming

## Gambar 8. Tampilan Awal Aplikasi
Di  halaman  ini,  pengguna  aplikasi  akan  melihat informasi  singkat  mengenai  Praktik  Dokter  Aznan Lelo.  Informasi  ini  akan  muncul  selama  3  detik  saat pengguna pertama kali membuka aplikasi.

## Gambar 9. Tampilan Antarmuka Pengguna
Halaman ini menyediakan 2 tombol yang dapat dipilih sesuai dengan kebutuhan pengguna. Tombol pertama, "Pasien"  digunakan  untuk  pasien  dan  tombol  kedua “Dokter” digunakan hanya khusus bagi dokter.

## Gambar 10. Tampilan portal pasien
Pada halaman ini, pasien yang belum punya akun wajib mendaftar  terlebih  dahulu.  Apabila  sudah  memiliki akun atau sudah pernah mendaftar, maka pasien dapat mengakses ke halaman berikutnya. Apabila pasien lupa kata sandi, maka dapat mengklik tombol yang ada dan akan diarahkan untuk mereset email yang terdaftar.

## Gambar 11. Tampilan Menu Pasien
Setelah  daftar  atau  login dengan  email  dan  password, pasien  akan  diarahin  ke  menu  “Pasien  baru”  dan “Pasien  lama”  dan  juga  menu  “Ubah  data”.  Untuk menu “Pasien baru” dirancang untuk pasien yang baru pertama  kali  atau  perdana  datang  ke  lokasi  praktik dokter sedangkan untuk menu “Pasien lama” dirancang untuk  pasien  yang  sudah  pernah  mengisi  form  pada “Pasien baru” atau dengan kata lain NIK pasien yang
sudah  terdaftar  dapat  kembali  mendaftar  untuk  kedua kalinya atau seterusnya. Pada menu “Ubah data” dapat diakses  juga  bagi  pasien  yang  sudah  pernah mendaftarkan NIK nya atau sama seperti menu “Pasien lama”.
Gambar 12. Tampilan Menu Pendaftaran Pasien Baru
Halaman ini khusus untuk pasien baru, di mana pasien perlu mengisi NIK, nama lengkap, nomor handphone, jenis kelamin,  alamat, tanggal lahir, keluhan, dll. Jika pendaftaran  berhasil  maka  menu  “Pasien  lama”  dan menu  “Ubah  data”  dapat  diakses  oleh  pasien  dengan hanya  memasukkan  kembali  NIK  dan  keluhan  untuk menu  “Pasien  lama”  dan  memasukkan  semua  data terbaru dan benar untuk menu “Ubah data”.
Gambar 13. Tampilan Menu Pasien Lama
Pada halaman ini, pasien lama dapat mengakses dengan memasukkan  NIK  mereka.  Setelah  itu,  mereka  dapat mengisi  formulir  keluhan  terbaru  dan  memilih  waktu untuk konsultasi dengan dokter
Halaman ini memuat beberapa form akan diperbaharui oleh  pasien  lama,  karena  syarat  mengakses  menu  ini adalah dengan NIK yang sudah mendaftar. Pasien juga dapat  mengganti  riwayat  obat  dan  keluhan  diluar jadwal janji temu.

## Gambar 15. Tampilan QR Code
Halaman  ini  menampilkan  QR  Code  yang  muncul setelah  pasien  baru  atau  lama  menyelesaikan pendaftaran  jadwal  janji  temu.  QR  Code  ini  akan  di- scan  oleh  dokter  untuk  mengakses  informasi  terkait pasien.  Selain  itu,  gambar  QR  Code  juga  secara otomatis  akan  tersimpan  dalam  galeri  handphone pasien.  Mekanisme  ini  memudahkan  interaksi  antara pasien dan dokter, memastikan bahwa data pasien dapat diakses  dengan  cepat  dan  aman  menggunakan teknologi QR Code.

## Gambar 16. Tampilan Portal Dokter
Halaman  ini  berfungsi  sebagai  menu  login  yang dikhususkan bagi para dokter. Di sini, dokter yang telah memiliki akun dapat masuk untuk mengakses berbagai fitur  dan  layanan  yang  disediakan.  Namun,  penting untuk  dicatat  bahwa  pada  halaman  ini  tidak  tersedia opsi  untuk  melakukan  pendaftaran  baru.  Dokter  yang ingin  membuat  akun  baru  harus  melakukan  proses pendaftaran  secara  manual  melalui  database  yang tersedia. Dengan demikian, pendekatan ini memastikan bahwa  hanya  dokter  yang  telah  diverifikasi  dan diotorisasi  yang  dapat  mengakses  sistem,  sehingga menjaga keamanan dan integritas data pengguna.

## Gambar 17. Tampilan Menu Dokter
Halaman  ini  menampilkan  empat  tombol,  masing- masing  dengan  fungsi  tertentu.  Tombol  "Pasien" memberikan  akses  untuk  melihat  seluruh  data  pasien yang  pernah  mendaftar.  Di  sini,  dokter  dapat melakukan perubahan atau pengeditan data pasien jika diperlukan, dan setelahnya, data akan diperbarui dalam database. Tombol “Antrean” digunakan untuk melihat total  antrean  pada  sesi  pagi  maupun  sore  per  tanggal pendaftaran.  Tombol  "Janji  Temu"  memungkinkan dokter  melihat  daftar  pasien  yang  akan  berkonsultasi pada hari tersebut, baik pagi maupun sore. Antrian akan dihapus  setelah  dokter  menangani  pasien  tersebut. Tombol terakhir, "Scan QR Code Pasien," memberikan akses kepada dokter untuk melakukan pemindaian data pendaftaran atau pencocokan data terhadap pasien yang akan ditangani selanjutnya.
3.4 Pengujian Sistem
Pengujian aplikasi ini melibatkan penggunaan 100 data untuk  total  pengujian  sebanyak  2.400  kali.  Pengujian ini mencakup jarak QR Code, evaluasi tingkat koreksi kesalahan,  serta  kondisi  handphone  atau  QR  Code. Terdapat dua kondisi untuk handphone atau QR Code, yang pertama adalah kondisi layar handphone retak dan yang  kedua  adalah  kondisi  layar  handphone  dalam kondisi baik, seperti yang tertera dalam tabel 7 kondisi QR Code.
Tabel 7. Tabel Kondisi QR Code QR Code Kondisi layar Keterangan Baik
Layar handphone tanpa ada retakan atau sedikit retakan Rusak Layar handphone dengan retakan yang parah
Pengujian ini dilakukan untuk mengevaluasi jarak scan QR  Code  berdasarkan  kondisi  layar  handphone  atau QR Code, dengan rentang jarak 10 cm, 20 cm dan 30 cm.  Penggunaan  kelipatan  10  digunakan  untuk mengukur jarak scan QR code dalam pengujian ini.
Untuk evaluasi kondisi layar handphone atau QR code yang baik pada jarak 10 cm, 20 cm dan 30 cm, dengan berbagai  tingkat  koreksi  kesalahan  seperti  low  (L), medium  (M),  quartile  (Q),  dan  high  (H),  setiap kombinasi jarak dan tingkat koreksi diuji sebanyak 100 kali  dengan  pengujian  yang  dilakukan.  Hasil  dari pengujian dengan kondisi ini tertera pada tabel 8.
Tabel 8. Tabel Hasil Uji pada Layar Handphone yang Baik Tingkat koreksi Jarak scan Terbaca <1s Terbaca >1s Low (L) 10 cm 90 10 Low (L) 20 cm 86 14 Low (L) 30 cm 84 16 Medium (M) 10 cm 98 2 Medium (M) 20 cm 92 8 Medium (M) 30 cm 90 10 Quartile (Q) 10 cm 100 0 Quartile (Q) 20 cm 100 0 Quartile (Q) 30 cm 95 5 High (H) 10 cm 100 0 High (H) 20 cm 100 0 High (H) 30 cm 98 2
Untuk evaluasi kondisi layar handphone atau QR code yang rusak pada jarak 10 cm, 20 cm dan 30 cm, dengan berbagai  tingkat  koreksi  kesalahan  seperti  low  (L), medium  (M),  quartile  (Q),  dan  high  (H),  setiap kombinasi jarak dan tingkat koreksi diuji sebanyak 100 kali  dengan  pengujian  yang  dilakukan.  Hasil  dari pengujian dengan kondisi ini tertera pada tabel 9.
Tabel 9. Tabel Hasil Uji pada Layar Handphone yang Rusak
Tingkat koreksi Jarak scan Terbaca <1s Terbaca >1s Low (L) 10 cm 58 42 Low (L) 20 cm 52 48 Low (L) 30 cm 47 53 Medium (M) 10 cm 60 40 Medium (M) 20 cm 54 46 Medium (M) 30 cm 49 51 Quartile (Q) 10 cm 68 32 Quartile (Q) 20 cm 63 37
Quartile (Q) 30 cm 60 40 High (H) 10 cm 77 23 High (H) 20 cm 73 27 High (H) 30 cm 71 29
Dari hasil pengujian berdasarkan jarak, persentase hasil pengujian diperoleh dengan menggunakan rumus.

## 𝑥 = 𝑎 𝑏
⁄ × 100%
𝑥 = hasil persentase
𝑎 = nilai rata-rata terbaca <1s
𝑏 = nilai total pengujian (100)
Setelah  dihitung  dengan  rumus  diatas  maka  didapat hasil  scan  yang  terbaca  <1s  pada  kondisi  layar handphone  yang  baik  dengan  tingkat  koreksi  low  (L) sebesar  86,6%,  medium  (M)  sebesar  93,3%,  quartile (Q)  sebesar  98,3%,  dan  high  (H)  sebesar  99,3%. Sementara  pada  kondisi  layar  handphone  yang  rusak hasil scan yang terbaca <1s dengan tingkat koreksi low (L) adalah 52,3%, medium (M) adalah 54,3%, quartile (Q)  adalah  63,6%,  dan  high  (H)  adalah  73,6%.  Maka dari  itu,  tingkat  koreksi  kesalahan  ini  dapat  memiliki dampak pada hasil dari proses decoding QR Code.
Penggunaan QR Code dengan Tingkat koreksi quartile sudah  cukup  untuk  memenuhi  kebutuhan  pasien dengan  kondisi  layar  handphone  yang  baik  maupun rusak,  dengan  syarat  scan  QR  Code  dengan  rentang jarak  antara  10-20  cm.  Pasien  akan  dilayani  dengan cepat sehingga antrian juga tidak terlalu lama.

## 4.   Kesimpulan
Penelitian ini membangun integrasi teknologi informasi dalam praktik kesehatan, terutama di praktik Dokter  Aznan  Lelo  di  Kota  Medan.  Dengan  aplikasi berbasis  Android  yang  memanfaatkan  QR  Code  dan algoritma Reed Solomon Codes, pertukaran informasi antara pasien dan dokter menjadi lebih cepat, aman, dan efisien.  Melalui  survei,  mayoritas  pasien  mendukung penggunaan aplikasi untuk mempermudah administrasi.  Metode  pengembangan  sistem  waterfall digunakan  dengan  penerapan  UML  diantaranya  use case diagram dan diagram activity untuk desain sistem. Pengujian  sistem  menggunakan  metode  black  box untuk  memastikan  fungsi  aplikasi  sesuai  dengan kebutuhan  pengguna.  Secara  keseluruhan,  penelitian ini memberikan kontribusi penting dalam meningkatkan  efektivitas,  efisiensi,  dan  kepuasan pasien dalam praktik kesehatan. Hasil yang didapatkan adalah  tingkat  koreksi  terbaik  adalah  tingkat  koreksi high, akan tetapi tingkat koreksi quartile sudah cukup untuk  memenuhi  kebutuhan  pasien  yang  ada. Disarankan  juga  untuk  layar  handphone  pasien  agar baik sehingga scan dapat dilakukan dengan efektif.

## Daftar Rujukan
[1]  Jawi,  I.G.B  and  H.  Supriyono,  2015.  Pemindaian  QR  Code Untuk  Aplikasi  Penampil  Informasi  Data  Koleksi  Di  Museum Sangiran  Sragen  Berbasis  Android. Emitor:  Jurnal  Teknik Elektro , 17 (1), pp.6-8.
[2]  Jumari, Fauziah, and N. Hayati, 2022. Algoritma Reed Solomon Codes  pada  Sistem  Informasi  Pemanggilan  Data  Peserta Wisudawan-Wisudawati menggunakan QR Codes. Jurnal JTIK (Jurnal  Teknologi  Informasi  dan  Komunikasi) ,  6  (1),  pp.152- 160.
[3]  Nugraha, K.A and Herlina, 2021. Klasifikasi Pertanyaan Bidang Akademik  Berdasarkan  5W1H  menggunakan  K-Nearest Neighbors. Jurnal Edukasi dan Penelitian Informatika (JEPIN) , 7 (1), pp.44-51.
[4]  Pujihastuti,  I,  2010.  Prinsip  Penulisan  Kuesioner  Penelitian. CEFARS: Jurnal Agribisnis dan Pengembangan Wilayah , 2 (1), pp.43–56.
[5]  Amaliah, D. and A. Setiawan, 2023. Implementation of the Reed Solomon  Codes  Algorithm  on  Android  Based  Attendance Aplication. JID (Jurnal Info Digit) , 1 (3), pp.1022–1031.
[6]  Fatimah, D. and H. D. Wijaya, 2021. Penerapan QR Code pada Website  E-Commerce  PT.  Bravo  Satria  Perkasa  dengan Algoritma  Reed-Solomon  Code  dan Regression  Linear. Faktor Exacta , 15 (1), pp.10–27.
[7]  Hidayat, A.,  B. Yogi, E. Paulus, 2017. Kriptografi Hillchipher digunakan dalam sistem keamanan pada tiket dengan teknologi QR-Code. Jurnal Siliwangi , 3 (1), pp.167–171.
[8]  Apriansyah,  A.,  Fauziah,  N.  Hayati,  2020.  Implementasi Algoritma Reed Solomon Codes Pada Proses Encoding QR Code pada Sistem Absensi. Jurnal Infomedia , 4 (2), pp.75-80.
[9]  Kurniawati,  and M.  Badrul, 2021.  Penerapan  Metode  waterfall untuk  Perancangan  Sistem  Informasi  Inventory  Pada  Toko Keramik  Bintang  Terang. PROSISKO:  Jurnal  Pengembangan Riset dan Observasi Sistem Komputer , 8 (2), pp.47–52.
[10] Riansyah,  M.F.  and  Suendri,  2022.  Rancang  Bangun  Sistem Informasi  Pendaftaran  Pembuatan  Surat  Izin  Mengemudi Berbasis  Web. JURIKOM  (Jurnal  Riset  Komputer) ,  9  (4), pp.1053-1061.
[11] Frandian,  B.,  R.D.  Yudhanata,  Samsudin,  Suendri,  2022. Implementation of CRM ( Customer Relationship Management ) at UPT Public Health Center Perbaungan Web-Based. Journal of Information System Technology Research , 1 (2), pp.51-57.
[12] Suendri, 2018. Implementasi Diagram UML (Unified Modelling Language)  Pada  Perancangan  Sistem  Informasi  Remunerasi Dosen  Dengan  Database  Oracle  (Studi  Kasus:  UIN  Sumatera Utara  Medan). Algoritma:  Jurnal  Ilmu  Komputer  dan Informatika , 3 (1), pp.1-9.
[13] Samsudin,  Nurhalizah,  U.  Fadilah,  2022.  Sistem  Informasi Pendaftaran  Magang  Dinas  Pemuda  Dan  Olahraga  Provinsi Sumatera Utara. Jurnal Teknologi Dan Sistem Informasi Bisnis , 4 (2), pp.324–332.
[14] Alda,  M.,  D.K.  Maulana,  M.D.  Abdillah,  R.  Hidayat,  2024. Membangun Aplikasi Pencarian Wisata Top di Sumatera Utara Berbasis  Mobile  Menggunakan  Kodular. Jurnal  Pendidikan Tambusai , 8 (1), pp.2936–2947.