Menu
CoddyTech

Antarmuka Admin

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

challenge icon

Tantangan

Mudah

Pada pelajaran sebelumnya, kamu menambahkan fitur pencarian ke class Library. Sekarang, mari buat antarmuka admin yang memungkinkan pengguna dengan hak istimewa mengelola inventaris library, menambahkan buku baru dan menghapus buku yang sudah ada.

Kamu akan memperkenalkan class Admin baru dan meningkatkan kemampuan administratif Library-mu:

  • book.dart: Pertahankan class Book yang sudah ada tanpa perubahan.
  • user.dart: Pertahankan class User yang sudah ada tanpa perubahan.
  • admin.dart: Buat class Admin baru yang merepresentasikan administrator library. Admin memiliki id (String) dan name (String). Override toString() agar mengembalikan Admin [id]: name.
  • library.dart: Tambahkan fitur administratif ke class Library-mu:
    • Tambahkan list untuk menyimpan admin yang terdaftar
    • registerAdmin(Admin admin) - menambahkan admin ke library
    • addBookAsAdmin(String adminId, Book book) - jika admin terdaftar, tambahkan buku dan cetak adminId added "title". Jika admin tidak terdaftar, cetak Unauthorized.
    • removeBook(String adminId, String isbn) - jika admin dan buku terdaftar, hapus buku dari library dan cetak adminId removed "title". Jika admin tidak terdaftar, cetak Unauthorized. Jika buku tidak terdaftar, cetak Book not found.
    • getBookCount() - mengembalikan jumlah total buku di library
  • main.dart: Tunjukkan cara kerja antarmuka admin. Buat Library dan daftarkan admin (A001, Sarah Admin). Gunakan admin tersebut untuk menambahkan tiga 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
    Cetak jumlah buku dengan format Total books: X. Lalu, coba tambahkan buku dengan id admin yang belum terdaftar, yaitu A999. Hapus buku kedua menggunakan admin yang terdaftar. Cetak jumlah akhir buku.

Output yang diharapkan:

A001 added "The Pragmatic Programmer"
A001 added "JavaScript: The Good Parts"
A001 added "Clean Code"
Total books: 3
Unauthorized
A001 removed "JavaScript: The Good Parts"
Total books: 2

Coba sendiri

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

void main() {
  // TODO: Buat Library
  
  // TODO: Buat dan daftarkan admin (A001, Sarah Admin)
  
  // TODO: Gunakan admin untuk menambahkan tiga 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
  
  // TODO: Tampilkan jumlah buku dengan format "Total books: X"
  
  // TODO: Coba tambahkan buku dengan id admin A999 yang belum terdaftar
  
  // TODO: Hapus buku kedua (978-0-596-51774-8) menggunakan admin yang terdaftar
  
  // TODO: Tampilkan jumlah buku terakhir
}

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler Dart online