Menu
CoddyTech

Status list: isEmpty dan isNotEmp

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

Sebelum bekerja dengan elemen list, kamu perlu mengetahui apakah list-mu benar-benar berisi item. Dart menyediakan dua property sederhana untuk memeriksa keadaan list: isEmpty dan isNotEmpty.

Property isEmpty mengembalikan true jika list tidak memiliki elemen, dan false jika list berisi setidaknya satu elemen. Property isNotEmpty bekerja dengan cara sebaliknya: property ini mengembalikan true saat list memiliki elemen dan false saat list kosong.

List<String> emptyCart = [];
List<String> shoppingCart = ['apples', 'bread', 'milk'];

print(emptyCart.isEmpty);      // true
print(emptyCart.isNotEmpty);   // false

print(shoppingCart.isEmpty);   // false
print(shoppingCart.isNotEmpty); // true

Property ini sangat berguna untuk mencegah error saat mencoba mengakses elemen list. Memeriksa apakah list kosong sebelum menggunakan property seperti .first atau .last membantumu menulis kode yang lebih aman dan andal.

challenge icon

Tantangan

Mudah

Buat program yang mengelola sistem antrean tugas dengan memeriksa apakah daftar tugas kosong atau berisi item. Programmu harus:

  1. Membaca input string yang mewakili nama antrean
  2. Membaca beberapa input string yang mewakili tugas (input akan berakhir saat kamu menerima string kosong)
  3. Menggunakan property isEmpty untuk memeriksa apakah daftar tugas kosong
  4. Menggunakan property isNotEmpty untuk memeriksa apakah daftar tugas berisi tugas
  5. Mencetak status antrean dengan format persis seperti yang ditunjukkan di bawah ini

Misalnya, jika nama antreannya adalah "Daily Tasks" dan tugasnya adalah "Review emails", "Attend meeting", "Write report", programmu harus menghasilkan output:

Queue: Daily Tasks
Has tasks: true
Is empty: false
Task count: 3
Status: Ready for processing

Jika nama antreannya adalah "Weekend Tasks" dan tidak ada tugas yang diberikan (input kosong), programmu harus menghasilkan output:

Queue: Weekend Tasks
Has tasks: false
Is empty: true
Task count: 0
Status: No tasks to process

Programmu harus menggunakan property isEmpty dan isNotEmpty untuk menentukan status antrean. Pesan statusnya harus berupa "Ready for processing" jika ada tugas dan "No tasks to process" jika antrean kosong.

Coba sendiri

import 'dart:io';

void main() {
  // Baca nama antrean
  String? queueName = stdin.readLineSync();
  
  // Baca tugas sampai string kosong diterima
  List<String> tasks = [];
  String? task;
  while ((task = stdin.readLineSync()) != null && task!.isNotEmpty) {
    tasks.add(task);
  }
  
  // TODO: Tulis kodemu di bawah ini
  // Gunakan property tasks.isEmpty dan tasks.isNotEmpty untuk memeriksa status antrean
  // Tentukan pesan status yang sesuai berdasarkan ada tidaknya tugas
  
  // Tampilkan hasilnya sebagai output
  print('Queue: $queueName');
  // Tampilkan apakah antrean memiliki tugas, apakah antrean kosong, jumlah tugas, dan statusnya
}
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 Dart online