Membuat Program ATM dan Operasi Matematika dalam Python
Python adalah bahasa pemrograman yang fleksibel dan mudah dipelajari. Salah satu cara terbaik untuk memahami konsep dasar pemrograman adalah dengan membuat proyek kecil seperti simulasi ATM dan operasi matematika. Dalam artikel ini, kita akan membahas kode untuk membuat program ATM sederhana dan beberapa operasi matematika dasar.
1. Kelas ATM
a. Konstruktor __init__
pythonCopy codeclass ATM:
def __init__(self, saldo_awal=0):
self.saldo = saldo_awal
Konstruktor __init__
digunakan untuk menginisialisasi objek ATM dengan saldo awal. Jika tidak ada saldo awal yang diberikan, secara default akan diinisialisasi dengan 0.
b. Fungsi cek_saldo
pythonCopy codedef cek_saldo(self):
print(f"Saldo Anda saat ini adalah: Rp{self.saldo}")
Fungsi ini menampilkan saldo saat ini kepada pengguna.
c. Fungsi setor_tunai
pythonCopy codedef setor_tunai(self, jumlah):
if jumlah > 0:
self.saldo += jumlah
print(f"Anda berhasil menyetor Rp{jumlah}. Saldo Anda saat ini adalah: Rp{self.saldo}")
else:
print("Jumlah setor harus lebih dari 0.")
Fungsi ini memungkinkan pengguna untuk menyetor uang ke dalam ATM. Jika jumlah yang disetor lebih dari 0, saldo akan ditambahkan dengan jumlah tersebut.
d. Fungsi tarik_tunai
pythonCopy codedef tarik_tunai(self, jumlah):
if 0 < jumlah <= self.saldo:
self.saldo -= jumlah
print(f"Anda berhasil menarik Rp{jumlah}. Saldo Anda saat ini adalah: Rp{self.saldo}")
else:
print("Saldo tidak mencukupi atau jumlah tidak valid.")
Fungsi ini memungkinkan pengguna untuk menarik uang dari ATM. Penarikan hanya berhasil jika jumlah yang ditarik tidak lebih dari saldo yang ada.
e. Fungsi keluar
pythonCopy codedef keluar(self):
print("Terima kasih telah menggunakan ATM kami.")
exit()
Fungsi ini digunakan untuk keluar dari program.
2. Kelas Matematika
a. Fungsi Penjumlahan
pythonCopy codedef penjumlahan(self, a, b):
return a + b
Fungsi ini mengembalikan hasil penjumlahan dari dua angka.
b. Fungsi Pengurangan
pythonCopy codedef pengurangan(self, a, b):
return a - b
Fungsi ini mengembalikan hasil pengurangan dari dua angka.
c. Fungsi Perkalian
pythonCopy codedef perkalian(self, a, b):
return a * b
Fungsi ini mengembalikan hasil perkalian dari dua angka.
d. Fungsi Pembagian
pythonCopy codedef pembagian(self, a, b):
if b != 0:
return a / b
else:
return "Tidak dapat membagi dengan nol"
Fungsi ini mengembalikan hasil pembagian dari dua angka. Jika pembagi adalah 0, fungsi akan mengembalikan pesan kesalahan.
e. Fungsi Luas Lingkaran
pythonCopy codedef luas_lingkaran(self, radius):
return math.pi * radius ** 2
Fungsi ini menghitung luas lingkaran berdasarkan jari-jari yang diberikan.
f. Fungsi Keliling Lingkaran
pythonCopy codedef keliling_lingkaran(self, radius):
return 2 * math.pi * radius
Fungsi ini menghitung keliling lingkaran berdasarkan jari-jari yang diberikan.
g. Fungsi Luas Segitiga
pythonCopy codedef luas_segitiga(self, alas, tinggi):
return 0.5 * alas * tinggi
Fungsi ini menghitung luas segitiga berdasarkan alas dan tinggi yang diberikan.
h. Fungsi Keliling Segitiga
pythonCopy codedef keliling_segitiga(self, sisi1, sisi2, sisi3):
return sisi1 + sisi2 + sisi3
Fungsi ini menghitung keliling segitiga berdasarkan panjang ketiga sisinya.
3. Fungsi Utama
Fungsi main
mengatur alur program dan interaksi dengan pengguna.
pythonCopy codedef main():
atm = ATM(saldo_awal=1000000)
mat = Matematika()
while True:
print("\nMenu ATM:")
print("1. Cek Saldo")
print("2. Setor Tunai")
print("3. Tarik Tunai")
print("4. Operasi Matematika")
print("5. Keluar")
pilihan = input("Pilih menu: ")
if pilihan == '1':
atm.cek_saldo()
elif pilihan == '2':
jumlah = int(input("Masukkan jumlah yang akan disetor: Rp"))
atm.setor_tunai(jumlah)
elif pilihan == '3':
jumlah = int(input("Masukkan jumlah yang akan ditarik: Rp"))
atm.tarik_tunai(jumlah)
elif pilihan == '4':
print("\nMenu Operasi Matematika:")
print("1. Penjumlahan")
print("2. Pengurangan")
print("3. Perkalian")
print("4. Pembagian")
print("5. Luas Lingkaran")
print("6. Keliling Lingkaran")
print("7. Luas Segitiga")
print("8. Keliling Segitiga")
operasi = input("Pilih operasi: ")
if operasi == '1':
a = float(input("Masukkan angka pertama: "))
b = float(input("Masukkan angka kedua: "))
print(f"Hasil penjumlahan: {mat.penjumlahan(a, b)}")
elif operasi == '2':
a = float(input("Masukkan angka pertama: "))
b = float(input("Masukkan angka kedua: "))
print(f"Hasil pengurangan: {mat.pengurangan(a, b)}")
elif operasi == '3':
a = float(input("Masukkan angka pertama: "))
b = float(input("Masukkan angka kedua: "))
print(f"Hasil perkalian: {mat.perkalian(a, b)}")
elif operasi == '4':
a = float(input("Masukkan angka pertama: "))
b = float(input("Masukkan angka kedua: "))
print(f"Hasil pembagian: {mat.pembagian(a, b)}")
elif operasi == '5':
radius = float(input("Masukkan radius: "))
print(f"Luas Lingkaran: {mat.luas_lingkaran(radius)}")
elif operasi == '6':
radius = float(input("Masukkan radius: "))
print(f"Keliling Lingkaran: {mat.keliling_lingkaran(radius)}")
elif operasi == '7':
alas = float(input("Masukkan alas: "))
tinggi = float(input("Masukkan tinggi: "))
print(f"Luas Segitiga: {mat.luas_segitiga(alas, tinggi)}")
elif operasi == '8':
sisi1 = float(input("Masukkan sisi pertama: "))
sisi2 = float(input("Masukkan sisi kedua: "))
sisi3 = float(input("Masukkan sisi ketiga: "))
print(f"Keliling Segitiga: {mat.keliling_segitiga(sisi1, sisi2, sisi3)}")
else:
print("Pilihan tidak valid, silakan coba lagi.")
elif pilihan == '5':
atm.keluar()
else:
print("Pilihan tidak valid, silakan coba lagi.")
self
adalah cara Python untuk memberikan referensi ke objek saat ini sehingga dapat mengakses atribut dan metode dari objek itu sendiri. Ini harus selalu menjadi parameter pertama dari setiap metode dalam kelas. Menggunakan self
memungkinkan kita untuk mengakses dan memodifikasi data yang spesifik untuk setiap objek dari kelas tersebut.
Dalam pemrograman Python, def
digunakan untuk mendefinisikan sebuah fungsi. Fungsi adalah blok kode yang dirancang untuk melakukan tugas tertentu dan dapat dipanggil berulang kali dalam program. Dalam konteks program ATM dan operasi matematika yang telah kita buat, setiap fungsi memiliki peran dan kegunaan tertentu.
math.pi
adalah konstanta penting dalam perhitungan matematika dan geometri yang melibatkan lingkaran. Ini digunakan untuk menghitung luas, keliling, volume, dan banyak lagi. Nilai math.pi
memungkinkan kita untuk melakukan perhitungan dengan akurasi tinggi tanpa harus mendefinisikan nilai π secara manual.
math.radians
adalah fungsi dalam modul math
di Python yang digunakan untuk mengonversi sudut dari satuan derajat ke satuan radian.
elif
adalah singkatan dari "else if" dalam bahasa pemrograman Python. Ini digunakan untuk menambahkan kondisi tambahan ke dalam struktur kontrol aliran yang memungkinkan program untuk memilih di antara beberapa jalur eksekusi yang berbeda.
Kesimpulan
Dengan memahami dan memodifikasi kode ini, Anda bisa mempelajari konsep dasar pemrograman seperti kelas, fungsi, dan logika kontrol dalam Python. Cobalah untuk mengembangkan program ini dengan fitur-fitur tambahan sesuai kebutuhan Anda.