Menu
CoddyTech

Fitur Pencarian

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Dart di Coddy. Pelajaran 104 dari 110.

challenge icon

Tantangan

Mudah

Pada pelajaran sebelumnya, kamu membuat class Library dengan fungsi peminjaman dan pengembalian. Sekarang, mari tambahkan kemampuan pencarian agar pengguna dapat menemukan buku dalam koleksi library.

Kamu akan menyempurnakan class Library dengan tiga method pencarian baru yang membantu pengguna menemukan buku:

  • book.dart: Biarkan class Book yang sudah ada tetap seperti semula.
  • user.dart: Biarkan class User yang sudah ada tetap seperti semula.
  • library.dart: Tambahkan tiga method pencarian ke class Library:
    • searchByTitle(String query) - mengembalikan List<Book> yang berisi semua buku dengan judul yang memuat string kueri tersebut, tanpa membedakan huruf besar dan kecil
    • searchByAuthor(String query) - mengembalikan List<Book> yang berisi semua buku dengan nama penulis yang memuat string kueri tersebut, tanpa membedakan huruf besar dan kecil
    • getAvailableBooks() - mengembalikan List<Book> yang hanya berisi buku yang saat ini tersedia untuk dipinjam
  • main.dart: Tunjukkan fungsi pencarian. Buat Library dan tambahkan empat buku:
    • 978-0-13-468599-1, The Pragmatic Programmer, David Thomas
    • 978-0-596-51774-8, JavaScript: The Good Parts, Douglas Crockford
    • 978-0-13-235088-4, Clean Code, Robert Martin
    • 978-0-20-161622-4, The Pragmatic Programmer, Andrew Hunt
    Daftarkan seorang pengguna (U001, Alice) dan pinjamkan buku pertama kepadanya. Lalu:
    1. Cari buku yang judulnya memuat pragmatic dan tampilkan Title search 'pragmatic': X found dengan X sebagai jumlahnya
    2. Cari buku berdasarkan penulis david dan tampilkan Author search 'david': X found
    3. Dapatkan buku yang tersedia dan tampilkan Available books: X
    4. Tampilkan setiap buku yang tersedia pada barisnya sendiri

Output yang diharapkan:

U001 borrowed "The Pragmatic Programmer"
Title search 'pragmatic': 2 found
Author search 'david': 1 found
Available books: 3
[978-0-596-51774-8] JavaScript: The Good Parts by Douglas Crockford
[978-0-13-235088-4] Clean Code by Robert Martin
[978-0-20-161622-4] The Pragmatic Programmer by Andrew Hunt

Coba sendiri

import 'book.dart';
import 'user.dart';
import 'library.dart';

void main() {
  // Buat Library
  Library library = Library();
  
  // TODO: Tambahkan empat buku ke library:
  // 1. 978-0-13-468599-1, The Pragmatic Programmer, David Thomas
  // 2. 978-0-596-51774-8, JavaScript: The Good Parts, Douglas Crockford
  // 3. 978-0-13-235088-4, Clean Code, Robert Martin
  // 4. 978-0-20-161622-4, The Pragmatic Programmer, Andrew Hunt
  
  // TODO: Daftarkan pengguna (U001, Alice)
  
  // TODO: Minta pengguna meminjam buku pertama
  
  // TODO: Cari buku dengan 'pragmatic' dalam judulnya
  // Cetak: Title search 'pragmatic': X ditemukan
  
  // TODO: Cari buku karya penulis 'david'
  // Cetak: Author search 'david': X ditemukan
  
  // TODO: Ambil buku yang tersedia dan cetak: Available books: X
  
  // TODO: Cetak setiap buku yang tersedia pada baris terpisah
}

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler Dart online