• Tidak ada hasil yang ditemukan

Pembangunan Aplikasi Event Calender Pada Platform Android dengan dukungan Web Service

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pembangunan Aplikasi Event Calender Pada Platform Android dengan dukungan Web Service"

Copied!
129
0
0

Teks penuh

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika

Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

EGI ADTYA PRATAMA PUTRA

10107385

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(2)

iii

KATA PENGANTAR

Assalamualaikum Wr Wb.

Puji syukur penulis panjatkan kepada Allah SWT yang telah memberikan

rahmat dan karunianya, shalawat serta salam semoga tercurah kepada Rasulullah

SAW, sehingga penulis dapat menyelesaikan Skripsi yang berjudul

PEMBANGUNAN APLIKASI EVENT CALENDARPADA PLATFORM ANDROID DENGAN DUKUNGAN WEB SERVICE”.

Adapun tujuan dari penyusunan skripsi ini adalah untuk memenuhi salah

satu syarat dalam menyelesaikan studi jenjang strata satu (S1) di Program Studi

Teknik Informatika, Universitas Komputer Indonesia.

Dengan keterbatasan ilmu dan pengetahuan yang dimiliki oleh penulis,

maka penulis membutuhkan peran serta dari pihak lain dalam proses

penyelesaian skripsi ini. Oleh karena itu ijinkanlah penulis untuk menyampaikan

ucapan terima kasih yang sebesar-besarnya kepada :

1. Ayah, Ibu dan adik-adik tercinta yang telah memberikan kasih

sayang, doa dan dorongan baik moril maupun materi yang tiada

henti. Semoga suatu saat aku dapat membanggakan kalian.

2. Bapak Dr. Ir. Eddy Suryanto Soegoto, M.Sc., Selaku Rektor

UNIKOM

3. Bapak Dr. Ir Arry Akhmad Arman, M.Sc., Selaku Dekan Fakultas

(3)

iv

4. Ibu Mira Kania Sabariah, M.T., Selaku Ketua Jurusan Program

Studi Teknik Informatika UNIKOM.

5. Bapak Agung Wahana, M.T., Selaku dosen pembimbing. Terima

kasih karena telah banyak meluangkan waktu untuk memberikan

bimbingan, saran dan nasehatnya selama penyusunan skripsi ini.

6. Bapak Eko Budi Setiawan S.Kom, selaku dosenwali kelas IF-9

Angkatan 2007.

7. Dian Haerani yang telah memberikan doa dan motivasi yang tiada

henti semoga dua atau tiga tahun lagi impian kita bisa tercapai.

8. Robbi Sakhi Sawab dan Deris Febian , berkat kalian saya tidak jadi

cuti.

9. Teman-teman di Jurusan Teknik Informatika angkatan 2007

khususnya kelas IF-9 terima kasih atas bantuan dan doronganya.

10.Serta semua pihak yang telah turut membantu dalam penyusunan

skripsi ini, yang tidak bisa di sebutkan semuanya satu persatu.

Didalam penulisan skripsi ini, penulis telah berusaha semaksimal

mungkin, walaupun demikian penulis menyadari bahwa skripsi ini jauh dari

sempurna. Untuk itu penulis akan selalu menerima segala masukkan yang

ditujukan untuk menyempurnakan skripsi ini. Akhir kata, penulis berharap

semoga skripsi ini dapat bermanfaat bagi penulis pada khususnya dan pembaca

pada umumnya.

(4)

i

ABSTRAK

PEMBANGUNAN APLIKASI EVENT CALENDAR PADA

PLATFORM ANDROID DENGAN DUKUNGAN

WEB SERVICE

Oleh

EGI ADTYA PRATAMA PUTRA

10107385

Saat ini alat-alat telekomunikasi yang ada di indonesia sudah memiliki banyak fasilitas yang mempermudah penggunanya, salah satunya yaitu fasilitas untuk mengakses internet secara real time. Salah satu contoh alat telekomunikasi yang sangat pesat perkembangannya saat ini adalah alat telekomunikasi berbasis android.Android itu sendiri adalah suatu sistem operasi untuk perangkat mobile

yang berbasis Linux, dikembangkan oleh Google bersama perusahaan-perusahaan lain yang tergabung ke dalam Open Handset Alliance.Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri yang dapat digunakan oleh bermacam-macam perangkat mobile.Dengan memanfaatkan web service, sebuah aplikasi android pun dapat mengakses

database MySQL yang secara default tidak didukung oleh android.Memang secara default android di dukung oleh database yaitu SQLite, namun SQLite kurang untuk menangani data yang besar dan sulit untuk melakukan pembaharuan data secara real time.Namun dengan memanfaatkan web service pembaharuan data bisa dilakukan secara real time.Aplikasi android yang akan dibuat yaitu aplikasi event calendar. Mengapa event calendar, karena masih banyak event organizer yang masih mengumumkan event secara manual, baik pengumuman yang ditempel di tempat tertentu atau dengan menyewa space iklan yang memakan biaya cukup mahal.

Untuk metodologi penelitian perangkat lunak menggunakan metode waterfall, sedangkan untuk pemodelan datanya menggunakan metode berorientasi objek yaitu Unified Modeling Language (UML) untuk menggambarkan model dari analisis dan design sistem yang dibuat.

(5)

ii

ABSTRACT

DEVELOPMENT APPLICATION EVENTS CALENDAR ON

ANDROID PLATFORM WITH WEB SERVICES SUPPORT

by

EGI ADTYA PRATAMA PUTRA

10107385

Currently telecommunications devices that exist in Indonesia already has many facilities that facilitate users, one of which is the facility to access the Internet in real time. One example of a very rapid telecommunications development today is the android-based telecommunications equipment. Android itself is an operating system for mobile devices based on Linux, developed by Google and other companies are incorporated into the Open Handset Alliance. Android provides an open platform for developers to create their own applications that can be used by a variety of mobile devices. By utilizing the web service, an android application can access the MySQL database by default is not supported by the android. Indeed, by default android is supported by the SQLite database, but SQLite is less to handle large data and difficult to perform data updates in real time. However, by utilizing web service data updates can be done in real time. Android applications to be made that the application event calendar. Why the event calendar, because there are many event organizers are still announcing the event manually, both announcements are posted in a particular place or by renting advertising space that cost is quite expensive.

For the research methodology of software using waterfall method, whereas for data modeling using object-oriented method is the Unified Modeling Language (UML) to describe the model of analysis and system design are made.

(6)

1

1.1 Latar Belakang

Secara sederhana teknologi informasi dapat dikatakan sebagai ilmu yang

diperlukan untuk mengolah informasi, agar informasi tersebut dapat dicari dengan

mudah dan akurat.Isi dari ilmu tersebut berupa teknik – teknik atau prosedur untuk menyampaikan informasi secara efisien dan efektif.

Di era informasi ini, kebutuhan masyarakat terhadap komunikasi menjadi

semakin besar. Mobilitas masyarakat yang tinggi membutuhkan support dari

teknologi informasi. Perkembangan teknologi embedded device memungkinkan

kebutuhan akan informasi tadi terpenuhi. Semakin kayanya fitur dan semakin

terjangkaunya harga jual produk embedded device, memungkinkan embedded

device menjadi sebuah solusi yang tepat bagi kebutuhan komunikasi masyarakat.

Saat ini alat-alat telekomunikasi yang ada di indonesia sudah memiliki

banyak fasilitas yang mempermudah penggunanya, salah satunya yaitu fasilitas

untuk mengakses internet secara real time, maka kemungkinan seorang pengguna

alat telekomunikasi untuk melakukan Surfing di dunia maya semakin besar.Salah

satu contoh alat telekomunikasi yang sangat pesat perkembangannya saat ini

adalah alat telekomunikasi yang menggunakan android. Android itu sendiri adalah

(7)

oleh Google bersama perusahaan-perusahaan lain yang tergabung ke dalam Open

Handset Alliance.Android menyediakan platform terbuka bagi para pengembang

untuk menciptakan aplikasi mereka sendiri yang dapat digunakan oleh

bermacam-macam perangkat mobile.

Pada umumnya sebuah aplikasi memerlukan driver database agar bisa

melakukan koneksi ke sebuah database.Web service dapat dijadikan sebagai

jembatan penghumbung antara aplikasi dengan database. Jadi, dengan

memanfaatkan web service sebuah aplikasi tidak lagi memerlukan driver database

dan tidak perlu mengetahui database apa yang digunakan oleh server serta

bagaimana struktur database tersebut. Aplikasi yang ingin mengakses cukup

mengetahui method atau fungsi apa saja yang disediakan oleh web service.

Dengan memanfaatkan web service, sebuah aplikasi android pun dapat

mengakses database MySQL yang secara default tidak didukung oleh

android.Memang secara default android di dukung oleh database yaitu SQLite,

namun SQLite kurang untuk menangani data yang besar dan sulit untuk

melakukan pembaharuan data secara real time.Namun dengan memanfaatkan web

service pembaharuan data bisa dilakukan secara real time.

Berdasarkan penjelasan diatas maka pada skripsi ini akan

mengimplementasikan penggunaan web service dengan aplikasi android. Aplikasi

android yang akan dibuat yaitu aplikasi event calendar. Mengapa event calendar,

karena masih banyak event organizer yang masih mengumumkan event secara

manual, baik pengumuman yang ditempel di tempat tertentu atau dengan

(8)

banyak orang mengetahui pengumuman tersebut. Oleh sebab itu aplikasi ini bisa

menjadi sebuah solusi untuk permasalahan tersebut. Dinas Pariwisata Kota

Bandung adalah pengelola event-event yang akan di laksanakan di kota Bandung,

maka dari itu penelitian akan dilakukan pada Dinas Pariwisata Kota Bandung

guna mendapatkan informasi event-event apa saja yang ada di Bandung.

1.2 Identifikasi Masalah

Berdasarkan latar belakang yang disebutkan diatas, permasalahan yang

dirumuskan adalah bagaimana membangun aplikasi event calendar pada platform

android dengan memanfaatkan web service untuk menginformasikan event di

Kota Bandung.

1.3 Maksud dan Tujuan

Maksud membangun aplikasi event calendar dengan dukungan web service

ini adalah untuk mempelajari dan mengimplementasikan web service serta

membuat aplikasi event calendar pada platform android sebagai media

penyebarluasan informasi mengenai event di Kota Bandung. Adapun tujuan yang

akan dicapai dari skripsi ini adalah :

1. Membangun web service menggunakan standar SOAP.

2. Membangun aplikasi event calendar pada platform android.

3. Mengimplementasikan penggunaan web service dengan android.

(9)

1.4 Batasan Masalah

Agar dalam penulisan ini tidak menyimpang dari permasalahan dan

sasaran yang akan dicapai, maka ada batasan pada masalah yang dibahas. Batasan

masalah yang ditetapkan dalam skripsi ini adalah:

1. Aspek keamanan aplikasi dan web service tidak ditangani.

2. Web service yang didukung hanya standar SOAP saja.

3. Model analisis sistem adalah pemodelan berorientasi objek dan peralatanyang

digunakan adalah UML (Unified Modeling Language) versi 2.

4. Sistem akan dibangun menggunakan bahasa pemrograman Java, Android,

dan PHP.

5. Aplikasi pada android akan berjalan jika terkoneksi internet.

1.5 Metodologi Penelitian

1.5.1 Pengumpulan data

Metodologi Penelitian yang digunakan dalam pengumpulan data yang

berkaitan dengan penyusunan skripsi dan pembuatan sistem pencarian ini adalah

sebagai berikut.

1. Studi kepustakaan.

Tahap ini digunakan untuk mencari informasi yang berhubungan dengan

permasalahan yang akan dibahas dengan bersumber pada buku-buku serta

bacaan lain yang kiranya dapat mebantu menyelesaikan pembangunan

(10)

2. Studi dokumentasi.

Dengan mengumpulkan informasi mengenai data yang diperlukan agar

lebih mudah untuk didefinisikan dan dirumuskan pada permasalahan yang

ada.

1.5.2 Pembangunan Perangkat Lunak

Pembangunan sistem pencarian ini menggunakan metodologi Waterfall

dengan gambar 1.1 sebagai berikut

1. Rekayasa Sistem

Tahapan ini merupakan kegianan pengumpulan data sebagai pendukung

pembangunan sistem serta menentukan ke arah mana aplikasi ini akan

dibangun.

(11)

2. Analisis Sistem

Mengumpulkan kebutuhan secara lengkap kemudian dianalisis dan

didefinisikan kebutuhan yang harus dipenuhi oleh aplikasi yang akan

dibangun.

3. Perancangan Sistem

Perancangan antarmuka dari hasil analisis kebutuhan yang telah selesai

dikumpulkan secara lengkap.

4. Pengkodenan Sistem

Hasil perancangan sisten diterjemahkan ke dalam kode-kode dengan

menggunakan bahasa pemrograman yang telah ditentukan,

5. Pengujian Sistem

Penyatuan unit-unit program kemudian diuji secara keseluruhan.

6. Pemeliharaan Sistem

Mengoperasikan sistem dilingkungannya dan melakukan pemeliharaan,

seperti penyesuaian atau perubahan karena adaptasi dengan situasi yang

sebenarnya.

1.5.3 Sistematika Penulisan

Adapun sistematika yang akan dilakukan dalam penyusunan skripsi ini

dibagi menjadi lima bab, yaitu sebagai berikut :

BAB I PENDAHULUAN

Bab ini menguraikan mengenai latar belakang masalah, rumusan masalah,

maksud dan tujuan, batasan masalah, metodologi penelitian, dan sistematika

(12)

BAB II LANDASAN TEORI

Bab ini membahas berbagai konsep dan dasar-dasar teori yang menunjang

dalam kaitan dengan topik aplikasi event calendar menggunakan web service dan

android.

BAB III ANALISIS DAN PERANCANGAN

Bab ini berisi tentang analisis deskripsi sistem, analisis perancangan

fungsional, analisis kebutuhan non fungsional dan perancangan antarmuka dari

perangkat lunak yang akan dibangun.

BAB IV IMPLEMENTASI DAN PENGUJIAN

Bab ini membahas implementasi antarmuka perangkat lunak,

implementasi perangkat keras dan perangkat lunak, pengujian perangkat lunak

(secara subjektif dan alpha) beserta kesimpulan dari hasil pengujian perangkat

lunak yang dibangun.

BAB V KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dan saran yang merupakan jawaban yang

melatar belakangi masalah pada bab 1, dan saran yang nantinya akan berguna

(13)

8

2.1 Web service

Web service adalah salah satu bentuk sistem perangkat lunak yang

didesain untuk mendukung interaksi mesin-ke-mesin melalui jaringan.Web

servicememiliki interface yang dideskripsikan dalam format yang dapat dibaca

oleh mesin. Sistem-sistem lainnya berinteraksi dengan web servicemenggunakan

pesan SOAP yang umumnya dikirim melalui HTTP dalam bentuk XML.[5]

Definisi diatas diberikan oleh World Wide Web Consortium(W3C) yang

merupakan badan yang menciptakan dan mengembangkan standar web service.

Tetapi secara umum, web service tidak terbatas hanya pada standar SOAP saja.

Salah satu pustaka yang mengulas lengkap tentang web servicemenyebutkan

definisi yang lebih umum: web serviceadalah aplikasi yang diakses melalui

internet menggunakan protokol standar internet dan menggunakan XML sebagai

(14)

2.1.1 Arsitektur Web service

Secara umum, arsitektur web service dapat dilihat pada gambar 2.1

Pada gambar diatas, ada tiga komponen yang membuat web

serviceberjalan. Ketiga komponen itu adalah:

1. Service provider, merupakan pemilik Web service yang berfungsi menyediakan kumpulan operasi dari Web service.

2. Service requestor, merupakan aplikasi yang bertindak sebagai klien dari

Web service yang mencari dan memulai interaksi terhadap layanan yang

disediakan.

3. Service registry, merupakan tempat dimana Service provider mempublikasikan layanannya. Pada arsitektur Web service, Service

(15)

registry bersifat optional. Teknologi web service memungkinkan kita dapat

menghubungkan berbagai jenis software yang memiliki platform dan

sistem operasi yang berbeda.

2.1.2 Jenis-Jenis Web service

Jenis web service dapat dibagi menjadi dua, yaitu REST dan SOAP.

2.1.2.1 Representational State Transfer (REST)

REST adalah salah satu jenis web service yang menerapkan konsep

perpindahan antar state. State disini dapat digambarkan seperti jika browser

meminta suatu halaman web, maka serverakan mengirimkan state halaman web

yang sekarang ke browser. Bernavigasi melalui link-link yang disediakan sama

halnya dengan mengganti state dari halaman web. Begitu pula REST bekerja,

dengan bernavigasi melalui link-link HTTP untuk melakukan aktivitas tertentu,

seakan-akan terjadi perpindahan state satu sama lain. Perintah HTTP yang bisa

digunakan adalah fungsi GET, POST, PUT atau DELETE. Balasan yang

dikirimkan adalah dalam bentuk XML sederhana tanpa ada protokol pemaketan

data, sehingga informasi yang diterima lebih mudah dibaca dan diparsing disisi

client.

Dalam pengaplikasiannya, REST lebih banyak digunakan untuk web

serviceyang berorientasi pada resource. Maksud orientasi pada resource adalah

orientasi yang menyediakan resource-resource sebagai layanannya dan bukan

kumpulan-kumpulan dari aktifitas yang mengolah resource itu.Alasan mengapa

(16)

sedangkan aplikasi event calendar membutuhkan pemanggilan metode yang bisa

dikerjakan terhadap kumpulan resource event. Selain itu, karena standarnya yang

kurang sehingga tidak begitu cocok diterapkan dalam aplikasi yang membutuhkan

kerjasama antar aplikasi lain, dimana standar yang baik akan sangat berguna

karena berbicara dalam satu bahasa yang sama. Beberapa contoh web service yang

menggunakan REST adalah: Flickr API(Application ProgramInterface), YouTube

API, Amazon API.

2.1.2.2 Simple Object Access Protokol (SOAP)

SOAP adalah protokol untuk saling bertukar pesan dalam format XML

antar komputer di dalam jaringan, biasanya menggunakan HTTP/HTTPS [6]. Web

servicedalam skripsi ini menggunakan SOAP sebagai protokol pengiriman

pesannya. Dalam menjalankan tugasnya, SOAP menggunakan struktur XML

tertentu dalam pengirimkan request kepada web service. Penerimaan respon dari

web servicepun memiliki strukturnya sendiri. Agar lebih mudah dalam memahami

SOAP, di bawah ini diberikan salah satu contoh struktur dari SOAP request:

(17)

Struktur ini terdiri dari dua bagian, Envelope dan Body. Envelope berisi

keterangan-keterangan tentang namespace yang digunakan dalam dokumen XML

ini, dan juga dapat berisi atribut dan header.Sedangkan Body berisi pesan yang

akan dikirimkan ke web service. Dalam contoh diatas, Body berisi permintaan

akan operasi getPeopleByFirstLastName yang disediakan suatu web

servicedengan parameter yang dikirimkan berupa nama depan dengan huruf

pertama j dan nama belakang apa saja. Sedangkan contoh SOAP response yang

didapat dari serverdiberikan dalam contoh dibawah :

(18)

Struktur SOAP response di atas juga sama dengan struktur SOAP request

yang diterangkan sebelumnya, tetapi bisa kita lihat disini, isi dari body memiliki

tag result yang berisi balasan atau output dari operasi web service yang dipanggil

pada pesan SOAP request. Beda halnya dengan REST, SOAP web service lebih

menekankan pada web service yang berorientasi service. Ketimbang mengambil

resource-resource seperti dalam REST, SOAP lebih ke arah pemanggilan

metode-metode yang memanipulasi resource-resource yang ada, dalam arti lain, melayani

kebutuhan pengguna yang lebih beragam. Beberapa contoh SOAP web

serviceadalah Google API, Yahoo! API, dan aplikasi event calendar.

2.1.3 Web service Definition Language (WSDL)

SOAP dapat berjalan sendiri tanpa bantuan WSDL, tetapi hal ini akan

menyulitkan pengembang di sisi client karena tidak tahu harus mengharapkan

operasi dan bentuk data apa. Karena itu WSDL diciptakan sebagai pendefinisi

sebuah web service.WSDL adalah tata bahasa XML yang digunakan untuk

mendeskripsikan sebuah web service.WSDL adalah bahasa XML yang digunakan

untuk menjabarkan bagaimana web servicediakses, operasi-operasi web service,

bagaimana pesan disampaikan, dan struktur dari pesan tersebut [5]. Dalam tugas

akhir ini, web service yang dibangun akan dijabarkan menggunakan WSDL.

(19)

Struktur ini terdiri atas lima bagian, yaitu:

1. Types

Bagian types menjabarkan definisi tipe data yang digunakan dalam

pertukaran pesan, tipe data disini dapat berupa tipe data sederhana

ataupun tipe data yang kompleks.

2. Message

Bagian message berisi abstraksi parameter input dan output yang

diharapkan dari pertukaran pesan. Parameter input dan output ini

menggunakan tipe data yang dijabarkan di bagian types.

3. PortType

Bagian portType berisi koleksi dari abstraksi operasi-operasi web

servicedan abstraksi pesan-pesan yang digunakan oleh tiap-tiap

(20)

4. Binding

Bagian binding adalah bagian yang menjabarkan informasi mengenai

protokol transpor yang digunakan dan format pesannya.

5. Service

Yang terakhir adalah bagian service, bagian ini yang mendeskripsikan

nama dan lokasi dari suatu web service.

2.2 Android

Android merupakan suatu software stack untuk mobile device. Di

dalamnya terdapat sistem operasi, middleware, dan key application.Aplikasi pada

platform ini dikembangkan dalam bahasa pemrograman java. Android sendiri

memiliki banyak fitur diantaranya adalah:

Merupakan sebuah Application Framework sehingga programmer dapat menggunakan beberapa fungsi yang telah disediakan.

Dalvik virtual machine. Tiap aplikasi dalam Android memiliki instance virtual machine yang dapat bekerja secara efisien dalam lingkungan

memoriyang terbatas.

Integrated browser. Web browser berbasis WebKit engine terdapat pada

browser default Android atau pun dapat diintegrasikan dengan aplikasi

lain.

Optimized graphics. Library grafis 2D yang kaya dan 3D berbasis

OpenGL ES 1.0 yang mendukung akselerasi hardware.

(21)

Media Support. Mendukung berbagai format audio, video, dan gambar

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

GSM Telephony. Mendukung fungsi komunikasi GSM.

Bluetooth,EDGE,3G dan WiFi. Mendukung komunikasi pada jaringan (tergantung hardware).

Kamera, GPS, kompas dan accelerometer. Mendukung berbagai fitur yang disediakan oleh hardware.

Tools Developer yang lengkap. Termasuk device emulator, tools untuk

debugging, profiling memori dan performa, plugin untuk Eclipse IDE.

2.2.1 Arsitektur Android

Android terdiri dari beberapa stack software yang terdiri dari:

Applications, Application Framework, Libraries, Android Runtime dan Kernel

(22)

2.2.1.1 Aplication

Application merupakan program yang langsung berhubungan dengan

user. Baik program yang merupakan bawaan dari Android sendiri maupun

program yang dibuat oleh developer menggunakan bahasa pemrograman java.

Contoh program bawaan dari platform Android sendiri adalah email client,

program SMS, calendar, maps, web browser, contact dan sebagainya.

2.2.1.2 Aplication Framework

Lapisan ini berisi sekumpulan API yang dapat digunakan oleh

programmer maupun core application dari Android.Lapisan ini dirancang untuk

memudahkan penggunaan komponen dari Android sendiri. Aplikasi manapun

(23)

dalam Android dapat berbagi fungsi sehingga aplikasi lain dapat

memanfaatkannya.

Aplikasi pada Android disusun atas beberapa komponen:

Sekumpulan Views. Digunakan untuk mengatur tampilan pada aplikasi.

Contohnya adalah lists, grids, text box, button, bahkan embeddable

webbrowser.

Content providers. Komponen yang mengatur agar aplikasi dapat

mengakses resources dari aplikasi lain (seperti Contacts), atau berbagi

data dengan aplikasi lain.

Resource Manager. Menyediakan akses ke pada resource non-code seperti

localized string, grafik dan file layout.

Notification Manager. Memungkinkan agar suatu aplikasi dapat

menampilkanperingatan yang dapat di kostumasi pada status bar.

Activity Manager. Mengatur siklus aplikasi dan navigasi antar aplikasi

yang sedang berjalan.

2.2.1.3 Libraries

Android mendukung beberapa library C/C++ yang digunakan pada

berbagai komponen Android. Kemampuan ini dapat diakses oleh developer

melalui Android application framework. Beberapa library diantaranya adalah:

System C library. Implementasi library C standar (libc).

Media Libraries. Mendukung berbagai format multimedia (termasuk

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

(24)

LibWebCore. Engine web browser modern.

SGL. Engine grafis 2D.

3D Library. Implementasi OpenGL ES 1.0 yang mendukung akselerasi

hardware.

FreeType. Rendering untuk bitmap dan vector font.

SQLite. Basis data relasional yang kecil namun sangat ampuh.

2.2.1.4 Android Runtime

Tiap aplikasi pada Android memiliki proses-nya masing-masing.Tiap

aplikasi tersebut memiliki instans dari Dalvik virtual machine (VM). Dalvik

virtual machine dirancang agar suatu devicedapat menjalankan beberapa VM

secara efisien. Dalvik VM mengeksekusi file dengan format Dalvik Executable

format (.dex) yang dirancang untuk meminimalkan memory footprint . Dalvik VM

berbasis register, dan dapat menjalankan kelas-kelas yang dikompilasi dengan

bahasa pemrograman java dan ditransformasikan menjadi format .dex. Dalvik VM

sendiri bergantung pada Kernel Linux untuk fungsi dasarnya, seperti threading

dan manajemen memori secara low-level.

2.2.1.5 Linux Kernel

Android menggunakan Kernel Linux versi 2.6 sebagai sistem utama.

Fungsi kernel yang digunakan antara lain untuk keamanan, manajemen memori,

manajemen proses, manajemen jaringan dan driver model. Kernel juga berfungsi

(25)

2.2.2 Anatomi Aplikasi Android

Terdapat empat building blocks pada aplikasi Android yaitu:

Activity

Intent Receiver

Service

Content Provider

Tidak semua aplikasi membutuhkan keempat blok ini, tetapi suatu aplikasi dibuat

menggunakan kombinasi beberapa blok ini. Setelah memutuskan blok komponen

yang akan digunakan, blok tersebut didaftarkan pada suatu file yang disebut

dengan AndroidManifest.xml. File XML ini digunakan untuk menyatakan

komponen apa saja yang dibutuhkan oleh sebuah aplikasi dan kemampuan serta

kebutuhan aplikasi tersebut.

2.2.2.1 Activity

Activity paling umum diantara keempat building block.Activity biasanya

suatu tampilan (screen) dalam suatu aplikasi. Tiap activity diimplementasikan

sebagai satu kelas yang meng-extend base class Activity. Kelas yang dibuat akan

menampilkan user interface yang terdiri dari beberapa views dan akan merespon

suatu event. Kebanyakan, aplikasi terdiri dari beberapa screen. Contohnya aplikasi

pengiriman pesan akan memiliki screen untuk mendaftarkan pesan yang masuk,

menulis pesan dan screen lainnya untuk melakukan pengaturan. Tiap screen pada

contoh ini akan diimplementasi sebagai suatu activity. Aplikasi dapat berpindah

ke screen lain dengan cara memulai suatu activity baru. Pada suatu kasus tertentu,

(26)

activity untuk memilih foto akan mengembalikan foto yang dipilih pada activity

yang memanggilnya. Pada saat screen baru terbuka, screen sebelumnya akan

dihentikan dan state nya akan disimpan pada history stack. User dapat melakukan

navigasi ke activity sebelumnya melalui history tersebut.Screen akan di hapus dari

history stack apabila sistem memutuskan bahwa screen tersebut tidak layak untuk

berada pada memori. Android menyimpan history stack untuk setiap aplikasi yang

dijalankan dari tampilan awal (home screen).

2.2.2.2 Intent dan Intent Filter

Android menggunakan kelas khusus bernama intent untuk berpindah dari

screen ke screen lainnya. Sebuah intent mendeskripsikan apa yang ingin aplikasi

penuhi. Bagian struktur data dari intent yang paling penting adalah action dan

data dari aksi yang dilakukan.Nilai action yang biasanya adalah MAIN, VIEW,

PICK, EDIT dan sebagainya.Data diekspresikan sebagai URI.Sebagai contoh,

untuk melihat informasi suatu contact seseorang, kita membuat intent dengan

action VIEW dan data sebagai URI yang merepresentasikan orang tersebut.

Terdapat suatu kelas yang dinamakan IntentFilter.Apabila intent adalah

suatu permintaan untuk melakukan sesuatu, IntentFilter adalah deskripsi yang

dapat dilakukan oleh intent activity.Activity yang dapat menampilkan informasi

contact dari seseorang akan mempublikasikan IntentFilter yang menyatakan

bahwa ia dapat menangani action VIEW apabila dipakai pada data yang

merepresentasikan seseorang. Suatu aplikasi mempublikasikan IntentFilter pada

(27)

Navigasi dari suatu screen ke screen lainnya dipenuhi dengan cara

me-resolve intent. Untuk melakukan navigasi ke depan, activity memanggil

startActivity(myIntent). Sistem akan mencari IntentFilter untuk semua aplikasi

dan memilih activity yang IntentFilter-nya yang paling mendekati dengan

myIntent. activitybaru akan mendapat informasi tentang intent yang menyebabkan

activity tersebut dijalankan. Proses pencarian intent terjadi sewaktu runtime pada

saat startActivity dipanggil. Hal tersebut membawa keuntungan sebagai berikut:

Activity dapat melakukan reuse functionality dari komponen lain dengan

cara melakukan permintaan dalam bentuk intent.

Activity dapat di replacekapan pun dengan activity yang ekuivalen.

2.2.2.3 Intent Recivier

IntentReceiver dapat digunakan pada saat kita menginginkan kode kita

dijalankan akibat reaksi dari external eventtertentu.Contohnya, pada saat telepon

berbunyi, atau pada saat ada data pada jaringan, atau pada suatu waktu tertentu.

IntentReceiver tidak menampilkan user interface, meskipun ia dapat

menggunakan NotificationManager untuk memperingatkan user apabila sesuatu

terjadi. IntentReceiver didaftarkan pada file AndroidManifest.xml, tetapi secara

manual juga bisa ditambahkan dengan fungsi Context.registerReceiver(). Suatu

aplikasi tidak harus berjalan pada IntentReceivernya agar bisa dipanggil, tetapi

sistem yang akan menjalankan aplikasi tersebut. Apabila diperlukan, pada saat

IntentReceiver mendapat trigger, aplikasi juga dapat mengirimkan intent

(28)

2.2.2.4 Service

Service adalah sebuah kode yang hidup terus-menerus dan berjalan tanpa

memiliki tampilan. Contoh yang sederhana adalah suatu aplikasi media player

yang sedang memainkan lagu dari play list. Pada aplikasi media player,

kemungkinan terdapat satu atau lebih activity yang memperbolehkan user

memilih lagu dan memainkannya. Tetapi musik yang sedang diputar tidak boleh

ditangani oleh activity karena user akan menginginkan musik tetap diputar

meskipun ia berpindah ke screen baru. Pada kasus ini activity media player dapat

menjalankan service menggunakan fungsi Context.startService() untuk

menjalankan service di background yang memutar musik. Sistem akan tetap

memutar musik sampai selesai. Selain itu activity dapat terhubung dengan service

menggunakan fungsi Context.bindService(). Pada saat terhubung, aplikasi dapat

berkomunikasi melalui interface yang diberikan oleh service yang bersangkutan.

Pada contoh media player, interface service akan memberikan fungsi pause,

rewind dan sebagainya.

2.2.2.5 Content Provider

Content provider digunakan untuk pertukaran data antara aplikasi. Data

yang dipertukarkan bersifat shared. Content provider adalah sebuah kelas yang

berisi method standar yang memungkinkan aplikasi lain dapat menyimpan dan

(29)

2.2.3 Siklus Hidup Aplikasi Android

Pada banyak kasus, tiap aplikasi pada Android masing-masing memiliki

Linux proses. Proses ini diciptakan untuk aplikasi tersebut pada saat kode

program tersebut akan dieksekusi, akan terus berjalan sampai tidak dibutuhkan

lagi dan sistem memerlukan memori untuk aplikasi lain. Konsep dasar program

Android adalah suatu proses pada aplikasi tidak langsung di atur oleh aplikasi

tersebut. Proses tersebut ditentukan oleh sistem melalui kombinasi : informasi

aplikasi bagi sistem, seberapa pentingnya aplikasi tersebut bagi user dan

ketersediaan memori. Contoh kasus life-cycle bug adalah IntentReceiver yang

menciptakan thread pada saat menerima intent pada method onReceiveIntent()

dan selesai dari fungsi tersebut. Setelah fungsi tersebut selesai, sistem

menganggap bahwa IntentReceiver tersebut menjadi tidak aktif sehingga ia

memiliki proses yang tidak dibutuhkan (kecuali terdapat komponen aplikasi lain

di dalamnya). Oleh karena itu, sistem dapat menghapus proses tersebut kapanpun

apabila dibutuhkan. Hal tersebut akan menghapus semua thread yang berjalan

pada proses tersebut. Solusi masalah ini adalah memakai Service dari

IntentReceiver, sehingga sistem mengetahui bahwa ada suatu yang aktif dalam

proses tersebut.

Sebagai programmer, kita harus mengetahui bagaimana cara yang tepat

untuk merancang aplikasi. Kesalahan pada perancangan akan membuat suatu

aplikasi akan dihentikan oleh sistem pada saat yang tidak diinginkan. Untuk

(30)

memiliki “importancehierarchy” berdasarkan komponen dan state yang sedang berjalan. Urutan berdasarkan kepentingan tersebut adalah:

1. Foreground process. Adalah suatu proses yang dibutuhkan untuk

berinteraksi dengan user saat ini. Berbagai komponen suatu aplikasi dapat

mengakibatkan proses di dalamnya menjadi foreground proses. Suatu proses

dikatakan foreground apabila memenuhi kondisi sebagai berikut:

Menjalankan Activity pada top screen yang sedang berinteraksi

dengan user (setelah method onResume() dipanggil).

Mempunyai IntentReceiver yang sedang berjalan (method

IntentReceiver.onReceiveIntent() sedang dieksekusi).

Memilik service yang fungsi callback-nya ( Service.onCreate(),

Service.onStart() atau Service.onDestroy()) sedang dieksekusi.

Hanya akan terdapat beberapa proses seperti itu dalam sistem, proses ini

hanya akan dihapus apabila sistem tidak memiliki pilihan lain. Contohnya

apabila memori tinggal sedikit sehingga proses foreground tidak bisa lagi

berjalan. Halini diperlukan untuk menjaga user interface tetap interaktif

dengan user.

2. Visible process. Adalah proses yang memegang Activity yang dapat

dilihatuser pada layar tetapi tidak foreground (pada saat method

onPause()dipanggil). Hal ini dapat terjadi, sebagai contoh activity

foreground muncul dengan dialog sehingga activity sebelumnya terlihat di

belakangnya. Proses ini sangat penting dan tidak akan di hapus kecuali

(31)

3. Service process. Adalah proses yang memegang Service yang dimulai

dengan method StartService().Meskipun proses ini secara langsung tidak

dapat dilihat oleh user, biasanya proses ini menjalankan perintah dari user

(seperti memutar lagu, men-download data dari jaringan dan lain-lain).

Sistem akan tetap membiarkan proses ini berjalan selama proses

foreground dan visible masih bisa berjalan.

4. Background process. Adalah proses yang memegang Activity yang saat ini

tidak dapat dilihat oleh user (method onStop() sedang dipanggil). Proses ini

tidak secara langsung mempengaruhi user. Apabila activity life cycle telah

dipenuhi dengan benar, sistem dapat menghapus proses ini sewaktu-waktu

untuk memberikan memori tambahan. Biasanya banyak ditemukan proses

semacam ini, sehingga proses tersebut disimpan dalam LRU (Least

RecentlyUsed) untuk menjaga agar proses yang baru saja dilihat oleh user

akan dihapus paling akhir pada kondisi low memory.

5. Empty Process. Adalah proses yang tidak memegang suatu komponen

yangsedang aktif. Alasan mengapa membiarkan proses semacam ini adalah

untukmelakukan cache sehingga proses startup menjadi lebih cepat apabila

aplikasitersebut akan dijalankan kembali. Sistem seringkali menghapus

prosessemacam ini untuk mencapai keseimbangan dari system resource

(32)

2.3 UML

Unified Modeling Language (UML) adalah bahasa spesifikasi standar

untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat

lunak. Unified Modeling Language (UML) adalah himpunan struktur dan teknik

untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya.[1]

UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok

perangkat tool untuk mendukung pengembangan sistem tersebut.[1] UML mulai

diperkenalkan oleh Object Management Group, sebuah organisasi yang telah

mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an.[1]

Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP.[1] UML

merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM.[1]

UML adalah suatu bahasa yang digunakan untuk menentukan,

memvisualisasikan, membangun, dan mendokumentasikan suatu sistem

informasi.UML dikembangkan sebagai suatu alat untuk analisis dan desain

berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson.Namun

demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap

sistem informasi.Penggunaan UML dalam industri terus meningkat.Ini merupakan

standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum

dalam industri peranti lunak dan pengembangan sistem.

2.3.1 Sejarah UML

Sampai era tahun 1990 puluhan metodologi pemodelan berorientasi objek

telah bermunculan di dunia. Diantaranya adalah: metodologi booch, metodologi

(33)

wirfs-brock, dsb. Masa itu terkenal dengan masa perang metodologi (method war)

dalam pendesainan berorientasi objek. Masing-masing metodologi membawa

notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita

bekerjasama dengan kelompok/perusahaan lain yang menggunakan metodologi

yang berlainan.

Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang

merupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan

mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi

objek.Pada tahun 1995 direlease draft pertama dari UML (versi 0.8) [1].Sejak

tahun 1996 pengembangan tersebut dikoordinasikan oleh Object Management

Group (OMG – http://www.omg.org).

2.3.2 Diagram UML

UML menyediakan 10 macam diagram untuk memodelkan aplikasi

berorientasi objek, yaitu:

1. Use Case Diagram untuk memodelkan proses bisnis.

2. Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam

aplikasi.

3. Sequence Diagram untuk memodelkan pengiriman pesan (message) antar

objects.

4. Collaboration Diagram untuk memodelkan interaksi antar objects.

5. State Diagram untuk memodelkan perilaku objects di dalam sistem.

6. Activity Diagram untuk memodelkan perilaku Use Cases dan objects di

(34)

7. Class Diagram untuk memodelkan struktur kelas.

8. Object Diagram untuk memodelkan struktur object.

9. Component Diagram untuk memodelkan komponen object.

10.Deployment Diagram untuk memodelkan distribusi aplikasi.

2.3.2.1 Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari

sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke

sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor

adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk

melakukan pekerjaan-pekerjaan tertentu. Sebuah use case dapat meng-include

fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara

umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use

case yang meng-include dieksekusi secara normal. Sebuah use case dapat

di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat

dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use

case juga dapat meng-extend use case lain dengan behaviour-nya sendiri.

Sementara hubungan generalisasi antar use case menunjukkan bahwa use case

yang satu merupakan spesialisasi dari yang lain. Penggambaran Use case diagram

(35)

Gambar II.3 Contoh use case diagram

2.3.2.2 Activity Diagram

Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem

yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang

mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat

menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

Activity diagram merupakan state diagram khusus, di mana sebagian besar state

adalah action dan sebagian besar transisi di-trigger oleh selesainya state

sebelumnya (internal processing). Oleh karena itu activity diagram tidak

(36)

secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas

dari level atas secara umum.

Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih.

Aktivitas menggambarkan proses yang berjalan, sementara use case

menggambarkan bagaimana aktor menggunakan sistem untuk melakukan

aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi

tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan

titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Activity

diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan

objek mana yang bertanggung jawab untuk aktivitas tertentu. Contoh Activity

diagram dapat di lihat pada gambar 2.4 berikut ini.

(37)

2.3.2.3 Sequence Diagram

Sequence diagram menjelaskan secara detil urutan proses yang dilakukan

dalam sistem untuk mencapai tujuan dari use case: interaksi yang terjadi antar class,

operasi apa saja yang terlibat, urutan antar operasi, dan informasi yang diperlukan

oleh masing-masing operasi. Contoh sequence diagram dapat di lihat pada gambar

2.5 berikut ini.

(38)

2.3.2.4 Class Diagram

Class diagram merupakan diagram yang selalu ada di permodelan sistem

berorientasi objek.Class diagram menunjukkan hubungan antar class dalam sistem

yang sedang dibangun dan bagaimana mereka saling berkolaborasi untuk

mencapai suatu tujuan. Penggambaran class diagram dapat di lihat dalam gambar

2.6 dibawah ini.

(39)

34

3.1 Analisis

3.1.1 Analisis Masalah

Permasalahan pada penelitian ini adalah masih banyak event organizer

yang masih mengumumkan event secara manual, baik pengumuman yang

ditempel di tempat tertentu atau dengan menyewa space iklan yang memakan

biaya cukup mahal yang menyebabkan penyebaran informasi yang kurang luas

sehingga orang-orang kesulitan untuk mengakses pengumuman tersebut.

Serta bagaimana mengimplementasikan web service dengan android

sebagai solusi permaslahan tersebut.

3.1.2 Analisis Kebutuhan Data

Sistem yang akan dibangun merupakan sistem untuk menginformasikan

event-event yang ada di kota Bandung. Untuk aplikasi web servicepada server

dapatmelakukan proses input,edit,dan delete dan untuk client pada android dapat

melakukan proses pemanggilan method atau fungsi yang ada pada web service

untuk mendapatkan data event. Maka web service harus menyediakan data event

-event yang ada di kota Bandung agar aplikasi android dapat mengakses data

tersebut. Sehinggauntuk dibangunnya sistem ini, dibutuhkan data berupa

informasi event yang ada Bandung yang di kelola oleh dinas pariwisata kota

(40)

3.1.3 Analisis Kebutuhan Non Fungsional

Kebutuhan non fungsional yang dibutuhkan untuk membangun sistem ini

terdiri dari dua hal, yaitu : kebutuhan perangkat keras dan kebutuhan perangkat

lunak.

3.1.3.1 Analisis Kebutuhan Perangkat Keras

Perangkat keras yang dibutuhkan untuk membangun sistem ini adalah :

1. Processor dengan kecepatan minimal 2 GHz+ Motherboard

2. Kapasitas Harddisk minimal 40 GB

3. RAM minimal 256 MB

4. VGA Card minimal 64 MB

5. Monitor

6. Lan Card 10/100Mbps

7. Koneksi internet minimal64kbps

8. Mouse

9. keyboard

3.1.3.2 Analisis Kebutuhan Perangkat Lunak

Perangakat lunak yang diperlukan untuk membangun sistem ini adalah :

1. Java Development Kit versi 5 atau 6 , untuk kompilasi kode – kode program. 2. Java Runtime Edition, sebagai platform untuk menjalankan sistem.

3. Netbeans IDE, sebagai perangkat lunak yang digunakan untuk membangun

(41)

4. Eclipse 3.5, sebagai perangkat lunak yang digunakan untuk membangun

aplikasi client pada android.

5. Glassfish, sebagai webserver untuk aplikasi web.

6. Android SDK, untuk pengembang aplikasi android.

7. Android Development Tool, sebagai plugin android pada eclipse.

8. Android Virtual Device, sebagai emulator untuk menjalankan sistem android.

3.1.4 Analisis Sistem

3.1.4.1 Arsitektur Sistem

Aplikasi utama pada event calendar ini merupakan aplikasi web yang

dapat digunakan oleh user melalui internet. User yang menggunakan aplikasi

utama ini dapat dibedakan menjadi dua jenis, yaitu : administrator dan user

android. administrator dapat mengakses fungsi-fungsi lain seperti

tambah,edit,hapusevent. Sedangkan user android adalah user yang menggunakan

aplikasi pada android.

Selain aplikasi utama, event calendar juga mempunyai dukungan web

service dalam bentuk clientserver. Sistem pada android akan menggunakan dukungan web service dengan bantuan WSDL yang telah disediakan. Sistem

android selanjutnya dapat mengakses fungsi-fungsi web service yang disediakan

oleh server .

3.1.4.2 Analisis Standar Web service

Dalam bab landasan teori telah dijelaskan secara singkat ada dua jenis

(42)

menggunakan web servicedengan standar SOAP karena pertama, SOAP adalah

jenis web serviceyang berorientasi pada service yang cocok diterapkan pada

aplikasi event calendar yang memang menyediakan layanan untuk memanggil

metode yang mengolah resource event, kedua, SOAP memiliki standar yang baik

dan jelas. REST tidak memiliki standar, tetapi hanya sebuah arsitektur web

service. Untuk aplikasi dimana ia mungkin saja berkomunikasi dengan banyak

aplikasi lain yang berbeda bahasa maupun platform, standar sangat diperlukan

karena menjamin aplikasi-aplikasi ini berbicara dalam bahasa yang sama dan

memudahkan pengembangan. Penjabaran SOAP diperjelas dengan disediakannya

WSDL, sehingga pengguna web servicedapat dengan mudah membuat clientuntuk

menggunakan SOAP.

3.1.4.3 Analisis WSDL

SOAP sebagai standar pertukaran pesan dalam web service mampu

berjalan sendiri tanpa bantuan WSDL untuk mendeskripsikannya. Tetapi, hal ini

akan menyulitkan pengembangan, karena tanpa bantuan WSDL, para

pengembang harus bertanya-tanya seperti apa bentuk pesan yang seharusnya

dikirim kepada atau diterima dari penyedia layanan web service. Dengan bantuan

WSDL, para pengembang telah dibantu karena telah mengetahui seperti apa pesan

yang seharusnya dikirim atau diterima. WSDL dalam pembuatannya terlihat

sangat menyulitkan dan membingungkan, tetapi dengan bantuan library dan tools

(43)

3.1.4.4 Analisis Sistem Pada Aplikasi Android

3.1.4.4.1 Use Case Diagram

(44)

3.1.4.4.1.1 Identifikasi Aktor

Pada tabel 3.1 berisi daftar aktor dan deskripsi peran meraka

masing-masing dalam aplikasi ini.

Tabel III.1 Definisi aktor dalam aplikasi android

NO Aktor Deskripsi

A-01 User Merupakan pengguna dari aplikasi event

calendar pada android

3.1.4.4.1.2 Identifikasi Use Case

Berdasarkan use case diagram di atas maka di buatlah skenario dari tiap proses

yang ada pada use case diagram tersebut.Pada tabel 3.2 menggambarkan skenario

(45)

Tabel III.2 Skenario Use case getEvent

Identifikasi

Nomor UC-AN-01

Nama Use Case getEvent

Deskripsi Proses untuk mengambil seluruh data event yang ada

Aktor User

Skenario Utama(UC-AN-01-S01)

Kondisi awal Koneksi ke web service berhasil

Aksi aktor User Respon Sistem

1. Menjalankan menu utama 2. Memanggil fungsi getEvent

3. Mengambil return value dari web service

dalam bentuk SOAP 4. Melakukan parsing data

5. Menampilkan data hasil parsing

Skenario Alternatif (UC-AN-01-S02) getEvent namun terdapat pesan error

2a. Menampilkan pesan kesalahan, misalnya karena tidak ada koneksi internet atau tidak dapat terhubung ke server.

Kondisi akhir Data berhasil ditampilkan di android

Pada tabel 3.3 menggambarkan skenario mengambil data event berdasarkan id

(46)

Tabel III.3skenario use case getDetailEvent.

Identifikasi

Nomor UC-AN-02

Nama Use Case getDetailEvent

Deskripsi Proses untuk mengambil data event berdasarkan id event

Aktor User

Skenario Utama (UC-AN-02-S01)

Kondisi awal Koneksi ke web service berhasil

Aksi aktor Respon Sistem

1. Memilih event pada listView

2. Menggambil parameter id event

3. Memanggil fungsi getEventById

4. Mengambil return value dari web service

dalam bentuk SOAP 5. Melakukan parsing data

6. Menampilkan data hasil parsing

Skenario Alternatif (UC-AN-02-S01) getEventByID namun terdapat pesan error

4a. Menampilkan pesan kesalahan, misalnya karena tidak ada koneksi internet atau tidak dapat terhubung ke server.

Kondisi akhir Data berhasil ditampilkan di android

Pada tabel 3.4 menggambarkan skenario filter data event berdasarkan kategori

(47)

Tabel III.4Skenario use case byCategory

Identifikasi

Nomor UC-AN-03

Nama Use Case byCategory

Deskripsi Proses untuk memfilter data event yang akan di tampilkan berdasarkan kategori event

Aktor User, web service

Skenario Utama(UC-AN-03-S01)

Kondisi awal Koneksi ke web service berhasil

Aksi aktor Respon Sistem

1. Memilih menu filter event berdasarkan kategori.

2. Menampilkan form inputan

3. Memilih kategori event akan di tampilkan

4. Memanggil fungsi byCategory

5. Mengambil return value dari web service

dalam bentuk SOAP

6. Memparsing data dari return value

7. Menampilkan data hasil parsing

Skenario Alternatif (UC-AN-03-S02) byCategory namun terdapat pesan error

9.a Menampilkan pesan kesalahan, misalnya karena data yang di filter tidak ada

Kondisi akhir Data berhasil ditampilkan di android

Pada tabel 3.5 menggambarkan skenario filter data event berdasarkan bulan

(48)

Tabel III.5 Skenario use case byMonth

Identifikasi

Nomor UC-AN-04

Nama Use Case byMonth

Deskripsi Proses untuk memfilter data event yang akan di tampilkan berdaskan bulan

Aktor User

Skenario Utama (UC-AN-04-S01)

Kondisi awal Koneksi ke web service berhasil

Aksi aktor Respon Sistem

1. Memilih menu filter event berdasarkan bulan.

2. Menampilkan form inputan

3. Memilih nama bulan dan tahun event akan di tampilkan

4. Memanggil fungsi byMonth

5. Mengambil return value dari web service

dalam bentuk SOAP

6. Memparsing data dari return value

7. Menampilkan data hasil parsing

Skenario Alternatif (UC-AN-04-S02) byMonth namun terdapat pesan error

9a. Menampilkan pesan kesalahan, misalnya karena data yang di filter tidak ada.

Kondisi akhir Data berhasil ditampilkan di android

Pada tabel 3.6 menggambarkan skenario filter data event berdasarkan tanggal

(49)

Tabel III.6 Skenario use case byDate

Identifikasi

Nomor UC-AN-05

Nama Use Case byDate

Deskripsi Proses untuk menfilter data event yang akan di tampilkan berdaskan tanggal tertentu.

Aktor User

Skenario Utama(UC-AN-05-S01)

Kondisi awal Koneksi ke web service berhasil

Aksi aktor Respon Sistem

1. Memilih menu filter event berdasarkan range tanggal.

2. Menampilkan form inputan

3. Menginputkan awal tanggal dan akhir tanggal event.

4. Memanggil fungsi byDate

5. Mengambil return value dari web service

dalam bentuk SOAP

6. Memparsing data dari return value

7. Menampilkan data hasil parsing

Skenario Alternatif(UC-AN-05-S02) byDate namun terdapat pesan error

4a. Menampilkan pesan kesalahan, misalnya karena input dari user salah(skenario kembali ke langkah 3)

Skenario Alternatif(UC-AN-05-S03) byDate namun data tidak ditemukan

7.a Menampilkan pesan kesalahan, misalnya karena data yang di filter tidak ada.

Kondisi akhir Data berhasil ditampilkan di android

Pada tabel 3.7 menggambarkan skenario memberi komentar event pada use case

(50)

Tabel III.7 Skenario use case addComment

Identifikasi

Nomor UC-AN-06

Nama Use Case addComment

Deskripsi Proses untuk memberikan komentar pada event.

Aktor User, web service

Skenario Utama(UC-06-S01)

Kondisi awal Berada pada halaman detail event

Aksi aktor Respon Sistem

1. Memilih menu komentar 2. Menampilkam halaman komentar 3. Memilih menu tambah

komentar

4. Menampilkan form inputan

5. Mengisi form 6. Memanggil fungsi addComment

7. Memparsing data dari return value

8. Menampilkan pesan komentar berhasil di kirim.

Skenario Alternatif (UC- AN-06-S02) addComment namun terdapat pesan error

6a. Menampilkan pesan kesalahan, misalnya karena isi dari form belum lengkap atau salah.(skenario kembali ke langkah 5)

Kondisi akhir Data berhasil disimpan kedalam database

Pada tabel 3.8 menggambarkan skenario memberi komentar event pada use case

(51)

Tabel III.8 Skenario use case getComment

Identifikasi

Nomor UC-AN-07

Nama Use Case getComment

Deskripsi Proses untuk menampilkan komentar pada event.

Aktor User

Skenario Utama (UC-AN-07-S01)

Kondisi awal Berada pada halaman detail event

Aksi aktor Respon Sistem

1. Memilih menu komentar

2. Memanggil fungsi getComment

3. Mengambil return value dari web service dalam bentuk SOAP

4. Memparsing data dari return value

5. Menampilkan data hasil parsing

Skenario Alternatif(UC-AN-07-S02) addComment namun komentar tidak ada

7a. Menampilkan pesan kesalahan, misalnya karena belum ada komentar yang di inputkan

Kondisi akhir Data berhasil ditampilkan di android

Pada tabel 3.9 menggambarkan skenario mencari event berdasarkan parameter

(52)

Tabel III.9 Skenario use case searchEvent

Identifikasi

Nomor UC-AN-08

Nama Use Case searchEvent

Deskripsi Proses untuk memfilter data event yang akan di tampilkan berdaskan bulan

Aktor User

Skenario Utama(UC-08-S01)

Kondisi awal Koneksi ke web service berhasil

Aksi aktor Respon Sistem

1. Memilih menu cari event 2. Menampilkan form inputan 3. Memasukan parameter

pencarian

4. Memanggil fungsi searchEvent

5. Mengambil return value dari web service

dalam bentuk SOAP

6. Memparsing data dari return value

7. Menampilkan data hasil parsing

Skenario Alternatif (UC-AN-08-S02) searchEvent namun terdapat pesan error

4a. Menampilkan pesan kesalahan, inputan pencarian belum diisi atau belum lengkap

Skenario Alternatif (UC-AN-08-S03) searchEvent namun data tidak ditemukan

7a. menampilkan pesan kesalahan, misal karena data yang di cari tidak ditemukan.

Kondisi akhir Data berhasil ditampilkan di android

Pada tabel 3.10 menggambarkan skenario menampilkan peta lokasi event pada

(53)

Tabel III.10 Skenario use case viewMap

Identifikasi

Nomor UC-AN-09

Nama Use Case viewMap

Deskripsi Proses untuk menampilkan peta dari lokasi event

Aktor User

Skenario Utama(UC-AN-09-S01)

Kondisi awal Berada pada halaman detail event

Aksi aktor Respon Sistem

1. Memilih menu peta 2. Mengambil latitude dan longitude dari lokasi event.

3. Mencari posisi latitude dan longitude pada google map

4. Menampilkan peta

Kondisi akhir Peta berhasil di tampilkan

Pada tabel 3.11 menggambarkan skenario untuk share event melalui facebook

(54)

Tabel III.11 Skenario use case shareEvent

Identifikasi

Nomor UC-AN-10

Nama Use Case shareEvent

Deskripsi Proses untuk membagikan event melalui facebook

Aktor User

Skenario Utama(UC-AN-10-S01)

Kondisi awal Berada pada halaman detail event

Aksi aktor Respon Sistem

1. Memilih menu share 2. Mengambil data event berupa nama,tgl,dan lokasi

3. Login facebook

(55)

3.1.4.4.2 Activity Diagram

3.1.4.4.2.1 getEvent

Aktifitas getEvent merupakan aktifitas yang dilakukan oleh user untuk

mangambil data event yang ada pada database dengan web service. Dalam

aktifitas ini terdapat beberapa aktifitas yaitu :

1. menjalankan menu utama, pada aktifitas ini user menjalankan

menu utama yang ada pada sistem.

2. memanggil fungsi getEvent, pada aktifitas ini sistem memanggil

fungsi getEvent yang ada pada web service.

3. Mengambil return value dari web service, pada aktifitas ini sistem

mengambil nilai yang di kembalikan oleh web service berupa hasil

dari eksekusi method pada web service.

4. Melakukan parsing data, pada aktifitas ini sistem memparsing

respon dari web service agar data yang diterima dapat dibaca.

5. Menampilkan data event, pada aktifitas ini sistem menampilkan

hasil parsing kedalam bentuk list view.

(56)

Gambar III.2Activity diagram getEvent

3.1.4.4.2.2 getDetailEvent

Aktifitas getDetailEvent merupakan aktifitas yang dilakukan oleh user

untuk mangambil detail dari data event yang ada pada web service berdasarkan id

(57)

1. memilih event pada listview, pada aktifitas ini user memilih event

untuk menampilkan detail dari event yang dipilih.

2. mengambil parameter id event, pada aktifitas ini sistem mengambil

id event, dimana id event didapat ketika user memilih event

sebelumnya pada list view.

3. memanggil fungsi getEventByID, pada aktifitas ini sistem

memanggil fungsi getEventByID yang ada pada web service.

4. Mengambil return value dari web service, pada aktifitas ini sistem

mengambil nilai yang di kembalikan oleh web service berupa hasil

dari eksekusi method pada web service.

5. Melakukan parsing data, pada aktifitas ini sistem memparsing

respon dari web service agar data yang diterima dapat dibaca.

6. Menampilkan data event, pada aktifitas ini sistem menampilkan

hasil parsing.

(58)

Gambar III.3Activity diagram getDetailEvent

3.1.4.4.2.3 getEventByMonth

Aktifitas getEventByMonth merupakan aktifitas yang dilakukan oleh user

untuk memfilter data eventberdasarkan bulan dan tahun dari tanggal yang ada

(59)

1. memilih menu filter event berdasarkan bulan, pada aktifitas ini user

memilih menu untuk memfilter data berdasarkan bulan dari tanggal

event.

2. Menampilkan form input, pada aktifitas ini sistem menampilkan

form input yang harus user isi.

3. Memilih nama bulan dan tahun , pada aktifitas ini user memilih

bulan dan tahun untuk memfilter data event.

4. memanggil fungsi byMonth, pada aktifitas ini sistem memanggil

fungsi byMonth yang ada pada web service.

5. Mengambil return value dari web service, pada aktifitas ini sistem

mengambil nilai yang di kembalikan oleh web service berupa hasil

dari eksekusi method pada web service.

6. Melakukan parsing data, pada aktifitas ini sistem memparsing

respon dari web service agar data yang diterima dapat dibaca.

7. Menampilkan data event, pada aktifitas ini sistem menampilkan

hasil parsing kedalam bentuk list view jika data hasil parsing tidak

kosong.

8. Menampilkan pesan kesalahan, pada aktifitas ini sistem

menampilkan pesan kesalahan jika data hasil parsing kosong.

(60)

Gambar III.4Activity diagram getEventByMonth

3.1.4.4.2.4 getEventByDate

Aktifitas getEventByDate merupakan aktifitas yang dilakukan oleh user

untuk memfilter data eventberdasarkan tanggal tertentu yang ada pada web

service. Dalam aktifitas ini terdapat beberapa aktifitas yaitu :

1. memilih menu filter event berdasarkan tanggal, pada aktifitas ini

user memilih menu untuk memfilter data berdasarkan tanggal

Gambar

Gambar II.3 Contoh use case diagram
Gambar II.4 Contoh activity diagram
Gambar II.5 Contoh sequence diagram
Gambar II.6 Contoh class diagram
+7

Referensi

Dokumen terkait

Penelitian ini bertujuan (1) mengembangkan aplikasi mobile kamus istilah jaringan pada platform android, (2) mengetahui kualitas aplikasi yang dikembangkan

Penggunaan Android pada aplikasi ini karena Android merupakan platform mobile yang lengkap, terbuka ( open source ) dan bebas untuk develop sehingga banyak orang yang

Aplikasi Pesan dengan Algoritma Twofish pada Platform Android Messaging Application with Twofish Algorithm on Android Platform.. Midian

Aplikasi yang akan diwujudkan dalam penelitian ini adalah aplikasi pembelajaran bahasa Inggris pada platform Android , yaitu aplikasi mobile yang menyediakan materi

Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleuare dan aplikasi.. Android menyediakan

Aplikasi yang akan diwujudkan dalam penelitian ini adalah aplikasi pembelajaran bahasa Inggris pada platform Android, yaitu aplikasi mobile yang menyediakan materi

Penggunaan Android pada aplikasi ini karena Android merupakan platform mobile yang lengkap, terbuka (open source) dan bebas untuk develop sehingga banyak orang yang

• A software platform and operating system for mobile devices • Based on the Linux kernel • Developed by Google and later the Open Handset Alliance OHA • Allows writing managed code