Bab 3 D Sistem Sandi (Kode) Gray
Dua sistem sandi telah dibahas sebelumnya yaitu Sistem Sandi BCD dan Sistem Sandi Excess-3. Postingan kali ini akan membahas tentang Sandi Gray.
Sandi Gray merupakan sistem sandi tak berbobot karena posisi bit dalam kelompok sandi tidak memiliki nilai bobot tertentu. Dengan demikian sandi gray tidak cocok dalam operasi aritmatik. Aplikasinya banyak dijumpai dalam piranti input/output dan ADC.
Dalam sandi Gray antar sandi yang berdekatan mengalami perubahan bit minimum, karena sifatnya yang hanya berubah satu bit dalam kelompok apabila berubah dari satu digit bilangan ke digit bilangan berikutnya.
Hal ini dapat mencegah terjadinya kesalahan dalam transisi perubahan apabila lebih dari satu bit mengalami perubahan yang kemungkinan besar perubahan tersebut tidak terjadi secara bersamaan (satu bit lebih dulu berubah sebelum yang lain).
Misalnya perubahan dari desimal 7 (binernya 0111) menjadi desimal 8 (binernya 1000) yang seluruh bitnya mengalami perubahan yang kemungkinan dapat bertaransisi terlebih dahulu ke biner 1111 (desimal 15). Kejadian 1111 tersebut sebenarnya hanya sementara tetapi dapat menimbulkan operasi yang dapat mengacau unsur-unsur yang dikendalikan bit-bit tersebut.
Cara Mengubah Biner ke Sandi Gray
Di bawah ini adalah aturan untuk mengubah biner ke sandi gray.
- Bit pertama (paling kiri) sandi Gray sama dengan bit pertama dari bilangan biner.
- Bit ke dua sandi Gray sama dengan EX-OR dari bit pertama dan bit ke dua bilangan biner. (EX-OR : sama dengan 1 bila kedua bit itu berbeda, dan 0 bila sama).
- Bit sandi Gray ke tiga sama dengan EX-OR bit ke dua dan bit ke tiga bilangan biner.
- Dan seterusnya.
Sebagai contoh mengubah bilangan biner 10110 ke dalam sandi Gray (hasilnya 11101) adalah sebagai berikut
Cara Mengubah Sandi Gray Ke Biner
Selanjutnya untuk mengubah sandi Gray menjadi biner digunakan langkah-langkah (yang berlawanan dengan cara mengubah biner ke sandi Gray) sebagai berikut :
- Bit pertama biner sama dengan bit pertama sandi Gray
- Bila bit sandi Gray ke dua 0 maka bit biner ke dua sama dengan yang pertama, dan bila bit sandi Gray ke dua 1 maka bit biner ke dua adalah kebalikan dari bit biner pertama.
- Bila bit biner sandi Gray ke tiga 0 maka bit biner ke tiga sama dengan yang ke dua dan bila bit sandi Gray ke tiga 1 maka bit biner yang ke tiga adalah kebalikan dari bit biner yang ke dua.
- Demikian selanjutnya
Sebagai contoh mengubah sandi Gray 1101 ke dalam biner yang hasilnya 1001, seperti tampak pada gambar di bawah ini.
Ternyata setiap bit biner (kecuali yang pertama) di peroleh dengan mencari EX-OR dari bit sandi Gray yang sesuai dari bit biner sebelumnya.
Begitulah sedikit ulasan mengenai sandi Gray, mengubah biner ke sandi gray dan mengubah sandi Gray ke biner.