Menu
CoddyTech

Membalikkan list

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

Terkadang kamu perlu melihat elemen-elemen list dalam urutan terbalik. Dart menyediakan property .reversed yang membuat tampilan list-mu dalam urutan terbalik tanpa mengubah list aslinya.

Properti .reversed mengembalikan iterable yang menampilkan elemen list dalam urutan terbalik. Artinya, elemen terakhir muncul pertama, elemen kedua dari belakang muncul kedua, dan seterusnya.

List<int> numbers = [1, 2, 3, 4, 5];

var reversedNumbers = numbers.reversed;
print(reversedNumbers);  // (5, 4, 3, 2, 1)

// List asli tetap tidak berubah
print(numbers);  // [1, 2, 3, 4, 5]

Hal penting yang perlu diketahui adalah .reversed mengembalikan iterable, bukan list. Jika kamu perlu mengolahnya sebagai list, kamu dapat mengonversinya menggunakan .toList(). Fitur ini sangat berguna saat kamu perlu memproses data dalam urutan terbalik tanpa mengubah list aslimu.

challenge icon

Tantangan

Mudah

Buat program yang menganalisis daftar bacaan dengan menampilkan buku dalam urutan asli dan urutan terbalik. Programmu harus:

  1. Membaca input string yang berisi judul daftar bacaan
  2. Membaca beberapa input string yang berisi judul buku, input akan berakhir saat kamu menerima string kosong
  3. Menggunakan property .reversed untuk membuat tampilan terbalik dari daftar buku
  4. Mencetak analisis daftar bacaan dengan format persis seperti yang ditampilkan di bawah

Misalnya, jika judul daftar bacaan adalah "Summer Reading" dan bukunya adalah "1984", "To Kill a Mockingbird", "The Great Gatsby", programmu harus menghasilkan output:

Reading List: Summer Reading
Books in original order: (1984, To Kill a Mockingbird, The Great Gatsby)
Books in reversed order: (To Kill a Mockingbird, The Great Gatsby, 1984)
Total books: 3

Jika judul daftar bacaan adalah "Quick Reads" dan hanya satu buku, "Animal Farm", yang diberikan, programmu harus menghasilkan output:

Reading List: Quick Reads
Books in original order: (Animal Farm)
Books in reversed order: (Animal Farm)
Total books: 1

Programmu harus menggunakan property .reversed untuk menampilkan buku dalam urutan terbalik. Ingat bahwa .reversed mengembalikan iterable, jadi saat kamu mencetaknya, hasilnya akan ditampilkan dengan tanda kurung, bukan tanda kurung siku.

Coba sendiri

import 'dart:io';

void main() {
  // Baca judul list bacaan
  String? title = stdin.readLineSync();
  
  // Baca judul buku hingga menemukan string kosong
  List<String> books = [];
  String? book;
  while ((book = stdin.readLineSync()) != null && book!.isNotEmpty) {
    books.add(book);
  }
  
  // TODO: Tulis kodemu di sini
  // Gunakan property .reversed untuk membuat tampilan terbalik dari list books
  // Cetak output dalam format yang diminta
  
}
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