Menu
CoddyTech

Kondisi dengan 'every'

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

Jika any() memeriksa apakah setidaknya satu elemen memenuhi kondisi, terkadang kamu perlu memastikan bahwa semua elemen dalam list memenuhi persyaratan tertentu. Method every() menyediakan fungsi ini dengan menguji setiap elemen berdasarkan kondisimu dan mengembalikan true hanya jika semuanya memenuhi kondisi.

method every() menerima fungsi pengujian yang mengembalikan true atau false untuk setiap elemen. Jika ada elemen yang tidak lolos pengujian, every() langsung mengembalikan false. Hanya jika setiap elemen lolos pengujian, method ini mengembalikan true.

List<int> examScores = [75, 82, 68, 91, 77];

// Periksa apakah semua siswa lulus (score > 60)
bool allPassed = examScores.every((score) => score > 60);
print(allPassed);  // true

method ini sangat berguna untuk skenario validasi ketika kamu perlu memastikan bahwa semua item memenuhi kriteria tertentu sebelum melanjutkan. method every() berhenti memeriksa segera setelah menemukan elemen yang gagal dalam pengujian, sehingga efisien untuk list besar yang memerlukan kepatuhan universal.

challenge icon

Tantangan

Mudah

Buat program yang mengelola sistem kontrol kualitas dengan memverifikasi bahwa semua produk dalam satu batch memenuhi standar yang diwajibkan. Programmu harus:

  1. Membaca input string yang mewakili nama pabrik
  2. Membaca beberapa input integer yang mewakili skor kualitas produk (input akan berakhir saat kamu menerima -1)
  3. Membaca input integer yang mewakili ambang batas standar kualitas minimum
  4. Menggunakan method every() untuk memeriksa apakah semua skor produk lebih besar dari atau sama dengan ambang batas minimum
  5. Mencetak hasil kontrol kualitas dengan format persis seperti yang ditunjukkan di bawah

Misalnya, jika nama pabrik adalah "Electronics Factory", skor kualitasnya adalah 85, 92, 78, 88, 95, dan ambang batas minimumnya adalah 75, programmu harus menghasilkan output berikut:

Factory: Electronics Factory
Quality scores: [85, 92, 78, 88, 95]
Minimum standard: 75
Checking if all scores >= 75
All products passed: true
Status: Batch approved for shipment

Jika nama pabrik adalah "Textile Mill", skor kualitasnya adalah 68, 82, 74, 91, dan ambang batas minimumnya adalah 70, programmu harus menghasilkan output berikut:

Factory: Textile Mill
Quality scores: [68, 82, 74, 91]
Minimum standard: 70
Checking if all scores >= 70
All products passed: false
Status: Batch rejected - quality improvement required

Jika nama pabrik adalah "Food Processing", skor kualitasnya adalah 95, 98, 92, dan ambang batas minimumnya adalah 90, programmu harus menghasilkan output berikut:

Factory: Food Processing
Quality scores: [95, 98, 92]
Minimum standard: 90
Checking if all scores >= 90
All products passed: true
Status: Batch approved for shipment

Programmu harus menggunakan method every() untuk memverifikasi bahwa semua skor kualitas lebih besar dari atau sama dengan ambang batas minimum. Tampilkan "Batch approved for shipment" jika semua produk memenuhi standar, atau "Batch rejected - quality improvement required" jika ada produk yang tidak memenuhi persyaratan minimum.

Coba sendiri

import 'dart:io';

void main() {
  // Baca nama pabrik
  String? factoryName = stdin.readLineSync();
  
  // Baca skor kualitas sampai menemukan -1
  List<int> qualityScores = [];
  while (true) {
    int score = int.parse(stdin.readLineSync()!);
    if (score == -1) {
      break;
    }
    qualityScores.add(score);
  }
  
  // Baca ambang batas minimum
  int minThreshold = int.parse(stdin.readLineSync()!);
  
  // TODO: Tulis kodemu di bawah ini
  // Gunakan method every() untuk memeriksa apakah semua skor memenuhi standar minimum
  
  // Cetak hasilnya dalam format yang diminta
  print('Factory: $factoryName');
  print('Quality scores: $qualityScores');
  print('Minimum standard: $minThreshold');
  print('Checking if all scores >= $minThreshold');
  // Cetak apakah semua produk lulus dan status akhirnya
}
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