14
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

BAB II Gopel

Embed Size (px)

DESCRIPTION

BAB II GOPEL

Citation preview

Page 1: BAB II Gopel

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

Page 2: BAB II Gopel

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.

Page 3: BAB II Gopel

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

Page 4: BAB II Gopel

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

Page 5: BAB II Gopel

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.

Page 6: BAB II Gopel

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.

Page 7: BAB II Gopel

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

Page 8: BAB II Gopel

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

Page 9: BAB II Gopel

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.