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!
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:
- Pertama, kita evaluasi
condition
. - Jika benar, kita eksekusi
expression1
. - 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