
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
).
a | b | a or b | a xor b |
---|---|---|---|
1 | 1 | 1 | 0 |
1 | 0 | 1 | 1 |
0 | 1 | 1 | 1 |
0 | 0 | 0 | 0 |
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
Read More
Pengaduan Berbasis Web Tingkatkan Layanan Desa
Revalita 22/07/2025 0Dalam tatanan pemerintahan desa yang semakin kompleks, kehadiran kanal aspirasi dan pengaduan masyarakat bukan hanya penting, tetapi mendesak. Banyak persoalan di tingkat desa seperti pelayanan…
Claude Code Dibatasi Anthropic Tanpa Peringatan
Revalita 22/07/2025 0Platform kecerdasan buatan Claude Code milik Anthropic tengah menghadapi kritik dari pengguna akibat penerapan batas…
Hyper Gunakan AI untuk Tangani Panggilan 911 Non-Darurat
Revalita 22/07/2025 0Startup teknologi suara berbasis kecerdasan buatan (AI), Hyper, resmi muncul dari mode stealth setelah mengamankan…
Fitur Account Switching Baru di Chrome iOS
Revalita 22/07/2025 0Google meluncurkan fitur baru untuk pengguna Chrome di iOS yang memungkinkan perpindahan akun Google terutama…
Bedrock Robotics Otomatisasi Alat Konstruksi Self-Driving
Revalita 22/07/2025 0Bedrock Robotics adalah startup teknologi kendaraan otonom yang didirikan oleh para mantan insinyur dari Waymo…
Categories
- Business (158)
- Company Profile (3)
- Developer Connect (126)
- HR and L&D (23)
- Human Reasearch and Development (15)
- Landing Page (2)
- Marketing (31)
- Media Relations (72)
- News (46)
- Public Relations (48)
- Story (8)
- Technology (474)
- Tips and Trick (74)
- Toko Online (2)
- Uncategorized (35)
- Video & Tips (13)
- Wesclic (52)
Popular Tags