Assalamu’alaikum, kali ini saya akan membahas tentang relational, logical, assignment dan conditional dalam Bahasa C. sebelum itu, saya ingin bertanya terlebih dahulu. Apa sih relational, logical, assignment dan conditional itu ?….

            Relational operator adalah operator yang berfungsi untuk mebandingkan 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 (truel false) 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 sam dengan), dan != (tidak sama dengan). Sedangkan untuk mengkombinasikan antara operator – operator diatas maka dapat digunakan Logical Operator yang terdiri dari && (and/dan), || (or/atau), dan ! (not/tidak). Assignment Operator identic dengan tanda ‘=’ (sama dengan), operator ini dapat dipadukan dengan operator aritmatika sehingga menjadi : +=, -=, *=, /= dan %=.Conditional Operator adalah operator yang dapat digunakan untuk menentukan (pengambikan keputusan) secara sederahana (satu baris statement), dimana hanya digunakan karakter khusus ‘?’ (tanda Tanya) dan ‘:’ (colon/titik dua).

            Berikut terdapat beberapa contoh yang mungkin dapat membantu untuk lebih memahami tentang apa yang akan kita bahas sekarang.

Tugas 3.5.1 Buatlah program untuk menentukan hasil (0 atau 1) dari operator relasional di bawah ini. Masukkan nilai a,b,c dan 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 >= d) || (b <= c) && (c == d)
  5. (a != b) || (c > d) || (a != d)

Jawab

#include <stdio.h>

main()

{

   int a, b, c, d, v, w, x, y, z;

   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);

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

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

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

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

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

   printf(“\nA. nilai dari (%d > %d) && (%d < %d) || (%d == %d) adalah = %d”,a,b,c,d,a,b,v);

   printf(“\nB. nilai dari (%d == %d) || (%d == %d) && (%d < %d) adalah = %d”,a,b,c,d,a,b,w);

   printf(“\nC. nilai dari (%d <= %d) && (%d >= %d) || (%d == %d) adalah = %d”,a,c,b,d,a,d,x);

   printf(“\nD. nilai dari (%d >= %d) || (%d <= %d) && (%d == %d) adalah = %d”,a,d,b,c,c,d,y);

   printf(“\nE. nilai dari (%d != %d) || (%d > %d) || (%d != %d) adalah = %d”,a,b,c,d,a,d,z);

   getch();

}

Hasil

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Tugas 3.5.2 berapakah nilai variable m,n dan hasil dari program di bawah ini? Dan jelaskan jalannya program.

            #include <stdio.h>

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;

   getch();

Jawab

#include <stdio.h>

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(“\nnilai m adalah = %d”,m);

   printf(“\nnilai n adalah = %d”,n);

   printf(“\nnilai hasil adalah = %d”,hasil);

   getch();

}

Hasil

  • Facebook
  • Twitter
  • Google+
  • Pinterest

program diatas merupakan sebuah program yang berfungsi untuk mencari nilai maksimum.

Tugas 3.5.3 Buatlah program untuk menentukan nilai terbesar dari empat nilai yang diberikan melalui keyboard, seperti contoh di bawah ini (gunakan operator conditional):

            Masukkan nilai a = 5

            Masukkan nilai b = 3

            Masukkan nilai c = 6

            Masukkan nilai d = 8

 

            Nilai a lebih besar daripada b

            Nilai c lebih kecil dari pada d

            Jadi nilai maksimum adalah 8

Petunjuk :

  1. Bandingkan nilai a dengan nilai b, simpan hasilnya pada x
  2. Bandingkan nilai c dengan d, simpan hasilnya pada y
  3. Bandingkan nilai x dengan y, cetak nilai terbesar

 

Jawab

#include <stdio.h>

main()

{

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

   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;

   max=(x>y) ? x:y;

   printf(“\nnilai a dibanding b adalah a lebih”);

   printf(” %s dari pada b”,(a>b)?”besar”:”kecil”);

   printf(“\nnilai c dibanding d adalah c lebih”);

   printf(” %s dari pada d”,(c>d)?”besar”:”kecil”);

   printf(“\njadi nilai maksimum adalah %d”,max);

   getch();

}

Hasil

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Mungkin itu yang bias saya bagikan kali ini, Wassalamu’alaikum Wr.Wb