LANDASAN TEORI
2.1Sekilas Sistem Operasi Android
Menurut buku yang dikarang oleh Stephanus Hermawan S yang berjudul “Mudah Membuat Aplikasi Android” , Android merupakan OS (Operating System) Mobile
yang tumbuh ditengah OS lainnya yang berkembang dewasa ini. OS lainnya
seperti Windows Mobile, i-Phone OS, Symbian, dan masih banyak lagi. Akan
tetapi, OS yang ada ini berjalan dengan memprioritaskan aplikasi inti yang
dibangun sendiri tanpa melihat potensi yang cukup besar dari aplikasi pihak
ketiga. Oleh karena itu, adanya keterbatasan dari aplikasi pihak ketiga untuk
mendapatkan data asli ponsel, berkomunikasi antar proses serta keterbatasan
distribusi aplikasi pihak ketiga untuk platform mereka.
Android sendiri adalah sistem operasi berbasis kernel linux yang pada
awalnya dikembangkan oleh Android, Inc, yang didukung Google finansial dan
kemudian dibeli pada tahun 2005. Android ini diresmikan pada tahun 2007 seiring
dengan berdirinya Open Handset Alliance-konsorsium, hardware, software, dan
perusahaan telekomunikasi yang ditunjuk untuk memajukan standar perangkat
2.2Perkembangan Android
Perkembangan versi – versi android menurut artikel yang dikutip dari tekno.kompas.com ialah sebagai berikut.
1. Android 1.0
Sistem operasi ini bisa dibilang sebagai android yang masih sangat sederhana.
Pengguna diajak beradaptasi dengan peradaban baru menjelajah sebuah
perangkat telekomunikasi mobile. Pada versi inilah Google untuk pertama
kalinya memperkenalkan mekanisme pengecekkan notifikasi yang kerap
diistilahkan pull-down notification. Selain notifikasi, dua komponen pada
Android 1.0 yang masih digunakan hingga kini adalah widget aplikasi, serta
toko aplikasi Google Play Store yang kala itu masih bernama "Market".
Sistem operasi ini juga menyatukan layanan Gmail. Dua aplikasi tersebut,
Gmail dan Market, menjadi layanan bawaan paling purba yang dipatrikan
Google pada Android 1.0.
2) Android 1.5 Cupcake
Ini adalah debut versi Android yang menggunakan nama kudapan manis.
Tradisi tersebut dipertahankan hingga sekarang. Pada Cupcake, Google juga
memperkenalkan SDK widget untuk developer pihak ketiga. Gunanya agar
aplikasi pihak ketiga bisa memiliki widget sendiri layaknya aplikasi bawaan
Google. Dua pembaruan signifikan pada Cupcake juga meliputi kemampuan
perekaman video dengan kamera ponsel, serta kemampuan keyboard layar
3) Android 1.6 Donut
Masih di tahun yang sama, Google tak sabar menghadirkan Android baru
bertajuk "Donut". Pada versi ini, Google mengumumkan bahwa Android bisa
digunakan untuk perangkat mobile dengan ukuran layar berapa saja. Android
Donut juga memunculkan kolom pencarian pada antarmuka ponsel. Pengguna
bisa mencari informasi di internet, file lokal, kontak, dan apa saja secara lebih
cepat dengan kolom tersebut.
4) Android 2.0 Eclair
2009 memang merupakan tahun produktif bagi Google dalam menelurkan
sistem operasi. Eclair menjadi Android pertama yang menghadirkan layanan
navigasi Google Maps. Sistem tersebut menjadi awal mula era GPS yang
sekarang bukan cuma ada di ponsel, tapi juga di mobil-mobil modern. Eclair
juga menjadi Android pertama yang mendukung HTML5 pada peramban
sehingga bisa memutar video. Kemampuan membuka layar alias
unlock-screen dengan mekanisme menyapu atau swipe juga diperkenalkan pada
Eclair.
5) Android 2.2 Froyo
Tahun 2010, selain meluncurkan Android Froyo, Google juga menghadirkan
ponsel Nexus pertama yang dinamai "Nexus One". Ada beberapa pembaruan
pada Froyo dibandingkan pendahulunya. Tentu saja pengguna Nexus One
Dari segi tampilan, Android Froyo memungkinkan lima panel layar depan
alias home screen. Sebelumnya, batas panel cuma sampai tiga saja. Froyo
juga menambah pilihan keamanan penguncian bagi pengguna. Dari yang
sebelumnya cuma penguncian pola (pattern lock), belakangan dilengkapi
dengan opsi penguncian PIN atau PIN lock.
6) Android Gingerbread
Menyadari kebutuhan user akan selfie, Google pun membangun versi
Gingerbread dengan kemampuan kamera depan untuk membidik foto
mandiri. Pada versi ini, pengguna juga bisa melihat desain ulang antarmuka
yang cukup signifikan. Selain itu, dari segi fungsi, Gingerbread
memungkinkan pengguna memencet keyboard virtual secara berbarengan
alias multitouch. Kemampuan ini dipertahankan hingga sekarang dengan
berbagai peningkatan kinerja.
7) Android Honeycomb
Sistem operasi ini mendukung kemampuan tombol virtual untuk home, back,
dan menu, untuk pertama kalinya. Sasarannya pun lebih ke perangkat tablet
ketimbang smartphone.
8) Android Ice Cream Sandwich
Versi ini memboyong kemampuan pada Honeycomb tapi lebih menyasar
smartphone. Contohnya saja kemampuan tombol virtual yang hingga
sekarang banyak diimplementasikan para vendor. Beberapa pembaruan fitur
unlock), analisa penggunaan data internet, serta paket aplikasi bawaan dari
vendor yang mencakup kalendar, mail, kalkulator, dan lainnya.
9) Android Jelly Bean
Nah, ini dia versi Android yang membawa pembaruan cukup signifikan
setelah beberapa kali update yang dilakukan Google hanya membawa
perbedaan minor. Salah satunya, Jelly Bean memungkinkan pengguna
menggulir (scroll) cepat home screen ke bawah untuk melihat kumpulan
informasi penting, seperti agenda, email, dan laporan cuaca. Sebelumnya,
pengguliran ke bawah cuma memperlihatkan notifikasi aplikasi. Selain itu,
Jelly Bean merupakan upaya pertama Google untuk menghadirkan asisten
digital yang dinamai Google Now. Mulai dari versi ini, Google semakin
berhasrat untuk membuat asisten digital yang lebih hidup, manusiawi, dan
relevan bagi pengguna.
10)Android 4.4 KitKat
Butuh setahun bagi Google untuk menghadirkan KitKat. Versi Android ini
memberikan suasana yang segar dengan pembaruan antarmuka beraksen
putih dan biru muda. Pada KitKat, Google menghadirkan perintah pencarian
menggunakan suara atau disebut "Ok, Google". Fitur ini dirundung
puji-pujian dari para pakar teknologi. Di saat bersamaan, Google juga
meluncurkan aplikasi pesan singkat Hangouts untuk pertama kalinya.
Sayangnya, belakangan Hangouts dilabeli sebagai layanan Google yang gagal
11)Android 5.0 Lollipop
Pembaruan yang mencolok pada Lollipop tampak dari sisi desainnya yang
diperhalus dan disesuaikan dengan zaman. Selain itu, fitur-fitur yang sudah
hadir pada Android sebelumnya ditingkatkan. Inovasi kurang terasa pada
versi ini. Satu-satunya yang lumayan baru adalah dukungan untuk gambar
berformat RAW. Format itu memungkinkan para ilustrator, fotografer, atau
graphic designer menyimpan file dengan ukuran besar agar bisa diedit tanpa
mengurangi kualitas.
12)Android 6.0 Marshmalow
Menu aplikasi pada Android Marshmallow benar-benar dibuat baru.
Desainnya membuat pengguna merasa naik kelas dari versi sebelumnya
karena lebih dinamis. Selain itu, ada juga fitur memory manager yang
memungkinkan pengguna mengecek penggunaan memori pada tiap aplikasi.
Rentan waktu pengecekannya bisa disetel dari tiga jam yang lalu hingga 24
jam sebelumnya. Pembaruan kedua ditilik dari pengaturan volume. Pada
Marshmallow, pengguna bisa mengontrol volume yang berbeda-beda pada
panggilan, media, dan alarm. Keamanan juga mendapat peningkatan pada
versi ini. Google memungkinkan vendor menyematkan sensor pemindai sidik
jari karena sudah didukung Marshmallow.
13)Android 7.0 Nougat
Nougat adalah versi Android termutakhir yang baru diperkenalkan pada ajang
kumpul developer Google I/O, pertengahan 2016 ini. Beberapa lama
Pembaruan paling mendasar pada versi Nougat adalah kehadiran Google
Assistant yang menggantikan Google Now. Asisten digital tersebut lebih bisa
diandalkan untuk menjalankan pelbagai fungsi. Fitur-fitur baru lainnya
mencakup layar split-screen saat dipakai multitasking, serta fitur Doze yang
telah dikenalkan di versi Android Marshmallow namun telah ditingkatkan.
Android Nougat juga memiliki dukungan terhadap platform virtual reality
terbaru Google.
2.3Database MySQL
Basis data (database) adalah kumpulan data yang disimpan secara sistematis di
dalam komputer yang dapat diolah atau dimanipulasi menggunakan perangkat
lunak (program aplikasi) untuk menghasilkan informasi. Pendefinisian basis data
meliputi spesifikasi berupa tipe data, struktur data dan juga batasan-batasan pada
data yang akan disimpan. Basis data merupakan aspek yang sangat penting dalam
sistem informasi karena berfungsi sebagai gudang penyimpanan data yang akan
diolah lebih lanjut.
MySQL adalah suatu perangkat lunak database relasi (Relational
Database Management System atau RDBMS) seperti halnya Oracle, Postgresql,
SQL (Structured Query Language) adalah sebuah bahasa yang digunakan
untuk mengakses data dalam basis data relasional. Bahasa ini merupakan bahasa
standar yang digunakan dalam manajemen basis data relasional.
2.4XAMPP
XAMPP adalah perangkat lunak bebas yang mendukung banyak sistem operasi,
dan merupakan kompilasi dari beberapa program. Fungsinya adalah sebagai
server yang berdiri sendiri (localhost), yang terdiri atas program Apache Http
Server, MySql database, dan penerjemah bahasa yang ditulis dengan bahasa
pemrograman PHP dan Perl. Program ini tersedia dalam GNU Generic Public
License dan bebas, merupakan web server yang mudah digunakan yang dapat
melayani tampilan halaman web yang dinamis.
2.5PHP
PHP adalah bahasa pemrograman script server-side yang didesain untuk
pengembangan web. Selain itu, PHP juga bisa digunakan sebagai bahasa
pemrograman umum (https://id.wikipedia.org/wiki/PHP). PHP di kembangkan
pada tahun 1995 oleh Rasmus Lerdorf, dan sekarang dikelola oleh The PHP
PHP disebut bahasa pemrograman server side karena PHP diproses pada
komputer server. Hal ini berbeda dibandingkan dengan bahasa pemrograman
client-side seperti JavaScript yang diproses pada web browser (client).
Pada awalnya PHP merupakan singkatan dari Personal Home Page.
Sesuai dengan namanya, PHP digunakan untuk membuat website pribadi. Dalam
beberapa tahun perkembangannya, PHP menjelma menjadi bahasa pemrograman
web yang powerful dan tidak hanya digunakan untuk membuat halaman web
sederhana, tetapi juga website populer yang digunakan oleh jutaan orang seperti
wikipedia, wordpress, joomla, dll.
2.6Intregreted Development Environment (IDE)
IDE (Integrated Development Environment) adalah program komputer yang
memiliki beberapa fasilitas yang diperlukan dalam pembangunan perangkat lunak.
Tujuan dari IDE adalah untuk menyediakan semua utilitas yang diperlukan dalam
membangun perangkat lunak.
Sebuah IDE, atau secara bebas dapat diterjemahkan sebagai Lingkungan
Pengembangan Terpadu, setidaknya memiliki fasilitas:
1) Editor, yaitu fasilitas untuk menuliskan kode sumber dari perangkat lunak.
2) Compiler, yaitu fasilitas untuk mengecek sintaks dari kode sumber
kemudian mengubah dalam bentuk binari yang sesuai dengan bahasa
3) Linker, yaitu fasilitas untuk menyatukan data binari yang beberapa kode
sumber yang dihasilkan compiler sehingga data-data binari tersebut
menjadi satu kesatuan dan menjadi suatu program komputer yang siap
dieksekusi.
4) Debuger, yaitu fasilitas untuk mengetes jalannya program, untuk mencari
bug/kesalahan yang terdapat dalam program.
Sampai tahap tertentu IDE modern dapat membantu memberikan saran
yang mempercepat penulisan. Pada saat penulisan kode, IDE juga dapat
menunjukan bagian-bagian yang jelas mengandung kesalahan atau keraguan.
2.7Flowchart
Flowchart adalah sebuah diagram umum yang mempresentasikan sebuah
algoritma atau proses menggunakan beberapa bangun geometri untuk
memperlihatkan langkah-langkah yang dilakukan oleh program dalam
menyelesaikan masalah. Secara umum, flowchart juga digunakan di berbagai
bidang untuk menganalisis, mendesain, mendokumentasikan, atau mengelola
suatu proses atau program.
Flowchart merupakan langkah awal pembuatan program. Setelah
flowchart selesai disusun, selanjutnya pemrogram menerjemahkannya ke dalam
bentuk program menggunakan bahasa pemrograman. Berikut ini adalah
Tabel 2.1. Simbol Flowchart
No Nama Simbol Fungsi
1 Terminator
Digunakan untuk mewakili simbol start atau
end.
2 Arrow Menunjukkan alur proses.
3 Rectangle Menunjukkan langkah
pemrosesan.
4 Trapezium Simbol untuk
input-output.
5 Document Digunakan untuk
mewakili output.
8 Connector Simbol untuk
keluar-masuk atau penyambungan proses
pada halaman yang berbeda.
9 Manual Input Simbol untuk pemasukkan
11 Predefine Process
Simbol untuk pelaksanaan suatu bagian
(sub-prosedur)
12 Display Simbol yang menyatakan
peralatan output yang digunakan seperti layar,
printer, plotter.
13 Magnetic Disk Simbol yang digunakan
untuk penyimpanan data ke database.
14 Storage Data Simbol yang menyatakan
input yang berasal dari disk atau disimpan ke
disk.
2.8Data Flow Diagram
Data Flow Diagram (DFD) adalah suatu diagram yang menggunakan
notasi-notasi untuk menggambarkan arus dari data sistem, yang penggunaannya sangat
membantu untuk memahami sistem secara logika, tersruktur dan jelas. DFD
merupakan alat bantu dalam menggambarkan atau menjelaskan sistem yang
sedang berjalan logis.
Didalam DFD terdapat tiga level, yaitu :
1. Diagram Konteks
menggambarkan satu lingkaran besar yang dapat mewakili seluruh proses
yang terdapat di dalam suatu sistem. Merupakan tingkatan tertinggi dalam
ditunjukkan pada diagram konteks berikut aliran-aliran data utama menuju
dan dari sistem. Diagram ini sama sekali tidak memuat penyimpanan data
dan tampak sederhana untuk diciptakan.
2. Diagram Nol (DFD Level 1)
merupakan satu lingkaran besar yang mewakili lingkaran-lingkaran kecil
yang ada di dalamnya. Merupakan pemecahan dari diagram Konteks ke
diagram Nol. di dalam diagram ini memuat penyimpanan data.
3. Diagram Rinci
Lebih rinci lagi, diagram rinci adalah diagram yang menguraikan
proses-proses yang terdapat di dalam diagram nol.
Berikut merupakan simbol-simbol standar menurut Yourdan dan DeMarco
yang digunakan untuk membuat sebuah Data Flow Diagram.
Tabel 2.2. Simbol Data Flow Diagram
No Nama Simbol Fungsi
4 Simpanan Data Menunjukkan informasi
yang tersimpan.
Nama datastore
2.9Entity Relationship Diagram
Pengertian dari ERD (Entity Relationship Diagram) adalah suatu model untuk
menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar
data yang mempunyai hubungan antar relasi. ERD untuk memodelkan struktur
data dan hubungan antar data, untuk menggambarkannya digunakan beberapa
notasi dan simbol.
Pada dasarnya ada tiga komponen yang digunakan, yaitu :
1. Entitas
Entiti merupakan objek yang mewakili sesuatu yang nyata dan dapat dibedakan
dari sesuatu yang lain. Simbol dari entiti ini biasanya digambarkan dengan
persegi panjang.
2. Atribut
Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi
untuk mendes-kripsikan karakteristik dari entitas tersebut. Isi dari atribut
mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu dengan
yang lain. Gambar atribut diwakili oleh simbol elips.
3. Hubungan / Relasi
Hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang
berbeda.
Derajat relasi atau kardinalitas rasio menjelaskan jumlah maksimum hubungan
One to One (1:1) Setiap anggota entitas A hanya boleh berhubungan dengan
satu anggota entitas B, begitu pula sebaliknya.
One to many (1:M / Many) Setiap anggota entitas A dapat berhubungan dengan
lebih dari satu anggota entitas B tetapi tidak sebaliknya.
Many to Many (M:M) Setiap entitas A dapat berhubungan dengan banyak
entitas himpunan entitas B dan demikian pula sebaliknya
Tabel 2.3. Komponen ERD
No Nama Simbol Fungsi
1 Entitas Persegi panjang untuk
entitas
2 Atribut Ellips untuk atribut
3 Relasi Belah ketupat mewakili
relasi
4 Garis Garis menghubungkan
2.10 Freelance
Freelance adalah bekerja sacara lepas tanpa ikatan kontrak dengan perusahaan
tertentu, orang yang bekerja freelance disebut dengan freelancer, atau ada juga
yang menyebut sebagai pekerja lepas. Mereka bekerja secara mandiri, tidak terikat
tertentu. Kelebihan yang dimiliki seorang freelancer adalah mereka dapat
mengerjakan pekerjaan yang mereka terima dimana saja dan kapan saja, bahkan
saat berlibur pun seorang freelancer dapat mengerjakan pekerjaannya. Tak peduli
kapan dan dimana pekerjaan dilakukan, selama pekerjaan diselesaikan sebelum