Menu
CoddyTech

Fungsi Anonim

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

Sejauh ini, kamu telah membuat fungsi dengan nama seperti calculateTotal atau printMessage. Namun, terkadang kamu memerlukan fungsi sederhana hanya untuk satu tugas tertentu, dan memberinya nama terasa tidak perlu. Di sinilah fungsi anonim berguna.

Fungsi anonim adalah fungsi tanpa nama. Kamu mendefinisikannya tepat di tempat kamu membutuhkannya, sehingga kodemu lebih ringkas untuk operasi singkat yang hanya dilakukan sekali. Sintaksnya sederhana: kamu cukup menulis daftar parameter, lalu isi fungsi:

(parameter) {
  // isi fungsi
}

Fungsi anonim sangat berguna saat digunakan dengan method list. Misalnya, alih-alih membuat fungsi terpisah dengan nama untuk mencetak setiap item dalam list, kamu dapat menggunakan fungsi anonim secara langsung dengan method forEach:

List<String> fruits = ['apple', 'banana', 'orange'];
fruits.forEach((fruit) {
  print(fruit);
});

Pendekatan ini menjaga kodemu tetap rapi dan terfokus, terutama saat logika fungsi sederhana dan tidak akan digunakan kembali di bagian lain programmu.

challenge icon

Tantangan

Mudah

Buat program yang memproses list nama karyawan menggunakan fungsi anonim. Programmu akan menunjukkan cara menggunakan fungsi anonim dengan method forEach untuk melakukan berbagai operasi pada setiap elemen list.

  1. Baca input string yang berisi nama karyawan yang dipisahkan dengan koma (misalnya, "Alice,Bob,Charlie,Diana")
  2. Pisahkan input string menjadi list nama satu per satu menggunakan method split()
  3. Gunakan method forEach dengan fungsi anonim untuk mencetak setiap nama karyawan dengan pesan sambutan
  4. Gunakan method forEach dengan fungsi anonim lainnya untuk mencetak setiap nama karyawan dalam huruf kapital
  5. Gunakan method forEach dengan fungsi anonim ketiga untuk mencetak setiap nama karyawan beserta jumlah karakternya

Misalnya, jika input-nya adalah "Alice,Bob,Charlie", programmu harus menghasilkan output:

Processing employee list: Alice,Bob,Charlie
===========================================
Welcome Messages:
Welcome to the team, Alice!
Welcome to the team, Bob!
Welcome to the team, Charlie!
===========================================
Names in Uppercase:
ALICE
BOB
CHARLIE
===========================================
Name Lengths:
Alice has 5 characters
Bob has 3 characters
Charlie has 7 characters

Jika input-nya adalah "John,Sarah", programmu harus menghasilkan output:

Processing employee list: John,Sarah
===========================================
Welcome Messages:
Welcome to the team, John!
Welcome to the team, Sarah!
===========================================
Names in Uppercase:
JOHN
SARAH
===========================================
Name Lengths:
John has 4 characters
Sarah has 5 characters

Programmu harus menggunakan tiga pemanggilan method forEach yang terpisah, masing-masing dengan fungsi anonimnya sendiri. Fungsi anonim tersebut harus didefinisikan secara inline tanpa diberi nama. Setiap fungsi anonim harus menerima satu parameter yang mewakili nama karyawan saat ini dan melakukan operasi yang ditentukan. Gunakan interpolasi string untuk memformat pesan output persis seperti yang ditunjukkan di atas.

Coba sendiri

import 'dart:io';

void main() {
  // Baca string input yang berisi nama karyawan
  String? input = stdin.readLineSync();
  
  // Pisahkan input menjadi list nama
  List<String> employeeNames = input!.split(',');
  
  // Cetak pesan awal pemrosesan
  print('Processing employee list: $input');
  print('===========================================');
  
  // TODO: Tulis kodemu di bawah ini
  // Gunakan forEach dengan fungsi anonim untuk:
  // 1. Cetak pesan sambutan
  // 2. Cetak nama dalam huruf kapital  
  // 3. Cetak panjang setiap nama
  
}
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