Menu
CoddyTech

Pemrograman Defensif

Termasuk bagian Logika dan Alur dalam perjalanan C# di Coddy. Pelajaran 34 dari 66.

Pemrograman defensif adalah teknik yang membantu mencegah error akibat referensi null. Teknik ini mencakup pemeriksaan nilai null sebelum mencoba menggunakan object.

Periksa apakah nil sebelum menggunakan object:

string name = GetNameFromSomewhere();

// Pemeriksaan untuk mencegah error
if (name == null)
{
    // Tangani kasus ketika nilainya null
    name = "Default Name";
}

// Sekarang kamu bisa menggunakan name dengan aman
Console.WriteLine(name.ToUpper());

Validasi parameter dalam method:

public void ProcessOrder(Order order)
{
    // Periksa apakah parameter bernilai null agar kodemu aman
    if (order == null)
    {
        Console.WriteLine("Error: Order cannot be null");
        return;
    }
    
    // Sekarang kamu bisa memproses pesanan dengan aman
    Console.WriteLine("Processing order: " + order.Id);
}

Gunakan operator akses kondisional (?.) agar pemeriksaan null lebih ringkas:

Customer customer = GetCustomerFromSomewhere();

// Daripada:
// string city = null;
// if (customer != null && customer.Address != null)
// {
//     city = customer.Address.City;
// }

// Gunakan ini:
string city = customer?.Address?.City;
challenge icon

Tantangan

Mudah

Buat method bernama ProcessUserData yang menerima parameter string userData. Method tersebut harus:

  1. Periksa apakah userData bernilai null. Jika ya, cetak "Error: User data is null" lalu kembalikan.
  2. Periksa apakah userData kosong. Jika ya, cetak "Error: User data is empty" lalu kembalikan.
  3. Jika datanya valid, ubah menjadi huruf kapital lalu cetak "Processing: [UPPERCASE_DATA]".

Coba sendiri

using System;

class ProcessUserData
{
    public static void processUserData(string userData)
    {
        // Petunjuk: string "null" harus diperlakukan sebagai nilai null yang sebenarnya
        
        // Tulis kodemu di sini
    }
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler C# online