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() while pembelian <= 0: print('\nPermintaan harus lebih besar dari 0\n') pembelian = cek_input_angka_eror() beli_gas(nama_input,pembelian,alamat_file) pilihan = input_awal() elif pilihan == 'refund': nama_input = cek_nama_eror() permintaan_refund = cek_input_angka_eror() while permintaan_refund <= 0: print('\nPermintaan harus lebih besar dari 0\n') permintaan_refund = cek_input_angka_eror() 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'