TEKNIK
PENDETEKSIAN KESALAHAN
Pendetaksian dan pembetulan kesalahan sering
digunakan pada komunikasi data untuk mengatasi adanya korupsi dan atau
informasi yang hilang dari isyarat data yang datang pada sisi penerima. Dalam
pendeteksian kesalahan yang paling sederhana, bit paritas ditambahkan pada
akhir setiap karakter ASCII 8 bit. Bit paritas menggunakan cacah 1 untuk setiap karakter yang bitnya
berjumlah ganjil, disebut sebagai paritas ganjil contoh karakter 1010001,
sedang bit paritas yang menggunakan cacah 0 untuk setiap karakter yang bitnya
berjumlah genap. Satu Byte (karakter) terdiri dari 8 bit, setiap bit mempunyai
nilai 0 atau 1 tergantung dari standar karakternya.
Bit paritas membuat penerima mampu mendeteksi,
adanya kesalahan tunggal pada setiap karakter yang dikirimkan. Pada sistem yang
sangat sederhana, terminal pengirim harus memberitahu apabila ada kesalahan
pada karakter yang diterima oleh terminal penerima. Untuk memungkinkan hal itu, data dipecah
menjadi sejumlah blok dan setiap blok mempunyai beberapa karakter pemeriksa
yang ditambahkan. Penerima akan mengkomputasi ulang karakter-karakter pemeriksa
ini untuk menentukan apakah ada kesalahan atau tidak. Jika tidak ada kesalahan,
penerima akan mengirimkan karakter ACK ke terminal pengirim, dan blok
berikutnya akan dikirim oleh pengirim. Jika penerima mendeteksi adanya
kesalahan, penerima akan mengirimkan karakter NAK dan pengirim harus
mengirimkan ulang blok yang mengandung kesalahan tersebut. Hal ini disebut dengan sistem Automatic
Repeat Request (ARQ) dan diguna-kan bersama-sama dengan protokol-protokol yang
berorientasi bit seperti BiSynch.
Cara yang lebih baik untuk mendeteksi kesalahan
adalah Cyclic Redundancy Check (CRC) yang digunakan oleh protokol HDLC. Ada
sejumlah metoda CRC, tetapi kebanyakan sambungan HDLC menggunakan rekomendasi
ITU-T V41.
Jika tambahan bit ditambahkan ke data, penerima juga
dapat melakukan perbaikan kesalahan yang timbul. Karena memerlukan bit tambahan
sistem ini disebut Forward Error Control, yang hanya digunakan jika kanal
balik,kanal yang digunakan untuk mengacknowledge penerimaan benar atau salah,
tidak tersedia.
A. Pengedalian Kesalahan Paritas.
Ada dua bentuk sistem pengendalian kesalahan
paritas, yaitu Paritas karakter & Paritas Blok.
1.
Paritas Karakter.
Penerima akan memeriksa setiap karakter yang
diterima, dan jika cacah bit 1 itu berarti bahwa bit karakter berjumlah ganjil
misalnya 1101000. Sedangkan apabila cacah bit 0 itu berarti bahwa bit karakter
berjumlah genap misalnya 01010000. Apabila setiap penerimaan mempunyai peritas
yang sesuai, maka karakter bebas dari kesalahan.
Bit Paritas dapat dibangkitkan menggunakan
perangkat lunak atau perang-kat keras lihat gambar berikut yang menunjukan contoh perangkat keras
seder-hana untuk membangkitkan bit paritas. Dari gambar tersebut dapat dilihat
bahwa terdapat 6 gerbang EXOR yang digunakan untuk pemeriksaan sbb:
Dimisalkan suatu karakter terdiri dari tujuh
bit (kode ASCII), 0000101, diumpankan ke untai tersebut, maka karena pada
gerbang EXOR mempunyai rumus sebagai berikut 1 + 1 = 0, 1 + 0 = 1, 0 + 1 = 1
dan 0 + 0 = 0, maka untuk untai di atas merupakan gerbang dengan keluaran F1
dan keluaran F2. Lihat pada tabel berikut , untuk tabel F1 dan F2. Pada kode
EBCDIC ditambah satu gerbang lagi.
Keluaran F1 = F = 0, karena bernilai 0
disebut paritas Genap.
Keluaran F2 = NOT F = 1, karena bernilai 1 disebut paritas ganjil.
Jika karakter yang diterima 0000101 mempunyai paritas F1 = 0, maka tidak ada
kesalahan pengiriman. Tetapi jika yang
diterima terjadi kesalahan, sehingga tergambar pada penerimaan seperti berikut
ini :
Keluaran F1 = F = 1 jadi paritas
Ganjil, seharusnya paritas genap.
Keluaran F2 = NOT F = 0 paritas genap, seharusnya paritas ganjil.
Ada kesalahan pengiriman, karakter yang
diterima adalah 0000001, indikasi
kesalahan pada bit ke 5 yang seharusnya adalah 1 tapi berubah menjadi 0 di saat
berada pada media transmisi antara pengirim dan penerima. Hal ini terjadi
disebabkan adanya distorsi atau gangguan.
2.
Paritas
Blok
Effisiensi pendeteksian
kesalahan dapat ditingkatkan dengan penggunaan paritas blok. Pesan dibagi
menjadi sejumlah blok dan setiap blok mempunyai karakter pemeriksa blok (Block
Check Character, BCC) yang ditambahkan pada akhir blok. Lihat gambar
berikut menunjukan sebuah blok dengan 10
karakter yang masing-masing mempunyai paritas yang sesuai dengan karakter
masing-masing. Bit-bit paritas diletakkan pada setiap karakter berfungsi
sebagai longitudinal redundancy Check, LRC. BCC merupakan paritas untuk
menjadikan setiap kolom bit menjadi berparitas yang telah ditetapkan, apabila
paritas tidak sesuai maka ditambah oleh paritas yang disebut Vertical
Redundancy Check, pada gambar paritas karakter adalah 01000100 maka VRC yang
dalam hal ini sama dengan 01001011; kemudian ditambahkan ke bit paritas karakter
agar membentuk paritas BCC, sehingga BCC yang lengkap adalah 00001111.
Pada sisi
penerima, setiap kolom dari sebuah baris (satu karakter) diperiksa lebih
dahulu. Apabila dari lokasi kolom pada baris tersebut hanya terdapat kesalahan
tunggal (ganjil), maka dapat ditentukan dengan melakukan interseksi pada kolom
dan baris yang mengandung kesalahan tersebut bit paritas karakter salah. Tetapi
jika terdapat dua (genap) kesalahan pada sebuah karakter, maka bit paritas
karakter akan benar. Oleh karena itu, untuk lokasi baris (karakter) yang
mempunyai kesalahan genap maka perlu dicheck lagi. Dengan menggunakan BCC, maka
lokasi kolom dari baris tersebut akan salah. Hal ini berarti bahwa munculnya
kesalahan dapat dideteksi, tetapi lokasinya tidak bisa ditentukan. Dengan cara
yang sama, jika ada dua karakter yang berbeda, BCC akan benar, tetapi paritas
baris dari dua karakter ini akan salah. Hal ini menunjukan bahwa tidak semua pola
kesalahan bit dapat dideteksi. Pembangkitan
BCC tidak didasarkan pada semua karakter di dalam sebuah blok data. Hal ini
ditunjukan oleh gambar berikut:
ETX = End of Text
STX = Start of Text
SYN = Synchronous
ETB = End of Blok
SOH = Start of Header
Pada saat BCC diterima, penerima telah
membangkitkan BCC berdasarkan data yang diterima, sehingga dua BCC ini akan
dibandingkan oleh penerima. Jika hasilnya tidak sama, penerima akan mengetahui
bahwa ada kesalahan pada blok data yang diterima dan penerima akan mengirimkan
NAK ke terminal pengirim. Sebaliknya, jika sama, dikirim ACK.
3.
Block
Sum Check Charakter
Ketika block dari karakter ditransmisikan,
disini ada kemungkinan bahwa karakter dalam block karakter akan berisi bit yang
salah. Kemungkinan block berisi beberapa kesalahan yang dikenal sebagai block
error rate, ketika block dari karakter (frame) ditransmisikan. Oleh karena itu
perlu untuk dapat mencapai sebanyak mungkin mendeteksi kesalahan yang
dihasilkan dari parity tunggal bit per karakter (byte), untuk itu digunakan
penambahan sepasang bit parity yang diperhitungkan dari block character (byte)
yang komplit dalam sebuah frame. Dengan metoda ini, masing-masing character
(byte) di dalam frame sebelumnya ditandai dengan sebuah bit parity (transverse
atau baris parity). Juga diperhitungkan tambahan bit extra untuk masing-masing
posisi bit (longitudinal atau kolom parity) dalam frame komplit. Hasil sepasang
bit parity untuk masing-masing kolom referensi diserahkan ke block Sum Check
Charakter, model ini menyatakan bahwa semua bit untuk masing-masing karakter
yang terletak pada kolom dijumlahkan lihat gambar berikut :
Pada Contoh di atas, parity menggunakan
parity odd untuk baris parity (yang diinverskan), sedangkan untuk kolom
menggunakan parity even (yang sesungguhnya), dan diasumsikan frame berisi
karakter printable (cursor). Dalam contoh ini ada dua kesalahan pada baris ke 3
dan ke 7, masing-masing terletak pada kolom B5 dan B2 sehingga baik baris maupun kolom terjadi dua
kesalahan. Tentunya baik parity check baris dan parity check kolom akan
menyatakan bahwa semua benar, sebab masing-masing mempunyai dua kesalahan pada
tempat dan waktu yang sama. Dengan menggunakan Block Sum Check berarti akan
memperbaiki pendeteksian kesalahan skema property, variasi skema yang digunakan
adalah 1’s Complemen Sum sebagai baris dari Block Sum Check. Modul skema block
Sum Check dapat dilihat pada contoh berikut :
Di dalam skema, karakter
(byte) di dalam block yang ditransmisikan
menggunakan kode biner. Penambahan disini digunakan 1’s Complement
Arithmatik, artinya semua bit kolom ditambahkan sehingga menghasilkan kode
11001100. Bit 1 pada kolom B7 dipindahkan ke B0, lalu
dijumlahkan kembali. Semua bit yang dihasilkan Sum kemudian dibalik ( 1 menjadi
0 dan sebaliknya) dan digunakan untuk Block Check Charakter (BCC).
Pada Reciever, 1’s Complement
Sum dari semua karakter di dalam block termasuk Block Check Karakter yang
dihitung. Dan jika tidak ada kesalahan yang dinyatakan, hasilnya bernilai nol.
Ingat bahwa dengan 1’s Complement Arithmatik menggunakan End-Around-Carry,
bahwa perhitungan dimulai dari posisi bit kode Biner B0 yang
ditambah ke Block Sum Check sampai dengan B6. Juga untuk nilai nol
dalam 1’s Complemen Arithmatik, bahwa kode biner hasil Sum dinyatakan dengan semua kode 0 atau semua
kode 1.
Pendeteksian kesalahan
property dari skema ini lebih baik, juga dengan menggunakan Sum Modul. Sejumlah
1’s Complement dihitung, metode pendeteksian ini diaplikasikan untuk operasi
ketelitian kesalahan dalamkerja bentuk software.
B. Cyclic Redundancy Check (CRC)
Sistem yang menggunakan protokol
HDLC memanfaatkan CRC (Cyclic Redundancy Check) untuk mendeteksi kesalahan. Dalam
protokol HDLC, setiap blok data dikirim sebagai sedereten bilangan biner dan
tidak dikirim sebagai sejumlah karakter yang terpisah. Dengan demikian,
pemeriksaan paritas tidak mungkin dilaksanakan pada terminal pengirim, bilangan
biner yang menyajikan data yang akan dikirimkan dibagi oleh suatu bilangan
tertentu menggunakan aritmatika modulo-2. Dalam pembagian, akan ada hasil bagi
dari sisa pembagian; Hasil bagi tidak diperlukan dan diabaikan, tetapi sisa
pembagiannya digunakan sebagai Cyclic Redundancy Check Code (CRC). CRC akan
dikirimkan ke terminal penerima segera sesudah blok data. Pada penerima data
yang datang, termasuk CRC, dibagi dengan menggunakankan bilangan yang sama dengan bilangan yang digunakan pada terminal
pengirim dan jika data yang diterima tanpa kesalahan, sisa pembagiannya akan
sama dengan nol. Penggunaan Cyclic Redundancy Check pada sambungan data
synchron sangat efisien untuk mendeteksi
kesalahan. Bilangan biner yang digunakan sebagai pembagi disebut
pembangkit suku banyak (generting polynomial) dan harus mempunyai satu bit
lebih panjang dibanding dengan panjang CRC. Jika CRC mempunyai panjang n bit,
bilangan biner data harus dikalikan dengan 2n, yaitu bit 0 sebanyak
n buah ditambah sesudah bit signifikan terkecil. Rekomendasi V41 dari ITU-T
memerlukan 16-bit CRC dan menggunakan pembangkit suku sebanyak X16 +
X12 + X5 + 1 atau
10001000000100001.
1.
Pembagian
Modulo-2
Aturan pembagian modulo-2 suatu bilangan
biner dengan bilangan biner yang lain adalah sebagai berikut.
a)
Jika
pembagi mempunyai cacah bit yang sama dengan bilangan yang dibagi, hasilnya 1;
jika pembagi mempunyai cacah bit yang lebih sedikit, hasil baginya adalah 0.
b)
Dalam pembagian modulo-2 tidak ada yang dipinjam dan 1
- 1 = 0, 0 – 0 = 0, 1 – 0 = 1 dan 0 – 1 = 1. Karena pembagiannya adalah
pembagian biner, maka sisa pembagian selalu satu bit lebih pendek dibanding
dengan pembagi. Sebagai contoh, diketahui data 1010110101 dan dimisalkan CRC
mempunyai panjang 4 bit. Pembaginya harus satu bit lebih panjang dan bit
signifikan terkecil dan terbesar harus 1. Dimisalkan pembaginya adalah 11001
atau X4 + X3 + 1.
Data harus dikalikan dengan 24, yaitu dengan menambahkan empat 0
sebagai bit-bit signifikan terkecil. Sehingga ;
CRC dapat dibangkitkan pada kedua terminal
(pengirim dan penerima) menggunakan kombinasi yang tepat dari register geser
dan gerbang-gerbang EXOR. Cacah stage dalam register geser harus sama dengan
panjang CRC yang diperlukan dan gerbangnya lebih sedikit satu dibanding cacah
suku dalam suku banyak yang digunakan. Sehingga untuk suku banyak X4
+ X3 + 1.digunakan empat buah
register geser dan tiga gerbang EXOR. Untai yang membangkitkan suku banyak
ITU-T yaitu X16 + X12
+ X5 + 1 ditunjukan pada gambar berikut ;
Pada mulanya, semua register geser dibersihkan. Isyarat data kemudian
dimasukan, bit-demi-bit, dimulai bit signifikan terbesar dan bit pertama
bergerak dalam register geser secara normal. Selanjutnya umpan balik akan memodifikasi
kerja dari untai tersebut. Jika semua bit data telah dilewatkan dalam untai,
sisa pembagian akan tetap dalam register dan akan dikirimkan ke penerima pada
bagian akhir pesan. Pada sisi penerima,untai yang sama mempunyai CRC yang
terdetak dan apabila pada pesan yang diterima tidak terdapat kesalahan maka
semua register geser akan bernilai 0.
FCS singkatan dari Frame Check Sequensial merupakan perbaikan dari CRC,
skema tersebut cocok dipakai secara random dengan baik untuk mendeteksi sebuah
ledakan kesalahan bit. Ketika ledakan kesalahan dideteksi, bagaimanapun juga
kami harus menggunakan metoda yang lebih teliti. Ledakan kesalahan dimulai dan
diakhiri dari bit yang salah, malahan bit antara yang boleh dan tidak boleh
dihilangkan. Jadi kesalahan yang meledak didefinisikan sebagai sejumlah bit
yang salah secara berturutan antara sesudah
dan sebelum bit yang benar. Selanjutnya ketika menentukan panjang dari
ledakan kesalahan, dimulai dari awal bit yang salah sampai dengan akhir dari
bit yang salah dalam ledakan dinyatakan dengan B atau antara bit yang benar,
dimana B panjang dari ledakan kesalahan. Contoh dari panjang dua ledakan
kesalahan yang berbeda, terlihat pada gambar berikut :
Contoh di atas bahwa kesalahan pertama
adalah bit ke 3 kemudian 6 lalu 13 tidak
dapat dinyatakan bahwa panjang kesalahan adalah 11, sebab untuk ledakan
kesalahan pertama terjadi pada karakter ke 2 panjang ledakan 4 dan berikutnya
adalah ledakan pada karakter ke 5 panjang ledakan adalah 6.
Parity atau karangan block Sum
Check ini, tidak dapat diandalkan penggunaanya untuk skema ledakan kesalahan
yang banyak. Alternatif lain, digunakan adalah Code Polinomial. Code Polinomial
digunakan untuk frame (atau block) dalam skema transmisi, dimana sepasang digit
check dibangkitkan (computed) untuk masing-masing frame yang disalurkan.
Dasarnya adalah sepasang digit check dari frame tersebut dilampirkan oleh
transmitter di bagian belakang frame.
Penerima kemudian membuat perhitungan yang sama pada frame secara
komplit dari check digit, jika ada kesalahan yang dideteksi tapi tidak
diketahui hasilnya. Maka akan selalu diperoleh jawaban yang berbeda, hal itu
mengindikasikan suatu kesalahan.
Jumlah digit check per frame
yang diseleksi untuk type yang serupa, dengan antisipasi kesalahan penyaluran
melalui 16 dan 32 bit yang banyak dan umum. Menghitung check digit yang
diserahkan ke frame check sequence (FCS) atau CRC digit, dengan menggunakan
teori matematik polynomial code untuk modulo-2 arithamtika sbb :
M(x) mengerjakan sejumlah k bit (pesan yang
dipancarkan)
G(x) mengerjakan sejumlah (n+1) bit (pembagi atau
pembangkit)
R(x) mengerjakan sejumlah n bit limit k>n
(sisanya).
Kemudian jika :
M(x) * 2n/G(x) =
Q(x) + R(x)/G(x) dimana Q(x) adalah
quotient.
(M(x) * 2n +
R(x))/G(x) = Q(x) diasumsikan modulo-2
arithmatik
Persamaan untuk Q(x) sejak
dijumlahkan kepada modulo-2 itu sendiri akan menghasilkan nol, dalam hal ini
menghasilkan sisa adalah nol. Untuk mengexploitasi ini, frame yang berisi
komplit M(x) bersama dengan sifat persamaan yang menghasilkan nol ke sejumlah
FCS. Digit yang dibangkitkan (dengan equipment ke pesan yang dimultiplexing
oleh 2n, dimana n adalah jumlah dari digit FCS) kemudian dibagi dengan modulo-2
oleh sejumlah binary kedua, G(x) membangkitkan polinomial yang berisi sebuah
digit lebih besar dari pada FCS. Divisi operasi persamaan membentuk Exclusive
OR Operasi bit demi bit secara parallel untuk masing-masing bit dalam frame
yang diproses. Sisa R(x) bersama FCS yang kemudian dikirimkan kepada penerima,
penerima bitstream termasuk FCS digit kembali dibagi oleh generator polynomial
yang sama yaitu M(x) * 2n + R(x)/G(x). Dan jika tidak ada kesalahan yang
dideteksi maka sisa adalah nol, tetapi jika ada kesalahan yang dideteksi maka sisanya
tidak nol.
Contoh: untuk Pesan yang berturutan dengan 8
bit dalam block (frame) yang dipancarkan (disalurkan) melalui data link
menggunakan CRC, untuk mendeteksi kesalahan digunakan generator polinomila
11001.
Buat ilustrasi untuk berikut ini :
a. Proses pengiriman data menggunakan FCS.
Pembuatan FCS untuk pesan A = 1000001 pertama
dari empat code 0 yang menyajikan pesan yang sama dengan multiplexing sbb :
Pesan A = 1000001 pesan dilampiri dengan FCS
sbb : 1000001 0000 kemudian dibagi oleh
11001 di dapat sbb :
b. Proses pengecheckan FCS pada penerima sebagai
berikut ;
Frame yang diterima adalah 1000001 1111 kemudian frame tersebut diambil
data yang telah dipisahkan sisa pembagiannya sehingga data menjadi 1000001 0000
kemudian data tersebut dikurangi sisa pembagian sebesar 1111 frame menjadi 1000000 0001 yang kemudian
dibagi dengan 11001 sebagai berikut :
Isi frame yang disalurkan = 1000001 0000 tidak ada kesalahan
Misalnya yang ditrima
adalah = 1000001 0110, setelah proses
pemisahan dan pengurangan frame menjadi maka ketika di dibagi oleh pembagi
hasilnya tidak 1000000 1010 jadi ada kesalahan.
Pesan 2n FCS dengan
menggunakan 4 bit, kemudian dibagi (modulo-2) oleh generator polynomial
(sejumlah binary). Operasi Divisi modulo-2
sama dengan bentuk operasi exclusive OR yaitu masing-masing bit demi bit
parallel yang diproses oleh pembaginya yaitu dengan modulo-2 arithmatik. Dimana
masing-masing bagian mempunyai sisa, sisa tersebut digunakan sebagai Frame
Check Sequential panjangnya 4 angka. Bahwa bit signifikan selalu mempunyai kode
1, jumlah relative tidak dipertimbangkan. Pada contoh sisa bit (1111) adalah
FCS, yang kemudian dilampirkan pada bagian belakang dari pesan ketika
disalurkan (1000001 1111).
Pada reciever menerima secara
berturutan bit dengan komplit, kemudian dibagi oleh generator polynomial yang
sama seperti pada pengirim. Pada contoh di atas apabila hasil pembagian adalah
0000 maka tidak ada kesalahan, tetapi jika hasilnya tidak sama dengan 0000 ada
kesalahan di dalam input bit yang terletak pada akhir dari bit pesan yang
disalurkan secara berturutan. Kesimpulannya, hasil tidak nol indikasi terjadi
kesalahan pada transmisi. Type generator polynomial yang dipilih adalah type
tertentu, untuk diasumsikan terjadi kesalahan yang dideteksi pada frame yang ditransmisikan.
T(x) misalnya adalah 1000001, kemudian dibagi dengan modulo-2 arithmatik
menghasilkan E(x) adalah 1111 kemudian
akan disalurkan menjadi T(x) + E(x) sama dengan 10000011111 . Pada penerima
(T(x) + E(x))/G(x) = T(x)/G(x) + E(x)/G(x), jika E(x)/G(x) tidak ada sisa maka
tidak ada kesalahan tetapi jika E(x)/G(x) ada sisa maka ada kesalahan.
Contoh, semua G(x) mempunyai
tiga term (bit 1) dan E(x)/G(x) memberi sisa untuk semua bit tunggal dan semua
bit double ketika dibagi oleh modulo-2 arithmatik yang dideteksi,
konsekuensinya terjadi kesalahan yang panjang dari G(x) yang mungkin
adalah multiple G(x) atau tidak
mendeteksi hasil sisa yang nol.
Kesimpulan, generator
polynomial R bit bisa mendeteksi :
a. Semua kesalahan bit tunggal
b. Semua kesalahan bit double
c. Semua kesalahan bit odd.
d. Semua ledakan kesalahan yang < R
e. Semua ledakan kesalahan yang => R
2.
Pembetulan
Forward Error.
Sistem
Error Control dapat dimanfaatkan dan dapat membetulkan kesalahan pada data yang
diterima. Karena pengiriman ulang menggunakan BCC atau CRC lebih efisien,
pembetulan forward error jarang digunakan kecuali jika kanal balik tidak
tersedia. Dalam hal ini diperlukan adanya bit-bit tambahan sehingga lokasi, dan
adanya kesalahan dapat ditentukan. Sandi deteksi kesalahan yang paling banyak
digunakan adalah sandi Hamming. Sandi ini mengguna-kan bit-bit cek paritas yang
diletakkan pada posisi-posisi tertentu pada setiap blok data; bit-bit ini
memungkinkan dilakukannya pemerik-saan paritas jamak pada terminal penerima.
Posisi bit-bit Hamming dinyatakan dalam 2n , dengan n adalah
bilangan bulat. Sehingga, untuk menghitung posisi bit-bit Hamming pada posisi 20 = 1, 21 =
2, 22 = 4, 23 = 8, 24 = 16, dst untuk posisi 5
= 1x20 + 1x22. Misalnya ada pesan 1100001011001000;
setelah bit-bit Hamming disisipkan, pesan diatas akan berubah menjadi
11000010110X01000XX. Nilai X perlu ditetapkan 1 atau 0. Untuk menentukannya
setiap posisi bit 1 pada data ditandai dan nilai biner ditambahkan ke
masing-masing posisi menggunakan aritmatika modulo-2 . (Pada modulo-2 penambahan bit 1 dengan cacah genap akan
menghasilkan 1 tanpa ada yang dipinjam). Dalam contoh ini bit-bit 1 berada pada
posisi 6, 10, 11, 13, 18, dan 19. Penjumlahan bit-bit ini akan memberikan hasil
seperti ditunjukan pada tabel berikut ;
Tabel 11.
Sandi
19
18
13
11
10
6
|
1
1
0
0
0
0
|
0
0
1
1
1
0
|
0
0
1
0
0
1
|
1
1
0
1
1
1
|
1
0
1
1
0
0
|
|
0
|
1
|
0
|
1
|
1
|
Penyisipan
bit-bit Hamming dalam data akan menghasilkan 1100001011010100011. Pada terminal
penerima, nilai biner dari setiap posisi bit 1 ditambahkan pada untaian bit
yang diterima, dengan menggunakan aritmatika modulo-2. Jika data diterima tanpa
kesalahan, hasil penjumlahan sama dengan nol seperti ditunjukan pada tabel
berikut ;
Tabel 12. Sandi
19
18
13
11
10
8
6
2
1
|
1
1
0
0
0
0
0
0
0
|
0
0
1
1
1
1
0
0
0
|
0
0
1
0
0
0
1
0
0
|
1
1
0
1
1
0
1
1
0
|
1
0
1
1
0
0
0
0
1
|
|
0
|
0
|
0
|
0
|
0
|
Jika
terdapat kesalahan pada bit tunggal, kesalahan dapat ditunjukan dengan melihat
hasil penjumlahan modulo-2. Dimisalkan,bahwa bit ke 11 dari data yang diterima
mengandung kesalahan, yaitu 0 dan bukan 1. Penjumlahan modulo-2 akan membrikan
hasil seperti ditunjukan pada tabel berikut :
Tabel
13. Sandi
19
|
1
|
0
|
0
|
1
|
1
|
18
|
1
|
0
|
0
|
1
|
0
|
13
|
0
|
1
|
1
|
0
|
1
|
10
|
0
|
1
|
0
|
1
|
0
|
8
|
0
|
1
|
0
|
0
|
0
|
6
|
0
|
0
|
1
|
1
|
0
|
2
|
0
|
0
|
0
|
1
|
0
|
1
|
0
|
0
|
0
|
0
|
1
|
|
0
|
1
|
0
|
1
|
1
|
Hasilnya 01011
sama dengan nilai desimal 11, yang merupakan lokasi dari bit yang salah,
sehingga bit ke 11 dapat dikoreksi dengan membalik nilai bitnya.
3. ITU-T
V42
Rekomendasi
dari ITU-T V42 mengacu pada penggunaan teknik pengubahan tak sinkron ke sinkron
untuk pemeriksaan kesalahan pada modem penerima. Rekomendasi ini merupakan
kesepakatan antara dua protokol pembetulan kesalahan,yang dikenal dengan MNP
(Micro-com Networking Protocol) klas 3 dan 4, dan HDLC berbasis ITU-T LAP-M
(Link-Acces Protocol). Protokol LAP-M ditempatkan pada bagian utama dari
rekomendasi tersebut dan MNP diletakan pada bagian lampiran. Standar MNP telah
digunakan untuk beberapa tahun sebelum standar LAP-M diperkenalkan dan sering digunakan
untuk pengiriman data berkecepatan tinggi lewat jalur telephone tak berkondisi.
Kals-klas MNP adalah sebagai berikut :
a)
Klas 1 adalah
Half-Duplex berorientasi karakter sinkron tetapi tidak lagi digunakan.
b)
Klas 2 adalah
Full-Duplex berorientasi karakter tak sinkron dengan mengirimkan byte
dalampaket panjang tertentu yang berisi kata pemeriksa kesalahan. Modem
penerima harus mengenali penerimaan yang benar dari setiap paket.
c)
Klas 3 adalah
Full-Duplex berorientasi bit sinkron dan karena tidak ada bit mulai atau
berhenti yang diperlukan, overhead dikurangi sampai kira-kira 25%.
d) Klas 4 adalah protokol
pembetul kesalahan yang juga menyediakan beberapa kompresi data. Kompresi data
meliputi adaptive packet assembly supaya modem dapat mengemas paket data yang
dikirim dan kesalahan sebagai suatu kesalahan. Di dalamnya juga meliputi data
phase optimisation yang menghilangkan bit pengendali yang diulang-ulang dari
aliran data yang dikirimkan. Kedua teknik ini meningkatkan throughput suatu
modem sampai kira-kira 120% Data yang dikirimkan berbentuk paket-paket yang
ukurannya bervariasi sesuai dengan laju kesalahan pada jalur telephone, jika
laju kesalahan bertambah akan digunakan paket data yang lebih kecil. Data Phase
Optimization mengurangi sejumlah informasi administratif sehingga dpt menaikan
trhoughput s/d 120%.
e) Klas 2-4 adalah public
domain tetapi klas 5-10 adalah lisensi Microcom.
f) Klas 5 menyediakan
fasilitas pemampatan data untuk data tak sinkron. Klas 5 dapat memampatkan data
dengan faktor 2 yang secara efektif mengandalkan kecepatan pengi-riman data.
g) MNP 6 menggunakan teknik
Universal Link Negotiation, yang memungkinkan dua modem mulai mengirimkan data
pada kecepatan bit yang rendah dan setelah kemampuan sirkit dan modem diketahui
kecepatan bit akan diubah menjadi lebih tinggi
h) MNP 7 menggunakan penyaji
Huffman untuk menyediakan sistem kompresi data yang lebih effisien dari MNP 5.
Rasio kompresi kadang-kadang dapat mencapai 3.
i)
MNP 9 (tidak ada MNP 8) digunakan untuk mengurangi overhead dari operasi
modem tertentu. Masuknya paket data yang benar digabung dengan paket
berikutnya. Jika ada kesalahan maka hanya data yang salah yang harus dikirim
kembali.
j)
MNP 10 adalah Adverse Channel Enhancements yang memungkinkan sebuah modem
bekerja lebih baik lewat sirkit telephone yang buruk. Protokol memungkinkan dua
modem mencoba berkali-kali membentuk suatu sambungan, mengoptimalkan ukuran
paket, dan untuk menggunakan kecepatan bit tertinggi yang mungkin. MNP 10
digunakan dengan komunikasi data lewat sambungan radio seluler.
Sumber :
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&sqi=2&ved=0ahUKEwjQg52n_ZPTAhXHK48KHSXhDOcQFggfMAE&url=https%3A%2F%2Fmapbigi.files.wordpress.com%2F2009%2F08%2Fkomunikasi-data.doc&usg=AFQjCNFdSOKUyqkjYXYFgM8U3xDmcXoxrA&sig2=wur8GzH3RyGfj7Rr2GQ_XA&bvm=bv.152174688,d.c2I
0 komentar:
Posting Komentar