• Tidak ada hasil yang ditemukan

IMPLEMENTASI PUSH DATA SERVER PADA JARINGAN SIP.

N/A
N/A
Protected

Academic year: 2017

Membagikan "IMPLEMENTASI PUSH DATA SERVER PADA JARINGAN SIP."

Copied!
71
0
0

Teks penuh

(1)

SKRIPSI

Disusun oleh :

MANUEL BAYU PERDANA PUTRA

NPM. 0834010149

J URUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”

J AWA TIMUR

(2)

SKRIPSI

Diajukan Untuk Memenuhi Sebagai Persyaratan Dalam Memperoleh Gelar Sarjana Komputer

Jurusan Teknik Informatika

Disusun oleh :

MANUEL BAYU PERDANA PUTRA

NPM. 08340101491

J URUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”

J AWA TIMUR

(3)

IMPLEMENTASI PUSH DATA SERVER

PADA J ARINGAN SIP

Disusun oleh :

MANUEL BAYU PERDANA PUTRA

NPM. 0834010149

Telah disetujui untuk mengikuti Ujian Negar a Lisan Gelombang IV Tahun Akademik 2013/2014

Pembimbing I Pembimbing II

Hudan Studiawan, S.Kom, M.Kom Achmad J unaidi, S.Kom NPT. 387051103411 NIDN. 710117803

Mengetahui,

Ketua J urusan Teknik Infor matika Fakultas Teknologi Industri UPN “Veteran” J awa Timur

(4)

IMPLEMENTASI PUSH DATA SERVER

PADA J ARINGAN SIP

Disusun oleh :

MANUEL BAYU PERDANA PUTRA

NPM. 0834010149

Telah dipertahankan dihadapkan dan diter ima oleh Tim Penguji Skr ipsi J ur usan Teknik Infor matika Fakultas Teknologi Industri

Univer sitas Pembangunan Nasional “Veteran” J awa Timur Pada Tanggal 14 J uni 2013

Pembimbing : NIP. 19580711 198503 1 001 2.

Univer sitas Pembangunan Nasional “Veteran” J awa Timur

(5)

PANI TI A UJ I AN SKRIPSI / KOMPREHENSI F

KETERANGAN REVISI

Mahasiswa di bawah ini :

Nama : MANUEL BAYU PERDANA PUTRA NPM : 0834010149

Jurusan : Teknik Informatika

Telah mengerjakan revisi/ tidak ada revisi*) pra rencana (design)/ skripsi ujian lisan gelombang IV, TA 2012/2013 dengan judul:

“IMPLEMENTASI PUSH DATA SERVER PADA J ARINGAN SIP”

Surabaya, Juni 2013 Dosen Penguji yang memerintahkan revisi :

1) Ir. Bambang Wahyudi, M.S NIP. 19580711 198503 1 001

2) Ir. L. Urip Widodo, M.T NIP. 19570414 198803 1 001

3) Yisti Vita, S.ST, M.Kom NPT. 386041303471

Mengetahui, Pembimbing

Hudan Studiawan, S.Kom, M.Kom NPT. 387051103411

{

}

{

}

(6)

Puji syukur penulis ucapkan kehadirat Bapa Putra dan Roh Kudus atas segala rahmat serta karunia-Nya yang diberikan kepada penulis sehingga penulis dapat menyelesaikan skripsi yang berjudul “ IMPLEMENTASI PUSH DATA SERVER PADA J ARINGAN SIP”.

Skripsi dengan jumlah 4 SKS ini disusun sebagai salah satu syarat untuk menyelesaikan program Strata Satu (S1) pada jurusan Teknik Informatika, Fakultas Teknologi Industri, UPN “Veteran” Jawa Timur.

Penulis menyadari bahwa penulisan skripsi ini masih jauh dari kesempurnaan dikarenakan pengetahuan dan pengalaman yang dimiliki oleh penulis masih sangat terbatas dan masih perlu diperbaiki baik dari segi penyajian maupun isinya. Oleh karena itu, penulis mengharapkan kritik dan saran yang bersifat membangun dari semua pihak yang membaca skripsi ini. Semoga skripsi ini bermanfaat bagi semua pembaca pada umumnya dan bagi penulis pada khususnya. Amiin.

Surabaya, Desember 2013

(7)

iii

ABSTRAK

Pada zaman sekarang ini, pengiriman pesan singkat sms sudah mulai

ditinggalkan. Banyak yang beralih menggunakan instant messanger. Yang menjadi

alasannya adalah instant messanger yang menggunakan jaringan internet(IP based)

lebih hemat biaya dan lebih bervariasi dari pada penggunaan pesan singkat sms.

Beberapa contoh aplikasi instant messanger adalah Blackberry messanger(BBM),

Whatsapp, Line, Kakao Talk, Yahoo messanger dan lainnya mengisi persaingan di

dunia komunikasi saat ini.

Oleh karena itu perlu diterapkan Implementasi Push Data Server pada

jaringan SIP(Session Initial Protocol) pada jaringan kampus untuk menjembatani

kebutuhan tersebut. Layanan yang disediakan meliputi chatting sesama klien, voice

call dan pengiriman data nilai indeks prestasi (IP) sebagai implementasi push data.

Ada 3 bagian penting dalam tugas akhir ini. Yang pertama adalah pada bagian

jaringan SIP. Server SIP yang digunakan adalah kamailio server, sisi klient

digunakan jitsi sebagai interfaces user untuk mengirim dan menerima pesan. Kedua

adalah pada push data server digunakan Ajax Push Engine (APE) untuk melakukan

pengecekan data nilai mahasiswa. Jika ada data nilai baru maka APE akan langsug

mengambil kemudian mengirim data tersebut. Pada bagian ketiga adalah interface

admin untuk melakukan pengisian nilai mahasiswa.

Hasil dari implementasi menghasilkan sebuah server instant messaging yang

bisa digukan untuk melayani klien berkomunikasi dan mempermudah mahasiswa

memiliki informasi nilai secara real time.

Ka ta kunci : instant messanger, kamailio, jitsi, push data server, APE (Ajax Push

(8)

1

BAB I

PENDAHULUAN

1.1. Latar Belaka ng

Pada zaman sekarang ini, pengiriman pesan singkat sms sudah mulai

ditinggalkan. Banyak yang beralih menggunakan instant messanger. Yang

menjadi alasannya adalah instant messanger yang menggunakan jaringan internet

(IP based) lebih hemat biaya dan lebih bervariasi dari pada penggunaan pesan

singkat sms. Beberapa contoh aplikasi instant messanger adalah Blackberry

messanger (BBM), Whatsapp, Line, Kakao Talk, Yahoo messanger dan lainnya

mengisi persaingan di dunia komunikasi saat ini. Aplikasi instant messanger ini

menggunakan teknologi push message dan Session Initiation Protocol (SIP) serta

mempunyai beberapa fitur yaitu pengiriman pesan antar pengguna, broadcast

message hingga melakukan panggilan suara (voice call). Permasalahannya adalah

aplikasi tersebut belum bisa digunakan untuk sesuatu yang spesifik misalnya

digunakan untuk kampus sebagai aplikasi yang melayani civitas akademika

untuk berkomunikasi serta mengetahui nilai indeks prestasi mahasiswa setiap

semester.

Selama ini layanan Push Mail Messaging telah banyak didengar pada

sistem jaringan mobile phone. Oleh karena itu perlu ada pengembangan pada

sistem jaringan Session Initiation Protocol (SIP), mengingat bahwa SIP

merupakan jaringan yang didesain untuk masa depan yang melayani jaringan

untuk VoIP. Maka perlu di desain sebuah push engine pada jaringan SIP,

harapannya adalah mempermudah komunikasi masa mendatang yang berbasis IP.

Diproyek akhir ini akan sedikit dilakukan juga pengujian QoS (Quality of Service)

pada model VoIP yang saya gunakan dalam proyek akhir ini yang mengacu pada

standart Public Switched Telephone Network (PSTN) International

Telecommunication Union (ITU).

Untuk merancang implementasi jaringan ada 3 bagian penting dalam

(9)

yang digunakan adalah kamailio server sebagai SIP server yang menangani

masalah jaringan SIP dan menangani masalah routing IP untuk unique identity

client, sisi klient digunakan jitsi sebagai interfaces user untuk mengirim dan

menerima pesan. Kedua adalah pada push data server digunakan Ajax Push

Engine (APE) untuk melakukan pengecekan data nilai mahasiswa. Jika ada data

nilai baru maka APE akan langsug mengambil kemudian mengirim data tersebut.

Pada bagian ketiga adalah interface admin untuk melakukan pengisian nilai

mahasiswa. Pada bagian ini digunakan php yang berbasis web service dengan

database mysql sebagai penampungan data.

Dari semua yang sudah dijelaskan diatas nantinya akan

diimplementasikan sebagai sebuah server yang seolah-olah benar-benar dapat

digunakan oleh Biro Admik untuk mem-broadcast nilai IP (Indeks Prestasi)

mahasiswa di kampus dengan menggunakan jaringan berbasis SIP ini. Dan

diharapkan jaringan berbasis SIP ini bermanfaat dan benar-benar

diimplementasikan.

1.2. Per umusan Masalah

Berdasarkan dari uraian latar belakang di atas maka dapat dirumuskan

suatu permasalahan.

1. Bagaimana sistem antar client bisa melakukan voice call dan messaging.

2. Bagaimana client bisa menerima data nilai dari admin.

1.3. Batasan Masalah

Dalam sistem ini, agar tidak menyimpang dari tujuan yang akan dicapai maka

pembahasan masalah dibatasi pada hal-hal sebagai berikut :

1. Implementasi sistem akan dilakukan pada jaringan berbasis SIP.

2. Pengiriman data text berupa nilai IP mahasiswa.

3. SIP server memberikan layanan fitur call dan message untuk masing-masing

(10)

4. Implementasi Pengerjaan proyek ini menggunakan tool open source under

linux.

1.4. Tujua n

Tujuan yang ingin dicapai yaitu terbentuknya sistem Push data server yang

bisa digunakan untuk memberikan data pada client tanpa adanya request terlebih

dahulu dengan tujuan :

1. Mengurangi beban database server akibat banyaknya request dari client

2. Memberikan layanan pengiriman data dan voice antar client pada sebuah

jaringan

1.5 Ma nfaat

Adapun manfaat yang ingin diperoleh dalam pembuatan sistem pengambil

keputusan ini antara lain yaitu :

1. Mempermudah mahasiswa untuk mengetahui nilai IP melalui pemberitahuan

message pada jaringan SIP

2. Dapat memberikan layanan voice call dan message antar client sehingga

diharapkan adanya penghematan biaya dan pemanfaatan jaringan kampus.

1.6 Metodologi Penelitia n

Metodologi yang digunakan supaya tepat dan akurat adalah dengan beberapa

tahapan yaitu:

1. Studi Literatur

Dalam pembuatan proyek akhir ini harus terlebih dahulu mempelajari

tentang Push Technology, SIP server dan open source linux yang mendukung

penyelesaian sistem.

2. Perancangan Sistem

Perancangan sistem meliputi perancangan dan instalasi SIP server,

(11)

3. Implementasi Sistem

Pada tahap ini dilakukan implementasi Push Data Server sebuah server

yang bisa melayani call voice, message dan broadcast message (contoh kasus

nilai mahasiswa).

4. Pengujian Integrasi Sistem

Pada tahap ini menjelaskan langkah-langkah yang dilakukan saat

mengeksekusi program. Pengujian ini bertujuan untuk memastikan bahwa

masing-masing bagian dari sistem ini dapat bekerja sesuai yang diharapkan.

Apakah push data nilai berhasil dilakukan pada masing-masing username,

berapa prosentase kegagalannya. Apakah voice dan fitur message (chatting)

berjalan dengan baik. Pengujian juga akan dilakukan untuk mencari minimum

requirement untuk bandwith agar sistem berjalan dengan baik.

5.Dokumentasi

Pada tahap ini dilakukan pembuatan sistem laporan dari studi literatur,

analisa kebutuhan sistem, perancangan dan pembuatan sistem, hingga pada

akhirnya sampai dengan uji coba dan evaluasi sistem, sehingga pada akhirnya

dapat dilakukan penarikan kesimpulan dan saran untuk kemajuan dan perbaikan

pada sistem yang telah dibuat.

1.7 Sistematika Penulisa n

Laporan proyek ini akan menjelaskan tentang pembuatan implementasi push data

server. Agar lebih memahami materi, laporan proyek ini dibagi menjadi lima bab

yang dilengkapi dengan penjelasan langkah-langkah dan ilustrasinya.

BAB I Pendahuluan

(12)

tujuan, manfaat, metode penelitian, dan sistematika penulisan.

BAB II Dasar Teori

Menjelaskan tentang teori-teori dasar yang berhubungan dengan pengerjaan

Proyek.

BAB III Perancangan Sistem

Menjelaskan tentang perancangan dan awal pembuatan perangkat lunak.

BAB IV Implementasi dan Uji Coba Sistem

Menjelaskan tentang pengimplementasian perangkat lunak dan uji coba sistem

perangkat lunak untuk proses validasi.

BAB V Penutup

Mengambil kesimpulan dari Proyek yang telah dilakukan dan menyebutkan

(13)

BAB II TINJ AUAN PUSTAKA

2.1PUSH TECHNOLOGY

Push technology merupakan salah satu bahasan penting dalam project ini, oleh karena itu perlu dijelaskan pengetahuan tentang push technology itu sendiri. Berikut adalah penjelasannya.

2.1.1 DEFINISI

Push Technology adalah sebuah teknologi untuk otomatisasi pengiriman data dan informasi dari server menuju client melalui sebuah jaringan internet ataupun intranet. Push technology berarti komunikasi diprakarsai oleh server. Berikut skema push technology secara singkat.

Gambar 2. 1 Skema Push Technology

Dari gambar di atas telah tergambar secara jelas bahwa server mengirim data/informasi terhadap client tanpa adanya request terlebih dahulu dari sisi client. Hal inilah yang dinamakan metode pengiriman push.

(14)

Gambar2. 2 Perbandingan antara Synchronous dan asynchronous Methode

keterangan :

R = Request client Rs = Response server

Metode Synchronous mode digambarkan bahwa client harus meminta request terlebih dahulu kepada server kemudian baru server melakukan pengiriman data yang diminta. Client melakukan action R1 request kepada client, baru server melakukan action response Rs1 untuk memberikan jawaban atas permintaan data oleh client. Di sini selama proses Request dan Response terjadi waktu delay antara keduanya. Begitu juga dengan R2 dengan Rs2 juga terjadi waktu delay. Hal ini terjadi selama proses Pull technology.

(15)

delay saat terjadi komunikasi. Atau dengan cara lain client akan mendapatkan push data dari server setelah client melakukan langganan.

Untuk mempermudah pengertian pull technology dan push technology digambarkan saat membeli majalah dengan langganan majalah. Ketika membeli sebuah majalah, maka yang harus dilakukan adalah mendatangi agen majalah untuk melakukan proses transaksi baru bisa mendapatkan majalah yang diinginkan. Akan tetapi saat berlangganan majalah, tidak perlu lagi mendatangi agen majalah tersebut karena sang agen akan mengirimkan majalah langsung ke pelanggan selama berlangganan majalah tersebut. Dari contoh gambaran perilaku di atas, proses transaksi pembelian majalah menggambarkan cara kerja pull technology sedangkan langganan majalah adalah gambaran dari push technology.

2.1.2 MACAM - MACAM PUSH TECHNOLOGY

Ada beberapa macam push technology yang saat ini ada, diantaranya adalah : 1. Push HTTP server

Push HTTP server (dikenal sebagai streaming HTTP) adalah suatu mekanisme pengiriman data dari web server ke web browser dimana web server akan mempertahankan koneksi setelah respon data diberikan kepada client. Web server selalu menjaga koneksi tetap terbuka agar bila ada event yang diterima, maka server bisa langsung mengirim paket ke satu atau beberapa client dengan segera. Sebagian besar web server menawarkan fungsi ini melalui CGI (misalnya script Parsed Non-title pada Apache).

(16)

Berikut ini mekanisme pengiriman informasi push data pada HTTP server push.

Gambar2.3 Mekanisme komunikasi pada HTTP Server Push

Di sini aplikasi AJAX hanya mengirim satu permintaan tunggal dan menerima respon chunked (parsial) , dan server tetap menjaga koneksi server-client tetap terbuka. Teknik ini berfungsi untuk mengurangi latency jaringan sebagaimana browser dan server tidak perlu membuka/menutup koneksi. Sebagai contoh, gmail menggunakan teknik yang untuk memperbarui antarmuka e-mail secara real time. Untuk itu, streaming HTTP kadang-kadang dianggap menyalahgunakan protokol HTTP dengan mempertahankan koneksi terbuka untuk waktu yang sangat lama. Http streaming memiliki masalah yang sama seperti polling yaitu jika server terlalu banyak melakukan push data, jika terjadi banyak sekali request dari client, maka server tidak akan sanggup melayani seluruh request dari client untuk mem-push data yang diminta. Server juga mungkin akan kesulitan mengupdate 10.000 client setiap detik, dan menyebabkan traffic yang sangat padat.

2. Long polling

(17)

informasi yang tersedia. Setelah informasi yang telah tersedia (atau setelah batas waktu yang cocok), respon lengkap dikirim ke klien. Klien akan biasanya kemudian segera kembali meminta informasi dari server, sehingga server akan hampir selalu memiliki request waiting yang dapat digunakan untuk mengirimkan data dalam menanggapi suatu event. Long polling itu sendiri bukan sebuah teknologi push, namun dapat digunakan pada keadaan dimana push data tidak mungkin dilakukan.

Gambar2. 4 Mekanisme komunikasi Long Polling

(18)

3. Flash XML Sockets

Teknologi Flash XML Socket mengimplementasikan client socket yang memungkinkan komputer client yang menjalankan Flash Player untuk berkomunikasi dengan komputer server. Client diidentifikasi dengan alamat IP atau domain. Untuk menggunakan object XML Socket, maka komputer server harus menjalankan daemon yang bisa membaca protokol yang digunakan oleh object XML Socket. Yang menjadi masalah adalah konektivitas tidak disediakan oleh HTTP server, meskipun konektivitas Flash HTTP berbasis server XML. Maka solusi yang bisa dilakukan adalah membuat protokol sendiri.

Protokol yang digunakan pada Flash XML Socket memiliki rule sebagai berikut:

Pesan XML yang dikirim melalui koneksi stream socket full duplex / TCP IP.

Setiap pesan XML adalah sebuah dokumen XML yang lengkap, diakhiri dengan zero byte.

Sebuah pesan XML yang unlimited

dapat dikirim dan diterima melalui koneksi single XML Socket.

Objek XMLSocket sangat cocok untuk aplikasi client-server yang memerlukan latency rendah, seperti real-time chatting. Sama halnya seperti HTTP streaming, XML socket juga mempertahankan koneksi antara server-client, sehingga memungkinkan server untuk melakukan push data pada client tanpa adanya permintaan terlebih dahulu.

Keuntungan menggunakan Flash XML Socket antara lain :

Bisa men-support Cross Browser : Pada sistem AJAX, masing–masing browser memiliki nama dan karakter yang berbeda untuk penulisan JavaScript. Akan tetapi Flash plugin tidak memiliki masalah dengan adanya perbedaan browser ini.

• Cepat dan Efisien.

(19)

lagi dari client dalam jangka waktu yang ditentukan. Hal ini yang dimaksud skalabilitas yang baik.

Sedangkan kekurangan dari Flash socket adalah ketersediaannya pada beberapa browser. Meskipun ada beberapa browser yang langsung mendukung untuk Flash akan tetapi banyak juga browser yang tidak men-support Flash ini, sehingga client masih harus meng-install lagi Flash plugin. Masalah lain yang dihadapi adalah pada socket programming, termasuk di dalamnya XML Flash socket memiliki masalah dengan firewall. Saat perintah socket mengalami time-out dan memaksa untuk pengulangan request xml socket bisa menyebabkan overhead pada jaringan atau bahkan pada CPU karena membutuhkan memori dan eksekusi yang banyak. Jika terjadi request time-out maka client harus melakukan request ulang atau me-refresh browser. Hal ini biasanya terjadi pada client yang menggunakan jaringan dengan bandwidth terbatas. Masalah kedua adalah firewall bisa menyaring paket UDP, saat melewati port TCP. Jika server melakukan koneksi atau mengirimkan data pada client tanpa adanya request maka firewall bisa menolaknya. Oleh karena itu untuk menyelesaikan masalah ini maka harus ada modifikasi pada firewall tadi agar mampu melewatkan paket – paket UDP.

2.1.3 CONTOH – CONTOH SERVER PUSH TECHNOLOGY

Ada banyak server Push Technology saat ini, yang menawarkan kemudahan dan kelebihan masing–masing. Berikut ini merupakan contoh kecil beberapa server push technology yang ada saat ini.

1. Jetty server

(20)

asynchronous(terutama melalui HTTP) dengan tingkat latency yang rendah antara web server dan client.

2. Grizzly

Grizzly merupakan HTTP Listener yang menggunakan teknologi Java NIO dan bisa diimplementasikan pada pemrograman Java. Untuk mendukung fungsi comet, Grizzly memiliki komponen-komponen sebagai berikut :

Selector Thread : digunakan untuk menangani koneksi yang masuk ke server

Comet Context : sebuah framework untuk aplikasi.

Comet Event : sebuah object yang berisi state Comet Event.

Comet Handler : Interface aplikasi.

3. Pushlets

Pushlet merupakan server dengan mekanisme servlet-based dimana push data bisa dilakukan dengan server side java objects ke halaman HTML (Dynamic) client tanpa menggunakan Java apllets atau plugins. Hal ini memungkinkan halaman web diperbarui secara periodik oleh server. Browser client menggunakan JavaScript untuk melakukan komunikasi dengan server.

4. Lightsteamer Server

(21)

iPush server merupakan server komersil yang didesain untuk mendistribusikan informasi kepada client dengan kinerja yang sangat baik. Antara server dan client harus memiliki Flash Player plugins atau Java JRE.

7. Ajax Push Engine (APE)

Ajax Push Engine merupakan push server open source untuk Ajax Push. APE meliputi comet server dan Java script Framework. APE bisa diimplementasikan untuk berbagai macam real-time data streaming ke web browser, tanpa menginstall apapun di sisi client.

Dalam APE komunikasi dilakukan melalui channel. Channel adalah saluran komunikasi untuk pertukaran data dalam berbagai cara.

Multi Channel: channel ini dapat digunakan untuk mem-broadcast data ke sekelompok pengguna. Ketika bergabung dengan saluran server mengirim beberapa informasi tentang saluran dan daftar pengguna terhubung di atasnya. Bila dilakukan pengiriman pesan ke saluran, pesan ini dikirim ke semua pengguna terhubung di atasnya.

Uni channel User: Setiap client yang terhubung pengguna. User dapat bertukar data dari satu pengguna ke pengguna lain.

2.2 DATABASE MySQL

(22)

atau baris (rows); mengeksekusi perintah / pernyataan SQL; atau mengelola pengguna dan hak akses / perijinannya.

2.3 DATABASE TRIGGER

Trigger adalah blok PL/SQL yang disimpan dalam database dan akan diaktivasi ketika melakukan statemen-statemen SQL (INSERT, DELELTE, atau UPDATE) terhadap sebuah tabel. Singkatnya, trigger merupakan sekumpulan perintah atau sintaks yang akan secara otomatis dijalankan jika terjadi operasi tertentu dalam tabel atau view.

2.3.1 DEFINISI

Database trigger dapat didefinisikan sebagai aksi yang harus dilakukan ketika ada beberapa event yang terjadi pada aplikasi. Event yang dimaksud disini adalah perubahan database DML(Data Manipulation Language) yang meliputi INSERT, UPDATE dan DELETE. Artinya ketika ada proses DML pada database, bisa dilakukan pekerjaan lain yang diinginkan. Contoh logika-nya akan dibeli sebuah buku setelah mendapatkan uang. Mendapatkan uang disini merupakan event yang terjadi pada database, sedangkan trigger-nya adalah pembelian buku setelah didapatkannya uang.

Gambar2. 5 Mekanisme Database Trigger

2.3.2 KOMPONEN TRIGGER

(23)

1. TRIGGER TIMING

Trigger timing disini menentukan saat kapan trigger database dilakukan/dieksekusi berdasarkan event yang terjadi. Ada dua parameter pada TRIGGER TIMING disini yaitu AFTER dan BEFORE. Trigger timing AFTER berarti database trigger dilakukan setelah adanya event. Contoh TRIGGER AFTER INSERT, artinya proses trigger akan dilakukan setelah adanya proses insert pada database.

Trigger timing BEFORE berkebalikan dengan Trigger timing AFTER yaitu proses trigger akan dilakukan setelah event terlaksana. Contoh TRIGGER BEFORE INSERT artinya ketika akan dilakukan proses insert pada database maka TRIGGER akan dijalankan terlebih dahulu baru proses insert ke database yang dilakukan.

2. TRIGGER EVENT

Trigger event merupakan perubahan DML (Data Manipulation Language) yang akan menentukan saat terjadi perubahan pada database sehingga proses trigger bisa dilaksanakan. DML (Data Manipulation Language) terdiri dari proses INSERT, UPDATE dan DELETE. Trigger event INSERT berarti proses trigger akan dilakukan ketika adanya insert data pada database. Trigger event UPDATE berarti proses trigger akan terjadi ketika adanya update data pada database. Trigger event DELETE akan menjalankan proses trigger ketika adanya delete data pada database.

(24)

3. TRIGGER STATEMET

Trigger STATEMENT merupakan statement apa yang akan dilakukan pada proses trigger. Jadi disini trigger statement merupakan inti dari database trigger, karena tujuan dari database trigger akan melakukan aksi ketika terjadi event. Trigger STATEMENT bisa di-custom sesuai keinginan, semisal pengisian tabel lain pada database yang sama, melakukan update pada database atau perintah-perintah lainnya.

2.3.3 PENGGUNAAN DATABASE TRIGGER

Database trigger dapat digunakan dalam berbagai hal untuk mempermudah programmer menjalankan action yang diinginkan. Contoh penggunaan database trigger diantaranya pengisian nilai pada tabel lain, pengecekan suatu tabel untuk validasi data, proses untuk menjalankan program lain semisal menjalankan php.

Untuk memperjelas sql trigger, amati contoh berikut. Tabel database “data” yang dimiliki seperti berikut :

Tabel 2.1 Data Nilai Mahasiswa

NPM NAMA IP (Indeks

Prestasi)

Kemudian sql trigger dibuat seperti berikut :

Gambar2. 6 Contoh penggunaan database trigger.

Setelah memasukkan data kepada database “data” NPM 0834010149, NAMA Muttaqin, IP 3,63 maka tabel database akan terisi seperti berikut:

CREATE TRIGGER set_status BEFORE INSERT ON data

FOR EACH ROW BEGIN

INSERT INTO nilai SET NPM = NEW.NPM, SET status

= 1;

(25)

Tabel 2.2 Contoh Data Nilai Mahasiswa

NPM NAMA IP (Indeks

Prestasi)

0834010149 Manuel Bayu 3,63

Kemudian yang terjadi adalah SQL trigger akan melakukan action untuk mengisikan pada tabel nilai, NPM diisi oleh NPM yang dibuat pada NPM tabel “data” dan status menjadi “1”.

Tabel 2.3 Tabel Status Perubahan Data

NPM STATUS

0834010149 1

2.4 VOIP/SIP 2.4.1 DEFINISI

VoIP atau Voice Over Internet Protocol merupakan sebuah teknologi komunikasi yang menggunakan Internet Protokol melalui sistem komunikasi tradisional atau sering disebut sistem analog. Beberapa layanan VoIP memungkinkan pengguna untuk melakukan komunikasi berbasis VoIP dengan pengguna lain yang menggunakan layanan yang sama, tetapi terdapat beberapa teknologi VoIP lain yang memungkinkan terjadinya komunikasi dengan layanan yang berbeda seperti dapat melakukan panggilan berbagai jenis nomor telepon baik yang berada pada jaringan lokal, jaringan yang berbeda, wireless bahkan jaringan internasional.

(26)

melalui komputer atau melakukan panggilan telepon melalui jaringan IP baik secara langsung maupun dengan menggunakan tambahan perangkat untuk sinkronisasi data.

2.4.2 KOMUNIKASI SIP (Sesion Initiation Protocol)

SIP merupakan protokol pensiyalan untuk mengatur, memulai dan mengakhiri sesi video dan suara yang ada dalam jaringan paket data. SIP ini dalam melakukan komunikasi yang melibatkan satu atau beberapa user yang berbeda dalam satu komunikasi dan dapat juga menggunakan metode komunikasi unicast maupun multicast. Dengan menduplikasi berbagai macam protokol-protokol lain yang digunakan dalam internet seperti HTTP dan SMTP, SIP adalah protokol berbasis text dan masih saangat memungkinkan untuk diperluas kegunaanya. Pengembangan tersebut dapat berupa kemampuan SIP untuk mengatur fitur-fitur dan layanan seperti call-control, mobilitas, interoperability, dengan tetap memanfaatkan sistem telepon yang kini sudah ada dan sudah dipergunakan secara luas.

Jaringan SIP dibangun dari empat bagian SIP, keempat bagian tersebut memiliki fungsi-fungsi khusus dan dalam komunikasi SIP, keempat bagian tersebut dapat berposisi sebagai client (melakukan permintaan), sebagai server (merespon permintaan) ataupun berposisi pada keduanya yaitu client dan server. Keempat bagian tersebut adalah,

1. User Agent (UA)

(27)

2. Proxy Server

Merupakan bagian dalam SIP yang bertindak sebagai server maupun sebagai klien bertujuan untuk melakukan permintaan menuju server yang berasal dari UA. Pesan akan diterima oleh proxy server dan akan diterjemahkan, lalu dikembalikan pada user agent. Apabila UA berada pada satu jarngan yang sama maka pesan langsung dikirimkan pada klien, tetapi bila berada pada jaringan yang berbeda pesan akan dikirimkan menuju proxy server lain yang berada pada jaringan yang sama dengan User Agent yang melakukan request.

3. Redirect Server

Merupakan server yang menerima permintaan SIP , memetakan alamat SIP klien yang menghubungi server tersebut dan merespon permintaan tersebut. Server ini juga merupakan server yang akan dihubungi oleh proxy server untuk mendapatkan izin untuk menghubungi proxy yang berada pada jaringan yang berbeda.

4. Registrar Server

Merupakan bagian yang akan menerima permintaan registrasi dengan tujuan membaharui database lokasi dimana user berada. Perminataan yang dikirimkan berisi semua informasi lengkap tentang user dan lokasi baru user tersebut.

Dari keempat bagian tersebut seluruh informasi yang didapatkan akan dikirimkan pada proxy server untuk diolah atau di kirimkan menuju jaringan SIP yang lain sesuai kebutuhan.

Dalam SIP terdapat dua macam skenario komunikasi yang dapat terjadi yaitu komunikasi anatara user dalam domain yang sama dan komunikasi anatara user yang berada dalam domain yang berbeda. Berikut penjelasan tentang kedua skenario tersebut.

(28)

1. User A melakukan panggilan menuju user B

2. Panggilan tersebut akan direspon oleh Proxy Server, dan Proxy server akan mencari lokasi dari user B (Registrar Server)

3. Permintaan proxy server akan direspon oleh Registrar server dengan pesan yang berisi lokasi dari user B

4. Melakukan panggilan pada user B 5. User B merespon panggilan tersebut 6. Merespon permintaan user A

7. Komunikasi antara user A dan user B telah terbentuk. Komunkasi dilakukan dengan menggunakan Real Time Protokol (RTP)

Gambar2. 7 Komunikasi SIP dalam satu Domain

Komunikasi SIP dalam domain yang berbeda

1. User A (Domain A) melakukan panggilan menuju user B (Domain B) 2. Panggilan tersebut akan direspon oleh Proxy Server, dan Proxy server

akan mencari lokasi dari user B, karena berada pada domain yang berbeda, maka proxy server akan menghubungi Redirect server untuk dapat berkomunikasi menuju domain lain.

3. Permintaan Proxy server akan direspon oleh Redirect server dengan pesan yang berisi alamat Proxy server pada domain B

4. Melakukan panggilan menuju Proxy server pada domain B

5. Proxy server domain B akan mencari lokasi user B (Registrar Server) 6. Permintaan proxy server akan direspon oleh Registrar server dengan pesan

(29)

8. User B merespon panggilan tersebut

9. Proxy server domain B merespon permintaan proxy server domain A 10.Proxy server domain A merespon permintaan panggilan user A

11.Komunikasi antara user A pada domain A dan user B pada domain B telah terbentuk. Komunikasi dilakukan dengan menggunakan Real Time Protokol (RTP)

Gambar2.8 Komunikasi SIP dalam Domain yang Berbeda

2.4.3 Macam-macam SIP server

Ada beberapa contoh SIP server saat ini, namun pada kali ini hanya akan dipaparkan dua contoh SIP server yang banyak digunakan yaitu Asterisk dan Kamailo. Berikut penjelasannya.

[1]Asterisk

(30)

Asterisk itu sendiri bukan software dengan sebuah sistem yang sederhana karena untuk membangun server ini ada proses set up dan juga konfigurasi sistem belum termasuk setup interface yang digunakan agar dapat dikenali oleh Asterisk. Didalam Asterisk terdapat management tool yang telah ter-built in dalam engine tersebut dan dapat dikonfigurasi secara terpisah. Jadi bisa mensetting pada suatu interface tergantung kebutuhan. Basic software dari Asterisk mencakup banyak fitur, yaitu : 8. Call Forward on no answer 9. Call Parking

(31)

Gambar 2.9 Blok Diagram Asterisk

Asterisk juga merupakan salah satu sistem server PBX yang bersifat open source, saat ini juga mendukung jangkauan yang luas dari protokol VoIP mencakup SIP, MGCP dan H.232. 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.

Dengan adanya dukungan terhadap gabungan servis VoIP dan tradisional, Asterisk mengizinkan para deployer untuk membangun sistem telepon yang baru, atau secara perlahan bermigrasi dari sistem yang telah ada teknologi yang baru. Beberapa situs telah menggunakan server – server Asterisk untuk menggantikan PBX-PBX yang bersifat propritary. Selain itu, perusahaan – perusahaan telepon VoIP telah memberi dukungan terhadap Asterisk.

[2]Kamailio

(32)

dapat bekerja lebih cepat dibandingkan astersisk yang menggunakan sistem B2BUA (back to back user agent). Kamailio mampu melayani jumlah panggilan yang cukup besar, dan menerapakan sistem load balancing yang cukup efektif. Untuk melakukan komunikasi denga PSTN dibutuhkan sebuah media yang sering disebut dengan SIP gateway.

(33)

3.1.GAMBARAN UMUM

PUSH DATA CONTENT PROVIDER

PUSH DA TA SERVER

USER / CLIENT

Gambar 3. 1 Gambaran Umum Perancangan Sistem

Pada sistem push data server memiliki tiga komponen penting untuk mendukung proyek yang dikerjakan yaitu Push Data Content Provider, Push Data Server, SIP Network beserta client yang dibangun di bawahnya. Push Data Content Provider berisi tentang informasi–informasi yang akan diberikan pada client. Informasi yang akan diberikan kepada client bisa apa saja yang diinginkan oleh client. Push Data Content provider tidak memberikan data langsung kepada client, melainkan melalui Push Data Server. Oleh karena itu komunikasi Push Data Provider hanya dengan Push Data Server.

(34)

Server kepada Push Content Provider dilakukan dengan metode Long Polling, dimana dalam periode waktu tertentu misalkan setiap detik melakukan agar saat ada content/data yang akan dikirimkan, Push Data server bisa informasi tersebut secara real-time. Push data server juga memiliki tugas untuk mengirimkan informasi/push data kepada client melalui sebuah jaringan SIP. Jaringan SIP berfungsi sebagai sebuah jaringan yang akan dilewati data dan autentifikasi client di lakukan. Client disini merupakan sebuah aplikasi/node yang akan menerima data dari Push Data Server. Client disini bisa membaca informasi yang didapatkan nya.

3.2.BAHAN DAN ALAT

3.2.1. PERANGKAT KERAS YANG DIGUNAKAN (HARDWARE)

Pada proyek ini, Perangkat Keras ( Hardware ) yang digunakan dalam sistem ini adalah :

1.Processor : Intel Dual Core T3200 , 2.0 GHz ,1 MB L2 Cache,667 MHz 2.RAM: 2 GB DDR2 667 MHz Memory

3.HDD : 160 GB HDD Hard Drive 4.VGA : Intel GL40 Graphics card

5.Monitor : 14.1-inch WXGA CrystalBrite TF Display. 6.Access Point : D-Link DIR 600L

3.2.2.PERANGKAT LUNAK (SOFTWARE) YANG DIGUNAKAN

(35)

1.Sistem Operasi Linux Debian Squeeze.

2.Apache HTTP Server adalah software open source untuk HTTP web Server yang dijalankan di platform sistem Unix-like seperti BSD, Linux, dan UNIX dan lainnya dimana platform yang digunakan yaitu berbasis Linux.

3.PHP Versi 5

Merupakan bahasa pemrograman web, penulisan script PHP dapat dijadikan satu dengan kode html dan disimpan dalam satu file berdiri sendiri dengan nama file berekstensi *.php.

4.Ajax Push Engine

Merupakan Tool Open Source untuk Ajax Push Server yang akan digunakan untuk Push Data Server

5.MySQL server

Sebagai media penyimpanan data yang dengan penyimpanan database yang digunakan.

6.Kamailio server

Merupakan SIP server dimana client akan diregistrasi

3.3.CARA KERJ A

(36)

adalah pengisian nilai Indeks Prestasi (IP) Mahasiswa menggunakan php. Untuk mempermudah pengecekan status pada, digunakan sql trigger. berikut contoh simulasi untuk mempermudah pengertian pada blok Push Content Provider. Misalkan seorang admin Biro Admik telah mengisi nilai untuk mahasiswa dengan NPM 0834010149 atas NAMA Manuel Bayu Perdana dengan IP 3,63. Maka pada database yang diberi nama tabel nilai pada MySQL akan menjadi seperti berikut.

Tabel 3.2 Contoh Data Nilai Mahasiswa

NPM NAMA IP

0834010149 Manuel Bayu Perdana 3,63

Setelah terdeteksi adanya perubahan nilai pada database maka secara otomatis proses trigger akan terjadi untuk mengeset status menjadi 1 agar lebih mudah menandai adanya perubahan pada nilai. Tampilan tabel hasil dari MySQL trigger adalah seperti berikut.

Tabel 3.2 Tabel Status Perubahan Data

NPM STATUS

0834010149 1

Hal ini bertujuan untuk mempermudah proses pengecekan oleh Ajax Push Engine bila terjadi perubahan data.

(37)

Gambar 3. 2 Penyusun Push data Server

Pada gambar di atas Push Data Server memiliki beberapa macam Komponen – komponen yang menyusun. Push Data Content Provider disini memiliki fungsi untuk menyimpan data/informasi yang diambil dari MySQL. Ajax Push Engine merupakan tool untuk Push Server yang digunakan untuk komunikasi baik dengan Push Data Content Provider sekaligus melakukan push data pada client. Framework merupakan sebuah source coding yang dibuat untuk melakukan perintah–perintah kepada Ajax Push Engine untuk melakukan pengecekan, pengambilan data dari Push Data Content Provider. Serta melakukan Perintah pula kepada HTTP Server untuk melakukan pengiriman data/informasi kepada Client. HTTP server yang digunakan adalah Apache, dimana kedudukannya dengan Ajax Push Engine tidaklah saling menghilangkan atau bekerja dengan tujuan berbeda. Ajax Push Engine (APE) sebagai server Push berada di atas Apache untuk menggunakan port pada Apache. Seolah–olah apache disini merupakan kendaraan yang digunakan Ajax Push Engine untuk mengirimkan paket data.

(38)

Gambar 3. 3 SIP Client

Aplikasi client yang digunakan adalah Jitsi (SIP communicator). Dimana aplikasi client ini merupakan aplikasi untuk menerima notifikasi dari Push data server sehingga client dapat mengetahui bila ada data yang akan diterima. Dari aplikasi ini, client juga bisa membaca data yang dikirimkan oleh server. Aplikasi client ini akan digunakan untuk sarana pengujian dari Proyek, terutama untuk menerima data pengiriman nilai mahasiswa.

Secara keseluruhan sistem yang akan dibangun adalah seperti berikut :

(39)

S T A R T

Ajax Push Engine (APE) akan selalu melakukan pengecekan terhadap MySQL dengan metode long polling yaitu melakukan request dalam periode tertentu semisal setiap detik. Proses ini dilakukan secara terus – menerus. Ketika ada input data dari php yang berupa nilai Mahasiswa, maka secara otomatis Ajax Push Engine (APE) akan mengetahui adanya perubahan tersebut dan dengan segera mungkin melakukan pengambilan data/informasi. Kemudian Ajax Push Engine (APE) akan melakukan broadcast kepada client melalui jaringan SIP bahwa salah satu client-nya mendapatkan data/informasi baru. Kemudian client yang dituju akan pindah ke channel lain untuk menerima data / informasi. Proses pengenalan pada client bisa dilakukan oleh SIP server.

Dari skema di atas, flowchart pada sistem push data server dapat digambarkan seperti berikut :

(40)

3.4.METODE PENGUJ IAN PARAMETER QOS

Kualitas Layanan untuk Voice over IP membahas Quality Of Service (QoS) konsep dan fitur yang berlaku untuk suara-khususnya, Untuk VoIP yang menjadi tolak ukur umum adalah standar Switched Telephone Network ( PSTN ) dari International Telecommunication Union (ITU), client harus menerima kualitas pengiriman suara yang sama seperti yang mereka terima dengan layanan telepon dasar - yang berarti secara konsisten transmisi suara berkualitas tinggi . Seperti aplikasi real-time lainnya , VoIP sangat sensitif terhadap bandwidth dan delay. Untuk transmisi VoIP agar dapat dimengerti oleh penerima, paket suara tidak boleh turun, terlalu delay, atau jarak antar delay yang panjang atau dikenal sebagai jitter. Sebagai contoh, standar berikut harus dipenuhi :

The G.729 standar codec membutuhkan packet loss jauh lebih kecil dari

1 persen untuk menghindari kesalahan terdengar . Idealnya , seharusnya tidak ada packet loss untuk VoIP .

ITU G.114 spesifikasi merekomendasikan kurang dari 150 milidetik (ms)

satu arah delay untuk traffic real time kualitas tinggi seperti suara. (Untuk panggilan internasional, satu arah tertunda hingga 300 ms dapat diterima, terutama untuk transmisi satelit. Mempertimbangkan waktu yang dibutuhkan sinyal untuk menempuh jarak.)

Jitter buffer (digunakan untuk mengkompensasi berbagai delay) dan

(41)

VoIP dapat menjamin transmisi suara berkualitas tinggi hanya jika paket suara baik untuk sinyal dan channel audio, diberikan prioritas di atas jenis lain dari lalu lintas jaringan. VoIP digunakan untuk user menerima tingkat kualitas suara yang dapat diterima dengan baik, persyaratan kompensasi lalu lintas bandwidth VoIP, latency, dan jitter harus dijamin. QoS memastikan bahwa paket suara VoIP menerima perlakuan istimewa yang mereka butuhkan . Secara umum, QoS memberikan yang lebih baik dan lebih dapat diprediksi layanan jaringan dengan menyediakan fitur berikut :

• Mendukung dedicated bandwidth • Meningkatkan karakteristik loss

• Menghindari kemacetan dan mengelola jaringan • lalu lintas jaringan Shaping

• Menetapkan prioritas lalu lintas di seluruh jaringan

Kualitas Layanan untuk Voice over IP membahas berbagai konsep QoS dan fitur yang berlaku untuk VoIP.

Pengujian parameter QOS dilakukan dengan mengamati perbedaan jumlah client dari 1 client, 2 client, 6 client.

3.5.PENGUJ IAN RESOURCE MEMORY

(42)

34

BAB IV

IMPLEMENTASI SISTEM

Pada bab ini akan dilakukan implementasi dan pengujian terhadap sistem yang

baru. Tahapan ini dilakukan setelah perancangan selesai dilakukan dan selanjutnya

akan diimplementasikan pada bahasa pemrograman.

4.1IMPLEMENTASI SISTEM

Implementasi sistem pada tahap progress proyek ini digambarkan seperti berikut:

Gambar 4. 1 Implementasi Sistem

4.1.1. INSTALASI DAN KONFIGURASI

Instalasi dan Konfigurasi disini meliputi Instalasi server yang dibutuhkan untuk

menjalankan system yang meliputi myql, Ajax Push Engine dan Kamailio dan

instalasi di sisi client yang dalam kasus ini menggunakan jitsi untuk desktop

(43)

merupakan modifikasi/perubahan pengaturan baik pada sisi server maupun sisi client

agar mendukung system.

4.1.2. PHP5, APACHE 2, MYSQL SERVER DAN PHP MYADMIN

Server HTTP Apache atau Server Web/WWW Apache adalah server web yang

dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft Windows dan

Novell Netware serta platform lainnya) yang berguna untuk melayani dan

memfungsikan situs web. Protokol yang digunakan untuk melayani fasilitas web/www

ini menggunakan HTTP.Apache memiliki fitur-fitur canggih seperti pesan kesalahan

yang dapat dikonfigur, autentikasi berbasis basis data dan lain-lain. Apache juga

didukung oleh sejumlah antarmuka pengguna berbasis grafik (GUI) yang

memungkinkan penanganan server menjadi mudah.

Mysql adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa

Inggris: database management system) atau DBMS yang multithread, multi-user,

dengan sekitar 6 juta instalasi di seluruh dunia. Mysql AB membuat Mysql tersedia

sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL),

tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana

penggunaannya tidak cocok dengan penggunaan GPL.

phpMyAdmin (disingkat PMA) adalah perangkat lunak bebas yang ditulis dalam

bahasa pemrograman PHP yang digunakan untuk menangani administrasi Mysql

melalui web. phpMyAdmin mendukung berbagai operasi Mysql, diantaranya membuat,

memodifikasi, atau menghapus database, tabel, kolom / bidang (fields) atau baris

(rows); mengeksekusi perintah / pernyataan SQL; atau mengelola pengguna dan hak

akses / perijinannya.

Cara instalasi server php5, Apache2, Mysql server dan phpMyadmin adalah

sebagai berikut

(44)

Gambar 4. 2 PHP Myadmin

4.1.3. KAMAILIO (SIP SERVER)

Kamailio merupakan salah satu jenis SIP server yang digunakan sebagai SIP

network untuk melayani registrasi SIP client. Kamailio difungsikan sebagai pengirim

data yang diberikan oleh APE server. Client yang digunakan adalah Jitsi (SIP

communicator) untuk menerima data.

Untuk melakukan instalasi kamailo perlu dilakukan perubahan pada

/etc/apt/sources.list. seperti berikut :

#gedit /etc/apt/sources.list

Maka akan muncul editor gedit, kemudian tambahkan repo berikut.

Gambar 4.3 Sourceslist kamailio

(45)

Sebelum melakukan instalasi diperlukan debkey kamailio yang berfungsi sebagai

tanda pengenal agar proses instalasi berbajlan dengan baik. Caranya adalah :

Untuk melakukan instalasi :

Kamailio-mysql-modules merupakan salah satu modul kamailio untuk database

mysql. Artinya dengan modul ini penyimpanan data kamailio yang digunakan adalah

database mysql.

Setelah melakukan instalasi, perlu dilakukan konfigurasi server kamailio ini agar

bisa berjalan. Langkah petama adalah konfigurasi agar kamailio ini bisa dijalankan.

Caranya adalah :

sudo gedit /etc/default/kamailio

Ganti pada bagian RUN_KAMAILIO=yes. Konfigurasi ini dilakukan agar

kamailio bisa dijalankan. Konfigurasi selanjutya adalah memastikan bahwa kamailio

ini menggunakan daabase mysql dan set domain server yang akan digunakan yaitu :

nano /etc/kamailio/kamctlrc

Uncomment SIP_DOMAIN=192.168.0.108 (sesuai ip server)

Uncomment DBENGINE=MYSQL

Gambar 4.4 konfigurasi kamctlrc kamailio apt-get install kamailio

(46)

Konfigurasi selanjutnya adalah memastikan aktifnya pengiriman text message ke

klien. Hal ini dilakukan agar nantinya jika ada pesan text dari server APE maka

kamailio akan meneruskan kepada klien. Langkahnya seperti berikut

gedit /etc/kamailio/kamailio.cfg.

Tmbahkan Script berikut

#!define WITH_MYSQL #!define WITH_AUTH #!define WITH_USRLOCDB

Script ini berfungsi untuk membaca database mysql dan auntentifikasi user.

Kemudian tambahkan pula Script berikut

# -- msilo params --

modparam("msilo","db_url","mysql://kamailio:kamailiorw@localhost/kam ailio")

modparam("msilo","from_address","sip:registrar@kamailio.org") modparam("msilo","contact_hdr","Contact:

registrar@192.168.1.2:5060;msilo=yes\r\n")

modparam("msilo","content_type_hdr","Content-Type: text/plain\r\n") modparam("msilo","offline_message","*** User $rU is offline!")

Script di atas digunakan untuk mengaktifkan fitur msilo untuk pengiriman text

message. Kemudian tambahkan logic seperti berikut

route{

(47)
(48)

};

log(1,"MSILO:the downstream UA doesn't support MESSAGEs\n"); # we have changed the R-URI with the contact address, ignore it now t_reply("503", "Service Unavailable"); };

}

Script ini digunakan untuk logic kamailio agar pesan benar-benar sampai ke klien,

mengecek user mana yang akan menerima pesan text, serta melakukan pengiriman

kembali saat user tidak aktif. Restart kamailo untuk menjalankannya.

Untuk menambahkan user, lakukan hal ini pada terminal dengan status super

user.

kamct l add t est t est passwd t est @mysi pser ver . com

pass default : openserrw/kamailiorw

keterangan di tas adalah tess untuk nama user, tesspasswd untuk password user dan

terakhir email (jika diperlukan). Perhatikan contoh berikut.

Gambar4. 5 add user kamailio

Setelah melaukuna langkah seperti di atas artinya telah ditambahkan user widya

dengan password widya. Untuk melakukan login, user memerlukan tihrd party seperti

jitsi yang kita gunakan. Cara penggunaannya akan dibahas pada bahasan jitsi di

(49)

4.1.4. PUSH DATA SERVER

APE server disini yang akan di-custom sebagai push data server, yang

melakukan koneksi secara kontinyu kepada Mysql untuk melakukan pengecekan

perihal ada tidaknya perubahan data pada database nilai. APE server melakukan

pengecekan pada status database yang dibahas pada Database Trigger untuk

mempermudah pengecekan.

Untuk melakukan instalasi APE-server, dibutuhkan libmyclient15off. Instalasi ini

dilakukan sebelum menjalankan APE-server. Kemudian Download APE-server versi

debian di http://www.APE-project.org. Instalasi dilakukan seperti berikut :

Download juga framework APE-jsf untuk melakukan pengetesan apakah APE

server udah berjalan dengan baik dr link di atas. Kemudian copy-kan di folder

var/www. Untuk menjadikan APE sebagai server yang berjalan di atas http maka

perlu kita lakukan konfigurasi di apache. Langkahnya sebagai berikut.

Buka setting virtual host dengan :

gedit /etc/apache2/site-available/default

Kemudian tambahkan virtual host seperti berikut.

Tambahkan pula pada /etc host dengan :

gedit/etc/hosts

dpkg –i ape-server.deb

<VirtualHost *>

ServerName local.ape-project.org

ServerAlias ape.local.ape-project.org

ServerAlias *.ape.local.ape-project.org

DocumentRoot “/var/www/”

(50)

Buka /var/www/APE-jsf/Build/uncompressed/APEClientJS.js dan /var/www/APE-jsf

/Demos/config.js

Cari dan ubah nilainya,

Buka browser untuk melakukan cek apakah APE sudah berjalan dengan baik.

Kemudian masukkan link berikut http://local.APE-project.org/APE-jsf/Tools/Check/. Pastikan semua berhasil seperti gambar berikut.

127.0.0.1 local.ape-project.org

127.0.0.1 ape.local.ape-project.org

127.0.0.1 *.ape.local.ape-project.org

127.0.0.1 0.ape.local.ape-project.org

127.0.0.1 1.ape.local.ape-project.org

127.0.0.1 2.ape.local.ape-project.org

127.0.0.1 3.ape.local.ape-project.org

127.0.0.1 4.ape.local.ape-project.org

127.0.0.1 5.ape.local.ape-project.org

127.0.0.1 6.ape.local.ape-project.org

127.0.0.1 7.ape.local.ape-project.org

127.0.0.1 8.ape.local.ape-project.org

127.0.0.1 9.ape.local.ape-project.org

APE.Config.baseUrl = ‘local.ape-project.org/ape-jsf’; //APE JSF

APE.Config.domain = ‘auto’;

(51)

Gambar 4. 6 Test APE server

Jika sudah berhasil maka tampilannya seperti gambar di atas. Artinya APE server

sudah bisa digunakan. Untuk menjalankan APE sebagai server push diperlukan

program push.js yang akan dibahas fungsinya sebagai berikut.

function MysqlConnect(ip, user, password, database) {

var sql = new APE.Mysql(ip + ":3306", 'root', 'root', 'kamailio'); connecting with a user without password. /!\

*/

(52)

dilaukan karena database nilai yang digunakan adalah mysql. Pada bagian

MysqlConnect('127.0.0.1', 'root', 'root', 'kamailio'); menunjukkan bahwa koneksinya

terhadap localhost, username dan password ‘root’ dan nama database-nya adalah

kamailio.

APE server akan melakukan cek database status_nilai untuk memastikan jika ada

data baru yang dimasukan oleh admin, maka status akan berubah menjadi 1 (nilai

awal 0). Artinya ada perubahan data nilai yang harus diberikan pada klien.

Pengecekan ini dilakukan dengan periode 3 detik.

////LOOPING DENGAN PERIODE WAKTU 3 DETIK ///// var cek_status = Ape.setInterval(function(a, b){

sql.query("SELECT * FROM status_nilai", function(res, errorNo) {

if (errorNo) Ape.log('Request error : ' + errorNo + ' : '+ this.errorString()); sql.query("SELECT * FROM nilai", function(res, errorNo) {

if (errorNo) Ape.log('Request error : ' + errorNo + ' : '+ this.errorString());

sql.query("INSERT INTO silo (src_addr, dst_addr, username, domain, inc_time, exp_time, snd_time, ctype, body) VALUES ('sip:admin@192.168.0.108',

'sip:"+username+"', '"+user+"', '192.168.0.108', '1309843983', '1310103183', '0', 'text/plain', 'nilai IP anda adalah "+nilai+"')", function(res, errorNo) {

if (errorNo) Ape.log('Request error : ' + errorNo + ' : '+ this.errorString()); else Ape.log('Inserted ' + this.getInsertId());

(53)

Selanjutnya APE server akan mengambil data nilai dan username, untuk

selanjutnya diberikan pada server kamailio yang bertanggung jawab sebagai pengirim

kepada klien.

Langkah terakhir adalah merubah status ke ‘0’ kembali setelah pengiriman data

text selsesai. Program ini akan dijalankan setiap ada perubahan data nilai.

4.1.5. JITSI

Jitsi adalah multi protokol, multi-platform suara dan video klien instant messenger.

Sebagian besar dijalankan di Java, dan software berlisensi Free / Open Source di

bawah LGPL. Dimana layanan VoIP dan klien mengirimkan data dengan jelas, Jitsi

menempatkan dirinya terpisah dengan memanfaatkan ZRTP untuk mengatur

komunikasi aman dengan SRTP, Secure Real-time Transport Protocol.

Jitsi telah disediakan dalam versi linux dan windows. Untuk melakukan instalasi

silahkan Download di http://www.jitsi.org. Berikut screenshoot dr aplikasi jitsi.

Gambar 4. 7 Tampilan Jitsi ///////////////////////// SET STATUS KE 0 LAGI ////////

sql.query("UPDATE status_nilai SET status = '0' ", function(res, errorNo) { });

}//else

//Ape.log('Tidak ada perubahan data'); });

(54)

4.1.6. CALL DAN MESSAGE SIP

Call dan message SIP merupakan salah satu fitur yang bisa dilakukan dalam

tugas akhir ini. Dalam melakukan call dan message bisa dilakukan pada desktop baik

yang menggunakan OS linux maupun windows. Aplikasi yang digunakan pada

dekstop adalah jitsi. Sedangkan untuk aplikasi di hp berbasis android bisa

menggunakan csimple yang bisa di-Download lewat android market.

Berikut tampilan saat melakukan call dan message :

Gambar 4. 8 Call Dengan Jitsi

Untuk melakukan pengamatan saat terjadinya voice call, dilakukan pengamatan

menggunakan wireshark dengan melakukan komunikasi 5 menit untuk setiap

pengamatan. Berikut hasil capture singkatnya.

(55)

Dari hasil capture diatas dapat diketahui bahwa proses komunikasi pada

VoIP/SIP menggunakan proses Ack, Invite dan OK. Hal ini dilakukan saat pertama

kali memulai komunikasi dan saat mengakhiri komunikasi. Dari wireshark tersebut

akan didapatkan analisa untuk perhitungan delay, jitter dan troughputnya.

4.1.7. NILAI IP MAHASISWA

Impelemetasi push data pada tugas akhir ini adalah nilai IP mahasiswa. Dimana

input nilai menggunakan php-mysql. Langkah pertama adalah membuka input

mahasiswa disini misalkan contoh : http://localhost/nilaimahasiswa, maka tampilannya akan seperti berikut.

Gambar 4. 10 Input Nilai Mahasiswa

Ketika ada perubahan data pada databse nilai tersebut, maka secara otomatis

APE-server akan mengambil data tersebut untuk kemudian diberikan pada server

kamailio yang seterusnya akan disampaikan pada user. Berikut salah satu contoh

(56)

Gambar 4. 11 Pesan Nilai Mahasiswa

4.2PENGUJ IAN DAN EVALUASI

Pada bagian pengujian ini secara garis besar akan dibagi menjadi 2 bagian. Yang

pertama adalah pengujian untuk melakukan voice call dan kedua akan dilakukan

pengujian pengiriman data text nilai IP(Indeks Prestasi) mahasiswa.

4.2.1 PENGUJ IAN VOICE CALL

Pengujian voice call dilakukan saat dua client atau lebih melakukan panggilan

suara. Pengamatan dilakukan menggunakan tool wireshark untuk mengamati

paket-paket data saat melakukan voice call dengan waktu masing-masing 5 menit

setiap komunikasi. Berikut beberapa parameter yang dilakukan untuk uji dan evaluasi

system.

Pengujian delay diamati menggunakan wireshark dengan cara membaca

paket-paket data yang lewat saat melakukan komunikasi voice call, kemudian paket

tersebut dibaca oleh wireshark untuk selanjutnya dianalisa. Cara membaca paket data

menggunakan wireshark, pertama jalankan terlebih dahulu tool wireshark. Kemudian

pilih Capture Interfaces, Pilih defice yang akan diamati (LAN/WLAN/lainnya),

start.

Maka proses pembacaac paket data akan berjalan. Berikut salah satu contoh

(57)

Gambar 4.12. Capture wireshark untuk voice call

Untuk mengetahui proses komunikasi voice call pada SIP, maka lakukan hal

berikut : Pilih Telephony VoIP call Follow/Graph. Hasilnya akan seperti

berikut.

Gambar 4.13 Jalur komunikasi saat melakukan voice call

Dari gambar di atas dapat diketahui bahwa VoIP untuk melakukan komunikasi

melalului proses invite, ack (ringing) dan ok. Baru komunikasi akan berjalan. Untuk

pemutusan komunikasi juga dilakukan komunikasi ack, bye, ok.

Pengujian Delay

Nilai delay yang menjadi analisa ini merupakan nilai rata – rata selisih waktu saat

paket mulai dikirimkan hingga diterima oleh klien. Pengujian dilakukan dengan 10

sesi komunikasi yang terjadi sesuai dengan jumlah klien yang akan di uji.

(58)

capture voice call seperti pada gambar 4.8 dilanjutkan dengan meilih Telephony

RTP Stream Analys. Hasilnya seperti berikut.

Gambar 4.14. Delay voice call pada wireshark

Dari hasil pengukuran di atas, dapat diketahui nilai rata-rata delay untuk setiap

komunikasi VoIP. Pengukuran di atas dilakukan sebanyak sepuluh kali untuk

masing-masing jumlah klien. Dari pengukuran tersebut didapatkan hasil seperti pada

tabel berikut.

Tabel 4.1 Pengujian Delay Voice call

Pengujian

ke -

Delay (ms)

2 klien 6 klien

1 20,5 20,45

2 21,12 20,48

3 20,57 20,41

4 20,79 20,43

5 20,35 20,3

6 20,49 20,69

7 20,79 30,67

8 20,4 20,89

9 20,44 20,94

10 20,52 20,63

(59)

Pengujian yang dilakukan pada proses komunikasi ini menggunakan perangkat

lunak wireshark yang mengamati server dengan terhubung langsung pada access

point.

Berdasarkan tabel 4.1 Terlihat bahwa semakin banyak jumlah klien yang

melakukan komunikasi, maka nilai delay juga semakin tinggi. Pada tabel terlihat

bahwa pengujian terhadap 2 klien memiliki nilai rata-rata delay sebesar 20,6 ms,

pengujian 6 klien sebesar 20,63 ms.

Menurut standar dari ITU-T untuk komunikasi VoIP disarankan memiliki nilai

delay sebesar 140 ms. Sehingga nilai rata-rata delay tersebut sampai 6 klien memilliki

nilai yang masih diterima untuk melakukan komunikasi.

Pengujian J itter

Pada pengujian jitter, tidak jauh berbeda dari pengujian pada delay. Karena

pengujian dilakukan secara bersama – sama dan pengambilan data dilakukan secara

bersamaan. Seperti halnya dalam pengujian delay, pada pengujian jitter dilakukan

sebanyak 10 kali dengan kondisi klien yang sama.

Pada wireshark cara mengetahui nilai jitter sama seperti pembacaan delay, yaitu

dari capture voice call kemudian pilih Telephony RTP Stream Analys. Hasilnya

seperti berikut.

(60)

Dari pengukuran jitter sperti gambar di atas, pengamatan dilakukan sebanyak 10

kali untuk masing-masing jumlah klien. Sehingga akan diperoleh data seperti

berikut :

Tabel 4.2 Pengujian Jitter Voice call Pengujian

Jitter merupakan variasi delay yang terjadi akibat adanya selisih waktu atau

interval antara kedatangan paket pada penerima. Sehingga nilai delay dan nilai jitter

berbanding lurus, semakin tinggi nilai delay, maka nilai jitter pun juga akan semakin

tinggi.

Dari tabel diatas didapatkan nilai rata-rata delay untuk komunikasi 3 klien

sebesar 3,33 ms, 6 klien sebesar 3,15 ms.

Seperti pada delay,bahwa nilai jitter bergantung dari banyaknya jumlah klien

yang melakukan komunikasi data. Hal ini disebabkan oleh lintasan tempuh pada

setiap klien berbeda. Selain itu juga dapat disebabkan karena ada collision pada

(61)

berbeda.

Jitter merupakan masalah yang masih terus ada pada jaringan data berbasis paket.

Jika frame dilewatkan pada jaringan IP, tiap frame akan mengalami delay yang

berbeda. Sehingga kemudian jitter muncul dan akan mempengaruhi parameter QoS

lainnya, yaitu packetloss dan throughput.

Pengujian Throughput

Throughput menunjukkan perbandingan antara paket data yang berhasil sampai

tujuan dengan waktu pengamatan. Konfigurasi pengukuran sama dengan pengukuran

pada delay dan jitter. Pengukuran dilakukan sebanyak 10 kali dengan wireshark

berada pada sisi server. Kemudian dilakukan pengujian dari 2 klien hingga 6 klien.

Cara mengetahui throughput pada wireshark adalah seperti berikut. Dari hasil

pengukuran VoIP di awal tadi, pilih Statistic Summary. Kemudian hasilnya seperti

gambar berikut.

4.16 troughput voice call pada wireshark

Pengamatan troughput dilakukan sebanyak 10 kali untuk masing-masing jumlah

klien saat komunikasi. Adapaun hasil pengujian tersebut terdapat pada tabel 4.3

Tabel 4.3 Pengujian Throughput Voice call

Pengujian

ke -

throughput(kbps)

2 klien 6 klien

Gambar

Gambar 2.9  Blok Diagram Asterisk
Gambar 3. 1 Gambaran Umum Perancangan Sistem
Tabel 3.2 Contoh Data Nilai Mahasiswa
Gambar 3. 2 Penyusun Push data Server
+7

Referensi

Dokumen terkait

Bahwa proses implementasi proxy server pada jaringan LAN memiliki beberapa tahap antara lain: Instalasi Linux Clear OS 5.2 pada komputer server sebagai gateway server dan

Maka melihat dari permasalahan tersebut dibuatlah suatu sistem keamanan pada jaringan yang ada di Universitas Wijaya Kusuma Surabaya dengan dibuatnya Proxy Server

Dari hasil kesimpulan yang penulis utarakan diatas proxy server dan manajemen bandwidth pada jaringan komputer dengan winbox menggunakan router mikrotik memiliki

Pada sisi keamanan, pesan yang dikirimkan lewat protokol HTTP, sudah berada dalam bentuk ciphertext , sehingga dapat dijamin keamanan dari pesan tersebut,

Berdasarkan hal yang telah diuraikan di atas, maka pada penelitian ini diusulkan Implementasi Domain Name Server Spoofing pada jaringan nirkabel untuk mengalihkan web dengan konten

Pada pengujian sesi komunikasi antara PDA dan komputer di jaringan LAN seperti terlihat pada Gambar 18 akan dilakukan komunikasi antara PDA di jaringan bluetooth dengan kom- puter

KESIMPULAN Adapun kesimpulan dalam penelitian ini yaitu: [1] Dihasilkan penerapan atau implementasi proxy squid pada jaringan internet pada UPTD Puskemas Trimulyo Lampung Timur

Skema jaringan e-mail server tunggal atau terpusat Pada gambar di atas ditunjukkan skema jaringan untuk sebuah perusahaan yang hanya terdiri dari satu kantor atau berada di satu lokasi