Terbit online pada laman web jurnal: http://journal.isas.or.id/index.php/JACOST

## JOURNAL OF APPLIED COMPUTER SCIENCE AND TECHNOLOGY (JACOST)
Vol. 4 No. 1 (2023) 07 – 11 | ISSN: 2723-1453 (Media Online)
Implementasi Sistem Reminder Jadwal pada eLearning Moodle Berbasis API Menggunakan Framework Flutter
M. Yudha Putra 1 , Dwi Ely Kurniawan 2 1,2 Jurusan Teknik Informatika, Politeknik Negeri Batam
1* yudhaputra2204@gmail.com, 2 dwialikhs@polibatam.ac.id

## Abstract
This research aims to develop a Flutter-based mobile application that provides users with information regarding class schedules and assignments. The application includes a reminder feature that sends notifications about lectures and assignments through WhatsApp  and  in-app  notifications.  The  development  methodology  employed  is  the  waterfall  model,  while  testing  utilizes black-box  testing  and  Firebase  Test  Lab.  The  test  results  demonstrate  the  successful  development  of  the  application. Additionally, this application facilitates efficient and easy access to class schedules and assignments. It is expected to enhance users'  academic  performance  and  be  applicable  across  various  educational  institutions.  Overall,  the  development  of  this application  offers  users  the  advantage  of  effectively  and  efficiently  managing  study  time  and  completing  tasks,  thereby contributing to the improvement of educational quality within institutions.
Keywords: elearning, flutter, lecture schedule, reminder.

## Abstrak
Penelitian ini bertujuan untuk mengembangkan aplikasi mobile berbasis framework Flutter yang dapat memberikan informasi kepada pengguna tentang jadwal dan tugas kelas. Aplikasi ini dilengkapi dengan fitur reminder untuk memberikan reminder tentang  jadwal  kuliah  dan  tugas  melalui  WhatsApp  dan  notifikasi  aplikasi.  Metode  pengembangan  yang  digunakan  adalah model  waterfall,  sedangkan  pengujian  menggunakan  black-box  testing  dan  firebase  test  lab.  Hasil  pengujian  menunjukkan bahwa  aplikasi  telah berhasil dikembangkan.  Selain  itu, aplikasi ini juga dapat mempercepat  proses akses  informasi  jadwal kuliah dan tugas secara efisien dan mudah. Diharapkan aplikasi ini dapat meningkatkan prestasi akademik pengguna dan dapat diterapkan  di  berbagai  institusi  pendidikan.  Secara  keseluruhan,  pengembangan  aplikasi  ini  memberikan  manfaat  bagi pengguna  dalam  mengatur  waktu  belajar  dan  mengerjakan  tugas  dengan  lebih  efektif  dan  efisien.  Hal  ini  dapat  membantu meningkatkan mutu pendidikan di lembaga pendidikan.
Kata kunci: elearning, flutter, jadwal perkuliahan, reminder .

## 1. Pendahuluan
Dalam  era  digital  saat  ini,  teknologi  telah  memainkan peran  yang  sangat  penting  dalam  dunia  pendidikan. Perkembangan  sistem  eLearning  telah  memungkinkan mahasiswa dan peserta kursus untuk mengakses materi pembelajaran secara online, mengikuti kelas jarak jauh, dan  berinteraksi  dengan  pengajar  serta  sesama  peserta secara  virtual.  Salah  satu  platform  eLearning  yang populer  adalah  Moodle  [1],  yang  menyediakan lingkungan  pembelajaran  yang  komprehensif  dan interaktif dan dapat disesuaikan kebutuhan [2].
Namun, dalam lingkungan eLearning, tantangan utama yang dihadapi oleh pengguna adalah mengorganisir dan mengingat  jadwal  kuliah,  tugas,  dan  kegiatan  lainnya [3]. Keterbatasan ini dapat menyebabkan keterlambatan dalam menyelesaikan tugas dan mengelola waktu belajar dengan efisien [4]. Hal ini akan berdampak negatif pada prestasi akademik pengguna. Untuk mengatasi
tantangan  ini,  penting  untuk  mengimplementasikan sistem  reminder  jadwal  yang  efektif  dalam  platform eLearning  seperti  Moodle.  Sistem  reminder  jadwal  ini akan  membantu  pengguna  untuk  mengatur  jadwal kuliah,  tugas,  dan  kegiatan  lainnya  dengan  lebih  baik, sehingga mereka dapat mengelola waktu mereka secara efisien [4]. Oleh karena itu, penting untuk mengimplementasikan  mengintegrasikan  sistem  yang efektif  pada  platform  eLearning  seperti  Moodle  [5]. Sistem  ini  akan  membantu  pengguna  mengatur  jadwal kuliah  dan  tugas,  serta  memberikan  pengingat  yang relevan agar mereka dapat memanfaatkan waktu belajar secara optimal.
Penelitian  sebelumnya  telah  menunjukkan  manfaat sistem  reminder  jadwal  dalam  meningkatkan  kinerja akademik  dan  efisiensi  pengelolaan  waktu  belajar  [4] [6].  Sebagai  contoh,  studi  yang  dilakukan  sebelumnya menggunakan  peralatan  mobile  dan  email    [4]
menunjukkan  bahwa  penggunaan  sistem  reminder jadwal  dalam  platform  eLearning  dapat  membantu mahasiswa  dalam  mengatur  waktu  belajar  dan menyelesaikan tugas tepat waktu.
Dalam  konteks  ini,  penggunaan  framework  Flutter sebagai  alat  pengembangan  aplikasi  mobile  [7]  [8] memberikan  potensi  besar  untuk  meningkatkan pengalaman  pengguna  dalam  menggunakan  sistem reminder jadwal pada Moodle. Flutter adalah kerangka pengembangan  aplikasi  mobile  open-source  yang dikembangkan  oleh  Google.  Dengan  menggunakan Flutter,  pengembang  dapat  membangun  aplikasi  yang memiliki antarmuka pengguna menarik, responsive [9], dan dapat berjalan di berbagai platform [10]. Penelitian ini akan mengeksplorasi implementasi sistem reminder jadwal  pada  eLearning Moodle berbasis API menggunakan framework Flutter. Dengan mengintegrasikan  API  Moodle  [11]  ke  dalam  aplikasi Flutter, pengguna  akan  dapat  mengakses  jadwal  kuliah dan  tugas  mereka  secara  langsung  melalui  aplikasi mobile. Pengguna juga akan menerima pengingat jadwal yang  relevan  melalui  notifikasi  aplikasi  atau  pesan WhatsApp [12] [13].
Dengan  mengimplementasikan  sistem  reminder  jadwal pada  eLearning  Moodle  berbasis  API  menggunakan framework  Flutter,  diharapkan  penelitian  ini  dapat memberikan manfaat bagi pengguna dengan meningkatkan  efisiensi  pengelolaan  waktu  belajar  dan meningkatkan prestasi akademik mereka.

## 2. Metode Penelitian
Metode  pengembangan  yang  akan  digunakan  dalam penelitian  ini adalah  model  waterfall,  yang  merupakan pendekatan  linier  dan  berurutan  untuk  pengembangan perangkat lunak [14].
Tahap awal pengumpulan data adalah langkah strategis dalam  penelitian,  dengan  alasan  tujuan  utama  dari penelitian  ini  adalah  mendapatkan  data  mengungkap informasi kebutuhan awal dalam pengembangan. Objek penelitian  adalah  elearning  Politeknik  Negeri  Batam (Polibatam) dengan responden akademik dari mahasiswa  dengan  melakukan  wawancara  dan  survey kuesioner.  Penyebaran  kuesioner  ke  mahasiswa  untuk mendapatkan  informasi  tentang  keluhan-keluhan  atau alasan  mereka  selama  belajar  daring  menggunakan platform  elearning  Moodle  seperti  mengatur  waktu, mengorganisasi  kuliah,  melakukan  presensi  kehadiran ( attendance ),  memberikan  komentar  di  forum,  kuis, mengumpulkan tugas dan kegiatan lainnya yang ada di elearning  Moodle.  Diperoleh  sebanyak  100  mahasiswa dari kelas  regular  pagi  dan  karyawan malam  sebanyak 60  dan  40  mahasiswa.  Berikut  adalah  hasil  yang diperoleh disajikan dalam bentuk grafik.

## Gambar 1. Hasil Kuesioner Kegiatan eLearning
Gambar  1  menunjukkan  hasil  bahwa  permasalahan belajar  daring  menggunakan  platform  eLearning Moodle  didominasi  dari  penyakit  lupa  atau  tidak mengetahui  jadwal  belajar.  Kemudian  permasalahan jadwal  bentrok  pekerjaan/magang  karena  didominasi responden  dari  mahasiswa  kelas  karyawan  (kuliah sambil bekerja). Selain itu terkendala jaringan internet, ketiduran dan salah tempat mengumpulkan tugas.
Setelah mendapatkan feedback tersebut maka dilakukan tahap  perancangan  dan  ilustrasi  sistem  keseluruhan seperti  apa  sistem  yang  akan  dikembangkan.  Berikut merupakan  desain  sistem  reminder  jadwal  kuliah  yang akan dikembangkan.

## Gambar 2. Desain Sistem Reminder
Untuk  menggunakan  aplikasi  ini,  pengguna  perlu memasukkan  link  kalendar  dari  website  elearning Polibatam  ke  dalam  aplikasi.  Setelah  link  kalendar terhubung dengan aplikasi, sistem akan secara otomatis menambahkan  semua  jadwal  perkuliahan  ke  dalam jadwal pengguna.
Sistem ini akan  mengambil  informasi jadwal perkuliahan dari API Moodle yang ada pada e-learning Polibatam,  sehingga  pengguna  dapat  menerima pemberitahuan secara real-time tentang jadwal baru atau perubahan pada  jadwal yang ada.  Selain  itu,  sistem  ini juga  memiliki  fitur  notifikasi,  yaitu  pengingat  yang dapat  diatur  oleh  pengguna  sendiri  dan  pengingat otomatis  yang  akan  mengingatkan  pengguna  tentang tugas atau kegiatan tertentu yang akan datang.
Kebutuhan  perangkat  yang  digunakan  agar  aplikasi dapat berjalan dengan optimal disajikan pada Tabel 2.
Journal of Applied Computer Science and Technology (JACOST) Vol. 4 No. 1 (2022)
Tabel  1.Tabel  Spesifikasi Perangkat Hardware Smartphone Android 5 RAM 512 MB, Memori 4 GB Software Reminder.apk telah diinstall Jaringan Internet
Spesifikasi  perangkat  keras  dan  perangkat  lunak  pada table  1  merupakan  spesifikasi  minimal  untuk  sistem reminder yang akan dikembangkan.

## 3.   Hasil dan Pembahasan
Berikut  merupakan  hasil  perancangan  sistem  reminder yang  telah  dikembangkan  menggunakan  Framework Flutter.

## Gambar 3. Antar muka Sistem Reminder
Implementasi sistem menghasilkan 2 project yaitu Rest API  Node.js  sebagai  backend  dan  Flutter  sebagai frontend.  Database  (DBMS)  menggunakan  MySQL. Sistem akan melakukan  parsing data dari link kalender Moodle  elearning  Polibatam  ke  database  sistem reminder menggunakan kode berikut pada Flutter.
const respzone = await axios . get ( user [ index ]. link , { httpsAgent : new https . Agent ({ rejectUnauthorized : false }) }). catch ( async ( error ) => { if ( error ?. response ?. status == 503 && error ?. response ?. statusText ?. includes ( 'maint enance' )) { delayIfMaintenance = new Date ( new Date (). getTime () + 1 * 24 * 60 * 60 * 1000 ) } await updateLinkError ( error ?. response ?. statusText , user [ index ]. userId );
throw `User  ${user[index].userId}  Link
Error, Error : ${error?.response?.statusText}` })
if ( respone . data == 'Invalid authentication' ) {
await updateLinkError ( 'Invalid authentication' , user [ index ]. userId );
}
//parse ics data to json dengan library const parsed = ical . parseString ( respone . data );
//eksekusi insert atau update jadwal for ( let i = 0 ; i < parsed . events . length ; i ++) { const event = { eventId : parsed . events [ i ]. uid . value . split ( '@' )[ 0 ], matkulId : parsed . events [ i ]?. categories ?. value ?? '0' , eventName : parsed . events [ i ]. summary . value , eventDescription : parsed . events [ i ]. description . value , matkulName : '' , eventStart : parsed . events [ i ]. dtstart . value , eventEnd : parsed . events [ i ]. dtend . value , userId : user [ index ]. userId , date : new Date (), phone : user [ index ]. phone , fcm_token : user [ index ]. fcm_token , lastUpdated : parsed . events [ i ][ 'last- modified' ]
} //...Menyimpan jadwal }
Parsing  kode  untuk  mengkonversi  link  kalender elearning Polibatam menjadi jadwal untuk diintegrasikan  dalam  sistem  reminder  aplikasi  mobile. Kemudian  mengambil  list  jadwal  kegiatan  sesuai pengguna  elearning  yang  sedang  login.  Selebihnya aplikasi dapat dilihat pada Gambar 4.
Gambar 4. Hasil posting ke Google Playsotre ( https://play.google.com/store/apps/details?id=com.mypfour.ereminder )
Untuk  melihat  kinerja,  penelitian  ini  akan  menguji menggunakan  black-box  testing  dan  performa  uji komputasi dari API menggunakan Firebase Test Lab dan dan menguji performa aplikasi menggunakan perangkat mobile tertentu.
Tabel  2.Tabel BlackBox Testing Input Output Keterangan Pengguna mengisi input nomor whatsapp  dihalaman login,  dan  menekan tombol kirim kode. • Pesan kode terkirim ke nomor Whatsapp pengguna
Berhasil
Pengguna mengisi input kode sesuai yang dikirim di nomor whatsapp pengguna. • Pengguna diarahkan ke halaman tutorial jika pengguna baru dan ke halaman overview jika sudah terhubung ke e- learning
• Pesan kode salah ditampilkan jika pengguna memasukkan kode yang salah Berhasil Berhasil Pengguna mengisi input tanggal dan waktu, judul, dan
deskripsi  jadwal,  lalu menekan tombol buat jadwal • Pesan berhasil ditampilkan
• Pesan tidak bisa
membuat jadwal ditampilkan jika pengguna membuat jadwal dengan tanggal dibawah tanggal sekarang Berhasil Berhasil
Pengguna menekan
tombol hapus jadwal • Menampilkan pesan sukses Berhasil Pengguna  mengubah data akun seperti username dan link • Menampilkan pesan sukses • Menampilkan atau mengupdate otomatis jadwal yang ada di e- learning ketika mengubah link Berhasil Berhasil Pengguna mengisi
form  hubungkan    e- learning dan menekan hubungkan • Menampilkan pesan sukses Berhasil Pengguna menekan tombol logout • Pengguna dialihkan ke halaman login Berhasil
Tabel 2 menunjukkan keberhasilan dari pengujian black box  sesuai  dengan  skema  kebutuhan  sistem  yang dikembangkan. Selanjutnya melakukan uji menggunakan  Firebase  Test  Lab  ditunjukkan  pada Gambar 5.
Gambar 5. Perangkat yang diset Uji Firebase
Dari hasil test pada Gambar 5 dan 6 menunjukkan bahwa dari  5  perangkat  yang  beragam  dengan  versi  sistem operasi Android diujikan secara virtual telah dijalankan melewati  uji  ( passed )  artinya  pengujian  interaksi, navigasi  antarmuka,  input  dan  output  telah  bekerja secara baik.

## Gambar 6. Detail Uji dari Perangkat Redmi 6A
Dari hasil uji diatas, waktu untuk memulai menjalankan sistem  dapat  memakan  waktu  1  detik  650  milidetik. Dimana  performa  aplikasi  dinilai  sudah  cukup  baik merujuk  dari  sumber  bahwa,  sistem  harus  mampu menargetkan  waktu  menjalankan  aplikasi  1.5-2  detik [15].  Kemudian  melakukan  pengujian  performa komputasi dari perangkat mobile yang digunakan untuk melihat penggunaan sumber dayanya.

## Gambar 7. Penggunaan Sumber Daya Perangkat Redmi 6A
Gambar  7  menunjukkan  bahwa,  penggunaan  CPU memakan  rata-rata  mencapai  20%.  Sedangkan  untuk bagian grafis aplikasi dapat dijalankan dengan 55 sampai 60  FPS  ( Frame  Per  Second )  setelah  waktu  memulai aplikasi  selesai.  Kemudian  untuk  penggunaan  RAM, aplikasi  reminder  memakan  paling  tinggi  161.532  KB atau  sekitar  161  MB.  Sehingga  dapat  disimpulkan  dari penggunaan  sumber  daya  dari  aplikasi  reminder  tidak terlalu memakan banyak resource dan performa aplikasi dapat  stabil  di  beberapa  perangkat  yang  memiliki spesifikasi minimal (rendah).

## 4.   Kesimpulan
Berdasarkan  hasil  penelitian  perancangan  yang  telah dilakukan,  dapat  disimpulkan  bahwa  implementasi sistem reminder menggunakan framework Flutter telah berhasil  dikembangkan  sehingga  diharapkan  menjadi alternative  dalam memberikan  solusi  kepada  pengguna elearning dan akademik terutama mahasiswa agar dapat
Journal of Applied Computer Science and Technology (JACOST) Vol. 4 No. 1 (2022)
mengorganisir kegiatan belajar pada platform elearning. Hasil uji performa aplikasi menunjukkan dapat berjalan pada  berbagai  perangkat  dan  sistem  operasi  Android. Terutama pada perangkat mobile Redmi 6A menunjukkan  implementasi running  time dibawah  2 detik  dengan  penggunaan  sumber  daya  CPU  rata-rata mencapai 20%, grafis 55-60 fps dan penggunaan RAM mencapai 161 MB, sehingga disimpulkan implementasi aplikasi  reminder  tidak  terlalu  memakan  banyak resource dengan spesifikasi minimal.

## Daftar Rujukan
[1] P.  Campanella,  “LMS:  Benchmarking  ATutor,  Moodle  and Docebo,” in 2022 20th International Conference on Emerging eLearning Technologies and Applications (ICETA) , IEEE, 2022, pp. 85–90.
[2] Y.-C.  Chang,  J.-W.  Li,  and  D.-Y.  Huang,  “A  personalized learning service compatible with moodle e-learning management system,” Appl. Sci. , vol. 12, no. 7, p. 3562, 2022.
[3] H. Athaya, R. D. A. Nadir, D. Indra Sensuse, K. Kautsarina, and R.  R.  Suryono,  “Moodle  Implementation  for  E-Learning:  A Systematic  Review,”  in 6th  International  Conference  on Sustainable  Information  Engineering  and  Technology  2021 , 2021, pp. 106–112.
[4] C.-H.  Lai,  B.-S.  Jong,  Y.-T.  Hsia,  and  T.-W.  Lin,  “Using reminder tools to increase learning motivation: A comparison of mobile devices, email and e-learning platforms,” 2020.
[5] L.  L.  S.  Gee,  “Integrating  Design  Features  for  E-Learning Platforms,” in Proceedings , MDPI, 2022, p. 23.
[6] C. De  Medio, C. Limongelli, F. Sciarrone, and  M. Temperini,
“MoodleREC:  A  recommendation  system  for  creating  courses using the moodle e-learning platform,” Comput. Hum.  Behav. , vol. 104, p. 106168, 2020.
[7] D. E. Kurniawan and A. Algazali, Mobile Programming: Praktik
Membuat Aplikasi Android . Media Sains Indonesia, 2022.
[8] D. E. Kurniawan, I. Muslim, M. Raihan, A. P. Putra, and P. A. Yusuf, MOBILE PROGRAMMING : Praktik Membuat Aplikasi Berbasis QR Code dan NFC . Media Sains Indonesia, 2020.
[9] D. E. Kurniawan, B. F. Alamandha, N. F. Ramadhani, M. Raffi, and  R.  Erviani, Responsive  Web  Design:  Praktik  Membuat Aplikasi Produk Lokal . Media Sains Indonesia, 2021.
[10]  O.  M.  AL-atraqchi,  “A  Proposed  Model  for  Build  a  Secure Restful  API  to  Connect  between  Server  Side  and  Mobile Application  Using  Laravel  Framework  with  Flutter  Toolkits,” Cihan Univ.-Erbil Sci. J. , vol. 6, no. 2, pp. 28–35, 2022.
[11]  N.  A.  Prasetyo  and  Y.  Saintika,  “Integration  between  Moodle and Academic Information System using Restful API for Online Learning,” J.  Ilm.  Tek.  Elektro  Komput.  Dan  Inform.  JITEKI , vol. 7, no. 2, pp. 358–367, 2021.
[12]  A. Hassan, I. N. Mseer, A. A. M. Omran, A. M. M. Al-Sartawi, and A. M. Y. Sarea, “WhatsApp as a source of e-learning during corona  virus  pandemic,”  in Advanced  Machine  Learning Technologies  and  Applications:  Proceedings  of  AMLTA  2021 , Springer, 2021, pp. 77–91.
[13]  D.  E.  Kurniawan,  M.  Iqbal,  J.  Friadi,  R.  I.  Borman,  and  R. Rinaldi,  “Smart  monitoring  temperature  and  humidity  of  the room server using raspberry pi and whatsapp notifications,” in Journal of Physics: Conference Series , IOP Publishing, 2019, p. 012006.
[14]  N. Z. Janah, Y. Rokhayati, D. E. Kurniawan, and M. F. Muvariz, “Electronic School Books Dissemination Application for Batam Hinterland Schools,” Adv. Sci. Lett. , vol. 24, no. 12, pp. 9739– 9744, Dec. 2018, doi: 10.1166/asl.2018.13128.
[15]  K.  Chauhan,  S.  Kumar,  D.  Sethia,  and  M.  N.  Alam, “Performance  Analysis  of  Kotlin  Coroutines  on  Android  in  a Model-View-Intent  Architecture  pattern,”  in 2021  2nd International  Conference  for  Emerging  Technology  (INCET) , IEEE, 2021, pp. 1–6.