RANCANG BANGUN APLIKASI CLOUD STORAGE DENGAN ANGGULAR DAN FIREBASE BERBASIS ANDROID
Fathurrahman Kurniawan Ikhsan #1 , Fatimah Fahurian *2 , Aliy Hafiz #3
Fakultas Komputer Universitas Mitra Indonesia Jln. Z.A. Pagar Alam No.07 Gedongmeneng Bandar Lampung 35142 Telp. (0721) 701418 Fax.(0721) 788960 Web. www.umitra.ac.id 1 Fathurrahman@umitra.ac.id
2 fatimah_fahurian@umitra.ac.id
AMIK Dian Cipta Cendikia 3 hafizdahsyat@gmail.ac.id Handphone: 0822- 8214 – 7037

## Abstrak
Cloud storage is a development of cloud-based data storage, then Firebase provides services, one of which  is  Firebase  storage,  which  is  one  of  the  technologies  in  the  field.  Cloud  storage  technology  allows Android users to store data without requiring physical storage, specifically for Android users themselves the use of cloud storage will be very useful as an alternative storage media or backup  media so that data is not easily lost. The design of cloud storage applications using Android-based firebase was developed beginning with  analyzing  needs,  designing  the  appearance  of  applications,  building  applications,  inputting  program code, and testing applications. Output results to be achieved are the generation of cloud storage applications that  can  store  various  types  of  file  extensions,  are  easy  to  use,  and  can  run  well  on  the  Android  platform. From this research, the results are obtained: first Cloud Storage technology is very useful as a data storage medium  so  that  data  is  not  easily  lost,  secondly  making  an  Android  application  with  Angular  can  be  built with Cordova to run on the Android platform, thirdly Firebase has many features and services that can be used in the development of android applications, one of which is firebase storage.
Kata kunci : cloud storage, , Firebase, aplikasi android,Angular, Cordova Keywords: cloud storage, android app, Firebase, Angular,Cordova

## 1. Pendahuluan

## 1.1 Latar belakang
Saat ini, layanan penyimpanan data berbasis internet  atau  disebut cloud menjadi  tren  teknologi global.  Pemanfaatan Internet  of  Things (IoT), big data dan advanced  analytics ini  membuat penggunaan  dan  kebutuhan  penyimpanan  data semakin  meningkat. Cloud yang  menawarkan skalabilitas  tanpa  batas  menjadi  sangat  diandalkan. Cloud storage merupakan perkembangan  teknologi penyimpanan  data  berbasis  awan,  lalu Firebase yang  menyediakan  berbagai  macam  layanan  salah satunya  yaitu Firebase  storage ,  yang  merupakan salah satu teknologi dalam bidang tersebut. Dengan teknologi cloud  storage pengguna  android  dapat melakukan  penyimpanan  data  tanpa  memerlukan penyimpanan fisik, khusus untuk pengguna android sendiri  penggunaan cloud  storage akan  sangat berguna  sebagai  media  penyimpanan  alternatif ataupun  media backup agar  data  tidak  mudah hilang.  Penggunaan cloud  storage juga  dapat membantu pengguna android yang tidak memiliki
dukungan  kartu  memori  dan USB  On  The  Go (OTG).

## 1.2 Tujuan Penelitan
Tujuan  yang  hendak  dicapai  dalam  penelitian ini antara lain:
1. Memberikan  alternatif  media  penyimpanan dengan  memanfaatkan  salah  satu  layanan Firebase yaitu Firebase Storage .
2. Mempermudah  pengguna  android  dalam proses backup  data dengan  memanfaatkan layanan Firebase Storage .

## 1.3 Manfaat Penelitian
Dari      penelitian      yang      dilakukan,      diharapkan dapat   mempunyai   manfaat sebagai berikut:

## 1.3.1 Manfaat Teoritis
Penelitian  ini  diharapkan  dapat  memberikan sumbangan  pemikiran  yang  cukup  signifikan
sebagai  masukan  pengetahuan  atau  literatur  ilmiah yang  dapat  dijadikan  bahan  kajian  bagi  para  insan akademik yang sedang mempelajari ilmu teknologi, khususnya  mengenai  pembuatan  aplikasi cloud storage berbasis  android  sederhana  dengan memanfaatkan layanan Firebase Storage .
1.3.2 Manfaat Praktis
1. Hasil penelitian ini secara praktis diharapkan dapat  menyumbangkan  pemikiran  terhadap pemecahan  masalah  yang  berkaitan  dengan keterbatasan  kapasitas  penyimpanan  fisik
dengan memanfaatkan sistem Cloud
Storage . 2. Hasil  penelitian  ini  diharapkan  menjadi acuan  bagi  calon  pengembang  aplikasi android agar dapat mengembangkan layanan Firebase dalam aplikasi yang akan dibuat.

## 2. Tinjauan Pustaka

## 2.1 Pengertian  Aplikasi
Aplikasi  atau  perangkat  lunak  ( Software ) merupakan bagian yang tidak terpisahkan dari suatu sistem  komputer,  disamping  keberadaan  pengguna ( Brainware ),  perangkat  keras  ( Hardware )  dan jaringan  ( Networking ).  Jika  dilihat  dari  lingkungan pengembangannya,  aplikasi  dapat  dibagi  menjadi aplikasi berbasis dekstop, aplikasi berbasis web dan aplikasi berbasis mobile . (Prasetya, 2013)
2.2 Penyimpanan Awan (Cloud Storage)
C loud  storage merupakan  sebuah  aplikasi media penyimpanan awan yang berasal dari konsep komputasi  awan,  dimana  dengan  memanfaatkan teknologi  ini  dapat  meningkatkan  popularitas  tidak hanya  bagi  sebuah  organisasi  tetapi  juga  kinerja individu.  Lebih  lanjut,  Rajan  and  Shanmugapriyaa [2]  menyatakan  bahwa  teknologi  ini  menyediakan ruang  penyimpanan  yang  cukup  besar  untuk  dapat digunakan dalam penyimpanan data/dokumen yang kita  miliki  serta  memberikan  manfaat  terhadap akses  data/dokumen  kita  secara  mudah  dari  mana dan  kapan  saja.  Saat  ini  ada  beberapa  teknologi penyimpanan  awan  yang  dikembangkan  meliputi Google  Drive,  Dropbox,  Onedrive (sebelumnya SkyDrive ), Box , dan lain-lain . (Gunadham, 2015)
2.3 Firebase
Firebase dianggap  sebagai platform aplikasi web . Itu  membantu  pengembang  membuat  aplikasi berkualitas  tinggi.  Ini  menyimpan  data  di Format JavaScript  Object  Notation (JSON)  yang  tidak digunakan permintaan untuk memasukkan, memperbarui,  menghapus  atau  menambahkan  data ke  dalamnya.  Ini backend dari  sistem  yang
digunakan sebagai database untuk menyimpan data [4]. Layanan yang tersedia adalah:
1. Analisis Firebase
Ini  memberikan  wawasan  tentang  penggunaan aplikasi.  Ini  adalah  aplikasi  berbayar  solusi pengukuran yang juga menyediakan keterlibatan pengguna Fitur unik ini memungkinkan pengembang aplikasi untuk memahami bagaimana pengguna menggunakan aplikasi ini. SDK  memiliki  fitur  menangkap  acara  dan properti  sendiri  dan  juga  memungkinkan mendapatkan data khusus.
2. Firebase Cloud Messaging (FCM)
Ini  sebelumnya  dikenal  sebagai Google  Clouds Messaging (GCM),  FCM  adalah  layanan berbayar  yang  merupakan solusi lintas platform untuk  pesan  dan  pemberitahuan  untuk Android , Aplikasi Web , dan IOS.
3. Firebase Auth Firebase Auth mendukung penyedia login sosial seperti  Facebook,  Google  GitHub,  dan  Twitter. Ini  adalah  layanan  yang  bias  mengautentikasi pengguna  yang  hanya  menggunakan  kode  sisi klien  dan  berbayar  layanan.  Ini  juga  mencakup sistem manajemen pengguna di mana pengembang  dapat  mengaktifkan  otentikasi pengguna  dengan  email  dan  kata  sandi  masuk disimpan dengan Firebase . 4. Basis Data Real-time Firebase menyediakan  layanan  seperti  basis data  waktu  nyata  dan backend .  API  disediakan untuk pengembang aplikasi yang
memungkinkan data aplikasi disinkronkan klien dan  disimpan  di Cloud  Firebase .  Pustaka  klien adalah  disediakan  oleh  perusahaan  yang memungkinkan integrasi dengan Aplikasi Android, iOS, dan JavaScript.
5. Penyimpanan Firebase Ini  memfasilitasi  transfer file yang  mudah  dan aman  terlepas  dari  jaringan  kualitas  untuk aplikasi Firebase .  Ini  didukung  oleh Google Cloud Penyimpanan  yang  merupakan  layanan penyimpanan  objek  yang  hemat  biaya.  Itu pengembang  dapat  menggunakannya  untuk menyimpan  gambar,  audio,  video,  atau  lainnya konten yang dibuat pengguna.
6. Firebase Test Lab untuk Android
Ini  menyediakan  infrastruktur  berbasis  cloud untuk  menguji  Android  aplikasi.  Dengan  satu operasi,  pengembang  dapat  memulai  pengujian aplikasi  mereka  di  berbagai  perangkat  dan perangkat konfigurasi. Berbagai hasil tes seperti tangkapan  layar,  video  dan log tersedia  di Firebase  console .  Bahkan  jika  pengembang belum  menulis  kode  uji  apa  pun  untuk  aplikasi mereka, Test  Lab dapat  berolahraga  aplikasi secara otomatis, mencari crash .
7. Pelaporan Kecelakaan Firebase Laporan  terperinci  dari  kesalahan  dibuat  di aplikasi. Itu kesalahan dikelompokkan ke dalam kelompok  jejak  tumpukan  yang  mirip  dan triaged oleh  keparahan.  Fitur  lainnya  adalah: pengembang dapat mencatat acara khusus untuk membantu menangkap langkah menuju jatuh.
8. Pemberitahuan Firebase Ini  memungkinkan  pemberitahuan  pengguna yang ditargetkan untuk aplikasi seluler pengembang dan layanan tersedia secara bebas.

## 2.4 Angular
AngularJS  adalah  kerangka  kerja  aplikasi web open-source yang digunakan dalam mengembangkan  aplikasi  satu  halaman  sementara Apache  Cordova  memungkinkan  pengembang membangun aplikasi seluler menggunakan Javascript, CSS dan HTML alih-alih  menggunakan platform  seperti  antarmuka  pemrograman  aplikasi tertentu  (API  ’)  yang  ada  di  iOS,  Android  atau Windows  Phone.  Kerangka  ionik  adalah  kit pengembangan  perangkat  lunak  sumber  terbuka yang  digunakan  di  untuk  membuat  aplikasi  seluler hybrid.  Itu  dibangun  menggunakan  AngularJS  dan Apache Cordova. (A Gupta, 2016)
Angular  2  adalah  iterasi  selanjutnya  dari AngularJS  Framework.  Angular  2  Framework menjanjikan kinerja yang lebih baik dan menggunakan  bahasa  pemrograman  TypeScript untuk pemrograman yang aman. Sementara Apache Cordova  memungkinkan  pengembang  membuat aplikasi  mobile  menggunakan  JavaScript,  CSS  dan HTML daripada menggunakan platform antarmuka pemrograman aplikasi spesifik (APIs ') seperti yang ada  di  iOS,  Android  atau  Windows  Phone.  Ionic Framework  adalah  kit  pengembangan  perangkat lunak  open  source  yang  digunakan  di  untuk membuat  aplikasi mobile hybrid. Dibangun dengan menggunakan  AngularJS  dan  Apache  Cordova. Ionic  menyediakan  pengguna  dengan  semua komponen,  peralatan  dan  fungsi  yang  digunakan dalam  pengembangan  seluler  asli  -  perangkat pengembangan perangkat lunak (SDKs). Pengembang  bisa  mendesain  Aplikasi  mereka menggunakan alat dan kode contoh yang disediakan oleh dokumentasi kerangka kerja dan bantuan situs web.  Instalasi  itu  membutuhkan  NodeJS  dan  npm yaitu  pengelola  paket  bawaan  untuk  NodeJS, terlepas  dari  Windows,  lingkungan  Linux  atau Macintosh.  (DEWANTI  &  GUNA  PERMANA, 2017)

## 3. Metode Penelitian
3.1
Metode Pengembangan Sistem
Metode
pengembangan sistem yaitu waterfall . Metode air terjun ( Waterfall ) sering juga disebut  model  sekuensial  linier  ( sequential  linear )
atau alur hidup klasik ( classic life cycle ). Model air terjun  menyediakan  pendekatan  alur  hidup  terurut mulai  dari  analisis,  desain,  pembuatan  kode program,  pengujian,  dan  pendukung  ( support )  atau pemeliharaan ( maintenance ). (Sukamto, 2013)
Analisis kebutuhan Desain Pembuatan kode program Pengujian
Gambar 1. Metode Pengembangan Sistem Waterfall

## 3.2 Metode Perancangan Sistem
Perancangan  sistem  menggunakan  UML ( Unifed  Modeling  Language ),  Use  Case  dan Activity Diagram.

## 4. Pembahasan dan Hasil
4.1 Pembahasan
Aplikasi Cloud  Storage Menggunakan Firebase Berbasis  Android  adalah  aplikasi  yang dibuat  sebagai  media  penyimpanan  alternatif  bagi para  pengguna  android Entry-Level .  Aplikasi  ini dibuat  dengan  menggunakan  bahasa  pemrograman typescript.  Pembuatan  aplikasi  ini  menggunakan Angular yaitu sebuah platform untuk mengembangkan front – end dari sebuah aplikasi web berbasis open  source  yang  terhubung dengan  layanan  firebase  storage . Build Apk menggunakan  Cordova, dan dibantu dengan Visual Studio  Code , Cmder , serta  android  Pie  9.0  (API level 28) sebagai alat bantu dalam mengembangkan aplikasi ini.
use case aplikasi cloud storage menggunakan firebase berbasis  android  dapat dilihat pada gambar.
User Download File Delete File Upload File List of Files
Rancangan  UML Activity  Diagram pada aplikasi cloud storage menggunakan firebase.
Activity Diagram File Upload
User System P ha se Membuka Aplikasi Memilih file Mengupload file Menyimpan
dalam firebase storage
Menampilkan file yang berhasil diupload dalam list
Gambar 3. Activity Diagram File Upload

## Activity Diagram Download File
User System P ha se Membuka Aplikasi Melihat list Memilih file yang akan didownload Mendownload
fille
Gambar 4. Activity Diagram Download File
Activity Diagram Delete File
User System P ha se Membuka Aplikasi Melihat list Memilih file yang akan dihapus
Menghapus File dari firebase storage

## Gambar 5 . Activity Diagram Delete File
Perancangan  antarmuka  merupakan  proses penggambaran bagaimana sebuah tampilan ( interface ) dibentuk.  Aplikasi ini dirancang dengan tampilan  yang user  friendly, sehingga  diharapkan dapat  mempermudah  dalam  penggunaan  aplikasi ini.

## Title
Logo Description File name Choose File Upload List of files List 1 List 2
List 3 Dst.
Delete Delete Delete
Gambar 6. Rancangan Antarmuka Aplikasi
Implementasi
sistem/aplikasi,
peneliti menggunakan Cmder dan Visual Studio Code yang digunakan untuk menginput kode program. Pembuatan  aplikasi  diawali  dengan  menginstall Node.js,  Angular  cli,  Android  JDK,  Android  SDK tools dan  Cordova.  Setelah  semua  sudah  selesai diinstall  dan  terdeteksi  dengan  benar,  peneliti membuat Angular project dengan mengetikan pada command  line “ng  new  <nama project /aplikasi>”. Berikut  beberapa  gambar  penginputan  kode  dalam workspace yang sebelumnya telah dibuat.
Gambar 7. Kode Program Pada details- upload.component.ts
Gambar 8. Kode Program Pada form- upload.component.html
Gambar 9 . Kode Program pada list- upload.component.ts
Gambar 10 . Kode Program pada app.component.html
Untuk  dapat  terhubung  dengan  layanan firebase  dibutuhkan firebaseConfig .  Penempatan firebaseConfig berada pada src/app/environments/environment.ts export const environment = { producion: false, firebase: {
apiKey:  "  your  web  app’s Firebase configuration ", authDomain: " ",
databaseURL: " ", projectId: " ", storageBucket: " ", messagingSenderId: " ", appId: "" } }; Gambar 11. firebaseConfig Setelah
perangkat lunak selesai diimplementasikan, pengujian dapat segera dimulai. Pengujian  terlebih  dahulu  dilakukan  pada  setiap fungsi  yang  terdapat  dalam  aplikasi.  Jika  setiap fungsi  dan  prosedur  tersebut  selesai  diuji  dan terbukti  tidak  bermasalah,  maka  dapat  segera diintegrasikan  dan  dikompilasi  menjadi  sebuah perangkat lunak yang utuh. Pada command line “ng serve  <project>” atau “ng  s  <project>”, maka akan  menampilkan Live  Development  Server. Pada tampilan cli akan terlihat seperti ini:
D:\***********-AngularProject>ng serve
**  Angular  Live  Development  Server  is
listening  on  localhost:4200,  open  your  browser  on http://localhost:4200/ **
Date: 2019-09-04T03:44:38.464Z Hash: 1ede71022582b213d5e3 Time: 28979ms chunk  {main}  main.js,  main.js.map  (main) 31 kB [initial] [rendered] chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 241 kB [initial] [rendered]
chunk  {runtime}  runtime.js,  runtime.js.map (runtime) 6.22 kB [entry] [rendered] chunk {styles} styles.js, styles.js.map (styles) 15.6 kB [initial] [rendered] chunk  {vendor}  vendor.js,  vendor.js.map (vendor) 4.16 MB [initial] [rendered] i ｢ wdm ｣ : Compiled successfully.

## 4.1 Hasil
Hasil penelitian merupakan hasil dari sebuah rancangan sistem yang sebelumnya di desain untuk membuat sebuah aplikasi cloud storage menggunakan firebase berbasis android. Dibawah ini adalah tampilan aplikasi yang sudah dapat di gunakan.
Gambar 12. Cloud Storage App
Gambar 13. Cloud Storage App ( Upload Process ) 5. Kesimpulan dan Saran
5.1 Kesimpulan Media  penyimpanan  seperti cloud  storage sangat  dibutuhkan  oleh  pengguna smartphone android  yang  dalam  kesehariannya  memiliki banyak  aktivitas  menyimpan  file  dalam  ukuran yang  besar  dan  memiliki  data-data  penting.  Dalam hal  tersebut  membutuhkan  kapasitas  penyimpanan lebih  besar  dan  aman  jika  terjadi  sesuatu  pada smartphone android  mereka,  maka  dari  itu memanfaatkan  media cloud  storage adalah  pilihan yang tepat sebagai media penyimpanan alternatif.
Adapun kesimpulan yang didapat dari penelitian ini yaitu
1. Teknologi cloud storage sangat berguna sebagai media penyimpanan data agar data tidak mudah hilang.
2. dapat  di build dengan  Cordova  agar  dapat berjalan pada platform android. 3. Firebase  memiliki  banyak  fitur  dan  layanan yang dapat digunakan dalam pengembangan aplikasi android, salah satunya adalah firebase storage .

## 5.2 Saran
Berdasarkan  dari  kesimpulan  dan  temuan dalam penelitian yang telah dilakukan maka peneliti memberi saran sebagai berikut :
1. Dalam  pembuatan project aplikasi  dengan Angular gunakan node_modules yang terbaru atau menyesuaikan dependencies dan devDependencies pada package.json untuk menghindari error . 2. Teliti  dalam  menginstall plugin npm  dalam workspace .
3. Gunakan node.js
LTS dan tidak sembarangan  untuk  menurunkan  versi  atau downgrade npm.
4. Untuk generate .Apk  dari workspace atau project  folder ,  pastikan Environment Variables sudah disesuaikan dengan benar.

## Daftar Pustaka
A  Gupta,  A.  G.  (2016).  Hybrid  Application Development  using  Ionic  Framework  & AngularJS  . International  Journal  of Innovative  Research  in  Computer  Science &  Technology  (IJIRCST)  ISSN:  2347- 5552, Volume 4 , 62-64.
Chunnu  Khawas,  P.  S.  (2018).  Application  of Firebase  in  Android  App  Development-A Study. International  Journal  of  Computer
Applications DOI: 10.5120/ijca2018917200. Volume 179 , 46.
DEWANTI,  P.,  &  GUNA  PERMANA,  P.  A.
(2017).  Pengembangan  Aplikasi  Hybrid
Menggunakan  Ionic  2  Framework  dan
Angular  2  . E-Proceedings  KNS&I STIKOM  Bali,  [S.l.].  ISSN  2460-8378 ,
(hal. 396-400). Bali.
Gunadham,  T.  (2015).  Potential  of  Cloud  Storage Application  as  Knowledge  Management
Systems. International Journal of
Innovation,  Management  and  Technology,
Vol. 6, No.2 , 153-157.
Prasetya,  D.  D.  (2013). Membuat  Aplikasi SmartPhone  Multiplatform. Jakarta:  Elex
Media Komputindo.
Rajan, R. A. (2012). Evolution of Cloud Storage as Cloud  Computing  Infrastructure  Service. IOSR  Journal  of  Computer  Engineering (IOSRJCE)  Volume  1,  Issue  1  (May-June 2012) , 38-45.
Sukamto, R. A. (2013). Rekayasa Perangkat Lunak
Terstruktur dan Berorientasi Objek.
Bandung: informatika.