bab ii landasan teori - repository.bsi.ac.id filebab ii landasan teori 2.1. konsep dasar program...

25
6 BAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencangkup sistem operasi, middleware dan aplikasi.” Android menyediakan platform terbuka bagi para pengembang untuk mencipatakan aplikasi mereka. Awalnya, google Inc membeli Android Inc. yang merupakan pendatang baru yang membuat peranti lunak untuk ponsel/smartphone. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termaksuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile dan Nvidia. Pada saat perilisan perdana Android 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan open source pada perangkat mobile. Google merilis kode-kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan open platform perangkat seluler. 2.1.2. Pengertian Java Menurut Budi Raharjo dkk (2010:3), “Java adalah bahasa pemrogaman yang dapat dijalankan diberbagai komputer termasuk telpon genggam.” Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini

Upload: vandat

Post on 15-Jun-2019

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

6

BAB II

LANDASAN TEORI

2.1. Konsep Dasar Program

2.1.1. Sejarah Android

Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi untuk

perangkat mobile berbasis linux yang mencangkup sistem operasi, middleware dan

aplikasi.” Android menyediakan platform terbuka bagi para pengembang untuk

mencipatakan aplikasi mereka. Awalnya, google Inc membeli Android Inc. yang

merupakan pendatang baru yang membuat peranti lunak untuk ponsel/smartphone.

Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance,

konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi,

termaksuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile dan Nvidia.

Pada saat perilisan perdana Android 5 November 2007, Android bersama

Open Handset Alliance menyatakan mendukung pengembangan open source pada

perangkat mobile. Google merilis kode-kode Android di bawah lisensi Apache,

sebuah lisensi perangkat lunak dan open platform perangkat seluler.

2.1.2. Pengertian Java

Menurut Budi Raharjo dkk (2010:3), “Java adalah bahasa pemrogaman yang

dapat dijalankan diberbagai komputer termasuk telpon genggam.” Bahasa ini awalnya

dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini

Page 2: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

7

\

merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak mengadopsi

sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang

lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal.

2.1.3. Android : Platform Masa Depan

Android dipuji sebagai “platform mobile pertama yang Lengkap, Terbuka dan

Bebas”.

1. Lengkap (Complete Platform) : Para desainer dapat melakukan

pendekatan yang komprehensif ketika mereka sedang mengembangkan

platform Android. Android merupakan sistem operasi yang aman dan

banyak menyediakan tools dalam membangun software dan

memungkinkan untuk peluang pengembangan aplikasi.

2. Terbuka (Open Source Platform) : Platform Android disediakan melalui

lisensi open source. Pengembangan dapat dengan bebas untuk

mengembangkan aplikasi. Android sendiri menggunakan Linux Kernel

2.6.

3. Free (Free Platform) : Android adalah platform / aplikasi yang bebas

untuk develop. Tidak ada lisensi atau biaya royalty untuk dikembangkan

pada platform Android. Tidak ada biaya keanggotaan diperlukan. Tidak

diperlukan biaya pengujian. Tidak ada kontrak yang diperlukan. Aplikasi

untuk android dapat didistribusikan dan diperdagangkan dalam bentuk

apapun.

Page 3: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

8

\

Pengembang memiliki beberapa pilihan ketika membuat aplikasi yang

berbasis Android. Kebanyakan pengembang menggunakan Android

Studio untuk merancang dan mengembangkan aplikasi Android. Android

Studio adalah IDE yang paling popular untuk pengembangan Android,

karena memiliki dukungan langsung dari Google untuk menjadi IDE

pengembangan Aplikasi Android. Aplikasi Android dapat dikembangkan

pada sistem operasi beriku :

1. Windows XP, Vista, Seven

2. Mac OS X (Mac OS X 10.4.8 atau lebih baru)

3. Linux

2.1.4. Arsitektur Android

Secara garis besar Arsitektur Android dapat dijelaskan dan digambarkan

sebagai berikut :

1. Applications dan Widgets

Applications dan Widgets ini adalah layer dimana kita berhubungan

dengan aplikasi saja, dimana biasanya kita download aplikasi kemudian

kita lakukan instalasi dan jalankan aplikasi tersebut. Di layer terdapat

aplikasi inti termasuk klien email, program SMS, kalender, peta, browser,

kontak dan lain-lain. Semua aplikasi ditulis menggunakan bahasa

pemrograman Java.

Page 4: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

9

\

2. Applications Frameworks

Application Frameworks ini adalah leyer dimana para pembuat aplikasi

melakukan pengembangan atau pembuatan aplikasi yang akan dijalankan

disistem operasi Android, karena pada layer inilah aplikasi dapat

dirancang dan dibuat, seperti content-providers yang berupa sms dan

panggilan telepon.

Komponen-Komponen yang termasuk didalam Applications Frameworks

adalah sebagai berikut :

a. Views

b. Content Provider

c. Resources Manager

d. Notification Manager

e. Activity Manager

3. Libraries

Libraries ini adalah layer dimana fitur-fitur Android berada. Berjalan di

atas kernel, Layer ini meliputi berbagai library C/C++ inti seperti Libc

dan SSL, serta :

a. libraries media untuk pemutaran audio dan video

b. libraries untuk manajemen tampilan

c. libraries Graphics mencakup SGL dan Open GL untuk grafis 2D

dan 3D

d. libraries SQLite untuk dukungan database

Page 5: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

10

\

e. libraries SSL dan WebKit terintegrasi dengan web browser dan

security

f. libraries LiveWebcore mencakup modern web browser dengan

engine embedded web view

g. libraries 3D yang mencakup implementasi OpenGL ES 1.0 API’s

4. Android Run Time

Layer yang membuat aplikasi dapat dijalankan dimana prosesnya

menggunakan Implementasi Linux. Dalvik Virtual Machine (DVM)

merupakan mesin yang membentuk dasar kerangka aplikasi Android.

5. Linux Kernel

Linux Kernel adalah layer dimana inti dari operating system dari Android

itu berada. Berisi file-file system yang mengatur system processing,

memory, resource, drivers, dan sistem-sistem operasi Android lainnya.

Linux Kernel yang digunakan Android adalah Linux Kernel release 2.6.

Gambar II.1 Arsitektur Android

Sumber : http://socmedtech.com/wp-content/uploads/2014/10/android.jpg

Page 6: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

11

2.1.5. Fundamental Aplikai

1. Komponen Dasar

Aplikasi Android ditulis dalam bahasa pemrograman java. Kode java

dikompilasikan bersama dengan file source yang dibutuhkan oleh aplikasi,

dimana prosesnya dipackage oleh tools yang dinamakan “apt tools” ke dalam

pake Android sehingga menghasilkan file dengan ekstensi apk. File apk itulah

Yang kita sebut dengan aplikasi, dan nantinya dapat diinstal diperangkat

mobile.

Ada empat jenis komponen pada aplikasi Android yaitu :

a. Activies

Suatu activity akan menyajikan user interface (UI) kepada pengguna,

sehingga pengguna dapat melakukan interaksi. Sebuah aplikasi Android

bisa jadi hanya memiliki satu activity, tetapi umumnya aplikasi memiliki

banyak activity tergantung pada tujuan aplikasi dan design dari aplikasi

atau yang bertindak sebagai user interface (UI) saat aplikasi diperlihatkan

kepada user. Untuk pindah dari satu activity ke activity lain kita dapat

melakukannya dengan satu even, misalnya click tombol, memilih opsi atau

menggunakan triggers tertentu. Secara hirarki sebuah windows activity

dinyatakan dengan method Activity. setContentView(). Content View

adalah objek yang berada pada root hirarki.

b. Service

Service tidak memiliki Graphic User Interface (GUI), tetapi service

berjalan secara background, sebagai contoh dalam memainkan music,

Page 7: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

12

\

service mungkin memainkan music atau mengambil data dari jaringan,

tetapi setiap service harus berada dalam kelas induknya. Misalnya, media

player sedang memutar lagi dari list yang ada. Aplikasi ini akan memiliki

dua atau lebih activity yang memungkinkan user untuk memilih lagu

misalnya, atau menulis sms sambil player sedang jalan. Untuk menjaga

music tetap dijalankan, activity player dapat menjalankan service. Service

dijalankan pada thread utama dari proses aplikasi.

c. Broadcast Receiver

Broadcast Reveiver berfungsi menerima dan bereaksi untuk

menyampaikan notifikasi. Contoh broadcast seperti notifikasi zona waktu

berubah, baterai low, gambar telah selesai diambil oleh kamera, atau

perubahan referensi bahasa yang digunakan. Aplikasi juga dapat

menginisiasi broadcast misalnya memberikan informasi pada aplikasi lain

bahwa ada data yang telah diunduh ke perangkat dan siap untuk

digunakan.

Broadcast Receiver tidak memiliki user interface (UI), tetapi memiliki

sebuah activity untuk merespon informasi yang mereka terima, atau

mungkin menggunakan Notification Manager untuk memberitahu kepada

pengguna, seperti lampu latar atau vibrating (getaran) perangkat, dan lain

sebagainya.

d. Content Provider

Content Provider membuat kumpulan aplikasi data secara spesifik

sehingga bisa digunakan oleh aplikasi lain. Data disimpan dalam file

Page 8: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

13

sistem seperti database SQLite. Content Provider menyediakan cara

untuk mengakses data yang dibutuhkan oleh suatu activity, misalnya

ketika kita menggunakan aplikasi yang membutuhkan peta (Map), atau

aplikasi yang membutuhkan untuk mengakses data kontak dan navigasi,

maka disinilah fungsi content provider.

2. Daur Hidup Activity

Activity memiliki tiga status dasar :

a. Active atau Running

Status ini ketika Activity berjalan di foreground (di bagian atas stack untuk

task ini). Activity yang berkaitan aktif dengan pengguna.

b. Pause

Jika Activity telah kehilangan focus tetapi masih dapat dilihat oleh

pengguna yang berarti ada activity lain yang berjalan di atas Activity ini,

sebuah Activity yang transparan atau tidak menutupi layar penuh sehingga

Activity dalam status pause tetap hidup, yaitu Android tetap

mempertahankan semua informasi dan tetap melekat pada

WindowManager hingga akhirnya dapat dimatikan oleh sistem ketika

memori sangat lemah.

c. Stop

Activity benar-benar dihentikan karena ada activity lain yang memenuhi

layar. Semua informasi dipertahankan tetapi tidak dapat dilihat oleh

Page 9: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

14

\

pengguna sehingga jendela tersembunyi dan dapat dimatikan oleh sistem

ketika memori dibutuhkan.

Metode yang terdapat pada Activity :

a. OnCreate ()

Dipanggil ketika Activity pertama kali dibuat. Biasanya merupakan

metode dimana View yang ingin ditampilkan dibuat, membuka data file,

maupun menginisialisasi Activity, Saat memanggil OnCreate, kerangka

Android melewati sebuah Bundle objek mengandung state activity yang

disimpan ketika 4 Activity pertama berjalan.

b. OnStart ()

Dipanggil sebuah Activity terlihat pada layar. Ketika Activity dapat

menjadi Activity foreground, maka akan dipanggil method OnResume()

sedangkan jika tidak makan akan dipanggil method OnStop()

c. OnResume ()

Dipanggil setelah OnStart() apabila Activity dapat menjadi foreground.

Saat ini, activity dapat bereaksi dengan pengguna. OnResume() juga akan

dipanggil ketika Activity ini tidak menjadi foreground karena ada Activity

lain lalu Activity lain akhirnya selesai dan Activity kembali menjadi

foreground.

d. OnPause ()

Dipanggil ketika Activity lain dibawa ke foreground. Pada status ini

Activity tidak memiliki akses ke layar.

Page 10: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

15

e. OnStop ()

Dipanggil ketika Activity tidak lagi terlihat karena adanya Activity lain

yang dibawa ke foreground atau Activity ini dimatikan.

f. OnDestroy ()

Dipanggil terakhir sebelum Activity dimatikan ketika Android

membutuhkan resources yang digunakan oleh Activity.

3. Daur Hidup Service

Daur hidup service hampir sama dengan Activity tetapi memiliki beberapa

perbedaan untuk detailnya.

a. OnCreate ()

Dipanggil apabila seseorang klien memanggil

Context.startService(Intent). Jika service belum berjalan maka Android

akan membuatnya dan memanggil OnCreate() diikuti method OnStart().

Apabila service telah berjalan, Android hanya akan memanggil OnStart()

b. OnBilnd ()

Ketika klien membutuhkan koneksi ke service maka akan dipanggil

Context.blind. Pemanggilan ini akan mengakibatkan pembuatan service

apabila service tidak sedang berjalan tanpa memanggil OnStart().

c. OnDestroy ()

Sama dengan Activity, method ini akan dipanggil ketika service akan

dimatikan. Android akan mematikan service apabila telah tidak ada lagi

klien yang memulai atau blind ke service ini.

Page 11: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

16

\

2.1.6. Versi Android

Telepon pertama yang memakai sistem operasi Android adalah HTC Dream,

yang dirilis pada 22 Oktober 2008. Pada penghujung tahun 2010 diperkirakan hamper

semua vendor seluler di dunia menggunakan Android sebagai operating system.

Adapun versi-versi Androd yang pernah dirilis adalah sebagai berikut :

1. Android versi 1.1

Pada 9 Maret 2009, Google merilis Android 1.1. Android versi ini

dilengkapi dengan pembaruan estetis pada aplikasi, jam, alarm, voice

search, (pencarian suara), pengiriman pesan dengan Gmail dan

pemberitahuan email.

2. Android versi 1.5 (Cupcake)

Pada pertengahan Mei 2009, Google kembali merilis telepon seluler

dengan menggunakan Android dan SDK (Software Development Kit)

dengan versi 1.5 (Cupcake). Terdapat beberapa pembaruan termasuk juga

penambahan beberapa fitur dalam seluler versi ini yakni kemampuan

merekam dan menonton video dengan modus kamera, mengupload video

ke Youtube dan gambar ke Picasa langsung dari telepon, dukungan

Bluetooth A2DP. kemampuan terhubung secara otomatis ke headset

Bluetooth, animasi layar, dan keyboard pada layar dapat disesuaikan

dengan sistem.

3. Android versi 1.6 (Donut)

Donut (versi 1.6) dirilis pada September dengan menampilkan proses

pencarian yang lebih baik disbanding sebelumnya, pengguna baterai

Page 12: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

17

indicator dan control applet VPN. Fitur Lainnya adalah galeri yang

memungkinan pengguna untuk memilih foto yang akan dihapus, kamera,

camcorder dan galeri yang diintegrasikan, CDMA/EVDO, 802.1x, VPN,

Gestures, dan Text-to-speech engine, kemampuan dial ponsel, pengadaan

resolusi VWGA.

4. Android versi 2.0/2.1 (Éclair)

Pada 3 Desember 2009 kembali diluncurkan ponsel Android dengan versi

2.0/2.1 (Éclair), perubahan yang dilakukan adalah pengoptimalan

hardware, peningkatan Google Maps 3.1.2, perubahan UI dengan browser

baru dan dukungan HTML5, daftar kontak yang baru, dukungan flash

untuk kamera 3,2MP, digital Zoom, dan Bluetooth 2.1.

5. Android versi 2.2 (Froyo : Frozen Yoghurt)

Pada bulan Mei 2010 Android versi 2.2 Rev 1 diluncurkan. Android inilah

yang sekarang sangat banyak beredar dipasaran, salah satunya adalah

dipakai Samsung FX tab yang sudah ada dipasaran. Fitur yang tersedia di

Android very ini sudah kompleks diantaranya adalah :

a. Kerangka aplikasi memungkinkan penggunaan dan penghapusan

komponen yang tersedia.

b. Dalvik Virtual Machine dioptimalkan untuk perangkat mobile.

c. Grafik : grafik di 2D dan grafik 3D berdasarkan libraries OpenGL.

d. SQLite : untuk menyimpan data

e. Mendukung media : audio, video dan berbagai format gambar

(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF).

Page 13: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

18

\

f. GSM, Bluetooth, EDGE, 3G dan WiFi (hardware independent)

g. Kamera, Global Positioning System (GPS), Kompas, dan

accelerometer (tergantung hardware).

6. Android versi 2.3 (Gingerbread)

Android versi 2.3 diluncurkan pada Desember 2010, hal-hal yang direvisi

dari versi sebelumnya adalah kemampuan seperti berikut :

a. SIP-based VoIP

b. Near Field Comunications (NFC)

c. Gyroscope dan sensor

d. Multiple cameras support

e. Mixable audio effects

f. Download manager

7. Android 3.0 (Honeycomb)

Android 3.0 (Honeycomb) dirilis Februari 2011 sebagai Android 3.0 revisi

1 serta Android versi 3.0 revisi 2 telah dirilis pada Juli 2011.

8. Android versi 3.0 dirilis Februari 2011, sedangkan Android 3.1 revisi 2

juga dirilis Mei 2011, serta Android revisi 3 dirilis Juli pada 2011.

9. Android versi 3.2 dirilis Juli 2011

10. Android 4.0 dirilis November 2011

11. Android versi 4.1

12. Android versi 4.2

13. Android versi 4.3

Page 14: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

19

2.1.7. Android Widget

Paket Widget pada dasarnya merupakan visualisasi dari elemen user interface

(UI) yang digunakan pada layar aplikasi Android dimana kita dapat merancang

sendiri sesuai kebutuhan kita.

Widget di dalam Android ditampilkan dengan konsep View. Dimana aplikasi

Android pada umumnya menggunakan widget sebagai Layout XML. Untuk

mengimplementasikan widget, selain file java kita juga membutuhkan tambahan dua

file. Berikut ini adalah file-file yang umumnya dibutuhkan apabila kita membut

widget :

1. File Java

Berupa file java dimana merupakan file yang mengimplementasikan aksi

dari widget. Jika anda mendefenisikan suatu widget beserta posisinya di

layar yang didefinisikan dari file XML, kita harus melakukan coding di

file java dimana kita dapat mengambil semua nilai atribut dari tata letak

file XML yang didefenisikan.

2. File XML

Sebuah file XML yang berada di res/values/ yang mendefenisikan

komponen elemen-elemen XML yang digunakan untuk inisialisasi widget

serta atribut yang mendukungnya.

3. Layout XML (optional)

File ini tidak harus ada, file XML berada didalam res/layout/ yang

menggambarkan atau penambahan keterangan pada layout widget.

Page 15: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

20

\

Tabel II.1

Jenis-jenis (Classes) Android Widget

AbsListView Cursor Adapter

AbsListView.LayoutParams CursorTreeAdapter

AbsoluteLayout DatePicker

AbsSeekBar DialerFilter

AbsSpinner DigitalClocl

AdapterView<T extend Adapter> EditText

AdapterView.AdapterContextMenuInfo Expandable List View

AlphabetIndexer ExpandableListView.ExpandabletextMe

nuInfo

AnalogClock Filter

ArrayAdapter<T> Filter.FilterResults

AutoCompleteTExtView FrameLayout

BaseAdapter FrameLayout.LayoutParams

BaseExpandableListAdapter Gallery

Button Gallery.LayoutParams

CheckBox GridView

CheckedTextView HeaderViewListAdapter

Chronometer HorizontalScrollView

CompounButton ImageButton

ImageSwitcher SeekBar

ImageView SimpleAdapter

LinearLayout SimpleCursordapter

LinearLayout.LayoutParams SimpleCursorTreeAdapter

ListView SimpleExpandableListAdapter

ListView.FixedViewInfo SlidingDrawer

MediaController Spinner

MultiAutoCompleteTextView TabHost

MultiAutoCompleteTExtView.Comma

Tokenizer

TabHost.TExtSped

OverScroller TableLAyout

PopupWindow TableLayout.LayoutParams

ProgressBar TableRow

QuickContacBadge TableRow.LayoutParams

RadioButton TabWidget

RadioGroup.LayoutParams TextSwitcher

Page 16: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

21

RatingBar TextView

RelativeLayout TextView.SavedState

RelativeLayout.LayoutParams TimePicker

RemoteViews Toast

ResourceCursorAdapter ToggleButton

ResourceCursorTreeAdapter VideoView

ScollView ViewAnimator

2.2 Peralatan Pendukung

2.2.1. Unified Modeling Language (UML)

1. Definisi Unified Modeling Language (UML)

Menurut Hend (2006), “Unified Modeling Languange (UML) adalah bahasa

yang telah menjadi standard untuk visualisasi, menerapkan, membentuk,

membangun dan mendokumentasikan artifak suatu sistem perangkat lunak.”

Menurut Adi Nugroho (2005), “Unified Modeling Language (UML) adalah

alat bantu analisis serta perancangan lunak berbasis objek”.

Berdasarkan beberapa pendapat yang dikemukakan diatas dapat ditarik

kesimpulan bahwa “Unified Modeling Language” (UML) adalah sebuah

bahasa yang berdasarkan grafik atau gambar untuk menvisualisasikan,

mespesifikasikan, membangun dan pendokumentasian dari sebuah sistem

pengembangan perangkat lunak berbasis OO (Object Oriented)”, UML

merupakan suatu kumpulan teknik terbaik yang telah terbukti sukses dalam

memodelkan system yang besar dan kompleks.

2. Diagram UML

Berikut ini adalah definisi mengenai lima diagram UML yaitu:

Page 17: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

22

\

a. Use Case Diagram

Use case diagram menggambarkan sebuah sistem (apa fungsinya),

yang mereprensentasikan sebuah interaksi antara actor dengan sistem

(sebuah pekerjaan). Dalam use case diagram terdapat istilah seperti

aktor, use case dan use case relationship, yang dapat dijelaskan

sebagai berikut:

1) Aktor

Aktor mewakili siapa pun atau apa saja yang harus berinteraksi

dengan sistem.

2) Use Case

Use case adalah dialog antara aktor dengan sistem yang akan

menggambarkan fungsi yang diberikan oleh sistem.

3) Use Case Relationship

Use case relationship adalah suatu hubungan baik itu antara aktor

dan use case atau antara use case dan use case. Hubungan antara

aktor dan use case disebut dengan communicate association.

Page 18: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

23

Gambar II.2 Contoh Use Case Diagram

Sumber : http://ucf.karlbanks.com/cop4331/images/del1_ucd.png

b. Class Diagram

Diagram ini memperlihatkan himpunan kelas-kelas, antarmuka-

antarmuka, kolaborasi-kolaborasi, serta relasi-relasi. Class diagram

berfungsi untuk menjelaskan tipe dari objek sistem dan hubungannya

dengan objek yang lain. Objek adalah nilai tertentu dari setiap

attribute kelas entitiy. Pada penggambaran class diagram ada istilah

kelas analisis yaitu kelas ber-stereotyple.

Page 19: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

24

\

Gambar II.3 Contoh Class Diagram

Sumber : http://www.uml-diagrams.org/examples/class-example-android-camera.png

c. Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek didalam dan

disekitar system (termasuk pengguna, display, dan sebagainya) berupa

message yang digambarkan terhadap waktu. Sequence diagram terdiri

antar dimensi vertical (waktu) dan dimensi horizontal (objek-objek

yang terkait). Sequence diagram bisa digunakan untuk

menggambarkan scenario atau rangkaian langkah-langkah yang

dilakukan sebagai respons dari sebuah event untuk menghasilkan

output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut,

proses dan perubahan apa saja yang terjadi secara internal dan output

apa yang dihasilkan.

Page 20: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

25

\

Gambar II,4 Contoh Sequence Diagram

Sumber : http://codearea.in/wpcontent/

uploads/2012/08/sequence_animation_musicplayer.png

d. Activity Diagram

Diagram aktifitas lebih memfokuskan diri pada eksekusi dan alur

sistem dari pada bagaimana sistem itu dirakit. Diagram ini tidak hanya

memodelkan software melainkan memodelkan bisnis juga. Diagram

aktifitas menunjukkan aktifitas sistem dalam bentuk kumpulan aksi-

aksi”.

Page 21: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

26

Activity diagram ini memperlihatkan aliran dari suatu aktivitas ke

aktivitas lainnya dalam suatu sistem. Diagram ini terutama penting

dalam pemodelan fungsi-fungsi dalam suatu sistem dan memberi

tekanan pada aliran antar objek,

Gambar II.5 Contoh Activity Diagram

Sumber :

http://www.codeproject.com/KB/applications/xmlquiz/xmlquiz_activitydiagram.gif

Page 22: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

27

\

Gambar II.6 Contoh Develompent Diagram

Sumber:http://creately.com/diagram/h0g73f461/Android+Application+UML+Deploy

ment+Diagram

2.2.2. Android Studio

Android Studio adalah sebuah IDE untuk pengembangan aplikasi diplatform

Android. Sama seperti kombinasi antara Eclipse dan Android Developer Tools

(ADT). Saat ini usia Android Studio masih tergolong muda, baru versi 0.2.3 (masih

early acces preview). Berikut ini adalah sifat dari Android Studio :

1. Multi-platform : Target sistem operasi Android Studio adalah Microsoft

Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.

Page 23: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

28

\

2. Multi-language : Android Studio dikembangan dengan bahasa

pemrograman Java, akan tetapi Android Studio mendukung

pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti

C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.

3. Multi-role : Selain sebagai IDE untuk pengembangan aplikasi, Android

Studio digunakan untuk aktivitas dalam siklus pengembangan perangkat

lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan

lain sebagainya.

2.2.3. SQLite

Menurut Safaat H (2012:171). “SQLite adalah salah satu software yang

embedded yang sangat popular, kombinasi SQL interface dan penggunaan memory

yang sangat sedikit dengan kecepatan yang sangat cepat”. SQLite di Android

termasuk dalam Android Runtime, sehingga setiap versi dari Android dapat membuat

database dengan SQLite.

2.2.4. Android Software Development Kit (SDK)

Menurut Safaat H (2014:8) Android SDK adalah tools API (Application

Programming Interface) yang diperlukan untuk mulai mengembangkan aplikasi pada

platform Android menggunakan bahasa pemrograman Java, Android merupakan

subset perangkat lunak untuk ponsel yang meliputi sistem operasi, middleware dan

aplikasi utama yang drilis oleh Google. Saat ini disediakan Android SDK sebagai alat

Page 24: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

29

\

bantu dan API untuk mulai mengembangkan aplikasi pada platform Android

menggunakan bahasa pemrograman Java.

2.2.5. Android Virtual Device (AVD)

Android Virtual Device adalah sebuah emulator Android, berfungsi sebagai

emulator untuk mencoba aplikasi apakah berjalan dengan baik atau tidak sebelum

dijalankan di Smartphone dan Tablet Android. Android Virtual Device (AVD) adalah

konfigurasi dari emulator sehingga kita dapat menjalankan perangkat Android sesuai

model yang diplih, missal Android 1.5, 2.2 atau 2,3 dan versi Android selanjutnya.

(http://android.gits.co.id/2010/08/26/arti-istilah-avd/ : 2015)

Android Virtual Device (AVD) is an emulator configuration that lets you

model an actual device by defining hardware and software options to be emulated by

the Android Emulator.

(https://developer.android.com/tools/devices/index.html : 2015)

2.2.6. HIPO (Hierarchy plus Input-Process-Output)

Menurut Jogiyanto (2005), “HIPO (Herarchy plus Input-Process-Output)

merupakan metodologi yang dikembangkan dan didukung oleh IBM, “Tetapi saat ini

HIPO juga banyak digunakan sebagai alat disain dan teknik dokumentasi dalam

siklus pengembangan sistem, HIPO dapat digunakan sebagai alat pengembangan

sistem dan teknik dokumentasi program. Penggunaan HIPO ini mempunyai sasaran

utama sebagai berikut:

Page 25: BAB II LANDASAN TEORI - repository.bsi.ac.id fileBAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Sejarah Android Menurut Safaat H (2014:1), “Android adalah sebuah sistem operasi

30

1. Untuk menyediakan suatu struktur guna memahami fungsi-fungsi dari

program.

2. Untuk lebih menekankan fungsi-fungsi yang harus diselesaikan oleh program,

bukannya menunjukkan statemen-statemen program yang digunakan untuk

melaksanakan fungsi tersebut.

3. Untuk menyediakan penjelasan yang jelas dari input yang harus digunakan

dan output yang harus dihasilkan oleh masing-masing fungsi pada tiap-tiap

tingkatan dari diagram-diagram HIPO.

4. Untuk menyediakan output yang tepat dan sesuai dengan kebutuhan-

kebutuhan pemakai.

2.2.7. Flowchart

Menurut Jogiyanto (2005:795), “Bagan alir (flowchart) adalah bagan (chart)

yang menunjukkan alir (flow) didalam program atau prosedur sistem secara logika”.

Menurut Jogiyanto (2005:802), “Bagan alir program (program flowchart)

merupakan bagan alir yang mirip dengan bagan alir sistem, yaitu untuk

menggambarkan prosedur di dalam sistem”.