Tutorial js
Kondisi If-Else JavaScript
Kondisi if-else memungkinkan program membuat keputusan. Seperti kehidupan nyata: "Jika hujan, bawa payung. Jika tidak hujan, tidak perlu payung."
Apa itu If-Else?
If-else adalah cara JavaScript membuat keputusan berdasarkan kondisi tertentu.
let cuaca_hari_ini = "hujan";
if (cuaca_hari_ini === "hujan") {
console.log("Bawa payung!");
} else {
console.log("Tidak perlu payung");
}
Struktur Dasar If
If Sederhana
let umur_user = 18;
if (umur_user >= 17) {
console.log("Boleh punya SIM");
}
If-Else
let nilai_ujian = 75;
if (nilai_ujian >= 70) {
console.log("Lulus!");
} else {
console.log("Tidak lulus");
}
If-Else If
let nilai_siswa = 85;
if (nilai_siswa >= 90) {
console.log("Grade A");
} else if (nilai_siswa >= 80) {
console.log("Grade B");
} else if (nilai_siswa >= 70) {
console.log("Grade C");
} else {
console.log("Grade D");
}
Operator Perbandingan
Operator Dasar
let a = 10;
let b = 5;
console.log(a > b); // true (lebih besar)
console.log(a < b); // false (lebih kecil)
console.log(a >= 10); // true (lebih besar sama dengan)
console.log(a <= 10); // true (lebih kecil sama dengan)
console.log(a === 10); // true (sama dengan)
console.log(a !== b); // true (tidak sama dengan)
Perbedaan === dan ==
let angka_1 = 5;
let angka_2 = "5";
console.log(angka_1 == angka_2); // true (nilai sama)
console.log(angka_1 === angka_2); // false (tipe data beda)
// Selalu gunakan === untuk keamanan
Operator Logika
AND (&&)
let umur_user = 20;
let punya_sim = true;
if (umur_user >= 17 && punya_sim === true) {
console.log("Boleh nyetir mobil");
} else {
console.log("Belum boleh nyetir");
}
OR (||)
let hari_ini = "Sabtu";
if (hari_ini === "Sabtu" || hari_ini === "Minggu") {
console.log("Hari libur!");
} else {
console.log("Hari kerja");
}
NOT (!)
let user_login = false;
if (!user_login) {
console.log("Silakan login dulu");
} else {
console.log("Selamat datang!");
}
Contoh Praktis
1. Sistem Login Sederhana
function cek_login(username_input, password_input) {
let username_benar = "admin";
let password_benar = "123456";
if (username_input === username_benar && password_input === password_benar) {
console.log("Login berhasil!");
return true;
} else {
console.log("Username atau password salah!");
return false;
}
}
// Test login
cek_login("admin", "123456"); // Login berhasil!
cek_login("user", "wrong"); // Username atau password salah!
2. Kalkulator Diskon
function hitung_diskon(total_belanja) {
let diskon_persen = 0;
if (total_belanja >= 1000000) {
diskon_persen = 20;
} else if (total_belanja >= 500000) {
diskon_persen = 15;
} else if (total_belanja >= 200000) {
diskon_persen = 10;
} else if (total_belanja >= 100000) {
diskon_persen = 5;
}
let potongan_harga = (total_belanja * diskon_persen) / 100;
let harga_final = total_belanja - potongan_harga;
console.log("Total belanja:", total_belanja);
console.log("Diskon:", diskon_persen + "%");
console.log("Potongan:", potongan_harga);
console.log("Bayar:", harga_final);
return harga_final;
}
// Test diskon
hitung_diskon(1200000); // Diskon 20%
hitung_diskon(300000); // Diskon 10%
hitung_diskon(50000); // Tidak ada diskon
3. Validasi Umur
function kategori_umur(umur_user) {
if (umur_user < 0) {
return "Umur tidak valid";
} else if (umur_user <= 12) {
return "Anak-anak";
} else if (umur_user <= 17) {
return "Remaja";
} else if (umur_user <= 60) {
return "Dewasa";
} else {
return "Lansia";
}
}
// Test kategori
console.log("Umur 8:", kategori_umur(8)); // Anak-anak
console.log("Umur 15:", kategori_umur(15)); // Remaja
console.log("Umur 25:", kategori_umur(25)); // Dewasa
console.log("Umur 65:", kategori_umur(65)); // Lansia
Latihan If-Else
Latihan 1: Cek Ganjil Genap
Buat file ganjil-genap.html
:
<!DOCTYPE html>
<html>
<head>
<title>Cek Ganjil Genap</title>
</head>
<body>
<h1>Program Cek Ganjil Genap</h1>
<script>
function cek_ganjil_genap(angka_input) {
if (angka_input % 2 === 0) {
console.log(angka_input + " adalah bilangan genap");
} else {
console.log(angka_input + " adalah bilangan ganjil");
}
}
// Test beberapa angka
cek_ganjil_genap(4); // Genap
cek_ganjil_genap(7); // Ganjil
cek_ganjil_genap(10); // Genap
cek_ganjil_genap(13); // Ganjil
// Function untuk range angka
function cek_range_angka(start_number, end_number) {
console.log("=== CEK GANJIL GENAP ===");
for (let i = start_number; i <= end_number; i++) {
cek_ganjil_genap(i);
}
}
cek_range_angka(1, 10);
</script>
</body>
</html>
Latihan 2: Sistem Nilai
function tentukan_kelulusan(nilai_tugas, nilai_uts, nilai_uas) {
// Hitung nilai akhir dengan bobot
let nilai_akhir = nilai_tugas * 0.3 + nilai_uts * 0.3 + nilai_uas * 0.4;
console.log("Nilai Tugas:", nilai_tugas);
console.log("Nilai UTS:", nilai_uts);
console.log("Nilai UAS:", nilai_uas);
console.log("Nilai Akhir:", nilai_akhir.toFixed(1));
// Tentukan grade dan status
let grade_huruf;
let status_lulus;
if (nilai_akhir >= 85) {
grade_huruf = "A";
status_lulus = "Lulus dengan Pujian";
} else if (nilai_akhir >= 70) {
grade_huruf = "B";
status_lulus = "Lulus";
} else if (nilai_akhir >= 55) {
grade_huruf = "C";
status_lulus = "Lulus";
} else if (nilai_akhir >= 40) {
grade_huruf = "D";
status_lulus = "Tidak Lulus";
} else {
grade_huruf = "E";
status_lulus = "Tidak Lulus";
}
console.log("Grade:", grade_huruf);
console.log("Status:", status_lulus);
console.log("================");
}
// Test nilai
tentukan_kelulusan(90, 85, 88); // A - Lulus dengan Pujian
tentukan_kelulusan(75, 70, 72); // B - Lulus
tentukan_kelulusan(60, 50, 45); // D - Tidak Lulus
Latihan 3: Kalkulator Pajak
function hitung_pajak_penghasilan(gaji_bulanan) {
let pajak_persen = 0;
let status_pajak = "";
if (gaji_bulanan <= 4500000) {
pajak_persen = 0;
status_pajak = "Bebas pajak";
} else if (gaji_bulanan <= 10000000) {
pajak_persen = 5;
status_pajak = "Pajak rendah";
} else if (gaji_bulanan <= 20000000) {
pajak_persen = 15;
status_pajak = "Pajak sedang";
} else {
pajak_persen = 25;
status_pajak = "Pajak tinggi";
}
let pajak_nominal = (gaji_bulanan * pajak_persen) / 100;
let gaji_bersih = gaji_bulanan - pajak_nominal;
console.log("=== KALKULATOR PAJAK ===");
console.log("Gaji kotor:", gaji_bulanan.toLocaleString());
console.log("Pajak:", pajak_persen + "% (" + status_pajak + ")");
console.log("Pajak nominal:", pajak_nominal.toLocaleString());
console.log("Gaji bersih:", gaji_bersih.toLocaleString());
console.log("========================");
return gaji_bersih;
}
// Test pajak
hitung_pajak_penghasilan(3000000); // Bebas pajak
hitung_pajak_penghasilan(7000000); // Pajak 5%
hitung_pajak_penghasilan(15000000); // Pajak 15%
hitung_pajak_penghasilan(25000000); // Pajak 25%
Conditional Operator (Ternary)
Sintaks Singkat
let umur_user = 18;
let status_dewasa = umur_user >= 17 ? "Dewasa" : "Anak-anak";
console.log(status_dewasa); // Dewasa
// Sama dengan:
let status_alternative;
if (umur_user >= 17) {
status_alternative = "Dewasa";
} else {
status_alternative = "Anak-anak";
}
Contoh Praktis Ternary
function cek_status_member(total_point) {
let level_member =
total_point >= 1000 ? "Gold" : total_point >= 500 ? "Silver" : "Bronze";
return level_member;
}
console.log(cek_status_member(1200)); // Gold
console.log(cek_status_member(700)); // Silver
console.log(cek_status_member(200)); // Bronze
Tips Kondisi If-Else
1. Gunakan Kurung Kurawal
// ❌ Tanpa kurung (berbahaya)
if (nilai > 70) console.log("Lulus");
console.log("Selamat!"); // Ini selalu dijalankan!
// ✅ Dengan kurung (aman)
if (nilai > 70) {
console.log("Lulus");
console.log("Selamat!");
}
2. Kondisi yang Jelas
// ❌ Tidak jelas
if (x) {
// ...
}
// ✅ Jelas
if (user_logged_in === true) {
// ...
}
3. Hindari Nested If Berlebihan
// ❌ Nested terlalu dalam
if (a > 0) {
if (b > 0) {
if (c > 0) {
if (d > 0) {
// Sulit dibaca
}
}
}
}
// ✅ Gunakan return early
function cek_valid(a, b, c, d) {
if (a <= 0) return false;
if (b <= 0) return false;
if (c <= 0) return false;
if (d <= 0) return false;
return true;
}
Error Umum
1. Assignment vs Comparison
let x = 5;
if ((x = 10)) {
// ❌ Assignment, bukan comparison
console.log("Test");
}
if (x === 10) {
// ✅ Comparison
console.log("Test");
}
2. Kondisi Selalu True/False
let status = "aktif";
if ((status = true)) {
// ❌ Selalu true
console.log("Aktif");
}
if (status === "aktif") {
// ✅ Benar
console.log("Aktif");
}
Kesimpulan
If-else adalah otak dari program JavaScript!
Yang sudah dipelajari:
- ✅ Struktur if, else, else if
- ✅ Operator perbandingan (===, !==, >, < dll)
- ✅ Operator logika (&&, ||, !)
- ✅ Conditional operator (ternary)
- ✅ Contoh kasus nyata: login, diskon, validasi
- ✅ Tips dan error umum
Next: Mari belajar tentang array JavaScript! 🎲