LEMBAR PENGESAHAN
Batam, 15 Juli 2011
Pembimbing,
MIR’ATUL KHUSNA MUFIDA, S.ST NIK. 109057
i
LEMBAR PERNYATAAN
Dengan ini, saya: NIM
: 3310801098
Nama : Ahmad Fauzi adalah mahasiswa Teknik Informatika Politeknik Negeri Batam yang menyatakan bahwa tugas akhir dengan judul: SIMULASI GARUDA MOBILE disusun dengan: 1. tidak melakukan plagiat terhadap naskah karya orang lain 2. tidak melakukan pemalsuan data 3. tidak menggunakan karya orang lain tanpa menyebut sumber asli atau tanpa ijin pemilik Jika kemudian terbukti terjadi pelanggaran terhadap pernyataan di atas, maka saya bersedia menerima sanksi apapun termasuk pencabutan gelar akademik. Lembar pernyataan ini juga memberikan hak kepada Politeknik Negeri Batam untuk mempergunakan, mendistribusikan ataupun memproduksi ulang seluruh hasil Tugas Akhir ini.
Batam, 15 Agustus 2011
Ahmad Fauzi 331080108098
ii
KATA PENGANTAR Puji syukur kepada Tuhan Yang Maha Esa, karena atas karunia-Nya sehingga penyusun dapat menyelesaikan Laporan Tugas Akhir yang berjudul “SIMULASI GARUDA MOBILE” ini.
Dalam kesempatan ini, penyusun ingin menyampaikan ucapan ribuan terima kasih kepada pihak-pihak yang telah membantu dalam memberikan semangat, bimbingan, dorongan, waktu maupun biaya: 1. Kedua orang tua tercinta yang selalu mendukung dan membiayai dalam pekerjaan Tugas Akhir ini. 2. Ibu Mir’atul Khusna Mufida, S.ST selaku pembimbing yang selalu memberikan penjelasan dan masukan pada Tugas Akhir ini. 3. Kepada dosen-dosen penguji, yang telah menguji dan memberikan masukan pada Tugas Akhir ini. 4. Bapak Ucok Cemerlang, BTHDMGA yang telah memberikan pandangan dan penjelasan pada Tugas Akhir ini. 5. Teman-teman yang turut membantu dalam pekerjaan Tugas Akhir ini.
Penyusun menyadari bahwa masih terdapat kekurangan dan ketidaksempurnaan dalam penyusunan Laporan Tugas Akhir ini. Untuk itu, penyusun mengharapkan kritik dan saran yang konstruktif dari pihak–pihak lain. Semoga buku ini dapat bermanfaat bagi pembaca, khususnya bagi yang hendak mengembangkan aplikasi serupa.
Batam,
Penulis
iii
Agustus 2011
ABSTRAK Garuda Mobile Garuda Indonesia merupakan satu-satunya maskapai Nasional yang terbang semakin tinggi di langit Indonesia meninggalkan maskapai swasta sebagai sainganya. Kepercayaan terbangun dari rentetan proses yang tidak lepas dari kerja keras, keuletan dan penyajian informasi yang efektif dan efisien. Seiring waktu kepercayaan yang dibangun terus berkembang menjadi kesetiaannya melakukan perjalanan dengan maskapai garuda Indonesia. Perkembangan teknologi secara umum terjadi begitu cepat, khususnya teknologi informasi. Komputer, laptop dan handphone adalah contoh media komunikasi yang menerapkan perkembangan teknologi secara simultan. Handphone adalah salah satu jenis sarana komunikasi yang fitur dan teknologinya terus berkembang. Pesatnya pengembangan fitur handphone menggunakan Java 2 Micro Edition (J2ME) yang memiliki keunggulan multiplatform, berorientasi objek dan terintegrasi dengan baik. Sehingga migrasi pada teknologi smartphone lebih mudah. Oleh karena itu dibuatlah aplikasi Garuda mobile untuk mempermudah pelanggan mendapatkan informasi penerbangan. Maskapai Garuda Indonesia mendukung IPTEK dengan mempublikasi informasi jadwal penerbangan (flight) melalui berbagai media seperti iklan dan brosur serta dapat diakses melalui website dan call center. Penumpang memiliki begitu banyak pilihan alternatif dalam memperoleh informasi flight dengan mudah, cepat dan efisien. Pelayanan terbaik telah ditawarkan kepada passenger dengan adanya Website Garuda Indonesia yang dapat diakses melalui Internet .Dengan adanya garuda mobile ini, informasi yang disajikan dengan mobile application, menjadi suatu alternatif bagi passenger sebagai media informasi penerbangan melalui Garuda Mobile (m_Garuda). Kata Kunci : Garuda Indonesia, Teknologi, Garuda Mobile
iv
ABSTRACT Garuda Mobile Garuda Indonesia is the only national airlines that fly higher in Indonesian sky leaving a rival private airlines. Trust awakened from a series of processes that can not be separated from the hard work, tenacity and the presentation of information effectively and efficiently. Over time that builds the trust continues to develop into loyalty to travel with the airline Garuda Indonesia. Technological development is generally happening so fast, particularly information technology. Computers, laptops and mobile phones are examples of communication media simultaneously applying technological developments. Mobile is one of the means of communication features and technology continues to evolve. With the technological capabilities and features are causing more and more people need to rely on this communication tool. The rapid development of mobile phone features using Java 2 Micro Edition (J2ME) which has the advantage of multi-platform, object-oriented and well integrated. So that migration to emerging smartphone technologies such as Android, RIM (Research In Motion), and Windows Mobile Symbians easier. Therefore Garuda mobile application was made to facilitate customers get flight information. Garuda Indonesia Airlines supports science and technology by publishing flight schedule information (flight) through various media such as ads and brochures and can be accessed through the website and call center. Passengers have so many alternatives in obtaining flight information easily, quickly and efficiently. The best services have been offered to the passenger in the presence of Garuda Indonesia website which can be accessed via the Internet. With this mobile eagle, the information presented by the mobile application, to be an alternative to the passenger as a media flight information via Garuda Mobile (m_Garuda). Keyword : Garuda Indonesia, Technology, Garuda Mobile
v
DAFTAR ISI Bab I
Pendahuluan............................................................................................... 1
I.1
Latar Belakang ........................................................................................... 1
I.2
Rumusan Masalah...................................................................................... 4
I.3
Batasan Masalah ........................................................................................ 4
I.4
Tujuan ........................................................................................................ 4
I.5
Sistematika Penulisan ................................................................................ 5
Bab II Landasan Teori .......................................................................................... 6 II.1
PT. Garuda Indonesia (persero) ................................................................. 6
II.2
Pengenalan Pemograman Aplikasi Bergerak ............................................. 7
II.3
Pengenalan Java ......................................................................................... 7
II.4
J2ME.......................................................................................................... 8
II.5
CDC dan CLDC......................................................................................... 9
II.6
Perangkat Pengembangan J2ME ............................................................... 9
II.7
MIDlet...................................................................................................... 10
II.8
Koneksi database dan HTTP ................................................................... 12
II.9
DBMS (MySQL) ..................................................................................... 12
II.10 Server Side Scripting (PHP) .................................................................... 13 II.11 Mobile Application .................................................................................. 13 II.12 OOP (Object Oriented Programming) ..................................................... 14 II.13 Use case Diagram .................................................................................... 15 Bab III Analisis dan Perancangan ........................................................................ 18 III.1 Kategori pengguna aplikasi ..................................................................... 19 III.2 Kebutuhan fungsional .............................................................................. 20 III.4 Skenario Use Case ................................................................................... 21 III.4.1
Use Case Booking........................................................................ 22
III.4.2
Use Case Entry Data PAX ........................................................... 22
III.4.3
Use CaseEntry Data Flight .......................................................... 22
III.4.4
Use Case Search Data .................................................................. 23
vi
III.4.5
Use Case Show Record................................................................ 23
III.4.6
Use Case Cancel Record .............................................................. 24
III.4.7
Use Case Generate Time Limit.................................................... 24
III.4.8
Use Case Authentication ............................................................. 24
III.4.9
Use Case Update Schedule .......................................................... 25
III.4.10
Use Case Connection ................................................................... 25
III.5 Analisis Kelas .......................................................................................... 26 III.6 Keterangan kelas ...................................................................................... 27 Bab IV Hasil dan Pembahasan ............................................................................. 30 IV.1 Sequence Diagram ................................................................................... 30 IV.1.1
Sequence Diagram Use Case Entry Data Pax .............................. 30
IV.1.2
Sequence Diagram Use Case Entry Data Flight .......................... 31
IV.1.3
Sequence Diagram Use Case Booking ........................................ 31
IV.1.4
Sequence Diagram Use Case Search Data ................................... 32
IV.1.5
Sequence Diagram Use Case Authentication .............................. 32
IV.1.6
Sequence Diagram Use Case Show Record ................................ 33
IV.1.7
Sequence Diagram Use Case Cancel Record .............................. 33
IV.1.8
Sequence Diagram Use Case Generate Time Limit .................... 34
IV.1.9
Sequence Diagram Use Case Update Schedule ........................... 34
IV.1.10
Sequence Diagram Use Case Connection.................................... 35
IV.2 Diagram Kelas ......................................................................................... 36 IV.3 Rancangan Kelas Rinci ............................................................................ 37 IV.3.1
Kelas Mobile Device ................................................................... 37
IV.3.2
Kelas C_Client ............................................................................. 37
IV.3.3
Kelas C_Server ............................................................................ 38
IV.3.4
Kelas Destination ......................................................................... 38
IV.3.5
Kelas Flight.................................................................................. 38
IV.3.6
Kelas Passenger ........................................................................... 39
IV.3.7
Kelas Booking_db ....................................................................... 39
IV.3.8
Kelas Booking ............................................................................. 39
vii
IV.3.9
Kelas Generate ............................................................................. 40
IV.3.10
Kelas Search_Data ....................................................................... 40
IV.3.11
Kelas Tracking ............................................................................. 40
IV.3.12
Kelas Update................................................................................ 41
IV.3.13
Kelas GUI_Pax ............................................................................ 41
IV.4.4
Pilihan Search Data ..................................................................... 47
IV.4.5
Pilihan Update Flight ................................................................... 48
Bab V Implementasi dan Pengujian .................................................................... 50 V.1
Implementasi Kelas ................................................................................. 50
V.1.1 V.2
Implementasi Antar Muka ........................................................... 51
Pengujian ................................................................................................. 51
V.2.1
Identifikasi Pengujian .................................................................. 51
V.5.1
Tim Penguji
V.5.2
Hasil Rincian Pengujian .............................................................. 56
V.6.1
Tim Penguji
V.6.2
Hasil Rincian Pengujian .............................................................. 58
V.7
Mir’Atul Khusna Mufida S.ST ..................... 56 Mir’atul Khusna Mufida S.ST ...................... 58
Metode Pengujian .................................................................................... 59
V.7.1
Menggunakan Media
Mir’atul Khusna Mufida S.ST .......... 59
Bab VI Keimpulan dan Saran............................................................................ VI-1 VI.1 Kesimpulan ........................................................................................... VI-1 VI.2 Saran ..................................................................................................... VI-1
viii
DAFTAR GAMBAR Gambar 1 Tampilan website garuda melalui internet ............................................. 2 Gambar 2 Tampilan website pada emulator handphone mendukung MIDP .......... 3 Gambar 3 Overview teknologi java ........................................................................ 8 Gambar 4 Siklus hidup (Life Cycle) MIDlet ......................................................... 10 Gambar 5 Skema akses database di server menggunakan J2ME .......................... 11 Gambar 6 Antarmuka Xampp ............................................................................... 12 Gambar 7
Actor.............................................................................................. 16
Gambar 8
Use Case ....................................................................................... 17
Gambar 9
Use Case Diagram ......................................................................... 17
Gambar 10 Skema umum sistem........................................................................... 18 Gambar 11 Diagram Use Case .............................................................................. 21 Gambar 12 Kelas analisis ...................................................................................... 26 Gambar 13 Sequence Entry Data Pax ................................................................... 30 Gambar 14 Sequence Entry Data Flight ................................................................ 31 Gambar 15 Sequence Booking .............................................................................. 31 Gambar 16 Sequence Search Data ........................................................................ 32 Gambar 17 Sequence Authentication .................................................................... 32 Gambar 18 Sequence Show Record ...................................................................... 33 Gambar 20 Sequence Generate Time Limit .......................................................... 34 Gambar 21 Sequence Update Schedule ................................................................ 34 Gambar 22 Sequence Connection ......................................................................... 35 Gambar 23 Diagram Kelas .................................................................................... 36 Gambar 24 Menu Utama ....................................................................................... 42 Gambar 25 Pilihan Booking .................................................................................. 43 Gambar 26 Pilihan Passanger................................................................................ 46 Gambar 27 Search Data By Code booking ........................................................... 47 Gambar 28 Pilihan Update Flight ......................................................................... 48 Gambar 29 Skenario pengujian GarudaMobile ..................................................... 54 Gambar 30 Skenario Pengujian Simulasi Server .................................................. 55
ix
DAFTAR TABEL
Tabel 1 Tingkatan pengguna aplikasi.................................................................... 19 Tabel 2 Kelas Boundary Client ............................................................................. 27 Tabel 3 Kelas Boundary Server............................................................................. 27 Tabel 4 Kelas Control Client................................................................................. 28 Tabel 5 Kelas Control server................................................................................. 29 Tabel 6 Kelas Entity .............................................................................................. 29 Tabel 7 Implementasi Kelas .................................................................................. 50 Tabel 8 Implementasi Antar Muka........................................................................ 51 Tabel 9 Implementasi Kelas GarudaMobile.......................................................... 56 Tabel 10 Implementasi Kelas Simulasi Server ..................................................... 58
x
Bab I Pendahuluan Pada bab pendahuluan ini akan dijelaskan mengenai latar belakang, rumusan masalah, batasan masalah, tujuan serta sistematika penulisan.
I.1 Latar Belakang Garuda Indonesia merupakan satu-satunya maskapai Nasional yang terbang semakin tinggi di langit Indonesia meninggalkan maskapai swasta sebagai sainganya. Keramahtamahan (Hospitality) merupakan budaya Indonesia yang telah langsung dipraktekan oleh Crew Garuda Indonesia kepada penumpang (passenger), seiring waktu kepercayaan yang dibangun terus berkembang menjadi kesetiaannya melakukan perjalanan dengan maskapai Nasional ini. Pada Januari 2011 Garuda Indonesia Launching IPO (Initial Public Offering) dan mendapat penghargaan Internasional sebagai maskapai bintang 4 dari Skytrax (organisasi internasional masakapai penerbangan). Kepercayaan terbangun dari rentetan proses yang tidak lepas dari kerja keras, keuletan dan penyajian informasi yang efektif dan efisien. IPTEK (Ilmu Pengetahuan Dan Teknologi) membungkus sebuah informasi menjadi lebih mudah untuk disampaikan kepada publik maupun calon penumpang. Perkembangan teknologi secara umum terjadi begitu cepat, khususnya teknologi informasi. Komputer, laptop dan handphone adalah contoh media komunikasi yang menerapkan perkembangan teknologi secara simultan. Handphone adalah salah satu jenis sarana komunikasi yang fitur dan teknologinya terus berkembang. Dengan kemampuan teknologi dan fitur yang dimilikinya menyebabkan semakin banyak kebutuhan manusia bergantung pada alat komunikasi ini. Didukung harga yang relatif murah dengan fungsionalitas yang terus berkembang mendekati maksimal seperti SMS (Short Message Service), MMS (Multimedia Message Service), Internet, hiburan dan komunikasi.
1
Maskapai Garuda Indonesia mendukung IPTEK dengan mempublikasi informasi jadwal penerbangan (flight) melalui berbagai media seperti iklan dan brosur serta dapat diakses melalui website dan call center. Penumpang memiliki begitu banyak pilihan alternatif dalam memperoleh informasi flight dengan mudah, cepat dan efisien. Pelayanan terbaik telah ditawarkan kepada passenger dengan adanya Website Garuda Indonesia yang dapat diakses melalui Internet .
Gambar 1 Tampilan website garuda melalui internet Sebagian masyarakat tidak selalu menggunakan komputer, laptop dan jasa internet untuk mengakses informasi penerbangan. Dan lebih memilih handphone sebagai solusi instant untuk memperoleh informasi. Walaupun melalui handphone penumpang telah bisa menanyakan informasi penerbangan melalui fasilitas call center. Website Garuda Indonesia juga dapat diakses melalui Handphone. Tentu saja perbedaan tarif melakukan akses pada call center dibandingkan akses langsung pada Website melalui handphone menjadi pertimbangan passenger sebagai tolak ukur dari penerima informasi yang efektif dan efisien.
2
Gambar 2 Tampilan website pada emulator handphone mendukung MIDP
Penyajian informasi flight yang diakses pada handphone yang mendukung MIDP (Mobile Information Device Profile) menemukan kendala pada tampilan halaman yang tidak fit onscreen (penuh pada layar) serta implementasi booking yang sesungguhnya pada website belum terpenuhi (memiliki masa tenggang sebelum melakukan transaksi pembayaran). Pesatnya pengembangan fitur handphone menggunakan Java 2 Micro Edition (J2ME) yang memiliki keunggulan multiplatform, berorientasi objek dan terintegrasi dengan baik. Sehingga migrasi pada teknologi smartphone yang sedang berkembang seperti android, RIM (Research In Motion), Symbians dan Windows Mobile lebih mudah. Informasi yang disajikan dengan mobile application, menjadi suatu alternatif bagi passenger sebagai media informasi penerbangan melalui Garuda Mobile (m_Garuda).
3
I.2 Rumusan Masalah Setelah melakukan analisis maka dirinci kembali masalah seperti: 1. Pengaksesan website melalui handphone memiliki kendala tampilan halaman tidak penuh pada layar. 2. Ukuran bandwidth website yang besar diakses melalui handphone. 3. Implementasi proses booking yang sebenarnya belum terpenuhi
I.3 Batasan Masalah Untuk memperkecil ruang lingkup TA yang kerjakan, maka masalah yang akan ditangani akan di batasi sebagai berikut: 1. Tidak melayani pencetakan tiket.
I.4 Tujuan Setelah melakukan analisis maka tujuan yang di harapkan sebagai berikut: 1. Menyediakan media untuk mengakses informasi penerbangan dengan baik. 2. Pengaksesan informasi penerbangan melalui handphone dengan transfer data lebih cepat. 3. Aksesbilitas booking dengan time limit tertentu.
4
I.5 Sistematika Penulisan Sistematika penyusunan Tugas Akhir ini disusun berdasarkan: Bab I Pendahuluan Berisi tentang penjelasan latar belakang, rumusan masalah, batasan masalah tujuan serta sistematika penulisan untuk memberikan gambaran isi laporan Tugas Akhir ini. Bab II Landasan Teori Berisi tentang teori-teori yang berkaitan dengan Tugas Akhir dan juga penjelasan-penjelasan yang digunakan untuk membantu dalam pembuatan Tugas Akhir Bab III Analisis Pada bab analisis ini akan dijelaskan tentang deskripsi umum sistem, fitur utama perangkat lunak, use case serta analisis kelas. Bab IV Perancangan Sistem
Berisi tentang deskripsi perancangan sistem perangkat lunak dan perangkat keras, untuk perancangan sistem perangkat lunak terdiri dari kelas-kelas yang terkandung dalam aplikasi yang dijelaskan dalam diagram kelas dan rinci design. Pada perancangan sistem perangkat keras terdiri dari rangkaian perangkat keras, blok diagram dan flowchart.
5
Bab II
Landasan Teori
Pada bab ini berisi tentang teori-teori yang berkaitan dengan Tugas Akhir dan juga penjelasan-penjelasan.
II.1 PT. Garuda Indonesia (persero) Sejarah penerbangan komersial indonesia, tidak dapat dipisahkan dari masa-masa perjuangan kemerdekaan rakyat Indonesia dan juga usaha mempertahankan kemerdekaan tersebut. Sejarah dimulai ketika pada tahun 1948, guna menunjang mobilitas pemimpin pemerintahan, Presiden Soekarno mengimbau para pengusaha dan rakyat Aceh untuk menghimpun dana guna pembelian pesawat terbang. Terkumpullah sejumlah uang untuk membeli sebuah pesawat tipe Douglas DC-3 Dakota kemudian diberikan registrasi RI001 dengan nama ”SEULAWAH” yang berarti ”Gunung Emas”. Adapun nama ”Garuda” diberikan oleh Presiden Soekarno sendiri yang mengutip sajak Bahasa Belanda gubahan pujangga terkenal saat itu, ”Ik ben Garuda, Vishnoe‟s vogel, die zijn vleugels uitslaat hoog boven uw einladen”, yang artinya ”Aku adalah Garuda, burung milik wishnu yang membentang sayapnya menjulang tinggi di atas kepulauanmu”. Tepat pada tanggal 26 Januari 1949 – pesawat RI-001 Seulawah diterbangkan dari Calcutta, India menuju Rangon, ibukota Burma sebagai penerbangan niaga. Untuk mengabadikan dan mengenang misi komersial yang dilaksanakan oleh Seulawah tersebut, kemudian peristiwa itu diperingati sebagai hari lahirnya Garuda Indonesia, yang ketika itu bernama Indonesian Airways, maskapai penerbangan komersial pertama yang mengudara membawa bendera Republik Indonesia. Selain menerbangi kota – kota besar diseluruh dunia dengan armadanya sendiri, Garuda juga bekerjasama dengan
6
maskapai – maskapai penerbangan internasional lainnya dalam hal joint services passanger atau pelayanan pengangkutan penumpang secara bersama.
II.2 Pengenalan Pemograman Aplikasi Bergerak Pemrograman Aplikasi Bergerak (PAB) tidak banyak berbeda dengan pemrogrman konvensional pada PC. Pada pengimplementasiannya perlu diperhatikan aspek karateristik dari perangkat bergerak itu sendiri yang sering kali mempengaruhi arsitektur dan implementasi dari aplikasi tersebut. Dalam PAB berbagai aspek teknis perangkat implementasi lebih menonjol. Hal ini dikarenakan perangkat bergerak memiliki banyak keterbatasan dibandingkan komputer konvensioan atau PC. Teknologi yang bisa dipergunakan untuk implementasi PAB beragam antara lain WAP, Brew, .Net, I-mode dan J2ME. Masing-masing teknologi ini mempunyai kelebihan dan kekurangan masinmasing.
II.3 Pengenalan Java Java merupakan bahasa pemrograman yang di ciptakan oleh James Gosling pada tahun 1996 dan mengklaim dirinya mengimplementasikan konsep PBO. Sampai saat ini pengembangan java berada dibawah Sun Microsystem walaupun akhir-akhir tahun lalu java mulai di open-sourcekan. Java dapat diimplementasikan pada berbagai aspek kehidupan mulai dari komputer mainframe, PC, handphone, PDA, smart card sampai dengan perlengkapan rumah tangga sperti mesin cuci dan TiVo. Java menjanjikan sifat platform independent yang berarti program cukup ditulis satu kali dan dicompile satu kali maka akan dapat dijalankan di mesin lain tanpa memerlukan pengubahan kode. Sampai saat ini java terbagi menjadi empat kategori yaitu Java 2 Platform Standard Edition (J2SE) untuk aplikasi desktop, Java 2 Platform Enterorise Edition (J2EE) untuk aplikasi server kelas enterprise yang biasanya berskala besar, Java 2 Platform Micro Edition
7
(J2ME) untuk aplikasi pada perangkat yang memiliki tingkat komputasi tidak setingkat komputer, misalnya handphone dan PDA. Terakhir adalah Java Card yang digunakan untuk pemograman smart card berbasis java.
II.4 J2ME Java 2 Platform Micro Edition (J2ME) dibuat pertama kali oleh Sun Microsystems pada tahun 1998. Tujuan awalnya adalah untuk menyelidiki kemungkinan-kemungkinan dijalankannya java pada perangkat dengan sumber daya terbatas. J2ME meningkatkan kapabilitas perangkat mobile dari yang hanya berkemampuan melakukan komunikasi suara menjadi perangkat yang mampu mengakses internet dan memiliki fungsionalitas lebih dinamis.
Gambar 3 Overview teknologi java
8
II.5 CDC dan CLDC J2ME dibagi menjadi dua kategori berdasarkan kapabilitas dari produkproduk tempat diimplementasikannya J2ME. Pembagian kategori ini dilakukan oleh java community process (JCP).
Kategori pertama di sebut High-End consumer devices. Kategori ini memliki sumber daya yang cukup besar hampir menyamai komputer dalam hal sumber daya listrik, memori maupun bandwidht. Kategori ini diberi label Connected Device Configuration (CDC). Contoh produknya adalah Internet TV.
Kategori kedua disebut Low‐End consumer devices. Kategori ini memiliki sumber daya yang sangat kecil.Kategori ini diberi nama Connected, Limited Device Configuration (CLDC). Contoh produknya adalah telepon genggam HP dan two‐way pager.
Ada dua versi CLDC yaitu CLDC 1.0 dan 1.1. Vendor perangkat mobile yang menentukan versi mana yang ingin diimplementasikan. Pada CLDC 1.1 meliki kemampuan antara lain: Fitur floating point, Persyaratan memori min. 192 KB, Fitur untuk weak reference.
II.6 Perangkat Pengembangan J2ME Tool untuk mengembangkan aplikasi J2ME disediakan oleh Sun Microsystems. Perkakas ini diberi nama Wireless Toolkit (WTK) sebagai emulator, versi terbarunya adalah WTK 2.5 untuk Windows. Masing-masing versi
WTK
berbeda-beda,
versi
terbaru
dari
WTK
biasanya
mengimplementasikan semua JSR ini mengacu pada standar J2ME, CLDC dan MIDP serta tidak mengacu pada mobile vendor manapun. Tapi pengembangan lain untuk J2ME juga dikeluarkan oleh vendor mobile yang diharapkan nantinya aplikasi dapat berjalan dengan baik pada perangkat mobile tanpa penyusuain lagi.
9
MIDP yang beredar luas dipasaran yaitu versi 1.0, 2.0 dan versi 2.1. Upgrade pada MIDP 2.0 antara lain Advanced networking, Form Enhancement, GAME API, RGB Images, Code signing dan Permission.
II.7 MIDlet Aplikasi yang dibuat dengan menggunakan J2ME dengan standar MIDP disebut MIDlet. MIDlet mempunyai siklus hidup/ life cycle. Suatu MIDlet setelah diciptakan akan berada disalah satu status (active, paused, destroyed). Begitu object suatu MIDlet diciptakan akan memasuki status paused menunggu perintah berikutnya. MIDlet memasuki status active ketika setelah method startApp() dipanggil. MIDlet akan kembali ke status pause jika
method pauseApp()
dipanggil. Setelah semua proses didalam MIDlet selesai dilakukan dan MIDlet dimatikan maka MIDlet berada dalam status destroyed, status destroyed ini dimasuki MIDlet pada pemanggilan method destroyApp(Boolean).
Gambar 4 Siklus hidup (Life Cycle) MIDlet
10
Fasilitas penyimpanan data di ponsel sangat terbatas. Saat ini teknologi yang bisa digunakan di ponsel adalah RMS (Record Management System). Namun RMS memiliki banyak kekurangan jika dibandingkan dengan tujuan ini. 1. RMS bukanlah database relational yang mengijinkan kita melakukan query SQL. RMS, jika boleh saya gambarkan, lebih mirip dengan database masa lampau yang hanya dapat diakses per record dengan menyebutkan id-nya. 2. Masalah yang lain adalah bahwa data yang disimpan di dalam RMS hanya tersimpan di ponsel. Jika kita ingin, kemudian, mentransfer data tersebut ke server database atau ke komputer kita,
Gambar 5 Skema akses database di server menggunakan J2ME
11
II.8 Koneksi database dan HTTP Pengguna windows biasa menggunakan paket Xampp yang di dalamnya Telah tercakup Apache, MySQL dan PHP.
Gambar 6 Antarmuka Xampp
II.9 DBMS (MySQL) Database relational yang mengizinkan untuk melakukan query menjadi Alasan menggunakannya. Keunggulan lain dari MySQL yaitu: gratis, cepat, dan mudah dipelajari (terutama jika dikaitkan dengan program yang akan saya gunakan untuk mengaksesnya, PHP). Kita akan menggunakan MySQL untuk menyimpan data informasi jadwal penerbangan yang nantinya akan diakses oleh aplikasi J2ME.
12
II.10 Server Side Scripting (PHP) PHP umumnya digunakan diatas web server dari Apache.
II.11 Mobile Application Mobile Application merupakan aplikasi yang memungkinkan kita dapat melakukan mobilitas sambil beraktifitas menggunakan alat komunikasi. Jenis-jenis dari aplikasi mobile dapat digolongkan menjadi kelas seperti: Information
: Pengirimin informasi ke ME (micro Edtiion) user. Contoh: AirAsiamobile. Communications : Komunikasi antara user satu dengan user lain. Contoh: Yahoomassenger dan IM. Entertaiment : Aplikasi menghibur seperti game. Contoh: Sudoku dan SnakeFruits. Productivity Tools : Aplikasi yang meningkatkan produktifitas. Contoh: symbians, my-email Commerce & Bank : Jual beli melalui ME Contoh: m-Banking. Location Base : Mengubah data sesuai dengan lokasi user. Contoh: GPS locations. Garuda Mobile termasuk dalam mobile application information.
13
II.12 OOP (Object Oriented Programming) OOP adalah pemrograman yang tujuan utamanya membentuk objek dan mengatur interaksi objek dengan objek lainnya untuk memecahkan masalah. Prinsip-prinsip OOP adalah: 1.
Encapsulation
Encapsulation adalah mekanisme pemrograman yang membungkus kode dan data yang dimanipulasi dan menjaganya supaya terhindar dari interferensi dan penggunaan yang tidak perlu dan salah satu caranya dengan membentuk objek. Manfaat dari encapsulation adalah: A. Menyembunyikan implementasi detil sebuah class dan menyediakan public method B. Memaksa pengguna untuk menggunakan method untuk mengakses data. C. Membuat kode lebih terpelihara.
2.
Inheritance
Inheritance memungkinkan programmer meletakkan anggota yang sama dalam satu class dan class lain dapat mewarisi anggota tersebut. Class yang mengandung member yang sama dari beberapa class lain dinamakan superclass atau parent class. Class yang mewarisi dinamakan subclass atau child class. Inheritance menghasilkan class hierarchy.
14
3.
Polymorphisme
Polymorphisme artinya mempunyai banyak bentuk. Dua objek atau lebih dikatakan sebagai polymorphic, bila objek-objek itu mempunyai antar muka yang identik namun mempunyai perilaku-perilaku yang berbeda.
II.13 Use case Diagram Use case diagram digunakan untuk memodelkan bisnis proses berdasarkan perspektif pengguna sistem. Use case diagram terdiri atas diagram untuk use case dan actor. Actor merepresentasikan orang yang akan mengoperasikan atau
orang yang berinteraksi
dengan
sistem
aplikasi.
Use
case
merepresentasikan operasi-operasi yang dilakukan oleh actor. Use case digambarkan berbentuk elips dengan nama operasi dituliskan di dalamnya. Actor yang melakukan operasi dihubungkan dengan garis lurus ke Use Case.1 Untuk lebih lengkapnya, akan dijelaskan sebagai berkut.
Komponen pembentuk use case diagram: 1. Actor Actor tersebut mempresentasikan seseorang atau sesuatu (seperti perangkat, sistem lain) yang berinteraksi dengan sistem. Sebuah actor mungkin hanya memberikan informasi masukan pada sistem, hanya menerima informasi dari sistem atau keduanya menerima dan memberi informasi pada sistem. Actor hanya berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Actor digambarkan dengan stick man. Actor dapat digambarkan secara
umum atau spesifik, dimana untuk membedakannya kita dapat
menggunakan relationship.
1
http://id.wikipedia.org/wiki/UML#Use_Case_Diagram
15
Contoh actor dapat dilihat pada gambar 7.
Gambar 7
Actor
2. Use Case Use case adalah gambaran fungsionalitas dari suatu sistem, sehingga customer atau pengguna sistem memahami dan mengerti mengenai kegunaan sistem yang akan dibangun. Cara menentukan use case dalam suatu sistem: 1.
Pola perilaku perangkat lunak aplikasi.
2.
Gambaran tugas dari sebuah actor.
3.
Sistem atau “benda” yang memberikan sesuatu yang bernilai kepada actor.
4.
Apa yang dikerjakan oleh suatu perangkat lunak (*bukan bagaimana cara mengerjakannya).
Ada beberapa relasi yang terdapat pada use case diagram: 1.
Association, menghubungkan link antar-elemen.
2.
Generalization, disebut juga inheritance (pewarisan), sebuah elemen dapat merupakan spesialisasi dari elemen lainnya.
3.
Dependency, sebuah elemen bergantung dalam beberapa cara ke elemen lainnya.
4.
Aggregation, bentuk assosiation dimana sebuah elemen berisi elemen lainnya.
16
Contoh use case dapat dilihat pada gambar 8.
Gambar 8
Use Case
3. Contoh Use Case Diagram
Contoh Use Case Diagram dapat dilihat pada gambar 9.
Validasi
Liat Jadwal
Booking
Mengisi data diri
Passenger Mendapat kode booking
Gambar 9
Use Case Diagram
17
Bab III
Analisis dan Perancangan
Pada bab analisis ini akan dijelaskan tentang arsitektur jaringan dan deskripsi umum sistem, kategori pengguna aplikasi, batasan sistem dan fitur utama perangkat lunak, use case serta analisis kelas.
CLIENT Input keyword
HTTP Request Connection
Aksi
View all record
SERVER
Input keyword
SmartPhone Provider
Network celluler
Entry data
Internet
Databas e
Change schedule
Simulasi Server
Technology: Code booking
CLDC 1.1 MIDP 2.1 J2ME (Interface, HTTP Request & Thread)
HTTP Response
Passenger
Gambar 10 Skema umum sistem Keterangan: Pada skema sistem dibagi menjadi sisi client, connection dan simulasi server. Pada sisi client pengguna dikategorikan menjadi passenger dan aksi. Passenger memasukan data diri dan memilih jadwal penerbangan. Pada hasil keluarannya passenger akan menerima kode booking. Aksi memasukan keyword agar dapat masuk pada sistem hak akses melihat semua record booking dan menghapus record passenger. Pada simulasi server aktifitas
hanya diperuntukan mempermudah
merubah dan menambah jadwal penerbangan yang berupa interface
update schedule pada webserver.
18
Divisi IT
III.1 Kategori pengguna aplikasi Tabel 1 Tingkatan pengguna aplikasi Jabatan
Pengguna
Aktifitas
Aplikasi
Entry data: Memasukan data diri seperti nama, contact, jenis kelamin dan memilih jadwal penerbangan seperti jenis
Passenger
harga,
no
penerbangan,
kota
tujuan
dan
User
keberangkatan. Code booking: Menampilkan informasi berupa jadwal penerbangan, rincian harga, kode booking dan time limit tertentu. Input keyword: Memasukan id dan password serta mendapat hak akses menghapus record booking
Aksi
passenger. View all record: Menampilkan semua record booking
Admin
passenger dengan time limit dan menghapus record booking passenger. Input keyword : Memasukan id dan password serta mendapat
Divisi IT
hak
akses
merubah
informasi
jadwal
penerbangan. Change schedule: Merubah dan menambah jadwal
Super Admin
penerbangan pada flight.
19
III.2 Kebutuhan fungsional F-001
Sistem akan menampilkan informasi jadwal penerbangan.
F-002
Sistem menerima masukan untuk tiap-tiap passenger berupa nama, jenis kelamin dan nomor yang dapat di hubungi.
F-003
Sistem menerima masukan berupa jadwal penerbangan yang akan dibaca sebagai data perjalanan passenger.
F-004
Sistem mampu menampilkan data jadwal penerbangan berdasarkan kode booking.
F-005
Sistem mampu
memberikan batas waktu untuk melakukan
pembayaran pada setiap kode booking. F-006
Sistem melakukan authentication hak akses pengguna aplikasi.
F-007
Sistem akan menampilkan rekap record booking passenger secara keseluruhan.
F-008
Sistem menerima masukan untuk mengubah dan menambah informasi jadwal penerbangan.
20
III.3 Diagram Use Case Diagram use case adalah diagram yang menggambarkan interaksi antara pengguna dengan sistem, maka dapat disimpulkan diagram use case dari Garuda Mobile adalah sebagai berikut: Boundary box <
>
Booking
Entry Data PAX
Search Code
Passenger
Entry Data Flight
<> <>
Show Record
<> <>
Authentication
Delete Record Aksi
Generate Time Limit
<>
Update Schedule <>
Divisi IT
<>
Connection
Gambar 11 Diagram Use Case
III.4 Skenario Use Case Passenger menerima informasi jadwal penerbangan melalui use case show schedule. Passenger memasukkan data pax (penumpang) dan data flight untuk melakukan booking dan akan menerima code booking unik sebagai keyword untuk melakukan pencarian data bagi passenger, serta menyimpan informasi penerbangan dengan time limit tertentu. Untuk mengakses rekap data passenger, aksi akan melewati filter keamanan pada use case authentication agar dapat show record. dan Divisi IT mengakses merubah dan menambah informasi penerbangan.
21
III.4.1 Use Case Booking Kondisi Awal : Belum menghasilkan kode booking. Kondisi Akhir : Status berhasil menampilkan kode booking. Skenario
: Proses memilih kota tujuan, keberangkatan, jumlah passenger dan tanggal perjalanan serta memasukan data pax dan data flight kemudian data tersebut akan di simpan pada database booking_db dan akan dilakukan generate code booking serta di tampilkan kembali pada layar.
III.4.2 Use Case Entry Data PAX Kondisi Awal : Belum memasukan data penumpang. Kondisi Akhir : Status berhasil menampilkan data penumpang. Skenario
: Proses sistem melakukan check jumlah penumpang dan akan generate text field sehingga penumpang mengisi data penumpang terdiri contact number, gender dan nama penumpang sesuai tanda pengenal dan data diri penumpang akan di simpan pada database passanger.
III.4.3 Use CaseEntry Data Flight Kondisi Awal : Belum memasukan data penerbangan. Kondisi Akhir : Status berhasil menampilkan data penerbangan.
22
Skenario
: Proses sistem mencari data flight pada database flight kemudian penumpang akan memilih jenis flight kemudian informasi akan di simpan pada database booking_db.
III.4.4 Use Case Search Data Kondisi Awal : Belum memasukan data pencarian. Kondisi Akhir : Status menampilkan informasi record penumpang. Skenario
: Proses memasukan kode booking untuk melakukan pencarian berupa informasi passenger dan contact person
sistem
akan
mencari
pada
database
booking_db kemudian informasi penumpang akan ditampilkan jika data yang dimasukan sesuai.
III.4.5 Use Case Show Record Kondisi Awal : Belum menampilkan semua record booking. Kondisi Akhir : Status berhasil menampilkan list record passenger. Skenario
: Proses melakukan hak akses pengguna sebagai admin dan memasukan no penerbangan dan tanggal dimana data penumpang tersimpan kemudian data penumpang berupa timi limit dan kode booking akan ditampilkan secara keseluruhan.
23
III.4.6 Use Case Cancel Record Kondisi Awal : Belum membatalkan kode booking. Kondisi Akhir : Status berhasil menghapus kode booking. Skenario
: Proses melakukan hak akses pengguna sebagai admin dan memasukan no penerbangan dan tanggal dimana data penumpang tersimpan serta admin akan melakukan penghapusan secara keseluruh.
III.4.7 Use Case Generate Time Limit Kondisi Awal : Belum menampilkan time. Kondisi Akhir : Status berhasil menampilkan time limit. Skenario
: Proses sistem membaca tanggal keberangkatan penumpang dan menampilkan time limit satu hari sebelum keberangkatan.
III.4.8 Use Case Authentication Kondisi Awal : Hak akses sebagai penguna umum. Kondisi Akhir : Status memiliki hak akses sebagai admin. Skenario
: Proses
memasukan
id
dan
password,
sistem
melakukan verified jika keyword yang dimasukan benar akan di berikan hak akses sebagai admin dan jika keyword yang dimasukan salah maka akan diminta mengulangi memasukan keyword yang tepat.
24
III.4.9 Use Case Update Schedule Kondisi Awal : Belum mengubah jadwal penerbangan. Kondisi Akhir : Menampilkan jadwal penerbangan terbaru. Skenario
: Proses mengubah dan menambah informasi jadwal penerbangan pada data base melalui webserver.
III.4.10
Use Case Connection Kondisi Awal : Belum melakukan koneksi client pada server. Kondisi Akhir : Status koneksi berhasil tersambung. Skenario
: Proses mengirimkan permintaan client dan server merespon pengembalian permintaan.
25
III.5 Analisis Kelas
Booking C_Server
GUI_Book
Entry_Pax GUI_Pax
Destination
Passenger C_Client
Entry_Flight GUI_Flight Flight
GUI_Conform
Canceling Verified Passenger
Aksi GUI_Srch_book Find_Code
GUI_Record
Confirm
Tracking
Generate_Limit
GUI_Login Divisi_IT
Booking_Db
User
Generate_code
GUI_Update
Generate_Fare Update
Gambar 12 Kelas analisis
26
III.6 Keterangan kelas Tabel 2 Kelas Boundary Client Display GUI_book
Keterangan Layar tempat passenger memilih kota tujuan,
Keterkaitan Use Case Booking
keberangkatan, tanggal dan jumlah passenger.
GUI_pax
Layar tempat passenger memasukan name, gender dan
Entry Data PAX
contact person.
GUI_flight
Layar tempat passenger memilih no flight dan travel
Entry Data Flight
class.
GUI_conform
Layar tempat menampilkan kode booking, time limit,
Booking, Entry data
data booking, pax dan flight.
Pax, Entry data flight
GUI_srch_
Layar tempat passenger mencari kode booking
Search Code
book
menggunakan contact person.
GUI_record
Layar tempat membatalkan dan menampilkan kode
Show Record dan
booking berdasarkan no flight.
Cancel record
Layar tempat verified hak akses sebagai aksi.
Authentication
GUI_login
Tabel 3 Kelas Boundary Server Display GUI_update
Keterangan
Keterkaitan Use Case
Layar tempat divisi_IT mengubah dan menambah Update Schedule informasi jadwal penerbangan pada webserver
27
Tabel 4 Kelas Control Client Kontrol
Keterangan
Keterkaitan Use Case
Booking
Membaca schedule berupa data kota, tanggal dan Booking jumlah passenger.
Entry_pax
Menyimpan data passenger berupa name, gender dan Entry Data PAX contact person.
Entry_flight
Menyimpan data flight berupa no flight dan travel
Entry Data Flight
class.
Generate_limit
Melakukan aktifasi Time limit pada kode booking.
Generate_fare
Membaca basic fare travel class dan melakukan Booking dan Entry kalkukasi.
Generate_code
Generate time limit
Data Flight
Menyimpan hasil olahan data booking, pax, flight, Booking, Entry data limit dan fare pada kode unik.
Pax,
Entry
data
flight Generate time limit
Tracking
Menampilkan record booking yang terjadi.
Show Record
Find_Code
Pencarian data berdasarkan kode booking atau contact
Search Code
person.
Canceling
Menbatalkan status kode booking aktif.
Cancel Record
Verified
Melakukan validasi id dan password admin.
Authentication
28
C_Server
Melakukan respon balik koneksi pada client
Connection
C_Client
Melakukan permintaan koneksi pada server
Connection
Tabel 5 Kelas Control server Kontrol
Keterangan
Keterkaitan Use case
Update
Merubah
dan
menambah
informasi
jadwal Update Schedule
penerbangan berupa tujuan, keberangakatan, travel class, price dan no flight.
Tabel 6 Kelas Entity Entity
Keterangan
Keterkaitan Use case
Destination
Tempat untuk menyimpan data kota.
Booking
Passenger
Tempat untuk menyimpan data name, gender dan Entry data Pax contact person.
Booking
Tempat untuk menyimpan data kode booking, record Booking, Entry Data dan time limit.
Pax,
Entry
Data
Flight dan time limit
Flight
Tempat untuk menyimpan data travel class, no Entry Data Flight penerbangan dan basic fare
User
Tempat untuk menyimpan data Id dan Password
Authentication
29
Bab IV
Hasil dan Pembahasan
Bagian ini memuat uraian langkah implementasi dan pengujian/validasi. Judul bab disesuaikan dengan judul. Jika diperlukan, bagian ini dapat terdiri lebih dari satu bab. Berikan pengantar di sini.
IV.1 Sequence Diagram Sequence Diagram digunakan untuk menjelaskan lebih rinci jalannya aplikasi setiap usecase. diagram ini merupakan gambaran dari skenario use case pada bab sebelumnya yang merupakan respon dari sebuah even untuk menghasilkan output tertentu. IV.1.1 Sequence Diagram Use Case Entry Data Pax
GUI_Pax
Entry_Pax
Mouse hover
Passenger
Connect() SetQuery (count) View (count)
Booking_Db
Select (count)
Get (count)
Input (count) Gen (count)
Passenger
Input (name, gender, CP)
View (count) Set (name,gender,CP) View (name,gender,CP)
Get (name,gender,CP)
Connect() SetQuery (name, gender, pax)
Update (pax)
Insert (name,gender,pax)
Gambar 13 Sequence Entry Data Pax
30
IV.1.2 Sequence Diagram Use Case Entry Data Flight
GUI_Flight
Entry_Flight
Mouse Hover
Flight
Booking_Db
Connect() SetQuery (no flight) View (no_ flight, class)
Select (no flight)
Get (no_flight, class)
Input (NF,TC, pax) Set (NF,TC, pax)
Passenger Connect() SetQuery (NF,TC, pax) View (NF,TC, pax)
Update (NF,TC,pax)
Get (NF,TC, pax)
Gambar 14 Sequence Entry Data Flight IV.1.3 Sequence Diagram Use Case Booking
GUI_Booking
Booking Connect() SetQuery (city)
Mouse hover
View (city) Input Passenger (city, pax, date)
Destination
Booking_Db
Select (city)
Get (city)
Set (city, pax, date) Connect() Se Query (city, pax, date)
Insert (city,pax,date)
Gambar 15 Sequence Booking
31
IV.1.4 Sequence Diagram Use Case Search Data
GUI_Srch_book
Input (code booking)
Find_Code
Booking_Db
Set (code booking)
Passenger
Connect () Set Query (code booking) Select (code booking) Get (info booking) View (info booking)
Gambar 16 Sequence Search Data IV.1.5 Sequence Diagram Use Case Authentication
GUI_Login
Verified
User
Input (id, password) Set (id, password) Connect ()
Aksi
SetQuery (id, password)
Select (user)
Get (access)
Gambar 17 Sequence Authentication
32
IV.1.6 Sequence Diagram Use Case Show Record
GUI_Record
Tracking
Booking
Input (no flght) Set (no_flight) Connect()
Aksi
SetQuery (no_flight) Select (no flight) Get (record) View (record)
Gambar 18 Sequence Show Record IV.1.7 Sequence Diagram Use Case Cancel Record
GUI_Record
Tracking
Canceling
Booking
Input (no_flght) Set (no_flight) Connect ()
Aksi
SetQuery (no_flight)
Select (no flight)
Get (no_flight)
Input (status book)
View (no_flight) Set (status booking)
Set Query (status)
Get (status)
Update (status)
Gambar 19 Sequence Cancel Record
33
IV.1.8 Sequence Diagram Use Case Generate Time Limit
GUI_Confirm
Confirm
Generate_code
Generate_Limit
Generate_Fare
Booking_Db
Get (data booking) Gen (book) Set (CB)
Aksi
Gen (fare) Set (CB, F) Gen (limit)
Update (CB,F,L)
Set (CB,F,L) View (Confirm)
Set (confirm)
Connect() SetQuery (confirm)
Update (confirm)
Get (data booking)
View (DB)
Gambar 20 Sequence Generate Time Limit IV.1.9 Sequence Diagram Use Case Update Schedule
GUI_Update
Update
Destination
Flight
Input (city,no_flight) Connect()
Set (city, no_flight)
Set Query (no_flight)
Insert (flight)
Connect ()
Divisi_IT
Set Query (city) View (city)
Insert (city)
Get (city, no_flight)
Input (city,no_flight) Set (city, no_flight)
Connect() Connect Set Query (city)
View (city)
Set Query (no_flight)
Update (flight)
update (city)
Get (city, no_flight)
Gambar 21 Sequence Update Schedule
34
IV.1.10
Sequence Diagram Use Case Connection
GUI_Booking
Input (city)
Connect ()
C_Client
Booking
C_Server
Booking_Db
Destination
SetQuery (city)
Set request (city)
Select (city)
Set (city) Get (city) Passenger
view (city)
Retrive (city)
Set (city, pax, date)
Set request (city, pax, date)
Input (city, pax, date) SetQuery (city, pax, date)
Select (city, pax, date)
Gambar 22 Sequence Connection
35
IV.2 Diagram Kelas Midlet
C_Client
C_Server
Update
Destination
Flight
Passenger
Booking
Generate
Search_Data
Booking_db
Tracking
Gambar 23 Diagram Kelas
36
IV.3 Rancangan Kelas Rinci IV.3.1 Kelas Mobile Device Midlet -city = String -gender = String -name = String -contact_number = Interger -code_booking = Interger + initialize() + startMIDlet() + resumeMIDlet() + switchDisplayable() +commandAction for Displayable() + exitMIDlet() +startApp() +pauseApp() +destroyApp() +setHttpResultInsert() +koneksi() +setCurrentDisplay() +save() +generate() +search() +authentication() +kode_booking() +getinputname() +getinputcontactnumber() +update()
IV.3.2 Kelas C_Client C_Client +run() +stop() +set +setHttpResultInsert()
37
IV.3.3 Kelas C_Server C_Server +city : String +name : String +no_flight : String +gender : String +contact_person : Interger +Limit : Date +code_booking : Interger +price : Interger +sethttpresultinsert() +httpconnection()
IV.3.4 Kelas Destination Destination +city : String +pax : String +date : Date +get() +connect() +setquery()
IV.3.5 Kelas Flight Flight +no_flight : String +travel_class : String +city : String +select() +get() +update() +insert()
38
IV.3.6 Kelas Passenger Passenger +count : Interger +name : String +pax : Interger +gender : String +select() +retriveconnection() +insert()
IV.3.7 Kelas Booking_db Booking_db +pax : String +travel_class : String +no_flight : string +city : String +date : Date +limit : Date +code_booking : Interger +price : Interger +update() +select() +insert() +get()
IV.3.8 Kelas Booking Booking +no_flight : String +city : String +name : String +gender : String +date : Date
39
+select() +update() +setquery() +insert()
IV.3.9 Kelas Generate Generate +code_booking : Interger +limit : Date +price : Interger +set() +generateprice() +generateCodeBooking() +generateLimit()
IV.3.10
Kelas Search_Data Search_Data +code_booking : Interger +view() +connect() +set()
IV.3.11
Kelas Tracking Tracking +no_flight : String +connect() +setquery() +view()
40
IV.3.12
Kelas Update Update +city : String +view() +setquery() +connect() +get()
IV.3.13
Kelas GUI_Pax GUI_Pax +name : String +gender : String +view() +setquery() +connect() +get()
41
IV.4 Perancangan Antar Muka IV.4.1 Menu Utama IV.4.1.1
Rancangan Tampilan Menu Utama
Gambar 24 Menu Utama IV.4.1.2 Algoritma/query Nama Kelas
: midlet.class
Nama Operasi : ok dan back Algoritma
:
If (reservation) Then switchdisplay (getReservation) Else if (search data) Then switchdisplay (getSearch_data) Else if (show record) Then switchdisplay (getShow_record)
42
IV.4.2 Pilihan Booking IV.4.2.1
Rancangan Tampilan Pilihan Booking
Gambar 25 Pilihan Booking IV.4.2.2 Algoritma/query Nama Kelas
: destination.class
Nama Operasi : from to, flight, price dan confirm Algoritma
:
If (serch_from_to) Then switchdisplay (getSerch_from_to) // input kota asal Koneksi (“readkota”, new string [city]) // kirimkan inputan keserver
43
// kembalikan hasil ke midlet Sethttpresult (“readkota”, hasil) // pilih search flight Else if (search_flight) Then switchdisplay (getsearch_flight) // masukkan jadwal/tanggal penerbangan koneksi("cariflight",new String[hari][tanggal][tahun]) //kirim jadwal ke server // kembalikan hasil ke midlet Sethttpresult(“cariflight”,hasil1) Else if (search_price) Then switchdisplay (getsearch_price) // pilihan kelas If (ekonomi) Then switchdisplay (getekonomi) Else if (bisnis) Then switchdisplay (getbisnis)
44
// masukkan harga Koneksi(“readprice”, new string [bisnis][ekonomi]) //kirim harga ke server // tampilkan ke midlet Sethttpresult(“readprice”, hasil2) //Pilih confirm Else if (confirm) Then switchdisplay (getconfirm) // simpan data ke server koneksi (“cekbooking” new string[] {ok})//
45
IV.4.3 Pilihan Passanger IV.4.3.1
Rancangan Tampilan Pilihan Passanger
Gambar 26 Pilihan Passanger IV.4.3.2 Algoritma/query Nama Kelas
: passenger.class
Nama Operasi : back dan menu Algoritma
:
// tampil kode booking //memasukan nomor contak person berserta memasukan nama dan jenis kelamin penumpang Koneksi(“Simpan”,”no_kontak,nama/jk); //kembalikan hasil dari server If(save==true) Then switchdisplay(getreservation);
46
IV.4.4 Pilihan Search Data IV.4.4.1
Rancangan Tampilan Pilihan Search Data
Gambar 27 Search Data By Code booking
IV.4.4.2 Algoritma/query Nama Kelas
: search_data.class
Nama Operasi : back dan menu Algoritma
:
//masukan nomor kode booking //cari data keserver Koneksi(“cari”,”no_kode_booking”); //tampilkan hasil kemidlet
47
Httpresult(“cari”,hasil); //pisahkan hasil menjadi destinatio,kelas,harga,no.flight,tanggal.contact person dan nama penumpangnya If(cari==true) Then switchdisplay(getformcaribooing) Else Then alert(data tidak ada)
IV.4.5 Pilihan Update Flight IV.4.5.1
Rancangan Tampilan Pilihan Update Flight
FLIGHT BATAM
Batam
Cari
ID
Departured
Arrived
Flight
Time
Price Economi
Price Bussines
Keterangan
1 2 3 4
Batam
Jakarta
GA151
08.00
600000
1300000
Delete
Batam
Jakarta
GA153
11.20
600000
1300000
Delete
Batam
Jakarta
GA155
15.30
600000
1300000
Delete
Batam
Jakarta
GA153
19.10
600000
1300000
Delete
ID
Departured
Arrived
Flight
Time
Price Economi
Price Bussines
ADD
Gambar 28 Pilihan Update Flight IV.4.5.2 Algoritma/query Nama Kelas
: flight.class
Nama Operasi : cari dan add Algoritma
:
48
//masukan nama kota kemudian tekan cari $sql=mysql_qeury(select * from t_kt_berangkat, t_kt_tujuan, t_jadwal_flight where t_kt_berangkat.kotaasal=‟inputan‟ and t_jadwal_flight.id_kt_asal=t_kt_berangkat.id_kta and t_jadwal_flight.it_kt_tujuan=t_kt_tujuan.id.kta ) While(row=mysql_fetch_array($sql)){ //tampilkan ketabel server $asal=$row[„kotaasal‟] $tjuan=$row[„kotatujuan‟] $flight-$row[„no_flight‟] $time=$row[„jam‟] $hrgEkn=$row[„ekonomi‟] $hrgBis=$row[„bisnis‟] } //tekan delete maka akan menghapus sesuai no penerbangan $sqldelete=mysql_qeury(delete from t_jadwal_flight where no_flight=”nomor flightnya‟) //jalankan $sqldelete
49
Bab V
Implementasi dan Pengujian
Setelah dilakukan tahap perancangan maka tahap selanjutnya adalah implementasi dan pengujian pada perangkat lunak. Implementasi akan menghasilkan aplikasi yang dapat dijalankan di lingkungan operasional . Untuk mengetahui apakah aplikasi tersebut dapat melakukan fungsi sesuai deskripsi perancangan maka perlu dilakukan pengujian.
V.1 Implementasi Kelas Tabel 7 Implementasi Kelas No
Nama Kelas
Nama File Fisik
Nama File Executable
1
Midlet
Midlet.java
Midlet.jar
2
C_Client
Connection.java
Connection.class
3
C_Server
Function.php
-
4
Destination
Destination.java
Destination.class
5
Flight
Flight.java
Flight.class
6
Passanger
Passanger.java
Passanger.class
7
Booking_Db
Booking_Db.java
Booking_Db.class
8
Booking
Booking.java
Booking.class
9
Generate
Generate.java
Genarate.class
10
Search_Data
Search_Data.java
Search_Data.class
11
Tracking
Tracking.java
Tracking.class
12
Update
Update.php
-
Keterangan : pada tabel di atas merupakan tabel implementasi kelas, memiliki 12 kelas yaitu kelas Midlet, Connection, function, Destination, Flight, Passanger, Booking_Db, Booking, Generate, Search_Data, Tracking dan Kelas Update. Pada implementasi
50
ini kelas-kelas yang digunakan sesuai dengan kelas perancangan yaitu memiliki 1 kelas pada simulasi server, 1 kelas pada connection dan 10 kelas pada sisi client. V.1.1 Implementasi Antar Muka Tabel 8 Implementasi Antar Muka No Antar Muka
Nama File Fisik
Nama File Executable
1
Layar Midlet
Midlet.java
Midlet.jar
2
Layar Server
Destination.php
-
V.2 Pengujian V.2.1 Identifikasi Pengujian V.2.1.1 Pengujian dengan menggunakan satu laptop. Untuk pengujian menggunakan satu laptop, hal-hal yang dibutuhkan laptop adalah sebagai berikut : - Emulator Netbeans sebagai plaftform yang dapat menjalankan aplikasi m-Simpol. - DBMS MySQL sebagai database server untuk penyimpanan data. - Apache sebagai web server - URL =” http://localhost/garuda/function.php” V.2.1.2 Pengujian dengan menggunakan dua laptop (peer-to-peer). Pada pengujian ini, laptop dibagi menjadi dua bagian penggunaan yaitu laptop server dan laptop client.
Adapun hal-hal yang dibutuhkan pada laptop server adalah: - DBMS MySQL - Wireless adhoc - Setting IP untuk di laptop server memiliki IP 192.168.60.1
Adapun hal-hal yang dibutuhkan pada laptop client adalah : - Emulator Netbeans
51
- Wireless adhoc - Setting IP untuk di laptop client kita setting IP nya menjadi 192.168.60.2 - URL = ” http://192.168.60.1/function.php” V.2.1.3 Pengujian dengan menggunakan handphone (GPRS). Dalam pengujian ini, dibutuhkan laptop server yang menjadi pusat seluruh layanan sistem akademik.
Adapun hal-hal yang dibutuhkan adalah : - Fitur CLDC(Connected Limited Device Configuratio) sebagai konfigurasi untuk menjalankan program java. - Fitur MIDP(Mobile Information Device Profile)
sebagai
penyedia library java berupa jaringan, interface, database dan timer. - GPRS atau wireless sebagai media untuk menghubungkan antara handphone dan database server. - Proses hosting dilakukan pada file database, function, config dan koneksi_mysql - Nama domain = “g.summit-mineral.net”
Pengujian pada handphone blackberry 9300 Tahap-tahap menjalankan Garuda Mobile pada blackberry 9300 adalah : - Setting GPRS pada handphone. - Pindahkan
file
GarudaMobile.JAR
dari
netbeans
ke
handphone. - Garuda Mobile tidak dapat dijalankan, muncul pesan “ErrorTunnelfailed”.
Pengujian pada handphone Samsung S8003
52
Tahap-tahap menjalankan Garuda Mobile pada Samsung S8003 adalah : - Setting GPRS pada handphone. - Pindahkan
file
GarudaMobile.JAR
dari
netbeans
ke
handphone. - Garuda Mobile dapat dijalankan.
Pengujian pada handphone nokia 6300 Tahap-tahap menjalankan Garuda Mobile pada nokia 6300 adalah : - Setting GPRS pada handphone. - Pindahkan
file
GarudaMobile.JAR
dari
netbeans
ke
handphone. - Garuda Mobile tidak dapat dijalankan, muncul pesan “InvalidFile”.
53
V.3 Skenario Pengujian Aplikasi GarudaMobile
2. Pilih kota keberangkan
3. Pilih kota tujuan
4. Set date
8. Entry pax 1. Reservation 5. Entry flight
10. Search by contact person
GarudaMobile
6. Set travel class
7. Confirm
11. Entry contact person 14. View information
9. Search Data
15. Show record flight
12. Search by code booking
13. Entry Code Booking
16. login sebagai aksi
17. Entry Flight 19. View data record
18. Set date
Gambar 29 Skenario pengujian GarudaMobile
54
V.4 Skenario Pengujian Simulasi Server
2. Add destination
3. Entry city
1. Destination
4. Search city
5. Update city
Simulasi Server 7. Search by flight
6. Show recod
6. Delete city
8. Delete record 9. Search by date
Gambar 30 Skenario Pengujian Simulasi Server
55
V.5 Dokumen Rinci Testing aplikasi GarudaMobile
Mir’Atul Khusna Mufida S.ST
V.5.1 Tim Penguji V.5.2 Hasil Rincian Pengujian Tabel 9 Implementasi Kelas GarudaMobile No
User
Use Case
Fungsi yang di Uji
Input
Hasil yang di Harapkan
Ouput
1
Passanger
Booking
Identifikasi Kota
-
-
-
2
Passanger
Booking
Mencari kota keberangkatan
Departured : Batam
Sistem mampu menemukan kota tujuan berasal dari kota keberangkatan
Batam – Jakarta Batam – Medan Batam – Malang
3
Passanger
Entry Flight Memilih Date
Calender : Aug 31,2011
Sistem mampu menyimpan date.
Calender
4
Passanger
Entry Flight Memilih Flight
Entry Flight : 4
Sistem mampu menyimpan flight.
1. GA151 – 08:00:00 4. GA155 – 11:30:00 5. GA157 – 19:10:00
5
Passanger
Entry Pax
Generate Code
Entry Pax : 3
Jumlah Pax
-
56
6
Passanger
Entry Pax
Generate Travel Class
Travel Class : Economic
Menampilkan travel class
Class Economic : Rp 703000 Class Executive : Rp 2400000
7
Passanger
Entry Pax
Generate Time Limit
Confirm
-
-
8
Passanger
Entry Pax
Entry data passenger
Contact Person :
-
-
Informasi passanger
Depart From – To : Batam
085668244879 Gender : Mr/Mrs/Ms Name : Ozi 9
Passanger
Search
Search by contact
Entry contact person :
Data
person
085668244879
– Jakarta Code Booking : 90844
10 Passanger
Search
Search by code booking
Data 11 Aksi
Entry code booking:
Informasi Passanger
Terdapat kesalahan
Data tidak ada
90835
Show
Authentication login,
Username: admin
Date, Destination,
Record
Search record by flight
Password : admin
Total Pax
and date
Entry Flight : GA151
Time limit, Code booking
Date : Aug 31, 2011
57
V.6 Dokumen Rinci Testing Simulasi Server
Mir’atul Khusna Mufida S.ST
V.6.1 Tim Penguji V.6.2 Hasil Rincian Pengujian Tabel 10 Implementasi Kelas Simulasi Server No
User
12 Aksi
Use Case
Fungsi yang di Uji
Input
Hasil yang di Harapkan
Ouput
Delete
Menghapus record passanger
-
Data record passanger terhapus
-
Merubah jadwal penerbangan
Kota, flight dan travel
Informasi schedule updated
-
Record 13 Passanger
Update Schedule
class
58
V.7 Metode Pengujian Mir’atul Khusna Mufida S.ST
V.7.1 Menggunakan Media No Fungsi yang di Uji
Handphone
Emulator Stand Alone
Emulator P2P
Nokia 6300
Wireless Toolkit 2.5.2
Wireless Toolkit 2.5.2
Samsung S8003
Wireless Toolkit 2.5.2
Wireless Toolkit 2.5.2
Samsung S8003
Wireless Toolkit 2.5.2
Wireless Toolkit 2.5.2
1
Identifikasi Kota
2
Mencari kota keberangkatan
3
Memilih Date
4
Memilih Flight
Samsung S8003
Wireless Toolkit 2.5.2
Wireless Toolkit 2.5.2
5
Generate Code
Samsung S8003
Wireless Toolkit 2.5.2
Wireless Toolkit 2.5.2
6
Generate Travel Class
Samsung S8003
Wireless Toolkit 2.5.2
Wireless Toolkit 2.5.2
7
Generate Time Limit
Samsung GT-b3210
Wireless Toolkit 2.5.2
Wireless Toolkit 2.5.2
8
Entry data passenger
Samsung GT-b3210
Wireless Toolkit 2.5.2
Wireless Toolkit 2.5.2
9
Search by contact person
Samsung GT-b3210
Wireless Toolkit 2.5.2
Wireless Toolkit 2.5.2
10
Search by code booking
Samsung GT-b3210
Wireless Toolkit 2.5.2
Wireless Toolkit 2.5.2
11
Authentication login, Blackberry Storm
Wireless Toolkit 2.5.2
Wireless Toolkit 2.5.2
Search record by flight and date 12
Menghapus record passanger
-
-
-
13
Merubah jadwal penerbangan
-
-
-
Keterangan
59
Bab VI
Kesimpulan dan Saran
VI.1 Kesimpulan Setelah di lakukan tahap analisis, perancangan, implementasi dan pengujian pada aplikasi Simulasi Garuda Mobile, maka kesimpulan yang didapat adalah: 1.
Aplikasi Simulasi Garuda Mobile ini dapat diakses oleh masyarakat luas menggunakan GPRS
untuk menerima informasi jadwal penerbangan dan
melakukan reservasi dengan time limit (batas waktu) tertentu. 2.
Aplikasi Simulasi Garuda Mobile ini hanya dapat dijalankan di Operating System handphone tertentu yaitu operating system symbian dan java.
3.
Aplikasi Simulasi Garuda Mobile mengakses informasi penerbangan dengan transfer data lebih cepat tergantung pada sinyal wilayah dan provider kartu selular yang digunakan.
VI.2 Saran Adapun saran yang dapat diberikan untuk penyempurnaan dari aplikasi Simulasi Garuda Mobile adalah sebagai berikut : 1. Aplikasi dapat dijalankan pada berbagai jenis mobile operating system. 2. Sistem mampu melakukan issued ticket
DAFTAR PUSTAKA 1. Purnama Rangsang, “Pemrograman J2ME tingkat dasar”, gitamedia press,
2008. 2.
Irawan, “Java Mobile untuk orang awam”, maxicom, 2008.
3. Raharjo Budi, Imam Heryanto, Arif Haryanto, “Tuntunan pemrograman
java untuk handphone”, informatika, 2007. 4.
M,Shalahuddin, Rosa A.S “Pemrograman J2ME, belajar cepat pemrograman perangkat telekomunikasi mobile”, Informatika, 2006.
5.
Shodiq Amri, “Aplikasi client-server dan koneksi dengan database di server”, Tersedia: http://amrishodiq.blogspot.com/2009/06/ebook-tutorialj2me-client-server.html diakses pada 18 Maret 2011.
6.
Darytamo Budi,MT, Sri Widayati,MT “ Pemrograman berorientasi object dengan J2ME”, Java Competency Center, 2007.
7.
PT.Garuda Indonesia (persero).Tersedia: indonesia.com diakses pada 16 maret 2011.
Http://www.Garuda-