BAB VII
SISTEM SANDI
A. Sandi Biner
Sebuah bit, menurut definisi adalah sebuah angka biner (binary digit).
Bila digunakan dalam hubungan dengan suatu sandi biner, sebuah bit merupakan
suatu besaran biner yang sama dengan 0 atau 1. Untuk mewakili suatu kelompok
yang terdiri dari 2n unsure yang berbeda dalam suatu sansi biner
akan memerlukan paling sedikit n bit itu. Hal itu adalah karena dimungkinkan
untuk menyusun n bit itu dalam 2n cara yang berlainan. Meskipun banyaknya
bit minimum yang diperlukan untuk menjadikan 2n besaran yang berbeda
itu adalah n, tidak ada batas maksimum banyaknya bit yang dapat dipergunakan
untuk suatu sandi biner. Jadi untuk m karakter yang diwakili sebagai sandi
biner, diperlukan sekurang-kurangnya n bit yang diperoleh menurut hubungan
berikut : 2n ³ m. Berbagai macam sandi untuk bilangan decimal dapat
diperoleh dengan mengatur 4 bit atau lebih dalam 10 kombinasi yang berlainan.
Beberapa diantaranya ditunjukkan seperti pada tabel berikut :
Bilangan
Decimal
|
BCD 8421
|
XS-3
|
8-4-2-1
|
2421
|
Bikuiner
5043210
|
Sandi gray
|
0
|
0000
|
0011
|
0000
|
0000
|
0100001
|
0000
|
1
|
0001
|
0100
|
0111
|
0001
|
0100010
|
0001
|
2
|
0010
|
0101
|
0110
|
0010
|
0100100
|
0011
|
3
|
0011
|
0110
|
0101
|
0011
|
0101000
|
0010
|
4
|
0100
|
0111
|
0100
|
0100
|
0110000
|
0110
|
5
|
0101
|
1000
|
1011
|
1011
|
1000001
|
0111
|
6
|
0110
|
1001
|
1010
|
1100
|
1000010
|
0101
|
7
|
0111
|
1010
|
1001
|
1101
|
1000100
|
0100
|
8
|
1000
|
1011
|
1000
|
1110
|
1001000
|
1100
|
9
|
1001
|
1100
|
1111
|
1111
|
1010000
|
1101
|
10
|
-
|
-
|
-
|
-
|
-
|
1111
|
11
|
-
|
-
|
-
|
-
|
-
|
1110
|
12
|
-
|
-
|
-
|
-
|
-
|
1010
|
13
|
-
|
-
|
-
|
-
|
-
|
1011
|
14
|
-
|
-
|
-
|
-
|
-
|
1001
|
15
|
-
|
-
|
-
|
-
|
-
|
1000
|
B. Sandi BCD
BCD (Binary Coded Decimal-desimal yang disandikan biner) merupakan
penetapan langsung dari setara binernya. Sandi tersebut juga dikenal sebagai
sandi BCD 8421 yang menunjukkan bobot untuk masing-masing kedudukan bitnya.
Oleh sebab itu, seringkali sandi BCD dikatakan sebagai sandi berbobot. Kolom
kedua pada tabel diatas menunjukkan tabel sandi BCD itu. Sebagai contoh,
bilangan decimal 1996 dapat disandikan menurut BCD sebagai : 1996 = 0001 1001
1001 0110. Perlu diperhatikan
bahwa pengubahan suatu bilangan decimal ke bilangan biner berbeda dengan
penyandian suatu bilangan decimal, meskipun dalam kedua hal tersebut hasilnya
sama-sama berupa suatu deretan bit. Untuk sandi BCD ini, sandi bilangan decimal
0 sampai 9 sama dengan bilangan biner setaranya. Namun untuk diatas 9, sandi
BCD berbeda dengan bilangan biner setaranya. Misalnya setar biner untuk 11
adalah 1011, tetapi sandi BCD untuk 11 adalah 0001 0001. Oleh karena itu, perlu diingat bahwa
suatu deretan bit (angka) 0 dan 1 dalam suatu system digital kadang-kadang
mewakili suatu bilangan biner dan pada saat yang lain merupakan informasi
diskrit yang ditentukan oleh suatu sandi biner tertentu. Keunggulan utama sandi
BCD adalah mudahnya mengubah dari dan ke bilangan decimal. Sedangkan
kerugiannya adalah sandi yang tidak akan berlaku untuk operasi metematika yang
hasilnya melebihi 9. Sandi BCD hanya menggunakan 10 dari 16 kombinasi yang
tersedia. 6 kelompok bit yang tidak terpakai adalah 1010, 1011, 1100, 1101,
1110, dan 1111. Sandi BCD merupakan sandi radiks campuran, dalam setiap
kelompok 4 bitnya merupakan sistem biner, tetapi merupakan decimal untuk
kelompok demi kelompoknya.
C. Sandi Excess-3 (XS-3)
Sandi XS-3 (yang berasal dari excess-3, artinya kelebihan 3) merupakan
sandi penting lainnya yang erat hubungannya dengan sandi BCD. Sesuai dengan
namanya, penetapannya diperoleh dari nilai binernya, sama seperti pada sandi
BCD dan menambahnya dengan 3. Kolom ketiga pada tabel diatas menunjukkan sandi
XS-3 tersebut. Sebagai contoh, untuk mengubah 23 menjadi sandi XS-3 adalah
sebagai berikut : 23 = 0101 0110 ,
dengan ditambah 3 untuk setiap angka decimal yang diketahui dan hasilnya diubah
menjadi bilangan biner setaranya akan menghasilkan sandi XS-3 yang diminta. Seperti
halnya pada BCD, sandi XS-3 hanya menggunakan 10 dari 16 kombinasi yang
tersedia. 6 kelompok bit yang tidak digunakan adalah 0000, 0001, 0010, 1101,
1110, dan 1111. Sandi XS-3 adalah sandi tidak berbobot karena tidak seperti
halnya pada sandi BCD yang kedudukan bitnya mempunyai bobot tertentu. Sandi
XS-3 merupakan sandi yang mengkomplemenkan dirinya sendiri. Hal itu terjadi
karena setiap komplemen-1 dari bilangan XS-3 adalah komplemen-9 dari bilangan
desimalnya. Misalnya, 0101 dalam sandi XS-3 mewakili angka decimal 2.
Komplemen-1 0101 adalah 1010 yang merupakan angka decimal 7 dan 7 adalah
komplemen-9 dari 2. Sandi XS-3 mempunyai keunggulan dibandingkan dengan sandi
BCD karena semua operasi penjumlahan untuk XS-3 berlangsung seperti penjumlahan
biner biasa dan juga karena XS-3 merupakan sandi yang mengkomplemenkan dirinya
sendiri. Pengurangan dengan komplemen-1 dan komplemen-2 dapat dilakukan untuk
sandi XS-3.
D. Sandi Gray
Sandi Gray merupakan suatu sandi 4 bit tanpa bobot dan tidak sesuai untuk
operasi aritmatika. Sandi Gray ini sangat berguna untuk peralatan
masukan/keluaran (input/output devices), pengubah analog ke digital dan
peralatan tambahan lainnya. Pada tabel diatas kolom paling kanan menunjukkan
perwakilan sandi gray untuk bilangan 0 sampai 15. Terlihat bahwa setiap
perubahan dari 1 bilangan decimal yang 1 dengan yang berikutnya hanya 1 bit
dalam sandi gray itu yang berubah. Itulah sebabnya sandi gray digolongkan ke
kelompok sandi perubahan-minimum (minimum-change code).
1. Perubahan Biner ke Gray
Inilah cara untuk mengubah dari biner ke Gray :
Desimal
|
Sandi
Gray
|
Biner
|
0
|
0000
|
0000
|
1
|
0001
|
0001
|
2
|
0011
|
0010
|
3
|
0010
|
0011
|
4
|
0110
|
0100
|
5
|
0111
|
0101
|
6
|
0101
|
0110
|
7
|
0100
|
0111
|
8
|
1100
|
1000
|
9
|
1101
|
1001
|
10
|
1111
|
1010
|
11
|
1110
|
1011
|
12
|
1010
|
1100
|
13
|
1011
|
1101
|
14
|
1001
|
1110
|
15
|
1000
|
1111
|
…
|
…
|
…
|
Angka Gray pertama sama dengan angka biner pertama. Tambahkan
masin-masing pasangan bit berdampingan untuk mendapatkan angka Gray berikutnya.
Abaikan setiap bawaan 5.
Contoh merupakan cara terbaik untuk menjelaskan perubahan dari biner ke
Gray. Ambilah bikangan biner 1100. Inilah cara untuk mencari bilangan sandi
Gray yang bersangkutan :
Ø LANGKAH
1 Angka Gray pertama sama dengan
angka biner pertama.
1 1 0 1 biner
1 Gray
Ø
LANGKAH 2
Selanjutnya, tambahkan 2 bit pertama
pada bilangan biner, dengan mengabaikan setiap bawaan. Jumlahnya merupakan
angka Gray berikutnya.
1 1 0 0 biner
1 0 Gray
ket : 5
hal ini secara formal disebut penambahan mod-2, atau penambahan OR-eksklusif.
Keempat kaidah bagi penambahan jenis ini adalah : 0 + 0 = 0, 0 + 1 = 1, 1 + 0
=1, 1 + 1 = 0
Dengan
perkataan lain, tambahkan 2 bit pertama pada bilangan biner untuk mendapatkan 1
+ 1 = 0 dengan bawaan 1. Tuliskan angka 0, namun abaikan angka 1.
Ø
LANGKAH 3
Tambahkan 2 angka biner
berikutnya untuk mendapatkan angka Gray berikutnya.
1 1 0 0 biner
1 0 1 Gray
Ø
LANGKAH 4
Tambahkan 2 angka biner terakhir untuk mendapatkan angka Gray.
1 1 0 0 biner
1 0 1 0 Gray
Oleh karenanya, 1010 adalah ekivalen sandi-Gray bagi bilangan biner 1100.
2. Perubahan Gray ke biner
Untuk mengubah dari sandi Gray ke biner, kita menggunakan metoda
yang serupa, tetapi tidak tepat sama. Sekali lagi, contoh merupakan cara yang
terbaik untuk metode ini. Marilah kita mengubah sandi Gray 101110101 kembali ke
ekivalen binernya.
Ø LANGKAH
1 Ulangilah angka paling berbobot
1 0 1 1 1 0 1 0 1 Gray
1
biner
Ø
LANGKAH 2 Tambahkan
secara diagonal seperti terliha di bawah ini untuk mendapatkan angka
biner berikutnya.
1 0 1 1 1
0 1 0 1 Gray
1 1 biner
( 1 + 0 = 1)
Ø
LANGKAH 3 Lanjutkan menambahkan secara diagonal
untuk mendapatkan angka-angka biner selanjutnya.
1 0 1 1 1 0 1 0 1 Gray
1 1 0 1 0 0 1 1 0 biner
Dengan metode ini, Anda dapat
,engubah Gray ke biner dan sebaliknya bilamana dibutuhkan
E. Parity Bit
Parity Bit adalah digit “1” atau yang ditempatkan pada kelompok bit dari
suatu sandi yang berfungsi untuk mengetahui adanya kecacatan (validasi) atau
kesalahn dari kelompok bit yang berupa data input. Parity Bit dapat dibagi
menjadi 2, yaitu :
1.
Parity genap (Odd Parity), dipakai untuk membuat agar
jumlah dari digit 1 pada kelompok sandi menjadi genap. Misalnya bila jumlah
digit 1 semula sudah genap, maka paritynya adalah 0. Jika jumlah digit 1 semula
ganjil, maka bit paritynya adalah 1 sehingga jumlah digit 1 akan menjadi genap.
2.
Parity Ganjil (Even Parity), dipakai untuk membuat agar jumlah dari digit
1 pada kelompok bit menjadi ganjil. Misalnya bila jumlah digit 1 semula sudah
ganjil, maka paritynya adalah 0. Jika jumlah digit 1 semula genap, maka bit
paritynya adalah 1 sehingga jumlah digit 1 akan menjadi ganjil
Tabel
Parity pada sandi BCD 8421
Decimal
|
Parity
Genap
|
Parity
Ganjil
|
0
|
00000
|
10000
|
1
|
10001
|
00001
|
2
|
10010
|
00010
|
3
|
00011
|
10011
|
4
|
10100
|
00100
|
5
|
00101
|
10101
|
6
|
00110
|
10110
|
7
|
10111
|
00111
|
8
|
11000
|
01000
|
9
|
01001
|
11001
|
Komentar
Posting Komentar