Terjemahan ke Bahasa Indonesia

Halo teman-teman, para ahli coding masa depan! Hari ini, kita akan melakukan perjalanan menarik ke dunia Operator Ternary dalam C. Jangan khawatir jika Anda belum pernah mendengar tentang ini sebelumnya - pada akhir pelajaran ini, Anda akan bisa menggunakannya seperti seorang pro!

C - Ternary Operator

Apa Itu Operator Ternary?

Sebelum kita masuk ke detil, mari kita buat pengaturan. Bayangkan Anda di kedai es krim, dan Anda harus memilih antara cokelat dan vanila. Biasanya, Anda akan menggunakan pernyataan if-else untuk membuat keputusan ini dalam kode. Tetapi, apa kalau saya katakan kepada Anda ada cara yang lebih pendek dan elegan? Mari dikenalkan operator ternary!

Operator ternary adalah seperti pernyataan if-else yang kompak. Nama "ternary" karena ia mengambil tiga operan. Bayangkan ini sebagai jalan pintas untuk membuat keputusan dalam kode Anda.

Sintaks Operator Ternary dalam C

Mari kitauraikan sintaks operator ini:

condition ? expression1 : expression2

Ini adalah cara kerjanya:

  1. Pertama, kita evaluasi condition.
  2. Jika benar, kita eksekusi expression1.
  3. Jika salah, kita eksekusi expression2.

Mudah, kan? Seperti meminta, "Apakah kondisi ini benar? Jika ya, lakukan ini; jika tidak, lakukan itu." Sekarang, mari kita lihat contohnya!

Contoh 1: Operator Ternary dalam C

Mari kita mulai dengan contoh dasar:

#include <stdio.h>

int main() {
    int age = 20;
    char *status = (age >= 18) ? "dewasa" : "remaja";
    printf("Anda adalah seorang %s.\n", status);
    return 0;
}

Dalam contoh ini, kita memeriksa apakah age adalah 18 atau lebih tua. Jika ya, kita tetapkan "dewasa" ke status; jika tidak, kita tetapkan "remaja". Outputnya akan menjadi "Anda adalah seorang dewasa."

mariuraikan itu:

  • (age >= 18) adalah kondisinya
  • "dewasa" adalah apa yang kita tetapkan jika kondisi benar
  • "remaja" adalah apa yang kita tetapkan jika kondisi salah

Contoh 2: Mengkomparasi Angka

Sekarang, mari kita gunakan operator ternary untuk menemukan angka yang lebih besar:

#include <stdio.h>

int main() {
    int a = 10, b = 20;
    int max = (a > b) ? a : b;
    printf("Angka yang lebih besar adalah: %d\n", max);
    return 0;
}

Di sini, kita membandingkan a dan b. Jika a lebih besar, kita tetapkan a ke max; jika tidak, kita tetapkan b. Outputnya akan menjadi "Angka yang lebih besar adalah: 20".

Contoh 3: Bilangan Genap atau Ganjil

Mari kita gunakan operator ternary untuk memeriksa apakah suatu angka genap atau ganjil:

#include <stdio.h>

int main() {
    int number = 7;
    printf("%d adalah %s.\n", number, (number % 2 == 0) ? "genap" : "ganjil");
    return 0;
}

Dalam contoh ini, kita menggunakan operator modulus (%) untuk memeriksa apakah number dapat dibagi habis oleh 2. Jika ya, kita cetak "genap"; jika tidak, kita cetak "ganjil". Outputnya akan menjadi "7 adalah ganjil."

Contoh 4: Nilai Absolut

Ini adalah cara kita bisa menggunakan operator ternary untuk menemukan nilai absolut suatu angka:

#include <stdio.h>

int main() {
    int number = -5;
    int absolute = (number < 0) ? -number : number;
    printf("Nilai absolut dari %d adalah %d.\n", number, absolute);
    return 0;
}

Jika number negatif, kita kalikannya dengan -1 untuk menjadikannya positif; jika tidak, kita tinggalkannya seperti itu. Outputnya akan menjadi "Nilai absolut dari -5 adalah 5."

Contoh 5: Kelas Penilaian

Mari kita gunakan operator ternary untuk mengklasifikasikan nilai:

#include <stdio.h>

int main() {
    int score = 75;
    char *result = (score >= 60) ? "Lulus" : "Gagal";
    printf("Skor Anda adalah %d. Hasil: %s\n", score, result);
    return 0;
}

Di sini, kita memeriksa apakah score adalah 60 atau lebih tinggi. Jika ya, kita tetapkan "Lulus" ke result; jika tidak, kita tetapkan "Gagal". Outputnya akan menjadi "Skor Anda adalah 75. Hasil: Lulus".

Contoh 6: Pemeriksaan Tahun Kabisat

Mari kita gunakan operator ternary untuk memeriksa apakah suatu tahun adalah tahun kabisat:

#include <stdio.h>

int main() {
    int year = 2024;
    char *result = ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) ? "Tahun Kabisat" : "Bukan Tahun Kabisat";
    printf("%d adalah %s.\n", year, result);
    return 0;
}

Contoh ini memeriksa apakah year dapat dibagi habis oleh 4 tetapi tidak habis dibagi oleh 100, atau jika dapat dibagi habis oleh 400. Jika salah satu kondisi ini benar, itu adalah tahun kabisat. Outputnya akan menjadi "2024 adalah Tahun Kabisat."

Operator Ternary Tertanam

Sekarang, mari kita tingkatkan dengan operator ternary yang tertanam. Itu seperti mainan boneka Rusia dalam kode Anda!

#include <stdio.h>

int main() {
    int num = 10;
    char *result = (num > 0) ? "positif" : (num < 0) ? "negatif" : "nol";
    printf("%d adalah %s.\n", num, result);
    return 0;
}

Dalam contoh ini, kita pertama-tama memeriksa apakah num positif. Jika tidak, kita kemudian memeriksa apakah itu negatif. Jika itu bukan positif atau negatif, itu harus nol. Outputnya akan menjadi "10 adalah positif."

Kesimpulan

Dan itu dia, teman-teman! Anda telah menguasai operator ternary dalam C. Ini adalah alat yang kuat yang bisa membuat kode Anda lebih ringkas dan mudah dibaca jika digunakan dengan bijak. Ingat, dengan kekuatan yang besar datang tanggung jawab yang besar - gunakan operator ternary secara bijak!

Berikut adalah tabel referensi cepat dari metode yang kita bahas:

Metode Sintaks Contoh
Ternary Dasar condition ? expr1 : expr2 (age >= 18) ? "dewasa" : "remaja"
Mengkomparasi Angka (a > b) ? a : b int max = (a > b) ? a : b;
Bilangan Genap atau Ganjil (num % 2 == 0) ? "genap" : "ganjil" (7 % 2 == 0) ? "genap" : "ganjil"
Nilai Absolut (num < 0) ? -num : num int abs = (num < 0) ? -num : num;
Kelas Penilaian (score >= 60) ? "Lulus" : "Gagal" char *result = (score >= 60) ? "Lulus" : "Gagal";
Pemeriksaan Tahun Kabisat ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) ? "Tahun Kabisat" : "Bukan Tahun Kabisat" char *result = ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) ? "Tahun Kabisat" : "Bukan Tahun Kabisat";
Ternary Tertanam cond1 ? expr1 : cond2 ? expr2 : expr3 (num > 0) ? "positif" : (num < 0) ? "negatif" : "nol"

Lanjutkan untuk berlatih, dan segera Anda akan menjadi ahli dalam menggunakan operator ternary! Selamat coding!

Credits: Image by storyset