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
Code accompanying our paper Feature Learning in Infinite-Width Neural Networks

Empirical Experiments in "Feature Learning in Infinite-width Neural Networks" This repo contains code to replicate our experiments (Word2Vec, MAML) in

Edward Hu 37 Dec 14, 2022
EM-POSE 3D Human Pose Estimation from Sparse Electromagnetic Trackers.

EM-POSE: 3D Human Pose Estimation from Sparse Electromagnetic Trackers This repository contains the code to our paper published at ICCV 2021. For ques

Facebook Research 62 Dec 14, 2022
FLSim a flexible, standalone library written in PyTorch that simulates FL settings with a minimal, easy-to-use API

Federated Learning Simulator (FLSim) is a flexible, standalone core library that simulates FL settings with a minimal, easy-to-use API. FLSim is domain-agnostic and accommodates many use cases such a

Meta Research 162 Jan 02, 2023
Accelerating BERT Inference for Sequence Labeling via Early-Exit

Sequence-Labeling-Early-Exit Code for ACL 2021 paper: Accelerating BERT Inference for Sequence Labeling via Early-Exit Requirement: Please refer to re

李孝男 23 Oct 14, 2022
Whisper is a file-based time-series database format for Graphite.

Whisper Overview Whisper is one of three components within the Graphite project: Graphite-Web, a Django-based web application that renders graphs and

Graphite Project 1.2k Dec 25, 2022
A system for quickly generating training data with weak supervision

Programmatically Build and Manage Training Data Announcement The Snorkel team is now focusing their efforts on Snorkel Flow, an end-to-end AI applicat

Snorkel Team 5.4k Jan 02, 2023
Code to accompany the paper "Finding Bipartite Components in Hypergraphs", which is published in NeurIPS'21.

Finding Bipartite Components in Hypergraphs This repository contains code to accompany the paper "Finding Bipartite Components in Hypergraphs", publis

Peter Macgregor 5 May 06, 2022
Ratatoskr: Worcester Tech's conference scheduling system

Ratatoskr: Worcester Tech's conference scheduling system In Norse mythology, Ratatoskr is a squirrel who runs up and down the world tree Yggdrasil to

4 Dec 22, 2022
DrQ-v2: Improved Data-Augmented Reinforcement Learning

DrQ-v2: Improved Data-Augmented RL Agent Method DrQ-v2 is a model-free off-policy algorithm for image-based continuous control. DrQ-v2 builds on DrQ,

Facebook Research 234 Jan 01, 2023
A torch.Tensor-like DataFrame library supporting multiple execution runtimes and Arrow as a common memory format

TorchArrow (Warning: Unstable Prototype) This is a prototype library currently under heavy development. It does not currently have stable releases, an

Facebook Research 536 Jan 06, 2023
A fast, scalable, high performance Gradient Boosting on Decision Trees library, used for ranking, classification, regression and other machine learning tasks for Python, R, Java, C++. Supports computation on CPU and GPU.

Website | Documentation | Tutorials | Installation | Release Notes CatBoost is a machine learning method based on gradient boosting over decision tree

CatBoost 6.9k Jan 04, 2023
A curated (most recent) list of resources for Learning with Noisy Labels

A curated (most recent) list of resources for Learning with Noisy Labels

Jiaheng Wei 321 Jan 09, 2023
Implementation of the paper "Generating Symbolic Reasoning Problems with Transformer GANs"

Generating Symbolic Reasoning Problems with Transformer GANs This is the implementation of the paper Generating Symbolic Reasoning Problems with Trans

Reactive Systems Group 1 Apr 18, 2022
Implementation of FSGNN

FSGNN Implementation of FSGNN. For more details, please refer to our paper Experiments were conducted with following setup: Pytorch: 1.6.0 Python: 3.8

19 Dec 05, 2022
Ranger - a synergistic optimizer using RAdam (Rectified Adam), Gradient Centralization and LookAhead in one codebase

Ranger-Deep-Learning-Optimizer Ranger - a synergistic optimizer combining RAdam (Rectified Adam) and LookAhead, and now GC (gradient centralization) i

Less Wright 1.1k Dec 21, 2022
The official implementation of the research paper "DAG Amendment for Inverse Control of Parametric Shapes"

DAG Amendment for Inverse Control of Parametric Shapes This repository is the official Blender implementation of the paper "DAG Amendment for Inverse

Elie Michel 157 Dec 26, 2022
Code Release for the paper "TriBERT: Full-body Human-centric Audio-visual Representation Learning for Visual Sound Separation"

TriBERT This repository contains the code for the NeurIPS 2021 paper titled "TriBERT: Full-body Human-centric Audio-visual Representation Learning for

UBC Computer Vision Group 8 Aug 31, 2022
MMdet2-based reposity about lightweight detection model: Nanodet, PicoDet.

Lightweight-Detection-and-KD MMdet2-based reposity about lightweight detection model: Nanodet, PicoDet. This repo also includes detection knowledge di

Egqawkq 12 Jan 05, 2023
Source code for Fixed-Point GAN for Cloud Detection

FCD: Fixed-Point GAN for Cloud Detection PyTorch source code of Nyborg & Assent (2020). Abstract The detection of clouds in satellite images is an ess

Joachim Nyborg 8 Dec 22, 2022
Official repository of my book: "Deep Learning with PyTorch Step-by-Step: A Beginner's Guide"

This is the official repository of my book "Deep Learning with PyTorch Step-by-Step". Here you will find one Jupyter notebook for every chapter in the book.

Daniel Voigt Godoy 340 Jan 01, 2023