Tugas Akhir
Ditujukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Informatika
Disusun Oleh :
Nama : Bernadetta Maria Dwianintyasari NIM : 015314005
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
Final Project
Presented as Partial Fulfillment of the Requirements
to Obtain the
Sarjana Teknik
Degree
in Information Engineering
By :
Name : Bernadetta Maria Dwianintyasari NIM : 015314005
INFORMATICS ENGINEERING STUDY PROGRAM
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF ENGINEERING
SANATA DHARMA UNIVERSITY
v
Skripsi ini kupersembahkan untuk :
♥ Tuhan Yesus, yang selalu menyertai dan membimbingku ♥ Papa dan Mamaku yang tersayang
♥Kakak dan adikku, Theo dan Martha, yang usil
♥Semua teman dan sahabat yang selalu mendukungku dalam
vi
K alau kau pikir kau bisa atau kalau kau pikir kau tak bisa,
keduanya benar
- Henry Ford
L akukanlah hal-hal biasa dengan kasih luar biasa
- Ibu Teresa
Janganlah hendaknya kamu kuatir tentang apapun juga,
tetapi nyatakanlah dalam segala hal keinginanmu kepada
Allah dalam doa dan permohonan dengan ucapan syukur
- Filipi (4:6)
viii
ABSTRAKSI
Perkembangan mobilitas yang semakin tinggi menyebabkan banyak orang
menginginkan kemudahan dalam memperoleh informasi yang mereka butuhkan,
dimana saja dan kapan saja mereka membutuhkannya. Informasi jadwal
penerbangan merupakan salah satu informasi yang diperlukan bagi orang-orang
dengan mobilitas tinggi maupun bagi wisatawan dan orang-orang yang hendak
bepergian dengan menggunakan jasa penerbangan. Implementasi Web Service
sebagai penyedia layanan pencarian informasi jadwal penerbangan untuk aplikasi
mobile phone bertujuan memberikan kemudahan bagi orang-orang dalam
memperoleh informasi jadwal penerbangan secara cepat dimana pun dan kapan
pun mereka mebutuhkan melalui mobile device yang mereka miliki.
Sistem ini memiliki 3 bagian yaitu, server Web Service sebagai penyedia
layanan pencarian informasi jadwal penerbangan, server database yang
digunakan untuk menyimpan data-data jadwal penerbangan, dan aplikasi client
yang akan mengkases layanan pencarian informasi jadwal penerbangan yang
disediakan oleh Web Service. Web Service dibangun dengan menggunakan
Netbeans dengan bahasa pemrograman Java. Aplikasi client dibangun dengan
bahasa pemrograman J2ME. Sedangkan database dibuat dengan Oracle 10g.
Hasil yang diperoleh dari implementasi Web Service ini berupa informasi
jadwal penerbangan yang meliputi informasi mengenai maskapai penerbangan
dengan rute asal keberangkatan dari Yogykarta berikut nomor penerbangan,
ix
ABSTRACT
A higher mobility growth caused a lot of people desire an easy way to get
information that they needed, anywhere and anytime. Flight schedule information
is one of the information that needed by people with high mobility or tourist and
people who want to travel with the flight services. The purpose of the Web
Service implementation as the service provider for flight schedule information
searching system for mobile phone application is to give a more simple way for
people to get the flight schedule information quickly anywhere and anytime they
needed through their own mobile device.
This system has three parts, the Web Service server as the service provider
for flight schedule information searching system, database server which is used to
save flight schedule data, and client application which is used to access flight
schedule information searching system on Web Service. Web Service is built
using Netbeans and Java as programming language. Client application built using
J2ME programming language and database is built using Oracle 10g.
The result obtained from Web Service implementation is flight schedule
information that include information about flight airlines company with departure
route from Jogjakarta including flight number, destination, day, and departure
x
KATA PENGANTAR
Puji serta syukur penulis panjatkan kepada Tuhan Yesus Kristus, karena atas
segala cinta kasih dan bimbingan-Nya saya dapat menyelesaikan tugas akhir ini
dengan baik dan lancar.
Dalam proses penulisan tugas akhir ini, penulis telah menerima perhatian
dan bantuan dari banyak pihak dengan caranya masing-masing sehingga penulis
dapat menyelesaikan tugas akhir ini dengan baik. Oleh karena itu, pada
kesempatan ini penulis ingin mengucapkan terima kasih antara lain kepada :
1. Ibu Ridowati Gunawan, S.Kom., M.T., selaku Dosen Pembimbing I, yang
telah memberikan bimbingan, dukungan, dan fasilitas yang mendukung,
sehingga penulis dapat menyelesaikan laporan tugas akhir ini dengan baik.
2. Ibu Agnes Maria Polina, S.Kom., M.Sc., selaku Ketua Jurusan Teknik
Informatika Universitas Sanata Dharma.
3. Ir. Gregorius Heliarko SJ, SS, BST, MA, M.Sc., selaku Dekan Fakultas
Teknik.
4. Bapak JB. Budi Darmawan, S.T., M.SC., Bapak St. Wisnu Wijaya, S.T., dan
Ibu Merry, S.T., selaku panitia penguji yang telah memberikan banyak kritik
dan saran demi sempurnanya tugas akhir penulis.
5. Pak Bele, Mas Danang, dan semua laboran serta staf kesekretariatan, Agus
yang telah memberikan bantuannya terutama dalam proses pengerjaan tugas
xi
6. Mama dan Papa yang selalu memberikan dukungan moril, materiil, maupun
spiritual dalam menjalani kehidupan ini.
7. Theo dan Martha atas doa, dukungan, perhatian dan keceriaan serta canda
tawa yang diberikan kepadaku.
8. Para sepupuku : Kristin, Yani, Vivien, Stanny, Lisa, Lendy, Vina, Vicky,
Albert, Chris atas doa dan dukungan serta canda tawa yang diberikan. Untuk
Lendy, terima kasih atas bantuan download tool yang diperlukan dalam
pengerjaan tugas akhir ini.
9. Keluarga besar Sentral dan Sunu atas doa, dukungan, dan perhatian yang telah
diberikan kepada saya.
10.Teman dan sahabat Teknik Informatika 2001 yang telah memberi warna baru
dalam hidupku : Tina, Rita, Basilia, Dephiek, Alice, Lilik, Manu, Albert,
Hendy, Bernad, Ndon, Tatag, Teguh, Devy, Iis, dan teman-teman lainnya atas
semua doa, dukungan, perhatian, bantuan, dan keceriaan, serta canda tawa
yang telah diberikan selama proses pengerjaan tugas akhir ini. Untuk Lilik dan
Dephiek, terima kasih atas penjelasan dan keterangan-keterangan yang
diberikan.
11.Teman dan sahabatku : Uut, Agnes, Beatrix, Tania, Yasti, Mba Sarie, Mas
Wisnu yang selalu memberikan dukungan dan semangat kepadaku. Terima
kasih juga atas doanya.
12.Dan seluruh pihak yang telah ambil bagian dalam proses penulisan tugas akhir
xii
Dengan rendah hati saya menyadari bahwa tugas akhir ini masih jauh dari
sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan tugas akhir
ini sangat saya harapkan.
Akhir kata, semoga tugas akhir ini bermanfaat bagi berbagai pihak yang
membutuhkan informasi terutama informasi mengenai teknologi Web Service.
Terima kasih.
Yogyakarta, Juni 2007
xiii
DAFTAR ISI
HALAMAN JUDUL ... i
HALAMAN PERSETUJUAN ... iii
HALAMAN PENGESAHAN ... iv
HALAMAN PERSEMBAHAN ... v
HALAMAN MOTTO... vi
PERNYATAAN KEASLIAN KARYA ... vii
xiv
2.3.2.3 Universal Description, Discovery, and Integration (UDDI)... 18
2.3.2.4 Web Service Description Language (WSDL)... 18
2.4 Java 2 Enterprise Edition (J2EE) ... 19
2.4.7 Macam-macam Spesifikasi Web Service dalam platform J2EE ... 25
2.5 J2ME Configuration... 26
xv
BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Gambaran Umum Sistem ... 31
3.2 Kebutuhan Sistem ... 32
3.3 Analisis Sistem... 33
3.3.1 Konsep Kerja Sistem ... 33
3.3.2 Analisis Kebutuhan ... 35
3.4 Analisis Berorientasi Objek ... 37
3.5 Desain Berorientasi Objek... 39
xvi
4.3.2.2 Halaman Kategori Pencarian Jadwal Penerbangan ... 78
4.3.2.3 Halaman Hasil Pencarian Kategori Jadwal Penerbangan... 81
4.3.2.4 Halaman Hasil Pencarian Informasi Jadwal Penerbangan ... 82
4.3.2.5 Halaman Petunjuk Penggunaan ... 82
4.3.2.6 Halaman Informasi ... 83
4.3.3 Aplikasi Menu Web... 83
4.3.4 Aplikasi Administrator ... 85
4.3.4.1 Halaman Menu Utama Administrator ... 85
4.3.4.2 Halaman Data Maskapai... 86
xvii
4.3.4.5 Halaman Delete Data... 96
4.3.4.5.1 Halaman Delete Data Jadwal ... 96
4.3.4.5.2 Halaman Delete Data Pesawat ... 98
4.3.4.6 Menu Help... 100
4.4 Skenario Pengujian Sistem ... 101
4.4.1 Manajemen Jadwal Penerbangan menggunakan fasilitas administrator ... 101
4.4.2 Pencarian Informasi Jadwal Penerbangan Melalui Mobile Client.... 115
BAB V ANALISA HASIL 5.1 Hasil Pengujian Sistem... 118
5.2 Kelebihan Sistem ... 119
5.3 Kekurangan Sistem ... 119
5.4 Prospek Pengembangan Sistem ... 120
BAB VI PENUTUP 6.1 Kesimpulan ... 121
6.2 Saran... 122
xviii
DAFTAR GAMBAR
Gambar 2.1 Simbol Entity Object 7
Gambar 2.2 Simbol Interface Object 7
Gambar 2.3 Simbol Control Object 7
Gambar 2.4 Simbol Solid Dot 8
Gambar 2.5 Simbol Rounded-corner Rectangle 8
Gambar 2.6 Simbol Arrows 9
Gambar 2.7 Simbol Solid Black Bar 9
Gambar 2.8 Simbol Diamond 9
Gambar 2.9 Simbol Solid Dot di dalam Hollow Circle 9
Gambar 2.10 Struktur SOAP Message 17
Gambar 2.11 Aturan registry Web Service 18
Gambar 2.12 Deskripsi service WSDL 19
Gambar 2.13 Arsitektur J2EE 20
Gambar 2.14 JAXP untuk implementasi parser abstrak dari aplikasi user
25
Gambar 2.15 Arsitektur JAX-RPC 26
Gambar 3.1 Konsep Kerja Sistem 33
Gambar 3.2 Use Case Diagram Web Service Jadwal Penerbangan 36
Gambar 3.3 Use Case Diagram Aplikasi Client 36
Gambar 3.4 Activity Diagram Meminta Data Kategori 37
Gambar 3.5 Activity Diagram Meminta Data Jadwal Penerbangan 38 Gambar 3.6 Activity Diagram Meminta Layanan Informasi Jadwal
Penerbangan
38
Gambar 3.7 Activity Diagram Menampilkan Informasi Jadwal Penerbangan
39
Gambar 3.8 Sequence Diagram Meminta Data Kategori 40
Gambar 3.9 Sequence Diagram Meminta Jadwal 40
Gambar 3.10 Sequence Diagram Meminta Layanan Informasi Jadwal Penerbangan
41
Gambar 3.11 Sequence Diagram Menampilkan Informasi Jadwal Penerbangan
42
Gambar 3.12 Class Diagram Informasi Jadwal Penerbangan 43
Gambar 3.13 Data Modelling 44
Gambar 3.14 Halaman Menu Utama Client 46
Gambar 3.15 Halaman Kategori Pencarian Informasi Jadwal Penerbangan
47
Gambar 3.16 Halaman Hasil Pencarian Kategori Tujuan 47
Gambar 3.17 Halaman Hasil Pencarian Informasi Jadwal Penerbangan Berdasarkan Kategori Tujuan
48
Gambar 3.18 Halaman Hasil Pencarian Kategori Maskapai 49
Gambar 3.19 Halaman Hasil Pencarian Informasi Jadwal Penerbangan Berdasarkan Kategori Maskapai
xix
Gambar 3.20 Halaman Hasil Pencarian Kategori Jam 50
Gambar 3.21 Halaman Hasil Pencarian Informasi Jadwal Penerbangan Berdasarkan Kategori Jam
50
Gambar 3.22 Halaman Petunjuk Penggunaan 51
Gambar 3.23 Halaman Informasi 51
Gambar 3.24 Halaman Tampilan Menu Web 52
Gambar 3.25 Halaman Menu Download Aplikasi Client 52
Gambar 3.26 Halaman Login Administrator 53
Gambar 3.27 Halaman Proses Login Gagal 53
Gambar 3.28 Halaman Menu Utama Administrator 54
Gambar 3.29 Halaman Data Maskapai 54
Gambar 3.30 Form Pengolahan Data Maskapai 55
Gambar 3.31 Halaman Tambah Data Pesawat 55
Gambar 3.32 Halaman Tambah Data Jadwal Penerbangan 56
Gambar 3.33 Halaman Tampilan Edit Data Pesawat 57
Gambar 3.34 Halaman Edit Data Pesawat 57
Gambar 3.35 Halaman Tampilan Edit Data Jadwal Penerbangan 58
Gambar 3.36 Halaman Edit Data Jadwal Penerbangan 58
Gambar 3.37 Halaman Tampilan Hapus Data Pesawat 59
Gambar 3.38 Halaman Tampilan Hapus Jadwal Penerbangan 59
Gambar 4.1 Halaman WSDL dari Implementasi Web Service pada
Gambar 4.3 Halaman Hasil Pengetesan Fungsi getKategori 73
Gambar 4.4 Halaman Hasil Pengetesan Fungsi getJadwal 74
Gambar 4.5 Halaman Pengetesan Fungsi-fungsi Web Service pada implementasi di komputer server
74
Gambar 4.6 Halaman Pengetesan Fungsi getKategori di komputer server
75
Gambar 4.7 Halaman Pengetesan Fungsi getJadwal di komputer server
75
Gambar 4.8 Halaman Download File WSDL di komputer server 76
Gambar 4.9 Halaman Menu Utama Client 77
Gambar 4.10 Halaman Kategori Pencarian Jadwal Penerbangan 78
Gambar 4.11 Halaman Koneksi Ke Web Service 80
Gambar 4.12 Halaman Hasil Pencarian Kategori 81
Gambar 4.13 Halaman Hasil Pencarian Informasi Jadwal Penerbangan 82
Gambar 4.14 Halaman Petunjuk Penggunaan 82
Gambar 4.15 Halaman Informasi 83
Gambar 4.16 Halaman Menu 84
Gambar 4.17 Halaman Login Administrator 84
Gambar 4.18 Halaman Download Aplikasi Client 85
Gambar 4.19 Halaman Menu Utama Administrator 86
xx
Gambar 4.21 Halaman Tambah Maskapai 87
Gambar 4.22 Halaman Informasi Proses Tambah Data Maskapai 88
Gambar 4.23 Halaman Pengubahan Data Maskapai 88
Gambar 4.24 Halaman Informasi Proses Pengubahan Data Maskapai 89
Gambar 4.25 Halaman Penghapusan Data Maskapai 89
Gambar 4.26 Halaman Informasi Proses Penghapusan Data Maskapai 90
Gambar 4.27 Halaman Add Data Pesawat 91
Gambar 4.28 Halaman Informasi Proses Add Pesawat 91
Gambar 4.29 Halaman Add Data Jadwal 92
Gambar 4.30 Halaman Informasi Proses Add Jadwal 92
Gambar 4.31 Halaman Informasi Proses Add Jadwal Bila Data Sudah Ada
93
Gambar 4.32 Halaman Edit Data Pesawat 94
Gambar 4.33 Halaman Data Pesawat Yang Dipilih 94
Gambar 4.34 Halaman Informasi Pengubahan Data Pesawat 94
Gambar 4.35 Halaman Edit Data Jadwal 95
Gambar 4.36 Halaman Data Jadwal Yang Dipilih 95
Gambar 4.37 Halaman Informasi Pengubahan Data Jadwal 96
Gambar 4.38 Halaman Delete Data Jadwal 97
Gambar 4.39 Halaman Data Jadwal Yang Dipilih 97
Gambar 4.40 Halaman Informasi Penghapusan Data Jadwal 97
Gambar 4.41 Halaman Delete Data Pesawat 98
Gambar 4.42 Halaman Data Pesawat Yang Dipilih 99
Gambar 4.43 Halaman Informasi Data Pesawat Gagal Dihapus 99 Gambar 4.44 Halaman Informasi Data Pesawat Telah Dihapus 99
Gambar 4.45 Halaman Login Administrator 101
Gambar 4.46 Halaman Informasi Login Gagal 101
Gambar 4.47 Halaman Menu Utama Administrator 102
Gambar 4.48 Halaman Data Maskapai 103
Gambar 4.49 Halaman Add Data Maskapai 103
Gambar 4.50 Halaman Informasi Proses Add Data Maskapai 103
Gambar 4.51 Halaman Add Data Pesawat 104
Gambar 4.52 Halaman Informasi Data Pesawat Telah Disimpan 104
Gambar 4.53 Halaman Add Data Jadwal 105
Gambar 4.54 Halaman Informasi Data Jadwal Telah Disimpan 105
Gambar 4.55 Halaman Edit Maskapai 106
Gambar 4.56 Halaman Informasi Proses Edit Maskapai 106
Gambar 4.57 Halaman Edit Data Pesawat 108
Gambar 4.58 Halaman Data Pesawat Yang Dipilih 108
Gambar 4.59 Halaman Informasi Data Pesawat Telah Disimpan 109
Gambar 4.60 Halaman Edit Jadwal 109
Gambar 4.61 Halaman Data Jadwal Yang Telah Dipilih 110
Gambar 4.62 Halaman Informasi Data Jadwal Telah Disimpan 110
xxi
Gambar 4.64 Halaman Data Jadwal Yang Telah Dipilih 112
Gambar 4.65 Halaman Informasi Data Jadwal Telah Dihapus 112
Gambar 4.66 Halaman Delete Data Pesawat 113
Gambar 4.67 Halaman Data Pesawat Yang Telah Dipilih 113
Gambar 4.68 Halaman Informasi Data Pesawat Telah Dihapus 114
Gambar 4.69 Halaman Data Maskapai Yang Dipilih 114
Gambar 4.70 Halaman Informasi Proses Delete Data Maskapai 115
Gambar 4.71 Halaman Menu Utama Client 116
xxii
DAFTAR TABEL
Tabel 2-1. Perbandingan Antara CDC dan CLDC 27
Tabel 3-1. Struktur Tabel Pesawat 44
Tabel 3-2. Struktur Tabel Jadwal Penerbangan 44
Tabel 3-3. Struktur Tabel Administrator 45
Tabel 4-1. Perangkat Lunak Pada Masing-masing komputer 63
BAB I
PENDAHULUAN
1.1Latar Belakang
Sekarang ini teknologi Web Service menjadi topik yang populer dalam dunia
teknologi informasi. Teknologi ini sudah banyak digunakan oleh para
pengembang perangkat lunak dalam membuat dan mengembangkan sistem. Web
Service merupakan layanan yang ditawarkan suatu aplikasi ke aplikasi lain
melalui teknologi Web. Web Service menyediakan komunikasi diantara aplikasi
perangkat lunak yang berjalan pada platform yang berbeda.
Web Service memiliki beberapa standar yang diperlukan dalam membuat Web
Service. Salah satu standar yang digunakan oleh Web Service adalah XML
(Extensible Markup Language). XML merupakan dasar terbentuknya Web
Service. Hal tersebut karena XML menyediakan format standar untuk
mengkomunikasikan data sehingga data dapat dipertukarkan pada aplikasi dan
platform yang berbeda. Dengan penggunaan XML sebagai salah satu standar Web
Service inilah, maka Web Service dapat memberikan layanan bagi aplikasi yang
berada pada platform yang berbeda.
Teknologi lain yang sekarang ini juga banyak digunakan adalah teknologi
J2ME (Java 2 Micro Edition), yang digunakan pada aplikasi mobile phone.
Dengan menggunakan teknologi J2ME ini, sebuah aplikasi mobile phone dapat
Dalam penulisan tugas akhir ini, kedua teknologi tersebut akan digunakan
dalam pengembangan implementasi Web Service untuk memberikan layanan
mengenai informasi jadwal penerbangan. Implementasi Web Service akan
digunakan dalam Sistem Pencarian Informasi Jadwal Penerbangan melalui mobile
phone. Dengan demikian para pengguna mobile phone dapat memperoleh
informasi jadwal penerbangan yang dibutuhkan dimana saja dan kapan saja.
1.2Rumusan Masalah
Rumusan masalah dari penulisan tugas akhir ini adalah bagaimana
membangun Web Service untuk menyediakan layanan informasi jadwal
penerbangan?
1.3Batasan Masalah
Penulisan tugas akhir ini memiliki batasan masalah sebagai berikut :
1. Web Service dibangun dengan tujuan melayani aplikasi penyediaan informasi
jadwal penerbangan dari maskapai penerbangan yang memiliki rute asal
keberangkatan dari Yogyakarta saja.
2. Perangkat lunak yang digunakan untuk membangun aplikasi ini meliputi tiga
bagian, yaitu bagian server Web Service, bagian client, dan bagian database
server. Bagian server Web Service dibangun dengan bahasa pemrograman
Java dan menggunakan Netbeans 5.0, bagian client dibangun dengan bahasa
pemrograman J2ME dan digunakan sebagai interface client, dan bagian
3. Aplikasi yang dibuat tidak membahas masalah keamanan dalam pertukaran
data antara client dan server ataupun antara server dengan database server.
4. Pada bagian client, yaitu pada bagian aplikasi mobile hanya digunakan untuk
menampilkan informasi jadwal penerbangan yang diminta user, berdasarkan
tujuan, maskapai penerbangan, atau jam.
1.4Tujuan dan Manfaat Penulisan
a. Tujuan
Tujuan penulisan tugas akhir ini adalah membuat Web Service yang
menyediakan layanan informasi jadwal penerbangan yang memiliki rute asal
keberangkatan dari Yogyakarta dengan menggunakan salah satu teknologi Java,
yaitu J2EE.
b. Manfaat
Memberikan kemudahan bagi pengguna untuk memperoleh informasi jadwal
penerbangan secara mudah dan cepat bagi user dimana pun mereka berada dan
kapan saja mereka membutuhkan.
1.5Metodologi Penelitian
Dalam penulisan tugas akhir ini, analisis kebutuhan yang diperlukan dilakukan
melalui studi literatur, dengan langkah-langkah sebagai berikut :
a. Mempelajari dan memahami konsep sistem yang akan dibangun.
c. Mempelajari dan memilih bahasa pemrograman yang sesuai untuk
membangun Web Service, aplikasi pada mobile phone, dan database
server.
Sedangkan metodologi yang digunakan dalam tugas akhir ini adalah Rational
Unified Process (Whitten, J.L., Bentley, L.D., Dittman, K.C., 2004) karena proses
analisis dan desain sistem yang digunakan adalah beorientasi objek.
Langkah-langkah yang dilakukan adalah sebagai berikut :
1. Analisis Sistem
Melakukan analisis kebutuhan (Requirement Analysis) yang terdiri dari
Use Case Diagram, dan pemodelan proses (Process Modelling) yang
terdiri dari Activity Diagram, Object Analysis, Use Case Realization.
2. Desain sistem
Melakukan perancangan objek yang terdiri dari Sequence Diagram, Class
Diagram, perancangan masukan, perancangan keluaran, perancangan
antarmuka pengguna.
1.6Sistematika Penulisan
BAB I PENDAHULUAN
Bab ini memberikan penjelasan mengenai latar belakang masalah, rumusan
masalah, batasan masalah, tujuan dan manfaat, metodologi penelitian, serta
BAB II LANDASAN TEORI
Bab ini memberikan penjelasan mengenai landasan teori yang mendukung
penulisan tugas akhir ini. Bab ini memberikan penjelasan mengenai Web Service,
J2EE (Java 2 Enterprise Edition), J2ME (Java 2 Micro Edition), dan Oracle.
BAB III ANALISIS DAN PERANCANGAN SISTEM
Bab ini memberikan penjelasan mengenai analisis dan desain sistem yang
dibangun, yaitu analisis dan desain sistem untuk Web Service, dan untuk aplikasi
client yang berupa aplikasi mobile phone.
BAB IV IMPLEMENTASI
Bab ini memberikan penjelasan mengenai implementasi dari analisis dan
desain sistem yang telah dibuat.
BAB V ANALISIS HASIL
Bab ini memberikan penjelasan mengenai analisis terhadap hasil implementasi
Web Service untuk mobile phone.
BAB VI PENUTUP
Bab ini memberikan kesimpulan dan saran dari keseluruhan proses
BAB II
LANDASAN TEORI
2.1 Metodologi Pemrograman Berorientasi Objek
2.1.1 Object Oriented Analysis
Merupakan pendekatan untuk mengidentifikasi dari kebutuhan sistem dari
perspektif user dan mengidentifikasi objek, atribut, behaviour, dan relasi yang
mendukung kebutuhan fungsional sistem. Objek modelling merupakan sebuah
teknik untuk mengidentifikasikan objek ke dalam lingkungan sistem dan relasi
antar objek.
Ada dua aktifitas utama dalam object oriented analysis yaitu :
1. Memodelkan fungsi dari sistem
Pada saat requirement analysis dibangun use case diagram yang
mendokumentasikan kebutuhan fungsional sistem. Proses ini bertujuan untuk
mendapatkan dokumentasi yang cepat untuk seluruh bisnis event yang terjadi
untuk mendefinisikan dan memvalidasi kebutuhan.
2. Mengorganisasikan objek dan mengidentifikasi relasinya
Pada aktifitas ini dibuat class diagram yang menggambarkan struktur
objek sistem, memperlihatkan class objek dari sistem yang disusun dengan
2.1.2 Objet Oriented Design
Merupakan pendekatan yang digunakan untuk menspesifikasikan solusi
perangkat lunak dalam bentuk kolaborasi objek, atribut, dan method-nya. Tahap
ini merupakan kelanjutan dari proses object oriented analysis. Dalam tahap ini
terdapat tiga buah objek yaitu :
a. Entity Object
Merupakan sebuah objek yang berisi informasi yang berhubungan dengan
bisnis dan secara khusus bersifat persistent dan disimpan dalam database.
Gambar 2.1 Simbol Entity Object (diambil dari Whitten, 2004) b. Interface Object
Merupakan sebuah objek yang disediakan untuk menggambarkan bagaimana
sebuah aktor akan melakukan interface dengan sistem.
Gambar 2.2 Simbol Interface Object (diambil dari Whitten, 2004) c. Control Object
Merupakan sebuah objek yang berisi aplikasi logik yang bukan merupakan
tanggung jawab dari entity objek.
2.2 UML (Unified Modelling Language) Diagram
UML merupakan bahasa standar yang digunakan untuk menjelaskan dan
memvisualisasikan artifak dari proses analisis dan desain berorientasi objek. UML
tidak menentukan sebuah metode untuk mengembangkan sistem, hanya sebuah
notasi yang saat ini dapat diterima secara luas sebagai sebuah standar untuk objek
modelling. UML memungkinkan pengembang melakukan pemodelan secara
visual. UML mendefinisikan diagram-diagram sebagai berikut :
1. Use Case Diagram
Use case diagram digunakan untuk menjelaskan manfaat sistem jika dilihat
menurut pandangan orang yang berada di luar sistem (actor). Diagram ini
menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem
berinteraksi dengan dunia luar.
2. Activity Diagram
Activity diagram digunakan untuk memodelkan alur kerja sebuah proses bisnis
dan urutan aktivitas dalam suatu proses. Beberapa simbol yang digunakan untuk
activity diagram :
a. Solid dot, menggambarkan awal proses
Gambar 2.4 Simbol Solid Dot
b. Rounded-corner rectangle, menggambarkan aktifitas atau tugas yang
diperlukan.
c. Arrows, menggambarkan trigger yang menginisialisasi aktifitas.
Gambar 2.6 Simbol Arrows
d. Solid black bar adalah bar sinkronisasi. Simbol ini menunjukkan aktifitas
yang dilaksanakan secara paralel.
Gambar 2.7 Simbol Solid Black Bar
e. Text inside [], menjelaskan trigger adalah sebuah hasil dari aktifitas keputusan.
f. Diamond, menggambarkan aktifitas keputusan
Gambar 2.8 Simbol Diamond
g. Solid dot di dalam hollow circle menggambarkan akhir proses.
Gambar 2.9 Simbol Solid Dot di dalam Hollow Circle
3. Sequence Diagram
Sequence diagram digunakan untuk menjelaskan interaksi objek yang disusun
dalam suatu urutan waktu. Sequence diagram memperlihatkan tahap demi tahap
apa yang seharusnya terjadi untuk menghasilkan sesuatu di dalam use case.
Diagram ini biasa digunakan untuk menggambarkan skenario atau rangkaian
langkah-langkah yang dilakukan sebagai respon dari sebuah event-event
menghasilkan output tertentu. Pada fase desain message akan dipetakan menjadi
4. Class Diagram
Class merupakan sebuah spesifikasi yang diinstaniasi, akan menhasilkan
objek dan merupakan inti dari pengembangan dan desain berorientasi objek,
menggambarkan keadaan (atribut / properti) sistem, sekaligus menawarkan
layanan untuk memanipulasi keadaan tersebut (method / fungsi).
Class diagram menggambarkan struktur dan deskripsi class, package, dan
objek beserta hubungan satu sama lain seperti generalisasi, pewarisan, asosiasi,
dan sebagainya. Class diagram memperlihatkan hubungan antar class dan
penjelasan detail tiap-tiap class dalam model desain dari suatu sistem. Class
memiliki tiga area pokok yaitu nama dan stereotype, atribut, dan method.
Atribut dan method memiliki sifat :
a. private, tidak dapat dipanggil dari luar class bersangkutan.
b. protected, hanya dapat dipanggil class bersangkutan dan pewarisnya.
c. public, dapat dipanggil siapa saja.
Beberapa hubungan antar class yang ada :
a. asosiasi,
Merupakan hubungan statis antar class
b. agregasi,
Merupakan hubungan antar class yang menyatakan bagian
c. pewarisan,
Merupakan hubungan antar class yang menyatakan hirarkis
d. hubungan dinamis,
2.3 Web Service
Web Service merupakan sebuah aplikasi perangkat lunak yang dapat diakses
pada Web atau intranet melalui URL, yang diakses oleh client menggunakan
protokol berbasis XML, seperti Simple Object Access Protocol (SOAP) yang
dikirim melalui protokol internet seperti HTTP. Client mengakses sebuah aplikasi
Web Service melalui antarmukanya dan binding, yang didefinisikan menggunakan
dokumen XML, seperti Web Services Definition Language (WDSL).
Web Service merupakan hasil dari evolusi Web. Pada awalnya, teknologi Web
merupakan situs yang berupa halaman HTML. Kemudian aplikasi Web tersebut
berkembang menjadi lebih dinamis. Meskipun demikian, aplikasi Web tersebut
masih memiliki batasan kemampuan GUI pada halaman HTML. Web Service
mampu menangani batasan ini, karena Web Service memisahkan Website atau
aplikasi dari GUI HTML.
Web Service dibangun berdasarkan pengetahuan yang diperoleh dari
lingkungan distributed computing sebelumnya (seperti COBRA, Java Remote
Method Invocation) untuk memungkinkan komunikasi antara aplikasi dan
interoperability. Web Service menyediakan cara yang telah terstandarisasi bagi
aplikasi untuk menampilkan fungsionalnya melalui Web atau berkomunikasi
dengan aplikasi lain melalui jaringan, tanpa memperhatikan implementasi
2.3.1 Keuntungan Web Service
Beberapa keuntungan Web Service adalah :
a. Web Service berjalan menggunakan open standard, sehingga memungkinkan
aplikasi perangkat lunak ditulis dalam bahasa pemrograman yang berbeda dan
memungkinkan komunikasi pada platform yang berbeda.
b. Web Service mudah dan tidak mahal untuk diimplementasikan, karena
menggunakan infrastruktur yang sudah ada, seperti Web untuk pertukaran
informasi.
c. Web Service membantu memperluas aplikasi dan layanan untuk dapat diakses
oleh lebih banyak tipe client. Dengan menggunakan Web Service suatu
layanan dapat diakses oleh client dalam berbagai platform, karena Web
Service mendukung interoperability.
2.3.2 Standar Web Service
Standar merupakan suatu kumpulan dari spesifikasi, aturan, dan pedoman
yang dirumuskan dan diterima oleh pasar. Kriteria yang perlu dipenuhi oleh
standar yang digunakan Web Service dan teknologi yang mengimplementasikan
Web Service adalah :
1. Web Service harus mampu melayani permintaan ( request ) dari client tanpa
memperhatikan platform yang digunakan oleh client.
2. Client harus mampu menemukan Web Service tanpa memperhatikan detail
Beberapa standar yang diperlukan Web Service adalah sebagai berikut :
a. XML ( Extensible Markup Language )
XML merupakan dasar terbentuknya Web Service. XML merupakan markup
language berbasis teks yang menjadi bahasa standar pertukaran data di web. Pesan
XML digunakan oleh client dan server untuk mendefinisikan protokol komunikasi
diantara dua remote points.
b. SOAP ( Simple Object Access Protocol )
SOAP merupakan suatu dokumen XML yang mengatur bagaimana
permintaan (request) dan pengembalian (response) dari suatu Web Service akan
bekerja. SOAP merupakan suatu protokol objek yang bertugas mengantarkan
objek Web Service dari server ke client.
c. WSDL ( Web Services Description Language )
WSDL merupakan pesan XML yang digunakan untuk mendeskripsikan
fungsi-fungsi umum yang disediakan oleh Web Service. WSDL merupakan
standar skema Web Service, yang menyediakan pengetahuan bagi client mengenai
parameter, nilai pengembalian, dan tipe data dari atribut Web Service.
d. UDDI ( Universal Description, Discovery, and Integration )
UDDI merupakan spesifikasi yang mendefinisikan registries dimana bisnis
dapat mempublikasikan informasi tentang bisnis tersebut dan layanan yang
disediakan. UDDI merupakan suatu container Web Service, yang menyediakan
2.3.2.1 Extensible Markup Language (XML)
XML merupakan markup language yang berdasarkan teks yang menjadi
bahasa standar pertukaran data di Web. Data XML ditandai dengan tag “< …. >”.
Tujuan dari XML adalah interoperability, sehingga XML menjadi landasan dari
penggunaan Web Service. Contoh dokumen XML :
<?xml version=”1.0” encoding=”ISO-8859-1” standalone=”yes”?>
<ContactInformation>
<Name>John Doe</Name>
</ContactInformation>
Jenis dokumen XML ada tiga, yaitu :
a. Invalid Document
Merupakan suatu dokumen XML yang tidak mengikuti aturan penulisan yang
didefinisikan oleh spesifikasi XML.
b. Valid Document
Merupakan suatu dokumen XML yang mengikuti aturan spesifikasi XML dan
aturan struktur dokumen yang tertuang pada DTD atau schema.
c. Well-Formed Document
Merupakan suatu dokumen XML yang mengikuti aturan spesifikasi XML
Keuntungan dan keunggulan XML :
a. Ekstensibilitas
Bebas menentukan tag sendiri sesuai dengan kebutuhan user.
b. Memisahkan data dan presentasi
Sebuah data itu hanya berisi data saja, tidak ada informasi lain mengenai cara
menampilkannya. Sebuah dokumen XML merupakan data yang menerangkan
data itu sendiri. Tag pada XML menjelaskan mengenai isi datanya.
c. Penyederhanaan Aplikasi
Banyak aplikasi memiliki ukuran besar dan menghabiskan memori. Biasanya
aplikasi untuk mengolah kata maupun gambar dan harus mengakomodasikan
berbagai format file. XML yang terbuka, akan memudahkan aplikasi untuk
mengolah data.
2.3.2.1.1 Tag dan Atribut
Tag dapat berisi informasi atribut tambahan yang dimasukkan sebagai bagian
dari tag. Tag dalam XML bersifat case sensitive.
2.3.2.1.2 Prolog XML
File XML selalu dimulai dengan sebuah prolog yang berisi setidaknya sebuah
2.3.2.1.3 Document Type Definition (DTD)
DTD berfungsi untuk mendeskripsikan struktur dokumen XML. Setelah
deklarasi XML, dokumen prolog dapat menyertakan sebuah DTD, untuk
menentukan jenis tag yang dapat dimasukkan ke dokumen XML. Tag DTD
dimulai dengan <!-- diikuti nama tag. Setelah nama tag diikuti nama elemen yang
sedang didefinisikan dan dalam kurung, satu atau lebih item yang
mengindikasikan isi untuk elemen tersebut. Tanpa tanda plus, definisi mengatakan
bahwa sebuah sebuah elemen terdiri atas satu elemen. Unsur-unsur yang
dideklarasikan dalam DTD adalah semua unsur yang membentuk suatu dokumen
XML, yaitu :
1. Elemen
Merupakan satu blok data yang diawali tag pembuka dan tag penutup. Bila
sebuah element mengandung beberapa child element, maka user perlu
mendeklarasikan child element apa saja yang dipunyai element tersebut.
Contoh penulisan sintaksnya adalah :
<!ELEMENT organisasi (anggota)>
<!ELEMENT anggota (nama,alamat,kelamin,jabatan)>
2. Attribute
Merupakan informasi pendukung element yanf disertakan pada tag pembuka.
Agar dokumen XML valid, user juga perlu mendefinisikan semua attribute
yang akan digunakan dalam dokumen. Contoh penulisan attribute adalah :
Nama elemen adalah nama element dimana attribute digunakan. Sedangkan
tipe dan pengubah adalah serangkaian informasi tentang attribute itu.
3. Entity
Merupakan karakter pengganti untuk sekumpulan informasi yang
didefinisikan. Dengan menggunakan entity XML, user bisa menggantikan
kalimat yang panjang atau satu blok elemen yang sering digunakan dengan
sebuah pengenal singkat. Contoh penulisan entity adalah :
<!ENTITY judul “Manajemen data dan informasi dengan XML”>
2.3.2.2 Simple Object Access Protocol (SOAP)
SOAP memungkinkan objek yang tidak dikenal satu sama lain dapat
berkomunikasi, untuk pertukaran message.
Struktur suatu SOAP message terdiri dari beberapa bagian seperti yang dapat
dilihat pada gambar 2.10 di bawah ini :
2.3.2.3 Universal Description, Discovery, and Integration ( UDDI )
Spesifikasi UDDI mendefinisikan standar cara untuk registering,
deregistering, dan pencarian Web Service. Web service akan mendaftarkan
layanannya dengan UDDI registry. Client yang akan meminta layanan Web
Service tersebut akan mencari layanan dari Web Service tersebut dalam UDDI
registry, dan ketika layanan sudah ditemukan, client akan melakukan binding
secara langsung dengan Web Service untuk menggunakan layanan tersebut.
Aturan Registry dalam Web Service :
Gambar 2.11 Aturan registryWeb Service
2.3.2.4 Web ServiceDescription Language (WSDL)
WSDL mendefinisikan standar untuk menentukan detail Web Service. WSDL
merupakan standar skema Web Service, yang menyediakan pengetahuan bagi bagi
client atas parameter, nilai pengembalian, dan tipe data dari atribut Web Service.
Gambar 2.12 Deskripsi service WDSL
2.4 Java 2 Enterprise Edition (J2EE)
Platform J2EE didesain untuk mendukung server-side dan client-side untuk
mengembangkan dan distribusi Web Service. J2EE menggunakan model aplikasi
multi-tier terdistribusi untuk aplikasi perusahaan. Aplikasi multi-tier secara umum
dianggap sebagai 3-tier karena mereka terdistribusi melalui 3 lokasi yang berbeda
yaitu komputer client, komputer J2EE server, dan komputer database.
2.4.1 Keuntungan J2EE
Keuntungan J2EE adalah :
a. Menyederhanakan arsitektur dan pengembangan
Model pengembangan J2EE yang berdasarkan komponen mempertinggi
produktivitas pengembangan aplikasi karena komponen memetakan dengan baik
pada fungsionalitas yang diinginkan dari aplikasi dan layanan yang
dikembangkan.
b. Menjamin dukungan untuk memunculkan standarWeb Service
c. Menjamin pengembangan layanan yang portable dan interoperable
J2EE menjamin tidak hanya aplikasi yang portable melewati implementasi
J2EE, tetapi juga layanan yang interoperable dengan semua Web Service yang
diimplementasikan pada paltform lain yang menyesuaikan dengan standar WS-I.
d. Mengijinkan integrasi dengan sistem informasi yang sudah ada
J2EE menyediakan API yang berstandarkan industri. Dengan merangkaikan
API ini dengan dukungannya untuk Web Service, J2EE menyediakan cara yang
tepat untuk mengintegrasikan sistem yang sudah ada dan membuat data mereka
tersedia bagi client pada lingkungan platform yang bermacam-macam.
e. Menyediakan model keamanan yang fleksibel
Model keamanan J2EE didesain fleksibel, mengijinkan pengembang
komponen untuk menyatakan menentukan keamanan komponen yang diperlukan.
2.4.2 Teknologi J2EE
Aplikasi J2EE terdiri atas beberapa komponen. Komponen di J2EE
merupakan sebuah unit program yang dirakit ke aplikasi J2EE sesuai dengan kelas
dan filenya yang berkomunikasi dengan komponen lainnya. Spesifikasi J2EE
mendefinisikan komponen-komponen J2EE sebagai berikut :
Aplikasi client dan applet ialah komponen yang berjalan di sisi client.
Komponen teknologi Java Servlet dan JavaServer Pages (JSP) ialah komponen
Web yang berjalan di server.
Komponen J2EE ditulis dalam bahasa Java dan dikompilasi seperti bahasa
lainnya. Perbedaan antara komponen J2EE dan kelas Java standar ialah komponen
J2EE dirakit ke aplikasi J2EE, diverifikasi untuk berjalan dengan sempurna dan
disebarkan untuk produksi di tempat ia berjalan dan diatur oleh server J2EE.
Pengembang menggunakan teknologi komponen J2EE untuk membuat bagian
yang penting pada aplikasi perusahaan dan Web Service. Macam-macam
tekonologi komponen J2EE adalah :
a. Komponen Client
b. Komponen Web
Komponen Web menyediakan respon dari request yang diterima melalui
HTTP. Komponen web J2EE dapat berupa servlet atau jsp. Servlet adalah
kelas-kelas bahasa pemrograman Java yang secara dinamis memproses request dan
membangkitkan respon. JSP adalah dokumen berbasis teks yang dieksekusi
sebagai servlet tetapi mengijinkan pendekatan lebih alami untuk membuat isi
statis.
2.4.3 Platform dan Container Service
Teknologi komponen J2EE bergantung pada dukungan container J2EE untuk
berfungsi dengan baik. Container adalah antarmuka di antara sebuah komponen
dan platform low level spesifik yang mendukung komponen. Sebelum sebuah
web, enterprise bean atau komponen client dapat dieksekusi, ia harus dirakit ke
aplikasi J2EE dan disebarkan ke container-nya.
2.4.4 Tipe container
Tipe container J2EE : Server J2EE
Bagian runtime dari sebuah produk J2EE. J2EE server menyediakan container
Web dan EJB Web container
Application client container
Mengatur eksekusi komponen aplikasi client. Aplikasi client dan container
-nya berjalan di client.
2.4.5 J2EE API
API yang digunakan di aplikasi J2EE adalah :
a. JDBC API
JDBC API memungkinkan untuk mengambil perintah SQL dari method
bahasa Java. JDBC API mempunyai dua bagian, yaitu application-level interface
digunakan oleh komponen aplikasi untuk mengakses database, dan penyedia Java
untuk menempelkan driver JDBC ke platform J2EE.
b. Java Servlet Technology
Java Servlet Technology berisi definisi kelas servlet HTTP tertentu. Sebuah
kelas servlet memperluas kemampuan server yang meyimpan aplikasi.
c. JavaServer Pages Technology (JSP)
Teknologi JSP mengijinkan untuk meletakkan kode servlet secara langsung ke
dalam dokumen. Sebuah JSP adalah dokumen berbasis teks yang berisi dua tipe
teks, yaitu static template data yang dapat ditampilkan dalam format teks, seperti
HTML, WML, dan XML, dan elemen JSP yang menentukan bagaimana halaman
membentuk isi yang dinamis.
d. J2EE Connector Architecture
Digunakan oleh tool J2EE dan integrator sistem untuk membuat adaptor
dipasang ke produk J2EE mana saja. Adaptor resource adalah komponen software
yang mengijinkan aplikasi J2EE mengakses dan berinteraksi dengan resource
manager.
2.4.6 Komunikasi
Internet Protocol
J2EE mendukung standar internet protocol yang umum seperti TCP/IP,
HTTP, SSL. Internet Protocol ini memungkinkan komunikasi diantara komponen
serta diantara komponen dan client.
Remote Method Invocation (RMI) Protocol
J2EE mendukung Java RMI. Java RMI mengandalkan Remote Method
Invocation API yang menggunakan antarmuka bahasa Java untuk mendefinisikan
remote objek antarmuka. Teknologi Messaging
J2EE mendukung teknologi yang memungkinkan komunikasi asynchronous. Teknologi Web Service
J2EE juga mendukung teknologi dan protokol khusus Web Service, bersama
dengan teknologi dan protokol yang telah disebut, menstandarisasi komunikasi
2.4.7 Macam-macam Spesifikasi Web Service dalam platform J2EE
1. Java API for XML Processing
JAXP adalah vendor-neutral set of lightweight API untuk parsing atau
memproses dokumen XML. Karena XML merupakan bahasa umum yang
memungkinkan Web Service, parser XML merupakan kebutuhan untuk
memproses pertukaran message diantara Web Service.
Gambar 2.14 JAXP untuk implementasi parser abstrak dari aplikasi user
2. Java API for XML-based RPC
RPC mendukung XML-based RPC untuk platform Java dan J2EE.
JAX-RPC memungkinkan mekanisme client-server remote procedure call tradisional
menggunakan protokol berdasarkan XML. JAX-RPC memungkinkan
pengembang teknologi Java mengembangkan Web Service interoperable dan
operable berdasarkan SOAP. Implementasi Web Service berdasarkan JAX-RPC
dapat berinteraksi dengan client yang tidak berdasarkan Java. JAX-RPC juga
mendefinisikan standar mapping diantara WSDL/XML dan Java, yang
memungkinkan untuk mendukung tipe yang bermacam-macam. JAX-RPC
mendefinisikan set API untuk extensible type mapping framework yang dapat
Gambar 2.15 Arsitektur JAX-RPC
3. Java API for XML Registries
Merupakan Java API untuk mengakses business registries, memiliki arsitektur
fleksibel yang mendukung UDDI, dan spesifikasi registry lainnya.
4. SOAP with attachment API for Java
Memungkinkan pengembang untuk menghasilkan dan menggunakan pesan
yang sesuai dengan SOAP 1.1 specificationdan SOAP with Attachments note,
menyediakan abstraksi untuk menangani SOAP message with attachment.
2.5 J2ME Configuration
J2ME Configuration mendefinisikan lingkungan kerja J2ME runtime. J2ME
configuration menyediakan standar library yang mengimplementasikan fitur
standar dari sebuah perangakat handheld karena setiap perangkat handheld
a. CLDC (Connected Limited Device Configuration)
Kategori ini ditargetkan pada perangkat yang sangat kecil, resource terbatas,
dan memiliki kemampuan komputasi dan memori terbatas, seperti handphone,
PDA (Personal Data Assistant). Umumnya perangkat tersebut hanya memiliki
memori berukuran 160-512 Kb.
b. CDC (Connected Device Configuration)
Kategori ini digunakan untuk aplikasi Java pada perangkat handheld yang
memiliki ukuran memori lebih besar dari 2 Megabytes.
CLDC CDC
Mengimplementasikan subset dari J2SE Mengimplementasikan seluruh
fitur pada J2SE
JVM yang digunakan dikenal dengan
nama KVM
JVM yang digunakan dikenal
dengan nama CVM
Digunakan pada perangkat handheld
dengan ukuran memori terbatas
(160-512Kb)
Digunakan pada perangkat
handheld dengan ukuran memori
minimal 2Mb
Prosesor 16 bit atau 32 bit Prosesor 32 bit
Tabel 2.1 Perbandingan antara CLDC dan CDC
2.5.1 J2ME Profile
Sebuah profile dibangun di atas sebuah configuration. Jika J2ME
sebuah perangkat handheld, J2ME Profile menyediakan implementasi tambahan
yang sangat spesifik dari sebuah perangkat handheld. Ada lima kategori J2ME
Profile saat ini yaitu :
a. Mobile Information Device Profile (MIDP)
b. Foundation Profile
c. Personal Profile
d. RMI Profile
e. Personal Digital Assistance Profile
MIDP menyediakan library Java untuk implementasi dasar antarmuka (GUI),
implementasi jaringan, database, dan timer. MIDP dirancang khususnya untuk
wireless phone dan pager.
2.6 Java Database Connectivity (JDBC)
JDBC merupakan teknologi Java untuk pengaksesan database. JDBC
merupakan sekumpulan API yang digunakan untuk mengeksekusi pernyataan
SQL pada platform Java. Agar dapat menggunakan pernyataan SQL di program
Java, paket java.sql harus disertakan. Langkah-langkah menggunakan JDBC
adalah :
1. Memasukkan paket java.sql
2. Registerdriver yang sesuai
3. Koneksi ke database
5. Eksekusi pernyataan
6. Mengambil hasil
7. Menutup pernyataan dan koneksi
2.7 Oracle
Oracle ditujukan sebagai server database pada lingkungan internet, sehingga
komponen Oracle yang tersedia akan mendukung operasi di internet.
Oracle merupakan suatu proses yang mengelola bagaimana data disimpan dan
bagaimana data tersebut diakses.
2.7.1 Membuat Tabel
Untuk membuat suatu tabel dalam Oracle digunakan perintah CREATE.
Penulisan sintaksnya adalah :
create table nama_table
{ nama_field tipe };
2.7.2 Insert Tabel
Perintah untuk memasukkan data ke dalam tabel adalah perintah INSERT.
Penulisan sintaksnya adalah :
2.7.3 Update Tabel
Untuk melakukan pengubahan nilai tabel digunakan perintah UPDATE.
Penulisan sintaksnya adalah :
UPDATE nama_table
SET (nama_field) = (SELECT nama_field FROM nama_tabel WHERE condition)
WHERE condition;
2.7.4 Delete Tabel
Perintah yang digunakan untuk menghapus data dari tabel adalah perintah
DELETE. Penulisan sintaksnya adalah :
DELETE [FROM] nama_table [WHERE condition];
2.7.5 Select Tabel
Perintah yang digunakan untuk memilih tabel yang diinginkan adalah perintah
SELECT. Penulisan sintaksnya adalah :
BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1Gambaran Umum Sistem
Sistem yang akan dikembangkan adalah sistem pembuatan Web Service dan
pemanggilan Web Service oleh aplikasi client untuk memperoleh layanan
pencarian informasi jadwal penerbangan dari database server. Sistem ini akan
dikembangkan dengan menggunakan model client – server, dan database yang
akan diakses adalah database flight. Aplikasi client yang dikembangkan berupa
aplikasi mobile phone.
Informasi adalah data yang telah diolah sehingga lebih bermanfaat bagi
pengguna. Sedangkan informasi jadwal penerbangan merupakan suatu daftar data
mengenai penerbangan yang meliputi data nama maskapai penerbangan, nomor
penerbangan, tujuan, hari dan jam, yang telah diolah sehingga menjadi lebih
bermanfaat bagi pengguna.
Informasi jadwal penerbangan yang dapat diperoleh client hanya meliputi
jadwal penerbangan dari maskapai penerbangan yang memiliki rute asal
keberangkatan dari Yogyakarta saja. Informasi jadwal penerbangan yang akan
ditampilkan meliputi nama maskapai penerbangan yang memiliki rute asal
keberangkatan dari Yogyakarta berikut nomor penerbangan, tujuan, hari, dan jam
dari masing-masing maskapai penerbangan tersebut.
Gambaran umum sistem yang akan dikembangkan adalah sebagai berikut :
jadwal penerbangan melalui aplikasi client mobile phone yang telah terinstal pada
mobile phone yang digunakannya. Permintaan client ini akan dikirim ke Web
Service dalam bentuk pesan SOAP dalam format XML. Web Service kemudian
akan mengakses database flight untuk mencari data yang sesuai dengan
permintaan user. Setelah data tersebut diperoleh maka database flight akan
mengirimkannya ke Web Service, yang selanjutnya akan mengirimkannya ke
aplikasi client, dan selanjutnya aplikasi client akan menampilkan data tersebut
kepada user di mobile phone yang digunakan user.
3.2Kebutuhan Sistem
Sistem ini meliputi tiga bagian yaitu bagian server, bagian database, dan
bagian client. Bagian server yang merupakan Web Service, akan dikembangkan
dengan menggunakan salah satu teknologi Java, yaitu J2EE (Java 2 Enterprise
Edition). Bagian server akan mengakses bagian database untuk memperoleh data
yang diminta oleh client dan mengirimkan hasilnya ke client. Komunikasi antara
Web Service dengan database akan dilakukan dengan menggunakan teknologi
JDBC. Sedangkan komunikasi antara Web Service dengan client dilakukan
dengan menggunakan protokol objek Web Service yaitu SOAP dalam bentuk
format XML. Bagian server akan melayani request SOAP dari client, dan
selanjutnya bagian server akan melakukan koneksi ke database dengan
menggunakan JDBC. Bagian server akan mengirimkan hasilnya ke client dalam
teknologi Oracle. Bagian database digunakan untuk menyimpan data jadwal
penerbangan dan data pesawat.
Bagian client akan dikembangkan dengan memanfaatkan salah satu teknologi
mobile device berupa mobile phone dengan menggunakan J2ME (Java 2 Micro
Edition). Bagian client digunakan sebagai interface untuk memilih kategori
pencarian yang telah disediakan dan untuk memilih data yang telah diperoleh dari
database berdasarkan kategori yang telah dipilih sebelumnya, untuk mendapatkan
data jadwal penerbangan yang diinginkan. Bagian ini juga digunakan untuk
menampilkan informasi jadwal penerbangan dari hasil pencarian yang diperoleh.
3.3Analisis Sistem
3.3.1 Konsep Kerja Sistem
Konsep kerja sistem pembuatan Web Service dan pemanggilan Web Service
oleh aplikasi client untuk memperoleh informasi jadwal penerbangan dari
database dapat dilihat pada gambar 3.1 di bawah ini.
1. Bagian client yaitu aplikasi mobile phone ( J2ME ) meminta request layanan
Web Service yaitu layanan untuk mendapatkan informasi jadwal penerbangan.
Web Service menyediakan dua layanan yang dapat diakses oleh aplikasi mobile
phone yaitu layanan untuk mendapatkan data dari kategori yang dipilih dan
layanan untuk mendapatkan informasi jadwal penerbangan. Request ini dilakukan
dengan cara meminta method Java dari Web Service. Method yang tersedia adalah
getKategori dan getJadwal. Request ini selanjutnya akan dikirim ke JAX-RPC
runtime di sisi client. Parameter yang dikirimkan client pada waktu melakukan
request method getKategori adalah kategori pencarian, yang meliputi tujuan,
maskapai, atau jam. Sedangkan parameter yang dikirimkan client pada waktu
melakukan request method getJadwal adalah kategori pencarian (tujuan,
maskapai, atau jam) dan data yang diperoleh dari database berdasarkan kategori
pencarian yang telah dipilih sebelumnya. Parameter dan method yang diminta
dikirimkan ke Web Service dengan menggunakan pesan SOAP. Proses
terbentuknya pesan SOAP adalah sebagai berikut :
Setelah request dikirimkan ke JAX-RPC runtime di sisi client, JAX-RPC
runtime akan memetakan Java ke XML dan membentuk pesan SOAP yang
mengenkapsulasi method call dan parameter yang dikirimkan. JAX-RPC runtime
kemudian mengirimkan pesan SOAP ke SOAP handler dan selanjutnya
mengirimkan pesan SOAP JAX-RPC runtime pada sisi server.
2. JAX-RPC runtime pada sisi server ini kemudian mengirimkan pesan SOAP ke
Web Service port. Pesan SOAP kemudian diterima oleh SOAP handler di sisi
dikirimkan ke service endpoint. J2EE container mengekstraksi method call yang
diminta oleh client dengan parameter, menampilkan pemetaan objek XML ke
Java, dan menangani method untuk implementasi Web Service interface untuk
proses lebih lanjut.
3. Proses berlanjut ke database. Permintaan client (query) diterima oleh
database dengan menggunakan JDBC. Di database permintaan client (query)
akan diproses. Hasil yang diperoleh adalah data berdasarkan kategori yang telah
dipilih sebelumnya dan data jadwal penerbangan sesuai dengan permintaan client.
Data ini kemudian dikirimkan ke Web Service dengan menggunakan JDBC.
4. JAX-RPC runtime akan memetakan Java ke XML dan membentuk pesan
SOAP. JAX-RPC kemudian mengirimkan pesan SOAP ke SOAP handler di sisi
server. Pesan SOAP dikirimkan ke server port untuk dikirimkan ke JAX-RPC
runtime di sisi client. JAX-RPC runtime kemudian mengirimkan pesan SOAP ke
SOAP handler di sisi client. JAX-RPC runtime kemudian memetakan XML ke
Java, dan selanjutnya hasil dikirimkan ke client.
3.3.2 Analisis Kebutuhan
Proses analisis kebutuhan yang dilakukan menghasilkan :
Use Case Diagram
Diagram ini menunjukkan fungsionalitas suatu sistem dan bagaimana
sistem berinteraksi dengan dunia luar. Use case diagram digunakan untuk
a. Web Service Jadwal Penerbangan
Gambar 3.2 Use Case Diagram Web Service Jadwal Penerbangan
b. Aplikasi Client
3.4Analisis Berorientasi Objek
Proses analisis berorientasi objek akan dimodelkan dengan diagram alur kerja
sebuah proses yaitu Activity Diagram.
Activity Diagram
Merupakan diagram yang secara grafik digunakan untuk menggambarkan
aliran dari sebuah bisnis proses, atau merupakan langkah-langkah dari sebuah use
case.
a. Web Service Jadwal Penerbangan
Gambar 3.5 Activity Diagram Meminta Data Jadwal Penerbangan
b. Aplikasi Client
Gambar 3.6 Activity Diagram Meminta Layanan Informasi Jadwal
Gambar 3.7 Activity Diagram Menampilkan Informasi Jadwal
Penerbangan
3.5Desain Berorientasi Objek
Proses berorientasi objek dibagi menjadi dua tahap analisis, yaitu :
a. Sequence Diagram
Merupakan diagram yang menggambarkan secara grafik bagaimana objek
berinteraksi satu dengan yang lainnya melalui pesan dalam mengeksekusi sebuah
use case.
b. Class Diagram
Diagram ini menggambarkan struktur objek dari sistem statik,
memperlihatkan class objek dari sistem yang disusun dengan relasi antara class
3.5.1 Sequence Diagram
a. Web Service Jadwal Penerbangan
Gambar 3.8 Sequence Diagram Meminta Data Kategori
b. Aplikasi Client
Gambar 3.10 Sequence Diagram Meminta Layanan Informasi
Gambar 3.11 Sequence Diagram Menampilkan Informasi Jadwal
3.5.2 Class Diagram
3.6Struktur Database
Gambar 3.13 Data Modelling
a. Tabel Maskapai
No Field Name Type Length
1 Kode_Maskapai String 3
2 Maskapai_Penerbangan String 40
Tabel 3.1 Struktur Tabel Maskapai
b. Tabel Pesawat
c. Tabel Jadwal Penerbangan
Perancangan sistem yang dibuat dalam penyusunan tugas akhir ini meliputi
perancangan interface untuk aplikasi :
a. Client
Perancangan interface aplikasi client meliputi :
1. Halaman Menu Utama Client
Tampilan halaman menu utama pada client ditunjukkan pada gambar 3.14.
Halaman menu utama ini digunakan untuk menampilkan menu-menu yang
ada pada aplikasi client pencarian informasi jadwal penerbangan. Menu
tersebut antara lain :
a. Pencarian Jadwal Penerbangan
Menu ini digunakan untuk memulai penggunaan aplikasi informasi jadwal
b. Petunjuk Penggunaan
Menu petunjuk penggunaan digunakan untuk menampilkan informasi
mengenai cara penggunaan aplikasi informasi jadwal penerbangan.
c. Informasi
Menu Informasi digunakan untuk menampilkan informasi mengenai
aplikasi informasi jadwal penerbangan.
Gambar 3.14 Halaman Menu Utama Client
2. Halaman Kategori Pencarian
Halaman kategori pencarian digunakan sebagai interface untuk memilih
kategori pencarian jadwal penerbangan yang akan dicari. Kategori pencarian
yang tersedia meliputi tiga macam, yaitu Tujuan, Maskapai, dan Jam. Kategori
tujuan digunakan untuk memperoleh data tujuan, untuk selanjutnya digunakan
untuk memperoleh jadwal penerbangan. Kategori maskapai digunakan untuk
memperoleh data maskapai penerbangan yang selanjutnya digunakan untuk
memperoleh jadwal penerbangan. Sedangkan kategori jam digunakan untuk
penerbangan. Tampilan halaman kategori pencarian dapat dilihat pada gambar
3.15 di bawah ini.
Gambar 3.15 Halaman Kategori Pencarian Informasi Jadwal Penerbangan
3. Halaman Hasil Pencarian Kategori Tujuan
Setelah user memilih kategori pencarian tujuan, maka halaman hasil
kategori pencarian tujuan akan ditampilkan. Halaman ini memberikan pilihan
data tujuan apa saja yang tersedia, yang diambil dari database bagi user
berdasarkan kategori pencarian tujuan yang telah dipilih sebelumnya.
Tampilan halaman hasil pencarian kategori tujuan dapat dilihat pada gambar
3.16 di bawah ini.
Setelah memilih salah satu data tujuan sesuai yang diinginkan, maka
halaman hasil pencarian informasi jadwal penerbangan berdasarkan kategori
tujuan akan ditampilkan. Halaman ini menampilkan informasi jadwal
penerbangan sesuai yang diinginkan user. Tampilan hasil pencarian informasi
jadwal penerbangan dapat dilihat pada gambar 3.17 di bawah ini.
Gambar 3.17 Halaman Hasil Pencarian Informasi Jadwal Penerbangan
Berdasarkan Kategori Tujuan
4. Halaman Hasil Pencarian Kategori Maskapai
Halaman hasil pencarian kategori maskapai ditunjukkan dengan gambar
3.18. Apabila kategori pencarian Maskapai yang dipilih, maka halaman hasil
pencarian kategori maskapai akan ditampilkan. Halaman ini akan
menampilkan pilihan data maskapai penerbangan apa saja yang tersedia, yang