Halo sobat Redaksiana, bertemu lagi dengan saya Fuadlutfi, seorang penulis artikel amatiran yang masih berkembang, hari ini kita akan membahas tentang Relational, Logical, Assignment, dan Conditional.

RELATIONAL, LOGICAL, ASSIGNMENT, DAN CONDITIONAL

Tujuan kita hari ini adalah mempelajari dan mengamati penggunaan operator yang digunakan sebagai pembanding antara operand satu dengan operand yang lain yang dapat berubah sebagai variabel atau konstanta.

Relational operator adalah 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 diatas maka akan didapatkan suatu hasil yaitu benar atau salah yang berupa nilai 1 untuk benar dan 0 untuk salah operator ini terdiri dari tanda-tanda khusus : <(lebih besar),>(lebih kecil),==(sama dengan),>=(lebih kecil sama dengan),<=lebih besar sama dengan,!=(tidak sama dengan). Sedangkan untuk mengkoordinasikan antara operator-operator di atas maka dapat digunakan logical operator yang terdiri dari &&. (And), ||(OR), ! (NOT). Assignment operator identik dengan tanda ‘=’, operator ini dapat dipadukan dengan operator aritmatika. Conditional operator adalah operator yang dapat digunakan untuk menentukan secara sederhana di mana hanya digunakan karakter khusus’?’ dan ‘:’.

Sebagai contoh, saya akan membuat sebuah perbandingan 2 angka dengan Relational operator :

#include <stdio.h>

#include <conio.h>

main()

{

Int x,y;

printf(“Masukkan nilai x=” );

scanf(“%d\n”,&x);

printf(“masukkan nilai y =”);

scanf(“%d\n”,&y);

printf(“%d > %d, bernilai %d”,x,y,x>y);

printf(“%d < %d, bernilai %d”,x,y,x<y);

getch();

}

Untuk mendapatkan kombinasi dua atau beberapa operator relasional maka dapat digunakan operator logika, sehingga dapat didapatkan beberapa kondisi harus dipenuhi untuk mendapatkan nilai 1 (benar)

#include <stdio.h>

 

#include <conio.h>

 

main()

 

{

 

Int x,y,m,n;

 

printf(“Masukkan nilai x =” );

 

scanf(“%d\n”,&x);

 

printf(“masukkan nilai y =”);

 

scanf(“%d\n”,&y);

n=( x<10) && (y>10);

m=(x >10) || (y<10);

printf(“nilai dari %d < 10  && %d > 10, pernyataan ini bernilai : \n”,x,y,n);

 

printf(“nilai dari %d > 10  || %d < 10, pernyataan ini bernilai : \n”,x,y,m);

 

getch();

 

}

STUDI KASUS

1. Buatlah program untuk menyatakan hasil benar (1) atau salah (0) dari operator relasional dibawah ini, dan masukkan nilai a, b, c, d dari keyboard.

  1. (a > b) && (c < d) || (a == b)
  2. (a == b) || (c == d) && (a <  b)
  3. (a <= c) && (b >= d) || (a == d);
  4. (a >= c) || (b <= d) && (a == d)
  5. (a != b) || (c > d) || (a!= d)

Program:

 #include <stdio.h>
#include <conio.h>
#include <stdlib.h>
main()
{
int a,b,c,d;

printf(“masukkan nilai a =”);scanf(“\n%d”,&a);
printf(“masukkan nilai b =”);scanf(“\n%d”,&b);
printf(“masukkan nilai c =”);scanf(“\n%d”,&c);
printf(“masukkan nilai d =”);scanf(“\n%d”,&d);

printf(“\na. hasil dari (%d>%d)&&(%d<%d)||%d==%d) adalah %d”,a,b,c,d,a,b,(a>b)&&(c<d)||(a==b));
printf(“\nb. hasil dari (%d==%d)||(%d==%d)&&(%d<%d) adalah %d”,a,b,c,d,a,b,(a==b)||(c==d)&&(a<b));
printf(“\nc. hasil dari (%d<=%d)&&(%d>=%d)||(%d==%d) adalah %d”,a,c,b,d,a,d,(a<=c)&&(b>=d)||(a==d));
printf(“\nd. hasil dari (%d>=%d)||(%d<=%d)&&(%d==%d) adalah %d”,a,c,b,d,a,d,(a>=c)||(b<=d)&&(a==d));
printf(“\ne. hasil dari (%d!=%d)||(%d>%d)||(%d!=%d) adalah %d”,a,b,c,d,a,d,(a!=b)||(c>d)||(a!=d));

getch();

}

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Program diatas memproses data yang dimasukkan ke a,b,c,d dan memberikan sebuah relasi atau hubungan antar angka yang dimasukkan.

2.  Menentukan nilai variabel mana yang paling besar atau yang paling kecil. Dengan membandingkan variabel yang memilki nilai yang telah ditentukan. Tulis Program dibawah dan lihat hasilnya

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
main()
{
int a=7,b=9,c=5,d=3;
int m,n,hasil;
m=(a>b) ? a:b;
n=(c<d) ? c:d;
hasil = (m>n) ? m:n;
printf(“Nilai terbesar antara a dan b adalah (m)=%d\nNilai terbesar antar c dan d adalah (n)= %d\n” ,m,n);
printf(“Nilai / hasil yang paling besar antara m dan n adalah %d”,hasil);

getch();

}

Hasil nya:

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Seperti yang tertera di program, hasil dari perbandingan antara a,b,c,d akan ditampilkan bila program sudah benar. prosedurnya yaitu pertama program membandingkan antara variabel a dan b, kemudian disimpan pada variabel m, lalu membandingkan variabel c dan d dan disimpan pada variabel n, selanjutnya kedua perbandingan tersebut ( m dan n ) dibandingkan hasilnya satu sama lain untuk mencari nilai terbesarnya yang disimpan pada variabel hasil.

3.  Menentukan nilai terbesar dari empat nilai yang di inputkan keyboard.

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
main()

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

printf(“masukkan nilai a =”);scanf(“\n%d”,&a);
printf(“masukkan nilai b =”);scanf(“\n%d”,&b);
printf(“masukkan nilai c =”);scanf(“\n%d”,&c);
printf(“masukkan nilai d =”);scanf(“\n%d”,&d);

x=(a>b) ? a:b;
y=(c>d) ? c:d;
printf(“\nNilai x =%d, a lebih %s dari b “, x,(a>b) ? “besar”:”kecil”);
printf(“\nNilai y =%d, c lebih %s dari d “, y,(c>d) ? “besar”:”kecil”);
printf(“\nNilai x lebih %s dari y “,(x>y) ? “besar”:”kecil”);
hasil=(x>y) ? x:y;
printf(“\nNilai terbesar adalah %d “,hasil);
getch();
}

Hasil:

  • Facebook
  • Twitter
  • Google+
  • Pinterest

kegunaan “?” disini adalah sebagai sebuah opreasi conditional yang mana membutuhkan sebuah keputusan saata akan melakukan sebuah pencetakan hasil, statement yang dinyatakan adalah jika benar memilih opsi 1, jika salah, pilih yang lain.

Kesimpulan:

Sebuah operator conditional digunakan untuk memberikan sebuah pilihan pada suatu hasil, operator relational digunakan untuk membuat relasi atau hubungan antar data, logical digunakan untuk memproses datat menggunakan logika, dan assignment digunakan sebagai program menciptakan tugas untuk mengolah data.