Saturday, September 28, 2013

Cara Menghitung Bitmap ISO 8583


Sebelumnya mita maaf kalo tulisannya ga rapi, mening sebelum di baca di copy paste aja dulu ke word.
--Terima Kasih--
Pada penjelasan sebelum-nya kita sudah mengetahui ciri-ciri sebuah Bitmap, dan untuk kepentingan menghitung sebuah Bitmap ada beberapa poin penting yang harus selalu di ingat ketika ingin membaca atau membuat sebuah Bitmap. Poin-poin penting yang perlu dicatat yaitu :

  • Ada 3 macam Bitmap, yaitu :
  1. Primary Bitmap, semua message ISO 8583 pasti mempunyai ini. Field atau Data Element yang aktif adalah 1-64.
  2. Secondary Bitmap, ini digunakan jika field atau Data Element yang aktif adalah 65-128. Ciri-ciri adanya Secondary Bitmap ini adalah bit pertama dari PRIMARY BITMAP pasti bernilai 1 atau TRUE.
  3. Tertiary/Third Bitmap, ini digunakan jika field atau Data Element yang aktif adalah 129-192. Identitas adanya Tertiary/Third Bitmap ini adalah aktif-nya field atau Data Element ke 65.
  • Seluruh field atau Data Element yang TIDAK AKTIF AKAN BERNILAI 0 (NOL/FALSE) DAN UNTUK YANG AKTIF AKAN BERNILAI 1 (TRUE).
  • Bitmap dapat berisi 8 byte data binary, atau
  • 16 karakter hexadecimal (0-9 dan A-F) pada ASCII atau EBCDIC (lihat pada penjelasan informasi dibawah ini).
  • Untuk mengetahui field atau Data Element mana yang aktif, kita harus mengkonversi nilai hexadecimal ke binary.
  1. Jika dalam 1 message yang aktif hanya Primary Bitmap saja, maka panjang Bitmap tersebut adalah 64 bit. Dimana 8 Byte Primary Bitmap == 64 Bit (Ingat 1 byte = 8 bits) 
  2. Jika Secondary Bitmap aktif, maka panjang Bitmap akan menjadi 64*2 yaitu 128 bit atau bisa juga disebut menjadi 32 karakter hexadecimal. Begitu juga jika Tertiary Bitmap aktif.
Setelah mengetahui beberapa poin penting dalam menghitung sebuah Bitmap dan sebelum mulai untuk melakukan konversi, ada baiknya kita segarkan dulu pikiran kita kembali ke bangku kuliah yang membahas tentang konversi dari HEXA to BINARY to DECIMAL. Mungkin ada yang masih ingat tentang tabel konversi dibawah ini ?? Karena tabel dibawah ini akan kita jadikan sebagai acuan untuk mengetahui field atau Data Element mana yang aktif  :

Tabel Konversi Decimal to HexaDecimal to Binary
Semua perlengkapan sudah siap, sekarang bagaimana jika kita mempunyai sebuah Bitmap seperti ini 5030004100010000 ? Field atau Data Element berapakah yang akan aktif ??
Untuk menghitung-nya, sekarang pecahkan 16 digit nilai Bitmap tersebut menjadi masing-masing 2 digit dan konversikan tiap 1 digit hexadecimal tersebut menjadi sebuah nilai binary seperti dibawah ini :

Hasil Konversi dari HexaDecimal ke Binary

Coba sekarang rangkailah kembali nilai binary yang dihasilkan dari proses konveri dari hexa tersebut secara ber-urutan dari angka 50,30, 00, 41, 00, 01, 00 dan 00 tersebut menjadi seperti gambar dibawah ini :

Rangkaian Bitmap Dalam Binary


Dari gambar diatas, kita sudah bisa mengatahui field atau Data Element mana saja yang aktif. Dan karena pada Bitmap diatas kita tidak melihat adanya Secondary Bitmap maka kita akan melakukan pengecekan dari field ke 1 sampai field ke 64 yang bisa kita lihat seperti dibawah ini :

         1         2         3         4         5         6   64
1234567890123456789012345678901234567890123456789012345678901234    n-th bit
0101000000110000000000000100000100000000000000010000000000000000    bit map

Dan hasil akhir dari field atau Data Element yang aktif adalah sebagai berikut :

Hasil Akhir Data Element Yang Aktif
Secondary Bitmap
sekarang kita akan coba bagaimana caranya untuk mengetahui atau meng-identifikasi adanya Secondary Bitmap ? Seperti yang sudah dijelaskna diatas, cara paling mudah identifikasi-nya yaitu 1 digit setelah 4 digit MTI (karakter pertama dari bitmap), jika dikonversikan ke binary digit awal-nya pasti bernilai 1 (TRUE) dan jika nilai-nya adalah 1 (TRUE) maka panjang Bitmap yang harus diambil adalah 32 karakter untuk keperluan melihat field atau Data Element yang aktif.

Sebagai contoh, sekarang mari kita tambahkan beberapa field atau Data Element yang sudah kita ketahui diatas menjadi seperti dibawah ini :

         1         2         3         4         5         6         7         8         9         0         1         2       128
12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678    n-th bit
01010000001100000000000001000001000000000000000110000000000000000000010000000000000000000000000000010000000000000000000111100000    bit map


         1         2         3         4         5         6         7         8         9         0         1         2       128
12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678    n-th bit
11010000001100000000000001000001000000000000000110000000000000000000010000000000000000000000000000010000000000000000000111100000    bit map


Sekarang dari nilai binary yang sudah kita dapatkan, konversikan menjadi nilai hexadecimal dan kita akan mendapatkan nilai Bitmap yang kurang lebih hasilnya akan seperti gambar dibawah ini :

Bitmap Dengan Secondary Bitmap

Selesai !!!

SUMBER Referensi : http://martinusadyh.web.id dan wikipedia

Saya hanya seorang "newbie" yang baru bisa ngoding lohor kemarin.


EmoticonEmoticon