Menu
CoddyTech

class Buku dan Pengguna

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

challenge icon

Tantangan

Mudah

Di pelajaran sebelumnya, kamu membuat class Book dengan property dasar dan method toString(). Sekarang saatnya mengembangkan sistem library-mu dengan menambahkan class User untuk mewakili anggota library yang bisa meminjam buku.

Kamu perlu membuat file baru dan memperbarui file yang sudah ada:

  • book.dart: Tingkatkan class Book yang sudah ada dengan menambahkan property isAvailable (boolean) yang nilai awalnya true. Property ini akan melacak apakah buku bisa dipinjam.
  • user.dart: Buat class User baru untuk mewakili anggota library. Setiap user harus memiliki id (String), name (String), dan list borrowedBooks yang menyimpan object Book. Sertakan constructor yang menginisialisasi id dan name, dengan list kosong untuk buku yang dipinjam. Override toString() agar mengembalikan format User [id]: name (X books borrowed), dengan X sebagai jumlah buku yang dipinjam.
  • main.dart: Impor file book dan user. Buat buku dengan ISBN 978-0-13-468599-1, judul The Pragmatic Programmer, dan penulis David Thomas. Buat user dengan id U001 dan nama Alice Johnson. Cetak buku, lalu cetak apakah buku tersedia dengan format Available: true atau Available: false. Cetak user. Kemudian tambahkan buku ke list buku yang dipinjam user, ubah isAvailable buku menjadi false, lalu cetak user lagi untuk menampilkan jumlah buku yang sudah diperbarui.

Ini membangun hubungan antara buku dan user yang akan kamu kembangkan saat menerapkan sistem peminjaman lengkap di pelajaran berikutnya!

Output yang diharapkan:

[978-0-13-468599-1] The Pragmatic Programmer by David Thomas
Available: true
User U001: Alice Johnson (0 books borrowed)
User U001: Alice Johnson (1 books borrowed)

Coba sendiri

import 'book.dart';
// TODO: Impor user.dart

void main() {
  // TODO: Buat buku dengan ISBN '978-0-13-468599-1', judul 'The Pragmatic Programmer', dan penulis 'David Thomas'
  
  // TODO: Buat pengguna dengan id 'U001' dan nama 'Alice Johnson'
  
  // TODO: Cetak buku tersebut
  
  // TODO: Cetak apakah buku tersebut tersedia dengan format: Available: true/false
  
  // TODO: Cetak pengguna tersebut
  
  // TODO: Tambahkan buku tersebut ke list borrowedBooks milik pengguna
  
  // TODO: Atur isAvailable pada buku tersebut menjadi false
  
  // TODO: Cetak pengguna tersebut lagi untuk menampilkan jumlah buku terbaru
}

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler Dart online