Skip to content

Commit 62da657

Browse files
authored
Add files via upload
1 parent 6027ad4 commit 62da657

2 files changed

Lines changed: 105 additions & 0 deletions

File tree

project/calculator/information.txt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
kalkulator projek
2+
3+
belajar cara membuat kalkulator dan memahami cara kerjanya. lalu, sebagai dasar project based learning atau belajar berbasis projek.
4+
dengan ini belajar bahasa pemrograman tidak hanya sekedar teori, tapi juga sebagai proses awal menerapkan dari teori yang kita
5+
pelajari dengan cara membuat sebuah projek.
6+
7+
permasalahan :
8+
1.apa itu kalkulator?
9+
2.bagaimana cara kerja kalkulator bisa menghasilkan sebuah angka yang dapat di hitung ?
10+
3.seperti apa logika keputusan dari kalkulator tersebut ?
11+
4.langkahnya seperti apa ?
12+
5.bagaimana proses di balik sistem sebuah komputer yang sudah jadi (GUI) atau tampilan berbasis gambar.
13+
14+
15+
16+

project/calculator/kalkulator.py

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# membuat kalkulator sederhana dengan python
2+
# serta logika dasar aritmatika
3+
# berisi penjumlahan, pengurangan, perkalian, pembagian, perpangkatan, modulus, dan keluar dari program
4+
5+
# Kumpulan list operator
6+
ListOperator = ["Penjumlahan (+)","Pengurangan (-)","Perkalian (*)","Pembagian (/)","Perpangkatan (**)","Modulus (%)","Keluar"]
7+
8+
# fungsi untuk tampilan Banner calculator
9+
def banner():
10+
print("""
11+
12+
██████╗ █████╗ ██╗ ██████╗██╗ ██╗██╗ █████╗ ████████╗ ██████╗ ██████╗
13+
██╔════╝██╔══██╗██║ ██╔════╝██║ ██║██║ ██╔══██╗╚══██╔══╝██╔═══██╗██╔══██╗
14+
██║ ███████║██║ ██║ ██║ ██║██║ ███████║ ██║ ██║ ██║██████╔╝
15+
██║ ██╔══██║██║ ██║ ██║ ██║██║ ██╔══██║ ██║ ██║ ██║██╔══██╗
16+
╚██████╗██║ ██║███████╗╚██████╗╚██████╔╝███████╗██║ ██║ ██║ ╚██████╔╝██║ ██║
17+
╚═════╝╚═╝ ╚═╝╚══════╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝
18+
""")
19+
# fungsi dari kumpulan list operator
20+
def listoperator():
21+
print("="*5,"Program Simple Calculator","="*5,"\n")
22+
for index, item in enumerate(ListOperator, start=1): #
23+
print(f"{index}.{item}")
24+
25+
26+
# fungsi untuk Program utama
27+
def main():
28+
# pengulangan kalkulator jika kondisinya benar (true)
29+
while True:
30+
try:
31+
# input operator
32+
print("\n",15*"=","Operator :",15*"=")
33+
operator = int(input("Masukkan operator dan pilih(1,2,..6,7) : ")) # masukkan operator berupa angka
34+
35+
36+
# validasi operator
37+
# nilai range 1-8, kerena angka di dalam bahasa pemrograman dimulai dari 0,
38+
# maka kita buat range 1-8 untuk operator 1-7
39+
if operator not in range(1, 8):
40+
print(f"Maaf, {operator} tidak ada dalam operator. Pilih 1-7.")
41+
continue
42+
43+
# keputusan untuk akhir program atau keluar dari program
44+
if operator == 7 :
45+
print(" Terima kasih sudah menggunakan program ini ")
46+
break # break untuk berhenti dari program/keluar
47+
48+
# input angka
49+
angka1 = float(input("Masukkan Angka1 : ")) # masukkan angka 1
50+
angka2 = float(input("Masukkan Angka2 : ")) # masukkan angka 2
51+
52+
# jika operator memilih pembagian dan angka 2 adalah nol,
53+
# maka akan muncul pesan error dan program akan kembali ke awal untuk memilih operator lagi
54+
# penanganan khusus untuk pembagian nol
55+
if operator == 4 and angka2 == 0:
56+
print("Error: Pembagian dengan nol tidak diperbolehkan.")
57+
continue
58+
59+
## kondisi dan keputusan yang kita input
60+
if operator == 1:
61+
print("Penjumlahan")
62+
result = angka1 + angka2
63+
print(round(result, 3))
64+
elif operator == 2:
65+
result = angka1 - angka2
66+
print(round(result, 3))
67+
elif operator == 3:
68+
result = angka1 * angka2
69+
print(round(result, 3))
70+
elif operator == 4:
71+
result = angka1 / angka2
72+
print(round(result, 3))
73+
elif operator == 5:
74+
result = angka1 ** angka2
75+
print(round(result, 3))
76+
elif operator == 6:
77+
result = angka1 % angka2
78+
print(round(result, 3))
79+
else:
80+
print(f"Maaf,{operator} tidak ada dalam operator")
81+
82+
except ValueError: # memastikan nilai input program benar dan solusi agar program tidak error
83+
print("Pastikan input benar: operator harus angka 1-7, dan angka harus numerik!")
84+
85+
# ...existing code...
86+
87+
banner() # tampilan Ascii calculator
88+
listoperator() # daftar isi list operator matematika
89+
main() # Memanggil fungsi main() untuk menjalankan program utama

0 commit comments

Comments
 (0)