commit to user
5
BAB II LANDASAN TEORI
1.
Android
Android
adalah sistem operasi yang berbasis
Linux
untuk telepon seluler seperti
smartphone
dan komputer tablet yang meliputi sistem operasi,
middlewa re
inti yang di
realese
oleh
Google
.
Android
menyediakan
platform
terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan
oleh bermacam peranti bergerak.
Google Inc
. membeli
Android Inc
, pada tahun 2005. Pembukaan dari distribusi
Android
pada tahun 2007 diumumkan dengan dibentuknya
Open Handset Alliance
, sebuah konsorsium dari 86 perangkat keras, perangkat lunak, dan perusahaan telekomunikasi yang ditujukan untuk
memajukan standar terbuka untuk perangkat
mobile
.
Google
merilis
Android
sebagai
open-source
, di bawah
Apache License
. Anonim-1, 2012
1.1 Fitur
Android
Android
memiliki beberapa fitur-fitur yang membedakannya dari sistem operasi lainnya, fitur-fitur yang dimiliki
android
antara lain : a.
Kerangka aplikasi
Framework
: memungkinkan penggunaan dan penghapusan komponen yang tersedia.
b. Dalvik mesin virtual: mesin virtual dioptimalkan untuk perangkat mobile.
c. Grafik: grafik di 2D dan grafis 3D berdasarkan pustaka
OpenGL
. d.
SQLite Database Open Source
yang tertanam ke
Android
.
SQLite
mendukung fitur database relasional standar seperti sintaks SQL, transaksi dan pernyataan siap. Selain itu hanya memerlukan sedikit memori pada
saat
runtime
sekitar 250 KByte.
SQLite
mendukung tipe data
Text
mirip dengan
String
di
Java
,
Integer
mirip dengan Long di java, dan Real mirip dengan double di java. Semua jenis lain harus dikonversi ke dalam
salah satu bidang sebelum menyimpannya dalam database. SQLite sendiri tidak memvalidasi jika jenis ditulis untuk kolom sebenarnya dari jenis
commit to user
didefinisikan, misalnya Kita dapat menulis sebuah integer ke string dan kolom sebaliknya Siregar, 2011
e. Mendukung media: audio, video, dan berbagai format gambar MPEG4,
H.264, MP3, AAC, AMR, JPG, PNG, GIF f.
GSM,
Bluetooth
, EDGE, 3G, dan WiFi
hardwa re dependent g.
Global Positioning System GPS
h. Lingkungan pengembangan yang kaya, termasuk emulator, peralatan
debugging
, dan
plugin
untuk Eclipse IDE.
1.2 Arsitektur
Android
Sistem operasi
Android
memiliki 4 lapisan layer yang merupakan komponen sistem
Android
. Gambar berikut merupakan lapisan arsitektur sistem operasi
Android
:
Gambar 2.1 Arsitektur Android Anonim-2, 2012
commit to user
a. Linux Kernel
Tumpukan paling bawah pada arsitektur
Android
ini adalah kernel.
Android
dibangun di atas kernel Linux 2.6 untuk inti sistem pelayanan seperti keamanan, manajemen memori, proses manajemen, susunan jaringan, dan driver
model. Linux kernel menyediakan driver layar, kamera,
keypad
, kamera, WiFi, memori flash, audio, dan IPC
Interprocess Communication
untuk mengatur aplikasi dan keamanan. Kernel juga bertindak sebagai lapisan yang abstrak antara
hardware
dan
softwa re
stack-nya. Namun secara keseluruhan android bukanlah linux, karena dalam android tidak terdapat paket standar yang dimiliki oleh linux
lainnya. Anonim-3, 2012
b. Android Runtime
Android
terdiri dari satu
set core
libraries
yang menyediakan sebagian besar fungsi yang tersedia pada core libraries bahasa pemrograman Java. Setiap
aplikasi menjalankan sendiri prosesnya dalam
Android
, dengan setiap instansinya dari
Dalvik Virtual Machine
. Anonim-3, 2012
c. Library
Bertempat di level yang sama dengan
Android Runtime
adalah
Libra ries
. Android menyertakan satu set
library-library
dalam bahasa CC++ yang digunakan oleh berbagai komponen yang ada pada sistem Android. Kemampuan
ini dapat diakses oleh programmer melewati
Android application framework.
Sebagai contoh Android mendukung pemutaran format audio, video, dan gambar. Beberapa library penting dari Android adalah sebagai berikut :
1.
System C libra ry
, diturunkan dari implementasi standard C system library libc milik BSD, dioptimasi untuk piranti embedded berbasis Linux.
2.
Surface Manager
. Android menggunakan managemen interface berbasis composite, seperti yang digunakan oleh Windows Vista atau Compiz, tetapi
dalam bentuk yang lebih sederhana. Hal ini menjadikan sistem mampu membuat tampilan menjadi menarik pada layar.
commit to user
3. 2D dan 3D
Graphics
. Elemen dua dan tiga dimensi dapat digabungkan dalam satu tampilan
Android
.
Library
akan menggunakan perangkat 3D jika handphone memiliki hardware untuk akselerasi 3D.
4. Media Libraries, berdasarkan
PacketVideo’s
OpenCORE
;
library-library
ini mendukung
playback
dan
recording
dari berbadai format audio and video populer, meliputi MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG.
5.
SQLite relational
database engine yang powerful dan ringan tersedia untuk semua aplikasi.
6.
FreeType
, bitmap dan vector font rendering
d. Application Framework
Pengembang memiliki akses penuh terhadap framework API yang sama yang digunakan oleh aplikasi inti. Arsitektur aplikasi dirancang agar komponen
dapat digunakan kembali
reuse
dengan mudah. Semua aplikasi yang merupakan rangkaian layanan dan sistem, termasuk:
1.
View set
kaya dan extensible yang dapat digunakan untuk membangun aplikasi, termasuk daftar, kotak teks, tombol, dan bahkan sebuah
embeddable web. 2.
Content
provider yang memungkinkan aplikasi untuk mengakses data seperti dari daftar kontak telepon atau dari data mereka sendiri.
3.
Resource manager
, yang menyediakan akses ke kode sumber non-lokal seperti string, gambar, dan tata letak file.
4.
Notification
manager yang memungkinkan aplikasi untuk ditampilkan dalam alert status bar.
5.
Activity manager
yang mengelola siklus hidup aplikasi dan menyediakan navigasi umum.
commit to user
e. Application
Pada lapisan teratas adalah aplikasi itu sendiri. Di lapisan inilah merupakan fungsi-fungsi dasar smartphone seperti menelepon dan mengirim
pesan singkat, menjalankan web browser, mengakses daftar kontak, dan lain-lain. Bagi rata-rata pengguna, lapisan inilah yang paling sering mereka akses. Mereka
mengakses fungsi-fungsi dasar tersebut melalui user interface.
1.3
Android
SDK
Software Development Kit
Android
SDK merupakan tools menyediakan Tools dan API yang akan digunakan oleh para programmer yang ingin mengembangkan aplikasi berbasis
google
android
dengan bahasa pemrograman Java.
Android
SDK mencakup seperangkat alat pengembangan yang komprehensif.
Android
SDK terdiri dari
debugger, libraries, handset emulator, dokumentasi
, contoh
kode
dan
tutorial
. Saat ini
Android
sudah mendukung arsitektur x86 pada Linux distribusi Linux apapun untuk desktop modern, Mac OS X 10.4.8 atau lebih, Windows XP atau
Vista. Persyaratan mencakup JDK, Apache Ant dan Python 2.2 atau yang lebih baru. IDE yang didukung secara resmi adalah Eclipse 3.2 atau lebih dengan
menggunakan plugin
Android
Development Tools ADT, dengan ini pengembang dapat menggunakan teks editor untuk mengedit file
Java dan XML
serta menggunakan peralatan command line untuk menciptakan, membangun, melakukan debug aplikasi
Android
dan pengendalian perangkat
Android
misalnya, reboot, menginstal paket perangkat lunak dengan jarak jauh.
Android
SDK telah dirilis pada tanggal 12 November 2007. Dan pada tanggal 15 Juli 2008 tim
Android Developer Challenge
sengaja mengirimkan email ke semua pendatang di
Android Developer Challenge
untuk mengumumkan bahwa rilis SDK terbaru telah tersedia pada halaman download pribadi. Email
tersebut juga ditujukan kepada pemenang
Android Developer Challenge
putaran pertama. Sebuah penyataan bahwa Google telah menyediakan rilis SDK terbaru
untuk beberapa pengembang dan bukan untuk orang lain.
commit to user
Pada tanggal 18 Agustus 2008,
Android
SDK 0.9 beta dirilis. Rilis ini menyediakan API yang diperbarui dan diperluas, perbaikan pada alat
pengembangan dan desain terbaru untuk layar awal. Petunjuk untuk
upgrade
SDK sudah tersedia pada rilis sebelumnya. Pada tanggal 23 September 2008,
Android
1.0 SDK telah dirilis. Pada tanggal 9 Maret 2009,
Google
merilis versi 1.1 untuk telepon seluler
Android
. Rilis terbaru tersebut termasuk dukungan untuk pencarian dengan suara, harga aplikasi, perbaikan jam alarm, perbaikan pengiriman gmail,
perbaikan surat pemberitahuan dan peta. Pada pertengahan Mei 2009, Google merilis versi 1.5 Cupcake pada
sistem operasi
Android
dan SDK. Pembaruan ini termasuk banyak fitur baru seperti perekaman video, dukungan untuk bluetooth, sistem keyboard pada layar
dan pengenalan suara. Rilis ini juga membuka
AppWidget
framework kepada para pengembang yang memungkinkan orang untuk membuat widget sendiri pada
halaman
home
. Pada September 2009 versi 1.6 Donut dirilis yang menampilkan hasil pencarian yang lebih baik dan penggunaan indikator baterai.
Aplikasi
Android
dipaketkan ke dalam format .apk dan disimpan pada folder dataapp. Pengguna dapat menjalankan perintah adb root untuk mengakses
folder tersebut karena root memiliki izin untuk mengakses folder tersebut. Mulyadi , 2012
1.4
Android
ADT
Android Development Tools
Menurut Developer
Android
, 2012,
Android Development Tools
ADT adalah plugin untuk Eclipse IDE yang dirancang untuk memberikan utilitas yang
terintegrasi yang kuat untuk membangun aplikasi Android. ADT memungkinkan untuk memberikan kemampuan pada Eclipse untuk membuat proyek baru pada
Android
, membuat UI aplikasi, menambahkan komponen berdasarkan framework API
Android
, debug aplikasi, dan pemaketan aplikasi
Android
.
commit to user
2.
Eclipse IDE Integrated Development Environment
Integrated Development Environment
IDE 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
The Official Eclipse Faqs. Eclipse
adalah sebuah IDE untuk mengembangkan perangkat lunak dan dapat dijalankan di semua
platform platform-independent.
Berikut ini adalah sifat dari
Eclipse
: 1.
Multi-platform
. Target sistem operasinya adalah
Microsoft Windows
, Linux, Solaris, AIX, HP-UX dan Mac OS X.
2.
Multi-language
yang dikembangkan dengan bahasa pemrograman Java, akan tetapi
Eclipse
mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti CC++, Cobol, Python, Perl, PHP, dan lain
sebagainya. 3.
Multi-role
, yaitu selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat
lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.
Eclipse
pada saat ini merupakan salah satu
IDE
favorit dikarenakan gratis dan
open source
, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari
Eclipse
yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan
komponen yang dinamakan plug-in.
3.
PHP Hypertext Preprocessor
PHP
adalah bahasa skrip server-side yang ditanamkan atau disisipkan ke dalam
HTML
,
PHP
banyak dipakai untuk membuat halaman web yang dinamis. Maksud dari skrip
server-side
adalah sintaks dan perintah-perintah yang diberikan akan sepenuhnya dijalankan di server tetapi disertakan pada dokumen
HTML
.
commit to user
Pembuatan web ini merupakan kombinasi antara
PHP
sendiri sebagai bahasa pemrograman dan HTML sebagai pembangun halaman web. Ketika seorang
pengguna internet akan membuka suatu situs yang menggunakan fasilitas skrip
server-side
PHP, maka terlebih dahulu server yang bersangkutan akan memproses semua perintah PHP di server lalu mengirimkan hasilnya dalam format HTML ke
web browser pengguna internet tadi. Dengan demikian seorang pengguna internet tidak dapat melihat kode program yang ditulis dalam PHP sehingga keamanan
dari halaman web menjadi lebih terjamin. Sutrisno Hadi, 2008. Tetapi tidak seperti ASP yang juga cukup dikenal sebagai skrip server-
side, PHP merupakan perangkat lunak yang
open source
gratis dan mampu lintas
platform
, yaitu dapat digunakan dengan sistem operasi dan web server apapun. PHP mampu berjalan di
Windows
dan beberapa versi Linux. PHP juga dapat dibangun sebagai modul pada web server Apache dan sebagai binary yang
dapat berjalan sebagai CGI. PHP dapat mengirim HTTP
header
, dapat menset cookies, mengatur otentikasi dan redirect users. PHP menawarkan koneksitas
yang baik dengan beberapa basis data, antara lain Oracle, Sybase, mSQL, MySQL, Solid, PostgreSQL, Adabas, FilePro, Velocis, dBase, Unix dbm dan tak
terkecuali semua database ber-interface ODBC. Juga dapat berintegrasi dengan beberapa library eksternal yang membuat dapat melakukan segalanya mulai dari
membuat dokumen PDF hingga memarsing XML. PHP juga mendukung komunikasi dengan layanan lain melalui protocol IMAP, SNMP, NNTP, POP3
atau bahkan HTTP. Bila PHP berada dalam halaman web, maka tidak lagi dibutuhkan pengembangan lingkungan khusus atau direktori khusus. Hampir
seluruh aplikasi berbasis web dapat dibuat dengan PHP. Namun kekuatan utama adalah konektivitas basis data dengan web. Dengan kemampuan ini akan
mempunyai suatu sistem basis data yang dapat diakses dari web. Kadir, 2003.
commit to user
4.
Unified Modeling Language
UML
UML adalah sebuah bahasa yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML
menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML model dapat dibuat untuk semua jenis aplikasi piranti lunak,
dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga
menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam berbagai bahasa berorientasi objek seperti C++, Java,
C atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C.
Seperti bahasa lainnya, UML mendefinisikan notasi dan synta xsemantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai
diagram piranti lunak. Setiap bentuk memiliki makna tertentu dan UML synta x mendefinisikan bagaimana bentuk tersebut dapat dikombinasikan. Notasi UML
terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD Object-Oriented Design, Jim Rumbaugh OMT Object Modeling Technique dan
Ivar Jacobson OOSE Object-Oriented Software Engineering.
Dharwiyanti, dan Wahono, 2003
Diagram dalam UML sebagai berikut : 1.
Use Case Diagram 2.
Class Diagram 3.
Statechart Diagram dan Activity Diagram 4.
Sequence Diagram 5.
Collaboration Diagram 6.
Component Diagram 7.
Deployment Diagram
commit to user
5.1
Use Case
Diagram
Diagram
Use Ca se
adalah diagram yang menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem tersebut berinteraksi dengan dunia luar
dan menjelaskan sistem secara fungsional yang terlihat user. Biasanya dibuat pada awal pengembangan.
Use ca se
diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat
sistem, dan bukan “bagaimana”. Sebuah
use case
merepresentasikan sebuah interaksi antara aktor dengan sistem.
Use ca se
merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan
sebagainya. Seorang atau sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan system untuk melakukan pekerjaan-pekerjaan tertentu.
Use case
diagram dapat sangat membantu bila kita sedang menyusun
requirement
sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem.
Dharwiyanti, dan Wahono, 2003 Tabel 2.1 Simbol dalam Use Case Diagram
No. Simbol
Nama Deskripsi
1. Case
Menggambarkan proses kegiatan yang dapat diakukan oleh aktor
2. Actor
Menggambarkan entitas subyek yang dapat melakukan suatu proses
3. Relation
Relasi antara case dengan actor ataupun case dengan case lain.
UseCase
Actor
-End1 -End2
«uses» «extends»
commit to user
5.2
Class
Diagram
pemodelan desain dalam logical view dari suatu sistem.Selama proses analisa, class diagram memperhatikan aturan-aturan dan tanggung jawab entitas
yang menentukan perilaku sistem. Selama tahap desain,
class
diagram berperan dalam menangkap struktur dari semua kelas yang membentuk arsitektur sistem
yang dibuat.
Class
memiliki 3 area pokok yaitu : 1.
Nama dan stereotype 2.
Atribut 3.
Metoda Dharwiyanti, dan Wahono, 2003
Atribut dan metoda memiliki salah satu sifat dari 3 sifat berikut : 1.
Private
, tidak dapat dipanggil dari luar class yang bersangkutan. 2.
Protected
, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak dari class tersebut.
3.
Public
, dapat dipanggil oleh class manapun dalam paket tersebut.
commit to user
Tabel 2.2 Simbol dalam Class Diagram
commit to user
commit to user
5.3
Statechart
Diagram dan
Activity
Diagram
Statechart
diagram digunakan untuk memodelkan perilaku dinamis satu kelas atau objek.
Statechart
diagram memperlihatkan urutan keadaan sesaat
state
yang dilalui sebuah objek, Kejadian yang menyebabkan sebuah transisi dari suatu state atau aktivitas kepada yang lainnya.
Statechart
diagram khusus digunakan untuk memodelkan tahap-tahap diskrit dari sebuah siklus hidup
objek,sedangkan
Activity
diagram paling cocok untuk memodelkan urutan aktifitas dalam suatu proses.
Dharwiyanti, dan Wahono, 2003
Tabel 2.3 Simbol dalam Statechart Diagram dan Activity Diagram
commit to user
5.4
Sequence
Diagram
Sequence
Diagram menjelaskan interaksi objek yang disusun dalam suatu urutan waktu. Diagram ini secara khusus berasosiasi dengan
use-case
.
Sequence
diagram memperlihatkan tahap demi tahap apa yang harus terjadi untuk menghasilkan suatu didalam
use-case
diagram. Tipe diagram yang digunakan sebaiknya digunakan diawal tahap desain atau analisis karena kesederhanaannya
dan mudah untuk di mengerti Dharwiyanti, dan Wahono, 2003
Tabel 2.4 Simbol dalam Sequence Diagram
commit to user
20
BAB III ANALISA DAN PERANCANGAN
1. Deskripsi Umum