Project Tugas Besar pertama Pengenalan Komputasi Institut Teknologi Bandung

Overview

Vending_Machine_(Mesin_Penjual_Minuman)

Project Tugas Besar pertama Pengenalan Komputasi Institut Teknologi Bandung

Raw Sketch untuk Essay

Ringkasan

Pada tugas besar ini, kami akan membuat suatu program yang merepresentasikan sebuah Vending Machine atau Mesin Penjual Otomatis. Mesin ini akan menerima uang, menampilkan display minuman, memberikan diskon pada situasi tertentu, mengecek uang, memberi kembalian, serta memberikan output berupa minuman kepada pembeli.

Menampilkan Display

"Sebagai penjual, kami ingin pelanggan dapat melihat barang apa saja yang tersedia pada mesin kami."

Mesin akan menampilkan display ketika ada pelanggan yang ingin membeli minuman. Mesin akan menampilkan minuman-minuman yang tersedia pada mesin termasuk Kode Minuman, Nama Minuman, dan Harga Minuman. Pada proses ini, tampilan sangat berperan penting dalam memikat hati pelanggan. Maka dari itu, kami membuat bagian display ini semenarik mungkin.

Memilih Produk

"Sebagai penjual, kami ingin para pelanggan dapat memilih produk yang ditawarkan oleh mesin."

Kami menyediakan berbagai minuman pada mesin kami. Terdapat aneka teh, kopi, dan soft drink. Minuman jenis teh kami identifikasikan dengan kode 1, minuman jenis kopi kami identifikasikan dengan kode 2, serta jenis soft drink dengan kode 3. Masing-masing jenis terdapat 3 produk berbeda misalnya pada soft drink, terdapat Sprite, Fanta, dan Coca Cola.

Ketika pelanggan sudah menentukan minuman yang ingin mereka beli, mesin akan meminta Kode Minuman kepada pelanggan. Di sini, pelanggan harus memasukkan kode dengan benar supaya Mesin Penjual Minuman dapat berjalan dengan lancar.

Verifikasi Produk

"Sebagai penjual, kami tidak ingin mengecewakan pelanggan. Salah satunya adalah ketika pelanggan tidak sengaja memasukkan kode yang salah."

Dalam hal ini, dibuatlah program untuk memverifikasi suatu produk. Ketika pelanggan sudah memasukkan Kode Minuman, mesin akan memberikan pilihan kepada pelanggan. “Anda akan membeli Fanta. Apakah Anda sudah yakin?”. Jika barang yang ingin dibeli oleh pelanggan sudah benar, pelanggan akan diarahkan untuk menekan tombol “Ya” sebagai bentuk verifikasi kepada mesin. Namun, jika pelanggan keliru memasukkan kode, maka pelanggan harus menekan tombol “Tidak”.

Memberi Diskon

"Sebagai penjual, kamu ingin memberikan diskon khusus bagi mahasiswa ITB dan FMIPA ITB."

Setelah verifikasi produk, mesin akan menanyakan satu hal dari pelanggan sebelum beralih ke pembayaran. Di sini mesin akan menanyakan apakah pelanggan adalah Mahasiswa ITB atau bukan. Jika pelanggan adalah mahasiswa ITB, mesin akan memberikan diskon sebesar 10 %. Jika pelanggan adalah mahasiswa FMIPA ITB, mesin akan memberikan diskon sebesar 40 %.

Supaya mesin dapat mengenali pelanggan, mesin akan meminta NIM dari pelanggan. Jika NIM yang dimasukkan memiliki angka 160xxxxx, maka pelanggan tersebut adalah mahasiswa FMIPA ITB. Jika NIM yang dimasukkan memiliki angka 1xxxxxxx, maka pelanggan adalah mahasiswa ITB.

Menerima Uang

"Sebagai penjual, kami menginginkan mesin yang dapat menghitung dan menerima uang. Supaya kami dapat mengambil keuntungan dari sana."

Setelah penentuan diskon, mesin kami akan menghitung jumlah uang yang harus dimasukkan oleh pelanggan. Jika pelanggan memasukkan uang dengan nominal yang kurang dari harga minuman, maka mesin akan terus meminta jumlah uang yang kurang. Namun, jika pelanggan memasukkan uang dengan nominal yang lebih, mesin akan memberi kembalian kepada pelanggan.

Catatan: Tujuannya adalah untuk membuat program yang dapat menghitung jumlah uang yang harus dibayar serta mengenali nominal uang.

Memberi Minuman

Hal terakhir yang sangat krusial adalah memberi output berupa minuman kepada pelanggan.

Mesin kami akan memberi minuman sesuai dengan kode yang sudah dimasukkan oleh pelanggan. Kami juga memberikan pesan kepada pelanggan berupa “Terima kasih telah mengunjungi Mesin Penjual Minuman Kami.” “Have a Nice Day!”.

Owner
QueenLy
Bananas without the B is just pineapples
QueenLy
Simulation of self-focusing of laser beams in condensed media

What is it? Program for scientific research, which allows to simulate the phenomenon of self-focusing of different laser beams (including Gaussian, ri

Evgeny Vasilyev 13 Dec 24, 2022
Cupytorch - A small framework mimics PyTorch using CuPy or NumPy

CuPyTorch CuPyTorch是一个小型PyTorch,名字来源于: 不同于已有的几个使用NumPy实现PyTorch的开源项目,本项目通过CuPy支持

Xingkai Yu 23 Aug 17, 2022
SpecAugmentPyTorch - A Pytorch (support batch and channel) implementation of GoogleBrain's SpecAugment: A Simple Data Augmentation Method for Automatic Speech Recognition

SpecAugment An implementation of SpecAugment for Pytorch How to use Install pytorch, version=1.9.0 (new feature (torch.Tensor.take_along_dim) is used

IMLHF 3 Oct 11, 2022
Multi-Glimpse Network With Python

Multi-Glimpse Network Multi-Glimpse Network: A Robust and Efficient Classification Architecture based on Recurrent Downsampled Attention arXiv Require

9 May 10, 2022
Image-Scaling Attacks and Defenses

Image-Scaling Attacks & Defenses This repository belongs to our publication: Erwin Quiring, David Klein, Daniel Arp, Martin Johns and Konrad Rieck. Ad

Erwin Quiring 163 Nov 21, 2022
Official codebase for Legged Robots that Keep on Learning: Fine-Tuning Locomotion Policies in the Real World

Legged Robots that Keep on Learning Official codebase for Legged Robots that Keep on Learning: Fine-Tuning Locomotion Policies in the Real World, whic

Laura Smith 70 Dec 07, 2022
RL agent to play μRTS with Stable-Baselines3

Gym-μRTS with Stable-Baselines3/PyTorch This repo contains an attempt to reproduce Gridnet PPO with invalid action masking algorithm to play μRTS usin

Oleksii Kachaiev 24 Nov 11, 2022
Implementation of Squeezenet in pytorch, pretrained models on Cifar 10 data to come

Pytorch Squeeznet Pytorch implementation of Squeezenet model as described in https://arxiv.org/abs/1602.07360 on cifar-10 Data. The definition of Sque

gaurav pathak 86 Oct 28, 2022
Keras implementation of AdaBound

AdaBound for Keras Keras port of AdaBound Optimizer for PyTorch, from the paper Adaptive Gradient Methods with Dynamic Bound of Learning Rate. Usage A

Somshubra Majumdar 132 Sep 23, 2022
Winners of the Facebook Image Similarity Challenge

Winners of the Facebook Image Similarity Challenge

DrivenData 111 Jan 05, 2023
Public Models considered for emotion estimation from EEG

Emotion-EEG Set of models for emotion estimation from EEG. Composed by the combination of two deep-learing models learning together (RNN and CNN) with

Victor Delvigne 21 Dec 23, 2022
Adversarial examples to the new ConvNeXt architecture

Adversarial examples to the new ConvNeXt architecture To get adversarial examples to the ConvNeXt architecture, run the Colab: https://github.com/stan

Stanislav Fort 19 Sep 18, 2022
A novel framework to automatically learn high-quality scanning of non-planar, complex anisotropic appearance.

appearance-scanner About This repository is an implementation of the neural network proposed in Free-form Scanning of Non-planar Appearance with Neura

Xiaohe Ma 14 Oct 18, 2022
The source codes for ACL 2021 paper 'BoB: BERT Over BERT for Training Persona-based Dialogue Models from Limited Personalized Data'

BoB: BERT Over BERT for Training Persona-based Dialogue Models from Limited Personalized Data This repository provides the implementation details for

124 Dec 27, 2022
Lava-DL, but with PyTorch-Lightning flavour

Deep learning project seed Use this seed to start new deep learning / ML projects. Built in setup.py Built in requirements Examples with MNIST Badges

Sami BARCHID 4 Oct 31, 2022
Object-aware Contrastive Learning for Debiased Scene Representation

Object-aware Contrastive Learning Official PyTorch implementation of "Object-aware Contrastive Learning for Debiased Scene Representation" by Sangwoo

43 Dec 14, 2022
Sequence-to-Sequence learning using PyTorch

Seq2Seq in PyTorch This is a complete suite for training sequence-to-sequence models in PyTorch. It consists of several models and code to both train

Elad Hoffer 514 Nov 17, 2022
Automatic number plate recognition using tech: Yolo, OCR, Scene text detection, scene text recognation, flask, torch

Automatic Number Plate Recognition Automatic Number Plate Recognition (ANPR) is the process of reading the characters on the plate with various optica

Meftun AKARSU 52 Dec 22, 2022
CM building dataset Timisoara

CM_building_dataset_Timisoara Date created: Febr-2020 The Timi\c{s}oara Building Dataset - TMBuD - is composed of 160 images with the resolution of 76

Orhei Ciprian 5 Sep 07, 2022
NICE-GAN — Official PyTorch Implementation Reusing Discriminators for Encoding: Towards Unsupervised Image-to-Image Translation

NICE-GAN-pytorch - Official PyTorch implementation of NICE-GAN: Reusing Discriminators for Encoding: Towards Unsupervised Image-to-Image Translation

Runfa Chen 208 Nov 25, 2022