“SISTEM KASIR”
Disusun Guna Memenuhi Salah Satu Latihan/Tugas Mata Kuliah Algoritma & Pemrograman
tentang Function and File Handling
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