## Journal of Applied Informatics and Computing (JAIC)
Implementasi Teknologi Mikroservice pada Pengembangan Mobile Learning
Maksy Sendiang 1 *, Sonny Kasenda 2 **, Jerry Purnama 3 * * Teknik Informatika, Politeknik Negeri Manado ** Teknik Listrik, Politeknik Negeri Manado *** Teknik Mesin, Politeknik Negeri Manado maksysendiang05@gmail.com 1 , sonnykasenda@gmail.com 2 , jhpurnama67@gmail.com 3
Article Info

## ABSTRACT
Article history: Received : 08-11-2018 Revised : 26-11-2018 Accepted : 05-12-2018 Software development using microservice has many advantages over conventional technology.  The  short  number  of  comprehension  and  applied  examples  of microservice technology have caused the software developed using this technology is  confined.  This  research  aims  to  apply  microservice  technology  in  the development of mobile learning (MLearning). Implementation of microservice will break  the  application  into  stand-alone  entities  and  isolated  with  others.  Thus failure in an entity will not effect the application as a whole system. This research using a mixture of quantitative and qualitative methods in collecting and analyzing data.  The  data  obtained  is  modeled  with  an  object-oriented  approach  by  used Unified  Modelling  Language  tool  (UML).  RUP  method  as  one  of  software development method that gives focus to software architecture is used to develop the MLearning.  By  this  research  expected  a  MLearning  is  produced  using microservice technology. It is expected this MLearning will improve the quality of education  in  Manado  State  Vocational  High  School.  The  conclusion  of  this research is that the development of MLearning with microservice technology will form  a  robust application that gives a positive impact  on teaching and learning process at Manado State Vocational High School.
Keyword:
microservice,
mLearning, entity, UML,
RUP.
Copyright © 2017Journal of Applied Informatics and Computing.
All rights reserved.

## I. P ENDAHULUAN
Diera  teknologi  digital  saat  ini,  penggunaan  perangkat mobile  menjadi  kebutuhan  baik  individu  maupun organisasi  dalam  meningkatkan  kinerjanya.  Perangkat mobile  menjadi  alat  praktis  dalam  mengakses  informasi maupun  berkomunikasi  sehingga  digunakan  dalam berbagai bidang baik pendidikan, kesehatan, sosial dan lain – lain. Pesatnya perkembangan perangkat mobile ditunjang oleh  kemajuan  inovasi  baik  dibidang  perangkat  keras maupun  perangkat  lunak.  Di  bidang  perangkat  lunak, menjamurnya aplikasi – aplikasi mobile seperti eLearning, eGoernment,  game  telah  menambah  fungsionalitas perangkat  lunak  dan  berdampak  pada  permintaan  pasar terhadap perangkat  mobile terus  meningkat dari  waktu  ke waktu.
Mobile learning (mLearning) adalah aplikasi eLearning yang  dijalankan  menggunakan  perangkat  mobile.  Cavus
“Mobile learning is defined  as using mobile devices such as  cell  phones,  laptops,  PCs,  PC  tablets,  PDS  and  other handheld  device  in  conjunction  with  wireless  internet network  to  enable  multimedia  communication  using  text, voice, video and graphics data. M-Learning allows student to  exchange  messages,  sounds,  pictures  and  other  rich communication  among  themselves  using  internet”  [1]. According to [2]  “mobile learning is defined as any sort of learning  that  happens  when  the  learner  is  not  at  a  fixed, predetermined location, or learning that happens when the learner  takes  advantage  of  the  learning  opportunities offered  by  mobile  technologies”.  Mobile  learning menyediakan  fasilitas  pembelajaran  tanpa  dibatasi  oleh tempat  dan  waktu.  Dengan  menggunakan  mobile learning pelajar  dengan  berbagai  latarbelakang  bahkan  para penyandang  cacat  sekalipun  dapat  memanfaatkan  fasilitas pembelajaran  jarak  jauh.  Selain  itu  mobile  learning menyediakan  fasilitas  yang  tidak  dapat  disediakan  oleh
63
peralatan  lainnya  seperti  kemampuan  pengambilan  dan sharing  gambar  secara  real  time,  peta  dan  GPS.  Dengan integrasi jaringan wireless, peralatan mobile dan teknologi jaringan  lainnya,  mobile  learning  menyediakan  fasilitas pendidikan dan pembelajaran yang mengesankan [8]
Perangkat  lunak  dalam  skala  yang  besar  umumnya dibangun dengan cara terdistribusi dan terdiri atas berbagai media yang terhubung dalam satu jaringan. Dalam konteks ini,  mikroservice  adalah  sebuah  pola  pengembangan perangkat  lunak  yang  baru  dimana  keseluruhan  fungsi perangkat  lunak  disediakan  oleh  komponen  –  komponen perangkat lunak yang lebih kecil. Komponen – komponen ini  menggunakan  dan  menyediakan  layanan  perangkat lunak  dan  dikembangkan  oleh  tim  secara  terpisah.  Tidak seperti  pengembangan  perangkat  lunak  secara  tradisional dimana  tim  pengembang  dan  tim  operasional  terpisah, pada  mikroservice  masing  –  masing  tim  menyediakan semua  persyaratan  pengembangan  dan  operasional  untuk service atau layanan yang dibangun (DevOPs).
Gambar  dibawah  ini  menunjukkan  contoh  sistem mikroservice yang terdiri atas lima service (layanan) yang bekerja  sama  untuk  menyediakan  aplikasi  bagi  external user.

## Gambar 1.Sistem Mikroservice
Pengguna  menjalankan  aplikasi  client  baik  aplikasi mobile  maupun  aplikasi  berbasis  web  yang  mengakses external  User  API  yang  disediakan  oleh  sistem.  API service  memangil  internall  service  yang  menyediakan fungsi  yang  diminta  (warehause  service,  shipping  serice, payment  service,  suggestion  service).  Setiap  service  ini dimaintain  oleh  DevOps  tim  yang  mengembangkan, mendeploy dan merawat sistem sistem tersebut.
Seperti  yang  dicantumkan  diatas,  pengembangan perangkat  lunak  menggunakan  teknologi  microservice memiliki banyak kelebihan dibandingkan dengan teknologi konvensional.  Kurangnya  pemahaman  dan  contoh  terapan tentang  teknologi  microservice  menjadi  salah  satu penyebab  minimnya  perangkat  lunak  yang  dikembangkan menggunakan  teknologi  ini.  Penelitan  ini  bertujuan menerapkan  teknologi  microservice  dalam  pengembangan
mobile  learning  (MLearning).  Penerapan  microservice akan  memecah  aplikasi  kedalam  entity  –  entity  yang berdiri sendiri dan terisolasi dengan entity lainnya. Dengan demikian kegagalan disatu entity tidak akan mempengaruhi aplikasi secara keseluruhan

## II. METODE PENELITIAN
Metode  pengembanang  sistem  yang  dipakai  dalam pengembangan  aplikasi  ini  adalah  Rational  Unified Process  (RUP).  Metode  ini  digunakan  karena  waktu  yang dibutuhkan  dalam  pengembangan  aplikasi  ini  tergolong singkat dan juga aplikasi ini akan  mengalami perbaikan – perbaikan selama proses pengembangannya.
Rational  Unified  Process  (RUP)  proses  pengembangan perangkat  lunak  yang  paling  luas  digunakan  saat  ini  oleh team  yang  terlibat  dalam  pengembangan  perangkat  lunak (system analis, project manager) [6].
RUP  merupakan  proses  rekayasa  perangkat  lunak dengan  pendefinisian  yang  baik  dan  penstrukturan  yang baik.  RUP  menyediakan  pendefinisian  struktur  yang  baik untuk  alur  hidup  proyek  perangkat  lunak.  RUP  memiliki empat buah tahapan atau fase yang dapat dilakukan secara iteratif.  Dalam  metodologi  ini  ada  empat  tahap pengembangan perangkat lunak yaitu :
1) Inception  (permulaan)  adalah  tahap  memodelkan proses bisnis yang dibutuhkan dan mendefinisikan kebutuhan akan sistem yang akan dibuat.
2) Elaboration (perluasan/perencanaan), lebih difokuskan  pada  perencanan  arsitektur  sistem. Tahap  ini  juga  dapat  dibuat  untuk  menentukan apakah  arsitektur  sistem  yang  diinginkan  dapat dibuat  atau  tidak.  Tahap  ini  memberikan penekanan  pula  pada  analisis  dari  desain  sistem dan  implementasi  sistem  dan  hasil  yang diharapkan  dari  tahap  ini  adalah  memenuhi Lifecycle  Architecture  Milestone  (batas/tonggak arsitektur dari siklus)
3) Construction  (Konstruksi),  tahap  ini  lebih  fokus pada  pengembangan  komponen  atau  fitur-fitur sistem.
4) Transition  (Transisi),  tahap  ini  lebih  pada deployment  atau  instalasi  sistem  agar  dapat dimengerti  oleh  user.  Aktivitas  pada  tahap  ini termasuk  pada  pelatihan  user,  pemeliharaan,  dan pengujian  sistem  apakah  sudah  memenuhi harapan user
Sumber  data  untuk  penelitian  ini  berasal  dari  enam Sekolah  Menengah  Kejuruan  Negeri  yang  ada  di  kota Manado  dan  Dinas  Pendidikan  dan  Kebudayaan  kota Manado. Data didapat melalui wawancara dan pengamatan langsung  di  lapangan.    Data  selanjutnya  diolah  di Laboratorium  Pemrograman  Jurusan  Teknik  Elektro Politeknik Negeri Manado.
64

## III. HASIL  DAN PEMBAHASAN

## A. Pemodelan Sistem
Model  sistem  yang  dibangun  ini  dapat  dilihat  pada diagam UML berikut ini :

## Gambar 2.Use Case Diagram
Sesuai  gambar  model  UML    diatas,  system  yang dibangun  penggunanya  terdiri  atas  tiga  kategori  yaitu admin,  guru  dan  siswa  dengan  hak  aksesnya  masing  – masing.  Hak  akses  ini    dikembangkan  pada  tahap  dua (elaboration)  dari  metode  pengembangan  system  RUP diatas. Hak akses yang digambarkan dalam bentuk use case diuraikan lebih terperinci dalam table 1.

## B. Arsitektur Sistem
Arsitektur  sistem  yang  dibangun  ini  mengacu  pada functional  requirement  yang  diperoleh  dari  hasil wawancara  dengan  calon  pengguna  dan  memanfaatkan
referensi  dari  studi  pustaka.  Functional  requirement disusun dalam bentuk tabel (tabel 1) dan terdiri atas aktor requirement dan functional requirement. Aktor adalah user yang  akan  menggunakan  aplikasi  yaitu  admin,  guru  dan siswa.
TABEL I

## FUNCTIONAL REQUIREMENT
ID
Aktor Functional Requirement
001 Guru
Membuat soal 002 Menghapus dan mengedit soal
003 Memasukkan nilai 004 Mengedit dan menghapus nilai 005 Membuat jawaban 006 Mengedit dan menghapus jawaban 007 Memasukkan  materi  pembelajaran teori dan praktek 008 Mengedit  dan  menghapus  materi pembelajaran 009 Admin Memasukaan data SMK 0010 Mengedit  dan  menghapus  data SMK 0011 Memasukkan data mata pelajaran 0012 Mengedit dan menghapus data mata pelajaran 0013 Memasukkan data pengguna 0014 Mengedit  dan  menghapus  data pengguna 0015 Siswa Mengakses soal 0016 Mengakses Nilai
Tabel 1 diatas  mengacu pada hasil perancangan  yang kemudian  dimodelkan dengan UML.  Guru dalam  konteks ini  hanya  akan  melakukan  manipulasi  materi,  soal  dan penilaian  yang  berhubungan  dengan  mata  pelajaran  yang diampuhnya.  Data  –  data  yang  bersifat  umum  dimasukan dan  diperbarui  oleh  admin.  Sementara  siswa  hanya memiliki akses terhadap soal dan hasil penilaian.
Aristektur  sistem  mikroservice  yang  dibangun  ini  adalah seperti  pada  gambar  3.  Untuk  implementasi  arsitektur mikroservice  menggunakan  framework  lumen.  Lumen adalah  bagian  dari  framework  laravel  yang  dipergunakan untuk mengembangkan mikroservice.
Siswa Akses Pembelajara n Manipulasi Soal Mengakses Soal
Manipulasi Nilai/Jawaban Mengakses Nilai Manipulasi Pembelajaran Buat Soal Edit Soal Hapus Soal <<include>> <<include>> Manipulasi Teori Manipulasi Praktek Exception handling <<extend> > <<extend> > Manipulasi Pengguna Manipulasi SMK Guru Admin
JAIC
Gambar 3.Arsitektur Sistem
Seperti  yang  nampak  pada  gambar  diatas,  semua  request dari user akan melalui API Gateway yang selanjutnya akan mengarahkan  request  ini  ke  service  atau  layanan  tertentu. Selain  itu  API  Gateway  juga  berfungsi  untuk  protocol translation dan menyediakan custom API yang dibutuhkan pengguna. API gateway menyediakan endpoint contohnya (/soal?soalID=101) sehingga  pengguna  dapat  mengakses soal dengan nomor ID 101. Impementasi dari API Gateway dan  sebagian  mikroservice  diatas  dapat  dilihat  pada gambar berikut ini.
Gambar 4.API Gateway
Pada  gambar  diatas,  pengguna  yang  berhasil  login  hanya akan  diberikan  akses  sesuai  dengan  instansi  atau sekolahnya  masing  –  masing.  REST  API  memfilter pengguna  dan  mengarahkan  ke  paket  data  yang  sesuai. Untuk  keamanan  proses  login  maka  digunakan  juga  fitur reCAPCHA dari Google.
Gambar 5.Admin Service Implementasi mikroservice dapat dilihat pada gambar dashboard  utama  diatas.  Untuk  memudahkan  proses pengelolaan  entity  –  entity  yang  membentuk  system  ini maka  digunakan  teknologi  mikroservice.  Teknologi mikroservice  memecah  system  yang  besar  dengan
REST API Service Nilai REST API Service Jawaba REST API Service SMK REST API Service Mapel REST API Service Pengguna REST API Service Soal API Gatewa
66
mengacu  pada  arsitektur  MVC  ( Model  View  Controller ). Framework  lumen  dipakai  untuk  mengembangkan teknologi ini.

## C. Pengujian Sistem
Pengujian  sistem  dalam  bentuk  functional  testing dilakukan  untuk  menganalisa  sistem  mikroservice  yang dibangun.  Fungsionalitas  testing  adalah  salah  satu  black box  testing  yang  dilakukan  untuk  memastikan  bahwa sistem  berfungsi  sebagaimana  yang  dimodelkan  / diharapkan. Hasil dari  fungsionalitas tersting dapat dilihat pada tabel dibawah ini.
TABEL 2
FUNGSIONALITAS TESTING No Pengujian Test Case Hasil yang diharapkan 1 Fungsionalitas API Gateway 1. User memasukan URL sesuai REST API yang diinginkan 2. Manipulasi user  terhadap service yang dibuka 1. User dapat masuk ke service yang dituju 2. User dapat menggunakan service fitur 2 Fungsionalitas mikroservice nilai 1. User membuka form untuk input,  edit  dan update nilai berdasarkan parameter tertentu 2. User  mengklik tombol submit 1. Nilai dapat diinput,edit,  dan hapus sesuai parameter  yang dipih 2. Validasi data benar,  data  bisa disimpan, diupdate ke database 3 Fungsionalitas mikroservice soal 1. User membuka form soal, menginput,edit dan  hapus  soal sesuai kebutuhan 2. User  mengklik tombol submit 1. Form terbuka soal dapat dimanipulasi sesuai kebutuhan
2. Validasi  berjalan dan  soal  dapat disimpan/diupdat e ke database 4 Fungsionalitas mikroservice materi pembelajaran 1. User membuka form pembelajaran dan  menginput materi pembelajaran 2. User  memilih tombol submit 1. Form pembelajaran dapat difungsikan 2. Materi pembelajaran disimpan di database 5 Fungsionalitas mikroservice pengguna 1. User membuka form pengguna menginput, edit  dan  hapus pengguna 2. User  memilih tombol submit 1. User dapat menggunakan form  pengguna dan  menginput, edit  dan  hapus pengguna 2. Data pengguna
No Pengujian Test Case Hasil yang diharapkan disimpan  dalam database
Dari  table  hasil  pengujian  diatas  dapat  dilihat  bahwa system berjalan sesuai dengan yang diharapkan. Ini berarti bahwa system sudah dapat digunakan sesuai peruntukannya.

## V. K ESIMPULAN
Kesimpulan  yang  dapat  diambil  dari  penelitian    ini adalah :
1. Arsitektur  mikroservice  memecah  aplikasi  menjadi entity – entity independent yang dipanggil melalui API Gateway.
2. Aplikasi  mobile  learning  yang  dibangun    memiliki enam  mikroservice  yang  dapat  dikembangkan  sesuai kebutuhan  dengan  menambahkan  service  tertentu  ke sistem yang telah ada.
3. Framework  lumen  ampuh    dalam  membangun mikroservice dan mendukung pengembangan RESTFUL API application

## U CAPAN T ERIMA K ASIH
Penulis  mengucapkan  terima  kasih  kepada  Direktorat Riset  dan  Pengabdian  Masyarakat  Kementerian  Riset Teknologi dan Pendidikan Tinggi RI yang telah mendanai kegiatan penelitian sehingga dihasilkan luaran ini.

## D AFTAR P USTAKA
[1] Cavus,N.,  &  Ibrahim,D.  (2009). M-Learning:  An  experiment  in using SMS to support learning new English words . British Journal of Educational Technology, 40(1),78-91.
[2] D.V.  Sanchez,  E.H.Rubio,  E.F.Ruiz  and  Viveros, “Student  Role Functionalities  Towards  Learning  Management  Systems  as  Open Platforms Through Mobile Devices” , IEEE 201  S. M. Metev and V.  P.  Veiko, Laser  Assisted  Microtechnology ,  2nd  ed.,  R.  M. Osgood, Jr., Ed.  Berlin, Germany: Springer-Verlag, 1998.
[3] L.Bass,  P.Clements, Software  Architecture  in  Practice ,  3 rd ed, Boston, MA : Addison-Wesley professional, 2012, ch.13
[4] N.Pachler, B.Bachmair, J.Cook and G.Kress, Mobile
Learning:Structures, Agency, Practice s, 1 st ed,New York,NY:Springer,2010,ch. 1,pp. 3-10
[5] N.Serrano, J.Hernantes, and G.Gallado, “Mobile Web Apps” , IEEE Software 2013
[6] Qiaoli Chen,Department Of engineering working software teaching and  research  Shaanxi  Institute  of  technology  Xi’an  China, "Compare  and  study  about  owing  to  the  three  kinds  important softwares  develop  process  ",  international  Conference  on Education  Technology  and  Economic  Management  (ICETEM), 2015.
[7] Shen,R.,  Wang,M.  (2008). Increasing  interactivity  in  blended classrooms through a cutting-edge mobile learning system . British Journal of Educational Technology, 39(6), 1073-1086
[8] Vasiliou,  A.,  &  Economides,  A.A  (2011). Mobile  collaborative learning using multicast MANETs . International Journal of Mobile Communications, 5(4), 423-444.