Blog

Operator ^ (xor) di Java bukan untuk Membuat Pangkat!

Sebuah kekeliruan saya temukan ketika memeriksa kode program milik teman. Dia mengimplementasikan rumus berikut ke dalam kode java.

y = x2 + 3

Potongan kode program yang dia tulis.

int x = 3;int y = x^2 + 3;

Hasilnya pun 6; tidak sesuai harapan. Seharusnya menghasilkan 12.

Operator ^ (Exclusive Or), disingkat xor, merupakan operator bitwise. Operator bitwise merupakan operator untuk memanipulasi bilangan biner.
Contoh konversi bilangan desimal ke biner (8bit):

  • 0 = 0000 0000
  • 1 = 0000 0001
  • 2 = 0000 0010
  • 3 = 0000 0011
  • 4 = 0000 0100
  • 5 = 0000 0101
  • 6 = 0000 0110
  • 7 = 0000 0111
  • 8 = 0000 1000
  • 9 = 0000 1001
  • 10 = 0000 1010

Kita tinjau lagi perhitungan kode di atas:

y = x^2 + 3y = 3^2 + 3y = 6

Pada operasi 3^2 akan menghasilkan 1 (0000 0001). Kemudian ditambah 3 akan menghasilkan 6. Mengapa bisa menghasilkan 6, bukannya 1 + 3 = 4. Aneh ‘kan?

Operator bitwise xor akan menhasilkan bilangan biner. Oleh sebab itu, penjumlahan yang dilakukan pada operasi di atas adalah penjumlahan bilangan biner, bukan penjumlahan bilangan desimal. Jadi 1 + 3 = 6 itu sama dengan 00000001 + 00000011 = 000000110.

Memahami operator ^ (xor)

Jadi, megnapa 3^2 menghasilkan 1? Silahkan tinjau lagi pelajaran logika matematika (xor).

aba or ba xor b
1110
1011
0111
0000

Sehingga,

  3 = 0000 0011
2 = 0000 0010
————— ^ (xor)
3^2 = 0000 0001

Bagaimana membuat pangkat di Java?

Pangkat dapat dibuat dengan fungsi Math.pow(). Fungsi ini memiliki dua parameter. Parameter pertama adalah bilangan yang akan dipangkatkan. Parameter kedua adalah bilangan pangkatnya. Contoh: 32.

Math.pow(3, 2);

Akan menghasilkan 9.\

Kesimpulan

Operator bitwise ^ (xor) bukan operator untuk pemangkatan. Operator bitwise ^ (xor) digunakan untuk operasi bilangan biner.

Gimana? Sudah paham kan bagaimana penggunaan operator bitwise ^ (xor)? Yuk pelajari lebih lanjut pemrograman Java pada artikel-artikel berikut!

Baca juga: Menghitung Akar Kuadrat dan Akar Kubik dengan Java | Apa Fungsi String[] args pada Pemrograman Java? | Cara Membaca dan Menulis File di Java

Leave your thought here

Read More

Digitalisasi Katalog dan Persuratan Instansi Lewat Website

Revalita 18/07/2025

Di tengah percepatan transformasi digital, institusi seperti perpustakaan dan kantor arsip dituntut untuk menghadirkan sistem pelayanan yang semakin cepat, akurat, dan mudah diakses publik. Salah…

MovinkPad 11, Tablet Wacom Tanpa PC Penantang iPad

Revalita 18/07/2025

Dunia ilustrasi digital kembali kedatangan pemain baru. Wacom, nama yang sudah tak asing di telinga…

ChatGPT Agents Fitur Baru ChatGPT Jalankan Perintah Otomatis

Revalita 18/07/2025

Perkembangan kecerdasan buatan terus menunjukkan laju pesat, khususnya dalam pengembangan sistem yang mampu mengeksekusi tugas-tugas…

Twitch Uji Coba Fitur Video Vertikal, Saingi TikTok & Shorts

Revalita 18/07/2025

Persaingan platform video pendek dan livestreaming makin ketat, mengingat kini pengguna media sosial lebih menyukai…

Google Rilis Fitur Penelpon AI & Gemini 2.5 Pro

Revalita 18/07/2025

Persaingan dalam dunia kecerdasan buatan kian memanas, mengikuti perkembangan teknologi terkini. Setelah berbagai inovasi diluncurkan…

Feedback
Feedback
How would you rate your experience?
Do you have any additional comment?
Next
Enter your email if you'd like us to contact you regarding with your feedback.
Back
Submit
Thank you for submitting your feedback!