Berdasarkan post saya yang sebelumnya (di sini), kali ini kita akan membuat CRC Card dan Class Diagram untuk Menu Management System. Pertama kita akan mendefinisikan kelas-kelas yang akan digunakan. Berdasarkan Use Case Diagram pada post sebelumnya, dapat didefinisikan beberapa kelas. yaitu: Food, Menu, Table, Order, OrderQueue, Payment, dan Language.
1. Kelas Food
Kelas Food akan berhubungan dengan beberapa kelas, yaitu Order (karena Order (pesanan) terdiri dari makanan) dan Menu (karena sebuah menu berisikan daftar makanan. Sebuah objek Food memiliki beberapa atribut, yaitu name(nama), price(harga), explanation(penjelasan makanan), picture(gambar makanan) dan availability(ketersediannya untuk konsumen). Sementara untuk fungsinya, kelas Food terdiri dari fungsi konstruktor (membuat makanan baru), fungsi modifier atribut, dan fungsi display value atribut.
2. Kelas Menu
Kelas Menu akan berhubungan dengan kelas Food dan kelas Language untuk pengaturan bahasanya.. Kelas Menu terdiri dari atribut MenuItem yang bertipe data Food yang berupa array berisikan daftar makanan yang dapat dipesan dan Language untuk . Untuk fungsinya, Menu dapat terdiri dari fungsi konstruktor, addFood, deleteFood, dan displayMenu.
3. Kelas Table
Kelas Table adalah kelas yang akan menyimpan informasi pesanan suatu meja. Maka dari itu, kelas ini hanya akan berhubungan dengan kelas Order (untuk pemesanan makanan) dan kelas Payment (untuk pembayaran pesanan). Untuk atribut, kelas Table akan terdiri dari atribut TableNumber, OrderList dan PaymentStatus. Untuk fungsi, kelas Table akan terdiri dari fungsi konstruktor, addOrder, deleteOrder, dan changePaymentStatus.
4. Kelas Order
Seperti yang sudah dijelaskan sebelumnya, kelas Order akan berhubungan dengan kelas Table, Food, OrderQueue dan Payment. Namun kelas Order akan berhubungan juga dengan kelas Payment untuk pembayaran pesanan. Kelas Order akan terdiri dari atribut FoodList, TotalPrice, dan TableNumber, dan paymentStatus. Kelas Order akan terdiri dari fungsi konstruktor, dan atribute modifier saja.
5. Kelas OrderQueue
Kelas OrderQueue akan berhubungan dengan kelas Order karena hanya berupa antrian Order yang masuk. Kelas Order akan memiliki atribut OrderList dan memiliki fungsi konstruktor serta display OrderQueue
6. Kelas Payment
Kelas Payment akan berhubungan dengan kelas Order dan Table. Kelas Payment akan memiliki atribut grandTotal untuk total harga pesanan dan tableNumber. Kelas payment akan memiliki fungsi konstruktor dan displayPayment.
7. Kelas Language
Kelas Language akan mengatur penggunaan bahasa dalam sistem. Kelas ini akan berhubungan dengan kelas Menu karena Language di sini hanya digunakan untuk bahasa dalam sistem interface dengan konsumen. Kelas language memiliki atribut LanguageData untuk menyimpan data bahasa. Untuk fungsinya, kelas Language memiliki fungsi changeLanguage, displayText (untuk menampilkan teks dalam bahasa tertentu), addLanguage dan deleteLanguage.
Untuk tahap selanjutnya, kita dapat langsung membuat CRC card dan Class Diagram berdasarkan definisi kelas-kelas di atas.
CRC Card:
Class Diagram + Relationship:
Selanjutnya dapat dibuat tabel Class Realization. Tabel ini berfungsi untuk memastikan apakah setiap use case sudah ditangani suatu kelas atau belum. Dari use case diagram dan class diagram yang ada, dapat dibuat tabel sebagai berikut:
good job gan
ReplyDeletelampu servis hp led