Menu
CoddyTech

Tantangan: jumlah angka

Termasuk bagian Dasar-Dasar dalam perjalanan Dart di Coddy. Pelajaran 93 dari 94.

challenge icon

Tantangan

Mudah

Dalam tantangan ini, kamu akan membuat fungsi yang menghitung jumlah angka dalam list berdasarkan kondisi tertentu.

Kamu memiliki list bilangan bulat, dan kamu perlu melengkapi fungsi sumWithCondition yang menjumlahkan hanya angka yang memenuhi kriteria tertentu.

Fungsi tersebut harus:

  • Menghitung jumlah semua angka dalam list yang lebih besar dari nilai threshold
  • Berhenti menjumlahkan angka segera setelah jumlahnya melebihi nilai maxSum (jumlah akhir mungkin lebih besar dari maxSum)
  • Mengembalikan jumlah akhir

Penting: Fungsi berhenti menjumlahkan angka setelah menambahkan angka yang menyebabkan jumlahnya melebihi maxSum. Artinya, hasil akhirnya bisa lebih besar dari maxSum.

Contoh: Jika angka yang lebih besar dari threshold adalah [15, 20, 25, 30] dan maxSum adalah 50:

  • Tambahkan 15: jumlah = 15 (lanjutkan)
  • Tambahkan 20: jumlah = 35 (lanjutkan)
  • Tambahkan 25: jumlah = 60 (melebihi 50, jadi berhenti di sini)
  • Hasil: 60 (bukan 50)

Coba sendiri

void main() {
  // Kasus uji
  List<int> numbers = [5, 10, 15, 20, 25, 30];
  
  // Jumlahkan bilangan yang lebih besar dari 12, dengan jumlah maksimal 50
  int result = sumWithCondition(numbers, 12, 50);
  print('Sum of numbers > 12 (max 50): $result');
  
  // Jumlahkan bilangan yang lebih besar dari 8, dengan jumlah maksimal 100
  result = sumWithCondition(numbers, 8, 100);
  print('Sum of numbers > 8 (max 100): $result');
}

// TODO: Lengkapi fungsi ini untuk menjumlahkan bilangan berdasarkan kondisi
int sumWithCondition(List<int> numbers, int threshold, int maxSum) {
  int sum = 0;
  
  // TODO: Telusuri list numbers dengan perulangan
  // TODO: Tambahkan hanya bilangan yang lebih besar dari threshold ke sum
  // TODO: Berhenti menambahkan bilangan jika sum melebihi maxSum
  
  return sum;
}

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler Dart online