C - Nested If Statements

Halo sana, para pemrogram yang sedang berkembang! Hari ini, kita akan mendalam ke dunia yang menarik dari statement if bersarang dalam C. Seperti teman sekelilingmu yang ramah, guru ilmu komputer, saya sangat gembira untuk membimbing Anda melalui topik ini. Percayalah, sekali Anda menguasai ini, Anda akan membuat statement if bersarang seperti seorang master pembangun burung!

C - nested if statements

Apa Itu Statement If Bersarang?

Sebelum kita melompat ke dalam, mari mulai dari dasar. Anda tahu bagaimana dalam kehidupan, kita sering membuat keputusan berdasarkan beberapa kondisi? Well, statement if bersarang seperti itu juga! Mereka memungkinkan kita untuk memeriksa beberapa kondisi dan menjalankan blok kode yang berbeda berdasarkan kondisi itu.

Bayangkan Anda memutuskan apa yang akan dipakai. Anda mungkin akan berpikir:

  1. Jika dingin di luar...
  • Jika hujan...
  • Pakai jaket hujan
  • Sebaliknya...
  • Pakai jaket hangat
  1. Sebaliknya (jika tidak dingin)...
  • Jika cerah...
  • Pakai kaos
  • Sebaliknya...
  • Pakai jaket ringan

Proses pengambilan keputusan ini adalah tepat apa yang dilakukan statement if bersarang dalam pemrograman!

Sintaks

Sekarang, mari kita lihat bagaimana kita menulis statement if bersarang dalam C. Struktur dasar terlihat seperti ini:

if (kondisi1) {
// Kode untuk dieksekusi jika kondisi1 benar
if (kondisi2) {
// Kode untuk dieksekusi jika kedua kondisi1 dan kondisi2 benar
}
else {
// Kode untuk dieksekusi jika kondisi1 benar tapi kondisi2 salah
}
}
else {
// Kode untuk dieksekusi jika kondisi1 salah
if (kondisi3) {
// Kode untuk dieksekusi jika kondisi1 salah tapi kondisi3 benar
}
else {
// Kode untuk dieksekusi jika kedua kondisi1 dan kondisi3 salah
}
}

Jangan khawatir jika ini terlihat sedikit menakutkan pada awalnya. Kita akan memecahnya dengan beberapa contoh!

Contoh 1: Suhu dan Kelembaban

Mari mulai dengan contoh sederhana. Kita akan menulis program yang menyarankan apa yang harus dipakai berdasarkan suhu dan kelembaban.

#include <stdio.h>

int main() {
int temperature = 25;
int humidity = 80;

if (temperature > 30) {
if (humidity > 70) {
printf("Itu panas dan lembab. Pakai pakaian ringan dan yang bisa nafas.\n");
} else {
printf("Itu panas tapi kering. Pakai pakaian ringan dan tetap hidrasi.\n");
}
} else if (temperature > 20) {
if (humidity > 70) {
printf("Itu hangat dan lembab. Kaos biasa saja cocok.\n");
} else {
printf("Itu nyaman di luar. Nikmati cuaca!\n");
}
} else {
printf("Itu dingin. Pertimbangkan untuk memakai jaket ringan.\n");
}

return 0;
}

Dalam contoh ini, kita pertama-tama memeriksa suhu. Jika di atas 30°C, kita kemudian memeriksa kelembaban untuk menentukan antara "panas dan lembab" atau "panas dan kering". Jika suhu antara 20°C dan 30°C, kita lagi memeriksa kelembaban untuk nasihat yang lebih spesifik. Jika di bawah 20°C, kita hanya menyarankan jaket ringan.

Contoh 2: Kalkulator Nilai

Sekarang, mari kita mencoba sesuatu yang sedikit lebih kompleks. Kita akan membuat kalkulator nilai yang tidak hanya menentukan nilai huruf tetapi juga menambahkan plus atau minus.

#include <stdio.h>

int main() {
int score = 85;

if (score >= 90) {
if (score >= 97) {
printf("A+\n");
} else if (score >= 93) {
printf("A\n");
} else {
printf("A-\n");
}
} else if (score >= 80) {
if (score >= 87) {
printf("B+\n");
} else if (score >= 83) {
printf("B\n");
} else {
printf("B-\n");
}
} else if (score >= 70) {
if (score >= 77) {
printf("C+\n");
} else if (score >= 73) {
printf("C\n");
} else {
printf("C-\n");
}
} else if (score >= 60) {
if (score >= 67) {
printf("D+\n");
} else if (score >= 63) {
printf("D\n");
} else {
printf("D-\n");
}
} else {
printf("F\n");
}

return 0;
}

Program ini pertama-tama menentukan kisaran nilai umum (A, B, C, D, atau F), kemudian menggunakan statement if bersarang untuk menambahkan plus atau minus yang sesuai. Itu seperti boneka Rusia bersarang dari nilai!

Contoh 3: Permainan Petualangan Sederhana

Mari kita bersenang-senang dan buat permainan petualangan berbasis teks menggunakan statement if bersarang.

#include <stdio.h>

int main() {
char direction;
printf("Anda berada di persimpangan. Apa Anda akan ke kiri (L) atau ke kanan (R)? ");
scanf(" %c", &direction);

if (direction == 'L' || direction == 'l') {
printf("Anda memilih untuk ke kiri.\n");
printf("Anda melihat sungai. Apa Anda akan melintasi sungai (S) atau mencari jembatan (B)? ");
scanf(" %c", &direction);

if (direction == 'S' || direction == 's') {
printf("Anda melintasi sungai dan menemukan peti Harta. Anda menang!\n");
} else if (direction == 'B' || direction == 'b') {
printf("Anda menemukan jembatan, melintasi dengan aman, tapi tidak menemukan Harta. Permainan berakhir.\n");
} else {
printf("Pilihan tidak valid. Sungai membawa Anda pergi. Permainan berakhir.\n");
}
} else if (direction == 'R' || direction == 'r') {
printf("Anda memilih untuk ke kanan.\n");
printf("Anda menemukan naga. Apa Anda akan berperang (F) atau melarikan diri (R)? ");
scanf(" %c", &direction);

if (direction == 'F' || direction == 'f') {
printf("Anda berani memerangi naga dan menang! Anda pahlawan!\n");
} else if (direction == 'R' || direction == 'r') {
printf("Anda melarikan diri dengan aman, tapi tanpa kehormatan. Permainan berakhir.\n");
} else {
printf("Pilihan tidak valid. Naga makan Anda. Permainan berakhir.\n");
}
} else {
printf("Pilihan tidak valid. Anda tetap diam dan tidak ada yang terjadi. Permainan berakhir.\n");
}

return 0;
}

Permainan ini menggunakan statement if bersarang untuk membuat jalur yang berbeda berdasarkan pilihan pemain. Itu adalah demonstrasi sederhana tentang bagaimana statement if bersarang dapat membuat cerita atau pohon keputusan.

Contoh 4: Sistem Login

Untuk contoh terakhir, mari kita buat sistem login dasar yang memeriksa username dan password.

#include <stdio.h>
#include <string.h>

int main() {
char username[20];
char password[20];

printf("Masukkan username: ");
scanf("%s", username);

if (strcmp(username, "admin") == 0) {
printf("Masukkan password: ");
scanf("%s", password);

if (strcmp(password, "secretpassword") == 0) {
printf("Login sukses. Selamat datang, admin!\n");
} else {
printf("Password salah. Akses ditolak.\n");
}
} else if (strcmp(username, "user") == 0) {
printf("Masukkan password: ");
scanf("%s", password);

if (strcmp(password, "userpass") == 0) {
printf("Login sukses. Selamat datang, user!\n");
} else {
printf("Password salah. Akses ditolak.\n");
}
} else {
printf("Username tidak ditemukan. Akses ditolak.\n");
}

return 0;
}

Dalam contoh ini, kita pertama-tama memeriksa username. Jika cocok dengan "admin" atau "user", kita kemudian memeriksa password yang sesuai. Ini menunjukkan bagaimana statement if bersarang dapat digunakan untuk implementasi sistem otentikasi multi-level.

Kesimpulan

Statement if bersarang adalah alat yang kuat dalam peralatan pemrograman Anda. Mereka memungkinkan Anda untuk membuat struktur keputusan kompleks dan menangani beberapa kondisi dengan mudah. Ingat, meskipun mereka sangat berguna, hati-hati untuk tidak membuat kode Anda terlalu dalam, karena itu dapat membuat kode sulit dibaca dan diurus. Seperti halnya banyak hal lain dalam pemrograman, klarifikasi dan sederhana adalah kunci!

Saya harap tutorial ini telah membantu Anda memahami statement if bersarang lebih baik. Terus latih, dan segera Anda akan menjadi ahli dalam menembak kondisi! Selamat coding, para pemrogram masa depan!

Credits: Image by storyset