Apa yang dimaksud dengan operator bit?

Operator bit adalah operator yang dipelajari di algoritma yang ada di berbagai software aplikasi.

Apa yang dimaksud dengan operator bit ?

Operasi bitwise adalah operasi matematika yang berproses pada level bit/digit dari sebuah bilangan bulat (integer). Penggunaan operasi bitwise sendiri lebih banyak pada konteks operasi logika. Bit/digit dari sebuah bilangan juga dikenal sebagai bilangan biner (binary) atau bilangan basis 2. Bilangan biner sendiri hanya terdiri dari 2 angka saja yaitu 1 dan 0.

Sebuah bilangan bulat jika direpresentasikan dalam bilangan biner maka akan terbentuk sebuah urutan dari angka 1 dan 0. Misalnya angka 8, bilangan binernya adalah 1000; angka 9 = 1001; 25 = 11001.

Berikut ini 7 buah operator yang beroperasi pada level bit (0 dan 1) yang ada pada java .

A. Operator AND

Operator bitwise AND dilambangkan dengan ‘&’. Pada dasarnya operasi AND akan menghasilkan nilai 1 apabila dalam kedua operan mengandung bit bernilai 1. Sedangkan nilai yang lain akan menghasilkan nilai 0 contoh berikut

Contoh soal

9 & 10 = 8

Penyelesaian

Biner 9 = 1001
Biner 10= 1010

1001 & 1010 = 1000 => biner dari 8

Operator OR “|”

Operator Bitwise OR dilambankan “|” .Syarat utama dari operator ini, apabila salah satu atau keduanya bernilai 1 pada posisi yang sama, maka hasil yang didapatkan adalah 1, sesuai dengan sifat operasi OR

Contoh soal

9 | 10 => 11

Biner 9 = 1001

Biner 10 = 1010

hasil Ornya adalah 1011, yang merupakan biner dari 11

C.Operator XOR (^)

Operator yang beguna untuk melakukan operasi “atau eksklusif” pada tataran biner. Syarat utama dari operator ini, apabila salah satu bernilai 1 pada posisi yang sama, hasil yang didapatkan adalah 1, sisanya 0, sifat operasi biner antar bit

Contoh soal

9^10 = 3

Biner 9 yaitu 1001

Biner 10 yaitu 1010

Hasinya yaitu 0011 (merupakan biner dari angka 3

D.Operator negasi ~

Berbeda dengan bitwise AND, OR dan XOR yang membutuhkan 2 operan untuk memberikan hasil, operasi bitwise NOT hanya membutuhkan 1 operan untuk memberikan hasil.

Simbol Operasi NOT ‘~’

Rumus NOT : ~n = -(n) – 1

Contoh soal ~ 150 = -150

E. Operator Left Shift <<

Operasi ini mempunyai simbol ‘<<’, digunakan untuk menggeser bit operan sebanyak n ke kiri.
Penulisannya di adalah Left Shift : Operan << n. Bit yang paling kiri akan dihapus dan bit baru ditambahkan di kanan.Pada bilangan bulat positif dan negatif bit baru yang ditambahkan selalu bernilai 0.

Contoh :

00011001 << 1 hasilnya adalah 00110010

01100110 << 2 hasilnya adalah 10011000

Pada dasarnya, penggeseran sebuh bit dengan operator << identik dengan pengalian dengan bilangan 2.x << n identic dengan x*2n

F. Operator Right Shift >>

Operasi ini disimbolkan dengan ‘>>’, digunakan untuk menggeser bit operan sebanyak n ke kanan. Penulisan adalah Right Shift : Operan >> n. Bit yang paling kanan akan dihapus dan bit baru ditambahkan di sebelah kiri. Pada bilangan bulat positif, bit yang ditambahkan adalah 0, sedangkan pada bilangan bulat negatif, bit yang ditambahkan adalah 1

Contoh :

00011001 >> 1 hasilnya adalah 00001100

01100110>> 2 hasilnya adalah 00011001

Pada dasarnya penggeseran sebuah bit dengan operator >> identik dengan pembagian dengan bilangan 2 dengan hasil selalu dalm bentuk bilangan .x>>n identic dengan x/2n

G. Operator >>>

Operator >>> berfungsi seperti operator >>,tetapi bit terkanan diisi dengan nol.Akibatnya jika terdapat bilangan negative digeser ke kanan dengan operator ini maka hasilnya selalu positif

Sumber :
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/op3.html

Operator adalah suatu tanda atau simbol yang dipakai untuk menyatakan suatu operasi atau manipulasi nilai. Contohnya adalah operasi penambahan dipresentasikan dengan tanda +, pengurangan dipresentasikan dengan tanda -, dan sebagainya. Sedangkan operan adalah nilai yang dilibatkan didalamnya. Operator bitwise memang jarang digunakan dalam aplikasi berbasis database, akan tetapi digunakan sekali dalam melakukan operasi binary terhadap variabel maupun literal dengan tipe angka.

Java mendukung 7 buah operator yang beroperasi pada level bit (0 dan 1), yaitu:

  1. Operator& (dan untuk biner)
    Operator & berguna untuk melakukan operasi ‘dan’ pada tataran bit.
    and
    Table diatas artinya Apabila kedua sisi bernilai 1 pada posisi yang sama, maka akan mengembalikan nilai 1 sebagai hasil, sisanya 0.
    Contoh:
    7 = 0111
    5 = 0011
    -------------------&(dan)
    5 = 0011

  2. Operator | (atau untuk biner)
    Operator | berguna untuk operasi ‘atau’ pada tataran biner.
    atau
    Table diatas artinya apabila bit hasil berupa 0 hanya jika kedua bit yang dikenal operator | bernilai 0, sisanya 1.
    Contoh:
    1001 = 9
    1010 = 10
    ---------------------|(atau)
    1011 = 11

  3. Operator ^ (atau eksklusif)
    Operator ^ berguna untuk melakukan operasi ‘atau eksklusif’ pada tataran biner. Table berikut memperlihatkan sifat operasi biner antarbit.
    atau eksklusif
    Table diatas artinya apabila hasil bit adalah 1 maka salah satu bit yang dikenal operator ^ bernilai 1.
    Contoh :
    10 = 1010
    9 = 1001
    ------------------ ^ (atau eksklusif)
    3 = 0011

  4. Operator ~ (negasi)
    Operator ini memberikan hasil dengan masing- masing bit berupa kebalikan dari bit operand.
    Contoh:
    1101 = 13
    ~0010 = ~13 = 2

  5. Operator << (geser kiri)
    Operator << atau geser kiri berfungsi untuk menggeser bit – bit ke kiri. Jumlah pergeseran ditentukan oleh operand yang terletak di kanan operator ini.
    Contoh:
    29 << 1
    29 = 00011101
    ---------------------------<<
    58 = 00111010
    Pada dasarnya, penggeseran sebuah bit dengan operator <<identic dengan pengalian denga bilangan 2. Secara umum x<<n identik dengan x*2^n

  6. Operator >> (geser kanan)
    Operator >> (geser kanan) berfungsi untuk menggesar bit – bit ke kanan. Jumlah geseran ditentukan oleh operand yang terletak di sebelah kanan operator ini.
    Contoh:
    29>>2 = 00011101
    --------------------------->>
    14 = 00001110
    Pada dasarnya penggeseran sebuah bit dengan operator >> identik dengan pembagian dengan bilangan 2, dengan hasil selalu dalam bentuk bilangan bulat. Secara umum: x>>n identik dengan x/2^n.

  7. Operator >>>
    Operator >>> berfungsi seperti operator >>, tetapi bit terkanan diisi dengan nol. Akibatya jika terdapat bilangan negatif digeser ke kanan dengan operator ini hasilnya selalu positif.

Buku: Algoritma & pemrograman menggunakan Java/Abdul Kadir

APA ITU OPERATOR BIT?

Operator adalah simbol-simbol khusus yang digunakan untuk mengoperasikan suatu nilai data (operand).
Ada beberapa jenis operator. Operator Bit bekerja pada bit dan melakukan operasi bit per bit.

1.Operator >> (geser kanan)
" >> " berfungsi untuk Pergeseran bit ke kanan yaitu Operator Pergeseran ke kanan Nilai operan kiri dipindahkan tepat dengan jumlah bit yang ditentukan oleh operan kanan.

2.Operator << (geser kiri)
" <<" berfungsi untuk Pergeseran bit ke kiri yaitu Operator Pergeseran ke kiri. Nilai operan kiri dipindahkan ke kiri dengan jumlah bit yang ditentukan oleh operan kanan.

3.Operator dan(&)
" & " berfungsi untuk Manipulasi bit dengan logika AND, yaitu membandingkan dua buah rangkaian binary, mengembalikan nilai 1 jika keduanya bernilai 1.Syarat utama dari operator ini, apabila keduanya bernilai 1 pada posisi yang sama, maka hasil didapatkan adalah 1

4.Operator atau (|)
" | " berfungsi untuk Manipulasi bit dengan logika OR, yaitu membandingkan dua buah rangkaian binary, mengembalikan nilai 1 jika keduanya bernilai 1 atau salah satu bernilai 1.
Syarat utama dari operator ini, apabila salah satu atau keduanya bernilai 1 pada posisi yang sama, maka hasil yang didapatkan adalah 1

5.Operator xor(^)
" ^ " berfungsi untuk Manipulasi bit dengan logika XOR, yaitu membandingkan dua buah rangkaian binary, mengembalikan nilai 1 jika keduanya salah satu bernilai 1.
Syarat utama dari operator ini, apabila salah satu bernilai 1 pada posisi yang sama, hasil yang didapatkan adalah 1.

6.Operator negasi (~)
" ~ " berfungsi untuk Manipulasi bit dengan logika NOT yaitu merubah nilai 1 menjadi 0 dan sebaliknya.

source:
http://www.tutorialspoint.com/ansi_c/c_operator_types.htm