You are on page 1of 13

TUGAS ORGANISASI KOMPUTER

Studi kasus Pengertian, Sejarah dan Cara Kerja Hamming


Code

Kadek Andre Mahendra


160030872
Sistem Informasi

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN


TEKNIK KOMPUTER
(STMIK) STIKOM BALI

2017

i
Kata Pengantar

Puji syukur saya panjatkan kehadirat Tuhan YME yang telah memberikan
rahmat serta karunia-NYA kepada saya sehingga saya berhasil menyelesaikn
Tugas ini dengan tepat waktunnya yang berjudul Pengertian, Sejarah dan Cara
Kerja dari Hamming Code.
Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa karena
dengan rahmat, karunia, serta karunia-Nya penulis dapat menyelesaikan tugas
tentang Pengertian, Sejarah dan Cara Kerja dari Hamming Code ini dengan baik
meskipun banyak kekurangan didalamnya. Penulis berterima kasih pada Bapak I
Gusti Ngurah Ady Kusuma, S.Kom, M.Kom, selaku dosen mata kuliah
Organisasi Komputer yang telah memberikan tugas ini kepada penulis.
Penulis berharap tugas ini dapat berguna dalam rangka menambah wawasan
serta pengetahuan mengenai pengertian, sejarah dan cara kerja dari hamming
code. Penulis menyadari sepenuhnya bahwa di dalam tugas ini terdapat
kekurangan dan jauh dari kata sempurna. Penulis berharap adanya kritik, saran
dan usulan demi perbaikan tugas yang telah pebulis buat di masa yang akan
datang, mengingat tidak ada sesuatu yang sempurna tanpa saran yang
membangun.
Semoga tugas ini dapat dipahami bagi siapapun yang membacanya.
Sekiranya laporan yang telah disusun ini dapat berguna bagi penulis maupun
orang yang membacanya.
Akhir kata, penulis mengucapkan terima kasih kepada semua pihak yang
telah berperan serta dalam penyusunan tugas ini dari awal sampai akhir
penyelesaian.

Denpasar, Mei 2017

Penulis

ii
DAFTAR ISI

COVER ........................................................................................................... i
KATA PENGANTAR .................................................................................... ii
DAFTAR ISI ................................................................................................... iii
BAB I PENDAHULUAN ............................................................................... 1
A. Latar Belakang .................................................................................... 1
B. Rumusan Masalah ............................................................................... 1
C. Tujuan Pembahasan ............................................................................ 1
BAB II PEMBAHASAN ............................................................................... 3
A. Definisi dan Sejarah Hamming Code ................................................... 3
B. Definisi Parity Bit ............................................................................... 3
C. Implementasi dan Cara Kerja Hamming Code .................................... 4
D. Pengecekan Data yang Dikirim Dengan Hamming Code ................... 7
E. Penerapan Dengan Matriks ................................................................. 8
BAB III PENUTUP ....................................................................................... 9
A. Kesimpulan ......................................................................................... 9
DAFTAR PUSTAKA .................................................................................... 10

iii
BAB I
PENDAHULUAN

A. Latar Belakang
Sistem computer memiliki tiga komponen utama, yakni CPU, memori dan
peralatan masukan/keluaran (I/O). Dalam menjalankan fungsinya sebagai masukan
dan keluaran diperlukan modul I/O. Modul I/O merupakan peralatan antarmuka
(interface) bagi sistem bus atau switch, sentral dan mengontrol satu atau lebih
perangkat periperhal. Modul I/O tidak hanya sekedar modul penghubung, tetapi
sebuah piranti yang berisi logika dalam melakukan fungsi komunikasi antara
peripheral dan bus komputer.
Pada berbagai alat telekomunikasi dan informasi terdapat berbagasi kesalahan
pada transmisi data. Untuk menghindari hal tersebut, berbagai perangkat yang
digunakan dalam pengiriman data memiliki sistem yang dapat memberikan data
tambahan yang mampu digunakan untuk mengkoreksi data yang dikirimkan.
Sistem koreksi tersebut dikenal luas oleh berbagai macam orang dengan sebutan
error correcting code atau juga forward error correction.
Ada beberapa metode yang digunakan untuk mendeteksi error dan
mengkoreksi error yang terjadi, salah satu metode tersebut adalah dengan
menggunakan metode Hamming code. Metode ini merupakan salah satu jenis linier
error correction code yang sederhana. Keuntungan yang didapatkan dengan
metode ini adalah cara kerjanya yang cukup sederhana, tidak membutuhkan alokasi
memori yang banyak dan tidak diperlukanya pengiriman kembali data dalam suatu
pengiriman.

B. Rumusan Masalah
Berdasarkan uraian pada poin latar belakang, perumusan masalah yang dapat
diambil pada tugas ini yakni pengertian hamming code beserta sejarah dari
Hamming code, implementasi Hamming code, pengertian bit parity, pengecekan
data yang dikirim dan penerapan dengan matriks Hamming code.

C. Tujuan Pembahasan

1
Tujuan pembuatan tugas ini yakni, untuk mengetahui lebih luas tentang apa itu
hamming code beserta sejarah dari Hamming code dan implemantasi nya dalam
kehidupan sehari-hari, pengertian bit parity yang digunakan dalam metode
Hamming code serta pengecekan data yang dikirim dan penerapan dengan matriks
dalam Hamming code

2
BAB II
PEMBAHASAN

A. Definisi dan Sejarah Hamming Code


Kode hamming diperkenalkan oleh Richard. W. Hamming pada tahun 1950.
Pada tahun 1940an Hamming bekerja sebagai pengamat pada perusahaan Bell
Telephone laboratories. Hamming bertugas di bagian Laboratorium dan menangani
mesin Bell Model V. Bell Model V merupkan alat pengirim pesan menggunakan
gelombang elektromagnetik. Akibat banyaknya gangguan yang ada, banyak
kesalahan yang harus diperbaikinya. Hal itu membuatnya harus memeprbaiki
banyak kesalahan dan pada saat itu Hamming menemukan metode Hamming code
untuk mempermudah memperbaiki kode-kode yang ia tangani.
Metode kode hamming merupakan salah satu metode pendeteksi error dan
pengoreksi error (error detection and error correction) yang paling sederhana.
Metode ini menggunakan operasi pendeteksian error maupun pengkoreksian error.
Input dan output dari metode ini merupakan bilangan binner. Hamming code
meruapakan salah satu jenis linier error correcting code yang sederhana dan
banyak digunakan pada peralatan elektronik.
Metode Hamming code bekerja dengan menyisipkan beberapa buah check bit
ke data. Jumlah check bit yang di sisipkan tergantung pada panjang data. Hamming
code juga memiliki rumus tersendiri untuk mendeteksi kesalahan (error). Seperti
koreksi kesalahan kode, kode Hamming memanfaatkan konsep paritas dan bit
paritas, yang merupakan bit yang ditambahkan ke data sehingga validitas data
dapat diperiksa ketika dibaca atau setelah telah diterima di transmisi data.
Menggunakan lebih dari satu bit paritas, kode koreksi kesalahan tidak bisa hanya
mengidentifikasi kesalahan bit tunggal dalam unit data, tetapi juga lokasi di data
unit.

B. Definisi Parity Bit


Parity Bit adalah sistem pengecekan data yang pertama kali ada. Parity bit
code menunjukan ganjil atau genapnya jumlah bit yang bernilai 1. Parity bit dibagi
menjadi 2 jenis, yaitu even dan odd. Even parity akan menunjukkan nilai 1 bila

3
jumlah bit 1 genap, sebaliknya odd parity akan memberikan nilai 1 jika jumlah bit
satu ganjil. Parity bit code ini bebas diletakkan dimanapun sesuai kesepakatan
penerima dan juga pengirim. Parity bit memiliki kelemahan yang tidak dapat
mendeteksi bila terjadi dua buah kesalahan sekaligus. Contohnya bila 1111111
terkirim sebagai 11011110 pada odd parity code yang seharusnya adalah
11111111.
Hingga saat ini parity code masih digunakan pada perangkat SCSI dan PCI
buses pada komputer. Penggunan dari parity code ini dikarenakan minimnya
kesalahan yang dilakukan pada SCSI dan PCI buses saat meng-copy data dari
memory. Error correction code yang hanya dapat mengecek sebuah kesalahan akan
menjadi masalah untuk data yang panjang, sehingga penggunaan error correction
code biasnya digunakan dengan cara membagi-bagi data ke dalam ukuran bit yang
lebih kecil.
Pengunaan parity bit code biasanya digunakan untuk setiap 7 bit memiliki
satu parity code. 7 bit juga dapa disebut sebagai jarak kode. Semakin kecil jarak
kode, maka kesalahan pun dapat dikurangi, sebaliknya untuk jumlah data yang
sama, jumlah parity bit kode menjadi lebih banyak, dan ukuran data yang diterima
pun lebih besar. Pengulangan jarak selalu sama untuk setiap data yang dimasudkan
sesuai dengan sistem yang sudah diperjanjikan sebelumnya. Kebanyakan dari error
correcting code bertipe SECDED (single error correction and double error
detecting). Untu tiga buah kesalahan atau lebih dapat tidak terdeteksi.

C. Implementasi dan Cara Kerja Hamming Code


Banyaknya Hamming code yang dibutuhkan bertambah sesuai dengan
banyaknya data dan posisi yang harus diisi dengan data tersebut. Persamaan jumlah
parity code yang dibutuhkan dengan banyaknya data ialah:

2n (1 + n) (data)

Misal untuk 4 buah data, maka kita membutuhkan 3 buah Hamming code.
Banyaknya kode agar dapat single error correction and double error detecting
(SECDED) minimal harus sesuai dengan persamaan di atas, karena setiap hamming

4
code mengecek jumlah data yang spesifik dengan posisi yang spesifik sesuai
dengan yang dapat dilihat di table. Hal ini menyebabkan jumlah Hamming code
yang diperlukan adalah spesifik sesuai dengan besarnya data yang ada.

Banyaknya bit data yang Jumlah Hamming Code Jumlah data yang
akan dikirimkan yang dibutuhkan dikirimkan
1 2 3
4 3 7
11 4 15
26 5 31
57 6 63

Tabel diatas menunjukan hubungan banyaknya data yang memenuhi


SECDED kode Hamming. Dapat diperhatikan bahwa untuk mengkoreksi suatu
kesalahan dari data yang besar kode Hamming sangat efektif, karena banyaknya
data bertambah sebesar 2 pangkat N. Pemposisian kode Hamming pun mimiliki
aturan tersendiri agar dapat mengecek kesalahan. Aturan yang digunakan dalam
menyusun data dengan menggunakan Kode Hamming adalah sebagai berikut:
a) Tiap posisi yang merupakan power of 2 (bilangan yang merupakan 2
pangkat n untuksemua n bilangan asli) dikosongkan untuk diisi dengan
Hamming Code. (Posisi 1, 2, 4, 8, 16, 32 dikosongkan)
b) Tiap bilangan diurutkan ke dalam posisi yang tidak digunakan untuk
mengisi Hamming Code (Posisi yang diisi adalah 3, 5, 6, 7, 9, 10, dst.)
Contoh: untuk kode 1100 diubah menjadi xx1x100
Posisi 1 2 3 4 5 6 7
Bit X X 1 X 1 0 0

c) Pengisian untuk kode dengan posisi ke n adalah dengan parity bit untuk
bilangan yang sesusai dengan aturan :

5
Tabel Kode untuk membuat Hamming Code

d) Semua bilangan sebelum n-1 tidak diperhatikan


e) Memparity semua bilangan sebanyak n ke depan, dan meloncat bilangan
sebanyak n
f) Contoh : untuk mengisi posisi kedua, cek posisi ke 2,3 loncat posisi ke 4, 5
cek posisi ke 6 dan 7. Sehingga untuk contoh di atas p2 = 2 3 6 7
, dan p2 adalah 1. Untuk contoh diatas maka table lengkapnya adalah

Posisi 1 2 3 4 5 6 7
Bit 0 1 1 1 1 0 0

P1 adalah 1, p2 adalah 0 dan p3 adalah 0, sehingga untuk kode 1100 maka


akan dikirimkan bit sebagai 1010100 dengan hamming code

Data biasa Hamming Code


1 111
1111 1111111
1110 0010110
1101 1010101

Pengecekan kode dengan Hamming code seperti itu belum dapat memenuhi
SECDED, yang terjadi ialah single error correction or double error detecting yang
tidak dapat diketahui yang mana yang menjadi masalah. Yang dimaksud adalah
adanya kemungkinan kesalahan 1 atau 2 digit. Untuk menjadikanya SECDED,

6
maka harus ditambahkan 1 digit terakhir yang menmeriksa 7 digit lainnya dengan
parity bit. Hamming code yang lengkap adalah Hamming code denga tambahan 1
digit parity code di paling belakang data.

Hamming Code dengan


Data biasa Hamming Code
tambahan digit terakhir
1 111 1111
1111 1111111 11111111
1110 0010110 00101101
1101 1010101 10101010

Digit terkahir berfungsi sebagai pembanding, bila pada kesalahan kode, bila digit
terakhir salah, maka berarti ada 1 kesalahan kode pada digit yang lain, sebaliknya
jika digit terakhir benar dan terjadi kesalahan pada 7 digit yang lain berarti terjadi
kesalahan adalah 2 digit pada 7 digit yang lain. Untuk mempermudah pengerjaan,
Hamming Code juga dapa direpresentasikan dengan diagram Venn.

D. Pengecekan Data yang Dikirim Dengan Hamming Code


Pada setiap data yang ditambahkan dengan Hamming code, bila terjadi
kesalahan makan akan dapat diperbaiki malihat dari Hamming code dan juga
datadata lain. Kesalahan juga bukan hanya terdapat pada data, pada pengiriman
data barupa bit ber Hamming code, kesalahan Hamming code juga dimungkinkan,
dan hal itu juga dapat diperiksa kebenarannya. Pengecekan pada setiap bit dari data
dapat dilakukan karena setiap data memiliki berbagai hubungan yang berbeda
dengan Hamming code yang ada.
Pada Hamming code yang lengkap, digit terakhir dibelakang berguna untuk
mengecek apakah yang terjadi merupakan sebuah kesalahan atau dua buah
kesalahan sekaligus. Bila terjadi sebuah kesalahan dapat diketahui letaknya dan bila
terjadi 2 kesalahan pun dapat diketahui. Terlebih lagi dengan adanya parity bit pada
akhir maka dapat mengetahui kesalahan bila terjadi 3 buah kesalahan sekaligus.
Urutan pengecekan pada data erupa hamming code lengkap lebih baik dmula dari
data terakhir karena mempengaruhi secara keseluruhan data. Pada alat-alat

7
elektronik seperti RAM yang harus memberikan data yang tepat setiap waktunya
Hamming Code lengkap digunakan secara efisien.

E. Penerapan Dengan Matriks


Matriks dapat digunakan untuk membuat kode dengan cara melakkan
perkalian Matriks. Selain ada matriks untuk membuat kode, terdapat juga matriks
untuk mengecek kebenaran dari Hamming code dan juga decorder untuk Hamming
code.

8
BAB III
PENUTUP

A. Kesimpulan
Error correction code digunakan dalam berbagai alat elektronik untuk
memvalidasi data yang diterima. Pengecekan pada linear error correctiong code
yang memeriksa data dengan tipe bit dapat dilakukan dengan mudah dengan
membandingkan jumlah kemuncuan bit bernilai 1. Hamming code merupakan salah
satu error correction code yang sering digunakan dalam bebagai perangkat
elktronik dan mampu memenuhi SECDED.
Hamming code efektif sebagai SECDED untuk berapapun jumlah data
asalkan dengan penambahan parity bit code pada digit terakhir, dan memenuhi
semua digit yang lain. Penggunaan Matriks untuk membentuk dan mengecek kode
hamming sangat efektif digunakan untuk menghemat waktu, Penggunaan Matriks
ini biasanya digunakan pada alat-alat elektronik. Penerapan Logika pada bilangan
biner sangat berguna seperti pengunaan aljabar boolean dalam matriks untuk
mengecek kode hamming.

9
DAFTAR PUSTAKA

[1] William Stallings. 2005. Organisasi & Arsitektur Komputer: Rancangan


Kerja. Jilid 1. Jakarta: PT Indeks kelompok Gramedia
[2] William Stallings. 1996. Organisasi dan Sistem Komputer. Edisi bahasa
Indonesia. Jilid 1. Jakarta: PT Prehalindo
[3] Andrew S. Tanenbaum. 2001. Organisasi Komputer Terstuktur. Jilid 1.
Jakarta. Salemba Teknika

10

You might also like