Anda di halaman 1dari 4

JAWABAN TUGAS ALGORITMA & PEMROGRAMAN I

“SISTEM KASIR”
Disusun Guna Memenuhi Salah Satu Latihan/Tugas Mata Kuliah Algoritma & Pemrograman
tentang Function and File Handling

Dosen Pengajar : Achmad Maududie, ST. M.Sc.

Oleh :

Marizka Maulidina
NIM 202410103009
Informatika
Algoritma & Pemrograman Kelas F

UNIVERSITAS JEMBER
2020
Source Code :

import csv #modul csv diimport sebelum mengolah file csv

import datetime #modul datetime diimport agar nanti dapat membantu mencatat tanggal 
secara otomatis

dataPembelian = "dataPembelian.csv" #mendeklarasikan variabel untuk file csv

tampungData = [] #list kosong dibuat untuk menyimpan data

def lihat(): #mendefinisikan fungsi untuk melihat data
    with open(dataPembelian,'r',newline='') as data: #membuka file data dengan mode 
read atau baca
        baca = csv.reader(data, delimiter=',')
        for hasil in baca:
            print(hasil) #data akan tampil

def tambahData(): #mendefinisikan fungsi utuk menambah data
    nomor = input("No.: ") #pengguna diminta mengentri nomor
    tanggal = datetime.date.today()
    barang = input("Nama Barang: ") #pengguna diminta mengentri nama barang
    jumlah = input("Jumlah Barang: ") #pengguna diminta mengentri jumlah barang
    total = input("Total Harga: ") #pengguna diminta mengentri total harga
    tampungData.append([nomor,tanggal,barang,jumlah,total]) #data yang dientrikan 
ditambah pada list
    with open(dataPembelian,'w',newline='') as data:
        tulis = csv.writer(data,delimiter=',')
        tulis.writerows(tampungData)

def hapusData(nomorHapus): #mendefinisikan fungsi hapus data
    dataPembelian.remove(dataPembelian[nomorHapus])
    with open(dataPembelian, 'w', newline='') as data:
        tulisUlang = csv.writer(data, delimiter=',', quotechar='"', quoting=csv.QUO
TE_MINIMAL)
        tulisUlang.writerows(dataPembelian)

with open(dataPembelian,'r') as data: #file dibuka kemudian dibaca
    baca = csv.reader(data, delimiter=",")
    for row in baca:
        tampungData.append(row)

while True: #saat program dijalankan dalam kondisi terpenuhi akan ditampilkan
    print('''
    ======= KASIR TRANSAKSI =======
    1. Lihat data
    2. Tambah data
    3. Hapus data
    ''') 
    pilihMenu = int(input("Masukkan no. yang anda ingin: ")) #pengguna diminta meng
entri angka yang sesuai 

    if pilihMenu == 1: #jika pengguna mengentri angka '1', maka
        lihat() #data akan tampil

    elif pilihMenu == 2: #jika pengguna mengentri angka '2',maka
        tambahData() #sistem melakukan perintah tambah data
        lihat() #data terbaru akan tampil

    elif pilihMenu == 3: #jika pengguna mengentri angka '3', maka
        lihat() #data akan tampil
        nomorHapus = int(input("Masukkan indeks keberapa yang ingin dihapus: "))
#pengguna diminta memasukan indeks keberapa yang akan dihapus
        print("Anda akan menghapus data {}".format(dataPembelian[nomorHapus]))
        hapusData(nomorHapus) #melakukan perintah sesuai definisi hapusData
        print("Data berhasil dihapus") #akan muncul tulisan 'Data berhasil dihapus'
        lihat() #data terbaru akan tampil
    
    else: #jika pengguna mengentri angka yang tidak sesuai, maka
        continue #sistem akan terus menampilkan menu

Anda mungkin juga menyukai