• Tidak ada hasil yang ditemukan

SKRIPSI IMPLEMENTASI WEB SERVICE DENGAN METODE REPRESENTATIONAL STATE TRANSFER (REST) UNTUK INTEGRASI DATA TRANSAKSI DI PT

N/A
N/A
Protected

Academic year: 2021

Membagikan "SKRIPSI IMPLEMENTASI WEB SERVICE DENGAN METODE REPRESENTATIONAL STATE TRANSFER (REST) UNTUK INTEGRASI DATA TRANSAKSI DI PT"

Copied!
84
0
0

Teks penuh

(1)

SKRIPSI

IMPLEMENTASI WEB SERVICE DENGAN METODE

REPRESENTATIONAL STATE TRANSFER (REST) UNTUK

INTEGRASI DATA TRANSAKSI DI PT. MELIANA PERKASA

SEJAHTERA (MPS)

WEB SERVICE IMPLEMENTATION WITH REPRESENTATIONAL

STATE TRANSFER (REST) METHOD FOR DATA TRANSACTION

INTEGRATION IN PT. MELIANA PERKASA SEJAHTERA (MPS)

Diajukan Untuk Memenuhi Syarat Mengerjakan Dan Menempuh Tugas Akhir

COVER HALAMAN

Disusun Oleh:

Nama

: Deniya Raniastri

NIM

: A11.2013.07642

Program Studi

: Teknik Informatika

FAKULTAS ILMU KOMPUTER

UNIVERSITAS DIAN NUSWANTORO

SEMARANG

2017

(2)

ii

PERSETUJUAN

SKRIPSI

Nama : Deniya Raniastri

NIM : A11.2013.07642

Program Studi : Teknik Informatika Fakultas : Ilmu Komputer

Judul Tugas Akhir : Implementasi Web Service dengan Metode Representational State Transfer (REST) untuk Integrasi Data Transaksi Di PT. Meliana Perkasa Sejahtera (MPS)

Tugas Akhir ini telah diperiksa dan disetujui, Semarang, 3 Agustus 2017

Menyetujui, Pembimbing

Ajib Susanto, M. Kom NPP. 0686.11.2000.253

Mengetahui,

Dekan Fakultas Ilmu Komputer

Dr. Drs. Abdul Syukur, MM NPP. 0686.11.1992.017

(3)

iii

HALAMAN

PENGESAHAN

DEWAN PENGUJI

Nama Pelaksana : Deniya Raniastri

NIM : A11.2013.07642

Program Studi : Teknik Informatika Fakultas : Ilmu Komputer

Judul Tugas Akhir : Implementasi Web Service dengan Metode Representational State Transfer (REST) untuk Integrasi Data Transaksi Di PT. Meliana Perkasa Sejahtera (MPS) Tugas akhir ini telah diujikan dan dipertahankan dihadapan Dewan Penguji pada Sidang tugas akhir tanggal 03 Agustus 2017. Menurut pandangan kami, tugas akhir ini memadai dari segi kualitas maupun kuantitas untuk tujuan penganugrahan gelar Sarjana Komputer (S.Kom).

Semarang, 3 Agustus 2017 Dewan Penguji : Anggota 1

Junta Zeniarja, M.Kom NPP. 0686.11.2012.459

Anggota 2

Noor Ageng Setiyanto, M.Kom NPP. 0686.11.1997.125

Ketua Penguji

DR. Khafiizh Hastuti, M.Kom NPP. 0686.11.2000.252

(4)

iv

PERNYATAAN KEASLIAN SKRIPSI

Sebagai mahasiswa Universitas Dian Nuswantoro, yang bertanda tangan di bawah ini, saya :

Nama : Deniya Raniastri NIM : A11.2013.07642

Menyatakan bahwa karya ilmiah saya yang berjudul :

Implementasi Web Service dengan Metode Representational State Transfer (REST) untuk Integrasi Data Transaksi Di PT. Meliana Perkasa Sejahtera (MPS) Merupakan karya asli saya (kecuali ringkasan dan cuplikan yang masing – masing telah saya jelaskan sumbernya dan adanya perangkat pendukung lainnya). Apabila di kemudian hari, karya saya disinyalir bukan merupakan karya asli saya, yang disertai dengan bukti – bukti yang cukup, maka saya bersedia untuk dibatalkan gelar saya beserta hak dan kewajiban yang melekat pada gelar tersebut. Demikian surat pernyataan ini saya buat dengan sebenarnya.

Dibuat di : Semarang

Pada tanggal : 03 Agustus 2017

Yang menyatakan

(5)

v

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH

UNTUK KEPENTINGAN AKADEMIS

Sebagai mahasiswa Universitas Dian Nuswantoro, yang bertanda tangan di bawah ini, saya:

Nama : Deniya Raniastri NIM : A11.2013.07642

Demi mengembangkan Ilmu Pengetahuan, menyetujui untuk memberikan kepada Universitas Dian Nuswantoro Hak Bebas Royalti Non-Ekskusif (Non-exclusive Royalty-Free Right) atas karya ilmiah saya yang berjudul: Implementasi Web Service dengan Metode Representational State Transfer (REST) untuk Integrasi Data Transaksi Di PT. Meliana Perkasa Sejahtera (MPS). Dengan Hak Bebas Royalti Non-Eksklusif ini Universitas Dian Nuswantoro berhak untuk menyimpan, mengcopy ulang (memperbanyak), menggunakan, mengelolanya dalam bentuk pangkalan data (database), mendistribusikannya dan menampilkan / mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya selama tetap mencantumkan nama saya sebagai penulis / pencipta.

Saya bersedia untuk menanggung secara pribadi, tanpa melibatkan pihak Universitas Dian Nuswantoro, segala bentuk tuntutan hukum yang timbul atas pelanggaran Hak Cipta dalam karya ilmiah saya ini.

Demikian surat pernyataan ini saya buat dengan sebenarnya.

Dibuat di : Semarang Pada tanggal : 03 Agustus 2017 Yang menyatakan

(6)

vi

UCAPAN

TERIMA KASIH

Dengan memanjatkan puji syukur kehadirat Allah SWT. Tuhan Yang Maha Pengasih dan Maha Penyayang yang telah melimpahkan segala rahmat, hidayah, dan inayah-Nya kepada penulis sehingga laporan tugas akhir ini dengan judul “Implementasi Web Service dengan Metode REST untuk Integrasi Data Transaksi Di PT. Meliana Perkasa Sejahtera (MPS)” dapat penulis selesaikan sesuai dengan rencana dan tanpa suatu halangan yang berarti.

Penulis menyadari bahwa bimbingan, bantuan, dan doa dari berbagai pihak yang tidak ternilai besarnya, Tugas Akhir ini tidak akan dapat diselesaikan tepat pada waktunya. Oleh karena itu penulis menyampaikan terima kasih kepada : 1. Prof. Dr. Ir. Edi Noersasongko, M.Kom, selaku Rektor Universitas Dian

Nuswantoro Semarang.

2. Dr. Drs. Abdul Syukur, MM, selaku Dekan Fasilkom Universitas Dian Nuswantoro.

3. Dr. Heru Agus Santoso, Ph.D , selaku Ka.Progdi Teknik Informatika- S1. 4. Ajib Susanto, M.Kom, selaku pembimbing tugas akhir yang memberikan ide

penelitian dan selalu sabar dalam memberikan bimbingan, serta pengarahan. 5. Dosen-dosen pengampu di Fakultas Ilmu Komputer Teknik Informatika

Universitas Dian Nuswantoro Semarang yang telah memberikan ilmu.

6. Orang tua penulis tercinta Soegiarto dan Budi Aryanti, tak lupa kakak kakak penulis Dhea Raniasti dan Dwiya Ranyanti yang selalu mendoakan dan memberikan support kepada penulis selama masa pembuatan laporan Tugas Akhir ini.

7. Teman-teman dan para sahabat yang setia dalam memberikan doa, semangat, serta bantuannya kepada penulis.

8. Teman-teman jurusan Teknik Informatika Universitas Dian Nuswantoro angkatan 2013 yang namanya tidak dapat disebutkan satu per satu, terima kasih atas berbagai macam cerita, ilmu dan pengalamannya selama masa perkuliahan ini.

(7)

vii

9. Pihak-pihak yang telah banyak membantu penulis, yang tidak dapat penulis sebutkan namanya satu-persatu.

Akhir kata, penulis ingin menyampaikan bahwa penyusunan Tugas Akhir ini masih sangat jauh dari kesempunaan. Oleh karena itu, penulis sangat mengharapkan berbagai masukan dari semua pihak, baik berupa saran maupun kritik yang sekiranya bisa memperbaiki kekurangan – kekurangan yang ada dalam Tugas Akhir ini. Semoga Tugas Akhir ini dapat bermanfaat dan berguna bagi semua pihak. Amin.

Semarang, 25 Agustus 2017

(8)

viii

ABSTRAK

Sebuah perusahaan harus mampu memanfaatkan kemajuan teknologi dan informasi yang saat ini tengah terjadi sebagai salah satu sarana pendukung proses bisnis yang dimilikinya. PT. Meliana Perkasa Sejatera (MPS) memiliki database dan website yang bersifat tidak terpusat. Hal tersebut menimbulkan adanya kesulitan dalam melakukan pengecekan data transaksi secara terpusat dikarenakan sistem database dan website pada tiap cabang perusahaan yang berbeda-beda, serta diperparah dengan tidak adanya integrasi antara satu database dengan database lainnya. Sehingga untuk melakukan pengecekan data transaksi membutuhkan waktu yang lama.

Berdasarkan permasalahan di atas salah satu kemajuan teknologi yang dapat mengatasinya adalah dengan mengimplementasikan teknologi web service dengan metode Representational State Transfer (REST) yang bertujuan untuk memungkinkan dilakukannya pengecekan data transaksi secara terpusat walaupun PT. Meliana Perkasa Sejahtera (MPS) memiliki database yang berbeda-beda di dalam website yang berbeda-beda pula.

Pada penelitian ini penulis dapat menghasilkan sebuah website yang bersifat terpusat dengan memanfaatkan web service metode REST dalam proses pengambilan datanya yang bertujuan untuk menggabungkan atau menyatukan data-data tersebut walaupun berasal dari data-database yang berbeda-beda.

(9)

ix

DAFTAR ISI

COVER HALAMAN ... i

PERSETUJUAN SKRIPSI ... ii

HALAMAN PENGESAHAN DEWAN PENGUJI... iii

PERNYATAAN KEASLIAN SKRIPSI ... iv

PERNYATAAN PERSETUJUAN ... v

UCAPAN TERIMA KASIH ... vi

ABSTRAK ... viii

DAFTAR ISI ... ix

DAFTAR GAMBAR ... xii

DAFTAR TABEL ... xiv

BAB I PENDAHULUAN ... 1 1.1 Latar Belakang ... 1 1.2 Perumusan Masalah ... 5 1.3 Tujuan Penelitian ... 5 1.4 Batasan Masalah ... 5 1.5 Manfaat Penelitian ... 6

BAB II LANDASAN TEORI ... 7

2.1 Tinjauan Studi ... 7

2.2 Tinjauan Pustaka ... 13

2.2.1 Interoperabilitas... 13

2.2.2 Website ... 14

2.2.3 Service Oriented Architecture (SOA) ... 14

2.2.4 Web Service ... 16

2.2.5 Representational State Transfer (REST) ... 19

2.2.6 JavaScript Object Notation (JSON) ... 21

2.2.7 Agile Scrum ... 22

2.2.8 Unified Modeling Language (UML) ... 24

(10)

x

2.4 Kerangka Pemikiran ... 26

BAB III METODE PENELITIAN... 27

3.1 Objek Penelitian ... 27

3.2 Analisis Kebutuhan Penelitian ... 27

3.2.1 Bahan... 27

3.2.2 Peralatan ... 27

3.3 Jenis dan Sumber Data ... 28

3.4 Metode Pengumpulan Data ... 28

3.4.1 Observasi ... 29

3.4.2 Wawancara ... 29

3.4.3 Studi Pustaka ... 29

3.5 Metode yang Diusulkan ... 31

3.5.1 Representational State Transfer (REST) ... 31

3.6 Metode Pengembangan Sistem ... 33

3.6.1 Product Backlog ... 33 3.6.2 Sprint Backlog ... 34 3.6.3 Sprint ... 34 3.7 Pengujian Software ... 35 3.7.1 Black Box ... 35 3.7.2 White Box ... 36

BAB IV RANCANGAN SISTEM DAN IMPLEMENTASI ... 37

4.1 Rancangan Sistem ... 37

4.1.1 Arsitektur Proses Integrasi Data MPS ... 37

4.1.2 Perancangan Sistem ... 38

4.1.3 Perancangan Desain Antar Muka ... 47

4.2 Implementasi ... 52

BAB V HASIL PENELITIAN DAN PEMBAHASAN ... 55

3.7 Hasil Penelitian ... 55

3.8 Pengujian Sistem ... 61

3.8.1 Pengujian Black Box ... 61

(11)

xi

BAB VI KESIMPULAN DAN SARAN ... 68

6.1 Kesimpulan ... 68

6.2 Saran ... 68

(12)

xii

DAFTAR GAMBAR

Gambar 2. 1 Arsitektur Web Service ... 17

Gambar 2. 2: Contoh Format Penulisan JSON ... 22

Gambar 2. 3: Proses dari Agile Scrum ... 23

Gambar 2. 4 : Kerangka Pemikiran ... 26

Gambar 3. 1 : REST web service………... 32

Gambar 3. 2: Skema Model Agile Scrum ... 33

Gambar 4. 1 : Arsitektur Proses Integrasi Data MPS……… 37

Gambar 4. 2 : Use Case Diagram Sistem Website MPS ... 39

Gambar 4. 3: Activity Diagram Stok Produk ... 40

Gambar 4. 4 : Activity Diagram Rekap Produk ... 41

Gambar 4. 5 : Activity Diagram Laporan Per Canvaser ... 42

Gambar 4. 6 : Activity Diagram Laporan Penjualan... 43

Gambar 4. 7 : Activity Diagram Laporan Pembelian ... 44

Gambar 4. 8 : Diagram Sequence Menu Data Transaksi MPS ... 45

Gambar 4. 9 : Class diagram untuk menghasilkan API dengan PHP ... 46

Gambar 4. 10 : Desain Antar Muka Home ... 47

Gambar 4. 11 : Desain Antar Muka Stok Produk ... 48

Gambar 4. 12 : Desain Antar Muka Rekap Produk ... 49

Gambar 4. 13 : Desain Antar Muka Laporan Per Canvaser ... 49

Gambar 4. 14 : Desain Antar Muka Laporan Penjualan ... 50

Gambar 4. 15 : Desain Antar Muka Laporan Pembelian ... 51

Gambar 4. 16 : Perancangan Arsitektur Web Service MPS... 52

Gambar 5. 1 : Tampilan home dari website MPS Pusat……… 55

Gambar 5. 2 : Tampilan Menu Laporan Stok Produk ... 56

Gambar 5. 3 : Tampilan Menu Laporan Rekap Stok ... 57

Gambar 5. 4 : Tampilan Menu Laporan Canvaser ... 58

Gambar 5. 5 : Tampilan Menu Laporan Penjualan ... 59

Gambar 5. 6 : Tampilan Menu Laporan Pembelian ... 60

(13)

xiii

Gambar 5. 8 : Pengujian request URL dari web client ... 66 Gambar 5. 9 : Pengujian load data pada web client ... 66 Gambar 5. 10 : Pengujian Filter By Date ... 67

(14)

xiv

DAFTAR TABEL

Tabel 1. 1 : Tabel Server PT. MPS ... 2

Tabel 1. 2 : Jumlah Record Data dan Quantity Data Transaksi ... 3

Tabel 2. 1: State of The Art ... 10

Tabel 2. 2: Core Metode HTTP CRUD ... 21

Tabel 3. 1 : Perencanaan Waktu Pengerjaan………. 35

Tabel 5. 1 : Masuk ke Menu Data Transaksi ... 62

Tabel 5. 2 : Pencarian Berdasarkan Tanggal ... 63

Tabel 5. 3 : Pencarian Berdasarkan Nilai Inputan... 64

Tabel 5. 4 : Pengujian read data dari web server ... 65

Tabel 5. 5 : Pengujian request URL dari web service ... 66

Tabel 5. 6 : Pengujian load data pada web client ... 66

(15)

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Sebuah perusahaan harus mampu memanfaatkan kemajuan teknologi dan informasi yang saat ini tengah terjadi sebagai salah satu sarana pendukung proses bisnis yang dimilikinya. Pemanfaatan teknologi dan informasi telah menjadi sebuah kebutuhan utama yang tidak bisa diabaikan begitu saja. Perusahaan yang mampu melakukan pemanfaatan teknologi dan informasi secara maksimal, tentu saja dapat meningkatkan daya saing dan kualitas dari perusahaan tersebut. Selain itu, hal tersebut dapat meningkatkan manajemen pengelolaan perusahaan agar lebih baik dan adanya peningkatan dari segi kualitas pelayanan terhadap pelanggan.

PT. Meliana Perkasa Sejahtera (MPS) adalah suatu perusahaan distributor yang bertugas untuk mendistribusikan barang dari salah satu perusahaan telekomunikasi besar. Perusahaan ini memiliki beberapa cabang yang terletak di berbagai daerah. Dalam rangka menunjang proses transaksi penjualan, PT. Meliana Perkasa Sejahtera (MPS) memiliki beberapa server dengan salah satu kegunaannya adalah untuk menyimpan data-data transaksi penjualan kartu perdana.

Pada setiap cabang perusahaan PT. Meliana Perkasa Sejahtera (MPS) memiliki satu server. Total server yang dimiliki oleh perusahaan tersebut ada empat server. Server-server tersebut menggunakan jenis server Mac mini.

(16)

Tabel 1. 1 : Tabel Server PT. MPS

No Nama Server Daerah Jangkauan

1 Semarang

1. Daerah Imam Bonjol 2. Daerah Tlogosari 3. Daerah Banyumanik 2 Denpasar 1. Bali 3 Salatiga 1. Ungaran 2. Salatiga 3. Ambarawa 4 Outer 1. Pekalongan 2. Pekalongan Kota 3. Kendal

Database dan website yang dimiliki oleh PT. Meliana Perkasa Sejahtera (MPS) tidak bersifat terpusat, sehingga pada setiap cabang perusahaan memiliki sistem database dan domainnya secara tersendiri. Database pada perusahaan tersebut menggunakan My Structured Query

Language (MySQL). Untuk domainnya setiap server memiliki satu domain

dan satu IP publik, sehingga PT. Meliana Perkasa Sejahtera (MPS) memiliki empat domain dan empat IP publik yang digunakan sesuai dengan daerah jangkauan server. Beberapa hal tersebut tentu saja menimbulkan permasalahan. Permasalahan utama yang terjadi adalah adanya kesulitan dalam melakukan pengecekan data transaksi dikarenakan sistem database dan website pada tiap cabang perusahaan, hal tersebut diperparah dengan tidak adanya integrasi antara satu database dengan database lainnya. Dalam pengecekan data transaksi, para petinggi PT. Meliana Perkasa Sejahtera (MPS) harus melakukan pengecekan satu per satu melalui website dengan domain yang berbeda-beda sesuai cabang perusahaan. Hal tersebut mengakibatkan pengecekan data transaksi menjadi kurang praktis dikarenakan harus melakukan pengecekan data dengan satu per satu.

(17)

3

Jumlah record data transaksi penjualan pada PT. Meliana Perkasa Sejahtera (MPS) mencapai ratusan record data per update pada setiap server di setiap daerah jangkauan. Hal itu menunjukkan besarnya data transaksi yang dikelola oleh PT. Meliana Perkasa Sejahtera (MPS). Berikut adalah tabel data transaksi penjualan milik PT. Meliana Perkasa Sejahtera (MPS).

Tabel 1. 2 : Jumlah Record Data dan Quantity Data Transaksi

Nama Server

Jumlah Record Data / Update pada Setiap Server dalam Satu Daerah Jangkauan Quantity Data Transaksi Penjualan Kartu / Update Semarang ± 629 66.662 Denpasar ± 168 5.416 Salatiga ± 79 5.670 Outer ± 109 6.611

Dengan memanfaatkan kemajuan teknologi yang saat ini sedang terjadi diharapkan mampu memberikan solusi berdasarkan permasalahan diatas. Integrasi data antara satu database dengan database yang dimiliki oleh tiap cabang PT. Meliana Perkasa Sejahtera (MPS) merupakan solusi agar pengecekan data transaksi juga dapat dilakukan secara terpusat, sehingga pengerjaan dalam pengecekan data transaksi dapat menjadi lebih efektif dan efisien. Berdasarkan permasalahan di atas salah satu kemajuan teknologi yang dapat mengatasinya adalah dengan mengimplementasikan teknologi web service. Web service merupakan sebuah mekanisme interaksi antar sistem yang menunjang interoperabilitas untuk kepentingan integrasi data yang dapat diakses oleh berbagai pihak melalui internet dengan menggunakan berbagai macam perangkat milik masing-masing pengguna [1]. Melalui web service memungkinkan adanya pertukaran informasi dari satu sistem dengan sistem yang lain walaupun berbeda platform dan bahasa pemrograman sekalipun.

(18)

REST (Representational State Transfer) merupakan salah satu metode arsitektur dalam membangun teknologi web service yang mengimplentasikan konsep perpindahan antar state dengan digambarkan seperti suatu peramban yang sedang melakukan permintaan suatu halaman situs, sedangkan di sisi server akan melakukan pengiriman state halaman situs yang sekarang ke peramban [2]. Ide dasar dari REST adalah dengan fokus utama pada interaksi sumber daya dan pergantian antar state, bukan berfokus pada mengirim dan menerima pesan seperti layanan web berbasis SOAP [3]. Prinsip dari metode REST, yaitu identifikasi resources melalui URI (Uniform Resource Identifier), adanya keseragaman resources (setiap

resources pada REST dimanipulasi oleh empat operasi, yaitu GET, PUT,

POST, DELETE untuk create, read, update, delete), self-descriptive

messages (dapat mengakses bermacam-macam bentuk format, seperti PDF,

HTML, JPEG, XML, JSON, plain text, dsb), hyperlink for stateful

interaction [3].

Apabila teknologi web service ini diimplementasikan pada permasalahan yang telah diuraikan di atas, maka memungkinkan dilakukannya pengecekan data transaksi secara terpusat walaupun PT. Meliana Perkasa Sejahtera (MPS) memiliki database yang berbeda-beda di dalam domain website yang berbeda-beda pula. Hal itu disebabkan web

service akan menjalankan suatu proses untuk menggabungkan atau

menyatukan data-data tersebut walaupun berasal dari database yang berbeda di dalam suatu website yang bersifat terpusat.

Berdasarkan uraian permasalahan di atas, maka penulis akan melakukan penelitian yang berjudul "Implementasi Web Service dengan Metode REST untuk Integrasi Data Transaksi di PT. Meliana Perkasa Sejahtera (MPS)" sebagai salah satu solusi yang akan diberikan terhadap permasalahan yang dialami oleh PT. Meliana Perkasa Sejahtera (MPS).

(19)

5

1.2 Perumusan Masalah

Berdasarkan latar belakang permasalahan yang telah dijelaskan di atas, maka penulis membuat perumusan masalah yang menjadi fokus dari penelitian sebagai berikut:

Bagaimana mengimplementasikan web service dengan metode REST untuk melakukan integrasi data transaksi pada PT. Meliana Perkasa Sejahtera (MPS) yang terdiri dari beberapa domain website dan database, sehingga data transaksi dapat diakses secara terpusat.

1.3 Tujuan Penelitian

Tujuan penelitian berdasarkan latar belakang dan perumusan masalah di atas adalah mengimplementasikan web service dengan metode REST dalam membuat suatu sistem yang berguna untuk integrasi data transaksi agar dapat diakses secara terpusat.

1.4 Batasan Masalah

Dalam menyusun penelitian untuk tugas akhir penulis memberi batasan masalah, sehingga pembahasan dalam tugas akhir ini tidak terlalu menyimpang pada tujuan penelitian semula. Berdasarkan perumusan masalah diatas dapat ditarik batasan masalah sebagai berikut:

1. Data yang akan digunakan adalah data transaksi dari PT. Meliana Perkasa Sejahtera (MPS).

2. Teknologi yang akan digunakan adalah teknologi Service Oriented

Architecture (SOA) atau lebih dikenal dengan sebutan Web Service.

3. Metode yang akan digunakan adalah Web Service dengan metode REST/RESTfull.

4. Bahasa pemrograman yang akan digunakan adalah PHP: Hypertext

(20)

1.5 Manfaat Penelitian

Manfaat yang diharapkan dengan adanya penelitian tugas akhir ini, sebagai berikut:

1.5.1 Manfaat bagi penulis

a. Mampu mengimplementasikan pengetahuannya mengenai web

service yang didapat selama berada di bangku perkuliahan.

b. Dapat mengetahui lebih jauh mengenai penerapan metode REST pada web service.

c. Menambah pengetahuan penulis mengenai penelitian dibidang perkembangan teknologi.

1.5.2 Manfaat bagi perusahaan

a. Proses data transaksi antar server yang tersebar di beberapa daerah dapat diakses secara terpusat melalui satu sistem.

b. Meningkatkan manajemen pengelolaan perusahaan agar lebih baik.

1.5.3 Manfaat bagi perguruan tinggi

a. Menambah koleksi penelitian yang terkait dengan kemajuan teknologi dan informasi.

b. Meningkatkan jumlah peminat penelitian di kalangan mahasiswa.

1.5.4 Manfaat bagi pembaca

a. Dapat dijadikan bahan referensi penelitian guna penelitian selanjutnya beserta pengembangannya.

(21)

7

BAB II

LANDASAN TEORI

2.1 Tinjauan Studi

Bramwell A. Kasaedja, Rizal Sengkey, ST,. MT dan Oktavian A. Lantang, ST., MT [4] pada penelitian mereka yang memiliki judul "Rancang Bangun Web Service Perpustakaan Universitas Sam Ratulangi" melakukan implementasi terhadap teknologi web service dengan menggunakan arsitektur SOAP (Simple Object Access Protocol) dan output berupa XML WSDL. Penelitian ini memiliki tujuan melakukan perancangan dan mengembangkan sebuah sistem yang terintegrasi yang dibangun dengan menggunakan web service untuk pengelolaan anggota perpustakaan, pengelolaan peminjaman dan pengelolaan katalog buku. Hasil yang didapatkan adalah sebuah web service yang telah terhubung dengan MySql. Ketika testing dilakukan maka browser akan menampilkan SOAP Request dan SOAP Response. Method yang dipanggil akan melakukan respon dengan menampilkan data sesuai dengan yang telah didefinisikan di dalam

class. Kesimpulan yang didapat berdasarkan penelitian tersebut adalah web service sebagai penyedia service memiliki fungsi-fungsi yang dapat

mendukung dalam proses pengelolaan katalog, data peminjam dan keanggotaan perpustakaan sehingga menjadi lebih mudah. Selain itu, informasi-informasi perpustakaan dapat diakses dengan lebih mudah oleh siapa saja dan dimana saja melalui web client.

Anil Dudhe dan S.S. Sherekar, Ph.D [5] pada penelitian mereka yang berjudul "Performance Analysis of SOAP and RESTful Mobile Web

Services in Cloud Environment". Mereka melakukan perbandingan dan

pengujian performance antara RESTful web service dan SOAP web service dengan mengembangkan web service client pada perangkat mobile. Mereka mengimplementasikan RESTful dan SOAP web service, serta melakukan

(22)

Engine. Kesimpulan dari penelitian tersebut adalah REST services memiliki proses lebih cepat (membutuhkan waktu yang lebih sedikit) daripada SOAP

web services ketika mereka melakukan pengujian pada localhost dengan

menggunakan Apache Tomcat Web Server. Selain itu mereka juga membuktikan bahwa REST memiliki performance yang lebih baik daripada SOAP pada Cloud server Google App Engine.

Nurzhan Nurseitov, Michael Paulson, Randall Reynolds, dan Clemente Izurieta [6] melakukan sebuah penelitian yang berjudul "Comparison of JSON and XML Data Interchange Formats: A Case Study". Mereka melakukan perbandingan antara dua format data interchange yang saat ini digunakan oleh industri aplikasi, yaitu XML dan JSON. Studi kasus kemudian dilakukan untuk membandingkan sumber daya dan kinerja relatif dari aplikasi yang menggunakan format interchange. Penelitian dilakukan dengan membandingkan antara XML dan JSON yang merupakan output dari web service dengan mengirimkan objek pada server dengan dua macam skenario. Skenario pertama terdiri dari menjalankan transmisi tunggal berupa satu juta objek pada server dan melakukan pengukuran waktu rata-rata yang habis dilakukan selama proses dengan perhitungan yang akurat. Skenario yang kedua terdiri dari menjalankan serangkaian kasus uji coba dengan jumlah yang semakin tinggi dari objek. Pada skenario kedua mengirimkan 20.000, 40.000, 60.000, 80.000, 100.000 objek pada server. Kesimpulan yang dihasilkan, yaitu JSON lebih sedikit dan cepat didalam pengunaan resources dibandingkan dengan XML.

Sujala D.Shetty, Shikhar Sethi, S. Vadivel [7] melakukan sebuah penelitian yang berjudul "Development of a REST Web Service to Help

Organizations Promote Customer Involvement in Online Corporate Social Responsibility". Pada penelitian tersebut mereka membangun sebuah REST web service yang bernama AskToDonate. Hal tersebut bertujuan untuk

memberikan cara inovatif kepada perusahaan dan organisasi dalam melakukan kegiatan Corporate Social Responsibility (CSR) dengan cara

(23)

9

memberikan keleluasaan kepada para customer untuk memilih project mana yang ingin mereka berikan sumbangan atau berkontribusi dari daftar proyek yang didukung oleh perusahaan. Perusahaan dapat mengumpulkan voting dari para user melalui website mereka menggunakan embedded client dan memberikan sumbangan yang sesuai. Pada sisi server merupakan pusat dari AskToDonate service, di bagian ini memaparkan database terhadap permintaan yang berasal dari klien dan mengirimkan data yang diminta kembali ke dalam format yang sesuai. Hasil dari penelitian ini adalah REST

web service telah berhasil diimplementasikan pada AskToDonate service. Service ini memungkinkan para pengguna untuk masuk ke halaman web dan

memilih penyebab social apapun yang didukung oleh perusahaan. Bergantung pada perolehan suara yang didapatkan, perusahaan akan menyumbangkan persentase dari keuntungan mereka untuk tujuan spesifik. Justin Mackenzie dan Roy Eagleson melakukan suatu penelitiannya yang berjudul "A RESTful Service for Aggregating State-Based User

Performance Data in Simulator Scenarios" [8]. Latar belakang dari

penelitian ini adalah berbagai macam simulator menerapkan solusi tersendiri untuk menggabungkan dan menyimpa data user performance. Ketika mengumpulkan data user performance pada simulator yang dijalankan pada berbagai macam mesin dapat menjadi kesulitan bagi para peneliti dan data yang disimpan dalam satu format akan sulit diakses dan diterjemahkan. Sebuah framework diusulkan dalam menyediakan inisialisasi scenario yang dapat digunakan kembali dan adanya fungsi user

performance data aggregation pada simulator. RESTful web service

bertujuan untuk menggabungkan dan menyimpan data dari user

performance dalam cloud dengan tujuan dilakukannya analisis dan evaluasi.

Hasil dari penelitian ini adalah REST API web service telah dikembangkan dan telah berhasil digunakan pada Microsoft Azure cloud dan adanya

multi-phase dua dimensional yang telah dikembangkan untuk menguji dan

(24)

menawarkan kinerja yang baik dan adanya integritas data sampai saat ini. Berdasarkan tinjauan studi di atas telah menunjukkan bahwa web

service memiliki metode arsitektur berupa REST dan SOAP, selain itu output yang dihasilkan berupa XML dan JSON. Pada penelitian ini penulis

memilih untuk menggunakan metode arsitektur web service berupa REST dan menghasilkan output dengan format JSON. Hal itu atas pertimbangan kelebihan dari masing-masing metode berdasarkan penelitian sebelumnya. Perbedaan antara penelitian ini dengan penelitian-penelitian sebelumnya, yaitu penulis menggunakan dua API (Application Programming Interface)

backend webservice dengan bahasa pemrograman yang berbeda pada

penelitian ini. Penulis menggunakan backend dengan menggunakan bahasa pemrograman PHP: Hypertext Preprocessor dan Java. Selain itu, penulis membuat sebuah simulasi aplikasi pada android untuk membuktikan bahwa

web service dapat diakses dimana saja.

Tabel 2. 1: State of The Art

Judul Author Tahun Metode Hasil Penelitian

Rancang Bangun Web Service Perpustakaa n Universitas Sam Ratulangi [4] Bramwell A. Kasaedja, Rizal Sengkey, ST,. MT dan Oktavian A. Lantang, ST., MT 2014 Menggunaka n arsitektur web service berupa SOAP (Simple Object Access Protocol) dan output berupa XML WSDL. Web service sebagai penyedia service memiliki fungsi-fungsi yang dapat mendukung dalam proses pengelolaan katalog, data peminjam dan keanggotaan perpustakaan sehingga menjadi lebih mudah.

(25)

11 Performanc e Analysis of SOAP and RESTful Mobile Web Services in Cloud Environmen t[5] Anil Dudhe dan S.S. Sherekar, Ph.D 2014 RESTful web service dan SOAP web service. REST services memiliki proses lebih cepat daripada SOAP web services ketika dilakukan pengujian pada localhost dengan menggunakan Apache Tomcat Web Server. Selain itu juga dibuktikan bahwa REST memiliki

performance

yang lebih baik daripada SOAP pada Cloud server Google App Engine. Comparison of JSON and XML Data Interchange Formats: A Case Study[6] Nurzhan Nurseitov, Michael Paulson, Randall Reynolds, dan Clemente Izurieta 2009 Perbandinga n antara dua format data interchange yang digunakan oleh industri aplikasi, yaitu XML dan JSON. JSON lebih sedikit dan cepat didalam

pengunaan

resources

dibandingkan dengan XML

(26)

Developmen t of a REST Web Service to Help Organizatio ns Promote Customer Involvement in Online Corporate Social Responsibili ty Sujala D.Shetty, Shikhar Sethi, S. Vadivel 2012 Membangun sebuah REST web service yang bernama AskToDonat e. REST web service telah berhasil diimplementasik an pada AskToDonate service. Service ini memungkinkan para pengguna untuk masuk ke halaman web dan memilih penyebab social apapun yang didukung oleh perusahaan. Bergantung pada perolehan suara yang didapatkan, perusahaan akan menyumbangkan persentase dari keuntungan mereka untuk tujuan spesifik. A RESTful Service for Aggregating State-Based User Justin Mackenzie dan Roy Eagleson 2017 RESTful web service bertujuan untuk menggabung

REST API web

service telah dikembangkan dan telah berhasil digunakan pada

(27)

13 Performanc e Data in Simulator Scenarios kan dan menyimpan data dari user

performance dalam cloud dengan tujuan dilakukannya analisis dan evaluasi. Microsoft Azure

cloud dan adanya multi-phase dua dimensional yang telah dikembangkan untuk menguji dan melakukan validasi fungsionalitas web service. 2.2 Tinjauan Pustaka 2.2.1 Interoperabilitas

Dengan adanya jaringan internet, suatu sistem dapat melakukan pengolahan informasi melalui kolaborasi informasi dari berbagai sumber data. Semakin berkembangnya teknologi, menyebabkan adanya peningkatan kebutuhan untuk melakukan kolaborasi informasi antar suatu sistem informasi yang dapat saling berkomunikasi dan berintegrasi.

Pada setiap sistem informasi milik suatu organisasi akan terdapat perbedaan pada bahasa pemrograman, platform database dan aplikasi. Hal itu dapat mengakibatkan terhambatnya proses transaksi antar sistem informasi yang disebabkan oleh ketidaksesuaian platform sistem, sintak perintah, struktur data dan konsep informasi. Akan tetapi, hambatan-hambatan tersebut mampu diatasi dengan adanya pengembangan pada interoperabilitas antarsistem informasi. Hal itu disebabkan karena tukar-menukar informasi dapat dilakukan secara luas apabila menggunakan metode

(28)

interoperabilitas. Metode interoperabilitas juga melakukan penerapan dengan adanya teknologi standar terbuka yang dapat diakses melalui bermacam-macam platform teknologi informasi, sehingga tidak menyebabkan adanya ketergantungan pada suatu vendor. Secara teknis, interoperabilitas memberikan gambaran pada kemampuan dua atau lebih sistem agar dapat saling melakukan pertukaran informasi atau data, serta dapat saling menggunakan informasi atau data yang ditukarkan tersebut [9].

2.2.2 Website

Website dapat diartikan sebagai kumpulan dari halaman-halaman yang mampu menampilkan informasi berupa data gambar diam ataupun bergerak, data teks, data animasi, video, suara dan atau gabungan dari keseluruhannya. Website memiliki sifat statis maupun dinamis serta membentuk suatu rangkaian yang saling terkait satu sama lain dimana rangkaian tersebut dihubungkan dengan jaringan-jaringan halaman (hyperlink). Dapat dikatakan memiliki sifat dinamis apabila informasi dari suatu website dapat berubah-ubah dan berisi informasi yang interaktif secara dua arah yang berasal dari pemilik dan pengguna website. Suatu website dapat dikatakan statis apabila konten di dalam website tidak berubah dan isi informasi yang dimiliki searah berasal dari pemilik website [10].

2.2.3 Service Oriented Architecture (SOA)

Service Oriented Architecture (SOA) merupakan suatu

bentuk teknologi arsitektur yang memiliki prinsip berupa

service-orientation (berorientasi service) [11]. Yang dimaksud dengan

konsep service-orientation ini adalah membagi satu permasalahan yang besar, kemudian diubah menjadi sekumpulan service-service kecil yang memiliki tujuan untuk membantu dalam menyelesaikan

(29)

15

suatu permasalahan tersebut. Banyak vendor yang telah melakukan dan mengembangkan implementasi dari model SOA, seperti: Sun, IBM dan Microsoft [1].

SOA dibangun berdasarkan beberapa karakteristik, yaitu: (1) Berdasarkan adanya layanan yang telah siap untuk diintegrasikan, (2) Tersedia dalam berbagai macam platform, (3) Menyediakan layanan yang dapat dengan mudah memperkaya fungsi layanan itu, (4) Memiliki suatu standar, (5) Adanya penyusunan dan persiapan dalam struktur kontrak yang jelas, serta dapat melakukan perincian terhadap fungsi-fungsi yang ditawarkan dalam waktu yang bersamaan dan adanya jaminan bahwa layanan tersebut direplikasi [12].

SOA disusun dalam empat komponen [11], yaitu:

1. Operation, yaitu fungsi-fungsi dari suatu service untuk memproses message sehingga menghasilkan sesuatu. Fungsi-fungsi ini nantinya dapat saling melakukan interaksi untuk menyelesaikan suatu unit kerja.

2. Message, yaitu data-data yang diperlukan untuk menyelesaikan sebagian atau keseluruhan unit kerja, yang kemudian akan dilakukan pertukaran antara satu service dengan yang lainnya. 3. Process, suatu business rule untuk menentukan operasi mana

yang akan digunakan dalam mencapai tujuan tertentu.

4. Service, untuk merepresentasikan sekumpulan operation yang berguna dalam menyelesaikan sekumpulan unit kerja yang saling berhubungan.

Keunggulan dari SOA adalah detail internal yang terlibat dalam pemanggilan suatu fungsi layanan akan benar-benar sepenuhnya disembunyikan. Ada interface yang melakukan pemisahan secara tegas antara bagian privat (aplikasi lain tidak

(30)

boleh mengetahuinya) dan bagian publik (bagian yang diperbolehkan untuk diketahui oleh aplikasi lainnya), sehingga aplikasi pada client tidak perlu mengetahui secara detil mengenai hal-hal internal, cukup mengetahui mengenai sintaks fungsi saja. Selain itu, SOA juga dapat mengakomodasi kepentingan server tanpa perlu memberitahukan mengenai detil data yang bersifat rahasia, sementara client tetap dapat melakukan permintaan data yang dibutuhkan kepada server [1].

2.2.4 Web Service

Web service merupakan sebuah mekanisme interaksi antar

sistem yang menunjang interoperabilitas dengan tujuan untuk suatu kepentingan integrasi data yang dapat diakses melalui internet oleh banyak pihak dan media akses dapat memanfaatkan teknologi milik tiap-tiap pengguna [1]. Selain itu, web service dapat diimplementasikan dengan menggunakan platform apapun dan dapat dibangun dengan menggunakan bahasa pemrograman apa saja. Kelebihan yang dimiliki oleh web service [1], yaitu:

1. Language independent, dapat diakses dan dibangun oleh bahasa pemrograman apapun.

2. Lintas platform, tetap memungkinkan terjadinya pertukaran data, walaupun menggunakan perangkat-perangkat dengan sistem operasi yang berbeda.

3. Jembatan penghubung dengan database, web service dapat diibaratkan sebagai “jembatan” penghubung antara database dengan aplikasi tanpa memerlukan adanya driver database. Selain itu, juga tanpa perlu mengetahui database yang digunakan oleh server dan bagaimana bentuk struktur database tersebut apabila ingin mengaksesnya. Aplikasi hanya cukup mengetahui berbagai macam method dan fungsi yang telah

(31)

17

disediakan oleh web service, sehingga dapat melakukan pemanfaatan terhadap fasilitasnya.

4. Penggunaan kembali komponen aplikasi, aplikasi-aplikasi yang berbeda dapat menggunakan sebuah fungsi yang sama.

5. Proses pertukaran data menjadi semakin lebih mudah dan cepat tanpa harus menyesuaikan aplikasi, database, dan platform yang digunakan.

Menurut W3C, arsitektur dasar teknologi web service adalah

Service Oriented Architecture (SOA) dan terdapat tiga komponen

yang membentuk web service [13]:

a. Service provider : Komponen ini menyediakan layanan-layanan dan melakukan pengelolaan terhadap sebuah registry yang menjadikan layanan tersebut tersedia.

b. Service broker : Komponen ini merupakan tempat terjadinya transaksi untuk layanan. Service

brokers memiliki peranan sebagai Gambar 2. 1 Arsitektur Web Service

(32)

penghubung antara penyedia layanan dan pemohon layanan.

c. Service requestor : Komponen ini bekerja dengan service

brokers untuk menelusuri layanan pada

web, kemudian memanggil layanan tersebut untuk membuat aplikasi.

Selain itu, terdapat tiga operasi di dalam web service [13]: 1. Publish / Unpublish : Publish dan unpublish melibatkan

advertising service ke registry (disebut publishing) atau menghapus entri-entri

(disebut unpublishing).

2. Find : Operasi find dilakukan oleh service

requestor dan service broker secara

bersama-sama. Service requestor

menggambarkan jenis layanan yang dicari oleh user, dan service broker menampilkan atau memberikan hasil yang terbaik sesuai permintaan.

3. Bind : Operasi bind berlangsung di antara

service requestor dan service provider.

Kedua belah pihak melakukan negosiasi yang sesuai agar pemohon dapat mengakses dan memanggil layanan dari penyedia.

Web service dibangun dengan 5 (lima) standar dasar [12]:

1. XML : Extensible Markup Language merupakan suatu format standar yang biasa digunakan di dalam proses pertukaran data.

(33)

19

2. WSDL : Web Services Definition Language adalah standar di dalam web service yang menyediakan aturan-aturan object dan fungsi.

3. HTTP(S) : Hypertext Transfer Protocol (Secure) merupakan protokol dalam pertukaran data yang berbasis text dan saat ini telah menjadi protokol standar di dalam pengaksesan internet melalui browser dan media lainnya.

4. UDDI : Universal Description, Discovery, and Integration adalah suatu penampung registry web services yang saat ini telah dikembangkan agar

dapat diakses dan diintegrasikan.

5. SOAP : Simple Object Application Protocol yaitu protocol yang mengemas object dan fungsi pada saat proses pertukaran data.

2.2.5 Representational State Transfer (REST)

Salah satu metode yang dapat digunakan untuk pengembangan teknologi web service adalah REST (Representational State Transfer). Metode REST web service menerapkan konsep perpindahan antar state. State yang dimaksud disini dapat digambarkan apabila browser melakukan permintaan suatu web, maka server akan melakukan pengiriman state halaman

web yang sekarang ke browser [14]. Ide dasar dari metode REST

adalah menggunakan mekanisme HTTP untuk menghubungkan aplikasi dibandingkan dengan menggunakan mekanisme yang kompleks, seperti CORBA, RPC dan SOAP [3]. REST berfokus utama pada interaksi sumber daya dan mengubah state, bukan berfokus pada mengirim dan menerima pesan seperti pada web

(34)

REST didefinisikan sebagai seperangkat prinsip arsitektur yang digunakan untuk membangun web service yang berfokus pada sumber daya sistem, termasuk bagaimana sumber daya states ditujukan dan ditransfer melalui HTTP oleh berbagai klien yang ditulis ke dalam bahasa-bahasa yang berbeda [15]. Selain itu, REST bernavigasi melalui link-link HTTP untuk melakukan aktivitas-aktivitas tertentu, sehingga seakan-akan terjadi perpindahan state satu sama lain [14].

Metode REST didasari oleh empat prinsip [3]:

1. Identifikasi resources melalui Uniform Resource Identifier

(URI): REST web service menyediakan sejumlah resource yang

mengidentifikasikan tujuan dari interaksi dengan para client.

Resource diidentifikasi oleh URI yang dapat mengakomodasi

ruang pengalamatan untuk resource dan service discovery. 2. Keseragaman di dalam resource: Setiap resource di dalam

REST dimanipulasi oleh empat macam operasi, yaitu GET, POST, PUT dan DELETE untuk membaca, memperbarui, membuat, dan menghapus.

3. Penggunaan hyperlink untuk interaksi stateful: Semua interaksi dengan resource bersifat stateless. Interaksi stateful adalah salah satu di mana adanya transfer state secara eksplisit. Ada sejumlah cara yang dapat dilakukan untuk melakukan pertukaran state, seperti menulis ulang URI. State juga dapat ditanamkan di dalam pesan respon, sehingga dapat digunakan untuk referensi kembali di waktu mendatang.

4. Message dengan self-description: resource pada REST tidak terikat sehingga dapat melakukan akses terhadap berbagai macam konten dengan format PDF, JSON, HTML, XML, JPEG,

(35)

21

REST didasarkan pada operasi-operasi yang bersifat universal dan dapat digunakan untuk berbagai macam penyimpanan data dan sistem pencarian. Operasi-operasi ini biasa disebut dengan singkatan CRUD (Create, Read, Update, Delete) [16].

Tabel 2. 2: Core Metode HTTP CRUD

CRUD REST

CREATE POST/PUT Inisialisasi states pada resource yang

telah diberi URI.

READ GET Mengambil state saat ini dari

resource

UPDATE PUT Memodifikasi state dari resource

DELETE DELETE Menghapus resource

2.2.6 JavaScript Object Notation (JSON)

JSON dirancang untuk menjadi bahasa pertukaran data yang dapat dibaca manusia, serta mudah untuk diuraikan dan digunakan oleh komputer [6]. JSON sangat support JavaScript dan paling cocok digunakan untuk aplikasi JavaScript, sehingga memberikan keuntungan kinerja yang signifikan dibandingkan dengan XML, yang masih membutuhkan library tambahan untuk mengambil data dari Document Object Model (DOM) [6]. Selain itu, JSON dapat bekerja seratus kali lebih cepat dibandingkan dengan XML pada

modern browser [6]. JSON dibangun atas dua struktur [17]:

1. Sekumpulan pasangan nilai/nama. Dalam berbagai bahasa, direalisasikan sebagai sebuah record, objek, struct, tabel hash, kamus, array asosiatif atau keyed list.

2. Ordered list dari sekumpulan nilai-nilai. Dalam kebanyakan bahasa, ini direalisasikan sebagai vector, array, list atau urutan.

(36)

Keuntungan dari menggunakan JSON sebagai message

format [3] :

1. JSON adalah format pertukaran data, sedangkan XML adalah format pertukaran dokumen.

2. JSON mudah untuk dibaca dan ditulis. Proses yang terjadi pada JSON pun sederhana, hal itu dikarenakan strukturnya.

3. JSON ringan, easy to handle and parse jika dibandingkan dengan XML.

Gambar 2. 2: Contoh Format Penulisan JSON 2.2.7 Agile Scrum

2.2.7.1 Agile Software Development

Agile Software Development merupakan salah satu

metode pengembangan perangkat lunak. Arti kata “Agile” adalah cepat, bebas bergerak, waspada, ringan. Dalam

Agile Software Development interaksi dan personel lebih

penting dibandingkan dengan proses dan alat, bekerjasama dengan klien akan lebih penting dibandingkan dengan negosiasi kontrak, perangkat lunak kerja lebih penting daripada dokumentasi lengkap, dan responsif terhadap perubahan lebih penting jika dibandingkan dengan menyusun rencana. Apabila dilakukan perbandingan dengan metode pengembangan perangkat lunak yang lainnya, Agile Software Development merupakan suatu model proses yang toleran terhadap perubahan kebutuhan

{

“firstname” : “John”, “lastname” : “Smith” }

(37)

23

sehingga respon terhadap perubahan dapat dilakukan dengan lebih cepat [18].

2.2.7.2 Scrum

Scrum dikembangkan oleh Jeff Sutherland pada

tahun 1993 dengan tujuan untuk menjadi suatu metode dalam pengembangan dan manajemen yang mengikuti prinsip dari metode Agile [18].

Gambar 2. 3: Proses dari Agile Scrum

Aktifitas-aktifitas yang terjadi pada Scrum adalah sebagai berikut [18]:

1. Aktifitas Backlog

Suatu daftar kebutuhan yang akan menjadi prioritas pada klien. Daftar kebutuhan tersebut dapat bertambah sesuai dengan keinginan dan kebutuhan klien.

2. Aktifitas Sprint

Sebuah unit pekerjaan yang diperlukan untuk memenuhi berbagai macam kebutuhan yang telah ditetapkan dalam backlog sesuai dengan waktu yang ditetapkan di dalam time-box (biasanya dalam kurun waktu 30 hari). Selama proses ini berlangsung, backlog tidak diperbolehkan adanya penambahan.

(38)

3. Aktifitas Scrum Meeting

Sebuah pertemuan dengan durasi sekitar 15 menit perhari untuk mengevaluasi apa saja yang telah dikerjakan, mengetahui hambatan-hambatan yang terjadi pada masing-masing tim dan target-target yang akan diselesaikan untuk menjadi bahan pada meeting selanjutnya.

4. Aktifitas Demo

Proses melakukan penyerahan pada software increment kepada klien untuk didemonstrasikan dan

kemudian dievaluasi oleh klien.

Implementasi metode Scrum dilakukan pembagian tim untuk dibagi menjadi tiga role dengan peranannya masing-masing [18], yaitu :

1. Product Owner

Memiliki peranan untuk bertanggungjawab terhadap nilai bisnis dari suatu produk.

2. Scrum Master

Memastikan tim dapat bekerja dengan produktif dan fungsional sesuai dengan tanggungjawabnya masing-masing.

3. Team

Self-organize untuk menyelesaikan pekerjaan.

2.2.8 Unified Modeling Language (UML)

Unified Modeling Language (UML) merupakan sebuah

standar dalam industri dengan tujuan untuk merancang, visualisasi dan mendokumentasikan suatu sistem perangkat lunak. UML memberikan tawaran akan sebuah standar untuk merancang model sebuah sistem. UML dapat digunakan untuk pemodelan pada semua

(39)

25

jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, dalam jaringan dan sistem operasi apapun, serta dapat ditulis dalam bahasa pemrograman apapun [19].

2.3 Tinjauan Objek Penelitian

PT. Meliana Perkasa Sejahtera (MPS) merupakan perusahaan distributor yang bertugas untuk mendistribusikan barang dari salah satu perusahaan telekomunikasi besar. PT. Meliana Perkasa Sejahtera (MPS) berlokasi di Jalan Imam Bonjol no 177, Semarang. Perusahaan ini mempunyai beberapa cabang yang tersebar di beberapa daerah, yaitu Denpasar, Salatiga, Ungaran, Ambarawa, Pekalongan, dan Kendal.

(40)

Gambar 2. 4 : Kerangka Pemikiran

2.4 Kerangka Pemikiran

Berdasarkan latar belakang permasalahan yang telah dijelaskan di atas, penulis membuat kerangka pemikiran yang dijelaskan melalui diagram berikut ini:

(41)

27

BAB III

METODE PENELITIAN

3.1 Objek Penelitian

Pada penulisan penelitian ini, penulis mengambil objek penelitian di PT. Meliana Perkasa Sejahtera (MPS) yang berlokasi di Jalan Imam Bonjol no 177, Semarang.

3.2 Analisis Kebutuhan Penelitian

Penulis memerlukan bahan dan peralatan yang akan digunakan selama penelitian berlangsung. Bahan dan peralatan tersebut akan digunakan oleh penulis supaya penelitian dapat berjalan sesuai dengan tujuan yang diharapkan.

3.2.1 Bahan

Bahan yang diperlukan dalam penelitian ini adalah informasi berupa tabel yang berisi atribut dan tipe data dari data transaksi di dalam database PT. Meliana Perkasa Sejahtera (MPS). Selain itu, dasar dilakukannya penelitian ini berasal dari Tinjauan Studi yang diambil berdasarkan jurnal-jurnal penelitian dan buku-buku yang terkait dalam penelitian ini, sebelumnya telah dibahas dalam bentuk

e-book.

3.2.2 Peralatan

Peralatan yang akan digunakan oleh penulis untuk mengerjakan penelitian ini adalah sebagai berikut:

1. Perangkat Keras Laptop

a. Processor Intel Core i3-5005U CPU @2.0GHz b. RAM DDR3 berkapasitas 4.00GB

(42)

d. Perangkat keyboard dan mouse standart 2. Perangkat Lunak

a. Sistem Operasi Windows 10

b. Atom, yang akan digunakan sebagai text editor pemrograman PHP

c. CodeIgniter, sebagai framework untuk PHP d. Vue .js, sebagai framework untuk front-end

e. XAMPP, yang akan digunakan sebagai server local f. Document Editor Microsoft Office 2010

3.3 Jenis dan Sumber Data

Penulis menggunakan sumber data yang digunakan untuk mendukung penelitian dalam menyelesaikan Tugas Akhir. Sumber datanya dapat dikelompokkan menjadi dua macam, meliputi data primer dan data sekunder. Adapun definisi dan contoh data yang diambil dari objek penelitian, yaitu:

1. Data Primer

Data primer merupakan data yang berasal langsung dari sumbernya. Data tersebut didapatkan melalui pengamatan langsung atau observasi dan melalui wawancara yang dilakukan. Data tersebut akan digunakan sebagai acuan dalam pembuatan aplikasi.

2. Data Sekunder

Data sekunder merupakan data yang diambil melalui studi literatur maupun dokumen yang membahas mengenai web service. Data tersebut dijadikan sebagai pelengkap pada landasan teori tugas akhir ini yang diambil dari berbagai sumber kepustakaan.

3.4 Metode Pengumpulan Data

Penulis menggunakan beberapa metode yang digunakan untuk mengumpulkan data dalam penelitian ini adalah sebagai berikut:

(43)

29

3.4.1 Observasi

Metode observasi merupakan metode yang dilakukan melalui pengamatan secara langsung mengenai suatu kegiatan yang sedang dilakukan. Metode observasi yang dilakukan oleh penulis, yaitu mengamati secara langsung proses sistem yang sedang berjalan pada PT. Meliana Perkasa Sejahtera (MPS).

3.4.2 Wawancara

Metode wawancara merupakan suatu metode yang dilakukan melalui wawancara atau tanya jawab langsung dengan pihak-pihak yang bersangkutan dan berkaitan sehubungan dengan sistem informasi pada PT. Meliana Perkasa Sejahtera (MPS) mengenai proses atau alur kerja sistem yang sudah berjalan.

3.4.3 Studi Pustaka

Suatu metode penelitian yang dilakukan dengan mencari dan melakukan pemahaman terhadap teori-teori yang terdapat pada sumber literature, seperti jurnal dan buku terkait dengan kegiatan penelitian yang akan dilakukan. Dalam penelitian kali ini, penulis menggunakan teori yang berhubungan dengan web service dan REST web service.

Berikut ini adalah daftar jurnal yang digunakan oleh penulis yang berkaitan dengan web service dan REST web service:

1. Jurnal “Kebutuhan Web Service untuk Sinkronisasi Data antar Sistem Informasi dalam E-Gov di Pemkab Bantul Yogyakarta” [1].

Pada jurnal ini mengenai penelitian terhadap implementasi web

service untuk melakukan sinkronisasi data terhadap sistem

(44)

Pada jurnal ini menjelaskan mengenai pengertian dan kelebihan-kelebihan yang dimiliki oleh web service.

2. Jurnal “Penerapan Teknologi Web Service Untuk Integrasi Layanan Puskesmas dan Rumah Sakit” [20].

Jurnal ini mengenai implementasi web service pada integrasi layanan puskesmas dan rumah sakit. Pada jurnal ini membahas bahwa arsitektur web service menurut W3C bahwa ada 3 peran berbeda yang menunjukkan peran dari masing-masing komponen dalam sistem, yaitu service provider, service

requestor, dan service registry.

3. Jurnal “Aplikasi Iklan Baris Online menggunakan Arsitektur REST WebService” [14].

Jurnal ini membahas mengenai penelitian yang disusun agar proses bisnis yang terjadi pada seorang konsumen (client) pada saat melakukan permintaan dan pencarian barang, terintegrasi dengan aplikasi web. Pada jurnal ini juga menerangkan mengenai pengertian REST web service dan konsep kerja REST

web service.

4. Jurnal “RESTful Web services: The basics”[21].

Secara garis besar, jurnal ini membahas tentang konsep dasar RESTful web service.

5. Jurnal “Development of a REST Web Service to Help Organizations Promote” [7].

Jurnal ini mengenai implementasi REST web service yang bernama AskToDonate.

6. Jurnal “A RESTful Service for Aggregating State-Based User Performance Data in Simulator Scenarios” [8].

Jurnal ini membahas mengenai implementasi RESTful web

service bertujuan untuk menggabungkan dan menyimpan data

dari user performance dalam cloud dengan tujuan dilakukannya analisis dan evaluasi.

(45)

31

7. Jurnal “A Performance Analysis of WS-* (SOAP) & RESTful Web Services for implementing Service and Resource Orientated Architectures” [16].

Pada jurnal ini, penulis mengutip mengenai operasi-operasi REST bersifat universal dan dapat digunakan untuk berbagai macam penyimpanan data dan sistem pencarian.

3.5 Metode yang Diusulkan

3.5.1 Representational State Transfer (REST)

Metode REST web service menerapkan konsep perpindahan antar state. State yang dimaksud disini dapat digambarkan apabila

browser melakukan permintaan suatu web, maka server akan

melakukan pengiriman state halaman web yang sekarang ke browser [14].

Implementasi dari REST web service harus mengikuti 4 prinsip dasar [7], yaitu :

1. Menggunakan metode HTTP (operasi Create / Read / Update /

Delete).

2. Be stateless

Dalam aplikasi REST web service, semua data, konteks dan parameter yang dibutuhkan oleh komponen dari sisi server untuk menghasilkan respons disertakan di dalam header HTTP dan

body dari request. Ketika melakukan proses pada request, server

tidak diharuskan untuk mengambil status aplikasi atau konteks apapun.

3. URI harus menyerupai struktur dari direktori

URI (Uniform Resource Identifiers) adalah suatu antarmuka dalam self-documenting yang tidak sulit untuk dijelaskan bagi para developer untuk memahami apa yang ditujukan dan bagaimana cara memperoleh sumber daya terkait. Struktur URI

(46)

mudah dipahami dan dapat diprediksi karena menyerupai struktur direktori.

4. Transfer XML/JSON

Sebuah representasi dari resource dapat mencerminkan state yang sedang terjadi saat ini dan berbagai macam atribut

resources ketika dilakukan request oleh aplikasi cliet. Hal ini

dapat berupa cuplikan atau catatan dalam database. Representasi ini dipertukarkan antar REST web service dan client dalam format XML atau JSON.

Berikut adalah diagram yang menjelaskan cara kerja dari REST web service [8]:

Gambar 3. 1 : REST web service

Service menerima adanya HTTP request pada berbagai

macam URL endpoints dengan berbagai jenis HTTP request untuk membedakan antara berbagai macam action.

Service ini memiliki kemampuan untuk mengumpulkan data

dari aplikasi klien dengan menggunakan operasi-operasi HTTP dengan adanya performance data di bagian body pada request.

Service kemudian menerima dan memberi otorisasi pada request,

(47)

33

3.6 Metode Pengembangan Sistem

Gambar 3. 2: Skema Model Agile Scrum

3.6.1 Product Backlog

Suatu proses untuk melakukan pengumpulan kebutuhan-kebutuhan awal yang diperlukan oleh sistem yang akan dibuat. Pada proses product backlog dilakukan pengumpulan terhadap kebutuhan awal dari web service yang akan dikembangkan. Pengumpulan kebutuhan dilakukan melalui proses observasi, wawancara dan studi pustaka yang telah dilakukan sebelumnya. Setelah kebutuhan dari

web service telah terkumpul, kemudian dilakukan pengurutan

berdasarkan urutan prioritas [22]. Selanjutnya, kebutuhan-kebutuhan tersebut akan dipecah menjadi beberapa sprint backlog.

Sistem yang akan dibuat di dalam penelitian ini adalah sebuah website yang datanya akan diambil dengan menggunakan

web service dengan metode REST. Data untuk website tersebut

(48)

3.6.2 Sprint Backlog

Product backlog diubah menjadi lebih spesifik dalam teknis

pengerjaan sebuah sistem. Pada tahap ini adanya suatu analisis secara keseluruhan sebelum dilakukannya eksekusi terhadap pengerjaan web service. Fitur yang telah diambil dari product

backlog akan dibagi-bagi menjadi suatu to-do list yang lebih spesifik

kemudian dieksekusi selama proses sprint [22].

To-do-list dalam pembuatan produk dari penelitian ini, yaitu:

1. Analisis : Melakukan analisa terhadap kebutuhan data yang akan digunakan, kebutuhan perangkat lunak dan keras, serta spesifikasi sistem. 2. Desain : Penulis membuat desain rancangan dari sistem

yang akan dibangun dengan menggunakan

Unified Modeling Language (UML).

3. Implementasi : Dalam tahap implementasi ini, penulis akan membangun sebuah website dan juga implementasi web service metode REST. 4. Testing : Setelah sistem selesai dibangun, tahapan

selanjutnya adalah pengujian atau testing. Hal tersebut bertujuan untuk mencari error system, supaya sistem dapat diperbaiki sehingga dapat berjalan sebagaimana mestinya.

3.6.3 Sprint

Pecahan dari sprint backlog yang terdiri dari pengerjaan suatu kebutuhan yang lebih spesifik. Pada tahapan ini dilakukan penentuan lama pengerjaan dari sebuah sprint berdasarkan tingkat kesulitan kebutuhan yang akan dikerjakan di dalamnya.

(49)

35

Tabel 3. 1 : Perencanaan Waktu Pengerjaan

No Kegiatan

Waktu Pengerjaan

Bulan ke-1 Bulan ke-2

1 2 3 4 1 2 3 4

1 Analisis kebutuhan data, kebutuhan perangkat lunak & keras, serta spesifikasi sistem 2 Desain perancangan sistem 3 Implementasi membangun

website dan web

service

4 Testing code

3.7 Pengujian Software

3.7.1 Black Box

Pengujian black box adalah suatu pengujian untuk mengetahui apakah semua perangkat lunak telah berjalan dengan semestinya sesuai dengan kebutuhan fungsional yang didefinisikan [23]. Metode pengujian black box memastikan bahwa perangkat lunak telah mendapatkan serangkaian kondisi inputan yang sepenuhnya telah menggunakan semua persyaratan fungsional pada suatu program. Black box testing dapat menemukan kesalahan-kesalahan dalam kategori berikut ini:

(50)

2. Fungsi-fungsi yang tidak benar atau hilang 3. Kesalahan interface

4. Inisialisasi dan adanya kesalahan dalam terminasi 5. Kesensitifan sistem terhadap nilai input tertentu 6. Batasan dari suatu data

7. Validitas fungsional 3.7.2 White Box

White box testing merupakan suatu pengujian yang bertujuan

untuk memperlihatkan cara kerja dari suatu produk yang dibuat secara terperinci sesuai dengan spesifikasinya [23]. Selain itu, pengujian white box menggunakan struktur kontrol pada program untuk memperoleh suatu kasus uji. Pengujian white box dilakukan dengan melakukan pengujian berbasis path. Melalui pengujian white

box akan didapatkan suatu kasus uji berupa:

1. Menjamin seluruh jalur independen dieksekusi sekurang-kurangnya sekali

2. Memastikan seluruh loop bekerja sesuai dengan batasannya 3. Menguji semua keputusan logical

(51)

37

BAB IV

RANCANGAN SISTEM DAN IMPLEMENTASI

4.1 Rancangan Sistem

4.1.1 Arsitektur Proses Integrasi Data MPS

Gambar 4. 1 : Arsitektur Proses Integrasi Data MPS Penjelasan :

PT. Meliana Perkasa Sejahtera (MPS) pada setiap cabangnya memiliki website dengan domain dan database yang terpisah-pisah. Proses diawali dari setiap transaksi di setiap cabang akan tersimpan

Semarang Denpasar

Salatiga Outer

(52)

pada database yang berbeda-beda. Kemudian dibuatlah API web

service dengan metode REST yang berguna untuk menarik data dari

database pada tiap-tiap website. Setelah data ditarik oleh API, kemudian data dapat diakses oleh sebuah website secara terpusat. 4.1.2 Perancangan Sistem

Pada metode perancangan sistem penulis menggunakan Unified Modeling Language (UML) sebagai pemodelannya. Adapun tahapan perancangannya sebagai berikut:

1. Use Case Diagram

Pada use case diagram, memperlihatkan adanya objek-objek serta relasi antar objek [19]. Tujuan dari pembuatan use case

diagram adalah untuk mendapatkan dan menganalisis informasi

persyaratan yang cukup untuk mempersiapkan model yang dapat mengkomunikasikan apa yang diperlukan dari perspektif pengguna, akan tetapi bebas dari detail fisik tentang bagaimana sistem akan dibangun dan diimplementasikan [24]. Penulis membuat use case diagram pada website MPS yang akan melakukan akses data secara terpusat.

(53)

39

Gambar 4. 2 : Use Case Diagram Sistem Website MPS Berdasarkan use case diagram di atas, dapat diketahui bahwa user dapat membaca laporan stok produk, laporan rekap produk, laporan per canvasser, laporan penjualan dan laporan pembelian pada data transaksi di website MPS Pusat. Selain itu,

user juga dapat melakukan pencarian data pada masing-masing

menu tersebut. Setelah dilakukan pencarian data, maka sistem akan menampilkan data berdasarkan pencarian tersebut.

2. Activity Diagram

Activity diagram adalah menggambarkan workflow (aliran

kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Hal yang perlu diperhatikan bahwa activity diagram

menggambarkan aktivitas sistem bukan apa yang dilakukan oleh aktor [24].

(54)

Berikut activity diagram yang terjadi pada website MPS : Stok Produk

Gambar 4. 3: Activity Diagram Stok Produk

Agar dapat membaca laporan stok produk, user memilih menu stok produk. Kemudian akan muncul data dari stok produk. Selain itu user juga dapat melakukan pencarian data stok produk. Kemudian data akan tampil berdasarkan hasil pencarian.

(55)

41

Rekap Produk

Gambar 4. 4 : Activity Diagram Rekap Produk

Dalam membaca rekap produk, user harus memilih menu rekap produk. Setelah itu, sistem akan memunculkan data rekap produk. Selain itu user juga dapat melakukan pencarian data pada menu rekap produk tersebut. Kemudian data akan tampil berdasarkan hasil pencarian.

(56)

Laporan Per Canvaser

Gambar 4. 5 : Activity Diagram Laporan Per Canvaser

User harus memilih menu laporan per canvasser, kemudian

sistem akan menampilkan data laporan per canvasser. Selain itu,

user juga dapat melakukan pencarian data berdasarkan tanggal

dan melakukan inputan pencarian yang diinginkan. Kemudian data akan menampilkan hasil pencarian tersebut.

(57)

43

Laporan Penjualan

Gambar 4. 6 : Activity Diagram Laporan Penjualan Untuk mendapatkan data penjualan, user harus memilih menu laporan penjualan. Setelah itu, sistem akan memunculkan data laporan penjualan. Selain itu user juga dapat melakukan pencarian data berdasarkan tanggal dan dengan melakukan inputan sesuai dengan kebutuhan. Kemudian sistem akan menampilkan data berdasarkan hasil pencarian.

(58)

Laporan Pembelian

Gambar 4. 7 : Activity Diagram Laporan Pembelian

Untuk mendapatkan data pembelian, user harus memilih menu laporan pembelian. Setelah itu, sistem akan memunculkan data laporan pembelian. Selain itu user juga dapat melakukan pencarian data berdasarkan tanggal dan dengan melakukan inputan pencarian sesuai kebutuhan. Kemudian sistem akan menampilkan data berdasarkan hasil pencarian.

Gambar

Tabel 1. 1 : Tabel Server PT. MPS  No  Nama Server  Daerah Jangkauan
Tabel 1. 2 : Jumlah Record Data dan Quantity Data Transaksi
Tabel 2. 2: Core Metode HTTP CRUD
Gambar 2. 3: Proses dari Agile Scrum
+7

Referensi

Dokumen terkait

Menyatakan bahwa skripsi saya yang berjudul “ PENGGUNAAN ALAT BANTU PEMBELAJARAN DALAM MENINGKATKAN HASIL BELAJAR LOMPAT JAUH GAYA BERJALAN DI UDARA PADA SISWA KELAS X IPA 2

Sugestopedia bertujuan untuk mempercepat proses pembelajaran bahasa, guru memegang peranan otoritas di dalam kelas agar strategi ini berhasil, maka para siswa

Untuk mengasah minda murid berfikir secara tuntas, soalan KBAT turut disertakan dalam setiap latihan!. Aktiviti pembelajaran yang sesuai dengan perkembangan

Visi pembangunan kawasan perbatasan seperti yang tertuang dalam Rancangan Undang-Undang Rencana Pembangunan Jangka Panjang Nasional Tahun 2005-2025 menyebutkan bahwa

Berdasarkan hasil evaluasi analisis kebutuhan yang didapat diperoleh persentase sebagai berikut (1) 100% siswa memerlukan model pembelajaran berbasis mobile (2) terdapat 65%

Beban silo yang bekerja relatif dekat dengan tepi lereng telah menyebabkan arah pergerakan tanah pada Gambar 4, bergerak dari dasar pondasi langsung menuju ke lereng bagian

Aplikasi atau komponen yang berjalan di awan ( cloud ); 2). Kebutuhan bisnis untuk melakukan perkiraan / estimasi kebutuhan bisnis. Organisasi harus aktif mengelola beban

Edema biasa terjadi pada kehamilan normal, sehingga edema bukanlah tanda pre-eklampsia yang dapat dipercaya kecuali jika edema juga mulai terjadi pada tangan dan wajah, serta