Menu
CoddyTech

Properti list: first dan last

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

Saat bekerja dengan list, kamu sering perlu mengakses elemen pertama atau terakhir. Dart menyediakan dua property praktis yang membuatnya jauh lebih mudah, daripada menggunakan nomor indeks seperti [0] atau [list.length - 1].

property .first memberimu elemen pertama dalam list, sedangkan property .last memberimu elemen terakhir. Property ini lebih mudah dibaca dan lebih kecil kemungkinannya menimbulkan error dibandingkan menghitung posisi indeks.

List<String> planets = ['Mercury', 'Venus', 'Earth', 'Mars'];

String firstPlanet = planets.first;   // 'Mercury'
String lastPlanet = planets.last;     // 'Mars'

Properti ini berfungsi dengan list apa pun yang tidak kosong dan otomatis menangani perhitungan indeks untukmu. Ini membuat kodemu lebih rapi dan lebih mudah dipahami saat kamu perlu bekerja dengan elemen di awal atau akhir list.

challenge icon

Tantangan

Mudah

Buat program yang menganalisis playlist musik dengan mengakses lagu pertama dan terakhir. Programmu harus:

  1. Membaca input string yang berisi nama playlist
  2. Membaca beberapa input string yang berisi judul lagu (input akan berakhir saat kamu menerima string kosong)
  3. Menggunakan property .first untuk mendapatkan lagu pertama dalam playlist
  4. Menggunakan property .last untuk mendapatkan lagu terakhir dalam playlist
  5. Mencetak analisis playlist dalam format persis seperti yang ditunjukkan di bawah ini

Contohnya, jika nama playlist adalah "My Favorites" dan lagunya adalah "Bohemian Rhapsody", "Imagine", "Hotel California", programmu harus menghasilkan:

Playlist: My Favorites
Total songs: 3
Opening track: Bohemian Rhapsody
Closing track: Hotel California

Programmu harus menangani playlist dengan jumlah lagu berapa pun dan menggunakan property .first dan .last untuk mengakses lagu pembuka dan penutup.

Coba sendiri

import 'dart:io';

void main() {
  // Baca nama playlist
  String? playlistName = stdin.readLineSync();
  
  // Baca lagu hingga menemukan string kosong
  List<String> songs = [];
  String? song;
  while ((song = stdin.readLineSync()) != null && song!.isNotEmpty) {
    songs.add(song);
  }
  
  // TODO: Tulis kodemu di bawah ini
  // Gunakan songs.first dan songs.last untuk mendapatkan lagu pembuka dan penutup
  
  // Tampilkan output analisis playlist
  print("Playlist: $playlistName");
  print("Total songs: ${songs.length}");
  // Tampilkan lagu pembuka dan penutup di sini
}
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