Anda di halaman 1dari 17

1.

LAPORAN INTI
1.1. Hasil Tugas 1
1.1.1 Eksplorasi Konsep
Vending machine merupakan suatu alat atau mesin yang menjual
barang secara otomatis. Vending machine tidak membutuhkan tenaga operator
(dapat beroperasi secara standalone) untuk menjual dan melayani transaksi
pembelian suatu barang. Keunggulannya, konsumen dapat langsung memilih
sendiri barang yang diinginkan. Dengan begitu, proses jual-beli dapat lebih
mudah, efisiensi, praktis dan tidak menghabiskan waktu yang banyak.
Di masa perkuliahan, waktu merupakan suatu hal yang esensial bagi
mahasiswa, khususnya mahasiswa ITB. Penjualan makanan secara
konvensional terkadang tidak efisien dan menghabiskan banyak waktu seperti
adanya antrian, sistem pembayaran yang kurang efektif, dan penyajian
makanan yang relatif lama sehingga dibutuhkan suatu inovasi untuk mengatasi
masalah tersebut. Oleh karena itu, kami membuat vending machine yang
menjual berbagai makanan dan minuman secara langsung agar mahasiswa
dapat memanfaatkan waktunya secara efektif dan efisien.

1.1.2 Tujuan
Tujuan dari pembuatan program vending machine ini adalah :
2.1.2.1 Memudahkan mahasiswa untuk mendapatkan makanan /
minuman yang dibutuhkan pada saat masa perkuliahan.
2.1.2.2 Menyediakan Burger, Hotdog, Ayam suwir, Onigiri, Air putih ,
Coca cola, dan Susu UHT dengan cepat dan mudah.

1.1.3 Dekomposisi Persoalan


Pada rancangan ini, kami akan menggunakan sistem vending machine
untuk menawarkan makanan dan minuman, vending machine rancangan kami
akan menawarkan Burger, Hotdog, Ayam suwir, Onigiri, Air putih , Coca cola,
dan Susu UHT. Satu hal yang membuat vending machine ini unik adalah
adanya sistem cleansing, yaitu vending machine secara otomatis akan
membersihkan tombol-tombol operasional setelah konsumen melakukan
transaksi, sehingga kebersihan vending machine tetap terjaga dan konsumen
berikutnya dapat merasa lebih aman dan nyaman ketika menggunakan vending
machine tersebut. Selain itu, vending machine ini terintegrasi dengan
pembayaran digital seperti Gopay, OVO, Dana, dan ShopeePay sehingga
pembayaran menjadi lebih efisien. Vending machine ini nantinya akan
diletakkan di tempat yang biasanya ramai orang, seperti di kantin universitas,
pintu gerbang universitas, co-working space, dan gedung kuliah umum.

1
1.2 Hasil Tugas 2
Pada vending machine ini, kami menjual Burger, Hotdog, Ayam suwir, Onigiri, Air putih,
Coca cola, dan Susu UHT dengan input-proses-output sebagai berikut.

1.2.1 Input
User menginput uang dengan ketentuan diatas Rp 5000,00. Lalu user
menginput barang yang ingin dibeli beserta jumlahnya.
1.2.2 Proses
Mesin akan memproses barang yang dipilih dengan uang yang diinput.
Bila uang yang diinput kurang dari harga barang yang dipilih, maka user akan
diminta untuk mengurangi / mengganti barang yang dipilih. Selain itu, user
bisa menginput kembali uang apabila barang yang dipilih melebihi uang yang
diinput sebelumnya, ataupun bisa user ingin menambah barang yang ingiin
dibeli.

2
1.2.3 Output
Setelah transaksi berhasil, barang yang sudah dipilih akan keluar. dan
menampilkan struk pembelian

3
1.3. Hasil Tugas 3 (Source Code Program)

from tkinter import *


from tkinter import messagebox
from tkinter import font
import datetime as dt

''' INISIASI VARIABEL '''


list_produk = [["Burger",15000],
["Hotdog",15000],
["Ayam suwir",20000],
["Onigiri",10000],
["Air putih",5000],
["Coca cola",10000],
["Susu UHT",10000]]

list_jumlah_produk = [0 for i in range(len(list_produk))]

list_total_harga = [0 for i in range(len(list_produk))]

''' FUNGSI UNTUK OPERASI SERTA MENAMPILKAN JUMLAH BARANG DAN TOTAL HARGA '''
def label_jumlah():
global window2
global list_jumlah_produk
global list_total_harga
global total_harga

for i in range(len(list_total_harga)):
list_total_harga[i] = list_produk[i][1]*list_jumlah_produk[i]

total_harga = list_total_harga[0] + list_total_harga[1] + list_total_harga[2] + list_total_harga[3] +


list_total_harga[4] + list_total_harga[5] + list_total_harga[6]

label_jml_barang_1 = Label(window2,text=f"{list_jumlah_produk[0]}")
label_total_harga_1 = Label(window2,text=f"{list_total_harga[0]:,}")
label_jml_barang_1.place(x=194,y=50+20*1,width=60)
label_total_harga_1.place(x=296,y=50+20*1,width=100)

label_jml_barang_2 = Label(window2,text=f"{list_jumlah_produk[1]}")
label_total_harga_2 = Label(window2,text=f"{list_total_harga[1]:,}")

4
label_jml_barang_2.place(x=194,y=50+20*2,width=60)
label_total_harga_2.place(x=296,y=50+20*2,width=100)

label_jml_barang_3 = Label(window2,text=f"{list_jumlah_produk[2]}")
label_total_harga_3 = Label(window2,text=f"{list_total_harga[2]:,}")
label_jml_barang_3.place(x=194,y=50+20*3,width=60)
label_total_harga_3.place(x=296,y=50+20*3,width=100)

label_jml_barang_4 = Label(window2,text=f"{list_jumlah_produk[3]}")
label_total_harga_4 = Label(window2,text=f"{list_total_harga[3]:,}")
label_jml_barang_4.place(x=194,y=50+20*4,width=60)
label_total_harga_4.place(x=296,y=50+20*4,width=100)

label_jml_barang_5 = Label(window2,text=f"{list_jumlah_produk[4]}")
label_total_harga_5 = Label(window2,text=f"{list_total_harga[4]:,}")
label_jml_barang_5.place(x=194,y=50+20*5,width=60)
label_total_harga_5.place(x=296,y=50+20*5,width=100)

label_jml_barang_6 = Label(window2,text=f"{list_jumlah_produk[5]}")
label_total_harga_6 = Label(window2,text=f"{list_total_harga[5]:,}")
label_jml_barang_6.place(x=194,y=50+20*6,width=60)
label_total_harga_6.place(x=296,y=50+20*6,width=100)

label_jml_barang_7 = Label(window2,text=f"{list_jumlah_produk[6]}")
label_total_harga_7 = Label(window2,text=f"{list_total_harga[6]:,}")
label_jml_barang_7.place(x=194,y=50+20*7,width=60)
label_total_harga_7.place(x=296,y=50+20*7,width=100)

label_total_harga = Label(window2,text=f"Rp{total_harga:,}",bg="#8a8787",foreground="black")
label_total_harga.place(x=296,y=50+20*8,width=100)

''' FUNGSI UNTUK AKSI DARI TOMBOL TAMBAH '''


def tambah_produk_1():
global list_jumlah_produk
list_jumlah_produk[0] += 1
label_jumlah()

def tambah_produk_2():
global list_jumlah_produk

5
list_jumlah_produk[1] += 1
label_jumlah()

def tambah_produk_3():
global list_jumlah_produk
list_jumlah_produk[2] += 1
label_jumlah()

def tambah_produk_4():
global list_jumlah_produk
list_jumlah_produk[3] += 1
label_jumlah()

def tambah_produk_5():
global list_jumlah_produk
list_jumlah_produk[4] += 1
label_jumlah()

def tambah_produk_6():
global list_jumlah_produk
list_jumlah_produk[5] += 1
label_jumlah()

def tambah_produk_7():
global list_jumlah_produk
list_jumlah_produk[6] += 1
label_jumlah()

''' FUNGSI UNTUK AKSI DARI TOMBOL KURANG '''


def kurang_produk_1():
global list_jumlah_produk
if list_jumlah_produk[0] > 0:
list_jumlah_produk[0] -= 1
label_jumlah()

def kurang_produk_2():
global list_jumlah_produk
if list_jumlah_produk[1] > 0:
list_jumlah_produk[1] -= 1
label_jumlah()

6
def kurang_produk_3():
global list_jumlah_produk
if list_jumlah_produk[2] > 0:
list_jumlah_produk[2] -= 1
label_jumlah()

def kurang_produk_4():
global list_jumlah_produk
if list_jumlah_produk[3] > 0:
list_jumlah_produk[3] -= 1
label_jumlah()

def kurang_produk_5():
global list_jumlah_produk
if list_jumlah_produk[4] > 0:
list_jumlah_produk[4] -= 1
label_jumlah()

def kurang_produk_6():
global list_jumlah_produk
if list_jumlah_produk[5] > 0:
list_jumlah_produk[5] -= 1
label_jumlah()

def kurang_produk_7():
global list_jumlah_produk
if list_jumlah_produk[6] > 0:
list_jumlah_produk[6] -= 1
label_jumlah()

''' FUNGSI UNTUK MERESET SEMUA JUMLAH BARANG MENJADI NOL '''
def reset():
global window2
global list_jumlah_produk

list_jumlah_produk = [0 for i in range(len(list_jumlah_produk))]

label_jumlah()

7
# FUNGSI UNTUK MEMBATALKAN TRANSAKSI
def batal():
global window2
global saldo
reset()

window2.destroy()
show_uang_kembali = messagebox.showinfo(message=f"Uang Anda sebesar Rp{saldo:,} telah
dikembalikan.")

# FUNGSI UNTUK MENAMBAH SALDO


def tambahkan_saldo():
global entry_tambah_saldo
global saldo_tambahan
global saldo

if (entry_tambah_saldo.get()) == "":
show_warning = messagebox.showwarning(message=f"Anda belum memasukkan nominal saldo yang
akan ditambahkan.\nSilakan masukkan nominal terlebih dahulu.")

else:
saldo_tambahan = int(entry_tambah_saldo.get())
entry_tambah_saldo.delete(0,END)

saldo += saldo_tambahan

show_saldo = Label(window2,text=f"Rp{saldo:,}",font=font.Font(size=10))
show_saldo.place(x=296,y=295,width=100)

# FUNGSI UNTUK MENAMPILKAN KOLOM


def kolom(window_x):
## PILIHAN BARANG
label_barang = Label(window_x,text="Barang",bg="yellow")
label_barang.place(x=10,y=50,width=120)
## HARGA
label_harga = Label(window_x,text="Harga",bg="yellow")
label_harga.place(x=132,y=50,width=60)
## JUMLAH BARANG
label_jml_barang = Label(window_x,text="Jumlah Barang",bg="yellow")
label_jml_barang.place(x=194,y=50,width=100)

8
## TOTAL HARGA BELANJA
label_total_belanja = Label(window_x,text="Total Harga",bg="yellow")
label_total_belanja.place(x=296,y=50,width=100)

''' ================== FUNGSI UNTUK MENJALANKAN AKSI DI WINDOW 3


================== '''
def window__3():
global lebar_layar
global tinggi_layar
global window3
global saldo
global total_harga
global list_jumlah_produk

if total_harga > 0:
if saldo < total_harga:
show_saldo_kurang = messagebox.showwarning(message="Saldo Anda kurang. Silakan tambah saldo
Anda terlebih dahulu.")

else:
konfirmasi = messagebox.askquestion(message="Tindakan ini akan langsung melakukan pembayaran.
Anda yakin ingin lanjut?")
if konfirmasi == "yes":
window3 = Toplevel()
window3.title("STRUK BELANJA")
window3.geometry(f"300x470+{int(lebar_layar/2 - 300/2)}+{int(tinggi_layar/2 - 470/2)}")
window3.resizable(False,False)
window3.configure(bg="white")

list_jumlah_produk_win3 = list_jumlah_produk
total_harga_win3 = total_harga

reset()
window2.destroy()

bayar = saldo
kembali = bayar - total_harga_win3

Label(window3,text="="*50,bg='white').place(y=0,width=300)
judul_struk = Label(window3,text="STRUK BELANJA",bg='white',font=font.Font(size=12))

9
Label(window3,text="="*50,bg='white').place(y=40,width=300)

judul_struk.place(y=20,width=300)

waktu = dt.datetime.now().strftime('%d/%m/%Y, %H:%M')

show_waktu = Label(window3,text=waktu,bg="white")
show_waktu.place(y=60,width=300)

Label(window3,text="-"*80,bg="white").place(y=100,width=300)
Label(window3,text="PRODUK",bg="white").place(x=10,y=115)
Label(window3,text="JUMLAH",bg="white").place(x=165,y=115)
Label(window3,text="HARGA",bg="white").place(x=245,y=115)
Label(window3,text="-"*80,bg="white").place(y=130,width=300)

x=1
for i in range(len(list_jumlah_produk_win3)):
if (list_jumlah_produk_win3[i] > 0):
Label(window3,text=list_produk[i][0],bg="white").place(x=10,y=130+20*x)

Label(window3,text=f"x{list_jumlah_produk_win3[i]}",bg="white").place(x=165,y=130+20*x,width=50)

Label(window3,text=f"{(list_produk[i][1])*(list_jumlah_produk_win3[i]):,}",bg="white").place(x=255,y=130+
20*x)
x += 1

Label(window3,text="-"*80,bg="white").place(y=130+20*x,width=300)

x += 1
Label(window3,text="TOTAL",bg="white",justify="right").place(x=10,y=130+20*x)

Label(window3,text=f"Rp{total_harga_win3:,}",bg="white",justify="right").place(x=235,y=130+20*x)

x += 2
Label(window3,text="BAYAR",bg="white").place(x=10,y=130+20*x)
Label(window3,text=f"Rp{bayar:,}",bg="white",justify="right").place(x=235,y=130+20*x)

x += 1
Label(window3,text="KEMBALI",bg="white").place(x=10,y=130+20*x)
Label(window3,text=f"Rp{kembali:,}",bg="white",justify="right").place(x=235,y=130+20*x)

10
x += 2
Label(window3,text="="*50,bg='white').place(y=130+20*x,width=300)

x += 1
Label(window3,text="TERIMA KASIH",bg='white').place(y=130+20*x,width=300)

x += 1
Label(window3,text="="*50,bg='white').place(y=130+20*x,width=300)

''' ================ FUNGSI UNTUK MENJALANKAN AKSI DI WINDOW 2 ================ '''


def window_2():
global lebar_layar
global tinggi_layar
global window2
global saldo
global saldo_tambahan
global total_harga
global entry_tambah_saldo

window2 = Toplevel()
window2.title("PEMILIHAN PRODUK")
window2.geometry(f"405x400+{int(lebar_layar/2 - 405/2)}+{int(tinggi_layar/2 - 400/2)}")
window2.resizable(False,False)
window2.configure(bg="#B4F0F0")

label_jumlah()

''' ============ JUDUL WINDOW2 ============ '''


judul_window2 = Label(window2,text="VENDING MACHINE",font=font.Font(size=16),bg="#B4F0F0")
judul_window2.place(x=0,y=10,width=405)

kolom(window2)

''' ============ DAFTAR PRODUK ============ '''


## DAFTAR BARANG
label_barang_1 = Label(window2,text=list_produk[0][0])
label_barang_2 = Label(window2,text=list_produk[1][0])
label_barang_3 = Label(window2,text=list_produk[2][0])
label_barang_4 = Label(window2,text=list_produk[3][0])

11
label_barang_5 = Label(window2,text=list_produk[4][0])
label_barang_6 = Label(window2,text=list_produk[5][0])
label_barang_7 = Label(window2,text=list_produk[6][0])

label_barang_1.place(x=10,y=50+20*1,width=120)
label_barang_2.place(x=10,y=50+20*2,width=120)
label_barang_3.place(x=10,y=50+20*3,width=120)
label_barang_4.place(x=10,y=50+20*4,width=120)
label_barang_5.place(x=10,y=50+20*5,width=120)
label_barang_6.place(x=10,y=50+20*6,width=120)
label_barang_7.place(x=10,y=50+20*7,width=120)

## DAFTAR HARGA
label_harga_1 = Label(window2,text=f"{list_produk[0][1]:,}")
label_harga_2 = Label(window2,text=f"{list_produk[1][1]:,}")
label_harga_3 = Label(window2,text=f"{list_produk[2][1]:,}")
label_harga_4 = Label(window2,text=f"{list_produk[3][1]:,}")
label_harga_5 = Label(window2,text=f"{list_produk[4][1]:,}")
label_harga_6 = Label(window2,text=f"{list_produk[5][1]:,}")
label_harga_7 = Label(window2,text=f"{list_produk[6][1]:,}")

label_harga_1.place(x=132,y=50+20*1,width=60)
label_harga_2.place(x=132,y=50+20*2,width=60)
label_harga_3.place(x=132,y=50+20*3,width=60)
label_harga_4.place(x=132,y=50+20*4,width=60)
label_harga_5.place(x=132,y=50+20*5,width=60)
label_harga_6.place(x=132,y=50+20*6,width=60)
label_harga_7.place(x=132,y=50+20*7,width=60)

''' ======================= LABEL ======================= '''


label_saldo = Label(window2,text="SALDO",bg="grey",font=font.Font(size=12))
label_saldo.place(x=296,y=270,width=100)

show_saldo = Label(window2,text=f"Rp{saldo:,}",font=font.Font(size=10))
show_saldo.place(x=296,y=295,width=100,height=30)

''' ===================== ENTRY ===================== '''


entry_tambah_saldo = Entry(window2,textvariable=StringVar,font=font.Font(size=10),justify="center")
entry_tambah_saldo.place(x=10,y=300,width=205,height=25)

12
''' ======================= TOMBOL ======================= '''
# TOMBOL TAMBAH
tombol_tambah_1 =
Button(window2,text="+",bg="green",foreground="white",font=(font.BOLD,7),command=tambah_produk_1)
tombol_tambah_2 =
Button(window2,text="+",bg="green",foreground="white",font=(font.BOLD,7),command=tambah_produk_2)
tombol_tambah_3 =
Button(window2,text="+",bg="green",foreground="white",font=(font.BOLD,7),command=tambah_produk_3)
tombol_tambah_4 =
Button(window2,text="+",bg="green",foreground="white",font=(font.BOLD,7),command=tambah_produk_4)
tombol_tambah_5 =
Button(window2,text="+",bg="green",foreground="white",font=(font.BOLD,7),command=tambah_produk_5)
tombol_tambah_6 =
Button(window2,text="+",bg="green",foreground="white",font=(font.BOLD,7),command=tambah_produk_6)
tombol_tambah_7 =
Button(window2,text="+",bg="green",foreground="white",font=(font.BOLD,7),command=tambah_produk_7)

tombol_tambah_1.place(x=274,y=50+20*1,width=20)
tombol_tambah_2.place(x=274,y=50+20*2,width=20)
tombol_tambah_3.place(x=274,y=50+20*3,width=20)
tombol_tambah_4.place(x=274,y=50+20*4,width=20)
tombol_tambah_5.place(x=274,y=50+20*5,width=20)
tombol_tambah_6.place(x=274,y=50+20*6,width=20)
tombol_tambah_7.place(x=274,y=50+20*7,width=20)

# TOMBOL KURANG
tombol_kurang_1 =
Button(window2,text="-",bg="red",foreground="white",font=(font.BOLD,7),command=kurang_produk_1)
tombol_kurang_2 =
Button(window2,text="-",bg="red",foreground="white",font=(font.BOLD,7),command=kurang_produk_2)
tombol_kurang_3 =
Button(window2,text="-",bg="red",foreground="white",font=(font.BOLD,7),command=kurang_produk_3)
tombol_kurang_4 =
Button(window2,text="-",bg="red",foreground="white",font=(font.BOLD,7),command=kurang_produk_4)
tombol_kurang_5 =
Button(window2,text="-",bg="red",foreground="white",font=(font.BOLD,7),command=kurang_produk_5)
tombol_kurang_6 =
Button(window2,text="-",bg="red",foreground="white",font=(font.BOLD,7),command=kurang_produk_6)
tombol_kurang_7 =
Button(window2,text="-",bg="red",foreground="white",font=(font.BOLD,7),command=kurang_produk_7)

13
tombol_kurang_1.place(x=254,y=50+20*1,width=20)
tombol_kurang_2.place(x=254,y=50+20*2,width=20)
tombol_kurang_3.place(x=254,y=50+20*3,width=20)
tombol_kurang_4.place(x=254,y=50+20*4,width=20)
tombol_kurang_5.place(x=254,y=50+20*5,width=20)
tombol_kurang_6.place(x=254,y=50+20*6,width=20)
tombol_kurang_7.place(x=254,y=50+20*7,width=20)

# TOMBOL RESET
tombol_reset = Button(window2,text="RESET",bg="#8a8787",font=font.Font(size=7),command=reset)
tombol_reset.place(x=194,y=50+20*8,width=100)

# TOMBOL BATAL
tombol_batal = Button(window2,text="BATAL",font=font.Font(size=10),command=batal)
tombol_batal.place(x=10,y=350,width=100)

# TOMBOL BAYAR
tombol_bayar = Button(window2,text="BAYAR",font=font.Font(size=10),command=window__3)
tombol_bayar.place(x=115,y=350,width=100)

# TOMBOL TAMBAH SALDO


tombol_tambah_saldo = Button(window2,text="TAMBAH
SALDO",font=font.Font(size=10),command=tambahkan_saldo)
tombol_tambah_saldo.place(x=10,y=270,width=205)

window2.mainloop()

window0 = Tk()
lebar_layar = window0.winfo_screenwidth()
tinggi_layar = window0.winfo_screenheight()
window0.geometry(f"0x0+{int(lebar_layar)}+{int(tinggi_layar)}")

window1 = Toplevel()
lebar_layar = window1.winfo_screenwidth()
tinggi_layar = window1.winfo_screenheight()
window1.title("HOME")
window1.geometry(f"290x250+{int(lebar_layar/2 - 290/2)}+{int(tinggi_layar/2 - 250/2)}")
window1.resizable(False,False)
window1.configure(bg="red")

14
judul_window1 = Label(window1,text="VENDING
MACHINE",bg="red",foreground="white",font=font.Font(size=20))
judul_window1.place(y=30,width=290)

keterangan = Label(window1,text="Masukkan uang Anda (minimal Rp5,000)\nuntuk mengoperasikan mesin


ini",font=(font.BOLD,10),bg="red",foreground="white")
keterangan.place(y=90,width=290)

input_uang = Entry(window1,textvariable=StringVar,justify="center")
input_uang.place(x=90,y=135,width=100)

def submit():
global saldo
global input_uang

saldo = int(input_uang.get())
input_uang.delete(0,END)

if saldo < 5000:


show_saldo_kurang = messagebox.showwarning(message=f"Uang yang Anda masukkan sebesar
Rp{saldo:,} tidak cukup untuk mengoperasikan mesin ini.\nSilakan ambil kembali uang Anda.")
else:
window_2()

submit_uang = Button(window1,text="SUBMIT",command=submit)
submit_uang.place(x=90,y=160,width=101)

window1.mainloop()

15
2. KESIMPULAN dan LESSON LEARNED
2.1.Kesimpulan
Seperti yang kita ketahui, bahwa di dunia perkuliahan, waktu sangatlah
berharga. Sehingga, kita sebagai mahasiswa dituntut untuk mengatur waktu
seefektif dan seefisien mungkin. Oleh karena itu, pada tugas besar ini kami
membuat program vending machine sederhana sebagai alternatif mahasiswa
untuk membeli makan secara langsung. Cara kerja dari program kami adalah,
user menginput uang ke vending machine dalam nominal tertentu (uang yang
diinput ≥ 5000). Setelah itu, user akan memilih makanan / minuman dengan
jenis dan jumlah tertentu. Vending machine akan mengeluarkan struk beserta
makanan / minuman yang dipilih. Berdasarkan rangkaian kegiatan yang telah
kami lakukan dimulai dari dekomposisi masalah, sampai kepada pemrograman
akhir, dapat kami simpulkan bahwa bahasa pemrograman python mampu
menjelaskan cara kerja vending machine beserta fitur-fiturnya.

2.2 Lesson Learned


Hal yang dapat dipelajari :
- Dapat mengaplikasikan penggunaan kondisional (if else), looping,
array, fungsi dalam program vending machine.
- Dapat menentukan fitur-fitur yang ada dalam vending machine dengan
mengidentifikasi dekomposisi masalah.
- Dapat menentukan cara kerja vending machine dengan membuat
flowchart sistem program.
- Dapat menyelesaikan dan mengidentifikasi masalah yang ada di sekitar
dengan membuat suatu program sebagai solusi dari suatu masalah yang
ada.

16
3. PEMBAGIAN TUGAS DALAM KELOMPOK
3.1 Pembagian Tugas

Nama Angota Deskripsi Tugas

Tasya Larasati R. (16722004) Membuat presentasi dan flowchart

Marvin Manuel (16722134) Membuat presentasi dan flowchart

Faaiq Mastyaga (16722329) Programming python

Zulfikar Firmanto (16722339) Membuat laporan dan dekomposisi


persoalan

M. Fadil Huseiny (16722354) Membuat laporan dan dekomposisi


persoalan

4. REFERENSI
https://youtube.com/playlist?list=PLqJp7pduqafhpC5QO6geYyHo2UOhPNXPv

17

Anda mungkin juga menyukai