LAPORAN
PEMAHAMAN PEMBUATAN APLIKASI CHAT DENGAN
C#
Untuk lebih muda
di pahami, maka hal-hal yang perlu kita ketahui adalah dimana pengertian dari
UDP dan TCP IP, protokol, layer, dan
fungsi-fungsinya :
1. UDP
UDP singkatan dari User Datagram Protokol, yang
merupakan sala satu protokol TCP/IP yang mendukung komunikasi yang unreliable,
tanpa koneksi (connectionlles) antara host-host dalam sebuah jaringan yang
menggunakan TCP/IP. Maksudnya connectionless dan tiadak ada kendala, windowing,
serta fungsi untuk memasikan data diterima dengan benar, dan juga menyediakan
fungsi yang sam dengan TCP. Seperti transfer data dan multiplexing, namun UDP
hanya melakukan dengan byte tambahan yang lebih sedikit dalam header.
Protokol UDP
2. TCP
TCP adalah singkatan dari Trinsimtion Control
Protocol yang merupaka salah satu jenis protoko yang memungkinkan kumpulan dari
komputer yang berkomunikasi dan bertukar data dalam suatu jaringan. TCP
berorentasi connection-oriented dan dapat diandalkan karena terjadi handshaking
sebelum mengirimkan data terlebih dahulu, sehingga kemungkinan terjadi
kehilangan sedikit paket data.
3. Layer
TCP/IP antara lain adalah sebagai berikut:
a.
Application layer, berfungsi untuk
menyediakan layanan atau servis ke user atau pengguna
b.
Transport Layer, berfungsi untuk
mengirimkan pesan dari satu proses ke proses yang lainnya
c.
Network Layer, berfungsi untuk
mengirimkan paket dari sumber aslinya ke tujuan akhirnya
d.
Data Link Layer, berfungsi untuk
menyediakan link untuk data, kemudian memaketnya menjadi frame yang berhubungan
dengan hardware kemudian disalurkan
melalui media
e.
Physical Layer, berfungsi untuk mengirimkan bit dari data dari suatu node ke
node yang lain, atau melalui kabel.
Pada kegiatan dimana melakukan chat
di perlukan protokol yang mana, terdapat pada layer transport yaitu TCP dan
UDP. Dari Kedua protokol ini mempunyai kelebihan dan kekurangannya
masing-masing.
Kelebihan yang dimiliki oleh
protokol TCP adalah dimana protokol ini akan melakukan proses handshaking terlebih
dahulu sebelum mengirimkan data sehingga kemungkinan untuk kehilangan data pada
saat pengiriman data menjadi lebih kecil, sedangkan pada protokol UDP tidak
melakukan proses handshaking, sehingga pada proses pengiriman data kemungkinan
untuk kehilangan paket data itu akan lebih besar.
Begitupun Keuntungan pada UDP, yang paling jelas dari TCP adalah byte
tambahan yang lebih sedikit. Di samping itu, UDP tidak perlu menunggu
penerimaan atau menyimpan data dalam memory sampai data tersebut diterima. Ini
berarti, aplikasi UDP tidak diperlambat oleh proses penerimaan dan memory dapat
dibebaskan lebih cepat.
Pada pembuatan Tugas C# yang sampai
saat ini sudah dipahami adalah sebagai brikut
Inisialisasi source
code pada awal program ini adalah sebagai deklarasi dari objec, fungsi dan
variabel. Dimana source code sebagai berikut:
A. Bagian
pengiriman pesan pada chat box adalah sebagai berikut:
Dimana proses pengirimana dan
penerimaan data adalah dalam bentuk byte dimana data yang dikirim tersebut di
parse(di pisahkan) lalu dikirim. Sebaliknya pada penerimaan, data yang di
terima dalam bentuk paket data yang talah di parse kemudian dijadikan satu.
Pada bagian source code ini adalah
untuk melakukan chat dimana ketika kita menekan tombol SEND, maka tulisan atau
karakter yang kita tuliskan akan terkirim ke chat box yang tersedia. Proses
yang dilakukan adalah ketika checkBox1 dipilih, maka akan melakukan proses
broadcast isi chat yang telah kita tulis, ini dapat dilihat dari source code dibawah
ini;
Sintax ini
merupakan sebuah kontruktor dari TCP client, yang berisikan spesifikasi IP
local yang digunakan. Dan dapat digunakan jika kita memiliki lebih dari satu
network atau melakukan proses broadcast.
Source code diatas
berfungsi untuk melakukan pengiriman data hanya pada ip yang terhubung ke
client ini saja yang bisa melakukan proses pengiriman data dengan menggunakan
port yang sudah di tentukan.
Source code digunakan untuk memilih
jenis protokol yang digunakan. Pada aplikasi ini menggunakan jenis protokol
UDP.
Pada proses selanjutnya adalah input
nama user. Untuk nama user, akan dirubah ke kode ASCII yang akan diletakkan
pada variable data. Jika panjang dari variable data kecil dari 20, maka nilai a
yang merupakan variable penampungan sementara akan bernilai sejumlah dari
panjang data nama. Dan jika panjang data lebih dari 20, maka data yang
dimasukkan ke dalam variable a tetap 20. Jika kita ingin memperpanjang nama
yang ingin dimasukkan kita dapat mengubah ukuran byte maksimal (lebih dari 20)
yaitu pada bagian inisialisasi data nama [20] ini bermaksud nama yang
dimasukkan tidak lebih dari 20. Yang kemudian data a tadi akan digunakan untuk
memasukkan datanya ke dalam buffer datanama[i]. berikut ini adalah sintaxnya.
Setelah dataNama
dihitung, selanjutnya adalah melakukan perhitungan tulisan yang telah
dimasukkan. source codenya adalah sebagai berikut;
Sebelum mengirimkan data, data yang diinputkan
kedapam richTextBox2 akan di ubah menjadi nilai ASCII. Dan bufferkirim[0] pada
array 0 bernilai 0. Pada bufferkirim ini nantinya akan berisikan nama user dan
tulisan yang telah diisi oleh user.
B. Bagian
Audio
Untuk source code di atas, menyiapkan atau mengaktifkan prangkat
output serta persiapan untuk perekaman data atau suara saat tombol start di
klik. Dan jika tidak ada perangkat output tidak tersedia atau tidak terdeteksi
maka muncul sebuah pesan eror.
Untuk source
code di atas adalah dimana mengaktifkan dan menyiapkan perangkat input pada
saat tombol Start Send di klik dan siap untuk mengirimkan data berupa suara. Jika
disaat perangkat input tidak tersedia atau tidak dideteksi maka akan muncul
pesan eror. Dan juga, pesan Eror akan muncul jika IP atau Port targer atau
tujuan salah saat di masukkan.selanjutnya jika tidak ada lagi pesan eror maka perangkat
input (Mic) siap digunakan untuk mengirim suara.
Selanjutnya
adalah untuk pengiriman suara ke target atau tujuan maka data yang tadinya
dalam bnetuk suara dikoversi atau di rubah menjadi byte, berupa paket-paket
data lalu di kirim.
Pada source code ini, dimana data di terima berupa
byte dalam bentuk paket-paket data yang diconversi menjadi data suara, dan
selanjutnya hasil conversi tadi di keluarkan pada perangkat output berupa
speaker, atau hadset.