IMPLEMENTASI FORMULA ERLANG B UNTUK MENENTUKAN QOS (QUALITY OF SERVICE) DAN PERAMALAN DATA CALL OFFERED DENGAN RADIAL BASIS FUNCTION NETWORK PADA CALL CENTER BERBASIS ASTERISK FOR JAVA Muhammad Firdaus AlKautsar, Mike Yuliana, Reni Soelistijorini Jurusan Teknik Telekomunkasi - Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember (ITS) Surabaya Kampus PENS-ITS, Keputih, Sukolilo, Surabaya. Telp : +62+031+5947280; Fax. +62+031+5946011 Email : alkautsar @student.eepis-its.edu
Abstrak
1. PENDAHULUAN
Call center adalah suatu pusat pelayanan jarak jauh yang dilakukan melalui media telekomunikasi telepon dimana pelanggan dapat berkomunikasi secara real time dengan petugas pelayan. Sumber daya teknologi yang dibutuhkan dalam penerapan call center antara lain : call center media server, IP Agents, dan Database system[1]. Perangkat-perangkat tersebut biasanya diproduksi oleh perusahaan lain sehingga harganya cukup mahal. Ditambah lagi, untuk memantau kinerja call center, data-data yang tercatat pada server harus diolah secara manual untuk mendapatkan nilai QoS (Quality of Service) nya. Sehingga dibutuhkan sumber daya tambahan untuk mengolah data-data tersebut. Pada tugas akhir ini dibangun prototype call center berbasis Asterisk for Java yang telah terintegrasi dengan software penghitung QoS berbasis formula Erlang B dan peramalan data call offered pada call center untuk beberapa waktu ke depan dengan metode Radial Basis Function Network (RBFN) Dari hasil pengujian menunjukkan bahwa sistem call center yang dibuat telah berhasil dengan baik. Pengukuran waktu eksekusi koneksi ke database dengan 10 kali pengambilan data untuk status panggilan ANSWERED rata-rata 6,8 milidetik. Untuk status panggilan BUSY rata-rata waktu eksekusi 1,4 milidetik. Untuk perhitungan QoS dengan menggunakan program Formula Erlang B memiliki rata-rata kesalahan 0,0000635%. Peramalan data call offered dengan metode RBFN memiliki prosentase kesalahan rata-rata 7,1928 %. Kata kunci : call center, Asterisk for Java, QoS, Erlang-B, RBFN
Call center merupakan bagian penting pada sebuah perusahaan yang memiliki layanan jasa untuk konsumennya. Call center terdiri dari sistem dan agent. Sistem disini adalah arsitektur perangkat yang membangun sistem call center. Agent adalah sumber daya manusia yang menggunakan sistem tersebut untuk melayani konsumen. Sistem pada sebuah call center biasanya terdiri atas server yang berfungsi sebagai pusat distribusi panggilan, monitor kegiatan agent, dan lain sebagainya. Sistem yang dimiliki oleh call center sebuah perusahaan memiliki harga yang relatif mahal karena server yang digunakan merupakan produk dari sebuah brand tertentu. Setiap perusahaan pasti menginginkan call center yang memiliki kinerja yang baik. Kinerja sebuah call center dapat diukur dengan melihat parameter QoSnya. QoS (Quality of Service) adalah indeks penilain kinerja call center. Nilai tertinggi sebesar 1. Semakin besar nilai QoS maka semakin baik kualitas call center tersebut. Kualitas sebuah server ditentukan dari jumlah parameter panggilan yang masuk (call offered ),panggilan yang diterima (call answered), panggilan yang ditolak (call blocked), jumlah agent yang tersedia, dan beberapa parameter lain. Semakin banyak panggilan yang ditolak dalam rentang waktu tertentu maka semakin buruk performa call center tersebut. Perhitungan QoS sebuah call center dapat memanfaatkan formula Erlang B. Formula ini merupakan model “penolakan panggilan” dimana ketika layanan (agent) tidak tersedia, panggilan konsumen yang meminta layanan ditolak dan harus mengulang kembali panggilannya. Dapat diasumsikan seperti trunk telepon. Ketika seluruh trunk telepon penuh, pemanggil menerima nada sibuk dan harus 1
memutus panggilannya untuk mengulanginya kembali hingga layanan (trunk yang kosong) tersedia. Formula Erlang B memberikan perhitungan untuk Grade of Service (GoS). GoS adalah probabilitas penolakan panggilan yang masuk. Nilai QoS didapat dengan persamaan : QoS = 1 - GoS Pada tugas akhir ini, akan dibuat prototype call center yang dilengkapi dengan fitur penghitung QoS berbasis formula Erlang B serta peramalan data trafik. Server call center dibangun dengan pemrograman Asterisk for Java. Fitur penghitung QoS dibangun dengan pemrograman Java. Ketika server diaktifkan, maka software penghitung QoS diintegrasikan dengan server. Sehinga server mampu menghitung jumlah panggilan masuk, panggilan yang ditolak, dan parameter lain yang nantinya akan digunakan sebagai inputan untuk menghitung QoS sistem serta peramalan data trafik.
juga dinyatakan dalam seratus percakapan per detik per jam atau CCS (Hundreds of calls seconds per hour). Karena 1 jam terdiri dari 3600 detik maka 1 erlang = 1 call hour = 3600 detik = 36 CCS
2. TRAFIK Secara bahasa, trafik diartikan lalu-lintas. Lalu-lintas adalah pergerakan dari sebuah objek dari titik awal (origination) ke titik tujuan (terminating) secara acak. Volume of traffic adalah jumlah objek yang bergerak dalam satu periode tertentu. Volume trafik menentukan jumlah saluran yang dibuuhkan. Selain volume trafik, rute dan waktu juga harus diperhatikan dalam pembahasan trafik. Pada bidang telekomunikasi, trafik dapat diartikan pembangkitan panggilan telepon pada satu grup sirkuit yang berkenaan dengan lama dan jumlah panggilan.
Pb = B(E,m) =
2.2 FORMULA ERLANG B Erlang B adalah model penolakan panggilan masuk dimana ketika seluruh layanan (agent) sedang sibuk, panggilan datang akan langsung ditolak. User harus mengulangi kembali panggilannya hingga terdapat agent yang bebas. Formula ini menyediakan GoS (Grade of Service) dimana probabilitas Pb adalah probabilitas sebuah panggilan yang datang pada sebuah jaringan ditolak karena semua server sibuk. Formula Erlang B dituliskan sebagai berikut : !
∑
…….….(2)[2] !
Dimana : Pb adalah probabilitas ditolaknya panggilan yang masuk m adalah jumlah sumber daya atau server pada sebuah jaringan E = λh adalah total jumlah traffik yang disediakan pada satuan erlang
2.3 PERAMALAN DENGAN RADIAL BASIS FUNCTION NETWORK (RBFN) Terdapat enam langkah untuk proses peramalan dengan metode ini[5] yaitu penentuan variable input, penentuan center atau neuron pada hidden layer, perhitungan skala jarak (radius), perhitungan bobot, perhitungan nilai fungsi Gaussian, dan peramalan. Langkah 1 : Penentuan Input Jaringan Untuk menentukan input pada RBFN, salah satu metodenya adalah dengan mencobacoba berbagai kombinasi input dan membandingkan persen errornya. Kombinasi input yang dipilih adalah kombinasi input yang memiliki persen error terkecil. Langkah 2 : Penentuan Center Untuk menentukan center, Orr [5] menggunakan metode Orthogonal Least Square (OLS) dengan bantuan Matlab memanfaatkan fungsi rbfDesign dan forwardSelect. Center yang terbentuk ditandai dengan indeks cj.
2.1 Intensitas Trafik Intensitas trafik menyatakan jumlah rata-rata dari panggilan yang terjadi secara bersama-sama selama selang waktu tertentu. Persamaannya adalah : a = λh………………….(1)[2] Dimana a adalah intensitas trafik λ adalah volume trafik h adalah periode pendudukan Pada pure loss system terdapat 3 jenis panggilan yaitu : λ offered yaitu jumlah panggilan yang datang λ carried yaitu jumlah panggilan yang mampu dilayani λ lost yaitu jumlah panggilan yang gagal Dari ketiga jenis panggilan di atas, didapatkan 3 jenis trafik : Traffic Offered (a offered ) = λ offered . h[2] Traffic Carried (a ocarried) = λ carried . h[2] Traffic Lostd (a lost) = λ lost . h[2] Satuan trafik adalah erlang dimana 1 erlang menyatakan rata-rata dari sebuah panggilan selama satu periode waktu. Trafik 2
Langkah 3 : Menghitung faktor Skala (radius) Untuk menghitung faktor skala menggunakan persamaan : ∑
r=
(
)
3. Pengujian Sistem 3.1 Set-Up pengujian
……………………..(3)[5]
Dimana : m adalah jumlah center yang terbentuk pada langkah 2 cj adalah nilai center pada indeks ke-j c adalah rata-rata nilai center Langkah 4 : Menghitung bobot Untuk menghitung bobot optimal menggunan persamaan : =( ) …………(4)[5] Dimana : w adalah bobot H adalah matriks yang berisi nilai semua center yang terbentuk y adalah data yang dijadikan input jaringan RBFN. Jumlah bobot yang dihasilkan sebanyak jumlah center.
Gambar 1. Set-Up Pengukuran IP PBX server berfungsi sebagai pendistribusi panggilan dan monitoring aktivitas panggilan dan menyimpannya ke database. User atau client harus melakukan panggilan ke nomor ekstensi server Panggilan akan dirutekan ke agent jika tersedia.
Langkah 5 : Perhitungan Nilai Fungsi Gaussian Menghitung nilai Gaussian dengan peramaan :
3.2 Data Hasil Pengujian dan Analisa 1. Proses Login Pada Program Monitoring Pada sistem call center yang dibangun, segala proses monitoring hanya dapat diakses oleh pihak tertentu saja. Dalam hal ini, pihak yang mempunyai privilidge untuk mengakses memiliki username dan password tertentu. Pada sistem, pengaturan username dan password diatur pada subbab 4.1.3. Untuk menguji keamanan pengaksesan, dilakukan pengujian proses Login sebanyak 10 kali. Pada setiap kali engujian, nama dan password yang dimasukkan berubah. Pada manager.conf telah diinisialisasi username = tesar dan password = tesar. Berikut hasil pengujian Login sebanyak 10 kali :
hj(x)= ………………………………..(5)[5] dimana : hj adalah fungsi Gaussian pada indeks ke-j xi adalah data input indeks ke-i yang didapatkan dari langkah 1 cj adalah center pada indeks ke-j rj adalah factor skala yang didapat pada langkah 3 Langkah 6 : Peramalan Untuk meramalkan data menggunakan persamaan : ŷ = f(x) = ∑ ℎ ( )……………(9)[5] dimana ŷ = f(x) adalah data peramalan
Tabel 1 Pengujian login pada program monitoring username password Kondisi Sukses Gagal
3
manager
pa55w0rd
V
MaNaGeR
pa55w0rd
V
client
pa55w0rd
V
manager
PA55W0rD
V
client
client
V
Pengujian dilakukan dengan memasukkan username dan password yang berbeda beda pada saat program meminta proses otentifikasi. Pengujian proses dilakukan selama 10 kali. Username dan password yang dimasukkan sebagai input kedalam program seperti yang terlihat di tabel di atas. Dari hasil pengujian diketahui bahwa untuk username tidak case sensitif. Namun password case sensitif. 2. Event Ketika sistem dijalankan, sistem akan menunggu panggilan masuk. Ketika ada panggilan yang masuk, sistem akan memunculkan event-event yang dijalankan. Event akan muncul baik pada kondisi sistem dijalankan, ada panggilan yang masuk, panggilan diterima oleh agent, dan panggilan berakhir. Daftar event yang muncul padaketiga kondisi di atas adalah sebagai berikut :
Gambar 2 Hasil input sistem ke database 4. Perhitungan QoS sistem Dilakukan pengujian ketepatan perhitungan dari program yang telah dibuat dengan perhitungan secara manual seperti dijelaskan di atas. Diasumsikan jumlah agent tetap yaitu 20 orang. Data yang dijadikan pengujian adalah data berurutan dari Januari 2009 hingga Oktober 2009. Perbandingannya ditunjukkan pada tabel 4.4 di bawah.
Tabel 2 Event yang muncul saat panggilan masuk ke sistem Kondisi Event yang muncul Sistem dijalankan pertama kali
Tabel 3 Perhitungan QoS sistem No
Dur asi
467
140
1. Connect Event 1
2. StatusCompleteEvent
Ketika agent 1. DialEvent mendapatkan 2. NewCallerIdEvent panggilan 3. NewStateEvent
2
3
Ketika agent 1. NewAccountCodeEvent menerim 2. BridgeEvent panggilan Ketika panggilan berakhir
λ
4
5
1. CdrEvent 2. HangupEvent
6
3. Ketepatan Jumlah Panggilan Salah satu parameter keberhasilan sistem yang dibuat pada proyek akhir ini adalah sistem dapat menghitung dengan benar jumlah panggilan yang masuk ke dalamnya. Jika dilakukan panggilan sebanyak 20 kali, pada database akan tersimpan 20 panggilan pula. Berikut pengambilan data dan hasil penyimpanannya pada database :
7
8
9
10
4
480
486
492
447
432
444
433
444
348
171
149
148
151
217
149
206
128
160
Perhitungan Progra Man m ual 0.88689 0.88 551458 6895 94993 515 0.77139 0.77 300359 1393 79162 003 0.83820 0.83 426300 8204 56233 263 0.83538 0.83 427178 5384 97162 271 0.87247 0.87 292133 2472 20312 921 0.78554 0.78 840963 5548 17549 409 0.88164 0.88 535844 1645 13146 358 0.72511 0.72 380395 5113 26862 803 0.93984 0.93 818064 9848 07768 180 0.94599 0.94 675345 5996 36642 753
Error (%)
4,62852 E-10 7,75112 E-10 6,70846 E-12 9,45333 E-10 3,80563 E-10 8,0422E10 5,00557 E-10 1,31384 E-09 6,81787 E-10 4,79562 E-10
Tabel 4 Perbandingan pemilihan input dan rata-rata error Input Xt-1 dan Xt-15 Xt-15 dan Xt-30 Xt-2 dan Xt-15 Xt-1 dan Xt-30 Xt-20 dan Xt-30 Xt-10 dan Xt-20 Xt-2 dan Xt-3 Xt-1 dan Xt-3
Gambar 3 Hasil perhitungan QoS sistem
Average Error (%) 8.483814624050957 12.721268890117384 10.48900403773106 7.192876922621033 26.967762413003527 23.748771655851577 15.320572630220017 13.180168956886435
Dari 20 kali pengujian didpatkan kombinasi input dengan rata-rata error terkecil adalah Xt-1 dan Xt-30. Kombinasi ini yang dijadikan inputan untuk proses perhitungan seterusnya. 5.2 Peramalan Data dengan RBFN Setelah didapatkan input optimal, dilakukan pengujian peramalan data sebanyak data testing. Hasil pegujiannya adalah sebagai berikut
Gambar 4 Grafik perbandingan perhitungan Erlang B Dari hasil perbandingan antara perhitungan secara manual dengan hasil program didapatkan prosentase kesalahan yang sangat kecil. Kesalahan hanya disebabkan oleh jumlah angka dibelakang koma. Hal ini disebabkan oleh perbedaan jumlah angka dibelakang koma antara output program dengan hasil perhitungan kalkulator. Prosentase error yang kecil menandakan program yang dibuat sudah mendekati teori
Tabel 5 Perbandingan hasil permalan dengan data asli
Data Asli (Xt) Data ramal (Yt) Persen Error
5. Peramalan Data Call Offered Sistem 5.1 Pemilihan Input Optimal Pada RBFN yang dibangun, untuk mendapatkan hasil peramalan yang optimal dengan cara mencoba-coba berbagai kombinasi input. Beberapa kombinasi diimplementasikan pada program dan dilihat perbandingan hasil peramalan dengan data asli yang dijadikan testing(x345 hingga x360). Kombinasi yang terbaik memiliki rata-rata error terkecil Rata-rata error didapatkan dengan persamaan :
Data Asli (Xt) Data ramal (Yt) Persen Error Data Asli (Xt) Data ramal (Yt) Persen Error
Rata-rata error = ∑
( )
() ()
x 100 %
Dimana m adalah jumlah data yang diramalkan Pengujian kombinasi input dilakukan selama 20 kali. Pada tabel 4.0 ditampilkan 8 kombinasi input dengan rata-rata error kecil yang lebih kecil dibandingkan yang lain.
X346 265.0
Input Xt-1 dan X t-30 X347 X348 X 349 269.0 287.0 304.0
X350 307
186.5
253.44
284.75
272.34
279.53
29.62 % X351
5.78%
0.78%
10.41%
8.94%
X352
X353
X 354
X355
270 250
263 263.7
277 268.45
311 298.52
359 349.98
7,40% X356
0,26% X357
3,08% X358
4,01% X 359
2,51% X360
375 391.5 2
359 370.63
375 391.52
363 352.62
329 269.14
4,40%
3,23%
4,40%
2,85%
18,19%
Jika hasil peramalan untuk data testing seperti terlihat pada tabel 4.11 divisiualisasikan dalam bentuk grafik didapatkan tampilan sebagai berikut :
5
6. Jaringan Radial Basis Function yang digunakan sebagai metode peramalan menggunakan input optimal Xt-1 dan X t-30 7. Program peramalan data call offered mampu memprediksi nilai call offered waktu mendatang dengan prosentase kesalahan rata-rata 7.1928 % REFERENSI / DAFTAR PUSTAKA [1] Anugrah, Andi , “Sukses Mengelola Call center (Edisi Revisi)”, Telexindo Bizmeda, 2009 [2] Iversen, Villy B. 2004. Teletraffic Engineering and Network Planning. Technical University of Denmark : Building 345v. [3] Yuliana, Mike, “Call Centre” , 2009. [4] M. Jim Van, M. Leif: “Asterisk: The Future of Telephony 2nd Edititon”, Safari Books Online, 2007. [5] Sumadi, 2007. “Radial Basis Function Network untuk Peramalan Data Time Series”, Tesis tidak diterbitkan. Surabaya : ITS [6] Goncalves E. Flavio: “Asterisk PBX Configuration Guide”, Digium Inc, 2006.
Gambar 5 Grafik Perbandingan Data Asli dengan Data Peramalan Secara grafik, hasil peramalan mendekati bentuk grafik dari data asli yang dijadikan testing meskipun prosentase kesalahan bervariasi dengan rata-rata kesalahan peramalan 7.1928 % Pada pembuatan RBFN untuk peramalan ini, telah dilakukan usaha untuk memperkecil prosentase error yaitu dengan menormalisasi input seperti dijelaskan pada subbab 4.1.5.1 dan memilih kombinasi input optimal. Dari hasil peramalan masih memiliki prsentase error sebesar 7.1928%. Hal ini dimungkinkan karena pada jaringan RBFN yang dibuat tidak dilakukan perubahan atau peng-update-an bobot. Pada RBFN ini, bobot dianggap sebagai bobot optimal mengikuti teori yang dikenalkan oleh Orr [5] dan diimplementasikan pada perangkat lunak Matlab. 6. KESIMPULAN Setelah melakukan pengujian dan analisa pada sistem ini diperoleh kesimpulan sebagai berikut : 1. Sistem yang dibangun telah mampu menyimpan data jumlah panggilan sesuai dengan kondisi real yang terjadi. Keberhasilan penyimpanan data panggilan mencapai 100 %. 2. Waktu yang dibutuhkan untuk mengakses data panggilan yang tersimpan di database adalah sebagai berikut : Untuk panggilan dengan status Answered sebesar 6,8 milisekon Untuk panggilan dengan status Busy sebesar 1,4 milisekon Semakin sedikit jumlah data yang tersimpan maka semakin cepat waktu pengaksesan data tersebut. 4. Program penghitung Erlang B menghasilkan probabilitas penolakan yang menyerupai perhitungan secara manual. Persentase kesalahan rata-rata 0,00000635 % 5. Waktu yang dibutuhkan untuk perhitungan Formula Erlang B rata-rata sebesar 10 milisekon dengan jumlah pengambilan sampel sebanyak 10 kali.
6