PROTOCOL UNTUK PERCAKAPAN JARAK JAUH MELALUI SALURAN INTERNET
Oleh:
Nama : I NYOMAN MAHEDANA BUKIAN NIM : 96.41010.4055
Program : S1 (Strata Satu)
Jurusan : Manajemen Informatika
SEKOLAH TINGGI
MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER SURABAYA
ABSTRAKSI ... v
KATA PENGANTAR ... vi
DAFTAR ISI ... ix
DAFTAR GAMBAR ... xi
DAFTAR LAMPIRAN ... xiv
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Perumusan Masalah ... 2
1.3 Pembatasan Masalah ... 2
1.4 Tujuan ... 2
1.5 Sistematika Penulisan ... 3
BAB II LANDASAN TEORI ... 4
2.1 Internet ... 4
2.2 Komunikasi suara ... 11
2.3 Teknologi Kompresi ... 13
2.4 Voice Over Internet Protocol (VoIP) ... 24
2.5 Windows Socket (Winsock) ... 32
2.6 Bahasa Pemrograman Delphi ... 33
BAB III PERANCANGAN SISTEM ... 41
3.1 Komponen-komponen Utama Voice Over IP ... 41
BAB IV IMPLEMENTASI DAN UJI COBA ... 78
4.1 Kebutuhan Sistem ... 78
4.2 Penjelasan Program ... 78
4.3 Uji Coba Program... 91
4.4 Evaluasi Program Aplikasi VoIP ... 96
BAB V PENUTUP ... 97
5.1 Kesimpulan ... 97
5.2 Saran ... 97
DAFTAR PUSTAKA ... 99
Gambar 2.1 Format standar WAVE ... 20
Gambar 2.2 Konfigurasi PC untuk VoIP ... 30
Gambar 2.3 VoIP antar PC dengan telepon, dan telepon dengan telepon ... 31
Gambar 2.4 Bagian-bagian dari IDE Delphi ... 36
Gambar 2.10 Component Pallate pada IDE Delphi ... 40
Gambar 3.1 Flowchart proses perekaman dan kompresi suara ... 47
Gambar 3.2 Flowchart prosedur pemasukan data ke antrian ... 53
Gambar 3.3 Flowchart prosedur penghapusan data dari antrian ... 54
Gambar 3.4 Flowchart proses memainkan data suara ... 55
Gambar 3.5 Flowchart proses komunikasi pada VoIP ... 64
Gambar 3.6 Lanjutan flowchart proses komunikasi pada VoIP ... 65
Gambar 3.7 Desain form utama aplikasi VoIP ... 70
Gambar 3.8 Perubahan noice tiap level volume microphone ... 71
Gambar 3.9 Desain form Setting Aplikasi halaman pertama ... 73
Gambar 3.10 Desain form Setting Aplikasi halaman kedua ... 73
Gambar 3.11 Desain form Informasi Mitra Chatting ... 75
Gambar 4.1 Tampilan Window Utama ... 79
Gambar 4.2 Empat kelompok menu pada Windows utama ... 80
Gambar 4.3 Menu ... 81
Gambar 4.12 Tombol (panggilan dikonfirmasi) ... 85
Gambar 4.13 Tombol (panggilan tidak dikonfirmasi) ... 86
Gambar 4.14 Kotak dialog ... 86
Gambar 4.15 Tombol ... 87
Gambar 4.16 Tombol ... 87
Gambar 4.17 Window Channel atau Chat ... 88
Gambar 4.18 Window Informasi Mitra Chatting ... 89
Gambar 4.19 Window Setting Aplikasi halaman ... 90
Gambar 4.20 Window Setting Aplikasi halaman ... 90
Gambar 4.21 Proses menghubungi server ... 92
Gambar 4.22 Proses pengiriman informasi login ... 93
Gambar 4.25 (a) Daftar Koneksi pada window Utama ... 95 (a) Daftar User pada window Channel ... 95 Gambar 4.26 Pengaturan Tingkat Noice ... 95
PENDAHULUAN
1.1. Latar Belakang Masalah
Teknologi komputer saat ini telah memungkinkan untuk membawa sinyal
audio ke dalam jalur internet. Sinyal audio dikirimkan melalui suatu protokol
(protocol) yang biasa disebut dengan Internet Protocol (IP), menggunakan
keunggulan teknologi kompresi dan paketisasi. IP merupakan seperangkat aturan
standar yang memungkinkan beragam jaringan komputer dan komputer yang
berbeda untuk saling berkomunikasi.
Voice Over Internet Protocol (VoIP) pertama kali dikenal dengan nama
Internet Telephony. VoIP merupakan teknologi menyalurkan suara yang sudah
diubah dan dikemas secara padat berupa paket data ke jaringan internet. Pada
prinsipnya VoIP menggunakan Internet Protokol sebagai infrastruktur transfer
data (yang berupa suara). Teknologi VoIP memungkinkan pengguna komputer
yang terhubung pada jalur internet untuk saling bercakap-cakap. Pada awal
perkembangannya, VoIP hanya dapat dipakai untuk berkomunikasi diantara
Personal Computer (PC) yang mendukung multimedia dengan kualitas suara yang
rendah. Selanjutnya dengan kemajuan teknologi yang terus berkembang, telah
dimungkinkan terjadinya komunikasi antara PC dan telepon.
Kehadiran teknologi VoIP merupakan alternatif bagi para pengguna jasa
telekomunikasi telepon agar dapat berkomunikasi dengan tarif yang murah,
khususnya untuk panggilan jarak jauh termasuk panggilan internasional.
bahkan panggilan internasional dengan akses ke internet melalui program aplikasi
yang mendukung teknologi VoIP ini.
Tugas Akhir ini merupakan kegiatan penelitian dan pembuatan perangkat
lunak yang mendukung dan memanfaatkan teknologi VoIP untuk melakukan
komunikasi suara antar pengguna PC.
1.2. Perumusan Masalah
Masalah yang timbul pada Tugas Akhir ini adalahbagaimana membangun
sebuah aplikasi VoIP yang memungkinkan pengguna untuk berkomunikasi
dengan orang lain melalui jalur internet.
1.3. Pembatasan Masalah
Adapun ruang lingkup permasalahan dibatasi sebagai berikut:
1. Pembahasan yang diberikan hanya seputar bagaimana cara pengaksesan dan
pemanfaatan teknologi VoIP agar aplikasi berfungsi sesuai dengan yang
diinginkan.
2. Aplikasi ini hanya membahas komunikasi suara dari PC ke PC tanpa disertai
gambar.
1.4. Tujuan
Tujuan pembuatan Tugas Akhir ini adalah membuat perangkat lunak
Aplikasi Voice Over Internet Protocol untuk percakapan jarak jauh melalui
1.5. Sistematika Penulisan
Sistematika pembuatan Tugas Akhir ini dapat diuraikan sebagai berikut:
Bab I PENDAHULUAN
Bab ini membahas tentang latar belakang masalah, perumusan masalah,
pembatasan masalah, tujuan penelitian serta sistematika pembuatan
Tugas Akhir.
Bab II LANDASAN TEORI
Bab ini membahas tentang teori dasar jaringan internet dan
konsep-konsep penggunaan teknologi Voice Over Internet Protocol serta teori
dasar bahasa pemrograman yang digunakan.
Bab III PERANCANGAN SISTEM
Bab ini membahas tentang modul-modul perancangan dalam pembuatan
perangkat lunak, yang meliputi procedure-procedure atau function-
function program, pengolahan data berdasarkan jenis dan formatnya,
pengaturan piranti serta proses pensinyalan VoIP.
Bab IV IMPLEMENTASI DAN EVALUASI
Dalam bab ini diuraikan tentang implementasi sistem beserta cara
kerjanya, kebutuhan perangkat keras dan lunak, serta panduan
pengoperasian program.
Bab V PENUTUP
Pada bab ini terdapat kesimpulan dan saran berkenaan dengan program
Pada bab ini diuraikan tentang beberapa kajian teori yang digunakan
sebagai acuan dalam pembuatan perangkat lunak berkenaan dengan permasalahan
yang dihadapi.
2.1. Internet
Internet adalah kumpulan yang luas dari jaringan komputer besar dan
kecil yang saling bersambungan menggunakan jaringan komunikasi yang ada di
seluruh dunia. Internet merupakan komunitas global dari masyarakat dunia secara
maya (tidak secara fisik) yang memungkinkan orang-orang di seluruh dunia saling
berkomunikasi dan berbagi aneka ragam sumber informasi dan data.
Seluruh jaringan komputer di internet saling berkomunikasi
menggunakan bahasa komputer standar (secara teknis dikenal sebagai protokol)
yang memungkinkan beragam jaringan komputer dan komputer yang berbeda
saling berkomunikasi. Protokol ini secara resmi dikenal sebagai Transmission
Control Protocol/Internet Protocol (TCP/IP), merupakan cara standar untuk
mempaketkan dan mengalamatkan data komputer (sinyal elektronik) sehingga
data tersebut bisa dikirim ke komputer terdekat atau di seluruh dunia dalam waktu
2.1.1. Protokol
Protokol merupakan seperangkat aturan yang harus ditaati oleh dua
stasiun (komputer atau terminal) sehingga data dapat dikirimkan dari stasiun satu
ke stasiun yang lain. Protokol juga berisi aturan-aturan penyesuaian letak pada
penerima, menentukan stasiun mana yang mempunyai kendali atas sambungan,
mendeteksi kesalahan, dan mengatur aliran data. Dalam suatu jaringan sering
dijumpai lebih dari satu protokol. Agar dua komputer dapat berkomunikasi
diperlukan jenis protokol yang sama. Hal inilah yang membuat perlunya
standarisasi protokol oleh semua vendor. Keberadaan protokol sangat penting
untuk mengontrol sistem.
2.1.2. Transmission Control Protocol / Internet Protocol (TCP/IP)
Transmission Control Protocol/Internet Protocol (TCP/IP) adalah
serangkaian protokol dimana setiap protokol melakukan sebagian dari
keseluruhan tugas komunikasi jaringan (Drew Heywood, p.23). Protokol TCP/IP
dikembangkan pada awal 1980-an, dan menjadi protokol standar untuk ARPANet
pada tahun 1983. Tujuan utamanya adalah menyediakan suatu protokol yang
menjadi standar umum bagi hubungan komunikasi antar komputer dan jaringan
yang bersifat standar umum, bebas, terbuka, serta tidak dikomersialkan oleh
perusahaan tertentu. Dengan diberikannya persyaratan tersebut maka protokol
TCP/IP merupakan satu-satunya protocol yang berfungsi penuh dan dianggap
terbuka. Selanjutnya seluruh komputer yang terhubung dan berkomunikasi lewat
pengenal (Address) sebagai pengenal host (istilah End Node pada TCP/IP) pada
jaringan (network).
Beberapa contoh protokol dan layanan yang berhubungan dengan TCP/IP :
a. Telnet
Telnet merupakan protokol emulasi terminal jarak jauh yang memungkinkan
klien untuk login ke host jarak jauh pada jaringan.
b. File Transfer Protocol (FTP)
File Transfer Protocol merupakan aplikasi transfer file yang memungkinkan
user (pemakai) untuk memindahkan file-file antar host.
c. Network File System (NFS)
Network File System merupakan pelayanan akses file-file jarak jauh yang
memungkinkan klien-klien untuk mengakses file-file pada host jarak jauh
walaupun file tersebut disimpan secara lokal.
d. Simple Network Management Protocol (SNMP)
Simple Network Management Protocol digunakan untuk mengatur peralatan
jaringan dari jarak jauh.
e. Simple Mail Transfer Protocol (SMTP)
Simple Mail Transfer Protocoldigunakan untuk menerapkan sistem electronic
mail.
f. Domain Name System (DNS)
Domain Name System memasang wajah yang ramah pada jaringan dengan
Dalam TCP/IP ada dua hal yang penting untuk dibahas yaitu :
1. Komponen TCP/IP
Komponen-komponen penting pada protokol TCP/IP yaitu :
a. Address (IP Address)
Address (IP Address) dimiliki oleh masing masing sistem pada jaringan
yang berfungsi sebagai pengenal sistem dalam jaringan. Address (alamat)
ini merupakan kombinasi unik angka 32-bit yang biasanya dipecah-pecah
menjadi empat angka 8-bit dan dipisahkan oleh tanda titik.
b. Routing
Routing adalah alat yang berfungsi membaca logical addressing dan
mengarahkan data menyeberangi sebuah jaringan.
c. Name Service
Name Service atau yang disebut juga name resolution adalah istilah yang
digunakan sistem jaringan untuk menukar IP Address dalam bentuk angka
(misalnya : 222.128.80.10) ke bentuk yang lebih mudah dipahami atau
diingat, seperti www.ektid.com/young/generation/ yang dikenal sebagai
domain names atau Domain Name Service (DNS).
d. Error Checking and Flow Control
Error Checking and Flow Control digunakan untuk memastikan ketepatan
dan kualitas data yang ditransfer melalui jaringan.
e. Application Support
Application Support sistem protokol jaringan perlu menyediakan
jaringan. Dalam TCP/IP antarmuka dari jaringan ke aplikasi dalam sebuah
komputer dilewatkan melalui sebuah sistem logika yang disebut port.
Dengan kata lain port adalah saluran logika (logic) di dalam sebuah
komputer yang mengijinkan data dari sebuah aplikasi keluar ataupun
masuk melalui port tersebut.
2. Model Pengiriman Data pada TCP/IP
Didalam pengiriman data lewat IP, data yang dikirimkan disebut
datagram atau biasa juga disebut dengan paket. Datagram terdiri dari header
(bagian awal file) dan data yang didefinisikan oleh aplikasi pengirim atau
penerima. Header berisikan informasi address yang digunakan untuk
mengantarkan datagram ke tujuannya.
TCP/IP telah dikembangkan dengan teknik pengiriman secara full-duplex,
yaitu aliran pengiriman paket secara dua arah pada waktu yang bersamaan,
sehingga tiap sistem dapat terus mengirimkan paket data tanpa harus menunggu
balasan dari sistem yang dituju. Teknik ini memungkinkan untuk membaca atau
menulis melalui jaringan seperti membaca atau menulis file pada disk
penyimpanan. Hal ini dilakukan untuk memperkecil turn-around time yang
berakibat menurunnya waktu respon dari komputer yang digunakan .
2.1.3. Komponen Internet
Meluasnya penggunaan jaringan komputer merupakan motor bagi
yang memungkinkan komputer saling berkomunikasi satu dengan yang lain.
Komponen tersebut dijelaskan sebagai berikut :
1. Transfer File Protocol (TCP)
Transfer File Protocol (TCP) digunakan untuk membagi data yang akan
dikirimkan menjadi paket-paket yang lebih kecil dengan menambahkan
beberapa informasi untuk memastikan paket data yang terkirim tidak
mengalami kerusakan.
2. Internet Protocol (IP)
Internet Protocol (IP) digunakan menambahkan label yang berisikan
informasi alamat yang dituju pada paket tersebut. Deretan paket TCP/IP
berjalan menuju tujuan yang sama dengan menggunakan jalur yang berbeda.
3. Router
Router merupakan mesin khusus yang bertugas mengatur lalulintas transfer
data dengan membagi beban sistem yang berlebihan. Router dipasang di titik
persimpangan antar jaringan dan memutuskan jalur mana yang paling efisien
yang menjadi langkah berikut dari sebuah paket.
4. Gateaway
Gateaway merupakan perangkat khusus yang berfungsi menerjemahkan
bahasa asli jaringan komputer tersebut menjadi TCP/IP dan sebaliknya.
Gateaway memungkinkan beragam tipe network/jaringan yang ada di horison
2.1.4. Cara kerja Internet
Internet merupakan kumpulan besar dari jaringan komputer, dimana
jaringan ini hadir sebagai sebuah lubang tanpa batas. Berikut ini adalah penjelasan
mengenai bagaimana internet bekerja.
Untuk memindahkan data di antara dua komputer yang berbeda dalam
suatu jaringan yang terdiri dari banyak komputer, ada dua hal yang dibutuhkan,
yaitu alamat tujuan dan perantara untuk memindahkan sinyal elektronik
pembentuk data secara aman dan langsung. Hilang atau rusaknya data sepanjang
perjalanan merupakan hal yang sangat mungkin terjadi. Internet menggunakan
bahasa internet khusus (sebuah protokol) untuk menjamin sampainya data secara
aman di tempat tujuan. Bahasa ini memiliki dua bagian, yaitu Transmission
Control Protocol (TCP/IP) dan Internet Protocol (IP). Keduanya sering disingkat
sebagai TCP/IP.
Saat pengguna internet mengirim sekelompok teks/data ke mesin lain,
TCP/IP mulai bekerja. TCP akan membagi teks/data tersebut menjadi paket-paket
data kecil, dan menambahkan beberapa informasi sehingga komputer penerima
memastikan bahwa paket yang diterimanya tidak mengalami kerusakan sepanjang
pengiriman, sedangkan IP menambahkan label yang berisikan informasi alamat
pada paket tersebut.
Deretan paket TCP/IP berjalan menuju tujuan yang sama dengan
menggunakan berbagai jalur yang berbeda. Ada sebuah mesin khusus yang
disebut dipasang di titik persimpangan antar jaringan dan memutuskan
jalur mana yang paling efisien yang menjadi langkah berikutnya dari sebuah
beban untuk menghindari kelebihan beban pada suatu bagian dari sistem yang
ada.
Saat paket-paket TCP/IP tiba di tempat tujuan, komputer akan membuka
label alamat IP, lalu menggunakan daftar pengiriman yang ada pada paket TCP
untuk memeriksa apakah ada kerusakan paket yang terjadi selama pengiriman
atau tidak, dan menyusun kembali paket-paket tersebut menjadi susunan teks/data
seperti aslinya. Saat komputer penerima menemukan paket yang rusak, komputer
tersebut akan meminta komputer pengirim untuk mengirim salinan baru dari paket
yang rusak.
Sebuah mesin khusus yang disebut gateway memungkinkan beragam tipe
jaringan yang ada untuk berkomunikasi dengan internet menggunakan TCP/IP.
Gateway menerjemahkan bahasa asli jaringan komputer tersebut menjadi TCP/IP
dan sebaliknya.
2.2. Komunikasi suara
Suara manusia adalah sumber informasi yang dikeluarkan dari pita suara
manusia. Sinyal dari sumber suara tersebut adalah sinyal kontinyu analog yang
disebut sinusoidal. Tinggi, rendah, besar atau kecilnya suara yang terdengar
tergantung pada frekuensi dari sumber suara. Untuk membawa suara ini, suara
lebih dulu diubah bentuknya menjadi bentuk yang dikenal dalam sistem transmisi
2.2.1. Karakteristik komunikasi suara
Dari proses transmisi suara, terdapat sejumlah karakteristik suara dalam
percakapan yang muncul dan menandai jenis dan tipe suara. Karakteristik tersebut
antara lain :
1. Redundansi
Secara ilmiah, redundansi adalah suara yang dikeluarkan dalam skala
yang berlebihan. Semakin tidak diharapkan semakin besar nilai informasi yang
dikandungnya terjadi. Contohnya adalah pengulangan kata-kata yang sama secara
berturut-turut seperti : “Baik, baik, saya lakukan”. Kata “baik” muncul 2 (dua)
kali dan menimbulkan redundansi. Pada intinya redundansi ini memberikan
kesempatan untuk melakukan kompresi bagi sinyal suara sehingga penggunaan
bandwidth akan semakin efisien.
2. Waktu Tunda (Delay time)
Karakteristik suara dalam percakapan suara berikutnya adalah suara harus
terdengar real time, maksudnya sejak suara dikeluarkan oleh seseorang, maka
seketika itu pula atau waktu yang sangat pendek (dalam mikro hingga mili detik)
langsung terdengar oleh lawan bicaranya. Delay yang panjang tidak nyaman
untuk percakapan. Makin pendek delay makin baik kualitas suara yang diterima
pendengar.
Waktu tunda dipengaruhi oleh dua hal, yaitu :
a. Waktu tunda karena propagasi, yaitu waktu yang dibutuhkan oleh suara untuk
menempuh suatu jarak tertentu dari suatu terminal ke terminal lainnya. Waktu
b. Waktu tunda yang dibutuhkan oleh jaringan dan elemen jaringan telekomunikasi untuk memproses suara, seperti waktu switching, antrian
dan sebagainya. Hal ini bergantung pula pada jenis jaringan yang
digunakan. Pada sistem komunikasi circuit switching, waktu tundanya
meliputi waktu pengkodean, waktu transmisi, waktu switching, dan waktu
antrian yang semuanya relatif pendek.
2.3. Teknologi Kompresi
Dalam dunia digital semua sinyal-sinyal analog dapat dibuat menjadi
digital, dan setelah di-digitalisasi maka sinyal digital tersebut siap diproses
dengan menggunakan teknik pemrosesan sinyal digital. Data multimedia yang
terdiri dari data dan audio jumlahnya sangat besar. Misalnya sebagai contoh untuk
data audio saja yang disimpan dalam CD audio membutuhkan media
penyimpanan sejumlah 1.4 Mbit untuk menyimpan musik stereo sepanjang 1
detik. Apalagi bila kita ingin mengirimkannya melalui jalur telepon menggunakan
modem dengan kemampuan 56 kbps, maka hal tersebut sangat mustahil. Karena
ukuran data multimedia yang sangat besar maka diperlukan suatu cara untuk
mengecilkan ukuran data tersebut dan tetap berusaha mempertahan kualitas hasil
rekonstruksi dari data multimedia tersebut.
Teknologi kompresi merupakan jawaban terhadap tantangan tersebut.
Riset dalam pengembangan teknologi kompresi audio sudah dimulai dari
beberapa dekade yang lalu. Dan saat ini telah ada berbagai teknologi kompresi
Kompresi ditujukan untuk mengurangi kuantitas data sambil tetap
mempertahankan kulitas hasil rekonstruksinya. Proses mengurangi kuantitas data
tersebut adalah dengan membuang informasi-informasi yang tidak berguna
(redundan) sehingga yang dikirimkan atau disimpan merupakan informasi yang
penting. Informasi yang redundan ini adalah informasi yang tidak bisa diekstrak
oleh sistem aural atau visual manusia karena keterbatasan persepsi sistem audio
visual manusia.
Istilah yang erat hubungannya dengan kompresi adalah encoding
(pengkodean). Pengkodean digunakan untuk merepresentasikan data dalam
representasi yang lain sehingga kuantitas data dengan representasi yang baru ini
lebih sedikit apabila dibandingkan dengan kuantitas data aslinya. Proses decoding
mengembalikan data hasil encoding ke representasi yang semula. Ada beberapa
parameter yang digunakan untuk menilai keandalan suatu kompresi. Diantara
masing-masing parameter tersebut terdapat hubungan yang erat dan saling
mempengaruhi.
1. Faktor kompresi
Faktor kompresi adalah perbandingan jumlah data yang belum dikompresi
terhadap jumlah data hasil kompresi. Semakin bagus suatu kompresi maka faktor
kompresinya semakin tinggi. Akan tetapi faktor kompresi yang tinggi akan
mengakibatkan kualitas yang menurun.
2. Kualitas
Suatu teknik kompresi dikatakan baik apabila kualitas data hasil decoding
sangatlah mirip bila dibandingkan dengan aslinya. Faktor kualitas ini sangat erat
3. Kompleksitas
Kompleksitas dari suatu teknik kompresi menentukan sulit atau tidaknya
implementasi teknik kompresi tersebut.
4. Interactivity
Interactivity pengguna dapat bebas untuk berinteraksi denagn informasi
multimedia untuk mengubah, mencari informasi yang diinginkan atau membuang
informasi yang tidak diinginkan.
Sumber : http://www.dsp.ee.itb.ac.id/artikel/paper-gitalmmedia.pdf
sampai 4000 Hz. Teknik kompresi yang digunakan berbeda karena pendekatan
yang digunakan untuk kedua jenis sinyal audio tersebut berbeda.
Untuk kompresi audio yang hanya berisi suara manusia (seperti yang
digunakan untuk komunikasi telepon) digunakan pendekatan pemodelan sistem
reproduksi suara manusia (source modelling) sementara pendekatan yang
digunakan untuk sinyal audio adalah pemodelan sistem pendengaran manusia
(perceptual model) karena beraneka ragamnya sumber (source) suara sehingga
Dua himpunan besar kompresi audio adalah :
1. Kompresi suara (Speech compression)
Prinsip utama kompresi suara adalah mengekstrak parameter-parameter
tersebut dari sinyal suara yang sudah di-digitalkan dan kemudian mengirimkannya
ke bagian decoder untuk direkonstruksi. Teknik yang biasa digunakan untuk
mengekstrak koefisien filter vocal tract adalah Linear Predictive Coding.
Biasanya eksitasi ditabulasi dalam sebuah tabel eksitasi yang biasa disebut
sebagai code book.
Teknik kompresi suara yang sukup terkenal dan menjadi bangunan dasar dari
banyak standar kompresi suara adalah Code Excitation Linear Predictive (CELP).
Saat ini terdapat beberapa standar untuk kompresi suara yang banyak digunakan
dalam sistem-sistem telekomunikasi. International Telecommunication Union
(ITU-T) mengeluarkan beberapa standar yang umumnya memiliki kode berawalan
G (G series).
Untuk sistem seluler saat ini yang menggunakan sistem Global System for
Mobile Communications (GSM) teknik kompresi yang digunakan adalah
RPE-LTP yang bisa mengkompresi sinyal suara dan menghasilkan bit rate sampai 13
kbps, bandingkan dengan hasil dari Pulse Code Modulation (PCM), yang
digunakan saat ini untuk komunikasi telepon biasa, yang membutuhkan 64 kbps.
Pada sistem telekomunikasi yang ada di Indonesia saat ini, khususnya di
kota-kota besar, dari rumah pelanggan ke sentral telepon menggunakan kabel biasa
(twisted pairs) tapi hubungan antar sentral sudah digital dan menggunakan media
kabel serat optik. Sinyal suara dari masing-masing pelanggan diubah kebentuk
Modulation (ADPCM) yang menghasilkan kualitas tinggi (toll quality), kemudian
dikirimkan ke sentral lainnya secara digital melalui jaringan kabel optik. Dengan
kompresi ini kemampuan kabel serat optik untuk menampung percakapan bisa
meningkat menjadi 2 sampai 4 kali lipat.
Untuk koneksi ke satelit kompresi juga digunakan untuk menghemat
bandwidth dan menampung sebanyak mungkin saluran percakapan. Encoder dan
decoder yang digunakan disebut juga transcoder. Standar G.729 merupakan
kompresi yang menjanjikan bit rate 8 kbps dengan kualitas (toll quality) sebagus
G.726 (ADPCM 32 kbps). Selain itu G.729 memiliki tingkat kekebalan
(robustness) terhadap error transmisi yang membuatnya sangat cocok untuk
menjadi transcoder yang digunakan pada transmisi satelit atau komunikasi
wireless. Standar G.723.1 menghasilkan bit rate sampai 5.3 kbps dan masih
memiliki kualitas yang baik, sehingga sangat cocok untuk aplikasi komunikasi
multimedia menggunakan bit rate rendah. Salah satu standar dari ITU-T untuk
terminal multimedia dengan bit rate rendah adalah H.324 yang dapat digunakan
untuk aplikasi videophone menggunakan infrastruktur telepon biasa (PSTN)
menggunakan G.723.1 untuk melakukan kompresi suara.
2. Kompresi audio (Audio compression)
Sinyal audio memiliki rentang frekuensi (bandwidth) yang jauh lebih besar
bila dibandingkan sinyal suara (speech), yaitu 20 – 20 kHz. Teknologi dibidang
kompresi audio ini terbilang baru bila dibandingkan dengan kompresi suara.
Kompresi audio tidak mengandalkan pemodelan sumber (source) karena
dieksploitasi adalah sistem pendengaran manusia (perceptual model). Jadi
kompresi audio diinginkan untuk bisa menghasilkan kualitas suara HiFi dan
biasanya kualitas audio digital selalu dibandingkan dengan kualitas audio CD
yang menggunakan sampling 44.1 kHz dan dikuantisasi 16 bit.
Terdapat banyak kompresi audio yang ada saat ini, tapi yang paling terkenal
adalah standarisasi dari International Standarization Organization (ISO) yang
lebih sering dikenal dengan Motion Picture Expert Group (MPEG) audio. MPEG
merupakan sekumpulan ahli dibidang kompresi multimedia dengan kualitas
tinggi. Salah satu group dari MPEG adalah MPEG Audio yang bekerja
memfokuskan diri untuk menghasilkan kompresi audio dengan kualitas tinggi tapi
dengan bit rate yang rendah. Selain MPEG Audio terdapat juga tim lain yang
bekerja dibagian video dan sistem integrasi.
Kompresi audio atau dikenal juga sebagai pengkodean perseptual (perceptual
coding) memanfaatkan keterbatasan sistem pendengaran manusia yang tidak bisa
mendengarkan dua buah sinyal dengan frekuensi berdekatan. Sinyal dengan
amplituda lebih besar akan menutupi (masking) sinyal dengan amplituda yang
lebih kecil. Masking effect ini dieksploitasi untuk membuang informasi redundan,
sinyal yang ter-masking, dan dihasilkan informasi yang lebih sedikit secara
kuantitas sambil menjaga kualitas yang sangat bagus.
Sumber : http://www.dsp.ee.itb.ac.id/artikel/paper-gitalmmedia.pdf
2.3.2. Format file suara
Sinyal atau data suara yang dikirimkan pada komunikasi VoIP disimpan
dalam format-format tertentu. Format-format tersebut merupakan format yang
pertama dikembangkan yaitu Interchange File Format (IFF). IFF adalah suatu
format file yang di dalamnya terdiri dari potongan-potongan atau bagian-bagian
secara logika, dimana dengan adanya potongan-potongan tersebut file suara dapat
terdiri dari berbagai tipe media serta atribut dari tipe media tersebut.
Perusahaan komputer ternama Apple mengambil konsep IFF ini untuk
membuat Apple Interchange File Format yang digunakan untuk penyimpanan
data-data suara. Demikian juga IBM dan Microsoft mengambil konsep ini dalam
pengembangan Resource Interchange File Format ( RIFF). RIFF merupakan file
suara yang berekstension “.WAV”. Pada masing-masing potongan dari file
“.WAV” dapat berisi kompresi data audio yang berbeda-beda. Program aplikasi
akan mendeteksi tipe data suara dalam potongan file “.WAV” dengan membaca
potongan file yang terdapat pada bagian awal file.
Format file suara dan kompresi suara sangat penting dalam membuat
aplikasi VoIP. Berikut akan dijelaskan mengenai Format Standar WAVE dan
kompresi suara (Format Terkompresi).
1. Format Standar WAVE
Format file WAVE merupakan format file suara standar yang digunakan
untuk penyimpanan file-file multimedia, dan format ini adalah bagian dari RIFF.
File WAVE merupakan file RIFF yang hanya terdiri dari satu potongan data
gelombang suara digital yang memiliki sub-sub bagian yaitu bagian "fmt" yang
menspesifikasikan format data dan bagian "data" yang berisi sample data suara
yang sebenarnya.
Gambar 2.1. Format standar WAVE
Fungsi dari masing-masing bagian dari format standar diatas dijelaskan sebagai
berikut :
ISTILAH PENJELASAN
Berisi teks "RIFF" dalam kode ASCII.
Ukuran dari seluruh file dikurangi dengan 8 byte dari blok
data yang tidak termasuk perhitungan yaitu dan
format.
Berisi teks “WAVE”.
Ukuran dari seluruh sub-bagian setelah sub-bagian ini.
Untuk format standar, yaitu Pulse Code Modulation (PCM).
Blok ini bernilai 1; untuk nilai selain 1 berarti bentuk yang
sudah terkompresi.
Jumlah channel pada data suara; 1 untuk mono, 2 untuk
stereo.
Frekuensi dari sample file, misal : 48000, 44100, dan
lain-lain. Nilai ini digunakan untuk menghitung panjangnya data
dalam ukuran waktu.
Rata-rata jumlah byte data yang masuk tiap waktu tertentu.
Dapat diketahui dengan perhitungan :
SampleRate × NumChannels × BitsPerSample
8
Jumlah dalam byte satu sample data untuk semua channel.
Dapat diketahui dengan perhitungan :
NumChannels × BitsPerSample
8
asumsi bahwa tiap channel memiliki jumlah bit sample yang
sama.
! Berisikan teks “data”.
!
Jumlah data dalam byte, dapat diketahui dengan perhitungan :
NumSample × NumChannels × BitsPerSample
8
Data suara yang sebenarnya.
Sumber : http://www.ora.com/centers/gff/formats/micriff/index.htm
2. Format Terkompresi
File-file suara yang belum terkompresi disimpan dalam format PCM.
PCM yang belum terkompresi memiliki kualitas suara yang baik tetapi
membutuhkan tempat penyimpanan yang sangat besar sehingga tidak mungkin
digunakan untuk keperluan-keperluan tertentu, seperti transfer data suara melalui
internet. Jadi agar data suara dapat dilewatkan melalui jalur internet dengan delay
yang rendah maka dibutuhkan algoritma-algoritma untuk memperkecil ukuran
data yang dikenal dengan algoritma kompresi. Berikut ini merupakan beberapa
teknik kompresi file suara :
a. Adaptive Delta Pulse Code Modulation (ADPCM)
Algoritma ADPCM mencoba untuk memprediksi dimana titik sample
tempat penyimpanan, dibandingkan dengan PCM yang memerlukan 16 bit
tempat penyimpanan. ADPCM dapat mencapai rasio kompresi sampai dengan
4× atau lebih.
b. IMA ADPCM
Algoritma IMA ADPCM mengkompresi data sample 16 bit menjadi 4 bit.
Salah satu keuntungan dari teknik ini yaitu dapat diaplikasikan pada komputer
dengan kecepatan prosessor yang relatif rendah.
c. Microsoft ADPCM
Microsoft ADPCM memiliki teknik hampir sama dengan IMA ADPCM tetapi
memiliki kualitas suara yang lebih baik.
d. Global System for Mobile Communications (GSM)
Teknik GSM dikembangkan untuk industri telepon cellular digital. Data yang
dihasilkan rata-rata 13,2 kilobyte per detik dengan 8000 sample tiap detiknya,
kualitas suara yang dihasilkan cukup baik.
e. Motion Pictures Expert Group (MPEG) Audio
Teknik MPEG audio mengambil keuntungan dari kekurangan pendengaran
manusia yaitu dengan membuang data suara yang tidak dapat didengar oleh
telinga manusia. Saat ini terdapat tiga teknik kompresi MPEG Audio yang
paling populer yaitu : Layer 1, Layer 2, dan Layer 3. Semakin tinggi jumlah
Layer maka semakin rumit algoritma yang digunakan dan semakin tinggi rasio
kompresinya atau semakin baik kualitas suara yang dihasilkan.
f. True Speech ( G.723.1)
Algoritma kompresi suara True Speech (G.723.1) banyak digunakan pada
pada rata-rata sampling yang berbeda-beda, dimana semakin tinggi
samplingnya akan menghasilkan kualitas suara yang lebih baik.
2.4. Voice Over Internet Protocol (VoIP)
VoIP mulai diperkenalkan oleh CBN dan Intel pada tahun 1997 dengan
nama Internet Telephony, namun baru dua tahun kemudian konsep tersebut
dikenal dengan Voice Over Internet Protocol (VoIP). Sejak saat itu VoIP menjadi
isu terpanas di dunia telekomunikasi, karena kemampuannya melakukan
penghematan biaya telepon untuk percakapan internasional.
2.4.1. Konsep dasar VoIP
VoIP memanfaatkan keunggulan teknologi IP untuk mengirim sinyal
suara antara dua komputer atau lebih secara real time, sehingga memungkinkan
pengguna komputer untuk saling bercakap-cakap. Voice Over IP berarti servis
komunikasi suara atau pesan suara yang dikirimkan melalui jaringan internet,
sebagai alternatif penggunaan jaringan telepon biasa, yang dikenal dengan Public
Switched Telephone Network (PSTN). Pada dasarnya VoIP melakukan konversi
sinyal suara analog ke dalam bentuk digital dan melakukan
kompresi/memindahkan sinyal tersebut ke dalam paket IP agar dapat dikirimkan
melalui jaringan internet. Sebaliknya pada komputer penerima, sinyal digital yang
diterima akan dikonversi dari bentuk digital kedalam bentuk sinyal suara analog.
Komunikasi VoIP yang baik terletak pada kemampuan untuk dapat
melewatkan sinyal suara melalui jaringan internet dengan waktu tunda (delay)
bawah 250 milidetik. Jika waktu tunda berada di atas angka tersebut maka
komunikasi akan terasa seperti gema dan terkadang terputus-putus. Untuk dapat
menekan waktu tunda sampai dengan angka yang dapat ditoleransi diperlukan
teknik kompresi sinyal suara agar data yang dikirimkan sekecil mungkin sehingga
waktu pengirimannya bisa menjadi semakin kecil.
2.4.2. Jenis - jenis Voice Over IP
Komunikasi dengan teknologi VoIP dapat dibedakan menjadi beberapa
tipe sesuai dengan jenis komunikasinya, peralatan, serta software-software yang
dibutuhkan.
Jenis komunikasi VoIP yaitu :
1. Komunikasi dari PC ke PC
Komunikasi jenis ini dapat dilakukan khususnya bagi pengguna yang telah
memiliki akses ke internet dengan PC yang menyediakan fasilitas audio.
Dibutuhkan software yang menyediakan layanan VoIP pada kedua pihak yang
akan melakukan komunikasi. Komunikasi PC ke PC murni merupakan
manipulasi software untuk dapat melewatkan suara ke jaringan IP, dengan
mengambil keuntungan dari layanan-layanan yang disediakan di internet
seperti electronic mail (e-mail), chat, voice e-mail, dan lain-lain. Biaya yang
dibutuhkan yaitu, biaya perawatan perangkat keras (hardware) yaitu PC yang
dilengkapi dengan peralatan soundcard, modem, dan peralatan-peralatan yang
terkait lainnya, biaya untuk mendapatkan software yang menyediakan layanan
2. Komunikasi PC ke Telepon
Komunikasi jenis ini merupakan pengembangan dari jenis sebelumnya dimana
pengguna PC dapat melakukan panggilan ke telepon biasa. Gateway server
sangat berperan di sini. Gateway melakukan konversi dari panggilan internet
ke dalam bentuk panggilan PSTN dan ditempatkan sedekat mungkin dengan
daerah telepon tujuan, yang bertujuan untuk meminimalkan biaya panggilan
dari gateway ke telepon tujuan. Layanan ini biasanya disediakan secara
komersil oleh gateway server. Biaya yang harus disediakan yaitu biaya
perawatan hardware (PC yang dilengkapi dengan peralatan soundcard,
modem, dan peralatan-peralatan yang terkait lainnya), biaya untuk
mendapatkan software yang menyediakan layanan VoIP ke telepon, biaya
akses ke internet, serta biaya jasa penggunaan layanan gateway. Biaya ini
biasanya dihitung dari biaya pemanggilan dari gateway yang terdekat dengan
kota tujuan ke telepon tujuan.
3. Komunikasi Telepon ke PC
Komunikasi jenis ini berguna bagi pengguna telepon biasa yang ingin
berkomunikasi dengan pengguna internet. Komunikasi ini sepenuhnya
menggunakan jasa gateway server, sehingga biaya panggilannya sesuai
dengan biaya yang dikenakan oleh operator gateway dan biaya panggilan
lokal ke gateway.
4. Komunikasi Telepon ke Telepon
Komunikasi telepon ke telepon dengan layanan VoIP sangat menguntungkan
bagi mereka yang ingin melakukan panggilan jarak jauh dengan biaya yang
gateway server lokal ke gateway server terdekat dengan kota tujuan,
kemudian dari gateway tersebut diteruskan ke telepon tujuan. Biaya panggilan
dikenakan oleh gateway tujuan yang biasanya merupakan biaya panggilan dari
gateway tujuan ke telepon tujuan dan biaya panggilan lokal ke gateway.
Sumber : http://www.iec.org
2.4.3. Komponen pendukung VoIP
Untuk dapat menghasilkan suatu aplikasi VoIP dibutuhkan beragam
komponen dan mendukung berbagai protokol :
1. Transport
Transport disediakan oleh Real Time Transport Protocol (RTP) yang
menyediakan layanan pengiriman data dengan kecepatan tinggi. Realtime
Transport Protocol (RTP) digunakan untuk membawa informasi media. Aliran
media diimplementasikan sebagai dua sesi RTP yang terpisah untuk tiap arah
transmisinya, yaitu antara pemanggil dan pihak yng dipanggil.
2. Quality Of Service (QoS)
Quality of Service (QoS) disediakan oleh Resorce Reservation Protocol
(RSVP), Yet Another Sender Session Internet Reservations (YESSER), dimana
keduanya menyediakan layanan yang berhubungan dengan kualitas suara, variabel
delay, dan kemacetan jaringan akibat paket-paket yang hilang.
“Pada dasarnya parameter-parameter jaringan yang dominan dalam
mempengaruhi QoS VoIP antara lain bandwith, delay, jitter, dan packet loss” (Tri
Bandwith, delay, jitter, dan packet loss dapat dijelaskan sebagai berikut :
1. Bandwidth
Bandwidth adalah pengaturan aliran paket data, diantaranya mencakup
perhitungan bandwidth yang perlu disediakan berdasarkan tipe kompresi suara
(codec) yang digunakan. Dimensi bandwidth yang dibutuhkan akan sangat
bergantung pada codec yang digunakan serta jumlah traffic panggilan VoIP
yang akan diakomodasi. Perhitungan dimensi bandwidth juga harus
mempertimbangkan kebutuhan header dari setiap paket/frame data.
2. Delay
Delay adalah hitungan waktu pengiriman yang terjadi secara end to end (dari
titik ujung terminal satu ke ujung terminal lain). Delay bisa terjadi pada titik
pengiriman, titik jaringan maupun di titik penerima. Di titik pengirim salah
satunya terjadi pada elemen encoder dimana nilai delay sangat tergantung
pada tipe codec yang digunakan.
3. Jitter
Jitter adalah variasi delay antar paket yang terjadi pada jaringan IP. Besar
nilai jitter akan sangat dipengaruhi oleh variasi beban traffic dan besarnya
tubrukan antar paket (congestion) yang ada dalam jaringan IP. Semakin besar
beban traffic di dalam jaringan akan menyebabkan semakin besar peluang
terjadinya congestion. Dengan demikian nilai jitter akan semakin besar.
Semakin besar nilai jitter akan mengakibatkan nilai QoS semakin turun.
Tetapi ukuran jitter buffer harus ditentukan secara hati-hati sehingga terjadi
Kalau ukuran jitter buffer terlalu kecil maka akan menyebabkan jitter dan loss
masih terasa, tetapi kalau ukuran jitter buffer terlalu besar maka kualitas suara
akan bagus tetapi akan menjadi lebih terasa.
4. Packet loss
Packet loss adalah kegagalan suatu paket untuk mencapai tujuannya.
Kegagalan bisa terjadi pada sisi jaringan IP antara lain karena terjadinya
overload traffic di dalam jaringan, congestion dalam jaringan, error yang
terjadi pada media fisik dan kegagalan yang terjadi pada sisi penerima, antara
lain disebabkan karena overflow yang terjadi pada buffer. Nilai packet loss
diusahakan dijaga seminimum mungkin.
Parameter-parameter jaringan diatas akan sangat berpengaruh terhadap
aplikasi-aplikasi yang bersifat real-time seperti aplikasi VoIP.
2.4.4. Perkembangan teknologi Voice Over IP
Teknologi yang melewatkan sinyal suara melalui jaringan internet pertama
kali dikembangkan oleh " , . dengan memperkenalkan software Internet
Phone yang didesain untuk bekerja pada PC 486/33- Mhz (atau yang lebih tinggi)
yang dilengkapi dengan perangkat sound card, microphone, dan modem.
Gambar 2.2. Konfigurasi PC untuk VoIP
Software ini mengkonversi sinyal suara dan mengubahnya ke dalam
bentuk paket IP untuk ditransmisikan melalui jalur internet. Ini merupakan
aplikasi VoIP PC ke PC, dimana akan bekerja jika kedua pihak yang akan
melakukan komunikasi menggunakan software ini.
Dalam waktu yang relatif singkat, bermunculan gateway server yang
menawarkan layanan yang dapat menghubungkan dunia internet dengan jaringan
telepon atau PSTN. Dengan adanya gateway server ini sangat dimungkinkan
untuk melakukan komunikasi suara antara PC dengan telepon atau telepon dengan
telepon. Gateway server berfungsi untuk menghubungkan jaringan internet
dengan jaringan telepon biasa atau PSTN, begitu pula sebaliknya, dimana gateway
mengubah sinyal suara analog ke dalam bentuk digital dan melakukan kompresi
ke dalam bentuk paket IP dan mengirimkan paket tersebut ke gateway tujuan
melalui jaringan internet. Gateway tujuan yang menerima paket kemudian
komunikasi dari PC ke telepon, software dari PC melakukan konversi sinyal suara
analog ke digital dan dikompresi ke dalam paket IP, kemudian data digital
tersebut dikirimkan ke gateway yang terdekat dengan kota telepon tujuan melalui
jaringan internet. Selanjutnya gateway akan meneruskannya ke telepon tujuan.
Untuk lebih jelasnya dapat dilihat pada gambar 2.3.
Gambar 2.3. VoIP antar PC dengan telepon, dan telepon dengan telepon
Voice Over Internet Protokol (VoIP) telah berkembang dengan berbagai
servis yang berbeda yang pada umumnya adalah transport secara real time
berbagai media seperti suara dan gambar melalui internet dengan tujuan untuk
memperoleh komunikasi yang interaktif dengan sesama pengguna internet Gateway Server Kota Gateway Server
PC Multimedia
Jaringan Telepon
pemanggil
2.5. Windows Socket ( Winsock)
Bagian dasar untuk membangun sebuah komunikasi data adalah socket.
Socket merupakan point terakhir dari dua komunikasi yang menghubungkan dua
program yang berjalan disuatu jaringan komputer (server dan client). Socket
berfungsi untuk menspesifikasikan tipe data yang dikirim atau diterima melalui
jaringan. Socket dimiliki oleh setiap komputer pada jaringan IP. Setiap socket
memiliki sejumlah port yang digunakan untuk pemilihan data secara langsung
untuk dimanipulasi oleh program aplikasi, dengan kata lain program aplikasi
dapat melakukan pengiriman dan penerimaan data melalui port yang telah
ditentukan oleh aplikasi tersebut.
Windows Socket (Winsock) adalah suatu program yang terus menerus
menghubungkan aplikasi windows dengan aplikasi yang menggunakan fungsi
jaringan, misalnya jaringan internet (TCP/IP).
Sumber : http://www.bit.net.id/bozz/kamusmini_p3.html.
Winsock merupakan bagian dari Application Programming Interface (API)
yang digunakan untuk membangun program windows agar bisa berkomunikasi
dengan aplikasi jaringan lainnya melalui suatu protokol yaitu TCP/IP. Pada sistem
operasi Windows 95 dan Windows NT terdapat Dynamic Link Library (DLL)
diberi nama “winsock.dll” yang merupakan implementasi dari API sebagai
jembatan antara program Windows dengan koneksi TCP/IP.
Sumber : http://www.webopedia.com/TERM/E/socket/winsock.htm
2.6. Bahasa Pemrograman Delphi
Industri perangkat lunak melalui beberapa tahap mengembangkan
teknologi dan metode baru dalam perancangan dan pengembangan program.
Delphi adalah sebuah bahasa pemrograman yang memungkinkan penggunanya
untuk merancang atau mengembangkan program secara visual dan berbasis objek.
Pemrograman visual merupakan dimensi baru dalam pembuatan aplikasi karena
dapat langsung menggambarkan objek-objek layar sebelum program tersebut
dieksekusi.
2.6.1 Memahami pemrograman berorientasi objek
Pemrograman berorientasi objek atau Object Oriented Programming
(OOP) diciptakan karena masih dirasakan adanya keterbatasan pada bahasa
pemrograman tradisional yang dikenal dengan istilah Procedural Language
seperti Pascal, BASIC, dan yang sejenis.
Dalam konsep Procedural Programming Language semua masalah dibagi
ke dalam fungsi atau prosedur, dimana fungsi dan data terpisah dan tidak menjadi
satu kesatuan. Lain dengan konsep OOP, semua pemecahan masalah dibagi
kedalam objek. Dalam OOP data dan fungsi-fungsi yang mengoperasikan data
digabungkan dalam satu kesatuan yang disebut sebagai objek. Misalnya objek
departemen-departemen dalam perusahaan, seperti departemen pemasaran,
keuangan, produksi, dan departen personalia. Setiap departemen mempunyai
fungsi, tugas dan tanggung jawab yang berbeda. Jika pimpinan perusahaan
menginginkan data mengenai laporan keuangan maka pimpinan tersebut harus
mengetahui barang yang diproduksi dalam bulan ini maka pimpinan tersebut
harus memintanya pada departemen produksi.
Di dalam Delphi objek merupakan bagian dari perlengkapan suatu
aplikasi yang mempunyai spesifikasi properti tersendiri. Sebagai contoh form
(lembaran untuk mendesain) adalah sebuah objek, demikian juga dengan
komponen-komponen visual. Untuk mengakses sebuah objek digunakan properti
dan event tersendiri. Objek pada Delphi tidak terbatas pada form dan komponen
visual saja tetapi bisa juga diambil dari aplikasi lain yang telah ada, misalnya
objek dari MS-Excel atau MS-Word.
Properti dan event pada Delphi dapat dijelaskan sebagai berikut :
1. Properti
Properti adalah bagian yang membangun sebuah objek. Properti sangat
menentukan objek yang sedang dibuat. Misalnya seperti objek manusia persegi
panjang, jika seorang manusia mempunyai properti seperti nama, tinggi, berat,
jenis kelamin, dan sebagainya, maka objek persegi panjang mempunyai properti
panjang dan lebar.
2. Event
Event adalah kejadian yang muncul yang disebabkan oleh pemakai atau
oleh suatu operasi. Semua objek pada umumnya menanggapi event-event yang
muncul, meski ada beberapa objek yang hanya menanggapi beberapa event
tertentu saja. Kebanyakan kode program yang ditulis dalam delphi digunakan
event biasanya disebut sebagai prosedur penanganan event (event handler).
Didalam aplikasinya pengguna dapat menentukan berbagai pilihan berikut untuk
tiap objek yang dibuat :
a. Event yang diterima diabaikan, mengakibatkan objek berkelakuan normal.
b. Menerima event dan mengaktifkan sebuah atau beberapa prosedur yang
dapat mengubah kelakuan normal sebuah objek.
2.6.2 Memahami lingkungan kerja Delphi
Secara umum lingkungan kerja Delphi terdapat empat buah window yang
dirancang sebagai sebuah aplikasi multi-window Single Document Interface
(SDI). Satu window utama pada Delphi mengatur beberapa window lain yang
saling berhubungan, yaitu window Object Inspector, window Form, dan window Editor. Pada dasarnya Integrated Development Environtment (IDE) milik
Delphi dibagi menjadi beberapa bagian utama, yaitu # , ,
, , $ % , dan & .
Bagian - bagian utama lingkungan kerja Delphi, yaitu :
1. Object Inspector
Object Inspector digunakan untuk mengubah karakteristik sebuah
komponen dimana terdapat dua buah tab, yaitu Properties dan Events.
Pada tab properties digunakan untuk mengubah properti dari komponen.
Properties dapat dijelaskan sebagai data yang menentukan karakteristik
komponen.
Tab Events digunakan untuk menyisipkan kode, untuk menangani
kejadian tertentu. Kejadian bisa dibangkitkan karena beberapa hal, seperti Form
Designer
Code Editor Speed Bar
Menu
Object Inspector
Gambar 2.4. Bagian-bagian dari IDE Delphi
pengklikan mouse, penekanan tombol keyboard, penutupan jendela, dan
sebagainya. Object Inspector dapat dilihat pada gambar 2.5.
2. Form Designer
Form designer dipakai untuk merancang window bagi aplikasi baru yang
sedang dibuat. Sebuah aplikasi dapat berisi beberapa form dan minimal harus
memiliki sebuah form. Form Designer dapat dilihat pada gambar 2.6.
(a) Properti (b) Events
Gambar 2.6. Form Designer pada IDE Delphi
3. Code Editor
Code editor digunakan untuk menuliskan program dan memanipulasi
objek agar objek tersebut dapat berkelakuan sesuai dengan yang diinginkan. Code
editor memiliki beberapa halaman yang masing-masing halaman menyimpan
sebuah unit program dari projek yang aktif. Istilah unit dalam Delphi adalah
sebuah file program sumber (berekstensi “.PAS”) untuk suatu form atau objek.
Unit-unit tersebut akan digabungkan menjadi satu ke dalam sebuah project (file
berekstensi “.DPR”) sehingga aplikasi yang dirancang dapat dijalankan.
4. Menu
Menu pada delphi memiliki kegunaan seperti menu pada aplikasi
Windows lainnya. Menu dipakai untuk mengatur semua window yang ada dalam
lingkungan kerja Delphi. Dari menu ini, kita dapat memanggil atau menyimpan
program, menjalankan dan melacak kesalahan program, dan sebagainya.
Tampilan menu terlihat seperti gambar 2.8.
5. Speed Bar
Speed Bar atau sering juga disebut toolbar berisi kumpulan tombol yang
tidak lain adalah pengganti beberapa item menu. Speed Bar menyediakan akses Gambar 2.7. Code Editor pada IDE Delphi
yang cepat bagi operasi-operasi yang sering digunakan, seperti membuka file,
menyimpan file, fasilitas Cut dan Paste, memilih window dalam Delphi,
mengeksekusi program aplikasi, fasilitas Debug, serta berbagai operasi-operasi
lainnya. Speed Bar dapat dilihat pada gambar 2.9.
6. Component Pallate
Component Pallate berisi kumpulan ikon yang melambangkan
komponen-komponen pada Visual Component Library (VCL). Component Pallate dipakai
untuk memilih objek atau komponen yang akan digunakan dalam pembuatan
aplikasi dan kemudian meletakkan objek tersebut pada rancangan form.
Component Pallate terlihat seperti gambar 2.10.
Gambar 2.9. Speed Bar pada IDE Delphi
PERANCANGAN SISTEM
Dalam bab ini dibahas tentang modul-modul perancangan perangkat
lunak yang meliputi prosedur-prosedur atau fungsi-fungsi program, pengolahan
data berdasarkan jenis dan formatnya, pengaturan piranti serta proses pensinyalan
VoIP.
3.1 Komponen-komponen UtamaVoice Over IP
Aplikasi yang dirancang untuk Voice over Internet Protocol (VoIP) pada
dasarnya bekerja melalui beberapa tahapan proses yaitu : melakukan perekaman
suara yang masuk melalui alat input suara (microphone), menyimpan suara
tersebut dalam bentuk data digital, melakukan kompresi suara agar data yang
tersimpan mempunyai ukuran kecil, dan mengirimkannya melalui jaringan
internet dalam bentuk paket-paket yang sesuai dengan Protokol Internet (IP) yang
digunakan.
Pada tahap penerimaan, data yang diterima melalui jaringan internet
diproses sehingga menghasilkan suara. Jadi untuk merancang suatu aplikasi VoIP
diperlukan komponen-komponen pokok yaitu : komponen untuk perekaman dan
kompresi suara, komponen untuk mengirim dan menerima data melalui jaringan
3.1.1. Komponen perekam suara
Komponen perekam suara berfungsi untuk merekam suara yang masuk
melalui alat input suara ( ) dan melakukan kompresi terhadap data
suara tersebut sehingga data yang diperoleh berukuran kecil (cukup untuk
dikirimkan melalui jaringan internet).
Komponen adalah komponen yang dirancang untuk
melakukan proses perekaman suara serta melakukan kompresi terhadap suara
tersebut. Komponen ini diturunkan dari tipe komponen standar
yang ada pada Delphi, karena karakteristik dari memenuhi syarat
untuk digunakan sebagai induk dari komponen . Untuk melakukan
perekaman dan kompresi data suara, menggunakan fungsi-fungsi
Windows Application Programming Interface (API) yang tersimpan pada file
“MMSystem.pas” dan “msacm32.dll”.
Fungsi Windows API merupakan fungsi-fungsi standar yang digunakan
pada lingkungan kerja sistem operasi Windows untuk berbagai keperluan tertentu,
seperti melakukan akses ke kartu suara ( ), menulis atau membaca file
dari harddisk, dan lain-lain. Dalam proses perekaman suara, fungsi-fungsi input
suara yang ada pada file file “MMsystem.pas” memerlukan berbagai tipe (type)
Type Definisi
Pengenal perangkat input suara, yang diperoleh setelah
perangkat input dibuka.
Struktur yang digunakan untuk spesifikasi format data
input atau output, dimana format yang dispesifikasikan
harus di dukung oleh perangkat yang digunakan.
Struktur yang berisi data suara. Data suara ini diinputkan
jika digunakan untuk input data suara. Tetapi jika
digunakan untuk output data suara, maka struktur berisi
data suara yang akan dimainkan oleh perangkat output
suara.
Proses kompresi data suara yang dilakukan menggunakan fungsi-fungsi
yang ada pada file “msacm32.dll”. Tipe data yang harus didefinisikan sebelum
menggunakan fungsi-fungsi tersebut adalah :
Type Penjelasan
Pengenal perangkat yang digunakan dalam proses
kompresi
Struktur yang berisi data-data sumber yang akan di
kompresi, serta hasil kompresinya (setelah dilakukan
Pendeklarasian dari tipe dan adalah :
Type
HacmStream = THandle;
PhacmStream = ^ HacmStream;
Type
PacmStreamHeader = ^TacmStreamHeader;
TacmStreamHeader = record
cbStruct:Dword;
fdwStatus:Dword;
dwUser:Dword;
pbSrc:Pchar;
cbSrcLength:Dword;
cbSrcLengthUsed:Dword;
pbDst:Pchar;
cbDstLength:Dword;
cbDstLengthUsed:Dword;
dwDstUser:Dword;
dwReservedDriver:array [0..9] of Dword;
end;
Kegunaan dari anggota struktur dapat dijelaskan
Type Penjelasan
Struktur dalam ukuran byte. Nilai
yang diberikan pada anggota struktur ini cukup besar
untuk menampung keseluruhan isi .
Memberikan informasi status dari proses kompresi yang
sedang berlangsung. Misalnya anggota ini bernilai
ACMSTREAMHEADER_STATUSF_DONE, ini berarti
proses kompresi telah selesai.
Berisi berbagai data yang dibutuhkan aplikasi.
Alamat memori dari data sumber yang akan di kompresi.
Berisi ukuran dalam bentuk byte dari data yang di
tunjukkan oleh alamat anggota struktur
Jumlah data dalam bentuk byte yang akan digunakan
untuk proses kompresi.
Berisi berbagai data tambahan yang dibutuhkan oleh
aplikasi.
Alamat memori dari data tempat penyimpanan hasil
Berisi ukuran dalam bentuk byte dari data yang
ditunjukkan oleh alamat anggota struktur
Jumlah data dalam bentuk byte yang menunjukkan
ukuran data hasil kompresi.
Berisi berbagai data tambahan yang dibutuhkan aplikasi.
! Data-data cadangan
Proses perekaman dan kompresi suara dilakukan dalam tahapan proses
yang diawali dengan membuka perangkat input suara yang akan digunakan dalam
proses perekaman. Setelah perangkat input dibuka dapat dilakukan proses
perekaman, selanjutnya menunggu sampai proses perekaman selesai, tahapan
selanjutnya dilakukan konversi terhadap data suara yang diinputkan tersebut.
Flowchart dari proses perekaman dan kompresi suara ini dapat dilihat pada
Algoritma proses perekaman dan kompresi suara adalah sebagai berikut :
1. Mendefinisikan format data standar (format Wave PCM).
2. Mendefinisikan ukuran data yang direkam, dimana berpengaruh terhadap
lamanya proses perekaman.
3. Membuka perangkat input suara.
Gambar 3.1. Flowchart proses perekaman dan kompresi suara Compression Format
Convert Data
Get Data
Empty & Prepare Wave Header
Stop ?
Convert Data
Get Data
Dispose Wave Header & AcmStream Header
4. Mendefinisikan format data kompresi.
5. Membuka perangkat yang digunakan untuk proses konversi format data
standar ke format data kompresi.
6. Mempersiapkan struktur yang akan berisikan data suara yang
diinputkan, dan mempersiapkan struktur yang akan
digunakan untuk proses kompresi.
7. Memulai proses perekaman.
8. Menunggu sampai data pada struktur penuh atau proses perekaman
satu blok data selesai.
9. Jika data pada struktur sudah terisi maka melakukan konversi data
pada struktur menjadi format kompresi.
10.Mengambil data hasil kompresi.
11.Mengosongkan data pada struktur , dan melanjutkan proses
perekaman.
12.Mengulangi langkah 8 sampai proses perekaman dihentikan.
13.Menghapus struktur dan struktur dari memori.
14.Menutup perangkat input suara dan perangkat kompresi data suara.
Komponen tersimpan pada file “SoundStream.pas”, dan
format data suara tersimpan pada file “WaveFormat.dwr”. Dua file tersebut harus
disertakan pada direktori program yang menggunakan komponen ini, karena file
ini dibutuhkan untuk proses definisi format data suara. Pada file ini tersimpan
format data suara bertipe : Global System for Mobile Communications (GSM),
ADPCM, Pulse Code Modulation (PCM), dan True Speech ( G.723.1).
Komponen memiliki properti-properti (property) sebagai berikut :
Property Penjelasan
Mendefinisikan format data suara hasil rekaman
(wGSM610, wIMAADPCM, wMP3, wMsADPCM,
wPCM, wTrueSpeech).
Mengindikasikan microphone dalam kondisi mati (mute)
atau tidak (true atau false).
Tingkat noice dari microphone yang digunakan untuk
menginputkan suara (0-FFFFh)
Volume dari microphone (0-FFFFh)
Waktu yang dibutuhkan untuk merekam satu blok data
atau interfal waktu kemunculan event
dalam satuan detik.
Mengindikasikan perangkat input suara sedang aktif atau
saat program berjalan.
Mengindikasikan sedang dalam proses perekaman atau
tidak (true atau false). Properti ini hanya dapat diakses
Event-event komponen adalah sebagai berikut :
Event Penjelasan
Event ini muncul jika satu blok data telah terekam,
dimana data serta ukurannya dilewatkan pada parameter
data dan size
Event ini muncul setelah perangkat input suara di tutup.
Event ini muncul jika microphone menerima input suara.
Event ini muncul setelah perangkat input suara di buka.
Method-method komponen adalah sebagai berikut :
Method Penjelasan
Digunakan untuk membuat komponen baru turunan dari
kelas TsoundRec.
Digunakan untuk menghapus komponen dari memori.
Digunakan untuk membuka perangkat input suara, dan
mengubah property aktif (active) di set true
Digunakan untuk memulai proses perekaman suara, dan
mengubah propertiy recording (perekaman suara) dengan
Digunakan untuk menghentikan proses perekaman suara,
dan mengubah property recording dengan mengesetnya
menjadi false.
Digunakan untuk menutup perangkat input suara, dan
mengubah properti active menjadi false.
3.1.2. Komponen output suara
Komponen merupakan komponen rancangan yang dapat
memainkan data suara dan tersimpan pada suatu antrian data. Data yang lebih
dulu masuk ke antrian akan dimainkan terlebih dahulu. Komponen ini diturunkan
dari komponen standar Delphi yaitu Komponen
menggunakan fungsi-fungsi Windows API yang tersimpan pada file
“MMSystem.pas”, dimana tipe yang harus didefinisikan sebelumnya sama seperti
pada komponen Tetapi untuk pengenal perangkat input suara tidak
digunakan, melainkan menggunakan pengenal perangkat output suara yang
Antrian data pada dideklarasikan sebagai berikut :
Type
Tqueue = record
Data : array of pointer;
Size : array of integer;
EntryPos : integer;
ServPos : integer;
end;
Kegunaan anggota-anggota struktur antrian # adalah :
Type Penjelasan
Menyimpan data suara yang akan dimainkan. Tipe data
ini adalah array.
!$
Menyimpan ukuran data suara yang ada pada anggota
struktur data. Ukuran yang yang disimpan sesuai dengan
array pada anggota struktur data.
% Penunjuk posisi array data yang akan nasuk ke antrian.
Penunjuk posisi array data yang akan keluar dari antrian.
Flowchart prosedur pemasukan data ke dalam antrian dapat dilihat pada gambar
Algoritma pemasukan data ke dalam antrian adalah :
1. Menginputkan data yang akan dimasukkan ke dalam antrian (data entry).
2. Jika ukuran data yang dimasukkan (entry) melebihi ukuran maksimal
maka, masukkan data sejumlah ukuran maksimal.
3. Mengisi array Data ke- % dengan nilai data entry, dan mengisi array
Size ke- % dengan ukuran data yang dimasukkan.
4. Menaikkan nilai entrypos dan keluar dari prosedur jika % lebih kecil
dari panjang array Data. Jika % lebih besar atau sama dengan
Gambar 3.2. Flowchart prosedur pemasukan data ke antrian y
t y
5. Jika isi array Data ke-0 kosong, maka % yang baru adalah 0. Tetapi
melakukan penambahan panjang array Data dan array Size dan menaikkan
nilai % , jika isi array Data ke-0 tidak kosong.
Flowchart prosedur penghapusan data dari antrian dapat dilihat pada gambar 3.3.
Gambar 3.3. Flowchart prosedur penghapusan data dari antrian
Algoritma prosedur penghapusan data dari antrian adalah sebagai berikut :
1. Jika array Size ke-0 bernilai 0, maka keluar dari prosedur.
2. Mengosongkan isi array Data yang ke- , dan mengisi array Size