• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI

2.6 Contoh Perhitungan DFS

Gambar 2.7 menyatakan graf berarah berlabel

:

Bandara St. Tugu Malioboro

Giwangan Ambarawa

Klaten Tirtonadi Salatiga

Term. Concat

Gambar 2.7 Graf

Tabel 2.1 Isi Stack dalam DFS

Event Isi Stack

Visit Giwangan Giwangan

Visit Bandara Giwangan, Bandara

Visit St. Tugu Giwangan, Bandara, St. Tugu

Visit Malioboro Giwangan, Bandara, St. Tugu, Malioboro Pop Malioboro Giwangan, Bandara, St. Tugu

Algoritma DFS akan menghasilkan urutan kunjungan Giwangan, Bandara, St.Tugu, Malioboro, Ambarawa,Klaten, Tirtonadi, Salatiga, terminal Concat. 2.7 Android

Android merupakan sistem operasi yang dikembangkan untuk perangkat mobile berbasis Linux.

Pop St. Tugu Giwangan, Bandara

Pop Bandara Giwangan

Visit Ambarawa Giwangan, Ambarawa

Pop Ambarawa Giwangan

Visit Klaten Giwangan, Klaten

Visit Tirtonadi Giwangan, Klaten, Tirtonadi

Visit Salatiga Giwangan, Klaten, Tirtonadi, Salatiga Pop Salatiga Giwangan, Klaten, Tirtonadi

Pop Tirtonadi Giwangan, Klaten

Pop Klaten Giwangan

Visit Term.Concat Giwangan, Term.Concat Pop term. Concat Giwangan

2.7.1 Arsitektur Android

Sistem operasi Android dibangun berdasarkan kernel Linux dan memiliki arsitektur seperti gambar berikut [5]:

Gambar 2.8 Arsitektur Android

a. Application

Lapisan ini adalah lapisan aplikasi, serangkaian aplikasi akan terdapat pada perangkat mobile. Aplikasi inti yang telah terdapat pada Android termasuk kalender, kontak, SMS, dan lain sebagainya. Aplikasi-aplikasi ini ditulis dengan bahasa pemrograman Java.

b. Application Framework

Pengembangan aplikasi memiliki akses penuh ke Android sama dengan aplikasi inti yang telah tersedia. Pengembang dapat dengan mudah mengakses informasi lokasi, mengatur alarm, menambahkan pemberitahuan ke status bar dan lain sebagainya. Arsitektur aplikasi ini

dirancang untuk menyederhanakan penggunaan kembali komponen, aplikasi apa pun dapat memubikasikan kemampuan dan aplikasi lain dapat menggunakan kemampuan mereka sesuai batasan keamanan. Dasar dari aplikasi adalah seperangkat layanan dan sistem, yaitu berbagai View yang digunakan untuk membangun UI, Content Provider yang memungkinkan aplikasi berbagi data, ResourceManager menyediakan akses bukan kode sperti grafik, string, dan layout NotificationManager yang akan membuat aplikasi dapat menampilkan tanda pada status bar dan ActivityManager yang berguna mengatur daur hidup dari aplikasi.

c. Libraries

Satu set libraries dalam bahasa C/C++ yang digunakan oleh berbagai komponen pada sistem Android.

d. Android Runtime

Satu set libraries inti yang menyediakan sebagian besar fungsi yang tersedia di libraries inti dari bahasa pemrograman Java. Setiap aplikasi akan berjalan sebagai proses sendiri pada Dalvik Virtual Machine (VM). e. Linux Kernel

Android bergantung pada Linux versi 2.6 untuk layanan system inti seperti keamanan, manajemen memori, manajemen proses, network stack, dan model driver. Kernel juga bertindak sebagai lapisan antara hardware dan seluruh software.

2.7.2 Komponen Dasar

Aplikasi Android ditulis dalam bahasa pemrograman Java. Java mengompilasi kode bersama dengan data resource dan file yang dibutuhkan oleh aplikasi dibundel ke dalam paket Android, file arsip ditandai dengan .apk. Komponen aplikasi pada Android terdiri dari 4 komponen utama, yaitu [5]:

a. Activities

Activities merupakan potongan kode executable yang menyajikan UI secara visual dimulai oleh pengguna maupun sistem operasi dan berjalan selama diperlukan. Activities biasanya sesuai dengan tampilan layar : masing-masing Activities menunjukkan satu layar untuk pengguna. Activities yang tidak aktif dijalankan dapat dimatikan oleh sistem operasi untuk menghemat memori.

b. Service

Service tidak memiliki visual UI, melainkan berjalan di latar belakang untuk waktu yang tidak terbatas. Contoh dari service adalah MP3 player yang akan terus memainkan file MP3 sesuai urutan file, walaupun pengguna menggunakan aplikasi lain.

c. Broadcast Receiver

Broadcast Receiver merupakan komponen yang menerima dan bereaksi untuk menyiarkan pengumuman. Banyak siaran berasal dalam kode

sistem, misalnya pengumuman bahwa zona waktu telah berubah, baterai rendah, bahwa gambar telah diambil, atau bahwa pengguna mengubah preferensi bahasa. Aplikasi juga dapat melakukan siaran misalnya untuk membiarkan aplikasi lain tahu bahwa beberapa data teah di-download ke perangkat dan tersedia sehingga dapat digunakan.

d. Content Provider

Content Provider diciptakan untuk berbagi data dengan Activities lain atau Service. Sebuah Content Provider menggunakan antar muka standar dalam bentuk URI untuk memenuhi permintaan data dari aplikasi lain.

2.7.3 Daur Hidup Activity

Activity memiliki tiga status dasar yaitu [5] : 1. Active atau Running

Status ini ketika Activity berjalan di foreground (di bagian atas stack untuk task ini). Activity yang berkaitan aktif dengan pengguna.

2. Pause

Jika Activity telah kehilangan fokus 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 dapat terlihat. Sebuah Activity dalam status pause tetap hidup, yaitu Android tetap mempertahankan

semua informasi dan tetap melekat pada Windows Manager hingga akhirnya dapat dimatikan oleh sistem ketika memori sangat rendah.

3. Stop

Activity benar-benar dihentikan karena ada Activity lain yang memenuhi layar. Semua informasi dipertahankan tetapi tidak dapat dilihat oleh pengguna sehingga jendela tersembunyi dan dapat dimatikan oleh sistem ketika memori dibutuhkan.

Metode yang terdapat pada Activity : 1. onCreate()

Dipanggil ketika Activity pertama kali dibuat. Biasanya merupakan metode di mana View yang ingin ditampilkan dibuat, membuka data file, maupun menginisialisasi Activity. Saat memanggil OnCreate, kerangka Android melewati sebuah bundel objek yang mengandung state activity yang disimpan ketika Activity pertama berjalan.

2. onStart()

Dipanggil sebelum Activity terlihat pada layar. Ketika Activity dapat menjadi Activity foreground, maka akan dipanggil method OnResume() sedangkan jika tidak maka akan dipanggil method OnStop().

3. 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.

4. onPause()

Dipanggil ketika Activity lain dibawa ke foreground. Pada status ini Activity tidak memiliki akses ke layar.

5. onStop()

Dipanggil ketika Activity tidak lagi terlihat karena adanya Activity lain yang dibawa ke foreground atau Activity ini dimatikan.

6. OnDestroy()

Dipanggil terakhir sebelum Activity dimatikan ketika Android membutuhkan resources yang digunakan oleh Activity.

2.7.4 Daur Hidup Service

Daur hidup Service hampir sama dengan Activity tetapi memiliki beberapa perbedaan untuk detailnya. [5]

1. OnCreate() dan OnStart()

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().

2. OnBind()

Ketika klien membutuhkan koneksi ke service maka akan dipanggil Context.bind. Pemanggilan ini akan mengakibatkan pembuatan service apabila service tidak sedang berjalan tanpa memanggil OnStart().

3. 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 bind ke service ini.

Dokumen terkait