Operator Ternary dalam C

Hai sana, para ahli pengoding masa depan! Hari ini, kita akan mengemban 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 detail, mari kita buat pengaturan. Bayangkan Anda berada di kedai es krim, dan Anda harus memilih antara coklat dan vanila. Biasanya, Anda akan menggunakan pernyataan if-else untuk membuat keputusan ini dalam kode. Tetapi, apa bila saya katakan kepada Anda ada cara yang lebih pendek dan elegan? Mari kenalkan operator ternary!

Operator ternary mirip dengan pernyataan if-else yang ringkas. Nama "ternary" karena ia mengambil tiga operand. Bayangkan ini sebagai jalan pintas untuk membuat keputusan dalam kode Anda.

Sintaks Operator Ternary dalam C

Mari kitaura 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 menanyakan, "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) ? "adult" : "minor";
printf("You are an %s.\n", status);
return 0;
}

Dalam contoh ini, kita memeriksa apakah age 18 atau lebih tua. Jika ya, kita tetapkan "adult" ke status; jika tidak, kita tetapkan "minor". Hasilnya akan menjadi "You are an adult."

mari kitaura:

  • (age >= 18) adalah kondisi kita
  • "adult" adalah apa yang kita tetapkan jika kondisi benar
  • "minor" adalah apa yang kita tetapkan jika kondisi salah

Contoh 2: Mengkomparasi Bilangan

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

#include <stdio.h>

int main() {
int a = 10, b = 20;
int max = (a > b) ? a : b;
printf("The larger number is: %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. Hasilnya akan menjadi "The larger number is: 20".

Contoh 3: Bilangan Genap atau Ganjil

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

#include <stdio.h>

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

Dalam contoh ini, kita menggunakan operator modulus (%) untuk memeriksa apakah number dapat dibagi oleh 2. Jika ya, kita cetak "even"; jika tidak, kita cetak "odd". Hasilnya akan menjadi "7 is odd."

Contoh 4: Nilai Absolut

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

#include <stdio.h>

int main() {
int number = -5;
int absolute = (number < 0) ? -number : number;
printf("The absolute value of %d is %d.\n", number, absolute);
return 0;
}

Jika number negatif, kita kalikannya dengan -1 untuk membuatnya positif; jika tidak, kita biarkan seperti itu. Hasilnya akan menjadi "The absolute value of -5 is 5."

Contoh 5: Kelasifikasi Nilai

Mari kita gunakan operator ternary untuk mengklasifikasikan nilai:

#include <stdio.h>

int main() {
int score = 75;
char *result = (score >= 60) ? "Pass" : "Fail";
printf("Your score is %d. Result: %s\n", score, result);
return 0;
}

Di sini, kita memeriksa apakah score 60 atau lebih tinggi. Jika ya, kita tetapkan "Pass" ke result; jika tidak, kita tetapkan "Fail". Hasilnya akan menjadi "Your score is 75. Result: Pass".

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)) ? "Leap Year" : "Not a Leap Year";
printf("%d is %s.\n", year, result);
return 0;
}

Contoh ini memeriksa apakah year dapat dibagi oleh 4 tetapi tidak dibagi oleh 100, atau jika ia dapat dibagi oleh 400. Jika salah satu kondisi ini benar, itu adalah tahun kabisat. Hasilnya akan menjadi "2024 is Leap Year."

Operator Ternary Tertanam

Sekarang, mari kita tingkatkan dengan operator ternary yang tertanam. Seperti bermain boneka Rusia dengan kode Anda!

#include <stdio.h>

int main() {
int num = 10;
char *result = (num > 0) ? "positive" : (num < 0) ? "negative" : "zero";
printf("%d is %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 tidak positif atau negatif, itu harus nol. Hasilnya akan menjadi "10 is positive."

Kesimpulan

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

Berikut adalah tabel rujukan singkat dari metode yang kita bahas:

Metode Sintaks Contoh
Basic Ternary condition ? expr1 : expr2 (age >= 18) ? "adult" : "minor"
Mengkomparasi Bilangan (a > b) ? a : b int max = (a > b) ? a : b;
Bilangan Genap atau Ganjil (num % 2 == 0) ? "even" : "odd" (7 % 2 == 0) ? "even" : "odd"
Nilai Absolut (num < 0) ? -num : num int abs = (num < 0) ? -num : num;
Kelasifikasi Nilai (score >= 60) ? "Pass" : "Fail" char *result = (score >= 60) ? "Pass" : "Fail";
Pemeriksaan Tahun Kabisat ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) ? "Leap Year" : "Not a Leap Year" char *result = ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) ? "Leap Year" : "Not a Leap Year";
Operator Ternary Tertanam cond1 ? expr1 : cond2 ? expr2 : expr3 (num > 0) ? "positive" : (num < 0) ? "negative" : "zero"

Terus latihan, dan segera Anda akan bisa menggunakannya seperti seorang juara! Selamat coding!

Credits: Image by storyset