PENDETEKSIAN KESALAHAN

7.2 PENDETEKSIAN KESALAHAN

Pada bab sebelumnya, kita bicara tentang gangguan transmisi serta efek rate data, dan masih sinyal-terhadap-derau pada rate kesalahan bit. Dengan mengabaikan desain system transmisi akan terjadi kesalahan yang disebabkan karena perubahan satu bit atau lebih dalam frame yang transmisikan.

Sekarang kita menetapkan probabilitas-probabilitas berikut dengan memperhatikan kesalahan yang terjadi pada frame-frame yang ditransmisikan: P b : Probabilitas kesalahan bit tunggal, disebut juga dengan bit kesalahan rate (BER). P 1 : Probabilitas di mana frame tiba tanpa kesalahan bit. P 2 : Probabilitas di mana frame tiba dengan satu atau lebih kesalahan atau bit yang tak

terdeteksi. P 3 : Probabilitas di mana frame tiba dengan satu atau lebih kesalahan bit yang terdeteksi namun tanpa kesalahan bit yang tak terdeteksi. Pertama-tama amati kasus saat tidak ada cara yang diambil untuk mendeteksi kesalahan. Maka probabilitas kesalahan yang terdeteksi (P 3 ) menjadi nol. Untuk menyatakan probabilitas yang tersisa, asumsikan probabilitas dimana bit-bit tersebut yang mengalami kesalahan (P b ), konstan dan bebas untuk masing-masing bit. Maka kita dapat:

1 =(1-P b )

P 2 =1-P 1 Dimana F adalah jumlah bit per frame. Maksudnya, probabilitas di mana sebuah frame tiba tanpa penurunan kesalahan bit bila probabilitas kesalahan bit tunggal meningkat, seperti yang diharapkan. Selain itu, probabilitas di mana sebuah frame tiba tanpa penurunan kesalahan apabila dengan panjang frame juga meningkat; semakin panjang frame, semakin banyak bit yang dimiliki dan semakin tinggi probabilitas kesalahannya.

Kita ambil satu contoh sederhana untuk menggambarkan keterkaitan ini. Suatu tujuan yang ditetapkan untuk koneksi ISDN adalah BER pada canel 64-kbps harus

kurang dari 10 -6 pada sedikitnya 90 persen dari interval 1 menit yang diamati. Anggap saja sekarang kita memiliki persyaratan yang lebih sederhana yang berada

pada rata-rata satu frame dengan kesalahan bit tak terdeteksi yang bisa terjadi per pada rata-rata satu frame dengan kesalahan bit tak terdeteksi yang bisa terjadi per

6 diharapkan sebesar P -6

2 = 1 / (5,529 x 10 ) = 0,18 x 10 . Namun bila kita

mengasumsikan nilai P 1000

= 0,9999 dan karenanya P -3

b sebesar 10 , maka P 1 = (0,999999)

2 = 10 , yang kira-kira tiga orde dari magnitude terlalu besar untuk memenuhi persyaratan ini. Ini merupakan hasil yang mendorong penggunaan teknik-teknik pendeteksian kesalahan.Seluruh teknik ini beroperasi menurut prinsip berikut (gambar 7.5). Untuk frame bit tertentu, tambahan bit yang merupakan suatu kode pendeteksian kesalahan ditambahkan oleh transmitter. Kode ini dihitung sebagai fungsi dari bit-bit yang ditransmisikan lainnya. Receiver menunjukkan kalkulasi yang sama dan membandingkan dua hasilnya. Kesalahan yang terdeteksi terjadi bila dan hanya bila

terdapat ketidaksamaan. Sehingga P 3 adalah probabilitas bahwa frame berisi kesalahan dan bahwa skema pendeteksian kesalahan akan mendapati kenyataan itu. P 2 juga disebut sebagai rate kesalahan tersisa dan merupakan probabilitas yang berarti bahwa kesalahan akan menjadi tak terdeteksi walaupun skema pendeteksian kesalahan dipergunakan.

Transmitter

E = f (Data)

Data Data

Receiver

E, Eā€™ = Kode pendeteksian kesalahan

f = Fungsi kode pendeteksi kesalahan

Data

Perbanding

Eā€™ = f (Data) an

Gambar 7.5 Pendeteksi Kesalahan

Cek Paritas

Skema pendeteksian kesalahan yang paling sederhana adalah melampirkan bit paritas ke ujung blok data. Contoh khususnya yaitu transmisi karakter, di mana bit paritas dihubungkan ke setiap karakter IRA 7-bit. Nilai dari bit ini dipilih sehingga karakter memiliki angka genap sebesar 1 (paritas genap) atau angka ganjil sebesar 1 (Paritas Ganjil). Jadi, sebagai contoh, bila transmitter mentransmisikan IRA G (1110001) dan menggunakan paritas ganjil, akan melampirkan 1 dan Skema pendeteksian kesalahan yang paling sederhana adalah melampirkan bit paritas ke ujung blok data. Contoh khususnya yaitu transmisi karakter, di mana bit paritas dihubungkan ke setiap karakter IRA 7-bit. Nilai dari bit ini dipilih sehingga karakter memiliki angka genap sebesar 1 (paritas genap) atau angka ganjil sebesar 1 (Paritas Ganjil). Jadi, sebagai contoh, bila transmitter mentransmisikan IRA G (1110001) dan menggunakan paritas ganjil, akan melampirkan 1 dan

Penggunaan bit paritas bukanlah suatu pembuktian yang bodoh, sebagaimana gangguan-gangguan derau yang seringnya cukup panjang untuk bisa merusak lebih dari satu bit, utamanya pada rate data yang tinggi.

Cyclic Redundancy Check (CRC)

Kode pendeteksian kesalahan yang paling umum serta paling hebat adalah Cyclic Redundancy Check (CRC) yang dapat digambarkan sebagai berikut, dengan adanya blok bit k-bit, atau pesan transmitter mengirimkan suatu deretan n-bit, disebut sebagai Frame Check Sequence (FCS), sehingga frame yang dihasilkan, terdiri dari k+n bit, dapat dibagi dengan jelas oleh beberapa nomor yang sebelumnya sudah ditetapkan. Kemudian receiver membagi frame yang datang dengan nomor tersebut dan, bila tidak ada sisa, maka diasumsikan tidak terdapat kesalahan.

Untuk menjelaskan hal ini, kita sajikan prosedur dalam tiga cara, yakni : modulo 2 aritmatik, polynomials, dan logic digital.

Modulo 2 Aritmatik

Modulo 2 aritmatik menggunakan penambahan biner tanpa pembawa, yang hanya merupakan operasi OR-eksklusif saja. Pengurangan biner tanpa pembawa juga diterjemahkan sebagai operasi OR-eksklusif. Sebagai contoh,

Sekarang menetapkan: T = (k+n)-bit frame untuk ditransmisikan, dengan n<k M = k-bit pesan, bit k pertama dari T

F = n-bit FCS, bit n terakhir dari T P = pola n + 1 bit, ini merupakan pembagi yang sudah ditetapkan sebelumnya Kita inginkan T/P tidak memiliki sisa. Sehingga harus ditanyakan dengan:

n T =2 M+F

Yaitu, dengan cara mengalikan M dengan 2 n , sebenarnya kita telah memindahkannya ke kiri lewat bit n dan menambahi hasilnya dengan nol. Dengan menambahkan F

menghasilkan deretan M dan F, yang merupakan T. Kita ingin T bisa dibagi oleh P. Anggap saja kita membagi 2 n M dengan P:

= Q+

Ada hasil bagi dan sisa. Karena pembaginya berupa Modulo 2, sisanya selalu sedikitnya satu bit lebih pendek daripada pembagi. Kita akan menggunakan sisa ini Ada hasil bagi dan sisa. Karena pembaginya berupa Modulo 2, sisanya selalu sedikitnya satu bit lebih pendek daripada pembagi. Kita akan menggunakan sisa ini

n T=2 M+R

Apakah R memenuhi syarat bahwa T/P tidak memiliki sisa? Untuk melihatnya, amati yang berikutnya ini:

Disubtitusi dalam persamaan (7.1), kita peroleh

š‘‡ = Q+ š‘… + š‘… š‘ƒ

Bagaimanapun juga, apapun angka biner yang ditambahkan dengan modulo 2- nya sendiri akan menghasilkan nol. Sehingga

Tidak ada sisa, karenanya T bisa dibagi dengan P. jadi, FCS dengan mudah dibangkitkan.Secara sederhana membagi 2 n M dengan P dan menggunakan sisanya

sebagai FCS. Pada penerima, receiver akan membagi T dengan P dan tidak memperoleh sisa bila tidak terdapat kesalahan.

Sekarang kita perhatikan contoh sederhana berikut ini.

1. Diketahui: Pesan M = 1010001101 (10 bit) Pola P = 110101 (6 bit) FCS R = akan dikalkulasikan (5 bit)

2. Pesan dikalikan dengan 2 5 , menghasilkan 10100011010000.

3. Hasilnya dibagi dengan P: 1101010110 ā†š‘„

4. Sisanya ditambahkan dengan 2 n M untuk memberi T = 101000110101110 yang ditransmisikan.

5. Bila tidak terdapat kesalahan, receiver menerima T utuh. Frame yang diterima dibagi dengan P.

Karena tidak ada sisa, diasumsikan bahwa tidak terdapat kesalahan. Pola P dipilih sebagai satu bit lebih panjang disbanding FCS yang diinginkan,

dan pola bit yangdipilih tergantung pada jenis kesalahan yang diharapkan. Pada nilai minimum, orde bit yang tinggi maupun yang rendah dari P harus berupa 1.

Tidak ada metode yang ringkas untuk menentukan adanya satu kesalahan atau lebih. Suatu kesalahan terjadi dalam pembalikan bit. Ini ekuivalen dengan pengambilan OR-eksklusif bit dan 1 (modulo 2 dari 1 dijumlahkan ke bit): 0 + 1 = 1;

1 + 1 = 0. Jadi, kesalahan pada frame (n+k) bit dapat ditunjukkan lewat bidang (n+k) dengan 1s pada setiap posisi kesalahan. Frame T yang diperoleh dinyatakan sebagai

T = frame yang ditransmisikan

E = pola kesalahan dengan 1s pada posisi dimana kesalahan terjadi T r = frame yang diterima

Receiver akan gagal mendeteksi kesalahan bila dan hanya bila T r dapat dibagi dengan P tanpa sisa, yang ekuivalen dengan E yang dibagi dengan P. secara intuitif, hal ini tidak mungkin terjadi.

Polynomials

Cara kedua mengamati proses CRC adalah dengan menyatakan seluruh nilai sebagai polynomial dalam suatu modal variabel X, dengan koefisien-koefisien biner. Koefisien X5 + X4 + X + 1, dan untuk P = 11001, kita peroleh P(X) = X4 + X3 + 1. Operasi aritmetik lagi-lagi berupa modulo 2. Sekarang, proses CRC digambarkan sebagai:

2. n T(X) =X M(X) + R(X) Error E (X) hanya akan menjadi tak terdeteksi bila dibagi dengan P (X). Hal ini

bisa ditunjukkan [RAMA88] bahwa semua kesalahan berikut ini tidak dibagi dengan pilihan P (X) yang sesuai dan karenanya mampu dideteksi:

Āˆ Semua bit kesalahan tunggal Āˆ Semua bit kesalahan ganda, selama P(X) memiliki sedikitnya tiga 1s Āˆ Apapun angka kesalahan yang ganjil, selama P(X) memuat factor (X+1) Āˆ Apapun banyaknya kesalahan dimana panjangnya kurang dari panjang

polynomial pembagi; yakni, kurang dari atau serta dengan panjang FCS. Āˆ Kesalahan yang besar sekali

Selain itu, dapat pula ditunjukkan bahwa bila semua pola kesalahan dianggap sama, maka untuk kesalahan dari panjang r + 1, probabilitas dari kesalahan yang tak

terdeteksi [E(X) dibagi dengan p(X)] adalah 1/2 r-1 , dan untuk kesalahan yang lebih panjang, probabilitasnya adalah 1/2 r-1 , dimana r adalah panjang FCS

Empat versi P (X) yang telah digunakan secara luas adalah:

12 11 3 CRC ā€“ 12 2 =X +X +X +X +X + 1

16 15 CRC-16 2 =X +X +X +1

16 12 CRC-CCITT 5 =X +X +X +1

32 26 23 22 16 12 11 10 8 CRC-32 7 =X +X +X +X +X +X +X +X +X +X +

5 4 X 2 +X +X +X+1 5 4 X 2 +X +X +X+1

Logik Digital

Proses CRC ditunjukkan dan sekaligus diimplementasikan sebagai rangkaian pembagi yang terdiri dari gate OR-eksklusif dan register penggeser. Register penggeser adalah string tempat penyimpan 1-bit. Masing-masing tempat penyimpan memiliki jalur output, yang menunjukkan nilai yang baru saja disimpan, serta jalur input. Pada waktu yang discret (nilai disimpan di tempat penyimpan diganti dengan nilai yang ditunjukkan melalui jalur inputnya. Semua perangkat register didetakkan secara simultan, sehingga menyebabkan penggeseran 1-bit di semua register. Sirkuitnya diimplementasikan sebagai berikut:

1. Register memuat n bit, setara dengan panjang FCS.

2. Terdapat n atau lebih gate OR-eksklusif.

Bit Input

= 1 bit penggeser = Register OR-Eksklusif (a) Implementasi Register

Penggeser

C 4 C 3 C 2 C 1 C 0 C 4 C 4 C 4 input input

0 0 1 0 1 0 0 0 0 Pesan Tahapan 4

Tahapan 3

0 1 0 1 0 1 1 0 0 untuk dikirim Tahapan 5

Tahapan 6

1 1 1 0 1 0 1 0 1 Lima nol tambahan Tahapan 7

Tahapan 8

Tahapan 9

Tahapan 10 1 1 1 1 1 0 0 1 0 (b) Contoh

Tahapan 11 0 1 0 1 1 1 1 0 0

dengan input

Tahapan 12 1 0 1 1 0 1 0 1 0

sebesar

Tahapan 13 1 1 0 0 1 0 1 1 0

Tahapan 14 0 0 1 1 1 0 1 0 0 1010001101

3. Ada atau tidak adanya gate berkaitan dengan ada atau tidak adanya term dalam pembagi polynomial, P(X), tidak termasuk term X n )

Arsitektur rangkaian ini dijelaskan dengan sangat baik pertama-tama dengan cara mengamati contoh yang diilustrasikan pada Gambar 7.6. dalam contoh ini kita menggunakan

9 7 3 Pesan M = 1010001101 ; 2 M(X) = X +X +X +X +1

5 4 Pembagi P = 110101 ; 2 P(X) = X +X +X +1 Yang sudah digunakan di bagian awal pembahasan mengenai ini.

Gambar 7.6a menunjukkan implementasi register penggeser. Prosesnya dimulai dengan pembersihan register penggeser (semua nol). Pesan, atau jatah, kemudian dimasukkan, satu bit sekaligus, diawali degan bit yang paling signifikan. Gambar 7.6b adalah tabel yang now pada tabel menunjukkan nilai yang baru saja disimpan di dalam lima elemen register penggeser. Selain itu, row juga menunjukkan nilai bit input berikutnya, yang tersedia untuk operasi tahap selanjutnya.

Karena tidak ada feedback sampai bit 1 tiba pada ujung yang paling signifikan. Lima operasi pertama merupakan shift yang paling sederhana. Kapanpun bit 1 tiba di sisi kiri ujung register (C 4 ), 1 dikurangi (OR-eksklusif) dengan bit kedua (C3), keempat (C1), dan keenam (input) pada pergeseran berikutnya. Ini sama dengan proses pembagian panjang biner yang diilustrasikan sebelumnya. Proses ini berlanjut sampai dengan keseluruhan bit pesan, plus bit lima nol. Bit-bit ini nantinya menyebabkan perpindahan M ke posisi lima sebelah kiri untuk mengangkat FCS. Setelah bit yang terakhir diproses, register penggeser memuat (FCS), yang kemudian mulai dapat ditransmisikan (ditunjukkan lewat bagian yang diarsir).

Pada receiver, digunakan logik yang sama. Saat masing-masing bit M tiba, kemudian diselipkan ke dalam register penggeser. Bila tidak terdapat kesalahan, register penggeser dapat memuat pola bit untuk R di akhir M. Bit yang ditransmisikan dari R kemudian mulai tiba, dan efeknya adalah nol keluar dari register, sehingga di bagian akhir penerima, register memuat semua nol-nol.

Gambar 7.7 menunjukkan arsitektur umum implementasi register penggeser CRC untuk polynomial P(X) = āˆ‘ š‘ 

š‘ =0 š“ 1 š‘‹ dimana A 0 =A n = 1 dan semua A 1 yang lain setara baik dengan 0 maupun dengan 1.

Bit Input

C n-

C n-

Gambar 7.7 Arsitektur Umum CRC untuk Melaksanakan Pembagian

2 1+A n

1 X+A 2 X +....+A n-1 +X