Sunday, October 2, 2016

CRC Card, Class Diagram dan Tabel Class Realization untuk Menu Management System

Dalam perancangan sebuah perangkat lunak, salah satu tahap yang paling penting adalah membuat CRC Card dan Class Diagram. CRC Card berguna untuk mendeskripsikan kelas apa saja yanng akan dipakai beserta fungsionalitas yang dibutuhkan dan hubungannya dengan kelas lain. Class Diagram tidak jauh berbeda dengan CRC Card, hanya saja terdapat penjelasan-penjelasan lebih detail seperti tipe data dan enkapsulasi fungsi serta atribut dari suatu kelas.

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:






  

Analisis SWOT untuk Sistem Konsulatsi Desain Bangunan

Kali ini, berdasarkan post saya sebelumnya, saya akan membuat analisis SWOT untuk sistem konsultasi desain bangunan. SWOT adalah singkatan dari Strength (kekuatan), Weakness(kelemahan), Opportunity(keuntungan), Threat (ancaman). Analisis ini berguna untuk melihat kelebihan dan kekurangan dari sistem informasi yang akan kita buat. Dari rancangan yang sudah ada, dapat dibuat analisis singkatnya sebagai berikut:

Strength

- Memudahkan interaksi antara konsultan desain bangunan dan konsumen, sehingga konsumen tidak perlu bertemu secara fisik.

-Memudahkan pengelolaan data dalam jumlah banyak. Sehingga banyaknya konsumen tidak akan mengganggu aktivitas konsultan secara signifikan.

-Kelebihan database secara umum juga akan memudahkan proses kerja sehari-hari, seperti misalnya data yang selalu up to date, tidak mudah rusak, tidak memakan banyak tempat, dan keamanannya terjamin.

Weakness

- SIstem yang akan dibuat bisa jadi sangat kompleks karena banyaknya data dengan berbagai jenis yang akan digunakan atau diolah, seperti misalnya parameter-parameter desain rumah yang diinginkan.


Opportunity

-Pada masa kini, sudah banyak orang yang memiliki gadget yang tersambung dengan layanan Internet, sehingga mudah untuk diakses.

- Tingkat kesadaran akan seni masyarakat modern semakin meningkat, sehingga kebutuhan akan desain rumah yang baik ikut naik.

Threat

- Masih mungkin terdapat calon konsumen atau konsultan yang memiliki pemahaman yang rendah dalam penggunaan gadget, sehingga sulit untuk dapat menggunakan sistem ini.

- Biaya untuk pembuatan dan penggunaannya bisa jadi lebih tinggi dari pada menggunakan metode tatap muka langsung.

Sunday, September 25, 2016

Sistem Informasi Konsultasi Design Rumah

I. Pendahuluan

 Pada masa kini, kesadaran akan seni (sense of art) setiap orang mulai berkembang lebih pesat daripada masa-masa sebelumnya. Setiap orang mulai menyadari efek dan pentingnya seni dalam kehidupan mereka. Contohnya dapat dilihat pada desain rumah. Pada masa kini, desain-desain rumah mulai mengadopsi bentuk-bentuk artistik sebagai bentuk dasarnya. Rumah tidak lagi hanya persegi yang memiliki atap berbentuk segitiga di atasnya. Tak hanya dari eksteriornya, interior juga tak lupa untuk diperhatikan. Orang mulai memiliki selera seni dalam menentukan warna ruangan serta tata letak barang-barang di dalam rumah mereka.

Untuk memenuhi kebutuhan artistik tersebut, tak jarang digunakan jasa designer untuk membantu mendesain rumah mereka. Namun, mungkin designer tersebut masih sulit ditemui di dunia nyata. Jika ada, jumlahnya masih belum terlalu banyak. Maka dari itu munculah sistem informasi di mana orang dapat melakukan konsultasi desain rumah secara online lewat sebuah website. Biasanya sistem ini dimiliki oleh perusahaan yang memiliki produk yang berkaitan dengan pembuatan rumah, misalnya cat tembok.

II. Pengguna

Agar dapat berjalan dengan baik, sistem informasi ini membutuhkan beberapa pihak yang dapat dibagi kedalam beberapa golongan sistem dibawah ini:


A. Transaction Processing System

1. Konsumen
 Konsumen adalah orang yang akan menggunakan jasa sistem informasi ini.
    2.
B. Management Information System
   
1. Desainer Interior dan Arsitek
 Desainer Interior dan Arsitek akan mengolah data preferensi desain yang diterima dari              konsumen. Pengolahan berupa penentuan tren desain yang sedang populer di kalangan konsumen    pada saat itu.

C. Decision Support System

1. Manager Perusahaan
Dari data tren desain yang diterima, dapat diambil informasi-informasi yang dapat berguna bagi produk yang akan dibuat, misalnya penentuan warna cat tembok yang akan diproduksi.

D. Executive Information System

1. Board of Director (BOD) Perusahaan
Dari data yang didapat tentang produk yang lebih laku akibat tren warna yang lebih populer, BOD perusahaan dapat menentukan arah kerja perusahaan dan keputusan-keputusan yang akan dibuat berkaitan dengan jalannya perusahaan.

III. Distribusi Fungsional

Fungsi-fungsi dari sistem informasi ini dapat dibagi menjadi beberapa bagian, yaitu:
A. Memberikan konsultasi desain rumah kepada konsumen
Untuk menunjang fungsi ini  terdapat beberapa operasi, yaitu:
1. Menerima input selera konsumen akan desain yang diinginkan
2. Memilih desainer yang diinginkan berdasarkan pilihan yang ada
3, Mengirim saran hasil konsultasi kepada konsumen

B. Menerima informasi tren desain yang sedang populer di kalangan konsumen

C. Mengaitkan data tren desain dengan produk yang berkaitan







Use Case Diagram Menu Management System

Menu Management System adalah sebuah sistem di mana proses pemesanan makanan dari sebuah menu di sebuah restoran diotomatisasi menggunakan media digital. Proses dari mulai pemesanan makan hingga pembayaran dapat dilakukan secara mandiri oleh konsumen dari meja masing-masing. Penggunaan kertas pun dapat dikurangi karena data yang digunakan tersimpan secara digital di database.

Dalam sistem ini ada tiga pihak yang terlibat dalam pelaksanaannya, yaitu:

1. Customer




Di sistem ini customer dapat melakukan pemesanan masakan dari menu digital yang ada. Pesanan yang dipilih akan langsung masuk ke sistem milik waiter. Customer juga dapat membatalkan pesanan yang sudah masuk dengan batas waktu 30 detik sesudah pesanan masuk. Customer juga dapat melihat tagihan makanan mereka dan dapat memanggil waiter untuk melakukan pembayaran ataupun layanan lainnya.

2. Waiter 



Sistem milik waiter dapat digunakan untuk masuk kedalam sistem database. Waiter dapat mengatur order yang masuk dan melakukan pengubahan jika diperlukan. Selain itu, waiter juga dapat melakukan proses pembayaran pesanan.

3. Admin


Sistem milik admin dapat melakukan pengaturan terhadap jalannya restoran itu sendiri. Admin dapar mengatur menu, tata letak restoran, bahasa interaksi, dan pengguna sistem beserta permission-nya. Selain itu, admin dapat melihat transaksi pembayaran yang sudah dilakukan dan laporan-laporan lainnya. 

Sumber: https://files.ifi.uzh.ch/CSG/staff/tsiaras/Extern/Theses/MP_Maxat_Pernebayev_Tanvi_Singh_Karthick_Sundararajan.pdf