Pengecekan Ganjil Genap Menggunakan Bitwise Operation

Posted by     "Rio Swarawan Putra" on Tuesday, June 25, 2024

Sebenarnya artikel ini sudah saya tulis di Medium saya.

Pada umumnya ketika kita membutuhkan operasi untuk menentukan ganjil atau genap pada sebuah angka, kita menggunakan operasi hasil bagi atau modulus. Namun untuk mempermudah dan mempercepat proses kita dapat menggunakan operasi Bitwise yang mengandalkan angka biner.

Pada dasarnya operasi bitwise memiliki logika NOT, AND, OR, dan XOR. Namun untuk pengecekan ganjil genap cukup menggunakan logika AND saja. Perhatikan gambar dibawah ini.

Gerbang Logika AND

Langkah-langkahnya cukup mudah, hanya membandingkan angka biner dengan 1. Apabila hasilnya bernilai 1, nilai tersebut adalah Ganjil. Lihat contoh dibawah ini.

Contoh ganjil genap

Berikut contoh implementasinya di bahasa pemrograman Java. Tinggal mengoperasikan nilai integer dengan notasi & . Maka secara otomatis nilai interger akan di convert menjadi biner kemudian dilakukan operasi bitwise AND.

@Test
void testGanjilGenap() {
  Integer nilaiA = 3;
  Integer nilaiB = 18;

  System.out.println("nilai A " + nilaiA + " adalah " + isGanjilGenap(nilaiA));
  System.out.println("nilai B " + nilaiB + " adalah " + isGanjilGenap(nilaiB));
}

String isGanjilGenap(Integer nilai) {
  int hasil = nilai & 1;
  return hasil == 1 ? "Ganjil" : "Genap";
}

// Output
// nilai A 3 adalah Ganjil
// nilai B 18 adalah Genap

Untuk bahasa pemrograman lain, dicoba saja.. harusnya sih tinggal di bandingkan dengan notasi & untuk mendapatkan hasilnya.