1. Pengantar Aritmetika Biner
Aritmetika biner adalah operasi matematika yang menggunakan bilangan berbasis 2. Bilangan biner hanya memiliki dua digit, yaitu 0 dan 1. Komputer menggunakan aritmetika biner karena rangkaian digital bekerja dengan dua keadaan listrik:| Keadaan Digital | Nilai Biner | Kondisi Elektronik |
|---|---|---|
| Low | 0 | Tegangan rendah |
| High | 1 | Tegangan tinggi |
Dalam komputer, operasi seperti penjumlahan, pengurangan, perkalian, pembagian, perbandingan, alamat memori, dan pemrosesan instruksi dilakukan melalui operasi biner. Bagian CPU yang menangani operasi aritmetika dan logika disebut ALU, yaitu Arithmetic Logic Unit.
2. Konsep Dasar Aritmetika Biner
Aritmetika biner mirip dengan aritmetika desimal. Perbedaannya terletak pada basis bilangan. Pada desimal, setelah angka 9, sistem menghasilkan carry ke posisi berikutnya.
Contoh:
Pada biner, setelah angka 1, sistem menghasilkan carry ke posisi berikutnya.
Contoh:
Artinya:
Dalam bentuk desimal:
3. Penjumlahan Biner
3.1 Aturan Dasar Penjumlahan Biner
Penjumlahan biner menggunakan aturan berikut:
| A | B | Hasil | Carry |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
Aturan paling penting:
Artinya hasilnya 0, lalu carry 1 dibawa ke kolom sebelah kiri.
3.2 Penjumlahan dengan Carry
Jika ada carry dari kolom sebelumnya, maka operasi dapat melibatkan tiga bit.
A B Carry Masuk Hasil Carry Keluar 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1
4. Contoh Penjumlahan Biner
Contoh 1
Langkah 1: Susun bilangan secara sejajar dari kanan
1011
+ 0110
------
Langkah 2: Jumlahkan dari bit paling kanan.
Kolom 1:
Kolom 2:
Tulis 0, simpan carry 1.
Kolom 3:
Tulis 0, simpan carry 1.
Kolom 4:
Tulis 0, simpan carry 1.
Carry terakhir ditulis di depan.
Hasil:
1011
+ 0110
------
10001
Jadi:
Cek desimal:
Jadi hasilnya benar.
Contoh 2
Hitung
1111
+ 0001
------
10000
Penjelasan:
Kolom paling kanan:
Tulis 0, carry 1.
Kolom berikutnya:
Tulis 0, carry 1.
Proses ini berlanjut sampai semua kolom selesai.
Jadi:
Cek desimal:
5. Pengurangan Biner
5.1 Aturan Dasar Pengurangan Biner
Pengurangan biner menggunakan aturan berikut:
| A | B | Hasil |
|---|---|---|
| 0 | 0 | 0 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
| 0 | 1 | 1 dengan borrow |
Aturan penting:
tidak dapat dilakukan langsung. Sistem harus meminjam 1 dari kolom sebelah kiri. Proses ini disebut borrow.
Dalam biner, meminjam 1 dari kolom kiri bernilai:
Karena:
Maka:
6. Contoh Pengurangan Biner dengan Borrow
Contoh 3
Hitung
Cek desimal dulu:
Seharusnya:
Dalam biner, 11 adalah:
Sekarang kita hitung dengan pengurangan biner.
10010
- 00111
------
Mulai dari kanan.
Kolom 1
Tidak bisa langsung. Pinjam dari kolom sebelah kiri.
Kolom sebelah kiri bernilai 1, maka bisa dipinjam.
Hasil kolom 1 = 1.
Kolom sebelah kiri menjadi 0 karena sudah dipinjam.
Kolom 2
Sekarang kolom 2 menjadi:
Tidak bisa langsung. Harus meminjam dari kolom kiri. Namun kolom kiri juga 0, maka pinjam berantai dari kolom yang lebih kiri.
Setelah borrow berantai, operasi menghasilkan:
Hasil kolom 2 = 1.
Kolom 3
Setelah proses borrow, kolom 3 menjadi:
Lakukan borrow dari kolom kiri. Hasilnya:
Kolom 4
Setelah dipinjam, kolom 4 menjadi:
Kolom 5
Hasil:
10010
- 00111
------
01011
Jadi:
Hasilnya benar.
7. Kelemahan Pengurangan Langsung
Pengurangan langsung dengan borrow dapat dilakukan secara manual. Namun, rangkaian digital lebih mudah dirancang untuk operasi penjumlahan.
Karena itu, komputer biasanya tidak membuat rangkaian pengurangan terpisah yang kompleks. Komputer mengubah pengurangan menjadi penjumlahan dengan menggunakan komplemen 2.
Prinsipnya:
Dalam sistem biner, nilai biasanya direpresentasikan dengan komplemen 2.
8. Komplemen 1
8.1 Pengertian Komplemen 1
Komplemen 1 dari bilangan biner diperoleh dengan membalik setiap bit.
Aturannya:
| Bit Asli | Komplemen 1 |
|---|---|
| 0 | 1 |
| 1 | 0 |
Jadi, semua 0 menjadi 1, dan semua 1 menjadi 0.
8.2 Contoh Komplemen 1
Tentukan komplemen 1 dari:
Balik setiap bit:
| Bit Asli | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| Komplemen 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 |
Maka:
8.3 Kelemahan Komplemen 1
Komplemen 1 memiliki dua representasi nol:
Ini membuat desain sistem menjadi kurang efisien. Karena itu, komputer modern lebih banyak menggunakan komplemen 2.
9. Komplemen 2
9.1 Pengertian Komplemen 2
Komplemen 2 adalah cara utama komputer merepresentasikan bilangan negatif.
Langkah membuat komplemen 2:
- Tulis bilangan biner dengan jumlah bit tertentu.
- Balik semua bit untuk memperoleh komplemen 1.
- Tambahkan 1 pada hasil komplemen 1.
Rumus sederhana:
9.2 Contoh Komplemen 2
Tentukan komplemen 2 dari:
Bilangan ini adalah 5 dalam 8 bit.
Langkah 1: Tulis bilangan asli.
Langkah 2: Balik semua bit.
Langkah 3: Tambahkan 1.
11111010
+ 00000001
----------
11111011
Jadi:
Dalam sistem 8 bit komplemen 2:
10. Pengurangan Biner dengan Komplemen 2
10.1 Prinsip
Untuk menghitung:
gunakan langkah berikut:
- Tulis A dan B dalam jumlah bit yang sama.
- Cari komplemen 2 dari B.
- Jumlahkan A dengan komplemen 2 dari B.
- Jika ada carry keluar paling kiri, buang carry tersebut.
- Jika tidak ada carry keluar, hasilnya negatif dalam bentuk komplemen 2.
Contoh 4
Hitung dengan komplemen 2 8 bit
Langkah 1: Ubah ke biner 8 bit.
Langkah 2: Cari komplemen 2 dari 5.
Bilangan asli:
Komplemen 1:
Tambah 1:
11111010
+ 00000001
----------
11111011
Jadi:
Langkah 3: Tambahkan 13 dengan komplemen 2 dari 5.
00001101
+ 11111011
----------
1 00001000
Ada carry keluar paling kiri, yaitu 1. Carry tersebut dibuang.
Hasil:
Jadi:
Contoh 5
Hitung dengan komplemen 2 8 bit
Langkah 1: Ubah ke biner 8 bit.
Langkah 2: Cari komplemen 2 dari 13.
Bilangan asli:
Komplemen 1:
Tambah 1:
11110010
+ 00000001
----------
11110011
Jadi:
Langkah 3: Tambahkan 5 dengan komplemen 2 dari 13.
00000101
+ 11110011
----------
11111000
Tidak ada carry keluar yang dibuang. Bit paling kiri bernilai 1, maka hasilnya negatif.
Langkah 4: Tentukan nilai negatifnya.
Hasil:
Cari komplemen 2 untuk mengetahui besar nilainya.
Balik bit:
Tambah 1:
00000111
+ 00000001
----------
00001000
Karena hasil awal bertanda negatif, maka:
Jadi:
11. Representasi Bilangan Bertanda
Dalam sistem digital, bilangan dapat direpresentasikan sebagai:
- Unsigned integer
- Signed magnitude
- Komplemen 1
- Komplemen 2
11.1 Unsigned Integer
Unsigned integer hanya menyatakan bilangan positif dan nol.
Untuk n bit, rentangnya:
Contoh 8 bit:
Jadi, unsigned 8 bit memiliki rentang:
Contoh:
11.2 Signed Magnitude
Signed magnitude menggunakan bit paling kiri sebagai bit tanda.
| Bit Tanda | Makna |
|---|---|
| 0 | Positif |
| 1 | Negatif |
Bit sisanya menyatakan besar nilai.
Contoh 8 bit:
Bit paling kiri = 0, berarti positif.
Nilai sisanya:
Jadi:
Contoh negatif:
Bit paling kiri = 1, berarti negatif.
Nilai sisanya:
Jadi:
Kelemahan signed magnitude adalah memiliki dua nol:
11.3 Komplemen 1 untuk Bilangan Bertanda
Pada komplemen 1:
- Bilangan positif ditulis seperti biasa.
- Bilangan negatif diperoleh dengan membalik semua bit dari bilangan positifnya.
Contoh 8 bit:
Maka:
Karena diperoleh dengan membalik semua bit.
Kelemahan komplemen 1 juga memiliki dua nol:
11.4 Komplemen 2 untuk Bilangan Bertanda
Pada komplemen 2:
- Bilangan positif ditulis seperti biasa.
- Bilangan negatif diperoleh dengan membalik semua bit, lalu menambahkan 1.
Contoh 8 bit:
Komplemen 1:
Tambah 1:
11100110
+ 00000001
----------
11100111
Jadi:
Komplemen 2 tidak memiliki dua nol. Karena itu, komplemen 2 lebih efisien dan lebih banyak digunakan dalam komputer modern.
12. Rentang Nilai Bilangan Bertanda
12.1 Rentang Unsigned
Untuk n bit:
Contoh 8 bit:
12.2 Rentang Signed Magnitude
Untuk n bit:
Contoh 8 bit:
12.3 Rentang Komplemen 1
Untuk n bit:
Contoh 8 bit:
Namun, komplemen 1 memiliki dua representasi nol.
12.4 Rentang Komplemen 2
Untuk n bit:
Contoh 8 bit:
Inilah alasan komplemen 2 lebih efisien. Ia memiliki satu nilai negatif tambahan dan hanya satu representasi nol.
13. Tabel Perbandingan Representasi 8 Bit
| Nilai | Signed Magnitude | Komplemen 1 | Komplemen 2 |
|---|---|---|---|
| +5 | 00000101 | 00000101 | 00000101 |
| -5 | 10000101 | 11111010 | 11111011 |
| +0 | 00000000 | 00000000 | 00000000 |
| -0 | 10000000 | 11111111 | Tidak ada |
14. Penjumlahan Bilangan Bertanda dengan Komplemen 2
Contoh 6
Hitung dengan komplemen 2 8 bit
Langkah 1: Tulis +25 dalam biner 8 bit.
Langkah 2: Tulis -10 dalam komplemen 2.
Komplemen 1:
Tambah 1:
11110101
+ 00000001
----------
11110110
Jadi:
Langkah 3: Jumlahkan.
00011001
+ 11110110
----------
1 00001111
Carry keluar dibuang.
Hasil:
Jadi:
Contoh 7
Hitung dengan komplemen 2 8 bit
Langkah 1: Tulis -18 dalam komplemen 2.
Komplemen 1:
Tambah 1:
11101101
+ 00000001
----------
11101110
Jadi:
Langkah 2: Tulis -9 dalam komplemen 2.
Komplemen 1:
Tambah 1:
11110110
+ 00000001
----------
11110111
Jadi:
Langkah 3: Jumlahkan.
11101110
+ 11110111
----------
1 11100101
Carry keluar dibuang.
Hasil:
Karena bit paling kiri 1, hasilnya negatif.
Cari besar nilainya dengan komplemen 2:
Balik bit:
Tambah 1:
00011010
+ 00000001
----------
00011011
Maka:
Jadi:
15. Overflow pada Bilangan Bertanda
Overflow terjadi ketika hasil operasi melebihi rentang nilai yang dapat ditampung oleh jumlah bit tertentu. Untuk komplemen 2 8 bit, rentangnya adalah:
Jika hasil operasi berada di luar rentang ini, maka terjadi overflow.
15.1 Aturan Deteksi Overflow
Pada penjumlahan komplemen 2:
- Jika dua bilangan positif dijumlahkan dan hasilnya negatif, terjadi overflow.
- Jika dua bilangan negatif dijumlahkan dan hasilnya positif, terjadi overflow.
- Jika bilangan berbeda tanda dijumlahkan, overflow tidak terjadi.
Contoh 8
Overflow pada dalam 8 bit
Jumlahkan:
01111111
+ 00000001
----------
10000000
Dalam komplemen 2 8 bit:
Padahal secara desimal:
Nilai 128 tidak dapat direpresentasikan dalam komplemen 2 8 bit karena batas maksimalnya hanya +127.
Jadi, operasi ini mengalami overflow.
16. Penerapan Aritmetika Biner dalam Sistem Komputer
16.1 ALU
ALU menggunakan rangkaian digital untuk melakukan:
- Penjumlahan
- Pengurangan
- Operasi AND
- Operasi OR
- Operasi XOR
- Perbandingan data
- Operasi shifting
Dalam ALU, pengurangan biasanya dilakukan dengan prinsip:
16.2 Register
Register menyimpan data biner sementara di dalam CPU.
Contoh:
Sebuah register 8 bit dapat menyimpan:
Jika digunakan sebagai unsigned integer, rentangnya 0 sampai 255.
Jika digunakan sebagai signed integer komplemen 2, rentangnya -128 sampai +127.
16.3 Memori
Memori menyimpan data dalam bentuk bit. Setiap alamat memori berisi pola biner.
Contoh:
Pola ini dapat berarti:
| Interpretasi | Nilai |
|---|---|
| Unsigned | 251 |
| Signed komplemen 2 | -5 |
| Kode data | Bergantung pada konteks |
Artinya, pola biner yang sama dapat memiliki arti berbeda tergantung cara sistem membacanya.
16.4 Teknik Elektro dan Mikrokontroler
Dalam mikrokontroler, aritmetika biner digunakan untuk:
- Membaca nilai sensor.
- Mengolah data ADC.
- Mengatur port input dan output.
- Mengatur timer dan counter.
- Mengendalikan motor.
- Mengolah sinyal digital.
- Mengatur komunikasi data.
Contoh:
Jika sensor menghasilkan data 8 bit:
Maka nilainya:
Mikrokontroler dapat menggunakan nilai tersebut untuk mengaktifkan kipas, alarm, motor, atau perangkat kendali lain.
17. Kesalahan Umum Mahasiswa
-
Menjumlahkan biner seperti desimal.
Dalam biner, , bukan 2. - Lupa membawa carry ke kolom berikutnya.
- Salah melakukan borrow pada pengurangan biner.
-
Menganggap semua bilangan dengan bit paling kiri 1 pasti besar dan positif.
Dalam komplemen 2, bit paling kiri 1 menandakan bilangan negatif. -
Lupa menentukan jumlah bit sebelum membuat komplemen 2.
Contoh: -5 dalam 4 bit berbeda dengan -5 dalam 8 bit. - Tidak membuang carry keluar pada operasi komplemen 2 ketika memang ada carry keluar.
- Mengabaikan overflow pada bilangan bertanda.
18. Latihan Soal
A. Penjumlahan Biner
- Hitung .
- Hitung .
- Hitung .
B. Pengurangan Biner Langsung
- Hitung .
- Hitung .
C. Komplemen 1 dan Komplemen 2
- Tentukan komplemen 1 dari .
- Tentukan komplemen 2 dari .
- Tentukan representasi -12 dalam komplemen 2 8 bit.
D. Pengurangan dengan Komplemen 2
- Hitung menggunakan komplemen 2 8 bit.
- Hitung menggunakan komplemen 2 8 bit.
E. Bilangan Bertanda dan Overflow
- Berapa rentang nilai unsigned 8 bit?
- Berapa rentang nilai signed komplemen 2 8 bit?
- Apakah dalam komplemen 2 8 bit mengalami overflow? Jelaskan.
- Apa nilai desimal dari jika dibaca sebagai komplemen 2 8 bit?
- Apa perbedaan utama signed magnitude dan komplemen 2?
Tugas 2
Buat tabel representasi 8 bit untuk bilangan berikut:
| Nilai Desimal | Unsigned | Signed Magnitude | Komplemen 1 | Komplemen 2 |
|---|---|---|---|---|
| +7 | ||||
| -7 | ||||
| +15 | ||||
| -15 |
Tugas 3
Jawab singkat:
- Mengapa komputer menggunakan komplemen 2 untuk bilangan negatif?
- Mengapa overflow perlu dideteksi dalam operasi aritmetika biner?
- Apa perbedaan carry dan overflow?
- Mengapa jumlah bit harus ditentukan sebelum menghitung komplemen 2?
Komentar Pembaca
0 komentarBelum ada komentar
Jadilah yang pertama memberikan komentar pada artikel ini.