SKRIPSI IMPLEMENTASI PUSH NOTIFICATION SCHEDULER PADA FIREBASE CLOUD MESSAGING UNTUK APLIKASI PENGINGAT KEGIATAN ORGANISASI MENGGUNAKAN FLUTTER BERBASIS MOBILE RIFQI DARMAWAN Nomor Mahasiswa : 155410125 PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AKAKOM YOGYAKARTA 2019
FIREBASE CLOUD MESSAGING UNTUK APLIKASI PENGINGAT
KEGIATAN ORGANISASI MENGGUNAKAN FLUTTER BERBASIS
MOBILE
AKAKOM
YOGYAKARTA
2019
i
SKRIPSI
FIREBASE CLOUD MESSAGING UNTUK APLIKASI PENGINGAT
KEGIATAN ORGANISASI MENGGUNAKAN FLUTTER BERBASIS
MOBILE
Diajukan sebagai salah satu syarat untuk memperoleh gelar Sarjana
Komputer
Studi Teknik Informatika
Akakom Yogyakarta
Disusun Oleh:
RIFQI DARMAWAN
SKRIPSI ini saya persembahkan untuk:
Allah SWT atas segala limpahan karunia yang telah Ia berikan,
sehingga
SKRIPSI ini dapat diselesaikan dengan baik.
Orang Tua yang selalu mendoakan, memberi semangat, menyayangi
dan
mencintai saya sepenuh hati serta meridhoi segala sesuatu yang
saya
kerjakan.
Dosen Pembimbing Pak Pius Dian Widi Anggoro S.Si., M.Cs. yang
selalu mendukung dan memberikan semangat selama proses
penyelesaian
skripsi ini.
membantu, mendukung, dan memberi semangat kepada saya.
v
MOTTO
"I’ve always believed in one phrase… and my entire life… has
always
proven this phrase… in this world… nothing is impossible!" Ni
Tian Xie Shen
"Never give up. Today is hard, tomorrow will be worse, but the
day
after tomorrow will be sunshine." Jack Ma
"It's ineffective to deal with many problems at once."
Hishiro
Chizuru
vi
INTISARI
komputer/notebook, dan memo pada telepon seluler sebagai alat
pengingat atau
sebagai alat pencatat kebutuhan sehari-hari. Seseorang biasanya
mencatat agenda
pada suatu buku khusus untuk meng agendakan suatu hal yang penting,
misalnya
rapat. Tetapi pencatatan memo pada bentuk kertas sangat kurang
efektif sebagai
alat pengingat, karena selain kertas itu tipis kertas juga mudah
hilang, sobek,
maupun basah. Sedangkan untuk aplikasi memo pada smartphone
biasanya hanya
mencantumkan kegiatan atau janji saja, sangat jarang yang memiliki
fitur seperti
reminder dalam bentuk notifikasi. Atau jika dalam suatu organisasi
akan melakukan
kegiatan biasanya akan diumumkan ke anggota nya melalui lisan,
surat, ataupun
sosial media saja sehingga risiko untuk lupa sangat besar karena
biasanya hanya
diumumkan sekali saja. Oleh karena itu sangat diperlukan aplikasi
yang bisa
menyajikan catatan sekaligus reminder sebagai fitur untuk memberi
notifikasi
kepada seseorang.
keperluan pemberitahuan melalui pesan pendek yang ada di
smartphone. Dengan
adanya layanan Push Notification tersebut, pengguna dapat terbantu
dalam hal yang
bersifat pemberitahuan secara singkat. Pada implementasinya Push
Notification
dapat dimanfaatkan dalam berbagai keperluan sehari-hari misalnya
untuk
monitoring absensi, update berita terbaru, dan sebagainya.
Berdasarkan masalah tersebut maka penulis membuat dan meneliti
aplikasi
Pengingat Kegiatan Organisasi yang dibangun diatas platform android
dengan
menggunakan SDK Flutter yang mengimplementasikan Cron Job pada
Firebase
Cloud Messaging untuk scheduler, yang diharapkan dapat mempermudah
dan
bermanfaat bagi pengurus organisasi dalam menyampaikan informasi ke
anggota.
Kata Kunci : Android, Cron Job, Firebase Cloud Messaging, Flutter,
Reminder.
vii
Skripsi dengan judul “Implementasi Push Notification Scheduler pada
Firebase
Cloud Messaging untuk Aplikasi Pengingat Kegiatan Organisasi
Menggunakan
Flutter Berbasis Mobile”. Laporan Skripsi ini disusun untuk
memenuhi salah satu
syarat dalam memperoleh gelar Sarjana Komputer pada Sekolah Tinggi
Manajemen
Informatika dan Komputer Yogyakarta.
Dengan melakukan penelitian dan penyusunan Tugas Akhir ini penulis
telah
mendapatkan banyak dukungan dan bantuan dari berbagai pihak.
Penulis
mengucapkan terima kasih yang tak terhingga kepada:
1. Allah SWT yang telah memberikan ridho, bimbingan , berkah ,
rahmat , hidayah
dan inayah kepada penulis selama melakukan penelitian dan menyusun
laporan
skripsi ini.
2. Keluarga tercinta, Ayah, Ibu dan saudara yang selalu mendukung
dalam
menyelesaikan Skripsi ini.
3. Terima kasih untuk seluruh teman-teman yang telah membantu
kelancaran
pembuatan Skripsi, Terima kasih atas bantuan dan kerjasamanya
selama ini.
4. Ir.Totok Suprawoto., MM., MT, selaku Ketua Sekolah Tinggi
Manajemen
Informatika dan Komputer yang telah berkenan memberikan izin
dalam
pembuatan skripsi ini.
viii
5. Dini fakta Sari S.T., M.T, selaku Ketua Program Studi Strata 1
Teknik
Informatika Sekolah Tinggi Manajemen Informatika dan Komputer
pembimbing
yang telah berkenan memberikan izin untuk mengikuti ujian skripsi
ini.
6. Pius Dian Widi Anggoro S.Si., M.Cs. selaku dosen pembimbing yang
telah
berkenan memberikan izin untuk mengikuti ujian skripsi ini dan yang
telah penuh
kesabaran dan ketulusan memberikan ilmu dan bimbingan terbaik
kepada
penulis.
7. Para dosen Program Studi Strata 1 Teknik Informatika Sekolah
Tinggi
Manajemen Informatika dan Komputer yang telah memberikan bekal ilmu
kepada
penulis.
Penulis menyadari sepenuhnya bahwa laporan skripsi ini masih jauh
dari
sempurna. Untuk itu, semua jenis saran, kritik dan masukkan yang
bersifat
membangun sangat penulis harapkan. Akhir kata, semoga tulisan ini
dapat
memberikan manfaat dan memberikan wawasan tambahan bagi pembaca
dan
khususnya bagi penulis sendiri.
2.1 Tinjauan Pustaka
......................................................................................
7
2.2 Dasar Teori
.............................................................................................
11
2.1.5 Push Notification
.............................................................................
13
2.1.6 Android Studio
................................................................................
13
2.1.7 Cron Job
..........................................................................................
14
2.1.8 RESTful API
...................................................................................
14
3.3 Perancangan Sistem
................................................................................
18
3.3.1 Usecase Diagram
.............................................................................
18
3.3.2 Sequence Diagram
..........................................................................
19
3.3.3 Activity Diagram
.............................................................................
22
3.3.4 Class Diagram
.................................................................................
25
BAB IV IMPLEMENTASI DAN PEMBAHASAN SISTEM
............................. 31
4.1 Implementasi dan Uji Coba Sistem
........................................................ 31
4.1.1 Kode Program Authentication Menggunakan Google
.................... 31
4.1.2 Kode Program Authentication Menggunakan Anonymous
............ 32
4.1.3 Kode Program Menyimpan Data Pesan
.......................................... 32
4.1.4 Kode Program Cron Job Scheduling Setiap 1 Menit Sekali
........... 33
4.1.5 Kode Program Menampilkan Pesan
................................................ 33
4.1.6 Kode Program Untuk Dapat Menerima Notifikasi
......................... 33
4.2 Pembahasan
............................................................................................
34
4.2.6 Tampilan Daftar
Kehadiran.............................................................
39
Gambar 3.1 Desain Sistem Keseluruhan
...............................................................
15
Gambar 3.2 Usecase Aplikasi
...............................................................................
18
Gambar 3.3 Sequence Diagram Membuat Grup
................................................... 19
Gambar 3.4 Sequence Diagram Membuat Pesan Notifikasi
................................. 20
Gambar 3.5 Sequence Diagram Timeline
.............................................................
21
Gambar 3.6 Activity Diagram Authentication
...................................................... 22
Gambar 3.7 Activity Diagram Timeline
...............................................................
23
Gambar 3.8 Activity Diagram Membuat Pesan
.................................................... 24
Gambar 3.9 Class Diagram
...................................................................................
25
Gambar 3.10 Rancangan Halaman Home/Timeline
............................................. 26
Gambar 3.11 Rancangan Detail Pesan
..................................................................
26
Gambar 3.12 Rancangan Alasan Ketidakhadiran
................................................. 27
Gambar 3.13 Rancangan Halaman Grup
..............................................................
27
Gambar 3.14 Rancangan Membuat Grup (Menambah Anggota)
......................... 28
Gambar 3.15 Rancangan Membuat Grup (Mengatur Nama Grup dan Foto
Grup)
...............................................................................................................................
28
Gambar 3. 18 Rancangan Tampilan Notifikasi
..................................................... 30
Gambar 4.1 Kode Program Authentication Menggunakan Google
...................... 31
Gambar 4.2 Kode Program Authentication Menggunakan Anonymous
.............. 32
Gambar 4.3 Kode Program Menyimpan Data Pesan
............................................ 32
Gambar 4.4 Kode Program Cron Job Scheduling Setiap 1 Menit Sekali
............. 33
Gambar 4.5 Kode Program Menampilkan Pesan
.................................................. 33
Gambar 4.6 Kode Program Untuk Dapat Menerima Notifikasi
........................... 34
Gambar 4.7 Tampilan Sign In
...............................................................................
34
Gambar 4.8 Tampilan Sign Up
.............................................................................
35
xii
Gambar 4.10 Tampilan Isi Grup
...........................................................................
36
Gambar 4.11 Tampilan Daftar Pesan
....................................................................
37
Gambar 4.12 Tampilan Menambah Pesan
............................................................
38
Gambar 4.13 Tampilan Daftar Kehadiran
.............................................................
39
Gambar 4.14 Tampilan
Notifikasi.........................................................................
40
Tabel 4.1 Pengujian Kecepatan Penerimaan Notifikasi Berdasarkan
Perangkat .. 44
Tabel 4.2 Pengujian Kecepatan Penerimaan Notifikasi Berdasarkan
Jaringan .... 44
Tabel 4.3 Pengujian Penerimaan Notifikasi Setelah Dalam Kondisi
Online Dari
Offline
...................................................................................................................
45