PERANCANGAN APLIKASI CHAT BERBASIS ANDROID DENGAN FITUR FIREBASE REALTIME DATABASE
PROPOSAL SKRIPSI
Diajukan oleh : Ahmad Zuhdi 8020140203
Untuk persyaratan penelitian dan penulisan skripsi Sebagai akhir proses studi Strata 1
PROGRAM STUDI TEKNIK INFORMATIKA STIKOM DINAMIKA BANGSA 2017
IDENTITAS PROPOSAL PENELITIAN Judul Proposal
: Perancangan Aplikasi Chat Berbasis Android Dengan Fitur Firebase Realtime Database
Program Studi
: Sistem Komputer
Jenjang Pendidikan
: Strata 1 (S1)
Peneliti
: a. Nama Lengkap
: Ahmad Zuhdi
b. NIM
: 8020140203
c. Jenis Kelamin
: Laki - Laki
d. Tempat/Tgl. Lahir : Jambi, 22 Desember 1995 e. Alamat
: Jl. Jambi Suak-Kandis KM. 41 Desa Puding
f. No. Telepon
: 081274315802
g. Email
:
[email protected]
PERNYATAAN HASIL EVALUASI NIM
: 8020140203
NAMA
: Ahmad Zuhdi
PRODI
: Teknik Informatika
JUDUL
: “Perancangan Aplikasi Chat Berbasis Android Dengan Fitur Firebase Realtime Database”
1.
Hasil Evaluasi : Disetujui / Disetujui dengan perbai kan / Ditolak *)
2.
Alasan Penolakan Proposal Skripsi: □
Proyek Skripsi tidak relevan dengan Program Studi
□
Pernah ada topik sejenis
□
Metode utama telah banyak dipakai
□
Metode yang dipakai tidak jelas
□
Masalah terlalu sempit
□
3.
Catatan Perbaikan: .
Mengetahui, Ketua Program Studi Teknik Informatika
*) Coret yang tidak perlu BAB I
BAB I PENDAHULUAN 1.1 LATAR BELAKANG MASALAH Perkembangan Perkembangan Teknologi sekarang begitu pesat terutama internet, dengan internet kita bisa mengirim pesan (message) ke orang lain dengan menggunakan layanan e-mail, tetapi kita sering mengeluhkan harus menunggu respon ataupun balasan pesan (message) dari yang kita kirim. Atas dasar itu kemudian muncul chat messanger atau instant messenger ataupun biasa disebut chatting, yaitu suatu teknologi jaringan yang mengijinkan penggunanya mengirimkan pesan secara realtime ke pengguna lain yang tersambung dalam sebuah jaringan LAN atau Local Area Network ataupun internet. Aplikasi chat messenger atau chatting messenger merupakan cara berkomunikasi satu orang dengan orang lainnya melalui jaringan internet. Komunikasipun dapat dilakukan antara dua orang atau lebih yang dilakukan dengan percakapan data, suara, ataupun video. Seiring dengan perkembangannya waktu, aplikasi chatting yang dulunya hanya bisa teks saja, sekarang sudah dapat mengirim pesan suara, video dan gambar. Facebook notification, Whatsapp, Bbm, Disqus adalah contoh kecil aplikasi realtime yang sering kita pakai. Disaat user lain memberikan komen atau kirim pesan, pada saat itu juga kita mendapat notifikasi dan pesan. Secara general, jika ada input data, maka output pada saat itu langsung tampil di hadapan kita. "Kita" disini adalah orang yang mengoperasikan semua computer client yang terhubung dengan aplikasi tersebut. Bahkan bisa secara serentak. Walaupun ada delay, tidak akan lama waktunya (Low Latency). banyak pilihan untuk membuat aplikasi realtime. Berbagai konsep nya mungkin sudah banyak terdengar di telinga kita, seperti long polling, comet, dan web socket. Apalagi tambah ramai dengan kehadiran Node Js pada tahun 2009 lalu, arsitekturnya memang mendukung penuh aplikasi real-time dan data-intensive, dengan server bawaannya yang bersifat non-blocking. Untuk saat ini, yang masih hangat-hangatnya adalah web socket. Teknologi ini sudah di standarisasi tahun 2011 lalu, beberapa browser sudah mendukung web socket.
Sudah ada beberapa contoh implementasinya (library dan cara bikin socket server) seperti Socket.io (Node), Ratchet (PHP), Tornado (Python), Socky (Ruby). Opsi lain, adalah menggunakan layanan pihak ketiga. Yaitu Firebase! Firebase bisa kita sebut sebagai layanan DbaaS (Database as a Service) dengan konsep realtime. Tidak hanya numpang simpan data, kita juga di sediakan API untuk implementasi web socket. Firebase menyediakan library untuk berbagai client platform. Kita tinggal pakai saja. Browser pakai Javascript API dan mobile pakai OBJ-C atau Android API. Atas latar belakang tersebut penulis ingin membuat aplikasi chat messenger menggunakan Firebase untuk ponsel ber-OS Android untuk mengurangi waktu learning dan research secara drastis, aplikasi chat messenger ini kedepannya bisa di buat dan dikembangkan sesuai kebutuhan user / pengguna. Penulis ingin sebuah aplikasi chat messanger yang memudahkan proses registrasi, proses pencarian teman dan memudahkan dalam pengembangan aplikasi Chat Messenger ini. Karena itulah penulis terdorong untuk membuat suatu aplikasi yaitu “Merancang dan Membangun Aplikasi Chat Messanger Menggunakan Firebase berbasis Android”.
1.2 RUMUSAN MASALAH Dari latar belakang masalah yang telah diuraikan ini, maka masalah yang akan dibahas adalah bagaimana merancang sebuah Aplikasi Chat Berbasis Android Dengan Fitur Firebase Realtime Database.
1.3 BATASAN MASALAH Untuk menghindari pembahasan diluar judul penelitian, maka penulis melakukan pembahasan yang lebih sepesifik, berdasarkan judul tersebut. Adapun batasan masalahnya mencakup : 1.3.1
Fitur yang ada dalam aplikasi ini berupa seperti Notifikasi, Berkirim pesan, membuat status, mengganti foto profil, menambahkan kontak teman, mengetahui kapan terakhir teman aktif, dan mengetahui teman online atau tidak.
1.3.2
Aplikasi ini dikembangkan menggunakan Google Firebase.
1.3.3
Aplikasi ini dapat berjalan pada sistem operasi android minimal versi 4.4 kitkat sampai terbaru.
1.3.4
Aplikasi ini dibangun dengan menggunakan metode berorientasi objek dengan tools UML ( Unified Modelling Language ) yang meliput : Use Case Diagram, Activity Diagram, Class Diagram.
1.4 TUJUAN DAN MANFAAT PENELITIAN 1.4.1
Tujuan Penelitian Menghasilkan suatu aplikasi yang bersifat Real Time Database yang bisa diakses secara Real Time oleh pengguna aplikasi atau user.
1.4.2
Manfaat Penelitian
a. Sebagai Media untuk memiliki atau memperoleh banyak teman melalui pesan
instant atau chatting. Selain itu, chatting dapat digunakan untuk menambah jaringan kepada orang lain. b. Aplikasi ini sebagai Media menjadi sarana untuk berlatihan mengungkapkan
pendapat. Sehingga secara tidak langsung dapat meningkatkan tingkat kepercayaan diri jika berbicara dengan orang lain. c. Untuk membuat aplikasi sesuai kebutuhan dan keinginan pengguna. d. Chatting atau pesan instan dapat digunakan sebagai sebuah forum untuk
memecahkan sebuah masalah kelompok dimana kelompok tersebut tidak dapat bertemu secara langsung di suatu tempat nyata.
BAB II LANDASAN TEORI
2.1 Perancangan Aplikasi 2.1.1
Perancangan merupakan salah satu hal yang penting dalam membuat program . Adapun manfaat dari perancangan adalah memberikan gambaran yang jelas dan rancang bangun yang lengkap sebagai pedoman bagi pemo graman dalam mengembangkan aplikasi. Defenisi perancangan menurut Soetam Rizky (2011:140) adalah sebagai berikut : “perancangan adalah sebuah proses untuk mendefenisikan suatu yang akan dikerjakan dengan menggunakan teknik yang bervariasi serta didalamnya melibatkan deskripsi mengenai arsitektur serta detail komponen dan juga keterbatasan yang akan dialami dalam proses pengerjaanya”. Andri Kristanto (2008:203) mendefenisikan bahwa : “perancangan merupakan strategi untuk memecahkan maslah dan mengembangkan solusi terhadap suatu permasalahan , termasuk bagaimana mengorganisasi sistem kedalam subsistem-subsistem, serta alokasi subsistemsubsistem ke komponen-komponen perangkat keras, perangkat lunak, serta prosedur- prosedur”. Berdasarkan pengertian-pengertian diatas dapat disimpulkan bahwa perancangan merupakan sebuah langkah-langkah untuk merepresentasikan sesuatu yang hendak dikerjakan dengan menggunakan teknik dan prosedur tertentu dalam memecah suatu masalah.
2.1.2
Aplikasi Aplikasi merupakan bagian dari perangkat lunak (software) yang dirancang khusus untuk membantu mengatasi permasalahan tertentu sesuai pemakai.
dengan kebutuhan
Sandro Sembiring (2013:46) “aplikasi adalah penggunaan atau penerapan suatu konsep yang menjadi pokok pembahasan.” Berdasarkan pengertian diatas bahwa dapat disimpulkan aplikasi adalah suatu program yang bisa menjadikan sesuatu untuk membantu mengatasi permasalahan tertentu dengan kebutuhan pemakai. 2.2 Android 2.2.1
Sejarah Android Nazruddin Safaat H (2015:1) menyebutkan Android merupakan perangkat lunak yang memiliki sistem operasi berbasis Linux yang mencakup sistem operasi, middleware dan aplikasi. Android menyediakan platform yang terbuka bagi para pengembang untuk menciptakan aplikasi mereka. Awalnya Google.Inc membeli Android.Inc yang merupakan pendatang baru untuk membuat piranti lunak ponsel. Kemudian untuk mengembangkan android, dibentuklah Open Hendset Alliance konsorium dari 34 perusahaan piranti keras, piranti lunak, dan telekomunikasi, termasuk Google, HTC, Motorola, Qualcomm, T-Mobile dan Nvidia. Pada saat perilisan perdana android, 5 November 2007, android bersama Open Hendset Alliance menyatakan mendukung pengembangan open source pada perangkat mobile. Andrea Adelheid dan putri Aqilha (2013:1) mendefenisikan : “Android adalah sistem operasi untuk gadget seperti ponsel dan komputer tablet yang awal mulanya didirikan oleh inc.dan kemudian diakuisisi oleh Google inc.pada versi pertamanya tampilan sistem operasi ini masih tidak jauh berbeda dengan sistem operasi JAVA ataupun syambian”. Menurut Nazrudin Safaat (2015 : 1) mendefinisikan : “Android adalah sebuah sistem operasi untuk perangakat mobile bebasis linux yang mencakup sistem operasi, middleware dan aplikasi”. Android menyediakan platform yang tebuka bagi para pengembang untuk menciptakan aplikasi mereka”. Berdasarkan pengertian diatas, dapat ditarik kesimpulan bahwa android merupakan sebuah sistem operasi untuk smartphone berbasis linux yang
merupakan platform terbuka sehingga pengembang dapat dengan bebas mengembangkan aplikasi.
Menurut Nazruddin Safaat H (2015 : 3), android dapat dikatakan sebagai platform masa depan karena memiliki 3 kriteria, yakni : 1. Lengkap (complete platform), para desainer dapat melakukan pedekatan yang komprehensif ketika mereka sedang mengembangkan platform android. Android merupakan sistem operasi yang aman dan banyak menyediakan tools dalam membangun software dan memungkinkan untuk peluang pengembangan aplikasi. 2. Terbuka (open source platform), platform android disediakan melalui lisensi open source. Pengembang dapat bebas untuk mengembangkan aplikasi. Android sendiri menggunakan Kernel Linux 2.6. 3. Free ( free platform), android adalah platform atau aplikasi yang bebas untuk developer . Tidak terdapat lisensi atau biaya royalti untuk dikembangkan pada platform android, tidak ada biaya keanggotaan yang diperlukan, tidak diperlukan biaya pengujian, tidak ada kontrak yang diperlukan. Android dapat didistribusikan dan diperdagangkan dalam bentuk apapun.
2.2.2
Versi Android Menurut Suyog Bhosale dan Nilesh Pawar (2017:134) Versi-versi android yang telah dirilis hingga saat ini.
Tabel 2.1 Versi Android (Suyog Bhosale dan Nilesh Pawar : 2017)
Versi
Nama
Tanggal Rilis
1.0
Android (Alpha)
23 September 2008
1.1 1.5 1.6 2.0-2.1 2.2 – 2.2.3 2.3 – 2.3.7
Beta Cupcake Donut Eclair Froyo Gingerbread
9 Februari2009 27 April 2009 15 September 2009 26 Oktober 2009 20 Mei 2010 6 Desember 2010
3.0 - 3.2.6 4.0 – 4.0.4 4.1 – 4.3.1 4.4 – 4.4.4 5.0 – 5.1.1 6.0 – 6.0.1 7.0 – 7.1.2
Honeycomb Ice Cream Sandwich Jelly bean Kitkat Lollipop Marshmallow Nougat
22 Februari 2011 18 Oktober 2011 9 July 2012 31 Oktober 2013 12 November 2014 5 Oktober 2015 22 gustus 2016
2.3 Firebase 2.3.1
Pengertian Firebase Dikutip dari laman resmi google.com ( https://firebase .google.com/), firebase adalah platform seluler yang membantu anda mengembangkan aplikasi berkualitas tinggi secara cepat, meningkatkan basis pengguna, dan menghasilkan uang lebih banyak. Firebase memiliki banyak fitur di antaranya adalah : 1. Firebase Analytics. 2. Firebase Cloud Messaging dan Notification. 3. Firebase Authentication. 4. Firebase Remote Config. 5. Firebase Real Time Database. 6. Firebase Crash Reporting.
BAB III METODOLOGI PENELITIAN
3.1
Kerangka Kerja Penelitian Untuk membantu penyusunan ini, maka perlu adanya susunan kerangka kerja yang jelas tahapan-tahapannya. Kerangka kerja ini merupakan langkah-langkah yang dilakukan dalam penyelesaian masalah yang akan dibahas. Adapun kerangka kerja penelitian yang digunakan, seperti gambar 3.1 dibawah ini :
Identifikasi Masalah
Studi Literatur
Pengumpulan Data
Analisis Sistem
Pengembangan Sistem
Pembuatan Laporan
Gambar 3.1 Kerangka Kerja Penelitian
Berdasarkan kerangka kerja penelitian yang telah digambarkan diatas, maka dapat diuraikan pembahasan masing-masing tahap dalam penelitian adalah sebagai berikut : 3.1.1
Identifikasi Masalah Pada tahap ini diharapkan ditemukan permasalahan-permasalahan mengenai
lokasi, rute terdekat serta informasi mengenai apotek yang ada dikota jambi, sehingga dari masalah tersebut penulis akan mencoba mencari jalan keluar dari permasalahan tersebut. 3.1.2
Studi Literatur Hal ini bertujuan untuk mencari landasan-landasan teori yang diperoleh dari
berbagai buku jurnal ilmiah dan juga internet untuk melengkapi pembendaharaan konsep dan teori sehingga memiliki landasan dan keilmuan yang sesuai. 3.1.3
Pengumpulan Data Pada tahap ini dilakukan pengumpulan data dengan metode observasi
,wawancara dan kuisoner untuk melakukan pengamatan dan analisis terhadap rancangan sistem yang akan dibuat. 1.5 Observasi Pada teknik ini penulis akan melakukan pengamatan langsung ke tempat objek penelitian yang bertujuan untuk mencari data-data yang berhubungan dengan lembaga pendididkan kursus, seperti titik koordinat , gambar, alamat dan sebagainya. 1.6 Angket atau Kuisoner
Angket atau kuisioner adalah teknik pengumpulan data melalui formulir formulir yang berisi pertanyaan pertanyaan yang diajukan secara tertulis pada seseorang atau sekumpulan orang untuk mendapatkan jawaban atau tanggapan dan informasi yang diperlukan oleh peneliti. Metode ini digunakan untuk memperoleh data persepsi mengenai lembaga pendidikan kursus di Kota Jambi dari responden. Kuisioner ini diambil pada orang sebagai sampel data dalam pengisian kuisioner 3.1.4
Analisis Sistem Pada tahap ini dilakukan analisis sistem yang sedang berjalan dan analisis kebutuhan sistem.
3.1.5
Pengembangan Sistem Pada tahap ini akan dilakukan pengembangan sistem dengan metode air terjun (waterfall ). Metode waterfall adaah model kosekuensial linier (sequential linear) atau alur hidup klaik (classic life cycle).model air terjun menyediakan pendekatan alur hidup perangkat secara sekuensial atau terurut dimulai dari analisis ,desain,pengodean pengujian dan tahap pendukung(support). Berikut adalah gambar model air terjun.
Analisis
Desain
Pengodea
Pengujian
Gambar 3.2 Ilustrasi Model Waterfall (Rosa A.S dan M.Shalahudin:2013)
Dari gambar 3.2 diata dapat dijelaskan metode pengembangan sistem secara rinci sebagai berikut : a. Analisis Kebutuhan Pada tahap ini dilakukan identifikasi kebutuhan dari sistem yang akan di rancang, tingkah laku sistem terhadap suatu input tertentu. Kelancaran proses pembuatan software secara keseluruhan dan kelengkapan fitur software yang di hasilkan sangat tergantung pada hasil dari analisis kebutuhan ini. b. Desain Sistem Tahap ini membahas tentang perancangan dari model sistem dengan menggunakan beberapa alat bantu untuk menggambarkan sistem berjalan maupun sistem baru yang dikembangkan secara logika menggunakan flowchart dan beberapa diagram UML , seperti use case diagram ,class diagram ,dan activity diagram . c. Implementasi dan Pengujian Unit
Pada tahap ini dilakukan penerjemahaan desain sistem kedalam bentuk kodekode
program
menggunakan
bahasa
pemograman
yang
telah
ditentukan
sebelumnya. d. Pengujian Sistem Pada tahap ini dilakukan proses pengujian atau testing terhadap rancangan aplikasi untuk memastikan apakah semua fungsi sistem berjalan dengan baik dan mencari apakah semua fungsi sistem berjalan dengan baik dan mencari apakah masih ada kesalahan yang terjadi pada sistem sehingga dapat dilakukan perbaikan terhadap sistem yang mengalami kesalahan. Pengujian ini bertujuan untuk menjamin kualiatas perangkat lunak atau software dengan menggunakan metode Black Box e. Perawatan (maintenance) Pada tahap ini dilakukan pemiliharaan software seperti melakukan perbaikan perbaikan
terhadap
sistem
berjalan,
meningkatkan
peforma
sistem
dan
menambahkan fungsi tambahan sesuai keinginan user. Pada tahapan diatas penulis hanya mengimplementasikan model waterfall tersebut hanya sampai pada tahap testing.karna pada tahapan maintenance sudah merupakan tanggung jawab user sebagai pengguna sistem 3.1.6
Pembuatan Laporan Pada tahap ini dilakukan pembuatan laporan yang disusun berdasarkan hasil penelitian yang dilakukan oleh peneliti.
3.2
Alat Bantu Penelitian Pada penelitian ini penulis menggunkan perangkat lunak maupun perangkat keras komputer yang dapat membantu penulis dalam melakukan pengujian. Adapun alat yang digunakan dalam melakukan penelitian ini adalah sebagai berikut : 1.
Perangkat Keras (Hardware)
Dalam perancangan sistem ini, dibutuhkan perangkat keras (hardware) yang berfungsi untuk menjalankan perangkat lunak yang digunakan dalam perancangan sistem. Perangkat keras (Hardware) pendukung yang digunakan adalah sebagai berikut :
2.
1.
Processor : Intel (R) core (TM) i3-3217U CPU @ 1.80GHz
2.
Memory : 8 GB
3.
Harddisk : 500 GB
4.
Mouse
: Logitech M – 331
5.
Printer
: Canon ip2770
6.
Android versi kitkat 4.4
Perangkat Lunak (Software) Dalam perancangan ini digunakan sebagai alat bantu dalam merancang dan mendesain program. Dibawah ini adalah perangkat lunak (software) pendukung dalam perancangan sistem ini, antara lain: 1.
Sistem Operasi Windows 10-64 Bit
2.
Android Studio
3.
Firebase
4.
Java Development, Android Debug Bridge
5.
Microsoft Visio 2010
6.
Beberapa perangkat pendukung lainnya.
3.3 Jadwal Penelitian Agar menghindari ketidak teraturan dalam pengerjaan penelitian ini penulis membuat jadwal penelitian yang berisi gambaran kegiatan dan waktu yang direncanakan dalam tahap-tahap penelitian seperti pada tabel:
No. 1 2 3 4
5
KEGIATAN Studi Literatur Pengumpulan Data Analisis Data Perancangan dan Pembuatan Sistem Pembuatan Laporan
Agustus 2017 1 2 3 4
September 2017 1 2 3 4
Oktober 2017 1 2 3 4
November Desember 2017 2017 1 2 3 4 1 2 3 4
SS
DAFTAR PUSTAKA
Bhosale, Suyog, And Nilesh Pawar. 2017. Android the Open Sourch for Mobile Application. Jurnal International Advanced Research Journal In Science, E ngineering and Technology, Volume(4):134-135. Link belum
Rizky, Soetam.2011.Konsep Dasar Rekayasa Perangkat Lunak.Jakarta:.Prestasi Pustakaraya.
Google, Google.Inc. 2017. Pengertian Firebase, https://firebase.google.com/ ( Diakses pada 19 september 2017).
Andri Kristanto (2008 : 2), Perancangan Sistem Infoormasi dan Aplikasin ya Gava Media, Yogyakarta.
Sembiring, Sandro.2013.Perancangan Aplikasi Steganografi Untuk Menyisipkan Pesan Teks Pada Gambar Dengan Metode End Of File. Jurnal Citra digital, Volume(IV):46.https://scholar.google.co.id/scholar?q=PERANCANGAN+APLIKASI+S TEGANOGRAFI+UNTUK+MENYISIPKAN+PESAN+TEKS+PADA+GAMBAR+DE NGAN+METODE+END+OF+FILE+&btnG=&hl=id&as_sdt=0%2C5 (Diakses pada 21 April 2017).
Safaat H, Nazaruddin.2015.Android Pemograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android.Bandung:Informatika Bandung
Adelheid, Andrea,And Putri Aqilha.2013.Tip Trik Android dan BlackBerry.Yogyakarta:Andi