Fakultas Ilmu Komputer UI
Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Ahmad Dzikrul Fikri
1806196806-DDP1
Commits
1443e4b7
Commit
1443e4b7
authored
Apr 24, 2020
by
Ahmad Dzikrul Fikri
Browse files
Tugas Pemrograman 9 - Soal 1
parent
d2e91716
Changes
2
Hide whitespace changes
Inline
Side-by-side
TP8_2_1806196806.py
deleted
100644 → 0
View file @
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
(
'
\n
File 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
(
'
\n
input 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
(
'
\n
input 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
TP9_1_1806196806.py
0 → 100644
View file @
1443e4b7
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
(
'
\n
File 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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment