TA : Perangkat Lunak Aplikasi Voice Over Internet Protocol Untuk Percakapan Jarak Jauh Melalui Saluran Internet.

(1)

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


(2)

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


(3)

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


(4)

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.5 Object Inspector pada IDE Delphi ... 37

Gambar 2.6 Form Designer pada IDE Delphi ... 38

Gambar 2.7 Code Editor pada IDE Delphi Delphi ... 39

Gambar 2.8 Menu pada IDE Delphi ... 39

Gambar 2.9 Speed Bar pada IDE Delphi ... 40

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


(5)

Gambar 4.1 Tampilan Window Utama ... 79

Gambar 4.2 Empat kelompok menu pada Windows utama ... 80

Gambar 4.3 Menu ... 81

Gambar 4.4 Menu ... 81

Gambar 4.5 Menu ... 82

Gambar 4.6 Menu ... 83

Gambar 4.7 Tombol ... 84

Gambar 4.8 Tombol ... 84

Gambar 4.9 Tombol ... 84

Gambar 4.10 Tombol ... 85

Gambar 4.11 Tombol ... 85

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


(6)

Gambar 4.25 (a) Daftar Koneksi pada window Utama ... 95 (a) Daftar User pada window Channel ... 95 Gambar 4.26 Pengaturan Tingkat Noice ... 95


(7)

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. Pengguna jasa telekomunikasi telepon dapat melakukan panggilan jarak jauh


(8)

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 adalah bagaimana 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 saluran internet.


(9)

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 aplikasi yang dibuat.


(10)

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 yang cepat tanpa mengalami kerusakan atau hilang.


(11)

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 internet akan menggunakan TCP/IP dan masing-masing mempunyai alamat


(12)

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 memberi nama-nama yang berarti pada komputer.


(13)

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 antarmuka untuk aplikasi pada komputer untuk mengijinkan mengakses ke


(14)

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 perkembangan internet. Dalam internet itu sendiri terdapat komponen-komponen


(15)

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 elektronik untuk berkomunikasi dengan Internet menggunakan TCP/IP.


(16)

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 paket. Router membantu mengatur arus lalu lintas di internet dengan membagi


(17)

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 yaitu menjadi sinyal digital kontinyu.


(18)

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 tunda propagasi tergantung dari jarak dan media (medium) yang digunakan.


(19)

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 dengan kualitas yang bagus untuk berbagai aplikasi multimedia.


(20)

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 dengan faktor kompresi.


(21)

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

2.3.1. Kompresi Audio

Kompresi audio dibagi kedalam dua himpunan besar. Yang pertama adalah kompresi audio yang umum yaitu yang memiliki bandwidth suara yang audible (bisa didengar oleh telinga manusia) yaitu dari 20 Hz sampai dengan 20 kHz, seperti yang digunakan untuk musik dan HiFi audio. Yang kedua adalah kompresi suara (speech) , suara manusia terbatas pada bandwidth antara 300 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 tidak mungkin untuk membuat model setiap source.


(22)

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 digital, dikompresi, misalnya menggunakan Adaptive Delta Pulse Code


(23)

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 sangat sulit memodelkan sedemikian banyak sumber alat musik sehingga yang


(24)

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 sudah terkompresi dari format standar file suara. Format standar file suara yang


(25)

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.


(26)

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


(27)

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


(28)

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 berikutnya akan muncul. Selama proses prediksi biasanya diperlukan 1-4 bits


(29)

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 aplikasi-aplikasi yang memberikan layanan VoIP karena dapat dioperasikan


(30)

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) yang sangat rendah. Waktu tunda yang dapat ditoleransi oleh manusia yaitu di


(31)

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 VoIP, serta biaya akses ke internet.


(32)

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 murah tanpa harus menggunakan PC. Panggilan telepon dilewatkan melalui


(33)

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 Susanto, 2001:4).


(34)

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 keseimbangan antara delay yang terjadi dengan kualitas suara yang dihasilkan.


(35)

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. Konfigurasi PC untuk VoIP dapat dilihat pada gambar 2.2.


(36)

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 mengkonversikan data digital tersebut ke dalam bentuk sinyal analog dan

Personal Computer

Bus CPU

Memory

I/O

Card Hard

disk

Mode Video

Card

Audio Card


(37)

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


(38)

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


(39)

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 memintannya pada departemen keuangan dan jika pimpinan perusahaan ingin


(40)

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 untuk menangani event dari pemakai atau dari sistem. Prosedur untuk menangani


(41)

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 & . Gambar 2.4. menggambarkan bagian-bagian dari IDE Delphi.


(42)

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


(43)

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.5. Object Inspector pada IDE Delphi


(44)

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.


(45)

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


(46)

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


(47)

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 internet, serta komponen untuk memainkan atau memutar suara.


(48)

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) data yang harus didefinisikan sebelumnya, yaitu :


(49)

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


(50)

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 sebagai berikut :


(51)

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


(52)

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 gambar 3.1.


(53)

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

Close Input & Compression Device End 1 2 Start Standart Format Record Rate

Open Input Device

Open Compression Device

Prepare Wave Header & AcmStream Header

Start Record

1 Wait message

MM_WIM_DATA 2

y


(54)

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), IMA ADPCM, Motion Pictures Expert Group (MPEG) Audio, Microsoft


(55)

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 saat program berjalan.


(56)

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 mengesetnya menjadi true.


(57)

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 memiliki tipe " .


(58)

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


(59)

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 panjang array Data, maka melakukan pengecekan apakah isi array Data yang ke-0 kosong?.

Queue Entry

Data Entry

Size > Max

Size = Max size

Data[EntryPos] = Data Entry Size[EntryPos] = Size

1

EntryPos = 0 EntryPos < Panjang array data Naikkan EntryPos Data[0] = nil

Tambahkan panjang array Data Tambahkan panjang array Size

Naikkan EntryPos 1

Return

Gambar 3.2. Flowchart prosedur pemasukan data ke antrian y

t y


(60)

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 dengan nilai 0, jika array Size ke-0 tidak nol.

2

Servpos < Panjang array Data

Naikkan Servpos

Servpos = 0

Return

y

t

y t

Leave Queue

Size[servpos] = 0

Kosongkan Data[Servpos] Size[Servpos] = 0


(61)

3. Menaikkan nilai Servpos jika lebih kecil dari panjang array Data. Jika lebih besar atau sama, maka nilai sama dengan 0.

Komponen memainkan data suara yang ada pada antrian secara berurutan sesuai dengan kedatangan data-data tersebut. Proses memainkan data suara diawali dengan membuka perangkat output suara yang akan digunakan, setelah perangkat output dibuka maka data pada antrian dapat dimainkan. Selanjutnya menunggu proses memainkan satu blok data selesai, kemudian mengambil data antrian berikutnya untuk dimainkan. Demikian terus-menerus sampai data pada antrian habis atau proses dihentikan. Flowchart proses memainkan data suara dapat dilihat pada gambar 3.4.

Gambar 3.4. Flowchart proses memainkan data suara Mulai

Sound Format

Buka perangkat output suara

Persiapkan Wave Header

Masuk ke antrian

1

Mainkan

Tunngu pesan MM_WOM_DONE

Antrian kosong? atau proses dihentikan?

Hapus Wave Header Tutup perangkat output suara

Selesai 1

y


(62)

Algoritma proses memainkan data suara ini adalah sebagai berikut : 1. Mendefinisikan format data suara yang akan dimainkan.

2. Membuka perangkat output suara yang akan digunakan untuk memainkan data pada antrian.

3. Mempersiapkan struktur yang akan berisikan data suara yang dimainkan, dimana data tersebut berasal dari data antrian.

4. Memasukkan data suara ke dalam antrian.

5. Memainkan data suara yang telah ada pada antrian, dengan terlebih dahulu memindahkan data pada antrian yang ditunjuk (data antrian yang

ke-) ke struktur .

6. Menunggu sampai data pada struktur selesai dimainkan. 7. Mengulangi langkah 5 sampai antrian kosong atau proses dihentikan. 8. Menghapus struktur , dan menutup perangkat output suara.

Komponen merupakan penerapan dari algoritma diatas. Komponen disimpan pada file yang sama dengan komponen

yaitu pada file “SoundStream.pas”.

Komponen memiliki properti-properti sebagai berikut :

Property Penjelasan

Mendefinisikan format suara yang akan dimainkan (wGSM610, wIMAADPCM, wMPEG, wMsADPCM, wPCM, wTRUESpeech).


(63)

Mengecek Wave output apakah dalam keadaan mati(mute) atau tidak (true atau false).

Volume dari Wave Output (0-FFFFh).

Mengecek perangkat output sedang aktif atau tidak (true atau false). Properti ini hanya diakses pada saat program berjalan.

Mengecek apakah dalam proses memainkan data atau tidak (true atau false). Properti ini hanya diakses pada saat program berjalan.

Mendefinisikan ukuran data maksimal yang dapat dimasukkan ke dalam antrian data. Properti ini hanya diakses pada saat program berjalan.

Komponen memiliki event-event sebagai berikut :

Event Penjelasan

Event ini muncul setelah perangkat output suara di tutup.

Event ini muncul setelah perangkat output suara di buka.

Event ini muncul jika terjadi perubahan level suara pada Wave output, atau terdapat perubahan output suara.


(64)

Event ini muncul jika semua data pada antrian sudah dimainkan.

Komponen memiliki method-method sebagai berikut :

Method Penjelasan

Digunakan untuk membuat komponen baru turunan dari kelas TSoundPlay.

Digunakan untuk komponen ini dari memori

Digunakan untuk membuka perangkat output suara, dan mengubah properti active di set menjadi true.

Digunakan untuk menutup perangkat output suara, dan mengubah properti active di set menjadi false.

Digunakan untuk memasukkan data ke dalam antrian data.

Digunakan untuk memainkan data suara pada antrian, dan mengubah properti playing (memainkan data suara) di set menjadi true.

Digunakan untuk menghentikan proses memainkan data suara, dan mengubah properti playing di set menjadi true.


(65)

3.1.3. Komponen pengirim dan penerima data

Komponen pengirim dan penerima data pada komunikasi yang menggunakan teknologi VoIP sangat diperlukan, karena data suara yang di inputkan akan dikirim dan diterima melalui jaringan internet dengan perantara komponen ini.

Komponen adalah salah satu komponen

yang mengimplementasikan protokol Transmission Control Protocol untuk melakukan transfer data pada kedua belah pihak yang melakukan komunikasi, yaitu pihak client dan server. adalah komponen software yang dapat dikembangkan atau digunakan pada berbagai aplikasi-aplikasi yang mendukung , seperti : Delphi, Visual Basic, C++, dan lain-lain. Agar dapat menggunakan komponen ini di likungan kerja Delphi, maka perlu dilakukan import dari file “MSWinsck.ocx”. Digunakannya komponen untuk proses transfer data dengan pertimbangan bahwa komponen ini dapat berfungsi sebagai server ataupun client. Pada saat aplikasi menerima permintaan koneksi dari pihak lain maka komponen berfungsi sebagai server, sedangkan pada saat aplikasi mencoba untuk melakukan koneksi dengan pihak luar, ia berfungsi sebagai client. Untuk melakukan komunikasi menggunakan socket yang berfungsi untuk menspefikasikan 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


(66)

aplikasi dapat melakukan pengiriman dan penerimaan data melalui port yang telah ditentukan oleh aplikasi tersebut.

Properti-properti dari yang sering digunakan adalah :

Property Penjelasan

Jumlah data yang telah diterima oleh socket.

!

Nama komputer lokal.

Alamat IP dari komputer lokal.

Port local untuk mengirim dan menerima data.

Protokol yang digunakan dalam proses transfer User Datagram Protocol (UDP) atau pada proses Transmission Control Protocol (TCP).

!

Nama atau alamat IP dari komputer lain pada jaringan yang terhubung dengan komputer lokal.

Port dari komputer lain pada jaringan yang terhubung dengan komputer lokal.


(67)

Event-event dari yang digunakan adalah :

Event Penjelasan

Event ini aktif jika pihak ke dua yang terhubung dengan komputer lokal memutuskan koneksi.

Event ini aktif jika ke dua belah pihak sudah terhubung, dan dapat dilakukan transfer data.

Event ini aktif jika ada permintaan koneksi dari komputer lain pada jaringan.

Event ini aktif jika ada data yang masuk.

Event ini aktif jika timbul kesalahan pada socket.

Method-method dari yang digunakan adalah :

Method Penjelasan

Menutup koneksi (hanya pada protokol TCP).

Mencoba untuk menghubungi komputer lain dalam jaringan.

Digunakan untuk menerima permintaan koneksi pada saat event muncul.


(68)

Mengirimkan data.

Mengambil data yang di terima socket.

3.2. Perancangan Program Aplikasi Voice Over IP

Yang dimaksud dengan program aplikasi Voice over IP adalah program yang dirancang untuk tujuan komunikasi suara melalui jaringan internet, dimana komunikasi ini dapat berupa komunikasi PC ke PC, komunikasi PC ke Telepon, komunikasi Telepon ke PC, atau komunikasi Telepon ke Telepon. Program yang dirancang ini adalah komunikasi melalui jaringan internet yang berupa komunikasi antar PC (komunikasi PC ke PC). Program VoIP ini menggunakan layanan yang disediakan oleh Internet Relay Chat (IRC) server (server yang menyediakan layanan Chat di internet) untuk mengetahui alamat IP dari pengguna yang terhubung ke server tersebut. Alamat IP berfungsi sebagai pengenal dari tiap komputer yang terhubung ke suatu jaringan seperti internet. Dengan mengetahui alamat IP komputer lain dalam jaringan, maka dapat dilakukan permintaan koneksi dan tranfer data. Program VoIP ini memiliki beberapa form dan unit-unit yang tersimpan dalam file yang berekstensi “.pas”, dimana masing-masing form dan unit memiliki fungsi tersendiri untuk mendukung aplikasi .


(69)

3.2.1. Form aplikasi VoIP

Form VoIP ini merupakan form utama yang dapat mengakses atau menampilkan form-form yang lain dan kodenya tersimpan pada unit file “UnVoiceChat.pas”. Form ini di desain agar bersifat user friendly (mudah digunakan oleh pengguna), dengan menampilkan tool button dan menu-menu yang dapat diakses secara langsung. Program ini dirancang sesederhana mungkin dengan tahapan proses yang harus dikerjakan oleh user, agar program dapat digunakan dengan mudah.

Proses komunikasi antar PC pada program yang dirancang terdiri dari empat tahapan yaitu, tahap identifikasi alamat IP dari pengguna lain yang akan dihubungi, tahap perekaman suara, tahap pengiriman data, dan tahap penerimaan dan output suara. Flowchart proses komunikasi pada VoIP dapat dilihat pada gambar 3.5. dan 3.6.


(70)

Gambar 3.5. Flowchart proses komunikasi pada VoIP Mulai

Server IRC & Pengenal User

Melakukan koneksi

Terkoneksi?

Kirim informasi user & bergabung di channel

Pesan server diterima?

1 3

y t

y

t

Menunggu pesan dari server

Koneksi ke server tertutup?

y t


(71)

Gambar 3.6. Lanjutan flowchart proses komunikasi pada VoIP Kirim Data

Data diterima? Suara terekam?

Masukan ke antrian data dan Mainkan data

Menghubungi lagi?

Berhenti memainkan data dan perekaman suara

Selesai y t y t y Pesan diproses IP address user? IP address dari user lain 1 3 Kirim IP address Simpan IP address IP address sudah tersedia?

Menghubungi user lain

Terhubung?

Mulai merekam atau menginputkan suara

t

y t

y t y t y t 2


(72)

Algoritma dari proses komunikasi antar PC pada program VoIP ini adalah : 1. Menginputkan nama server dan informasi user sebagai pengenal yang

membedakan user satu dengan user lainnya.

2. Mencoba untuk menghubungi server yang didefinisikan pada langkah 1. 3. Tetap mencoba untuk menghubungi selama tidak terhubung dengan server. 4. Mengirimkan data informasi user dan mengirimkan perintah untuk

bergabung dichannel tertentu. 5. Menunggu pesan dari server.

6. Melakukan pengecekan apakah masih terhubung ke server atau tidak jika tidak ada pesan yang masuk dan menuju ke langkah 7. Jika ada pesan yang masuk maka menuju ke langkah 8.

7. Menuju ke akhir program jika tidak terhubung dengan server, kembali ke langkah 5 jika masih terhubung.

8. Mengartikan pesan yang diterima dari server tiap satu baris perintah. 9. Mengirimkan data alamat IP user, jika ada pesan berarti ada yang

bergabung di channel baik itu user sendiri ataupun user lain.

10.Jika pesan yang diterima berisi alamat IP dari user lain, maka alamat IP tersebut disimpan sesuai dengan user yang memilikinya.

11.Melakukan langkah 12 jika alamat IP dari user-user yang ada sudah tersedia, jika alamat IP belum tersedia maka menuju ke langkah 5.

12.Menghubungi user lainnya.

13.Mulai merekam atau menginputkan suara.


(73)

15.Mengirimkan data suara yang sudah terekam ke user lain yang terhubung dengan user selama proses merekam suara.

16.Memasukkan data yang diterima ke antrian data yang akan dimainkan, dan memainkan data-data tersebut selama data diterima dari user lain.

17.Menghentikan proses memainkan data suara dan menghentikan proses merekam suara.

18.Melakukan kembali langkah 12 jika user ingin menghubungi user yang lain.

Form aplikasi VoIP ini memiliki beberapa komponen visual dan non-visual yang penempatannya diatur agar mudah diakses oleh user. Menu-menu yang sering digunakan di desain ke dalam bentuk tool button, di sertai dengan gambar yang menggambarkan fungsi dari tombol tersebut serta keterangan berupa text. Hal ini dilakukan untuk membantu user dalam menggunakan software ini. Desain form Program VoIP dapat dilihat pada Gambar 3.7.

Pada form aplikasi VoIP ini terdapat beberapa komponen utama yang sangat berperan dalam proses komunikasi antar PC. Komponen-komponen tersebut yaitu :

1.

Merupakan turunan dari komponen , yang berfungsi untuk merekam suara dan mengkonversikannya menjadi format data terkompresi. Format data hasil rekaman yang tersimpan pada property didefinisikan bernilai wGSM610, yang berarti format data wave Global System for Mobile


(1)

Agar program dapat mendeteksi apakah user dalam keadaan diam atau tidak, maka diperlukan pengaturan tingkat noice dengan cara memindahkan secara perlahan-lahan penunjuk tingkat noice dari tingkat rendah menuju ke tingkat tinggi sambil memperhatikan noice detektornya (gambar 4.26). Jika detektor noice menunjukkan tidak ada output, maka proses pemindahan penunjuk dapat dihentikan. Tingkat noice berbeda-beda tergantung dari perangkat microphone yang digunakan.

Sedang terkoneksi

(b) Nick dan

alamat IP (a)

Gambar 4.25. (a) Daftar Koneksi pada window Utama (b) Daftar User pada window Channel

Penunjuk tingkat noice

Detector

Output detektor


(2)

96

4.3.3. Mengakhiri proses komunikasi

Proses komunikasi dengan salah satu user diakhiri dengan cara memilih nick user yang dimaksud pada daftar koneksi dan menekan . Sedangkan untuk mengakhiri koneksi dengan server atau keluar dari Channel dilakukan dengan cara mengakses menu atau dengan menekan

tombol pada window Utama.

4.4. Evaluasi Program Aplikasi VoIP

Berkomunikasi dengan program aplikasi VoIP ternyata sangat dipengaruhi oleh kualitas koneksi dari saluran internet yang digunakan. Apabila jalur internet yang kita pakai untuk menjalankan aplikasi VoIP ini lambat maka kadang-kadang suara akan terdengar putus-putus.

Selain kualitas saluran internet, koneksi ke server IRC juga sangat perlu diperhatikan. User sebaiknya memilih server IRC yang mudah untuk dihubungi agar proses koneksi berjalan dengan baik dan lancar.


(3)

97 PENUTUP

Pada bab ini akan diuraikan tentang kesimpulan dan saran dari Tugas Akhir ini.

5.1. Kesimpulan

Setelah melakukan analisis dan merancang program aplikasi Voice Over Internet Protocol (VoIP), dapat ditarik beberapa kesimpulan, yaitu :

1. Komunikasi antar Personal Computer (PC) dengan menggunakan teknologi Voice Over Internet Protocol (VoIP) merupakan salah satu alternatif berkomunikasi.

2. Faktor delay komunikasi pada VoIP juga dipengaruhi oleh kualitas koneksi ke jaringan internet, dimana kualitas koneksi ini sangat berpengaruh terhadap kecepatan pengiriman data melalui jaringan internet.

5.2. Saran

Saran-saran yang dapat diberikan guna pengembangan di penelitian yang akan datang antara lain:

1. Program tidak hanya dapat berkomunikasi antar pengguna Personal Computer (PC), tetapi dapat juga melakukan komunikasi dari PC ke telepon atau menerima permintaan komunikasi dari telepon.

2. Mengurangi faktor delay komunikasi yang dihasilkan sehingga dapat meningkatkan kualitas komunikasi. Semakin kecil ukuran data suara yang


(4)

98

dikirimkan melalui jaringan internet, maka faktor delay komunikasi yang dihasilkan semakin berkurang sehingga kualitas komunikasi semakin baik 3. Meningkatkan kualitas suara yang dihasilkan dengan menyaring atau

memfilter suara yang diinputkan agar noice tidak terekam sehingga suara yang dihasilkan lebih jernih.


(5)

Dari Buku :

Green, DC, 1966, Komunikasi Data , Andi Offset, Yogyakarta.

Heywood, Drew , 1999, Konsep & Penerapan Microsoft TCP/IP, Andi Offset, Yogyakarta.

Kercheval, Berry, 2001, DHCP Panduan Konfigurasi Jaringan TCP/IP Yang Dinamis, Andi Offset, Yogyakarta.

Pranata, Antony, 2000, Pemrograman Borland Delphi, Andi Offset, Yogyakarta. Santoso, Insap, 1995, Bagaimana Mendayagunakan Sepasang Komputer, Andi

Offset, Yogyakarta.

Stallings, William, 1994, Data and Computer Communications, Fourth Edition, Macmillan Publishing Company, New York.

Dari Tabloit :

Risti, 2001, Komponen Sinyal Networking VoIP , Komputek No. 203 Minggu ke III Pebruari 2001, PT Jawa Media Komputama, Surabaya.

Risti, 2001, Produk Protokol VoIP, Komputek No. 203 Minggu ke III Pebruari 2001, PT Jawa Media Komputama, Surabaya.

View, 2001, Teknologi yang Dibutuhkan Untuk VoIP, Komputek No. 217 Minggu ke IV Mei 2001, PT Jawa Media Komputama, Surabaya.

Dari Majalah :

Purnawan, Hengky, 2000, Pemrograman TCP/IP , Mikrodata media penggemar komputer volume 6 seri 14, PT Alex Media Komputindo Kelompok Gramedia, Jakarta.

Susanto, Tri, 2001, Quality of Service (Qos) : Sebuah Isu Layanan Voice over Internet Protocol, Elektro Indonesia No. 37, Jakarta.


(6)

Dari Internet :

http://www.bit.net.id/bozz/kamusmini_p3.html

http://www.dsp.ee.itb.ac.id/artikel/paper-gitalmmedia.pdf http://www.iec.org

http://www.ora.com/centers/gff/formats/micriff/index.htm http://www.webopedia.com/TERM/E/socket/winsock.htm