## Penerapan QR Code Untuk Sistem Absensi Siswa SMP Berbasis Web
Elin Herlina 1) , Taufik Hidayatulloh 2)
1) Program Studi Sistem Informasi STMIK Nusa Mandiri Sukabumi Jl. Veteran II No. 20A, Sukabumi E-mail: herlinaeel@gmail.com
2) Program Studi Manajemen Informatika AMIK BSI Jakarta Jl. RS. Fatmawati No. 24 Pondok Labu, Jakarta Selatan E-mail : taufik.tho@bsi.ac.id
QR Code is a type of two-dimensional bar code in the form developed by Denso Wave, a division of Denso Co. Corporation, a perudahaan in Japan, which was published in 1994. Barcode is a symbol marking the real object made of sticks pattern of black and white in order manage computer is easy to recognize a good student attendance data is needed to be able  to  provide  ease  in  generating  student  attendance  data  and  is  one  of  the  important factors in managing a good attendance data. Management of student attendance by using a QR Code-based Web is an application that will be built in "SMP Negeri 11 of Sukabumi" because attendance is still used is conventional systems, such as pengabsensian with books attendance  and  report  absences still  slow, so  it  can hinder  time  ,  to  overcome the  above problems, the authors propose a way of solving that is the making of a computer application which is expected with this system can reduce and minimize errors and problems that occur. QR Code is a type of two-dimensional bar code in the form developed by Denso Wave, a division of Denso Co. Corporation, a perudahaan in Japan, which was published in 1994. Barcode is a symbol marking the real object made of sticks pattern of black and white in order manage computer is easy to recognize a good student attendance data is needed to be able  to  provide  ease  in  generating  student  attendance  data  and  is  one  of  the  important factors in managing a good attendance data. Management of student attendance by using a QR Code-based Web is an application that will be built in "SMP Negeri 11 of Sukabumi" because attendance is still used is conventional systems, such as pengabsensian with books attendance  and  report  absences still  slow, so  it  can hinder  time  ,  to  overcome the  above problems, the authors propose a way of solving that is the making of a computer application which is expected with this system can reduce and minimize errors and problems that occur.
Keywords : QR Code, Attendance, Web

## I. Pendahuluan
1.1. Latar Belakang
Quick Response Code atau yang lebih dikenal dengan sebutan QR Code merupakan kode dua dimensi sebagai pengembangan dari kode batang atau barcode. QR Code dibuat oleh perushaan Jepang, Denso Wave , pada tahun 1994. Tujuan awal dibuatnya QR Code adalah
untuk  menampung  huruf  kanji  dan  karakter  kana,  karena  barcode  hanya  mampu mengodekan alfanumerik[8]
Penggunaan QR Code sudah cukup luas. Banyak negara di dunia, terutama Jepang, telah menerapkan teknologi QR Code pada perindustriannya. Sementara di Indonesia, QR Code sudah diterapkan pada beberapa perusahaan[7]
Sistem  absensi  memiliki  peranan  penting  dalam  kehidupan  sehari-hari  terutama dilingkungan  sekolah,  universitas,  pabrik,  perkantoran,  rumah  sakit  dan  tempat  lain  yang membutuhkan  absensi.  Penggunaan  metode  QR Code pada  sistem  absensi  siswa  ini  juga diharapkan  dapat  membuat  sistem  absensi  ini  menjadi  lebih  mudah  karena  setiap  siswa hanya akan menempelkan kartu ID Card siswa pada perangkat QR Code Scanner yang telah tersedia penghitungan jam hadir dan akan masuk pada database , kemudian hasil inputan QR Code akan menjadi acuan jam kedatangan siswa tersebut.
SMP  Negeri  11  Kota  Sukabumi  merupakan  salah  satu  Sekolah  Menengah  Pertama (SMP) Negeri yang berlokasi di Provinsi Jawa Barat. Dalam kesehariannya seperti merekap nilai,  data  hadir  siswa  masih  menggunakan  secara  manual.  Berdasarkan  survei  yang dilakukan  di  SMP  Negeri  11  Kota  Sukabumi  kehadiran  siswa  merupakan  salah  satu komponen yang penting dalam proses belajar mengajar terutama pada SMP Negeri 11 Kota Sukabumi yang semakin tahun semakin meningkat siswanya. Masalah yang terjadi dalam sistem yang sudah ada terletak pada pengumpulan data hadir siswa, yang bagaimana sistem absensi  bisa  membantu  proses  pencatatan  data  hadir  dan  memberikan  laporan  harian, bulanan, dan tahunan.

## 1.2. Identifikas dan Rumusan Masalah
1.2.1. Identifikasi Masalah
Berdasarkan  uraian  latar  belakang  yang  telah  diuraikan,  maka  akan  dibuat  suatu penelitian  pada  masalah  yang  sedang  dihadapi  oleh  sekolah  di  SMP  Negeri  11  Kota Sukabumi. Adapun masalah yang dapat diidentifikasikan sebagai berikut:
a. Belum efektifnya sistem absensi yang diterapkan pada sekolah tersebut.
b. Sistem  yang  diterapkan  saat  ini  masih  manual  sehingga  kurang  teliti  untuk  membuat data absensi siswa.
c. Dibutuhkannya suatu metode yang tepat untuk membantu proses absensi siswa di SMP Negeri 11 Kota Sukabumi.

## 1.2.2. Rumusan Masalah
Rumusan permasalahan dalam penelitian ini adalah:
a. Bagaimana sistem absensi ini dapat membantu proses pencatatan data hadir siswa.
b. Bagaimana memberikan laporan harian, bulanan, dan tahunan untuk absensi siswa
c. Bagaimana  menerapkan QR  Code untuk  absensi  siswa  dan  menerapkannya  dalam berbasis web .

## 1.3. Maksud dan Tujuan
Maksud dan tujuan dari penelitian dan pembuatan sistem absensi dengan menggunakan QR Code dalam penelitian ini adalah:
a. Menerapkan QR Code untuk sistem kehadiran/absensi siswa pada SMP Negeri 11 Kota Sukabumi.
b. Membuat atau merancang sistem absensi siswa berbasis web pada SMP Negeri 11 Kota Sukabumi.
c. Membantu  pihak  sekolah  menyelesaikan  permasalahan  di  SMP  Negeri  11  Kota Sukabumi.

## 1.4. Batasan Masalah
Untuk  mempermudah  penelitian  ini  dan  agar  lebih  terarah  dan  berjalan  dengan  baik, maka perlu dibuat suatu batasan masalah. Adapun ruang lingkup permasalahan yang akan dibahas dalam penelitian ini meliputi:
a. Implementasi QR Code dalam pengabsensian siswa
b. Implementasi proses absensi yang masuk
Implementasi hasil absensi siswa dan membantu proses hasil report.

## II. Kajian Pustaka
2.1. Pengertian QR Code
QR Code adalah jenis barcode yang berbentuk dua dimensi yang dikembangkan oleh Denso  Wave, sebuah  devisi Denso  Corporation ,  sebuah  perudahaan  di  Jepang,  yang dipublikasikan pada tahun 1994[5]
QR Code adalah image berupa matriks dua dimensi yang memiliki kemampuan untuk menyimpan  data  didalamnya. QR  Code merupakan  evolusi  dari  kode  batang (barcode). Barcode merupakan sebuah symbol penandaan objek nyata yang terbuat dari pola batang- batang  hitam  dan  putih  agar  mudah  untuk  dikenali  komputer[]  Contoh  sebuah QR  Code dapat dilihat pada gambar 1.

## Gambar 1. QR Code
Prosedur pembangkitan QR Code dari sebuah teks dapat dijelaskan dengan diagram alir pada gambar 2.

## Gambar 2. Diagram alir proses pembangkitan QR Code
Langkah-langkah untuk untuk membaca QR Code menjadi teks aslinya merupakan reverse atau kebalikan dari langkah-langkah pada pembangkitan QR Code . Secara umum prosedur pembacaan QR Code dapat dijelaskan dengan diagram alir pada gambar 3 .

## Gambar 3. Diagram Alir Proses Pembacaan QR Code
Seiring berkembangnya QR Code , semakin banyak penelitian yang dilakukan mengenai kode  simbol  ini.  Berbagai  penelitian  terus  dilakukan,  baik  untuk  menambah  jumlah  data yang dapat disimpan dalam QR Code. menambah resistensi terhadap kerusakan, dan lain- lain[7]
Gambar 4. Versi QR Code
QR Code dapat menghasilkan 40 versi yang berbeda dari versi 1 (21 x 21 modul) sampai versi 40 (177 x 177 modul). Tingkat versi QR Code 1 dan 2 berbeda 4 modul berlaku sampai dengan versi 40. Setiap versi memiliki konfigurasi atau jumlah modul yang berbeda[3]

## 2.2. Konsep Dasar Pemograman
A. Ruby on Rails Rails adalah  sebuah framework aplikasi  web  untuk  bahasa  pemograman Ruby . Rails dapat menolong pengembangan untuk membangun website secara cepat, dengan kode yang bersih dan mudah di maintain. Kode ini dapat mencapai hasil yang sama dibanding dengan bahasa pemograman lain.
Filosofi Rails menyertakan beberapa prinsip berikut:
1. DRY  –  “ Don’t  Repeat  Yourself” –  menyarankan  bahwa  menulis  kode  yang  sama berulangkali adalah hal yang buruk.
2. Convention Over Configuration – berarti bahwa Rails membuat asumsi apa yang ingin pengembang  ingin  lakukan,  dari  pada  mengharuskan  pengembang  untuk  melakukan spesifikasi terhadap setiap hal-hal kecil pada file configuration
3. REST (Representational state tramsfer) adalah pola terbaik untuk aplikasi web [4]

## B. PostgreSQL
PostgreSQL adalah sistem manajemen object-relational database (ORDBMS) berbasis POSTGRES.  PostgreSQL  adalah turunan open-source dari  kode Barkeley yang menyediakan sebagian besar standar SQL dan menawarkan beberapa fitur modern lainnya:
1. Query yang kompleks
2. Foreign key
3. Trigger
4. View
5. Transactional integrity
6. Multiversion concurrency control [2]

## C. OOP (Object Oriented Programming)
Object  Oriented  Programming adalah  suatu  metode  pemrograman  yang  berorientasi kepada  objek.  Tujuan  dari OOP diciptakan  adalah  untuk  mempermudah pengembangan program dengan cara mengikuti model yang telah ada di kehidupan sehari-hari. Jadi setiap
bagian  dari  suatu permasalahan adalah objek,  objek  itu  sendiri merupakan  gabungan  dari beberapa objek yang lebih kecil lagi [5].

## D. Pengujian Sistem
Suatu  kegiatan  yang  bertujuan  untuk  menemukan  kesalahan-kesalahan  atau kekurangan-kekurangan  pada  sistem  yang  dibuat.  Pengujian  ini  dimaksudkan  untuk mengetahui  sistem  yang  dibuat  sudah  memenuhi  kriteria  yang  sesuai  dengan  tujuan perancangan sistem tersebut. Di dalam pengujian sistem ini, penulis menggunakan metode Black Box Testing [1].
Teknik  pengujian black  box berfokus  pada  domain  informasi  dari  perangkat  lunak, dengan melakukan test case dengan menpartisi domain input dari suatu program dengan cara yang memberikan cakupan pengujian yang mendalam [9].

## 2.3. Absensi
Absensi  dapat  dikatakan  suatu  pendataan  kehadiran  yang  merupakan  bagian  dari pelaporan  yang  ada  dalam  sebuah  institusi.  Absensi  disusun  dan  diatur  sehingga  mudah mudah untuk dicari dan dipergunakan ketika diperlukan oleh pihak yang berkepentingan. Secara umum, jenis-jenis absensi menurut cara penggunaannya dapat dikelompokan menjadi dua yaitu:
a. Absensi Manual, yang merupakan cara penulisan kehadiran dengan cara menggunakan pena berupa tanda tangan
b. Absensi Non manual, yang merupakan cara penulisan kehadiran dengan menggunakan alat yang terkomputerisasi[6]

## III. Metode Penelitian
3.1. Teknik Pengumpulan Data
A. Observasi
Peneliti melakukan pengamatan langsung di SMP Negeri 11 Kota Sukabumi dan peneliti melakukan  pencatatan  secara  sistematik  terhadap  unsur-unsur  yang  diteliti,  khususnya mengenai sistem pencatatan data absensi siswa.

## B. Wawancara
Tahapan ini dilakukan dengan sesi tanya jawab kepada narasumber yaitu kepala sekolah, guru, tata usaha, serta beberapa siswa di SMP Negeri 11 Kota Sukabumi.

## C. Studi Pustaka
Peneliti  melakukan  penelitian  kepustakaan  dengan  tujuan  agar  memperoleh  data  dan informasi dari beberapa sumber-sumber literature seperti buku, internet , artikel, jurnal serta sumber lain yang berhubungan dengan penelitian sebagai bahan referensi dalam penyusunan peneletian ini.

## 3.2. Model Pengembangan Sistem

## A. Analisa kebutuhan Software
Analisa kebutuhan merupakan proses pengumpulan kebutuhan yang dilakukan secara intensif untuk menentukan spesifikasi agar dapat dipahami oleh pengguna. Software yang
digunakan adalah Ubuntu 16.04.1 LTS sebagai System operasi, Bahasa pemograman Ruby, Framework Ruby On Rails, Database PostgreSQL, Text Editor Sublime Text 3.

## B. Desain
Desain ini adalah proses perencanaan dan masalah pemecahan untuk solusi perangkat lunak.  Ini  berimplikasi  kepada software  developers dan designers untuk  menentukan rencana  solusi  yang  meliputi algorithm  design,  software  architecture  design,  database conceptual  schema dan logical  diagram  design,  concept  design,  graphical  user  interface design, dan data structure definition.

## C. Code Generation
Hal  ini  mengacu  pada  realisasi  kebutuhan  bisnis  serta  spesifikasi  desain  ke  dalam program dieksekusi  nyata, database,  website, atau  komponen  perangkat  lunak  melalui pemograman serta penyebaran. Tahapan ini adalah dimana kode nyata ditulis dan disusun menjadi sebuah aplikasi operasional, dan dimana database dan file text yang dibuat. Dengan kata lain, itu adalah proses konversi persyaratan utuh dan cetak biru ke dalam lingkungan produksi.

## D. Testing
Hal  ini  juga  dikenal  sebagai  verifikasi  dan  validasi  yang  merupakan  proses  untuk memeriksa  bahwa  solusi software memenuhi  persyaratan  asli,  spesifikasi  dan  setelah  itu menyelesaikan  tujuan  yang  telah  ditetapkan.  Sebenarnya,  verifikasi  adalah  proses mengevaluasi software untuk  menentukan  apakah  produk  dari  pengembangan  diberikan tahapan  untuk  memenuhi  kondisi  yang  dikenakan  pada  tahap  awal,  sementara  validasi adalah  proses  mengevalusi software pada  akhir  proses  pembangunan  untuk  menentukan apakah  itu  memenuhi  persyaratan  yang  ditentukan.  Selain  itu,  tahapan  pengujian  adalah untuk  melakukan debugging dimana bug dan  gangguan  sistem  ditemukan,  dikoreksi,  dan cocok disempurnakan.

## E. Support
Tahapan  ini  adalah  proses  memodifikasi  solusi software setelah  dilahirkan  dan penyebaran untuk memperbaiki output , memperbaiki kesalahan, dan meningkatkan kinerja dan kualitas. Kegiatan pemeliharaan tambahan dapat dilakukan dalam tahapan ini termasuk menyesuaikan software untuk  lingkungannya,  mengakomodasikan  kebutuhan  pengguna baru, dan meningkatkan keandalan software.

## 4. Hasil dan Pembahasan

## 4.1. Tahapan Analisis
SMP  Negeri  11  Kota  Sukabumi  merupakan  salah  satu  Sekolah  Menengah  Pertama (SMP) Negeri yang berlokasi di Provinsi Jawa Barat. Dalam kesehariannya seperti merekap nilai, data hadir siswa masih menggunakan secara manual sehingga kurang efektifnya untuk mengumpulkan  data.  Penggunaan  metode  QR Code pada  sistem  absensi  siswa  ini  juga diharapkan  dapat  membuat  sistem  absensi  ini  menjadi  lebih  mudah  karena  setiap  siswa hanya akan menempelkan kartu ID Card siswa pada perangkat QR Code Scanner yang telah tersedia penghitungan jam hadir dan akan masuk pada database, kemudian hasil inputan QR Code akan menjadi acuan jam kedatangan siswa tersebut.
Sistem  absensi  berbasis  web  ini  digunakan  untuk  mempermudah  siswa  melakukan absensi  karena  hanya  dengan  menggunakan  ID  Card  yang  ditempelkan  kedalam  mesin
scanner  dan  langsung  bisa  terbaca  oleh  komputer  siswa  sudah  dapat  melakukan  absensi. Berikut ini spesifikasi kebutuhan ( system requirement ) dari sistem absensi:

## Gambar 5. Activity Diagram Halaman Absensi Siswa
Halaman Front end:
A1.  Siswa  dapat  melakukan  entri  data  A2. Siswa dapat melakukan absensi Halaman Back end: B1.  Admin  dapat  melakukan  login  dengan memasukan username dan password B2. Admin dapat mengelola profil admin B3. Admin dapat mengelola edit password admin B4.  Admin  dapat  mengelola  data  siswa  (Id Card) B5.  Admin  dapat  mengelola  data  absensi siswa 4.2. Desain
A. Entity Relationship Diagram
Gambar 6. Entity Relationship Diagram
4.3. Testing Hasil pengujian menggnakan black box testing aplikasi sebagai berikut:
Tabel 1. Black Box Testing Form Absensi Siswa No Skenario Pengujian Test Case Hasil yang Diharapkan Hasil Pengujian 1 Melakukan absensi siswa Sistem  akan menolak  dan akan Sesuai harapan
dengan mengscan ID Card
yang  tidak terbaca oleh  mesin scanner Scan Id Card menampilkan “Absensi
Gagal”
2 Melakukan absensi siswa dengan mengscan ID Card yang terbaca oleh  mesin scanner Scan Id Card Sistem  akan membaca QR Code dan akan menampilkan “Absensi Berhasil”
Sesuai harapan 4.5. Implementasi Gambar 7. Halaman Login Admin
Gambar 8. Halaman Utama Admin
Gambar 9. Halaman Absensi Siswa
Gambar 10. Halaman Absensi yang telah berhasil
Gambar 11. Id Card Siswa

## 5. Kesimpulan
Kesimpulan yang didapat dari penerapan QR Code untuk absensi siswa berbasis web sebagai berikut:
a. Dengan adanya penerapan QR Code untuk absensi siswa berbasis web ini bisa menjadi alat bantu bagi admin dalam proses pengelolaan data absensi siswa.
b. Dengan  adanya website ini  dapat  membantu  bagaimana  memberikan  laporan  harian, bulanan, dan tahunan untuk kepala sekolah, wali kelas, BK dan orang tua
c. Dengan  diterapkannya QR  Code pada  absensi  siswa  berbasis web ini  dapat  dengan mudah digunakan oleh siswa.

## Daftar Pustaka
[1]A.U Hamdani, K. R. Rahayu. Rancang Bangun Sistem Informasi Jasa Ekspedisi Barang Studi Kasus: PT. Garuda Mandiri Trans .
[2]Andi  Wahjud  Rahardjo  Emanuel,  A.  S.  Pembuatan  Sistem  Pelayanan  Taksi  dengan Menggunakan Android, Google maps, dan Ruby on Rails, Jurnal Sistem Informasi, Vol. 8 No. 1, Maret 2013: 17-28.
[3]Ariadi.  Penerapan  Aplikasi  QR  Code  Reader  dan  QR  Code  Generator  Secara  Mobile Untuk mengelola Benda Cagar Budaya Kota Salatiga, Jurnal sistem Informasi 2010 p-ISSN: 1979-0767.
[4]Carneiro, A. Appress Beginning Rails 3. Apress.
[5]Ching-yin law, Simon so. QR Codes in Education, Journal of Educationan Technology Development and Exchange, 3(1), 85-100.
[6]Eko Budi Setiawan, B. K. Perancangan Sistem Absensi Kehadiran Perkuliahan dengan Menggunakan Radio Frequency Identification (RFId), Jurnal CoreIT, Vol. 1, No. 2, Desember 2015 ISSN: 2460-738X.
[7]M.Pasca Nugraha, Rinaldi Munir. Pengembangan Aplikasi QR Code Generator dan QR Code  Reader  dari  Data  Berbentuk  Image,  Konferensi  Nasional  Informatika, Bandung 2011, 148-149.
[8]Norhikmah. Penggunaan QR Code Dalam Presensi Berbasisi Android, 2016 ISSN: 2302- 3805.
[9]Sodikin,  E.  Noersasongko,  Y.T.C.  Pramudi.  Jurnal  Penyesuaian  Dengan  Modus Pembelajaran Untuk Siswa SMK Kelas X. 5 (2009) 751.