BAB 2 LANDASAN TEORI 2.1 Teori Umum Teori umum merupakan landasan teori yang berisi teori – teori pokok yang dapat digunakan untuk menrancang aplikasi. Perancangan membutuhkan teori umum, diantaranya: 2.1.1 Pengertian Komunikasi Menurut
Richard
dan
Turner
(2010),
komunikasi
atau
communication adalah proses interaksi berupa simbol yang mempunyai makna
atau lambang bunyi untuk bertukar informasi
antara sesama
manusia. Komunikasi pada umumnya dapat diartikan sebagai pengirim dan penerima pesan yang dilakukan antar manusia untuk bertukar informasi. 2.1.2 Fungsi Komunikasi Komunikasi saat ini merupakan kebiasaan sehari – hari yang dilakukan masyarakat sehari-hari, komunikasi jika dilihat secara umum itu sendiri mempunyai fungsi diantaranya 1.
Memberi Hiburan
2.
Pertukaran Informasi
3.
Transmisi Budaya
4.
Membujuk dan mengajak
Komunikasi berfungsi memberi hiburan antar individu dalam kehidupan sehari-hari dikarenakan dapat menerima informasi yang masuk dan merespon dari informasi tersebut. Komunikasi berfungsi untuk bertukar informasi antar individu sehingga dapat mengetahui berita secara tepat waktu. Komunikasi berfungsi sebagai transmisi budaya sehingga budaya terjaga dapat dilestarikan secara turun menurun.Komunikasi
7
8
berfungsi untuk mengajak dan mempengaruhi antar individu untuk kepentingan pribadi maupun umum.
2.1.3 Proses Komunikasi Proses komunikasi yang selama ini dilakukan secara umum sehari – hari dapat dibagi menjadi 6 (enam) tahapan yaitu: 1.
Pengirim mempunyai suatu ide atau gagasan
2.
Pengirim mengubah ide menjadi suatu pesan
3.
Pengirim mengirim pesan
4.
Penerima menerima pesan
5.
Penerima menafsirkan pesan
6.
Penerima menerima ide pesan dan memberi tanggapan atau umpan balik ke pengirim
2.1.4 Interaksi Manusia dan Komputer (IMK) 2.1.4.1 Pengertian Interaksi Manusia dan Komputer Pengertian Interaksi Manusia dan Komputer adalah design yang terstruktur dan menghasilkan rancangan yang dapat digunakan
antara
user
dan
mesin,
sehingga
user
dapat
menggunakan layanan. IMK dapat membuat user memanfaatkan teknologi yang ada secara mudah, imk juga membuat tampilan menjadi menarik dan mudah dimengerti oleh user sehingga user dapat menggunakan dalam pengoperasiannya.
2.1.4.2 Lima Faktor Manusia Terukur Shneiderman dan Plaisant (2010:32) memaparkan sebelum melakukan perancangan aplikasi harus ada lima faktor untuk merancang sebuah interface yaitu:
9
1.
Waktu untuk belajar Mencermati kebutuhan user agar dapat merancang aplikasi
yang memberi kemudahan user sehingga aplikasi yang dirancang dapat cepat dimengerti oleh user.
2.
Kecepatan kinerja Melihat tingkat kesulitan dalam merancang aplikasi
sehingga dapat memperkirakan waktu untuk menyelesaikan sebuah aplikasi.
3.
Tingkat kesalahan user Merancang aplikasi sedemikian mungkin agar dapat
menghindarkan kesalahan – kesalahan user dalam menggunakan aplikasi tersebut.
4.
Daya ingat Merancang aplikasi yang sulit namun mudah dalam
menggunakan, sehingga user dapat mengingat dalam menggunakan tiap-tiap fungsi yang terdapat dalam aplikasi tersebut.
5.
Kepuasan subjektif Aplikasi yang dirancang dinilai oleh user dan user dapat
memberikan
kepuasan
dalam
menggunakan
aplikasi
yang
dirancang, penilaian mencakup aspek – aspek yang sudah dipaparkan sebelumnya.
2.1.4.3 Delapan Aturan Emas
Shneiderman dan Plaisant (2010:88) memaparkan terdapat delapan aturan emas yang harus digunakan dalam membangun dan merancang interface atau antarmuka, yaitu:
10
1.
Konsisten Dalam merancang aplikasi penulisan, content,
bahasa dibutuhkan konsistensi agar dapat menghindari ambigu
user
interface
dalam
yang
menggunakan
konsisten
dapat
aplikasi.Tampilan membantu
user
memudahkan untuk mempelajari aplikasi yang sudah di rancang.
2.
Kegunaan yang universal Memahami kebutuhan user yang berbeda-beda dan
beragam user mulai dari anak – anak hingga lansia (lanjut usia) dibutuhkan rancangan fungsi yang fleksibel agar dapat dikenali user dengan cepat.
3.
Memberikan feedback yang informatif Umpan balik atau feedback wajib ada dalam
aplikasi, agar dapat digunakan oleh user disetiap aktifitas, agar user dapat merespon kondisi di setiap aktifitas user.
4.
Merancang dialog untuk penutup Dalam merancang aplikasi harus ada urutan katagori
dalam
melakukan aksi yang
telah dicapai dengan
memunculkan dialog box sehingga user dapat mengetahui dapat mengerti setiap aksi yang sudah dilewati, sehingga user dapat lanjut ke tahap urutan selanjutnya.
5.
Pencegah kesalahan Merancang interface semudah mungkin untuk
dimengerti oleh user sehingga menghindari kesalahan. Pencegahan kesalahan dapat dirancang dengan cara memunculkan pesan untuk mengisi hal yang perlu di isi,
11
dan jika ada kesalahan harus ada intruksi dalam interface yang ditampilkan kepada user agar dapat diperbaiki.
6.
Pembalik aksi Pembatalan aksi wajib ada dalam perancangan
inteface untuk memperkecil kesalahan yang dilakukan user, karena user dapat membatalkan aksi dan dapat mempelajari tiap-tiap aksi yang dilakukan.
7.
Mendukung pengendalian internal User menginginkan kejutan yang ada didalam
aplikasi
untuk
mengindari
kebosanan
antarmuka
dikarenakan user sudah terbiasa dengan aplikasi sejenis.
8.
Mengurangi beban ingatan jangka pendek Perancangan aplikasi membutuhkan alur yang dapat
mudah di ingat oleh user, dikarenakan keterbatasan ingatan manusia dalam memproses dan mengolah informasi. 2.1.5 Unified Modelling Language (UML) Menurut Whitten et al. (2007:408) UML merupakan bahasa yang digunakan sebagai standar dalam suatu industri untuk melakukan visualisasi, merancang, dan mendokumentasikan sebuah sistem piranti lunak.UML juga memberikan jasa untuk merancang model sistem yang dibuat untuk segala jenis aplikasi piranti lunak dan memungkinkan aplikasi tersebut dapat dijalankan pada piranti keras, sistem operasi, dan jaringan apapun. Karena UML menggunakan class dan operation pada konsep dasarnya, maka penulisan piranti lunak yang baik dilakukan pada bahasa yang berorientasi objek seperti C++, Java, C# atau VB.NET, namun UML juga dapat digunakan untuk modeling aplikasi prosedural dalam bahasa VB dan C.
12
Sama seperti bahasa-bahasa lain, UML juga digunakan untuk mendefinisikan notasi dan syntax. Notasi yang ada pada UML merupakan bentuk khusus yang digunakan untuk menggambarkan berbagai macam diagram piranti lunak. Bentuk-bentuk yang ada pada notasi UML memiliki makna tertentu, dan UML syntax yang bertugas untuk mendefinisikan bentuk-bentuk tersebut agar dapat dikombinasikan. 3 Notasi UML yang sudah ada sebelumnya diantaranya: •
Grady Booch OOD (Objec-Oriented Design)
•
Jim Rumbaugh OMT ( Object Modelling Technique)
•
Ivar Jacobson OOSE (Object-Oriented Software Engineering)
2.1.5.1 Use Case Diagram Menurut Whitten et al. (2007:271) use case diagram ialah sebuah
diagram
yang
digunakan
untuk
menggambarkan
fungsionalitas yang ada pada sistem serta interaksi antara sistem, eksternal sistem, dan pengguna. Pada use case diagram ini akan dijelaskan mengenai apa yang diperbuat oleh sistem dan bukan bagaimana sebuah use case merepresentasikan interaksi antara aktor dan sistem. Use case diagram biasanya digunakan untuk membantu pada saat penyusunan requirement pada sebuah sistem, pada saat menjelaskan rancangan pada klien, dan pada saat merancang test case yang dilakukan untuk seluruh aplikasi pada sistem.
Gambar 2.1 Use Case Diagram
13
2.1.5.1.1 Use Case Use case yaitu uraian yang saling terkait sistematis antar sistem untuk membentuk pola tingkah laku yang digambarkan melalui garis dan diawasi oleh actor.
Gambar 2.2 Contoh Use Case Diagram 2.1.5.1.2 Actors Actor adalah user yang berinterasi dengan sistem yang berfungsi untuk bertukar informasi. Actor dapat digambarkan dengan bentuk stick man. Actor juga dapat dibedakan menjadi 3 katagori utama yaitu primary system actor, primary business actor dan external receiver actor.
. Gambar 2.3 Simbol Actor
14
2.1.5.1.3 Relationships Relationships yaitu hubungan antar kelas yang terjalin antara actor dan sistem maupun sistem dengan use case. Association akan terjadi jika antara dua kelas mengetahui adanya kegiatan. • Association Association
merupakan
suatu
hubungan antar use case dan actor dalam sistem yang tersetruktur. Association dapat dilambangkan garis lurus.
Gambar 2.4 Assocation
• Aggregation Aggregation merupakan hubungan antar class yang berkaitan lemah, dimana jika salah satu kelas hilang maka kelas yang bergantung masih dapat berjalan tanpa ada nya kelas tersebut.
Gambar 2.5 Aggregation
15
• Composition Composition merupakan hubungan antar class yang saling berkaitan, dimana jika salah – satu kelas hilang maka kelas yang bergantung dari salah satu kelas tersebut akan menghilang.
Gambar 2.6 Composition • Depedency (Kebergantungan) Hubungan yang mandiri antar use case maupun antar actor,hubungan antar use case akan berubah dan akan mempengaruhi use case lain jika ada perubahan dari use case yang mandiri. 2.1.5.2 Class Diagram Menurut Whitten el at. (2007:441) class diagram merupakan kumpulan gambar yang terstruktur yang didalamnya terdapat kelas objek yang ada pada suatu sistem dan
hubungan
antar
kelas.
Class
dapat
diartikan
pendiskripsian kumpulan dari kelompok objek-objek. 2.1.5.3 Activity Diagram Menurut Whitten et al. (2007:443) activity diagram ialah
sebuah
diagram
yang
digunakan
untuk
menggambarkan jalur aktivitas pada sistem yang sedang
16
dirancang.
Activity
diagram
juga
digunakan
untuk
menggambarkan decision yang mungkin terjadi pada saat sistem dirancang serta digunakan untuk menggambarkan sebuah proses parallel yang mungkin terjadi pada saat eksekusi. Activity diagram merupakan sebuah state diagram yang khusus karena sebagian state merupakan action. Activity diagram tidak menggambarkan behavior internal dari sebuah sistem secara eksak, melainkan menggambarkan proses-proses dan jalur-jalur aktivitas secara umum. Aktivitas dapat digambarkan dan direalisasikan dengan menggunakan satu use case atau lebih. Aktivitas juga menggambarkan proses yang sedang berjalan, sementara use case menggambarkan aktor yang sedang menggunakan sistem untuk melakukan aktivitas.
17
Tabel 2.1 Simbol activity diagram
18
2.1.5.4 Sequence Diagram Menurut Whitten et. al (2007: 442), sequence diagram merupakan sebuah gambaran yang menjelaskan bagaimana objek berinteraksi satu sama lain melalui pesan dalam eksekusi dari sebuah use case atau sebuah operasi. Diagram ini menggambarkan bagaimana pesan dikirim dan diterima antar objek dan urutannya.
Tabel 2.2 Simbol sequence diagram
19
2.1.6 Rekayasa Perangkat Lunak 2.1.6.1 Pengertian Rekayasa Perangkat Lunak Rekayasa perangkat lunak adalah merancang prinsip yang digunakan
untuk
mengimplementasikan
dan
menghasilkan
software yang handal, ekonomis, dan mesin dapat bekerja pada sesungguhnya. (Pressman,2010). 2.1.6.2 Agile Development Menurut Whitten dan Bentley (2007) Agile adalah Strategi untuk mengembangkan sistem untuk mengerjakan tugas – tugasnya dengan baik sehingga dapat bekerja dengan optimal antara produktivitas dan kualitas. 2.1.6.3 Extreme Programming Extreme
Programming
adalah
metode
untuk
mengembangkan software yang menggunakan pendekatan Object Oriented Programming. Didalam menurut Pressman ,Extreme Programming memiliki tahap proses diantaranya: 1.
Planning Tahap dimulai dengan membuat perencanaan user
yang dapat digambarkan fungsi dan keluaran yang akan dibuat sehingga dapat di berikan bobot penilaian untuk mengukur tingkat prioritas dan selanjutnya dikelompokan menjadi proses delivery. 2.
Design Design
menggunakan
didalam Spike
EP
(Extreme
Solution
digunakan langsung kepada tujuan.
dimana
Programming) design
yang
20
3.
Coding Coding berfokus pada pengembangan implementasi
untuk membangun serangkaian unit. 4.
Testing Tahap testing dilakukan dengan pengujian code
setelah coding pada unit test dimana testing langsung dengan cutomer test. Testing dilakukan berfokus kepada customer dan test ini diimplemetasikan dengan user.
Gambar 2.7 Proses Extreme Proggramming (Sumber Pressman, 2010:14)
21
2.1.7 Mobile Phone 2.1.7.1 Pengertian Mobile Phone Mobile phone adalah sebuah alat yang digunakan untuk melakukan komunikasi melalui jaringan. Mobile phone berbeda dengan telepon nirkabel yang hanya dapat digunakan untuk layanan telepon. Sebagian besar mobile phone saat ini mendukung berbagai layanan tambahan seperti SMS yang digunakan untuk mengirim pesan singkat, email, akses internet, game, Bluetooth, infrared, kamera dengan perekam video, MMS yang digunakan untuk mengirim foto, MP3 Player, radio, dan GPS. (Anonim, 2010). 2.1.8 Smartphone 2.1.8.1 Pengertian Smartphone Smartphone adalah sebuah ponsel yang memiliki hardware terbaik
seperti
kegunaan
telepon
pada
umumnya
namun
smartphone memiliki kelebihan lain seperti download, streaming, chatting layaknya seperti komputer pada umumnya.
2.2 Teori Khusus 2.2.1 Android Menurut Nazruddin Safaat H (2012 : 1) Android adalah sistem operasi mobile Open Source berbasis Linux yang dikembangkan oleh google.Android merupakan sistem operasi yang open source yang dapat dikembangkan oleh banyak orang untuk menciptakan aplikasinya sendiri.Perusahaan telekomunikasi bergabung untuk membangun android pertama open Handset Alliance pada tanggal 5 november 2007, diantaranya Nvidia, T-Mobile, Qualcomm, Motorola, Intel, HTC, dan Google.
22
2.2.2 Versi Android Menurut Nazruddin Safaat H (2012 : 1) memaparkan macam – macam versi android diantaranya : 1.
Android versi 1.1 (Bender) Dirilis pada tanggal 9 Maret 2009, pada versi ini dirilis pada perangkat T-Mobile dan dapat mengirim dan menerima pesan maupun e-mail.
2.
Android versi 1.5 (Cupcake) Pada bulan mei 2009, merilis telepon genggam yang dilengkapi oleh SDK yang berguna untuk menonton video dan mengupload video ke youtube.
3.
Android versi 1.6 (Donut) September 2009, google merilis telepon genggam yang dilengkapi oleh Text-to-speech dan bisa digunakan untuk dial kontak.
4.
Android versi 2.0 / 2.1(Eclair) 3 Desember 2009, google kembali merilis telepon genggam yang dilengkapi oleh fitur google maps dan kamera yang dilengkapi dengan flash.
5.
Android versi 2.2 (Froyo: Frozen Yoghurt) Mei 2010, google kembali merillis telepon genggam yang sudah komplek yang terdapat SQLite untuk penyimpanan data, grafik, kerangka aplikasi, dan pendukung media.
6.
Android versi 2.3 (Gingerbread) Desember 2010, google kembali merilis telepon genggam yang mempunyai fitur untuk download manager.
7.
Android versi 3.0/3.1 (Honeycomb) Febuary 2011, google merancang operating sistem yang dirilis untuk tablet atau telepon genggam yang berlayar besar.
23
8.
Android versi 4.0 (Ice Cream Sandwitch) November 2011, google memperkenalkan fitur baru yang tidak terdapat pada telepon genggam sebelumnya.
2.2.3 Fitur Android Menurut Andi (2013 : 3) memaparkan fitur-fitur pendukung yang ada di android diantaranya: •
Storage
•
Konektivitas
•
Messaging
•
Web Browser
•
Media Support
•
Dukungan Hardware
•
Multi Touch
•
Multitasking
•
Flash
•
Tethering
2.2.4 Android SDK Menurut Nazruddin Safaat H (2012 : 5) Software Development Kit (SDK) mendukung Android programming Interface yang berguna untuk mengembangkan aplikasi dalam android yang menggunakan bahasa pemrograman java. Akhmad Dharma Kasman (2013 : 21) memaparkan bahwa Android-SDK merupakan tools yang berguna untuk mengembangkan aplikasi berbasis google android. Android SDK juga merupakan seperangkat alat pengembangan yang komprehensif. Android SDK terdiri dari debugger, libraries, handset emulator, dokumentasi, contoh kode, dan tutorial. IDE secara resmi mendukung Eclipse 3.2 atau lebih dengan menggunakan plug-in Android Development Tools (ADT), kemudian
24
dengan menggunakan plug-in tersebut pengembang dapat menggunakan aplikasi teks editor untuk mengedit file Java dan XML dan juga dapat menggunakan peralatan command line untuk menciptakan, membangun, dan debug aplikasi Android yang dapat mengendalikan perangkat Android (misalnya: reboot dan menginstal paket perangkat lunak). Android SDK dirilis pada tanggal 12 November 2007. Kemudian pada tanggal 15 Juli 2008 pihak Android Developer Challenge mengirimkan email ke semua pendatang di Android Developer Challenge yang bertujuan untuk mengumumkan pengrilisan SDK terbaru yang tersedia pada halaman download pribadi. Email tersebut juga dikirimkan kepada para pemenang Android Developer Challenge putaran pertama. Sebuah pernyataan bahwa Google telah merilis SDK terbaru bagi beberapa pengembang. Pada tanggal 18 Agustus 2008, Android SDK 0.9 beta untuk pertama kalinya dirilis. Pengrilisan ini meninformasikan mengenai API yang diperbarui dan diperluas, perbaikan pada alat pengembangan serta adanya desain User Interface terbaru untuk home screen. Pada pengrilisan ini pun diadakan petunjuk - petunjuk untuk meng-upgrade SDK yang sudah disediakan pada rilis sebelumnya. Pada tanggal 23 September 2008, Android 1.0 SDK berhasil dirilis. Pada tanggal 9 Maret 2009, Google merilis versi pertamanya yaitu versi 1.1. Pengrilisan terbaru itu juga digunkan untuk menampilkan fitur - fitur yang mengalami gangguan pada rilis sebelumnya yang kemudian diubah dan dikembangkan pada versi yang baru saja dirilis. Pada pertengahan Mei 2009, Google kemudia merilis android versi 1.5(Cupcake) pada sistem operasi. Pada perilisan kali ini banyak fitur baru yang diimplementasikan seperti perekaman video, bluetooth, sistem keyboard pada layar dan pengenalan suara. Pada versi 1.5 ini juga Google membuka AppWidget framework dan memberikan kemungkinan kepada para pengembang untuk membuat widget sendiri pada halaman home. Pada September 2009 versi 1.6 (Donut) dirilis yang lebih friendly dengan
25
menampilkan hasil pencarian yang lebih baik dan penggunaan indikator baterai. 2.2.5 Android Development Tools (ADT) Menurut Nazruddin Safaat H (2012 : 6) Android Development Tools
(ADT)
didesain
untuk
memudahkan
merancang
dan
mengembangkan aplikasi android sehingga aplikasi yang dihasilkan nantinya dapat di gunakan oleh user dengan mudah. Android juga dapat mendistribusikan package dengan merubahnya menjadi (.apk) agar dapat terpasang di telepon genggam android secara mudah oleh pengguna. ADT juga memungkinkan Eclipse untuk membuat aplikasi Android baru, lalu membuat User Interface, kemudian menambahkan komponen berdasarkan framework API Android, serta debug aplikasi, dan pemaketan aplikasi Android. 2.2.6 Android Virtual Device (AVD) Menurut Nazruddin Safaat H (2012 : 19) merupakan emulator untuk membantu menjalankan aplikasi android yang sudah dirancang.Tiap emulator mempunyai versi yang sesuai dengan versi android yang sudah ada saat ini. Menurut Akhmad Dharma Kasman (2013 : 26) merupakan media test untuk menjalankan aplikasi yang dibuat, dimana dijalankan didalam Virtual Machine. 2.2.7 IDE Eclipse Integrated Development Environment(IDE) merupakan program yang
memiliki
fasilitas-fasilitas
penting
bagi
perancangan
dan
pembangunan perangkat lunak. Tujuan IDE untuk menyediakan utilitas utilitas yang diperlukan guna untuk merancang dan membangun perangkat lunak (Andi (2013)).
26
Eclipse adalah sebuah IDE yang digunakan untuk mengembangkan perangkat lunak yang dapat dijalankan di seluruh platform. Eclipe merupakan IDE yang paling banyak peminat dikarenakan gratis dan Open source yang berarti siapa saja dapat melihat kode program dari perangkat lunak ini. Selain itu, Eclipse juga memiliki kelebihan yang membuatnya populer dengan kemampuannya yang dapat memungkinkan pengguna untuk mengembangkan komponen-komponen yang sudah ada yang dinamakan dengan Plug-in. Berikut ini adalah sifat-sifat dari Eclipse yaitu: •
Multi-platform yang menggunakan sistem operasi Eclipse ialah: Microsoft Windows, Linux, Solaris, AIX, HP-UX, dan Mac OS X.
•
Multi-language
Eclipse
dikembangkan
dengan
menggunakan bahasa pemrograman java, namun Eclipse dapat digunakan untuk mengembangkan aplikasi berbasis bahasa pemrograman lainnya seperti C/C++, Cobol, Phyton, Perl, PHP, dan sebagainya. •
Multi-role selain sebagai IDE yang digunakan untuk merancang
dan
membangun
aplikasi,
Eclipse
juga
digunakan untuk aktivitas dalam siklus perancangan dan pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan sebagainya. 2.2.8 Arsitektur Android Berikut ini merupakan garis besar arsitektur android yang akan dijelaskan seperti: •
Application and Widgets Berisikan shortcut dari aplikasi-aplikasi inti maupun
aplikasi pihak ketiga yang dapat dijalankan dan tersimpan pada suatu tempat (layer) biasanya terdapat pada Home Screen.
27
•
Application Frameworks Android merupakan “Open Development Platform” yang
memungkinkan para pengembang mampu membangun aplikasi yang inovatif dan kreatif di mana pengembang dapat dengan bebas mengakses
perangkat
keras,
informasi
resource,
service
background, dan memiliki akses penuh terhadap API framework seperti akses yang terdapat pada aplikasi inti. Adanya fitur reuse yang memungkinkan pengembang dapat menggunakan kembali komponen yang pernah digunakan sebelumnya. Komponen - komponen yang ada dalam Application Framework dapat dikategorikan sebagai berikut:
•
a)
Views
b)
Content Provider
c)
Resource Manager
d)
Notification Manager
e)
Activity Manager
Libraries Tempat di mana aplikasi - aplikasi disimpan, dengan
adanya libraries dapat mempermudah pengguna dalam mengkases aplikasi dan menjalankannya. Berikut ini adalah tipe - tipe libraries yang digunakan pada library C/C++: a)
Libraries media yang digunakan untuk mengakses audio atau video.
b)
Libraries gallery yang digunakan untuk mengakses foto atau wallpaper.
c)
Libraries
manajemen d)
yang
digunakan
untuk
mengakses
tampilan.
Libraries graphics yang digunakan untuk graphic 2d ataupun 3d dengan SGL dan OpenGL.
e)
Libraries SQLite yang digunakan pada database.
28
f)
Libraries SSL dan Webkit yang digunakan untuk security dan web browser.
g)
Libraries LiveWebcore yang digunakan untuk modern web browser dengan embedded web view engine.
•
Android Run Time Layer yang digunakan untuk membuat suatu aplikasi android yang
prosesnya dapat dijalankan pada Linux. Dalvik Virtual Machine (DVM) ialah mesin yang digunakan untuk merancang kerangka dasar dari suatu aplikasi android. Android Run Time memiliki 2 bagian yaitu: a)
Core Libraries adalah libraries yang digunakan untuk
menterjemahkan
bahasa
java/c
dalam
pembuatan atau perancangan aplikasi android yang dikarenakan Dalvik Virtual Machine bukan virtual mesin untuk java. b)
Dalvik Virtual Machine adalah virtual mesin yang memiliki
fungsi
untuk
mengembangkan
dan
mampun membuat linux kernel dapat melakukan threading. •
Linux Kernel Layer yang menampun isi atau inti dari operating system
dari android. Pada layer ini juga terdapat file-file sistem yang mengatur sistem processing, memory, resource, drivers, dan sistem operasi lainnya.
29
Gambar 2.8 Arsitektur Android (Sumber : Pemograman Aplikasi Mobile Smartphone dan Tablet PC berbasis Android, Nazruddin Safaat H, 2012) 2.2.9 Fundamental Aplikasi Aplikasi
android
dirancang
dengan
menggunakan
bahasa
pemrograman java. Kode-kode yang digunakan untuk merancang aplikasi pada java di-compile bersamaan dengan resource melalui proses yang di package oleh Tools yang dinamakan “apt tools” dan dipaketkan sehingga menjadi satu file dengan format apk. File apk tersebut merupakan rancangan aplikasi yang sudah jadi dan siap untuk digunakan. Ada 4 jenis komponen dalam aplikasi android, misalnya: a)
Activities Suatu aktifitas yang menyajikan User Interface (UI) bagi
pengguna, sehingga pengguna dapat dengan mudah berinteraksi dengan aplikasi. Aplikasi android biasanya memiliki banyak aktifitas, namun mungkin ada aplikasi android yang hanya memiliki satu aktifitas saja. Untuk menampilkan suatu aplikasi
30
yang bertindak sebagai User Interface ketika aplikasi tersebut dijalankan
dapat menggunakan
satu aktifitas
saja.
Untuk
memindahkan satu aktifitas ke aktifitas yang lain dapat menggunakan event, seperti contoh klik tombol button, memilih opsi, ataupun menggunakan trigger tertentu.
b)
Service Service tidak memiliki GUI (Graphic User Interface),
namun service berjalan seperti background. Service harus berada dalam satu kelas induk untuk dapat dijalankan. Contoh service seperti memainkan atau menjalankan aplikasi music pada media player dengan memutar lagu pada list yang sudah ada dan pengguna dapat memilih lagu yang akan diputar, hal tersebut dikarenakan service menggunakan dua atau lebih aktifitas.
c)
Broadcast Receiver Broadcast Receiver dapat menerima dan menampilkan
notifikasi. Broadcast Receiver memberikan informasi pengingat dalam suatu aplikasi android, contoh broadcast receiver ada pada suatu aplikasi android yang dapat menginisiasi broadcast misalnya memberikan informasi bahwa data yang diunduh telah selesai dan dapat digunakan.
d)
Content Provider Membuat sekumpulan data-data aplikasi yang spesifik dan
dapat digunakan oleh aplikasi lainnya kemudian data disimpan dalam file sistem berupa database seperti pada database SQLite dan juga memberikan cara untuk mengakses data yang dibutuhkan oleh suatu aktifitas.
31
2.2.10 Teori Khusus Pendukung Topik Bahasan 2.2.10.1 PHP Hypertext Preprocessor (PHP) PHP (Hypertext Preprocessor) adalah bahasa pemrograman yang bergunsi untuk membuat website dinamis maupun aplikasi web. Berbeda dengan HTML yang hanya bisa menampilkan konten statis, PHP bisa berinteraksi dengan database, file dan folder, sehingga membuat php bisa menampilkan konten yang dinamis dari sebuah website. PHP adalah bahasa scripting, bukan bahasa tag-based seperti HTML. PHP termasuk bahasa yang crossplatform, artinya PHP bisa berjalan pada sistem operasi yang berbeda-beda (Windows, Linux, atau Mac). Pemrograman PHP ditulis dalam file plain text (teks biasa) dan mempunyai akhiran “.php” (Adhi Prasetyo (2012)). Untuk dapat berjalan, PHP membutuhkan web server, yang bertugas untuk memproses file-file php dan mengirimkan hasil pemrosesan untuk ditampilkan di browser client. Web server sendiri adalah software yang diinstal pada komputer lokal ataupun komputer lain yang berada di jaringan intranet / internet yang berfungsi untuk melayani permintaan-permintaan web dari client. Web Server yang paling banyak digunakan saat ini untuk PHP adalah “Apache”. Selain Apache, PHP juga memerlukan PHP binary yang bisa dikonfigurasikan sebagai modul Apache ataupun sebagai aplikasi CGI. Untuk media penyimpanan datanya (database Server) PHP bisa menggunakan “MySQL”. Aturan Penulisan Script PHP adalah: 1.
Semua script PHP harus diapit oleh tanda: •
, atau
•
<script language=’php’> dan ,
atau
2.
•
dan ?>, atau
•
<% dan %>
Tetapi tanda resmi dan paling banyak digunakan yang pertama, yaitu
3.
Pada setiap akhir perintah, diakhiri dengan tanda titik koma (;).
32
Gambar 2.9 Skema Aplikasi Web 2.2.10.2 Extensible Markup Language (XML) Extensible Markup Language (XML) merupakan bahasa markup yang direkomendasikan oleh W3C (World Wide Web Consortium) yang berguna untuk mendeskripsikan berbagai macam data. XML menggunakan markup tags seperti yang digunakan
HTML
(Hypertext
Markup
Language)
tetapi
penggunaan markup tags pada XML tidak hanya pada tampilan halaman web saja. XML dikembangkan pada tahun 1996 dan diakui oleh W3C pada bulan Februari 1998. Teknologi pada XML sebenarnya bukan teknologi baru, tetapi merupakan teknologi turunan dari SGML (Standard Generalized Markup Language) yang kemudian dikembangkan pada awal tahun 80-an dan banyak digunakan pada dokumentasi teknis proyek-proyek berskala besar. Ketika HTML dikembangkan pada tahun 1990, para pengagas XML mengambil
33
bagian
terpenting
dari
SGML
dan
berpedoman
pada
pengembangan HTML sehingga menghasilkan markup language yang sama dengan SGML. 2.2.10.2 .1 Keuntungan XML Berikut ini ialah keuntungan dari file XML: •
Ekstensibilitas yang memungkinkan file XML dapat ditukar ataupun digabung dengan file lain.
•
Pemrograman yang lebih baik yang menghasilkan suatu software pengolah XML.
•
Memungkinkan pemisahan data presentasi pada file XML dan XSLT.
•
Pencarian data yang cepat karena data terformat secara terstruktur.
•
Plain text yang independent
•
Platform yang independent Tujuan penggunaan dokumen XML antaralain sebagai berikut:
•
Sebagai penyimpanan data berupa teks.
•
Sebagai media pengiriman data dari DBMS yang berbeda.
•
Sebagai bahan acuan untuk membuat bahasa baru.
•
Sebagai konfigurasi file. XML dirancang khusus untuk menyampaikan
informasi melalui World Wide Web (WWW), sama seperti
34
HTML yang menjadi bahasa standar untuk pembuatan halaman web. XML merupakan salah satu format file berbasis teks yang memiliki ekstensi berakhiran (.xml). Penggunaan XML untuk pemrograman web interaktif sangat mudah dimengerti struktur elemennya karena menggunakan tag yang sesuai dengan keinginan kita sendiri. XML bukan sebagai pengganti HTML. XML dan HTML dikembangkan untuk tujuan yang berbeda. Kalau HTML digunakan untuk menampilkan informasi dan memfokuskan kepada informasi yang terlihat, berbeda halnya
dengan
XML
yang
digunakan
untuk
mendeskripsikan susunan informasi dan memfokuskan pada informasi itu sendiri. Bagian terpenting dari XML ialah
dibutuhkan
informasi
seperti
untuk
menyusun
heading,
dan
paragraph,
menyajikan table
dan
sebagainya. 2.2.10.3 Java Dodit Suprianto dan Rini Agustina (2012) memaparkan Bahasa pemrograman java dulunya dikenal dengan sebutan The Green Project yang sempat berjalan selama 18 bulan di awal tahun 1991. Proyek tersebut belum menggunakan Oak. Proyek tersebut dirancang oleh Patrick Naughton, Mike Sheridan, James Gosling, dan Bill Joy serta Sembilan programmer lainnya dari Sun Microsystems. Duke adalah salah satu maskot yang dihasilkan dari proyek ini dan dibuat oleh Joe Palrang. Sekitar musim panas 1992 proyek ini ditutup dengan berhasilnya sebuah program Java Oak pertama yang ditujukan dan digunakan layar sentuh (Touch Screen) sebagai pengendali teknologi terbaru saat itu. Teknologi baru seperti PDA yang ada sekarang ini dinamakan dengan “*7” (Star Seven). Setelah tebentuknya Star Seven ada suatu perusahaan yang ikut ke dalam proyek The Green Project.
Setelah itu mereka
35
memusatkan kegiatannya pada sebuah ruangan kantor dan perusahaan tersebut berkembang dengan pesat. Pada waktu tersebut ditetapkan pemakaian internet sebagai sarana yang menjembatani kerja dan ide mereka. Mereka membuat Browser Mozaic menjadi landasan awal bagi mereka untuk membuat Browser Java pertama yang dinamai dengan Web Runner. Web Runner didapat dari film pada tahun 1980-an dengan judul Blade Runner. Pada perkembangan pengrilisan pertama terjadi perubahan nama dari Web Runner menjadi Hot Java. Pada tanggal 23 maret 1995 untuk pertama kalinya kode sumber Java versi 1.0a2 dibuka dan hal tersebut membuat kesuksesan mereka diikuti dengan pemberitaan yang terjadi pada surat kabar SanJose Mercury News. Nama Oak diambil dari pohon oak yang tumbuh dan dapat terlihat melalui jendela ruang kerja “bapak java”, James Gosling. Nama Oak ini tidak digunakan untuk versi release Java karena sudah ada perangkat lunak yang menggunakan nama tersebut sebagai merek dagang. Kemudian Sun mengganti nama Oak menjadi “Java” yang diambil dari kopi murni yang digiling langsung dari biji kopi tubruk kesukaan Gosling, maka dari itu Java memiliki logo cangkir kopi. Java dibagi menjadi 3 macam yaitu: 1.
JSE(Java Standart Edition) yang digunakan untuk aplikasi yang ada pada desktop.
2.
JME(Java Mobile Edition) yang digunakan untuk aplikasi yang ada pada ponsel.
3.
JEE(Java Enterprise Edition) yang digunakan untuk aplikasi enterprise seperti web, EJB, JNDI, SOAP, dll.
36
2.2.10.4 JavaScript Object Notation (JSON) JSON singkatan dari JavaScript Object Notation adalah suatu format ringkas pertukaran data komputer. Formatnya berbasis teks dan terbaca-manusia serta digunakan untuk merepresentasikan struktur data sederhana dan larik asosiatif (disebut
objek).
Format
JSON
sering
digunakan
untuk
mentransmisikan data terstruktur melalui suatu koneksi jaringan pada suatu proses yang disebut serialisasi. Aplikasi utamanya adalah pada pemrograman aplikasi web AJAX dengan berperan sebagai alternatif terhadap penggunaan tradisional format XML. 2.2.10.5 SQLite SQLite merupakan sebuah sistem manajemen basis data yang bersifat ACID-compliant yang memiliki ukuran pustaka kode yang kecil dengan menggunakan bahasa C. SQLite merupakan proyek public domain yang dicetuskan oleh D.Richard Hipp. SQLite bukanlah sistem tunggal yang berkomunikasi dengan suatu program, melainkan sebagai sistem integral dari keseluruhan program yang berakibatkan protokol dari suatu komunikasi utama dapat melakukan panggilan API secara langsung melalui bahasa pemrograman. Hal ini bertujuan untuk menyederhanakan mekanisme sehingga dapat mengunci seluruh file basis data saat transaksi dilakukan.