Belajar Bahasa C #7 : Macam Macam Operator Pada C

Operator dalam pemrograman bahasa C adalah simbol yang digunakan untuk melakukan operasi tertentu pada suatu nilai dan variabel. Misalnya, jika kita ingin membagi nilai dari variabel a dan b, maka kita bisa menggunakan operator pembagian (/).

Ada enam macam operator dalam pemrograman bahasa C, yaitu :

  • Operator Artimatika;
  • Operator Penugasan;
  • Operator Pembanding;
  • Operator Logika;
  • Operator Bitwise;
  • dan Operator Lain-lain.

Mari kita bahas satu persatu..

Operator Artimatika Pada Bahasa C

Operator ini sama seperti yang ada di matematika pada umunya, dimana operator ini berfungsi untuk melakukan operasi aritmatika seperti penjumlahan, pengurangan, pembagian, perkalian, dan lain-lain.

Nama OperatorSimbol
Penjumlahan+
Pengurangan
Perkalian*
Pembagian/
Sisa Bagi%

Bagaimana cara menggunakan operator artimatika pada bahasa C ?

Mari kita praktikkan pada contoh program berikut :

#include <stdio.h>

void main(){

    int x, y;

    printf("Masukkan nilai x: ");
    scanf("%i", &x);

    printf("Masukkan nilai y: ");
    scanf("%i", &y);

    printf("Hasil dari x + y : %i\n", x + y);
    printf("Hasil dari x - y : %i\n", x - y);
    printf("Hasil dari x * y : %i\n", x * y);
    printf("Hasil dari x / y : %i\n", x / y);
    printf("Hasil dari x % y : %i\n", x % y);

}

Hasilnya :

operator dalam bahasa c

Kenapa hasil dari 24 dibagi 15 = 1 ? bukannya hasilnya 1,6

Hal ini karena kode program diatas menggunakan tipe data integer yang mana integer ini merupakan tipe data dari bentuk bilangan bulat.

Oleh sebab itu kita akan menambahkan (float) pada variabel x dan y agar hasil pembagian dari tipe data integer akan tidak dibulatkan.

Contoh :

#include <stdio.h>

void main(){
    float x, y;
    printf("Masukkan nilai x: ");
    scanf("%i", &x);
    printf("Masukkan nilai y: ");
    scanf("%i", &y);
    printf("Hasil dari x / y : %f\n", x / y);
}

Hasilnya :

Operator Penugasan Pada Bahasa C

Assignment Operator atau Operator penugasan merupakan operator untuk memberikan tugas pada untuk mengisi nilai pada variabel.  Operator ini terdiri dari :

Nama OperatorSombol
Pengisian Nilai=
Pengisian dan Penambahan+=
Pengisian dan Pengurangan-=
Pengisian dan Perkalian*=
Pengisian dan Pembagian/=
Pengisian dan Sisa bagi%=
Pengisian dan shift left<<=
Pengisian dan shift right>>=
Pengisian dan bitwise AND&=
Pengisian dan bitwise OR|=
Pengisian dan bitwise XOR^=

Contoh program operator penugasan :

#include <stdio.h>

void main(){
    int x, y;

    // pengisian nilai dengan operator =
    x = 2;
    y = 8;

    // pengisian dan penambahan sekaligus
    y += x; // ini sama seperti y = y + x
    printf("Hasil y += x : %d\n", y);

    // pengisian dan pengurangan sekaligus
    y -= x; // ini sama seperti y = y - x
    printf("Hasil y -= x : %d\n", y);

    // pengisian dan perkalian sekaligus
    y *= x; // ini sama seperti y = y * x
    printf("Hasil y *= x : %d\n", y);

    // pengisian dan pembagian sekaligus
    y /= x; // ini sama seperti y = y / x
    printf("Hasil y /= x : %d\n", y);

    // pengisian dan sisa bagi 
    y %= x; // ini sama seperti y = y % x
    printf("Hasil y %= x : %d\n", y);
}

Keterangan :

Pada kode program diatas, kita mengisi ulang variabel y dengan operator penugasan.

Sebagai contoh, operasi:

”y += z” ini sama seperti operasi: ”y = y + z”

Yang berarti kita akan mengisi nilai untuk y dengan nilai y ditambah nilai z.

Hasilnya :

operator dalam bahasa c

Operator Pembanding Pada Bahasa C

Operator pembanding atau yang disebut juga dengan operator relasi adalah operator untuk memabndingkan dua buah nilai. Adapun nilai yang dihasilkan dari operasi ini berupa true atau 1 dan false 0.

Macam-macam dari operator pembanding yaitu :

Nama OperatorSimbol
Lebih Besar
Lebih Kecil
Sama Dengan==
Tidak Sama dengan!=
Lebih Besar Sama dengan>=
Lebih Kecil Sama dengan<=

Contoh program :

#include <stdio.h>

void main(){
    int a = 15;
    int b = 5;

    printf("a = %d\n", a);
    printf("b = %d\n", b);
    // operator pembanding
    printf("a > b = %d\n", a > b);
    printf("a < b = %d\n", a < b);
    printf("a >= b = %d\n", a >= b);
    printf("a <= b = %d\n", a <= b);
    printf("a == b = %d\n", a == b);
    printf("a != b = %d\n", a != b);
}

Hasilnya :

operator dalam bahasa c

Operator Logika

Operator Logika digunakan untuk membuat operasi logika terhadapa dua kondisi yaitu 1 dan 0. Pada bahasa C terdapat 3 operator logika, yaitu :

OperatorNamaPenjelasanContoh
&&AndAkan menghasilkan 1 jika kedua operand 11 && 0, hasilnya: 0
||OrAkan menghasilkan 1 jika salah satu operand 11 || 0, hasilnya: 1
!NotAkan menghasilkan 1 jika operand 0!0, hasilnya: 1

operator OR menggunakan karakter pipe ” | “, bukan huruf L kecil.

Contoh Program :

#include <stdio.h>

void main(){
    int a = 1; // true
    int b = 0; // false

    printf("a = %d\n", a);
    printf("b = %d\n", b);

    // logika AND
    printf("a && b = %d\n", a && b);

    // logika OR
    printf("b || a = %d\n", b || a);

    // logika NOT
    printf("!b = %d\n", !b);
}

Hasilnya :

operator dalam bahasa c

Operator Bitwise

Operator bitwise merupakan operator yang digunakan untuk operasi berdasarkan bit (bilangan biner) dari sebuah nilai. Biner merupakan jenis bilangan yang hanya terdiri dari 2 jenis angka, yakni 0 dan 1.

Apabila nilai awal yang digunakan bukan bilangan biner, maka akan dikonversi secara otomatis oleh compiler C menjadi bilangan biner.Misalnya 5 desimal = 0101 dalam bilangan biner.

Ada 6 jenis Operator bitwise, yaitu :

OperatorNama
&AND
|OR
^XOR
~NOT
<< Left shift
>> Right shift

Contoh program :

#include <stdio.h>

int main(void)
{
  int a, b, hasil;

  a = 11;
  b = 4;

  printf("=== Operator Bitwise === \n\n");

  hasil = a & b;
  printf("a & b: %d \n",hasil);

  hasil = a | b;
  printf("a | b: %d \n",hasil);

  hasil = a ^ b;
  printf("a ^ b: %d \n",hasil);

  hasil = ~a;
  printf("~a: %d \n",hasil);

  hasil = a >> 1;
  printf("a >> 1: %d \n",hasil);

  hasil = b << 2;
  printf("b << 2: %d \n",hasil);
  return 0;
}

Keterangan :

Pada program diatas, ada 2 variabel yaitu : ”a dengan nilai 31” dan ”b dengan nilai 20”. Jika di konversi ke dalam bentuk biner, keduanya berisi angka berikut:

a = 31 (desimal) = 11111 (biner)

b = 20 (desimal) = 10100 (biner)

Di baris 12 saya melakukan operasi & (AND) terhadap kedua variabel. Operasi bitwise “and” ini akan memproses bit per bit dari kedua variabel, jika kedua bit sama-sama 1, maka hasilnya juga 1, selain kondisi tersebut, nilai akhirnya adalah 0. Berikut perhitungan bitwise “and”:

a     = 11111

b     = 10100

        ——–

a & b = 10100 = 20 (desimal)

Dan dari hasil printf, terlihat bahwa hasilnya adalah 20 (dalam bentuk desimal).

Hasilnya :

operator dalam bahasa c

Operator Lainnya

Selain dari kelima operator yang sudah kita bahas di atas, pada bahasa C juga terdapat beberapa operator lainnya, yaitu :

Nama OperatorSimbolKeterangan
Alamat memori&untuk mengambil alamat memori
Pointer*untuk membuat pointer
Ternary? :untuk membuat kondisi
Increment++untuk menambah 1
Decrementuntuk mengurangi

Contoh program :

#include <stdio.h>

void main(){

    int b = 10;
    // increment b
    b++;

    printf("=== Operator Lainnya === \n\n");

    // ambil alamat memori
    printf("Alamat memori variabel b adalah %x\n", &b);

    // operator ternary dari variabel b
    printf("b > 1 adalah %s\n", b > 1 ? "benar": "salah");

    // operator increment dan decrement variabel b
    printf("b++ = %d\n", b);
    ++b; // increment b
    printf("++b = %d\n", b);

    b--; // decrement b
    printf("b-- = %d\n", b);

    --b; // decrement b
    printf("--b = %d\n", b);
}

Hasilnya :

Begitulah pembahasan mengenai macam macam operator bahasa C. Untuk selanjutnya adalah : Blok Perulangan pada C

Tinggalkan Balasan

Scroll to Top