Tutorial Pemrograman C #08: Operator Logika Pada Bahasa C

Tutorial Pemrograman C #08 Operator Logika Pada Bahasa C

Pengertian Operator Logika

Operator logika adalah operator yang digunakan untuk menbandingkan 2 kondisi logika yakni logika yang bernilai benar (TRUE) dan logika yang bernilai salah (FALSE). Operator logika paling sering digunakan untuk kondisi IF (percabangan) atau digunakan untuk meneruskan atau menghentikan proses looping pada FOR.

Macam-macam Operator Logika

Operator logika terbagi menjadi 5 macam operator yakni operator AND , OR, Kesamaan & Ketidaksamaan dan Not. Untuk lebih jelasnya mengenai ke 5 operator logika ini silahkan lihat tabel di bawah.

Misalkan variabel A bernilai TRUE dan variabel B bernilai FALSE

Operator Nama Operator Keterangan Contoh
&& AND Menghasilkan nilai TRUE hanya jika ke 2 kondisi bernilai TRUE (A && B) = FALSE
|| OR Menghasilkan nilai FALSE hanya jika ke 2 kondisi bernilai FALSE (A || B) = TRUE
== Kesamaan Menghasilkan nilai TRUE jika ke 2 operand bernilai sama (A == B) = FALSE
!= Ketidaksamaan Menghasilkan nilai TRUE jika ke 2 kondisi tidak sama (A != B) = TRUE
! NOT Mengubah nilai TRUE menjadi FALSE dan menjadikan nilai FALSE menjadi TRUE (!A) = TRUE

Untuk mudah memahami ke 5 operator logika di atas, maka kita akan membahasnya satu persatu.

1. Operator Logika AND (&&)

Sebelum masuk ke contoh kasus dan program, alangkah lebih baiknya mengetahui aturan atau perilaku dari operator AND yang tersaji dalam tabel kebenaran.

Tabel kebenaran : Aturan untuk logika AND

A B A && B
True True True
True False False
False True False
False False False

Paling mudah untuk mengingat aturan dari logika AND di atas adalah hanya akan bernilai True jika ke 2 pernyataan bernilai True.

Kode program : Contoh penggunaan operator logika pada program bahasa C

#include <stdio.h>
int main()
{
    int a = 3;
    int b = 11;
    int c = 7;

    printf("Operator Logika AND \n \n");

    printf("A < B && C < B = %d \n", a < b && c < b);
    printf("A > B && C < B = %d \n", a > b && c < b);
    printf("A < B && C > B = %d \n", a < b && c > b);
    printf("A > B && C > B = %d \n", a > b && c > b);
}

Output program : Jika program dijalankan, maka hasilnya sebagai berikut.

Kode program : Jika ingin hasil yang tampil True dan False, bukan 0 dan 1

#include <stdio.h>
int main()
{
    int a = 3;
    int b = 11;
    int c = 7;

    printf("Operator Logika AND \n \n");

    printf("A < B && C < B = %s \n", a < b && c < b ? "True" : "False");
    printf("A > B && C < B = %s \n", a > b && c < b ? "True" : "False");
    printf("A < B && C > B = %s \n", a < b && c > b ? "True" : "False");
    printf("A > B && C > B = %s \n", a > b && c > b ? "True" : "False");
}

Ouput program : Jika program dijalankan, maka hasilnya adalah sebagai berikut.

Keterangan output program : Menjelaskan output program dalam tabel berikut.

P1 Nilai P1 P2 Nilai P2 P1 && P2 Hasil
(A < B) = (3 < 11) True (C < B) = (7 < 11) True True && True True
(A > B) = (3 > 11) False (C < B) = (7 < 11) True False && True False
(A < B) = (3 < 11) True (C > B) = (7 > 11)  False True && False False
(A > B) = (3 > 11) False (C > B) = (7 > 11) False False && False False

Kode program : Menggunakan operator logika dalam kondisi IF (percabangan)

Salah satu contoh kasus penggunaan operator logika AND dengan kondisi IF adalah membuat Form login.

#include <stdio.h>
#include <string.h>
int main()
{
    char username[30];
    char password[15];
    
    printf("Operator Logika AND \n \n");

    printf("Input username : ");
    scanf("%s", &username);

    printf("Input password : ");
    scanf("%s", &password);

    if (strcmp(username, "nelayankode") == 0 && strcmp(password, "12345") == 0)
    {
        printf("Selamat Anda Berhasil Login");
    }
    else
    {
        printf("Maaf username atau password salah!");
    }
}

Ada 4 skema saat aplikasi dijalankan yakni sebagai berikut. 

Skema 1 : Username salah & password salah

Skema 2 : Username benar & password salah

Skema 3 : Username salah & password benar

Skema 4 : Username benar & password benar

2. Operator Logika OR ( || )

Sama halnya seperti operator AND, kita harus mengetahui terlebih dahulu aturan atau prilaku dari logika OR yang ada pada tabel kebenaran

Tabel kebenaran : Aturan logika OR

A B A || B
True True True
True False True
False True True
False False False

Paling mudah untuk mengingat aturan logika OR adalah hanya akan bernilai False, jika ke 2 pernyataan bernilai False.

Kode program : Contoh penggunaan operator logika OR pada pemrograman bahasa C

#include <stdio.h>
int main()
{
    printf("Operator Logika OR \n \n");

    int nilai_akhir;
    int jumlah_alpha;

    printf("Input Nilai akhir: ");
    scanf("%d", &nilai_akhir);

    printf("Input jumlah alpha: ");
    scanf("%d", &jumlah_alpha);

    if (nilai_akhir < 60 || jumlah_alpha > 5)
    {
        printf("Tidak Lulus");
    }
    else
    {
        printf("Lulus");
    }
}

Output program : Jika program dijalankan maka hasilnya sebagai berikut.

Inti dari program ini adalah untuk mahasiswa yang nilai akhirnya di bawah 60 Untuk skema percobaan lainnya, sobat bisa mencobanya sendiri misalnya dengan menginput nilai akhir di bawah 60 dan jumlah alpha dibawah 5.

3. Operator Logika Kesamaan (==)

Operator logika kesamaan berfungsi untuk membandingkan value atau nilai dari 2 operand. Jika nilainya sama maka hasilnya akan bernilai True dan jika tidak sama maka akan bernilai False. 

Kode program : Contoh penggunaan operator logika kesamaan pada pemrograman bahasa C

#include <stdio.h>
int main ()
{
    char kunci_jawaban = 'b';
    char jawaban;
    
    printf("Operator Logika Kesamaan \n \n");

    printf("Soal: Tokyo merupakan ibukota dari negara...\n");
    printf("a. Indonesia\nb. Jepang \nc. Amerika \nd. Rusia \n \n");
    printf("Jawaban : ");
    scanf("%c", &jawaban);

    printf("\n");

    if (jawaban == kunci_jawaban)
    {
        printf("Jawaban BENAR");
    }
    else
    {
        printf("Jawaban SALAH");
    }
}

Output program : Jika program dijalankan maka hasilnya sebagai berikut.

4. Operator Logika Ketidaksamaan (!=)

Operator logika ketidaksamaan merupakan kebalikan dari operator logika kesamaan, yakni hasilnya akan bernilai True jika ke 2 operand memiliki value atau nilai berbeda.

Contoh:

1 != 2 // Nilainya True
3 != 3 // Nilainya False

Kode program : Contoh penggunaan operator logika ketidaksamaan pada pemrograman bahasa C.

#include <stdio.h>
int main()
{
    int stok = 15;

    printf("Operator Logika Ketidaksamaan \n \n");
    printf("Cek Stok Barang\n\n");

    if (stok != 0)
    {
    printf("Stok Ready %d", stok);
    }
    else
    {
    printf("Stok Kosong");
    }
}

Output program : Jika program dijalankan maka hasilnya sebagai berikut.

5. Operator Logika Not (!)

Operator logika yang paling mudah diingat aturannya yakni operator Not. Kenapa mudah? Hal ini karena aturan hanya membalikkan nilai operand yang bernilai True diubah menjadi False, dan yang nilai False diubah menjadi True.

Kode program : Contoh program penggunaan operator logika Not pada pemrograman C.

#include <stdio.h>
#include <stdbool.h>
int main()
{
    bool status = true;
    printf("Operator Logika NOT \n \n");

    printf("Status : %s \n", status ? "True" : "False");
    printf("Not Status : %s \n", !status ? "True" : "False");
}

Output program : Jika program dijalankan maka hasilnya sebagai berikut.

Untuk semua contoh operator logika di atas silahkan dicoba sendiri biar lebih paham. Dan jika ada kendala atau error pada program yang dibuat silahkan tanyakan pada kolom komentar. Dan jangan lupa untuk dukung penulis dengan cara mentraktir kopi di trakteer.id atau dengan cara share postingan ini.