Anda di halaman 1dari 4

kalau kemaren sudah belajar menentukan bit mana yang mati/hidup dari 8 digit hexa,

maka sekarang belajar aturan selanjutnya:


Contoh:
Ada data sebagai berikut:
08006020000000000000101234567890300000123456
empat digit pertama disebut MTI, lalu 16 digit berikutnya menentukan bit mana saja
yang on-off dari bit 1-64. Dan dari program soal 04, maka diketahui bit 2,3, dan 11
on. 16 digit ini disebut sebagai PRIMARY BITMAP.
Karakter selanjutnya sampai selesai adalah data dari bit-bit yang on, yang disusun
secara berurutan. Ini disebut ISO DATA.

jadi
primary bitmap : 6020000000000000
ISO Data : 109999999999300000123456

Tahapan berikutnya kita harus memecahkan ISO data ke masing-masing Bit nya
(2,3,11).

Pertama adalah bit-2. Pada tabel dibawah diketahui bit 2 memiliki karakteristik
L=2, max=21.
L=2, biasa disebut LLvar. jika L=3, maka disebut LLLvar. Artinya data pada bit
bersangkutan memiliki variable length sejumlan L=n.
Ini berarti dua digit pertama dari bit 2 akan menentukan panjang data berikutnya
yang akan diambil.
Pada contoh, 2 digit length Bit-2 adalah 10.
Jadi nilai Bit-2=109999999999

Lalu untuk Bit-3, L=0, max = 6. ini berarti untuk bit 3, akan mengambil ISO data
sebanyak Max.
Jadi nilai Bit-3=300000

Lalu untuk Bit-11, L=0, max = 6. ini berarti untuk bit 11, akan mengambil ISO data
sebanyak Max.
Jadi nilai Bit-11=123456.

Special Case untuk Bit 1, Bit-1 disebut "SECONDARY BITMAP". Jika Bit 1=on, maka 16
digit pertama dari ISO data menentukan Bit mana dari 65-128 yang on (sama seperti
perhitungan primary bitmap).

Aturan bit data:


+------------+
�BIT L Max�
�--- --- ----�
� 1 0 16�
� 2 2 21�
� 3 0 6�
� 4 0 12�
� 5 0 12�
� 6 0 12�
� 7 0 10�
� 8 0 8�
� 9 0 8�
� 10 0 8�
� 11 0 6�
� 12 0 6�
� 13 0 4�
� 14 0 4�
� 15 0 4�
� 16 0 4�
� 17 0 4�
� 18 0 4�
� 19 0 3�
� 22 0 3�
� 23 0 3�
� 24 0 3�
� 25 0 2�
� 26 0 2�
� 27 0 1�
� 28 0 9�
� 29 0 9�
� 30 0 24�
� 31 0 9�
� 32 2 22�
� 33 2 22�
� 34 0 0�
� 35 2 39�
� 36 3 107�
� 37 0 12�
� 38 0 6�
� 39 0 2�
� 41 0 8�
� 42 0 15�
� 43 0 40�
� 44 2 101�
� 45 2 78�
� 46 3 103�
� 47 3 603�
� 48 3 1002�
� 49 0 3�
� 50 0 3�
� 51 0 3�
� 52 0 16�
� 53 0 16�
� 54 3 123�
� 55 3 1002�
� 56 2 100�
� 57 3 15�
� 58 3 135�
� 59 2 102�
� 60 3 1002�
� 61 3 1002�
� 62 3 1002�
� 63 3 1002�
� 64 0 16�
� 66 0 1�
� 70 0 3�
� 72 3 503�
� 73 0 0�
� 74 0 10�
� 75 0 10�
� 76 0 10�
� 77 0 10�
� 79 0 10�
� 80 0 10�
� 81 0 10�
� 82 0 12�
� 83 0 12�
� 84 0 12�
� 85 0 12�
� 86 0 16�
� 87 0 16�
� 88 0 16�
� 89 0 16�
� 90 0 42�
� 91 0 1�
� 92 0 3�
� 93 2 18�
� 94 2 13�
� 95 0 42�
� 96 3 259�
� 97 0 17�
� 98 0 25�
� 99 2 13�
�100 2 13�
�101 2 12�
�102 2 30�
�103 2 30�
�104 3 100�
�105 3 259�
�107 3 100�
�110 3 103�
�111 3 100�
�112 3 1002�
�113 3 1002�
�114 3 1002�
�115 0 0�
�116 0 0�
�117 0 0�
�118 0 0�
�119 0 0�
�120 3 1002�
�121 3 1002�
�122 3 1002�
�123 3 1002�
�124 3 533�
�125 3 19�
�126 3 295�
�127 3 100�
�128 0 16�

Data ini boleh ditable, atau dimasukan kedalam include file.

Aturan-aturan spliting data ini bisa di search dari google/wikipedia, mengenai ISO
8583.

Soal latihan progress:

buatlah program untuk mensplit data berikut menjadi hasil output seperti pada
contoh:

1) 0800822000000000000004000000000000001114023907001058301

hasil output:
MTI: 0800
PRIMARY BITMAP: 8220000000000000
BIT 1 : 0400000000000000
BIT 7 : 1114023907
BIT 11 : 001058
BIT 70 : 301

2)

0200F23A400128E19000000000001600000A16628148080478720139100000000100000011140241070
4735921410411131114601103555296281480804787201=000000000000087654456789000060140000
00000006014TESTIB PURI INDAH 076
1001002055
360AEF550FEE8089E9803555001070070070010012003422

hasil output:
MTI: 0200
PRIMARY BITMAP : F23A400128E19000
Bit 1 : 000000001600000A
BIT 2 : [16]6281480804787201
BIT 3 : 391000
BIT 4 : 000001000000
BIT 7 : 1114024107
BIT 11 : 047359
BIT 12 : 214104
BIT 13 : 1113
BIT 15 : 1114
BIT 18 : 6011
BIT 32 : [03]555
BIT 35 : 296281480804787201=000000000000
BIT 37 : 087654456789
BIT 41 : 00006014
BIT 42 : 000000000006014
BIT 43 : TESTIB PURI INDAH
BIT 48 : 076 1001002055
BIT 49 : 360
BIT 52 : AEF550FEE8089E98
BIT 100 : [03]555
BIT 102 : 00
BIT 103 : [10]7007007001
BIT 125 : [001]2
BIT 127 : [003]422

Note: Boleh menggunakan program yang dibuat sebelumnya untuk membantu proses
perhitungan dan parsing ISO.
Lama pengerjaan: 2hari.

Anda mungkin juga menyukai