Bitmap

Contoh perhitungan bitmap dari awal dengan kasus yang sederhana agar konsepnya mudah dipahami.

Anggap kita punya sistem untuk mengirim data profil pengguna yang memiliki 8 kemungkinan kolom data (field):

  1. Nama Depan

  2. Nama Belakang

  3. Email

  4. Nomor Telepon

  5. Tanggal Lahir

  6. Kota

  7. Provinsi

  8. Kode Pos

Tidak semua data ini akan selalu dikirim. Di sinilah bitmap berperan untuk memberitahu kolom mana saja yang ada di dalam pesan.


## Langkah 1: Tentukan Data yang Akan Dikirim

Misalkan, kita mau mengirim pesan yang hanya berisi data berikut:

  • Nama Depan (Field ke-1)

  • Email (Field ke-3)

  • Nomor Telepon (Field ke-4)

  • Kota (Field ke-6)

  • Kode Pos (Field ke-8)


## Langkah 2: Buat "Peta" dalam Bentuk Biner

Sekarang kita buat bitmap-nya. Karena kita punya 8 kemungkinan kolom data, kita butuh 8 bit. Setiap bit akan mewakili satu kolom data, dari kiri ke kanan (bit 1 sampai 8).

Kita gunakan aturan sederhana:

  • Jika data ADA, bit-nya bernilai 1.

  • Jika data TIDAK ADA, bit-nya bernilai 0.

Mari kita petakan data kita:

No. Field
Nama Field
Data Ada?
Nilai Bit

1

Nama Depan

✅ Ya

1

2

Nama Belakang

❌ Tidak

0

3

Email

✅ Ya

1

4

No. Telepon

✅ Ya

1

5

Tgl. Lahir

❌ Tidak

0

6

Kota

✅ Ya

1

7

Provinsi

❌ Tidak

0

8

Kode Pos

✅ Ya

1

Jika kita susun nilai bit tersebut, kita akan mendapatkan bitmap dalam format biner:

10110101


## Langkah 3: Ubah Biner ke Heksadesimal (Opsional, tapi Umum Dilakukan)

Mengirim data dalam bentuk biner (rentetan angka 1 dan 0) itu panjang dan tidak efisien. Praktik umumnya adalah mengubahnya ke format yang lebih ringkas, yaitu heksadesimal.

Caranya adalah dengan membagi biner menjadi kelompok-kelompok 4 bit (disebut nibble).

  1. Bagi biner 10110101 menjadi dua: 1011 dan 0101.

  2. Konversikan setiap kelompok ke heksadesimal:

    • 1011 (Biner) = 8 + 2 + 1 = 11. Dalam heksadesimal, 11 direpresentasikan dengan huruf B.

    • 0101 (Biner) = 4 + 1 = 5. Dalam heksadesimal, 5 tetap 5.

  3. Gabungkan hasilnya: B5

Jadi, bitmap untuk pesan kita adalah B5 dalam format heksadesimal.


## Kesimpulan Akhir

Struktur pesan yang akan kita kirim akan terlihat seperti ini:

B5Budi budi@email.com 0812345678 Jakarta 12345

Ketika sistem penerima mendapatkan pesan ini, hal pertama yang ia lakukan adalah membaca "kepala" pesan, yaitu B5.

  1. Sistem akan mengubah B5 (Heksadesimal) kembali ke biner: 10110101.

  2. Kemudian sistem akan membaca "peta" biner tersebut:

    • Bit 1 = 1 -> Oke, data pertama adalah Nama Depan.

    • Bit 2 = 0 -> Oke, tidak ada data Nama Belakang.

    • Bit 3 = 1 -> Oke, data selanjutnya adalah Email.

    • Bit 4 = 1 -> Oke, data selanjutnya adalah Nomor Telepon.

    • Dan seterusnya...


Contoh praktis bitmap ISO 8583 untuk sebuah transaksi yang umum terjadi, yaitu pembelian barang di toko (debit purchase).

## Skenario Transaksi

Anda melakukan pembelian di Indomaret sebesar Rp 50.000 menggunakan kartu debit BCA pada tanggal 16 September 2025, pukul 16:10 WIB. Mesin EDC akan mengirimkan pesan otorisasi ke bank.


## Langkah 1: Tentukan Data Element (DE) yang Dikirim

Untuk transaksi ini, sistem akan mengirimkan beberapa Data Element (DE) penting. Berikut adalah contoh DE yang umumnya ada:

  • DE 2: Primary Account Number (PAN) / Nomor Kartu

  • DE 3: Processing Code (Kode yang menandakan ini transaksi pembelian)

  • DE 4: Amount, Transaction (Jumlah transaksi: 5000000, 2 digit terakhir adalah desimal)

  • DE 7: Transmission Date & Time (Waktu transaksi)

  • DE 11: Systems Trace Audit Number (STAN) / Nomor Unik Transaksi

  • DE 12: Time, Local Transaction (Waktu lokal di toko)

  • DE 13: Date, Local Transaction (Tanggal lokal di toko)

  • DE 22: Point of Service Entry Mode

  • DE 32: Acquiring Institution Identification Code (Kode Bank Pemilik EDC)

  • DE 35: Track 2 Data (Data dari magnetic stripe/chip kartu)

  • DE 41: Card Acceptor Terminal Identification (ID Terminal/EDC)

  • DE 42: Card Acceptor Identification Code (ID Merchant/Toko)

  • DE 43: Card Acceptor Name/Location (Nama dan Lokasi Toko)

  • DE 49: Currency Code, Transaction (Kode Mata Uang, misal IDR adalah 360)

  • DE 62: Private Use Field (Data tambahan, misal nomor referensi)


## Langkah 2: Buat "Peta" Biner (Binary Bitmap)

Sekarang kita buat bitmap 64-bit berdasarkan DE yang ada. Ingat, bit dibaca dari kiri ke kanan.

  • DE 2, 3, 4, 7 ada -> Bit 2, 3, 4, 7 di-set ke 1.

  • DE 11, 12, 13 ada -> Bit 11, 12, 13 di-set ke 1.

  • DE 22 ada -> Bit 22 di-set ke 1.

  • DE 32, 35 ada -> Bit 32, 35 di-set ke 1.

  • DE 41, 42, 43, 49 ada -> Bit 41, 42, 43, 49 di-set ke 1.

  • DE 62 ada -> Bit 62 di-set ke 1.

  • Bit 1 kita set ke 0 karena kita tidak menggunakan DE 65-128 (tidak ada secondary bitmap).

  • Semua bit lainnya di-set ke 0.

Hasilnya dalam biner (dibagi per 8 bit agar mudah dibaca):

01110010 00111000 01000001 00100100

10011001 00000000 01000000 00000000

Jika digabungkan:

0111001000111000010000010010010010011001000000000100000000000000


## Langkah 3: Konversi Biner ke Heksadesimal

Sekarang, kita ubah biner 64-bit di atas menjadi heksadesimal 16 karakter. Kita kelompokkan biner menjadi 16 grup @ 4 bit.

  • 0111 = 7

  • 0010 = 2

  • 0011 = 3

  • 1000 = 8

  • 0100 = 4

  • 0001 = 1

  • 0010 = 2

  • 0100 = 4

  • 1001 = 9

  • 1001 = 9

  • 0000 = 0

  • 0000 = 0

  • 0100 = 4

  • 0000 = 0

  • 0000 = 0

  • 0000 = 0

Setelah digabungkan, Primary Bitmap dalam format heksadesimal adalah: 7238412499004000


## Bagaimana Sistem Membacanya?

Pesan yang dikirim kira-kira akan terlihat seperti ini (MTI 0200 untuk request transaksi):

02007238412499004000[Data DE 2] [Data DE 3] [Data DE 4] [Data DE 7]... dan seterusnya.

Sistem penerima (misalnya, server bank) akan melakukan kebalikannya:

  1. Membaca Bitmap Heksadesimal: 7238412499004000.

  2. Mengonversinya kembali ke Biner: 01110010...

  3. Memeriksa peta biner:

    • "Bit 1 adalah 0, berarti tidak ada secondary bitmap."

    • "Bit 2 adalah 1, data berikutnya adalah DE 2 (Nomor Kartu)." -> Sistem membaca data nomor kartu.

    • "Bit 3 adalah 1, data berikutnya adalah DE 3 (Processing Code)." -> Sistem membaca data processing code.

    • "Bit 4 adalah 1, data berikutnya adalah DE 4 (Amount)." -> Sistem membaca jumlah transaksi.

    • ...dan begitu seterusnya sampai semua data yang ditandai oleh bitmap terbaca dengan benar.

Dengan cara ini, komunikasi antar sistem keuangan menjadi sangat efisien dan terstruktur. Setiap sistem tahu persis data apa yang diharapkan hanya dengan membaca bitmap di awal pesan.

Last updated