Hai sobat ayamkoding, pada kesempatan kali ini kita akan menulis program python untuk membuat kalkulator sederhana menggunakan command line.
Apakah kamu sudah pernah membuat program kalkulator dengan bahasa pemrograman lain?
Sebelumnya, kita telah mencoba program python untuk menghitung volume balok
Kali ini kita hanya akan membuat empat (4) operasi sederhana mulai dari penjumlahan, pengurangan, perkalian, dan pembagian.
Mari kita coba dengan cara yang paling simpel.
Pertama, kita mulai program kalkulator sederhana dengan membuat function dari masing-masing operasi.
Mulai dari operasi tambah sampai dengan operasi bagi.
Pengguna akan diberikan pilihan menu untuk melakukan pilihan operasi.
# ----------------------------------- # Program Python Kalkulator Sederhana # ~ Pendekatan Paling Sederhana ~ # ----------------------------------- # module built-in dari python, kita akan menggunakan sys.exit() import sys print("Program Python Membuat Kalkulator Sederhana") print("-------------------------------------------") # function untuk melakukan penjumlahan dua bilangan def operasi_tambah(x, y): return x + y # function untuk melakukan pengurangan dua bilangan def operasi_kurang(x, y): return x - y # function untuk melakukan perkalian dua bilangan def operasi_kali(x, y): return x * y # function untuk melakukan pembagian dua bilangan # jika bilangan kedua adalah nol maka tidak bisa dilakukan def operasi_bagi(x, y): if y == 0: return "error! tidak bisa dibagi nol" return x / y # function untuk keluar dari program menggunakan sys.exit() # ketika perintah ini berjalan maka akan muncul pesan "Keluar dari program..." def keluar(): sys.exit("Keluar dari program...") # membuat function bernama `kalkulator()` yang akan dijadikan program utama def kalkulator(): # pilihan menu pada program kalkulator print("\nSilahkan pilih operasi kalkulator") print("1. Tambah") print("2. Kurang") print("3. Kali") print("4. Bagi") print("5. Keluar dari Program") # input user untuk memilih menu dari 1 s.d. 5 print("-----------------------") pilihan = input("Pilih Menu (1/2/3/4/5): ") # kondisi if jika diantara 1-5 maka akan dilakukan eksekusi # jika tidak diantara 1-5 maka akan dikeluarkan dari program if pilihan in ['1', '2', '3', '4', '5']: # jika memilih menu 5 maka akan dikeluarkan dari program if pilihan == '5': keluar() # perintah untuk input data dari angka pertama dan angka kedua angka_pertama = float(input("Masukkan angka pertama : ")) angka_kedua = float(input("Masukkan angka kedua : ")) print("-------------------------------------") # jika memilih menu 1 maka akan melakukan pemanggilan `operasi_tambah` dan ditampilkan hasilnya if pilihan == '1': hasil_tambah = operasi_tambah(angka_pertama, angka_kedua) print(f"Hasil dari {angka_pertama} + {angka_kedua} = {hasil_tambah}") # jika memilih menu 2 maka akan melakukan pemanggilan `operasi_kurang` dan ditampilkan hasilnya elif pilihan == '2': hasil_kurang = operasi_kurang(angka_pertama, angka_kedua) print(f"Hasil dari {angka_pertama} - {angka_kedua} = {hasil_kurang}") # jika memilih menu 3 maka akan melakukan pemanggilan `operasi_kali` dan ditampilkan hasilnya elif pilihan == '3': hasil_kali = operasi_kali(angka_pertama, angka_kedua) print(f"Hasil dari {angka_pertama} x {angka_kedua} = {hasil_kali}") # jika memilih menu 4 maka akan melakukan pemanggilan `operasi_bagi` dan ditampilkan hasilnya elif pilihan == '4': hasil_bagi = operasi_bagi(angka_pertama, angka_kedua) print(f"Hasil dari {angka_pertama} / {angka_kedua} = {hasil_bagi}") # input pertanyaan: apakah ingin menjalankan program kembali atau tidak # akan disimpan ke dalam variabel `ulangi` ulangi = input("\nApakah ingin mengulangi program? (y/n): ").lower() # jika user mengetikkan huruf `y` maka akan memanggil function kalkulator() kembali # jika selain mengetikkan huruf `y` maka akan memanggil `keluar()` if ulangi == 'y': kalkulator() else: keluar() else: print("Maaf, tidak ada pilihan!") keluar() print("\n") # pemanggilan function kalkulator() untuk menjalankan program kalkulator()
Contoh Output:
(Eksperimen 1: Penjumlahan )
Program Python Membuat Kalkulator Sederhana
-------------------------------------------
Silahkan pilih operasi kalkulator
1. Tambah
2. Kurang
3. Kali
4. Bagi
5. Keluar dari Program
-----------------------
Pilih Menu (1/2/3/4/5): 1
Masukkan angka pertama : 10
Masukkan angka kedua : 5
-------------------------------------
Hasil dari 10.0 + 5.0 = 15.0
Apakah ingin mengulangi program? (y/n):
(Eksperimen 2: Pengurangan)
Pilih Menu (1/2/3/4/5): 2
Masukkan angka pertama : 10
Masukkan angka kedua : 5
-------------------------------------
Hasil dari 10.0 - 5.0 = 5.0
(Eksperimen 3: Perkalian)
Pilih Menu (1/2/3/4/5): 3
Masukkan angka pertama : 5
Masukkan angka kedua : 4
-------------------------------------
Hasil dari 5.0 x 4.0 = 20.0
(Eksperimen 4: Pembagian – dengan pembagi nol)
Pilih Menu (1/2/3/4/5): 4
Masukkan angka pertama : 5
Masukkan angka kedua : 0
-------------------------------------
Hasil dari 5.0 / 0.0 = error! tidak bisa dibagi nol
(Eksperimen 5: Pembagian)
Pilih Menu (1/2/3/4/5): 4
Masukkan angka pertama : 10
Masukkan angka kedua : 2
-------------------------------------
Hasil dari 10.0 / 2.0 = 5.0
Penjelasan:
1. Perintah untuk import built-in sys dari python, kali ini akan menggunakan sys.exit() untuk keluar dari program.
import sys
...
2. Membuat function dari setiap masing-masing operasi. Khusus untuk operasi_bagi jika bilangan y adalah nol maka tidak bisa dilakukan operasi pembagian.
...
def operasi_tambah(x, y):
return x + y
def operasi_kurang(x, y):
return x - y
def operasi_kali(x, y):
return x * y
def operasi_bagi(x, y):
if y == 0:
return "error! tidak bisa dibagi nol"
return x / y
...
3. Membuat function program dengan nama keluar() untuk keluar dari program.
...
def keluar():
sys.exit("Keluar dari program...")
...
4. Membuat function utama dengan nama kalkulator()
...
def kalkulator():
...
5. Lebih rinci mengenai function kalkulator, di sini akan ditampilkan menu mulai dari 1 untuk penjumlahan, menu 2 untuk pengurangan, hingga menu ke-5 untuk keluar dari program.
...
def kalkulator():
print("\nSilahkan pilih operasi kalkulator")
print("1. Tambah")
print("2. Kurang")
print("3. Kali")
print("4. Bagi")
print("5. Keluar dari Program")
print("-----------------------")
pilihan = input("Pilih Menu (1/2/3/4/5): ")
...
6. Berikut ini kondisi untuk pilihan dari menu.
Jika memilih menu 5 maka akan keluar.
Jika memilih menu 1 s.d. 4 maka akan memasukkan angka pertama dan angka kedua.
Angka-angka tersebut akan diolah menggunakan masing-masing function, serta menggunakan variabel angka_pertama dan angka_kedua sebagai argument.
Selanjutnya, nilai hasil operasi tersebut juga akan ditampilkan pada layar.
def kalkulator():
...
if pilihan in ['1', '2', '3', '4', '5']:
if pilihan == '5':
keluar()
angka_pertama = float(input("Masukkan angka pertama : "))
angka_kedua = float(input("Masukkan angka kedua : "))
print("-------------------------------------")
if pilihan == '1':
hasil_tambah = operasi_tambah(angka_pertama, angka_kedua)
print(f"Hasil dari {angka_pertama} + {angka_kedua} = {hasil_tambah}")
elif pilihan == '2':
hasil_kurang = operasi_kurang(angka_pertama, angka_kedua)
print(f"Hasil dari {angka_pertama} - {angka_kedua} = {hasil_kurang}")
elif pilihan == '3':
hasil_kali = operasi_kali(angka_pertama, angka_kedua)
print(f"Hasil dari {angka_pertama} x {angka_kedua} = {hasil_kali}")
elif pilihan == '4':
hasil_bagi = operasi_bagi(angka_pertama, angka_kedua)
print(f"Hasil dari {angka_pertama} / {angka_kedua} = {hasil_bagi}")
...
...
else:
print("Maaf, tidak ada pilihan!")
keluar()
print("\n")
7. Di dalam function kalkulator(), setelah mendapatkan hasil operasi terdapat pilihan apakah ingin mengulangi program atau tidak.
Jika pengguna memasukkan input ‘y’ maka akan memanggil function kalkulator() kembali. Jika selain ‘y’ maka akan memanggil function keluar() dan keluar dari program.
def kalkulator():
...
ulangi = input("\nApakah ingin mengulangi program? (y/n): ").lower()
if ulangi == 'y':
kalkulator()
else:
keluar()
...
Mari kita kembangkan lagi program kalkulator python tersebut menggunakan dictionaries sehingga lebih sederhana.
Sebenarnya, program di bawah ini mirip dengan di atas hanya saja ada penggunaan dictionaries untuk mempersingkat kode.
Alih-alih menggunakan banyak pernyataan if, kita akan menggunakan dictionaries untuk memetakan operasi ke fungsi yang ada.
Dengan menggunakan pendekatan ini tentunya kode akan menjadi lebih ringkas.
Mari kita coba.
# ------------------------------------ # Program Python Kalkulator Sederhana # ~ Menggunakan dictionaries ~ # ~ menggunakan pendekatan ini akan lebih ringkas # ------------------------------------ # import built-in module python, kali ini akan menggunakan sys.exit() import sys print("Program Kalkulator Sederhana dengan Python") print("------------------------------------------") # function untuk melakukan penjumlahan def operasi_tambah(x, y): return x + y # function untuk melakukan pengurangan def operasi_kurang(x, y): return x - y # function untuk melakukan perkalian def operasi_kali(x, y): return x * y # function untuk melakukan pembagian # jika nilai y adalah 0 maka tidak bisa dibagi def operasi_bagi(x, y): if y != 0: return x / y return "error! tidak bisa dibagi nol" # function untuk keluar dari program def keluar(): sys.exit("Keluar dari program...") # function `ulangi()` untuk mengulangi program # jika pengguna melakukan input 'y' maka diulangi # jika selain 'y' maka akan otomatis keluar program def ulangi(): print("\n") val = input("Ingin mengulangi program? (y/n):").strip().lower() kalkulator() if val == 'y' else keluar() # function utama dari kalkulator def kalkulator(): # list menu dari operasi yang bisa dijalankan operasi = { '1': operasi_tambah, '2': operasi_kurang, '3': operasi_kali, '4': operasi_bagi, } print("Pilih operasi kalkulator:") print("1. Tambah") print("2. Kurang") print("3. Kali") print("4. Bagi") # input dari user untuk memilih menu dan disimpan ke dalam variabel `pilihan` pilihan = input("Masukkan pilihan menu (1/2/3/4): ") # jika input `pilihan` termasuk dalam operasi maka akan dijalankan # jika tidak ada maka akan keluar dari program if pilihan in operasi: print("----------------------------") # perintah untuk memasukkan angka pertama dan kedua angka_pertama = float(input("Masukkan angka pertama : ")) angka_kedua = float(input("Masukkan angka kedua : ")) # melakukan operasi dari pilihan yang dipilih # kemudian memasukkan angka_pertama dan angka_kedua sebagai argument # hasil tersebut akan disimpan ke variabel dengan nama `hasil` hasil = operasi[pilihan](angka_pertama, angka_kedua) # menampilkan hasil perhitungan ke layar print(f"Hasil : {hasil}") ulangi() else: print(f"Menu pilihan tidak ada!") keluar() # pemanggilan function utama dari `kalkulator()` kalkulator()
Contoh Output:
(Eksperimen: penjumlahan)
Program Kalkulator Sederhana dengan Python
------------------------------------------
Pilih operasi kalkulator:
1. Tambah
2. Kurang
3. Kali
4. Bagi
Masukkan pilihan menu (1/2/3/4): 3
----------------------------
Masukkan angka pertama : 10
Masukkan angka kedua : 5
Hasil : 50.0
Ingin mengulangi program? (y/n):n
Keluar dari program...
Penjelasan:
1. Melakukan import built-in module python sys, kali ini kita akan menggunakan sys.exit() untuk keluar dari program.
import sys
...
2. Melakukan deklarasi masing-masing operasi mulai dari operasi penjumlahan, kurang, kali dan bagi. Khusus untuk operasi bagi maka tidak bisa dibagi dengan bilangan nol.
...
def operasi_tambah(x, y):
return x + y
def operasi_kurang(x, y):
return x - y
def operasi_kali(x, y):
return x * y
def operasi_bagi(x, y):
if y != 0:
return x / y
return "error! tidak bisa dibagi nol"
...
3. Membuat function keluar() untuk keluar dari program jika diperlukan.
...
def keluar():
sys.exit("Keluar dari program...")
...
4. Membuat function ulangi(), digunakan untuk prompt akan mengulangi program kalkulator atau tidak setelah menghasilkan nilai. Jika pengguna melakukan input ‘y’ maka akan memanggil function kalkulator() ulang. Jika selain input ‘y’ maka akan memanggil function keluar()
...
def ulangi():
print("\n")
val = input("Ingin mengulangi program? (y/n):").strip().lower()
kalkulator() if val == 'y' else keluar()
...
5. Membuat function utama dari program yakni kalkulator()
...
def kalkulator():
...
6. Isi dari function kalkulator, pertama berisi dictionaries yang isinya daftar dari operasi. Mulai dari 1 hingga 4.
Terdapat pilihan untuk memilih operasi dari kalkulator.
Pilihan input tersebut akan disimpan ke dalam variabel dengan nama pilihan.
...
def kalkulator():
operasi = {
'1': operasi_tambah,
'2': operasi_kurang,
'3': operasi_kali,
'4': operasi_bagi,
}
print("Pilih operasi kalkulator:")
print("1. Tambah")
print("2. Kurang")
print("3. Kali")
print("4. Bagi")
pilihan = input("Masukkan pilihan menu (1/2/3/4): ")
...
7. Selanjutnya, ketika pengguna sudah melakukan input pilihan, maka pengguna akan masuk kondisi jika pilihan ada dalam operasi (dictionaries).
Akan dilakukan input angka pertama dan angka kedua.
Kemudian, akan dilakukan pemanggilan nama function dari operasi diikuti dengan variabel angka_pertama dan angka_kedua sebagai argument.
Terakhir, akan ditampilan hasil dari operasi dan dilakukan pemanggilan function ulangi()
Jika tidak masuk daftar dari operasi maka akan memanggil function keluar() dari program.
...
def kalkulator():
...
if pilihan in operasi:
print("----------------------------")
angka_pertama = float(input("Masukkan angka pertama : "))
angka_kedua = float(input("Masukkan angka kedua : "))
hasil = operasi[pilihan](angka_pertama, angka_kedua)
print(f"Hasil : {hasil}")
ulangi()
else:
print(f"Menu pilihan tidak ada!")
keluar()
Barangkali program akan dikembangkan dengan fitur yang lumayan lebih kompleks maka pendekatan OOP bisa menjadi solusinya.
Agar scalable kita bisa membungkus logika program kalkulator ini menggunakan kelas.
Dengan pendekatan OOP kita bisa dengan mudah menambahkan method-method baru seperti perkalian, bagi, atau lainnya dalam kelas tersebut.
# -------------------------------------- # Program Python Kalkulator Sederhana # ~ Menggunakan Pendekatan OOP ~ # ------------------------- # mengambil built-in module sys dari python # kali ini akan menggunakan sys.exit() untuk keluar dari program import sys print("Program Python Membuat Kalkulator Sederhana") print("-------------------------------------------") # membuat class baru dengan nama Kalkulator class Kalkulator: # membuat method operasi_tambah untuk melakukan penjumlahan def operasi_tambah(self, x, y): return x + y # membuat method operasi_kurang untuk melakukan pengurangan def operasi_kurang(self, x, y): return x - y # membuat method operasi_kali untuk melakukan perkalian def operasi_kali(self, x, y): return x * y # membuat method operasi_bagi untuk melakukan pembagian # jika parameter kedua bernilai nol maka tidak bisa dibagi def operasi_bagi(self, x, y): if y == 0: return 'Error, tidak bisa dibagi nol' else: return x / y # method method `keluar` untuk keluar dari program def keluar(self): sys.exit("Keluar dari program...") # method `menu_ulangi` untuk pilihan mengulangi program ketika selesai def menu_ulangi(self): val = input("\nIngin mengulangi program? (y/n): ").lower() if val == 'y': self.hitung_kalkulator() else: self.keluar() # method `pilih_operasi` untuk memilih menu, akan membalikkan nilai pilihan def pilih_operasi(self): print("Pilih operasi: ") print("1. Tambah") print("2. Kurang") print("3. Kali") print("4. Bagi") pilihan = input("Pilih menu operasi (1/2/3/4): ") return pilihan # method hitung_kalkulator yang merupakan main program def hitung_kalkulator(self): pilihan = self.pilih_operasi() # jika pilihan ada di dalam nilai 1/2/3/4 maka akan dilakukan berbagai macam operasi # jika tidak ada dalam menu maka akan keluar dari program if pilihan in ['1', '2', '3', '4']: # input angka pertama dan kedua angka_pertama = float(input("Masukkan angka pertama : ")) angka_kedua = float(input("Masukkan angka kedua : ")) if pilihan == '1': hasil = self.operasi_tambah(angka_pertama, angka_kedua) elif pilihan == '2': hasil = self.operasi_kurang(angka_pertama, angka_kedua) elif pilihan == '3': hasil = self.operasi_kali(angka_pertama, angka_kedua) elif pilihan == '4': hasil = self.operasi_bagi(angka_pertama, angka_kedua) # menampilkan hasil dari perhitungan operasi print(f"Hasil dari operasi adalah {hasil:.2f}") # memanggil method `menu_ulangi` ketika program selesai dijalankan self.menu_ulangi() else: print("Menu tidak ada!") self.keluar() # membuat objek baru dari class Kalkulator dengan nama `program` program = Kalkulator() # selanjutnya, pada objek `program` akan dipanggil method `hitung_kalkulator()` program.hitung_kalkulator()
Contoh Output:
(Eksperimen: perkalian)
Program Python Membuat Kalkulator Sederhana
-------------------------------------------
Pilih operasi:
1. Tambah
2. Kurang
3. Kali
4. Bagi
Pilih menu operasi (1/2/3/4): 3
Masukkan angka pertama : 4
Masukkan angka kedua : 20
Hasil dari operasi adalah 80.00
Ingin mengulangi program? (y/n): n
Keluar dari program...
Penjelasan:
1. Melakukan import built-in dari python sys untuk menggunakan sys.exit() untuk keluar dari program.
import sys
...
2. Membuat class baru dengan nama Kalkulator yang digunakan untuk membuat blueprint atau template dari suatu objek.
...
class Kalkulator:
...
3. Membuat definisi setiap method untuk melakukan perhitungan penjumlahan, pengurangan, perkalian, hingga pembagian.
...
class Kalkulator:
def operasi_tambah(self, x, y):
return x + y
def operasi_kurang(self, x, y):
return x - y
def operasi_kali(self, x, y):
return x * y
def operasi_bagi(self, x, y):
if y == 0:
return 'Error, tidak bisa dibagi nol'
else:
return x / y
...
4. Membuat method keluar() untuk keluar dari program dan membuat method menu_ulangi() untuk mengulangi program jika diperlukan.
Untuk method menu_ulangi(), jika pengguna melakukan input berupa ‘y’ maka akan memanggil method hitung_kalkulator() dan jika selain itu maka akan memanggil method keluar()
...
class Kalkulator:
....
....
def keluar(self):
sys.exit("Keluar dari program...")
def menu_ulangi(self):
val = input("\nIngin mengulangi program? (y/n): ").lower()
if val == 'y':
self.hitung_kalkulator()
else:
self.keluar()
...
5. Membuat method pilih_operasi() untuk melakukan pilihan dari operasi. Method ini akan membalikan nilai dari menu yang akan diproses untuk menentukan menu.
...
class Kalkulator:
...
def pilih_operasi(self):
print("Pilih operasi: ")
print("1. Tambah")
print("2. Kurang")
print("3. Kali")
print("4. Bagi")
pilihan = input("Pilih menu operasi (1/2/3/4): ")
return pilihan
...
6. Membuat method hitung_kalkulator() untuk melakukan berbagai macam operasi kalkulator.
Jika pilihan ada dalam menu 1/2/3/4 maka akan dilakukan perintah input angka pertama dan angka kedua yang masing-masing disimpan ke dalam suatu variabel.
Jika pilihan menu sesuai maka akan memanggil masing-masing operasi sesuai dengan inputan nomornya.
Kemudian, hasil perhitungan dari operasi tersebut akan ditampilkan ke layar dan akan dilakukan pemanggilan menu_ulangi().
Lain halnya jika tidak ada dalam pilihan 1/2/3/4 maka program otomatis akan keluar.
class Kalkulator:
...
def hitung_kalkulator(self):
pilihan = self.pilih_operasi()
if pilihan in ['1', '2', '3', '4']:
angka_pertama = float(input("Masukkan angka pertama : "))
angka_kedua = float(input("Masukkan angka kedua : "))
if pilihan == '1':
hasil = self.operasi_tambah(angka_pertama, angka_kedua)
elif pilihan == '2':
hasil = self.operasi_kurang(angka_pertama, angka_kedua)
elif pilihan == '3':
hasil = self.operasi_kali(angka_pertama, angka_kedua)
elif pilihan == '4':
hasil = self.operasi_bagi(angka_pertama, angka_kedua)
print(f"Hasil dari operasi adalah {hasil:.2f}")
self.menu_ulangi()
else:
print("Menu tidak ada!")
self.keluar()
...
7. Membuat objek baru dari class Kalkulator() dengan nama program.
Kemudian dari objek program tersebut dilakukan pemanggilan method hitung_kalkulator() sehingga perhitungan akan berjalan.
...
program = Kalkulator()
program.hitung_kalkulator()
...
Demikian artikel mengenai program kalkulator sederhana menggunakan bahasa pemrograman python dengan menggunakan berbagai cara.
Tentunya, kamu bisa mencoba berbagai opsi sesuai dengan kebutuhan kamu menggunakan python.
Semoga tutorial python membuat kalkulator sederhana ini bisa bermanfaat.
Terima kasih dan happy coding! 🚀