Rancang Bangun Aplikasi Pelacakan Aset Bergerak Menggunakan Teknologi GPS Model Perangkat Lunak Sebagai Layanan Berbasis SOA pada Platform Java Riyanarto Sarno, Kemas Dimas Ramanditya, Dwi Sunaryono 3,,3 Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember Kampus ITS Sukolilo Surabaya, 60, Indonesia riyanarto@gmail.com, kemas.dimas@gmail.com, 3 dwi.syn@gmail.com Abstrak Kebutuhan pelacakan aset bergerak pada sebuah perusahaan tidak dapat dielakkan. Pelacakan dilakukan harapan agar kinerja dan penggunaan aset bergerak dapat dioptimalkan. Khususnya untuk perusahaan yang memiliki pengiriman paket pada proses bisnisnya, pelacakan menjadi sesuatu yang sangat vital. Masalah utama yang dihadapi tanpa adanya sistem pelacakan adalah, kesulitan untuk mengetahui keberadaan aset bergerak pada waktu tertentu dan hal ini memiliki implikasi pada kendala deteksi rute kendaraan yang menyalahi jalur pengiriman yang telah ditentukan.sedangkan implementasi sistem aplikasi konvensional akan berdampak pada melambungnya biaya investasi yang perusahaan keluarkan. Implementasi dari sistem pelacakan GPS pada masing-masing kendaraan server terpusat diharapkan dapat menjadi solusi untuk masalah di atas. Selain itu, penggunaan model aplikasi sebagai layanan juga dapat menekan biaya investasi yang harus dikeluarkan perusahaan. Kata Kunci: ERP, GPS, SOA, pelacakan, deteksi rute Pendahuluan Penerapan solusi informatika pendekatan tradisional pada perusahaan yang ingin melakukan pelacakan aset bergerak mengalami kendala berupa tingginya biaya implementasi dann alokasi dana perusahaan untuk menyiapkan infrastruktur pelacakan yang cukup besar. Ditambah lagi tingginya biaya pembuatan perangkat lunak yang terkostumasi untuk memenuhi tuntutan proses bisnis perusahaan. Pada kenyataannya, solusi pelacakan aset bergerak pada sebuah perusahaan tidak dapat dielakkan. Pelacakan dilakukan harapan agar kinerja dan penggunaan aset bergerak dapat dioptimalkan. Khususnya untuk perusahaan yang memiliki pengiriman paket pada proses bisnisnya, pelacakan menjadi sesuatu yang sangat vital. Keberadaan paket pada waktu tertentu harus dapat dipantau untuk menyediakan gambaran yang valid mengenai lokasi paket dan menghindari adanya pencurian ataupun keterlambatan penanganan paket. Makalah ini akan membahas mengenai rancang bangun aplikasi pelacakan pada sebuah perusahaan menggunakan konsep SaaS yang diharapkan dapat meminimasi biaya investrasi infrastruktur. Metode analisis yang digunakan di dalam makalah ini adalah berdasarkan Oriented Architecture and Design. Kebutuhan onal Kebutuhan fungsional dalam makalah ini akan diturunkan dari proses bisnis dalam domain fungsional transportasi. Proses-proses bisnis tersebut adalah:. Pelacakan Pelacakan adalah proses bisnis inti di dalam domain fungsional Transportation. Pelacakan dapat dilakukan ketika sebuah kendaraan melakukan pengiriman, maupun ketika sebuah kendaraan sedang tidak dijadwalkan dalam sebuah pengiriman. Vehicle List [R0. Shipment Manager] Tracking Form Gambar. 3 Position List. Pengiriman Pengiriman merupakan proses bisnis yang dilakukan ketika barang sudah dipesan oleh pembeli dan telah dikonfirmasi oleh domain fungsional Inventory.
Shipment Request [R0. Shipment Manager] Schedule Shipment 3 Route Finder 4 Shipment Order R0. Driver Integration of Functional Domain Tabel 3. Conceptual View Stakeholder Diagram Functional Domain Workflow Diagram 7. Acceptance 6 Checking Goods 7. Complaint [Customer] 5 Shipping Logical View Component Matrix of vs Software Component Workflow Diagram 9 Shipment Status Confirmation 8 Report Defected Items Gambar..3 Pengembalian Pengembalian adalah proses bisnis yang dilakukan ketika terjadi kerusakan barang yang dikirim. Pengembalian dilakukan mendata barang-barang yang rusak dan melaporkannya pada bagian inventaris. Web Presentation Physical View Application Data Model Data Access Sedangkan arsitektur yang digunakan untuk membangun aplikasi berbasis web dalam makalah ini adalah sebagai berikut: Gambar.3 Kumpulan fitur yang akan dibuat pada aplikasi makalah ini akan berkisar pada pelacakan keberadaan sebuah kendaraan, ditambah manajemen transaksi pengiriman.adapun fitur-fitur tersebut adalah: Fitur pelacakan kendaraan secara mendetail Fitur pelacakan kelompok kendaraan Fitur penunjuk ketika kendaraan berjalan diluar jalur Fitur penjadwalan dan penugasan pengiriman barang. 3 Desain dan Analisis Arsitektur yang digunakan di dalam makalah ini adalah arsitektur berbasis layanan ( Oriented Architecture) yang memilah fungsi-fungsi dalam sebuah sistem ke dalam bentu layanan web yang tidak terkait antara satu lainnya. Adapun acuan desain di dalam makalah ini (Sarno & Herdiyanti, 00) dapat dilihat pada Tabel 3. Gambar 3. Berdasarkan Tabel 3. desain sistem dibagi menjadi tiga lapisan, yaitu Conceptual View, Logical View, Physical View. 3. Conceptual View Berisi garis besar dari proses bisnis dalam sebuah sistem agar dapat lebih mudah dipahami oleh bagian manajemen (non-teknis). Diagram stakeholder yang digunakan dalam sistem ini melambangkan enntitas yang berkaitan proses bisnis dalam domain fungsional transportasi. Diagram dapat dilihat pada Gambar 3.
Adapun tampilan tabular untuk Gambar 3.3 dapat dilihat pada Tabel 3.3 Sub Process Software 0... v Tabel 3.3 VehicleMast erdata Shipment Process Class Tracking a b c d e f g h i 0. 0.. 0... v v 0...3 v 0...4 v v Gambar 3. Penjelasan untuk aktor berjenis responsible dan informed dapat dilihat pada Tabel 3. Tabel 3. Nama Hak Penjelasan Memiliki kemampuan untuk melakukan Responsible modifikasi data pada aplikasi. Memiliki hak untuk diberikan pemberitahuan atas sebuah informasi Informed spesifik yang telah dimodifikasi melalui aplikasi. 3. Logical View Berfungsi sebagai perantara antara conceptual view dan logical view. Gambaran umum yang telah dibuat pada conceptual view akan dibahas lebih mendetail dalam sudut pandang ini. Berikut ini tampilan diagram pemetaan proses bisnis dalam domain fungsional transportasi kepada komponen yang berasosiai. Gambar 3.3 0. 0.. 0... v v v 0..3 0..3. v v 0.. 0... v v v v 0... v v 0.. 0... v v v v v 0..3 0..3. v v 0..3. v 0.3 0.3. 0.3.. v v 0. Tracking 0.. ShipmentScheduling 0.. ProvidingVehicle Data 0... AssignShipment 0... FuelType 0... Shipment 0... 0...3 0...4 0.. 0... 0..3 0..3. VehicleType VehicleGroup VehicleData DetailedTracking Vehicle DetailedTracking GroupVehicle Tracking FleetTracking 0.. ProvidingVehicleRoute 0... RouteSuggestion 0..3 ConfirmShipmentStatus 0..3. StatusModification 0..3. ShipmentStatus 0.3 Return 0.3. SubmitReturnedArticles 0. Shipping 0.3.. SalesReturn a TrFuelType f TrShipmentGroup b TrVehicleType g TrShipment c TrVehicleGroup h TrRouteSuggestion d TrVehicle i TrRouteHistory e TrShipmentStatus
3.3 Physical View Berisi desain untuk implementasi teknis dari sistem yang telah didefiniskan pada sudut pandang sebelumnya. Pada makalah ini akan dibahas mengenai desain layanan web yang ada dalam sistem domain fungsional transportasi dan juga kelas utama untuk menangani perhitungan keluar jalur. Desain layanan web untuk integrasi domain fungsional inventaris dapat dilihat pada Gambar 3.4. LoadSheet + LoadSheet() + saveshipmentrequest(trdeliveryorder, TrGpsLatLng) : Boolean + submitshipmentrequest(trdeliveryorder) : TrGpsLatLng Gambar 3.4 Penjelasan dari desain diagram kelas pada Gambar 3.4 dipaparkan pada Tabel 3.4 Tabel 3.4 LoadSheet Operation submitshipmentrequest Parameter TrDeliveryOrder Return TrGpsLatLng Product TrGpsLatLng Description Memberikan antarmuka bagi domain fungsional lain untuk mengirimkan permintaan pengiriman barang. Operation saveshipmentrequest Parameter TrDeliveryOrder, TrGpsLatLng Return Boolean Product Boolean Description Digunakan untuk menyimpan data yang diberikan domain fungsional lain ke dalam basis data. Adapun desain kelas yang digunakan untuk perhitungan keluar jalur sebuah kendaraan dapat dilihat pada Gambar 3.5 - x: double - y: double - z: double GeoPoint - antipode() : GeoPoint + GeoPoint(double, double) - georadiantometer(double) : double - getcrossnormalize(geopoint) : GeoPoint - getcrossproductlength(geopoint) : double - getdistance(geopoint) : double - getdistancetolinesegment(geopoint, GeoPoint) : double + getdistancetopolyline(list<gpslatlng>) : double - getdotproduct(geopoint) : double - getgeocentriclatitude(double) : double - getgeopointintersection(geopoint, GeoPoint, GeoPoint, GeoPoint) : GeoPoint - scale(double) : GeoPoint Gambar 3.5 Penjelasan kelas diagram pada Gambar 3.5 dapat dilihat pada Tabel 3.5. Tabel 3.5 Nama Antipode Kembalian GeoPoint ini digunakan untuk menemukan sebuah titik yang ekivalen di belaha bumi lainnya. Nama georadiantometer ini digunakan untuk mengkonversi nilai radian menjadi nilai metric menggunakan konstanta WGS84 (637837.0) Nama getcrossnormalize Kembalian GeoPoint ini merupakan implementasi dari formula pada Error! Reference source not found.. Nama getcrossproductlength ini merupakan implementasi dari formula pada Error! Reference source not found. Nama getdistance ini digunakan untuk menemukan antara kedua buah titik. Nama getdistancetolinesegment ini digunakan untuk mengetahui antara sebuah titik sebuah garis. Nama getdistancetopolyline ini digunakan sebagai fungsi utama yang
dipanggil ketika akan mencari terpendek antara sebuah titik rangkaian garis. Nama getdotproduct ini merupakan implementasi dari formula pada Error! Reference source not found. Nama getgeocentriclatitude ini digunakan untuk mendapatkan nilai latitudinal geosentris dari nilai latitudinal geografis yang telah diubah dalam bentuk radian. Formula yang digunakan adalah δ = tan latitude π tan( ) ( 80 ( 98,573563 ) ) Nama getgeopointintersection Kembalian GeoPoint ini digunakan untuk mencari titik perpotongan semu antara sebuah titik sebuah garis. Nama scale ini merupakan implementasi dari perhitungan dilatasi untuk titik tiga dimensi. 4 Uji Coba Uji coba aplikasi dilakukan dua metode, yaitu blackbox dan whitebox. Tabel 4. No Data Masukan Reaksi Aplikasi [(-7.6087,.763347), (-7.8087,.763347)] Lokasi kendaraan (-7.76,.763803) [(-7.6087,.763347), (-7.8087,.763347)] Lokasi kendaraan (- 7.786,.80996) hijau, sesuai skala (50m) merah, sesuai skala (5000m toleransi %) Hasil Pengujian 4. Uji coba perhitungan keluar jalur Uji coba perhitungan keluar menggunakan sebuah kode khusus dalam bahasa javascript yang menduplikasi fungsi-fungsi dari kode dalam bahasa Java. Hasi uji coba ini dapat dilihat pada Tabel 4.. [(-7.6087,.778347), (-7.6087, hijau,
No Data Masukan Reaksi Aplikasi.763347), sesuai (-7.8087, skala.763347)] (500m Lokasi kendaraan toleransi %) (- 7.755,.767896) Hasil Pengujian 4. Uji coba layanan web Pengujian layanan web metode whitebox memeriksa setiap fungsi pada layanan web yang telah diimplementasikan. Hasil uji coba untuk layanan web LoadSheet dapat dilihat pada Tabel 4.. Tabel 4. No Nilai Masukan Kembalian Hasil iddeliveryorder = 3 idsalesorder = 3 customeraddress = Jalan Pacar Kembang customercity = Surabaya volume = 000.0 true [(-7.6087,.778347), (-7.6087,.763347), (-7.8087,.763347)] Lokasi kendaraan (- 7.73943,.784) merah, sesuai skala (5000m toleransi %) 3 iddeliveryorder = 3 idsalesorder = 3 customeraddress = null customercity = Surabaya volume = 000.0 iddeliveryorder = 3 idsalesorder = 3 customeraddress = Jalan Pacar Kembang customercity = null volume = 000.0 false false 4 iddeliveryorder = 3 idsalesorder = 3 customeraddress = Jalan Pacar Kembang customercity = Surabaya volume = 0 false 5 Kesimpulan Kesimpulan yang dapat disampaikan dari hasil implementasi sistem dalam makalah ini adalah:. Pelacakan aset bergerak sebuah perusahaan dapat dilakukan menanamkan perangkat pelacak
pada masing-masing kendaraan dan menghubungkannya ke server tertentu.. Penggunaan alat pelacak kendaraan membutuhkan server tersendiri untuk dapat menerima kiriman data dari perangkat yang bersangkutan. 3. Deteksi perjalanan yang diluar jalur oleh sebuah kendaraan dapat dilakukan acuan WGS84. 4. Aplikasi sebagai layanan dapat dibangun menggunakan Java sebagai bahasa pemrograman dan bentuk web sebagai antarmuka. 6 Referensi Sarno, R., & Herdiyanti, A. (00). A Portfolio for an Enterprise Resource Planning. IJCSNS International Journal of Computer Science and Network Security.