Perancangan Web Service Sistem Autentikasi dan Identifikasi Berbasis QR Code Pada Universitas Sam Ratulangi
Aditya B. C. Dano, Hans F. Wowor, Oktavian A. Lantang. Email : danoadit@gmail.com; hans.wowor@unsrat.ac.id; oktavian_lantang@unsrat.ac.id Jurusan Teknik Elektro - FT UNSRAT Manado – 95115
Abstract — Web  service  is  a  set  of  services  that  can  interact with  different  types  of  hardware  platforms,  operating  systems and  programming  languages.  This  study  aims  to  build  a  QR Code  based  web  service  authentication  and  identification  to facilitate the development of information systems. In this study, a web  service  that  is  built  will  be  consumed  by  the  labeling application  and  academic  documents  scanner.  The  development of  this  web  service  was  using  Extreme  Programming  methods, processes  include  (1)  planning,  (2)  designing,  (3)  coding,  (4) testing.  In  this  article  the  implementation  and  evaluation  is carried  out  considering  the  time  and  cost  factors.  The  results obtained in this study are: (1) using a web service systems can be integrated  with  a  variety  of  applications  that  require  the functions  of  the  web  service  so  as  to  accelerate  the  process  of developing information systems. (2) obtained a web service with three  main  services  are  Authentication,  Identification  and standard Services.
Keywords:  Extreme  Programming,  QR  Code,  SOAP,  Web Service.
Abstrak — Web service merupakan sebuah atau sekumpulan layanan yang dapat berinteraksi dengan berbagai jenis platform hardware,  sistem  operasi  dan  bahasa  pemrograman.  Penelitian ini  bertujuan  membangun  suatu  web  service  autentikasi  dan identifikasi  berbasis web  servive untuk  memudahkan pengembangan sistem informasi. Pada penelitian ini web service yang  dibangun  akan  dikonsumsi  oleh  aplikasi  labeling  dan scaning  dokumen  akademik.  Pengembangan  system  ini menggunakan  metode  Extreme  Programming,  proses-prosesnya meliputi (1) planning ; (2) designing ; (3) coding ; (4) testing . Pada tulisan  kali  ini  implementasi  dan  evaluasi  tidak  dilaksanakan mengingat  faktor  waktu  dan  biaya.  Hasil  yang  didapat  pada penelitian  ini  adalah  :  (1)  dengan  menggunakan  web  service sistem  dapat  diintegrasikan  dengan  berbagai  aplikasi  yang memerlukan  fungsi-fungsi  pada  web  service  sehingga mempercepat  proses  pengembangan  sistem  informasi.  (2) didapatkan  web  service  dangan  tiga  layanan  utama  yaitu Autentikasi, Identifikasi dan Layanan.
Kata  Kunci  : Extreme  Programming , QR  Code,  SOAP,  Web Service.

## I. PENDAHULUAN
Perkembangan Teknologi Informasi semakin pesat, banyak sistem  di  segala  bidang  telah  beralih  ke  sistem  informasi berbasis  teknologi  komputer,  perkembangan  ini  serta  merta
diikuti oleh berkembangnya jumlah pengguna sehingga sistem pengenal pengguna dibutuhkan untuk mendapatkan hak akses dan membedakan user satu dengan lainnya.
Dengan  diterapkannya  Sistem  Informasi  Terpadu  online pada  Universitas  Sam  Ratulangi  maka  semua  dokumen akademik  dapat  dicetak  secara  online.  dengan  ini  terdapat peluang  oknum  mahasiswa  untuk  memalsukan  dokumen- dokumen  tsb.  Misalnya  mengganti  IPK,  mengurangi matakuliah,  untuk  tujuan-tujuan  tertentu  dengan  cara-cara tertentu.  Dengan  melakukan labeling dokumen,  dokumen akademik yang asli dapat dilihat secara online maupun offline sehingga dapat dibandingkan dengan versi cetak.
Web  service  merupakan  suatu  pengembangan  dari teknologi  internet,  method  –  method  yang  telah  ada  yang dikembangkan  oleh developer lain  bisa  digunakan  kembali oleh developer dan  client  lain  ( Reuseable ),  dengan  platform yang  bisa  berbeda-beda  ( Interoperability ). Web  service menggunakan  SOAP  untuk  pertukaran  data.  dan  WSDL sebagai  bahasa  komunikasinya.  WSDL  sendiri  menggunakan bahasa  XML  sebagai  basis  bahasa. Web  service bisa diterapkan  di web  server manapun  dengan  menggunakan teknologi standar sehingga implementasinya tergolong murah dan mudah.
Perangkat Lunak pembaca QR Code telah banyak beredar, akan tetapi layanan pembaca QR Code yang terpusat dengan database yang terpusat masih kurang atau bahkan belum ada. Untuk  membangun  sistem  ini  juga  diperlukan  sebuah database yang  terdistribusi  yang  harus  diakses  oleh  klien- klien yang membutuhkan data tersebut. Database terdistribusi ini  dimaksudkan  agar  data user tidak  rancu  dan  bisa digunakan  oleh  banyak  sistem  operasi  dan  dengan  berbagai macam arsitekturnya.

## II. LANDASAN TEORI
A. Web Service Menurut  Snel  (2001) Web  service didefinisikan  sebagai interface akses  jaringan  pada  fungsi  aplikasi,  yang  dibangun menggunakan  teknologi  standar  yang  digunakan  di  Internet. Dengan  kata  lain  jika  suatu  aplikasi  diakses  menggunakan protokol  HTTP,  XML,  SMTP  atau  Jabber,  maka  bisa dikatakan itu adalah web service . Menurut IBM (2001) web service adalah aplikasi modular, terdistribusi dan dinamis yang dapat dideskripsikan, dipublish dan diletakkan di jaringan untuk menciptakan produk, proses dan supply  chain .  Aplikasi web  service dapat  bersifat  lokal, terdistribusi atau berbasis web.
Gambar 1. Contoh QR Code [International Standard (2012)]
Menurut W3C (2009) web service adalah sebuah software aplikasi  yang  dapat  teridentifikasi  oleh  URI  dan  memiliki interface yang  didefiniskan,  dideskripsikan,  dan  dimengerti oleh  XML  dan  juga  mendukung  interaksi  langsung  dengan software  aplikasi  yang  lain  dengan  menggunakan message berbasis XML melalui protokol internet.
Menurut  Suda  (2003)  kelebihan web  service antara  lain Interoperability, Reuseable, platform independent, strandarized  ptrotocol,  XML  based,  plaint  text dan sebagainya.

## B. QR Code
Menurut Anas (2012) QR Code merupakan sebuah simbol penandaan  objek  nyata  yang  terbuat  dari  pola  batang-batang berwarna  hitam  dan  putih.  Kelebihan barcode antara  lain dapat  dicetak  dengan  mudah  dan  telah  menjadi  standar  di dunia.  Mulai  dari  batang  sampai  yang  berbentuk  2d  atau dengan sinyal radio dan Infra merah.
ISO (2000) Mendefinisikan QR Code adalah image berupa matriks  dua  dimensi  yang  memiliki  kemampuan  untuk menyimpan  data  di  dalamnya. QR Code merupakan  evolusi dari  kode  batang  ( barcode ). Barcode merupakan  sebuah simbol penandaan objek nyata yang terbuat dari pola batang- batang  berwarna  hitam  dan  putih  agar  mudah untuk  dikenali oleh  komputer.  Sebagai  contoh QR  Code dapat  dilihat  pada gambar 1.

## C. Identifikasi dan Autentikasi
Menurut Bosworth (2002) Identifikasi adalah proses untuk ascribing sebuah  ID  ke  bentuk  manusia  atau  ke  komponen- komponen komputer atau jaringan lain dengan kata lain usaha untuk  mengekstraksi  data-data  dari  sebuah  ID.  Sedangkan autentikasi adalah proses binding sebuah ID ke entitas spesial. Autentikasi  berkutat  dengan  masalah  untuk  menentukan siapakah/apakah  seseorang  baik  user  atau  suatu  entitas  yang seharusnya bisa  mengakses sebagian sistem atau sumberdaya tertentu,  ini  berarti  autentikasi  memutuskan  keputusan  yang biner (Ya atau Tidak boleh).
Berdasarkan  definisi  diatas, authenticated  user adalah seseorang yang diperbolehkan mengakses sistem atau-
Gambar 2. Proses XP [Pressman (2012)]
sumberdaya. Meski demikian secara umum autenticated user tidak  diberikan carte  banche akses  keseluruh  sumberdaya sistem.  Sebagai  contoh  jika  kita  hanya  memperbolehkan seseorang  yang  ter- previlage seperti administrator untuk menginstal software pada  komputer.  Dengan  demikian  kita harus membatasi aksi-aksi dari user yang telah ter-autentikasi. Ini  adalah  bagian  dari  autorisasi.  Jika  autentikasi  hanya memutuskan  keputusan  yang biner (ya  atau  tidak),  maka autorisasi  memutuskan  izin  user  dan  batasan-batasannya sehingga keduanya bisa diistilahkan dengan akses kontrol.

## D. Extreme Programming
Beck  (2004)  mendefinisikan  lima  nilai-nilai  yang membentuk  dasar  bagi  semua  pekerjaan  yang  dibentuk sebagai  bagian  dari  XP  yaitu  komunikasi,  kesederhanaan, umpan  balik,  keberanian,  dan  rasa  hormat.  Masing-masing nilai  yang  penting  ini  digunakan  sebagai  pendorong  untuk kegiatan, tindakan, dan tugas XP yang spesifik.
Menurut  Roger  Pressman  (2012)  Pemrograman  Ekstrem menggunakan  suatu  pendekatan  'berorientasi  objek'    sebagai paradigma  pengembangan  yang  diinginkan  dan  mencakup  di dalamnya seperangkat aturan dan praktik-praktik yang terjadi dalam  konteks  empat  kegiatan  kerangka  kerja:  perencanaan, perancangan,  pengkodean,  dan  pengujian.  Gambar  2 mengilustrasikan  proses  XP  dan  menunjukkan  beberapa  ide dan tugas kunci yang terkait dengan setiap aktivitas kerangka kerja.

## E. Unified Modelling Language
Menurut  Philippe  Kruchten  (1995),  UML  adalah  bahasa grafis  untuk visualizing,  specifying,  constructing  and documenting setiap artifak dari sistem perangkat lunak. Alistair Cockburn menjelaskan bahwa Usecase merupakan kontrak  untuk  perilaku.  Kontrak  mendefinisikan  dengan  cara bagaimana  suatu  aktor  menggunakan  sistem  berbasis komputer  untuk  menyelesaikan  permasalahan-permasalahan yang  dihadapinya.  Pemodelan  CRC  menyediakan  cara  untuk mengidentifikasi dan mengorganisasi kelas-kelas yang relevan untuk  sistem  atau  yang  relevan  untuk  spesifikasi-spesifikasi kebutuhan produk.

## Gambar 3. Framework penelitian

## III. METODOLOGI PENELITIAN

## A. Objek dan Lokasi Penelitian
Objek penulisan Skripsi ini adalah mengenai perancangan web  service. Dan  bertempat  pada  Universitas  Sam  Ratulangi dan Lab. Teknologi Informasi Fakultas Teknik Unsrat.

## B. Framework Penelitian
Pengembangan  Software  menggunakan  metode Extreme Programming.  Framework Penelitian  dapat  dilihat  pada gambar 3.

## C. Planning Deskripsi Sistem
Sistem  yang  akan  dibangun  berbasis  web  service  yang akan  memberikan  layanan  standard  autentikasi  dan identifikasi  berdasarkan barcode 2d  atau  yang  lebih  dikenal dengan QR Code ( Quick Response Code ). Web service ini bisa digunakan  oleh  berbagai  sistem  lain  yang  mengguanakan pengidentifikasian  dan  atau  pengautentifikasian.  Pada penelitian  ini web  service yang  akan  dibangun  akan dikonsumsi  oleh  aplikasi klien  yang  berupa  pendeteksi keaslian dokumen dan aplikasi yang melakukan labelling pada dokumen.
Web  service akan  dibangun  dengan  teknologi web  server standard  dan  menggunakan  bahasa  pemrograman  PHP  dan akan langsung diakses oleh aplikasi klien dengan menggunkan protokol SOAP. Sedangkan proses decoding image QR Code terjadi di server dengan bantuan pustaka khusus decoding QR Code .

## User Stories
Berdasarkan  hasil  observasi  dan  hasil  studi  pustaka  yang dilakukan  sebelumnya  dapat  dirumuskan user  stories seperti berikut :User dapat mencetak dokumen, User dapat login dan logout, User mempunyai username dan password, User dapat
Gambar 4. usecase sistem keseluruhan
melakukan  pengecekan  keabsahan  dokumen  yang  dicetak sebelumnya oleh user, Aplikasi klien dapat menggunakan web service , Aplikasi klien mempunyai akun dan database .

## Use case
Berdasarkan user  stories dan  analisa  kebutuhan  diatas maka  dapat  kita  buatkan usecase -nya  seperti  gambar  4. Terdapat  4  usecase  yaitu  login,  logout,  scan  dokumen  dan cetak  dokumen.  Scan  dokumen  mengkonsumsi  proses autentikasi  sedangkan  cetak  dokumen  mengkonsumsi Identifikasi.

## D. Designing
Sebelum  mendesain  kelas  penulis  mengumpulkan  calon kelas berdasarkan Use case Table dan Use case Diagram dan mengumpulkannya  dalam  sebuah Usecase  Narative dibawah ini .
Aplikasi  yang  akan  dibangun  berupa  layanan  untuk autentikasi dan identifikasi berdasarkan QRCode. klien dapat menggunakan  aplikasi  ini  dan  meng- upload data  mereka, admin  dapat  melakukan manajemen database,  aplikasi  yang menjadi klien dapat menggunakan layanan seperti mengambil QRCode atau mengartikannya dengan menggunakan webcam atau  input  lain.  Untuk  menggunakannya  aplikasi  klien  harus melakukan konversi data  masuk  maupun  keluar.  Kata-kata yang  harus  diperhatikan  yaitu  layanan,  autentikasi, identifikasi,  QR  Code,  klien,  upload,  admin,  manajemen, webcam dan konversi.
Hal selanjutnya yang dilakukan adalah mencari kelas-kelas berdasarkan use  case  narative .  Dan  menyaringnya berdasarkan  6  karakteristik  Coad  dan  Yourdon  yang ditampilkan pada TABEL I.
Berdasarkan  TABEL  I  Kelas-kelas  potensial  telah dihasilkan,  maka  selanjutnya  adalah  melakukan  desain  CRC. Pemodelan  CRC  menyediakan  cara  untuk  mengidentifikasi dan mengorganisasi class yang relevan untuk sistem atau yang relevan  untuk  spesifikasi-spesifikasi  kebutuhan  produk. Berikut adalah desain CRC.

## TABEL I. KELAS POTENSIAL
Kelas Potensial Klasifikasi Umum Karakteristik yang Diterima Keputu- san Autentikasi Kejadian 1,2,3,4,5 Diterima Identifikasi Kejadian 1,2,3,4,5 Diterima Admin Peran 2,6 Ditolak User Peran 2,6 Ditolak Klien Entitas eksternal 2,3,6 Diterima Upload Kejadian 2,5 Ditolak Konversi Kejadian 2,5 Ditolak Manajemen Unit Organisasional 2,3,4 Ditolak Webcam Entitas eksternal 6 Ditolak Layanan Unit Organisasional 2,3,4,5 Diterima TABEL II. CRC CARD CLASS IDENTIFIKASI Class : Identifikasi
Deskripsi: Mengidentifikasi data.
Responsibilities Collaborators - menerima data - mengidentifikasi data - Layanan - Client
Class Identifikasi
Class identifikasi  merupakan  salah  satu class utama yang  digunakan  untuk  melakukan  identifikasi  data  sesuai dengan  id  atau  pengenal  yang  dimiliki  oleh  user,  kemudian class ini juga melakukan query ke database dan mengirimkan data-data kepada aplikasi klien.
Fungsi-fungsi  yang  terdapat  pada  class  ini  adalah  : getDataById(),  getDataByQR().  CRC  tabelnya  dapat  dilihat pada TABEL II.

## Class Autentikasi
Class ini  digunakan  untuk  melakukan  konfirmasi  suatu data  apakah  data  tersebut  eksis  atau  tidak  pada  database, berdasarkan user id atau qrcode yang dimiliki oleh user.
Fungsi-fungsi  yang  terdapat  pada  kelas  ini  adalah autById(),  autByQR().  Fungsi-fungsi  diatas  mengembalikan nilai Boolean . CRC tabelnya dapat dilihat pada TABEL III.

## TABEL III. CRC CARD CLASS AUTENTIKASI
Class : Autentikasi Deskripsi: Mengautentikasi data.
Responsibilities Collaborators - mengautentikasi user berdasarkan database. - Layanan - Client

## TABEL IV CRC CARD CLASS LAYANAN
Class : Layanan Deskripsi: layanan kepada pengguna web service.
Responsibilities Collaborators - Sebagai layanan input data - Layanan Update data - Mengirim QR Code permintaan user
-Identifikasi -Autentikasi

## TABEL V. CRC CARD CLASS CLIENT
Class : Client Deskripsi: class ini berada pada sisi client digunakan untuk Mengkonversi data Image-String.
Responsibilities Collaborators - Mengubah Image menjadi String - Mengubah String menjadi Image - Identifikasi - Autentikasi

## Class Layanan
Class layanan  berisi  layanan-layanan  managemen  untuk pengguna.  Fungsi-fungsi  pada class ini  adalah  inputdata, updatedata,  getQR().  kartu  CRC  tabelnya  dapat  dilihat  pada TABEL IV.

## Class Client
Class ini berada pada client side dimana class ini berfungsi untuk  melakukan  konversi  data image ke string dan sebaliknya  dari string ke image untuk  keperluan  pengiriman data dari clent atau ke client .
Fungsi-fungsi  yang  terdapat  pada class ini  adalah stringtoimg(),  imgtostring().CRC  tabelnya  dapat  dilihat  pada TABEL V.

## TABEL VI. METHOD WEB SERVICE
Gambar 5. Form login

## IV. HASIL DAN PEMBAHASAN
A. Coding
Standard  coding yang  digunakan  yaitu  untuk  fungsi  atau method  pada  kelas  diawali  dengan  huruf  kecil  dan  jika memiliki  dua  kata,  kata  yang  kedua  dan  seterusnya mnggunakan awalan huruf besar contohnya autDariId() untuk memudahkan  pembacaan  oleh  pemrogram,  dan  untuk  data atau  variabel  menggunakan  huruf  kecil.  Method  dan  fungsi dikembangkan  berdasarkan  pemodelan  CRC  pada  bab sebelumnya hasilnya dapat dilihat pada TABEL VI.
Gambar 6. Tampilan setelah login
Gambar 7. List nilai

## B. Pembahasan Program
Pada  gambar  5  form  tampilan  awal  yang  digunakan untuk  login  kedalam  system,  pengguna  bisa  memasukkan informasi  login  berdasarkan  akun  dan  passwor  yang dimilikinya.
Gambar  6  adalah  halaman awal dari aplikasi,  untuk  bisa melihat  dokumen  kita  harus  melakukan  login  dengan menggunakan akun portal.
Setelah  login  pilihan  lihat  transkrip  akan  muncul  seperti yang terlihat pada gambar diatas User dapat memilih dokumen yang akan dicetak. Kemudian dokumen dari mahasiswa yang melakukan  login  akan  tampil  berupa  tabel  yang  berisi  nilai mahasiswa seperti terlihat pada gambar 7.
Nilai-nilai transkrip atau dokumen lain akan ditampilkan di  dalam  form  sebelum  pengguna  akan  mencetak  dokumen tersebut  pada  gambar  diatas  bisa  dilihat  tombol preview . Tombol  ini  berfungsi  menampilkan  pratayang  dari  dokumen yang akan dicetak.

## Gambar 8 Hasil Cetakan
Mahasiswa dapat menampilkan versi pratayang sebelum mencetak dokumen transkrip agar supaya tidak ada kesalahan cetak  yang akan terjadi pada saat mahasiswa akan mencetak. Tampilan  hasil  transkrip  yang  telah  dilabeli QR  Code dapat dilihat pada gambar 8
Pada  gambar 9,  ketika  pengguna  aplikasi  memindai QR Code yang  ada  di  transkrip  maka  nilai  asli  akan  muncul  di form berupa tabel seperti pada gambar diatas. Pengguna dapat membedakan  versi  asli  dan  tidak  dengan  melihat  nama  dan nilai-nilai  yang  tercantum.  Terdapat  form  pemilihan  driver untuk memilih perangkat kamera yang akan digunakan untuk proses scanning. Dapat dilihat pada gambar 10.

## V. KESIMPULAN DAN SARAN

## A. Kesimpulan
Berdasarkan  paparan  pada  hasil  dan  pembahasan  penulis dapat  mengambil  simpulan  bahwa  Aplikasi Labeling dapat menggunakan service based aplication sehingga suatu aplikasi menjadi interoperability .  Metode  pengembangan  software Extreme  Programming dapat  digunakan  untuk  membangun aplikasi service based dengan cepat.
Gambar 9. List nilai Hasil Scanning
Gambar 10. Pilihan driver kamera
B. Saran
Penulis  menyarankan  pembuatan  aplikasi  klien  berbasis mobile  dengan  kelebihannya.Penulis  menyarankan web service ini diintegrasikan dengan sistem informasi yang telah ada  di  Universitas  Sam  Ratulangi.  Diharapkan  layanan  ini digunakan  secara  luas  dalam  lingkungan  Universitas  dan digunakan oleh berbagai sistem.

## DAFTAR PUSTAKA
[1] A.  Albreshne,  et  al, Web  Services  Technologies  :  State  of  the  Arts. Definitions, Standards, Case Study , 2009.
[2] A. Cockburn, Writing Effective Use-Cases , Addison-Wesley, 2001.
[3] B. Suda, SOAP Web Services , University of Edinburgh, 2013.
[4] C. Amstrong, Modeling Webservices with UML , Roseville.2002.
[5] D. M. Rubin, Intro to Webservice, 2002.
[6] E.  Bertino,  et  al, Merkle  Tree  Authentication  in  UDDI  Registries . International Journal of Web Service Research, 2004.
[7] IBM, Web Service Development Concept , IBM Software Group, 2001.
[8] International  Standard, Information  Technology-Identification  and Data  Capture  Techniques-Bar  Code  Symbology-QR  Code ,  Geneva, 2000.
[9] J. Snell, Programming Web Service with SOAP , O’Reilly, 2001.
[10] K.  Beck, Extreme  Programming  Explained:  Embrace  Change . Addison-Wesley, 2004.
[11] K.  Gottschalk,  et  al, Introduction  to  Web  Service  Architecture. IBM System Journal Vol.41 No.2, 2002.
[12] M. Stamp, Information Security : Principle & Practice ,  New Jersey: Wiley, 2006.
[13] MSDN.  Visual  Basic.  Tersedia  di:      http://msdn.microsoft.com/en- us/library/vstudio/2x7h1hfk .aspx. [diakses 10 09 2013]
[14] P.  Coad,  E. Yourdon, Object  Oriented  Analysis,  2d  ed .  Prentice  Hall, 1991.
[15] R.  Gronmo,  et  al, Model-driven  Web  Service  Development , International Journal of Web Service Research, 2004.
[16] R. Pressman, Rekayasa Perangkat Lunak , Yogyakarta: Penerbit Andi, 2012.
[17] S. Bosworth, M. E. Kabay, Computer Security Handbook , New York: John Wiley & Sons, 2002.
[18] SUN, Effective  SOA  Deployment  Using  an  SOA  Registry  Repository ,
USA, 2009.
[19] W3C. Web Service. Tersedia di:  http://www.w3s.com/ws/. [diakses 30 08 2013].
[20] W3C. WSDL  And  UDDI. Tersedia  di: http://www.w3schools.com/ wsdl/wsdl_uddi.asp. [diakses 30 08 2013].
[21] W3C.  SOAP.  Tersedia  di:      http://www.w3schools.com/soap/soap.asp. [diakses 30 08 2013].