BAB III METODE PENELITIAN
3.1
Lokasi Penelitian Penelitian dilakukan di PT. Sasaran Ehsan Mekarsari (PT. SEM) yang
beralamat di Jalan Raya Cileungsi, Jonggol Km. 3, Cileungsi Bogor. Penelitian dilakukan pada kantor tersebut karena aktivitas perusahaan seluruhnya dilakukan di sana, seperti lahan pembibitan (Seed Garden), pabrik seleksi (Seed Garden Factory), gudang, dan kantor pusat administrasi (Head Office). Terpusatnya aktivitas mempermudah pengumpulan data yang dibutuhkan pada penelitian ini. 3.2
Langkah Penelitian Pengembangan perangkat lunak dilakukan menggunakan metode waterfall,
dengan proses analisis kebutuhan diperoleh dengan cara menurunkan spesifikasi kebutuhan fungsional/non-fungsional dari sistem yang sedang berjalan ditambah dengan hasil wawancara dengan management PT. SEM. Kerangka penelitian dapat dilihat pada Gambar 5.
Gambar 5 Kerangka penelitian
19! !
20 !
3.2.1 Studi kebutuhan Analisis kebutuhan merupakan suatu tahapan dalam pengembangan perangkat lunak untuk menggali segala bentuk informasi dari awal sampai akhir dengan harapan dapat mengetahui kendala-kendala yang dihadapi. Pada tahapan ini akan digunakan untuk melakukan wawancara mengenai kondisi yang ada sekarang dan masalah yang dihadapi dengan kondisi yang ada beserta harapan untuk memperbaharui kondisi yang ada. Stakeholder yang terkait pada perusahaan akan dilakukan wawancara untuk melakukan verifikasi terhadap kebutuhan sistem yang akan dikembangkan. 3.2.2 Identifikasi masalah Pada tahapan ini, sudah dapat ditentukan beberapa permasalahan yang ada, baik itu merupakan perbaikan dari sistem yang lama ataupun penambahan suatu proses bisnis yang semakin maju. Pengidentifikasian masalah ini terjadi selama masa wawancara dan penurunan kebutuhan dari sistem yang ada. 3.2.3 Analisis Kebutuhan Sistem Analisis terhadap kebutuhan sistem dilakukan berdasarkan studi pustaka dan literatur mengenai konsep REST dan ROA yang dibutuhkan selama penelitian. Pada tahap ini proses reverse engineering (penurunan) kebutuhan fungsional dan non-fungsional sistem dianalisis. Hasil analisis akan didokumentasikan dalam tabel kebutuhan sistem. 3.2.4 Desain sistem Desain sistem secara keseluruhan dilakukan di tahap ini. Arsitektur dikembangkan menggunakan konsep Representational State Transfer (REST). Desain terdiri atas tiga bagian besar sistem: back-end sistem informasi (services provider), back-end sistem informasi geografis (services composer), dan front-end sistem
informasi
(services
consumer).
Dokumentasi
sistem
dilakukan
menggunakan Unified Modelling Language (UML) berupa diagram kelas yang menggambarkan keterhubungan antar entitas yang ada pada sistem yang akan dibangun. Desain sistem terdiri atas tiga tahap: perancangan back-end sistem informasi, back-end GIS, dan front end sistem informasi. Perancangan back-end sistem informasi dilakukan dalam beberapa tahap sesuai dengan Gambar 6.
!
!
21
Gambar 6 Tahap perancangan back-end sistem informasi (Richardson & Ruby 2007) ! Tahap pertama yaitu perancangan back-end sistem informasi. Tahap ini dilakukan dalam beberapa tahap yaitu: 1.
Identifikasi resource melalui entitas yang ada Pada tahap ini dihasilkan diagram domain (domain diagram) yang menggambarkan entitas yang terlibat pada proses bisnis di perusahaan. Diagram domain ini kemudian digunakan sebagai dasar dalam penentuan kandidat resource yang dibutuhkan pada server.
2.
Pemetaan URI untuk setiap resource yang ada Setiap resource yang ada akan dikelompokkan menurut divisi perusahaan tempat entitas tersebut berada. Selanjutnya penamaan URI untuk setiap resource yang ada dilakukan berdasarkan domain perusahaan tersebut sehingga URI dari setiap resource akan berbentuk hirarki, contoh: /marketing/customer
yang
diperuntukkan
bagi
customer
yang
merupakan entitas pada bagian marketing. 3.
Penentuan uniform interface yang digunakan Perancangan uniform interface yang dibutuhkan untuk setiap resource dilakukan pada tahap ini. Secara spesifik, pada tahap ini setiap resource telah memiliki URI-nya masing-masing sehingga rancangan interface yang digunakan secara teknis diberlakukan terhadap URI tersebut. Interface yang akan digunakan pada penelitian ini terdiri atas GET, POST, PUT, dan DELETE. Operasi yang didefinisikan terhadap setiap interface yaitu: a) Interface GET melakukan pembacaan terhadap URI yang diberikan kepada server. Pembacaan yang dilakukan dapat ditujukan kepada seluruh resource yang berdasarkan URI tersebut atau terhadap resource tertentu dengan id spesifik. Saat operasi dilakukan terhadap parameter
!
22 !
yang bukan id, maka data yang dikembalikan dari server adalah resource dengan pengelompokkan berdasarkan parameter yang diberikan. Sebagai contoh URI /prenursery/stock/age akan menghasilkan pembacaan resource /stock/ (stok) yang dikelompokkan berdasarkan /age (usia). Selain itu operasi GET dapat pula dilakukan terhadap sub-resource dari suatu resource seperti /marketing/order_item/order/{order} yang berarti operasi dilakukan terhadap /order_item/ yang merupakan sub-resource dari /order/{order}, dengan {order} adalah suatu identifier. b) Interface POST digunakan untuk melakukan operasi pembuatan resource baru pada URI yang diberikan kepada server. Interface ini dapat pula digunakan untuk menambah item dari suatu resource yang memiliki hubungan
dengan
resource
/marketing/order/ /order_item/,
lainnya.
Sebagai
contoh
resource
didalamnya mengandung satu atau lebih resource
operasi modifikasi terhadap item dari /order/ dalam
hal ini adalah /order_item/ dapat dilakukan dengan menyertakan identitas {order} yang merujuknya. Operasi menggunakan interface POST
pada
URI
/marketing/order_item/order/123
berarti
penambahan item baru terhadap resource /order/ dengan nomor order 123.
c) Interface PUT digunakan untuk melakukan pengubahan terhadap resource tertentu. Operasi dilakukan dengan menyertakan id dari resource yang ingin diubah pada parameter URI yang dikirim kepada server. Sama halnya dengan interface POST, PUT dapat dilakukan terhadap sub-resource dari suatu resource tertentu dengan cara menyertakan id dari resource yang merujuknya. d) Interface DELETE digunakan untuk melakukan penghapusan terhadap resource tertentu. Operasi dilakukan dengan menyertakan id dari resource yang ingin dihapus pada parameter URI yang dikirim kepada server.
!
!
23
4. Perancangan format representasi yang dikirim ke server. Komunikasi antara client dan server dilakukan berdasarkan uniform interface yang telah dirancang pada tahap sebelumnya. Selanjutnya pada tahap ini dilakukan perancangan format representasi yang akan digunakan oleh client dalam mengirimkan data kepada server. Aturan format representasi yang dihasilkan pada tahap ini akan menjadi pedoman bagi client dalam melakukan komunikasi pengubahan (PUT) dan pembuatan baru (POST) untuk resource yang ada terutama dalam hal atribut yang ada untuk setiap resource. 5.
Perancangan format representasi yang dikembalikan dari server. Pada tahap ini dilakukan perancangan format representasi yang dikembalikan oleh server terhadap setiap operasi yang dilakukan untuk setiap resource. Hasil dari tahap ini adalah dokumentasi format representasi yang dapat digunakan oleh client dalam menerima dan membaca resource yang ada.
6.
Integrasi antara satu resource dengan resource lainnya menggunakan hypermedia Perancangan hubungan antara resource yang satu dengan lainnya dilakukan pada tahap ini. Setiap resource yang mengandung resource lainnya akan direpresentasikan menggunakan konsep hypermedia yang pada dasarnya berupa tautan/link ke resource yang dirujuk tersebut. Diagram domain yang dihasilkan sebelumnya digunakan lagi pada tahap ini sebagai rujukan keterhubungan antara resource yang satu dengan lainnya.
7.
Perancangan kode respon dari server Pada tahap ini dirancang kode respon hasil komunikasi antara client dengan server. Perancangan yang akan dilakukan meliputi kode respon yang menunjukkan kesuksesan suatu request maupun kesalahan-kesalahan yang dapat terjadi saat komunikasi berlangsung. Kode respon yang digunakan berdasarkan standard HTTP 1.1 (Fielding et al. 1999). Tahap kedua adalah perancangan back-end GIS yang akan dilakukan
menggunakan framework yang telah ada dalam mengolah data spasial. Selanjutnya perancangan fitur yang disediakan oleh back-end GIS tersebut
!
24 !
ditentukan pada tahap ini yang selanjutnya akan menjadi masukan bagi front-end sistem informasi. Tahap ketiga adalah perancangan front end sistem informasi. Perancangan akan dilakukan menggunakan framework dengan tujuan merefleksikan fitur yang ada dari kedua back-end yang ada. Front-end akan dikembangkan berbasis web yang menampilkan hasil transaksi data dengan kedua back-end yang ada. Frontend sistem tidak akan melakukan banyak proses bisnis karena berperan sebagai client dari web service sehingga rancangan yang dihasilkan pada tahap ini adalah rancangan antarmuka sistem informasi yang pada akhirnya berhubungan langsung dengan pengguna. 3.2.5 Implementasi sistem Implementasi
akan
dikembangkan
menggunakan
beberapa
bahasa
pemrograman dan pada platform yang beragam. Services provider yang berfungsi sebagai back-end sistem informasi dikembangkan menggunakan framework Restler (PHP), services composer yang mengolah data GIS diimplementasikan menggunakan framework geoserver (JAVA), dan front-end yang langsung berinteraksi dengan pengguna akan dikembangkan menggunakan framework Code Igniter (PHP). Sistem operasi yang digunakan adalah empat buah Ubuntu yang diletakkan pada virtual machine. Implementasi front-end sistem informasi digunakan sebagai prove of concept (POC) dari arsitektur sistem secara keseluruhan. 3.2.6 Pengujian sistem Sistem
akan
diuji
menggunakan
data
contoh
(dummy)
yang
merepresentasikan data aktifitas kegiatan penelitian di perusahaan tersebut. Pengujian akan dilakukan secara sederhana yaitu pengujian black box terhadap seluruh fungsi yang tersedia pada back-end sistem informasi dan back-end-gis. Pengujian sistem dilakukan pada front-end sistem informasi menggunakan peramban Google Chrome dengan addon Postman. Pengujian yang dilakukan terdiri atas: 1. Pengujian terhadap keberhasilan transaksi yang dilakukan antara client dan back-end sistem informasi. Pengujian dilakukan dengan melakukan request
!
!
25
dan melihat hasil response yang diberikan sesuai dengan skenario yang dibuat. 2. Pengujian terhadap tema peta dengan melakukan request terhadap back-end GIS dan memeriksa hasil yang diberikan. 3. Pengujian terhadap kode respon yang diberikan oleh server terhadap situasi tertentu. 3.2.7 Dokumentasi Tahap ini merupakan proses pembuatan dokumentasi sistem yang terdiri atas deskripsi arsitektur back-end SI, front-end SI, back-end SIG, dan front-end SIG. Dokumentasi yang dihasilkan akan bermanfaat bagi stakeholder yang memiliki kepentingan terhadap sistem informasi yang ada. Dokumentasi arsitektur akan menjadi panduan bagi pengembang sistem dalam melakukan modifikasi terhadap sistem. Dokumentasi front-end akan menjadi panduan bagi pengguna yang berinteraksi dengan sistem secara langsung.
!