Fakultas Ilmu Komputer UI

Commit b53a85b1 authored by Ahmad Dzikrul Fikri's avatar Ahmad Dzikrul Fikri
Browse files

Lab 13 - 1806196806

parent 052d2b15
This diff is collapsed.
AIRAM;010185540:
0202321370056700
0203232300056700
ALSI;020323230:
Belum pernah melakukan transaksi.
ELLIS;020232137:
Belum pernah melakukan transaksi.
RUBY;010287980:
Belum pernah melakukan transaksi.
NIAMH;020334452:
Belum pernah melakukan transaksi.
BRANDON;010252803:
Belum pernah melakukan transaksi.
AIT;010376667:
Belum pernah melakukan transaksi.
NYLEVE;020214166:
Belum pernah melakukan transaksi.
MILLIE;010268818:
Belum pernah melakukan transaksi.
NAES;020253248:
Belum pernah melakukan transaksi.
ACUL;020233634:
Belum pernah melakukan transaksi.
LOLA;010216374:
Belum pernah melakukan transaksi.
EISOR;010119126:
Belum pernah melakukan transaksi.
YRRAH;010298134:
Belum pernah melakukan transaksi.
ZARA;010143026:
Belum pernah melakukan transaksi.
NEDYAJ;020281201:
Belum pernah melakukan transaksi.
LEBASI;010249455:
Belum pernah melakukan transaksi.
FLORENCE;010351499:
Belum pernah melakukan transaksi.
NOEL;010381442:
Belum pernah melakukan transaksi.
ECARG;010353260:
Belum pernah melakukan transaksi.
HAYDEN;020354221:
Belum pernah melakukan transaksi.
MORGAN;010137199:
Belum pernah melakukan transaksi.
IMOGEN;020185726:
Belum pernah melakukan transaksi.
REBECCA;020287764:
Belum pernah melakukan transaksi.
LYDIA;020310715:
Belum pernah melakukan transaksi.
NIRE;010249626:
Belum pernah melakukan transaksi.
MICHAEL;020385734:
Belum pernah melakukan transaksi.
HARRIET;020157713:
Belum pernah melakukan transaksi.
NAGROM;010264911:
Belum pernah melakukan transaksi.
ACISSEJ;010355916:
Belum pernah melakukan transaksi.
JAYDEN;020292325:
Belum pernah melakukan transaksi.
SARAH;020255955:
Belum pernah melakukan transaksi.
LOUIS;010127760:
Belum pernah melakukan transaksi.
AARON;020374354:
Belum pernah melakukan transaksi.
COURTNEY;020372708:
Belum pernah melakukan transaksi.
ALICE;010185527:
Belum pernah melakukan transaksi.
FINLEY;020291184:
Belum pernah melakukan transaksi.
OSCAR;010334791:
Belum pernah melakukan transaksi.
NEB;020284001:
Belum pernah melakukan transaksi.
JAKE;020262699:
Belum pernah melakukan transaksi.
ELEANOR;010343035:
Belum pernah melakukan transaksi.
ELIZABETH;010241344:
Belum pernah melakukan transaksi.
YLIL;010144555:
Belum pernah melakukan transaksi.
YLLOH;010133045:
Belum pernah melakukan transaksi.
NILTIAC;010338950:
Belum pernah melakukan transaksi.
ALLE;010292746:
Belum pernah melakukan transaksi.
MUHAMMAD;010224322:
Belum pernah melakukan transaksi.
HTEBAZILE;010131456:
Belum pernah melakukan transaksi.
AYAM;010213858:
Belum pernah melakukan transaksi.
RACSO;010288689:
Belum pernah melakukan transaksi.
from random import randint
def nomor_atm(berkas = "nasabah_awal.txt"):
try:
data = open(berkas)
s = {}
for line in data:
line = line.replace('\n','')
line = line.replace('','')
nama, kota, level = line.split()
if kota.lower() == 'jakarta':
kode_kota = '01'
elif kota.lower() == 'bekasi':
kode_kota = '02'
else:
kode_kota = '03'
if level.lower() == 'emas':
kode_level = '01'
elif level.lower() == 'perak':
kode_level = '02'
else:
kode_level = '03'
kode_acak = str(randint(10000,99999))
value = kode_kota+kode_level+kode_acak
s[nama] = value
data.close()
except KeyError:
print('Value hanya boleh terdiri dari satu tipe data (tidak boleh campuran)\n')
except SyntaxError:
print('Key hanya boleh terdiri dari satu tipe data (tidak boleh campuran)\n')
except FileNotFoundError:
print('File tidak ditemukan\nPastikan file berada di foldder yang sama\nPastikan terminal terhubung dengan folder file\n')
return s
\ No newline at end of file
from TP10_1_1806196806 import *
hash_atm = nomor_atm()
s={}
hash_riwayat = {}
keluar = False
while keluar == False:
print('Pilih menu:\n1. Transfer\n2. Cek riwayat\n3. Keluar')
pilihan = input('\nSilahkan masukkan pilihan sesuai nomor: ')
if pilihan == '1':
try:
perintah = input('Masukan perintah transfer: ').lower()
kode, pengirim, penerima, nominal = perintah.split()
if int(nominal) <= 9000000 :
nominal = '%07d' % (int(nominal))
value = hash_atm[penerima.upper()]+nominal
s.setdefault(pengirim.upper()+';'+hash_atm[pengirim.upper()],[]).append(value)
hash_riwayat.setdefault(pengirim.upper(),[]).append(penerima.upper()+' '+str(int(nominal)))
print('Transfer berhasil!\n')
else:
print('\nNominal transaksi maksimum adalah Rp 9.000.000')
print('Silahkan masukkan nominal yang lebih rendah\n')
except KeyError:
print('Value hanya boleh terdiri dari satu tipe data (tidak boleh campuran)\n')
except SyntaxError:
print('Key hanya boleh terdiri dari satu tipe data (tidak boleh campuran)\n')
except ValueError:
print('\ninput yang anda masukkan salah')
print('format input yang benar : transfer [nama nasabah pengirim] [nama nasabah penerima] [nominal transfer]')
print('Contoh input: \'transfer Alsi Airam 20000\'\n')
elif pilihan == '2':
nama = input('Masukan nama nasabah: ').upper()
try:
hash_atm[nama]
print('Riwayat '+nama+':')
try:
for i in hash_riwayat[nama]:
tujuan,jumlah = i.split()
print('Transfer ke '+tujuan+' sebesar '+jumlah+'\n')
except:
print(nama+' belum melakukan transaksi\n')
except:
print(nama+' tidak terdaftar dalam sistem ATM\n')
elif pilihan == '3':
print('Terimakasih')
keluar = True
else:
print('\nInput anda salah!\nSilahkan masukkan input berupa nomor pada pilihan\n')
data_baru = open('1806196806_transaction_log.txt','w')
for nama in hash_atm.keys():
try:
s[nama.upper()+';'+hash_atm[nama]]
for nama_dan_atm in s.keys():
data_baru.write(nama_dan_atm+':\n')
for transaksi in s[nama_dan_atm]:
data_baru.write(transaksi+'\n')
except:
data_baru.write(nama+';'+hash_atm[nama]+':\n')
data_baru.write('\nBelum pernah melakukan transaksi.\n')
data_baru.close()
\ 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