Sunday, December 18, 2016

Perancangan dan Implementasi Aplikasi Pembayaran Tagihan Sederhana

Pada post saya kali ini, saya akan membahas tentang perancangan aplikasi untuk pembayaran tagihan. Dalam hidup kita, sering kita jumpai atau kita alami sendiri bagaimana proses suatu pembayaran tagihan, misal tagihan listrik, tagihan air, dan lain sebagainya. Setiap proses pembayaran tagihan tersebut memiliki sebuah kesamaan. Misalnya tagihan listrik, air, dan telepon memiliki beberapa kesamaan yaitu diukur berdasarkan banyaknya penggunaan dan memiliki suatu tarif per satuan tertentu.

Untuk merancang sebuah program yang dapat melayani sistem tagihan ini, dapat kita gunakan design pattern Template untuk rancangan dasarnya. Design pattern Template adalah sebuah design pattern di mana kelas-kelas yang ada mengikuti sebuah pola/template dari sebuah kelas utama/superclass. Ciri-ciri dari design pattern ini adalah adanya satu atau beberapa kelas abstrak pada superclass yang harus di override terlebih dahulu. Selain itu di dalam superclas terdapat satu atau beberapa fungsi yang mendefinisikan bagaimana cara kelas-kelas abstrak tadi harus dijalankan.  Design pattern ini cocok untuk sistem di mana dibutuhkan proses-proses yang sebenarnya serupa antara yang satu dengan yang lainnya, sehingga semua fungsinya tidak perlu dibuat secara berulang-ulang, hanya perlu menulis fungsi yang perlu di override saja.

Dalam contoh kali ini, kita akan membuat sebuah sistem tagihan yang akan melayani tiga jenis layanan penagihan, yaitu air, listrik, dan telepon.

A. Diagram Kelas

Pertama-tama, kita buat terlebih dahulu diagram kelasnya:
Untuk menjalankan program, kita akan menggunakan sebuah kelas yang hanya memiliki fungsi main() yaitu kelas ProgramDemo, sehingga Class Diagramnya dalam aplikasi BlueJ adalah seperti berikut:

B. Implementasi dalam Bentuk Code

Untuk source code hasil implementasi dapat dilihat di sini.


C. Hasil Akhir

Hasil akhir dari program di atas adalah sebagai berikut:

























Referensi:

https://www.tutorialspoint.com/design_pattern/template_pattern.htm
http://www.oodesign.com/template-method-pattern.html

Sunday, December 4, 2016

Alur Kerja Instant Laundrymart


Pada post saya kali ini, saya akan membahas tentang alur kerja dari sebuah UKM laundry bernama "Instant Laundrymart". Usaha laundry ini sudah memulai usahanya sejak tahun 2014 dan beralamat di Jalan Raya Mulyosari, Surabaya. Usaha ini dimiliki oleh Pak Freddy. Usaha laundry ini mengusung sebuah keunggulan dibandingkan dengan usaha laundry lainnya yaitu memiliki sejumlah mesin laundromat yang memungkinkan konsumen mencuci sendiri pakaiannya hingga kering dan bersih. Berikut informasi alur kerja yang berhasil dihimpun berdasarkan hasil wawancara dengan Pak Freddy:

A. Use Case Diagram

Secara garis besar, sistem Instant Laundrymart memiliki tiga aktor utama, yaitu konsumen, petugas, dan pemilik. Berikut use case diagram dari tiga aktor tersebut:

B. Flow Diagram

Pada flow diagram berikut ini, aktor Petugas akan dibagi lagi menjadi beberapa bagian, yaitu Front Desk, Divisi Cuci, dan Divisi Setrika. Berikut flow diagram Instant Laundrymart:

C. Context Diagram

Untuk context diagram, usaha ini masih menggunakan sistem buku kas, sehingga diagram yang terbentuk masih sangat sederhana. Berikut context diagram-nya:

Lampiran:
- Rekaman wawancara: di sini

Sunday, November 27, 2016

Design Pattern - Interpreter

Pada post ini, saya akan membahas tentang salah satu Design Pattern yaitu Interpreter. Sebelumnya, apa itu "design pattern"? Design pattern adalah suatu bentuk solusi untuk menyelesaikan masalah yang sering kali dijumpai ketika mengembangkan suatu perangkat lunak, terutama yang menggunakan Object Oriented Programming (OOP) dalam proses pembuatannya, Dalam sejarahnya, sangat banyak design pattern yang dikembangkan untuk menyelsaikan beragam masalah. Salah satu yang paling populer adalah kumpulan design pattern yang dirancang oleh Erich Gamma, Richard Helm, Ralph Johnson dan John Vlissides pada  tahun 1994 yang ditulis dalam sebuah buku berjudul Design Patterns - Elements of Reusable Object-Oriented Software. Dalam buku tersebut, ada dua puluh tiga macam jenis design pattern yang memiliki ciri-ciri dan kegunaan masing-masing, salah satunya adalah design pattern "Interpreter".

A.  Penjelasan Singkat

 Interpreter adalah salah satu jenis design pattern yang cara kerjanya adalah menerjemahkan (interpreting) suatu kalimat atau ekspresi menjadi sebuah masukkan yang akan menghasilkan perilaku tertentu. Design pattern ini digunakan dalam sistem yang dimana menerjemahkan suatu kalimat menjadi sangat vital dalam fungsi kerjanya, seperti dalam penrjemahan perintah SQL, dimana inputnya merupakan sebuah kalimat utuh.

B. Contoh Struktur (Class Diagram) yang Digunakan

Untuk lebih jelasnya, kita akan mencoba membuat sebuah struktur program sebuah interpreter sederhana dan mengimplementasikannya menjadi sebuah program jadi dalam bahasa Java. Disini akan digunakan contoh dari Tutorialspoint (di sini). Struktur program yang akan kita buat dalam bentuk class diagram dapat dilihat sebagai berikut:



























Dalam contoh tersebut kita akan membuat sebuah program sederhana yang dapat menerjemahkan expresi logika "or" dan "and" Kelas utama dalam program ini adalah kelas InterpreterPatternDemo yang didalamnya terdapat fungsi main dari program ini. Kelas tersebut akan menggunakan kelas Expression, TerminalExpression, OrExpression, dan AndExpression. Kelas TerminalExpression, OrExpression, dan AndExpression merupakan turunan dari kelas Expression.

C. Source Code

Untuk source code yang digunakan dalam contoh ini dapat dilihat di sini atau dari sumbernya di Tutorialspoint (di sini)

D. Contoh Output

Dari source code pada link di atas, akan dihasilkan output sebagai berikut:


(Catatan: dalam contoh ini, input dan aturan dalam "or dan "and" sudah di-hardcode dalam program)

Sumber:
- https://www.tutorialspoint.com/design_pattern
- https://www.tutorialspoint.com/design_pattern/interpreter_pattern.htm


Wednesday, November 2, 2016

Struktur Kerja JNE In More Depth


Pada post yang sebelumnya (di sini), sudah dibahas mengenai visi-misi, organigram, dan SOP yang digunakan oleh JNE. Pada post saya kali ini, saya akan membahas tentang sistem informasi yang sudah dan dapat digunakan oleh JNE dan teknologi informasi yang sudah dan dapat digunakan.

A. Sistem Informasi yang Digunakan
Sistem informasi yang digunakan terbagi kedalam dua kelompok besar, yaitu Operating Support System dan Management Support System

1. Operating Support System

Operating Support System adalah sistem informasi yang digunakan untuk mendukung keperluan operasional suatu perusahaan. Operating Support System dibagi lagi menjadi beberapa bagian sebagai berikut:

a. Transaction Process System

JNE dalam melakukan transaksi menggunakan form pengiriman bernama AWB yang dicetak dari komputer. Form AWB berisikan informasi yang berkaitan dengan barang dan pengiriman. Selain itu data AWB juga masuk dalam sistem Cash Register untuk menyimpan data transaksi perharinya per petugas konter.

b. Enterprise Control System

JNE selain memiliki kantor cabang per kotanya, juga memiliki kios kios kecil yang ikut menerima dan menyerahkan kiriman barang dari dan ke pelanggan. Untuk melayani hal tersebut, Sistem JNE yang dimiliki oleh kios-kios kecil juga ikut terhubung oleh kantor cabang JNE pada setiap kota.

c. Process Control System

JNE memiliki system informasi yang mengelola barang, transaksi, dan informasi pengiriman yaitu My Orion. My Orion ini digunakan baik oleh petugas maupun pelanggan. Pelanggan dapat mengetahui informasi pengiriman barang melalui situs resmi JNE yang terhubung dengan My Orion. Transaksi yang terjadi perhari dikumpulkan terlebih dahulu untuk kemudian dimasukkan ke My Orion oleh petugas.

2. Management Support System

Managament Support System adalah sistem informasi yang digunakan untuk menunjang keperluan manajemen perusahaan. Management Support System juga dibagi menjadi beberapa bagian sebagai berikut:

a. Management Information System

JNE memiliki My Orion yang menyimpan informasi berguna seperti aktifitas pengiriman barang dari berbagai cabang sehingga dapat digunakan untuk mengukur kinerja dari suatu cabang maupun satu keseluruhan JNE itu sendiri, informasi ini tentunya bias dilihat oleh direktur-direktur dikantor pusat maupun pengurus dikantor cabang itu sendiri.

b. Decision Support System

Karena My Orion dapat menyimpan aktifitas pengiriman barang dan dapat mengukur kinerja dari suatu cabang maupun JNE secara keseluruhan, maka informasi dalam My Orion dapat digunakan sebagai bahan evaluasi perusahaan dan pengambilan keputusan suatu perusahaan. Contohnya dengan penutupan cabang merugikan ataupun pembukaan cabang baru.

c. Information Reporting System
Untuk keperluan pelaporan, My Orion juga dapat digunakan untuk melaporkan proses kegiatan kirim mengirim barang. Sementara untuk keperluan pelaporan pada proses  kerja internal perusahaan, JNE masih menggunakan berbagai jenis form dalam bentuk fisik.

d. Excecutive Information System
Untuk Excecutive Information Sysrem, JNE dapat menggunakan sistem yang memungkinkan setiap bidang kerja pada kantor pusat untuk dapat memantau kinerja setiap kantor cabang

C. Teknologi Informasi yang Digunakan
Untuk mendukung sistem informasi di atas, tentunya harus digunakan pula teknologi yang sesuai. Berikut adalah daftar perangkat yang dapat dan sudah digunakan oleh sistem informasi milik JNE:

1. Teknologi masukan (Input Technology)
a. Barcode Scanner
Untuk memindai barcode yang tercetak pada AWB, sehingga informasi pada suatu paket dapat dicari tanpa perlu memasukkan informasi ke computer secara manual (mengetik)

b. Mouse dan Keyboard
Untuk memasukkan input pada Personal Computer (PC) milik Counter

c. Sistem Point of Sales (POS)
Sistem Point of Sales dapat digunakan juga untuk sistem ini sebagai alternatif untuk semakin memudahkan proses transaksi.

2. Teknologi Pengeluaran (Output Technology)
a. Printer
Untuk mencetak berbagai jenis form yang digunakan, termasuk form AWB pada konter

3. Teknologi Perangkat Lunak (Software Technology)
a. My Orion
Merupakan sistem informasi utama yang dimiliki oleh JNE untuk memonitor proses pengiriman paket

b. Microsoft Excel (atau software spreadsheet lainnya)
Untuk pengganti sementara My Orion pada konter jika konter tidak dapat mengakses My Orion pada waktu itu

c. Database Management System (DBMS)
Digunakan untuk membuat database dan mengontrol transaksi data pada database


3. Teknologi Penyimpanan (Storage Technology)
a. Server
Untuk menyimpan data database perusahaan

4. Teknologi Komunikasi  ( Telecomunication Technology)
a. Telepon
b. Email
c. Internet

5. Unit Pemrosesan (Processing Machine/CPU)
a. System Unit

Sumber:
http://dionbarus.com/wp-content/uploads/2014/04/SOP-JNE.pdf

Sunday, October 30, 2016

Component Diagram dan Deployment Diagram dar Video Game "Tetris"

Pada post saya kali, saya akan membahas tentang Component Diagram dan Deployment Diagram. Component Diagram adalah diagram yang mendeskripsikan interaksi antar component (program executables, database, file .dll, dan lainnya)  dalam sebuah sistem software. Deploymen Diagram adalah diagram yang menggambarkan interaksi antara software dan hardware ketika software dijalankan. Untuk contoh, saya akan menggunakan software dari post saya yang sebelumnya.

A. Component Diagram


B. Deployment Diagram 

Sunday, October 16, 2016

Sequence Diagram, Class Diagram, CRC Card, Use Case Diagram, dan Activity Diagram dari Video Game "Tetris"

Tetris merupakan salah satu video game yang sudah sangat dikenal baik oleh masyarakat dunia. Game yang membutuhkan taktik dan koordinasi ini sangat sederhana namun merupakan salah satu batu loncatan dalam perkembangan dunia game. Dalam post saya kali ini, saya akan membedah source code dari salah satu versi Tetris yang ada (Sumber: zetcode.com/gui/wxwidgets/thetetrisgame) untuk membuat Activity Diagram, Use Case Diagram, CRC Card, Class Diagram, dan Sequence Diagram dari source code tersebut. Hal baru yang akan kita bahas di sini adalah Sequence Diagram dan Activity Diagram. Sequence Diagram adalah diagram yang menunjukan alur berjalannya sebuah fungsi dari sebuah kelas dari awal hingga akhir serta hubungan kerjanya dengan objek-objek atau fungsi-fungsi lainnya. Sementara Activity Diagram adalah diagram yang menunjukan alur kerja suatu program secara garis besar.

Dalam kasus ini, kode yang digunakan menggunakan library wxWidget. Pembuatan diagram di bawah tidak akan melibatkan fungsi-fungsi wxWidget yang digunakan.

A. Source Code

Source code yang akan digunakan terbagi menjadi delapan bagian:
1. Pengatur rancangan bentuk:

  • Shape.h
  • Shape.cpp
2. Pengaturan game logic pada Tetris dan mekanisme lainnya: 
  • Board.h
  • Board.cpp
3. Inisiator program Tetris:
  • Tetris.h
  • Tetris.cpp
4. Kelas main program Tetris:
  • main.h
  • main.cpp

Source code dapat dilihat di website sumber (zetcode.com/gui/wxwidgets/thetetrisgame) atau di github.com/antoniuskevin/pplkelasc

Contoh hasil:


B. Sequence Diagram

Pembuatan Sequence Diagram tidak akan terlalu rumit karena sebagian besar dari isi kode di atas adalah fungsi yang tidak berhubungan dengan objek lainnya.

C. Class Diagram

Dari source code di atas, dapat dibuat class diagram-nya sebagai berikut:


D. CRC Card

Dari class diagram di atas, dapat kita buat kumpulan CRC Card yang menggambarkan kelas-kelas di atas sebagai berikut:


E. Use Case Diagram

Dari CRC Card yang ada dapat kita buat Use Case Diagram dari program Tetris ini. Di Use Case Diagram ini, akan terdapat dua aktor, yaitu Player dan Computer/CPU 


F. Activity Diagram

Untuk yang terakhir, dari data yang ada kita dapat membuat Activity Diagram yang menggambarkan alur kerja dari game Tetris sebagai berikut:
Gambar full size dapat dilihat di github.com/antoniuskevin/pplkelasc


Catatan:
- Pembuatan diagram menggunakan software "Star UML", Microsoft Excel, Paint, dan situs web draw.io

Stuktur Kerja JNE Express



Pada post saya kali ini, saya akan memaparkan secara singkat struktur kerja dari perusahaan yang sudah tidak asing lagi bagi kita, yaitu JNE Express. Bagi yang belum tahu, JNE Express adalah salah satu perusahaan jasa pengiriman paket yang cukup besar di Indonesia. Perusahaan yang memiliki kantor pusat di Tomang, Jakarta ini sudah melayani masyarakat Indonesia sejak tahun 1990. Hingga kini, jasa JNE sudah banyak sekali digunakan masyarakat dalam proses pengiriman barang. Di era perdangan online yang semakin berkembang, jasa JNE juga seringkali digunakan untuk mengirimkan barang jualan ke tangan konsumen.

A. Visi dan Misi JNE Express

Berdasarkan website resmi JNE Express ( www.jne.co.id ), visi JNE Express adalah:"Untuk menjadi perusahaan rantai pasok global terdepan di dunia." Sementara misinya adalah:"Untuk memberi pengalaman terbaik kepada pelanggan secara konsisten."

B. Struktur Organisasi JNE Express

Karena JNE merupakan perusahaan jasa pengiriman barang, maka struktur organisasinya secara garis besar dapat dibagi menjadi dua, yaitu struktur di kantor pusat dan struktur di kantor cabang.

a. Struktur Organisasi Kantor Pusat
Berdasarkan blog resmi JNE cabang Bogor ( https://infoagenjne.wordpress.com/pengetahuan-jne/struktur-organisasi ), kantor pusat JNE memiliki struktur organisasi sebagai berikut:

Bagan Struktur Organisasi Kantor Pusat JNE


  • Komisaris: terdiri dari komisaris utama dan sebuah tim komisaris beranggotakan tiga orang
  • Direksi: terdiri dari seorang direktur utama dan empat direktur lainnya yang memimpin beberapa bidang kerja, yaitu direktur keuangan, direktur pelaksanaan, direktur operasional, dan direktur sales dan marketing
  • Direktur akan membawahi beberapa senior manager. Senior manager akan membawahi beberapa manager, dan manager akan membawahi beberapa supervisor


b. Struktur Organisasi Kantor Cabang
,Berdasarkan blog resmi JNE cabang Bogor ( https://infoagenjne.wordpress.com/pengetahuan-jne/struktur-organisasi ), sebuah kantor cabang terdiri dari seorang kepala cabang yang membawahi beberapa departemen, yaitu:

Bagan Struktur Organisasi Kantor Cabang JNE


  • Departemen Keuangan: bertugas mengatur keuangan di kantor cabang
  • Departemen Operasional Inbound: bertugas mengatur proses pengiriman paket dengan alamat tujuan di daerah tempat kantor cabang tersebut berada
  • Departemen Operasional Outbound: bertugas mengatur proses pengiriman paket dengan alamat tujuan di luar daerah tempat kantor cabang tersebut berada 
  •  Departemen Customer Service: bertanggung jawab dalam pelayanan pengaduan pelanggan
  • Departemen Sales dan Marketing Retail : bertanggungjawab terhadap penjualan yang bersifat retail, termasuk didalamnya counter, kantor perwakilan, dan agen, serta melakukan sosialisasi, market, dan branding
  • Departemen Sales Coorporate :bertanggungjawab terhadap penjualan bersifat korporat dan kredit serta melakukan sosialisasi, market dan branding
  • Departemen Information Technology (IT) : bertanggungjawab terhadap kelengkapan dan pemeliharaan teknologi informasi hardware dan software
  • Departemen General Affair dan Purchasing bertanggungjawab melakukan pengadaan, kontrol dan pemeliharaan kelengkapan kantor
  • Departemen Human Resource Development /HRD: bertanggungjawab terhadap administrasi personalia dan pengembangan personalia

C. Standar Operasional Prosedur (SOP) JNE Express

JNE Express memiliki sebuah sistem SOP  pelayanan pelanggan yang dinamakan "Standar Pelaksanaan Layanan Sepenuh Hati". SOP ini terdiri dari tiga tahapan besar yang mencakup pemberian informasi kepada calon pelanggan hingga layanan purna jual/aftersales

a, Tahap 1: Ketika pelanggan bertanya dahulu dan memastikan pilihannya kepada JNE

  • Menyediakan kontak layanan informasi yang terbuka dan mudah dalam akses (nomor handphone, email, dll) 
  • Menyediakan ruang/meja khusus layanan informasi produk JNE dan umum perusahaan, buku informasi/panduan counter/tarif
  •  Memastikan pengetahuan seluruh staf tentang perusahaan dan produk sangat baik 
  • Komunikasi dalam memberikan keterangan informasi kepada pelanggan sangat meyakinkan 
  • Standar komunikasi : SMS, mengangkat telepon, email dll diseragamkan
b. Tahap 2: Ketika pelanggan mengirim atau melaksanakan transaksi
  • Memastikan tampilan bangunan yang standard dan memberikan keyakinan pada pelanggan 
  • Memastikan kemudahan akses pelanggan untuk menuju tempat transaksi (petunjuk dll) 
  • Memastikan pelanggan mudah dan aman dalam memarkir kendaraan 
  • Memastikan kenyamanan pelanggan dalam mengantri (kursi, kartu antrian, hiburan televisi/radio/music, permen, minuman, pengatur udara, bahan bacaan, dll)
  •  Melayani transaksi dengan standar pelayanan transaksi JNE (dari greeting sampai akhir) 
  • Melakukan transaksi sesuai SOP
  •  Memastikan pengembalian uang dengan cepat dan tepat, hindari uang-uang yang tidak baik/rusak 
  • Sediakan layanan lebih (bungkus kiriman, pastikan alat bungkus tersedia baik, dan petugas membantu membungkuskan jika perlu, penyediaan pembungkus (bayar/gratis), form alamat, dll)
  •  Memastikan performa petugas cash sales counter dan staf kantor yang baik dan mengesankan 
  • Memastikan layanan pickup sesuai SOP dan sesuai kebutuhan pelanggan (ketepatan waktu) 
  • Menyediakan payung JNE di counter untuk kemudian staf 
  • Counter membantu pelanggan yang kehujanan ketika akan mengirim atau setelah mengirim, untuk memberikan pengalaman pelanggan yang mengesankan
c. Tahap 3: Ketika pelanggan telah setelah selesai bertransaksi dan produk dieksekusi) 
  • Memastikan SOP penyimpanan dan serah terima dengan baik 
  • Menyimpan paket di counter dengan baik dan aman dan memberi keyakinan kepada pelanggan bahwa paket titipannya berada dalam kondisi aman
  •  Melakukan kontrol kiriman-kiriman strategis untuk memastikan kiriman dieksekusi dengan baik oleh operasional (jadi tidak putus setelah transaksi)   
d. Tahap 4: Purna Jual
  • Memberikan layanan berita kiriman bagi kiriman premium : SS, YES 
  • Memberikan layanan berita pengiriman bagi kiriman strategis (apapun service nya) 
  • Memberikan berita pengiriman secara bertahap (sebelum sampai pun) bagi kiriman-kiriman strategis atau pelanggan yang strategis, artinya harus melakukan kontrol status kiriman. Jangan sampai pelanggan komplain/bertanya duluan pada injure time / batas ETD, karena ini akan membuat tidak puas pelanggan 
  • Menyediakan layanan komplain, klaim dan informasi status kiriman dengan mudah dan cepat (telepon, email, meja informasi langsung, dll)
  •  Memastikan setiap komplain terselesaikan dan dikontrol. Tidak ada yang tertunda 
  • Mengunjungi pelanggan (urutan besar dan strategis) ke rumah/kantor untuk mendengar evaluasi atau memberikan gift 
  • Menghampiri pelanggan yang sedang mengantri, mengajak bicara, meminta evaluasi layanan, atau memberikan gift
  •  Memberikan ucapan selamat (HUT, Hari besar, dll) kepada pelanggan baik untuk pelanggannya, atau sanak keluarganya (akan menjadi merasa sangat terhormat jika kita tau tanggal lahir anak, istrinya), melalui Facebook atau data lain 
  • Memberikan ruang yang mudah untuk pelanggan menyampaikan aspirasi, saran dan kritik (memalui Kotak Saran, SMS, telepon, meja informasi, dll)  

Sumber lain yang digunakan:
http://dionbarus.com/wp-content/uploads/2014/04/SOP-JNE.pdf

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