Noise merupakan
suatu hal yang tidak bisa
dihindari dalam sistem komunikasi. Desain sistem telekomunikasi dilakukan untuk mengetehui pengaruh
dari noise tersebut terhadap informasi yang
ditransmisikan. Salah satu upaya yang dilakukan adalah dengan
menerapkan error control
coding. Hamming
code
merupakan contoh dari teknik error control coding
yang ada.
Kinerja
Hamming code dibedakan atas jumlah bit parity yang dimiliki. Pada telekomunikasi
memungkinkan setiap
orang untuk saling berkomunikasi
secara cepat dalam jarak yang jauh sekalipun, komunikasi
juga menjadi aspek yang sangat penting dalam pertukaran informasi. Dalam hal ini pada saat
transmisi atau pengiriman data teks juga dapat mengalami
kegagalan (error).
Error mengakibatkan perubahan
isi dari data yang ditransfer kepada penerima (Receiver) berubah atau gagal. Dalam ilmu komputer, terdapat bermacam–macam logika untuk mendeteksi dan mengoreksi
error tersebut. Salah satu cara untuk
mendeteksi
error yang sederhana adalah dengan
menggunakan Hamming Code dengan single error correction.
Hamming Code adalah
suatu algoritma pendeteksi error yang mampu mendeteksi beberapa error,
namun
hanya
mampu
mengoreksi
satu
error (single error correction). Algoritma pendeteksi error ini sangat cocok digunakan pada
situasi dimana terdapat
beberapa error yang teracak (randomly occuring errors). Algoritma Hamming
Code menyisipkan (n + 1)
check bit ke dalam 2n data bit. Algoritma ini menggunakan operasi EX-OR (Exclusive–OR)
dalam proses pendeteksian error. Input dan output data dari
algoritma Hamming Code berupa bilangan biner.
Bit
Bit
merupakan
singkatan
dari Binary
Digit. Kata Binary sendiri
diambil dari nama Binary Number system
(Sistem Bilangan Biner). Setiap angka yang terdiri dari 1 dan 0 disebut bit. Bit hampir selalu
digunakan sebagai satuan terkecil dalam penyimpanan dan komunikasi informasi. Selain
itu bit juga
satuan
ukuran, yaitu kapasitas informasi dari sebuah digit biner.
Media Transmisi
Media transmisi adalah jalur fisik yang menghubungkan antara sisi pengirim dan sisi penerima.
Secara umum media transmisi dikategorikan ke dalam dua hal
yaitu
Guided Media
dan Unguided Media.
Media transmisi yang termasuk
ke
dalam kategori
Guided Media adalah kabel twisted-pair,
koaksial dan kabel serat optic
(fiber-optic), sedangkan media transmisi Unguided Media adalah gelombang radio,
gelombang mikro dan inframerah.
Error Checking Pada Komunikasi Data
Masalah yang harus dihadapi
dalam
sistem komunikasi apapun adalah terjadinya error yang menyebabkan
sistem tersebut tidak sesuai dengan yang
diinginkan.
Hal ini terjadi juga pada sistem komunikasi data. Masalah utama dalam komunikasi data adalah
realibility. Sinyal yang dikirim melalui medium tertentu dapat mengalami
pelemahan, distorsi, dan adanya
keterbatasan bandwidth. Hal tersebut
dapat
membuat data yang dikirim menjadi rusak, hilang, berubah, atau terduplikasi. Error yang terjadi tersebut dapat
diakibatkan oleh berbagai hal seperti kesalahan dalam transmisi (hardware), network interface, interferensi
elektrik, noise (misal thermal noise), koneksi[5]. Pada saat data berada dalam transmission
system terdapat kemungkinan
data
terkorupsi (data error). Data error tersebut akan
diperbaiki oleh receiver melalui proses error detection dan error correction. Proses
error detection dilakukan oleh
transmitter
dengan cara menambahkan beberapa bit tambahan ke dalam data yang akan ditransmisikan.
Hamming Code
Algoritma Hamming
Code ditemukan oleh Richard W. Hamming
pada tahun 1940-an. Algoritma Hamming Code merupakan salah satu algoritma
pendeteksi error (error detection)
yang mampu untuk
mendeteksi
beberapa error, namun hanya mampu mengoreksi
satu
error (single error correction).
Algoritma pendeteksi error ini sangat cocok digunakan pada situasi dimana terdapat beberapa error yang teracak (randomly
occuring errors)[10].
Algoritma Hamming Code menyisipkan
beberapa buah check bit ke dalam data. Jumlah check bit yang disisipkan tergantung pada panjang data.
Algoritma Hamming
Code
merupakan salah satu algoritma pendeteksi error (error detection) dan
pengoreksi
error (error correction) yang paling
sederhana. Algoritma ini menggunakan
operasi logika
XOR (Exclusive – OR) dalam proses pendeteksian
error
(error detection) maupun proses pengoreksian
error (error correction),
sedangkan input dan output data dari algoritma Hamming Code berupa bilangan biner. Untuk data 2n bit, jumlah check bit yang disisipkan ada sebanyak
c = (n + 1)
bit.
Sehingga didapat tabel kenaikan data bit dan check bit
seperti berikut:
Data Bit
|
Check Bit
|
2
|
2
|
4
|
3
|
8
|
4
|
16
|
5
|
32
|
6
|
64
|
7
|
128
|
8
|
256
|
9
|
Check bit yang disisipkan ke dalam data ditempatkan
pada
posisi
yang
dihitung berdasarkan rumus perhitungan posisi check bit berikut:
C i = 2 i – 1
Sehingga didapat tabel posisi check bit seperti berikut:
Check Bit
|
Posisi
|
C1
|
1
|
C2
|
2
|
C3
|
4
|
C4
|
8
|
C5
|
16
|
C6
|
32
|
C7
|
64
|
C8
|
128
|
C9
|
256
|
Check bit ini yang digunakan untuk melakukan proses pendeteksi error (error detection) dan pengoreksi error (error correction).
Algoritma proses pendeteksi
error (error detection)
dan
pengoreksi error (error correction) dari algoritma Hamming Code adalah sebagai berikut:
1.Hitung panjang data input dari algoritma Hamming Code yang merupakan hasil penjumlahan dari panjang input data dan panjang check bit. Panjang. data output dari algoritma
Hamming Code sama dengan panjang
data
input dari algoritma Hamming Code.
2.Tandai semua posisi bit yang merupakan posisi dari check bit. Posisi selain
posisi check bit merupakan
posisi dari data bit.
3.Tentukan rumus
perhitungan dari masing-masing check bit. Untuk n = 1 hingga jumlah dari check bit,lakukan hal berikut:
a. Catat
semua
posisi
dimana bit
n
dari
member
position bernilai 1, kecuali
posisi bit itu sendiri.
Member
position
merupakan
bentuk
biner dari posisi bit.
b. Rumus dari check bit n sama dengan operasi XOR dari posisi – posisi yang dicatat.
4.Hitung nilai dari check bit untuk data input dan data
output.
5.Jika nilai check bit input tidak sama dengan nilai check bit output berarti terdapat kesalahan (error).
6. Lakukan operasi XOR terhadap check bit input dan check bit output.
7.Konversikan hasil operasi XOR ke
dalam bentuk bilangan desimal.
8.Jika nilai dari hasil
operasi
XOR
lebih
besar daripada panjang data input atau nilai dari hasil operasi
XOR
sama dengan posisi dari check
bit, maka terdapat lebih dari satu kesalahan (error).
9.Jika tidak, maka jumlah kesalahan (error) hanya
satu dan hasil operasi merupakan
posisi data yang
terdapat kesalahan (error).
Analisa Bit Error
Selama pengiriman
data
baik berupa sinyal
digital maupun sinyal analog, data yang dikirim berupa bit dapat mengalami
perubahan dan kesalahan (error), hal ini disebabkan karena terjadinya gangguan
pada
sinyal (noise) pada saat data ditransmisikan
melalui sistem transmisi sehingga pesan atau data yang diterima
mengalami perubahan ketika sampai pada receiver. Berikut adalah contoh bit ketika mengalami
perubahan
atau error :
Misalkan data yang dikirim karakter “D”
dimana “D”=”1000100 “
sedangkan data yang
diterima menjadi “1000000”. Dari contoh ini dapat diketahui letak
dan posisi dimana bit mengalami perubahan atau
error
Analisa Deteksi Bit Check In Error
Error Detection adalah
proses pelacakan kesalahan
selama transmisi data berlangsung, yaitu
perubahan satu atau beberapa bit dari nilai “1″ ke “0″
atau sebaliknya. Contoh untuk menentukan error
detection dapat ditentukan
dengan parity check . Parity check menambahkan sebuah bit pada setiap pengiriman sejumlah bit, sehingga jumlah bit bernilai 1 selalu
genap/ganjil. Parity bit dapat mendeteksi kesalahan 1 bit
atau Kesalahan bit dalam jumlah ganjil, namun tidak dapat mendeteksi kesalahan dalam jumlah genap.
Analisa Algoritma Hamming Code
Berikut adalah
contoh
data
teks yang akan ditransmisikan dan mengalami kesalahan (Error)
menggunakan algoritma Hamming code: Data teks yang akan di transmisikan adalah “DEDI" Penyelesain:
1.Data
masing-masing karakter
terlebih dahulu
diubah ke dalam kode ASCII kemudian di- XORkan. Data teks yang dikirim
DEDI = 0100 0100 0100 0101 0100 0100 0100 1001
sedangkan data yang diterima menjadi
DEDI = 0100 0000 0100 0101 0100 0100 0100 10012.Hitung panjang data input dan output dari Algoritma Hamming Code. Untuk data 2n bit, jumlah check bit yang disisipkan ada sebanyak c = (n + 1) bit. Panjang input dan output data = 32 bit = 25 sehingga jumlah check bit : 5 + 1 = 6 dan panjang data input dan output dari Algoritma Hamming Code = 32+6 bit = 38 bit.
Check Digit
Dipergunakan
pada :
Universal Product Code (UPC)
SBN 10
SBN 13
Bank Account Number
Credit Card Number
ISSN
Identity Card
Dll
UPC
Angka terakhir
pada UPC adalah check digit
Cara
pengecekan UPC :
1.
Tambahkan angka-angka yang berada di posisi
ganjil
2. Hasilnya dikalikan 3, kemudian ditambah dengan
angka-angka yang berada di posisi genap
3.
Hasilnya dimodulus dengan 10 dan harus
menghasilkan angka 0
Contoh 036000291452
1.
0+6+0+2+1+5 = 14 dan 14x3 = 42
2.
42+3+0+0+9+4+2 = 60
3.
60 mod 10 = 0
Credit card number
Umumnya terdiri dari 16 digit dan angka terakhir adalah check digit.
Umumnya terdiri dari 16 digit dan angka terakhir adalah check digit.
Algoritma Luhn ini telah digunakan di beberapa industri antara lain:
1. Perbankan, yaitu pada penomoran kartu kredit
1. Perbankan, yaitu pada penomoran kartu kredit
2. Telekomunikasi,
yaitu pada penomoran
identitas perangkat bergerak secara internasional (International Mobile
Equipment Identity/
IMEI) – (GSM
Association, 2011)
Berikut ini
adalah ilustrasi cara kerja algoritma Luhn:
Misalkan pada sebuah nomor kartu kredit 4563 7849 0347 5356, angka terakhir
yaitu “6” sebenarnya merupakan check digit yang ditambahkan
sebagai angka verifikasi. Untuk mengetahui apakah nomor kartu tersebut adalah nomor kartu yang valid atau tidak, maka dilakukan langkah sebagai berikut:
Langkah 1:
Kalikan setiap angka pada digit genap, dihitung dari kanan (belakang),
yaitu sebagai berikut:
4
|
5
|
6
|
3
|
7
|
8
|
4
|
9
|
0
|
3
|
4
|
7
|
5
|
3
|
5
|
6
|
x2
|
x2
|
x2
|
x2
|
x2
|
x2
|
x2
|
x2
|
||||||||
8
|
12
|
14
|
8
|
0
|
8
|
10
|
10
|
Langkah 2:
Jumlahkan
seluruh digit angka, baik angka hasil perkalian maupun angka lainnya:
Jumlah = (8) + 5 + (1+2) + 3 + (1+4) + 8 + 8 + 9 + 0 + 3 + 8 + 7 + (1+0)+ 3 + (1+0) +6
Jumlah = 78, karena angka 78 bukan kelipatan 10 maka nomor kartu kredit di atas tidak valid.
DAFTAR PUSTAKA
DAFTAR PUSTAKA
[1]. GSM Association. 2011. IMEI Allocation and Approval Guidelines Version6.0 Luhn, H.P. 1960.
Computer for Verifying Number. US Patent Office2,950,048.
[2].Jogyanto HM,
”Analisis &
Desain”, PenerbitANDI, Yogjakarta, 2005
[3]. Jusak,
“Teknologi Komunikasi
Data Modern”,
Penerbit ANDI, Yogyakarta, 2013
[4]. Ariyus, Doni & Andri, Rum K.R, “Komunikasi
Data”, Penerbit Andi, Yogyakarta, 2008
[5].NURWATI,2019.Error Detection.Jakarta,Budi Luhur.
[5].NURWATI,2019.Error Detection.Jakarta,Budi Luhur.
Tidak ada komentar:
Posting Komentar