Menu
CoddyTech

Mendeklarasikan dan Menggunakan enum

Termasuk bagian Logika dan Alur dalam perjalanan C di Coddy. Pelajaran 56 dari 63.

Sekarang setelah kamu mendefinisikan enum, kamu bisa membuat variabel dengan tipe enum tersebut dan memberinya nilai yang bermakna. Di sinilah enum benar-benar unggul: daripada menggunakan angka yang membingungkan, kamu menggunakan nama yang deskriptif.

Untuk mendeklarasikan variabel dengan tipe enum, kamu menggunakan sintaks yang sama seperti saat mendeklarasikan variabel lainnya:

enum DayOfWeek today;
enum DayOfWeek weekend_day;

Kamu kemudian dapat menetapkan nilai ke variabel-variabel ini menggunakan konstanta bernama dari enum-mu:

today = WEDNESDAY;
weekend_day = SATURDAY;

Bandingkan ini dengan penggunaan angka mentah: today = 2; dan weekend_day = 5;. Versi enum langsung memberi tahu kamu hari apa yang sedang kamu gunakan, sedangkan angka mengharuskan kamu mengingat arti setiap nilai. Ini membuat kodemu jauh lebih mudah dibaca dan mengurangi kemungkinan terjadinya error.

challenge icon

Tantangan

Mudah

Buat program C yang menunjukkan cara mendeklarasikan dan menggunakan variabel enum untuk sistem pengelolaan tugas sederhana. Programmu harus:

  1. Definisikan enum bernama TaskStatus dengan konstanta berikut dalam urutan yang persis sama:
    • PENDING
    • IN_PROGRESS
    • COMPLETED
    • CANCELLED
  2. Di dalam fungsi main:
    • Deklarasikan tiga variabel bertipe enum TaskStatus bernama task1, task2, dan task3
    • Baca tiga bilangan bulat dari input yang mewakili status setiap tugas (0, 1, 2, atau 3)
    • Tetapkan nilai enum yang sesuai ke setiap variabel tugas berdasarkan input:
      • Jika input bernilai 0, tetapkan PENDING
      • Jika input bernilai 1, tetapkan IN_PROGRESS
      • Jika input bernilai 2, tetapkan COMPLETED
      • Jika input bernilai 3, tetapkan CANCELLED
    • Cetak status setiap tugas menggunakan nilai enum dengan format yang persis seperti ini:
      • Task 1 status: [numeric_value]
      • Task 2 status: [numeric_value]
      • Task 3 status: [numeric_value]
    • Hitung dan cetak jumlah tugas dalam setiap kategori status:
      • Pending tasks: [count]
      • In progress tasks: [count]
      • Completed tasks: [count]
      • Cancelled tasks: [count]
    • Hitung dan cetak jumlah total tugas aktif (tugas yang berstatus PENDING atau IN_PROGRESS) dengan format yang persis seperti ini: Active tasks: [count]

Tantangan ini menunjukkan bagaimana variabel enum membuat kodemu lebih mudah dibaca dengan menggunakan nama yang bermakna, bukan angka mentah. Kamu akan berlatih mendeklarasikan variabel enum, menetapkan nilai enum berdasarkan input, menggunakan konstanta enum dalam perbandingan, dan melakukan perhitungan dengan nilai enum.

Coba sendiri

#include <stdio.h>

// TODO: Definisikan enum TaskStatus di sini

int main() {
    // Baca input untuk tiga status tugas
    int status1, status2, status3;
    scanf("%d", &status1);
    scanf("%d", &status2);
    scanf("%d", &status3);
    
    // TODO: Deklarasikan tiga variabel enum TaskStatus (task1, task2, task3)
    
    // TODO: Tetapkan nilai enum berdasarkan input
    
    // TODO: Tampilkan status tugas
    
    // TODO: Hitung tugas dalam setiap kategori
    
    // TODO: Hitung dan tampilkan jumlah tugas aktif
    
    return 0;
}
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