Upload
wisnuandreanto
View
214
Download
1
Embed Size (px)
DESCRIPTION
BAB II GOPEL
Citation preview
5
BAB II
LANDASAN TEORI
2.1 Sistem Operasi Android
Sistem Operasi Android adalah sistem operasi yang berbasis Linux
untuk telepon seluler seperti telepon pintar dan komputer tablet. Android
menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi
mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya,
Google Inc. membeli Android Inc. Kemudian untuk mengembangkan Android,
dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras,
peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola,
Qualcomm, T-Mobile, dan Nvidia. Pada saat perilisan perdana Android, 5
November 2007, Android bersama Open Handset Alliance menyatakan
mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak,
Google merilis kode–kode Android di bawah lisensi Apache, sebuah lisensi
perangkat lunak dan standar terbuka perangkat seluler. Di dunia ini terdapat dua
jenis distributor sistem operasi Android. Pertama yang mendapat dukungan penuh
dari Google atau Google Mail Services (GMS) dan kedua adalah yang benar–
benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai
Open Handset Distribution (OHD).
Pada Juli 2005, Google bekerjasama dengan Android Inc, perusahaan
yang berada di Palo Alto, California Amerika Serikat. Sekitar September 2007
sebuah studi melaporkan bahwa Google mengajukan hak paten aplikasi telepon
seluler (akhirnya Google mengenalkan Nexus One, salah satu jenis telepon pintar
GSM yang menggunakan Android pada sistem operasinya. Telepon seluler ini
diproduksi oleh HTC Corporation dan tersedia di pasaran pada 5 Januari 2010).
Pada 9 Desember 2008, diumumkan anggota baru yang bergabung
dalam program kerja Android ARM Holdings, Atheros Communications
diproduksi oleh Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson,
Toshiba Corp, dan Vodafone Group Plc. Seiring pembentukan Open Handset
Alliance, OHA mengumumkan produk perdana mereka, Android, perangkat
bergerak (mobile) yang merupakan modifikasi kernel Linux 2.6. Sejak Android
6
dirilis telah dilakukan berbagai pembaruan berupa perbaikan bug dan penambahan
fitur baru. Telepon pertama yang memakai sistem operasi Android adalah HTC
Dream, yang dirilis pada 22 Oktober 2008. Pada penghujung tahun 2009
diperkirakan di dunia ini paling sedikit terdapat 18 jenis telepon seluler yang
menggunakan Android. Versi dari Android adalah sebagai berikut :
1. Android versi 1.1
2. Android versi 1.5 (Cupcake)
3. Android versi 1.6 (Donut)
4. Android versi 2.0/2.1 (Eclair)
5. Android versi 2.2 (Froyo: Frozen Yoghurt)
6. Android versi 2.3 (Gingerbread)
7. Android versi 3.0/3.1 (Honeycomb)
8. Android versi 4.0 (ICS: Ice Cream Sandwich)
9. Android versi 4.1 (Jelly Bean)
10. Android versi 4.2 (Jelly Bean)
Aplikasi Android ditulis dalam bahasa pemrograman java. Kode java dikompilasi
bersama dengan data file resource yang dibutuhkan oleh aplikasi, di mana
prosesnya di-package oleh tools yang dinamakan “apt tools” ke dalam paket
Android sehingga menghasilkan file dengan ekstensi apk. File apk itulah yang kita
sebut dengan aplikasi, dan nantinya dapat di install di perangkat mobile. [3] Fitur
yang tersedia di Android adalah:
1.Kerangka aplikasi: itu memungkinkan penggunaan dan penghapusan
komponen yang tersedia.
2.Dalvik mesin virtual: mesin virtual dioptimalkan untuk perangkat telepon
seluler.
7
3.Grafik: grafik di 2D dan grafis 3D berdasarkan pustaka OpenGL.
4.SQLite: untuk penyimpanan data.
5.Mendukung media: audio, video, dan berbagai format gambar (MPEG4,
H.264, MP3, AAC, AMR, JPG, PNG, GIF)
6.GSM, Bluetooth, EDGE, 3G, 4G dan WiFi (tergantung piranti keras)
7.Kamera, Global Positioning System (GPS), kompas, NFC dan
accelerometer (tergantung piranti keras).
2.2 Cloud Storage
Cloud Storage adalah layanan penyimpanan file di internet yang mana
file yang disimpan disitu dapat dikelola dari mana saja selama penggunanya
terhubung ke cloud storage tersebut melalui internet.[7] Merupakan metode
penyimpan data berbasis online (Web based). Dimana data disimpan pada tempat
penyimpanan virtual di dalam server web hosting, yang berfungsi sebagai pusat
data. Kelebihan dari cloud storage antara lain data dapat diakses darimana saja
dan kapanpun asalkan tersedia akses internet, memungkinkan data untuk di share
dan dapat digunakan sebagai tempat untuk membackup data dari pc atau laptop ke
cloud storage, dengan begitu ketika suatu ketika jika data pada pc atau laptop
hilang atau corrupt anda dapat mendapatkan salinan data yang telah di backup
sebelumnya di colud storage. Keamanan dari data tergantung dari web hosting itu
sendiri.
2.3 Bahasa Pemrograman Java
Java telah digunakan dalam banyak hal dan telah membuktikan
keberadaannya pada abad ke 21. Saat ini, Java digunakan bermacam jenis aplikasi
seperti aplikasi embedded, aplikasi keuangan, desktop, simulasi pesawat,
pemrosesan citra, game, aplikasi perusahaan terdistribusi yang disebut J2EE dan
masih banyak lagi.[8] Java dapat dijalankan di berbagai komputer termasuk telepon
genggam. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di
Sun Microsystems saat ini merupakan bagian dari Oracle dan dirilis tahun 1995.
Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun
dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras
8
bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya dikompilasi ke
dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java
(JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik
(general purpose), dan secara khusus didisain untuk memanfaatkan dependensi
implementasi seminimal mungkin. Karena fungsionalitasnya yang memungkinkan
aplikasi java mampu berjalan di beberapa platform sistem operasi yang berbeda,
java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun". Saat ini
java merupakan bahasa pemrograman yang paling populer digunakan, dan secara
luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi
ataupun aplikasi berbasis web.
2.4 PHP
PHP (akronim dari PHP Hypertext Preprocessor) yang merupakan
bahasa pemrogramman berbasis web yang memiliki kemampuan untuk
memproses data dinamis. PHP dikatakan sebagai sebuah server-side embedded
script language artinya sintaks-sintaks dan perintah yang kita berikan akan
sepenuhnya dijalankan oleh server tetapi disertakan pada halaman HTML biasa.
Aplikasi-aplikasi yang dibangun oleh PHP pada umumnya akan memberikan
hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan di server.
Pada prinsipnya server akan bekerja apabila ada permintaan dari client.
PHP (Hypertext Preprocessor) adalah bahasa server side scripting yang
didesain khusus untuk web. Pada halaman HTML yang dapat disisipkan (embed)
kode PHP. Kode PHP dieksekusi di sisi server bukan di komputer klien. Dan hasil
yang ditampilkan adalah kode HTML murni.[4] PHP sendiri merupakan singkatan
dari Personal Home Page tool. Script ini akan membuat suatu aplikasi yang dapat
diintregasikan ke dalam HTML, sehingga suatu halaman web tidak lagi bersifat
statis, namun menjadi dinamis.
2.5 XML
XML (Extensible Markup Language) adalah bahasa markup untuk
keperluan umum yang disarankan oleh W3C untuk membuat dokumen markup
keperluan pertukaran data antar sistem yang beraneka ragam. XML merupakan
9
kelanjutan dari HTML (HyperText Markup Language) yang merupakan bahasa
standar untuk melacak Internet. XML didesain untuk mempu menyimpan data
secara ringkas dan mudah diatur. Kata kunci utama XML adalah data yang jika
diolah bisa memberikan informasi. XML menyediakan suatu cara terstandarisasi
namun bisa dimodifikasi untuk menggambarkan isi dari dokumen. Dengan
sendirinya, XML dapat digunakan untuk menggambarkan sembarang view
database, tetapi dengan suatu cara yang standar. Keunggulan XML bisa diringkas
sebagai berikut :
1. Pintar (Intelligence). XML dapat menangani berbagai tingkat (level)
kompleksitas.
2. Dapat beradaptasi. Dapat mengadaptasi untuk membuat bahasa sendiri.
Seperti Microsoft membuat bahasa MSXML atau Macromedia
mengembangkan MXML.
3. Mudah pemeliharaannya.
4. Sederhana. XML lebih sederhana.
5. Mudah dipindah-pindahkan (Portability). XML mempunyai kemudahan
perpindahan (portabilitas) yang lebih bagus.
2.6 Basisdata
Basisdata adalah kumpulan file/table/arsip yang saling berhubungan
dan disimpan di dalam media penyimpanan elektronik.[5] Menurut Ramez Elmasri
mendefinisikan basis data lebih dibatasi pada arti implisit yang khusus, yaitu:
1. Basis data merupakan penyajian suatu aspek dari dunia nyata (real
world).
2. Basis data merupakan kumpulan data dari berbagaisumber yang secara
logika mempunyai arti implisit. Sehingga data yang terkumpul
secara acak dan tanpa mempunyai arti, tidak dapat disebut basis
data.
3. Basis data perlu dirancang, dibangun dan data dikumpulkan untuk suatu
tujuan. Basis data dapat digunakan oleh beberapa userdan beberapa
aplikasi yang sesuai dengan kepentingan user.
10
2.6.1 Database MySQL
MySql merupakan software yang tergolong database server dan bersifat
Open Source. Open Source menyatakan bahwa software ini dilengkapi dengan
source code (kode yang dipakai untuk membuat MySql), selain tentu saja bentuk
executable-nya atau kode yang dapat dijalankan secara langsung dalam sistem
operasi , dan bisa diperoleh dengan cara mengunduh di Internet secara gratis.[6]
MySQL adalah Relation Database Management System (RDBMS) yang
didistribusikan secara gratis dibawah lisensi GPL (General Public License).
Dimana setiap orang bebas untuk menggunakan MySql, namun tidak boleh
dijadikan turunan yang bersifat komersial.[6] Tidak sama dengan proyek-proyek
seperti Apache, dimana perangkat lunak dikembangkan oleh komunitas umum,
dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing,
MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL
AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua
orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah:
David Axmark, Allan Larsson, dan Michael "Monty" Widenius.
MySQL adalah sebuah implementasi dari sistem manajemen basisdata
relasional (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL
(General Public License). Setiap pengguna dapat secara bebas menggunakan
MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan
produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan
salah satu konsep utama dalam basisdata yang telah ada sebelumnya; SQL
(Structured Query Language). SQL adalah sebuah konsep pengoperasian
basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data, yang
memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.
MySQL memiliki beberapa keistimewaan, antara lain :
1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi
seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga,
dan masih banyak lagi.
2. Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai
perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat
digunakan secara gratis.
11
3. Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam
waktu yang bersamaan tanpa mengalami masalah atau konflik.
4. Performance tuning, MySQL memiliki kecepatan yang menakjubkan
dalam menangani query sederhana, dengan kata lain dapat memproses
lebih banyak SQL per satuan waktu.
5. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya,
seperti signed / unsigned integer, float, double, char, text, date,
timestamp dan lain-lain.
6. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara
penuh yang mendukung perintah Select dan Where dalam perintah
(query).
7. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level
subnetmask, nama host, dan izin akses user dengan sistem perizinan
yang mendetail serta sandi terenkripsi.
8. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data
dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta
dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat
ditampung mencapai 32 indeks pada tiap tabelnya.
9. Konektivitas. MySQL dapat melakukan koneksi dengan klien
menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes
(NT).
2.6.2 Database SQlite
SQLite adalah embedded SQL database engine. Tidak seperti
kebanyakan database SQL lainnya, SQLite tidak memiliki proses server yang
terpisah. SQLite membaca dan menulis secara langsung ke file disk biasa. Sebuah
database SQL lengkap dengan multiple tables, indices, triggers, dan views, yang
terkandung dalam sebuah file disk tunggal. Format file database adalah cross-
platform. Fitur-fitur ini membuat SQLite menjadi pilihan populer sebagai format
file aplikasi.[9]
Merupakan sebuah sistem manajemen basisdata relasional yang bersifat
ACID-compliant dan memiliki ukuran pustaka kode yang relatif kecil, ditulis
12
dalam bahasa C. SQLite merupakan proyek yang bersifat public domain yang
dikerjakan oleh D. Richard Hipp. Tidak seperti pada paradigma client-server
umumnya, Inti SQLite bukanlah sebuah sistem yang mandiri yang berkomunikasi
dengan sebuah program, melainkan sebagai bagian integral dari sebuah program
secara keseluruhan. Sehingga protokol komunikasi utama yang digunakan adalah
melalui pemanggilan API secara langsung melalui bahasa pemrograman.
Mekanisme seperti ini tentunya membawa keuntungan karena dapat mereduksi
overhead, latency times, dan secara keseluruhan lebih sederhana. Seluruh elemen
basisdata (definisi data, tabel, indeks, dan data) disimpan sebagai sebuah file.
Kesederhanaan dari sisi disain tersebut bisa diraih dengan cara mengunci
keseluruhan file basis data pada saat sebuah transaksi dimulai.
Pustaka SQLite mengimplementasikan hampir seluruh elemen-elemen
standar yang berlaku pada SQL-92, termasuk transaksi yang bersifat atomic,
konsistensi basisdata, isolasi, dan durabilitas (dalam bahasa inggris lebih sering
disebut ACID), trigger, dan kueri-kueri yang kompleks. Tidak ada pengecekan
tipe sehingga data bisa dientrikan dalam bentuk string untuk sebuah kolom bertipe
integer. Beberapa kalangan melihat hal ini sebagai sebuah inovasi yang
menambah nilai guna dari sebuah basisdata, utamanya ketika digunakan dalam
bahasa pemrograman berbasis script (PHP, Perl), sementara kalangan lain
melihat hal tersebut sebagai sebuah kekurangan. Beberapa proses ataupun thread
dapat berjalan secara bersamaan dan mengakses basisdata yang sama tanpa
mengalami masalah. Hal ini disebabkan karena akes baca data dilakukan secara
paralel. Sementara itu akses tulis data hanya bisa dilakukan jika tidak ada proses
tulis lain yang sedang dilakukan; jika tidak, proses tulis tersebut akan gagal dan
mengembalikan kode kesalahan (atau bisa juga secara otomatis akan mencobanya
kembali sampai sejumlah nilai waktu yang ditentukan habis). Hanya saja ketika
sebuah tabel temporer dibuat, mekanisme penguncian pada proses multithread
akan menyebabkan masalah. Update yang terkini (versi 3.3.4) dikatakan telah
memperbaiki masalah ini.
Sebuah program yang mandiri dinamakan sqlite disediakan dan bisa
digunakan untuk mengeksekusi kueri dan memanajemen file-file basisdata
13
SQLite. Program tersebut juga merupakan contoh implementasi penulisan aplikasi
yang menggunakan pustaka SQLite. Integrasi SQLite dengan bahasa lain :
1. SQLite termasuk dalam framework REALbasic, yang memungkinkan
aplikasi yang dikembangkan dengan menggunakan REALbasic dapat
memanfaatkan basisdata SQLite.
2. Pustaka SQLite bisa digunakan secara langsung pada bahasa C/C++,
namun untuk Tcl dan beberapa bahasa pemrograman berbasis script
juga tersedia.
3. Modul DBI/DBD untuk Perl juga tersedia pada CPAN, DBD:SQLite,
namun modul ini bukanlah antarmuka dengan SQLite melainkan
memasukkan SQLite secara keseluruhan dalam modul tersebut.
4. Modul Python juga tersedia (PySQLite) yang diimplementasikan pada
DB API Python versi 2.0 (PEP 249)
5. PHP dimulai dengan PHP5 telah memasukkan SQLite, versi PHP4
sebelumnya bisa juga digunakan untuk mengakses SQLite, namun
modul SQLite tidak dimasukan secara standar bawaan.
6. Dimulai Lazarus versi 0.9.8 dan Free Pascal 2.0.0, SQLite didukung
untuk digunakan oleh para programmer. Tutorial tersebut bisa
didapatkan disini.
7. Meskipun borland tidak mempaketkan SQLite secara standar bawaan,
Delphi sudah mendukung SQLite juga menggunakan pustaka yang
dibuat oleh pihak ketiga (Aducom dan Zeos). Banyak program
administrasi basisdata SQLite baik komersil ataupun bebas yang
menawarkan kemudahan-kemudahan dalam memanajemen basisdata
SQLite terdapat di internet dibuat dengan menggunakan bahasa ini.
8. SQLite juga termasuk dalam paket yang dibundle secara standar bawaan
pada Mac OS X, dan digunakan sebagai salah satu pilihan mekanisme
penyimpanan data pada API Apple.