Menyambung materi tentang operator di bahasa pemrograman C, kali ini kita akan membahas Jenis-jenis Operator Perbandingan / Relasional dalam Bahasa C.
Operator Perbandingan Bahasa C
Operator perbandingan dipakai untuk membandingkan 2 buah nilai, apakah nilai tersebut sama besar, lebih kecil, lebih besar, dst. Hasil dari operator perbandingan ini adalah boolean True atau False, namun karena bahasa C tidak memiliki tipe data boolean bawaan, maka hasilnya adalah integer 1 atau 0.
Di dalam bahasa C, terdapat 6 operator perbandingan:
Operator | Penjelasan | Contoh | Hasil |
---|---|---|---|
== | Sama dengan | 5 == 5 | 1 (true) |
!= | Tidak sama dengan | 5 != 5 | 0 (false) |
> | Lebih besar | 5 > 6 | 0 (false) |
< | Lebih kecil | 5 < 6 | 1 (true) |
>= | Lebih besar atau sama dengan | 5 >= 3 | 1 (true) |
<= | Lebih kecil atau sama dengan | 5 <= 5 | 1 (true) |
Operator perbandingan ini biasa dipakai dalam proses pengambilan keputusan atau percabangan kode program. Sebagai contoh, jika angka pertama lebih besar dari kedua, maka jalankan perintah ini. Atau jika string password = 'qwerty' maka berikan hak akses.
Operator perbandingan kadang disebut juga dengan operator relasional karena kita membandingkan hubungan (relasi) sebuah nilai dengan nilai lainnya.
Contoh Kode Program Operator Perbandingan Bahasa C
Berikut contoh kode program untuk operasi perbandingan dalam bahasa pemrograman C:
#include <stdio.h> int main(void) { int a; a = 5 == 5; printf("Isi variabel a: %d \n",a); a = 5 != 5; printf("Isi variabel a: %d \n",a); a = 5 > 5; printf("Isi variabel a: %d \n",a); a = 5 >= 5; printf("Isi variabel a: %d \n",a); a = 5 < 5; printf("Isi variabel a: %d \n",a); a = 5 <= 5; printf("Isi variabel a: %d \n",a); return 0; }
Karena bahasa C tidak memiliki tipe data boolean, maka hasilnya antara 1 (sebagai pengganti true) atau 0 (sebagai pengganti false)
Operasi perbandingan tidak hanya untuk tipe data angka saja, tapi juga bisa berbagai tipe data lain seperti char. Berikut contohnya:
#include <stdio.h> int main(void) { int a; a = 'a' == 'a'; printf("Isi variabel a: %d \n",a); a = 'A' != 'B'; printf("Isi variabel a: %d \n",a); a = "Duniailkom" == "duniailkom"; printf("Isi variabel a: %d \n",a); a = 'A' > 'B'; printf("Isi variabel a: %d \n",a); return 0; }
Hasil kode program:
Isi variabel a: 1 Isi variabel a: 1 Isi variabel a: 0 Isi variabel a: 0
Jika yang dibandingkan berupa karakter, hasilnya dilihat dari urutan karakter ASCII. Dalam tabel ASCII, karakter 'A' memiliki nomor urut yang lebih rendah daripada 'B', sehingga 'A' > 'B' adalah false (0).
Dalam prakteknya, operasi perbandingan baru 'berguna' dalam percabangan kode program seperti struktur IF. Berikut contohnya:
#include <stdio.h> int main(void) { int a; printf("Input angka sembarang: "); scanf("%d",&a); if (a % 2 == 0) { printf("%d adalah angka genap \n",a); } else { printf("%d adalah angka ganjil \n",a); } return 0; }
Kita memang belum membahas tentang struktur if, tapi konsepnya cukup sederhana. Di awal kode program saya meminta user untuk menginput sebuah angka. Angka ini kemudian disimpan ke dalam variabel a hasil dari perintah scanf("%d",&a).
Pada baris 10, saya melakukan sebuah operasi perbandingan: if (a % 2 == 0)? Yakni apakah a habis dibagi 2? Jika anda ragu dengan tanda %, itu adalah operator modulus yang pernah kita bahas dalam tutorial operator aritmatika.
Kondisi di atas hanya akan true (1) jika a diisi dengan angka genap. Jika ini yang terjadi, jalankan perintah printf("%d adalah angka genap \n",a). Jika hasilnya false, jalankan printf("%d adalah angka ganjil \n",a). Inilah salah satu penerapan dari operasi perbandingan / relasi.
Dalam tutorial kali ini kita telah membahas pengertian dan cara penggunaan operator perbandingan dalam bahasa C. Berikutnya, saya akan membahas operator logika.