Selection

  • Apakah kamu pernah ingin memutuskan sesuatu? Contohnya, memilih warna baju yang ingin kamu pakai.
  • Dalam bahasa pemrograman C, kamu juga dapat memilih apa yang ingin dilakukan oleh program menggunakan "selection".

IF

Pemilihan pada C dilakukan menggunakan if. Jadi, jika kamu ingin program melakukan sesuatu jika kondisi tertentu terpenuhi, kamu dapat menggunakan if.

Contoh

#include <stdio.h>

int main() {
   int umur = 20;

   if(umur >= 18) {
      printf("Kamu sudah cukup umur!");
   }

   return 0;
}

Jika kamu menjalankan kode di atas, maka kamu akan mendapatkan output Kamu sudah cukup umur! karena kondisi pada if statement terpenuhi.

Pada contoh di atas, kita mendeklarasikan variabel umur dengan nilai 20. Kemudian, kita menggunakan if statement dengan kondisi umur >= 18. Jika kondisi tersebut benar, maka program akan menjalankan perintah yang ada di dalam if statement, yaitu menampilkan Kamu sudah cukup umur! menggunakan fungsi printf.


ELSE

Selain if statement, C juga memiliki else yang dapat digunakan untuk menentukan aksi yang diambil jika kondisi pada if tidak terpenuhi.

Contoh

#include <stdio.h>

int main() {
   int umur = 16;

   if(umur >= 18) {
      printf("Kamu sudah cukup umur!");
   } else {
      printf("Kamu masih di bawah umur.");
   }

   return 0;
}

ELSE IF

kamu juga dapat menggunakan else if untuk mengecek beberapa kondisi sekaligus.

Contoh

#include <stdio.h>

int main() {
   int umur = 25;

   if(umur >= 60) {
      printf("Kamu sudah cukup tua!");
   } else if(umur >= 18) {
      printf("Kamu sudah cukup umur!");
   } else {
      printf("Kamu masih di bawah umur.");
   }

   return 0;
}

Switch

Switch statement digunakan untuk memeriksa nilai ekspresi tertentu dan melakukan tindakan berbeda berdasarkan nilai ekspresi tersebut. Ini sering digunakan sebagai alternatif untuk serangkaian pernyataan if-else.

switch (expression) {
    case value1:
        // kode yang akan dijalankan jika nilai ekspresi sama dengan value1
        break;
    case value2:
        // kode yang akan dijalankan jika nilai ekspresi sama dengan value2
        break;
    .
    .
    .
    default:
        // kode yang akan dijalankan jika tidak ada kasus di atas yang cocok dengan nilai ekspresi
}

Pertama, ekspresi dievaluasi dan kemudian dibandingkan dengan nilai setiap kasus dalam urutan. Jika nilai ekspresi sama dengan nilai kasus, maka blok kode yang sesuai dengan kasus tersebut akan dijalankan. Jika tidak ada kasus yang cocok, maka blok kode di dalam bagian default akan dijalankan.

Contoh

#include <stdio.h>

int main() {
    int day = 5;

    switch (day) {
        case 1:
            printf("Hari Minggu\n");
            break;
        case 2:
            printf("Hari Senin\n");
            break;
        case 3:
            printf("Hari Selasa\n");
            break;
        case 4:
            printf("Hari Rabu\n");
            break;
        case 5:
            printf("Hari Kamis\n");
            break;
        case 6:
            printf("Hari Jumat\n");
            break;
        case 7:
            printf("Hari Sabtu\n");
            break;
        default:
            printf("Hari tidak valid\n");
    }

    return 0;
}

Output dari program di atas akan menjadi:

Hari Kamis
  • Pada contoh di atas, variabel day memiliki nilai 5. Oleh karena itu, kasus case 5 dijalankan dan mencetak Hari Kamis ke layar.

  • Perlu diingat bahwa setiap blok kode dalam switch statement harus diakhiri dengan pernyataan break.

  • Ini memastikan bahwa program keluar dari switch statement setelah blok kode yang sesuai dengan kasus selesai dijalankan.

  • Jika break dihilangkan, maka program akan menjalankan semua blok kode yang cocok dengan kasus dan kasus-kasus berikutnya, meskipun nilai ekspresi tidak cocok.


Ternary Operator

Operator ternary adalah operator khusus yang memungkinkan Anda membuat keputusan berdasarkan kondisi tertentu. Operator ini terdiri dari tiga bagian: kondisi, nilai jika kondisi benar, dan nilai jika kondisi salah.

Contoh

#include <stdio.h>

int main() {
    int a = 5, b = 10;
    int max = (a > b) ? a : b;
    printf("Nilai maksimal adalah %d", max);
    return 0;
}

Pada contoh di atas, kita ingin mencari nilai maksimum antara dua variabel a dan b. Kita menggunakan operator ternary untuk memeriksa apakah nilai a lebih besar dari nilai b. Jika iya, maka variabel max akan diisi dengan nilai a, jika tidak, maka variabel max akan diisi dengan nilai b.

Dalam operator ternary, tanda tanya ? digunakan untuk memisahkan kondisi dari nilai jika benar, dan titik dua : digunakan untuk memisahkan nilai jika benar dan nilai jika salah. Operator ini sangat berguna untuk membuat keputusan sederhana dalam kode Anda.