public class BitmaskHakAkses {
    public static void main(String[] args) {
        final int BACA = 0b0001;   // 1
        final int TULIS = 0b0010;  // 2
        final int HAPUS = 0b0100;  // 4

        int hakBudi = BACA | TULIS;             // gabung flag
        int hakSiti = BACA | TULIS | HAPUS;

        System.out.println("hakBudi = " + Integer.toBinaryString(hakBudi));
        System.out.println("hakSiti = " + Integer.toBinaryString(hakSiti));

        System.out.println("Budi bisa menulis? " + ((hakBudi & TULIS) != 0));
        System.out.println("Budi bisa menghapus? " + ((hakBudi & HAPUS) != 0));
        System.out.println("Siti bisa menghapus? " + ((hakSiti & HAPUS) != 0));

        hakBudi |= HAPUS;   // tambah flag HAPUS
        System.out.println("Budi bisa menghapus sekarang? " + ((hakBudi & HAPUS) != 0));

        hakSiti &= ~HAPUS;  // cabut flag HAPUS
        System.out.println("Siti masih bisa menghapus? " + ((hakSiti & HAPUS) != 0));
    }
}
