Assalamualaikum Wr. Wb.

 

Kembali dengan saya Hudzaifah Rizqi dari PENS 2019 Jurusan D4 Elektronika B. Dalam Post kali ini akan dibahas lebih dalam terkait bahasa C yakni Relational, Logical, Assignment, dan Conditional. Tujuan dari mempelajari materi kali ini adalah untuk memahami dan mengamati penggunaan operator yang digunakan sebagai pembanding antara operand satu dengan operand lain, yang dapat berupa sebagai variabel atau konstanta. Untuk lebih lanjut, silahkan teman-teman membaca teorinya terlebih dahulu ya.

 

TEORI

  • Relational Operator : operator yang dapat digunakan untuk membandingkan antara dua operand. misalkan lebih besar mana antara a dan b, manakah yang lebih kecil antara c dan 12. Dari perbandingan tersebut maka akan didapatkan suatu hasil yaitu benar atau salah yang berupa nilai 1 ( selain nol ) untuk benar dan 0 untuk salah. Operator ini terdiri dari tanda-tanda khusus yaitu < ( lebih kecil ) , > ( lebih besar ), == ( sama dengan ), <= ( lebih kecil atau sama dengan ),  >= ( lebih besar atau sama dengan ) dan != ( tidak sama dengan ). Sedangkan untuk mengkombinasikan antara operator – operator di atas maka dapat digunakan Logical Operator.
  • Logical Operator : terdiri dari && ( and / dan ) , || ( or / atau ) dan ! ( not / tidak )
  • Assignment Operator : identik dengan tanda ‘ = ‘ ( sama dengan ) dapat dipadukan dengan operator aritmatika menjadi +=,-=,*=,/=,%=.
  • Conditional Operator : operator yang dapat digunakan untuk menentukan pengambilan keputusan secara sederhana ( satu baris statement ) dimana hanya digunakan karakter khusus ‘ ? ‘ dan ‘ : ‘

 

Supaya lebih paham, yuk langsung simak Tugas-Tugas dibawah ini:

 

  • Tugas 1 Menggunakan Relational Operator untuk menentukan hasil (0 atau 1) dengan memasukkan nilai a,b,c, dan d.

Berikut Programnya :

#include <stdio.h>

 

void main()

{

 

int a,b,c,d,A,B,C,D,E;

 

 

printf(“a= “);

scanf(“%d”,&a);

 

printf(“b= “);

scanf(“%d”,&b);

 

printf(“c= “);

scanf(“%d”,&c);

 

printf(“d= “);

scanf(“%d”,&d);

 

A = (a > b) && (c < d) || (a == b);

B = (a == b) || (c == d) && (a < b);

C = (a <= c) && (b >= d) || (a == d);

D = (a >= d) || (b <= c) && (c == d);

E = (a != b) || (c > d) || (a != d);

 

printf(“Hasil dari A = (%d > %d) && (%d < %d) || (%d == %d) adalah %d\n”, a,b,c,d,a,b,A);

printf(“Hasil dari B = (%d == %d) || (%d == %d) && (%d < %d) adalah %d\n”, a,b,c,d,a,b,B);

printf(“Hasil dari C = (%d <= %d) && (%d >= %d) || (%d == %d) adalah %d\n”, a,c,b,d,a,d,C);

printf(“Hasil dari D = (%d >= %d) || (%d <= %d) && (%d == %d) adalah %d\n”, a,d,b,c,c,d,D);

printf(“Hasil dari E = (%d != %d) || (%d > %d) || (%d != %d) adalah %d\n”, a,b,c,d,a,d,E);

 

getch();

}

Sebagai contoh mari kita coba masukkan nilai a=1, b=2, c=3, dan d=4, lalu membaca salah satu baris programnya, misalkan:

C = (a <= c) && (b >= d) || (a == d)

Dalam baris ini, terlihat :

(a<=c) maksudnya adalah apakah a lebih kecil atau sama dengan c?

(b>=d) maksudnya adalah apakah b lebih besar atau sama dengan d? dan

(a==d) maksudnya adalah apakah a sama dengan d?

 

Jika dimasukkan nilai nya maka akan diperoleh : benar(1) && salah(0) || salah(0).

Dalam logika AND (&&) akan bernilai 1 jika kedua masukkan nya adalah 1. Sedangkan OR akan bernilai 1 jika salah satu atau kedua masukkan nya adalah 1. Maka dapat disimpulkan bahwa :

1 && 0 || 0 adalah 0(salah)

 

Untuk menambah pemahaman teman-teman coba terjemahkan yang lainnya ya.

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

  • Tugas 2 Tentukan nilai m, n, dan hasil yang diperoleh, lalu jelaskan jalannya program.

Berikut Programnya :

#include <stdio.h>

 

void main()

{

int a=7, b=9, c=5, d=3;

int m, n, hasil;

 

m= (a>b) ? a:b;

n= (c<d) ? d:c;

hasil= (m>n) ? m:n;

 

printf(“nilai dari m= %d\n”,m);

printf(“nilai dari n= %d\n”,n);

printf(“hasil= %d”,hasil);

 

getch();

}

 

Dalam program tersebut dinyatakan dalam sebuah pernyataan dan pilihan dengan Conditional Operator (? , 🙂 dalam mentukan sebuah keputusan. Yang mana dapat kita terjemahkan :

m= (a>b) ? a:b , artinya apakah a lebih besar dari b? jika benar jawablah a, jika tidak jawablah b. dan jawabannya akan menjadi nilai m.

n= (c<d) ? d:c , artinya apakah c lebih kecil dari d? jika benar jawablah d, jika tidak jawablah c. dan jawabannya akan menjadi nilai n.

hasil= (m>n) ? m:n , artinya apakah m lebih besar dari n? jika benar jawablah m, jika tidak jawablah n. dan jawabannya akan menjadi hasil.

 

Sehingga akan diperoleh hasil sebagai berikut :

m= 9

n= 5

hasil= 9

  • Facebook
  • Twitter
  • Google+
  • Pinterest

  • Tugas 3 Menentukan nilai terbesar dengan menggunakan Conditional Operator.

Berikut Programnya :

#include <stdio.h>

 

void main()

{

int a,b,c,d,x,y;

 

printf(“masukkan nilai a= “);

scanf(“%d”, &a);

 

printf(“masukkan nilai b= “);

scanf(“%d”, &b);

 

printf(“masukkan nilai c= “);

scanf(“%d”, &c);

 

printf(“masukkan nilai d= “);

scanf(“%d”, &d);

 

x= (a>b) ? a:b;

y= (c>d) ? c:d;

 

printf(“\nNilai %d lebih besar dari pada %d”,a,b);

printf(“\nNilai %d lebih kecil dari pada %d”,c,d);

printf(“\nJadi nilai maksimum adalah %d”,(x>y) ? x:y);

 

getch();

}

 

Mari kita coba dengan memasukkan nilai a=5, b=3, c=6, dan d=8.

Dalam program ini, kita diminta untuk menentukan nilai maksimum. Jika dapat kita simpulkan bahwa nilai maksimum ada di d=8, maka jawaban terakhir haruslah 8. Dengan menggunakan konsep yang sama dengan Tugas 2, coba kita terjemahkan.

 

x= (a>b) ? a:b  ,artinya apakah a lebih besar dari b? jika benar jawablah a, jika tidak jawablah b. dan jawabannya akan disimpan di x.

y= (c>d) ? c:d  , artinya apakah c lebih besar dari d? jika benar jawablah c, jika tidak jawablah d. dan jawabannya akan disimpan di y.

 

(x>y) ? x:y  , artinya apakah x lebih besar dari y? jika benar jawablah x, jika tidak jawablah y. dan jawabannya akan meyatakan nilai maksimum yang kita cari.

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

Sekian yang dapat saya sampaikan, semoga bermanfaat.

Wassalamualaikum Wr. Wb.