## APLIKASI VOIP BERBASIS WEB UNTUK KOMUNIKASI ANTAR KARYAWAN PADA UNIVERSITAS BUDI LUHUR
Painem Program Studi Sistem Informasi, Fakultas Teknologi Informasi, Universitas Budi Luhur Jl. Raya Ciledug, Petukangan Utara, Kebayoran Lama, Jakarta Selatan 12260 Telp. (021) 5853753, Fax. (021) 5866369
e-mail : painem@budiluhur.ac.id

## ABSTRACT
The business world is growing very rapidly. To improve the efficiency of business processes in  a  company,  it  is  necessary  to  smooth  and  timely  communication.  Thus,  communication becomes something vital at this time. One issue that often arises is the lack of communication media  that  provided  by  the  company.  Thus,  employees  are  difficult  to  establish communication  between  them  to    support  the  company  needs.  To  have  a  communication medium is one of the goao of the company, in order to facilitate communication between the employees,  where  they  can  communicate  each  other  either  through  medium  of  sound  in which they can communicate without they have to move from the table their work and also can log their events, using this application, which their sound can be recorded and strored in server. Companies find it easier to monitor employees. Obviously this will be an advantage because  the  communications  between  employees  will  become  more  smoothly.  Thus, employees  at  the  company's  communication  issues  expected  to  be  resolved  soon  with  the application.
Keywords: VoIP, Client, Server, RTP

## 1. PENDAHULUAN
Perkembangan teknologi saat ini sudah semakin  pesat,  dimana  teknologi  itu digunakan  untuk  menunjang  kebutuhan manusia  dalam  kegiatan  sehari-harinya. Termasuk diantaranya teknologi komunikasi,  saat  ini  sudah  banyak aplikasi-aplikasi  penunjang  komunikasi. Namun  pada  awal  pembuatannya  aplikasi penunjang  komunikasi  ini hanya  memiliki fungsi dan tujuan  tertentu. Seperti komunikasi  jarak  jauh  yang  sebelumnya hanya  dapat  menggunakan  surat  fisik sebagai media komunikasinya, lalu berkembang  menjadi  komunikasi  telepon yang  menggunakan  media  suara.  Lalu berkembang  teknologi  komunikasi VoIP ( Voice Over Internet Protocol )  yang memungkinkan kita berkomunikasi dengan  orang  lain  melalui  media  suara dengan  memanfaatkan Internet Protocol .
Sejalan dengan hal yang diuraikan di atas, Universitas  Budi  Luhur  selalu  berusaha untuk  mengikuti  dan  berinovasi  dalam penggunaan teknologi terkini dalam komunikasi  para  karyawannya.  Pada pengembangan  kali  ini  adalah  pembuatan aplikasi VoIP ( Voice Over Internet Protocol ) berbasis web sebagai komunikasi untuk meningkatkan interaksi, efisiensi, dan kualitas komunikasi para karyawan pada Universitas Budi Luhur.

## 2. METODE PENGEMBANGAN
Dalam  pengembangan  aplikasi  ini merujuk  pada The  Waterfall model.  Ada lima  tahap  utama  dalam  metode  ini. Disebut waterfall karena  diagram  tahapan prosesnya  mirip  dengan  air  terjun  yang bertingkat.  Tahapan  dalam The  Waterfall
model  secara  ringkas [1] ,  adalah  sebagai berikut : a. Analisis
Tahapan analis bertujuan untuk mencari kebutuhan pengguna dan
organisasi  serta menganalisa  kondisi  yang ada  (sebelum  diterapkan  sistem  yang baru).
b. Desain Tahapan desain bertujuan untuk
menentukan spesifikasi detil dari komponen-komponen  program  (manusia, perangkat keras, perangkat lunak, jaringan dan  data)  dan  produk-produk  informasi yang sesuai dengan hasil tahap analisis. c. Implementasi Tahapan  ini  merupakan  tahapan  untuk
mendapatkan atau mengembangkan
perangkat  keras  dan  perangkat  lunak (pengkodean program), melakukan pengujian,  pelatihan  dan  perpindahan  ke system yang baru.
d. Perawatan
Tahapan  ini  dilakukan  ketika  system
sudah dioperasikan. Pada tahapan
perawatan ini dilakukan proses monitoring,  evaluasi  dan  perubahan  bila diperlukan.

## 3. LANDASAN TEORI
3.1. VoIP VoIP adalah teknologi yang memungkinkan membuat
panggilan telepon  dengan  menggunakan  koneksi internet broadband ,  bukan  telepon  biasa [2] VoIP mencakup  percakapan  interaktif antara  dua  orang  secara  langsung  melalui jaringan internet ataupun intranet dengan menggunakan microphone sebagai input . Sehingga  memungkinkan  seseorang  dapat berkomunikasi  dengan  lawan  bicaranya. VoIP atau  disebut  juga  telepon internet adalah teknologi komunikasi yang menggunakan  jaringan Internet Protocol (IP)  untuk  melewatkan  informasi  suara, ataupun  data  yang  berbentuk  paket  dari satu  terminal  ujung  lainnya  secara real - time . "Jaringan IP sendiri adalah merupakan jaringan komunikasi data yang berbasis paket - switch , jadi dalam
bertelepon  menggunakan  jaringan  IP  atau Internet ." [3]

## 3.2. Jaringan
Kata  jaringan (network) memiliki definisi  sebagai  kumpulan  dua  atau  lebih perangkat yang masih-masih berdiri sendiri  dan  terhubung  melalui  sebuah teknologi.  Hubungan  antar  perangkat tersebut  tidak  terbatas  berupa  kabel tembaga  saja,  namun  juga  bisa  melalui kabel  serat  optic,  gelombang microwave , infrared,  bahkan  melalui  satelit [4] . Jaringan  seringkali  digambarkan  dengan awan ( cloud ), itu karena secara tidak sadar banyak  proses  yang  terjadi  ketika  paket data melewati jaringan. Kebanyakan orang yang sering terjadi adalah orang melupakan  proses  yang  terjadi  ketika paket  data  melewati  sebuah  jaringan. Pengguna  terbiasa  mengambil  file  melalui jaringan internet .Dengan VoIP , pandangan tersebut  menjadi  berbeda.  Di  sini  akan lebih  banyak  membantu  untuk  sedikit banyak  memahami  tentang  jaringan  data dan  infrastruktur  telekomunikasi  yang mendukungnya. Hal pertama yang menjadi perbedaan  mengenai  pengiriman  data stream multimedia  bahwa  biasanya  tidak menggunakan protokol TCP/IP yang biasa. Yang  kedua, media file yang  sangat  besar dibandingkan  dengan  ukuran  rata-rata pesan email atau  halaman website .  Yang ketiga, pengiriman secara real-time merupakan  prasyarat  untuk  memainkan file audio streaming secara baik.
3.3. Client Server
Client – Server adalah  bentuk distributed computing dimana  sebuah program  ( client )  berkomunikasi  dengan program lain ( server ) dengan tujuan untuk bertukar  informasi [5] ,  pada  umumnya sebuah client memiliki  tugas  sebagai berikut :
1. Menterjemahkan  permintaan  pengguna ke dalam bentuk protocol yang sesuai. 2. Mengirimkan  permintaan pengguna  ke server .
3. Menunggu respon dari server .
Kata client juga  sering  disebut  dengan kata host yang menandakan  bahwa device tersebut tersambung dalam sebuah
jaringan. Sedangkan sebuah server memiliki tanggung jawab sebagai berikut : 1. Mendengarkan permintaan dari client .
2. Memproses permintaan tersebut.
3. Mengembalikan  hasil  proses  tersebut ke client
Gambar 1: Model Client Server

## 3.4. RTP
Untuk  mengirim  atau  menerima siaran  langsung  sebuah  media  atau melakukan VoIP melalui  internet,  kita harus  bisa  menerima  dan  mengirimkan aliran  media  secara real time .  Ketika content dikirim kepada klien pada kondisi real time , klien bisa memutar konten tanpa harus  menunggu hingga content selesai  di unduh.  Pada  kenyataannya  konten  yang dikirimkan  mungkin  saja  tidak  memiliki durasi  yang  seperti  yang  telah  ditetapkan, hingga mengunduh seluruh kiriman content sebelum  diputar  adalah  tidak mungkin.
Istilah media streaming biasa digunakan  untuk  merujuk  pada  kedua teknik  yaitu,  pengiriman content lewat jaringan  secara realtime dan realtime isi media  itu  dikirimkan.  Teknologi  yang digunakan  dalam  media streaming adalah RTP  atau Real Time Transport Protocol . RTP  menyediakan  layanan  pengiriman jaringan  untuk  transmisi  data real time . RTP adalah jaringan dan protokol transport - independen ,  meskipun  sering
digunakan  di  atas  UDP.  RTP  dapat digunakan  pada  layanan  jaringan unicast dan multicast .  Melalui  layanan unicast , salinan  data  yang  dipisahkan  dikirimkan dari  sumber  ke  tujuan,  dan  jika  pada layanan multicast ,  data  dikirimkan  dari sumber hanya sekali dan jaringanlah yang bertanggung jawab untuk mentransmisikan data ke berbagai lokasi.

## 3.5. Infrastruktur Suara
Audio berarti  suara  yang  terdengar oleh  telinga  manusia,  frekuensinya  antara 20  Hz  sampai  dengan  20  KHz.  Suara menjadi  bagian  penting  dari  multimedia terutama  untuk  percakapan  dan  musik. Secara  fisis  suara  adalah  tekanan  yang bervariasi  berbentuk  gelombang  dan merambat  pada  medium  elastik  seperti udara.  Karakteristik  suara  ditentukan  oleh amplitudo (dalam  satuan decibel / dB ), frekuensi  getaran  (dalam  satuan hertz / Hz ),  dan  durasi-nya  (dalam  satuan  detik). Audio digital diperoleh  melalui  konversi suara  asli  ( analog )  ke digital yang dilakukan  oleh  peralatan ADC ( analog to digital converter )  kemudian  direkam  ke disk .  Ketika  suara  digital  ini  akan dimainkan  maka  suara  digtal  ini  harus dikembalikan  ke  bentuk  suara analog lagi melalui  peralatan DAC ( digital to analog converter )  sehingga  bisa  terdengar  lewat loudspeaker .  Sebagai  gambaran  bisa dilihat pada gambar 2 berikut ini.
Gambar 2: Proses Input dan Output Suara
Sebagai  contoh  pada Audio CD sampling rate yang digunakan adalah 44.1 Khz atau 44.100 sampling
per detik dan menggunakan precision 65.536.  Pada tingkatan  ini  hasil  dari DAC sangat  mirip dengan  gelombang  aslinya  yang  pada dasarnya "sempurna" untuk telinga manusia.  Berikut  ini  adalah  beberapa
contoh sampling yang digunakan pada saat ini.
a. Kualitas DVD , sample 192  kHz, kapasitas sekitar   36 MB/menit b. Kualitas CD , sample 44.1  kHz, level suara16  bit  per- channel ,  kapasitas suara  adalah  sekitar  5.2  MB  /  menit, contoh file .wav pada PC, dan file .aiff pada Macintosh.
c. Kualitas  menengah, sample 22  kHz, level suara 8 bit, kapasitas suara adalah sekitar 1.32 MB / menit
d. Kualitas  rendah, sample 11  kHz,  level suara  8  bit,  kapasitas  suara  adalah sekitar 660 KB / menit.
e. Kualitas sangat rendah (kualitas telepon), sample 8  kHz, level suara  8 bit.
3.6. Internet Protocol
Protokol internet merupakan  bagian utama  dari  protokol  jaringan  (layer  3) komunikasi.  Protokol  lain  pada  layer  3 digunakan untuk mengontrol router dalam membangun  jaringan.  Pengiriman  melalui jaringan Internet Protocol mempunyai kekurangan, yaitu:
1)  Tidak  ada  variabel  pengukur  dari
latency jaringan.
2)  Sebuah  paket  bisa  tiba  pada  urutan berbeda dari pengiriman.
3)  Paket data bisa hilang.
Ini  merupakan  masalah  yang  dapat diperbaiki  oleh  layer  protokol  yang  lebih tinggi  dan  pada  tingkat  aplikasi.  Protokol yang  lebih  dikenal  pada  layer transport , yaitu Transport Control Protocol (TCP). Protokol  ini  digunakan  bersamaan  dengan Internet Protocol (TCP/IP).  Salah  satu keunggulan  dari  TCP  adalah realibility dan error correction . Kemampuan proteksi error dari TCP membuat protokol tersebut  sangat  baik  untuk  berbagai  jenis pengiriman data, tapi ini menjadi kekurangan  pada  sebuah  implementasi aplikasi streaming . TCP mengirimkan data secara berurutan
dan mendapatkan acknowledgement dari  penerima  dimana
nomor  tersebut  mengindikasikan  paket data  selanjutnya  yang  harus  dikirimkan. Jika  sebuah byte data  tidak  mendapatkan acknowledgement pada  periode  waktu tertentu  maka byte data  tersebut  akan dikirimkan  kembali.  Kemampuan  dari
TCP memungkinkan perangkat mendeteksi  kehilangan  paket  data  dan meminta untuk dikirimkan kembali. Pengiriman  kembali  akan  menyebabkan delay komunikasi  dalam  pengiriman  data streaming . Transport Control Protocol (TCP) juga menyediakan  pengontrolan  dari  aliran data. Dengan audio video , penonton hanya membutuhkan proses stream yang berkelanjutan  untuk  menjalankan video secara real - time .  Pengiriman  data  ulang akan  menambah delay ,  pengiriman  ulang juga menggunakan bandwidth dari channel data  yang  akhirnya error jaringan  tinggi akan dapat mengosongkan buffer penerima pada media player .  Gangguan  pada streaming akan  menyebabkan  gangguan dari  pemutaran video ,  sebagai  solusi adalah  dengan  mengabaikan  kehilangan paket  data  yang terjadi.  Salah  satu  contoh protokol itu adalah UDP, RTP, RSTP, dan sebagainya.

## 4. RANCANGAN APLIKASI
Aplikasi  ini  menggunakan  konsep
client - server dalam permbuatannya.
Dimana  pada  bagian server berfungsi untuk  mendaftarkan  pengguna client dan juga  menyimpan  dan  melihat  seluruh aktifitas log yang  terjadi  pada client .  Lalu pada  bagian client berfungsi  untuk melakukan  panggilan.  Lalu  menggunakan RTP  sebagai  protokol  utama  dalam pengiriman  data  suara  antar client dan TCP  pada  proses  pengiriman  data chat . Dalam membangun aplikasi ini, digunakan bahasa  Visual  Basic  2005  untuk  aplikasi VoIP ini, dan database MySQL. Gambar 3 menampilkan  skema  bentuk  jaringan aplikasi ini.

## Gambar 3: Skema Metode Kerja Aplikasi VoIP
Dalam  pembuatan  aplikasi  ini  digunakan sebuah basis data yang menyimpan semua data  yang dibutuhkan  untuk  kelangsungan proses  aplikasi.  Gambar  4  menunjukkan gambar Class  Diagram yang  digunakan dalam pembuatan basis data aplikasi.
-*idlogchat -username -username_to -datetime -message tbllogchat -*username -combination -nama -division -email tbluser -*idlogevent -username -datetime -information tbllogevent 1..* 1 1 1..* Gambar 4 : Class Diagram
4.1. Flowchart jalankan TCP Server
Pada Flowchart ini  menggambarkan alur  jalannya  proses TCP Server pada Client . Program akan menunggu panggilan dari user-user lain,  lalu  setelah  menerima panggilan  program  memberikan  jawaban kembali  kepada  user  yang  melakukan panggilan. Flowchart -nya  seperti  pada gambar 5
Start Panggilan = Diterima N Y Menunggu Panggilan Panggilan = True Panggilan = Sibuk Proses Panggilan Cek Koneksi Koneksi = Putus Disconnect Return Y N N Y Y N Tampilkan Pesan Panggilan Sibuk Tampilkan Pesan Panggilan Ditolak Simpan Log Simpan Log Tampilkan Pesan Panggilan Diterima
Gambar 5 : Flowchart Proses Jalankan TCP Server
4.2. Flowchart Proses Panggilan Pada Flowchart ini  merupakan  alur jalannnya  proses  panggilan  terhadap user lain.  Ketika  sudah  menerima  panggilan dari  user  lain  atatu  melakukan  panggilan terhadap  user  lain  dan  panggilan  itu diterima  maka flowchart inilah  yang  akan dijalankan  selanjutnya.  Pada flowchart ini
dilakukan  inisialisasi  komponen  sesuai dengan  yang  sudah  tersimpan  di setting . Pada  gambar  6  merupakan  alur  proses keseluruhan dari Flowchart panggilan :
Start Inisialisasi Komponen Proses = Berhasil Y N Proses Jalankan RTP Server Proses Pengiriman Suara Proses Disconnect Proses = Berhasil Return N Y B Tampilkan Pesan Kesalahan end Gambar 6 Flowchart Proses Panggilan
4.3. Flowchart Proses  Jalankan RTP
Server Pada Flowchart ini  merupakan  alur jalannya aplikasi menjalankan RTP Server yang  berfungsi  menangkap  paket-paket data  yang  dikirimkan  oleh  aplikasi user lainnya.  Gambar  7  merupakan alur  proses keseluruhan dari Flowchart RTP Server :
Start Inisialisasi Komponen Proses = Berhasil Y N Proses Jalankan RTP Server Proses Pengiriman Suara Proses Disconnect Proses = Berhasil Return N Y B Tampilkan Pesan Kesalahan end
Gambar 7 : Flowchart RTP Server
4.4. Flowchart Proses Pengiriman Suara Flowchart dibawah ini menggambarkan  alur  jalannya  aplikasi mengirimkan frame - frame suara  ke IP untuk pengecekan terhadap buffer suara.
Start Cek Buffer Buffer Penuh Encode Buffer Kirim Frame Suara ke IP Tujuan Return N Y Stop = True Y N Simpan Ke Memory

## Gambar 8  flowchart pengiriman suara
5. IMPLEMENTASI  DAN  UJICOBA APLIKASI
5.1. Spesifikasi Hardware dan Software Untuk membangun aplikasi ini, dibutuhkan hardware dan  rancangan software . hardware yang digunakan adalah microphone sebagai input suara, lalu headphone yang  digunakan  sebagai output suaranya,  dan  sebuah  komputer yang  terhubung  dengan intranet agar  bisa terkoneksi antar client . Sedangkan rancangan software terdiri  dari  aplikasi
VoIP  Server yang  berfungsi  untuk memantau  aktifitas  client.  Dan  juga aplikasi VoIP client untuk  melakukan
komunikasi  antar client .  Perangkat  keras yang  digunakan  dalam  implementasi aplikasi ini terdiri dari:
a. Processor    Intel  Pentium  Core  2  Duo 2.0Ghz b. RAM / Memory 1 GB DDR 2
c. Keyboard dan Mouse
d. Monitor e. Hardisk 160 GB
f. Headset dan Microphone g. Ethernet Card
Perangkat  lunak  yang  digunakan  dalam implementasi aplikasi ini terdiri dari:
a. Sistem Operasi Microsoft Windows 7 b. Microsoft .Net Framework 3.5
Setelah  itu,  pastikan  komputer  memiliki koneksi intranet yang  stabil.  Pastikan
hardware dan software yang  dibutuhkan sudah  terpasang  pada  komputer  dengan benar. Pertama, jalankan VoIP server pada komputer server , lalu jalankan VoIP client pada masing-masing komputer client .

## 5.2. Tampilan Layar Program

## Gambar 9 Tampilan Layar Form Log VoIP
5.3. Tampilan Form Talk Tampilan Form Talk digunakan untuk user dalam  melakukan  komunikasi VoIP kepada user lainnya  yang  sedang online yang  terlihat  pada Form Main
Client
Gambar 10 Tampilan Layar Form Talk

## 6. KESIMPULAN
Adapun  kesimpulan  yang  diperoleh dari perancangan, pembuatan, serangkaian uji  coba  dan  analisa  program  aplikasi komunikasi  ini,  maka  dapat  dibuat  suatu kesimpulan antara lain :
a. Dengan  adanya  aplikasi  ini  dapat memudahkan  karyawan  Universitas Budi Luhur untuk melakukan komunikasi  dengan media  suara antar komputer
b. Aplikasi  ini  memberikan  sesuatu  hal yang baru dan menarik untuk diterapkan  bagi  seluruh  karyawan Universitas Budi Luhur
c. Infrastruktur  jaringan  kabel    lokal yang  sudah  ada  akan  lebih  maksimal digunakan.
d. Karyawan  lebih  mudah  melakukan panggilan telepon tanpa harus bergantian menunggu untuk melakukan panggilan telepon. e. Hanya  pengguna  yang  terdaftar  yang bisa menggunakan aplikasi ini
sehingga  bisa  mencegah  penggunaan oleh orang yang tidak berkepentingan.

## PUSTAKA
[1]. Andrew,  2002, Microsoft  VB.Net
Step  by  Step, Jakarta  :  Elex  Media
Kompitundo.
[2]. Azikin,  Askari.,  2005, Video/TV Streaming dengan VideoLAN Project . Yogyakarta : Andi [3]. Connolly, Thomas., and Begg, Carolyn.  ,  2005,    Database  Systems: A  Practical  Approach  to  Design, Implementation,  and  Management, Fifth  Edition.  Boston  :  Pearson Education. [4]. Desantis, Matthew., 2008, Understanding  Voice  Over  Internet Protocol (VoIP). US : US-CERT
[5]. Ganguly,  Samrat.,  and  Bhatnagar, Sudeep.,2008,  VoIP  :  Wireless,  P2P and  New  Enterprise  Voice  over  IP.
111 River Street : Wiley
[6]. Kusumo,  Ario  Suryo,  2004,  Buku Latihan  Visual  Basic.Net  Versi  2002 dan  2003,  Jakarta  :  Elex  Media
Komputindo
[7]. Mudji,  Basuki,  2009,  Dasar-Dasar Jaringan VoIP. http://www.Ilmukomputer.com/dasar -dasar-jaringan-VoIP/,  diakses  01:25 10/10/2012.
[8]. Pelgrom,  Marcel  J.M.,  2012,  Analog to Digital Conversion Second
Edition. US : Springer
[9]. Powers,  James., and  Powers,  David.,
1997, IRC and Online Chat. Abacus : 1997. [10]. Permadi, Untung, 2002, Pemrograman Menggunakan VB.Net, Jakarta : Elex Media Kompitundo.
[11]. Santoso,  Harip,  2004,  VB.NET Untuk.Net  Programmer,  Jakarta  : Elex Media  Kompitundo.
[12]. Tanenbauma  ,  Andrew  S.,  2003,
Computer  Networks  4th  Edition,
Michigan : Prentice Hall PTR.