JTPediaQuiz - Bank Soal, Quiz Interactive, Contoh-contoh Soal Ujian Sekolah, Uji Kompetensi, Ulangan Harian, DLL. More info

Proses Encode dan Decode Base64 Secara Manual dan Otomatis

More Info:

Encoding adalah cara/proses untuk merubah suatu bentuk data (awal) menjadi data dalam bentuk/format yang lain (biasanya ke dalam bentuk yang sulit dibaca manusia secara umum). Sementara Decoding adalah kebalikan dari Encoding, yaitu untuk merubah dan mengembalikan data dalam bentuk/format yang lain menjadi data semula (awal)

Dalam prosesnya, baik encoding maupun decoding melibatkan perubahan data dalam bentuk binari (binary). Seperti yang diketahui, pada dasarnya komputer hanya mengenal data/informasi dalam bentuk binari (hanya mengenal angka 0 dan 1) kemudian data binari ini dirubah menjadi bentuk data/informasi yang bisa dibaca manusia secara umum.

Encoding Base64 dan Decoding Base64 merupakan cara untuk merubah data yang hanya mencakup 64 karakter pada standar ASCII
Pada prosesnya, Encoding Base64 akan mengubah nilai desimal setiap karakter menjadi biner 8 bit. Setelah itu, setiap biner 8 bit diubah menjadi biner 6 bit.

64 Karakter dan Nilai Desimal Base64 Terlihat Seperti Berikut:

Tabel 1: Nilai Desimal dan Karakter Base64

Value Char   Value Char   Value Char   Value Char
0 A 16 Q 32 g 48 w
1 B 17 R 33 h 49 x
2 C 18 S 34 i 50 y
3 D 19 T 35 j 51 z
4 E 20 U 36 k 52 0
5 F 21 V 37 l 53 1
6 G 22 W 38 m 54 2
7 H 23 X 39 n 55 3
8 I 24 Y 40 o 56 4
9 J 25 Z 41 p 57 5
10 K 26 a 42 q 58 6
11 L 27 b 43 r 59 7
12 M 28 c 44 s 60 8
13 N 29 d 45 t 61 9
14 O 30 e 46 u 62 +
15 P 31 f 47 v 63 /

Cara membaca tabel tersebut, misalnya karakter dengan nilai 16 adalah huruf Q, nilai 34 adalah huruf i.


Karakter dan Nilai Desimal Standar ASCII

Yang dimaksud karakter disini sebenarnya bukanlah huruf atau simbol, melainkan nilai data binari yang dikonversi dari bilangan desimal.
Semua karakter dan nilai desimal berdasarkan standar ASCII terlihat seperti pada tabel berikut

Tabel 2: Nilai Desimal dan Karakter ASCII

Proses Encode dan Decode Base64 Secara Manual

Proses Manual Encode dan Decode Base64

Prses Encode Base64: Cara Merubah 8 Bit Menjadi 6 Bit

Pada prosesnya, Encoding Base64 akan mengubah nilai desimal setiap karakter menjadi biner 8 bit. Setelah itu, setiap biner 8 bit diubah menjadi biner 6 bit
Proses Encoding Base64 untuk mengubah nilai desimal setiap karakter menjadi biner 8 bit bisa dilihat pada contoh berikut:

Contoh Encode Base64 Tanpa Padding

Misalnya ada kata: eTa
Untuk nilai desimal setiap karakter pada kata eTa, bisa dilihat pada Tabel 2 di atas dan untuk konversi ke bilangan binernya bisa dilakukan secara manual
e ⇒ nilai desimalnya: 101, binarinya: 01100101 (hasil konversi bilangan desimal ⇒ biner)
T ⇒ nilai desimalnya: 84, binarinya: 01010100 (hasil konversi bilangan desimal ⇒ biner)
a ⇒ nilai desimalnya: 97, binarinya: 01100001 (hasil konversi bilangan desimal ⇒ biner)

Susunan/gabungan seluruh biner pada kata eTa adalah: 011001010101010001100001
Perhatikan bahwa kita akan memproses 3 karakter (eTa), setelah setiap karakternya dikonversi menjadi biner 8 bit maka banyaknya bit pada kata eTa sebanyak 3 x 8 = 24 bit.
Dari 24 bit ini akan diubah menjadi karakter yang terdiri dari 6 bit, yang berarti akan terdapat sebanyak 24/6 = 4 karakter (habis dibagi 6, tidak ada sisa, nantinya tidak akan ada padding '=').

Untuk mendapatkan setiap karakter yang terdiri dari 6 bit, susun dan pisahkan (dari kiri) deretan binari tadi setiap 6 bit seperti berikut:
011001-010101-010001-100001

Dari susunan binari yang sudah dipisahkan setiap 6 bit seperti di atas, akan diperoleh 4 karakter seperti berikut:

011001 =25 (biner ⇒ desimal) =Z (karakter dari Tabel 1)
010101 =21 (biner ⇒ desimal) =V (karakter dari Tabel 1)
010001 =17 (biner ⇒ desimal) =R (karakter dari Tabel 1)
100001 =33 (biner ⇒ desimal) =h (karakter dari Tabel 1)

Hasil akhir Encode Base64 tanpa padding untuk kata eTa adalah ZVRh

Contoh Encode Base64 dengan Padding

Misalnya ada kata: CingNaOn
Nilai desimal dan biner untuk setiap karakter pada kata CingNaOn adalah:
C ⇒ nilai desimalnya: 67, binarinya: 01000011
i ⇒ nilai desimalnya: 105, binarinya: 01101001
n ⇒ nilai desimalnya: 110, binarinya: 01101110
g ⇒ nilai desimalnya: 103, binarinya: 01100111
N ⇒ nilai desimalnya: 78, binarinya: 01001110
a ⇒ nilai desimalnya: 97, binarinya: 01100001
O ⇒ nilai desimalnya: 79, binarinya: 01001111
n ⇒ nilai desimalnya: 110, binarinya: 01101110

Susunan/gabungan deretan biner dari kata CingNaOn yang terdiri 8 karaker ini sebanyak 8 x 8 bit = 64 bit seperti berikut:
0100001101101001011011100110011101001110011000010100111101101110

Dari 64 bit ini akan diubah menjadi karakter yang terdiri dari 6 bit, yang berarti akan terdapat sebanyak 64/6 = 10 karakter, sisa 4 bit (4 bit sisa ini akan menghasilkan 1 karakter dan 1 padding '='). Jadi total karakter yang akan dihasilkan sebanyak 12 karaker (dengan padding)

Susunan binari dari kata CingNaOn setelah dipisahkan setiap 6 bit adalah: 010000-110110-100101-101110-011001-110100-111001-100001-010011-110110-1110
Dari susunan ini akan diperoleh karaker sebagai berikut:
010000 =16 (biner ⇒ desimal) =Q (karakter dari Tabel 1)
110110 =54 (biner ⇒ desimal) =2 (karakter dari Tabel 1)
100101 =37 (biner ⇒ desimal) =l (karakter dari Tabel 1)
101110 =46 (biner ⇒ desimal) =u (karakter dari Tabel 1)
011001 =25 (biner ⇒ desimal) =Z (karakter dari Tabel 1)
110100 =52 (biner ⇒ desimal) =0 (karakter dari Tabel 1)
111001 =57 (biner ⇒ desimal) =5 (karakter dari Tabel 1)
100001 =33 (biner ⇒ desimal) =h (karakter dari Tabel 1)
010011 =19 (biner ⇒ desimal) =T (karakter dari Tabel 1)
110110 =54 (biner ⇒ desimal) =2 (karakter dari Tabel 1)
111000 =56 (biner ⇒ desimal) =4 (karakter dari Tabel 1)

Hasil akhir Encode Base64 dengan padding untuk kata CingNaOn adalah Q2luZ05hT24=

Prses Decode Base64: Cara Merubah 6 Bit Menjadi 8 Bit ????

Secara manual, proses Decode Base64 ini tinggal balikan saja.... Susun/gabungkan setiap bit hasil Encode Base64 itu lalu pisahkan (dari kiri) setiap 8 bit. Setelah dipisahkan setiap 8 bit, konversikan bilangan biner setiap 8 bit itu ke dalam bilangan desimal.
Akhirnya cek karakter untuk setiap bilangan desimal sesuai karakter yang ada pada Tabel 2.

Coba saja..........!!!!????


Tools Online Encode dan Decode Base64 Otomatis

Proses Encoding dan Decoding secara otomatis, bisa dengan menggunakan Tool Online Encode dan Decode Base64, DISINI
Powered by Blogger.