Upload
eva-s-hidayat
View
228
Download
0
Embed Size (px)
Citation preview
7/22/2019 BAB II Presman
1/32
6
BAB 2
LANDASAN TEORI
Teori Umum
2.1 Perangkat Lunak
Menurut Roger Pressman dalam bukunya Software Engineering a
Practitioners Approach ( 2010, p13 ) perangkat lunak adalah teknologi yang
berlapis. Setiap pendekatan rekayasa perangkat lunak harus berakhir pada
komitmen organisasi ke kualitas. Manajemen mutu total, six sigma, dan filosofi
yang sama mengembangkan budaya proses perbaikan berkesinambungan, dan
budaya ini akhirnya mengarah pada pengembangan pendekatan yang semakin
efektif untuk rekayasa perangkat lunak. Landasan yang mendukung software
engineeringadalah fokus kualitas.
Menurut Pressman ( 2010, p13 ), komponen metodologi pengembangan
perangkat lunak dapat dibagi dalam tiga unit, yaitu :
ProsesProses rekayasa perangkat lunak adalah lem yang memegang lapisan
teknologi bersama dan memungkinkan pengembangan rasional dan tepat
waktu dari perangkat lunak komputer. Proses mendefinisikan kerangka
kerja untuk satu set area proses kunci yang harus dibentuk untuk
pengiriman yang efektif dari teknologi rekayasa perangkat lunak. Bidang
utama membentuk dasar bagi kontrol manajemen proyek perangkat lunak
dan menetapkan konteks dimana metode teknis telah diterapkan, produk
7/22/2019 BAB II Presman
2/32
7
kerja telah dihasilkan, milestone telah dibangun, kualitas dijamin, dan
perubahan dikelola dengan baik.
MetodeMetode rekayasa perangkat lunak memberikan teknik bagaimana
membangun perangkat lunak. Metode mencakup array yang luas dari
tugas-tugas yang mencakup analisis kebutuhan, desain, konstruksi
program, pengujian dan dukungan, rekayasa perangkat lunak relay
metode pada serangkaian prinsip dasar yang mengatur setiap area
teknologi dan termasuk aktivitas pemodelan dan teknik deskriptif lain.
PeralatanAlat rekayasa perangkat lunak memberikan dukungan otomatis atau
semi-otomatis untuk proses atau metode. Ketika alat terintegrasi sehingga
informasi yang dibuat oleh satu alat yang dapat digunakan oleh yang lain,
sebuah sistem untuk mendukung pengembangan perangkat lunak, yang
disebut Computer-Aided Software Engineering didirikan. CASE
menggabungkan software, hardware, dan database software engineering
untuk membuat lingkungan rekayasa perangkat lunak untuk analog CAD
/ CAE ( Computer-Aided Design / Engineering ) untuk hardware.
Gambar 2.1 Software Engineering Layers (Pressman, 2010, p14)
7/22/2019 BAB II Presman
3/32
8
2.1.1 WaterfallModelMenurut Pressman ( 2010, p39 ), salah satu model pengembangan
sistem adalah dengan model waterfall. Waterfall model adalah model
yang paling populer dan sering dianggap sebagai pendekatan klasik
dalam daur hidup pengembangan sistem. Adapun tahapannya sebagai
berkut :
CommunicationPada tahap ini akan dilakukan inisiasi proyek, seperti
menganalisis masalah yang ada dan tujuan yang akan dicapai.
Selain itu dilakukan juga requirements gathering, dimana akan
dikumpulkan requirementdari usermelalui analisis kuisioner.
PlanningTahap ini merupakan tahap dimana akan dilakukan estimasi
mengenai kebutuhan-kebutuhan yang diperlukan untuk membuat
sebuah sistem. Selain itu, penjadwalan dalam proses pengerjaan
juga ditentukan pada tahap ini.
ModelingKemudian mulai masuk pada tahap perancangan dimana
perancang menerjemahkan kebutuhan sistem kedalam representasi
untuk menilai kualitas sebelum tahap selanjutnya dikerjakan.
Tahap ini lebih difokuskan pada atribut program, seperti struktur
data, arsitektur perangkat lunak, dan detail prosedur.
7/22/2019 BAB II Presman
4/32
9
ConstructionTahap ini merupakan tahap dimana perancangan diterjemahkan ke
dalam bahasa yang dimengerti oleh mesin. Setelah itu dilakukan
pengetesan / pengujian terhadap sistem yang telah dibuat.
DeploymentSetelah proses pengkodean dan pengujian selesai, dilakukan
pengiriman yang artinya implementasi kepada masyarakat luas.
Pada tahap ini juga dilakukan pemeliharaan, perbaikan, dan
pengembangan agar sistem tersebut tetap dapat berjalan
sebagaimana fungsinya.
Urutan proses lebih jelasnya dapat dilihat pada gambar 2.2.
Gambar 2.2 WaterfallModel
2.2 Database
Database adalah kumpulan data yang saling berhubungan dan didesain
sedemikian rupa untuk memenuhi kebutuhan informasi dari suatu organisasi.
Database adalah sebuah tempat penyimpanan dari data yang digunakan secara
bersamaan oleh banyak departemen dan pengguna. Database tidak lagi dimiliki
oleh satu departemen tetapi menjadi sumber daya bersama dalam perusahaan.
7/22/2019 BAB II Presman
5/32
10
Databasetidak hanya memegang data operasional organisasi tetapi juga deskripsi
dari data tersebut. Untuk alasan ini, database juga diartikan sebagai sekumpulan
data terintegrasi yang mejelaskan dirinya sendiri. (Connolly dan Begg, 2010, p14).
2.2.1 Relational Database
Relational database adalah sebuah kumpulan dari relasi yang
telah dinormalisasi dengan nama relasi yang jelas (Connolly dan Beg,
2010, p74). Relational database merupakan suatu tipe database yang
berdasarkan model relational, dimana semua data dapat dilihat oleh
pengguna, disusun dalam bentuk tabel-tabel dan semua operasi pada
database bekerja pada tabel-tabel tersebut. Relasi antar tabel pada
relational database sudah melalui tahap normalisasi dengan nama relasi
yang berbeda-beda.
Terdapat 3 jenis relasi antar-record dalam tabel (Connolly dan
Beg, 2010, p344), yaitu:
1. Relasi one-to-one adalah relasi antara satu recorddengan satu recorddalam tabel lain yang saling berhubungan.
2. Relasi one-to-many adalah relasi antar satu record dengan lebih darisatu recorddalam tabel lain sehingga saling berhubungan.
3. Relasi many-to-many adalah relasi antar banyak recorddengan lebihdari satu record dalam tabel lain yang saling berhubungan.
2.2.2 Database Management System (DBMS)
DBMS (Database Management System) adalah sebuah sistem
software yang memungkinkan pengguna untuk mendefinisikan, memuat,
7/22/2019 BAB II Presman
6/32
11
memelihara, dan mengatur akses ke dalam database(Connolly dan Beg,
2010, p16). DBMS merupakan sebuah software yang berinteraksi dengan
pengguna program aplikasi dan database.
Sebuah DBMS menyediakan beberapa fasilitas sebagai berikut :
1. Data Definition Language (DDL)DDL adalah sebuah bahasa yang mengijinkan Database
Administrator atau pengguna untuk menggambarkan dan memberi
nama dari entitas, attribute, dan relationship yang dibutuhkan untuk
aplikasi bersama dengan semua kepercayaan yang berhubungan
dengan batasan keamanan (Connolly dan Begg, 2010, p41). Contoh
dari operasi DDL adalah create, drop, danaltertabel.
2. Data Manipulation Language (DML)DML adalah sebuah bahasa yang menyediakan sekumpulan operasi
yang mendukung operasi manipulasi data di dalam database.
(Connolly dan Begg, 2010, p41). Contoh dari operasi DML adalah
insertdan update.
3. Menyediakan kontrol akses ke database, sebagai contoh :a. Security system, dimana mencegah pengguna yang tidak
mempunyai hak untuk mengakses database.
b. Integrity system, dimana menjaga konsistensi dari data.c. Concurrency control system, dimana mengijinkan akses yang
terbagi dalam database.
d. Recovery control system, dimana mengembalikan kondisidatabasesebelum kegagalan hardware atau software.
7/22/2019 BAB II Presman
7/32
12
e. User-accessible catalog, dimana berisi deskripsi dari data dalamdatabase.
SQL adalah suatu bahasa yang dirancang untuk sistem operasi
pengaksesan data pada struktur relational database yang diinginkan
pengguna (Connolly dan Begg, 2010, p111). Operasi pengaksesan data
meliputi penyisipan data (insert), pengubahan data (update), pengambilan
data (select), dan penghapusan data (delete). Perintah-perintah di atas
dilakukan atas permintaan dari pengguna.
2.3 Unified Modelling Language (UML)
2.3.1 Sejarah UML
Pada tahun 1994, Grady Booch dan James Rumbaugh sepakat
menggunakan metode pengembangan berorientasi objek dengan tujuan
membuat proses standar tunggal untuk mengembangkan sistem
berorientasi objek. Ivar Jacobson bergabung pada tahun 1995, dan
mereka bertiga membuat suatu bahasa pemodelan objek standar sebagai
ganti dari pendekatan/metode berorientasi objek standar, yaitu Unified
Model Language (UML) yang dirilis pada tahun 1997.
2.3.2 Diagram UMLMenurut Whitten, dan Bentley, (2007) UML menawarkan
diagram-diagram dengan perspektif yang berbeda untuk memodelkan
suatu sistem. Berikut adalah macam-macam diagram, serta tujuannya:
7/22/2019 BAB II Presman
8/32
13
1. Diagram Use CaseDiagram use case secara grafis menggambarkan interaksi antara
sistem, sistem eksternal dan pengguna. Mendeskripsikan siapa
yang akan menggunakan sistem dan dalam cara apa pengguna
mengharapkan interaksi dengan sistem tesebut.
Gambar 2.3 Contoh Use Case Diagram (Whitten, 2007, p246)
NamaSimbol
Gambar Penjelasan
AktorApapun yang mempresentasikan seseorangatau sesuatu (seperti perangkat, sistem lain)
yang berinteraksi dengan sistem
Use Case
Gambaran fungsionalitas dari suatu sistem,sehingga customer atau pengguna sistempaham dan mengerti mengenai kegunaan
sistem yang akan dibangun
Tabel 2.1 Penjelasan Diagram Use Case
7/22/2019 BAB II Presman
9/32
14
2. DiagramActivity
Menggambarkan aliran aktivitas. Diagram ini digunakan untuk
memodelkan aksi yang akan dilakukan saat sebuah operasi
dieksekusi dan memodelkan hasil dari aksi tersebut.
Gambar 2.4 ContohActivityDiagram (Whitten, 2007, p392)
7/22/2019 BAB II Presman
10/32
15
Nama
SimbolGambar Penjelasan
Initial Nodelingkaran penuh yang
menggambarkan awal dari proses
Action
segiempat bersudut tumpul yang
menggambarkan sebuah kegiatanatau tugas yang perlu dilakukan
Flow
tanda panah pada diagram yang
menandakan sasaran yang
mengawali kegiatan
Decisionbentuk wajik yang menggambarkan
sebuah kegiatan keputusan
Fork
bar hitam penuh dengan 1 panahdatang dan keluar dengan panah
lebih dari 1 yang menggambarkan
kegiatan pararel
Join
bar hitam penuh dengan lebih dari 1panah datang dan keluar dengan 1
panah yang menggambarkan
penggabungan
Activity
Final
lingkaran penuh di dalam sebuah
lingkaran berlubang
menggambarkan akhir dari sebuahproses
Tabel 2.2 Penjelasan DiagramActivity (Whitten, 2007, p391)
7/22/2019 BAB II Presman
11/32
16
3. Diagram kelasMenggambarkan struktur objek sistem. Diagram ini menunjukan
kelas objek yang menyusun sistem dan hubungan antar kelas
objek tersebut.
Gambar 2.5 Contoh Class Diagram (Whitten, 2007, p406)
7/22/2019 BAB II Presman
12/32
17
Multiplicity
Notasi
Multiplicity
UML
Asosiasi denganMultiplicity Makna Asosiasi
Tepat 1
1 atau
biarkankosong
Seorang karyawan
bekerja pada satu
dan hanya satudepartemen
Nol atau 1 0..1
Seorang karyawanmemiliki satu
suami/ istri atautidak punya
suami/istri
Nol atau
lebih0..* atau *
Customer dapattidak melakukan
pembayaran
sampai beberapakali
1 atau lebih 1..*
Universitas
menawarkanpaling sedikit 1matakuliah sampai
beberapa
matakuliah
Kisaran
tertentu7..9
Tim memiliki
pertandinganterjadwal
sebanyak 7, 8, atau
9 pertandingan
Tabel 2.3 Multiplicity untuk Class Diagram (Whitten, 2007, p377)
7/22/2019 BAB II Presman
13/32
18
2.4 MultimediaMenurut Tay Vaughan (2011, p1) multimedia adalah kombinasi dari teks,
foto, seni grafis, suara, animasi, dan video yang dimanipulasi secara digital.
Multimedia yang memperbolehkan penggunanya untuk menentukan apa dan kapan
elemen multimedia disampaikan disebut sebagai multimedia interaktif. Sedangkan
multimedia interaktif yang menyediakan struktur elemen yang terhubung satu
sama lainnya dan pengguna dapat menavigasikannya disebut sebagai hypermedia.
Saat ini banyak pengguna yang menggunakan multimedia dengan beberapa
alasan, diantaranya mudah digunakan, menarik banyak perhatian, penyimpanan
yang lebih baik, antarmuka yang intuitif (mudah dimengerti), pengertian yang
lebih baik terhadap konten, dan lebih menyenangkan sehingga menjadi lebih
efektif.
2.4.1 Elemen Multimedia
Ada 5 elemen multimedia yang dijelaskan Vaughan (2011, p1) dalam
bukunya, Multimedia : Making It Work, yaitu:
1. TeksSebuah kata dapat memiliki banyak arti, jadi dalam pembuatan teks
sangat penting untuk memperhatikan ketepatan penggunaan kata.
Dalam multimedia, teks memainkan peranan penting dalam
penyampaian informasi kepada pengguna.
2. SuaraSuara adalah salah satu elemen multimedia yang paling bersensasi.
Penggunaan suara dalam suatu proyek multimedia akan membuat
multimedia tersebut terlihat biasa saja atau profesional.
7/22/2019 BAB II Presman
14/32
19
3. GambarElemen gambar biasanya dapat diubah ukurannya, warna atau
motif, transparansi, posisi, dan penampakannya. Cara mengatur
gambar dapat menentukan hubungan visual antara pengembang
dengan pengguna multimedia.
4. AnimasiAnimasi membuat suatu objek statik menjadi hidup. Animasi
merupakan perubahan visual bedasarkan waktu dan dapat
memberikan kekuatan dalam suatu proyek multimedia.
5. Video
Video adalah elemen multimedia yang dapat menarik perhatian
dalam suatu pertunjukkan. Dari semua elemen multimedia, video
memerlukan performance paling tinggi dari komputer, baik itu
memori ataupun penyimpanannya.
2.4.2 Interaksi Manusia Komputer (IMK)
Interaksi manusia-komputer adalah suatu area penelitian dan
praktek yang muncul pada awal tahun 1980, yang pada awalnya
memfokuskan diri dalam ilmu komputer. IMK telah berkembang pesat
selama tiga dekade, dan telah menarik berbagai pakar dari ilmu lain untuk
menggabungkan konsep dan pendekatan yang beragam.
Interaksi Manusia Komputer adalah suatu pembelajaran tentang
hubungan atau interaksi antara manusia dan komputer. IMK adalah suatu
ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi
7/22/2019 BAB II Presman
15/32
20
sistem komputer interaktif untuk digunakan manusia, serta pembelajaran
fenomena disekitarnya. IMK juga sering dianggap sebagai persimpangan
dari ilmu komputer, ilmu perilaku, ilmu desain dan bidang lainnya.
2.4.3 Delapan Aturan EmasDalam buku Designing the User Interface (Shneiderman, 2010,
p88-89), terdapat 8 (delapan) aturan yang dapat digunakan sebagai
petunjuk dasar yang baik untuk merancang suatu user interface. Delapan
aturan ini disebut denganEight Golden Rules of Interface Design, yaitu:
Berusaha keras untuk konsistenAturan ini adalah salah satu yang paling sering dilanggar, tetapi
untuk mengikutinya akan sedikit sulit karena ada banyak bentuk
konsistensi. Konsistensi urutan tindakan diperlukan dalam situasi
serupa; terminologi identik harus digunakan dalam prompt, menu,
dan layar bantuan; warna yang konsisten, tampilan, kapitalisasi,
jenis huruf dan sebagainya harus diterapkan di seluruh bagian.
Memenuhi kebutuhan menyeluruh / universalKenali kebutuhan pengguna yang beragam dan lakukan desain yang
fleksibel, dan memfasilitasi perubahan konten. Seorang pemula dan
seorang ahli memiliki perbedaan kemampuan dan kebutuhan.
Perbedaan usia, ketidak mampuan khusus, dan keragaman setiap
teknologi juga perlu diperhatikan. Menambahkan fitur untuk
pemula seperti penjelasan, serta fitur untuk ahli seperti shortcuts
7/22/2019 BAB II Presman
16/32
21
juga dapat memperkaya desain antar muka dan meningkatkan
kualitas sistem yang dirasakan.
Memberikan umpan balik yang informatifUntuk setiap tindakan pengguna, harus ada sistem umpan balik.
Untuk tindakan yang sering dan sederhana, dapat diberikan respon
yang sederhana, tetapi untuk tindakan yang jarang dan aksi yang
besar, maka respon yang diberikan juga harus lebih substansial.
Merancang dialog untuk menghasilkan penutupanUrutan tindakan hendaknya diorganisasi kedalam kelompok awal,
tengah, dan akhir. Umpan balik yang informatif pada penyelesaian
dari sekelompok tindakan memberikan kepuasan, rasa lega, dan
sinyal untuk mempersiapkan kelompok tindakan berikutnya.
Sebagai contoh, situs webe-commercememindahkan pengguna dari
pemilihan produk ke kasir, dan berakhir dengan halaman konfirmasi
yang jelas untuk melengkapi transaksi.
Memberikan penanganan kesalahan yang sederhana.Sebisa mungkin desain sistem sehingga pengguna tidak dapat
membuat kesalahan serius. Jika kesalahan dibuat, sistem harus
mampu mendeteksi kesalahan dan menawarkan mekanisme
sederhana, konstruktif, dan spesifik untuk pemulihan sehingga
pengguna tidak merasa bersalah dan mau untuk mengeksplorasi
lebih jauh lagi.
7/22/2019 BAB II Presman
17/32
22
Mengijinkan pembalikan aksi (undo) dengan mudah.Sebisa mungkin, tindakan harus dapat dibalikkan menjadi keadaan
sebelumnya. Fitur ini akan mengurangi kecemasan pengguna karena
mereka tahu bahwa kesalahan yang dibuat dapat diperbaiki dengan
demikian mendorong eksplorasi yang lebih jauh.
Dukungan kontrol internalPengguna yang berpengalaman, sangat menginginkan perasaan
bahwa mereka memegang kendali atas sistem dan bahwa sistem
merespon tindakan mereka.
Mengurangi beban ingatan jangka pendek.Manusia memiliki keterbatasan pengolahan informasi dalam suatu
waktu (manusia hanya dapat mengingat tujuh, plus atau minus dua
potongan informasi). Batasan ini berarti tampilan harus dibuat
sesederhana mungkin sehingga tidak membuat seorang user
bingung karena terlalu banyak info.
Teori Khusus
2.5 Mobile Platform
Menurut Tarkoma (2009), sebuah sistem operasi merupakan unit organisasi
dalam sistem komputer. Dalam hal ini sistem operasi berperan sebagai tampilan
interface antara aplikasi dan hardware. Fungsi utama dari sistem operasi adalah
administrasi penyediaan sumber daya operasi.
7/22/2019 BAB II Presman
18/32
23
Sebuah sistem mobile adalah sistem komputer yang tidak terhubung ke suatu
tempat tertentu. Hal ini memungkinkan untuk memindahkan atau membawa
perangkat tersebut seperti telepon genggam. Meskipun ada banyak kesamaan
antara stasionerdan sistem operasi mobile, ada juga perbedaan yang jelas dalam
hal mobilitas. Contoh untuk aplikasi di mana sistem operasi normal tidak bisa
digunakan adalah ABS (Anti-lock bracking system) kontrol pada mobil. Suatu
sistem operasi seperti Windows XP tidak cukup stabil untuk menjamin dapat
menjalankan sistem ABS untuk waktu yang lama. Contoh ini menunjukkan atribut
yang penting bagi sistem perangkat mobile manapun yaitu sistem harus stabil dan
terjamin.
Platform mobilememiliki sifat antara lain :
1. Koleksi layanan pusat dan librarydengan fungsi baik reaktif dan proaktif.2. Terdistribusi antar elemen dari fasilitas yang ada :
Multi-tier client-server Peer-to-peer Hybirds
3. Platform yang berjalan pada terminal mobiledan karakteristik dari perangkatmenentukan layanan seperti apa yang diberikan bagi pengguna akhir.
4. Skalabilitas server yang dapat dicapai melalui solusi tradisional yaituclusters, caching, geographical distribution, load balancing, data centers.
Contohplatform mobile yaitu WAE, Java ME, Symbian, MAEMO, Android,
Pervasive Computing Middleware, Spice dan Fuego.
7/22/2019 BAB II Presman
19/32
24
2.6 Android
Android adalah sebuah kumpulan perangkat lunak untuk perangkat mobile
yang mencakup sistem operasi, middleware dan aplikasi utama mobile. Android
memiliki empat karakteristik sebagai berikut:
1. TerbukaAndroid dibangun untuk benar-benar terbuka sehingga sebuah aplikasi dapat
memanggil salah satu fungsi inti ponsel seperti membuat panggilan, mengirim
pesan teks, menggunakan kamera, dan lain-lain. Android menggunakan sebuah
mesin virtual yang dirancang khusus untuk mengoptimalkan sumber daya
memori dan perangkat keras. Android merupakan open source, dapat secara
bebas disebarluaskan untuk memasukkan teknologi baru yang lebih maju pada
saat teknologi tersebut muncul. Platform ini akan terus berkembang untuk
membangun aplikasi mobileyang inovatif.
2. Semua aplikasi dibuat samaAndroid tidak memberikan perbedaan terhadap aplikasi utama dari telepon dan
aplikasi pihak ketiga (third-party application). Semua aplikasi dapat dibangun
untuk memiliki akses yang sama terhadap kemampuan sebuah telepon dalam
menyediakan layanan dan aplikasi yang luas terhadap para pengguna.
3. Memecahkan hambatan pada aplikasiAndroid memecah hambatan untuk membangun aplikasi yang baru dan
inovatif. Misalnya, pengembang dapat menggabungkan informasi yang
diperoleh dari web dengan data pada ponsel seseorang seperti kontak pengguna,
kalender, atau lokasi geografis.
7/22/2019 BAB II Presman
20/32
25
4. Pengembang aplikasi yang cepat dan mudahAndroid menyediakan akses yang sangat luas kepada semua pengguna untuk
menggunakan library dan tools yang diperlukan untuk membangun aplikasi
yang semakin baik. Android memiliki sekumpulan toolsyang dapat digunakan
sehingga membantu para pengembang dalam meningkatkan produktivitas pada
saat membangun aplikasi yang dibuat.
(Sumber : http://www.android.com/about/)
Google Inc. sepenuhnya membangun Android dan menjadikannya bersifat terbuka
(open source) sehingga para pengembang dapat menggunakan Android tanpa
mengeluarkan biaya untuk lisensi dari Google dan dapat membangun Android
tanpa adanya batasan-batasan. Android Software Development Kit (SDK)
menyediakan alat dan Application Programming Interface (API) yang diperlukan
untuk memulai pengembangan aplikasi pada platform Android menggunakan
bahasa pemrograman Java.
2.6.1 Sejarah Sistem Operasi Android
Telepon seluler menggunakan berbagai macam sistem operasi
seperti Symbian OS, Microsofts Windows Mobile, Mobile Linux,
iPhone OS (berdasarkan Mac OS X), Moblin (dari intel), dan
berbagai macam sistem operasi lainnya. API yang tersedia untuk
mengembangkan aplikasi mobile terbatas, oleh karena itulah Google
mulai mengembangkan dirinya. Platform Android menjanjikan
7/22/2019 BAB II Presman
21/32
26
keterbukaan, kemudahan untuk menjangkau, source code yang terbuka,
dan pengembanganframeworkyang high end.
Google membeli perusahaan Android Inc., yang merupakan
sebuah perusahaan kecil berbasis pengembangan perangkat lunak untuk
ponsel pada tahun 2005 untuk memulai pengembangan pada platform
mobile.Tokoh utama dari Android Inc. meliputi Andy Rubin, Rich Miner,
Nick Sears, dan Chris White.
Pada tanggal 5 November 2007, kelompok pemimpin industri
bersama-sama membentuk Open Handset Alliance (OHA) yang
diciptakan untuk mengembangkan standar terbuka bagi perangkat mobile.
OHA terdiri dari 34 anggota besar dan beberapa anggota yang terkemuka,
diantaranya sebagai berikut: Sprint Nextel, T-Mobile, Motorola,
Samsung, Sony Ericsson, Toshiba, Vodafone, Google, Inteldan
Texas Instruments.
Android SDK diliris pertama kali pada 12 November 2007 dan
para pengembang memiliki kesempatan untuk memberikan umpan balik
dari pengembangan SDK tersebut. Pada bulan September 2008, T-Mobile
memperkenalkan ketersedian T-Mobile G1 yang merupakan smartphone
pertama berbasiskanplatform Android. Beberapa hari kemudian, Google
merilis Android SDK 1.0. Google membuat source code dari platform
Android menjadi tersedia di bawah lisensiApaches open source.
Google merilis perangkat mobile (disebut Android Dev Phone1)
yang dapat menjalankan aplikasi Android tanpa terikat oleh berbagai
7/22/2019 BAB II Presman
22/32
27
jaringan provider telepon seluler pada akhir tahun 2008. Tujuan dari
perangkat ini adalah memungkinkan pengembang untuk melakukan
percobaan dengan perangkat sebenarnya yang dapat menjalankan
Android OS tanpa berbagai kontrak. Google juga merilis versi 1.1 dari
sistem operasi Android pada waktu yang tidak lama. Versi 1.1 dari
Android tidak mendukung adanya soft keyboard dan membutuhkan
perangkat yang memiliki keyboard secara fisik. Android menyelesaikan
masalah ini dengan merilis versi 1.5 pada bulan April 2009 dengan
sejumlah tambahan fitur seperti kemampuan perekaman media, widgets,
dan live folders.
Versi 1.6 dari Android OS dirilis pada bulan September 2009 dan
hanya dalam waktu satu bulan, versi Android 2.0 dirilis dan membanjiri
seluruh perangkat Android. Versi ini memiliki kemampuan advanced
search, text to speech, gestures, dan multi touch. Android 2.0
memperkenalkan kemampuan untuk menggunakan HTML karena
didukung oleh HTML 5. Semakin banyak aplikasi berbasiskan Android
setiap harinya yang terdapat pada Application Store secara online atau
dikenal sebagai AndroidMarket.
(Sumber: Katysovas, Tomas.(2008).A First Look of Google Android, p4)
2.6.2 Fitur Sistem Operasi Android
Menurut Tomas Katysovas ( 2008, p4 ) sistem operasi Android memiliki
fitur-fitur sebagai berikut:
7/22/2019 BAB II Presman
23/32
28
a. Kerangka kerja aplikasi (application framework)Digunakan untuk menuliskan aplikasi di Android sehingga
memungkinkan penggunaan kembali dan penggantian komponen.
Kerangka kerja ini didukung oleh berbagai open source libraries
seperti openssl, sqlite, dan libc serta didukung oleh librariesutama
Android. Kerangka kerja sistem operasi Android didasarkan pada
UNIX file system permission yang menjamin bahwa aplikasi-
aplikasi tersebut hanya memiliki kemampuan yang diberikan oleh
pemilik ponsel pada waktu penginstalan.
b. DalvikVirtual Machine(DVM)Dalvik Virtual Machine (DVM) adalah sebuah mesin virtual yang
menggunakan memori yang sangat rendah dan secara khusus
dirancang untuk Android untuk dijalankan pada embedded system.
DVM bekerja dengan baik pada situasi dengan tenaga yang rendah
dan mengoptimalkan perangkat mobile. DVM juga mengatur atribut
dari Central Processing Unit (CPU) serta membuat sebuah format
file yang spesial (.dex) yang dibuat selama build time post
processing. DVM dapat menggunakan kembali salinan informasi
dari beberapa class file dan secara efektif mengurangi kebutuhan
penyimpanan oleh setengah dariJava Archieve (.jar)file tradisional.
Konversi antara class Java dan format (.dex) dilakukan dengan
memasukkan dx-tool.
DVM menggunakan assembly-code yang berbeda dimana DVM
menggunakan register sebagai unit utama dari penyimpanan data
7/22/2019 BAB II Presman
24/32
29
daripada menggunakan stack. Hasil akhir dari executable-codepada
Android merupakan hasil dari DVM yang didasarkan bukan pada
Java byte-code melainkan pada file (.dex). Hal ini berarti bahwa
Java byte-code tidak dieksekusi secara langsung melainkan dimulai
dari Java class file terlebih dahulu dan kemudian
mengkonversikannya ke dalamfile(.dex) yang berhubungan.
c. Browseryang terintegrasiDidasarkan pada open source WebKit engine yang memiliki dua
layout dan pengelompokan frame. Layout menampilkan halaman
tanpa menunggu untuk melakukan pembalikan elemen eksternal
seperti Cascade Style Sheet (CSS)atau eksternal JavaScript. Fitur-
fitur inilah yang meningkatkan kecepatan dan penggunaan browsing
internetmelalui ponsel.
d. Grafik yang teroptimasiDidukung oleh library grafis 2D dan grafis 3D yang berdasarkan
spesifikasi OpenGl ES 1.0 (akselerasi perangkat keras bersifat
opsional)
e. SQLiteSQLite merupakan relational database management system yang
kecil (sekitar 500 kb) yang diintegrasikan pada sistem operasi
Android. SQLite didasarkan pada function calls dan single file,
dimana semua definisi, tabel, dan data disimpan.
f. Dukungan media untuk suara, video dan format gambar sepertiMoving Picture Experts Group 4 (MPEG4), MPEG-1 or MPEG-2
7/22/2019 BAB II Presman
25/32
30
Audio Layer 3 (MP3), Advanced Audio Coding (AAC), Adaptive
Multi-Rate(AMR) audio codec, Joint Photographic experts Group
(JPG), Portable Network Graphics (PNG), Graphics Interchange
Format(GIF).
g. GSM Telephony(bergantung dari perangkat keras yang digunakan)h. Bluetooth, Enhanced Data Rates for GSM Evolution (EDGE), 3rd
Generation (3G), dan WIFITM
(Bergantung dari perangkat keras
yang digunakan)
i. Kamera, Global Positioning System (GPS), kompas danaccelerometer(Bergantung dari perangkat keras yang digunakan)
j. Lingkungan pengembangan yang lengkap, seperti emulator,peralatan untuk debugging, memori dan performance profiling,
sertaplug-inuntuk Eclipse IDE.
2.6.3 Arsitektur Android
Menurut Speckmann ( 2008, p11 ), software stack dibagi dalam empat
layer yang berbeda, yang meliputi lima kelompok yang berbeda:
1. The Application LayerPlatform software Android akan datang dengan satu set aplikasi
dasar seperti browser, e-mail,program SMS, peta, kalender, kontak
dan banyak lagi. Semua aplikasi tersebut ditulis dengan bahasa Java.
Selain itu aplikasi dapat dijalankan secara bersamaan, sehingga
dimungkinkan untuk mendengar musik dan membaca e-mail pada
7/22/2019 BAB II Presman
26/32
31
saat yang sama.Layerini paling banyak digunakan oleh userponsel
pada umumnya.
2. The Application FrameworkSebuah aplikasi framework adalah suatu software framework yang
digunakan untuk menerapkan struktur standar aplikasi untuk sistem
operasi tertentu. Dengan bantuan manajer, penyedia konten dan
layanan lainnya programmer dapat menggunakan kembali fungsi-
fungsi yang digunakan oleh aplikasi lain yang sudah ada.
3. The LibrariesLibrary yang tersedia semua ditulis dengan bahasa pemrograman
C/C++. Mereka akan dipanggil melalui tampilan interfaceJava. Ini
termasuk Surface Manager, 2D dan 3D grafis,Media Codecseperti
MPEG-4 dan MP3, SQLDatabase, SQLite dan engine web browser
WebKit.
4. The RuntimeAndroid runtime terdiri dari dua komponen. Pertama menetapkan
inti libraryyang menyediakan sebagian besar fungsi yang tersedia
di inti librarytersebut dari pemrograman bahasa Java. Kedua mesin
virtual Dalvik yang beroperasi seperti penerjemah antara sisi
aplikasi dan sistem operasi. Setiap aplikasi yang berjalan pada
Android ditulis dalam bahasa Java. Sebagai sistem operasi yang
tidak dapat memahami bahasa pemrograman ini secara langsung,
progam Java akan diterima dan diterjemahkan oleh mesin virtual
Dalvik. Code yang diterjemahkan kemudian dapat dieksekusi oleh
7/22/2019 BAB II Presman
27/32
32
sistem operasi. Selain itu aplikasi tersebut dienkapsulasi dalam
Dalvik. Untuk setiap program memiliki mesin virtualnya sendiri
bahkan ketika beberapa program berjalan paralel.
Keuntungannya adalah bahwa program-program yang berbeda tidak
mempengaruhi satu sama lain, sehingga kesalahan program
misalnya dapat menyebabkan crash suatu program, tidak
menyebabkan kerusakan keseluruhan sistem.
5. The KernelThe Linux Kernelakan digunakan oleh Android sebagai divers dari
perangkatnya dalam hal pengaturan memori, pengaturan proses,
pengaturan input/output, pengaturan file, dan jaringan. Gambar 2.6
menunjukan komponen utama dari sistem operasi dalam Android.
Gambar 2.6 Arsitektur Android
Sumber: http://developer.android.com/guide/basics/what-is-android.html
7/22/2019 BAB II Presman
28/32
33
2.6.4 Fungsi Dalam Android
Menurut Murphy ( 2008, p3 ), fungsi-fungsi yang terdapat dalam Android
adalah:
1. ActivitiesBlok pemrograman dari tampilan interface user adalah activity.
Sebuah activitydapat digambarkan seperti sebuah tampilan chatbox
dalam desktop. Meskipun begitu sebuah activity memungkinkan
untuk tidak memilki tampilan interface user, kemungkinan besar
codetersebut akan dikemas dalam penyedia konten dan bukan pada
user.
2. Content ProvidersPenyedia konten memberikan tingkat abstraksi untuk setiap data
yang disimpan dalam perangkat yang dapat diakses oleh beberapa
aplikasi. Model pegembangan Android memungkinkan suatu data
dapat tersedia untuk beberapa aplikasi. Dengan begitu ketika
melakukan maintenance perbaikan data dapat dilakukan secara
terpusat.
3. IntensIntens adalah pesan sistem, berjalan di bagian dalam perangkat,
memberitahu aplikasi dari berbagai event, dari perubahan kondisi
hardware (misalnya, kartu SD terpasang) sampai keluarnya
masuknya data (misalnya, pesan SMS tiba).
7/22/2019 BAB II Presman
29/32
34
4. ServicesActivities, content providers, dan internet receiver merupakan
program singkat yang dapat diaktifkan dan dimatikan setiap saat.
Service didesain untuk tetap menjalankan program-program tersebut
jika diperlukan. Service dapat digunakan untuk memeriksa update
ke RSS feed, atau untuk memutar musik bahkan ketika
pengontrolan activity tidak beroperasi lagi.
5. StoragePaket file data dapat dibuat dengan aplikasi yang telah dibangun
untuk hal-hal yang tidak mengalami perubahan, seperti icon atau
bantuanfile tertentu. Tempat penyimpanan yang dibuat dari aplikasi
berfungsi sebagai database atau untuk menerima input dari user
yang diperlukan oleh aplikasi. Jika user memasukkan sejumlahfile,
maka file tersebut dapat dibaca ataupun dimasukkan data lain
kedalamnya.
6. NetworkUmumnya perangkat Android terkoneksi dengan internet. Hal
tersebut mendukung WebKitberbasis web browser sehingga widget
dapat ditanamkan dalam aplikasi.
7. GPSPerangkat Android akan secara rutin melakukan akses penyedia
lokasi, seperti GPS, yang dapat memberitahu aplikasi dimana
perangkat user berada. User juga dapat menampilkan peta atau
7/22/2019 BAB II Presman
30/32
35
sebaliknya mengambil keuntungan dari lokasi, seperti melacak
gerakan perangkat jika perangkat telah dicuri.
8. MultimediaPerangkat Android memiliki kemampuan untuk memutar dan
merekam audio dan video. Meskipun mungkin terdapat spesifikasi
yang berbeda antar perangkat, namun perangkat tersebut dapat
diprogram untuk menyesuaikannya dengan perangkat lain dan
memanfaatkan hal tersebut dalam bidangnya.
9. Phone ServicesPerangkat Android tentunya memiliki fitur ponsel, memungkinkan
software untuk memulai panggilan, mengirim dan menerima SMS,
dan hal-hal lain yang terdapat pada teknologi ponsel.
2.6.5 Keuntungan dari Dalvik Virtual Machine
Dalvik virtual machine adalah mesin penerjemah bahasa Java
sederhana, sepenuhnya dioptimalkan untuk platform Android yang
dikembangkan untuk dapat berjalan di memori low-endperangkat mobile.
Salah satu aspek yang menonjol dalam Dalvik yaitu kemampuan untuk
menjalankan aplikasi sepanjang kompilasi dengan meningkatkan
performa runtimeaplikasi.
Dalvik bukan merupakan bagian dari mesin Java karena tidak bisa
membaca code Java, tetapi terdiri dari code-byte sendiri yang disebut
Dex sehingga file executabledidapatkan menggunakan Dalvik dengan
jenis nama file .dex.
7/22/2019 BAB II Presman
31/32
36
2.7 Google Maps API
2.7.1 Pengertian API
Menurut Tulach (2008, p1-14), API atau Application
Programming Interface bukan hanya satu set class dan method atau
fungsi dan signature yang sederhana. Akan tetapi API, yang bertujuan
utama untuk mengatasi clueless dalam membangun software yang
berukuran besar, berawal dari sesuatu yang sederhana sampai ke yang
kompleks dan merupakan perilaku komponen yang sulit dipahami. Secara
sederhana dapat dipahami dengan membayangkan kekacauan yang akan
timbul bila mengubah database atau skema XML. Perubahan ini dapat
dipermudah dengan bantuan API.
Dari beberapa sumber yang didapat, dapat disimpulkan bahwa
API adalah sekumpulan perintah, fungsi, class dan protokol yang
memungkinkan suatu software berhubungan dengan software lainnya.
Tujuan dari API adalah untuk menghilangkan clueless dari sistem
dengan cara membuat blok besar yang terdiri dari software di seluruh
dunia dan menggunakan kembali perintah, fungsi, class, atau protokol
yang mereka atau API miliki. Dengan cara ini, programmer tidak perlu
lagi membuang waktu untuk membuat dan menulis infrastruktur sehingga
akan menghemat waktu kerja dan lebih efisien.
2.7.2 Pengertian Google Maps API
Seperti yang tercatat oleh Svennerberg ( Beginning Google Maps
API 3, p1 ), Google Maps APIyang paling populer di internet. Pencatatan
7/22/2019 BAB II Presman
32/32
37
yang dilakukan pada bulan Mei 2010 ini menyatakan bahwa 43% mashup
(aplikasi dan situs web yang menggabungkan dua atau lebih sumber data)
menggunakan Google Maps API . Beberapa tujuan dari penggunaan
Google Maps API adalah untuk melihat lokasi, mencari alamat,
mendapatkan petunjuk mengemudi dan lain sebagainya. Hampir semua
hal yang berhubungan dengan peta dapat memanfaatkan Google Maps.
Google Maps (tanpa API) diperkenalkan pada Februari 2005 dan
merupakan revolusi bagaimana peta di dalam web, yaitu dengan
membiarkan user untuk menarik peta sehingga dapat menavigasinya.
Solusi peta ini pada saat itu masih baru dan membutuhkan serverkhusus.
Beberapa saat setelahnya, ada yang berhasil men-hack Google Maps
untuk digunakan di dalam webnya sendiri. Hal ini membuat Google Maps
mengambil kesimpulan bahwa mereka membutuhkan API dan pada Juni
2005, Google Maps API dirilis secara publik.