• Tidak ada hasil yang ditemukan

ANALISIS KONSTRUKSI DAN SIFAT BCH CODE

N/A
N/A
Protected

Academic year: 2021

Membagikan "ANALISIS KONSTRUKSI DAN SIFAT BCH CODE"

Copied!
8
0
0

Teks penuh

(1)

ANALISIS KONSTRUKSI DAN SIFAT

BCH CODE

A

CHMAD

F

AHRUROZI

,

M.S

I1,2

,

S

RI

M

ARDIYATI

,

M.K

OM2

1

Universitas Gunadarma Depok, [email protected] 2

Universitas Indonesia Depok, [email protected]

Abstract

Pada makalah ini, akan dibahas suatu metode pengkodean, dimana ketika pesan-pesan yang berbentuk k-tuple akan dikirim, maka pesan-pesan tersebut diubah menjadi code yang merupakan kumpulan n-tuple codeword, dengan

n

>

k

. Codeword tersebut terdiri dari k simbol yang merupakan pesan yang berkorespondensi dengan codeword tersebut, dan (n-k) simbol yang disebut bit parity check. Simbol yang digunakan adalah elemen-elemen dari suatu lapangan hingga GF q q( ), =2 ,m mN. Untuk memperoleh bit parity check ini, digunakan algoritma BCH code, dimana code yang dihasilkan mampu mendeteksi dan mengkoreksi error yang terjadi pada proses pengiriman pesan-pesan. Kemampuan suatu code dalam mengontrol error (mendeteksi dan atau mengkoreksi error) tergantung pada jarak minimum antar codeword dalam code tersebut.

Kata kunci: pesan, lapangan hingga, codeword, code, jarak minimum. 1. Pendahuluan

Pengkodean informasi adalah suatu cara yang digunakan untuk melindungi informasi yang dikirim dari gangguan yang mungkin terjadi pada media pengiriman. Untuk melakukan ini, sebelum dikirim, informasi yang berupa huruf, karakter ataupun suara diubah terlebih dahulu menjadi pesan-pesan yang berbentuk k-tuple, dimana komponen-komponennya adalah anggota lapangan hingga. Pesan-pesan tersebut kemudian diubah menjadi kumpulan n-tuple yang disebut codeword melalui proses encoding. Hasil dari metode pengkodean informasi tersebut disebut code. Gagasan mengenai cara pengkodean informasi sehingga suatu kesalahan dapat dideteksi dan juga dapat diperbaiki pertama kali dikembangkan oleh ilmuwan bernama R.W. Hamming.

Dalam perkembangannya, muncul berbagai cara pengkodean informasi yang berbeda-beda, yang memiliki proses konstruksi dan sifat yang berbeda satu dengan lainnya. Berbagai jenis code yang dihasilkan tersebut tidak hanya diaplikasikan pada komputer saja, tetapi bermanfaat untuk berbagai aspek kehidupan sehari-hari, khususnya teknologi komunikasi digital. Salah satu jenis atau kelompok code yang mempunyai nilai kegunaan yang baik adalah cyclic code. Pada makalah ini akan dibahas mengenai konstruksi BCH

(2)

2. Teori Coding

Untuk membahas kemampuan suatu code dalam mendeteksi sekaligus mengkoreksi error yang terjadi, diperlukan beberapa pengertian yang berkaitan dengan suatu code C. Berikut diberikan pengertian tentang jarak Hamming dan bobot Hamming dalam suatu

code C.

(i) Jarak Hamming antara dua codeword berbentuk n-tuple x=( ,x x1 2,…,xn) dan 1 2

( , , , n)

y= y yy dalamC, dilambangkan d x y( , ), adalah banyaknya koordinat dalam x dan y yang berbeda.

(ii) Bobot Hamming dari codeword berbentuk n-tuple x=( ,x x1 2,…,xn) dalam C, dilambangkanw x( ), adalah banyaknya koordinat xi yang tak-nol.

Jarak minimum suatu code C, dilambangkandmin( )C , atau juga sering disingkat dmin, didefinisikan sebagai [5] min min ( , )u v C, u v d d u v ∈ ≠ =

Misal C adalah code dengan dmin =d. Maka C memiliki kemampuan kontrol error: mengkoreksi maksimum 1

2

d t= ⎢⎢ − ⎥

⎣ ⎦ error dan mendeteksi maksimum

d

1

error [5]. Suatu code C yang merupakan (n,k)-blok code disebut grup code jika C merupakan subruang dari GF q( )n

, dimana GF q( )n

menyatakan suatu ruang vektor berdimensi n atas lapangan hingga GF q( ) sekaligus merupakan lapangan perluasan dari lapangan

( )

GF q . Sehingga proses encoding suatu grup code secara umum dapat juga dipandang sebagai sebuah transformasi dari ruang vektor GF q( )k

ke ruang vektor GF q( )n

. Sehingga proses encoding suatu code dapat melibatkan matriks generator G yang berukuran

n k

x

. Berikut ini adalah sifat yang dimiliki oleh suatu grup code:

Teorema 1: Misalkan dmin adalah jarak minimum dari suatu grup code C. Maka dmin

adalah minimum dari bobot Hamming semua codeword tak-nol dalam C. Ditulis

( )

{

}

min

min

| 0

d

=

w x

≠ ∈

x

C

[7]

Suatu code dapat pula dibangun dengan mencari solusi dari persamaan

Hx

T

=

0

, dimana H disebut matriks parity check yang berbentuk

H

=

(

A I

|

n k

)

, dimana A adalah sebarang matriks berukuran

n k

x

k

dan In k adalah matriks identitas berukuran

x

n k

n k

. Code yang dibangun tersebut disebut linier code. Suatu linier code juga merupakan suatu grup code.

Suatu linier (n,k) code C dikatakan suatu cyclic code jika untuk setiap codeword 1 2

( ,a a ,....,an) dalam C, maka pergantian secara siklik menjadi n-tuple

2 3 1

(a a, ,....,a an, ) juga merupakan codeword dalam C [5].

Suatu cyclic code dapat dibangun dari suatu polinomial generator g x membagi ( ) xn− 1 dalam GF q x . ( )[ ] Berikut adalah sifat yang dimiliki oleh suatu cyclic code C:

Teorema 2: Misal

C

=

g x

( )

adalah cyclic code dan misalkan α adalah akar primitif ke-n dari unit atas Z2. Jika s buah pangkat berurutan dari α adalah akar dari g x( ),

(3)

3. Konstruksi BCH code

BCH code adalah suatu contoh binary code, yang diperkenalkan oleh dua orang ilmuwan, R. C. Bose dan D. V. Ray-Chaudhuri mengacu pada penemuan A. Hocquenghem. Sistem komunikasi dan informasi Eropa dan trans-Atlantik menggunakan BCH code yang berbentuk (255,231)-blok code [5].

Berikut diberikan algoritma konstruksi BCH code: 1. Tentukan panjang codeword n=2m−1

, untuk suatu

m

N

dan tentukan juga jarak BCH

d

N

dan d ≤(n−1) / 2.

2. Cari minimum polinomial untuk

α

i, dilambangkan m xi( ), dimana

α

adalah akar primitif ke-n dari unit dan i=1, 2,..., 2r

3. Tentukan polinomial generator g x( ), yaitu

[

1 2 2

]

( )

( ),

( ),...,

r

( )

g x

=

lcm m x m x

m

x

4. Bentuk polinomial u x( )=xn km x( ) mod ( )g x , dimana

1 2

1 2

( ) k k ...

k

m x =a x − +a x − + +a adalah polinomial yang berkorespondensi dengan pesan

m

=

(

a a

1

,

2

,...,

a

k

)

, aiZ2

5. Sehingga diperoleh codeword c yang berkorespondensi dengan polinomial

( ) n k ( ) ( ) c x = xm x +u x .

Dalam algoritma tersebut, dapat dianalisa beberapa hal, yaitu • Polinomial minimal untuk

α

i

ditentukan dengan menggunakan teorema berikut: Teorema 3: Misal

ξ

adalah elemen GF p( m) dan misal mξ menyatakan polinomial minimal dari

ξ

. Misalkan

α

adalah elemen primitif dalam GF p( m) dan misalkan

i

ξ α

= . Jika i ada dalam cyclotomic coset Ci, maka

(

)

i j j C mξ x

α

∈ =

− [7] . • Pada Langkah 3, karena polinomial generator

g x

( )

=

lcm m x m x

[

1

( ),

2

( ),...,

m

2r

( )

x

]

dimana m xi( ) adalah polinomial minimal untuk

α

i, maka polinomial generator tersebut dijamin memiliki paling sedikit 2r akar berurutan, yaitu

α α

, 2,...,

α

2r. Selain itu, karena α adalah akar primitif ke-n dari unit, maka polinomial generator

( )

g x juga dijamin membagi xn−1.

• Pada Langkah 4, dapat dilihat bahwa polinomial u x( )=xn km x( ) mod ( )g x akan berderajat kurang dari derajat g x( ). Sehingga, jika deg ( )g x =s, maka

deg ( )u x ≤ −s 1. Karena BCH code adalah suatu cyclic code yang dibangun oleh

( )

g x maka diperoleh hubungan

s

= −

n k

, s=deg ( )g x (1) • Andai deg ( )u x = −s 1, maka koefisien dalam u x( )=u0+u x1 + +... us1xs−1 akan

langsung menjadi n-k komponen terakhir pada codeword yang dihasilkan. Jika

deg ( )u x = < −v s 1, maka u x( )akan ditulis sebagai

1 2 1

1 ( 1)

( ) 0 s 0 s ... v v ...

s v s v s v v s

u x = x − + x − + +u x +u − +x − + +u− + − x+u ,

yang dimaksudkan untuk menjamin koefisien u x( ) selalu menjadi

s

= −

n k

(4)

1 2

1 2

( ) n k ( ) ( ) n n ... n

c x =xm x +u x =c x − +c x − + +c , maka codeword yang dihasilkan adalah adalah

c

=

(

c c

1

,

2

,...,

c c

k

,

k+1

,...,

c

n

)

, dimana

(

c c

1

,

2

,...,

c

k

)

=

m

dan

(

c

k+1

,...,

c

n−1

,

c

n

)

=

u

.

• Sedangkan pada Langkah 5, perkalian xn km x( )

adalah suatu manipulasi agar pesan

m berada pada k komponen pertama dalam codeword yang dihasilkan.

Teorema berikut memberikan hubungan antara jarak d yang ditentukan pada definisi BCH code dan jarak minimum pada BCH code tersebut.

Teorema 4: BCH code yang dibangun dengan polinomial generator g x( ) seperti di atas memiliki jarak minimum dmind [5].

Teorema 5: Suatu BCH code dengan panjang n=2m−1 dan jarak minimum paling sedikit

d

=

2

r

+

1

, memiliki bit parity check maksimum sebanyak

mr

. Dengan kata lain,

n k

− ≤

mr

[8].

Lebih lanjut, karena jarak minimum dmin ≥ =d 2r+1 dan karena kemampuan koreksi

error min 1

2 d t= ⎢⎢ − ⎥

⎣ ⎦, maka jelas bahwa tr. Jadi, berdasarkan Teorema 5 diperoleh:

n k

− ≤

mt

Misalkan suatu BCH code adalah linier (n,k) code, maka berikut ini diberikan hubungan antara panjang code (n), panjang pesan (k), dan kemampuan koreksi error maksimum (t) yang dimiliki oleh BCH code tersebut.

Tabel 1. Hubungan n, k dan t pada BCH (n,k) code dengan n=7, 15, 31, 63 dan 255 n k t n k t n k t n k t n k t n k t 7 4 1 63 57 1 255 247 1 255 163 12 255 139 15 255  55 31 15 11 1 51 2 239 2   155 13   131 18   47 42 7 2 45 3 231 3   147 14   123 19   45 43 5 3 39 4 223 4   139 15   115 21   37 45 31 26 1 36 5 215 5   131 18   107 22   29 47 21 2 30 6 207 6   123 19   99 23   21 55 16 3 24 7 199 7   115 21   91 25   13 59 11 5 18 10 191 8   107 22   87 26   9 63 6 7 16 11 187 9   99 23   79 27         10 13 179 10   155 13   71 29         7 15 171 11   147 14   63 30      

Pada tabel terlihat bahwa panjang pesan yang dapat dikirm (k) dan kemampuan koreksi maksimum (t) berubah-ubah secara tak teratur. Hal ini dipengaruhi oleh bentuk polinomial generator dari BCH code. Karena polinomial generator

[

1 2 2

]

( )

( ),

( ),...,

r

( )

g x

=

lcm m x m x

m

x

, maka bentuknya bergantung pada polinomial

minimal dari

α

k yang besar pangkatnya bergantung pada jumlah elemen dalam suatu

cyclotomic coset. Sebagai contoh, misal diambil n = 15. Perhatikan bahwa terdapat 5

(5)

{ }

0

0

C

=

C

3

=

{

3, 6,12, 9

}

C

7

=

{

7,14,13,11

}

{

}

1

1, 2, 4,8

C

=

C

5

=

{

5,10

}

Maka akan terdapat 5 buah polinomial minimal berbeda, masing-masing untuk

0 3 5

, , ,

α α α α

dan

α

7. Jika dipilih d = 3, maka perlu dicari polinomial minimal untuk

α

dan

α

2. Karena 1, 2∈C1, maka polinomial minimal untuk

α

dan

α

2 sama, yaitu polinomial primitif, dan karena jumlah elemen C1 adalah 4, maka polinomial generator akan berderajat empat. Sehingga berdasarkan persamaan (1), panjang pesan yang dapat dikirim adalah 15 – 4 = 11. Sedangkan jika dipilih d = 5, perlu dicari polinomial minimal untuk

α α α

, 2, 3 dan

α

4, dimana hanya akan terdapat dua polinomial minimal yang berbeda, yaitu polinomial minimal untuk α dan polinomial minimal untuk

α

3. Karena anggota cyclotomic coset

C

1

=

{

1, 2, 4,8

}

dan

C

3

=

{

3, 6,12, 9

}

total berjumlah 8, maka derajat dari polinomial generator adalah 8 (polinomial generator g x( ) adalah hasil perkalian dari dua buah polinomial minimal berderajat empat). Sehingga panjang pesan yang dapat dikirim adalah 15 – 8 = 7.

Sedangkan jika dipilih d =7, maka perlu dicari polinomial minimal untuk 2 3 4 5

, , , ,

α α α α α

dan

α

6, dimana akan terdapat tiga polinomial minimal yang berbeda, yaitu polinomial minimal untuk

α α

, 3 dan

α

5. Karena anggota cyclotomic coset

{

}

1

1, 2, 4,8

C

=

,

C

3

=

{

3, 6,12, 9

}

, dan

C

5

=

{

5,10

}

berjumlah total 10, maka derajat dari polinomial generator adalah 10. Sehingga menyebabkan panjang pesan yang dapat dikirim adalah 15 – 10 = 5. Jadi, saat jarak BCH d yang dituju berturut-turut dipilih 3, 5 dan 7, nilai k yang diperoleh adalah 11, 7 dan 5, dimana terlihat bahwa polanya tidak teratur (dalam hal ini, berarti tidak memiliki selisih yang tetap).

Kemampuan koreksi error maksimum juga memiliki pola perubahan yang tidak teratur untuk d yang berbeda-beda. Penjelasan untuk hal tersebut adalah karena saat kita menetapkan jarak BCH d pada algoritma encoding, maka kadangkala jarak minimum dari BCH code yang terbentuk lebih besar dari d. Sebagai contoh, untuk n = 31, jika dipilih d = 7, maka dapat dihitung jarak minimum dari BCH code yang terbentuk adalah 7, sehingga kemampuan koreksi error maksimum adalah t = 3. Sedangkan jika dipilih d = 9, maka jarak minimum dari code yang terbentuk adalah 11. Perhatikan contoh berikut. Untuk d = 5, polinomial generator yang terbentuk adalah

[

]

2

( )

1

( ),

2

( ),

3

( ),

4

( )

1

( )

3

( )

g x

=

lcm m x m x m x m x

=

m x m x

Untuk d = 7, polinomial generator yang terbentuk adalah

[

]

3

( )

1

( ),

2

( ),...,

6

( )

g x

=

lcm m x m x

m x

Karena cyclotomic coset (mod 31)

C

5

=

{

5,10, 20,9,18

}

,

C

6

=

{

6,12, 24,17, 3

}

,

{

}

7

7,14, 28, 25,19

C

=

dan

C

8

=

{

8,16,1, 2, 4

}

, maka polinomial minimal 6( ) 3( )

m x =m x . Sehingga

[

]

3

( )

1

( ),

2

( ),

3

( ),

4

( ) .

5

( )

2

( )

5

( )

g x

=

lcm m x m x m x m x

m x

=

g x m x

Sedangkan untuk d = 9, polinomial generator yang terbentuk adalah

[

]

4

( )

1

( ),

2

( ),...,

8

( )

g x

=

lcm m x m x

m x

sedangkan polinomial minimal m x8( )=m x4( ). Sehingga

[

]

4

( )

1

( ),

2

( ),...,

6

( ) .

7

( )

3

( ).

7

( )

(6)

Sedangkan untuk d = 11, polinomial generator yang terbentuk adalah

[

]

5

( )

1

( ),

2

( ),...

9

( ),

10

( )

g x

=

lcm m x m x

m x m

x

Karena

C

9

=

{

9,18, 7,14, 28

}

=

C

7 dan

C

10

=

{

10, 20,9,18, 5

}

=

C

5, maka polinomial minimal m x9( )=m x7( ) dan m10( )x =m x5( ). Sehingga

[

]

[

]

5 1 2 9 10 1 2 8 4

( )

( ),

( ),...,

( ),

( )

( ),

( ),...,

( )

( )

g x

lcm m x m x

m x m

x

lcm m x m x

m x

g x

=

=

=

Terlihat bahwa, untuk d = 9 dan d = 11, polinomial generator yang terbentuk adalah sama, sehingga jika dipilih d = 9, BCH code yang terbentuk akan sama dengan BCH code yang terbentuk jika dipilih d = 11. Sehingga

C

=

g x

4

( )

=

g x

5

( )

dan memiliki kemampuan koreksi error maksimum t = 5.

Lebih lanjut, dapat diperhatikan bahwa: Untuk d = 13, g x6( )=g x m5( ) 11( )x Untuk d = 15, g x7( )=g x6( )

Sehingga untuk d = 9 dan d = 11, polinomial generator dari code yang terbentuk adalah sama. Begitu juga untuk d = 13 dan d =15, code yang terbentuk memiliki polinomial generator yang sama. Sedangkan untuk d lainnya, polinomial generator dari code yang terbentuk berbeda-beda. Kemudian perhatikan pada tabel, untuk n = 31, terjadi lompatan nilai t dari 2, 3, kemudian 5, dan kemudian 7. Nilai t = 4 dan t = 6 dilompati berkaitan dengan kesamaan pada g x5( )=g x4( ) dan g x7( )=g x6( ). Jadi, dapat ditemukan pola saat gi+1( )x =g xi( ), sedangkan g xi( )≠gi1( )x dan gi+2( )xgi+1( )x maka nilai t akan lompat dari

t

= −

i

1

ke

t

= +

i

1

.

Dapat dianalisa pola yang lebih umum, yaitu bahwa pada saat

1

( )

( )

...

( )

i j i j i j v

g

+

x

=

g

+ −

x

= =

g

+ −

x

, untuk suatu i j v, , ≥1 dan berlaku

1

( )

( )

i j v i j v

g

+ −

x

g

+ − −

x

dan

g

i j+ +1

( )

x

g

i j+

( )

x

, maka akan terjadi lompatan nilai t pada tabel dari t= + − −i j v 1 ke t= + +i j 1.

4. Hasil Simulasi

Berikut diberikan output dari contoh konstruksi BCH code. Pertama, dipilih dahulu panjang code n=2m−1 dengan cara menentukan nilai untuk

m

. Lalu dipilih d yang diinginkan, dimana d yang dipilih harus merupakan bilangan ganjil dan memiliki batas bawah 3 (karena bentuk jarak BCH d yang dipilih adalah dBCH =2r+1, sehingga polinomial generator terdefinisi untuk r≥1). Sedangkan batas atas untuk nilai d yang bisa dipilih adalah 2m−1−1 . Hal ini karena untuk d =2m−1+1, maka panjang pesan adalah 1, dan hal tersebut tidak diperbolehkan dalam MATLAB. Dalam aplikasinya, jika panjang pesan hanya 1, maka hanya mungkin dikirimkan 2 simbol, dan code dengan panjang pesan 1 tidak pernah digunakan. Sedangkan untuk d ≥2m−1+3, BCH code tidak terdefinisi.

masukan nilai pangkat yang diinginkan! m =5

Panjang code adalah n = 31.

masukkan nilai d yang diinginkan, dengan syarat d ganjil dan <= 15! d =11

(7)

Polinomial generator dari BCH code yang terbentuk adalah: g = GF(2) array.

Array elements =

1 0 1 1 0 0 0 1 0 0 1 1 0 1 1 0 1 0 1 0 1 memiliki kemampuan koreksi maksimum 5 error

masukkan pesan msg = [1 1 1 1 0 0 0 0 1 1 0] code = GF(2) array. Array elements = Columns 1 through 22 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 1 Columns 23 through 31 0 1 0 0 1 1 1 0 0

Output MATLAB contoh konstruksi BCH code

Pada output, akan ditampilkan panjang pesan k yang dapat dikirimkan serta kemampuan

error maksimum dari BCH code yang terbentuk setelah n dan d ditentukan. Pada contoh,

jika nilai k cukup besar, maka user dapat memasukkan contoh pesan secara acak, dengan menggunakan perintah randint(1,k) pada MATLAB. Output terakhir dari program tersebut adalah codeword yang bersesuaian dengan pesan yang dimasukkan oleh user.

5. Kesimpulan

BCH code dibangun oleh suatu polinomial generator yang merupakan least common

multiple dari

2

r

= −

d

1

polinomial minimal untuk

α

s,s=1, 2,...., 2r.

Untuk

m

N

,

m

3

dapat dibentuk BCH code yang memiliki parameter sebagai berikut:

1. n=2m−1

2.

n k

− ≤

mt

3. dmind

Dalam konstruksi BCH code, terlebih dahulu ditentukan nilai d, yang mengakibatkan panjang pesan yang dapat dikirim terbatasi. Hal ini dikarenakan dalam konstruksi BCH

code, sebenarnya yang dilakukan adalah “memilih” 2k buah n-tuple yang “tersedia” dalam GF q( )n untuk menjadi codeword dalam BCH code yang dikehendaki sedemikian sehingga jarak minimum antar codeword tersebut lebih besar atau sama dengan d yang ditentukan di awal.

Jarak minimum dari BCH code yang terbentuk kadangkala lebih besar daripada d yang ditentukan pada awal konstruksi. Hal tersebut dikarenakan polinomial generator untuk nilai d yang berbeda dapat berbentuk sama.

Kedua hal tersebut (keterbatasan panjang code yang dikirim dan jarak minimum BCH

code yang terbentuk) berkaitan dengan bentuk cyclotomic coset (mod n) yang

mempengaruhi bentuk polinomial minimal untuk

α

s, dimana s=1, 2,...,d−1. Referensi:

[1] Adams, Sarah S. (2008). Introduction to Algebraic Coding Theory. Juli 19, 2011. < http://www.math.niu.edu/~beachy/courses/523/coding_theory.pdf>

[2] Bhattacharya, P.B., S.K. Jain & S.R. Nagpaul. 1994. Basic Abstract Algebra, second edition. Cambridge University Press., Cambridge: 281-311.

[3] Berlekamp, E. R. (1972). A Survey of Coding Theory. Journal of the Royal Statistical Society. Serie A (General), Vol. 135, No. 1, pp. 44- 73.

[4] Herstein, I. N. (1996). Abstract Algebra, 3nd edition. Prentice-Hall Inc., New Jersey: 40-223.

(8)

[5] Judson, Thomas W. (1997). Abstract Algebra Theory and Applications. VCU Mathematics Textbook Series.

[6] Koblitz, Neil. (1997). Algebraic Aspects of Cryptography, volume 3. Springer- Verlag, Berlin: 53-60.

[7] Lidl, R. & G. Pilz. (1997). Applied Abstract Algebra, second edition. Springer- Verlag, Berlin: 117-131.

[8] Vermani, Lekh R. (1996). Elements of Algebraic Coding Theory. Chapman & Hall, 2-6 Boundary Row, London SE1 8HN, UK.

[9] Wallace, Hank. (2001). Error Detecting and Correcting Using the BCH Code. September 28, 2011. http://www.aqdi.com/bch.pdf.

Gambar

Tabel 1. Hubungan n, k dan t pada BCH (n,k) code  dengan n=7, 15, 31, 63 dan 255  n k t n k t  n  k  t  n k  t  n k  t  n k t  7 4 1 63  57  1 255  247  1 255  163  12  255 139 15  255   55 31  15 11 1    51 2    239 2    155 13    131 18    47 42   7  2

Referensi

Dokumen terkait