Yusiana Kartikasari
NRP. 7209 040 509
Dosen Pembimbing:
Mike Yuliana, ST, MT
NIP. 197811232002122009
Ira Prasetyaningrum, S.Si, MT
NIP. 198005292008122005
PROYEK AKHIR
Yusiana Kartikasari
NRP. 7209 040 509
Dosen Pembimbing:
Mike Yuliana, ST, MT
NIP. 197811232002122009
Ira Prasetyaningrum, S.Si, MT
NIP. 198005292008122005
Oleh:
YUSIANA KARTIKASARI
7209 040 509
Proyek Akhir ini Diajukan Sebagai Salah Satu Syarat Untuk
Memperoleh Gelar Sarjana Sains Terapan (S.ST)
di
Politeknik Elektronika Negeri Surabaya
Institut Teknologi Sepuluh Nopember Surabaya
Disetujui oleh
Tim Penguji Proyek Akhir
Dosen Pembimbing
Arifin, ST, MT
NIP. 196005031988031004
ii
ABSTRAK
iii
ABSTRACT
Nowadays, technology of telecommunication has growth
rapidly. Therefore is making easier for human to get newest
information. Those information service give facilitate such as easy to
access without considering place, time. Include entertainment services
for people such as tourism planning.
In this final project will create a call center services for
tourism taxi with implementation of Clarke Wright Saving Method. This
call center services will offering information about tourism and good
place to visit also inform user about cost which is will be bear to user.
Cost is include ticket, parking, also cost per km. Implementation of
Clarke Wright Saving Method will help to get optimize route.
Testing result of this final project showed computation time of
saving algorithm is depending of the data. The more data is input by
user, the more higher the computation time, e.g. for 5 nodes
computation time is 0.186 s and for 10 nodes the time is 0.332 s. It is
because the looping process will loop as many as the input data.
Compare with greedy algorithm computation time only 0.034 s and
0.075 s for 5 and 10 nodes. So, it can be said computation time greedy is
better than saving. For optimize route, saving is better than greedy, e.g.
for 5 nodes in town saving is 48 Km and greedy is 54 Km, so route from
saving is more optimize than greedy. And more than 50% said that this
system is very helpful especially for planning a trip and cost expense.
Keywords: UMS (Unified Message System), VoIP (Voiceover Internet
Protocol), IVR (Interaktive Voice Response), Clarke Wright Saving
Method
iv
KATA PENGANTAR
Penyusun
vi
DAFTAR ISI
HALAMAN JUDUL .......................................................................... i
LEMBAR PENGESAHAN ................................................................. ii
ABSTRAK ......................................................................................... iii
ABSTRACT ....................................................................................... iv
KATA PENGANTAR ........................................................................ v
UCAPAN TERIMA KASIH ............................................................... vi
DAFTAR ISI ...................................................................................... vii
DAFTAR GAMBAR .......................................................................... x
DAFTAR TABEL .............................................................................. xii
BAB I
PENDAHULUAN
1.1 LATAR BELAKANG ................................................ 1
1.2 RUMUSAN MASALAH ............................................ 2
1.3 BATASAN MASALAH ............................................. 2
1.4 TUJUAN DAN MANFAAT ....................................... 3
1.5 METODOLOGI ......................................................... 3
1.6 SISTEMATIKA PEMBAHASAN .............................. 4
BAB II
TEORI PENUNJANG
2.1 Permasalahan Transportasi .......................................... 7
2.2 Permasalahan TSP....................................................... 7
2.3 Clarke-Wright Saving Method 8
2.4 Asterisk ...................................................................... 15
2.4.1 Konfigurasi Asterisk.............................................. 17
2.4.2 Aplikasi Asterisk ................................................... 24
2.5 PHP-AGI .................................................................... 25
2.6 Konektivitas PHP-MySQL .......................................... 26
vii
2.7.2
viii
PENUTUP
5.1 KESIMPULAN .......................................................... 75
5.2 SARAN ...................................................................... 75
ix
DAFTAR GAMBAR
Gambar 2.1 : Titik-titik yang akan dikunjungi ..................................... 11
Gambar 2.2 : Hasil Optimasi Algoritma Clarke-Wright........................ 14
Gambar 2.3 : Hasil Optimasi Saving dengan beban .............................. 15
Gambar 2.4 : Arsitekur Asterisk .......................................................... 16
Gambar 2.5 : Linksys SPA400 ............................................................ 20
Gambar 2.6 : Konfigurasi IP Address SPA400..................................... 21
Gambar 2.7 : Konfigurasi Account SPA9000 dan SPA400................... 22
Gambar 2.8 : Cara Kerja Mail Server .................................................. 29
Gambar 2.9 : Blok Diagram UMS ....................................................... 30
Gambar 3.1 : Softphone Xlite .............................................................. 31
Gambar 3.2 : Rancangan Sistem ......................................................... 33
Gambar 3.3 : Penelusuran Peta dengan Google Earth ........................... 34
Gambar 3.4 : Relasi Tabel pada Database ............................................ 36
Gambar 3.5 : Flowchart Sistem Layanan Taksi Wisata ........................ 37
Gambar 3.6 : Flowchart Algoritma Clarke-Wright ............................... 38
Gambar 4.1 : Tabel Pesan pada Database............................................. 44
Gambar 4.2 : Tabel Supir pada Database ............................................. 45
Gambar 4.3 : Tabel tes_1 pada Database ............................................. 45
Gambar 4.4 : Tabel User pada Database .............................................. 46
Gambar 4.5 : Tabel Wisata pada Database ........................................... 46
Gambar 4.6 : Tampilan untuk memasukkan node................................. 47
Gambar 4.7 : Hasil Proses Algoritma Saving ....................................... 49
Gambar 4.8 : Tampilan web admin ...................................................... 50
Gambar 4.9 : Tampilan web informasi wisata ...................................... 50
Gambar 4.10 : Tampilan untuk Log Pemesanan ................................... 51
x
xi
DAFTAR TABEL
Tabel 2.1 : Bentuk Umum Matrik Jarak ............................................... 9
Tabel 2.2 : Bentuk Umum Matrik Penghematan .................................. 10
Tabel.2.3 : Matrik Jarak ...................................................................... 11
Tabel.2.4 : Tabel Saving ..................................................................... 13
Tabel.2.5 : Daftar Rangking ................................................................ 13
Tabel 2.6 : Beban pada Node............................................................... 14
Tabel 3.1 : Jarak antar Tempat Wisata ................................................. 35
Tabel.4.1 : Pengujian Hunting ............................................................. 55
Tabel.4.2 : Pengujian Deteksi Digit ..................................................... 56
Tabel.4.3 : Pengujian waktu Eksekusi UMS ........................................ 57
Tabel.4.4 : Hasil Kebenaran Algoritma................................................ 58
Tabel.4.5 : Hasil Pengujian Waktu Komputasi ..................................... 59
Tabel.4.6 : Waktu Komputasi Saving dan Greedy ................................ 61
Tabel.4.7 : Pengujian Optimasi Node Dalam Kota ............................... 63
Tabel.4.8 : Pengujian Optimasi Node Dalam dan Luar Kota ................ 65
Tabel.4.9 : Pengujian Optimasi Node Luar Kota .................................. 67
xii
BAB I
PENDAHULUAN
1.1 LATAR BELAKANG
Era perkembangan teknologi komputer dan telekomunikasi yang
sudah melambung pesat dan cepat saat ini bermanfaat memberikan
kemudahan dalam pengaksesan suatu layanan. Kemudahan informasi ini
hampir terdapat pada semua layanan. Termasuk layanan hiburan untuk
masyarakat seperti wisata. Saat ini telah tersedia layanan call centre
taksi wisata yaitu transmojo yang melayani untuk wisata di Jogjakarta.
Layanan taksi ini pemesanan melalui call centre dengan memberikan
informasi lokasi penjemputan serta jam penjemputan. Layanan
transmojo menggunakan tarif tetap dengan ketentuan sewa 8 jam atau 16
jam dan biaya tersebut hanya mencakup BBM dan tarif supir dan tidak
termasuk biaya tiket masuk, dll. Dan layanan call centre ini tidak
memberikan informasi mengenai tempat tempat wisata yang ada di
Jogjakarta.
Pada layanan taksi wisata transmojo, dapat diketahui bahwa sistim
untuk taksi wisata yang ada hanya melayani pemesanan dengan tarif
yang tetap, dan tidak menawarkan informasi mengenai tempat wisata di
Yogyakarta hanya menawarkan untuk mengantarkan pengguna sampai
di tujuan. Agar lebih menguntungkan bagi pengguna maupun pengusaha,
layanan taksi wisata pada tugas akhir ini akan menawarkan tempat
wisata yang ada di Yogyakarta dan masalah rute menggunakan
algoritma untuk permasalahan TSP.
Metode yang dapat digunakan untuk menyelesaikan Traveling
Salesman Problem (TSP) salah satunya adalah metode penghematan
Clarke-wright (Clarke-wright Savings Approach). Metode ini
dikembangkan oleh Clarke dan Wright, dengan tujuan untuk
meminimalkan total jarak tempuh kendaraan untuk melayani permintaan
semua customer dalam satu hari pengiriman dimana tipe rute dengan
batas-batas kapasitas kendaraan. Metode Penghematan Clarke-wright
(Clarke-wright Savings Approach) merupakan suatu prosedur pertukaran,
dimana sekumpulan rute pada setiap langkah ditukar untuk mendapatkan
sekumpulan rute yang lebih baik.
2
Pada tugas akhir ini akan dibuat sistim layanan call centre taksi
wisata dengan implementasi Metode Penghematan Clarke-wright.
Layanan Call Centre yang akan dibuat pada tugas akhir ini akan
menawarkan informasi tempat wisata yang dapat dikunjungi dan
menginformasikan biaya pada customer dimana biaya ini mencakup
biaya tiket masuk, biaya parkir, termasuk biaya makan serta tarif untuk
taksi berdasarkan jarak, berapa kilometer yang ditempuh. Metode
penghematan Clarke-wright pada layanan taksi wisata ini akan dapat
membantu untuk menginformasikan mengenai rute yang optimal kepada
supir sehingga jarak yang ditempuh ke antar tempat wisata lebih optimal.
Dengan adanya layanan call centre ini diharapkan masyarakat akan
lebih mudah dalam merencanakan liburan mereka dan mudahnya
mendapat informasi mengenai tempat tujuan wisata tersebut seperti
biaya dan fasilitas yang ada di tempat wisata. Dan implementasi Clarkewright algoritma dapat memberi kemudahan bagi pelanggan dan
pemilik dalam mengatur jadwal, optimasi waktu serta biaya. Sehingga
liburan yang direncanakan dapat optimal dan memberi keuntungan baik
bagi wisatawan maupun pengusaha.
1.2 RUMUSAN MASALAH
Permasalahan dalam proyek akhir ini adalah:
1. Bagaimana membuat layanan call center berbasis VoIP.
2. Bagaimana membuat suatu mail server.
3. Bagaimana mengaplikasikan Clarke Wright Saving Method pada
layanan taksi wisata
1.3 BATASAN MASALAH
Batasan masalah dalam proyek akhir ini antara lain:
1. Layanan taksi wisata ini diasumsikan hanya untuk wisatawan dari
luar kota dan untuk wisata selama satu hari.
2. Informasi yang disediakan oleh taksi wisata adalah informasi
mengenai tempat wisata yang sudah ditentukan dan terdapat pada
daerah Yogyakarta dan sekitarnya dan biaya yang harus
dibayarkan.
3. Untuk pelanggan,akan ditentukan daerah penjemputan yaitu di
terminal, bandara dan stasiun.
4. Informasi optimasi jarak akan diinformasikan ke supir layanan
taksi wisata melalui SMS.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
3
5.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
3.
4.
5.
6.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
5
BAB II Teori Penunjang
Membahas tentang teori-teori yang berhubungan dengan konsep dasar IP
PBX, email server, web server dan dasar teori untuk
mengimplementasikan Clarke-wright saving method.
BAB III Perancangan Sistem
Berisi uraian tentang tahap perencanaan dan implementasi dari sistem
yang akan dibuat, antara lain perencanaan perangkat lunak dan
perangkat keras, perancangan VoIP server, email server, web server
serta perancangan program pencarian optimasi rute menggunakan
metode Clarke-wright.
BAB IV Pengujian Dan Analisa
Berisi data tentang hasil pembuatan sistem dan pengujian sistem, yang
selanjutnya akan dibuat analisanya.
BAB V Kesimpulan
Mengemukakan kesimpulan tentang hasil yang telah diperoleh serta
saran yang nantinya dapat menunjang jika dibuat pengembangan dari
tugas akhir ini.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
BAB II
TEORI PENUNJANG
Pada bab ini terdapat beberapa teori yang digunakan untuk
acuan dalam merumuskan permasalahan yang akan dibahas dalam
penyusunan tugas akhir. Adapun uraian singkat teori tersebut adalah
sebagai berikut:
2.1. Permasalahan Transportasi
Dewasa ini permasalahan transportasi menjadi salah satu topik
yang ramai dibicarakan, hal ini jelas karena transportasi merupakan
salah satu hal penting dalam kebutuhan sehari-hari. Dan manusia terus
mengembangkan aspek-aspek yang berhubungan dengan transportasi
agar dapat mempermudah serta menguntungkan manusia sebagai
pengguna. Salah satunya yaitu mengenai perencanaan dan pelaksanaan
transportasi angkut jarak pendek yang terdiri dari berbagai macam
Model yaitu Travelling Salesman Problem ( TSP ) adalah suatu metode
yang digunakan untuk meminimasi jarak total dari keseluruhan jarak
tempuh. TSP terdiri dari serangkaian perencanaan set rute kendaraan
sehingga mengurangi biaya rute kendaraan, mulai dan berakhir pada
depot.
2.2. Permasalahan TSP
Traveling Salesman Problem (TSP) pertama kali diperkenalkan
oleh Rand pada tahun 1948, reputasi Rand membuat TSP dikenal
dengan baik dan menjadi masalah yang populer. TSP merupakan
persoalan yang mempunyai konsep sederhana dan mudah dipahami.
Pada TSP, optimasi yang diinginkan agar ditemukan rute perjalanan
terpendek untuk melewati sejumlah kota dengan jalur tertentu sehingga
setiap kota hanya terlewati satu kali dan perjalanan diakhiri dengan
kembali ke kota semula.
Travelling Salesman Problem (TSP) dikenal sebagai salah satu
permasalahan optimasi klasik yang berat untuk dipecahkan secara
konvensional. Penyelesaian eksak terhadap persoalan ini akan
melibatkan algoritma yang mengharuskan untuk mencari kemungkinan
semua solusi yang ada. Sebagai akibatnya, kompleksitas waktu dari
eksekusi algoritma ini akan menjadi eksponensial terhadap ukuran dari
8
masukan yang diberikan. Permasalahan yang melibatkan algoritma
demikian lebih dikenal sebagai permasalahan yang bersifat
Nondeterministic Polynomial-time Complete (NP-Complete).
Travelling Salesman Problem melibatkan seorang travelling
salesman yang harus melakukan kunjungan ke sejumlah kota dalam
menjajakan produknya. Rangkaian kota-kota yang dikunjungi harus
membentuk suatu jalur sedemikian sehingga kota-kota tersebut hanya
boleh dilewati tepat satu kali dan kemudian kembali lagi ke kota awal.
Penyelesaian terhadap permasalahan TSP ini adalah untuk memperoleh
jalur terpendek. Penyelesaian eksak terhadap masalah TSP
mengharuskan untuk melakukan perhitungan terhadap semua
kemungkinan rute.
Dalam penyelesaian masalah TSP dapat dibagi kedalam 2
metode, yaitu metode optimal dan metode aproksimasi. Metode
optimal akan menghasilkan hasil yang optimal (minimum) sedangkan
metode aproksimasi akan menghasilkan hasil yang mendekati optimal.
2.3. Clarke Wright Saving Method
Metode yang dapat digunakan untuk menyelesaikan Traveling
Salesman Problem (TSP), salah satunya adalah metode penghematan
Clarke-wright (Clarke-wright Savings Approach). Metode ini
dikembangkan oleh Clarke dan Wright, dengan tujuan untuk
meminimalkan total jarak tempuh kendaraan untuk melayani permintaan
semua customer dalam satu hari pengiriman dimana tipe rute dengan
batas-batas kapasitas kendaraan. Metode Penghematan Clarke-wright
(Clarke-wright Savings Approach) merupakan suatu prosedur pertukaran,
dimana sekumpulan rute pada setiap langkah ditukar untuk mendapatkan
sekumpulan rute yang lebih baik.
Langkah-langkah pada metode ini adalah sebagai berikut:
Menentukan node sebagai node central atau disebut depot dan node
node tujuan.
Membuat matriks jarak yaitu matriks jarak antara depot dengan
node dan jarak antar node. Pengukuran jarak dari node A ke B sama
dengan jarak dari node B ke A sehingga matriks jarak ini termasuk
matriks symmetric. Bentuk umum matriks jarak dapat dilihat pada tabel
dibawah:
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
9
Tabel 2.1 Bentuk Umum Matriks Jarak
Dimana:
P0 = depot (tempat awal penjemputan customer)
Pi = node ke i
Pj = node ke j
coi = jarak dari depot ke node i = jarak dari node i ke depot
cij = jarak dari node i ke node j = jarak dari node j ke node i
Menghitung nilai penghematan (Si,,j) berupa jarak tempuh dari satu
node ke node yang yang lain.
Si,,j = coi + coj - cij
coi = jarak dari depot ke node i
cij = jarak dari node i ke node j
Sij = nilai penghematan jarak dari node i ke node j
Nilai penghematan (Si,,j) adalah jarak yang dapat dihemat jika rute o-i-o
digabungkan dengan rute o-j-o menjadi rute tunggal o-i-j-o yang
dilayani oleh satu kendaraan yang sama.
Membuat matriks penghematan, dimana bentuk umum dari matriks
penghematan yang dikembangkan oleh Clarke dan Wright dapat dilihat
pada Tabel 2.2 dibawah ini :
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
10
Tabel 2.2 Bentuk Umum Matriks Penghematan
Dimana:
qi = permintaan node ke-i
qj = permintaan node ke-j
P0 = depot (tempat penjemputan awal customer)
Pi = node ke i
Pj = node ke j
Sij = nilai penghematan jarak dari node i ke node j
Nilai-nilai dalam tij menunjukkan apakah kombinasi Pi dengan berada
dalam saru rute. Petunjuk ini mempunyai nilai-nilai berikut:
tij = 0, jika node tidak dihubungkan oleh satu rute kendaraan
tij = 1, jika dua node dihubungkan pada satu rute kendaraan
tij = 2, jika node dilayani tersendiri oleh satu kendaraan
Pemasukan (entries) tij tidak ditunjukkan dalam matriks penghematan,
pada awalnya tetapkan tij = 2, yang berarti bahwa satu kendaraan dipakai
untuk melayani masing-masing node.
Pada tahap selanjutnya proses berulang itu digerakkan dari yang
matrik terbesar ke matriks yang bernilai kecil, sampai masing-masing
matriks penghematan itu dievaluasi untuk perbaikan rute lebih lanjut.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
11
Contoh penerapan Clarke-wright saving method:
Terdapat depot dan 4 node yang harus dikunjungi
25
43
29
57
34
52
43
43
72
45
Setelah diketahui masing masing jarak dari setiap titik, maka dapat
dilakukan perhitungan savings.
Contoh perhitungan savings :
1. Langkah langkah penghitungan sebagai berikut bila akan
menghitung s ( 0, 1 ), dilihat pada tabel jarak dari depot ke node 0
adalah 0, kemudian jarak dari depot ke node 1 adalah 25, dan jarak
dari depot ke node 1 adalah 25, maka :
s ( 0,1 ) = d ( 0,0 ) + d ( 0,1 ) d ( 0,1 )
= 0 + 25 - 25
=0
s(0,2)
= d(0,0) + d(0,2) d(0,2)
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
12
= 0 + 43 43
=0
2.
3.
s(0,3)
s(0,4)
s(2,3)
s(2,4)
s(3,4)
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
13
Tabel 2.4 Tabel Saving
Dari/Ke
39
48
48
25
14
55
Saving
3,4
55
3,2
48
3,1
48
2,1
39
4,1
25
4,2
14
adalah
14
Maka diperoleh optimasi rute sbb:
Beban
Nilai saving tertinggi adalah 55, maka rute yang terbentuk adalah
(0,3,4,0) jika dilihat masih memenuhi karena beban untuk rute
tersebut masih 11.
2.
3.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
15
4.
5.
6.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
16
disebut juga sebagai IPPBX, yaitu memiliki fungsi dan kemampuan
layaknya PBX akan tetapi berbasis IP.
Secara sederhana arsitektur asterisk dapat dilihat seperti
gambar 2.3 dan berbeda dari kebanyakan produk telefoni lainnya. Secara
esensial asterisk bekerja ditengah-tengah, menghubungkan teknologi
telefoni di bagian bawahnya dengan aplikasi telefoni di bagian atasnya,
dan menghasilkan environment yang konsisten untuk mengembangkan
penggabungan environtmet telefoni.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
17
5)
6)
7)
8)
9)
10)
11)
12)
13)
14)
15)
16)
Blacklist
Call Detail Record
Call forward on busy
Call Forward on no answer
Call Parking
Call Quening
Call Recording
Call Routing
Call Transfer
Caller Id
Conference Bridging
Interactive Directory Listing
User dapat membuat fungsi baru dengan cara menulis script dial
plan dalam bahasa yang dimiliki oleh Asterisk, menambah modul dalam
bahasa C atau menulis script Asterisk Gateway Interface (AGI) dalam
Perl, PHP ,Phyton atau bahasa lain.
Untuk melakukan attachment telepon biasa ke sebuah server Linux
yang menjalankan Asterisk, atau melakukan koneksi ke saluran utama
PSTN, server harus memasang hardware khusus. Digium dan
perusahaan lainnya menjual kartu PCI untuk melakukan attachment
untuk telepon, jalur telepon, jalur T1 dan E1 serta servis telepon analog
dan digital yang lain ke sebuah server. Card yang digunakan dapat
berupa wildcard Digium TDM400P yang memiliki card FXS dan FXO.
Asterisk, yang merupakan salah satu sistem server PBX open
source, saat ini juga mendukung jangkauan yang luas dari protokol
VOIP mencakup SIP, MGCP dan H.323. Asterisk dapat beroperasi
dengan kebanyakan telepon SIP, seolah-olah sebagai reistrar dan sebagai
gateway antara IP telepon dan PSTN. Developer Asterisk juga telah
mendesain protokol baru, yaitu Inter-Asterisk eXchange, untuk
melakukan efisiensi panggilan trunking antara banyak Asterisk PBX.
Beberapa telepon memberi dukungan terhadap protokol IAX, yaitu
protokol yang secara langsung berkomunikasi dengan server Asterisk
2.4.1 Konfigurasi Asterisk
1.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
18
/etc/asterisk/sip.conf. Pastikan bahwa seluruh perintah pada file ini
sudah di-non aktifkan.
Contoh konfigurasi extensi pada file /etc/asterisk/sip.conf:
;softphone
[101]
type=friend
username=101
secret=101
host=dynamic
nat=no
dtmfmode=rfc2833
allow=all
callerid="sip00"
context=komdig
canreinvite=no
mailbox=101@komdig
2.
Konfigurasi extension.conf
Dial Plan berfungsi sebagai routing panggilan antar
extension baik yang berada dalam satu IP-PBX (lokal) maupun antar IPPBX, atau biasa disebut dial trunk. Dalam Asterisk, Dial Plan
diprogram dalam satu file yang bernama extensions.conf. Secara umum,
setiap extension dalam Asterisk merujuk pada user tertentu yang terregister ke Asterisk tersebut sehingga biasanya nomor extension sama
dengan id user. Dial Plan yang dibuat meliputi :
a. Dial antar extension dalam satu IP-PBX
b. Dial antar extension antar IP-PBX
Untuk mengkonfigurasi dial plan, edit file extensions.conf
dengan mengetik vi atau gedit /etc/asterisk/extensions.conf. Penulisan
extension berisi bagian berikut :
o Extension (Nama atau nomor)
o Priority (prioritas jumlah baris dari program)
o Application - Instruksi yang mengatakan pada asterisk apa yang
seharusnya dilakukan dengan panggilan.
exten => Extension,Priority,Application
misalnya :
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
19
exten => 123,1,Answer()
Pastikan bahwa seluruh perintah pada file ini sudah di-non aktifkan.
Contoh konfigurasi dialplan pada extensions.conf :
;dial antar ekstension pada IP-PBX
[komdig]
exten => 101,1,Dial(SIP/101,20)
exten => 101,2,Hangup
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
20
3. Konfigurasi LinkSys SPA400
LinkSys SPA400 merupakan salah satu Internet Telephony
Gateway yang berfungsi untuk menghubungkan line telepon analog
(PSTN) ke jalur VoIP. SPA400 memiliki 4 standard analog telephones
lines FXO. Di samping itu, Linksys SPA400 memiliki USB Flashdisk
untuk menyimpan voicemail.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
21
a.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
22
b.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
23
[general]
register => 9000@192.168.1.250/9000
Ganti 9000 dengan nilai yang anda masukan di User ID SPA400, dan
ganti 192.168.1.250 dengan IP address dari SPA400. Kemudian buat sip
entry untuk SPA400. Entry SIP untuk menerima call dari SPA400 kirakira sebagai berikut:
[9000]
type=friend
user=9000
host=192.168.1.250
dtmfmode=rfc2833
canreinvite=no
context=from-trunk
insecure=very
d.
Konfigurasi /etc/asterisk/extensions.conf
Pada file extension.conf dapat mengkonfigurasi routing untuk dialout dengan menggunakan SPA400. Sebuah contoh konfigurasi generik
untuk route dial-out dengan menekan tombol 9 dan masuk ke trunk
SPA400 FXO kira-kira bentuknya adalah sebagai berikut:
[general]
TRUNK=SIP/9000
TRUNKMSD=1
[trunklocal]
;
; Local seven-digit dialing accessed through trunk
interface
;
exten =>
_9NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
24
Dengan catatan bahwa nomor account Linksys SPA400 di Asterisk
adalah 9000.
Untuk telepon yang masuk, perlu melakukan konfigurasi lain.
Konfigurasi untuk routing call yang masuk lebih kompleks lagi. Jika
diasumsikan call yang masuk akan di sambungkan ke extension 200,
maka kira-kira sebagai berikut:
[from-trunk]
include => from-pstn
...
[from-pstn]
include=> from-pstn-custom
...
[from-pstn-custom]
exten=>9000,1,Goto(ext-local,200,1)
2.4.2
Aplikasi Asterisk
b.
c.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
25
d.
2.5. PHP-AGI
AGI atau Asterisk Gateway Interface itu ada 4 macam: AGI,
EAGI, FastAGI dan DeadAGI, yang pemakaiannya tergantung pada
keperluan. Tapi intinya sama, yaitu sebagai interface komunikasi antara
aplikasi Dialplan dengan aplikasi-aplikasi lain di luar Asterisk, dengan
mengunakan stdin dan stdout sebagai sarana komunikasinya. Karena
kesederhanaan protokol komunikasinya ini, maka dapat mengunakan
bahasa pemrograman apa saja.
PHPAGI adalah salah satu kelas dari PHP untuk Asterisk
Gateway Interface (AGI). PHPAGI dibangun dari tiga kelas yang
berbeda untuk membuat program script AGI. Tiga kelas yang berbeda
dalam phpagi yaitu phpagi.php, phpagi-asmanger.php dan phpagifastagi.php.
1. Phpagi.php termasuk class untuk menulis script php berdasarkan
pada standart interface AGI dengan berdasarkan pada perform dari
fungsi asterisk manager.
2. Phpagi-asmanager.php hanya pada interface asterisk manager,
biasanya digunakan dari luar script AGI.
3. Phpagi-fastagi.php server asterisk fastAGI di implementasikan di
PHP.
File agi biasanya di simpan pada direktori /var/lib/asterisk/agibin dan untuk mengeksekusi script PHPAGI harus mengubah
permission denied dari file agi tersebut dengan menggunakan chmod
755 <filename>.php. Sedangkan untuk pemanggilan file agi dilakukan
pada dialplan pada file extension_custom.conf.
Berikut contoh pemanggilan file agi:
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
26
a.
b.
c.
d.
e.
f.
g.
Keterangan :
$conn, adalah nama variabel penampung status hasil koneksi kepada
database.
host, adalah nama host atau alamat server database MySQL.
username, adalah nama user yang telah diberi hak untuk dapat
mengakses server database.
password, adalah kata sandi untuk username untuk dapat masuk ke
dalam database.
2.
Keterangan :
$pilih, berisi status koneksi kepada database.
$conn, merupakan koneksi kepada server database yang berhasil.
namadatabase, adalah nama database yang akan dikenai proses.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
27
3.
Keterangan :
$hasil, akan berupa record set apabila SQL Statement berupa perintah
select.
4.
a.
mysql_fetch_array()
Digunakan untuk melakukan pemrosesan hasil query yang
dilakukan dengan perintah mysql_query(), dan memasukkannya ke
dalam array asosiatif, array numeris atau keduanya.
Sintaks :
$row = mysql_fetch_array($hasil);
Keterangan :
$row, adalah array satu record dari record $hasil yang diproses nomor
record sesuai dengan nomor urut dari proses mysql_fetch_array yang
sedang dilakukan.
$hasil, adalah record set yang akan diproses.
b.
mysql_fetch_assoc()
Fungsi ini hampir sama dengan fungsi mysql_fetch_array(), hanya
saja array yang dihasilkan hanya array asosiatif.
Sintaks :
$row = mysql_fetch_assoc($hasil);
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
28
c.
mysql_fetch_row()
Fungsi ini hampir sama dengan fungsi mysql_fetch_array(), hanya
saja array yang dihasilkan hanya array numeris.
Sintaks :
$row = mysql_fetch_row($hasil);
Keterangan:
$hasil, adalah record set yang akan diproses.
d.
mysql_num_rows()
Fungsi ini digunakan untuk menghitung jumlah record yang ada
pada database.
Sintaks :
$jml = mysql_num_rows($hasil);
keterangan
25
110
SMTP
POP3
143
IMAP
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
29
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
30
UMS Server
Fitur UMS Server
Email Server
Voice Server
Fax-mail
Web Interface
PBX
Faximile
Email +
Softphone
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
BAB III
PERENCANAAN SISTEM
Dalam bab ini akan diuraikan cara penghitungan jarak terdekat dan
penjelasan algoritma program yang dirancang.
3.1 Bahan dan Alat
Untuk membuat proyek akhir ini, dibutuhkan:
Perencanaan perangkat keras
Perencanaan perangkat lunak
3.1.1 Perencanaan perangkat keras
Untuk hardware yang akan digunakan adalah sebuah server
komputer yang digunakan sebagai server meliputi VoIP server, mail
server dan web server. Untuk VoIP server dengan Wilcard Asterisk
TDM400P sebagai hardware pendukung VoIP server untuk koneksi
dengan jalur PSTN dan beberapa client yang akan terhubung dengan
server. Ada beberapa client yang terhubung dengan server :
1.
2.
31
32
3.1.2 Perencanaan perangkat lunak
Peralatan lain yang mendukung pembuatan sistem layanan ini selain
hardware juga didukung software yang mana keduanya saling
berhubungan, adapun software yang digunakan diantaranya yaitu :
1. Asterisk digunakan untuk IP PBX.
2. Apache web server dan MySQL digunakan untuk membuat
database yang berisi tentang segala sesuatu yang perlu disimpan
dalam sebuah basis data. Dalam hal ini data yang disimpan adalah
data pemesan, pesanan, dan jumlah harga.
3. Softphone client (SJphone dan Xlite) adalah software aplikasi VoIP
client. Software ini digunakan untuk menghubungi IVR server.
4. Postfix mail server digunakan mail server.
3.2 Cara Kerja
Pada bagian ini akan dijelaskan mengenai urutan pelaksanaan
penelitian mulai dari persiapan hingga pengujian. Beberapa hal penting
yang dibahas antara lain: perancangan sistem, data jarak antar tempat
wisata,relasi database, flowchart dan perancangan interaksi client-server.
3.2.1 Tahap Persiapan
Pada tahap persiapan ini terdiri dari menyiapkan bahan dan alat
yang dibutuhkan seperti yang sudah dijelaskan di atas. PC yang
digunakan sebagai server diinstall sistem operasi linux ubuntu 9.04.
Untuk Asterisk menggunakan asterisk 1.4. Software yang lainnya seperti
Server Web Apache, softphone, dan postfix mail server. Untuk sisi klien,
menginstall softphone.
3.2.2 Perancangan Sistem
Pada proyek akhir ini digunakan satu buah PC (Personal Computer)
sebagai server. Server disini meliputi VoIP server, mail server, dan web
server. Seperti yang sudah dijelaskan di atas PC server sudah terinstall
asterisk, postfix mail server dan apache sebagai web server.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
33
Secara garis besar, perancangan sistem digambarkan seperti blok
diagram dibawah ini:
Sistem ini terdiri dari PC server yang terdiri dari IP PBX server,
email server serta web server. IP PBX server disini digunakan untuk
membangun layanan call center. Dimana sistem call center terintegrasi
dengan web server dimana web server berfungsi untuk memberikan
informasi yang akan disampaikan oleh agent call center. Web server
juga berfungsi untuk mengolah data dan memperoleh hasil perhitungan
algoritma Clarke-wright. Email server digunakan untuk mengirimkan
informasi ke agent call center mengenai pelanggan yang telah
menelepon ke layanan call center tetapi tidak dapat dilayani karena
agent sedang sibuk. IP PBX server juga terhubung dengan rangkaian
Linksys SPA400 untuk PSTN dan PBX serta beberapa telepon untuk
berkomunikasi.
Berikut adalah tahapan penggunaan aplikasinya:
Customer menelepon ke layanan taksi wisata
Operator ada maka input data meliput nama,lokasi jemput,nomor
yang dapat dihubungi tujuan wisata ke dalam database lalu
menginformasikan user biaya yang harus dibayar.
Operator tidak ada IVR pelanggan memasukkan nomor
handphone operator menelepon kembali untuk konfirmasi tempat
dan waktu penjemputan dan biaya yang harus dibayar oleh customer.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
34
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
35
Air Gembira Loka sejauh 6,20 Km. Dari jarak yang diperoleh akan
dihitung waktu tempuh ke masing-masing wisata tersebut dengan cara
membagi jarak dibagi kecepatan. Kecepatan dianggap tetap yaitu 40
Km/jam. Berikut contoh tabel jarak yang diperoleh:
Tabel 3.1 Jarak antar tempat wisata
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
36
pesan
iduser
awal
tgljemput
jamjmpt
tmptwisata
qty
idsupir
tujuan
biaya
waktu
user
iduser
nama
no_id
telp
email
wisata
supir
no
wisata
cat
desc
image
tiketmasuk
lama
idsupir
nama
nohp
status
book
bookdate
foto
tes_1
no
node1
node2
jarak
waktu
3.2.5 Flowchart
Flowchart digunakan untuk memperjelas perancangan dari sistem
dan algoritma yang akan dibuat. Untuk flowchart sistem ditunjukkan
pada gambar dibawah ini:
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
37
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
38
menelpon kembali pelanggan tersebut. Untuk algoritma saving akan
digunakan flowchart sebagai berikut:
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
39
Program diawali dengan menginisialisasi titik awal (depot) dan
titik tujuan (node). Setelah itu mengambil jarak dari depot ke node
maupun jarak masing-masing node di database. Dari jarak-jarak tersebut
dapat dihitung nilai saving atau penghematan dari antar depot ke node
dan node ke node. Seluruh nilai saving tersebut akan dimasukkan ke
sebuah matrik penghematan. Dari matrik tersebut, selanjutnya diurutkan
nilai matrik penghematan tersebut dari nilai terbesar ke nilai terkecil.
Kemudian nilai saving paling besar, diambil sebagai tujuan pertama
yang terbentuk. Selanjutnya proses berulang itu digerakkan dari yang
matrik terbesar ke matriks yang bernilai kecil, sampai masing-masing
matriks penghematan itu dievaluasi untuk perbaikan rute lebih lanjut.
Perlu diingat, Setelah dua titik telah bergabung, titik tersebut tiidak akan
pernah dipisahkan lagi oleh algoritma Clarke dan Wright. Serial varian
dari algoritma memperluas parsial satu rute di ujungnya titik, yang
tersambung ke titik pangkal.
3.3 Tempat dan Waktu
Pembuatan proyek akhir yang berjudul Implementasi Clarkewright Saving Method pada Layanan Call center Taksi Wisata berbasis
VoIP pada:
Tempat : Gedung D4 Lantai 1, Ruang Proyek Akhir Lab. Komunikasi
Digital, Politeknik Elektronika Negeri Surabaya.
Waktu : Semester 3 tahun ajaran 2010/2011.
3.4 Metode Analisa dan Pengumpulan Data
Setelah proses perancangan selesai, langkah selanjutnya adalah
proses pengujian. Proses pengujian yang dilakukan meliputi:
3.4.1. Keberhasilan Sistem
Pengujian ini dilakukan dengan menjalankan program yang sudah
dibuat. Ada tiga parameter yang digunakan untuk pengujian ini yaitu
pengujian hunting, program untuk deteksi digit dan waktu eksekusi yang
dibutuhkan program sejak pelanggan memasukkan no telepon hingga
email diterima oleh operator.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
40
3.4.2. Kebenaran Algoritma
Pengujian dilakukan dengan cara membandingkan antara hasil rute
optimasi yang dihasilkan oleh program dengan rute optimasi yang
dihasilkan oleh perhitungan manual. Jadi, dapat diketahui program yang
dibuat apakah sudah sesuai dengan teori algoritma Clarke-wright.
3.4.3. Pengujian Waktu Komputasi
Pengujian waktu komputasi dilakukan dengan melakukan pengujian
terhadap banyaknya titik (node) yang dituju dan berapa lama waktu
komputasi yang dibutuhkan oleh program. Sehingga dari analisa ini
dapat diketahui efektivitas dari program yang telah dibuat.
3.4.4. Perbandingan Algoritma Saving dengan Algoritma Greedy
Untuk pengujian ini akan dibandingkan antara 2 algoritma yaitu
algoritma saving dan sebagai pertandingan akan digunakan algoritma
greedy. Dalam pengujian ini, kedua algoritma tersebut akan
dibandingkan dalam hal waktu eksekusi dan optimasi hasil dari
perhitungan rute masing-masing algortima.
3.4.5. Hasil Respondensi Terhadap Sistem
Sistem yang dibuat pada Tugas Akhir ini memerlukan uji coba
langsung dengan pemakai. Karena sistem ini ditujukan untuk
memudahkan dalam berwisata, maka pengujian akan dilakukan untuk
mengetahui kekurangan dan kelebihan dari sistem ini dari pandangan
masyarakat.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
BAB IV
PEMBUATAN SISTEM, IMPLEMENTASI,
HASIL DAN ANALISA
Bab ini menjelaskan mengenai pengujian sistem call center,
pencarian rute paling optimal dengan algoritma saving. Hasil uji coba
yang telah dilakukan akan dianalisa untuk mengetahui apakah
perancangan sistem yang telah dibangun sesuai dengan tujuan yang
diharapkan sebagaimana telah dijelaskan pada bab I. Tahapan pengujian
sistem meliputi:
4.1. Pembuatan Sistem
Pada tahap ini algoritma saving diintegrasikan dengan web admin
yang dioperasikan oleh operator di sisi call center. Serta layanan UMS
juga diintegrasikan ke asterisk, sehingga apabila layanan sibuk akan ada
email yang dikirim ke operator untuk segera menelpon kembali
customer yang telah menelepon. Adapun tahapan-tahapan yang harus
dilakukan untuk mendapatkan integrasi sistem sebagai berikut:
4.1.1. Instalasi Software
Pada tugas akhir ini software yang digunakan adalah XAMPP
dimana didalamnya sudah terinstall PHP untuk bahasa pemrograman
web dan untuk aplikasi UMS serta sudah terdapat database MySQL.
Untuk mengakses menggunakan web browser yang mana merupakan
interface antara administrator dan server.
4.1.2. Instalasi Hardware
Untuk hardware yang digunakan adalah PC yang akan berfungsi
sebagai server meliputi VoIP Server, mail server dan web server. Pada
sisi server ini akan diinstal asterisk 1.4 sebagai VoIP server dan Postfix
dan squirrelmail untuk mail server.
41
42
4.2. Implementasi
Pada tahapan ini, semua sistem di uji coba dengan harapan
dapat mengetahui kekurangan-kekurangan dari sistem untuk kemudian
diperbaiki sehingga kesalahan dari sistem dapat diminimalisir atau
bahakn dihilangkan untuk mendapatkan hasil yang optimal.
4.2.1. Penerapan Call center
Untuk penerapan call center pada VoIP server maka
dibutuhkan konfigurasi pada file sip.conf dan extensions.conf yang
terletak di direktori /etc/asterisk. Berikut contoh konfigurasi di sip.conf
dan extension.conf untuk salah satu ekstensi pada layanan call center:
Konfigurasi di sip.conf
[102]
type=friend
username=102
secret=102
host=dynamic
nat=no
dtmfmode=rfc2833
allow=all
callerid="SIP102"
context=taksi
canreinvite=no
mailbox=102@taksi
Konfigurasi di extension.conf
exten => 102,1,dial(sip/102,5)
exten => 102,2,AGI(kirim.php)
exten => 102,3,hangup
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
43
4.2.2. Penerapan UMS (Unified Messaging System) pada layanan
call center
Untuk penerapan UMS (Unified Messaging System), yaitu
layanan yang akan mengirim email secara otomatis ke operator call
center bahwa ada pelanggan yang telah menghubungi tetapi belum
dilayani. Berikut potongan-potongan program yang dijalankan oleh AGI
untuk mengirim email. Program dibawa ini, adalah inisialisasi dari
program untuk nama pengirim, subyek email, dan alamat email tujuan.
<?
$email_from = "smartbit@uchiemail.com"; // Who the email is
from
$email_subject = "mail baru!!"; // The Subject of the email
$email_txt = "thank you for the request"; // Message that
the email has in it
$email_to = "$email";
?>
$email_subject,
$email_message,
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
44
akan mengkonfirmasi nomor yang telah dimasukkan oleh pelanggan,
jika salah pelanggan akan diminta mengulang untuk memasukkan nomor
handphone. Jika benar nomor handphone pelanggan akan dikirimkan ke
email operator. Pengiriman email ke operator bersifat bergantian.
4.2.3. Penerapan Database
Pada sistem yang dirancang terdapat sebuah database dengan 5 tabel
yang berkaitan dengan sistem yang digunakan. Tabel tersebut adalah
sebagai berikut:
1.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
45
2.
Tabel SUPIR, terdiri dari field idsupir, nama, nohp, status, book,
bookdate, dan foto
Idsupir ditentukan oleh auto_increment dari MySQL. Nama,
nohp adalah keterangan dari pemilik idsupir. Status adalah
keterangan status dari supir, book adalah jumlah order untuk supir
tersebut, bookdate keterangan tanggal berapa supir ada order dan
foto hanya keterangan nama file foto supir tersebut.
Table TES_1, terdiri dari field no, node1, node2, jarak, waktu
No ditentukan dari auto increment MySQL. Node1 merupakan
titik pertama dan node2 adalah titik kedua. Jarak merupakan jarak
dari node1 ke node2 dinyatakan dalam Km. Waktu diperoleh dari
jarak dibagi kecepatan dimana dianggap tetap yaitu 40 Km/jam
dinyatakan dalam menit.
46
4.
Tabel USER, terdiri dari field id_user, nama, no_id, telp dan email
Field id_user ditentukan dari auto_increment MySQL , field
nama, noid, telp dan email merupakan masukan dari halaman pesan dan
keterangan dari customer yang melakukan pemesanan.
Tabel Wisata terdiri dari field no, wisata, cat, desc, image,
tiketmasuk, lama
Field no adalah hasil auto increment dari MySQL. Wisata
adalah nama nama tempat wisata, cat adalah kategori dari tempat
wisata, desc adalah deskripsi dari tempat wisata, image hanya
keterangan nama file dari gambar tempat wisata yang ada di
informasi web, tiketmasuk adalah keterangan biaya tiket masuk dan
lama adalah lamanya berwisata di tempat wisata tersebut.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
47
4.2.4. Penerapan Clarke Wright Saving Method
Algoritma ini bisa dikatakan inti dari sistem yang sedang
dibangun. Algoritma ini digunakan untuk mencari jarak paling optimal
dalam suatu kasus TSP (Travelling Salesman Problem), dimana semua
titik harus dikunjungi.
Pada penerapan algoritma masukan dari operator melalui web
akan dibaca dan kemudian akan diolah sesuai dengan algoritma saving.
Berikut contoh proses admin memasukkan order dari pelanggan:
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
48
start
inisialisasi $titikawal
inisialisasi $nodetujuan
read jml tujuan=n
for(i=0 to i=n)
hitung Si,j=d0,i+d0,j-di,j
sort saving
highest saving = rute awal(A,B)
for (i=0 to i=n)
cek saving node
if ($node not visit yet)
if (feasible A)
insert awal
else if (feasible B)
insert akhir
else
continue
else
continue
stop
Setelah itu akan dicek kondisi yang sesuai untuk kemudian diurutkan
menjadi rute.
Setelah semua rute dicek dan disisipkan, hasil dari booking
tersebut akan menghasilkan optimasi dari algoritma saving, yang
ditampilkan pada Gambar 4.7. Pada gambar 4.7 ditampilkan nilai
perhitungan saving yang telah diurutkan dari nilai saving terbesar hingga
nilai saving terkecil. Setelah itu ditampilkan tujuan dari nilai saving
terbesar yaitu vredeburg-primarasa yang kemudian menjadi rute pertama,
langkah selanjutnya dicari nilai saving terbesar kedua. Pada gambar
ditunjukkan nilai saving terbesar kedua yaitu malioboro-primarasa maka
rute akan disisipkan di kiri atau kanan rute, untuk kasus ini akan
diletakkan di sebelah kanan sehingga rute menjadi vredeburg-primarasamalioboro. Proses diulang mencari nilai saving terbesar selanjutnya dan
rute disisipkan hingga semua rute tujuan sudah ditempuh.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
49
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
50
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
51
52
Setelah data dimasukkan, akan diproses dengan algoritma yang telah
diterangkan diatas. Dari hasil perhitungan tersebut didapatkan jadwal
wisata untuk pelanggan tersebut serta total jarak tempuh dan perkiraan
biaya yang akan dikeluarkan. Hal-hal tersebut akan diinformasikan ke
pelanggan. Dan untuk data jam jemput dan rute akan dikirimkan ke
nomor handphone supir. Untuk sistem sms tidak akan dibahas pada
tugas akhir ini.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
53
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
54
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
55
4.3 Pengujian Sistem
Pengujian sistem ini bertujuan untuk mengetahui keberhasilan
dari sistem yang telah dibuat khususnya pada sisi call center. Pada
pengujian sistem ini akan dilakukan tiga pengujian meliputi pengujian
hunting, deteksi digit dan waktu eksekusi dari sistem UMS yang telah
dibuat.
4.3.1. Pengujian Hunting
Pada proyek akhir ini, call center akan dibuat dengan sistim
hunting dimana jika nomor yang dihubungi sedang sibuk secara
otomatis akan mencari line yang kosong. Untuk pengujian ini akan
digunakan tiga operator. Waktu yang akan dihitung adalah dari
penekanan digit hingga terdengar ring tone di line operator. Berikut hasil
pengujian yang direpresentasikan dalam bentuk tabel:
Tabel 4.1 Pengujian Hunting
Operator/
Kondisi
101
102
103
yang
menerima
Waktu (s)
1
2
3
4
on-hook
off-hook
off-hook
off-hook
on-hook
on-hook
off-hook
off-hook
on-hook
on-hook
on-hook
off-hook
101
102
103
IVR
2.6
4.6
7.1
7.4
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
56
yang dikirimkan ke email sesuai dengan digit yang telah dimasukkan
pada saat proses pemesanan. Berikut hasil pengujian untuk deteksi digit,
direpresentasikan dalam bentuk tabel.
Tabel 4.2 Pengujian Deteksi Digit
Percobaan
1
2
3
4
5
6
7
8
9
10
Jumlah
Digit
5
6
7
8
9
10
11
12
13
14
Cocok
Y
T
Dari tabel diatas untuk deteksi digit hasilnya cocok atau sesuai
dengan digit yang ditekan. Dari hasil ini dapat diketahui bahwa program
deteksi digit sudah bekerja dengan baik.
4.3.3. Waktu Eksekusi UMS (Unified Messaging System)
Pengujian waktu eksekusi UMS ini dilakukan dengan cara
menghitung waktu eksekusi dari pelanggan memasukkan nomor telepon
hingga operator menerima email yang berisi nomor telepon pelanggan
tersebut. Pada pengujian ini akan dilakukan pengujian sebanyak 10 kali.
Dari pengujian ini dapat diketahui lama waktu program dan dapat
diketahui efektivitas maupun kelemahan dari program yang telah dibuat.
Untuk menghitung waktu eksekusi ini akan digunakan program
skrip php yang diletakkan diatas program deteksi digit hingga email
diterima oleh operator. Berikut potongan program yang digunakan untuk
menghitung waktu eksekusi:
// Start TIMER
// ----------$stimer = explode( ' ', microtime() );
$stimer = $stimer[1] + $stimer[0];
// -----------
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
57
// End TIMER
// --------$etimer = explode( ' ', microtime() );
$etimer = $etimer[1] + $etimer[0];
$waktu=$etimer-$stimer;
echo $waktu;
//-----------
waktu
eksekusi
UMS,
Waktu Komputasi
(s)
43.18
40.08
40.63
43.76
37.81
40.16
38.35
39.64
41.14
41.3
40.605
Dari tabel hasil pengujian diatas, dapat diketahui bahwa ratarata waktu yang diperlukan dari pelanggan memasukkan nomor telepon
hingga email sampai ke customer adalah 40 detik. Dari hasil pengujian
dapat dikatakan bahwa program UMS dapat bekerja dengan baik dan
waktu yang dibutuhkan tidak terlalu lama untuk mengirim email ke
operator.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
58
4.4. Pengujian Algoritma
Untuk melakukan pengujian pada algoritma perlu diketahui
parameter-parameter yang diperlukan dalam perhitungan algoritma
saving. Diketahui bahwa parameter untuk perhitungan algoritma saving
adalah jarak antar tempat wisata.
4.4.1. Kebenaran Algoritma
Pada pengujian ini dilakukan perbandingan hasil perhitungan
manual algoritma saving dan dengan menggunakan program yang telah
dibuat. Pengujian dilakukan dengan membandingkan hasil komputasi
program dengan hasil perhitungan manual yang dilakukan penulis. Dari
8 kali percobaan yang dilakukan didapatkan hasil yang sama antara
perhitungan penulis dengan hasil komputasi program. Jadi dapat
dikatakan bahwa algoritma saving yang diaplikasikan dalam program
mendekati kebenaran.
Tabel 4.4 Hasil Kebenaran Algoritma
Titik yg dituju
adisucipto_malioboro_krato
n_afandi_
adisucipto_malioboro_kalas
an_prambanan_primarasa_
adisucipto_malioboro_pram
banan_afandi_monjogja_pri
marasa_
adisucipto_malioboro_pram
banan_afandi_vredeburg_kr
aton_primarasa_
adisucipto_malioboro_pram
banan_afandi_vredeburg_kr
aton_yudjum_primarasa_
Jml
node
Program
Hasil
adisucipto->afandi3 >malioboro->kraton>adisucipto
adisucipto->prambanan4 >malioboro->primarasa>kalasan->adisucipto
adisucipto->monjogja>malioboro->primarasa>afandi->prambanan>adisucipto
adisucipto->vredeburg>kraton->primarasa6
>malioboro->afandi>prambanan->adisucipto
adisucipto->vredeburg>kraton->primarasa7 >malioboro->yudjum>afandi->prambanan>adisucipto
5
Manual
Jarak Waktu
(Km) (hh:mm)
24
49
48
41
45
Hasil
adisucipto->afandi3:37 >malioboro->kraton>adisucipto
adisucipto->prambanan5:15 >malioboro->primarasa>kalasan->adisucipto
adisucipto->monjogja>malioboro->primarasa>afandi->prambanan>adisucipto
adisucipto->vredeburg>kraton->primarasa7:03
>malioboro->afandi>prambanan->adisucipto
adisucipto->vredeburg>kraton->primarasa8:10 >malioboro->yudjum>afandi->prambanan>adisucipto
6:13
Cocok
Jarak
(Km)
Waktu
(hh:mm)
24
3:37
49
5:15
48
6:13
41
7:03
45
8:10
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
59
4.4.2. Waktu Komputasi
Pada pengujian ini dilakukan pengamatan antara banyak node
dan waktu komputasi dari program. Parameter yang digunakan adalah
banyaknya masukan dari user saat memilih tujuan wisata dan waktu
yang dibutuhkan oleh program untuk memperoleh rute paling optimal
dari masukan tempat wisata tersebut. Untuk pengujian ini digunakan
skrip php yang sama seperti yang digunakan pada perhitungan waktu
komputasi UMS. Hasil pengujian direpresentasikan dalam bentuk tabel
dan grafik.
Tabel 4.5 Hasil pengujian waktu komputasi
Jml node
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Perc 1(s)
0.168
0.171
0.251
0.214
0.224
0.31
0.392
0.345
0.376
0.467
0.585
0.582
0.635
0.719
0.77
0.867
0.877
1.062
1.177
1.33
1.324
1.348
1.503
1.598
1.678
1.751
1.942
Perc 2 (s)
0.078
0.115
0.18
0.188
0.274
0.283
0.316
0.326
0.316
0.465
0.553
0.553
0.622
0.704
0.817
0.857
0.91
1.071
1.049
1.179
1.312
1.375
1.481
1.598
1.652
1.745
1.892
Perc 3 (s)
0.141
0.154
0.126
0.161
0.262
0.245
0.288
0.368
0.417
0.405
0.545
0.585
0.687
0.69
0.732
0.847
0.924
1.008
1.104
1.181
1.267
1.439
1.439
1.566
1.64
1.786
1.879
Average (s)
0.129
0.147
0.186
0.188
0.253
0.279
0.332
0.346
0.370
0.446
0.561
0.573
0.648
0.704
0.773
0.857
0.904
1.047
1.110
1.230
1.301
1.387
1.474
1.587
1.657
1.761
1.904
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
60
Dari tabel diatas, direpresentasikan dalam bentuk grafik untuk nilai ratarata dan banyaknya node.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
61
Hasil pengujian menunjukkan semakin banyak node yang
digunakan waktu komputasi saving dan greedy juga makin lama. Tetapi
waktu komputasi Greedy jauh lebih cepat dibandingkan komputasi
saving. Dari hasil pengujian direpresentasikan dalam bentuk tabel
dibawah ini:
Tabel 4.6 Tabel Waktu Komputasi Saving dan Greedy
Jml node
Saving Method
Perc 1(s) Perc 2 (s) Perc 3 (s)
Greedy
Average (s)
Perc 1(s)
Perc 2 (s)
Perc 3 (s)
Average (s)
0.168
0.078
0.141
0.129
0.022
0.023
0.026
0.024
0.171
0.115
0.154
0.147
0.029
0.027
0.028
0.028
0.251
0.18
0.126
0.186
0.033
0.033
0.037
0.034
0.214
0.188
0.161
0.188
0.039
0.041
0.046
0.042
0.224
0.274
0.262
0.253
0.046
0.049
0.060
0.052
0.31
0.283
0.245
0.279
0.053
0.058
0.063
0.058
0.392
0.316
0.288
0.332
0.063
0.066
0.064
0.064
10
0.345
0.326
0.368
0.346
0.075
0.071
0.078
0.075
11
0.376
0.316
0.417
0.370
0.076
0.078
0.082
0.079
12
0.467
0.465
0.405
0.446
0.084
0.084
0.093
0.087
13
0.585
0.553
0.545
0.561
0.092
0.097
0.104
0.098
14
0.582
0.553
0.585
0.573
0.092
0.104
0.098
0.098
15
0.635
0.622
0.687
0.648
0.098
0.113
0.112
0.108
16
0.719
0.704
0.69
0.704
0.098
0.120
0.126
0.115
17
0.77
0.817
0.732
0.773
0.115
0.128
0.103
0.115
18
0.867
0.857
0.847
0.857
0.135
0.128
0.137
0.133
19
0.877
0.91
0.924
0.904
0.146
0.143
0.141
0.143
20
1.062
1.071
1.008
1.047
0.142
0.159
0.169
0.157
21
1.177
1.049
1.104
1.110
0.146
0.174
0.168
0.163
22
1.33
1.179
1.181
1.230
0.151
0.162
0.169
0.161
23
1.324
1.312
1.267
1.301
0.171
0.172
0.185
0.176
24
1.348
1.375
1.439
1.387
0.187
0.185
0.182
0.185
25
1.503
1.481
1.439
1.474
0.194
0.188
0.213
0.198
26
1.598
1.598
1.566
1.587
0.185
0.209
0.223
0.206
27
1.678
1.652
1.64
1.657
0.199
0.212
0.218
0.210
28
1.751
1.745
1.786
1.761
0.223
0.223
0.222
0.223
29
1.942
1.892
1.879
1.904
0.232
0.244
0.237
0.238
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
62
63
Jml
Node
Tempat Tujuan
adisucipto,malioboro,kraton, adisucipto>afandi>malioboro>kr
afandi,
aton>adisucipto
adisucipto,malioboro,kalasa adisucipto>prambanan>maliobo
n,prambanan,primarasa,
ro>primarasa>kalasan>adisucipt
o
Jarak
(Km)
adisucipto,malioboro,pramb adisucipto>vredeburg>kraton>pr
anan,afandi,vredeburg,krato imarasa>malioboro>afandi>pra
n,primarasa,
mbanan>adisucipto
41
adisucipto,malioboro,kalasa
n,prambanan,afandi,vredeb
urg,kraton,yudjum,primaras
a,
adisucipto>vredeburg>kraton>pr
imarasa>malioboro>yudjum>afa
ndi>prambanan>kalasan>adisuci
pto
adisucipto,malioboro,kalasa adisucipto>afandi>yudjum>mali
n,prambanan,afandi,vredeb oboro>kraton>primarasa>vrede
urg,kraton,ratuboko,yudjum, burg>prambanan>ratuboko>kala
primarasa,
san>adisucipto
giwangan,malioboro,gembir
aloka,kalasan,prambanan,af
10 andi,vredeburg,kraton,ratub
oko,yudjum,primarasa,
giwangan>gembiraloka>kalasan
>ratuboko>prambanan>afandi>y
udjum>primarasa>vredeburg>m
alioboro>kraton>giwangan
adisucipto,malioboro,gembir adisucipto>kalasan>prambanan>
aloka,monjogja,kalasan,pra ratuboko>yudjum>monjogja>ma
11 mbanan,afandi,vredeburg,kr lioboro>kraton>primarasa>vrede
aton,ratuboko,yudjum,prima burg>gembiraloka>afandi>adisu
rasa,
cipto
6:13
54
7:03
adisucipto>afandi>prambanan>v
redeburg>malioboro>kraton>pri
marasa>adisucipto
47
8:10
adisucipto>afandi>prambanan>v
redeburg>malioboro>kraton>yu
djum>primarasa>adisucipto
61
9:11
adisucipto>afandi>kalasan>pram
banan>vredeburg>malioboro>kr
aton>yudjum>primarasa>adisuci
pto
62
10:13
adisucipto>afandi>kalasan>ratub
oko>prambanan>vredeburg>mal
ioboro>kraton>yudjum>primaras
a>adisucipto
63
11:29
giwangan>gembiraloka>vredebu
rg>kraton>primarasa>afandi>ma
lioboro>yudjum>kalasan>ratubo
ko>prambanan>giwangan
71
12:22
adisucipto>afandi>kalasan>gemb
iraloka>ratuboko>prambanan>vr
edeburg>malioboro>kraton>yudj
um>primarasa>monjogja>adisuci
pto
97
45
314.5
46
345
363.5
58
431
54
429
162
adisucipto>afandi>prambanan>
malioboro>primarasa>monjogja
>adisucipto
288.5
Waktu
(hh:mm)
286
47
adisucipto>afandi>malioboro>kr
aton>adisucipto
Jarak
(Km)
adisucipto>kalasan>prambanan>
malioboro>primarasa>adisucipto
282.5
48
5:15
49
adisucipto,malioboro,pramb adisucipto>prambanan>maliobo
anan,afandi,monjogja,prima ro>primarasa>kalasan>adisucipt
rasa,
o
adisucipto,malioboro,pramb adisucipto>vredeburg>kraton>pr
anan,afandi,vredeburg,krato imarasa>malioboro>yudjum>afa
n,yudjum,primarasa,
ndi>prambanan>adisucipto
Waktu
(hh:mm)
Greedy
5:01
251
6:23
307
7:12
309.5
8:33
370.5
9:34
401
10:36
419.5
11:49
476.5
13:27
579.5
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
64
Dari tabel diatas dapat diketahui bahwa untuk pengujian titik dalam
kota dan untuk titik yang sedikit algoritma greedy lebih optimal dalam
menghasilkan rute TSP, sementara saving lebih optimal untuk node
jumlah node yang lebih banyak. Bila hasil pengujian direpresentasikan
dalam bentuk grafik akan tampak sebagai berikut:
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
65
Tabel 4.8 Hasil Pengujian Optimasi Node Dalam dan Luar Kota
Saving
Jml
node
Tempat Tujuan
giwangan,malioboro,pramban giwangan>prambanan>malioboro>p
an,primarasa,parangtritis,
rimarasa>parangtritis>giwangan
adisucipto,malioboro,pramba adisucipto>afandi>vredeburg>krato
nan,afandi,vredeburg,kraton, n>primarasa>malioboro>borobudur
primarasa,borobudur,
>prambanan>adisucipto
10
adisucipto,malioboro,gembira
loka,monjogja,prambanan,afa
ndi,vredeburg,kraton,yudjum,
primarasa,gnkidbeach,
statugu,malioboro,gembiralok
a,monjogja,kalasan,prambana
13 n,afandi,vredeburg,kraton,rat
uboko,yudjum,primarasa,para
ngtritis,gnkidbeach,
statugu,malioboro,gembiralok
a,monjogja,kalasan,prambana
16 n,afandi,vredeburg,kraton,rat
uboko,yudjum,primarasa,para
ngtritis,gnkidbeach,siung,sade
ng,sundak
statugu,malioboro,gembiralok
a,monjogja,kalasan,prambana
n,afandi,vredeburg,kraton,rat
19 uboko,yudjum,primarasa,para
ngtritis,gnkidbeach,siung,sade
ng,sundak,parangkusumo,dep
ok,glagah
statugu,malioboro,gembiralok
a,monjogja,kalasan,prambana
n,afandi,vredeburg,kraton,rat
22 uboko,yudjum,primarasa,para
ngtritis,gnkidbeach,siung,sade
ng,sundak,parangkusumo,dep
ok,glagah,ngrenehan,sepanja
ng,ngobaran
statugu,malioboro,gembiralok
a,monjogja,kalasan,prambana
n,afandi,vredeburg,kraton,rat
uboko,yudjum,primarasa,para
25 ngtritis,gnkidbeach,siung,sade
ng,sundak,parangkusumo,dep
ok,glagah,ngrenehan,sepanja
ng,ngobaran,kotagede,taman
sari,guasiluman
statugu,malioboro,gembiralok
a,monjogja,kalasan,prambana
n,afandi,vredeburg,kraton,rat
uboko,yudjum,primarasa,para
ngtritis,gnkidbeach,siung,sade
29 ng,sundak,parangkusumo,dep
ok,glagah,ngrenehan,sepanja
ng,ngobaran,kotagede,taman
sari,guasiluman,banyusumuru
p,borobudur,gadriresto,balera
os
adisucipto>monjogja>yudjum>malio
boro>kraton>primarasa>vredeburg>
gembiraloka>afandi>gnkidbeach>pr
ambanan>adisucipto
statugu>vredeburg>kraton>primara
sa>parangtritis>gnkidbeach>ratubok
o>prambanan>kalasan>gembiraloka
>afandi>yudjum>monjogja>maliobo
ro>statugu
statugu>vredeburg>primarasa>krat
on>parangtritis>gnkidbeach>sundak
>siung>sadeng>ratuboko>prambana
n>kalasan>gembiraloka>afandi>yudj
um>monjogja>malioboro>statugu>
Greedy
Waktu
(hh:mm
)
Jarak
(Km)
Waktu
Jarak
(hh:mm
(Km)
)
Biaya x1000
95
6:24 giwangan>primarasa>malioboro> 99 (Rp)6:29
prambanan>parangtritis>giwanga
441.5
455.5
n
adisucipto>afandi>prambanan>vr
111
9:49
122 10:04
edeburg>malioboro>kraton>prim
arasa>borobudur>adisucipto
572.5
611
adisucipto>afandi>gembiraloka>p
13:55 rambanan>vredeburg>malioboro 191 14:48
>kraton>yudjum>primarasa>monj
757.5
ogja>gnkidbeach>adisucipto
883.5
155
statugu>malioboro>vredeburg>kr
17:18 aton>primarasa>yudjum>monjogj 201 18:03
a>afandi>gembiraloka>kalasan>ra
tuboko>prambanan>parangtritis>
880.5
985.5
gnkidbeach>statugu
statugu>malioboro>vredeburg>kr
aton>primarasa>yudjum>monjogj
227 21:43 a>afandi>gembiraloka>kalasan>ra 254 21:23
171
tuboko>prambanan>parangtritis>
gnkidbeach>siung>sadeng>statug
1175
u
statugu>malioboro>vredeburg>pr
imarasa>kraton>yudjum>monjogj
a>afandi>gembiraloka>kalasan>ra
287 26:14 tuboko>prambanan>depok>para 330 27:18
ngtritis>parangkusumo>glagah>g
nkidbeach>sundak>siung>sadeng
>statugu
1298.5
1449
1082.5
statugu->vredeburg->kraton>primarasa->glagah->depok>parangtritis->parangkusumo>gnkidbeach->sundak->siung>sadeng->ratuboko->prambanan>kalasan->gembiraloka->afandi>yudjum->monjogja->malioboro>statugu->
statugu>vredeburg>primarasa>krat
on>glagah>depok>parangtritis>para
ngkusumo>ngobaran>ngrenehan>g
nkidbeach>sepanjang>sundak>siung 301 29:36
>sadeng>ratuboko>prambanan>kala
san>gembiraloka>afandi>yudjum>m
onjogja>malioboro>statugu>
1353.5
statugu>tamansari>vredeburg>krat
on>primarasa>glagah>depok>paran
gtritis>parangkusumo>ngobaran>ng
renehan>gnkidbeach>sepanjang>su
ndak>siung>sadeng>ratuboko>pram
banan>kalasan>gembiraloka>kotage
de>guasiluman>afandi>yudjum>mo
njogja>malioboro>statugu>
statugu>malioboro>monjogja>yudju
m>borobudur>kotagede>gembiralo
ka>banyusumurup>glagah>depok>p
arangkusumo>parangtritis>ngobara
n>ngrenehan>gnkidbeach>sepanjan
g>sundak>siung>sadeng>ratuboko>
prambanan>kalasan>guasiluman>af
andi>gadriresto>baleraos>kraton>pr
imarasa>vredeburg>tamansari>stat
ugu>
statugu>malioboro>vredeburg>pr
imarasa>kraton>yudjum>monjogj
a>afandi>gembiraloka>kalasan>ra
tuboko>prambanan>depok>para 343 30:38
ngtritis>parangkusumo>glagah>n
grenehan>ngobaran>sepanjang>g
nkidbeach>sundak>siung>sadeng
0.158
>statugu
statugu>malioboro>vredeburg>pr
imarasa>tamansari>kraton>yudju
m>monjogja>afandi>kotagede>gu
asiluman>gembiraloka>kalasan>r
309 32:49 atuboko>prambanan>depok>para 356 33:59
ngtritis>parangkusumo>glagah>n
grenehan>ngobaran>sepanjang>g
nkidbeach>sundak>siung>sadeng
>statugu
1397.5
1562
statugu>malioboro>vredeburg>ga
driresto>primarasa>kraton>tama
nsari>baleraos>yudjum>monjogja
>afandi>kotagede>guasiluman>ge
396 39:03 mbiraloka>kalasan>banyusumuru 500 41:35
p>ratuboko>prambanan>depok>
parangtritis>parangkusumo>boro
budur>glagah>ngrenehan>ngobar
an>sepanjang>gnkidbeach>sunda
k>siung>sadeng>statugu
1747
2111
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
66
Hasil pengujian, juga ditampilkan dalam bentuk grafik sebagai
berikut:
Gambar 4.20 Grafik Pengujian Optimasi Node Dalam dan Luar Kota
Dari Grafik diatas dapat dikatakan bahwa algoritma saving dan
algoritma greedy memiliki karakteristik yang sama tetapi untuk
jumlah titik tujuan yang semakin banyak algoritma saving
cenderung lebih menghasilkan jarak tempuh yang lebih sedikit.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
67
Tabel 4.9 Hasil Pengujian Optimasi untuk Node Luar Kota
Saving
Jml
node
2
3
4
Tempat Tujuan
statugu,parangtritis,borobud statugu>borobudur>parangtritis
ur,
>statugu
statugu,parangtritis,borobud statugu>borobudur>parangtritis
ur,gnkidbeach,
>gnkidbeach>statugu
adisucipto,parangtritis,borob adisucipto>siung>gnkidbeach>p
udur,gnkidbeach,siung,
arangtritis>borobudur>adisucipt
o
adisucipto,parangtritis,borob adisucipto>borobudur>parangtri
udur,gnkidbeach,siung,sade tis>gnkidbeach>siung>sadeng>a
ng,
disucipto
adisucipto,parangtritis,borob adisucipto>borobudur>parangtri
udur,gnkidbeach,siung,sade tis>gnkidbeach>sundak>siung>s
adeng>adisucipto
ng,sundak,
adisucipto,parangtritis,borob adisucipto>borobudur>glagah>p
udur,gnkidbeach,siung,sade arangtritis>gnkidbeach>sundak>
ng,sundak,glagah,
siung>sadeng>adisucipto
adisucipto,parangtritis,borob
udur,gnkidbeach,siung,sade
ng,sundak,glagah,ngrenehan
,
adisucipto>borobudur>glagah>p
arangtritis>gnkidbeach>ngreneh
an>sundak>siung>sadeng>adisu
cipto
adisucipto,parangtritis,borob
udur,gnkidbeach,siung,sade
ng,sundak,glagah,ngrenehan
,ngobaran,
adisucipto>borobudur>glagah>p
arangtritis>ngobaran>gnkidbeac
h>ngrenehan>sundak>siung>sad
eng>adisucipto
adisucipto,parangtritis,borob
udur,gnkidbeach,siung,sade
10 ng,sundak,glagah,ngrenehan
,ngobaran,parangkusumo,
adisucipto>borobudur>glagah>p
arangtritis>parangkusumo>ngob
aran>gnkidbeach>ngrenehan>su
ndak>siung>sadeng>adisucipto
adisucipto,parangtritis,borob
udur,gnkidbeach,siung,sade
11 ng,sundak,glagah,ngrenehan
,ngobaran,parangkusumo,de
pok,
adisucipto>borobudur>glagah>d
epok>parangtritis>parangkusum
o>ngobaran>gnkidbeach>ngrene
han>sundak>siung>sadeng>adis
ucipto
adisucipto,parangtritis,borob
udur,gnkidbeach,siung,sade
ng,sepanjang,sundak,glagah,
12 ngrenehan,ngobaran,parang
kusumo,depok,
adisucipto>borobudur>glagah>d
epok>parangkusumo>parangtriti
s>ngobaran>ngrenehan>sepanja
ng>sundak>siung>sadeng>gnkid
beach>adisucipto
Jarak
(Km)
Waktu
(hh:mm)
5:20
531.5
Jarak
(Km)
133
statugu>parangtritis>borobudur
>gnkidbeach>statugu
260
10:13
adisucipto>parangtritis>borobud
ur>gnkidbeach>siung>adisucipto
294
953
Waktu
(hh:mm)
8:16
818
248
Greedy
5:20
531.5
9:31
993
11:22
1114
268
11:44
adisucipto>parangtritis>borobud
ur>gnkidbeach>siung>sadeng>ad
isucipto
314
12:53
268
12:44
adisucipto>parangtritis>borobud
ur>gnkidbeach>sundak>siung>sa
deng>adisucipto
314
13:53
1025
304
14:38
1155
332
16:20
1255
340
17:33
1285
343
18:38
1297.5
348
19:46
1317
334
20:25
1270
1186
adisucipto>parangtritis>borobud
ur>gnkidbeach>glagah>sundak>s
iung>sadeng>adisucipto
470
adisucipto>parangtritis>borobud
ur>ngrenehan>gnkidbeach>glaga
h>sundak>siung>sadeng>adisuci
pto
485
adisucipto>parangtritis>borobud
ur>ngobaran>ngrenehan>gnkidb
each>glagah>sundak>siung>sade
ng>adisucipto
476
adisucipto>parangtritis>parangk
usumo>borobudur>ngobaran>ng
renehan>gnkidbeach>glagah>su
ndak>siung>sadeng>adisucipto
478
adisucipto>depok>parangtritis>p
arangkusumo>borobudur>ngoba
ran>ngrenehan>gnkidbeach>glag
ah>sundak>siung>sadeng>adisuc
ipto
481
adisucipto>depok>parangtritis>p
arangkusumo>borobudur>ngoba
ran>ngrenehan>gnkidbeach>glag
ah>sepanjang>sundak>siung>sa
deng>adisucipto
484
18:47
1736
20:10
1790.5
20:57
1761
22:00
1770
23:51
1782.5
24:10
1795
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
68
Dari Tabel diatas, hasil pengujian dapat direpresentasikan
dalam bentuk grafik yang ditunjukkan pada Gambar 4.7.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
69
Uji coba dilakukan terhadap dua macam responden, yang
pertama adalah pengguna atau masyarakat pada umumnya yang kedua
adalah responden dengan profesi sebagai supir. Pengguna dan supir akan
ditunjukkan sistem yang telah dibuat dan untuk kemudian akan diminta
mengenai pendapat dengan mengisi kuesioner yang sudah dibuat.
4.5.1. Kuesioner untuk pengguna
Untuk kuesioner pengguna ini, responden sebanyak 20 orang.
Beberapa pertanyaan yang diajukan antara lain:
1. Bagaimana pendapat anda tentang layanan ini?
2. Bagaimana tampilan web layanan taksi wisata?
3. Bagaimana sistem pemesanan pada layanan taksi wisata ini?
4. Bagaimana ketersediaan informasi pada layanan taksi wisata ini?
Penilaian untuk keempat pertanyaan tersebut antara lain:
1: Jelek Sekali
2: Jelek
3: Cukup Bagus
4: Bagus
5: Bagus Sekali
Hasil dari penilaian tersebut disajikan dalam bentuk pie chart sebagai
berikut:
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
70
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
71
Dari hasil respondensi gambar 4.21 sampai gambar 4.24
mayoritas mengatakan bahwa sistem layanan taksi wisata ini sudah
bagus. Dan dari pertanyaan langsung apakah layanan ini membantu atau
tidak, hasil dari respondensi ditunjukkan pada gambar 4.25.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
72
Hasil respondensi tersebut akan ditampilkan dalam bentuk pie chart
seperti sebelumnya. Berikut hasil respondensi terhadap supir travel yang
dimintai pendapat.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
73
Gambar 4.30 Pie Chart Penilaian dengan Sistem dimana rute tidak
ditentukan
Dari hasil respondensi diatas, sebanyak 80% juga menyatakan
bahwa penentuan rute adalah bagus jika diimplemetasikan ke dalam
sistem. Dari hasil respondensi juga menyatakan mereka cukup puas bila
informasi diberikan lewat SMS karena dianggap memudahkan. Dan jika
dibandingkan sistem yang tidak ada penentuan rute 60% responden
menyatakan bahwa sistem ini bagus, 30% menyatakan cukup bagus dan
10% menyatakan sangat bagus. Dari keseluruhan hasil respondensi
diatas dapat dikatakan bahwa sistem ini cukup membantu para supir
travel.
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
74
Implementasi Clarke Wright Saving Method pada Layanan Call center Taksi Wisata Berbasis VoIP
BAB V
PENUTUP
5.1. KESIMPULAN
Berdasarkan analisa dari beberapa pengujian yang diterangkan
pada bab sebelumnya, kesimpulan yang didapat adalah:
a.
b.
c.
d.
e.
75
76
f.
5.2. SARAN
a.
b.
c.
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
DAFTAR PUSTAKA
1. Bunafit Nugroho. Database Relasional dengan MySQL, Andi
Offset, Yogyakarta, 2005.
2. Abdul Kadir, Dasar Pemrograman Web Dinamis menggunakan
PHP, Andi Offset, Yogyakarta, 2002.
3. Eko Sugiarto, Pembuatan Aplikasi UMS Berbasis Jaringan VoIP,
Surabaya,2010.
4. Christine Anita Sembiring, Penentuan Rute Distribusi Produk yang
Optimal dengan menggunakan algoritma heuristik pada PT. Coca
Cola Bottling Indonesia Medan, Medan, 2008.
5. Jim van Meggelen, Leif Madsen dan Jared Smith, Asterisk The
Future of Telephony 2nd Edition, OReilly Media, United States of
America, 2005.
6. Simionovich Nir, Asterisk Gateway Interface 1.4 and 1.6
Programming, 2009.
7. http://digilib.petra.ac.id/
8. Simon de Givry, A Brief Introduction to combinatorial
optimization The Travelling Salesman Problem, Thales Research
& Technology, France, 2001.
9. Mathirajan.M , Logistics Planning, Indian Institute of Science,
Bangalore, India,2000.
10. Johnson David S. & McGeoch Lyle A. , The Travelling Saleman
Problem : A case study in Local Optimization, AT&T Labs,
Florham Park, Department of Mathematics and Computer Science,
Amherst College, 1995.
77
78
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
LAMPIRAN
1.
80
Pada layar menu booting ubuntu, akan diberi beberapa pilihan:
1. Try Ubuntu..... untuk mencoba system live
2. Install Ubuntu ..... untuk menginstall ubuntu
3. Check disk..... untuk mengecek cd
4. Test memory..... untuk mengetest RAM
5. Boot from ...... untuk mem-boot OS di hardisk
seperti pada gambar dibawah ini:
2.
Memilih Bahasa
Untuk memilih bahasa selain bahasa Inggris, anda bisa melakukan
klik scroll di tab daftar bahasa di sebelah kiri.
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
81
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
82
Partisi Harddisk
Untuk menghindari kehilangan data maka pilih Specity Partition
Manual (Advanced). Klik Forward
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
83
3. Partisi home (/home) sebaiknya sisa/bagian terbesar
hardisk
Klik pada bagian yang kosong, pilih New Partition untuk membuat
partisi baru.
Untuk lokasi partisi, umumnya di awal, agar terstruktur.
Membuat User
User di ubuntu ada tiga jenis.
1. Root, super user, yang defaultnya tidak memiliki password dan
tidak diaktifkan.
2. Administrator, user biasa yang memiliki hak administrasi. User
ini memiliki tanda kekuasaan, menggunakan sudo.
3. User Biasa, user yang tidak memiliki hak administrasi system.
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
84
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
85
8.
Summary
Sebelum melakukan tahap instalasi yang sesungguhnya (langkah
ke-8), pada tahap ini akan melihat summary, ikhtisar keseluruhan
setting sebelum menginstall.Pada saat ini, bisa memilih untuk
membatalkan instalasi, dengan menekan tombol Quit. Saat ini juga,
bisa memilih dimanakah akan menginstall Grub (Boot Manager)
atau malah tidak menginstall grub sama sekali, yang mana tidak
disarankan.
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
86
9.
Instalasi
Pada tahap ini, hanya menunggu sampai proses Instalasi selesai.
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
87
Instalasi Asterisk
Untuk meng-install asterisk pada Ubuntu 9.04, ketik perintah
berikut di terminal dan jalankan pada mode super user / root.
#apt-get install asterisk asterisk-soundsmain asterisk-sounds-extra asterisk-dev
asterisk-config asterisk-mysql
AGI
Untuk menjalankan file PHP pada asterisk dibutuhkan AGI
(Asterisk Gateway Interface). Semua file php harus diletakkan pada
direktori
/var/lib/asterisk/agi-bin.
Lalu
buat
link
di
/usr/share/asterisk dengan perintah
#cd /usr/share/asterisk
/usr/share/asterisk# ln s /var/lib/asterisk/agi-bin
Pada beberapa distro linux saat meng-install PHP paket paket yang
diinstal ada yang lengkap. Untuk menjalankan AGI pastikan bahwa
PHP anda sudah terinstall paket php-cli dan php-cgi.
Install Dovecot
# apt-get install dovecot-imapd dovecotpop3d dovecot-common
File
konfigurasi
Dovecote
terletak
/etc/dovecot/dovecot.conf. Edit bagian berikut :
di
file
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
88
# specify protocols = imap imaps pop3
pop3s
protocols = pop3 imap
# uncomment this and change to no.
disable_plaintext_auth = no
pop3_uidl_format = %08Xu%08Xv
Lalu save konfigurasi tersebut.
3.
4.
Instalasi Squirrelmail
# apt-get install apache2 libapache2-modphp5 php5-cli php5-common php5-cgi
squirrelmail
Setelah
semua
selesai
terinstall,
edit
file
/etc/apache2/apache2.conf . Masukkan informasi dibawah ini :
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
89
Include /etc/squirrelmail/apache.conf
5.
Restart PC
Restart ubuntu.
6.
Memulai squirrelmail
Buka Internet Browser, masukkan URL:
http://ip_anda/squirrelmail
Jika konfigurasi anda benar, maka anda akan masuk kehalaman
login squirrelmail, kemudian masukkan nama user dan
password anda.
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
90
Listing Program
Program UMS
#!/usr/bin/php
<?php
require('phpagi.php');
error_reporting(E_ALL);
//create an AGI Object
$agi=new AGI();
$agi->answer();
$play1='/var/lib/asterisk/sounds/wav2/pembuka';
$play2='/var/lib/asterisk/sounds/wav2/input';
$play3='/var/lib/asterisk/sounds/wav2/tekan';
$play4='/var/lib/asterisk/sounds/wav2/konfirm';
$play5='/var/lib/asterisk/sounds/wav2/penutup';
$intro0='/var/lib/asterisk/sounds/angka2/nol';
$intro1='/var/lib/asterisk/sounds/angka2/satu';
$intro2='/var/lib/asterisk/sounds/angka2/dua';
$intro3='/var/lib/asterisk/sounds/angka2/tiga';
$intro4='/var/lib/asterisk/sounds/angka2/empat';
$intro5='/var/lib/asterisk/sounds/angka2/lima';
$intro6='/var/lib/asterisk/sounds/angka2/enam';
$intro7='/var/lib/asterisk/sounds/angka2/tujuh';
$intro8='/var/lib/asterisk/sounds/angka2/delapan';
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
91
$intro9='/var/lib/asterisk/sounds/angka2/sembilan';
$agi->stream_file($play1);
//$agi>record_file('/var/lib/asterisk/sounds/pesan1','wav','*','6
0000','0',1,'2');
do{
$agi->stream_file($play2);
$result=$agi->get_data('beep',3000,20);
$digit1=$result['result'];
$agi->stream_file($play3,"#");
//$agi->say_digits($digit1);
$cek=str_split($digit1);
$itung=count($cek);
for($i=0;$i<=$itung;$i++)
{
if($digit1[$i]=='0'){
$agi->stream_file($intro0);
}
else if($digit1[$i]=='1'){
$agi->stream_file($intro1);
}
else if($digit1[$i]=='2'){
$agi->stream_file($intro2);
}
else if($digit1[$i]=='3'){
$agi->stream_file($intro3);
}
else if($digit1[$i]=='4'){
$agi->stream_file($intro4);
}
else if($digit1[$i]=='5'){
$agi->stream_file($intro5);
}
else if($digit1[$i]=='6'){
$agi->stream_file($intro6);
}
else if($digit1[$i]=='7'){
$agi->stream_file($intro7);
}
else if($digit1[$i]=='8'){
$agi->stream_file($intro8);
}
else if($digit1[$i]=='9'){
$agi->stream_file($intro9);
}
}
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
92
$agi->stream_file($play4);
$result=$agi->get_data('beep',2000,20);
$digit2=$result['result'];
if($digit2=='1'){
$agi->stream_file($play5);
}
}while($digit2 !='1');
//require('coba.php');
// *******SEND EMAIL*******
$hostname = "localhost";
$db = "imel";
$username = "root";
$password = "smartbit";
//Connect ke Database
$conn
=
mysql_connect($hostname,$username,$password)
die(mysql_error());
mysql_select_db($db,$conn) or die(mysql_error());
$view="select * from `agent` where status = '0'";
$qry=mysql_query($view)
or
die("Query
salah
".mysql_error());
$num=mysql_num_rows($qry);
$row=mysql_fetch_array($qry);
or
if($num == '0'){
$ganti="update `agent` set status = '0'";
$qry0=mysql_query($ganti) or die("Query salah :
".mysql_error());
$view2="select * from `agent` where status = '0'";
$qry2=mysql_query($view2) or die("Query salah :
".mysql_error());
$num2=mysql_num_rows($qry2);
$row2=mysql_fetch_array($qry2);
$email=$row2['email'];
//echo $email;
$ganti2="update `agent` set status = '1' where
email= '".$email."'";
$qry1=mysql_query($ganti2) or die("Query salah :
".mysql_error());
}
else {
$email=$row['email'];
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
93
//echo $email;
$ganti2="update `agent` set status = '1' where email=
'".$email."'";
$qry1=mysql_query($ganti2)
or
die("Query
salah
:
".mysql_error());
}
$fileatt = "/var/lib/asterisk/sounds/pesan1.wav"; // Path
to the file
$fileatt_type = "audio/x-wav"; // File Type
$fileatt_name = "pesan1.wav"; // Filename that will be used
for the file as the attachment
$email_from = "smartbit@uchiemail.com"; // Who the email is
from
$email_subject = "mail baru!!"; // The Subject of the email
$email_txt = "thank you for the request"; // Message that
the email has in it
//$email_to = "test@uchiemail.com";
$email_to = "$email";
$headers = "From: ".$email_from;
$file = fopen($fileatt, "r");
$data = fread($file,filesize($fileatt));
fclose($file);
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
$email_message .= "This is a multi-part message in MIME
format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type:text/html; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$email_message ."<html><body>Anda mendapat satu panggilan
masuk <br><br> ".$digit1." telah menghubungi anda :)<br><br>
</body></html>\n\n";
$data = chunk_split(base64_encode($data));
/*
$email_message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt_name}\"\n" .
//"Content-Disposition: attachment;\n" .
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
94
//" filename=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"--{$mime_boundary}--\n";
*/
$ok = @mail($email_to,
$headers);
$email_subject,
$email_message,
if($ok) {
echo
"<font
face=verdana
size=2>email
berhasil
dikirim!</font>";
} else {
die("Maaf email belum terkirim, silahkan coba lagi!");
}
//$agi->exec('SayDigits','12345678');
$agi->channel_status();
$agi->hangup();
die();
?>
// Start TIMER
// ----------$stimer = explode( ' ', microtime() );
$stimer = $stimer[1] + $stimer[0];
// ----------function visit($x,$y)
// input : $x = himpunan semua titik (D_C_A_B_E_F_G_H)
//
$y = himpunan titik solusi yg telah
diketahui (D_)
//
$return value = C_A_B_E_
{
$arr0=explode("_",$x);
$arr1=explode("_",$y);
$jml0=count($arr0);
$jml1=count($arr1);
for($a=0; $a<($jml0-1); $a++){
if (in_array($arr0[$a],$arr1))
{
}
else
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
95
{
$unvisit .= $arr0[$a]."_";
}
return $unvisit;
}
function searchnode2($uniq,$c,$d)
//input berupa node solusi awal dan akhir
{
$del="DELETE
FROM
`savingnew`.`tempsav".$uniq."`
WHERE
(`tempsav".$uniq."`.`node1`
=
'".$c."'
AND
`tempsav".$uniq."`.`node2`
=
'".$d."')
OR
(`tempsav".$uniq."`.`node1`
=
'".$d."'
AND
`tempsav".$uniq."`.`node2` = '".$c."')";
mysql_query($del);
$view0
=
"SELECT
*
FROM
`tempsav".$uniq."`
WHERE
`node1`='".$c."'
OR
`node2`='".$d."'
ORDER
BY
`tempsav".$uniq."`.`saving` DESC";
$qry0=mysql_query($view0)
or
die("Query
salah
:
".mysql_error());
$num0=mysql_num_rows($qry0);
$row0=mysql_fetch_array($qry0);
if($row0['node1']==$c) { $node = "1_".$row0['node2'];}
else if($row0['node2']==$c) { $node = "1_".$row0['node1'];}
else if($row0['node1']==$d) { $node = "2_".$row0['node2'];}
else if($row0['node2']==$d) { $node = "2_".$row0['node1'];}
return $node;
}
function searchnode($uniq,$c,$d)
//input berupa node solusi awal dan akhir
{
$view0
=
"SELECT
*
FROM
`tempsav".$uniq."`
WHERE
(`node1`='".$c."' OR `node2`='".$d."') OR (`node1`='".$d."'
OR `node2`='".$c."') ORDER BY `saving` DESC";
$qry0=mysql_query($view0)
or
die("Query
salah
:
".mysql_error());
$num0=mysql_num_rows($qry0);
$row0=mysql_fetch_array($qry0);
if($c==$row0['node2'])
{
$node = "1_".$row0['node1'];
}
else if($d==$row0['node1'])
{
$node = "2_".$row0['node2'];
}
return $node;
}
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
96
function savcount($depot,$sava,$savb)
//input kombinasi dari node depot, AB, AC, AB
{
$view0 = "SELECT * FROM `tes_1` WHERE (`node1`='".$depot."'
AND
`node2`='".$sava."')
OR
(`node1`='".$sava."'
AND
`node2`='".$depot."')";
$qry0=mysql_query($view0)
or
die("Query
salah
:
".mysql_error());
$num0=mysql_num_rows($qry0);
$row0=mysql_fetch_array($qry0);
$deptosava=$row0['jarak'];
$view0 = "SELECT * FROM `tes_1` WHERE (`node1`='".$depot."'
AND
`node2`='".$savb."')
OR
(`node1`='".$savb."'
AND
`node2`='".$depot."')";
$qry0=mysql_query($view0)
or
die("Query
salah
:
".mysql_error());
$num0=mysql_num_rows($qry0);
$row0=mysql_fetch_array($qry0);
$deptosavb=$row0['jarak'];
$view0 = "SELECT * FROM `tes_1` WHERE (`node1`='".$sava."'
AND
`node2`='".$savb."')
OR
(`node2`='".$sava."'
AND
`node1`='".$savb."')";
$qry0=mysql_query($view0)
or
die("Query
salah
:
".mysql_error());
$num0=mysql_num_rows($qry0);
$row0=mysql_fetch_array($qry0);
$atob=$row0['jarak'];
//hitung saving
$sav = ($deptosava+$deptosavb)-$atob;
return $sav;
}
//
==============
AWAL
PROGRAM
===========================================================
==============//
$conn=mysql_connect("localhost","root","") or die ("Koneksi
gagal:".mysql_error());
mysql_select_db("savingnew");
//$nodeawal="adisucipto_malioboro_gembiraloka_monjogja_yudj
um_prambanan_primarasa_";
// format node
tujuan
$nodeawal=$_POST['tujuan'];
$node1=explode("_", $nodeawal); //
$node2=count($node1);
//
banyaknya
array
dari $node1
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
97
$iduser=$_POST['idusr'];
$jamjmpt=$_POST['jam'];
//$uniq = date('Hisu');
//echo $uniq;
$uniq=rand();
$titik1 .= $node1[0]."_";
echo "titik awal : ".$titik1."<br>";
echo "tujuan wisata :".$nodeawal."<br>";
$view1 = "CREATE TABLE `tempsav".$uniq."` (
`no` INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`node1` VARCHAR( 25 ) NOT NULL ,
`node2` VARCHAR( 25 ) NOT NULL ,
`saving` INT( 15 ) NOT NULL
) ENGINE = MYISAM ;
";
$qry1=mysql_query($view1)
or
die("Query
salah
".mysql_error());
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
98
}
}
//echo "<br><br>";
//iterasi pertama, cari saving terbesar
$view3a
=
"DELETE
FROM
`tempsav".$uniq."`
where
`saving`='0'";
$qry3a=mysql_query($view3a)
or
die("Query
salah
:
".mysql_error());
$view3 = "SELECT * FROM `tempsav".$uniq."` ORDER
`saving` DESC";
$qry3=mysql_query($view3)
or
die("Query
salah
".mysql_error());
$num=mysql_num_rows($qry3);
//$row=mysql_fetch_array($qry3);
BY
:
while($row1=mysql_fetch_array($qry3)){
echo
"".$row1['node1'].",".$row1['node2']."=".$row1['saving']."<
br>";
}
echo "<br>";
$solusi = array ("".$row['node1']."","".$row['node2']."");
//iterasi kedua
$view4 = "SELECT * FROM `tempsav".$uniq."`
`saving` DESC ";
$qry4=mysql_query($view4)
or
die("Query
".mysql_error());
$num1=mysql_num_rows($qry4);
$row1a=mysql_fetch_array($qry4);
echo
"Tujuan
awal
".$row1a['node1'].",".$row1a['node2']."<br>";
$solusi
=
("".$row1a['node1']."","".$row1a['node2']."");
//$uniq2 = date('Hmu');
$uniq2=mt_rand();
$view6 = "CREATE TABLE `tempsav".$uniq2."` (
`no` INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY
`node1` VARCHAR( 25 ) NOT NULL ,
`node2` VARCHAR( 25 ) NOT NULL ,
`saving` INT( 15 ) NOT NULL
) ENGINE = MYISAM ;
";
$qry6=mysql_query($view6)
or
die("Query
".mysql_error());
$view4 = "SELECT * FROM `tempsav".$uniq."`
`saving` DESC ";
$qry4=mysql_query($view4)
or
die("Query
ORDER
salah
BY
:
:
array
salah
ORDER
salah
:
BY
:
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
99
".mysql_error());
while($row2=mysql_fetch_array($qry4)){
//echo $row2['node1'];
$qry13="INSERT INTO `savingnew`.`tempsav".$uniq2."`
(node1,node2,saving)
VALUES
('".$row2["node1"]."',
'".$row2["node2"]."','".$row2["saving"]."')";
$hasil13=mysql_query($qry13) or die("Query salah
:".mysql_error());
}
$a=2;
for($a=2; $a<=$num1; $a++){
$view7 = "SELECT * FROM `tempsav".$uniq2."` where no=".$a."
";
$qry7=mysql_query($view7)
or
die("Query
salah
:
".mysql_error());
$num2=mysql_num_rows($qry7);
$row1=mysql_fetch_array($qry7);
$nila = $row1[1];
$nu=$row1[2];
//echo $num2;
$cek1 = in_array("".$row1[1]."", $solusi) ? "y" : "t";
$cek2 = in_array("".$row1[2]."", $solusi) ? "y" : "t";
if($cek1 == "y" && $cek2 == "y"){
//$hapus="DELETE
FROM
`tempsav".$uniq2."`
where
(node1='".$row1[1]."'
AND
node2
=
'".$row1[2]."')
OR
(node2='".$row1[1]."' AND node1 = '".$row1[2]."')";
//$que=mysql_query($hapus) or die("Query salah :
".mysql_error());
continue;
}
elseif($cek1 == "t" && $cek2 == "y"){
$x=count($solusi)-1;
if($row1[2]==$solusi[0]){
$next
=
array_unshift($solusi,
"".$row1[1]."");
}
elseif($row1[2]==$solusi[$x]){
$next = array_push($solusi, "".$row1[1]."");
$nilai = reset($solusi);
}
elseif(($row1[1]!=$solusi[0])
&&
($row1[1]!=$solusi[$x])){
$view6a = "SELECT * FROM `tempsav".$uniq2."`
where (node1='".$row1[1]."' AND node2 = '".$solusi[0]."')
OR (node2='".$row1[1]."' AND node1 = '".$solusi[0]."')";
$qry6a=mysql_query($view6a)
or
die("Query
salah : ".mysql_error());
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
100
$num6a=mysql_num_rows($qry6a);
$row6a=mysql_fetch_array($qry6a);
$view6b = "SELECT * FROM `tempsav".$uniq2."`
where (node1='".$row1[1]."' AND node2 = '".$solusi[$x]."')
OR (node2='".$row1[1]."' AND node1 = '".$solusi[$x]."')";
$qry6b=mysql_query($view6b)
or
die("Query
salah : ".mysql_error());
$num6b=mysql_num_rows($qry6b);
$row6b=mysql_fetch_array($qry6b);
//echo $row6a["saving"];
if($row6a["saving"] > $row6b["saving"]){
$next
=
array_unshift($solusi,
"".$row1[1]."");
}
else {
$next
=
array_push($solusi,
"".$row1[1]."");
$nilai = reset($solusi);
}
}
//
$hapus="DELETE
FROM
`tempsav".$uniq2."`
where
(node1='".$row1[1]."'
AND
node2
=
'".$row1[2]."')
OR
(node2='".$row1[1]."' AND node1 = '".$row1[2]."')";
//$que=mysql_query($hapus) or die("Query salah :
".mysql_error());
}
elseif($cek1 == "y" && $cek2 == "t"){
$x=count($solusi)-1;
if($row1[1]==$solusi[0]){
$next
=
array_unshift($solusi,
"".$row1[2]."");
}
elseif($row1[1]==$solusi[$x]){
$next = array_push($solusi, "".$row1[2]."");
$nilai = reset($solusi);
}
elseif(($row1[2]!=$solusi[0])
&&
($row1[2]!=
$solusi[$x])){
$view8a = "SELECT * FROM `tempsav".$uniq2."`
where (node1='".$row1[2]."' AND node2 = '".$solusi[0]."')
OR (node2='".$row1[2]."' AND node1 = '".$solusi[0]."')";
$qry8a=mysql_query($view8a)
or
die("Query
salah : ".mysql_error());
$num8a=mysql_num_rows($qry8a);
$row8a=mysql_fetch_array($qry8a);
$view8b = "SELECT * FROM `tempsav".$uniq2."`
where (node1='".$row1[2]."' AND node2 = '".$solusi[$x]."')
OR (node2='".$row1[2]."' AND node1 = '".$solusi[$x]."')";
$qry8b=mysql_query($view8b)
or
die("Query
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
101
salah : ".mysql_error());
$num8b=mysql_num_rows($qry8b);
$row8b=mysql_fetch_array($qry8b);
//echo $row8a["saving"];
if($row8a["saving"] > $row8b["saving"]){
$next
=
array_unshift($solusi,
"".$row1[2]."");
}
else{
$next
=
array_push($solusi,
"".$row1[2]."");
$nilai = reset($solusi);
}
}
}
elseif($cek1 == "t" && $cek2 == "t"){
continue;
}
$jml=count($solusi);
while(list($indeks, $nilai) = each ($solusi))
print("$nilai,");
print "<br>";
}
$arr1=explode("_",$titik1);
$next = array_unshift($solusi, "".$arr1[0]."");
//$next = array_push($solusi, "".$arr1[0]."");
//menampilkan hasil saving
/*print "Jadi titik yang ditempuh";
print "\n";
while(list($indeks, $nilai) = each ($solusi))
print("$nilai->");echo $solusi[0];echo "<br>";//end
hasil saving */
//print("$nilai,");
$solusiakhir.=$nilai."_";
//echo $solusiakhir; echo "<br>";
$jml2=count($solusi)-1;
// mencari total jarak
$jrk2=0;
$wkt_tot=0;
$hrg=0;
echo "<br>";
?>
<table border='1'>
<tr><td>Aktifitas</td><td>Waktu</td><td>Tiket
Masuk</td><td>Tarif Parkir</td>
</tr>
<?
for($k=0; $k<$jml2; $k++){
$ambil="SELECT
*
FROM
`tes_1`
WHERE
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
102
(`node1`='".$solusi[$k]."' AND `node2`='".$solusi[$k+1]."')
OR
(`node2`='".$solusi[$k]."'
AND
`node1`='".$solusi[$k+1]."') ";
$qry2=mysql_query($ambil) or die("Query salah :
".mysql_error());
$num2=mysql_num_rows($qry2);
$row2=mysql_fetch_array($qry2);
$ambil2="SELECT
*
FROM
`wisata`
wisata='".$solusi[$k+1]."'";
$que3=mysql_query($ambil2) or die("Query
".mysql_error());
$num3=mysql_num_rows($que3);
$row3=mysql_fetch_array($que3);
WHERE
salah
echo
"<tr><td>".$solusi[$k]."
ke
".$solusi[$k+1]."</td> ";
echo "<td> ".$row2[4]." menit</td></tr>"; //echo
"<br>";
echo "<tr><td>Wisata ke ".$solusi[$k+1]."</td><td>";
echo "".$row3['lama']." menit </td>";
echo "<td>".$row3['tiketmasuk']." rupiah </td>";
echo "<td> 2000 rupiah </td></tr>";
$wkt=$wkt_tot+$row2[4]+$row3['lama'];
$wkt_tot=$wkt;
$total=$jrk2+$row2[3];
$jrk2=$total;
$hrg2=$hrg+$row3['tiketmasuk']+2000;
$hrg=$hrg2;
$tempuh=$wkt_tot/60;
$totmnt=explode(".",$tempuh);
$totwkt=($tempuh-$totmnt[0])*60;
//$jamjmpt=8; //jam jemput paling pagi
$jamkunjung=20-$jamjmpt; //jam operasional
if ($totwkt!=0){
$wkttot=$totmnt[0]+1;
}
//$wkttemp=$wkttot+$jamjmpt;
if($wkttot>$jamkunjung){
echo "maaf,silahkan masukkan tujuan lagi";
$delete = "DELETE FROM `savingnew`.`pesan`
WHERE `pesan`.`iduser` = '$iduser'";
mysql_query($delete) or die("Query salah :
".mysql_error());
$delete0 = "DELETE FROM `savingnew`.`user`
WHERE `user`.`id_user` = '$iduser'";
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
103
mysql_query($delete0) or die("Query salah :
".mysql_error());
$del="DROP TABLE `tempsav".$uniq."";
$qryd=mysql_query($del) or die("Query salah
: ".mysql_error());
$del2="DROP TABLE `tempsav".$uniq2."`";
$qryd2=mysql_query($del2)
or
die("Query
salah : ".mysql_error());
exit;
}
else{
//echo "OK";
continue;
}
}
$akhir=$solusi[0];
$next = array_push($solusi, "".$akhir."");
$jml2=count($solusi)-1;
$ambil="SELECT
*
FROM
`tes_1`
WHERE
(`node1`='".$solusi[$jml2]."' AND `node2`='".$solusi[$jml21]."')
OR
(`node2`='".$solusi[$jml2]."'
AND
`node1`='".$solusi[$jml2-1]."') ";
$qry2=mysql_query($ambil)
or
die("Query
salah
:
".mysql_error());
$num2=mysql_num_rows($qry2);
$row2=mysql_fetch_array($qry2);
$ambil2="SELECT
*
FROM
wisata='".$solusi[$jml2]."'";
$que3=mysql_query($ambil2)
or
".mysql_error());
$num3=mysql_num_rows($que3);
$row3=mysql_fetch_array($que3);
`wisata`
die("Query
WHERE
salah
echo
"<tr><td>".$solusi[$jml2-1]."
".$solusi[$jml2]."</td>";
echo "<td>".$row2[4]." menit</td></tr>"; //echo "<br>";
$wkt=$wkt_tot+$row2[4]+$row3['lama'];
$wkt_tot=$wkt;
$total=$jrk2+$row2[3];
$jrk2=$total;
ke
echo "</table>";
//menampilkan hasil saving
print "Jadi titik yang ditempuh";
print "\n";
while(list($indeks, $nilai) = each ($solusi))
print("$nilai->");//echo $solusi[0];
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
104
echo "<br>";//end hasil saving
echo "Jadi total jarak yang ditempuh : ".$jrk2." Km<br>";
//biaya per km Rp.2000
//echo $hrg;
$solusiakhir=implode ('->',$solusi);
$biaya=$jrk2*3500;
$totbiaya = $hrg+$biaya+2000;
echo "Jadi biaya total
".$totbiaya." Rupiah";
untuk
jarak
yang
ditempuh
salah
salah
jam
// End TIMER
// --------$etimer = explode( ' ', microtime() );
$etimer = $etimer[1] + $etimer[0];
echo '<p style="margin:auto; text-align:center">';
printf( "Script timer: <b>%f</b> seconds.", ($etimer$stimer) );
echo '</p>';
// --------?>
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
105
7. Dengan adanya informasi biaya di awal, apa hal ini cukup membantu anda?
8.Apakah layanan call center ini sudah membantu anda untuk berwisata?
9. Berikan saran serta kritik anda untuk kemajuan dari sistem ini nantinya?
Terima Kasih
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
106
KUESIONER 2 TUGAS AKHIR LAYANAN CALL CENTER TAKSI WISATA
*coret yang tidak perlu
Nama
Umur
Pekerjaan
Kantor
(L/P)*
pada
6. Berikan saran serta kritik anda untuk kemajuan dari sistem ini nantinya?
..
Terima Kasih
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP
RIWAYAT HIDUP
: Yusiana Kartikasari
: Jl. Kutisari III / 21 Surabaya
: 08563171764
: yusiana.kartikasari@yahoo.com
: Jalan2, shoping, nonton, difoto, ngumpul sama temen
dan keluarga, ngegame, smsan dan makan.
: Lifes only travelled once, so make it wonderful
life!!
107
108
Implementasi Clarke Wright Saving Method pada Layanan Call Center Taksi Wisata Berbasis VoIP