|
| 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