Android Uml

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 Perkemban gan 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

Transcript of Android Uml

Page 1: 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

Page 2: Android Uml

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

Page 3: Android Uml

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.

Page 4: Android Uml

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

Page 5: Android Uml

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.

Page 6: Android Uml

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

Page 7: Android Uml

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

Page 8: Android Uml

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

Page 9: Android Uml

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

Page 10: Android Uml

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

Page 11: Android Uml

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

Page 12: Android Uml

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.

Page 13: Android Uml

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.

Page 14: Android Uml

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

Page 15: Android Uml

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.

Page 16: Android Uml

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

Page 17: Android Uml

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.

Page 18: Android Uml

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.

Page 19: Android Uml

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.

Page 20: Android Uml

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.

Page 21: Android Uml

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.

Page 22: Android Uml

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.

Page 23: Android Uml

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,

Page 24: Android Uml

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.

Page 25: Android Uml

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

Page 26: Android Uml

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

Page 27: Android Uml

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.

Page 28: Android Uml

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.

Page 29: Android Uml

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

Page 30: Android Uml

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.

Page 31: Android Uml

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 

Page 32: Android Uml

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