Android Uml
-
Upload
adirahman1 -
Category
Documents
-
view
246 -
download
2
Transcript of Android Uml
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 1/32
2.1.9. Android
Android adalah kumpulan perangkat lunak yang ditujukan bagi perangkat
bergerak mencakup sistem operasi, middleware, dan aplikasi kunci.
Android Standart Development Kit (SDK) menyediakan perlengkapan dan
Application Programming Interface (API) yang diperlukan untuk
mengembangkan aplikasi pada platform Android menggunakan bahasa
pemrograman Java. Android dikembangkan oleh Google bersama Open
Handset Allience (OHA) yaitu aliansi perangkat selular terbuka yang
terdiri dari 47 perusahaan Hardware, Software dan perusahaan
telekomunikasi (Handset Manufacturers) ditujukan untuk mengembangkan
standar terbuka bagi perangkat mobile antara lain, seperti Samsung, ACER,
Toshiba, Sony Ericsson, LG, dan lain-lain.
2.1.9.1. Sejarah dan Perkembangan Android
Pada mulanya terdapat berbagai macam sistem operasi pada perangkat
selular, diantaranya sistem operasi Symbian, Microsoft Windsos Mobile,
Mobile Linux, iPhone, dan sistem operasi lainnya. Namun diantara
sistem operasi yang ada belum mendukung standar dan penerbitan API
yang dapat dimanfaatkan secara keseluruhan dan dengan biaya yang
murah. Kemudian Google ikut berkecimpung didalamnya dengan
platform Android, yang menjanjikan keterbukaan, keterjangkauan, open
source, dan framework berkualitas. Pada tahun 2005, Google
mengakuisisi perusahaan Android Inc. untuk memulai pengembangan
platform Android. Dimana terlibat dalam pengembangan ini Andy Rubin,
Rich Miner, Nick Sears, dan Chris White. Pada pertengahan 2007
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 2/32
sekelompok pemimpin industri bersama-sama membentuk aliansi
perangkat selular terbuka, Open Handset Alliance (OHA). Bagian dari
tujuan aliansi ini adalah berinovasi dengan cepat dan menanggapi
kebutuhan konsumen dengan lebih baik, dengan produk awalnya adalah
platform Android. Dimana Android dirancang untuk melayani kebutuhan
operator telekomunikasi, manufaktur handset , dan pengembang aplikasi.
OHA berkomitmen untuk membuat Android open source dengan lisensi
Apache versi 2.0.
Android pertama kali diluncurkan pada 5 November 2007, dan
smartphone pertama yang menggunakan sistem operasi Android
dikeluarkan oleh T-Mobile dengan sebutan G1 pada bulan September
2008. Hingga saat ini Android telah merilis beberapa versi Android
untuk menyempurnakan versi sebelumnya. Selain berdasarkan
penomoran, pada setiap versi Android terdapat kode nama berdasarkan
nama-nama kue. Hingga saat ini sudah terdapat beberapa versi yang telah
diluncurkan, diantaranya: versi 1.5 dirilis pada 30 April 2009 diberi nama
Cupcake, versi 1.6 dirilis pada 15 September 2009 diberi nama Donut ,
dan versi 2.0 atau 2.1 dirilis pada 26 Oktober 2009 diberi nama Éclair,
versi 2.2 dirilis pada bulan Mei 2010 diberi nama Froyo, dan versi 2.3
dirilis pada bulan Desember 2010 diberi nama Gingerbread.
2.1.9.2. Anatomi Android
Dalam paket sistem operasi Android tediri dari beberapa unsur seperti
tampak pada gambar dibawah. Secara sederhana arsitektur Android
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 3/32
merupakan sebuah kernel Linux dan sekumpulan pustaka C / C++ dalam
suatu framework yang menyediakan dan mengatur alur proses aplikasi.
Gambar 2.8 Detail Arsitektur Anatomi Android
2.1.9.3. Linux Kernel
Android dibangun di atas kernel Linux 2.6. Namun secara keseluruhan
Android bukanlah linux, karena dalam Android tidak terdapat paket
standar yang dimiliki oleh linux lainnya. Linux merupakan sistem operasi
terbuka yang handal dalam manajemen memori dan proses. Oleh
karenanya pada Android hanya terdapat beberapa servis yang diperlukan
seperti keamanan, manajemen memori, manajemen proses, jaringan dan
driver. Kernel linux menyediakan driver layar, kamera, keypad, WiFi,
Flash Memory, audio, dan IPC ( Interprocess Communication) untuk
mengatur aplikasi dan lubang keamanan.
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 4/32
2.1.9.4. Libraries
Android menggunakan beberapa paket pustaka yang terdapat pada
C/C++ dengan standar Berkeley Software Distribution (BSD) hanya
setengah dari yang aslinya untuk tertanam pada kernel Linux. Beberapa
pustaka diantaranya:
a. Media Library untuk memutar dan merekam berbagai macam
format audio dan video.
b. Surface Manager untuk mengatur hak akses layer dari berbagai
aplikasi.
c. Graphic Library termasuk didalamnya SGL dan OpenGL, untuk
tampilan 2D dan 3D.
d. SQLite untuk mengatur relasi database yang digunakan pada
aplikasi.
e. SSl dan WebKit untuk browser dan keamanan internet.
Pustaka-pustaka tersebut bukanlah aplikasi yang berjalan sendiri, namun
hanya dapat digunakan oleh program yang berada di level atasnya. Sejak
versi Android 1.5, pengembang dapat membuat dan menggunakan
pustaka sendiri menggunakan Native Development Toolkit (NDK).
2.1.9.5. Android Runtime
Pada Android tertanam paket pustaka inti yang menyediakan sebagian
besar fungsi Android. Inilah yang membedakan Android dibandingkan
dengan sistem operasi lain yang juga mengimplementasikan Linux.
Android Runtime merupakan mesin virtual yang membuat aplikasi
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 5/32
Android menjadi lebih tangguh dengan paket pustaka yang telah ada.
Dalam Android Runtime terdapat 2 bagian utama, diantaranya:
a. Pustaka Inti, Android dikembangkan melalui bahasa pemrograman
Java, tapi Android Runtime bukanlah mesin virtual Java. Pustaka
inti Android menyediakan hampir semua fungsi yang terdapat pada
pustaka Java serta beberapa pustaka khusus Android.
b. Mesin Virtual Dalvik, Dalvik merupakan sebuah mesin virtual
yang dikembangkan oleh Dan Bornstein yang terinspirasi dari
nama sebuah perkampungan yang berada di Iceland. Dalvik
hanyalah interpreter mesin virtual yang mengeksekusi file dalam
format Dalvik Executable (*.dex). Dengan format ini Dalvik akan
mengoptimalkan efisiensi penyimpanan dan pengalamatan memori
pada file yang dieksekusi. Dalvik berjalan di atas kernel Linux 2.6,
dengan fungsi dasar seperti threading dan manajemen memori
yang terbatas.
2.1.9.6. Application Framework
Kerangka aplikasi menyediakan kelas-kelas yang dapat digunakan untuk
mengembangkan aplikasi Android. Selain itu, juga menyediakan
abstraksi generik untuk mengakses perangkat, serta mengatur tampilan
user interface dan sumber daya aplikasi. Bagian terpenting dalam
kerangka aplikasi Android adalah sebagai berikut :
a. Activity Manager , berfungsi untuk mengontrol siklus hidup aplikasi
dan menjaga keadaan ” Backstack“ untuk navigasi penggunaan.
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 6/32
b. Content Providers, berfungsi untuk merangkum data yang
memungkinkan digunakan oleh aplikasi lainnya, seperti daftar nama.
c. Resource Manager , untuk mengatur sumber daya yang ada dalam
program. Serta menyediakan akses sumber daya diluar kode
program, seperti karakter, grafik, dan file layout.
d. Location Manager, berfungsi untuk memberikan informasi detail
mengenai lokasi perangkat Android berada.
e. Notification Manager, mencakup berbagai macam peringatan
seperti, pesan masuk, janji, dan lain sebagainya yang akan
ditampilkan pada status bar.
2.1.9.7. Application Layer
Puncak dari diagram arsitektur Android adalah lapisan aplikasi dan
widget . Lapisan aplikasi merupakan lapisan yang paling tampak pada
pengguna ketika menjalankan program. Pengguna hanya akan melihat
program ketika digunakan tanpa mengetahui proses yang terjadi dibalik
lapisan aplikasi. Lapisan ini berjalan dalam Android runtime dengan
menggunakan kelas dan service yang tersedia pada framework aplikasi.
Lapisan aplikasi Android sangat berbeda dibandingkan dengan sistem
operasi lainnya. Pada Android semua aplikasi, baik aplikasi inti (native)
maupun aplikasi pihak ketiga berjalan diatas lapisan aplikasi dengan
menggunakan pustaka API ( Application Programming Interface) yang
sama.
2.1.10. Komponen Aplikasi
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 7/32
Fitur penting Android adalah bahwa satu aplikasi dapat menggunakan
elemen dari aplikasi lain (untuk aplikasi yang memungkinkan). Sebagai
contoh, sebuah aplikasi memerlukan fitur scroller dan aplikasi lain telah
mengembangkan fitur scroller yang baik dan memungkinkan aplikasi lain
menggunakannya. Maka pengembang tidak perlu lagi mengembangkan
hal serupa untuk aplikasinya, cukup menggunakan scroller yang telah
ada. Agar fitur tersebut dapat bekerja, sistem harus dapat menjalankan
aplikasi ketika setiap bagian aplikasi itu dibutuhkan, dan pemanggilan
objek java untuk bagian itu. Oleh karenanya Android berbeda dari sistem-
sistem lain, Android tidak memiliki satu tampilan utama program seperti
fungsi main() pada aplikasi lain. Sebaliknya, aplikasi memiliki komponen
penting yang memungkinkan sistem untuk memanggil dan menjalankan
ketika dibutuhkan.
2.1.10.1. Activities
Activity merupakan bagian yang paling penting dalam sebuah aplikasi,
karena Activity menyajikan tampilan visual program yang sedang
digunakan oleh pengguna. Setiap Activity dideklarasikan dalam sebuah
kelas yang bertugas untuk menampilkan antarmuka pengguna yang
terdiri dari Views dan respon terhadap Event . Setiap aplikasi memiliki
sebuah activity atau lebih. Biasanya pasti akan ada activity yang
pertama kali tampil ketika aplikasi dijalankan.
Perpindahan antara activity dengan activity lainnya diatur melalui
sistem, dengan memanfaatkan activity stack. Keadaan suatu activity
ditentukan oleh posisinya dalam tumpukan acitivity, LIFO ( Last In
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 8/32
First Out ) dari semua aplikasi yang sedang berjalan. Bila suatu activity
baru dimulai, activity yang sebelumnya digunakan maka akan
dipindahkan ketumpukan paling atas. Jika pengguna ingin
menggunakan activity sebelumnya, cukup menekan tombol Back , atau
menutup activity yang sedang digunakan, maka activity yang berada
diatas akan aktif kembali. Memory Manager Android menggunakan
tumpukkan ini untuk menentukan prioritas aplikasi berdasarkan
activity, memutuskan untuk mengakhiri suatu aplikasi dan mengambil
sumber daya dari aplikasi tersebut.
Ketika activity diambil dan disimpan dalam tumpukkan activity terdapat
4 kemungkinan kondisi transisi yang akan terjadi :
a. Active
Setiap activity yang berada ditumpukan paling atas, maka dia akan
terlihat, terfokus, dan menerima masukkan dari pengguna. Android
akan berusaha untuk membuat activity aplikasi ini untuk untuk tetap
hidup dengan segala cara, bahkan akan menghentikan activity yang
berada dibawah tumpukkannya jika diperlukan. Ketika activity
sedang aktif, maka yang lainnya akan dihentikan sementara.
b. Paused
Dalam beberapa kasus activity akan terlihat tapi tidak terfokus pada
kondisi inilah disebut paused. Keadaan ini terjadi jika activity
transparan dan tidak fullscreen pada layar. Ketika activity dalam
keadaan paused , dia terlihat active namun tidak dapat menerima
masukkan dari pengguna. Dalam kasus ekstrim, Android akan
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 9/32
menghentikan activity dalam keadaan paused ini, untuk menunjang
sumber daya bagi activity yang sedang aktif.
c. Stopped
Ketika sebuah activity tidak terlihat, maka itulah yang disebut
stopped. Activity akan tetap berada dalam memori dengan semua
keadaan dan informasi yang ada. Namun akan menjadi kandidat
utama untuk dieksekusi oleh sistem ketika membutuhkan
sumberdaya lebih. Oleh karenanya ketika suatu activity dalam
kondisi stopped maka perlu disimpan data dan kondisi antarmuka
saat itu. Karena ketika activity telah keluar atau ditutup, maka dia
akan menjadi inactive.
d. Inactive
Kondisi ketika activity telah dihentikan dan sebelum dijalankan.
Inactive activity telah ditiadakan dari tumpukan activity sehingga
perlu restart ulang agar dapat tampil dan digunakan kembali.
Kondisi transisi ini sepenuhnya ditangani oleh manajer memori
Android. Android akan memulai menutup aplikasi yang
mengandung activity inactive, kemudian stopped activity, dan
dalam kasus luar biasa paused activity juga akan di tutup.
2.1.10.2. Services
Suatu service tidak memiliki tampilan antarmuka, melainkan berjalan di
background untuk waktu yang tidak terbatas. Komponen service
diproses tidak terlihat, memperbarui sumber data dan menampilkan
notifikasi. Service digunakan untuk melakukan pengolahan data yang
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 10/32
perlu terus diproses, bahkan ketika Activity tidak aktif atau tidak
tampak.
2.1.10.3. Intents
Intens merupakan sebuah mekanisme untuk menggambarkan tindakan
tertentu, seperti memilih foto, menampilkan halaman web, dan lain
sebagainya. Intents tidak selalu dimulai dengan menjalankan aplikasi,
namun juga digunakan oleh sistem untuk memberitahukan ke aplikasi
bila terjadi suatu hal, misal pesan masuk. Intents dapat eksplisit atau
implisit, contohnya jika suatu aplikasi ingin menampilkan URL, sistem
akan menentukan komponen apa yang dibutuhkan oleh Intents tersebut.
2.1.10.4. Broadcast Receivers
Broadcast Receivers merupakan komponen yang sebenarnya tidak
melakukan apa-apa kecuali menerima dan bereaksi menyampaikan
pemberitahuan. Sebagian besar Broadcast berasal dari sistem misalnya,
Batre sudah hampir habis, informasi zona waktu telah berubah, atau
pengguna telah merubah bahasa default pada perangkat. Sama halnya
dengan service, Broadcast Receivers tidak menampilkan antarmuka
pengguna. Namun, Broadcast Receivers dapat menggunakan
Notification Manager untuk memberitahukan sesuatu kepada pengguna.
2.1.10.5. Content Providers
Content Providers digunakan untuk mengelola dan berbagi database.
Data dapat disimpan dalam file sistem, dalam database SQLite, atau
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 11/32
dengan cara lain yang pada prinsipnya sama. Dengan adanya Content
Provider memungkinkan antar aplikasi untuk saling berbagi data.
Komponen ini sangat berguna ketika sebuah aplikasi membutuhkan data
dari aplikasi lain, sehingga mudah dalam penerapannya.
2.1.10.6. Tipe Aplikasi Android
Terdapat tiga kategori aplikasi pada Android :
a. Foreground Activity
Aplikasi yang hanya dapat dijalankan jika tampil pada layar dan
tetap efektif walaupun tidak terlihat. Aplikasi dengan tipe ini pasti
mempertimbangkan siklus hidup activity, sehingga perpindahan
antar activity dapat berlangsung dengan lancar.
b. Background Service
Aplikasi yang memiliki interaksi terbatas dengan user, selain dari
pengaturan konfigurasi, semua dari prosesnya tidak tampak pada
layar. Contohnya aplikasi penyaringan panggilan atau sms auto
respon.
c. Intermittent Activity
Aplikasi yang masih membutuhkan beberapa masukkan dari
pengguna, namun sebagian sangat efektif jika dijalankan di
background dan jika diperlukan akan memberi tahu pengguna
tentang kondisi tertentu. Contohnya pemutar musik.
Untuk aplikasi yang kompleks akan sulit untuk menentukan
kategori aplikasi tersebut apalagi aplikasi memiliki ciri-ciri dari
semua kategori. Oleh karenanya perlu pertimbangan bagaimana
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 12/32
aplikasi tersebut digunakan dan menentukan kategori aplikasi yang
sesuai.
2.1.10.7. Siklus Hidup Aplikasi Android
Siklus hidup aplikasi Android dikelola oleh sistem, berdasarkan
kebutuhan pengguna, sumberdaya yang tersedia, dan sebagainya.
Misalnya Pengguna ingin menjalankan browser web, pada akhirnya
sistem yang akan menentukan menjalankan aplikasi. Sistem sangat
berperan dalam menentukan apakah aplikasi dijalankan, dihentikan
sementara, atau dihentikan sama sekali. Jika pengguna ketika itu sedang
menjalankan sebuah Activity, maka sistem akan memberikan perioritas
utama untuk aplikasi yang tersebut. Sebaliknya, jika suatu Activity tidak
terlihat dan sistem membutuhkan sumber daya yang lebih,maka Activity
yang prioritas rendah akan ditutup.
Android menjalankan setiap aplikasi dalam proses secara terpisah, yang
masing-masing memliki mesin virtual pengolah sendiri, dengan ini
melindungi penggunaan memori pada aplikasi. Selain itu juga Android
dapat mengontrol aplikasi mana yang layak menjadi prioritas utama.
Karenanya Android sangat sensitive dengan siklus hidup aplikasi dan
komponen-komponennya. Perlu adanya penanganan terhadap setiap
kondisi agar aplikasi menjadi stabil.
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 13/32
Gambar 2.9 Prioritas Aplikasi Berdasarkan Activity
2.1.10.8. Kelebihan Android
Sudah banyak platform untuk perangkat selular saat ini, termasuk
didalamnya Symbian, iPhone, Windows Mobile, BlackBerry, Java
Mobile Edition, Linux Mobile (LiM0), dan banyak lagi. Namun ada
beberapa hal yang menjadi kelebihan Android. Walaupun beberapa
fitur-fitur yang ada telah muncul sebelumnya pada platform lain,
Android adalah yang pertama menggabungkan hal seperti berikut :
a. Keterbukaan, Bebas pengembangan tanpa dikenakan biaya
terhadap
sistem karena berbasiskan Linux dan open source. Pembuat
perangkat menyukai hal ini karena dapat membangun platform
yang sesuai yang diinginkan tanpa harus membayar royality.
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 14/32
Sementara pengembang software menyukai karena Android dapat
digunakan diperangkat manapun dan tanpa terikat oleh vendor
manapun.
b. Arsitektur komponen dasar Android terinspirasi dari teknologi
internet Mashup. Bagian dalam sebuah aplikasi dapat digunakan
oleh aplikasi lainnya, bahkan dapat diganti dengan komponen lain
yang sesuai dengan aplikasi yang dikembangkan.
c. Banyak dukungan service, kemudahan dalam menggunakan
berbagai macam layanan pada aplikasi seperti penggunaan layanan
pencarian lokasi, database SQL, browser dan penggunaan peta.
Semua itu sudah tertanam pada Android sehingga memudahkan
dalam pengembangan aplikasi.
d. Siklus hidup aplikasi diatur secara otomatis, setiap program terjaga
antara satu sama lain oleh berbagai lapisan keamanan, sehingga
kerja sistem menjadi lebih stabil. Pengguna tak perlu kawatir dalam
menggunakan aplikasi pada perangkat yang memorinya terbatas.
e. Dukungan grafis dan suarat terbaik, dengan adanya dukungan 2D
grafis dan animasi yang diilhami oleh Flash menyatu dalam 3D
menggunakan OpenGL memungkinkan membuat aplikasi maupun
game yang berbeda.
f. Portabilitas aplikasi, aplikasi dapat digunakan pada perangkat yang
ada saat ini maupun yang akan datang. Semua program ditulis
dengan menggunakan bahas pemrograman Java dan dieksekusi
oleh mesin virtual Dalvik, sehingga kode program portabel antara
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 15/32
ARM, X86, dan arsitektur lainnya. Sama halnya dengan dukungan
masukan seperti penggunaan Keyboard, layar sentuh, trackball dan
resolusi layar semua dapat disesuaikan dengan program.
2.2. Model Analisis
2.2.1. Unified Modeling Language
UML (Unified Modeling Language) adalah sebuah bahasa pemodelan yang
telah menjadi standar dalam industri software untuk visualisasi,
merancang, dan mendokumentasikan sistem perangkat lunak. Bahasa
Pemodelan UML lebih cocok untuk pembuatan perangkat lunak dalam
bahasa pemrograman berorientasi objek (C+, Java, VB.Net), namun
demikian tetap dapat digunakan pada bahasa pemrograman prosedural.
Beberapa konsep dari UML terbagi menjadi 4, yaitu :
a. The Unified Modeling Language (UML) adalah bahasa standar untuk
melakukan spesifikasi, visualisasi, konstruksi, dan dokumentasi dari
komponen-komponen perangkat lunak, dan digunakan untuk
pemodelan bisnis.
b. UML menggunakan notasi grafis untuk menyatakan suatu desain.
c. Pemodelan dengan UML berarti menggambarkan yang ada dalam
dunia nyata ke dalam bentuk yang dapat dipahami dengan
menggunakan notasi standar UML.
d. Diagram UML didesain untuk menunjukkan satu sisi dari bermacam-
macam sudut pandang (perspektif) dan terdiri dari tingkat abstraksi
yang berbeda.
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 16/32
2.2.2. Sejarah UML
Pada tahun 1994, Grady Boch dan James Rumbaugh bergabung untuk
menggunakan metode berorientasi objek. Ivan Jacobson bergabung pada
tahun 1995, dan mereka bertiga fokus membuat suatu bahasa pemodelan
objek standar sebagai ganti dari pendekatan atau metode objek standar.
Berdasarkan kerja mereka dan hasil kerja lainnya pada industri, UML
(Unified Modeling Language) versi 1.0 dirilis pada tahun 1997.
2.2.3. Kegunaan UML
Adapun dari kegunaan UML adalah sebagai berikut :
a. Menggambarkan batasan sistem dan fungsi-fungsi sistem secara umum,
dibuat dengan use case dan actor .
b. Menggambarkan kegiatan atau proses bisnis yang dilaksanakan secara
umum, dibuat dengan interaction diagrams.
c. Menggambarkan representasi struktur statik sebuah sistem dalam
bentuk class diagrams.
d. Membuat model behavior “yang menggambarkan kebiasaan atau sifat
sebuah sistem” dengan state transition diagrams.
e. Menyatakan arsitektur implementasi fisik menggunakan component
and development diagrams.
f. Menyampaikan atau memperluas fungsionality dengan stereotypes.
2.2.4. Model Uses Case Diagram
Use Case Diagram secara grafis menggambarkan interaksi antara sistem,
sistem eksternal, dan pengguna. Dengan kata lain Use Case Diagram
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 17/32
secara grafis mendeskripsikan siapa yang akan menggunakan sistem dan
dalam cara apa pengguna (user) mengharapkan interaksi dengan sistem itu.
Use case secara naratif digunakan untuk secara tekstual menggambarkan
sekuensi langkah-langkah dari setiap interaksi.
2.2.5. Diagram Struktur Statis
UML menawarkan dua diagram untuk memodelkan struktur statis sistem
informasi, yaitu :
a. Class Diagram
Menggambarkan struktur objek sistem. Diagram ini menunjukan class
object yang menyusun sistem dan juga hubungan antara class object
tersebut.
b. Object Diagram
Serupa dengan class diagram, tetapi object diagram memodelkan
instance object actual dengan menunjukan nilai-nilai saat ini dari
atribut instance. Object Diagram menyajikan “snapshot atau potret”
tentang objek sistem pada point waktu tertentu. Diagram ini tidak
digunakan sesering Class Diagram, tetapi saat digunakan dapat
membantu seorang developer memahami struktur sistem secara lebih
baik.
2.2.6. Diagram Interaksi
Diagram interaksi memodelkan sebuah interaksi, terdiri dari satu set objek,
hubungan-hnbungannya, dan pesan yang terkirim di antara objek. Model
diagram ini memodelkan behavior (kelakuan) sistem yang dinamis.
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 18/32
a. Diagram Rangkaian atau Sequence Diagram
Secara grafis menggambarkan bagaimana objek berinteraksi dengan
satu sama lain melalui pesan pada sekuensi sebuah use case atau
operasi. Diagram ini mengilustrasikan bagaimana pesan terkirim dan
diterima di antara objek dan dalam sekuensi atau timing apa.
b. Diagaram Kolaborasi atau Collaboration Diagaram
Serupa dengan diagram rangkaian atau sekuensi, tetapi tidak fokus
pada timing atau sekuensi pesan. Diagram ini justru menggambarkan
interaksi atau kolaborasi antara objek dalam sebuah format jaringan.
2.2.7. Diagram State atau State Diagram
Diagram ini untuk memodelkan behavior objek khusus yang kompleks
(statechart) dan sebuah diagram untuk memodelkan behavior dari sebuah
use case atau sebuah metode, yaitu :
a. Diagram Statechart
Digunakan untuk memodelkan behavior objek khusus yang dinamis.
Diagram ini mengilustrasikan siklus hidup objek-berbagai keadaan
yang dapat diasumsikan oleh objek dan event-event (kejadian) yang
menyebabkan objek beralih dari satu state ke state lain.
b. Diagram Aktivitas atau Activity Diagram
Secara grafis digunakan untuk menggambarkan rangkaian aliran
aktivitas baik proses bisnis maupun use case. Activity diagram dapat
juga digunakan untuk memodelkan action yang akan dilakukan saat
sebuah operator dieksekusi dan memodelkan.
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 19/32
2.2.8. Diagram Implementasi
Diagram implementasi juga memodelkan struktur sistem informasi, yaitu :
a. Diagram Komponen atau Component Diagram
Digunakan untuk manggambarkan organisasi dan ketergantungan
komponen-komponen software sistem. Komponen diagram dapat
digunakan untuk menunjukan bagaimana kode pemrograman dibagi
menjadi modul-modul atau komponen.
b. Diagram Penguraian atau Deployment
Digunakan untuk mendeskripsikan arsitektur fisik dalam istilah “node”
untuk hardware dan software dalam sistem. Diagram ini
menggambarkan konfigurasi komponen-komponen software real-time,
prosesor, dan peralatan yang membentuk arsitektur sistem.
2.3. Teknik Pengumpulan Data
Teknik yang digunakan dalam pembuatan Aplikasi GPS dan penyusunan
laporan ini skripsi adalah :
a. Metode Pengumpulan Data (Data Gathering)
Mencari dan mengumpulkan data-data yang dibutuhkan dan
berkaitan dengan pembuatan Aplikasi GPS.
b. Metode Wawancara
Dilakukan terhadap ahli atau dosen yang bersangkutan tentang
pembuatan Aplikasi GPS.
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 20/32
c. Studi Kepustakaan (Library Research)
Studi kepustakaan seperti mempelajari buku-buku referensi yang
berhubungan dengan Android dan aplikasi GPS untuk membantu
dalam pembuatan Aplikasi GPS. Selain itu juga mempelajari web-
web referensi seputar hal yang sama untuk membantu dalam
penyajian informasi yang akan ditampilkan.
d. Analisa Sistem
Menganalisa kebutuhan sistem dan mengidentifikasi kebutuhan
informasi berdasarkan hasil pengamatan dan wawancara serta studi
pustaka yang telah dilakukan. Alat bantu analisis sistem yang
digunakan pada sistem ini adalah Use Case Diagram dan Class
Diagram.
2.4. Metode Pengembangan Perangkat atau Sistem
2.4.1. Prototyping Model
Metode prototype system melibatkan user secara langsung dengan analisis
dan perancangan, sangat efektif untuk pengoreksian sistem. Prototype
merupakan sistem yang berjalan (bukan hanya sekedar ide diatas kertas)
yang dibangun untuk menguji ide dan asumsi mengenai sistem. Sama
halnya seperti sistem berbasis komputer, yang berisi software yang
berjalan yang menerima input, menampilkan kalkulasi dan
menghasilkan output tercetak maupun tampilan informasi atau
menampilkan aktivitas penting lainnya.
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 21/32
Rancangan dan informasi yang dihasilkan di evaluasi oleh user , akan
lebih efektif jika digunakan data dan situasi yang sesungguhnya.
Perubahan sangat diperlukan hingga sistem digunakan. Informasi
mengenai kebutuhan dan syarat sistem terkadang tidak didefinisikan
dengan detail, dikarenakan user hanya mengetahui area bisnis yang
memerlukan pengembangan atau prosedur yang memerlukan
perubahan, atau user mengetahui apa yang dibutuhkan tetapi merasa tidak
cukup mengetahui informasi apa yang terkait. Hal lainnya yaitu situasi
dimana pihak pengembang tidak mempunyai informasi yang cukup dan
juga pengalaman yang memadai mengenai sistem yang akan
dikembangkan, dimana sistem tersebut mempunyai risiko dan pembiayaan
yang tinggi, maka dengan prototype akan menyediakan informasi
mengenai kemampuan kerja dari konsep yang akan dikembangkan.
Kenyataannya, prototype merupakan pilot model, perancangannya
berkembang melalui penggunaannya, sehingga didesain agar dapat
diubah dengan mudah. Informasi yang diperoleh selama penggunaan
prototype, diaplikasikan pada perubahan rancangan yang kemudian dapat
digunakan kembali sebagai prototype untuk menghasilkan informasi
rancangan yang bernilai lainnya. Secara umum analis sistem menetapkan
prototype menjadi metode yang paling tepat untuk dilaksanakan jika :
a. Belum ada sistem dengan karakteristik yang sama dengan sistem yang
diajukan yang pernah dikembangkan oleh pengembang.
b. Fungsi utama dari sistem hanya diketahui sebagian, selebihnya
tidak teridentifikasi melalui analisis kebutuhan.
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 22/32
c. Pengalaman dalam menggunakan sistem yang secara signifikan
ditambahkan kedalam daftar kebutuhan yang harus dipenuhi oleh
sistem.
d. Versi alternatif dari sistem yang akan dikembangkan melalui
pengalaman dan pengembangan tambahan dan perbaikan fitur.
e. Pengguna (user) ikut berpartisipasi dalam proses pengembangan.
2.4.2. Prinsip Prototyping Model
User dapat menunjukkan fitur yang disukai dan tidak disukai,
mengindikasikan apa yang diinginkan pada sistem yang sudah ada dan
berjalan lebih mudah dari pada harus mendeskripsikannya secara teoritis.
Pengalaman dan penggunaan lebih menghasilkan informasi penting dari
pada diagram analisis dan proposal naratif.
Adapun tahapan-tahapan dalam proses prototyping adalah sebagai berikut
:
a. Identifikasi informasi kebutuhan user yang diketahui dan fitur yang
diinginkan dalam sistem.
b. Mengembangkan prototype kerja.
c. Menggunakan prototype tanpa penambahan dan perubahan, untuk
mengetahui kebutuhan sistem.
d. Perbaiki prototype berdasarkan informasi yang diperoleh melalui
pengalaman user .
e. Ulangi tahapan ini selama dibutuhkan hingga mendapatkan sistem
yang diinginkan.
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 23/32
Ketika analis dan user memutuskan bahwa informasi telah cukup
dikumpulkan melalui proses prototype, maka ditentukan bagaimana
memenuhi kebutuhan yang telah diidentifikasikan.
Terdapat 4 alternatif yang digunakan dalam prototyping, yaitu :
a. Prototype di bangun ulang, alternatif ini berarti memprogram ulang
mulai dari awal.
b. Prototype di implementasikan sebagai sistem lengkap.
Menampilkan efisiensi dan metode untuk interaksi user mungkin
diperlukan.
c. Proyek diabaikan. Dalam kasus ini prototype menyediakan cukup
informasi untuk memperlihatkan bahwa sistem tidak dapat
dikembangkan untuk memenuhi tujuan karena alasan teknologi,
ekonomi, dan operasional.
d. Pengembangan prototype yang lain. Informasi yang dikumpulkan
menyarankan pendekatan yang sama sekali berbeda, atau fitur yang
bertolak belakang.
2.4.3. Metode untuk Pengembangan Prototype
Dengan prototype, kecepatan pengembangan lebih penting dari pada
efisiensi pemrosesan. Sistem prototype dikembangkan dalam waktu
yang singkat dan biaya yang relatif murah. Sistem prototype dapat
dikembangkan dengan menggunakan metode dan bahasa pemrograman
konvensional, walaupun tidak mengandung seluruh fitur, organisasi file
bersifat sementara, pemrosesan dan kontrol input yang tidak lengkap,
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 24/32
tetapi tujuan utamanya adalah menjabarkan ide dan menyediakan asumsi
kebutuhan.
Urutan dalam sistem prototyping model adalah sebagai berikut :
a. Pengumpulan Kebutuhan Sistem
Klien dan Developer bersama-sama mendefinisikan format seluruh
perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis
besar sistem yang akan dibuat.
b. Perancangan Sistem Perangkat Lunak
Perancangan dilakukan cepat dan rancangan mewakili semua aspek
software yang diketahui, dan rancangan ini menjadi dasar
pembuatan prototype.
c. Evaluasi Prototype
Klien mengevaluasi prototype yang dibuat dan digunakan untuk
memperjelas kebutuhan software. Dalam beberapa kasus, bagian
program dapat diambil dari sistem lain, pustaka maupun kode
lain yang dapat digunakan ulang (reusable). Selama prototyping,
analis dapat menghubungkan bagian dari program reusable, dengan
program yang dibuat sendiri. Di Industri komputer, secara aktif telah
menggunakan application generators, yaitu program yang
membangun (generate) program. Tools ini secara otomatis dapat dapat
membangun sistem informasi dengan mengijinkan analis menetapkan
struktur dari tampilan virtual, record masukan, dan format laporan.
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 25/32
Gambar 2.10 Proses Prototyping Model
2.4.4. Eclipse
Eclipse adalah sebuah IDE (Integrated Development Environment) untuk
mengembangkan perangkat lunak dan dapat dijalankan di semua platform
( platform-independent ). Eclipse awalnya dikembangkan oleh IBM untuk
menggantikan perangkat lunak IBM Visual Age for Java 4.0. Produk ini
diluncurkan oleh IBM pada tanggal 5 November 2001, yang
menginvestasikansebanyak US$ 40 juta untuk pengembangannya.
Semenjak itu konsursium Eclipse Foundation mengambil alih untuk
pengembangan Eclipse lebih lanjut dan pengaturan organisasinya.
Berikut ini beberapa sifat dari Eclipse :
a. Multi-platform
Target sistem operasi Eclipse adalah Microsoft Windows, Linux,
Solaris, AIX, HP-UX dan Mac OS X.
b. Multi-language
Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi
Eclipse mendukung pengembangan aplikasi berbasis bahasa
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 26/32
pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan
lain sebagainya.
c. Multi-role
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
plugin. Secara standar Eclipse selalu dilengkapi dengan JDT ( Java
Development Tools), plug-in yang membuat Eclipse kompatibel untuk
mengembangkan program Java, dan PDE (Plug-in Development
Environment ) untuk mengembangkan plug-in baru. Eclipse beserta
plug-in-nya diimplementasikan dalam bahasa pemrograman Java.
2.4.4.1. Emulator Android
SDK Android mencakup emulator perangkat virtual mobile yang dapat
dijalankan pada komputer. Emulator memungkinkan bagi pengembang
untuk merancang prototipe, mengembangkan, dan menguji aplikasi
Android tanpa menggunakan perangkat fisik.
Emulator Android meniru semua fitur perangkat keras dan perangkat
lunak pada perangkat mobile yang ada, kecuali bahwa Emulator Android
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 27/32
tidak dapat melakukan panggilan telepon dan mengirim pesan yang
sebenarnya. Penyediaan berbagai tombol navigasi dan kontrol, yang
dapat digunakan dengan cara menekan menggunakan mouse atau
keyboard untuk menghasilkan peristiwa (event) pada aplikasi. Hal ini
juga dapat menampilkan layar di mana aplikasi akan ditampilkan
bersama dengan aplikasi Android lainnya yang berjalan.
Untuk memodelkan dan menguji aplikasi agar lebih mudah,
menggunakan konfigurasi Android Virtual Device (AVD). AVD akan
mendefinisikan aspek perangkat keras tertentu dari telepon dan
memungkinkan bagi pengembang untuk membuat berbagai konfigurasi
untuk menguji pada platform Android dan memindahkan kedalam
perangkat mobile. Setelah aplikasi dapat berjalan pada emulator,
kemudian dapat menggunakan layanan dari platform Android untuk
memanggil aplikasi lain, akses jaringan, memutar audio dan video,
menyimpan dan mengambil data, notify the user , dan membuat transisi
grafis dan tema.
Emulator juga dapat mencakup berbagai kemampuan debug, seperti
konsol pada log output kernel, mensimulasikan interupsi aplikasi (seperti
tiba pesan SMS atau panggilan telepon), dan mensimulasikan efek latensi
dan saluran data yang putus.
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 28/32
Gambar 2.11 Emulator Android
2.4.5. Mobile Programming
Mobile Programming seperti android adalah merupakan salah satu bahasa
pemrograman berbasis Java yang dirancang untuk diimplementasikan pada
perangkat bergerak (mobile). Bahasa pemrogaman Java (Java
programming language) dirilis tahun 1995 dengan pengembangan awal
yang dimulai pada tahun 1991. Pengembangan bahasa ini memiliki
beberapa kunci penggunaan, termasuk aplikasi online atau aplikasi Internet
dan aplikasi-aplikasi yang didesain untuk menjalankan perangkat genggam
(handheld device). Mobile Java Development merupakan proses
pembuatan aplikasi yang menggunakan bahasa pemrograman Java secara
khusus untuk perangkat mobile (mobile, handheld device), seperti mobile
telephone (handphone), music player modern, dan lain-lain.
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 29/32
Istilah mobile Java development lebih menggambarkan pengembangan
software aplikasi berbasis Java (Java-based software application) yang
didesain secara khusus untuk berjalan pada hardware perangkat mobile.
Pengembangan dari aplikasi Java untuk perangkat mobile tidak hanya
terbatas pada produsen software besar, namun juga menyediakan sebuah
platform untuk developer independen atau developer pemula.
2.4.6. SQLite
Dalam istilah sederhana, SQLite adalah public-domain paket perangkat
lunak yang menyediakan sistem manajemen database relasional, atau
RDBMS. Sistem database relasional adalah digunakan untuk menyimpan
user-defined catatan dalam tabel yang besar. Selain penyimpanan data dan
manajemen, mesin database yang dapat memproses perintah query yang
kompleks yang menggabungkan data dari beberapa tabel untuk
menghasilkan laporan dan ringkasan data. RDBMS yang populer lainnya
termasuk Oracle Database, IBM DB2, dan Microsoft SQL Server pada
komersial sisi, dengan MySQL dan PostgreSQL menjadi populer dengan
produk open source.
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
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 30/32
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.
2.4.6.1. Fitur SQLite
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 queri-queri yang
kompleks. Tidak ada pengecekan tipe sehingga data bisa dimasukan
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 akses 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.
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 31/32
SQLite mendefinisikan fitur-fitur antara lain, sebagai berikut :
a. Serverless
SQLite tidak memerlukan proses server yang terpisah atau sistem
untuk beroperasi. SQLite library dapat mengakses penyimpanan file
secara langsung.
b. Zero Configuration
Server bukan berarti tidak ada pengaturan. Membuat sebuah instance
database SQLite semudah membuka file.
c. Cross Platform
Seluruh database berada dalam file cross-platform tunggal dan tidak
memerlukan administrasi.
d. Self-Contained
Sebuah library tunggal yang berisi seluruh database sistem yang
dapat mengintegrasikan langsung ke aplikasi host.
e. Small Runtime Footprint
Membangun default yang kurang dari satu megabyte kode dan hanya
memerlukan beberapa megabyte memori. Dengan beberapa
penyesuaian, baik ukuran library dan penggunaan memori dapat
berkurang secara signifikan.
f. Transactional
Transaksi SQLite sepenuhnya menggunakan ACID-compliant, yang
memungkinkan akses yang aman dari beberapa proses atau thread.
g. Full-Featured
5/16/2018 Android Uml - slidepdf.com
http://slidepdf.com/reader/full/android-uml 32/32
SQLite mendukung sebagian besar fitur bahasa query yang
ditemukan di versi SQL92 (SQL2) standar.
h. Highly Reliable
Tim pengembangan SQLite membutuhkan pengujian kode dan
verifikasi yang sangat serius.
Secara keseluruhan, SQLite menyediakan lingkungan database yang
sangat fungsional dan fleksibel relasional yang mengkonsumsi sumber
daya minimal dan menciptakan kerumitan minimal untuk pengembang
dan pengguna.
Gambar 2.10 Arsitektur Database SQLite