D4 Teknik Komputer
Politeknik Elektronika Negeri Surabaya
Mempelajari operator perbandingan
Mempelajari operator logika
Mempelajari operator assignment
Mempelajari pengambilan keputusan
Digunakan untuk membandingkan antara dua
operand
Hasil perbandingan adalah benar/ salah
Contoh:
◦ Apakah dua belas lebih besar dari sembilan?
◦ Apakah tujuh lebih kecil dari lima?
Notasinya:
◦ “<“, “>”, “<=“, “>=“, “!=“, “==“
Digunakan untuk membandingkan secara
logika “and”, “or” dan “not”
Selain nol adalah benar/ true
Notasinya:
◦ “&&”, “||” dan “!”
Digunakan bersama dengan operator
aritmatika
Dapat meringkas penulisan
Notasinya:
◦ “*=“, “/=“, “+=“, “-=“
Contoh:
◦ Luas = Luas + 5 ditulis Luas+=5
Untuk menentukan pilihan yang diberikan,
bila benar maka pilihan pertama dijalankan
dan bila salah maka pilihan kedua dijalankan.
#include <stdio.h>
void main()
{
int x, y;
printf("Masukkan nilai x = "); scanf("%d",&x);
printf("Masukkan nilai y = "); scanf("%d",&y);
printf("\nNilai %d < %d adalah %d\n",x,y,x < y);
printf("\nNilai %d > %d adalah %d\n",x,y,x > y);
printf("\nNilai %d == %d adalah %d\n",x,y,x == y);
printf("\nNilai %d <= %d adalah %d\n",x,y,x <= y);
printf("\nNilai %d >= %d adalah %d\n",x,y,x >= y);
printf("\nNilai %d != %d adalah %d\n",x,y,x != y);
}
#include <stdio.h>
void main()
{
int x, y;
printf("Masukkan nilai x = ");
scanf("%d",&x);
printf("Masukkan nilai y = ");
scanf("%d",&y);
printf("\nNilai dari %d & %d = %d\n",x,y,x & y);
printf("\nNilai dari %d | %d = %d\n",x,y,x | y);
printf("\nNilai dari %d && %d = %d\n",x,y,x && y);
printf("\nNilai dari %d || %d = %d\n",x,y,x || y);
printf("\nNilai dari !0 = %d\n",!0);
printf("\nNilai dari !1 = %d\n",!1);
printf("\nNilai dari !%d = %d\n",x,!x);
printf("\nNilai dari !%d = %d\n",y,!y);
}
#include <stdio.h>
void main()
{
int x, y, n, m;
printf("Masukkan nilai x = "); scanf("%d",&x);
printf("Masukkan nilai y = "); scanf("%d",&y);
n=(x < 10) && (y > 10);
m=(x > 10) || (y < 10);
printf("\nNilai dari %d < 10 && %d > 10 = %d",x,y,n);
printf("\nNilai dari %d > 30 || %d < 70 = %d\n",x,y,m);
}
#include <stdio.h>
void main()
{
int a, b, x, y;
printf("Masukkan nilai a = "); scanf("%d",&a);
printf("Masukkan nilai b = "); scanf("%d",&b);
printf("Masukkan nilai x = "); scanf("%d",&x);
printf("Masukkan nilai y = "); scanf("%d",&y);
printf("\nNilai y dari y *= x adalah %d\n",y*=x);
printf("\nNilai y dari y /= x adalah %d\n",y/=x);
printf("\nNilai y dari y += x adalah %d\n",y+=x);
printf("\nNilai y dari y -= x adalah %d\n",y-=x);
printf("\nNilai y dari y %%= x adalah %d\n",y%=x);
puts("");
printf("\nNilai y dari y*=(a+b) adalah %d\n", y*=(a+b));
printf("\nNilai y dari y/=(a-b) adalah %d\n", y/=(a-b));
printf("\nNilai y dari y+=(a%%b) adalah %d\n", y+=(a%b));
printf("\nNilai y dari y-=(a/b) adalah %d\n", y-=(a/b));
}
void main()
{
int a, b, c, d;
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);
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\n",(c<d)?"kecil":"BESAR");
getch();
}
Buatlah program untuk menentukan hasil (0
atau 1) dari operator relasional dibawah ini,
dan masukkan nilai a, b, c dan d dari
keyboard.
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)
Berapakah nilai variable m, n dan hasil dari
program dibawah ini? dan jelaskan jalannya
program.
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;
}
Buatlah program untuk menentukan nilai terbesar dari
empat nilai yang diberikan melalui keyboard, seperti contoh
dibawah ini (gunakan operator kondisi):
Masukkan nilai A = 5
Masukkan nilai B = 3
Masukkan nilai C = 6
Masukkan nilai D = 8
Nilai A lebih besar dari pada B
Nilai C lebih kecil dari pada D
Jadi nilai maksimun adalah 8
Petunjuk:
◦ Bandingkan nilai a dengan b, simpan hasilnya pada x
◦ Bandingkan nilai c dengan d, simpan hasilnya pada y
◦ Bandingkan nilai x dengan y, cetak nilai terbesar
TUJUAN:
Mempelajari penggunaan statement
penentu keputusan if-else.
Memanfaatkan statement if-else untuk
membuat proses perulangan dengan
statement goto-label.
Mempelajari statement if-else bersarang
(nested if).
Mempelajari penggunaan statement else-
if.
Mempelajari penggunaan statement
switch-case sebagai pengganti statement
else-if.
void main()
{
int bil,ab;
printf("Masukkan bilangan bulat: ");
scanf("%d", &bil);
ab = bil;
if(bil < 0) ab = -bil;
printf("Nilai absolut dari %d adalah %d\n", bil, ab);
}
#include <stdio.h>
void main()
{
int pembilang, penyebut, sisa;
printf("Masukkan pembilang : ");
scanf("%d", &pembilang);
printf("Masukkan penyebut : ");
scanf("%d", &penyebut);
sisa = pembilang % penyebut;
if(sisa)
printf("%d tidak habis dibagi %d\n", pembilang,
penyebut);
else
printf("%d habis dibagi %d\n", pembilang, penyebut);
}
#include <stdio.h>
void main()
{
char ch;
printf("Masukkan suatu karakter : ");
scanf("%c", &ch);
if(ch>='a' && ch<='z')
printf("\nKarakter termasuk huruf kecil.\n");
else
printf("\nKarakter bukan huruf kecil.\n");
}
void main()
{
int i=0, hasil=1;
ulang:
i++;
hasil*=2;
printf("Iterasi ke %2d: %5d\n", i, hasil);
if(i<10) goto ulang;
}
void main()
{
char tak;
printf("Masukkan tipe tak ( 2 / 4) : ");
tak=getche();
if(tag==’2’) {
printf(“\nMerk sepeda motor bertipe 2 tak\n\n");
printf(" 1. YA MAHA");
printf(" 2. YA SUZUKI");
printf(" 3. YA HONDA\n\n");
} else {
printf(“\nMerk sepeda motor bertipe 4 tak\n\n");
printf(" 1. HONDA");
printf(" 2. SUZUKI");
printf(" 3. YAMAHA\n\n");
}
}
void main()
{
int valid_operator = 1;
char oper; Ralat: operator diganti oper
float bil1, bil2, hasil;
printf("Masukkan 2 bilangan dan sebuah operator.\n\n");
printf("Dengan format:\n\n");
printf("= bilangan-1 operator bilangan-2\n\n");
printf("= ");
scanf("%f %c %f", &bil1, &oper, &bil2);
if(oper == '*') {
hasil = bil1 * bil2;
} else if(oper == '/')
hasil = bil1 / bil2;
else if(oper == '+')
hasil = bil1 + bil2;
else if(oper == '-')
hasil = bil1 - bil2;
else
valid_operator = 0;
if(valid_operator) {
printf("\nHasil perhitungan\n\n");
printf("%g %c %g = %g\n",bil1,oper,bil2,hasil);
} else {
printf("\nOperator SALAH!\n");
printf(“\nGunakan operator +, -, / dan * saja!”);
}
}
void main()
{
int valid_operator = 1;
char oper; Awal Kondisi
float bil1, bil2, hasil;
printf("Masukkan 2 bilangan dan sebuah operator.\n\n");
printf("Dengan format:\n\n");
printf("= bilangan-1 operator bilangan-2\n\n");
printf("= ");
scanf("%f %c %f", &bil1, &oper, &bil2);
switch(oper) {
case '*': hasil = bil1 * bil2; break;
case '/': hasil = bil1 / bil2; break;
case '+': hasil = bil1 + bil2; break;
case '-': hasil = bil1 - bil2;
default : valid_operator = 0;
}
if(valid_operator) {
printf("\nHasil perhitungan\n\n");
printf("%g %c %g = %g\n",bil1,oper,bil2,hasil);
} else {
printf("\nOperator SALAH!\n");
printf("\nGunakan operator +, -, / dan * saja!");
}
}
Buatlah program untuk menentukan
bilangan ganjil atau bilangan genap dari
bilangan yang dimasukkan melalui
keyboard.
Buatlah program untuk menentukan
kelompok suatu karakter yang
dimasukkan melalui keyboard. Kelompok
karakter tersebut adalah huruf kecil, huruf
besar, angka, dan karakter khusus ( tanda
baca, operator dsb).
Buatlah program kalkulator sederhana.
Program harus memungkinkan user untuk mengetik ekspresi:
Bilangan Operator
Mulai perhitungan
255 s = > men-set accumulator
= 255.000000
10 / => membagi accumulator dengan 10
= 25.500000
15 - => mengurangi accumulator dengan 15
= 10.500000
0e => selesai
Akhir perhitungan
Operator yang digunakan adalah: * / + - % & | r e
Operator s memerintah program untuk men-set "accumulator".
Operator e memerintah program untuk mengakhiri program.
Contoh running program:
Buatlah program untuk menentukan suatu
tahun kabisat atau bukan yang dimasukkan
melalui keyboard, dimana tahun dibatasi
mulai dari tahun 1600 sampai dengan tahun
2400.