decoding encoding with heksadesimal

12
ENCODING DAN DECODING WITH HEKSADESIMAL Dalam dunia komunikasi kita sering mendengar kata encoding dan decoding. Tahukah Anda apa pengertian dari encoding dan decoding itu sendiri? Encoding merupakan pengiriman pesan menjadi sebuah data yang dilakukan oleh pengirim sedangkan decoding merupakan konversi dari sebuah data menjadi sebuah pesan yang bisa dipahami oleh sang penerima. Gambar 1. Proses Encoding dan Decoding Pengkodean pun menggunakan sistem pembelajaran matematika salah satu contohnya adalah menggunakan basis 16 atau bilangan heksadesimal atau lebih disingkat hex. Sistem bilangan heksadesimal atau sistem bilangan basis enam belas adalah sebuah sistem penulisan angka dengan menggunakan 16 simbol yaitu 0 , 1

Upload: arifrohman99

Post on 11-Feb-2017

272 views

Category:

Education


4 download

TRANSCRIPT

Page 1: Decoding Encoding with Heksadesimal

ENCODING DAN DECODING WITH HEKSADESIMAL

Dalam dunia komunikasi kita sering mendengar kata encoding dan

decoding. Tahukah Anda apa pengertian dari encoding dan decoding itu sendiri?

Encoding merupakan pengiriman pesan menjadi sebuah data yang dilakukan oleh

pengirim sedangkan decoding merupakan konversi dari sebuah data menjadi

sebuah pesan yang bisa dipahami oleh sang penerima.

Gambar 1. Proses Encoding dan Decoding

Pengkodean pun menggunakan sistem pembelajaran matematika salah

satu contohnya adalah menggunakan basis 16 atau bilangan heksadesimal atau

lebih disingkat hex. Sistem bilangan heksadesimal atau sistem bilangan basis

enam belas adalah sebuah sistem penulisan angka dengan menggunakan 16

simbol yaitu 0, 1, 2, 3, 4, 5, 6, 7 , 8, 9, A, B, C, D, E, F. Notasi huruf A

menyatakan nilai bilangan 10, B untuk nilai 11, C untuk nilai 12, D untuk nilai 13,

E untuk nilai 14, dan F untuk nilai 15. Dari sistem bilangan heksadesimal, kita

dapat mengkonversinya ke sistem bilangan Desimal, Biner, dan Oktal atau

sebaliknya. Dalam membaca bilangan biner kita membaca dalam 7 atau 8 digit

seperti 01000101 yang memiliki nilai 69 di basis 2. Itu membuat kita lebih sukar

dalam membaca bilangan biner tersebut tetapi jika kita menggunakan bilangan

1

Page 2: Decoding Encoding with Heksadesimal

2

heksadesimal kita hanya menggunakan 4 digit dari bilangan biner tersebut. Kita

pisahkan 4 digit 4 digit menjadi 0100 0101. Karena sistem bilangan biner dibaca

dari kanan ke kiri, kita lihat 4 bit pertama yaitu 0100 itu berarti

0x20 +0x 21+1x 22+0x 23 yang hasilnya adalah 4 selanjutnya untuk 4 bit berikutnya

yaitu 0101 kita lakukan hal serupa dan mendapatkan hasil 5. Jadi untuk bilangan

biner 0100 0101 itu hasilnya bila kita koversikan kedalam bilangan heksadesimal

akan mendapatkan hasil 45.

Berikut ini merupakan tabel pencacahan sistem bilangan desimal, biner

dan heksadesimal.

Tabel 1. Pencacahan Bilangan Biner dan Heksadesimal

Dari tabel pencacahan tersebut kita dapat simpulkan bilangan

heksadesimal 16 dan seterusnya merupakan penggabungan antara bilangan biner

1-F dengan bilangan biner 1-F. Sebagai contoh kita lihat bilangan desimal 19.

Bilangan desimal 19 bila kita konversikan kedalam bilangan heksadesimal

bernilai 13. Dan bila kita konversikan ke dalam bilangan biner itu berarti nilai

bilangan biner 1 ditambah dengan nilai bilangan biner 3. Contoh lain konversi

bilangan heksadesimal kedalam desimal kita ambil bilangan desimal 250. Maka

Page 3: Decoding Encoding with Heksadesimal

3

langkah pertama kita rubah bilangan desimal 250 ke dalam bilangan biner:

250(10)= 1111.1010(2).

Untuk memudahkan konversi bilangan biner ke heksadesimal maka

deretan bilangan biner dikelompokkan dalam masing-masing 4 bit. Contoh: 4 bit

pertama adalah 1111(2) = F(16), byte ke dua adalah 1010(2) = A(16). Maka

bilangan heksadesimal, 1111.1010(2) = FA(16) Sehingga 250(10) = FA(16).

Teknologi yang menggunakan bilangan heksadesimal yaitu dalam IP

address untuk jaringan internet dalam komputer. Sesungguhnya IP address

merupakan deretan angka biner antara 32 bit hingga 128 bit. 32 bit untuk IPv4 dan

128 bit untuk IPv6. IPv4 merupakan IP address dengan 32 bit atau sama dengan

232= 4,294,967,296 Protokol komputer dapat terhubung ke internet. Tetapi para

ahli merasa cemas bila para pengguna internet melebihi jumlah tersebut jadi para

ahli membuat teknologi baru yaitu IPv6 tetapi IPv6 tidak menggunakan bilangan

biner seperti pada IPv4 dikarenakan deretan bit yang sangat banyak yaitu 128

hampir 4 kali dari jumlah IPv4. Jadi pada IPv6 menggunakan bilangan

heksadesimal. Contoh Deretan bit yang panjang seperti pada IPv4 akan

menyulitkan dalam sistem konversi. Maka sistem bilangan heksadesimal

memudahkan pekerjaan konversi tersebut, karena setiap 4 bit bilangan biner

diwakili oleh 1 bilangan heksadesimal. Dalam IPv6, alamat 128-bit akan dibagi ke

dalam 8 blok berukuran 16-bit, yang dapat dikonversikan ke dalam bilangan

heksadesimal berukuran 4-digit. Setiap blok bilangan heksadesimal tersebut akan

dipisahkan dengan tanda titik dua (:). Karenanya, format notasi yang digunakan

oleh IPv6 juga sering disebut dengan colon-hexadecimal format, berbeda dengan

IPv4 yang menggunakan dotted-decimal format. Contoh: ini merupakan alamat IP

address untuk IPv4 setelah diubah kedalam bilangan biner

001000011101101000000000110100110000000000000000001011110011101100

00001010101010000000001111111111111110001010001001110001011010.

Page 4: Decoding Encoding with Heksadesimal

4

Untuk menerjemahkannya ke dalam bentuk notasi colon-hexadecimal

format, angka-angka biner di atas harus dibagi ke dalam 8 buah blok berukuran

16-bit

0010000111011010 0000000011010011 0000000000000000

0010111100111011 0000001010101010 0000000011111111 1111111000101000

1001110001011010.

Lalu, setiap blok berukuran 16-bit tersebut harus dikonversikan ke

dalam bilangan heksadesimal dan setiap bilangan heksadesimal tersebut

dipisahkan dengan menggunakan tanda titik dua. Hasil konversinya adalah

sebagai berikut:

21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A.

Ini merupakan teknologi yang menggunakan bilangan Heksa desimal.

Gambar 2. Perbedaan IPv4 dan IPv6

Penulis akan memberikan contoh pengkodean bilangan biner yang

sukar untuk ditulis bila bilangan biner tersebut banyak. Contoh: seorang pengirim

pesan atau encoding mengirim sebuah pesan biner seperti ini

010000100101100101000101 bila kita koversikan bilangan biner tersebut ke

dalam bilangan desimal

20+22+26+28+211+212+214+217+222=1+4+64+256+2048+4096+16384+131072+4194304=4348229

. Kemudian seorang penerima pesan mengkonversikan kode tersebut kedalam

Page 5: Decoding Encoding with Heksadesimal

5

kode biner dan mendapatkan hasil sebuah kata yaitu BYE. Bagaimana itu bisa

terjadi? Apakah nilai 4348229 mewakili kata BYE? Untuk itu kita pertama harus

mengetahui apa itu tabel ASCII.

Tabel ASCII berisikan tentang kode-kode biner dari huruf-huruf abjad

dari A-Z dengan A tidak sama dengan a. Jadi kode biner untuk huruf A tidak sama

dengan huruf a. Tabel tersebut dinamakan tabel ASCII (American Standard Code

for Information Interchange) atau Kode Standar Amerika untuk Pertukaran

Informasi. ASCII merupakan kode standar yang digunakan dalam pertukaran

informasi pada komputer. Komputer hanya dapat memahami nomor, maka kode

ASCII adalah representasi numerik dari karakter-karakter dari komputer seperti

a,@ dan sebagainya. Jumlah kode ASCII adalah 255 kode. Kode ASCII 0–127

merupakan kode ASCII untuk manipulasi teks; sedangkan kode ASCII 128-255

merupakan kode ASCII untuk manipulasi grafik. Sedangkan yang akan kita bahas

kali ini mengenai kode ASCII 0–127 untuk manipulasi teks. Setiap simbol yang

ada di keyboard memiliki kode ASCII. Sebagai contoh Huruf A memiliki kode

ASCII 65; huruf a memiliki kode ASCII 97. Kode ASCII 65 dalam

implementasinya diterjemahkan ke kode Biner. Kode ASCII dalam

implementasinya diterjemahkan ke kode biner. Kode ASCII sebenarnya memiliki

komposisi bilangan biner sebanyak 8 bit. Dimulai dari 0000 0000 hingga 1111

1111. Kode bernilai sampai dengan 31 dinamakan kode control, sedangkan 32

sampai dengan 126 adalah kode ASCII yang dapat ditampilkan. Alfabet A sampai

Z diwakili oleh kode desimal 65 sampai 90.

Page 6: Decoding Encoding with Heksadesimal

6

Tabel 2. ASCII Lengkap dengan Heksadesimal

Tabel ini merupakan tabel ASCII lengkap dengan bilangan biner dan

juga bilangan heksadesimal yang berasal dari catatanpilihanwordpress.com. Dari

tabel di atas dapat kita simpulkan untuk menerjemahkan bilangan biner ternyata

dengan huruf demi huruf bukan kata demi kata. Selanjutnya bagaimana cara sang

penerima pesan mengubah pesan tersebut menjadi sebuah kata BYE? Padahal

tidak ada kata BYE dalam tabel tersebut ataupun bilangan biner

010000100101100101000101 dengan desimal 4348229. Sang penerima pesan

memisahkan bilangan bilangan biner tersebut menjadi 8 digit sehingga menjadi

01000010 01011001 01000101. Kemudian sang penerima pesan melihat tabel

ASCII sehingga sang penerima pesan mendapatkan kata BYE. Bagaimana kalo

kita tidak memiliki tabel tersebut apakah kita dapat tetap mengirim kode kepada

sang penerima pesan? Tentu saja bisa kita hanya perlu mengetahui bahwa abjad

Page 7: Decoding Encoding with Heksadesimal

7

atau alphabet dari A-Z itu terdapat pada nilai biner 65-90. Bila menurut kita

bilangan tersebut terlalu besar untuk kita hitung, mudah saja kita dapat

menggunakan bilangan heksadesimal jadi untuk mencari huruf H,E,L,L,O maka

kita hanya perlu menghitung huruf yang kita inginkan merupakan ke berapa

dalam sistem alphabet bila kita mencari huruf H, kita tahu bahwa huruf H

merupakan huruf ke 8. Maka nilai desimal untuk huruf H adalah 65+8-1 sehingga

hasilnya 72 untuk bilangan biner. Untuk lebih mudahnya dalam kita mengubah

desimal 72 kedalam pengkodean biner, kita dapat mengubah angka 72 kedalam

bilangan heksadesimal. Dengan cara membagi 72 dengan 16 hasilnya adalah 4

dengan sisa 8. Jadi bilangan desimal 72 bila kita konversikan kedalam bilangan

heksadesimal maka menjadi 48. Lalu tinggal kita lihat angka 4 pada bilangan

biner yaitu 0100 dan angka 8 dalam biner itu adalah 1000 dan seterusnya hingga

kita mendapatkan bilangan biner untuk kata HELLO mudah kan?

Sekarang pertanyaannya kenapa kita memisahkan 4 bit 4 bit?

Jawabannya karena bila kita menggunakan 8 bit itu menurut saya terlalu panjang

seperti saat kita menulis pesan singkat untuk seorang teman kita sebagai contoh

kita menulis kata “SEKARANG” menurut saya itu terlalu panjang padahal kita

dapat menulisnya dengan cara disingkat menjadi “SKRG” teman kita pun akan

mengetahui bahwa yang dimaksud adalah kata SEKARANG. Begitu juga pada

penggunaan 8 bit menjadi 4 bit kenapa kita menggunakan 8 bit jika ada cara lain

selain 8 bit yang memudahkan kita yaitu dengan cara menulis 4 bit. Istilah lain

untuk 4 bit adalah Nibble. Jadi untuk 1 huruf alphabet berarti 2 nibble = 1 byte

dalam ukuran memori. Sekarang bila kita menulis TEORIBILANGAN berapa

ukuran byte untuk kata tersebut? Jawabannya adalah 13 byte. Kenapa bisa begitu?

Jika kita rinci kata:

T = 2 nibble

E = 2 nibble

O = 2 nibble

R = 2 nibble

I = 2 nibble

Page 8: Decoding Encoding with Heksadesimal

8

Spasi= 2 nibble

B = 2 nibble

I = 2 nibble

L = 2 nibble

A = 2 nibble

N = 2 nibble

G = 2 nibble

A = 2 nibble

N = 2 nibble

Jumlah seluruh nibble dalam kata tersebut adalah 28 nibble. Kita

ketahui bahwa 2 nibble = 1 byte jadi bila kita hitung maka untuk kata “TEORI

BILANGAN’ kata tersebut akan berukuran 14 byte. Tetapi bila kita coba ketik

kata tersebut dalam microsoft word lalu kita save ukurannya tidak akan 14 byte

dikarenakan ada hal hal lain selain dari segi tersebut seperti pada jenis huruf,

ukuran kertas, tebalnya huruf, dll yang mempengaruhi ukuran byte dalam

penulisan kata “TEORI BILANGAN”.

Dari uraian diatas dapat disimpulkan bahwa penggunaan bilangan

heksadesimal merupakan cara ampuh untuk memudahkan kita dalam mengirim

dan membaca kode yang kita inginkan atau kita terima. Memang di dunia ini

masih banyak yang belum mengenal bilangan heksadesimal padahal sitem

bilangan heksadesimal tersebut telah digunakan dalam IP address versi 6. Karena

sistem dalam komputer kebanyakan menggunakan sistem bilangan biner padahal,

sistem bilangan heksadesimal dapat lebih memudahkan kita dalam mengkonversi

bilangan-bilangan biner tersebut dengan skala yang lebih kecil seperti dari 8 digit

bilangan biner kita dapat memisahkan menjadi 2 yang berisi 4 digit 4 digit

bilangan biner lalu kita ubah bilangan tersebut kedalam bilangan heksadesimal.

Itu lebih memudahkan kita dalam pengiriman dan pembacaan kode-kode yang

banyak bukan hanya 3,4,atau 5 huruf mungkin kode tersebut berbentuk 2 kata atau

bahkan 1 kalimat. Bahkan ini pun dapat menjadi sebuah secret message yang

hanya penerima dan pengirim lah yang tau apa pesan yang dikirim maupun

Page 9: Decoding Encoding with Heksadesimal

9

diterima. Kita sekarang mengetahui bahwa istilah selain dari 8 bit = 1 byte

menjadi 2 nibble = 1 byte

Akhirnya pembahasan tentang decoding encoding with heksadesimal

pun selesai. Ini merupakan aplikasi yang lebih memudahkan kita selain daripada

penggunaan bilangan biner. Kedepannya mungkin akan ada aplikasi-aplikasi yang

lebih baru yang lebih memudahkan selain bilangan heksadesimal dalam

pengiriman ataupun penerimaan secret message, pengiriman dan penerimaan

kode-kode ataupun hal-hal lain.