BitArray pada Bahasa Pemrograman C#

BitArray pada Bahasa Pemrograman C#
Photo by Marcus Urbenz / Unsplash

Kalau kita sering kerja dengan operasi biner atau butuh struktur data yang lebih hemat memori dibandingkan bool[], maka BitArray di C# adalah solusinya! BitArray adalah koleksi khusus yang digunakan untuk menyimpan dan mengelola bit (0 dan 1) dalam jumlah besar secara efisien.

Daripada menyimpan banyak nilai boolean (true/false) dalam array biasa yang bisa memakan lebih banyak memori, BitArray menyimpan bit dalam bentuk yang lebih hemat.

Yuk, kita bahas lebih dalam apa itu BitArray di C#, cara penggunaannya, dan kapan harus menggunakannya!

1. Apa Itu BitArray dalam C#?

BitArray adalah koleksi yang dirancang untuk menyimpan array boolean dalam bentuk yang lebih efisien, menggunakan bit-level representation di dalam memori.

Ciri-Ciri BitArray

Hemat memori dibanding bool[] karena menyimpan bit, bukan tipe boolean penuh.
Mendukung operasi biner seperti AND, OR, XOR, dan NOT.
Cocok digunakan untuk algoritma yang bekerja dengan data biner.
Punya fitur manipulasi langsung untuk bit-bit dalam array.

Bayangkan BitArray seperti deretan saklar listrik yang hanya bisa ON (1) atau OFF (0), tapi lebih hemat tempat dibanding saklar biasa.

2. Cara Menggunakan BitArray

Untuk menggunakan BitArray, kita perlu menambahkan namespace System.Collections.

Contoh BitArray Sederhana

using System;
using System.Collections;

class Program {
    static void Main() {
        BitArray bitArray = new BitArray(5); // Buat BitArray dengan 5 elemen
        bitArray[0] = true;
        bitArray[1] = false;
        bitArray[2] = true;
        bitArray[3] = false;
        bitArray[4] = true;
        
        for (int i = 0; i < bitArray.Count; i++) {
            Console.Write(bitArray[i] ? "1 " : "0 ");
        }
    }
}

Output:

1 0 1 0 1

Penjelasan:

  • BitArray(5) membuat array dengan panjang 5 bit, defaultnya semua false (0).
  • Kita bisa mengatur nilai tiap bit dengan true atau false.
  • bitArray[i] bisa diakses layaknya array biasa.

3. Operasi Logika pada BitArray

BitArray mendukung operasi bitwise seperti AND, OR, XOR, dan NOT.

AND – Menggabungkan BitArray Secara Logika

BitArray a = new BitArray(new bool[] { true, false, true });
BitArray b = new BitArray(new bool[] { false, false, true });
a.And(b);

Output:

0 0 1

OR – Menggabungkan dengan Logika OR

a.Or(b);

Output:

1 0 1

XOR – Menggabungkan dengan Logika XOR

a.Xor(b);

Output:

1 0 0

NOT – Membalik Nilai Bit (0 Jadi 1, 1 Jadi 0)

a.Not();

Output:

0 1 1

Kenapa Pakai Operasi Bitwise?

  • Berguna untuk kriptografi, pengolahan gambar, dan algoritma pencarian.
  • Bisa dipakai buat menyimpan flag kondisi dengan lebih efisien.

4. Looping pada BitArray

Kita bisa mengakses elemen BitArray dengan loop seperti array biasa.

for (int i = 0; i < bitArray.Count; i++) {
    Console.Write(bitArray[i] ? "1 " : "0 ");
}

Atau pakai foreach:

foreach (bool bit in bitArray) {
    Console.Write(bit ? "1 " : "0 ");
}

5. Kapan Harus Menggunakan BitArray?

Gunakan BitArray jika:

  • Butuh menyimpan nilai true/false dalam jumlah besar.
  • Ingin menghemat memori dibanding bool[].
  • Perlu melakukan operasi biner seperti AND, OR, XOR, dan NOT.

Jangan gunakan BitArray jika:

  • Butuh menyimpan nilai non-boolean (gunakan List<T> atau Array<T>).
  • Ukuran data kecil dan tidak membutuhkan efisiensi memori tinggi.

6. Kesimpulan

  • BitArray di C# adalah struktur data hemat memori untuk menyimpan nilai boolean dalam bentuk bit.
  • Lebih efisien dibanding bool[] karena hanya menggunakan 1 bit per nilai.
  • Mendukung operasi bitwise seperti AND, OR, XOR, dan NOT.
  • Cocok digunakan untuk algoritma berbasis biner dan penyimpanan flag kondisi.

Dengan memahami BitArray dalam C#, kamu bisa lebih efisien dalam mengelola data berbasis biner!

Read more