Fakultas Ilmu Komputer UI

Commit 1443e4b7 authored by Ahmad Dzikrul Fikri's avatar Ahmad Dzikrul Fikri
Browse files

Tugas Pemrograman 9 - Soal 1

parent d2e91716
def sorting(data):
return data[1]
def get_koperasi(minimal_pesan,huruf_beruntung):
# TODO
hash_result = {}
try:
result_f = open('TP8_1_1806196806.txt')
jumlah_cashback = 0
for line in result_f:
(nama, jumlah) = line.split()
lower_nama = nama.lower()
if lower_nama.startswith(huruf_beruntung) == True and int(jumlah) > minimal_pesan:
diskon_pelanggan_setia = 16000*int(jumlah)*0.2
diskon_huruf_beruntung = (16000*int(jumlah) - diskon_pelanggan_setia)*0.1
cashback = diskon_pelanggan_setia + diskon_huruf_beruntung
jumlah_cashback+=cashback
harga = 16000*int(jumlah) - cashback
elif lower_nama.startswith(huruf_beruntung) == True:
cashback = 16000*int(jumlah)*0.1
jumlah_cashback+=cashback
harga = 16000*int(jumlah) - cashback
elif int(jumlah) > minimal_pesan:
cashback = 16000*int(jumlah)*0.2
jumlah_cashback+=cashback
harga = 16000*int(jumlah) - cashback
else:
harga = int(jumlah)*16000
hash_result[nama+' '+jumlah] = int(harga)
result_f.close()
sorted_items = sorted(hash_result.items(), key=sorting, reverse = True)
hash_result = dict(sorted_items)
data_baru = open('TP8_2_1806196806.txt', 'w')
for keys in hash_result.keys():
data_baru.write(keys+' '+str(hash_result[keys])+'\n')
data_baru.close()
print('Jumlah uang yang dibutuhkan untuk cashback:', int(jumlah_cashback))
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('keluar dari program')
def cek_huruf_eror():
input_huruf_eror = True
while input_huruf_eror == True:
huruf_input = input('masukkan huruf depan dari nama pelanggan yang beruntung: ').lower()
if huruf_input.isalpha() == True:
input_huruf_eror = False
else:
print('\ninput huruf harus berupa huruf tanpa angka\n')
return huruf_input
def cek_input_angka_eror():
input_pembelian_eror = True
while input_pembelian_eror == True:
try:
angka = int(input('masukkan minimal pembelian untuk menjadi pelanggan tetap: '))
input_pembelian_eror = False
except:
print('\ninput harus berupa angka tanpa huruf\n')
return angka
batas_pelanggan_tetap = cek_input_angka_eror()
pelanggan_beruntung = cek_huruf_eror()
get_koperasi(batas_pelanggan_tetap,pelanggan_beruntung)
\ No newline at end of file
def simpan_db():
try:
import kvdb
result_f = open("input_order2.txt")
for line in result_f:
line = line.replace('\n','')
name, jumlah = line.split()
kvdb.db_set('UhHzASg8tRdxHtYqiQxrQ3',name,jumlah)
result_f.close()
except FileNotFoundError:
print('\nFile tidak ditemukan')
print('Pastikan file pembeli.txt berada dalam folder yang sama dengan script ini')
print('Pastikan juga terminal anda terhubung dengan folder ini\n')
print('keluar dari program')
except :
print('koneksi internet hilang')
simpan_db()
\ 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