Pembangunan Aplikasi Event Calender Pada Platform Android dengan dukungan Web Service
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
UNIVERSITAS KOMPUTER INDONESIA
BANDUNG
(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 Teknik dan Ilmu Komputer UNIKOM
(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.
Diharapkan dengan adanya aplikasi event calendarini dapat membantu masyarkat untuk mendapatkan informasi tentang event-event yangyang akan diselenggarakan di kota Bandung secara up to date.
(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.
Hopefully with this event calendar application can help the community to get information about events that are to be held in the city of Bandung is up to date.
(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 suatu sistem operasi untuk perangkat mobile yang berbasis Linux, dikembangkan
(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 menyewa space iklan yang memakan biaya cukup mahal. Hal ini belum tentu
(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. 4. Memperluas informasi tentang eventdi Kota Bandung.
(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 aplikasi.
(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 penulisan.
(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 bagi pengembang perangkat lunak ini ke depannya.
(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 format pesannya.
(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 REST tidak digunakan dalam skripsi ini karena orientasi pada resourcenya itu,
(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:
\
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:ExampleAPI"> <SOAP-ENV:Body> <ns1:getPeopleByFirstLastName> <first>j*</first> <last>*</last> </ns1:getPeopleByFirstLastName> </SOAP-ENV:Body></SOAP-ENV:Envelope>
(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 :
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <result> <SOAP-ENC:Struct> <id>1</id> <firstName>John</firstName> <lastName>Smith</lastName> </SOAP-ENC:Struct> <SOAP-ENC:Struct> <id>2</id> <firstName>Jane</firstName> <lastName>Doe</lastName> </SOAP-ENC:Struct> </result> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
(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. Struktur dari WSDL adalah sebagai berikut:
(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 operasi.
</types> <message> </message> <portType> </portType> <binding> </binding> <service> </service> </definitions>
(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 Linux. Arsitekturlengkap platform ini dapat dilihat pada Gambar 2.2.
(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 sebagai layer abstrak antara hardware dan lapisan lainnya pada software stack.
(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 broadcast kepada aplikasi lainnya dengan fungsi Context.broadcastIntent().
(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 mengambil suatu data yang ditangani oleh content provider.
(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 menentukan proses mana yang akan dihapus pada situasi low memory, Android
(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 untuk menjaga aplikasi foreground tetap berjalan.
(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 coad, metodologi OOSE, metodologi OMT, metodologi shlaer-mellor, 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 dalam system.
(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 dapat di lihat dalam gambar 2.3 di bawah ini.
(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 menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem)
(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 Bandung.
(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 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
(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 mengambil data event pada use case getEvent..
(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 pada use case getDetailEvent.
(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 event pada use case byCategory.
(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 tertentu pada use case byMonth.
(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 tertentu pada use case byDate.
(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 addComment.
(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 getComment.
(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 tertentu pada use case searchEvent.
(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 use case viewMap.
(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
4. Menampilkan pesan event berhasil di posting
(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 pada web service. Dalam aktifitas ini terdapat beberapa aktifitas yaitu :
(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. Seluruh aktifitas getEventByMonth terlihat pada activity diagram gambar III.4.
(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 event.
(61)
2. Menampilkan form input, pada aktifitas ini sistem menampilkan form input yang harus user isi.
3. Mengisi tanggal event , pada aktifitas ini user mengisitangal untuk memfilter data event.
4. memanggil fungsi byDate, pada aktifitas ini sistem memanggil fungsi byDate 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. Seluruh aktifitas getEventByDate terlihat pada activity diagram gambar III.5.
(62)
Gambar III.5Activity diagram getEventByDate
3.1.4.4.2.5 getEventByCategory
Aktifitas getEventByCategory merupakan aktifitas yang dilakukan oleh user untuk memfilter data eventberdasarkan kategori event yang ada pada web service. Dalam aktifitas ini terdapat beberapa aktifitas yaitu :
(63)
1. memilih menu filter event berdasarkan kategori, pada aktifitas ini user memilih menu untuk memfilter data berdasarkan kategori event.
2. Menampilkan form input, pada aktifitas ini sistem menampilkan form input yang harus user isi.
3. Memilih kategori, pada aktifitas ini user kategori event untuk memfilter data event.
4. memanggil fungsi byCategory, pada aktifitas ini sistem memanggil fungsi byCategory 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.
(64)
(65)
3.1.4.4.2.6 getComment
Aktifitas getComment merupakan aktifitas yang dilakukan oleh user untuk mangambil data komentar yang ada pada database dengan web service. Dalam aktifitas ini terdapat beberapa aktifitas yaitu :
1. memilih menu komentar, pada aktifitas ini user memilih menu komentar yang ada pada sistem.
2. memanggil fungsi getComment, pada aktifitas ini sistem memanggil fungsi getComment 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.
6. Menampilkan pesan kesalahan, pada aktifitas ini sistem menampilkan pesan kesalahan jika data hasil parsing kosong. Seluruh aktifitas getComment terlihat pada activity diagram gambar III.7.
(66)
(67)
3.1.4.4.2.7 addComment
Aktifitas addComment merupakan aktifitas yang dilakukan oleh user untuk memberikankomentar pada event. Dalam aktifitas ini terdapat beberapa aktifitas yaitu :
1. memilih menu tambah komentar, pada aktifitas ini user memilih menu tambah komentar yang ada pada sistem.
2. Menampilkan form input, pada aktifitas ini sistem menampilkan form yang harus user isi.
3. Mengisi form, pada aktifitasi ini user mengisi form yang berupa nama,email,dan komentar.
4. Cek inputan, pada aktifitas ini sistem mengecek input dari user. 5. Menampilkan pesan kesalahan, pada aktifitas ini jika inputan dari
salah atau tidak lengkap maka sistem akan menampilkan pesan kesalahan.
6. Memanggil fungsi addComment, pada aktifitas ini jka inputan dari user telah lengkap dan benar maka sistem akan memanggil fungsi addcomment yang ada pada web service.
(68)
Gambar III.8 Activity diagram addComment
3.1.4.4.3 Sequence Diagram
Merupakan bentuk dari interaction diagram, menggambarkan interaksiantar objek di dalam dan di sekitar sistem berupa Message yang di gambarkanterhadap waktu. Masing – masing objek termasuk actor memiliki line vertikal,message digambarkan garis berpanah dari satu objek ke objek lainnya, dan activation bar menunjukan lamanya eksekusi sebuah proses.Sebuah sequence diagram, secara khusus menjabarkan behavior sebuahskenario tunggal. Diagram tersebut menunjukkan sejumlah objek contoh dan pesan – pesan yang melewati objek – objek ini di dalam use case. Berikut ini adalah sequence diagram dari sistem yang akan dibangun.
(69)
3.1.4.4.3.1 getEvent
(70)
3.1.4.4.3.2 getDetailEvent
(71)
3.1.4.4.3.3 getEventByMonth
(72)
3.1.4.4.3.4 getEventByDate
(73)
3.1.4.4.3.5 getEventByCategory
(74)
3.1.4.4.3.6 getComment
(75)
3.1.4.4.3.7 addComment
Gambar III.15sequence diagram untuk menambahkan komentar
3.1.4.4.4 Class Diagram
Class diagram menggambarkan struktur dan deskripsi class beserta hubungan satu sama lain seperti Asosiasi, Generalisasi dan lain sebagainya. Dalam gambar 3.16 di bawah ini di gambarkan hubungan antar class yang terjadi pada sistem yang akan dibangun. Sedangkan detail dari masing-masing class
(76)
(77)
3.1.4.5 Analisis Sistem Pada Web Service 3.1.4.5.1 Use Case Diagram
Gambar III.17 Use case diagram pada web service
3.1.4.5.1.1 Identifikasi Aktor
Pada tabel 3.12 berisi daftar aktor dan deskripsi peran meraka masing-masing dalam aplikasi ini.
III.12Definisi aktor dalam aplikasi web
NO Aktor Deskripsi
B-01 Admin Merupakan pengguna pada aplikasi web yang mempunyai hak akses untuk tambah,edit,hapus data event
(78)
3.1.4.5.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.13 menggambarkan skenario pada use case login.
Tabel III.13Skenario use case login
Identifikasi
Nomor UC-WS-01
Nama Use Case Login
Deskripsi Proses autentifikasi admin untuk masuk pada sistem
Aktor Admin
Skenario Utama ( UC-WS-01-S01) Kondisi awal Koneksi ke
database berhasil dan tampil halaman login
Aksi aktor Respon Sistem
1. Membuka halaman utama 2. Menampilkan form login
3. Memasukan username dan
password
4. Mencocokan username dan password yang ada pada database
5. Login berhasil.
Skenario Alternatif ( UC-WS-01-S02)Login namun terdapat pesan kesalahan
5a. Login gagal, sistem menampilkan pesan kesalahan. Misal karena username dan
password tidak ada pada database atau username dan password tidak cocok.
(79)
Pada tabel 3.14 menggambarkan skenario tambah event pada use case TambahEvent.
Tabel III.14 skenario use case tambah event
Identifikasi
Nomor UC-WS-02
Nama Use Case TambahEvent
Deskripsi Proses untuk menambah data event
Aktor Admin
Skenario Utama( UC-WS-02-S01)
Kondisi awal Koneksi ke database berhasil
Aksi aktor Respon Sistem
1. Membuka halaman tambah
event 2. Menampilkan form tambah event
3. Memasukan data event baru 4. Melakukan proses validasi
5. Menyimpan data yang valid ke dalam
database.
Skenario Alternatif ( UC-WS-02-S02) Tambah Event namun terdapat pesan kesalahan
4a. Menampilkan pesan kesalahan, karena data yang diinputkan salah.
Kondisi akhir Jumlah data event pada database bertambah
Pada tabel 3.15 menggambarkan skenario hapus event yang dilakukan oleh admin pada use case HapusEvent
(80)
Tabel III.15 skenario use case hapus event
Identifikasi
Nomor UC-WS-03
Nama Use Case HapusEvent
Deskripsi Proses untuk menghapus data event dalam database
Aktor Admin
Skenario Utama( UC-WS-03-S01)
Kondisi awal Koneksi ke database berhasil
Aksi aktor Respon Sistem
1. Membuka halaman hapus event 2. Menampilkan form hapus event
3. Mencari data event yang akan
di hapus 4. Melakukan proses pencarian data
5. Menampilkan data event yang di cari
6. Konfirmasi penghapusan data 7. Merespon konfirmasi dari
sistem 8. Menghapus data event dari database
Skenario Alternatif( UC-WS-03-S02) Hapus Event namun terdapat pesan error
5a. Menampilkan pesan kesalahan, misalnya karena data yang di cari tidak ditemukan.
Kondisi akhir Jumlah data pada database berkurang
Pada tabel 3.16 menggambarkan skenario untuk mengedit event yang dilakukan oleh admin pada use case EditEvent
(81)
Tabel III.16 skenario use case edit event
Identifikasi
Nomor UC-WS-04
Nama Use Case EditEvent
Deskripsi Proses untuk mengedit data event dalam database
Aktor Admin
Skenario Utama( UC-WS-04-S01)
Kondisi awal Koneksi ke database berhasil
Aksi aktor Respon Sistem
1. Membuka halaman edit event 2. Menampilkan form edit event
3. Mencari data event yang akan di edit, dengan memasukan nama event.
4. Melakukan proses pencarian data
5. Menampilkan data event yang di cari 6. Mengedit data pada data event
yang telah dicari sebelumnya
7. Melakukan proses validasi
8. Menyimpan data yang telah diedit dalam database.
Skenario Alternatif( UC-WS-04-S02) Edit Event namun event tidak ditemukan
5a. Menampilkan pesan kesalahan, misalnya karena data yang di cari tidak ditemukan.
Skenario Alternatif( UC-WS-04-S03) Edit Event namun event gagal di simpan
8a. Menampilkan pesan kesalahan, misalnya karena data event yang di inputkan salah atau karena koneksi ke database gagal.
(82)
Pada tabel 3.17 menggambarkan skenario untuk melakukan eksekusi dari service yang android panggil.
Tabel III.17 Skenario proses service request
Identifikasi
Nomor UC-WS-05
Nama Use Case Proses Service Request
Deskripsi Proses untuk melakukan eksekusi dari sebuah service yang diminta
Aktor Android
Skenario Utama(UC-WS-05-S01)
Kondisi awal Koneksi ke sistem berhasil
Aksi aktor Android Respon Sistem
1. Memanggil method 2. Mencari Method 3. Menjalankan Method
4. Menampilkan respon berupa hasil query dalam bentuk SOAP
Kondisi akhir Sistem menampilkan respon dalam bentuk SOAP
3.1.4.5.2 Activity Diagram 3.1.4.5.2.1 Login Admin
Aktifitas login merupakan aktifitas yang dilakukan admin untuk mandapatkan akses untuk mengelola event. Dalam aktifitas ini terdapat beberapa aktifitas yaitu :
1. Membuka halaman admin, pada aktifitas ini admin membuka halaman untuk mengakses halaman kelola event.
(1)
4.2.5.2 Hasil pengujian web service
Tabel IV.4 Hasil pengujian web service
NO. Skenario Hasil
1 UC-WS-01-S01 Berhasil
2 UC-WS-01-S02 Berhasil
3 UC-WS-02-S01 Berhasil
4 UC-WS-02-S02 Berhasil
5 UC-WS-03-S01 Berhasil
6 UC-WS-03-S02 Berhasil
7 UC-WS-04-S01 Berhasil
8 UC-WS-04-S02 Berhasil
9 UC-WS-04-S03 Berhasil
(2)
120
4.2.6 Kesimpulan Hasil Pengujian
Berdasarkan hasil pengujian yang dilakukan memberikan kesimpulan sebagai berikut:
1. Aplikasi pada admin dapat melakukan tambah data ,edit data, dan hapus data.
2. Aplikasi pada android dapat mengakses web service dan mendapatkan informasi berupa data event yang web service sediakan.
(3)
121 5.1 Kesimpulan
Setelah melalui tahap perancangan, realisasi dan pengujian, maka dapat ditarik kesimpulan bahwa:
1. Aplikasi pada admin dapat melakukan input data, mengubah, mencari, menghapus dan menampilkan data sehingga mempermudah admin dalam mengelola data dan pengolahan data tidak perlu dilakukan secara manual. 2. Useryang menggunakan aplikasi pada android dimudahkan dalam
mendapatkan informasi mengenai event yang akan di selenggarakan di Kota Bandung karena bisa di akses dimanapun dan kapanpun.
3. Karena aplikasi ini berbasis web service jika akan mengembangkan aplikasi yang ada dengan menambahkan aplikasi berbasis lain (contoh:aplikasi berbasis dekstop), maka hanya merancang aplikasi dekstopnya saja tanpa harus merancang kembali proses yang sudah ada dalam web service.
5.2 Saran
Untuk selanjutnya disarankan aplikasi ini dapat berjalan pada platform selain android misalnya blackberry atau iPhone dan diharapkan untuk kedepan provider-provider jaringan telekomunikasi memberikan akses internet
(4)
122
menggunakan lebih murah sehingga perkembangan aplikasi mobile berbasis web service semakin pesat.
(5)
123
[1] Adi Nugroho. 2009. Rekayasa Perangkat Lunak Menggunakan UML Dan Java. ANDI, Yogyakarta
[2] Benny Hermawan. 2004. Menguasai Java 2 dan Object Oriented Programming. ANDI, Yogyakarta.
[3] Nazruddin Safaat H. 2011. Pemograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. INFORMATIKA, Bandung.
[4] Mulyadi, ST. 2010. Membuat Aplikasi untuk Android. Multimedia Center Publishing, Yogyakarta.
[5] http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/ di akses pada 19
Maret 2011
(6)
BIODATA PENULIS
Nama : Egi Adtya Pratama Putra
Nim : 10107385
Tempat / Tgl Lahir : Bandung, 19 Maret1990 Jenis Kelamin : Laki - laki
Alamat : Jl. Purwa Indah II no 7, CCI 10 RT 006 RW016 Desa Mekarrahayu Kec. Margaasih
Kab. Bandung Provinsi Jawa Barat.
Telepon : 081910539358
Email : [email protected]
Pendidikan
1. 1995 – 2001 : SD Negeri Kejaksaan Rangkasbitung 2. 2001 – 2003 : SMP Negeri 4 Rangkasbitung
3. 2003 – 2002 : SMA Negeri 3 Rangkasbitung 4. 2002 – 2007 : SMA Negeri 1 Margahayu Bandung
5. 2007 - 2011 : Program Studi S1 Jurusan Teknik Informatika Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia
Bandung, 12 Agustus 2011 Penulis