Implementasi OOP untuk tugas magang tim Ichiro
Nama: Nur Muhammad 'Ainul Yaqin
NRP: 5025201011
Departemen: Teknik Informatika 2020
Program kafe-python
ini menggunakan konsep kasir pada sebuah kafe. Program ini menggunakan 5 class, yaitu MenuItem
, Drink
, Signature
, Food
, dan Snack
. Gunakan script.py
untuk menjalankan (run) program ini.
Pada class MenuItem
ini, terdapat 4 fungsi. Pertama, fungsi __init__
dengan parameter self
, name
, dan price
digunakan untuk menginisialisasi nama dan harga menu (constructor). Kedua, fungsi info
dengan parameter self
digunakan untuk mengembalikan nama menu dan harga menu, yang selanjutnya akan digunakan untuk melakukan output print
. Ketiga, fungsi get_total_price
dengan parameter self
dan count
yang digunakan untuk menghitung harga dari menu yang dipilih, termasuk menambahkan diskon sesuai dengan jumlah pesanan count
. Fungsi ini akan mengembalikan total harga dari menu tersebut. Terakhir, fungsi get_total_snack_price
dengan parameter self
dan count
yang digunakan untuk menghitung harga dari menu snack dan mengembalikan total harga dari menu snack tersebut.
Pada class Drink
ini, terdapat pewarisan atau inheritance dari class MenuItem
. Terdapat 2 fungsi yang merupakan pewarisan dengan beberapa penambahan atau perubahan, yaitu fungsi __init__
dan info
. Pertama, pada fungsi __init__
dengan parameter self
, name
, price
, dan volume
, terdapat pewarisan pada inisialisasi nama dan harga. Kemudian, ditambahkan inisialisasi pada volume dari minuman. Kedua, pada fungsi info
juga terdapat pewarisan, dan hanya ditambahkan volume pada pengembaliannya.
Pada class Signature
ini, terdapat pewarisan atau inheritance dari class MenuItem
. Terdapat 2 fungsi yang merupakan pewarisan dengan beberapa penambahan atau perubahan, yaitu fungsi __init__
dan info
. Pertama, pada fungsi __init__
dengan parameter self
, name
, price
, dan volume
, terdapat pewarisan pada inisialisasi nama dan harga. Kemudian, ditambahkan inisialisasi pada volume dari minuman signature. Kedua, pada fungsi info
juga terdapat pewarisan, dan hanya ditambahkan volume pada pengembaliannya.
Pada class Food
ini, terdapat pewarisan atau inheritance dari class MenuItem
. Terdapat 2 fungsi yang merupakan pewarisan dengan beberapa penambahan atau perubahan, yaitu fungsi __init__
dan info
serta ada fungsi calorie_info
. Pertama, pada fungsi __init__
dengan parameter self
, name
, price
, dan calorie_count
, terdapat pewarisan pada inisialisasi nama dan harga. Kemudian, ditambahkan inisialisasi pada kalori dari makanan. Kedua, pada fungsi info
juga terdapat pewarisan, dan hanya ditambahkan kalori pada pengembaliannya. Dan ketiga, terdapat fungsi calorie_info
dengan parameter self
yang akan menampilkan nilai kalori makanan apabila fungsi dipanggil.
Pada class Snack
ini, terdapat pewarisan atau inheritance dari class MenuItem
. Terdapat 2 fungsi yang merupakan pewarisan dengan beberapa penambahan atau perubahan, yaitu fungsi __init__
dan info
serta ada fungsi calorie_info
. Pertama, pada fungsi __init__
dengan parameter self
, name
, price
, dan calorie_count
, terdapat pewarisan pada inisialisasi nama dan harga. Kemudian, ditambahkan inisialisasi pada kalori dari snack. Kedua, pada fungsi info
juga terdapat pewarisan, dan hanya ditambahkan kalori pada pengembaliannya. Dan ketiga, terdapat fungsi calorie_info
dengan parameter self
yang akan menampilkan nilai kalori snack apabila fungsi dipanggil.
Program ini diawali dengan menampilkan menu-menu minuman (non-signature maupun signature), makanan, serta snack di kafe Ikio. Berikutnya, user akan diberikan pilihan apakah ia akan memilih jenis menu tersebut atau tidak. Apabila ia menjawab Ya
atau ya
pada suatu jenis menu, maka user dapat memilih pilihan menu pada jenis menu tersebut. Selanjutnya, user memasukkan jumlah pesanan yang diinginkan dan akan mendapat diskon sesuai dengan jenis menu. Jika user telah selesai melakukan pesanan, maka akan muncul jumlah uang yang harus dibayarkan dan user memasukkan uang untuk dibayarkan. Apabila uang yang dibayarkan tidak sesuai dengan jumlah yang harus dibayarkan, maka user akan menerima kembalian atau user harus membayar kekurangan uangnya. Jika sudah, program akan selesai.
Pada program hompimpa-suit
ini,