Fakultas Ilmu Komputer UI

Commit 87c2d029 authored by Ahmad Dzikrul Fikri's avatar Ahmad Dzikrul Fikri
Browse files

Tugas Pemrograman 8 - Soal 1

parents
def beli_gas(nama_pembeli, jumlah_pembelian, alamat):
try:
data = open(alamat)
data_input = []
ditemukan = False
for line in data:
nama, jumlah = line.split()
if nama.lower() == nama_pembeli:
ditemukan = True
jumlah =int(jumlah) + jumlah_pembelian
print('Total pembelian',nama,'adalah',jumlah)
data_input.append(nama+' '+str(jumlah))
if ditemukan == False:
data_input.append(nama_pembeli+' '+str(jumlah_pembelian))
print('Total pembelian',nama_pembeli,'adalah',jumlah_pembelian)
data.close()
data_baru = open('TP8_1_1806196806.txt', 'w')
for i in range(len(data_input)):
data_baru.write(data_input[i]+'\n')
data_baru.close()
except TypeError:
print('input ke dalam file harus berupa string')
except FileNotFoundError:
print('\nFile tidak ditemukan')
print('Pastikan file input_order2.txt berada dalam folder yang sama dengan script ini')
print('Pastikan juga terminal anda terhubung dengan folder ini\n')
print('Silahkan keluar dulu dari program')
def refund_gas(nama_pembeli, jumlah_refund, alamat):
try:
data = open(alamat)
data_input = []
ditemukan = False
for line in data:
nama, jumlah = line.split()
if nama.lower() == nama_pembeli:
jumlah =int(jumlah) - jumlah_refund
print('Total pembelian',nama,'adalah',jumlah)
ditemukan = True
if int(jumlah) > 0:
data_input.append(nama+' '+str(jumlah))
if ditemukan == False:
print(nama_pembeli,'belum membeli apapun')
data.close()
data_baru = open('TP8_1_1806196806.txt', 'w')
for i in range(len(data_input)):
data_baru.write(data_input[i]+'\n')
data_baru.close()
except TypeError:
print('input ke dalam file harus berupa string')
except FileNotFoundError:
print('\nFile tidak ditemukan')
print('Pastikan file input_order2.txt berada dalam folder yang sama dengan script ini')
print('Pastikan juga terminal anda terhubung dengan folder ini\n')
print('Silahkan keluar dulu dari program')
def input_awal():
print("\npilihan :\n\tbeli\n\trefund\n\tkeluar")
pilihan = input("Masukkan pilihan :").lower()
return pilihan
def cek_nama_eror():
input_nama_eror = True
while input_nama_eror == True:
nama_input = input('masukkan nama anda:').lower()
if nama_input.isalpha() == True:
input_nama_eror = False
else:
print('\nnama harus berupa huruf tanpa angka\n')
return nama_input
def cek_input_angka_eror():
input_pembelian_eror = True
while input_pembelian_eror == True:
try:
angka = int(input('masukkan jumlah:'))
input_pembelian_eror = False
except:
print('input harus berupa angka tanpa huruf')
return angka
pilihan = input_awal()
alamat_file = 'input_order2.txt'
while pilihan != 'keluar':
if pilihan == 'beli':
nama_input = cek_nama_eror()
pembelian = cek_input_angka_eror()
if pembelian <= 0:
print('Permintaan harus lebih besar dari 0')
else:
beli_gas(nama_input,pembelian,alamat_file)
pilihan = input_awal()
elif pilihan == 'refund':
nama_input = cek_nama_eror()
permintaan_refund = cek_input_angka_eror()
if permintaan_refund <= 0:
print('Permintaan harus lebih besar dari 0')
else:
refund_gas(nama_input,permintaan_refund,alamat_file)
pilihan = input_awal()
else:
print("Input anda salah, silahkan masukkan pilihan sesuai pilihan")
pilihan = input_awal()
alamat_file= 'TP8_1_1806196806.txt'
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment