• Tidak ada hasil yang ditemukan

1010 0010 dapat dinyatakan dalam heksadesimal sebagai

KODE 55 KODE 55 Paritas Kata

Dengan paritas bit dimungkinkan untuk mendeteksi satu kesalahan. Harus jelas bahwa lebih dari satu kesalahan yang terjadi mungkin tidak terdeteksi oleh metode ini. Ketika kita menggunakan paritas bit, ada kemungkinan bahwa bit tunggal salah dibaca oleh peralatan dan kesalahan seperti itu kemudian akan terdeteksi, karena pemeriksaan paritas nomor akan gagal. Ketika peralatan rusak parah, mungkin akan sangat terlihat dalam kesalahan operasi yang dihasilkan. Namun, jika hanya satu kesalahan bit yang terjadi, mungkin tidak diketahui jika bukan karena penyertaan paritas bit. Unit pita kertas sering menyertakan bit paritas sehingga angka yang dibaca ke dalam komputer dapat diperiksa untuk memastikan bahwa tidak ada lubang berlubang yang salah dibaca, seperti yang kadang-kadang dapat terjadi bahkan pada unit yang beroperasi dengan baik.

Disk magnetik atau unit pita juga menggunakan paritas untuk memungkinkan deteksi kesalahan. Namun, dengan penyimpanan magnetis, kemungkinan besar ada bagian kecil yang tidak dapat dimagnetisasi dengan baik, atau sepotong kotoran masuk ke permukaan magnetis, menyebabkan kesalahan pembacaan satu bit. Akan sangat membantu tidak hanya untuk mendeteksi kesalahan tetapi untuk dapat memperbaiki kesalahan.

Hingga saat ini kami telah mendeskripsikan representasi data dan informasi paritas bila datanya benar. Mari kita lihat bagaimana satu kesalahan terdeteksi dan dikoreksi menggunakan paritas bit dan kata. Beberapa kata data tercantum di bawah ini.

Itu bit paling kanan dari setiap kata adalah bit paritas ganjil dan kata terakhir adalah bit ganjil kata paritas, yang membuat setiap kolom bit memiliki paritas ganjil.

Ingat sekarang, komputer tidak dapat melihat kembali data yang benar untuk menemukan kesalahan. Hanya data yang diterima untuk dilihat. Pertama-tama harus menentukan bahwa kesalahan memang ada dan kemudian memperbaikinya hanya dengan menggunakan data yang diterima. Salah satu prosedur yang digunakan komputer adalah melakukan pemeriksaan paritas pada setiap kata dan setiap kolom.

Paritas kata adalah skema yang memungkinkan hal itu. Ini memungkinkan pendeteksian dan koreksi kesalahan bit tunggal. Gambar 3-1 menunjukkan representasi data biner yang disimpan pada pita magnetik. Bintik gelap adalah I dan bintik terang adalah 0. Sebuah blok kata ditampilkan, masing-masing 8 bit (salah satunya adalah bit paritas). Ada tujuh kata data yang ditunjukkan dan kata paritas tambahan, yang memungkinkan koreksi kesalahan. Data yang sama tercantum dalam bentuk biner di bawah ini.

Bit paritas 

01111001 00000111 10001111 01101110 00110001 01011000 11110001

Kata paritas → 11111000

Periksa setiap kata termasuk kata paritas untuk melihat bahwa paritas ganjil benar (jumlah 1-bit dalam kata, termasuk bit paritas, adalah ganjil). Kata paritas (terakhir

56 DASAR-DASAR

Gambar 3-1. Bagian dari pita magnetik menunjukkan operasi paritas kata.

value) sebenarnya dibrntuk dari tujuh kata data dengan membangkitkan sedikit untuk membuat bit-bit di setiap kolom paritas ganjil. Periksa apakah ini juga benar.

Jika kesalahan bit tunggal memang terjadi, itu dapat dideteksi menggunakan paritas bit dan kata. Kesalahan bit tunggal terdeteksi seperti yang ditunjukkan di bawah ini dalam blok data paritas bit dan kata.

0111 1 001 0000 0 111 1000 0 111 0110 1 110

0011 1 001 Kesalahan paritas terdeteksi 0101 1 000

1111 0 001 1111 1 000

Kesalahan paritas terdeteksi

Perhatikan bahwa kesalahan paritas terdeteksi di baris 5 dan juga di kolom 4 (dari kanan). 1-bit yang dilingkupi oleh kotak ditentukan sebagai bit yang salah. Karena 1- bit salah, bit yang benar harus 0. Periksa Kembali dengan yang asli

Blok data delapan kata termasuk paritas bit dan kata

Kata paritas Data

biner pada pita magnetik

Taruhan paritas

Kode 57 data yang benar untuk melihat bahwa 0 bit benar. Dengan hanya mengubah bit menjadi 0, komputer telah mengoreksi informasi tersebut dan sekarang dapat menyimpannya di dalam memori. Kata paritas tidak lagi diperlukan dan hanya tujuh kata data yang disimpan. Paritas bit mungkin masih dipertahankan untuk deteksi kesalahan saat menggunakan memori internal komputer.

3-6 DETEKSI DAN KOREKSI KODE

Beberapa teknik populer untuk mendeteksi dan memperbaiki kesalahan bit.

menggunakan kata paritas selain bit paritas memungkinkan metode untuk mendeteksi dan mengoreksi kesalahan bit tunggal. Teknik kedua menggunakan kode Hamming untuk memungkinkan deteksi dan koreksi kesalahan.

Kode Hamming

Teknik pengkodean yang dikembangkan oleh Hamming menyediakan cara yang teratur untuk menambahkan satu atau lebih bit paritas ke karakter data untuk memungkinkan deteksi kesalahan atau deteksi dan koreksi kesalahan. Jarak Hamming antara dua kata kode didefinisikan sebagai jumlah bit yang harus diubah untuk satu kata kode untuk diubah menjadi yang lain. Artinya, karakter BCD (kata) 1000 (8) akan mengubah info BCD 1001 (9) jika bit terendah diubah--berjarak satu. Di sisi lain, jarak antara BCD 1000 (8) dan BCD 0100 (4) adalah dua (dua bit urutan tertinggi yang harus diubah).

Untuk kode tertentu seperti kode BCD 8421 untuk digit 0 hingga 9, jarak minimum kode adalah jarak terkecil antara dua kata kode. Dari contoh di atas, jarak minimum kode 8421 adalah satu.

Dari analisis Hamming tentang jarak kode, faktor-faktor berikut diturunkan:

1. Jarak minimal dua diperlukan untuk deteksi kesalahan tunggal.

2. Jarak minimal tiga diperlukan untuk koreksi kesalahan tunggal (juga menyediakan deteksi kesalahan ganda).

3. Jarak yang lebih jauh akan memberikan deteksi dan/atau koreksi kesalahan yang lebih banyak.

Deteksi kesalahan dan koreksi kode 8421 BCD memerlukan penambahan tiga bit paritas untuk memberikan jarak minimal tiga yang diperlukan. Misalnya, pertimbangkan untuk menggunakan 4 bit dari kode 8421 dengan tiga bit paritas tambahan, yang terdiri dari 7-bit kesengsaraan untuk digunakan dalam mentransmisikan data. Kata 7-bit ini terbentuk, menyisipkan bit paritas dengan bit asli 8421, sebagai berikut:

Posisi Bit 1 2 3 4 5 6 7

p1 p2 8 p4 4 2 1

di mana bit pada posisi 3, 5, 6, 7 adalah bit dari kata kode 8421 asli dan bit pada posisi 1, 2, 4, adalah tiga bit paritas yang memungkinkan deteksi dan koreksi kesalahan bit tunggal. Bit paritas dikelompokkan dengan bit posisi berikut untuk membentuk paritas genap sebagai berikut:

58 DASAR-DASAR

p1 dipilih untuk paritas genap dengan bit pada posisi 3, 5, 7 p2 dipilih untuk paritas genap dengan bit pada posisi 3, 6, 7 p3 dipilih untuk paritas genap dengan bit pada posisi 5, 6, 7

Tabel 3-9 menyediakan lengkap kode 8421 4-bit dengan paritas yang dibentuk menurut pengelompokkan yang diuraikan diatas.

Menggunakan kode Hamming pada Tabel 3-9 membutuhkan 7 bits untuk setiap digit kode. Transmisi 3 digit angka akan membutuhkan pengiriman 21 bit

(

3 kata 7 bit/kata

)

. Keuntungan menggunakan bit paritas Hamming ekstra ini dapat ditunjukkan dalam deskripsi berikut tentang bagaimana bit ini digunakan dalam mendeteksi dan mengoreksi kesalahan.

Pertimbangkan transmisi digit 3, 1000011, dengan penerimaan 1000001 yang mengandung kesalahan bit-tunggal. 8421 bit dengan sendirina akan muncul sebagai digit 1. Namun, pengecekan bit paritas akan menunjukkan bahwa telah terjadi kesalahan dan selanjutnya akan menunjukkan bit mana yang harus dikoreksi.

Memeriksa bit paritas dari kata yang diterima menghasilkan p1 p2 8 p4 4 2 1

1 0 0 0 0 0 1

p1+ + + = + + + =8 4 1 1 0 0 1 paritas genap (E)

p2+ + + = + + + =8 2 1 0 0 0 1 pemeriksaan paritas genap gagal (F) p4+ + + = + + + =4 2 1 0 0 0 1 pemeriksaan paritas genap gagal (F) Jika salah satu dari ketiga bit paritas tidak memberikan paritas yang sama, maka kesalahan tunggal telah terjadi. Selanjutnya, Tabel 3-10 dapat digunakan untuk menentukan posisi bit mana yang mengalami kesalahan sehingga koreksi dapat dilakukan.

Tabel 3-9 BCD (8421) Kode dengan Bit Hamming

Digit 1 2 3 4 5 6 7

p1 p2 8 p4 4 2 1

0 0 0 0 0 0 0 0

1 1 1 0 1 0 0 1

2 0 1 0 1 0 1 0

3 1 0 0 0 0 1 1

4 1 0 0 1 1 0 0

5 0 1 0 0 1 0 1

6 1 1 0 0 1 1 0

7 0 0 0 1 1 1 1

8 1 1 1 0 0 0 0

9 0 0 1 1 0 0 1

menunjukan bit mana yang dikelompokkan untuk paritas genap

KODE 59 Table 3-10 Penentuan Kesalahan Bit untuk

Diperbaiki

E = Paritas genap

F = Gagal cek paritas genap

Dalam contoh ini uji paritas gagal (F) dengan

p

2,

p

4 tapi paritas genap (E) untuk

p

1. Dari Tabel 3-10 bit yang gagal dikoreksi adalah bit 6. Mengoreksi bit 6 maka hasilnya

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

 1 0 0 0 0 1 1 sehingga kata yang diterima seharusnya 1000011, atau angka 3.

Contoh 3-10 dibawah menujukkan prosedur lengkap untuk mendeteksi dan memperbaiki kesalahan menggunakan teknik Hamming

CONTOH 3-10 Untuk angka yang diterima 1 1 0 0 0 1 0, tentukan apakah terjadi satu kesalahan dan, jika demikian, perbaiki kesalahan tersebut.

Solusi Memeriksa tiga kelompok bit paritas untuk paritas genap:

p

1

p

2 8

p

4 4 2 1

1 1 0 0 0 1 0

p

1

+

8 + 4 + 1 = 1 + 0 + 0 + 0 = F

p

2

+

8 + 2 + 1 = 1 + 0 + 1 + 0 = E

p

4

+

4 + 2 + 1 = 0 + 0 + 1 + 0 = F

3prosedur Hamming dapat digeneralisasikan dan diterapkan pada kata-kata dari sejumlah bit, bit pemeriksaan paritas ditempatkan pada posisi 1, 2, 4, 8, 16, . . . 2n. Bit cek kemudian berlaku untuk posisi bit sehingga

p

1 memeriksa posisi dengan 1 dalam posisi 20 (001, 011, 101, dll.)

p

2 memeriksa posisi dengan 1 dalam posisi 21 (010, 011, 110, dll.) dll

p

4

p

2

p

1 Posisi Bit Gagal

E E E Tidak ada

E E F 1

E F E 2

E F F 3

F E E 4

F E F 5

F F E 6

F F F 7

60 DASAR-DASAR

Setiap kegagalan paritas genap menunjukkan telah terjadi kesalahan. Untuk memperbaiki kesalahan gunakan Tabel 3-10, yang menunjukkan bahwa bit 5 salah. Digit yang benar adalah digit 6.

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

3-7 KODE ABU-ABU

Kode abu-abu digunakan sebagian besar dengan enkoder posisi poros optik atau mekanis. Ini adalah kode yang tidak berbobot, dan hanya satu bit yang berubah di antara setiap kata yang berurutan. Ini digunakan pada jenis roda kode yang memiliki posisi berurutan di mana data biner hanya berubah satu bit (kode Gray memungkinkan ambiguitas hanya satu tempat). Fitur ini akan diperluas pada pembahasan perangkat input/output (Bab 13). Untuk saat ini, kode itu sendiri adalah pertimbangan utama kami

Karena ada sejumlah besar kode, katakanlah, 10 bit per kata yang dapat dibentuk di mana hanya satu bit pada satu waktu berubah, pemilihan satu kode tertentu yang disebut "Abu-abu" menarik. Menggunakan formulir kode ini pada peralatan input penting untuk meningkatkan akurasi pembacaan dan menyederhanakan masalah konstruksi. Penggunaannya di komputer, bagaimanapun, menghadirkan kesulitan besar karena fiturnya yang tidak berbobot. Dengan demikian, kode tersebut paling baik digunakan jika dikonversi menjadi kode berbobot di komputer — yang terbaik adalah biner lurus. Kode abu- abu sangat berguna karena fitur eksternal satu-bit-ubah dan kemudahan mengubahnya menjadi bentuk biner.

Sebuah daftar biner lurus dan setara kode Gray diberikan untuk angka desimal 0 sampai 12 pada Tabel 3-11. Ada kode Gray untuk setiap kemungkinan bilangan biner, sehingga daftarnya hanya ilustrasi.

Perhatikan bagaimana hanya satu bit yang berubah di antara dua kata yang berurutan dalam kode Gray. Ini tidak benar dalam biner. Dari desimal 7 ke 8, biner berubah

(= 6 digit)

Tabel 3-11. Kode Abu-abu untuk Desimal

0 ke 12

Desimal Biner Kode Gray

0 0000 0000

1 0001 0001

2 0010 0011

3 0011 0010

4 0100 0110

5 0101 0111

6 0110 0101

7 0111 0100

8 1000 1100

9 1001 1101

10 1010 1111

11 1011 1110

12 1100 1010

KODE 61 Keempat bit, sedangkan kode Gray hanya mengubah satu. Dari desimal

9

ke

10

, biner berubah dari

1001

ke

1010

, dimana 20 bit berubah dari

1

menjadi

0

dan 21 berubah dari

0

menjadi

1 −

dua perubahan. Dalam gray perubahan dari

1101

ke

1111

memiliki 21 bit yang berubah dari

0

menjadi

1−

satu perubahan saja. Karena ada aturan yang jelas untuk mengubah dari grey ke biner atau dari biner ke grey, deskripsi tentang ini, dengan contoh, akan dipertimbangkan selajutnya.

Konversi Gray ke Biner

Saat kita mengonversi kata berkode gray menjadi kode biner, konversi harus dimulai dengan bit paling signifikan (MSB) terlebih dahulu. Dalam biner, bit paling tidak signifikan (LSB) adalah bit 20 dan MSB adalah salah satu posisi bobot tertinggi (dengan empat bit 23). Bilangan biner dan padanan kode graynya adalah

MSB

Gray

1011010111001

Binary

1101100101110

Dimana MSB disebelah kiri.

Untuk mengonversi dari kode gray ke biner, aturannya adalah sebagai berikut:

1. Mulailah dengan bit paling signifikan (MSB) dari kode gray. Bit biner sama dengan bit gray hingga dan termasuk

1

pertama.

2. Sekarang gunakan bit kode gray sebagai kontrol.

Jika

1

, ubah digit biner sebelumnya untuk mendapatkan digit biner sekarang.

Jika

0

, ulangi digit biner yang sama.

Gunakan aturan (

2

) berulang kali untuk setiap bit kode gray yang akan dikonversi.

CATATAN: bit yang diubah atau diulang hanya dalam kata biner, bit kode gray bertindak sebagai kontrol.

Untuk membantu mengesankan aturan ini, perhatikan tanda panah pada contoh berikut.

Setiap kode gray

1

muncul, tanda panah menandakan mengubah digit biner sebelumnya untuk mendapatkan digit biner saat ini. Kalau tidak, digit biner diulang

CONTOH 3-11 Mengubah kode angka gray

01011101

menjadi biner.

Penyelesaian menggunakan aturan (

1

):

Gray 0 1 Biner 0 1

Biner sama dengan gray sampai dan termasuk

1

pertama.

Menggunakan aturan (

2

):

Bit kontrol menunjukkan digit biner sebelumnya dari

1

Gray 0 1 0 harus diulang dalam bilangan biner.

Biner 0 1 1

62 DASAR-DASAR

Gunakan aturan (2):

Gray 0 1 0 1

Biner 0 1 1 0

Gunakan aturan (2):

Gray 0 1 0 1 1

Biner 0 1 1 0 1

Gunakan aturan (2):

Gray 0 1 0 1 1 1

Biner 0 1 1 0 1 0

Gunakan aturan (2):

Gray 0 1 0 1 1 1 0

Biner 0 1 1 0 1 0 0 Gunakan aturan (2):

Gray 0 1 0 1 1 1 0 1 Biner 0 1 1 0 1 0 0 1

Konversi yang lengkap dapat ditampilkan sebagai berikut:

Gray 0 1 0 1 1 1 0 1 Biner 0 1 1 0 1 0 0 1

(Faktanya, aturan 1 dapat dianggap sama dengan aturan 2 apabila kita menganggap bahwa digit biner Gray pertama diartikan mengubah digit biner dari nilai awal 0 menjadi 1).

CONTOH 3-12 Ubah kode nomor Gray 10101100111 ke dalam biner.

Solusi Gray 1 0 1 0 1 1 0 0 1 1 1 Biner 1 1 0 0 1 0 0 0 1 0 1

CONTOH 3-13 Ubah kode nomor Gray 1111000101011 ke dalam biner.

Solusi Gray 1 1 1 1 0 0 0 1 0 1 0 1 1 Biner 1 0 1 0 0 0 0 1 1 0 0 1 0

Kontrol bit menunjukkan digit biner sebelumnya 1 harus diubah (menjadi 0).

Kontrol bit menunjukkan digit biner sebelumnya 0 harus diubah (menjadi 1).

Kontrol bit menunjukkan digit biner sebelumnya 1 harus diubah (menjadi 0).

Kontrol bit menunjukkan digit biner sebelumnya 1 harus diulang dalam bilangan biner.

Kontrol bit menunjukkan digit biner sebelumnya 0 harus diubah (menjadi 1).