VISUALISASI KECEPATAN KENDARAAN MENGGUNAKAN INSTANT MESSANGGING BERBASIS ANDROID.
SKRIPSI
VISUALISASI KECEPATAN KENDARAAN MENGGUNAKAN
INSTANT MESSAGING BERBASIS ANDROID
KOMANG RIO ADI PRASETYA
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK UNIVERSITAS UDAYANA
BUKIT JIMBARAN
(2)
ii
VISUALISASI KECEPATAN KENDARAAN MENGGUNAKAN INSTANT MESSAGING BERBASIS ANDROID
Tugas Akhir Ini Diajukan Sebagai Persyaratan Memperoleh Gelar Sarjana S1 (Starata1) Pada Jurusan Teknik Elektro Fakultas Teknik Universitas Udayana
KOMANG RIO ADI PRASETYA NIM 1104405024
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK UNIVERSITAS UDAYANA BUKIT JIMBARAN
(3)
iii
LEMBAR PERNYATAAN ORISINALITAS
Tugas Akhir/Skripsi ini adalah hasil karya saya sendiri, dan semua sumber baik yang dikutip maupun dirujuk telah saya nyatakan dengan benar
Nama : Komang Rio Adi Prasetya
NIM : 1104405024
Tanda Tangan :
(4)
(5)
v
KATA PENGANTAR
Pertama-tama perkenankanlah saya memanjatkan puji syukur kehadapan Ida Hyang Widhi Wasa/Tuhan Yang Maha Esa, karena hanya atas asung kerta wara nugraha-Nya Tugas Akhir yang berjudul “VISUALISASI KECEPATAN KENDARAAN MENGGUNAKAN INSTANT MESSAGING BERBASIS ANDROID”dapat diselesaikan.
Dalam penyusunan tugas akhir ini, penulis banyak memperoleh petunjuk dan bimbingan dari berbagai pihak. Sehingga pada kesempatan ini perkenankanlah saya mengucapkan terima kasih yang sebesar-besarnya kepada : 1. Bapak Prof. Ir. Ngakan Putu Gede Suardana, MT.,.Ph.D selaku Dekan
Fakultas Teknik Universitas Udayana.
2. Bapak Wayan Gede Ariastina, ST.M.Engsc.Ph.D selaku ketua jurusan Teknik Elektro Fakultas Teknik Universitas Udayana.
3. BapakWidyadi Setiawan, ST., MT. sebagai Dosen Pembimbing I.
4. BapakI Gst. A. Km. Diafari Djuni H, ST.,MT. sebagai Dosen Pembimbing II.
5. Keluarga yang selalu memberikan dukungan dalam penyusunan tugas akhir ini.
6. Pacar saya Ayu Karisma Dewi yang selalu mensuport dan mendoakan saya dalam kelancaran pembuatan tugas akhir ini .
7. Rekan–rekan mahasiswa angkatan 2011 Jurusan Teknik Elektro Fakultas Teknik Universitas Udayana.
8. Rekan–rekan mahasiswa Serdadu Tridatu 2011 Dan Semeton Sang Pemimpi 9. Serta semua pihak yang tidak bisa penulis sebutkan satu–persatu atas bantuan
dan saran yang diberikan sehingga tugas akhir ini bisa selesai tepat pada waktunya.
Penulis menyadari bahwa tugas akhir ini masih jauh dari sempurna. Oleh karena itu segala kritik dan saran yang bersifat membangun sangat diharapkan demi kesempurnaan penulisan di masa yang akan datang.
(6)
vi
ABSTRAK
Semakin populernya perangkat mobile berbasis android atau yang lebih sering disebut sebagai android smartphone saat ini berbanding lurus dengan munculnya berbagai aplikasi yang berjalan pada platform android. Salah satu contoh aplikasi yang popular adalah aplikasi-aplikasi yang memanfaatkan dengan fitur GPS yang terdapat pada perangkat androidsmartphone.
Visualisasi Kecepatan kendaraan merupakan aplikasi yang dibangun untuk dijalankan pada platform android versi 5.0.1 ( lolipop) atau versi diatasnya yang menggunakan fitur GPS. Pembuatan aplikasi ini didukung perangkat lunak Eclipse IDE untuk pemograman Java dan Android SDK. Cara kerja aplikasi ini didukung dengan adanya online server yang bertindak sebagai tempat untuk menerima dan mengirimkan hasil kecepatan yang akan ditampilkan pada maps client. Pengiriman data dari perangkat smartphone ke online server atau sebaliknya berupa kordinat longitude dan latitude melalui protocol XMPP, sedangkan untuk pembuatan antarmuka dan fungsi-fungsi yang berjalan pada aplikasi digunakan bahasa pemograman Java dan XML untuk android.
Hasil uji coba membuktikan bahwa hasil dari pengukuran yang dilakukan oleh user sama dengan data yang diterima oleh client dengan format tampilan di peta digital adalah nama lokasi, kecepatn kendaraan, tanggal dan waktu.
(7)
vi
ABSTRAK
Semakin populernya perangkat mobile berbasis android atau yang lebih sering disebut sebagai android smartphone saat ini berbanding lurus dengan munculnya berbagai aplikasi yang berjalan pada platform android. Salah satu contoh aplikasi yang popular adalah aplikasi-aplikasi yang memanfaatkan dengan fitur GPS yang terdapat pada perangkat androidsmartphone.
Visualisasi Kecepatan kendaraan merupakan aplikasi yang dibangun untuk dijalankan pada platform android versi 5.0.1 ( lolipop) atau versi diatasnya yang menggunakan fitur GPS. PEmbuatan aplikasi ini didukung perangkat lunak Eclipse IDE untuk pemograman Java dan Android SDK. Cara kerja aplikasi ini didukung dengan adanya online server yang bertindak sebagai tempat untuk menerima dan mengirimkan hasil kecepatan yang akan ditampilkan pada maps client. Pengiriman data dari perangkat smartphone ke online server atau sebaliknya berupa kordinat longitude dan latitude melalui protocol XMPP, sedangkan untuk pembuatan antarmuka dan fungsi-fungsi yang berjalan pada aplikasi digunakan bahasa pemograman Java dan XML untuk android.
Hasil uji coba membuktikan bahwa hasil dari pengukuran yang dilakukan oleh user sama dengan data yang diterima oleh client dengan format tampilan di peta digital adalah nama lokasi, kecepatn kendaraan, tanggal dan waktu.
(8)
vii
ABSTRACT
Increasingly complex problems of urban transport in line with the rapid growth of vehicle that is not matched by a proportional increase in transportation infrastructure. The impact can be seen clearly that the congestion that occurs mostly urban. Handling transportation issues closely related to transportation planning issues. Good transport planning is expected to reduce the problems of urban transport.
The growing popularity of mobile devices based on Android, or more commonly referred to as an android smartphone is now directly proportional to the emergence of various applications running on the android platform. One example of a popular application that is applications that utilize the GPS feature found on smartphones android devices.
Visualization of vehicle speed is an application built to run on android platform version 5.0.1 (lollipops) or later that uses the GPS feature. Making this application software supported by the Eclipse IDE for Java and Android SDK programming. The workings of this application is supported with an online server that acts as a place to receive and transmit speed results to be displayed on maps client. Sending data from the smartphone to the online server or vice versa in the form of longitude and latitude coordinates through XMPP protocol, whereas for the creation of interfaces and functions that run on an application to use the Java programming language and XML for android.
The trial results demonstrate that the results of the measurements performed by the user together with the data received by the client to format on the digital map is the name of the location, kecepatn vehicle, the date and time.
(9)
viii
DAFTAR ISI
JUDUL ... ... i
LEMBAR PERSYARATAN GELAR... ... ii
LEMBAR PERSETUJUAN ORISINALITAS ... iii
LEMBAR PENGESAHAN ... ... iv
KATA PENGANTAR ... ... v
ABSTRAK ... vi
ABSTARCT ... vii
DAFTAR ISI... viii
DAFTAR GAMBAR ... xi
DAFTAR TABEL... xiii
DAFTAR SINGKATAN ... xiv
BAB I PENDAHULUAN 1.1 Latar Belakang... 1
1.2 Rumusan Masalah... 2
1.3 Tujuan ... 2
1.4 Manfaat ... 2
1.5 Ruang Lingkup Dan Batasan Masalah ... 3
1.6 Sistematika Penulisan ... 4
BAB II TINJAUAN PUSTAKA 2.1 Tinjauan Mutakhir ... 5
2.2 GPS... 7
2.2.1 Cara Kerja GPS ... 7
(10)
ix
2.3 Layanan Berbasis Lokasi... 9
2.4 Penyedia Layanan Berbasis Android... 10
2.5 Sejarah Android ... 11
2.5.1 Sistem Operasi Android ... 11
2.5.2 Fitur Android... 17
2.6 Google Play Service ... 18
2.7 Java ... 19
2.7.1 Sejarah Java... 19
2.7.2 Fitur Java... 20
2.7.3 Eclipse IDE (Integrated Development Environment) ... 22
2.8 ADT Plugin for Eclipse ... 23
2.9 Protokol XMPP... 24
2.10 Metode Black Box Testing ... 29
BAB III METODE DAN PERANCANGAN SISTEM 3.1 Lokasi dan Waktu Penelitian ... 31
3.2 Sumber dan Jenis Data Penelitian ... 31
3.2.1 Sumber Data... 31
3.2.2 Metode Pengumpulan Data ... 32
3.2.3 Jenis Data Penelitian ... 32
3.3 Alat Penelitian ... 32
3.4 Tahapan Penelitian ... 33
3.4.1 Alur Analisis ... 33
3.5 Gambaran Umum Sistem... 37
(11)
x
3.6.1 Halaman utama... 38
BAB IV HASIL DAN PEMBAHASAN
4.1 Pengiriman hasil pengukuran yang dilakukan olehuser... 40
4.2Library google talkdalam penerimaan data dariuser... 41
4.3Libraryyang digunakan untuk pembuatan aplikasi ... 41
4.3.1 MenampilkanGoogle Mapsdan mendeteksi perubahan
lokasi dengan menggunakanonLocationChanged... 42
4.3.2 Menampilkanmarker userpada petaGoogle Mapsdengan
menggunakanonMarkerclickListener ... 43
4.3.3Libray conection google talkdan penerimaan informasi hasil pengukuran ... 44
4.4 Hasil dari pengujian program ... 45
4.4.1 Pengujian program dengan satu penerima( client )dengan
dua pengguna( user )... 45
4.4.2 Pengujian program dengan dua penerima( client )dan dua
pengguna( user )... 48
4.5Delaypenerimaan informasi sebelum tampil dalam aplikasi client
pada peta google map ... 51
4.6 Analisis kekurangan aplikasi visualisasi kecepatan kendaraan
menggunakan instant messaging berbasis android ... 54
BAB V SIMPULAN
5.1 Simpulan ... 56
5.2 Saran ... 56
DAFTAR PUSTAKA LAMPIRAN
(12)
ii
DAFTAR GAMBAR
Gambar 2.1 Arsitektur system operasi android ... 12
Gambar 2.2 Java... 19
Gambar 2.3 XMPP Protocol ... 25
Gambar 2.4 Desentralisasi Server ... 26
Gambar 2.5 Jaringan XMPP ... 26
Gambar 2.6 Aliran XML... 27
Gambar 2.7 EnkripsiPaket ... 29
Gambar 3.1FlowchartAlur Ananlisi ... 35
Gambar 3.2FlowchartPada G-Talk ... 36
Gambar 3.3 Gambaran Umum System ... 37
Gambar 3.4 Topologi Menu Utama Aplikasi... 38
Gambar 3.5 Rancangan Tampilan Aplikasi ... 39
Gambar 4.1 Pengukuran yang dilakukan oleh User... 40
Gambar 4.2 Tampilan Peta Google Client ... 40
Gambar 4.3 Tampilan Utama G-Talk Pada Aplikasi ... 41
Gambar 4.4 Kode Program Google Maps Pada Aktivity... 42
Gambar 4.5 Kode Program Hasil Penentuan Lokasi dan Menampilkan Marker Untuk Client ... 42
Gambar 4.6 Mengecek Format Pesan yang di terima ... 43
Gambar 4.7 Menampilkan Marker Untuk User Pada Perangkat Peta Google ... 43
Gambar 4.8 Mempersiapkan Penerimaan Paket Pesan yang di kirim oleh User ... 44
Gambar 4.9 Hasil Tampilan Posisi User dan Client Pada Peta Lokasi ... 45
(13)
✁ii
Gambar 4.11 Tampilan Hasil Pengujian Pengukuran dari User kedua... 47
Gambar 4.12 Posisi Client Pada Jalan Tantular ... 48
Gambar 4.13 Posisi Client Pada Jalan Panjaitan... 48
Gambar 4.14 Tampilan Hasil Pengukuran Pada Jalan Tantular ... 49
Gambar 4.15 Tampilan Hasil Pengukuran Pada Jalan Tjut Nyak Dien ... 49
Gambar 4.16 Tampilan Hasil Pengukuran di Jalan Tantular ... 50
Gambar 4.17 Tampilan Hasil Pengukuran di Jalan Tjut Nyak Dien... 50
Gambar 4.18 Hasil delay pengukuran pertama ... 51
Gambar 4.19 Hasil delay pengukuran kedua ... 52
Gambar 4.20 Hasil delay pengukuran ketiga ... 52
Gambar 4.21 Hasil delay pengukuran keempat ... 53
(14)
✂iii
DAFTAR TABEL
(15)
xiv
DAFTAR SINGKATAN GPS = Global Positioning System
API = Application Program Interface
LBS = Location Based Service
HTML = Hyper Text Markup Language
AJAX = Asynchronus Java script and XML
XML = Extended Markup Language
IPC = Interproces Communication
NDK = Native Developmnent Toolkit
LIFO = Last in First Out
URL = Uniform Resource Location
IETF = Internet Task Force
IDE = Integrated Development Environment
RCP = Rich Client Platform
JDT = Java Developmnet Tools
ADT = Android Development Tools
(16)
1
BAB I PENDAHULUAN
pertumbuhan kendaraan yang tidak diimbangi dengan penambahan secara proporsional prasarana transportasi. Akibat yang ditimbulkan dapat dilihat dengan jelas yakni kemacetan yang terjadi sebagian besar perkotaan. Penanganan masalah transportasi terkait erat dengan masalah perencanaan transportasi. Perencanaan transportasi yang baik diharapkan mampu mengurangi permasalahan transportasi perkotaan.
Salah satunya dalam bidang sistem transportasi cerdas(intelligent transport systems). Transportasi merupakan infrastruktur utama yang menjadi bagian penting dalam pemenuhan aktivitas manusia. Sistem Transportasi Intelijen (ITS) adalah penerapan teknologi informasi dan komunikasi dalam infrastruktur transportasi dan kendaraan sebagai alternatif solusi untuk masalah kepadatan yang semakin tinggi di kota-kota besar/ metropolitan. Sistem ini diterapkan untuk mengendalikan dan mengelola lalu lintas kendaraan, distribusi kendaraan dan infrastruktur untuk mencapai sistem transportasi yang lebih aman. Sistem ini akan mengurangi kepadatan lalu lintas sehingga penggunaan energi lebih efisien dan otomatis emisi gas rumah kaca akan lebih rendah. Penerapan sistem ini membutuhkan kajian yang lebih intensif dan perencanaan yang hati-hati untuk menyesuaikan dengan sistem transportasi lokal. ITS juga dapat diterapkan untuk mengatasi kemacetan karena ITS merupakan gabungan dari sistem transportasi dengan teknologi informasi demi meningkatkan aksesibilitas dan efisiensi serta keamanan transportasi. Dengan diterapkannya ITS dalam penelitian ini saya melakukan visualisasi kepadatan lalulintas di kota Denpasar dengan menggunakan smartphone berbasis android, maka setiap pengguna jalan akan dapat mengaksesnya secara real time dan mudah. Hanya dengan menggunakan 1.1 Latar Belakang
(17)
2
smartphone maka setiap orang bisa mengetahui kondisi jalan apakah sedang mengalami macet atau lancar.
Sementara itu, penelitian dalam bidang real- time location tracking telah dilakukan dengan melakukan metode pelacakan lokasi real-time tracking layanan untuk beberapa pihak dengan menggunakan protocol internet TCP/IP wireless sebagai media pengiriman data ( Hyong Haeng, 2008).
Terkait dengan penulisan Tugas Akhir ini maka telah diambil beberapa jurnal sebagai referensi yang berkaitan dengan tugas akhir ini. Penelitian yang pernah dilakukan oleh Hendra Nugraha Lengkong (2015) dengan judul Perancangan Penunjuk Rute Pada Kendaraan Pribadi Menggunakan Aplikasi GIS Berbasis Android Yang Terintegrasi Pada Google Maps yang digunakan untuk memenuhi kebutuhan masyarakat untuk melihat rute penunjuk arah sesuai kebutuhan pengguna dan dengan digunakannya GPS sebagai penunjuk lokasi. Penelitian berikutnya oleh I Made Alit Adiwiguna (2013) dengan judul Aplikasi Real-Time Tracking Via Instant Messangging Pada Perangkat Mobile Android yang dijelaskan aplikasi real-time yang dibangun untuk dijalankan pada platform android versi 2.2( Froyo) yang menggunakan fitur GPS untuk mengetahui posisi dan jalur yang dilalui pengguna dan pengguna lain yang terhubung pada aplikasi. Peneliti selanjutnya oleh Dony Hendra Lesmana (2013) dengan judul Rancang Bangun Sistem Monitoring Kecepatan Kendaraan Berbasis GPS dengan SMS sebagai media Pengiriman Data yang dijelaskan dengan memonitoring kecepatan kendaraan secara real-time untuk menekan angak kecelakaan yang diakibatkan oleh pengendara yang berlaju kencang. Data posisi kecepatanGPSyang terpasang pada pengendara akan dikirim secara kontinyu ke PC server melalui fasilitasSMS.
1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah diuraikan, maka rumusan permasalahan yang akan dibahas lebih lanjut dalam penelitian ini adalah sebagai berikut:
1. Bagaimana membangun aplikasi Android yang bisa menampilkan peta informasi kecepatan kendaraan ?
(18)
3
2. Bagaimana menampilkan informasi tentang detail lokasi pada aplikasi Android?
1.3 Tujuan
Adapun tujuan yang ingin dicapai dari penyusunan tugas akhir ini adalah sebagai berikut :
1. Untuk mengetahui dan memberikan informasi kepada pengguna smart phone berbasis Android mengenai kecepatan kendaraan
2. Untuk menampilkan data lokasi pengguna aplikasi android smart phone
1.4 Manfaat
Adapun manfaat yang dapat diambil dari penyusunan tugas akhir ini adalah sebagai berikut :
1. Bagi penulis, dapat memperkaya pengetahuan di bidang sistem transportasi cerdas.
2. Dapat menjadi acuan untuk penelitian selanjutnya dalam pemilihan metode yang tepat dalam proses pendeteksian kecepatan kendaraan dan menampilkan data lokasi pengguna smart phone
1.5 Ruang Lingkup Dan Batasan Masalah
Mengingat keterbatasan waktu dan begitu luasnya ruang lingkup dalam pembuatan aplikasi ini, maka diperlukan batasan masalah untuk aplikasi ini, Adapun batasan masalahnya adalah :
1. Aplikasi dibuat diatas platform Android sehingga hanya dapat dijalankan padamobile deviceyang menggunakan platformAndroid versi 4.0.
2. GPSdigunakan untuk mengetahui posisi pengguna aplikasi.
3. Keakuratan dari posisi yang ditampilkan, bergantung pada perangkat mobile itu sendiri dan lokasi dimana aplikasi tersebut digunakan.
4. Akun Instant Mesangging yang digunakan yang digunakan adalah akun Google Talk yang dimiliki olehGoogle.
(19)
4
1.6 Sistematika Penulisan
Sistematika penulisan dalam proposal tugas akhir ini adalah sebagai berikut :
BAB I : PENDAHULUAN
Bab ini membahas mengenai gambaran umum penelitian mulai dari latar belakang, rumusan masalah, tujuan penulisan, manfaat penelitian, batasan masalah dan sistematika penulisan.
BAB II : TINJAUAN PUSTAKA
Bab ini membahas mengenai gambaran umum penelitian mulai dari latar belakang, rumusan masalah, tujuan penulisan, manfaat penelitian, batasan masalah dan sistematika penulisan.
BAB III : METODE PENELITIAN
Bab ini menguraikan langkah-langkah dalam analisis dan pembahasan penelitian, dan juga diuraikan lokasi dan waktu penelitian, sumber dan jenis data penelitian, jenis data yang digunakan, teknik pengumpulan data, tahapan penelitian dan alur analisis dari penelitian tersebut.
BAB IV : PEMBAHASAN DAN PENGUJIAN
Bab ini membahas mengenai cara kerja program dan penerimaan hasil yang akan tampil pada maps melalui instant messangging yang diapaki adalah akun G-talk dengan satu penerima dan satu pengirim.
BAB V : KESIMPULAN DAN SARAN
Mencakup simpulan yang menjawab permasalahan yang telah dirumuskan dan pengujian program yang dilakukan serta memberikan saran yang direkomendasikan baik pada pengembangan ilmu pengetahuan atau pihak terkait untuk melakukan pengembangan program lebih lanjut sehingga menghasilkan yang lebih baik
(20)
5
BAB II
TINJAUAN PUSTAKA
Dalam bab ini akan diuraikan mengenai teori-teori penunjang yang digunakan dalam visualisasi kecepatan kendaraan menggunakan instant mesangging berbasis android. Ringkasan dari hasil pembuatan yang sudah dilakukan terkait dengan topik penelitian ini, dan perbedaan sistem yang akan dibahas dalam penelitian ini dengan penelitian sebelumnya.
2.1 Tinjauan Mutakhir
Penelitian “Visualisasi Keceptan Kendaraan Menggunakan Instant Mesangging Berbasis Android” disusun menggunakan acuan beberapa referensi. Beberapa referensi yang akan digunakan sebagai acuan pengembangan penelitian ditentukan berdasarkan topik terkait penelitian, metode yang digunakan, dan algoritma simulasi yang diterapkan dalam penelitian tersebut. Hal ini bertujuan untuk menentukan batasan-batasan masalah yang akan dibahas lebih lanjut dalam penelitian ini. Dalam hal ini penulis memilih beberapa referensi sebagai acuan penelitian serupa yang menggunakan arsitektur sistem, metode, dan alur pengembangan yang berbeda satu sama lain. Uraian singkat referensi tersebut adalah sebagai berikut.
1. Perancangan Penunjuk Rute Pada Kendaraan Pribadi Menggunakan Aplikasi GIS Berbasis android Yang Terintegrasi Pada Google Maps (Tugas Akhir Hendra Nugraha Lengkong 2015 Jurusan Teknik Elektro- FT, Universitas Sam Ratulangi, Manado).
Dalam penelitiannya, Hendra menggunakan aplikasi penunjuk rute pada kendaraan pribadi menggunakan MobileGIS berbasis android yang terintegrasi pada Google Maps. Dimana Google Maps diharapkan dapat memenuhi kebutuhan masyrakat untuk melihat rute penunjuk arah sesuai kebutuhan pengguna ( user ). Dan dengan menggunakan bantuan Global Positioning System ( GPS ) yang berfungsi sebagai penunjuk lokasi. Hasil akhir dari
(21)
6
penelitian ini adalah berupa apliaksi penanda lokasi peta digital berbasis mobile GIS pada smartphone android. Aplikasi ini memiliki beberapa fitur utama seperti inputan data, menampilkan list data tersimpan, menampilkan rute pada peta, dan membackup dan mengimpor data.
2. Aplikasi Real-Time Tracking Via Instant Messaging Pada Perangkat Mobile Android ( Tugas akhir I Made Alit Adiwiguna 2013 Jurusan Teknik Elektro Universitas Udanyana, Bali)
Dalam penelitian Alit, dijelaskan aplikasi Real-Time merupkan aplikasi yang dibangun untuk dijalankan pada platform android versi 2.2 (Froyo) atau versi diatasnya yang menggunakan fitur GPS untuk mengetahui posisi dan jalur yang dilalui pengguna dan pengguna lain yang terhubung melalui aplikasi ini. Pembuatan aplikasi ini didukung dengan perangakat kunak Eclipse IDE untuk pemogramanJavadanAndroid SDK. Cara kerja dari aplikasi ini dengan adanya online server yang dikirim ke pengguna melalui internet. Pengiriman data dari perangkat smartphone ke online server atau sebaliknya berupa koordinat latitude dan longitude melalui protocol XMPP. Sedangkan untuk pembuatan antarmuka dan fungsi-fungsi yang berjalan pada aplikasi digunakan bahasaJava danUML untuk android. Hasil uji coba membuktikan bahwa data lokasi latitude dan longitude yang dikirimkan oleh pengirim melalui google talk, sama dengan data yang diterima oleh penerima data tersebut.
3. Rancang Bangun Sistem Monitoring Kecepatan Kendaraan Berbasis GPS dengan SMS sebagai Media Pengiriman Data ( Dony Hendra Lesmana Desember 2013 Teknik Elektro Universitas Brawijaya, Malang )
Dalam jurnal Dony, menjelaskan sarana transportasi darat yang bermanfaat pada kehidupan sehari-hari terutama pekerjaan yang menuntut mobilitas.Oleh karena itu diperlukan suatu system monitoring kecepatan kendaraan secara real-time untuk menekan angak kecelakaan yang diakibatkan pengendara yang berlaju kencang. Data posisi kecepatan GPS yang terpasang pada pengendara akan dikirim secara kontiyu ke PC server melalui fasilitas SMS.Data monitoring kecepatan berhasil dikirim dengan interval waktu 1 menit melalui SMS dan
(22)
7
system penerima berhasil menerima data posisi serta kecepatan sehingga dapat dijadikan refernsi perilaku pengemudi sehari-hari.
2.2 GPS
GPS merupakan sebuah system navigasi global berbasis satelit yang dikembangkan oleh Departemen Pertahanan Amerika Serikat. Tetapi karena system ini adalah yang pertama kali serta satu satunya di dunia yang berfungsi secara penuh dan dapat digunakan setiap saat oleh semua orang didunia secara gratis. Sistem ini menggunakan kelompok satelit yang diberi nama NAVSTAR ( Navigation Satelite Timming And Ranging). ( Tanoe, 2009)
2.2.1 Cara Kerja GPS
Sistem ini menggunakan satelit yang berada di orbit bumi, yang memancarkan sinyalnya ke bumi dan ditangkap oleh sebuah alat penerima. Ada 3 bagian penting dari system ini, yaitu bagian control, bagian angkasa, dan bagian pengguna ( Tanoe, 2009)
1. Bagian control (Control segment)
Dilihat dari namanya, bagian ini bertugas sebagai pengontrol.Setiap satelit dapat berada diluar orbitnya, sehingga bagian ini melacak orbit satelit, lokasi, ketinggian, dan kecepata.Sinyal-sinyal dari satelit diterima oleh bagian control, dikoreksi dan dikirimkan kembali ke satelit. Koreksi data lokasi yang tepat dari satelit ini disebut dengan data ephemeris, yang nantinya akan dikirimkan kepada alat navigasi kita.
2. Bagian Angkasa (space segment)
Bagian ini terdiri dari kumpulan satelit-satelit yang berada di orbit bumi, sekitar 1.200 mil diatas permukaan bumi.Kumpulan satelit satellite ini diatur sedemikian rupa sehingga alat navigasi setiap saat dapat menerima paling sedikit sinyal dari empat buah satelit. Sinyal satelit ini dapat melewati awan, kaca, atau plastic, tetapi tidak dapat melewati gedung atau gunung. Satelit mempunyai jam atom, dan memancarkan informasi “waktu/jam”. Data ini dipancarkan dengan kode pseudo-random. Masing-masing satelit
(23)
8
memiliki kodenya sendiri-sendiri. Nomor kode ini biasanya akan ditampilkan dialat navigasi, maka kita biasa melakukan indentifikasi sinyal satelit yang sedang diterima alat tersebut. Data ini berguna bagi alat navigasi untuk mengukur koordinat lokasi. Kekuatan sinyal satelit juga akan membantu alat dalam perhitungan. Kekuatan sinyal ini lebih dipengaruhi oleh lokasi satelit. Sebuah alat akan menerima sinyal lebih kuat dari satelit yang berada tepat diatasnya dibandingkan dengan satelit yang berada digaris cakrawala. Ada dua jenis gelombang yang saat ini dikenal dengan sebutan L1 pada 1575.42 MHz. Sinyal L1 ini yang akan diterima oleh navigasi. Satelit juga mengeluarkan gelombang L2 pada frekuensi 1227.6 MHz. Gelombang L2 ini digunakan untuk tujuan militer dan bukan untuk umum.
3. Bagian Pengguna (user segment)
Bagian ini terdiri dari alat navigasi yang digunakan. Satelit akan memancarkan data almanac dan ephemeris yang akan diterima oleh alat navigasi secara teratur. Data almanac berisikan lokasi ( approximate location) satelit yang dipancarkan terus menerus oleh satelit. Data ephemeris dipancarkan oleh satelit, dan valid untuk sekitar 4-6 jam. Intuk menunjukkan koordinat sebuah titik ( dua dimensi ), alat navigasi memerlukan paling sedikit sinyal 3 buah satelit. Untuk menunjukkan data ketinggian sebuah titik ( tiga dimensi), diperlukan tambahan sinyal dari 1 buah satelit lagi.
Dari sinyal sinyal yang dipancarkan oleh kumpulan satelit tersebut, alat navigasi akan melakukan perhitungan perhitungan dan hasil akhirnya adalah koordinat posisi alat, akan membuat alat tersebut menghitung koordinat posisinya dengan lebih tepat.
2.2.2 Akurasi alat navigasi GPS
Akurasi atau ketepatan perlu mendapat perhatian bagi penentuan koordinat sebuah titik/lokasi. Koordinat posisi ini akan selalu mempunyai factor kesalahan, yang lebih dikenal dengan tingkat akurasi. Misalnya, alat tersebut menunjukkan sebuah titik koordinat dengan akurasi 3 meter, artinya posisi sebenarnya biasa berada dimana saja dalam radius 3 meter dari titik koordinat ( lokasi) tersebut.
(24)
9
Makin kecil angka akurasi, maka posisi alat akan menjadi semakin tepat. Harga alat juga akan meningkat seiring dengan kenaikan tingkat akurasi yang bias dicapainya ( Tanoe, 2009 ).
Karena alat navigasi ini bergantung penuh pada satelit, maka sinyal satelit menjadi sangat penting.Alat navigasi berbasis satelit ini tidak dapat bekerja maksimal ketika ada gangguan pada sinyal satelit. Ada banyak hal yang dapat mengurangi kekuatan sinyal satelit :
1. Kondisi geografis, seperti yang diterangkan diatas. Selama kita masih dapat melihat langit yang cukup luas, alat ini masih dapat berfungsi.
2. Hutan. Makin lebat hutannya, maka makin berkurang sinyal yang dapat dietrima
3. Air. Jangan berharap dapat menggunakan alat ini ketika menyelam 4. Kaca film mobil, terutama mengandung metal
5. Alat alat elektronik yang dapat mengeluarkan gelombang elektromagnetik 6. Gedung-gedung. Tidak hanya ketika didalam gedung, berada diantara 2
buah gedung tinggi juga akan menyebabkan efek seperti berada di dalam lembah.
7. Sinyal yang memantul, missal bila berada diantara gedung- gedung tinggi, dapat mengacaukan perhitungan alat navigasi sehingga alat navigasi dapat menunjukkan posisi yang salah atau tidak akurat.
2.3 Layanan Berbasis Lokasi
Sistem Layanan Berbasis Lokasi atau lebih dikenal dengan Location-Based Service (LBS), menggabungkan antara proses dari layanan mobile dengan posisi geografis dari penggunanya. Poin pentingnya adalah ketika posisi target, dimana sebuah target bias jadi adalah pengguna LBS. itu sendiri atau entitas lain yang tergabung dalam suatu layanan. LBS mengarah pada aplikasi palikasi dan layanan –layanan yang menyediakan informasi lokasi mengenai pengguna mobile untuk menyediakan sebuah layanan atau informasi khusus kepada pengguna. Teknologi yang digunakan untuk menemukan lokasi perangkat yang kita gunakan. Dua unsur LBS adalah
(25)
10
a) Location Manager ( API Maps)
Menyediakan tool atau source untuk LBS, Application Program Interface ( API ). Maps menyediakan fasilitas untuk menampilkan maps atau peta beserta feature-feature lainnya seperti tampilan satelit, street ( jalan), maupun gabungannya.
b) Location Provider ( API Location )
Menyediakan teknologi pencarian lokasi yang digunakan oleh device atau perangkat.API Locationberhubungan dengan dataGPSdan data lokasi real-time. API Location berada pada paketandroid yaitu dalam paket android location. Track gerakan atau perpindahan, serta kedekatan dengan lokasi tertentu dengan mendeteksi perpindahan.
2.4. Penyedian Layanan Berbasis Android Google maps android API
Pada layanan peta berbabis android,Google MapsandroidAPIdidasari oleh rangkaian class sederhana yang dapat d igunakan oleh programmer yang dikemas dalam bentuk java library. API atau Application Interface merupakan suatu dokumentasi yang terdiri dari interface, fungsi, kelas, struktur dan sebagainya untuk membangun sebuah perangakat lunak. Dengan adanya API ini maka memudahkan programmer untuk membongkar software untuk kemudian dikembangkan atau diintregrasikan dengan aplikasi lainnya yang memungkinkan programmer menggunakan system function. Proses ini dikelola melalui operating system. Keunggulan dari API adalah memungkinkan suatu aplikasi dengan aplikasi lainnya dapat berhubungan dan berinteraksi.Bahasa pemograman yang digunakan oleh Google Maps yang terdiridari HTML, Javascript danAJAX serta XML,memungkinkan untuk menampilkan peta Google.
Google juga menyediakan layanan Google Maps API yangmemungkinkan para pengembang untuk mengintegrasikan Google Maps ke dalam website masing-masing dengan menambahkan data point sendiri. Dengan menggunakan Google Maps API, Google Maps dapat ditampilkan pada web eksternal. Agar aplikasigoogle mapsdapat muncul di website tertentu, diperlukan kode unik yang
(26)
11
digenerasikan oleh Google Maps untuk suatu website tertentu, agar server google mapsdapat mengenali. PadaGoogle Mpas API terdapat 4 jenis pilihan model peta yang disediakan oleh google diantaranya adalah :
1. ROADMAP, untuk menampilkan peta biasa 2 dimensi 2. SATELITE, untuk menampilkan foto satellite
3. TERRAIN, untuk menunjukkan relief fisik permukaan bumi dan menunjukkan seberapa tingginya suatu lokasi, contohnya akan menunjukkan gunung dan sungai
4. HYBRID, akan menunjukkan foto satellite yang diatasnya tergambar pula apa yang tampil pada ROADMAP ( jalan dan nama kota )
2.5 Sejarah Android
Perjalanan Android dimulai sejak Oktober 2003 ketika 4 orang pakar IT, Andi Rubin, Rich Minner, Nick Sears dan Chris White mendirikan Android.Inc, di California US. Visi Android untuk mewujudkan mobile deviceyang lebih peka dan mengerti pemiliknya, kemudian menarik raksasa dunia maya Google.Google kemudian mengakuisisi Android pada Agustus 2005. OS Android dibangun berbasisplatform Linux yang bersifatopen source,senada dengan Linux, Android juga bersifat Open Source. Dengan nama besar Google dan konsep open source pada OS Android, tidak membutuhkan waktu lama bagi android untuk bersaing dan menyisihkan Mobile OS lainnya seperti Symbian, Windos Mobile,Blackberry dan iOS. Kini siapa yang tak kenal Android yang telah menjelma menjadi penguasaOperating SystembagiSmart phone.
2.5.1 Sistem operasi Android
Sistem operasi pada android memiliki 4 lapisan (layer) yang merupakan komponen sistem android. Setiap lapisan tersebut menghimpun beberapa program yang mendukung fungsi-fungsi spesifik dari sistem operasi. Dilihat pada gambar :
(27)
12
:
Gambar 2.1 Arsitektur system operasi android
1. Linux Kernel
Tumpukan paling bawah pada arsitektur Android ini adalah kernel. Google menggunakan kernel Linux versi 2.6 untuk membangun sistem Android, yang mencakup memory management, security setting, power management, dan beberapa driver hardware. Kernel berperan sebagai abstraction layer antara hardware dan keseluruhan software. Android dibangun di atas kernel Linux 2.6. Namun secara keseluruhan android bukanlah linux, karena dalam android tidak terdapat paket standar yang dimiliki oleh linux lainnya. Linux merupakan sistem operasi terbuka yang handal dalam manajemen memori dan proses. Oleh karenanya pada android hanya terdapat beberapa servis yang diperlukan seperti keamanan, manajemen memori, manajemen proses, jaringan dan driver.Kernel linux menyediakan driver layar, kamera, keypad, WiFi,Flash Memory, audio, dan IPC (Interprocess Communication) untuk mengatur aplikasi dan lubang keamanan.
(28)
13
2. Android Runtime
Lapisan setelah Kernel Linux adalah Android Runtime. Pada android tertanam paket pustaka inti yang menyediakan sebagian besar fungsi android. Inilah yang membedakan Android dibandingkan dengan sistem operasi lain yang juga mengimplementasikan Linux. Android Runtime merupakan mesin virtual yang membuat aplikasi android menjadi lebih tangguh dengan paket pustaka yang telah ada.
3. Libraries
Bertempat di level yang sama dengan Android Runtime adalah Libraries. Android menyertakan satu set library-library dalam bahasa C/C++ yang digunakan oleh berbagai komponen yang ada pada sistem Android. Kemampuan ini dapat diakses oleh programmer melewati Android application framework. Sebagai contoh Androidmendukung pemutaran format audio, video, dan gambar. Berikut ini beberapa core library tersebut : System C library, diturunkan dari implementasi standard C system library (libc) milik BSD, dioptimasi untuk piranti embedded berbasis Linux. Media Libraries, berdasarkan PacketVideo’s OpenCORE library-library ini mendukun playback dan recording dari berbagai format audio and video populer, meliputi MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG. Surface Manager, mengatur akses pada display dan lapisan composites 2D and 3D graphic dari berbagai aplikasi. LibWebCore, web browser engine modern yang mensupport Android browser maupun embeddable web view. SGL, the underlying 2D graphics engine. 3D libraries, implementasi berdasarkan OpenGL ES 1.0 APIs; library ini menggunakan hardware 3D acceleration dan highly optimized 3D software rasterizer FreeType, bitmap dan vector font renderingSQLit, relational database engine yang powerful dan ringan tersedia untuk semua aplikasi. Library-library tersebut bukanlah aplikasi yang berjalan sendiri, namun hanya dapat digunakan oleh program yang berada di level atasnya.Sejak versi Android 1.5, pengembang dapat membuat dan menggunakan pustaka sendiri menggunakan Native Development Toolkit (NDK).
(29)
14
4. Applications Framework
Lapisan selanjutnya adalah application framework, yang mencakup program untuk mengatur fungsi-fungsi dasar smartphone. Application Framework merupakan serangkaian tool dasar seperti alokasi resource smartphone, aplikasi telepon, pergantian antar – proses atau program, dan pelacakan lokasi fisik telepon. Para pengembang aplikasi memiliki aplikasi penuh kepada tool-tool dasar tersebut, dan memanfaatkannya untuk menciptakan aplikasi yang lebih kompleks. Programmer mendapatkan akses penuh untuk memanfaatkan API (Android Protocol Interface) yang juga digunakan core applications. Arsitektur aplikasi didesain untuk menyederhanakan pemakaian kembali komponen-komponen, setiap aplikasi dapat menunjukkan kemampuannya dan aplikasi lain dapat memakai kemampuan tersebut. Mekanisme yang sama memungkinkan pengguna mengganti komponen-komponen yang dikehendaki. Di dalam semua aplikasi terdapat servis dan sistem yang meliputi satu set Views yang dapat digunakan untuk membangun aplikasi meliputi lists, grids, text boxes, buttons, dan embeddable web browser. Content Providers yang memungkinkan aplikasi untuk mengakses data dari aplikasi lain (misalnya Contacts), atau untuk membagi data yang dimilikinya. Resource Manager, menyediakan akses ke non-code resources misalnya localized strings,graphics, dan layout files.Notification Manager yang memungkinkan semua aplikasi untuk menampilkan custom alerts pada the status bar. Application Layer Puncak dari diagram arsitektur android adalah lapisan aplikasi dan widget. Lapisan aplikasi merupakan lapisan yang paling tampak pada pengguna ketika menjalankan program. Pengguna hanya akan melihat program ketika digunakan tanpa mengetahui proses yang terjadi dibalik lapisan aplikasi. Lapisan ini berjalan dalam Android runtime dengan menggunakan kelas dan service yang tersedia pada framework aplikasi. Lapisan aplikasi android sangat berbeda dibandingkan dengan sistem operasi lainnya. Pada android semua aplikasi, baik aplikasi inti (native) maupun aplikasi pihak ketiga berjalan diatas lapisan aplikasi dengan menggunakan pustaka API (Application Programming Interface) yang sama. Selain komponen sistem diatas android juga memiliki komponen yang cukup penting yaitu Komponen Aplikasi. Fitur penting android
(30)
15
adalah bahwa satu aplikasi dapat menggunakan elemen dari aplikasi lain (untuk aplikasi yang memungkinkan). Sebagai contoh, sebuah aplikasi memerlukan fitur scroller dan aplikasi lain telah mengembangkan fitur scroller yang baik dan memungkinkan aplikasi lain menggunakannya. Maka pengembang tidak perlu lagi mengembangkan hal serupa untuk aplikasinya, cukup menggunakanscroller yang telah ada. Agar fitur tersebut dapat bekerja, sistem harus dapat menjalankan aplikasi ketika setiap bagian aplikasi itu dibutuhkan, dan pemanggilan objek java untuk bagian itu. Oleh karenanya android berbeda dari sistem-sistem lain, Android tidak memiliki satu tampilan utama program seperti fungsi main pada aplikasi lain. Sebaliknya, aplikasi memiliki komponen penting yang memungkinkan sistem untuk memanggil dan menjalankan ketika dibutuhkan.komponen-komponen aplikasi tersebut antara lain :
a. Activities
Activity merupakan bagian yang paling penting dalam sebuah aplikasi, karena Activitymenyajikan tampilan visual program yang sedang digunakan oleh pengguna. Setiap activitydideklarasikan dalam sebuah kelas yang bertugas untuk menampilkan antarmuka pengguna yang terdiri dari views dan respon terhadap event. Setiap aplikasi memiliki sebuahactivityatau lebih. Biasanya pasti akan ada activity yang pertama kali tampil ketika aplikasi dijalankan. Perpindahan antara activity dengan activity lainnya diatur melalui sistem, dengan memanfaatkan activity stack. Keadaan suatu activity ditentukan oleh posisinya dalam tumpukan acitivity,LIFO (Last In First Out) dari semua aplikasi yang sedang berjalan. Bila suatu activity baru dimulai, activity yang sebelumnya digunakan maka akan dipindahkan ketumpukan paling atas. Jika pengguna ingin menggunakan activity sebelumnya, cukup menekan tombol Back, atau menutup activity yang sedang digunakan, maka activity yang berada diatas akan aktif kembali. Memory Manager android menggunakan tumpukkan ini untuk menentukan prioritas aplikasi berdasarkan activity, memutuskan untuk mengakhiri suatu aplikasi dan mengambil sumber daya dari aplikasi tersebut.
Setiapactivity yang berada ditumpukan paling atas, maka dia akan terlihat, terfokus, dan menerima masukkan dari pengguna. Android akan berusaha untuk
(31)
16
membuatactivity aplikasi ini untuk untuk tetap hidup dengan segala cara, bahkan akan menghentikan activity yang berada dibawah tumpukkannya jika diperlukan. Ketika activity sedang aktif, maka yang lainnya akan dihentikan sementara. Paused, dalam beberapa kasus activity akan terlihat tapi tidak terfokus pada kondisi inilah disebut paused. Keadaan ini terjadi jikaactivitytransparan dan tidak fullscreen pada layar. Ketika activity dalam keadaan paused, dia terlihat aktif namun tidak dapat menerima masukkan dari pengguna. Dalam kasus ekstrim, android akan menghentikanactivity dalam keadaan paused ini, untuk menunjang sumber daya bagi activity yang sedang aktif. Stopped, ketika sebuah activity tidak terlihat, maka itulah yang disebut stopped. Activity akan tetap berada dalam memori dengan semua keadaan dan informasi yang ada. Namun akan menjadi kandidat utama untuk dieksekusi oleh sistem ketika membutuhkan sumber daya lebih. Oleh karenanya ketika suatu activity dalam kondisi stopped maka perlu disimpan data dan kondisi antarmuka saat itu. Karena ketika activity telah keluar atau ditutup, maka dia akan menjadi inactive.
b. Services
Suatu service tidak memiliki tampilan antarmuka, melainkan berjalan di background untuk waktu yang tidak terbatas.Komponen service diproses tidak terlihat, memperbarui sumber data dan menampilkan notifikasi.Servicedigunakan untuk melakukan pengolahan data yang perlu terus diproses, bahkan ketika Activity tidak aktif atau tidak tampak.
c. Intents
Intens merupakan sebuah mekanisme untuk menggambarkan tindakan tertentu, seperti memilih foto, menampilkan halaman web, dan lain sebagainya. Intents tidak selalu dimulai dengan menjalankan aplikasi, namun juga digunakan oleh sistem untuk memberitahukan ke aplikasi bila terjadi suatu hal, misal pesan masuk. Intents dapat eksplisit atau implisit, contohnya jika suatu aplikasi ingin menampilkanURL, sistem akan menentukan komponen apa yang dibutuhkan oleh Intents tersebut.
(32)
17
d. Broadcast Receivers
Broadcast Receivers merupakan komponen yang sebenarnya tidak melakukan apa-apa kecuali menerima dan bereaksi menyampaikan pemberitahuan. Sebagian besar Broadcast berasal dari sistem misalnya, batre sudah hampir habis, informasi zona waktu telah berubah, atau pengguna telah merubah bahasa default pada perangkat. Sama halnya dengan service,Broadcast Receivers tidak menampilkan antarmuka pengguna.Namun, Broadcast Receivers dapat menggunakan Notification Manageruntuk memberitahukan sesuatu kepada pengguna.
e. Content Providers
Content Providers digunakan untuk mengelola dan berbagi database. Data dapat disimpan dalam file sistem, dalam database SQLite, atau dengan cara lain yang pada prinsipnya sama. Dengan adanya Content Provider memungkinkan antar aplikasi untuk saling berbagi data. Komponen ini sangat berguna ketika sebuah aplikasi membutuhkan data dari aplikasi lain, sehingga mudah dalam penerapannya.
2.5.2 Fitur android
Fitur yang tersedia pada platform android adalah fitur framework aplikasi. Fitur ini mendukung penggantian komponen dan penggunaan kembali komponen yang sudah dibuat (reusable). Seperti pada umumnya, framework memiliki keuntungan dalam proses pengkodingan karena kita tidak perlu membuat kodingan untuk hal-hal yang pasti dilakukan seperti kodingan menampilkan gambar, kodingan konekdatabase, dll.
a. Mesin Virtual Dalvik
Lingkungan dimana aplikasi android akan bekerja. b. Integrated Browser
BerdasarkanOpen Source engine WebKit. c. Grafis
Dengan adanya fitur ini, kita bisa membuat aplikasi grafis 2D dan 3D karena Android memilikilibrary OpenGL ES1,0.
(33)
18
d. SQlite
Tugas dari fitur ini adalah berperan dalam penyimpanan data.Bahasanya mudah dimengerti dan merupakan sistem databasenya android.
e. Media Support
Fitur yang mendukung audio, video dan gambar. f. GSM Telephony
Tidak semua android punya fitur ini karena fitur ini tergantung dari smartphoneyang dimiliki.
g. Bluetooth, EDGE, 3G, WiFi
Fitur ini tidak selalu tersedia pada android karena tergantung Hardware atau smartphone.Dukungan Perangkat Tambahan Android dapat memanfaatkan kamera, layar sentuh, accelerometer, magnetometers,GPS, akselerasi 2D, dan Akselerasi 3D.
h. Multi-Touch
Kemampuan layaknya handset modern yang dapat menggunakan dua jari atau lebih untuk berinteraksi dengan perangkat.
i. Lingkungan Development
Memiliki fituremulator, tools,untukdebugging,profil dan kinerja memori danpluginuntuk IDE Eclipse.
j. Market
Seperti kebanyakan handphone yang memiliki tempat penjualan aplikasi, Market pada android merupakan katalog aplikasi yang dapat di download dan di install padahandphonemelalui internet.
2.6 Google Play Service
Google Play Services adalah satu wadah yang menjadi tempat dari semua API untuk android versi 2.2 dan seterusnya. Pada Google Play Services ini bertugas memberikan update tanpa harus selalu meminta kepada user untuk repot melakukan sesuatu. Karena control Google Play Services ini ada di tangan Google, maka mereka punya kendali untuk memberikan update berupa apa saja, kapan saja, dan kepada siapa saja. KUnci dari fitur utamaadalah dari layanan
(34)
19
Google. Ada Google Maps, Gmail, Youtube, Google + dan yang lain. Semua ini membutuhkan akses ke API tadi. Dengan kondisi API selalu terbuka dan diberikan langsung ke gadget maka mudah bagi aplikasi untuk mengaksesnya dengan semua fitur baru tak peduli Android yang ada versi 2.2, 4.0 atau 4.3.
2.7 Java
Java adalah bahasa berorientasi objek yang dapat digunakan untuk pengembangan aplikasi mandiri, aplikasi berbasis internet, serta aplikasi untuk perangkat perangkat cerdas yang dapat berkomunikasi lewat internet atau jaringan komunikasi. Dalam Java ada 2 (dua) jenis program berbeda, yaitu aplikasi dan applet. Aplikasi adalah program yang biasanya disimpan dan dieksekusi dari komputer lokal sedangkan applet adalah program yang biasanya disimpan pada komputer yang jauh, yang dikoneksikan pemakai lewatweb browser
Java bukan turunan langsung dari bahasa manapun. OOP (object oriented programming) adalah cara yang ampuh dalam pengorganisasian dan pengembangan perangkat lunak (Hendra Nugraha, 2015).
Gambar 2.2 Java 2.7.1 Sejarah Java
Javasecara resmi diperkenalkan oleh SUN pada dunia pada tanggal 23 Mei 1995. Sedangkan sejarah pembangunan java sendiri sudah dimulai sejak tahun 1991. Saat itu tim “ Stealth Project “mengadakan pertemuan (brainstorming) untuk menciptakan suatu system software yang mampu berjalan pada alat-alat elektronik (small devices). James Gosling berkonsultasi pada ide permbuatan bahasa pemograman. Pada Juni 1991, muncullah bahasa interpreter “Oak” yang menjadi cikal bakal dari Java. Kemudian secara resmi pada tahun 1995 Java
(35)
20
diperkenalkan bersama browser HotJava, Java pun merambah k dunia web. Kenyataan ini mungkin agak sedikit berbeda dengan ide pembuatan java pada awalnya. Internet ternyata membantu membuatJavaterkenal seperti sekarang ini. Memang harus diakui karena semakin berkembangnya Internet, maka focus pemograman saat ini mengarah ke pemograman Internet itu sendiri. Saat ini Java dibagi menjadi 3 framework atau teknologi yaitu J2SE untuk pemograman aplikasi berbasis console dan desktop, kemudian J2EE berskala interprise seperti aplikasi web-base(JSP dan Sevplet), komponen (EJB), web service dan lain-lain. Kemudianframeworkyang terakhir adalah J2ME untuk pemograman small device seperti handphone dan PDA
2.7.2 Fitur-fiturJava a. Applet
Program Java yang dapat berjalan di atas browser, yang dapat membuat halaman HTML lebih interaktif
b. Java Networking
Sekumpulan API yang menyediakan fungsi untuk aplikasi-aplikasi jaringan, seperti penyediaan akses untuk TCP, UDP, IP Address dan URL. Tetapi Java Networking tidak menyediakan akses untuk ICMP dikarenakan alasan sekuriti dan pada kondisi umum hanya administrator (root) yang bisa memanfaatkan Protokol ICMP.
c. Java Database Connectivity (JDBC)
Menyediakan sekumpulan API yang dapat digunakan untuk mengakses database seperti Oracle,MySQL,PostgreSQL,Microsoft SQL Server. d. Java Security
Java Security menyediakan sekumpulan API untuk mengatur security dari aplikasi Java baik secara High Level datau Low Level, seperti public/private key menegement dan certificates.
e. Java Swing
Menyediakan sekumpulan API untuk membangun aplikasi-aplikasi GUI dan model GUI yang diinginkan bisa bermacam-macam.
(36)
21
f. Java RMI
Java RMI menyediakan sekumpulan API untuk membangun aplikasi-aplikasi Java yang mirip dengan model RPC (remote Procedure Call), jadi objek-objek Java bisa di call secara remote di Jaringan Komputer.
g. Java 2D/3D
Merupakan sekumpulan API untuk membangun grafik-grafik 2D/3D yang menarik dan juga akses ke printer.
h. Java Server Pages (JSP)
Berkembang dari Java Servlet yang digunakan untuk menggantikan aplikasi-aplikasi CGI.JSP yang mirip ASP dan PHP merupakan alternatif terbaik untuk solusi aplikasi internet.
i. JNI (Java Native Interface)
Merupakan sekumpulan API yang digunakan untuk mengakses fungsi-fungsi pada library (*.dll atau *.so) yang dibuat dengan bahasa pemrograman yang lain seperti C, C++, dan Basic.
j. Java Sound
Menyediakan kumpulan API untuk manipulasi Sound. k. Java IDL + CORBA
Menyediakan dukungan Java untuk implementasi CORBA (Common Object Request Broker) yang merupakan model distributed-Object untuk solusi aplikasi besar di dunia Networking.
l. Java Card
Java Card utamanya dipakai untuk aplikasi-aplikasi pada smart card, yang sederhana wujudnya seperti SIM Card pada Handphone.
m. JTAPI (Java Telephony API)
Sekumpulan API untuk memanfaatkan devices-devices telephony, sehingga cocok untuk aplikasi-aplikasi CTI (Computer Telephony Integration) yang dibutuhkan seperti ACD (Automatic Call Distribution) PCPBX dan lainnya.
n. Aplikasi Bahasa Java 1. Pemrograman jaringan
(37)
22
2. Pembuatan aplikasi berbasis windows 3. Program untuk membuat web
2.7.3 Eclips IDE(Integrated Development Environment)
Eclipse IDE adalah sebuah IDE (Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform independent). Eclipse pada ini merupakan salah satu IDE favorit dikarenakan gratis dan opensource, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakanplug-in(Hendra Nugraha, 2015). Berikut ini adalah sifat dari Eclipse:
• Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
• Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.
• Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.
Eclipse pada dasarnya merupakan sebuahkernel, yang mengangkatplug-in. Apa yang dapat digunakan di dalam Eclipse sebenarnya adalah fungsi dari plug-inyang sudah diinstal. Ini merupakan basis dari Eclipse yang dinamakanRich Client Platform(RCP). Berikut ini adalah komponen yang membentuk RCP:
• Core platform • OSGi
• SWT (Standard Widget Toolkit) • JFace
(38)
23
Secara standar Eclipse selalu dilengkapi dengan JDT (Java Development Tools),plug-inyang membuat Eclipse kompatibel untuk mengembangkan program Java, dan PDE (Plug-in Development Environment) untuk mengembangkanplug-inbaru. Eclipse besertaplug-in-nya diimplementasikan dalam bahasa pemrograman Java.
Konsep Eclipse adalah IDE yang terbuka (open), mudah diperluas (extensible) untuk apa saja, dan tidak untuk sesuatu yang spesifik, Jadi, Eclipse tidak saja untuk mengembangkan program Java, akan tetapi dapat digunakan untuk berbagai macam keperluan, cukup dengan menginstalplug-inyang dibutuhkan. Apabila ingin mengembangkan program C/C++ terdapat plug-inCDT (C/C++ Development Tools). Selain itu, pengembangan secara visual bukan hal yang tidak mungkin oleh Eclipse,plug-inUML2 tersedia untuk membuat diagram UML. Dengan menggunakan PDE setiap orang bisa membuatplug-insesuai dengan keinginannya. Salah satu situs yang menawarkanplug-insecara gratis sepertiEclipse downloads by project.
2.8 ADT Plugin for Eclipse
Android Development Tools (ADT) adalah plugin untuk IDE eclipse yang didesign powerfull untuk pengembangan aplikasi Android.Developing Android di eclipse sangat direkomendasikan karena banyak kemudahan sebagai tools terintegrasi seperti custom XML editor, debuging dan banyak hal-hal lain yang mempercepat pembuatan aplikasi ( Faren,2010).
ADT (Android Developer Tools) adalah plugin untuk Eclipse yang menyediakan seperangkat alat yang terintegrasi dengan Eclipse IDE.Hal ini menawarkan akses ke banyak fitur yang membantu Anda mengembangkan aplikasiandroid. ADT menyediakan akses GUI untuk banyak alat-alat SDK baris perintah serta alat desain UI untuk prototyping cepat, merancang, dan membangun antarmuka pengguna aplikasi Anda.
(39)
24
a. Grafis Layout Editor
Mengedit dan mendesain tata letak XML file dengan drag dan drop antarmuka. The layout editor membuat antarmuka Anda juga, menawarkan preview seperti yang Anda desain layout Anda. Editor ini dipanggil ketika Anda membuka file XML dengan pandangan menyatakan (biasanya dinyatakan dalam res / layout. Untuk informasi lebih lanjut, lihat grafis Layout Editor.
b. Android Manifest Editor
Mengedit Android memanifestasikan dengan antarmuka grafis sederhana. Editor ini dipanggil ketika Anda membuka file AndroidManifest.xml.
c. Menu Editor
Kelompok menu edit dan item dengan antarmuka grafis sederhana. Editor ini dipanggil ketika Anda membuka file XML dengan <menu> menyatakan (biasanya terletak di folder res / menu).
d. Sumber Editor
Mengedit sumber dengan antarmuka grafis sederhana. Editor ini dipanggil ketika Anda membuka file XML dengan <sumber> tag diumumkan.
e. XML EditorSumber Daya
Mengedit sumber XML dengan antarmuka grafis sederhana. Editor ini dipanggil ketika Anda membuka file XML.
f. Sumber daya yang menghubungkan perangkat tambahan
Selain fitur pengeditan kode normal Eclipse, ADT memberikan tambahan pengalaman pengembangan Android yang memungkinkan Anda untuk cepat melompat ke deklarasi berbagai jenis sumber daya seperti string atau file tata letak.
2.9 Protokol XMPP ( Extensible Messaging and Presence Protocol )
Messaging dan presence Extensible Protocol ( XMPP ) adalah sebuah teknologi terbuka untuk real-time komunikasi,menggunkan Extensible Markup Language ( XML ) sebagai format dasar untuk bertukar informasi. Pada intinya XMPP menyediakan cara untuk mengirim potongan-potongan kecil XML dari
(40)
25
satu entitas ke yang lain dalam mendekati real time. XMPP digunakan dalam berbagai aplikasi dan itu mungkin tepat untuk aplikasi yang digunakan. Layanan tersebut didefinisikan dalam dua spesifikasi utama diterbitkan oleh Internet Task Force ( IETF ) dan puluhan spesifikasi ekstensi diterbitkan oleh XMPP standar yayasan di aplikasi perangkat lunak yang program dan scenario penyebarannya menjadi kepentingan bersama untuk individu dan organisasi, meskipun layanan inti memungkinkan anda untuk membangun banyak aplikasi lainnya ( Oreilly,2009)
Gambar 2.3 XMPP Protokol
Karakteristik XMPP
1. Desentralisasi Arsitektur
Implementasi protokol XMPP merupakan teknologi dengan jaringan client-server yang terdesentralisasi. Jaringan ini mirip dengan jaringan email, dimana paket data dapat diteruskan kepada server XMPP lain yang menjadi tujuannya. Kita dapat saja membuat jaringan XMPP dan kemudian membuat saluran komunikasi dengan server Instant Messaging seperti Google Talk, Yahoo Mesengger dan chat facebook. Instant Messaging sekarang memang kebanyakan menggunakan protokol ini untuk saling komunikasi.
(41)
26
Gambar 2.4 Desentralisasi Server
2 JabberID
Penamaan address entitas pada jaringan XMPP menggunakan layanan DNS. Dengan memakai DNS akan sangat memudahkan untuk menghafal seluruh entitas-entitas yang terhubung, daripada mengingat satu-persatu IP address pada setiap entitas. Tiap entitas pasti memiliki sebuah ID yang unik yang dikenal dengan istilah JabberID atau disingkat dengan JID. JabberID ini terbagi menjadi tiga bagian:local part,domaindanresource.
Gambar 2.5 Jaringan XMP
3. Core Protokol
Core protokol XMPP hanya mentransmisi aliran data dalam format XML. Terdapat tiga jenis aliran XML yang ditransmisikan, antara lain message, presence, dan info query atau lebih dikenal dengan IQ. Jenis pertama message,
(42)
27
merupakangeneralpaket XMPP berisi informasi yang dikirim dari satu entitas ke entitas lainnya. Pengiriman paket ini bersifat fire and forget, artinya entitas pengirim tidak akan mendapatkan result dari paket message yang telah dia kirimkan. Selain itu juga message ini dikirimkan dari dan ke one-to-one entitas atau one-to-many. Jenis yang kedua adalah presence, dikirimkan dengan tujuan availability kehadiran entitas yang terhubung dalam jaringan.Kita dapat mengetahui status onlineatau offline dari setiap entitas karena adanya aliran data presence ini.Tidak seperti message, presence dikirimkan ke semua entitas (broadcast) yang sudah “subscribe” ke entitas tersebut.Terakhir, jenis yang ketiga adalah IQ, digunakan untuk mekanisme request-response antar entitas dalam jaringan XMPP. Mirip dengan metode GET dan POST pada protokol HTTP. Terdapat sebuah entitas yang mengirimkan request ke entitas lain, dan akan menerimaresponsebalasan dari entitas tersebut.
Gambar 2.6 Aliran XML 4. Server XMPP
Pada jaringan XMPP, tidak semua operasi dilakukan oleh server.Tugas server hanya terbatas pada meneruskan aliran data, mencatat status kehadiran entitas dan mengatur roster (subscribing user/entitas). Pemprosesan setiap paket akan dilakukan sendiri oleh masing-masing entitas. Dalam beberapa kasus bahkan kita tidak memerlukan operasi tambahan di server.Kita hanya membutuhkan core protokol dan server XMPP bekerja sebagaimana mestinya. Semua operasi dan proses dilakukan oleh aplikasi client yang kita bangun. Kasusnya seperti pada
(43)
28
game sederhana “Tankar” ini. Game ini merupakan game multi player yang juga memanfaatkancoreprotokol XMPP untuk bertukar data dan berkomunikasi antar pemainnya. Semua proses sepenuhnya ada pada aplikasi client yang di jalankan independent pada masing-masing player. Tidak ada spesifik server, karena aliran data akan berjalan melewati server-server XMPP yang sudah ada.
5. Payload
Setiap child element dari aliran XML yang ditransmisi merupakan payload data aplikasi. Kalau dalam ilmu komunikasi dan informasi, payload yang saya maksudkan disini, sekumpulan data seperti data buku, event, atau informasi apapun yang nantinya akan di proses oleh aplikasi yang kita bangun. Ketiga jenis aliran XML yang sudah saya sebutkan diatas (message, presence, dan IQ), dapat membawa data-data informasi untuk sistem aplikasi.
6. Extensions Protokol
Komunitas XMPP telah membuat banyak sekali extensions yang dapat kita manfaatkan untuk build sistem aplikasi. Extensions disini bukanlah library, module atau add-ons. Bisa dibilang extension ini merupakan kekuatan utama protokol XMPP.
X dari singkatan XMPP merupakan “extensible”.Merupakan sifat yang dimiliki oleh core protokol XMPP. Istilah extensible menurut saya berkenaan dengan sifat core protokol XMPP untuk membawa data (payload) yang telah kita definisikan untuk membangun berbagai macam sistem aplikasi yang berbeda. Sistem aplikasi mulai dari content syndication, push notification, lightweight middleware and web services, whiteboarding, multimedia session negotiation, intelligent workflows, geolocation, social gaming, social networking dan bahkan
cloud computing.
Dari sifat “extensible” ini kemudian terdapat sebuah istilah extensions yang berarti proses dan payload data yang sudah developer rancang untuk tujuan tertentu. Setiap developer dapat merancang atau membangun extensions-nya sendiri. Sehingga akan sangat banyak sekali extensions yang akan dapat kita temukan. Tapi terdapat juga extensions standar yang diatur oleh XSF (XMPP Standart Foundations). Extensions standar ini kemudian di kenal dengan istilah
(44)
29
XEP (XMPP Extension Protocol). Berikut adalah extensions standar yang paling sering digunakan oleh para developer untuk membangun sistem aplikasi:
• Multi User Chat (MUC) • Publish-subscribe
• Bidirectional-streams Over Synchronous HTTP (BOSH) 7. Keamanan Protocol
XMPP support TLS (Transport Layer Security) yang juga merupakan protokol kembaran dari SSL, digunakan untuk menangani keamanan data yang ditransmisikan melalui jaringan XMPP. Integrasi XMPP dengan TLS ini diatur pada sebuahextensionsyaitu XEP-0290.
Gambar 2.7 Enkripsi Paket
2.10 Metode Black Box Testing
Black-box testing adalah metode pengujian perangkat lunak yang tes fungsionalitas dari aplikasi yang bertentangan dengan struktur internal atau kerja. Pengetahuan khusus dari kode aplikasi / struktur internal dan pengetahuan pemrograman pada umumnya tidak diperlukan. Uji kasus dibangun di sekitar spesifikasi dan persyaratan, yakni, aplikasi apa yang seharusnya dilakukan. Menggunakan deskripsi eksternal perangkat lunak, termasuk spesifikasi, persyaratan, dan desain untuk menurunkan uji kasus. Tes ini dapat menjadi fungsional atau non-fungsional, meskipun biasanya fungsional. Perancang uji memilih input yang valid dan tidak valid dan menentukan output yang benar. Tidak ada pengetahuan tentang struktur internal benda uji itu. Metode uji dapat diterapkan pada semua tingkat pengujian perangkat lunak: unit, integrasi,
(45)
30
fungsional, sistem dan penerimaan. Ini biasanya terdiri dari kebanyakan jika tidak semua pengujian pada tingkat yang lebih tinggi, tetapi juga bisa mendominasi unit testing juga. Metode uji coba blackbox memfokuskan pada keperluan fungsional darisoftware. Karena itu uji coba blackbox memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program.Uji coba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya :
1. Fungsi-fungsi yang salah atau hilang 2. Kesalahan interface
3. Kesalahan dalam struktur data atau akses database eksternal 4. Kesalahan performa
5. kesalahan inisialisasi dan terminasi
Berbeda dengan pengujian white box, pengujian black box cenderung diaplikasikan selama tahap akhir pengujian. Pengujian black box harus dapat menjawab pertanyaan sebagai berikut :
a. Bagaimana validitas fungsional diuji
b. Kelas input apa yang akan membuat kasus pengujian menjadi lebih baik
c. Apakah system akan sangat sensitive terhadap harga input tertentu
d. Bagaimana batasan dari suatu data diisolasi
e. Kecepatan data apa dan volume data apa yang akan ditoleransi oleh
System
(1)
25
satu entitas ke yang lain dalam mendekati real time. XMPP digunakan dalam berbagai aplikasi dan itu mungkin tepat untuk aplikasi yang digunakan. Layanan tersebut didefinisikan dalam dua spesifikasi utama diterbitkan oleh Internet Task Force ( IETF ) dan puluhan spesifikasi ekstensi diterbitkan oleh XMPP standar yayasan di aplikasi perangkat lunak yang program dan scenario penyebarannya menjadi kepentingan bersama untuk individu dan organisasi, meskipun layanan inti memungkinkan anda untuk membangun banyak aplikasi lainnya ( Oreilly,2009)
Gambar 2.3 XMPP Protokol
Karakteristik XMPP
1. Desentralisasi Arsitektur
Implementasi protokol XMPP merupakan teknologi dengan jaringan client-server yang terdesentralisasi. Jaringan ini mirip dengan jaringan email, dimana paket data dapat diteruskan kepada server XMPP lain yang menjadi tujuannya. Kita dapat saja membuat jaringan XMPP dan kemudian membuat saluran komunikasi dengan server Instant Messaging seperti Google Talk, Yahoo Mesengger dan chat facebook. Instant Messaging sekarang memang kebanyakan menggunakan protokol ini untuk saling komunikasi.
(2)
Gambar 2.4 Desentralisasi Server
2 JabberID
Penamaan address entitas pada jaringan XMPP menggunakan layanan DNS. Dengan memakai DNS akan sangat memudahkan untuk menghafal seluruh entitas-entitas yang terhubung, daripada mengingat satu-persatu IP address pada setiap entitas. Tiap entitas pasti memiliki sebuah ID yang unik yang dikenal dengan istilah JabberID atau disingkat dengan JID. JabberID ini terbagi menjadi tiga bagian:local part,domaindanresource.
Gambar 2.5 Jaringan XMP
3. Core Protokol
Core protokol XMPP hanya mentransmisi aliran data dalam format XML. Terdapat tiga jenis aliran XML yang ditransmisikan, antara lain message, presence, dan info query atau lebih dikenal dengan IQ. Jenis pertama message,
(3)
27
merupakangeneralpaket XMPP berisi informasi yang dikirim dari satu entitas ke entitas lainnya. Pengiriman paket ini bersifat fire and forget, artinya entitas pengirim tidak akan mendapatkan result dari paket message yang telah dia kirimkan. Selain itu juga message ini dikirimkan dari dan ke one-to-one entitas atau one-to-many. Jenis yang kedua adalah presence, dikirimkan dengan tujuan availability kehadiran entitas yang terhubung dalam jaringan.Kita dapat mengetahui status onlineatau offline dari setiap entitas karena adanya aliran data presence ini.Tidak seperti message, presence dikirimkan ke semua entitas (broadcast) yang sudah “subscribe” ke entitas tersebut.Terakhir, jenis yang ketiga adalah IQ, digunakan untuk mekanisme request-response antar entitas dalam jaringan XMPP. Mirip dengan metode GET dan POST pada protokol HTTP. Terdapat sebuah entitas yang mengirimkan request ke entitas lain, dan akan menerimaresponsebalasan dari entitas tersebut.
Gambar 2.6 Aliran XML 4. Server XMPP
Pada jaringan XMPP, tidak semua operasi dilakukan oleh server.Tugas server hanya terbatas pada meneruskan aliran data, mencatat status kehadiran entitas dan mengatur roster (subscribing user/entitas). Pemprosesan setiap paket akan dilakukan sendiri oleh masing-masing entitas. Dalam beberapa kasus bahkan kita tidak memerlukan operasi tambahan di server.Kita hanya membutuhkan core protokol dan server XMPP bekerja sebagaimana mestinya. Semua operasi dan proses dilakukan oleh aplikasi client yang kita bangun. Kasusnya seperti pada
(4)
game sederhana “Tankar” ini. Game ini merupakan game multi player yang juga memanfaatkancoreprotokol XMPP untuk bertukar data dan berkomunikasi antar pemainnya. Semua proses sepenuhnya ada pada aplikasi client yang di jalankan independent pada masing-masing player. Tidak ada spesifik server, karena aliran data akan berjalan melewati server-server XMPP yang sudah ada.
5. Payload
Setiap child element dari aliran XML yang ditransmisi merupakan payload data aplikasi. Kalau dalam ilmu komunikasi dan informasi, payload yang saya maksudkan disini, sekumpulan data seperti data buku, event, atau informasi apapun yang nantinya akan di proses oleh aplikasi yang kita bangun. Ketiga jenis aliran XML yang sudah saya sebutkan diatas (message, presence, dan IQ), dapat membawa data-data informasi untuk sistem aplikasi.
6. Extensions Protokol
Komunitas XMPP telah membuat banyak sekali extensions yang dapat kita manfaatkan untuk build sistem aplikasi. Extensions disini bukanlah library, module atau add-ons. Bisa dibilang extension ini merupakan kekuatan utama protokol XMPP.
X dari singkatan XMPP merupakan “extensible”.Merupakan sifat yang dimiliki oleh core protokol XMPP. Istilah extensible menurut saya berkenaan dengan sifat core protokol XMPP untuk membawa data (payload) yang telah kita definisikan untuk membangun berbagai macam sistem aplikasi yang berbeda. Sistem aplikasi mulai dari content syndication, push notification, lightweight middleware and web services, whiteboarding, multimedia session negotiation, intelligent workflows, geolocation, social gaming, social networking dan bahkan cloud computing.
Dari sifat “extensible” ini kemudian terdapat sebuah istilah extensions yang berarti proses dan payload data yang sudah developer rancang untuk tujuan tertentu. Setiap developer dapat merancang atau membangun extensions-nya sendiri. Sehingga akan sangat banyak sekali extensions yang akan dapat kita temukan. Tapi terdapat juga extensions standar yang diatur oleh XSF (XMPP Standart Foundations). Extensions standar ini kemudian di kenal dengan istilah
(5)
29
XEP (XMPP Extension Protocol). Berikut adalah extensions standar yang paling sering digunakan oleh para developer untuk membangun sistem aplikasi:
• Multi User Chat (MUC) • Publish-subscribe
• Bidirectional-streams Over Synchronous HTTP (BOSH) 7. Keamanan Protocol
XMPP support TLS (Transport Layer Security) yang juga merupakan protokol kembaran dari SSL, digunakan untuk menangani keamanan data yang ditransmisikan melalui jaringan XMPP. Integrasi XMPP dengan TLS ini diatur pada sebuahextensionsyaitu XEP-0290.
Gambar 2.7 Enkripsi Paket
2.10 Metode Black Box Testing
Black-box testing adalah metode pengujian perangkat lunak yang tes fungsionalitas dari aplikasi yang bertentangan dengan struktur internal atau kerja. Pengetahuan khusus dari kode aplikasi / struktur internal dan pengetahuan pemrograman pada umumnya tidak diperlukan. Uji kasus dibangun di sekitar spesifikasi dan persyaratan, yakni, aplikasi apa yang seharusnya dilakukan. Menggunakan deskripsi eksternal perangkat lunak, termasuk spesifikasi, persyaratan, dan desain untuk menurunkan uji kasus. Tes ini dapat menjadi fungsional atau non-fungsional, meskipun biasanya fungsional. Perancang uji memilih input yang valid dan tidak valid dan menentukan output yang benar. Tidak ada pengetahuan tentang struktur internal benda uji itu. Metode uji dapat diterapkan pada semua tingkat pengujian perangkat lunak: unit, integrasi,
(6)
fungsional, sistem dan penerimaan. Ini biasanya terdiri dari kebanyakan jika tidak semua pengujian pada tingkat yang lebih tinggi, tetapi juga bisa mendominasi unit testing juga. Metode uji coba blackbox memfokuskan pada keperluan fungsional darisoftware. Karena itu uji coba blackbox memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program.Uji coba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya :
1. Fungsi-fungsi yang salah atau hilang 2. Kesalahan interface
3. Kesalahan dalam struktur data atau akses database eksternal 4. Kesalahan performa
5. kesalahan inisialisasi dan terminasi
Berbeda dengan pengujian white box, pengujian black box cenderung diaplikasikan selama tahap akhir pengujian. Pengujian black box harus dapat menjawab pertanyaan sebagai berikut :
a. Bagaimana validitas fungsional diuji
b. Kelas input apa yang akan membuat kasus pengujian menjadi lebih baik c. Apakah system akan sangat sensitive terhadap harga input tertentu d. Bagaimana batasan dari suatu data diisolasi
e. Kecepatan data apa dan volume data apa yang akan ditoleransi oleh System