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
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
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.
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.
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.
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
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
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.
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
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.
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
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
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
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
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
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:
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 :
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.
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
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.
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
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
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).
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
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,
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
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
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
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
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
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
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
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
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
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
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.
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.
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.
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
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
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 client – server. 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
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
3.1.4.4 Analisis Sistem Pada Aplikasi Android
3.1.4.4.1 Use Case Diagram
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
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
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
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
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
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
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
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
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
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
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
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.
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
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.
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
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.
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