Percobaan III

Relational, Logical, Assignment dan Conditional

Pada kesempatan kali ini saya akan membahas tentang pemrograman Bahasa C, lebih tepatnya pada materi Relational, Logical, Assignment dan Conditional. Tujuannya agar kita dapat mempelajari dan mengamati penggunaan operator yang digunakan sebagai pembanding antara operand satu dengan operand yang lain, yang dapat berupa sebagai variable 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 hasil benar atau salah yang berupa nilai 1 untuk benar dan 0 untuk salah. Logical operator yang terdiri dari && (and), || (or) dan ! (not). Assignment operator identik dengan tanda ‘=’ (sama dengan), operator ini biasanya dipadukan dengan operator matematika sehingga menjadi : +=, -=, *=, /= dan %=. Conditional operator adalah operator yang digunakan untuk menentukan (pengambilan keputusan) secara sederhana (satu baris statement), dimana hanya digunakan karakter khusus ‘?’ dan ‘:’.

Selanjutnya kita akan mencoba untuk mengerjakan tugas agar lebih memahami materi tentang Relational, Logical, Assignment dan Conditional.

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

Jawab :

Langkah pertama, membuat struktur seperti yang ada dibawah ini

#include <stdio.h>
main () {
float a,b,c,d,A,B,C,D,E;
printf(“Masukkan nilai a = “);
scanf(“%f”, &a);
printf(“\nMasukkan nilai b = “);
scanf(“%f”, &b);
printf(“\nMasukkan nilai c = “);
scanf(“%f”, &c);
printf(“\nMasukkan nilai d = “);
scanf(“%f”, &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(“\nA.(%.0f>%.0f) && (%.0f<%.0f) || (%.0f=%.0f) = %.0f”, a,b,c,d,a,b,A);
printf(“\nB.(%.0f=%.0f) || (%.0f=%.0f) && (%.0f>%.0f) = %.0f”, a,b,c,d,a,b,B);
printf(“\nC.(%.0f<=%.0f) && (%.0f>=%.0f) || (%.0f=%.0f) = %.0f”, a,c,b,d,a,d,C);
printf(“\nD.(%.0f>=%.0f) || (%.0f<=%.0f) && (%.0f=%.0f) = %.0f”, a,d,b,c,c,d,D);
printf(“\nE.(%.0f!=%.0f) || (%.0f>%.0f) || (%.0f!=%.0f) = %.0f”, a,b,c,d,a,d,E);

getch();
}

Lalu, menekan ikon ‘Build and run’ untuk menjalankan program tersebut. Jika penulisan struktur program tersebut sudah benar maka program akan berjalan seperti pada gambar dibawah

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Analisis

Tugas pertama kita adalah membuat program seperti pada gambar diatas. Misal dengan memasukkan nilai a=1, b=2, c=3, dan d=4 kita sudah bisa menentukan hasil dari soal diatas. Untuk soal A, hasil yang muncul adalah 0 karena (1>2) = 0, (3<4) = 1 dan (1=2) = 0 maka bisa kita operasikan 0 * 1 + 0 = 0. begitu pula seterusnya.

2. Berapakah nilai variable m, n, dan hasil dari program dibawah dan jelaskan jalannya program.

Jawab :

Langkah pertama, membuat struktur seperti yang ada dibawah ini

/* Nama File : OPER6.C */
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(“%d”, m);
printf(“\n%d”, n);
printf(“\n%d”, hasil);

getch();
}

Lalu, menekan ikon ‘Build and run’ untuk menjalankan program tersebut. Jika penulisan struktur program tersebut sudah benar maka program akan berjalan seperti pada gambar dibawah

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Analisis

Tugas kedua kita adalah membuat program dan menjelaskan bagaimana jalannya program tersebut. Pada gambar diatas nilai m= 9, n=5 dan hasil =9. Pada program dituliskan m=(a>b) ? a: b; n=(c<d) ? d: c; hasil = (m>n) ? m:n; maksudnya apakah nilai a lebih besar dari b jika iya maka m=a, jika tidak maka m=b. Begitu pula yang lainnya.

3. Buatlah program untuk menentukan nilai terbesar dari empat nilai yang diberikan melalui keyboard seperti pada contoh dibawah ini (gunakan operator conditional)

Jawab :

Langkah pertama, membuat struktur seperti yang ada dibawah ini

#include <stdio.h>
main(){
int a,b,c,d,x,y,p;
printf(“\tMasukkan Nilai a,b,c,d untuk Menentukan Mana yang Lebih Besar dan Lebih Kecil”);
printf(“\n\nMasukkan nilai a = “);
scanf(“%d”, &a);
printf(“\nMasukkan nilai b = “);
scanf(“%d”, &b);
printf(“\nMasukkan nilai c = “);
scanf(“%d”, &c);
printf(“\nMasukkan nilai d = “);
scanf(“%d”, &d);

x = (a>b) ? a: b;
y = (c>d) ? c: d;
p = (x>y) ? x: y;

printf(“\n\nNilai a dibanding b adalah a lebih %s daripada b”, (a>b) ? “besar”:”kecil”);
printf(“\n\nNilai c dibanding d adalah c lebih %s daripada d”, (c>d) ? “besar”:”kecil”);
printf(“\n\nX adalah nilai terbesar dari a dan b = %d”,x);
printf(“\n\nY adalah nilai terbesar dari c dan d = %d”,y);
printf(“\n\nMaka nilai maksimum adalah %d”, p);

getch();

}

Lalu, menekan ikon ‘Build and run’ untuk menjalankan program tersebut. Jika penulisan struktur program tersebut sudah benar maka program akan berjalan seperti pada gambar dibawah

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Analisis

Tugas ketiga kita adalah membuat program yang menentukan nilai terbesar dari keempat nilai yang diberikan dikeyboard. Dengan memasukkan nilai a=1, b=2, c=3 dan d=4 maka kita bisa mengetahui perbandingan x= a dan b serta y= c dan d. Lalu menentukan dari nilai terbesar antara x dan y, yaitu 4.