Menu
CoddyTech

Rangkuman, Lampu Lalu Lintas

Termasuk bagian Logika dan Alur dalam perjalanan Dart di Coddy. Pelajaran 62 dari 65.

challenge icon

Tantangan

Mudah

Buat sistem manajemen lampu lalu lintas yang lengkap untuk menunjukkan penguasaanmu terhadap enum dan pernyataan switch. Tugasmu adalah membangun sistem yang dapat menangani beberapa lampu lalu lintas dan memberikan tindakan yang sesuai bagi pengemudi.

  1. Definisikan enum bernama TrafficLight dengan tiga nilai: red, yellow, dan green
  2. Buat fungsi bernama getDriverAction yang menerima parameter TrafficLight dan mengembalikan string tindakan yang sesuai menggunakan pernyataan switch:
    • Untuk TrafficLight.red: kembalikan "Stop"
    • Untuk TrafficLight.yellow: kembalikan "Caution"
    • Untuk TrafficLight.green: kembalikan "Go"
  3. Buat fungsi bernama getWaitTime yang menerima parameter TrafficLight dan mengembalikan waktu tunggu dalam detik menggunakan pernyataan switch:
    • Untuk TrafficLight.red: kembalikan 30
    • Untuk TrafficLight.yellow: kembalikan 3
    • Untuk TrafficLight.green: kembalikan 25
  4. Buat tiga variabel untuk mewakili persimpangan yang berbeda:
    • intersection1 bertipe TrafficLight dan diatur ke TrafficLight.red
    • intersection2 bertipe TrafficLight dan diatur ke TrafficLight.yellow
    • intersection3 bertipe TrafficLight dan diatur ke TrafficLight.green
  5. Untuk setiap persimpangan, cetak status dengan format persis berikut:
    • Intersection 1: Red light - Stop - Wait time: 30 seconds
    • Intersection 2: Yellow light - Caution - Wait time: 3 seconds
    • Intersection 3: Green light - Go - Wait time: 25 seconds
  6. Simulasikan perubahan urutan lampu lalu lintas dengan memperbarui intersection1 menjadi TrafficLight.green
  7. Cetak status yang telah diperbarui: Updated Intersection 1: Green light - Go - Wait time: 25 seconds
  8. Buat ringkasan dengan mencetak: Traffic system managing 3 intersections successfully

Programmu harus menunjukkan keunggulan menggabungkan enum dengan pernyataan switch untuk membuat sistem manajemen lalu lintas yang aman dari kesalahan tipe dan mudah dibaca. Pernyataan switch harus menangani semua nilai enum dan mengembalikan string serta angka yang ditentukan di atas secara persis.

Coba sendiri

import 'dart:io';

// TODO: Definisikan enum TrafficLight-mu di sini

// TODO: Buat fungsi getDriverAction-mu di sini

// TODO: Buat fungsi getWaitTime-mu di sini

void main() {
  // TODO: Tulis kodemu di bawah ini
  
  // Buat variabel untuk persimpangan
  
  // Cetak status setiap persimpangan
  
  // Perbarui intersection1 dan cetak status terbarunya
  
  // Cetak ringkasan
}

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Dart online