Anda di halaman 1dari 12

1

BAB II

TINJAUAN PUSTAKA

2.1. Firebase

Firebase adalah layanan infrastruktur backend-as-a-service (BaaS) yang


diakuisisi oleh Google pada Oktober 2014 silam (Tamplin, 2016). Firebase juga
menawarkan kemudahan kepada para pengembang dalam membangun aplikasi yang
lebih baik serta mengembangkan bisnis yang berhasil melalui seluruh fitur
komplementernya. Saat ini, Firebase telah memiliki fitur Analytics, Cloud
Messaging, Authentication, Realtime Database, Storage, Hosting, Test Lab, Crash
Reporting, Notifications, Remote Config, App Indexing, Dynamic Links, Invites,
AdWords, dan AdMob. Seluruh fitur tersebut dikemas dalam sebuah SDK Firebase
tunggal sehingga dengan kemudahan yang ditawarkan para pengembang dapat fokus
untuk memecahkan masalah customer melalui perangkat lunak yang dibuat dan tidak
menghabiskan waktu yang begitu panjang dalam membangun infrastruktur yang
kompleks (Google, 2016). 2.3.1

Firebase User Authentication merupakan sebuah layanan siap pakai yang


dimiliki oleh Firebase SDK. Firebase User Authentication memungkinkan aplikasi
untuk melakukan user authentication menggunakan berbagai macam metode
authentication seperti email dan password based authentication, federated identity
provider identegration (authentication menggunakan akun Google, Facebook, Twitter
atau Github), custom authentication system integration hingga anonymous
authentication.

Firebase User Authentication ini biasa bekerja dengan cara mengirimkan


server response dari Firebase Server berdasarkan credential yang dikirimkan oleh
client ke Firebase Server. Credential tersebut dapat berupa alamat email dan
password atau bahkan sebuah token OAuth dari sebuah federated identity provider.
2

Melalui server response yang diterima dari Firebase Server, aplikasi dapat mengakses
informasi dasar data profil pengguna dan mengontrol akses pengguna terhadap
produk atau layanan Firebase yang terdapat pada aplikasi.

2.2. Firebase Realtime Database


Firebase Realtime Database adalah layanan NoSQL cloud-hosted database
yang dimiliki oleh Firebase SDK. Firebase ini menawarkan penyimpanan data yang
dapat disinkronisasikan secara realtime terhadap seluruh client yang terhubung.
Selain itu, layanan ini juga memiliki 3 kemampuan inti yaitu realtime, offline dan
accessible dari client devices (Google, 2017). Maksud dari realtime adalah jika
terdapat perubahan pada data dalam database, maka seluruh client yang terhubung
akan secara otomatis mendapatkan perubahan dalam hitungan milidetik.
Aplikasi yang menggunakan layanan Firebase Realtime Database akan tetap
responsif bahkan saat offline. Hal ini disebabkan oleh Firebase SDK dapat
mempertahankan data dan perubahannya pada media penyimpanan client. Pada saat
client terhubung ke jaringan internet, Firebase SDK akan melakukan penyesuaian
otomatis atas catatan perubahan data yang disimpan pada media penyimpanan client
dengan kondisi terkini dari Firebase server. Kemampuan inti yang terakhir adalah
accessible dari client devices. Layanan ini menawarkan kemudahan dalam mengakses
Firebase Realtime Database secara langsung dari sebuah perangkat android atau
sebuah peramban web tanpa membutuhkan server application (Google, 2017).

2.3. Laundry

Laundry adalah sebuah usaha yang bergerak di bidang jasa pencucian pakaian
yang menyediakan berbagai layanan seperti cuci komplit (cuci kering dan setrika),
cuci dan kering, serta setrika saja.

Usaha laundry merupakan usaha yang bergerak dibidang jasa cuci dan setrika.
Keberadaan jasa mencuci dan setrika sudah menjadi bagian dari kebutuhan hidup
3

setiap manusia. Berkembangnya bisnis laundry kiloan menjadikan persaingan bisnis


di sektor ini menjadi semakin ketat. Untuk menjaga supaya bisnis ini tidak sepi
pelanggan setiap penyedia jasa laundry memiliki ciri khas dan cara promosi masing-
masing, seperti misalnya menyediakan jasa antar jemput cucian (Anonimous, 2013).
Pelanggan laundry pun ada yang mempunyai waktu tertentu untuk mengambil dan
menerima cucian mereka. Melihat dari keadaan ini maka parameter waktu yang akan
dihabiskan dijalan dapat diperkirakan dengan menggunakan prediksi rute mana yang
akan diambil oleh sopir antar jemput cucian agar dapat sampai di tempat sesuai
dengan waktu yang di inginkan pelanggan.

Dasar kata sistem berasal dari bahasa Yunani “Systema” yang artinya
“Kesatuan”. Sistem terdiri dari beberapa sub sistem yang saling berhubungan untuk
membentuk satu kesatuan sehingga tujuan sistem dapat dicapai. hal ini berarti bahwa
suatu sistem berada pada lebih dari satu tingkat. Untuk lebih jelasnya, berikut ini
dijelaskan pengertian sistem menurut beberapa ahli : “Sistem adalah kumpulan
elemen-elemen atau jaringan kerja dari prosedur-prosedur yang saling berinteraksi
atau berhubungan untuk suatu tujuan tertentu ”. ( Jogiyanto , 2001 : 22). “Sistem
adalah suatu susunan teratur dari kegiatan dan prosedur yang saling berhubungan
untuk melaksanakan dan serta mempermudah kegiatan organisasi” (Teuku , 2008 :
32). “Sistem adalah himpunan suatu “benda” nyata atau abstrak yang terdiri dari
beberapa bagian atau komponen yang saling berkaitan, berhubungan, ketergantungan,
dan saling mendukung, yang secara keseluruhan bersatu dalam sebuah satu kesatuan
(unity) untuk mencapai tujuan tertentu secara efisien dan efektif”. ( Davis , 1992:67).

Informasi adalah sebuah proses lebih lanjut dari data yang sudah memiliki
nilai tambah. Informasi dikelompokkan menjadi 3 bagian, diantaranya yaitu :

a. Informasi strategis : Informasi ini yaitu informasi yang digunakan untuk


mengambil keputusan jangka panjang.
b. Informasi taktis : yaitu informasi dibutuhkan untuk mengambil keputusan
jangka menengah.
4

c. Informasi teknis : yaitu informasi ini dibutuhkan untuk keperluan operasional


sehari-hari.

Informasi adalah data yang telah dikelompokkan atau diolah atau


diinterpretasikan untuk digunakan dalam proses pengambilan keputusan.

Sistem pengolahan informasi bekerja dengan mengolah data menjadi


informasi atau mengolah data dari bentuk informasi yang tidak berguna menjadi
informasi yang berguna bagi penerimanya.

Pengertian pelayanan adalah dapat dijelaskan sebagai berikut : 1. Perihal atau


cara melayani 2. Usaha untuk melayani kebutuhan orang lain dengan memperoleh
imbalan/uang, jasa 3. suatu kemudahan baru yang diberikan sehubungan dengan jual
beli barang atau jasa. Dari beberapa pengertian tersebut, dapat ditarik kesimpulan
bahwa pelayanan adalah suatu kegiatan yang diberikan seseorang atau badan untuk
memenuhi kebutuhan orang lain.

Pengertian Jasa Menurut Kotler dan Armstrong (2012) menyatakan bahwa


“Jasa adalah segala aktivitas dan berbagai rangkaian kegiatan atau manfaat yang
ditawarkan untuk dijual oleh suatu pihak tertentu kepada pihak lain yang secara
esensial jasa ini tidak berwujud serta tidak menghasilkan perpindahan kepemilikan
atas apapun“. Selanjutnya Lupiyoadi dan Hamdani (2011 : 6), menyatakan bahwa
“Jasa adalah semua kegiatan ekonomi yang outputnya tidak berupa produk fisik atau
kontruksi yang secara umum dikonsumsi pada saat diproduksi, dan memberi nilai
tambah dalam bentuk kenyamanan, hiburan, kesenangan ataupun kesehatan”.

Pengeluaran adalah pembayaran yang dilakukan saat ini untuk kewajiban pada
masa akan datang dalam rangka memperoleh beberapa keuntungan, jika dilakukan
untuk meningkatkan aktiva tetap, pengeluaran itu disebut pengeluaran modal, jika
dilakukan untuk hal biaya operasi pengeluaran tersebut dapat disebut pengeluaran
operasional, biaya tunai tersebut untuk mendapatkan barang, jasa, ataupun hasil
usaha.
5

Pengertian Saldo Secara umum, istilah saldo sangat dekat kaitannya dengan
dunia keuangan.Adapun pengertian umum mengenai saldo dapat di artikan sabagai
selisih antara uang yang masuk dengan uang yang dikeluarkan. Istilah saldo juga di
gunakan di berbagai bidang, sebagai salah satu contoh dalam dunia perbankan kita
mengenal saldo rekening yang mengandung pengertian tentang jumlah uang yang ada
pada akun seseorang setelah pembebanan biaya jasa penarikan,juga melakukan
penambahan jumlah uang di akun maupun penarikan yang mengurangi jumlah uang.

2.4. Android

Android adalah sistem operasi pada smartphone atau ponsel pintar yang
dibuat oleh Linux. Android menyediakan platform terbuka bagi para pengembang
perangkat lunak android untuk menciptakan aplikasi mereka sendiri untuk digunakan
oleh berbagai macam piranti bergerak seperti smartphone.(Safaat, 2011).Hingga saat
ini telah banyak berkembang versi android diawali dengan dirilisnya Androidbeta
pada bulan November 2007. Versi komersial pertama, Android 1.0, dirilis pada bulan
September tahun 2008. Sejak April 2009, versi Android telah dikembangkan dengan
nama kode yang dinamai berdasarkan makanan pencuci mulut dan makanan manis.
Masing-masing versi dirilis sesuai urutan alfabet, yakni Cupcake (1.5), Donut (1.6),
Eclair (2.0–2.1), Froyo (2.2–2.2.3), Gingerbread (2.3–2.3.7), Honeycomb (3.0–3.2.6),
Ice Cream Sandwich (4.0–4.0.4), Jelly Bean (4.1–4.3), dan KitKat (4.4+). Pembaruan
utama terbaru versi Android yaitu Lollipop 5.0, yang dirilis pada 3 November 2014.
(Safaat,2011). Dan hingga kini versi android telah mencapai versi 10..

APLIKASI ANDROID

ANDROID DEKSTOP FRAMEWORK

ANDROID APPLICATION FRAMEWORK & Dalvik Virtual


LIBBRARY Machine

LINUX KERNEL

Modem LCD Keypad/Touch Audio Bluetoth WIFI


6

Gambar 2.1 Lapisan Arsitektur Sistem Operasi Android secara Umum

Tabel perkembangan versi android:

Tabel 2.1 Perkembangan Versi Android

Versi Nama Kode Tanggal Rilis API level


1.5 Cupcaken 30 April 2009 3
1.6 Donut 15 September 2009 4
2.0–2.1 Eclair 26 Oktober 2009 7
2.2 Froyo 20 Mei 2010 8
2.3–2.3.2 Gingerbread 6 Desember 2010 9
2.3.3–2.3.7 Gingerbread 9 Februari 2011 10
3.1 Honeycomb 10 Mei 2011 12
3.2 Honeycomb 15 Juli 2011 13
4.0.3–4.0.4 Ice Cream Sandwich 16 Desember 2011 15
4.1.x Jelly Bean 9 Juli 2012 16
4.2.x Jelly Bean 13 November 2012 17
4.3.x Jelly Bean 24 Juli 2013 18
4.4.x KitKat 31 Oktober 2013 19
5.0 Lollipop 15 Oktober 2014 21

2.5. Java
Bahasa pemograman Java (awalnya bernama bahasa pemograman Oak)
diperkenalkan ke komunitas pemograman sedunia oleh James Gosling dari Sun
Microsystem Inc. pada tahun 1990-an. Tujuan pembuatan bahasa pemograman java
adalah untuk mengembangkan bahasa pemograman C++ yang sebelumnya telah ada
sehingga aplikasi yang dikembangkan dengan bahasa pemograman tersebut mampu
berjalan diatas berbagai platformperangkat keras dan perangkat lunak yang berbeda.
Bahasa pemograman Java saat ini banyak digunakan untuk mengembangkan aplikasi-
aplikasi dekstop (dengan menggunakan JSE [Java Standart Edition]), aplikasi yang
berjalan dilingkup enterprise atau internet (menggunakan JEE [Java Enterprise
Edition]), serta aplikasi yang berjalan di sarana-sarana komputasi yang terbatas
sumber daya pemrosesan dan sumber daya penggunaan memory (menggunakan
7

JME[Java Machine Edition]) misalnya telepon selular, PDA dan sebagainya.


(Nugroho, 2009).

2.6. eXtensible Markup Language (XML)

eXtensible Markup Language (XML) adalah bahasa web turunan dari SGML
(Standart Generalized Markup Language) yang sudah ada sebelumnya. XML hampir
sama dengan HTML, yang mana keduanya sama-sama turunan dari SGML.
Teknologi XML dikembangkan sejak tahun 1966 dan mendapatkan pengakuan dari
World Wide Web Consortium (W3C) pada bulan Februari tahun 1998. Sedangkan
SGML telah dikembangkan pada awal tahun 1980-an. Pada saat HTML
dikembangkan pada tahun 1990, para penggagas XML mengadopsi bagian paling
penting SGML dan dengan berpedoman pada pengembangan HTML menghasilkan
bahasa markup yang tidak kalah hebat dengan SGML.
Secara sederhana XML adalah merupakan suatu bahasa yang digunakan untuk
mendeskripsikan dan memanipulasi dokumen secara terstruktur. Secara teknis XML
didefinisikan sebagai suatu bahasa meta-markup yang menyediakan suatu format
tertentu untuk dokumen yang mempunyai data terstruktur. Bahasa markup adalah
mekanisme untuk mengenal secara terstruktur dalam dokumen. XML merupakan
suatu aplikasi profil dari SGML. Seperti yang didefinisikan dari ISO 8879, SGML
merupakan cara standar dari vendor-independent.
XML tidak mempunyai definisi secara tepat karena beberapa pakar ada yang
berpendapat bahwa XML bukanlah suatu bahasa pemrograman, melainkan XML
adalah sintaks yang digunakan untuk menjelaskan bahasa markup lain
(Dournaee,2002), sehingga dinamakan meta-language. Meskipun demikian,orang
yang berpendapat mengenai XML bukan merupakan bahasa markup, didasarkan
bahwa XML merupakan bahasa markup terpisah untuk tujuan terpisah. Selain itu
XML bukanlah solusi untuk semua hal ditujukan pada semua User. Sedangkan peran
dari markup itu adalah berupa:
1. Markup dapat menambah maksud arti dari (semantic) suatu data.
8

2. Dapat memisahkan sebuah data.


3. Dapat mendefinisikan sebuah peran data.
4. Dapat mendefinisikan sebuah batasan data.
5. Dapat mendefinisikan sebuah keterhubungan data.

XML adalah sebuah himpunan bagian (subset) dari SGML yang bertujuan agar
SGML secara generik dapat melayani, menerima, dan memproses di dalam web
dengan cara seperti yang dimungkinkan HTML saat ini. XML didesain agar
memudahkan implementasi dan interoperabilitas dengan SGML maupun HTML.
XML adalah bahasa markup yang dirancang agar dapat menyampaikan informasi
melalui World Wide Web (www) atau sering disebut web saja.

XML merubah cara berpikir untuk mengembangkan suatu software terutama


aplikasi web. Masalah sekarang adalah bagaimana caranya untuk bertukar informasi
antar satu aplikasi dengan aplikasi lain. Terkadang kolaborasi antar beberapa aplikasi
masih harus ditentukan dengan spesifikasi aplikasi tersebut. Padahal seharusnya
hanya perlu mendapatkan informasi data bukan mengerti cara kerja aplikasi lain itu,
disinilah visi internet yang belum tercapai. Visi ini merupakan visi dunia internet
dimana PC, server, smart devices dan internet-based device dapat berkolaborasi tanpa
ada halangan. Bisnis-bisnis dapat bertukar data dengan menyediakan customized dan
comprehensive solusi kepada customer. Dan yang paling utama adalah informasi
yang dibutuhkan dapat diakses darimana dan kapan saja dan dengan computing
device, platform, atau aplikasi yang kita gunakan.

XML dapat pula memungkinkan pertukaran informasi atau data antar device
(server, PCs, smart device, aplikasi, dan situs web). Data ini akan menjadi data
independent (unlocked), memudahkannya untuk diorganisir, diprogram, dan dirubah,
serta ditukar antar situs web atau aplikasi apasaja. oleh karena kebutuhan ini, maka
semakin banyak teknologi berbasis XML yang tercipta. Contohnya adalah SOAP
(Simple Project Acces Protocol) dan juga UDDI (Universal Description Discovery
and Integration). SOAP memungkinkan berbagai aplikasi untuk melakukan
9

komunikasi melalui standar internet protocol. Sedangkan UDDI memberikan para


pelaku bisnis suatu cara standar untuk menjelaskan servis mereka dan cara koneksi
secara otomatis. Dari sini munculah web servis, yaitu suatu tipe baru software yang
dapat dipakai berulang-ulang (seperti komponen software) dengan pengecualian
servis ini dapat diakses darimana dan kapan saja melalui internet.

2.7. JSON (JavaScript Object Notation)


JSON (JavaScript Object Notation) merupakan suatu format penulisan untuk
pertukaran data yang tergolong ringan, mudah dibaca dan ditulis oleh manusia, serta
mudah diterjemahkan dan dibuat atau digenerate oleh komputer. Format ini
merupakan bagian dari Bahasa Pemprograman JavaScript, Standar ECMA-262 Edisi
ke-3 - Desember 1999. JSON merupakan format teks yang tidak bergantung pada
bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum
digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl,
Python dll. Oleh karena itu sifat-sifat ini menjadikan JSON ideal sebagai bahasa
pertukaran-data.

JSON terbuat dari dua (2) struktur yaitu sebagai berikut:

• Kumpulan pasangan nama/nilai. Pada beberapa jenis bahasa, hal ini


dinyatakan sebagai objek (object), rekaman (record), struktur (struct),
kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list),
atau associative array.
• Daftar nilai yang diurutkan (an ordered list of values). Pada kebanyakan
bahasa yang ada, hal ini dinyatakan sebagai larik (array), vektor
(vector), daftar (list), atau urutan (sequence).
Struktur-struktur data inilah yang disebut sebagai struktur data universal. Pada
dasarnya, semua bahasa pemprograman modern mendukung struktur data seperti ini
dalam bentuk struktur data yang sama maupun berlainan. Hal ini pantas disebut
seperti itu karena format data mudah dipertukarkan dengan bahasa-bahasa
pemprograman yang juga berdasarkan pada struktur data ini.
10

2.8. Web Service

Web service merupakan sebuah teknik yang dirancang untuk mendukung


interoperabilitas interaksi antar mesin melalui sebuah jaringan. Web service secara
teknis memiliki mekanisme interkasi antar sistem sebagai penunjang interoperabilitas,
baik berupa agregasi (pengumpulan) maupun sindikasi (penyatuan). Web service
(Layanan Web) memiliki layanan terbuka untuk kepentingan integrasi data dan
kolaborasi informasi yang dapat diakses melalui internet oleh berbagai pihak
menggunakan teknologi yang dimiliki oleh masing-masing pengguna(user). Untuk
dapat menggunakan layanan web service, maka web service dapat dipanggil
menggunakan beberapa model messaging: SOAP (Simple Object Access Protocol)
adalah standart untuk bertukar dokumen atau pesan berbasis XML melalui jaringan
computer atau sebuah jalan untuk program yang berjalan pada suatu sistem operasi
untuk saling bertukar informasi dengan program pada OS yang sama maupun berbeda
dengan menggunakan HTTP dan XML sebagai cara untuk melakukan pertukaran
data.(Booth,dkk, 2004).

Biasanya web digunakan untuk melakukan respon dan request yang dilakukan
antara client dan server. Sebagai contoh, seorang pengguna layanan web tertentu
mengetikan alamat url web untuk melakukan sebuah request. Request akan sampai
pada server, kemudian diolah dan disajikan dalam bentuk sebuah respon. Yang
artinya terjadilah hubungan client-server secara sederhana. Sedangkan pada sebuah
web service hubungan antara client dan server tidak terjadi secara langsung.
Hubungan antara client dan server dijembatani oleh file web service dalam format
yang telah ditentukan. Sehingga akses terhadap database akan ditangani secara tidak
langsung oleh server, melainkan melalui perantara yang disebut sebagai web service.
Peran dari web service ini akan mempermudah melakukan proses distribusi sekaligus
integrasi database yang tersebar di beberapa server sekaligus.
11

2.9. Node .Js

Node.js adalah sebuah platform perangkat lunak (software) pada sisi-server


dan aplikasi jaringan. Ditulis dengan bahasa JavaScript dan dijalankan pada sistem
operasi Windows, Mac OS X, dan Linux tanpa perubahan kode program. Node.js
memiliki kumpulan data atau disebut pustaka server HTTP sendiri sehingga
memungkinkan untuk menjalankan server web tanpa menggunakan program server
web seperti Apache atau Lighttpd.

Node.js merupakan sebuah platform perangkat lunak yang berjalan


(beroperasi) pada sisi server dan aplikasi jaringan. Platform ini terdiri dari dua (2)
hal, yaitu runtime environment dan script library. Node.js memiliki pustaka server
HTTP sendiri sehingga memungkinkan untuk menjalankan web server tanpa
menggunakan program web server seperti apache atau lighttpd.

Kelebihan node.js adalah sebagai berikut:

1. Pengembang web hanya cukup memakai satu bahasa untuk mengembangkan


aplikasi client & server sehingga mengurangi ‘Learning Curve’ untuk
mempelajari bahasa server yang lain.

2. Mendukung reuse of code, yang dimaksud disini adalah kemudahan sharing code
antara client dan server, dimana seorang programmer dapat membangun sebuah
objek dengan mengextend beberapa objek yang telah ada secara mudah, sehingga
programmer memungkinkan untuk tidak perlu mengetahui kode-kode dari objek
yang ingin mereka extend, sehingga yang para programmer butuhkan hanyalah
pengetahuan mengenai property dari objek itu dan hal-hal yang dapat dilakukan
oleh objek tersebut.

3. Mendukung JSON, sehingga untuk mengkonsumsi data-data dari pihak ketiga


melakukan pemrosesan data di Node.js akan sangat mudah dilakukan.
12

4. Asinkron I/O & event, maksudnya adalah proses eksekusi program tidak perlu
menunggu pembacaan suatu file sampai selesai namun tetap dapat langsung
melakukan pembacaan kode Javascript selanjutnya yang dieksekusi secara
bersamaan, hal ini dapat membuat kerja sistem lebih ringan dan cepat.

5. Database NoSQL seperti halnya MongoDB dan CouchDB, mendukung langsung


Javascript. Sehingga interfacing dengan database ini akan menjadi lebih mudah.

6. Memakai engine V8 yang selalu mengikuti perkembangan standar ECMAScript,


sehingga tidak perlu ada kekhawatiran bahwa browser tidak akan mendukung
fitur-fitur yang ada pada Node.js.

7. Open Source, source code nodejs berada pada Github sehingga dapat diakses
secara mudah dan gratis.

Anda mungkin juga menyukai