IMPLEMENTASI PUSH DATA SERVER PADA JARINGAN SIP.

IMPLEMENTASI PUSH DATA SERVER
PADA J ARINGAN SIP

SKRIPSI

Disusun oleh :

MANUEL BAYU PERDANA PUTRA
NPM. 0834010149

J URUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
J AWA TIMUR
2013

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

IMPLEMENTASI PUSH DATA SERVER
PADA J ARINGAN SIP


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
2013

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.


LEMBAR PENGESAHAN

IMPLEMENTASI PUSH DATA SERVER
PADA J ARINGAN SIP

Disusun oleh :

MANUEL BAYU PERDANA PUTRA
NPM. 0834010149

Telah disetujui untuk mengikuti Ujian Negara 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

Dr. Ir. Ni Ketut Sari, MT
NIP. 19650731 199203 2 001

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

SKRIPSI
IMPLEMENTASI PUSH DATA SERVER
PADA J ARINGAN SIP
Disusun oleh :


MANUEL BAYU PERDANA PUTRA
NPM. 0834010149
Telah dipertahankan dihadapkan dan diterima oleh Tim Penguji Skripsi
J urusan Teknik Infor matika Fakultas Teknologi Industri
Univer sitas Pembangunan Nasional “Veteran” J awa Timur
Pada Tanggal 14 J uni 2013
Pembimbing :

Tim Penguji :
1.

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

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,
Dekan Fakultas Teknologi Industri
Univer sitas Pembangunan Nasional “Veteran” J awa Timur

Ir. SUTIYONO, MT.
NIP. 19600713 1987 03 1 001

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

YAYASAN KESEJ AHTERAAN PENDIDIK AN DAN PERUM AHAN
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” J AWA TIMUR
FAKULTAS TEKNOLOGI INDUSTRI
PANITIA UJ I AN SKRIPSI / KOMPREHENSIF


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

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

KATA PENGANTAR

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

(Penulis)

ii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

IMPLEMENTASI PUSH DATA SERVER PADA J ARINGAN SIP.

DOSEN PEMBIMBING I
: HUDAN STUDIAWAN, S.Kom, M.Kom.
DOSEN PEMBIMBING II : ACHMAD J UNAIDI, S.Kom.
PENYUSUN
: MANUEL BAYU PERDANA PUTERA

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.

Kata kunci : instant messanger, kamailio, jitsi, push data server, APE (Ajax Push
Engine).

iii

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

BAB I
PENDAHULUAN
1.1. Latar Belakang
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
perancangan jaringan. Yang pertama adalah pada bagian jaringan SIP. Server SIP
1

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

2

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. Perumusan 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
client.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

3

4. Implementasi Pengerjaan proyek ini menggunakan tool open source under
linux.

1.4. Tujuan
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

Manfaat
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 Penelitian
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,
perancangan dan instalasi Push Data Server dan Implementasi keduanya.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

4

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 Penulisan
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
Menjelaskan tentang latar belakang, rumusan masalah, batasan masalah,

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

5

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
saran-saran pengembangan lebih lanjut.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

BAB II
TINJ AUAN PUSTAKA
2.1 PUSH 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.

Push Technology merupakan kebalikan dari pull technology, dimana
pengiriman data/informasi diberikan oleh server kepada client setelah ada request
terlebih dahulu dari client. Push technology juga dikenal sebagai asynchronous
mode, sedangkan pull technology juga dikenal sebagai synchronous mode. Berikut
gambaran tentang perbedaan kedua metode tersebut.

6

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

7

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.

Berbeda

dengan

Push technology/Asynchronous

mode,

Server

bisa

melakukan action response kepada client tanpa menunggu adanya request dari
Client action. Respon Rs1, Rs2, Rs3 dan Rs-n tidak tergantung pada adanya
Request R1, R2 dan R-n. Server melakukan action jika memang perlu ada
informasi yang perlu diberikan langsung kepada client (push data) semisal ada
data baru pada sisi server. Pada metode ini sudah jelas bahwa tidak ada waktu

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

8

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).

Contoh lain dengan jenis khusus yang disebut multipart MIME, yang
diperkenalkan oleh Netscape pada tahun 1995.Pada metode ini web browser akan
melakukan push data kepada client jika ada update versi pada browser yang
digunakan. Artinya browser akan terupdate dengan sendirinya tanpa adanya
permintaan dari user. Implementasi push data ini telah diaplikasikan oleh firefox,
Opera dan Safari. Metode ini bisa diaplikasikan untuk streaming video dalam
aplikasi webcam.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

9

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
Long polling

merupakan variasi dari teknik polling dan memungkinkan

emulasi push informasi dari server ke client. Dengan metode long polling, client
meminta informasi dari server dengan cara yang sama untuk polling normal.
Namun, jika server tidak memiliki informasi yang tersedia untuk client, bukan
mengirim respon kosong, server memegang permintaan dan menunggu beberapa

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

10

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

Teknik ini dapat memecahkan masalah skalabilitas yang terkait dengan teknik
long polling. Akan lebih baik jika server yang digunakan telah mendukung proses
Asynchronous. Jika tidak, maka proses update data mungkin memberikan hasil
yang kurang bagus. Karena kemungkinan besar pada sisi server permintaan
tersebut akan blok dengan menggunakan thread sampai waktu refresh page. Jadi,
jika 10.000 aplikasi AJAX yang terbuka satu koneksi long polling traditional, itu
berarti 10.000 permintaan akan diblok hingga data terkirim. Semua server yang
menggunakan teknologi memblokir IO akan mengalami masalah ini. Hal ini dapat
dilakukan, tetapi perlu untuk memastikan seluruh stack (server, os, dll) dapat
mendukung 10.000 permintaan (yang banyak memakan memori). Untungnya bagi
pengguna Java ada solusi seperti Jetty , GlassFish dan Tomcat . Semua server
yang menggunakan teknik yang disebut permintaan asynchronous/respon
pengolahan yang memungkinkan mereka untuk tidak memblokir pada thread,
melainkan mengantrikan request client.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

11

3. Flash XML Sockets
Teknologi Flash XML Socket
memungkinkan komputer client

mengimplementasikan client socket yang
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.



Skalabilitas : Flash plugin, saat ini tidak menjaga koneksi client-server
terus terbuka. Server bisa melakukan request dan perintah melalui socket
XML untuk memutuskan koneksi yang dikarenakan tidak adanya response

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

12

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
Jetty server merupakan web server open-source yang menggunakan bahasa
Java. Jetty dapat digunakan sebagai server web tradisional untuk konten statis dan
dinamis. Sebagai server yang menjalankan konten dinamis maka Jetty ini bekerja
di belakang HTTP server lain seperti Apache, atau bisa digunakan sebagai
komponen pendukung dalam aplikasi berbasis java. Jetty sendiri berisi modul
comet yang mengimpilementasikan protokol Bayeux. Protokol Bayeux merupakan
protokol yang dikhususkan untuk melakukan pengiriman pesan secara

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

13

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
Lightsteamer server adalah server komersil streaming engine yang
menggunakan cara kerja event-driven untuk berkomunikasi dengan client. Proses
streaming data dilakukan dengan koneksi HTTP dan HTTPS untuk semua jenis
client (web, aplikasi, dll).

5. Fjax
Fjax merupakan pengembangan dari style AJAX web 2.0 untuk membuat
Flash engine (untuk XML parsing) untuk mengupdate konten XML dan HTML
secara real time.

6. iPush server

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

14

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
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)

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

15

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
Untuk melakukan sebuah trigger pada database, dibutuhkan beberapa
komponen-

komponen

yang

mendukung

terlaksananya

Komponen-komponen trigger antara lain :

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

trigger.

16

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.

Trigger event ini bisa dilakukan secara satu persatu ataupun lebih untuk
menjadi parameter dilakukan nya trigger database. Misalkan trigger event yang
dipilih hanya event UPDATE, maka proses trigger akan dilakukan saat terjadi
proses update pada database. Jika dipilih lebih dari satu event misalkan even
INSERT, UPDATE AND DELETE maka proses trigger akan dieksekusi ketika ada
proses insert, update, dan delete baik hanya salah satu ataupun semua event
dilakukan.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

17

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 :
CREATE TRIGGER set_status BEFORE INSERT ON data
FOR EACH ROW BEGIN
INSERT INTO nilai SET NPM = NEW.NPM, SET status
= 1;
END;

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:

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

18

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

2.4

NPM

STATUS

0834010149

1

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.

VoIP bekerja dengan merubah sinyal suara menjadi sebuah sinyal digital yang
dapat di transmisikan melalui internet. Pada penerima sinyal tersebut akan
dikembalikan menjadi sinyal analog sesuai dengan yang dikirimkan. Terdapat
banyak layanan yang dapat ditangani oleh VoIP antara lain melakukan panggilan

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

19

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

Pengembangan tersebut dapat berupa kemampuan

diperluas
SIP

kegunaanya.

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)
Dalam SIP UA merupakan perangkat paling akhir dalam jaringan (end
user) seperti telepon seluler, PDA, dan komputer multimedia. UA bertugas
untuk

melakukan permintaan menuju server dan juga

merespon

perminataan klien. UA didefinisikan sebagai aplikasi yang terdiri atas User
Agent Client (UAC) sebagai aplikasi klien yang mengawali permintaan
menuju sever dan User Agent Server (UAS) sebagai aplikasi server yang
merespon permintaan klien lalu membalas permintaan tersebut.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

20

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.
Komunikasi dalam satu domain

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

21

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
yang berisi lokasi dari user B
7. Melakukan panggilan pada user B

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

22

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
Asterisk dirilis di bawah dua lisensi. Yang pertama adalah lisensi free software
yaitu GNU General Public License (GPL) yang kedua adalah lisensi proprietary
software, yang berarti di izinkan untuk mematenkan kode dan membuat kode
tertutup atau proprietary/closed. Berdasarkan lisensi free software, programmer –
programmer lain di izinkan untuk berkontribusi dalam menambah fitur dan
fungsionalitas serta melaporkan bug. Asterisk sebenarnya didesain secara khusus
untuk sistem operasi linux, namun saat ini Asterisk dapat dijalankan pula di
NErBSD, OpenBSD, FreeBSD, Mac OS X dan Solaris.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

23

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 :
1. Voice mail
2. conference calling
3. Interactive call distribution
4. Automatic call distribution
5. Blacklist
6. Call Detail Record
7. Call Forward on busy
8. Call Forward on no answer
9. Call Parking
10. Call Quening
11. Call Recording
12. Call Routing
13. Call Transfer
14. Call Id
15. Conference Bridging
16. 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 dan
bahasa lainnya.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

24

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
Kamailio adalah SIP server berbasis open source yang berlisensi General
Public License (GPL). Kamailio mampu menangani ribuan call setup per detiknya.
Kamailio ini dapat bertindak sebagai proxy server, router, user agent registration
server. Dibandingakan dengan asterisk yang juga merupakan kombinasi IP PBX
dengan SIP server, Kamailio yang lebih fokus pada proses pensinyalan SIP saja

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

25

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.
Fitur-fitur yang dimiliki kamailio diantaranya adalah: asynchronous TCP,
UDP dan SCTP, komunikasi yang aman melalui TLS untuk VoIP (voice serta
video), instant messaging, ENUM, load balancing, otentikasi dan otorisasi
terhadap MySQL. Kamailio menggunakan database MySQL untuk menyimpan
data user. Hal ini berbeda dengan asterisk yang menyimpan data user pada file
sip.conf

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

BAB III
ANALISIS DAN PERANCANGAN SISTEM
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.
Push Data server merupakan bagian terpenting pada sistem yang dirancang.
Fungsinya adalah melakukan komunikasi dengan Push Content Provider apakah
ada data/informasi yang akan diberikan kepada Client. Pengecekan Push Data

26
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

27

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
Rancang bangun aplikasi ini di implementasikan pada PC. Adapun
perangkat lunak yang dibutuhkan dalam sistem ini, adalah :

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

28

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
Pada cara kerja, akan dibahas detail untuk masing-masing Blok diagram.
Pertama akan dijelaskan pada Push Data Content Provider, dimana contoh kasus
yang digunakan pada database dengan tool Mysql server. Ada beberapa komponen
yang digunakan pada blok diagram ini yaitu pengisian database dengan php dan
mysql server itu sendiri untuk tempat penyimpanan data. Kasus yang diambil

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

29

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