Skip to content

Commit

Permalink
feat:menambahkan operator bitwise pada basic operator
Browse files Browse the repository at this point in the history
# Deskripsi (Description)
#### Menambahkan Operator Bitwise pada Basic CPP. 
#### Bagaimana operator bitwise digunakan dan bagaimana program C++ dapat berinteraksi  dengan ASCII 




# Checklist:
##### Umum:
- [x] Saya menambah algoritma terbaru.
- [ ] Saya memperbaiki algoritma yang sudah ada.
- [ ] Saya memperbaiki dokumentasi.
- [ ] Saya menambah dokumentasi.

##### Contributor Requirements (Syarat Kontributor) dan Lain-Lain:
 - [x] Saya sudah membaca (I have read) [CONTRIBUTING](https://github.com/bellshade/CPP/blob/main/CONTRIBUTING.md) dan sudah menyetujui semua syarat.
 - [x] Saya telah menambahkan komentar kode yang memberikan penjelasan maksud dari kode yang saya buat.
 - [x] Saya menggunakan bahasa Indonesia untuk memberikan penjelasan dari kode yang saya buat.

# Environment
Saya menggunakan (I'm using):

- ``OS`` = `Linux` 
- ``g++`` = `11.4.0` 



# Link Issues

Issues : # 



This Commit License
https://github.com/bellshade/CPP/blob/main/license

Co-authored-by: bellshadebot <[email protected]>
  • Loading branch information
RhapsodyInBlueMelody and bellshadebot authored Dec 10, 2024
1 parent 4e01d24 commit 774c977
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 5 deletions.
43 changes: 43 additions & 0 deletions basic/04_operator/operator_bitwise.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/*
Hai teman-teman! Mari kita belajar tentang cara kerja operator bitwise dengan contoh sederhana!
Sebelumnya, mari kita pahami dulu tipe data char. Char (character) adalah tipe data yang digunakan untuk menyimpan satu karakter seperti huruf, angka, atau simbol.
Setiap karakter char sebenarnya disimpan dalam bentuk biner 8-bit berdasarkan kode ASCII.
*/
#include <iostream>

int main(){
char a = 'F';
char b = 'C';
char c = a & b;
std::cout << c << std::endl;
}

/*
Program di atas akan menghasilkan output: B
Kenapa bisa begitu? Yuk kita pahami bersama-sama!
Di sini kita membandingkan 2 variabel bertipe char:
- Variabel a berisi huruf 'F'
- Variabel b berisi huruf 'C'
Dalam tabel ASCII, setiap karakter memiliki nilai biner masing-masing:
'F' = 01000110
'C' = 01000011
Kemudian kita menggunakan operator bitwise AND ('&'). Operator ini akan membandingkan setiap digit biner dari kedua karakter tersebut.
Jika kedua digit sama-sama bernilai 1, hasilnya 1. Jika tidak, hasilnya 0.
Mari kita bandingkan:
01000110 (F)
01000011 (C)
-------- AND
01000010
Nah, hasil operasi bitwise AND tersebut adalah 01000010, yang dalam tabel ASCII merupakan representasi dari huruf 'B'!
Bagaimana? Menarik kan cara kerjanya? 😊
kalau penasaran, teman-teman bisa ber-eksperiment dengan melihat tabel ASCII ini sebagai referensi >> https://www.ascii-code.com/
*/
41 changes: 37 additions & 4 deletions basic/04_operator/readme.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Operator

Sebelum mempelajari tentang operator, kamu harus sudah mengenal tentang "Ekspresi". Ekspresi terdiri dari dua komponen, yaitu **operator** dan **operand.**
Sebelum mempelajari tentang operator, kamu harus sudah mengenal tentang "Ekspresi". Ekspresi terdiri dari dua komponen, yaitu **operator** dan **operand.**

- operator: simbol dari operasi yang akan dilakukan
- operand: nilai yang akan dioperasikan

**Contoh**: `a + b`
a dan b adalah operand
a dan b adalah operand
simbol `+` adalah operator


Selanjutnya, kita akan mempelajari tentang operasi dan operatornya.

Expand Down Expand Up @@ -71,3 +71,36 @@ Operator logika digunakan untuk menggabungkan dua—atau lebih—kondisi
| `!` | NOT |

lebih lanjut dari operator logika bisa dilihat [disini](https://www.youtube.com/watch?v=k9nBTzvba34&list=PLZS-MHyEIRo4Ze0bbGB1WKBSNMPzi-eWI&index=17)

## 4. Operator Bitwise

Operator Bitwise adalah operator yang melakukan operasi pada level bit (biner) dari suatu nilai.
Operator ini bekerja dengan mengoperasikan bit per bit dari dua operand.

| Operator | Nama Operasi | Keterangan |
| - | - | - |h
| `&` | AND | Menghasilkan 1 jika kedua bit bernilai 1 |
| `\|` | OR | Menghasilkan 1 jika salah satu bit bernilai 1 |
| `^` | XOR | Menghasilkan 1 jika kedua bit bernilai berbeda |
| `~` | NOT | Membalikkan semua nilai bit |
| `<<` | Left Shift | Menggeser bit ke kiri |
| `>>` | Right Shift | Menggeser bit ke kanan |

**Contoh penggunaan:**
```cpp
int a = 5; // 00000101 dalam biner
int b = 3; // 00000011 dalam biner

int c = a & b; // 00000001 = 1
int d = a | b; // 00000111 = 7
int e = a ^ b; // 00000110 = 6
int f = ~a; // 11111010 = -6
int g = a << 1; // 00001010 = 10
int h = a >> 1; // 00000010 = 2
```

Operator Bitwise sering digunakan dalam:
- Pemrograman sistem
- Optimasi kode
- Manipulasi flag dan state
- Enkripsi data sederhana
2 changes: 1 addition & 1 deletion basic/08_string/menggunakan_array.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ int main(){
char salam[] = "Hello boys";
std::cout<<salam;

return 0
return 0;
}

0 comments on commit 774c977

Please sign in to comment.