Minggu, 04 Januari 2026

Tahap 5: Operator & Ekspresi (Bahasa C – Pemula) (05)

Tahap 5: Operator & Ekspresi (Bahasa C – Pemula) (05)

 

Tujuan

Peserta didik mampu mengolah perhitungan dan logika menggunakan berbagai jenis operator serta memahami prioritas operator dalam bahasa C.


Materi Pokok

1. Operator Perbandingan

Digunakan untuk membandingkan dua nilai dan menghasilkan nilai benar (1) atau salah (0).

OperatorKeteranganContoh
==Sama dengana == b
!=Tidak sama dengana != b
>Lebih besara > b
<Lebih kecila < b
>=Lebih besar sama dengana >= b
<=Lebih kecil sama dengana <= b

Contoh:

int a = 10, b = 5; printf("%d\n", a > b); // output: 1 (true)

2. Operator Logika

Digunakan untuk menggabungkan beberapa kondisi.

Operator         NamaKeterangan
&&         AND     Benar jika semua kondisi benar
||         OR     Benar Jika salah satu atau semua kondisi benar
!        NOT     Membalik nilai logika

Contoh:

int nilai = 80; if (nilai >= 75 && nilai <= 100) { printf("Lulus\n"); }

3. Operator Penugasan

Digunakan untuk memberi nilai ke variabel.

OperatorContohArti
=a = 5a diisi 5
+=a += 2a = a + 2
-=a -= 2a = a - 2
*=a *= 2a = a * 2
/=a /= 2a = a / 2
%=a %= 2a = a % 2

Contoh:

int x = 10; x += 5; printf("%d", x); // output: 15

4. Prioritas Operator

Operator memiliki urutan pengerjaan seperti matematika.

PrioritasOperator
1()
2!
3* / %
4+ -
5< <= > >=
6== !=
7&&
8`
9= += -=

📌 Gunakan tanda kurung () untuk menghindari kesalahan logika.


Contoh Program Ekspresi Logika

#include <stdio.h> int main() { int nilai; printf("Masukkan nilai: "); scanf("%d", &nilai); if (nilai >= 75 && nilai <= 100) { printf("Status: LULUS\n"); } else { printf("Status: TIDAK LULUS\n"); } return 0; }

Latihan

  1. Tentukan hasil dari ekspresi berikut:

    • 10 > 5 && 8 < 3

    • !(5 == 5)

  2. Buat program:

    • Input nilai

    • Jika nilai ≥ 90 → A

    • Jika nilai ≥ 80 → B

    • Selain itu → C


Soal Pilihan Ganda

Materi: Operator & Prioritas Operator Bahasa C

1.

Operator perbandingan yang digunakan untuk mengecek apakah dua nilai sama adalah …
A. =
B. !=
C. ==
D. <=
E. >=


2.

Hasil dari ekspresi berikut adalah …

int a = 10, b = 5; printf("%d", a < b);

A. 10
B. 5
C. 1
D. 0
E. Error


3.

Jika sebuah ekspresi perbandingan bernilai benar, maka output yang dihasilkan adalah …
A. true
B. false
C. 1
D. 0
E. Ya


4.

Manakah operator logika yang bernilai benar jika semua kondisi benar?
A. ||
B. !
C. &&
D. ==
E. >=


5.

Hasil dari ekspresi berikut adalah …

int x = 80; printf("%d", x >= 75 && x <= 100);

A. 0
B. 1
C. 80
D. 100
E. Error


6.

Operator logika ! berfungsi untuk …
A. Menggabungkan dua kondisi
B. Membandingkan dua nilai
C. Membalik nilai logika
D. Mengalikan nilai
E. Menyimpan nilai


7.

Jika diketahui:

int a = 0; printf("%d", !a);

Output dari program tersebut adalah …
A. 0
B. 1
C. -1
D. Error
E. Tidak ada output


8.

Perhatikan kode berikut:

int x = 10; x += 5;

Nilai akhir dari x adalah …
A. 5
B. 10
C. 15
D. 20
E. 50


9.

Bentuk singkat dari a = a * 2; adalah …
A. a =* 2
B. a **= 2
C. a *= 2
D. a == 2
E. a => 2


10.

Jika diketahui:

int a = 10; a %= 3;

Nilai a sekarang adalah …
A. 1
B. 2
C. 3
D. 10
E. 0


11.

Manakah yang memiliki prioritas tertinggi dalam pengerjaan ekspresi?
A. +
B. *
C. ==
D. ()
E. &&


12.

Hasil dari ekspresi berikut adalah …

int hasil = 10 + 2 * 3;

A. 36
B. 16
C. 12
D. 60
E. 20


13.

Hasil dari ekspresi berikut adalah …

int hasil = (10 + 2) * 3;

A. 36
B. 16
C. 12
D. 60
E. 20


14.

Manakah ekspresi yang akan dieksekusi lebih dulu berdasarkan prioritas operator?

int x = 5 + 3 * 2 > 10 && 4 < 6;

A. 5 + 3
B. 3 * 2
C. 5 + 3 * 2
D. > 10
E. &&


15.

Perhatikan potongan program berikut:

int nilai = 70; if (nilai >= 75 || nilai <= 100) { printf("Lulus"); }

Kondisi di atas berpotensi salah logika karena …
A. Salah operator perbandingan
B. Salah penggunaan &&
C. Harusnya menggunakan AND (&&) bukan OR (||)
D. Kurang tanda kurung
E. Salah format printf

0 komentar:

Posting Komentar