0% menganggap dokumen ini bermanfaat (0 suara)
2 tayangan25 halaman

REST Web Service untuk Perbandingan Harga Pengiriman

Dokumen ini adalah skripsi yang disusun oleh Damar Riyadi untuk memenuhi syarat memperoleh gelar sarjana S1 di Jurusan Teknik Informatika. Skripsi ini berjudul 'Rancang Bangun REST Web Service untuk Perbandingan Harga Pengiriman dengan Metode Web Scrapping dan Pemanfaatan API', yang bertujuan untuk memberikan solusi dalam membandingkan harga pengiriman. Penelitian ini mencakup analisis, perancangan, dan implementasi sistem menggunakan teknologi web service.

Diunggah oleh

A.F
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
2 tayangan25 halaman

REST Web Service untuk Perbandingan Harga Pengiriman

Dokumen ini adalah skripsi yang disusun oleh Damar Riyadi untuk memenuhi syarat memperoleh gelar sarjana S1 di Jurusan Teknik Informatika. Skripsi ini berjudul 'Rancang Bangun REST Web Service untuk Perbandingan Harga Pengiriman dengan Metode Web Scrapping dan Pemanfaatan API', yang bertujuan untuk memberikan solusi dalam membandingkan harga pengiriman. Penelitian ini mencakup analisis, perancangan, dan implementasi sistem menggunakan teknologi web service.

Diunggah oleh

A.F
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

RANCANG BANGUN REST WEB SERVICE UNTUK PERBANDINGAN

HARGA PENGIRIMAN DENGAN METODE WEB SCRAPPING


DAN PEMANFAATAN API

SKRIPSI

disusun oleh
Damar Riyadi
10.11.3910

JURUSAN TEKNIK INFORMATIKA


SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AMIKOM YOGYAKARTA
YOGYAKARTA
2013
RANCANG BANGUN REST WEB SERVICE UNTUK PERBANDINGAN
HARGA PENGIRIMAN DENGAN METODE WEB SCRAPPING
DAN PEMANFAATAN API

SKRIPSI

untuk memenuhi sebagian persyaratan


memperoleh gelar sarjana S1
pada jurusan Teknik Informatika

disusun oleh
Damar Riyadi
10.11.3910

JURUSAN TEKNIK INFORMATIKA


SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AMIKOM YOGYAKARTA
YOGYAKARTA
2013
ii
iii
PERNYATAAN KEASLIAN

Saya yang bertanda tangan di bawah ini menyatakan bahwa skripsi ini

merupakan karya saya sendiri (ASLI) dan isi dalam skripsi ini tidak terdapat karya

yang pernah diajukan oleh orang lain untuk memperoleh gelar akademis di suatu

institusi pendidikan, dan sepanjang pengetahuan saya juga tidak terdapat karya

atau pendapat yang pernah ditulis dan/atau diterbitkan orang lain kecuali yang

secara tertulis diacu dalam naskah ini dan disebutkan dalam daftar pustaka.

Yogyakarta, 25 November 2013

Damar Riyadi
10.11.3910

iv
MOTTO

Allah akan meninggikan orang- oranng yang beriman diantaramu dan orang-
orang yang beri ilmu pengetahuan beberapa derajat.

Umur manusia pendek, sedangkan ilmu begitu banyak. Ambillah saripati ilmu dan
tinggalkanlah yang tidak (kurang) bermanfaat.

Ilmu itu diukur dengan tiga jengkal: Apabila seseorang sampai pada jengkal
pertama maka dia akan membanggakan diri, apabila sampai pada jengkal kedua
dia akan bersifat tawaddu' (merendahkan hati),apabila sampai pada jengkal
ketiga dia akan menyadari bahwa dia sebenarnya tak mengetahui apa-apa.

Bersemangatlah untuk meraih apa yang bermanfaat bagimu, mohonlah


pertolongan kepada Allah, dan jangan bersikap lemah.

Wahai anak Adam, jika engkau melihat manusia berada dalam sebuah kebaikan,
saingilah mereka. Namun, jika engkau melihatnya berada pada sebuah
kebinasaan, janganlah engkau menyaingi mereka dan pilihan mereka.

Jika tidak bisa memberi manfaat, janganlah memberi mudarat; jika tidak
mampu membuat gembira, janganlah membuat sedih; dan jika tidak mampu
memberi pujian, janganlah mencela.

v
PERSEMBAHAN

Alhamdulillaah segala puji dan syukur kehadirat Alloh SWT atas segala

limpahan rahmat dan karunia-Nya, sehingga Penulis dapat menyelesaikan skripsi

ini. Dengan kerendahan hati, penulis persembahkan skripsi ini untuk:

1. Bapak (Alm) dan Ibu yang senantiasa mendidik dan mendukung dalam semua

bidang kehidupan.

2. Prof. Dr. M. Suyanto, MM. yang telah memberikan contoh dan teladan serta

menjadi figur pemimpin di STMIK AMIKOM Yogyakarta.

3. Bapak Andi Sunyoto, [Link], selaku dosen pembimbing yang telah

memberikan banyak arahan, kritik, dan saran yang membantu dalam

menyelesaikan skripsi ini.

4. Seluruh pengajar dan staf STMIK AMIKOM Yogyakarta.

5. Teman-teman seperjuangan yang mau meluangkan waktunya untuk membantu

melengkapi skripsi ini.

6. Seluruh teman satu angkatan khususnya 10-S1 TI – 05.

vi
KATA PENGANTAR

Alhamdulillaah segala puji dan syukur penulis panjatkan kepada Allah

SWT, atas segala rahmat dan karunia-Nya yang memberikan kesehatan dan

hikmat kepada penulis sehingga dapat menyelesaikan skripsi ini dengan baik.

Skripsi yang berjudul “Rancang Bangun REST Web Service untuk

Perbandingan Harga Pengiriman dengan Metode Web Scrapping dan Pemanfaatan

API” disusun untuk memperoleh gelar Kesarjanaan Strata Satu (S1) Jurusan

Teknik Informatika STMIK AMIKOM Yogyakarta.

Dalam penyusunan laporan skripsi ini, penulis mendapatkan banyak

bantuan dan bimbingan dari berbagai pihak. Untuk itu penulis menyampaikan rasa

hormat dan terima kasih kepada:

1. Bapak Prof. Dr. M. Suyanto, M.M., selaku Ketua Sekolah TInggi Manajemen

Informatikan dan Komputer “AMIKOM” Yogyakarta.

2. Bapak Sudarmawan, MT, selaku Ketua Jurusan S1 Teknik Informatika

STMIK AMIKOM Yogyakarta.

3. Bapak Andi Sunyoto, [Link], selaku dosen pembimbing yang telah

memberikan banyak arahan, kritik, dan saran yang membantu dalam

menyelesaikan skripsi ini.

4. Dewan penguji yang telah memberikan penilian terhadap skripsi yang disusun.

5. Bapak Dhani Ariatmanto, [Link] selaku dosen wali di STMIK AMIKOM

Yogyakarta.

6. Semua pihak yang telah membantu dalam penyusunan skripsi ini.

vii
Penulis telah berupaya dengan semaksimal mungkin dalam penyelesaian

skripsi ini, namun penulis menyadari masih banyak kelemahan baik dari segi isi

maupun tata bahasa. Oleh karen itu, penulis mengharapkan kritik dan saran yang

bersifat membangun dari pembaca demi kesempurnaan skripsi ini.

Akhirnya dengan segala kerendahan hati, penulis berharap dan berdoa

semoga skripsi ini memberikan manfaat bagi semua pihak yang membutuhkan.

Amin.

Yogyakarta, 25 November 2013

Penulis,

Damar Riyadi

viii
DAFTAR ISI

HALAMAN JUDUL........................................................................................ i
HALAMAN PERSETUJUAN ......................................................................... ii
HALAMAN PENGESAHAN .......................................................................... iii
PERNYATAAN KEASLIAN .......................................................................... iv
MOTTO ........................................................................................................... v
HALAMAN PERSEMBAHAN ...................................................................... vi
KATA PENGANTAR ..................................................................................... vii
DAFTAR ISI .................................................................................................... ix
DAFTAR TABEL ............................................................................................ xvi
DAFTAR GAMBAR ....................................................................................... xviii
INTISARI......................................................................................................... xxiii
ABSTRACT ....................................................................................................... xxiv
BAB I PENDAHULUAN ........................................................................... 1
1.1 Latar Belakang........................................................................... 1
1.2 Rumusan Masalah ..................................................................... 8
1.3 Batasan Masalah ........................................................................ 8
1.4 Tujuan Penelitian ....................................................................... 9
1.5 Manfaat Penelitian ..................................................................... 9
1.6 Metode Penelitian ...................................................................... 10
1.7 Sistematika Penulisan ................................................................ 11
BAB II DASAR TEORI .............................................................................. 13
2.1 Web Service ............................................................................ 13
2.1.1 Pengertian Web Service ................................................. 13
2.1.2 Model Pengembangan Web Service .............................. 14
2.1.3 Alasan Menggunakan Web Service ............................... 15
2.2 REST Web Service.................................................................. 16
2.2.1 Pengertian REST Web Service ...................................... 16

ix
2.2.2 Hubungan REST Web Service, Web API, REST API,
dan RESTful ................................................................. 18
2.2.3 Aturan-Aturan REST Web Service................................ 19
2.3 Web Scraping .......................................................................... 22
2.3.1 Pengertian Web Scraping .............................................. 22
2.3.2 Karakteristik Web Scraping .......................................... 23
2.3.3 Langkah-Langkah Umum Web Scraping ...................... 26
2.4 PHP (PHP Hypertext Preprocessor) ...................................... 28
2.4.1 Pengertian dan Sejarah PHP.......................................... 28
2.4.2 Kelebihan PHP .............................................................. 29
2.5 PHP/CURL ............................................................................. 29
2.5.1 Pengertian PHP/CURL ................................................. 29
2.5.2 Keunggulan PHP/CURL ............................................... 30
2.6 phpQuery ................................................................................ 32
2.7 CodeIgniter ............................................................................. 32
2.7.1 Pengertian CodeIgniter.................................................. 32
2.7.2 Kelebihan CodeIgniter .................................................. 33
2.8 MySQL ................................................................................... 34
2.8.1 Sekilas Tentang MySQL ............................................... 34
2.8.2 Fitur-Fitur MySQL ........................................................ 35
2.9 JSON (JavaScript Object Notation) ....................................... 37
2.9.1 Pengertian JSON ........................................................... 37
2.9.2 Bentuk dan Struktur JSON ............................................ 37
2.9.3 Tipe Data dalam JSON.................................................. 39
2.10 POS Indonesia ........................................................................ 40
2.10.1 Sejarah POS Indonesia ................................................ 40
2.10.2 Visi, Misi, dan Motto .................................................. 42
2.10.3 Produk dan Layanan .................................................... 43
2.11 JNE ......................................................................................... 46
2.11.1 Sejarah JNE ................................................................. 46
2.11.2 Visi dan Misi JNE ....................................................... 46

x
2.11.3 Produk dan Layanan JNE ............................................ 47
2.12 TIKI ........................................................................................ 49
2.12.1 Sejarah TIKI ................................................................ 49
2.12.2 Visi dan Misi TIKI ...................................................... 49
2.12.3 Produk dan Layanan TIKI ........................................... 51
2.13 [Link] ............................................................................. 52
2.13.1 Sekilas Tentang [Link] ....................................... 52
2.13.2 Layanan API yang Disediakan .................................... 52
2.14 RUP (Rational Unified Process) ............................................ 53
2.14.1 Pengertian RUP ........................................................... 53
2.14.2 Kelebihan RUP ........................................................... 53
2.14.3 Fase RUP ..................................................................... 54
2.15 UML (Unified Modelling Language) ..................................... 56
2.15.1 Pengertian UML .......................................................... 56
2.15.2 Diagram UML ............................................................. 56
BAB III ANALISIS DAN PERANCANGAN SISTEM ............................. 63
3.1 Tinjauan Umum ...................................................................... 63
3.2 Analisis Sistem ....................................................................... 64
3.2.1 Analisis Kelemahan Sistem Lama ................................ 64
[Link] Analisis Kinerja (Performance)...................... 64
[Link] Analisis Informasi (Information) .................... 65
[Link] Analisis Ekonomi (Economy) ......................... 65
[Link] Analisis Kontrol (Control).............................. 66
[Link] Analisis Efisiensi (Efficiency)......................... 66
[Link] Analisis Layanan (Service) ............................. 67
3.2.2 Analisis Kebutuhan Sistem ........................................... 67
[Link] Analisis Kebutuhan Fungsional (Functional
Requirement) .................................................. 68
[Link] Analisis Kebutuhan Non Fungsional (Non
Functional Requirement) ................................ 70

xi
3.2.3 Analisis Kelayakan Sistem ............................................ 72
[Link] Kelayakan Teknis ........................................... 72
[Link] Kelayakan Hukum .......................................... 72
[Link] Kelayakan Operasional ................................... 73
3.3 Perancangan Sistem
3.3.1 Perancangan Database ................................................... 75
[Link] ERD (Entity Relationship Diagram) .............. 75
[Link] Struktur Tabel ................................................. 77
3.3.2 Perancangan Proses ....................................................... 86
[Link] Use Case ......................................................... 87
[Link] Activity Diagram ............................................. 107
[Link] Class-Responsibility-Collaborator Card
(CRC Card) .................................................... 116
[Link] Class Diagram ................................................ 125
[Link] Sequence Diagram .......................................... 127
3.3.3 Perancangan Interface/Antarmuka ................................ 138
[Link] Perancangan Halaman Beranda ...................... 138
[Link] Perancangan Halaman Beranda dengan
Hasil Pengecekan Ongkir ............................... 139
[Link] Perancangan Halaman Beranda dengan
Hasil Pengecekan Layanan ............................. 140
[Link] Perancangan Halaman Login .......................... 141
[Link] Perancangan Halaman Lupa Password .......... 141
[Link] Perancangan Halaman Pendaftaran ................ 142
[Link] Perancangan Halaman Panel Akun ................. 143
[Link] Perancangan Halaman Ubah API Key ............ 143
[Link] Perancangan Halaman Ubah Password .......... 144
[Link] Perancangan Halaman Ubah Email ................ 145
[Link] Perancangan Halaman Hapus Akun ............... 145
[Link] Perancangan Halaman Tentang ...................... 146
[Link] Perancangan Halaman Dokumentasi API....... 147

xii
3.3.4 Perancangan Parameter Input dan Format Balasan
API ................................................................................ 147
[Link] Fungsi “province” ............................................. 148
[Link] Fungsi “city” ..................................................... 150
[Link] Fungsi “service”................................................ 152
[Link] Fungsi “cost” .................................................... 156
BAB IV IMPLEMENTASI DAN PEMBAHASAN ................................... 159
4.1 Implementasi .......................................................................... 159
4.1.1 Pembuatan Database ..................................................... 159
[Link] Tabel cost_cache ............................................... 161
[Link] Tabel dati2 ........................................................ 161
[Link] Tabel history ..................................................... 162
[Link] Tabel Kabupaten ............................................... 163
[Link] Tabel keys ......................................................... 164
[Link] Tabel kodepos ................................................... 164
[Link] Tabel propinsi ................................................... 165
[Link] Tabel service_cache .......................................... 165
[Link] Tabel statistik .................................................... 166
[Link] Tabel users ...................................................... 167
[Link] Tabel user_autologin ...................................... 168
[Link] Tabel user_profiles ......................................... 168
[Link] Tabel logs........................................................ 169
4.1.2 Pembuatan Interface/Antar Muka Program
[Link] Tampilan Halaman Beranda Tanpa History .... 170
[Link] Tampilan Halaman Beranda dengan History ... 171
[Link] Tampilan Halaman Beranda dengan Hasil
Pengecekan Ongkir ......................................... 172
[Link] Tampilan Halaman Beranda dengan Hasil
Pengecekan Layanan ...................................... 173
[Link] Tampilan Halaman Login ............................... 174
[Link] Tampilan Halaman Lupa Password................ 174

xiii
[Link] Tampilan Halaman Pendaftaran .................... 175
[Link] Tampilan Halaman Panel Akun ..................... 175
[Link] Tampilan Halaman Ubah API Key ................ 176
[Link] Tampilan Halaman Ubah Password .............. 176
[Link] Tampilan Halaman Ubah Email .................... 177
[Link] Tampilan Halaman Hapus Akun ................... 177
[Link] Tampilan Halaman Dokumentasi API ........... 178
[Link] Tampilan Halaman Tentang .......................... 178
4.2 Pembahasan ............................................................................ 179
4.2.1 Instalasi Library yang Dibutuhkan................................ 179
[Link] CodeIgniter REST Server ................................. 179
[Link] phpQuery .......................................................... 179
[Link] Tank_Auth ........................................................ 180
[Link] Template ........................................................... 180
4.2.2 Konfigurasi File-File CodeIgniter ................................ 181
[Link] Konfigurasi [Link] ................................ 181
[Link] Konfigurasi [Link] ................................ 182
[Link] Konfigurasi [Link] .................................... 182
[Link] Konfigurasi [Link] .................................... 183
[Link] Konfigurasi [Link]...................................... 184
[Link] Konfigurasi [Link] ........................................ 184
[Link] Konfigurasi Tank_auth.php .............................. 185
[Link] Konfigurasi [Link] ............................. 186
4.2.3 Pembahasan Listing Program ........................................ 187
[Link] Pembahasan Listing Program Tampilan ........... 187
[Link] Pembahasan Listing Program Web Service....... 212
[Link] Pembahasan Listing Program Web Scraping .... 229
[Link] Pembahasan Listing Program Pemanfaatan
API “[Link]”.............................................. 235
[Link] Pembahasan Listing Program Caching ............. 237

xiv
[Link] Pembahasan Listing Program Penanganan
Error ................................................................. 240
[Link] Pengecekan Hasil Web Scraping ...................... 242
4.3 Uji Coba Program dan Sistem ................................................ 245
4.3.1 Uji Coba Program ......................................................... 246
[Link] Kesalahan Penulisan (Syntax Error) ................. 246
[Link] Kesalahan Waktu Proses (Runtime Error) ....... 247
[Link] Kesalahan Logika (Logical Error) ................... 248
4.3.2 Uji Coba Sistem
[Link] White Box Testing ............................................. 249
[Link] Black Box Testing ............................................. 251
4.4 Instalasi Online ....................................................................... 253
4.4.1 Menyewa Domain dan Hosting..................................... 253
4.4.2 Mengunggah Aplikasi ke Hosting................................. 254
4.5 Contoh Aplikasi Klien yang Menggunakan Web Service ...... 255
4.6 Pemeliharaan Sistem .............................................................. 257
BAB V PENUTUP ....................................................................................... 259
5.1 Kesimpulan ................................................................................ 259
5.2 Saran .......................................................................................... 260
DAFTAR PUSTAKA

xv
DAFTAR TABEL

Tabel 2.1 Metode HTTP dan Penggunaannya dalam REST ....................... 17


Tabel 2.2 Contoh Tipe Data Dasar dalam JSON......................................... 40
Tabel 3.1 Struktur Tabel cost_cache ........................................................... 77
Tabel 3.2 Struktur Tabel propinsi................................................................ 77
Tabel 3.3 Struktur Tabel dati2 ..................................................................... 78
Tabel 3.4 Struktur Tabel kabupaten ............................................................ 79
Tabel 3.5 Struktur Tabel keys ..................................................................... 80
Tabel 3.6 Struktur Tabel kodepos ............................................................... 81
Tabel 3.7 Struktur Tabel service_cache ...................................................... 81
Tabel 3.8 Struktur Tabel statistik ................................................................ 82
Tabel 3.9 Struktur Tabel users .................................................................... 83
Tabel 3.10 Struktur Tabel user_autologin ..................................................... 84
Tabel 3.11 Struktur Tabel user_profiles ........................................................ 84
Tabel 3.12 Struktur Tabel history.................................................................. 85
Tabel 3.13 Struktur Tabel logs ...................................................................... 86
Tabel 3.14 Tabel Definisi Aktor.................................................................... 87
Tabel 3.15 Tabel Definisi Use Case .............................................................. 88
Tabel 3.16 Tabel Skenario Use Case Login .................................................. 90
Tabel 3.17 Tabel Skenario Use Case Lupa Password .................................. 91
Tabel 3.18 Tabel Skenario Use Case Reset Password .................................. 92
Tabel 3.19 Tabel Skenario Use Case Pendaftaran ........................................ 93
Tabel 3.20 Tabel Skenario Use Case Aktivasi Pendaftaran .......................... 94
Tabel 3.21 Tabel Skenario Use Case Kirim Ulang Aktivasi ........................ 95
Tabel 3.22 Tabel Skenario Use Case Ubah API Key .................................... 96
Tabel 3.23 Tabel Skenario Use Case Ubah Password .................................. 97
Tabel 3.24 Tabel Skenario Use Case Ubah Email ........................................ 98
Tabel 3.25 Tabel Skenario Use Case Hapus Akun ....................................... 99
Tabel 3.26 Tabel Skenario Use Case Periksa Ongkir .................................. 100

xvi
Tabel 3.27 Tabel Skenario Use Case Periksa Layanan ................................. 101
Tabel 3.28 Tabel Skenario Use Case province ............................................. 102
Tabel 3.29 Tabel Skenario Use Case city ..................................................... 103
Tabel 3.30 Tabel Skenario Use Case cost ..................................................... 104
Tabel 3.31 Tabel Skenario Use Case service ................................................ 105
Tabel 3.32 URL Request Fungsi “province” ................................................. 148
Tabel 3.33 Tabel Input Parameter (Request) Fungsi “province” .................. 148
Tabel 3.34 Tabel Penjelasan Format Balasan Fungsi “province” ................. 149
Tabel 3.35 Tabel URL Request Fungsi “city” ............................................... 150
Tabel 3.36 Tabel Input Parameter (Request) Fungsi “city” .......................... 150
Tabel 3.37 Tabel Penjelasan Format Balasan Fungsi “city” ......................... 152
Tabel 3.38 Tabel URL Request Fungsi “service” ......................................... 152
Tabel 3.39 Tabel Input Parameter (Request) Fungsi “service” ..................... 153
Tabel 3.40 Tabel Penjelasan Format Balasan Fungsi “service” .................... 155
Tabel 3.41 Tabel URL Request Fungsi “cost” .............................................. 156
Tabel 3.42 Tabel Input Parameter (Request) Fungsi “cost” .......................... 156
Tabel 3.43 Tabel Penjelasan Format Balasan Fungsi “cost” ......................... 158
Tabel 4.1 Tabel Black Box Testing .............................................................. 251

xvii
DAFTAR GAMBAR

Gambar 1.1 Grafik Kepemilikan Perangkat Pengakses Internet


di Indonesia ............................................................................... 2
Gambar 1.2 Grafik Prediksi Pembelian Perangkat Pengakses Internet
Tahun 2012 ................................................................................ 3
Gambar 1.3 Grafik Perangkat Utama Pengakses Internet di Indonesia ........ 3
Gambar 1.4 Grafik Pangsa Pasar Industri Jasa Kurir di Indonesia ............... 6
Gambar 2.1 Representasi Hubungan antara klien, web API, dan
Web Service ............................................................................... 19
Gambar 2.2 Alur Proses Web Scraping Secara Umum ................................. 27
Gambar 2.3 JSON dalam Bentuk Objek ....................................................... 38
Gambar 2.4 JSON dalam Bentuk Larik ........................................................ 39
Gambar 2.5 Contoh Class Diagram .............................................................. 59
Gambar 2.6 Contoh Use Case Diagram........................................................ 59
Gambar 2.7 Contoh Activity Diagram........................................................... 60
Gambar 2.8 Contoh Sequence Diagram ........................................................ 61
Gambar 2.9 Contoh CRC Card ..................................................................... 62
Gambar 3.1 Gambaran Umum Sistem dari Sisi Developer .......................... 73
Gambar 3.2 Gambaran Umum Sistem dari Sisi End User ............................ 74
Gambar 3.3 Gambaran Umum Proses Web Scraping ................................... 74
Gambar 3.4 ERD Sistem yang Akan Dibangun ............................................ 76
Gambar 3.5 Use Case Diagram Sistem ........................................................ 106
Gambar 3.6 Activity Diagram Login ............................................................. 107
Gambar 3.7 Activity Diagram Lupa Password ............................................. 107
Gambar 3.8 Activity Diagram Reset Password ............................................. 108
Gambar 3.9 Activity Diagram Pendaftaran ................................................... 108
Gambar 3.10 Activity Diagram Aktivasi Pendaftaran ..................................... 109
Gambar 3.11 Activity Diagram Kirim Ulang Aktivasi.................................... 109
Gambar 3.12 Activity Diagram Ubah API Key ............................................... 110

xviii
Gambar 3.13 Activity Diagram Ubah Password ............................................. 110
Gambar 3.14 Activity Diagram Ubah Email ................................................... 111
Gambar 3.15 Activity Diagram Hapus Akun .................................................. 111
Gambar 3.16 Activity Diagram Demo Periksa Ongkir ................................... 112
Gambar 3.17 Activity Diagram Demo Periksa Layanan ................................. 112
Gambar 3.18 Activity Diagram API Request “province” ................................ 113
Gambar 3.19 Activity Diagram API Request “city” ........................................ 114
Gambar 3.20 Activity Diagram API Request “cost” ....................................... 115
Gambar 3.21 Activity Diagram API Request “service” .................................. 115
Gambar 3.22 CRC Card Statistik .................................................................... 116
Gambar 3.23 CRC Card Cache ....................................................................... 116
Gambar 3.24 CRC Card Region ..................................................................... 117
Gambar 3.25 CRC Card Tiki .......................................................................... 117
Gambar 3.26 CRC Card Jne ........................................................................... 118
Gambar 3.27 CRC Card Pos ........................................................................... 118
Gambar 3.28 CRC Card Kodepos................................................................... 119
Gambar 3.29 CRC Card REST_Controller..................................................... 119
Gambar 3.30 CRC Card Api ........................................................................... 120
Gambar 3.31 CRC Card Login_attemps ......................................................... 120
Gambar 3.32 CRC Card Tank_auth ................................................................ 121
Gambar 3.33 CRC Card User_Autologin ....................................................... 122
Gambar 3.34 CRC Card Users ........................................................................ 123
Gambar 3.35 CRC Card Akun ........................................................................ 124
Gambar 3.36 CRC Card Dokumentasi ........................................................... 124
Gambar 3.37 CRC Card Tentang .................................................................... 125
Gambar 3.38 CRC Card Home ....................................................................... 125
Gambar 3.39 Class Diagram Sistem ............................................................... 126
Gambar 3.40 Sequence Diagram Halaman Login ........................................... 127
Gambar 3.41 Sequence Diagram Halaman Reset Password .......................... 128
Gambar 3.42 Sequence Diagram API Request “cost” .................................... 129
Gambar 3.43 Sequence Diagram API Request “service” ............................... 130

xix
Gambar 3.44 Sequence Diagram Halaman Lupa Password ........................... 131
Gambar 3.45 Sequence Diagram Halaman Pendaftaran ................................. 131
Gambar 3.46 Sequence Diagram Aktivasi Pendaftaran .................................. 132
Gambar 3.47 Sequence Diagram Halaman Kirim Ulang Aktivasi ................. 132
Gambar 3.48 Sequence Diagram Halaman Ubah API Key ............................. 133
Gambar 3.49 Sequence Diagram Halaman Ubah Password........................... 133
Gambar 3.50 Sequence Diagram Halaman Ubah Email ................................. 134
Gambar 3.51 Sequence Diagram Halaman Hapus Akun ................................. 134
Gambar 3.52 Sequence Diagram Halaman Demo Pengecekan Ongkir .......... 135
Gambar 3.53 Sequence Diagram Halaman Demo Pengecekan Layanan ....... 136
Gambar 3.54 Sequence Diagram API Request “province” ............................. 137
Gambar 3.55 Sequence Diagram API Request “city” ..................................... 137
Gambar 3.56 Perancangan Antarmuka Halaman Beranda .............................. 138
Gambar 3.57 Perancangan Antarmuka Beranda dengan Hasil Pengecekan
Ongkos Kirim ............................................................................ 139
Gambar 3.58 Perancangan Antarmuka Beranda dengan Hasil Pengecekan
Layanan ..................................................................................... 140
Gambar 3.59 Perancangan Antarmuka Halaman Login .................................. 141
Gambar 3.60 Perancangan Antarmuka Halaman Lupa Password .................. 141
Gambar 3.61 Perancangan Antarmuka Halaman Pendaftaran ........................ 142
Gambar 3.62 Perancangan Antarmuka Halaman Panel Akun ........................ 143
Gambar 3.63 Perancangan Antarmuka Halaman Ubah API Key .................... 143
Gambar 3.64 Perancangan Antarmuka Halaman Ubah Password .................. 144
Gambar 3.65 Perancangan Antarmuka Halaman Ubah Email ........................ 145
Gambar 3.66 Perancangan Antarmuka Halaman Hapus Akun ....................... 145
Gambar 3.67 Perancangan Antarmuka Halaman Tentang .............................. 146
Gambar 3.68 Perancangan Antarmuka Halaman Dokumentasi API .............. 147
Gambar 4.1 Halaman phpMyAdmin ............................................................. 160
Gambar 4.2 Tabel cost_cache ....................................................................... 161
Gambar 4.3 Tabel dati2 ................................................................................. 162
Gambar 4.4 Tabel history .............................................................................. 162

xx
Gambar 4.5 Tabel kabupaten ........................................................................ 163
Gambar 4.6 Tabel keys .................................................................................. 164
Gambar 4.7 Tabel kodepos ............................................................................ 165
Gambar 4.8 Tabel propinsi ............................................................................ 165
Gambar 4.9 Tabel service_cache................................................................... 166
Gambar 4.10 Tabel statistik ............................................................................ 166
Gambar 4.11 Tabel users ................................................................................. 167
Gambar 4.12 Tabel user_autologin ................................................................. 168
Gambar 4.13 Tabel user_profiles .................................................................... 169
Gambar 4.14 Tabel logs .................................................................................. 169
Gambar 4.15 Tampilan Halaman Beranda Tanpa History .............................. 170
Gambar 4.16 Tampilan Halaman Beranda dengan History ............................ 171
Gambar 4.17 Tampilan Halaman Beranda dengan Hasil Pengecekan
Ongkir ........................................................................................ 172
Gambar 4.18 Tampilan Halaman Beranda dengan Hasil Pengecekan
Layanan ..................................................................................... 173
Gambar 4.19 Tampilan Halaman Login .......................................................... 174
Gambar 4.20 Tampilan Halaman Lupa Password .......................................... 174
Gambar 4.21 Tampilan Halaman Pendaftaran ................................................ 175
Gambar 4.22 Tampilan Halaman Panel Akun................................................. 175
Gambar 4.23 Tampilan Halaman Ubah API Key ............................................ 176
Gambar 4.24 Tampilan Halaman Ubah Password .......................................... 176
Gambar 4.25 Tampilan Halaman Ubah Email ................................................ 177
Gambar 4.26 Tampilan Halaman Hapus Akun ............................................... 177
Gambar 4.27 Tampilan Halaman Dokumentasi API....................................... 178
Gambar 4.28 Tampilan Halaman Tentang ...................................................... 178
Gambar 4.29 Konfigurasi File [Link] pada CodeIgniter ..................... 181
Gambar 4.30 Konfigurasi File [Link] pada CodeIgniter ..................... 182
Gambar 4.31 Konfigurasi File [Link] pada CodeIgniter ......................... 183
Gambar 4.32 Konfigurasi File [Link] pada CodeIgniter ......................... 183
Gambar 4.33 Konfigurasi File [Link] pada CodeIgniter........................... 184

xxi
Gambar 4.34 Konfigurasi File [Link] pada CodeIgniter ............................. 185
Gambar 4.35 Konfigurasi File Tank_auth.php pada CodeIgniter ................... 186
Gambar 4.36 Konfigurasi File [Link] pada CodeIgniter .................. 187
Gambar 4.37 Tampilan Halaman Pengecekan Ongkir di POS Indonesia ....... 230
Gambar 4.38 Tampilan Halaman Pengecekan Ongkir di TIKI ....................... 233
Gambar 4.39 Hasil Pengecekan Ongkos Kirim di Web POS Indonesia ......... 243
Gambar 4.40 Hasil Pengecekan Ongkos Kirim POS Indonesia di
Halaman Demo .......................................................................... 243
Gambar 4.41 Hasil Pengecekan Ongkos Kirim di Web TIKI ......................... 244
Gambar 4.42 Hasil Pengecekan Ongkos Kirim TIKI di Halaman Demo ....... 245
Gambar 4.43 Pesan Kesalahan Penulisan (Syntax Error) ............................... 247
Gambar 4.44 Pesan Kesalahan Waktu Proses (Runtime Error) ...................... 248
Gambar 4.45 Pesan Kesalahan Input Data ...................................................... 250
Gambar 4.46 Pengaturan Nameserver “[Link]”............................... 253
Gambar 4.47 Konfigurasi File “[Link]” di CodeIgniter ............................ 254
Gambar 4.48 Tampilan Splash Screen Mbah Ongkir ..................................... 255
Gambar 4.49 Tampilan Input Data Mbah Ongkir ........................................... 256
Gambar 4.50 Tampilan Hasil Pengecekan di Mbah Ongkir ........................... 257

xxii
INTISARI

Penelitian dengan judul “Rancang Bangun REST Web Service untuk


Perbandingan Harga Pengiriman dengan Metode Web Scrapping dan Pemanfaatan
API” bertujuan untuk merancang dan membangun sebuah web service dengan
arsitektur REST yang menyediakan layanan pertukaran data (data-interchange)
untuk perbandingan harga pengiriman pada jasa kurir TIKI, JNE, dan POS
Indonesia.
Penelitian ini menggunakan metode web scrapping pada situs POS
Indonesia dan TIKI Online, serta pemanfaatan API yang disediakan oleh situs
“[Link]” untuk kurir JNE guna mendapatkan data-data yang dibutuhkan.
Data tersebut kemudian diolah dengan bahasa pemrograman PHP serta
mengimplementasikan teknologi REST (Representational State Transfer) web
service yang berbasis JSON (JavaScript Object Notation) untuk pertukaran data,
dan dalam komunikasinya menggunakan protokol standar internet yaitu HTTP
melaui sebuah jaringan internet. Data yang diterima oleh service requester atau
client berupa JSON sehingga dapat diolah lagi dengan berbagai bahasa
pemrograman pada bermacam-macam device.
Penelitian menghasilkan aplikasi web service untuk melakukan
pengecekan ongkos kirim dan layanan kurir POS Indonesia, TIKI, dan JNE.
Pengguna yang ingin menggunakan web service yang disediakan oleh sistem
harus mendaftar terlebih dahulu untuk mendapatkan API Key untuk mengakses
fungsi web service. Meskipun tersedia halaman demo untuk pengecekan ongkos
kirim yang dapat diakses dengan web browser, diharapkan banyak developer yang
tertarik menggunakan web service untuk pembuatan aplikasi pada berbagai
macam device.

Kata kunci: REST web service, REST API, perbandingan harga pengiriman

xxiii
ABSTRACT

Research entitled “Designing and Developing REST Web Service for


Shipping Cost Comparison Using Web Scrapping Method and API” aims to
design and develop a web service with REST architecture which provides data-
interchange service for shipping cost comparison between TIKI, JNE, and POS
Indonesia courier services.
The research uses web scrapping method at TIKI Online and POS
Indonesia website and also making use of API provided by “[Link]” for JNE
courier in order to gather all needed data. The data will be processed with PHP
programming language by implementing REST (Representational State Transfer)
web service technology with based on JSON representation of data exchange and
communicate through standard protocol HTTP network. Data which is received
by service requester or client is in JSON format so it can be processed again with
many programming languages on many devices.
The research results a web service application for checking shipping cost
and services of POS Indonesia, TIKI, and JNE. User who wants to use the web
service provided by the system must register to obtain an API Key in order to
access the web service functions. Although there is a demo application to check
shipping cost which can be accessed from web browser, it is expected many
developers who are interested in using the web service to make applications on
many devices.

Keywords: REST web service, REST API, shipping cost comparison

xxiv

Anda mungkin juga menyukai