Selama pengiriman data
baik berupa sinyal digital maupun sinyal analog, data tersebut mengalami perubahan
dan kesalahan. Untuk menjaga dan meyakinkan bahwa data yang sedang dikirim akan
tiba dengan lengkap dan utuh ke penerima data tersebut, perlu dilakukan pendeteksian
kesalahan dan melakukan pembetulan kembali data jika terjadi kesalahan.
Kesalahan
komunikasi data dapat terjadi karena gangguan pada saluran, sistem pengalihan,
radiasi gelombang, crosstalk, dsb. Ada beberapa kemungkinan terjadinya kesalahan
dalam pengiriman frame-frame data, yaitu sebagai berikut :
P0
= Probabilitas kesalahan bit tunggal yang disebut dengan bit error rate
P1
= Probabilitas frame yang diterima tanpa adanya kesalahan
P2
= Probabilitas frame diterima dengan kesalahan tetapi tidak terdeteksi
P3
= Probabilitas frame diterima dengan kesalahan tetapi terdeteksi
TIPE-TIPE
KESALAHAN
Pada
sistem transmisi digital kesalahan terjadi ketika bit berubah di antara transmisi
dan penerimaan; yakni, biner 1 ditransmisikan dan biner 0 diterima, atau biner
0 ditransmisikan dan biner 1 diterima. Dua tipe kesalahan yang umum dapat terjadi;
kesalahan bit-tunggal dan ledakan kesalahan. Kesalahan bit-tunggal adalah kondisi
kesalahan yang terisolasi yang mengubah satu bit, tetapi tidak mempengaruhi bit
yang terdekat. Ledakan kesalahan dengan panjang B adalah sederetan bit B di
mana bit pertama dan terakhir serta jumlah bit menengah diterima dalam kesalahan.
Lebih tepatnya, IEEE Stddan ITU-T Recommendation Q.9 mendefinisikan kedua ledakan
kesalahan sebagai berikut. Ledakan kesalahan: grup bit di mana dua bit
mengalami kesalahan berturut-turut selalu dipisahkan kurang dari sejumlah x bit
yang benar. Bit yang mengalami kesalahan terakhir dalam ledakandan bit pertama mengalami
kesalahan pada ledakan berikutnya dipisahkan oleh x atau lebih bit yang benar.
KOREKSI
KESALAHAN
Deteksi
kesalahan merupakan teknik yang bermamfaat, ditemukan dalam protokol data link
control, seperti HDLC, dan dalam protokol transpor, seperti TCP. Bagaimanapun juga,
koreksi kesalahan menggunakan kode deteksi-kesalahan, membutuhkan blok data
yang akan ditransmisikan ulang. Untuk aplikasi nirkabel, pendekatan ini tidaklah
mencukupi untuk dua alasan.
1.
Laju kesalahan bit pada
link nirkabel dapat menjadi dan gattinggi, yang akan menyebabkan sejumlah besar
transmisi ulang.
2.
Pada beberapa kasus,
terutama link satelit, penundaan perambatan sangat lama dibandingkan dengan waktu
transmisi de buah frame tunggal. Hasilnya adalah sistem sangat tidak efisien.
Oleh
karenanya, receiver diharapkan mampu mengkoreksi kesalahan dalam sebuah transmisi
yang akan datang berdasarkan bit dalam transmisi tersebut.
CEK
PARITAS
Metodedeteksi kesalahan
dengan menggunakan bit paritas merupakan metode
deteksi yang paling sederhana. Pengendalian Kesalahan dengan bit paritas memiliki
dua sistem, yaitu paritas karakter dan paritas blok.
1.
Paritas Karakter, pada paritas karakter sebuah bit ditambahkan ke setiap karakter dalam data. Pada rekomendasi ITU-T V4
telah ditentukan bahwa bit paritas diletakkan setelah bit
ketujuh dari bit signifikan terbesar sehingga menjadi bit ke delapan.
Contoh : 1010000 menjadi 0101000
2.
Paritas Blok, dengan menggunakan paritas blok maka efesiensi pendeteksian kesalahan
dapat ditingkatkan. Pesan dibagi menjadi sejumlah blok dan setiap
blok memiliki karakter pemeriksa blok (blokcheck character) yang ditambahkan pada
akhir blok.
Contoh :
Nomor Bit 7 6 5 4 3 2 1 0
0 1 0 0 0 0 0 1
1 0 1 0 0 0 0 0
0 1 0 0 0 1 1 1
1 1 1 0 0 1 1 1
0 1 0 0 0 0 0 1
1 0 1 0 0 0 0 0
0 1 0 0 0 1 1 1
1 1 1 0 0 1 1 1
Karakter 1 0 1 0 0 0 0 0
0 1 0 0 0 0 1 0
0 1 0 0 0 1 1 1
0 1 0 0 0 1 1 1
0 1 0 0 1 0 1 1
0 1 0 0 0 0 1 0
0 1 0 0 0 1 1 1
0 1 0 0 0 1 1 1
0 1 0 0 1 0 1 1
BBC 0
0 0 0 1 1 1 1
Skema
yang paling sederhana dari deteksi-kesalahan adalah dengan membubuhi sebuah bit
paritas pada akhir sebuah blok data. Contoh umumnya adalah transmisi karakter,
dimana sebuah bit paritas disertakan pada masing-masing karakter IRA 7-bit.
Nilai dari bit ini diplih sehingga karakter memiliki angka genap dari 1
(paritas genap) atau angka ganjil 1 (paritas ganjil).
KARAKTER PARITAS
Paritas merupakan teknik deteksi kesalahan
yang biasanya digunakan pada asynchronous link. Hal ini digunakan untuk memverifikasi
integritas individu karakter (atau byte) di dalam aliran ditransmisikan. Ketika
digunakan, masing-masing karakter dilindungi oleh paritas bit tunggal yang
merupakan eksklusiflogi satu semua bit dalam karakter. Dua jenis paritas digunakan:
paritas bahkan dimana -1-paritas bit dikirim jika ada bilangan genap dari 1-bit
dan aneh yang merupakan kebalikan (yakni 1-paritas-bit akan dikirim saat ada ganjil
1-bit). Paritas bit ditambahkan ke karakter ditransmisikan pada pemancar dan penerima
diperiksa di Pada peneri maparitas tersebut dihitung ulang baik menggunakan
eksklusif atau penambah atau Finite State Machine (FSM). Implementasi menggunakan
gerbang XOR ditampilkan di bawah.
Contoh
Paritas
juga dapat dihitung dalam perangkat lunak menggunakan shift register untuk
menghitung jumlah bit '1 'di setiap byte. Jika dihitung dari paritas karakter
yang diterima tidak sesuai dengan nilai bit paritas yang diterima, maka
kesalahan paritas dikatakan telah terjadi, dan karakter normal nya akan
dihapus. Cek paritas ini mendeteksi jumlah kesalahan aneh yang disalurkan sejumlah
kesalahan bahkan tanpa mendeteksi kesalahan.
Berikut
adalah beberapa contoh untuk memeriksa pemahaman Anda. Sebuah pesan
"Halo" dikirim ke perintah serial menggunakan pernyataan pemrograman
C "printf (" Hello \ n ").
Urutan
asli karakter yang ditampilkan dalam kolom 1.
Pola
bit yang dikirimakan ditampilkan di kolom kedua (menggunakan tabel ASCII untuk melihat
apakah ini dalam rangka bit komputer atau transmisi order bit !).
Kolom ketiga
menunjukkan urutan dari bit yang diterima, termasuk beberapa kesalahan
transmisi (dapat Anda mengidentifikasi bit yang rusak?).
Menerima
ASCII karakter dan kondisi paritas yang ditampilkan pada kolom terakhir. (Dapatkah
Anda memvalidasi bahwa logika paritas mendeteksi kesalahan ini?)
Pengirim
Penerima
S010010011SS
S010010011SS H HH Valid ''
e
S011001010SS Kesalahan Paritas S011011010SS
S011011000SS
l ¿S0110110000S tidak valid
l
S011011000SS v v S011111001SS Valid ''
oo
S011011110SS S011011110SS Valid 'o'
cr
S000011011SS Kesalahan Paritas S111011011SS
Paritas,
baik di mendeteksi kesalahan, dan selalu akan mendeteksi kesalahan ganjil dalam
karakter yang diterima. Namun, jika ada bilangan genap kesalahan, pemeriksa paritas
tidak akan mampu untuk menemukan kesalahan. Pertimbangkan transmisi pesan yang
sama dan urutan yang diterima di bawah ini. Dapatkah Anda melihat baris yang
berisi nilai paritas yang baik namun sebenarnya mengandung beberapa kesalahan?
Menerima
(pola kedua dari kesalahan):
S010010011SS
S011001010SS
S011011000SS
S011011000SS
S011011110SS
S000011011SS
Pembentukan Karakter Pemeriksa Blok
CYCLIC
REDUDANCY CHECK (CRC)
Satu
dari yang paling dan yang paling kuat, dari kode deteksi-kesalahan adalah cyclic
redudancy check (CRC) atau cek redudansi siklik. Yang dapat dideskripsikan sebagai
berikut. Misalnya terdapat sebuah blok k-bit, atau pesan, sehingga transmitter
menghasilkan sebuah deretan (n-k) –bit, dikenal sebagai frame check sequence
(FCS) atau urutan cek bingkai, seperti frame hasil, terdiri dari n-bit,
dapat dibagi dengan angka yang telah ditentukan. Receiver kemudian membagi
frame yang datang dengan angka tersebut dan, jika tidak ada sisa, diasumsikan tidak
terjadi kesalahan.
Cyclic
Redundancy Check (CRC) merupakan sistem dengan penambahan kontrol bit untuk menjamin
keamanan data. Kontrol bit dibentuk oleh komputer pengirim bedasarkan atas perhitungan
data yang dikirim. Pada prinsipnya, ketika data sampai di komputer penerima
maka akan dilakukan perhitungan seperti yang dilakukan oleh komputer pengirim. Jika
hasil perhitungan sama maka tidak ada kesalahan dalam pengiriman. Untuk memahami
lebih lanjut tentang konsep CRC, sebaiknya pahami terlebih dahulu konsep pembagian
modulo 2 serta konsep penjabaran deretan bit menjadi aljabar polinomial.
Menyajikan prosedurnya dalam 3 cara :
1)
Modulo
2 Aritmatik,
2)
Polynomial,
3)
Digital
Logic
MODULO 2 ARITHMATIC
Suatu
proses arimatik dan aturan pembagian modulo 2 suatu bilangan biner dengan bilangan
biner lain adalah sebagai berikut :
1.
Jika pembagi mempunyai cacah
bit yang sama dengan bilangan yang dibagi hasilnya 1. Jika pembagi mempunyai cacah
bit yang lebih sedikit maka hasil baginy aadalah 0.
2.
Menggunakan penjumlahan biner
tanpa pembawa, dimana hanya merupakan operasieksklusif OR.
Untuk
kepentingan ini didefinisikan :
T =
(k + n) bit frame untuk ditransmisi, dengan n < k
M =
k bit message, k bit pertama dari T
F =
n bit FCS, n bit terakhir dari TP = pattern dari n + 1 bit.
Dimana
: T= 2n M + F
2M = Q + R
P P
Karena pembaginya adalah biner, remainder
selalu kurang dari 1 bit dibanding pembagi. Maka :
T – 2M + R
POLYNOMIAL
Cara kedua mengamati
proses CRC dengan menyatakan seluruh nilai sebagai Polynomial dalam suatu model
Variabel X, dengan koefisien biner. Koefisien berhubungan dengan bit-bit dalam angka
biner. Jadi untuk M=110011, kita peroleh M(x)=X5+X4+X+1,
dan untuk P=11001, kita peroleh P(x)=X4+X3+1. Operasi aritmatik
lagi berupa modulo 2.
Prose CRC
digambarkan sebagai berikut.
Xn M(x)
------- = Q(x) + R(x)/P(x) T(x) = Xn M(x) + R(x)
P(x)
DIGITAL LOGIC
Proses CRC
ditunjukkan dan sekaligus diimplementasikan sebagai rangkaian pembagi yang terdiri
dari gate Eksklusif OR dan register penggeser. Register penggeser adalah tempat
penyimpan 1 bit, dengan satu input dan satu output. Semua perangkat register
diletakkan secara simultas, sehingga menyebabkan pergeseran 1-bit di semua
register.
Rangkaiannnya diimplementasikan
sbb :
- Register memuat n-bit, setara dengan panjang
FCS
- Terdapat n atau lebih gate XOR
- Ada atau tidaknya gate berkaitan dengan ada atau
tidaknya term dalam pembagi pelinomial, P(X), tidak termasuk term Xn
Pesan M =
1010001101 M(x) =
X9 + X7 + X4 + X3+ X2 + 1
Pembagi P = 110101 P(x) = X5 + X4 + X2 + 1
Tidak ada komentar:
Posting Komentar