• Tidak ada hasil yang ditemukan

Pemrograman Berorientasi Object dengan Java Teknik Informatika Universitas Muhammadiyah Malang

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pemrograman Berorientasi Object dengan Java Teknik Informatika Universitas Muhammadiyah Malang"

Copied!
6
0
0

Teks penuh

(1)

Pemrograman Berorientasi Object dengan Java

Teknik Informatika

Universitas Muhammadiyah Malang

Tugas 2 -- Semester 2 2011/2012

Pendahuluan

Mahasiswa diminta untuk mengimplementasikan dasar-dasar program Java menggunakan Java SE 5.0.

Tugas dirancang untuk:

- Melatih kemampuan mendisain class di Java

- Melatih pengimplementasian berbagai jenis class di Java - Melatih penggunaan polymorphism

- Melatih error handling di Java

Ini adalah tugas individu dengan bobot 30% total nilai akhir Integritas Akademik

Tugas yang dikumpulkan adalah hasil karya mahasiswa pribadi. Nilai tidak akan diberikan untuk setiap bagian yang tidak dibuat oleh mahasiswa bersangkutan.

Plagiarisme(kecurangan) tidak ditolelir di jurusan Teknik Informatika dan akan mendapatkan sanksi yang serius. Plagiarisme meliputi penyalinan pekerjaan dari mahasiswa lain, internet atau sumber lainnya tanpa menyebutkan referensi dengan jelas. Seringkali mahasiswa belajar dan mengerjakan tugas bersama-sama, kemudian mengumpulkan tugas yang serupa; hal ini termasuk plagiarisme. Harap diperhatikan bahwa mahasiswa harus membuat programnya sendiri meskipun memiliki ide yang sama dengan mahasiswa lain. Perangkat lunak pendeteksi plagiarisme akan digunakan untuk tiap tugas yang dikumpulkan. Hukuman akan diterapkan untuk setiap kasus plagiarisme. Deskripsi Masalah

Skenario merupakan pengembangan dari tugas 1. Tugas kali ini adalah untuk implementasi sistem di geek cafe

Cafe for Geeks

Cafe Geek saat ini telah maju pesat. Cafe sekarang menjual bermacam jenis makanan, yang meliputi: cake, kopi dan shake serta memiliki rencana rewards untuk pelanggan setianya. Jenis cake yang dijual meliputi Blueberry, Pisang, Vanila dan spesial cake yang disebut diet cake. Jenis-jenis kopi meliputi Mocha, Cappuccino, Espresso; sedangkan jenis-jenis shake adalah Mangga, Pisang dan Strawberry. Setiap jenis makanan ini dijual dengan harga sebagaimana ditunjukkan pada tabel di bawah.

(2)

Makanan Harga Dapat Dikombo? Discount Cake Blueberry Rp 3.500,- Yes 10% Pisang Rp 3.500,- Yes 15% Vanila Rp 2.500,- Yes 5% Diet Rp 4.250,- Tidak Kopi Mocha Rp 3.000,- Yes 5% Cappuccino Rp 2.750,- Yes 10% Espresso Rp 2.500,- Tidak Shake Mangga Rp 4.500,- Tidak Pisang Rp 4.250,- Tidak Strawberry Rp 5.000,- Tidak Combo 1 Cake Blueberry + 1 Kopi Mocha

Selain menjual makanan per satuan, cafe juga menjual makanan secara combo dengan harga discount. Combo merupakan combinasi beberapa makanan, misalkan Cake Blueberry dengan Mocha. Harga combo dihitung berdasarkan pada nilai discount per jenis makanan (lihat kolom discount tabel di atas). Manajer cafe dapat membuat dan menghapus combo kapan saja. Namun, ada pembatasan dalam membuat combo, dimana tidak semua makanan bisa dicombo (lihat kolom dapat dikombo).

Pelanggan:

Pelanggan cafe dibedakan menjadi 2, yakni mereka yang terdaftar dan yang tidak terdaftar. Bagi mereka yang terdaftar, mendapat keuntungan dengan mengumpulkan point reward. Untuk setiap proses penjualan, sistem memeriksa apakah pembeli adalah pembeli terdaftar atau bukan. Saat aplikasi pertama kali dijalankan, ada data standar yang di-load ke aplikasi sesuai dengan tabel pelanggan berikut ini

(3)

Nama Pelanggan ID Pelanggan Point

Bambang Urip 001 6

Endang Hayati 002 8

Slamet Sugeng 003 5

Pelanggan yang terdaftar mendapatkan 1 point untuk setiap uang Rp 2.000,- yang dibelanjakan. Setiap point bernilai Rp 500,- dan dapat digunakan untuk melakukan pembelian baru oleh pelanggan yang sama kapanpun juga. Sebagai catatan, cafe tidak memberikan uang tunai sebagai ganti point. Misalkan pelanggan memiliki 10 point, maka dia dapat menggunakan 3 point untuk membeli Cappuccino dengan menambah uang Rp 1.250,-. Tidak ada poin untuk pembelian ini karena uang yang dibayarkan tidak lebih dari Rp 2.000,-. Point dapat digunakan untuk membeli semua jenis makanan. Namun, pelanggan yang tidak terdaftar tidak menerima point.

Cafe:

Cafe dibuka setiap hari dengan 25 cake untuk setiap jenisnya. Manajer cafe dapat memerintahkan untuk membuat 25 cake lagi jika membutuhkan. Kopi dan shake selalu tersedia, dan dibuat langsung saat ada pesanan. Jika pelanggam memesan cake dengan jumlah melebihi persediaan, maka akan dimunculkan pesan bahwa persediaan tidak mencukupi. Cafe menyimpan detail transaksi untuk setiap penjualan yang dilakukan.

Transaksi Jual:

Transaksi pembelian bisa terdiri dari lebih satu macam makanan atau combo. Cafe menyimpan semua transaksi, termasuk makanan yang dijual, jumlah, harga, point yang digunakan dan ID pelanggan. Jika yang membeli adalah mereka yang tidak terdaftar, ID pelanggan yang digunakan adalah “-999”. Daftar transaksi ini digunakan untuk menampilkan laporan penjualan.

Laporan Penjualan:

Manajer dapat melihat laporan penjualan kapanpun. Laporan penjualan ada dua jenis, satu untuk keperluan cafe dan satu untuk keperluan pelanggan. Untuk keperluan cafe, laporan berupa detail penjualan untuk setiap jenis makanan, data pendapatan, discount, sisa cake yang tidak terjual serta point yang digunakan dan yang diberikan. Laporan untuk keperluan pelanggan berupa detail penjualan oleh setiap pelanggan.

Manajemen Cafe:

Kapan saja, manajer dapat mengubah harga setiap makanan, menambah atau menghapus combo serta melihat laporan. Jika manajer mengubah harga ke nilai negatif atau menjadi dua kali harga asal, maka exception harus dilempar dan message harus ditampilkan ke pemakai aplikasi. Jika manajer menambahkan combo dan combo ternyata sudah dibuat atau combo baru mengandung makanan yang tidak boleh dicombo, maka akan dilempar exception dan mucul peringatan untuk pemakai aplikasi.

(4)

Pengerjaan Aplikasi:

1. Gunakan abstract class atau interface dan custom exception untuk memodelkan skenario di atas.

2. Paling sedikit gunakan class hierarki 2 level untuk memodelkan item makanan 3. Gunakan JCF sebagai ganti array

4. Tangani inputan yang masuk agar program tidak berhenti tanpa sebab yang jelas

5. Dianjurkan untuk meng-extends abstract class Makanan ke class Cake, Kopi dan Shake Asusmsi:

1. Tidak ada duplikasi nama pelanggan 2. Harga adalah Rupiah

BAGIAN 1 (total point: 20)

Tampilan menu yang diharapkan adalah: a) Pesan

! ! > Masukkan ID pelanggan, jika bukan tekan enter ! ! > Pilih item makanan / combo

! ! > Masukkan jumlahnya b) Atur Cafe

1. Ubah harga 2. Tambah combo 3. Hapus combo

c) Tampilkan laporan penjualan 1. Laporan item makanan 2. Laporan pelangkan d) Keluar

============================================================= The Geek Cafe

============================================================= a) Pesan

b) Atur Cafe

c) Tampilkan laporan penjualan d) Keluar

Pilih menu: a

Masukkan ID pelanggan (tekan enter untuk lewati): 001 Selamat datang Bambang,

Pilih makanan:

1. Cake Blueberry 2. Cake Vanila 3. Cake Pisang 4. Cake Diet

(5)

5. Kopi Mocha 6. Kopi Cappuccino 7. Kopi Espresso 8. Shake Mangga 9. Shake Pisang 10. Shake Strawberry

11. Combo Cake Blueberry + Kopi Mocha 12. Selesai

Silahkan pilih: 11

Berapa banyak combo yang akan dibeli: 1 Combo: Cake Blueberry + Kopi Mocha dipilih Pilih makanan: 1. Cake Blueberry 2. Cake Vanila 3. Cake Pisang 4. Cake Diet 5. Kopi Mocha 6. Kopi Cappuccino 7. Kopi Espresso 8. Shake Mangga 9. Shake Pisang 10. Shake Strawberry

11. Combo Cake Blueberry + Kopi Mocha 12. Selesai

Silahkan pilih: 2

Berapa banyak cake yang ingin dibeli: 5 Cake Vanila dipilih

Pilih makanan: 1. Cake Blueberry 2. Cake Vanila 3. Cake Pisang 4. Cake Diet 5. Kopi Mocha 6. Kopi Cappuccino 7. Kopi Espresso 8. Shake Mangga 9. Shake Pisang 10. Shake Strawberry

11. Combo Cake Blueberry + Kopi Mocha 12. Selesai

Silahkan pilih: 12

(6)

Total discount: Rp

3.000,-Yang harus dibayar: Rp 15.500,-Silahkan masukkan uang: Rp 20000 Kembalian: Rp

4.500,-Point yang didapatkan: 7

============================================================= The Geek Cafe

============================================================= a) Pesan

b) Atur Cafe

c) Tampilkan laporan penjualan d) Keluar

Pilih menu: a

Selamat tinggal !!! BAGIAN 2 (total point: 10)

Buatlah tambahan class untuk menjalankan aplikasi di bagian 1 dengan mode GUI. Aplikasi bagian 2 ini bisa jadi merupakan pengembangan atau modifikasi dari aplikasi bagian 1. Perlu diperhatikan, bahwa dengan mengerjakan bagian 2, bukan berarti aplikasi berbasis console di bagian 1 tidak dapat dijalankan, namun kedua-duanya dapat dijalankan. Pastikan anda menyelesaikan bagian 1 terlebih dahulu sebelum mengerjakan bagian 2. Jika point bagian 1 tidak mencapai 15 point, dan anda mengerjakan bagian 2, maka bagian 2 didak akan dinilai.

Ketentuan Umum

Nilai akan dikurangi jika mahasiswa tidak mengikuti aturan penulisan program yang baik yang meliputi comments, konsisten indentation, dll (Lihat http://java.sun.com/docs/ codeconv/CodeConventions.pdf).

Pengumpulan Tugas

- Pengumpulan bagian 1 paling lambat Jum’at 1 Juni 2012 pk 17.59 di server lab - Pengumpulan bagian 2 paling lambat Jum’at 8 Juni 2012 pk 17.59 di server lab Mahasiswa harus menyertakan file berikut pada saat pengumpulan:

- semua file java yang berhubungan dengan aplikasi

- file readme.txt yang menjelaskan cara compile aplikasi dan cara menjalankan aplikasi Keterlambatan pengumpulan berakibat pada pengurangan nilai 10% per hari. Keterlambatan lebih dari 5 hari menyebabkan tugas tidak dinilai.

Informasi Lain

Referensi

Dokumen terkait

Skripsi ini yang berjudul "Studi Perbandingan Antara Metode Tanya Jawab Dengan Metode Demonstrasi Terhadap Pre stasi Belajar Siswa SLTP Katolik Santa A gnes

Puji syukur penulis ucapkan ke hadirat Tuhan Yang MaIm Kuasa karena atas segala rahmat-Nya tesis dengan judul "Analisis Hubungan Kepemilikan Saham Manajerial,

Saya senang sekali tinggal di hotel ini karena kalau mau berenang, saya bisa memilih: di kolam renang atau di pantai Sanur yang hanya duapuluh meter dari kamar saya.. Kami

Salah satu cara Harian Amanah mampu bersaingan dengan harian lokal lainnya adalah mengenai konsep produksi. Perbedaan Harian amanah dengan koran umum

Diangkat sebagai anggota Komite Tata Kelola Terintegrasi BCA pada tanggal 13 Desember 2016 sesuai dengan Surat Keputusan Direksi No. 180/SK/ DIR/2016 dan berdasarkan keputusan

ilmu sastra Pengantar: menunjukkan posisi teori sastra postrukturalisme dalam ilmu sastra 20” Ceramah kompoter, power point dan LCD Madan Sarup.. Post- Structuralism

Pada era globalisasi yang penuh cabaran di mana ilmu tersebar luas dan datang dari pelbagaipunca, negara memerlukan modal insan yang bukan sahaja memiliki pengetahuan

learning outcome berorientasi keunikan atribut lulusan; dan (c) Optimalisasi pembelajaran berorientasi student center learning dan IT based learning. Berdasarkan program yang