a.
Flow Control
Flow control adalah suatu teknik untuk memastikan/meyakinkan
bahwa suatu stasiun transmisi tidak menumpuk data pada suatu stasiun penerima.
Tanpa flow control, buffer (memori penyangga) dari receiver akan penuh
sementara masih banyak data lama yang akan diproses. Ketika data diterima,
harus dilaksanakan sejumlah proses sebelum buffer dapat dikosongkan dan siap
menerima banyak data.
Ada
beberapa bentuk dari flow control antara lain:
a.
Stop and wait flow control
Cara kerjanya suatu sumber
mengirimkan frame. Setelah diterima, penerima memberi isyarat untuk menerima
frame lainnya dengan mengirim acknowledgement ke frame yang baru diterima.
Pengirim atau sumber harus menunggu sampai menerima acknowledgement sebelum
mengirim frame berikutnya. Penerima kemudian dapat menghentikan aliran data
dengan tidak memberi acknowledgement. Frame yang dikirimkan tidak akan menjadi
masalah jika ukuran datanya tidak terlalu besar. Jika data yang dikirim besar,
maka secara otomatis jumlah framenya akan bertambah sehingga menyebabkan stop
and wait control menjadi tidak efisien.
b.
Sliding window flow control
Masalah utama yang dimiliki
oleh stop and wait control adalah bahwa hanya satu frame yang dapat dikirimkan
pada saat yang sama. Dalam keadaan antrian bit yang akan dikirimkan lebih besar
daripada panjang frame (a>1) maka diperlukan suatu langkah efisiensi (memperbolehkan
pengiriman lebih dari satu frame pada saat yang sama). Dalam langkah ini,
ditambahkan juga label pada setiap frame yang telah masuk sebagai penanda sudah
sejauh mana frame tersebut diterima. Sliding window flow control ini
mengizinkan untuk pengiriman lebih dari satu frame. Receiver juga memiliki
sebuah buffer untuk menampung antrian frame yang masuk dengan syarat setiap
frame yang masuk diberi nomor. Nomor tersebut nantinya akan digunakan sebagai
penanda yang akan diloncati tiap ukuran field (k). frame yang masuk akan
dinomori dengan modulo 2k.
b.
Deteksi Kesalahan
Pada subbab sebelumnya dibahas tentang penggunaan flow
control, sekarang akan dibahas bagaimana cara mendeteksi kesalahan yang terjadi
pada flow control tersebut. Ada dua pendekatan yang bisa digunakan untuk
mendeteksi error, yaitu:
a.
Forward Error Control
Karakter yang ditransmisikan
atau disebut juga frame, berisi informasi tambahan sehingga apabila penerima
mengalami kesalahan, penerima tidak hanya bisa mendeteksi kesalahannya saja
tetapi juga bisa menjelaskan letak kesalahan tersebut.
b.
Feedback (backward) Error Control
Setiap karakter atau frame
memiliki informasi yang cukup untuk memperbolehkan penerima mendeteksi bila
menemukan kesalahan tetapi tidak lokasi kesalahannya. Feedback error control
dibagi menjadi 2 bagian, yaitu:
1.
Teknik yang digunakan untuk deteksi kesalahan
2.
Kontrol algoritma yang telah disediakan untuk mengontrol transmisi
ulang.
Metode Pendektesian Kesalahan
Ada dua
metode deteksi kesalahan yang sering digunakan, yaitu:
a.
Echo
Metode sederhana dengan sistem
interaktif. Operator memasukkan data melalui sebuah terminal dan mengirimkan ke
komputer lain, setelah itu komputer akan menampilkan data yang dikirim kembali
ke terminal sehingga operator dapat memeriksa apakah data yang dikirimkan benar
atau tidak.
b.
Error otomatis
Metode dengan tambahan bit
pariti (pariti ganjil atau pariti genap). Ada beberapa metode yang bisa
digunakan dalam pendeteksian error, antara lain:
1.
Vertical redundancy checking
Metode ini lebih umum disebut dengan parity checking karena
menggunakan sistem pengecekan paritas dan merupakan sistem untuk mencari
kesalahan data yang paling sederhana. Dalam satu byte terdapat satu bit pariti.
Bit ini nilainya tergantung kepada ganjil atau genapnya jumlah bit satu dalam satu byte.
Pengecekan parity terbagi
menjadi dua yaitu:
a.
Odd parity (pariti ganjil)
Jumlah bit satu dalam satu
byte data harus berjumlah ganjil.
b.
Even parity (pariti genap)
Jumlah bit satu dalam satu
byte data harus berjumlah genap.
2.
Longitudinal redundancy checking
Metode ini sebenarnya digunakan untuk memperbaiki kelemahan
yang ada pada VRC. Pada metode LRC ini, data dikirimkan per blok (frame) berisi
8 byte dan setiap frame terdapat satu bit pariti. Fungsi dari bit pariti
tersebut adalah sebagai kontrol kesalahan seperti pada parity checking.
3.
Cyclic redundancy checking
Sistem ini banyak dipakai dalam komunikasi data karena
prosesnya cukup sederhana dan tidak
membutuhkan banyak tambahan bit sebagai bit pariti. Pada sistem CRC data
dikirimkan per frame dan setiap frame terdiri dari deretan bit panjang.
c.
Koreksi Kesalahan
Bila
dijumpai kesalahan pada data yang telah diterima, maka perlu adanya error
recovery atau pengkoreksian kesalahan agar jangan sampai kesalahan ini
menyebabkan dampak yang besar bagi pengiriman datanya. Metode yang digunakan
antara lain:
a.
Subtitusi simbol
Bila ada data yang rusak maka komputer
penerima mengganti bagian tersebut dengan karakter lain, seperti karakter SUB
yang nerupa tanda tanya terbalik. Jika pemakai menjumpai karakter ini (pada
program pengolah kata), maka berarti data yang diterima mengalami kerusakan,
selanjutnya perbaikkan dilakukan sendiri.
b.
Mengirim data koreksi
Data yang dikirimkan harus ditambah
dengan kode tertentu dan data duplikat. Bila penerima menjumpai kesalahan pada
data yang diterima maka perbaikkan dilakukan dengan mengganti bagian yang rusak
dengan data duplikat. Cara ini jarang digunakan.
c.
Kirim ulang
Cara ini merupakan cara yang paling
sederhana, yaitu apabila komputer penerima menemukan kesalahan pada data yang
diterima maka selanjutnya meminta komputer pengirim untuk mengulang pengiriman
data.
Forward Error Correction
Salah
satu cara untuk mengkoreksi kesalahan adalah dengan menggunakan metode forward
error correction. Ada beberapa notasi yang harus terlebih dahulu dipahami,
yaitu:
a.
m :
Jumlah bit sample.
b.
n :
Jumlah bit hamming.
c.
Bit sample : ½ * jumlah bit data.
d.
Bit hamming : 2n >m+n+1.
Adapun langkah perhitungannya adalah
sebagai berikut:
a.
Contoh karakter yang akan dikoreksi
adalah CAT. Ubah karakter CAT menjadi biner kode ASCII dan tambahkan pariti
ganjil (letakkan terbalik dari bit pariti sampai bit pertama).
b.
Gabungkan seluruh bit dalam satu deret.
Setelah itu hitung jumlah bit dari keseluruhan karakter. Untuk karakter CAT
jumlah bitnya adalah 24 bit.
c.
Hitung m dengan rumus yang disediakan:
M = ½ *
jumlah bit data
= ½ * 24
= 12 bit.
Maka bit
samplenya adalah 12 bit pertama dari karakter CAT yaitu 010000111100.
d.
Hitung n dengan rumus yang disediakan
dimulai dari n=1:
1.
2n > m + n + 1
21
> 12 + 1 + 1 (n tidak terpenuhi.
Lanjutkan ke n=2)
2.
2n > m + n + 1
22
> 12 + 2 + 1 (n tidak terpenuhi.
Lanjutkan ke n=3)
3.
2n > m + n + 1
23
> 12 + 3 + 1 (n tidak terpenuhi.
Lanjutkan ke n=4)
4.
2n > m + n + 1
24
> 12 + 4 + 1 (n tidak terpenuhi.
Lanjutkan ke n=5)
5.
2n > m + n + 1
25
> 12 + 5 + 1 (n terpenuhi. Maka n=5).
Kesimpulan:
1.
n=5 à bit hamming berjumlah 5 bit (h5 h4 h3
h2 h1).
2.
m + n = 17 bit.
e.
Gabungkan bit sample dengan bit hamming
secara acak (khusus bit sample).
Setelah itu hitung bit
hamming. Tentukan letak bit 1 pada deret tersebut. Pada deret di atas, letak
bit 1 ada pada posisi ke 3, 5, 6, 8, 16. Ubah posisi tersebut menjadi biner 5
bit lalu kenakan operasi XOR terhadap posisi tersebut.
Setelah bit hamming diketahui, maka terbentuklah data kirim.
Data kirim adalah bit sample digabungkan dengan bit hamming
f.
Langkah terakhir adalah tentukan lagi letak bit ‘1’ pada
deret di atas kecuali untuk bit hamming tidak perlu dihitung. Lalu ubah posisi
tersebut menjadi 5 bit biner lalu kenakan operasi XOR. Untuk permulaanya
lakukan operasi XOR terhadap bit hamming dengan posisi yang pertama kali
dijumpai.
g.
Jika hasil akhir sama dengan 0 maka tidak ada kesalahan yang
terjadi dan tidak perlu adanya koreksi terhadap data yang dikirim atau
diterima. Sedangkan apabila hasil akhir tidak sama dengan 0 maka terjadi
kesalahan dan perlu adanya koreksi kesalahan. Karena menggunakan koreksi
kesalahan dengan metode forward error correction maka penerima data bisa
membetulkan kesalahannya sendiri karena sudah mengetahui letak kesalahan kalau
menghitung manual seperti ini memang tidak akan terlihat letaknya, akan tetapi
peralatan komunikasi data di sisi penerima akan bisa mendeteksi dan mengkoreksi
kesalahannya melalui bit hamming).
Kesimpulan
Flow control adalah suatu
teknik untuk memastikan/meyakinkan bahwa suatu stasiun transmisi tidak menumpuk
data pada suatu stasiun penerima. Tanpa flow control, buffer (memori penyangga)
dari receiver akan penuh sementara masih banyak data lama yang akan diproses. Ada beberapa bentuk dari flow control antara lain : Stop and wait flow control
dan Sliding window flow control
Di dalam deteksi kesalahan ada
dua pendekatan yang bisa digunakan untuk mendeteksi error, yaitu: Forward Error
Control dan Feedback (backward) Error Control. Ada dua metode deteksi kesalahan
yang sering digunakan, yaitu: Echo dan Error otomatis Bila dijumpai kesalahan pada data yang
telah diterima, maka perlu adanya error recovery atau pengkoreksian kesalahan
agar jangan sampai kesalahan ini menyebabkan dampak yang besar bagi pengiriman
datanya. Metode yang digunakan antara lain: Subtitusi
simbol, Mengirim
data koreksi dan Kirim ulang
Tidak ada komentar:
Posting Komentar