laporan selektif repeat
TRANSCRIPT
Makalah
Komunikasi Data
SELECTIVE REPEAT
Oleh :
1. Gigih Adi Cita (2205.100.138) 2. Yuni Almaadin (2206.100.035) 3. Robby Hartanto (2206.100.174) 4. Hartedi Gobel (2206.100.701)
Jurusan Teknik Elektro Fakultas Teknologi Industri Institut Teknologi Sepuluh Nopember Surabaya 2008
Bab 1 Pendahuluan
1.1 Latar Belakang Dalam pengiriman paket data melalui suatu medium tertentu, akan selalu
terjadi adanya perbedaan antara sinyal yang dikirim dengan sinyal yang diterima.
Perbedaan tersebut dapat mengakibatkan adanya error atau kesalahan pada paket
data yang dikirim tersebut sehingga data tersebut tidak dapat dibaca dengan baik
oleh penerima.
Untuk menghindari terjadinya error atau kesalahan pada paket data yang
dikirim maka diperlukan adanya deteksi kesalahan (checking error), perbaikan
kesalahan (correction error), dan pengendalian kesalahan (control error).
Checking error telah kita pelajari pada pertemuan sebelum UTS. Di antara
beberapa metode checking error adalah bit parity, BCC (Block Check Character),
dan CRC (Cyclic Redundancy Check).
Pada error control terdapat tiga metode yang sering dipakai dalam
komunikasi data, yaitu stop and wait request, go back N request, dan selective
request. Error control meliputi mekanisme-mekanisme sebagai berikut :
ACK/NAK, timeout, dan sequence number. Pada error control terjadi proses-
proses sebagai berikut : error detection, acknowledgment, retransmission after
timeout, dan negative acknowledgment.
1.2 Pembatasan Masalah
Dalam penulisan makalah ini kami membatasi masalah yang akan kami
bahas agar tidak keluar dari pokok masalah yang kita bahas karena masalah dalam
komunikasi data sangat luas. Permasalahan yang akan kami angkat dalam makalah
ini adalah mengenai continuous request, selective repeat, sequence number, dan
protocol specification.
1.3 Tujuan
Tujuan dari penulisan makalah ini adalah untuk memenuhi tugas kuliah
Komunikasi Data dan juga untuk memberikan gambaran kepada para pembaca
mengenai proses pengendalian kesalahan dalam komunikasi data.
Bab 2
Pembahasan
Tujuan dilakukan pengontrolan terhadap error adalah untuk menyampaikan frame-
frame tanpa error dalam urutan yang tepat ke lapisan jaringan. Teknik yang umum
digunakan untuk error control berbasis pada dua fungsi, yaitu:
• Error detection, biasanya menggunakan teknik CRC (Cyclic Redundancy Check)
• Automatic Repeat Request (ARQ), ketika error terdeteksi pengirim meminta
mengirim ulang frame yang terjadi kesalahan.
Error control dibagi menjadi tiga yaitu :
1. Manual error control
Misalnya jika kita melakukan kesalahan dalam pengetikan kita koreksi dengan
melakukan penghapusan terhadap karakter yang salah misalkan dengan tombol
delete atau backspace.
2. Echo checking
Prosedur yang sama digunakan ketika suatu terminal terhubung dengan remote
computer katakanlah dengan menggunakan analog PSTN dan sebuah modem. Di
samping tiap karakter yang dimasukkan ditampilkan secara langsung pada
terminal display mula-mula ia ditransmisikan ke remote computer. Remote
computer tersebut kemudian membaca dan menyimpan karakter dan
mentransmisikan ulang ke terminal yang menampilkannya. Jika berbeda dengan
apa yang telah dimasukkan user dapat memulai lagi transmisi untuk penghapusan
karakter yang salah.
3. Automatic repeat request
Terdiri dari idle request dan continuous request. Kita akan membahas lebih dalam
continuous request terutama selective repeat.
Continuous Request
Dengan skema error control continuous request, penggunaan jaringan lebih mahal
karena kebutuhan buffer untuk penyimpanan data meningkat. Dan dapat kita lihat bahwa
jaringan duplex dibutuhkan untuk implementasi continuous request. Contoh seperti pada
gambar di bawah ini.
Error Control
Tujuan dilakukan pengontrolan terhadap error adalah untuk menyampaikan frame-
frame tanpa error dalam urutan yang tepat ke lapisan jaringan. Teknik yang umum
digunakan untuk error control berbasis pada dua fungsi, yaitu:
• Error detection, biasanya menggunakan teknik CRC (Cyclic Redundancy Check)
• Automatic Repeat Request (ARQ), ketika error terdeteksi pengirim meminta
mengirim ulang frame yang terjadi kesalahan.
Error control dibagi menjadi tiga yaitu :
1. Manual error control
Misalnya jika kita melakukan kesalahan dalam pengetikan kita koreksi dengan
melakukan penghapusan terhadap karakter yang salah misalkan dengan tombol
delete atau backspace.
2. Echo checking
Prosedur yang sama digunakan ketika suatu terminal terhubung dengan remote
computer katakanlah dengan menggunakan analog PSTN dan sebuah modem. Di
samping tiap karakter yang dimasukkan ditampilkan secara langsung pada
N+1 N+2 N+3 N+4N N+5
N N
N+1
N
N+1
N+2
N+1
N+2
N+3
N+2
N+3
N+4
N+3
N+4
I(N) I(N+1) I(N+2) I(N+4)I(N+3)
I(N) I(N+1) I(N+2) I(N+4)I(N+3)
I(N+1)
I(N)
AC
K(N
)
I(N+2)
AC
K(N
+1)
I(N+3)
AC
K(N
+2)
I(N+4)
AC
K(N
+3)
Time
N+1 N+2 N+3 N+4N
N N+1 N+2 N+3 N+4
V(S) = Send sequence variable
V(R) = Receive sequence variable
Contents of link retransmission list
Contents of link receive list
Primary, P
Secondary, S
terminal display mula-mula ia ditransmisikan ke remote computer. Remote
computer tersebut kemudian membaca dan menyimpan karakter dan
mentransmisikan ulang ke terminal yang menampilkannya. Jika berbeda dengan
apa yang telah dimasukkan user dapat memulai lagi transmisi untuk penghapusan
karakter yang salah.
3. Automatic repeat request
Terdiri dari idle request dan continuous request.
Mekanisme Error control meliputi
• ACK/NAK : Provide sender some feedback about other end
• Time-out: for the case when entire packet or ACK is lost
• Sequence numbers: to distinguish retransmissions from originals
Untuk menghindari terjadinya error atau memperbaiki jika terjadi error yang
dilakukan adalah melakukan pengiriman message secara berulang, proses ini dilakukan
secara otomatis dan dikenal sebagai Automatic Repeat Request (ARQ).
Pada proses ARQ dilakukan beberapa langkah diantaranya :
• Error detection
• Acknowledgment
• Retransmission after timeout
• Negative Acknowledgment
Macam-macam error control adalah :
1. Stop and Wait ARQ
Mekanisme ini menggunakan skema sederhana stop and wait acknowledgment
dan dapat dijelaskan seperti tampak pada gambar 3.13 Stasiun pengirim mengirimkan
sebuah frame dan kemudian harus menunggu balasan dari penerima. Tidak ada frame
data yang dapat dikirimkan sampai stasiun penerima menjawab kedatangan pada stasiun
pengirim. Penerima mengirim sebuah positive acknowledgment (ACK) jika frame benar
dan sebuah negative acknoledgment jika sebaliknya.
2. Go Back N ARQ
Gambar 3.14 menampilkan aliran frame untuk mekanisme go-back-and ARQ
pada sebuah jalur full-duplex. Ketika frame 2,3, dan 4 ditransmisikan, dari stasiun A ke
stasiun B, sebuah ACK dari penerimaan sebelumnya frame 1 mengalir dari B ke A.
Beberapa waktu kemudian, frame 2 diterima dalam kondisi error. Frame-frame 2,3,4 dan
5 dikirimkan, stasiun B mengirimkan sebuah NAK2 ke stasiun A yang diterima setelah
frame 5 dikirimkan tetapi sebelum stasiun A siap mengirim frame 6.
Sekarang harus dilakukan pengiriman ulang frame-frame 2,3,4, dan 5 walaupun
hanya pada frame 2 terjadinya kesalahan. Sekali lagi, catat bahwa stasiun A harus sebuah
copy dari setiap unacknowledgment frame.
3. Selective Repeat
Selective Repeat atau dikenal juga sebagai Selective-reject. Dengan selective-
reject ARQ, frame-frame yang akan dikirimkan hanya frame-frame yang mendapat
balasan negatif, dalam hal ini disebut SREJ atau frame-frame yang waktunya sudah habis.
Cara selective-reject ARQ dalam memperbaiki kesalahan dengan cara = mulanya
bagian transmiter mengirim stream data kontinyu dari frame yang kontinyu, pada sisi
penerima data tersebut disimpan dan dilakukan proses CRC. Tapi proses CRC ini
berlangsung pada stream data yang kontinyu dari frame yang diterima. Ketika dijumpai
frame yang error, penerima mengirim informasi pada sisi pengirim melalui ‘return
channel’. Bagian pengirim kemudian mengambil frame tersebut dari tempat penyimpanan
data, lalu dimasukkan dalam antrian transmisi. Ada beberapa poin penting bagi pembaca
frame, yang pertama adalah harus ada cara untuk mengidentifikasi frame. Yang kedua
adalah harus ada cara yang baik untuk mengetahui frame mendapat balasan positif atau
balasan negatif. Kedua poin penting tersebut bisa di atasi dengan menggunakan angka
sekuensial yang dikirim dan yang diterima. Angka sekuensial yang dikirim ada pada
pengirim, begitu juga dengan angka sekuensial yang diterima berada pada penerima.
Angak sekuensial yang diterima yang dikirim kembali pada sisi pengirim adalah angka
sekuensial yang dikirim oleh sisi pengirim dan mendapat balasan positif dari sisi
penerima. Ketika sisi penerima mendeteksi kesalahan pada frame, maka sisi penerima
akan mengirimkan angka sekuensial yang dikirim bersama frame yang dianggap error.
Tentu daja pada akhirnya sisi penerima harus menata kembali frame sesuai urutannya
seperti pada sisi pengirim sebelum data diteruskan ke pengguna akhir.
Selective-reject ARQ lebih efisien terhadap go-back-N karena mengurangi
jumlah retransmisi. Namun selective-reject memerlukan kapasitas penyimpanan data
yang lebih besar baik disisi pengirim dan penerima untuk menyimpan frame sampai
frame yang rusak diretransmisi. Selain itu disisi penerima juga harus terdapat software
yang dapat mengirim frame diluar urutan agar data bisa sampai secara urut pada
pengguna akhir. Selective repeat dapat diimplementasikan dengan dua cara :
1. S menyatakan bahwa frame telah diterima dengan benar dan P menentukan dari
sequence ACK yang diterioma bahwa sebuah frame telah hilang (implicit
retransmisi)
2. S mengembalikan pernyataan negative khusus dikarenakan ada frame hilang dari
sequence (explicit request)
Dari kedua event tersebut kejadian frame diterima di luar sequence, S menahan frame ini
di saluran penerima sampai sequence frame masuk berikutnya diterima.
Pada kasus implicit retransmission dengan asumsi semua frame ACK diterima
dengan benar dapat dijelaskan sebagai berikut (Gb A) :
• Diasumsikan I-frame N+1 rusak (hilang)
• S mengembalikan frame ACK untuk tiap-tiap I-frame yang telah diterima dengan
benar.
• S mengembalikan frame ACK untuk I-frame N, N+2, N+3, …
• Pada penerimaan ACK untuk I-frame N+2, P menngetahui bahwa frame N+1
tidak diterima
• Untuk dapat mengetahui bahwa lebih dari 1 I-frame yang rusak, P memasukkan
retransmission state pada frame yang hilang (tidak diterima).
• Dalam kondisi ini, transmisi frame baru ditunda sampai frame yang tidak
diterima ditransmisikan ulang.
I(N+1)
I(N)
AC
K(N
)
I(N+2)
I(N+3)
AC
K(N
+2)
I(N+4)
AC
K(N
+3)
I(N+1)
AC
K(N
+4)
I(N+5)
AC
K(N
+1)
Gb. A. Implicit Retransmission corrupted I-frame
• P menghilangkan I-frame N+2 pada daftar retransmisi dan mengirimkan ulang I-
frame N+1 sebelum mentransmisikan frame N+5
• Dalam penerimaan I-frame N+1, isi dari frame antrian pada link receive list
dikirimkan oleh S ke LS_user pada urutan yang benar.
Sedangkan pada implicit retransmission dengan asumsi bahwa semua I-frame diterima
dengan benar kecuali ACK frame N dapat dijelaskan sebagai berikut.
• Pada penerimaan ACK frame N+1 P mengetahui bahwa I-frame N masih
menunggu pernyataan telah diterima dengan benar. Jadi P mentransmisikan I-
frame N.
• Saat penerimaan I-frame N yang diretransmisi S menentukan dari sequence
variable bahwa frame tersebut telah diterima dengan benar dan oleh karena itu
merupakan sebuah duplikat.
• S membuang frame tapi mengembalikan ACK frame untuk menggantikannya
untuk memastikan P menghilangkan frame dari daftar retransmisi.
N+1 N+2 N+3 N+4N N+4
N N
N+1
N
N+1
N+2
N+1
N+2
N+3
N+2
N+3
N
N+3
N
I(N) I(N+1) I(N+2) I(N)I(N+3)
I(N) I(N+1) I(N+2) I(N)I(N+3)
I(N+1)
I(N)
AC
K(N
)
I(N+2)
ACK(
N+1
)
I(N+3)
AC
K(N
+2)
I(N)
AC
K(N
+3)
Time
N+1 N+2 N+3 N+4N
N N+1 N+2 N+3 N+4
V(S) = Send sequence variable
V(R) = Receive sequence variable
Contents of link retransmission list
Contents of link receive list
Primary, P
Secondary, S
N
AC
K(N
)
P enters retransmission state P leaves retransmission state
N+4
Gb. B. Implicit Retransmission corrupted ACK-frame
Operasi di atas bergantung pada penerimaan frame ACK yang berhubungan
dengan frame-frame berikutnya untuk menginisiasi retransmisi frame sebelumnya yang
rusak. Usaha yang lain adalah dengan menggunakan explicit negative acknowledgment
frame untuk meminta trasnmisi ulang frame yang error. Negative acknowledgment
tersebut dikenal dengan selective reject.
Pada explicit request dengan asumsi bahwa acknowledgments hilang dalam
perjalanan dapat dijelaskan sebagai berikut (lihat Gb. C di bawah ini) :
• Mula-mula sebuah ACK frame menyatakan telah diterima semua frame di
retransmission list termasuk I-frame dengan sequence number yang dimiliki ACK
• Asumsikan I-frame N+1 rusak.
• S mengembalikan sebuah ACK frame untuk I-frame N
• Ketika S menerima I-frame N+2 S mengetahui bahwa I-frame N+1 hilang jadi S
mengirim NAK frame yang mengandung identifier untuk I-frame N+1 yang
hilang tersebut
• Dalam penerimaan NAK N+1, P menterjemahkan NAK N+1 dan saat itu S masih
N+1 N+2 N+3 N+4N N+5
N N
N+1
N
N+1
N+2
N+1
N+2
N+3
N+2
N+3
N+4
N+2
N+3
I(N) I(N+1) I(N+2) I(N+4)I(N+3)
I(N) I(N+2) I(N+4)I(N+3)
I(N+1)
I(N)
AC
K(N
)
I(N+2)
I(N+3)
N
AK(N
+1)
I(N+4)
Time
N+1 N+1 N+1 N+1N
N N+2
N+3
N+2
V(S) = Send sequence variable
V(R) = Receive sequence variable
Contents of link receive list
Primary, P
Secondary, S
I(N+1) I(N+5)
I(N+1) I(N+5)
I(N+1)
I(N+5)
AC
K(N
+1)
N+2
N+4
N+3
N+2
N+4
N+3
N+1
N+5
N+1 N+5
N+1
N+4
N+5
N+2
P enters retransmission state
N+5
N+6
P leaves retransmission state
N+1
N+4
N+1
N+5
N+3
N+6
S enters retransmission state S leaves retransmission state
Gb. C. Explicit Request Effect Correct Operation
menunggu I-frame N+1 sehingga P mentransmisikan ulang I-frame N+1.
• Ketika S mengirim NAK frame S memasukkan retransmission state
• Ketika dalam retransmission state pengembalian ACK frame ditunda
• Saat penerimaan I-frame N+1 S meninggalkan retransmission state dan
melanjutkan pengembalian ACK frame
• ACK N+4 mengakui bahwa semua frame sampai I-frame N+4 telah diterima
dengan benar termasuk frame N+4
• Timer digunakan dengan masing-masing NAK frame untuk memastikan bahwa
suatu frame rusak akan ditransmisikan ulang
Flow control
Flow control adalah suatu teknik untuk menjamin bahwa sebuah stasiun pengirim
tidak membanjiri stasiun penerima dengan data. Stasiun penerima secara khas akan
menyediakan suatu buffer data dengan panjang tertentu. Ketika data diterima, dia harus
mengerjakan beberapa poses sebelum dia dapat membersihkan buffer dan mempersiapkan
penerimaan data berikutnya.
Bentuk sederhana dari kontrol aliran dikenal sebagai stop and wait, dia bekerja
sebagai berikut. Penerima mengindikasikan bahwa dia siap untuk menerima data dengan
mengirim sebual poll atau menjawab dengan select. Pengirim kemudian mengirimkan
data.
Flow control ini diatur/dikelola oleh Data Link Control (DLC) atau biasa disebut
sebagai Line Protocol sehingga pengiriman maupun penerimaan ribuan message dapat
terjadi dalam kurun waktu sesingkat mungkin. DLC harus memindahkan data dalam lalu
lintas yang efisien. Jalur komunikasi harus digunakan sedatar mungkin, sehingga tidak
ada stasiun yang berada dalam kadaan idle sementara stasiun yang lain saturasi dengan
lalu lintas yang berkelebihan. Jadi flow control merupakan bagian yang sangat kritis dari
suatu jaringan. Berikut ini ditampilkan time diagram Flow control saat komunikasi
terjadi pada kondisi tanpa error dan ada error.
Mekanisme Flow control yang sudah umum digunakan adalah Stop and Wait dan
Sliding window, berikut ini akan dijelaskan kedua mekanisme tersebut.
Stop and Wait
Protokol ini memiliki karakteristik dimana sebuah pengirim mengirimkan sebuah
frame dan kemudian menunggu acknowledgment sebelum memprosesnya lebih lanjut.
Mekanisme stop and wait dapat dijelaskan dengan menggunakan gambar 3.6, dimana
DLC mengizinkan sebuah message untuk ditransmisikan (event 1), pengujian terhadap
terjadinya error dilakukan dengan teknik seperti VCR (Vertical Redundancy Check) atau
LRC (Longitudinal Redundancy Check) terjadi pada even 2 dan pada saat yang tepat
sebuah ACK atau NAK dikirimkan kembali untuk ke stasiun pengirim (event 3). Tidak
ada messages lain yang dapat ditransmisikan selama stasiun penerima mengirimkan
kembali sebuah jawaban. Jadi istilah stop and wait diperoleh dari proses pengiriman
message oleh stasiun pengirim, menghentikan transmisi berikutnya, dan menunggu
jawaban.
Pendekatan stop and wait adalah sesuai untuk susunan transmisi half duplex,
karena dia menyediakan untuk transmisi data dalam dua arah, tetapi hanya dalam satu
arah setiap saat. Kekurangan yang terbesar adalah disaat jalur tidak jalan sebagai akibat
dari stasiun yang dalam keadaan menunggu, sehingga kebanyakan DLC stop and wait
sekarang menyediakan lebih dari satu terminal yang on line. Terminal-terminal tetap
beroperasi dalam susunan yang sederhana. Stasiun pertama atau host sebagai penaggung
jawab untuk peletakkan message diantara terminal-terminal (biasanya melalui sebuah
terminal pengontrol yang berada di depannya) dan akses pengontrolan untuk hubungan
komunikasi.
Urutan sederhana ditunjukkan pada gambar 3.6 dan menjadi masalah yang serius
ketika ACK atau NAK hilang dalam jaringan atau dalam jalur. Jika ACK pada event 3
hilang, setelah habis batas waktunya stasiun master mengirim ulang message yang sama
untuk kedua kalinya. Transmisi yang berkelebihan mungkin terjadi dan menciptakan
sebuah duplikasi record pada tempat kedua dari file data pengguna. Akibatnya, DLC
harus mengadakan suatu cara untuk mengidentifikasi dan mengurutkan message yang
dikirimkan dengan berdasarkan pada ACK atau NAK sehingga harus dimiliki suatu
metoda untuk mengecek duplikat message.
Sliding Window Control
Sifat inefisiensi dari stop and wait DLC telah menghasilkan teknik pengembangan
dalam meperlengkapi overlapping antara message data dan message control yang sesuai.
Data dan sinyal kontrol mengalir dari pengirim ke penerima secara kontinyu, dan
beberapa message yang menonjol (pada jalur atau dalam buffer penerima) pada suatu
waktu. DLC ini sering disebut sliding windows karena metode yang digunakan sinkron
dengan pengiriman nomer urutan pada header dengan pengenalan yang sesuai. Stasiun
transmisi mengurus sebuah jendela pengiriman yang melukiskan jumlah dari
message(dan nomor urutannya) yang diijinkan untuk dikirim. Stasiun penerima mengurus
sebuah jendela penerimaan yang melakukan fungsi yang saling mengimbangi. Dua
tempat menggunakan keadaan jendela bagaimana banyak message dapat/ menonjol dalam
suatu jalur atau pada penerima sebelum pengirim menghentikan pengiriman dan
menunggu jawaban.
Deteksi Dan Koreksi Error
Sebagai akibat proses-proses fisika yang menyebabkannya terjadi, error pada
beberapa media (misalnya, radio) cenderung timbul secara meletup (burst) bukannya satu
demi satu. Error yang meletup seperti itu memiliki baik keuntungan maupun kerugian
pada error bit tunggal yang terisolasi. Sisi keuntungannya, data komputer selalu dikirim
dalam bentuk blok-blok bit. Anggap ukuran blok sama dengan 1000 bit, dan laju error
adalah 0,001 per bit. Bila error-errornya independen, maka sebagian besar blok akan
mengandung error. Bila error terjadi dengan letupan 100, maka hanya satu atau dua blok
dalam 100 blok yang akan terpengaruh, secara rata-ratanya. Kerugian error letupan adalah
bahwa error seperti itu lebih sulit untuk dideteksi dan dikoreksi dibanding dengan error
yang terisolasi.
Kode-kode Pengkoreksian Error
Para perancang jaringan telah membuat dua strategi dasar yang berkenaan dengan
error. Cara pertama adalah dengan melibatkan informasi redundan secukupnya bersama-
sama dengan setiap blok data yang dikirimkan untuk memungkinkan penerima menarik
kesimpulan tentang apa karakter yang ditransmisikan yang seharusnya ada. Cara lainnya
adalah dengan hanya melibatkan redundansi secukupnya untuk menarik kesimpulan
bahwa suatu error telah terjadi, dan membiarkannya untuk meminta pengiriman ulang.
Strategi pertama menggunakan kode-kode pengkoreksian error (error-correcting codes),
sedangkan strategi kedua menggunakan kode-kode pendeteksian error (error-detecting
codes). Untuk bisa mengerti tentang penanganan error, kita perlu melihat dari dekat
tentang apa yang disebut error itu. Biasanya, sebuah frame terdiri dari m bit data (yaitu
pesan) dan r redundan, atau check bits. Ambil panjang total sebesar n (yaitu, n=m+r).
Sebuah satuan n-bit yang berisi data dan checkbit sering kali dikaitkan sebagai codeword
n-bit.
Ditentukan dua buah codeword: 10001001 dan 10110001. Disini kita dapat
menentukan berapa banyak bit yang berkaitan berbeda. Dalam hal ini, terdapat 3 bit yang
berlainan. Untuk menentukannya cukup melakukan operasi EXCLUSIVE OR pada kedua
codeword, dan menghitung jumlah bit 1 pada hasil operasi. Jumlah posisi bit dimana dua
codeword berbeda disebut jarak Hamming (Hamming, 1950). Hal yang perlu
diperhatikan adalah bahwa bila dua codeword terpisah dengan jarak Hamming d, maka
akan diperlukan error bit tunggal d untuk mengkonversi dari yang satu menjadi yang
lainnya.
Pada sebagian besar aplikasi transmisi data, seluruh 2m pesan data merupakan
data yang legal. Tetapi sehubungan dengan cara penghitungan check bit, tidak semua 2n
digunakan. Bila ditentukan algoritma untuk menghitung check bit, maka akan
dimungkinkan untuk membuat daftar lengkap codeword yang legal. Dari daftar ini dapat
dicari dua codeword yang jarak Hamming-nya minimum. Jarak ini merupakan jarak
Hamming bagi kode yang lengkap.
Sifat-sifat pendeteksian error dan perbaikan error suatu kode tergantung pada jarak
Hamming-nya. Untuk mendeteksi d error, anda membutuhkan kode dengan jarak d+1
karena dengan kode seperti itu tidak mungkin bahwa error bit tunggal d dapat mengubah
sebuah codeword yang valid menjadi codeword valid lainnya. Ketika penerima melihat
codeword yang tidak valid, maka penerima dapat berkata bahwa telah terjadi error pada
transmisi. Demikian juga, untuk memperbaiki error d, anda memerlukan kode yang
berjarak 2d+1 karena hal itu menyatakan codeword legal dapat terpisah bahkan dengan
perubahan d, codeword orisinil akan lebih dekat dibanding codeword lainnya, maka
perbaikan error dapat ditentukan secara unik.
Sebagai sebuah contoh sederhana bagi kode pendeteksian error, ambil sebuah
kode dimana parity bit tunggal ditambahkan ke data. Parity bit dipilih supaya jumlah bit-
bit 1 dalam codeword menjadi genap (atau ganjil). Misalnya, bila 10110101 dikirimkan
dalam parity genap dengan menambahkan sebuah bit pada bagian ujungnya, maka data
itu menjadi 101101011, sedangkan dengan parity genap 10110001 menjadi 101100010.
Sebuah kode dengan parity bit tunggal mempunyai jarak 2, karena sembarang
error bit tunggal menghasilkan sebuah codeword dengan parity yang salah. Cara ini dapat
digunakan untuk mendeteksi erro-error tunggal.
Sebagai contoh sederhana dari kode perbaikan error, ambil sebuah kode yang
hanya memiliki empat buah codeword valid :
0000000000,0000011111,1111100000 dan 1111111111
Kode ini mempunyai jarak 5, yang berarti bahwa code tersebut dapat memperbaiki
error ganda. Bila codeword 0000011111 tiba, maka penerima akan tahun bahwa data
orisinil seharusnya adalah 0000011111. Akan tetapi bila error tripel mengubah
0000000000 menjadi 0000000111, maka error tidak akan dapat diperbaiki. Bayangkan
bahwa kita akan merancang kode dengan m bit pesan dan r bit check yang akan
memungkinkan semua error tunggal bisa diperbaiki. Masing-masing dari 2m pesan yang
legal membutuhkan pola bit n+1. Karena jumlah total pola bit adalah 2n , kita harus
memiliki (n+1)2m = 2n. Dengan memakai n = m + r, persyaratan ini menjadi (m + r +
1)=2r. Bila m ditentukan, maka ini akan meletakkan batas bawah pada jumlah bit check
yang diperlukan untuk mengkoreksi error tunggal.
Sequence Number
Sebelum masuk ke sequence number, ditinjau lebih dahulu tentang pengiriman
pesan antara dua komputer. Dalam suatu pengiriman pesan, andaikan aplikasi
berhubungan dengan Service Access Point 1 (SAP1) dari komputer A ke aplikasi lain
yang berhubungan dengan SAP2 dalam komputer B. Aplikasi yang berada dalam
komputer A mengirim pesan itu ke lapisan transport dengan instruksi berisi kirim pesan
itu ke SAP2 dalam komputer B. Lapisan transport kemudian mengirim pesan tersebut ke
lapisan network access, yang memberi perintah pada jaringan agar mengirim pesan
tersebut ke komputer B. Di sini jaringan tidak perlu tahu tentang identitas SAP tujuan,
yang perlu diketahui adalah data tersebut benar-benar data yang ditujukan untuk
komputer B.
Untuk mengontrol operasi di atas, control information, sama halnya dengan data
user harus ditransmisikan seperti diagram berikut :
Transport header
Data aplikasi
Transport header
Network Header Network Header
Dari gambar di atas dapat ditarik kesimpulan bahwa aplikasi pengiriman
membangkitkan blok data dan meneruskannya ke lapisan transport. Di lapisan transport
blok ini dibagi jadi dua belahan agar bisa diatur dengan mudah. Kedua belahan ditambah
dengan transport header yang berisi dengan informasi mengenai control protocol.
Kombinasi antara data lapisan berikutnya dengan control information dinamakan protocol
data unit (PDU). Dalam hal ini berkaitan pada transport PDU. Header yang ada pada
PDU ini meliputi :
• Destination SAP
Saat lapisan transport tujuan menerima transport PDU, harus diketahui kepada
siapa data tersebut dikirim.
• Sequence number
Karena protocol transport mengirimkan deretan PDU, dan memasukkannya
dalam antrian secara sekuensial sehingga saat mereka tiba tidak sesuai dengan
yang diperintahkan, entiti transport tujuan dapat memerintah mereka kembali.
• Error detection code
Entiti transport yang dikirimkan meliputi suatu kode yang merupakan fungsi dari
isi dari sisa PDU. Protocol transport yang menerima melakukan kalkulasi yang
sama dan membandingkan hasilnya dengan kode yang datang. Hasilnya akan
mengalami ketidaksesuaian bila ada error pada transmisinya. Bila hal itu terjadi,
receiver akan membuang PDU dan melakukan tindakan perbaikan.
Bab 3
Penutup
Metode koreksi error continuous request mengijinkan pengirim untuk mengirim
frame secara kontinu (terus menerus) tanpa harus menunggu penerima mengirimkan
suatu pemberitahuan bahwa frame telah diterima oleh penerima. Pemberitahuan yang
dimaksud dapat berupa positif acknowledgment (ACK) atau negative acknowledgment
(NAK).
Dengan menggunakan metode selective repeat maka frame data dapat dikirim
dengan tingkat efisiensi yang tinggi karena jika terjadi error pada saat pengiriman maka
hanya frame yang mengalami error yang akan diretransmisi sehingga dapat mengurangi
jumlah frame yang diretransmisi. Berbeda dengan metode go back N yang
meretransmisikan frame mulai dari frame yang terjadi error hingga frame yang
selanjutnya.
Tapi jika kita menggunakan metode selective repeat, kita membutuhkan kapasitas
penyimpanan yang lebih besar untuk menyimpan retransmission state dan receive list.
Selain itu juga dibutuhkan software khusus untuk mengurutkan frame-frame yang telah
diterima pada penerima.
Daftar Pustaka
http://www.techscape.co.id
Stalling, William. Komunikasi Data dan Komputer : Dasar-Dasar Komunikasi Data. Edisi Pertama. Jakarta : Salemba Teknika, 2001.
Halshall, Fred. Data Communication. 1st edition.
Pertanyaan dan Jawaban Presentasi
1. Apakah aplikasi selective repeat?
Jawab :
Aplikasi selective repeat adalah untuk koreksi error pada pengiriman suatu paket
data. Contohnya adalah pengiriman paket data pada jaringan internet. Metode
koreksi error ini bisa dikatakan paling efisien karena hanya frame yang
mengalami error yang akan diretransmisi. Koreksi error ini bertujuan agar
informasi yang dikirimkan pada penerima dapat diterima dengan baik oleh
penerima tanpa adanya kesalahan sehingga tidak merugikan pihak pengirim dan
penerima.
2. Bagaimana pengiriman data ulang? Apakah data langsung dikirim ulang saat
terjadi error atau menunggu setelah semua frame selesai dikirimkan?
Jawab :
Pengiriman data ulang akan langsung dikirim setelah pengirim tahu bahwa
penerima belum menerima paket data tertentu sesuai dengan sekuennya. Pada
metode koreksi error dengan menggunakan continuous request, pengirim dapat
mengirimkan paket data secara kontinu. Misalnya pengirim dapat mengirim paket
data ke-1, 2, 3, dan 4 secara langsung dan kontinu walaupun pengirim belum
menerima ack atau nak dari penerima. Pengirim bisa mengetahui bahwa suatu
paket data tidak terkirim atau tidak diterima oleh penerima dari ack atau NAK.
Jika pengirim tidak menerima ack dari penerima maka pengirim menyimpulkan
bahwa penerima tidak menerima paket data tersebut. Jika pengirim menerima
atau tidak menerima NAK maka pengirim menyimpulkan bahwa penerima tidak
menerima paket data tersebut.
3. Mana yang lebih efektif untuk metode koreksi error?
Jawab :
Setiap metode memiliki keunggulan dan kelemahan masing-masing.
Untuk metode go back N, keunggulannya adalah tidak memerlukan kapasitas
penyimpanan yang besar baik pada penerima maupun pada pengirim dan juga
tidak membutuhkan software khusus untuk pengurutan frame karena jika
terjadi error pada salah satu frame maka frame yang mengalami error dan
frame dengan urutan sekuen setelah frame error yang telah terkirim akan
diretransmisi. Sedangkan frame yang double akan dibuang.
Kelemahan dari metode go back N adalah kurang efisien karena terlalu
banyak retransmisi.
Keunggulan dari selective repeat adalah lebih efisien karena mengurangi
jumlah retransmisi data. Hanya frame yang mengalami error yang akan
diretransmisi sedangkan yang lain tetap.
Kelemahannya adalah memerlukan kapasitas penyimpanan data yang lebih
besar baik disisi pengirim dan penerima untuk menyimpan frame sampai
frame yang rusak diretransmisi. Selain itu disisi penerima juga harus terdapat
software yang dapat mengirim frame diluar urutan agar data bisa sampai
secara urut pada pengguna akhir.
Dari perbandingan keduanya, yang paling efisien adalah metode selective repeat.
4. Saat yang bagaimana harus menggunakan metode koreksi error? Apakah sudah
ditentukan sejak awal?
Jawab :
Metode yang digunakan sudah ditentukan sejak awal. Metode go back N dipakai
karena kita tidak memerlukan space penyimpanan yang besar baik pada penerima
maupun pada pengirim. Metode selective repeat dipakai karena tingkat efisiensi
dalam pengiriman paket-paket data (frame). Pengirim hanya akan mengirimkan
ulang paket data (frame) yang mengalami error dalam perjalanannya. Sedangkan
yang tidak mengalami error tidak dikirim ulang.