Menu
CoddyTech

Perbandingan If dan Switch

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

C# menyediakan dua cara utama untuk menangani beberapa kondisi: pernyataan if-else dan pernyataan switch. Masing-masing memiliki keunggulan dalam situasi yang berbeda.

Pernyataan if-else fleksibel dan dapat menangani jenis kondisi apa pun:

string grade = "B";

if (grade == "A")
{
    Console.WriteLine("Excellent");
}
else if (grade == "B")
{
    Console.WriteLine("Good");
}
else if (grade == "C")
{
    Console.WriteLine("Satisfactory");
}
else
{
    Console.WriteLine("Needs improvement");
}

Pernyataan switch lebih rapi saat membandingkan satu variabel dengan beberapa nilai konstan:

string grade = "B";

switch (grade)
{
    case "A":
        Console.WriteLine("Excellent");
        break;
    case "B":
        Console.WriteLine("Good");
        break;
    case "C":
        Console.WriteLine("Satisfactory");
        break;
    default:
        Console.WriteLine("Needs improvement");
        break;
}

Switch dapat mengelompokkan beberapa case (fall-through) agar semuanya menghasilkan keluaran yang sama. Susun label case secara berurutan tanpa kode di antaranya, lalu letakkan satu break di bagian akhir:

string grade = "B";

switch (grade)
{
    case "A":
    case "a":
        Console.WriteLine("Excellent - 4 points");
        break;
    case "B":
    case "b":
        Console.WriteLine("Good - 3 points");
        break;
    case "C":
    case "c":
        Console.WriteLine("Satisfactory - 2 points");
        break;
    default:
        Console.WriteLine("Needs improvement");
        break;
}

Di sini, "B" dan "b" sama-sama masuk ke blok yang sama dan mencetak "Good - 3 points". Pola ini berguna setiap kali kamu ingin input huruf besar dan huruf kecil, atau kumpulan nilai apa pun, menghasilkan hasil yang sama.

Switch juga dapat mengelompokkan case dengan label berbeda yang memiliki hasil yang sama:

char dayCode = 'M';

switch (dayCode)
{
    case 'M':
        Console.WriteLine("Monday");
        break;
    case 'T':
        Console.WriteLine("Tuesday or Thursday");
        break;
    case 'W':
        Console.WriteLine("Wednesday");
        break;
    case 'F':
        Console.WriteLine("Friday");
        break;
    default:
        Console.WriteLine("Unknown day");
        break;
}
challenge icon

Tantangan

Sedang

Buat method bernama convertGradeToPoints yang:

  1. Menerima nilai huruf sebagai parameter bertipe string
  2. Mengonversinya menjadi nilai angka menggunakan pendekatan switch dan if-else
  3. method tersebut harus menerapkan kedua pendekatan dan mengembalikan hasil dari implementasi switch
  4. Gunakan konversi nilai berikut:
    • "A" atau "a" = 4
    • "B" atau "b" = 3
    • "C" atau "c" = 2
    • "D" atau "d" = 1
    • "F" atau "f" = 0
    • Input lainnya = -1

Coba sendiri

public class ConvertGradeToPoints
{
    // Implementasikan method convertGradeToPoints
    public static int convertGradeToPoints(string letterGrade)
    {
        // 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