First
This commit is contained in:
161
Acara-16/temp3.py
Normal file
161
Acara-16/temp3.py
Normal file
@@ -0,0 +1,161 @@
|
||||
def input_angka(pesan):
|
||||
while True:
|
||||
try:
|
||||
return float(input(pesan))
|
||||
except ValueError:
|
||||
print("Input bukan angka, coba lagi.")
|
||||
|
||||
|
||||
def input_pilihan(valid_opsi, pesan="Pilih: "):
|
||||
valid_opsi = {str(o) for o in valid_opsi}
|
||||
while True:
|
||||
s = input(pesan).strip()
|
||||
if s in valid_opsi:
|
||||
return int(s)
|
||||
print(f"Input tidak valid. Pilihan yang tersedia: {sorted(valid_opsi)}")
|
||||
|
||||
|
||||
# =================
|
||||
# NOTE :
|
||||
# c = Celcius
|
||||
# k = Kelvin
|
||||
# f = Fahrenheit
|
||||
# r = Reamur
|
||||
# =================
|
||||
|
||||
|
||||
def to_c_from_f(f):
|
||||
return (f - 32) * 5 / 9
|
||||
|
||||
|
||||
def to_c_from_r(r):
|
||||
return r * 5 / 4
|
||||
|
||||
|
||||
def to_c_from_k(k):
|
||||
return k - 273.15
|
||||
|
||||
|
||||
def from_c_to_f(c):
|
||||
return c * 9 / 5 + 32
|
||||
|
||||
|
||||
def from_c_to_r(c):
|
||||
return c * 4 / 5
|
||||
|
||||
|
||||
def from_c_to_k(c):
|
||||
return c + 273.15
|
||||
|
||||
|
||||
def konversi_suhu():
|
||||
print("==============================================")
|
||||
print("WORKSHOP PEMROGRAMAN DASAR")
|
||||
print("Selamat Datang di Program Konversi Suhu Sederhana")
|
||||
print("==============================================")
|
||||
print("1. Celcius")
|
||||
print("2. Reamur")
|
||||
print("3. Fahrenheit")
|
||||
print("4. Kelvin")
|
||||
|
||||
pilih = input_pilihan(
|
||||
{1, 2, 3, 4}, "Masukkan satuan yang akan dikonversi (1/2/3/4): "
|
||||
)
|
||||
|
||||
# Menaruh label
|
||||
label = {1: "Celcius", 2: "Reamur", 3: "Fahrenheit", 4: "Kelvin"}[pilih]
|
||||
print(f"\n=={label}==")
|
||||
|
||||
if pilih == 1: # pilihan ke 1
|
||||
c = input_angka("Suhu Celcius = ")
|
||||
print("\nMau diubah ke satuan suhu yang mana ?")
|
||||
print("1. Reamur")
|
||||
print("2. Fahrenheit")
|
||||
print("3. Kelvin")
|
||||
tujuan = input_pilihan({1, 2, 3}, "Pilih = ")
|
||||
if tujuan == 1:
|
||||
hasil = from_c_to_r(c)
|
||||
tujuan = "reamur"
|
||||
elif tujuan == 2:
|
||||
hasil = from_c_to_f(c)
|
||||
tujuan = "fahrenheit"
|
||||
else:
|
||||
hasil = from_c_to_k(c)
|
||||
tujuan = "kelvin"
|
||||
|
||||
elif pilih == 2: # pilihan ke 2
|
||||
r = input_angka("Suhu Reamur = ")
|
||||
c = to_c_from_r(r)
|
||||
print("\nMau diubah ke satuan suhu yang mana ?")
|
||||
print("1. Celcius")
|
||||
print("2. Fahrenheit")
|
||||
print("3. Kelvin")
|
||||
tujuan = input_pilihan({1, 2, 3}, "Pilih = ")
|
||||
if tujuan == 1:
|
||||
hasil = c
|
||||
tujuan = "celcius"
|
||||
elif tujuan == 2:
|
||||
hasil = from_c_to_f(c)
|
||||
tujuan = "fahrenheit"
|
||||
else:
|
||||
hasil = from_c_to_k(c)
|
||||
tujuan = "kelvin"
|
||||
|
||||
elif pilih == 3: # pilihan ke 3
|
||||
f = input_angka("Suhu Fahrenheit = ")
|
||||
c = to_c_from_f(f)
|
||||
print("\nMau diubah ke satuan suhu yang mana ?")
|
||||
print("1. Celcius")
|
||||
print("2. Reamur")
|
||||
print("3. Kelvin")
|
||||
tujuan = input_pilihan({1, 2, 3}, "Pilih = ")
|
||||
if tujuan == 1:
|
||||
hasil = c
|
||||
tujuan = "celcius"
|
||||
elif tujuan == 2:
|
||||
hasil = from_c_to_r(c)
|
||||
tujuan = "reamur"
|
||||
else:
|
||||
hasil = from_c_to_k(c)
|
||||
tujuan = "kelvin"
|
||||
|
||||
else: # pilihan ke 4
|
||||
k = input_angka("Suhu Kelvin = ")
|
||||
c = to_c_from_k(k)
|
||||
print("\nMau diubah ke satuan suhu yang mana ?")
|
||||
print("1. Celcius")
|
||||
print("2. Reamur")
|
||||
print("3. Fahrenheit")
|
||||
tujuan = input_pilihan({1, 2, 3}, "Pilih = ")
|
||||
if tujuan == 1:
|
||||
hasil = c
|
||||
tujuan = "celcius"
|
||||
elif tujuan == 2:
|
||||
hasil = from_c_to_r(c)
|
||||
tujuan = "reamur"
|
||||
else:
|
||||
hasil = from_c_to_f(c)
|
||||
tujuan = "fahrenheit"
|
||||
|
||||
print(f"\nSuhu {tujuan} = {hasil:.12f}\n") # presisi mirip contoh
|
||||
|
||||
|
||||
def MenuUtama():
|
||||
print("==============================================")
|
||||
print("WORKSHOP PEMROGRAMAN DASAR")
|
||||
print("Selamat Datang di Program Konversi Suhu Sederhana")
|
||||
print("==============================================")
|
||||
print("1. Konversi Suhu")
|
||||
print("2. Keluar")
|
||||
|
||||
|
||||
while True:
|
||||
MenuUtama()
|
||||
|
||||
m = input_pilihan({1, 2}, "Pilih menu (1/2): ")
|
||||
if m == 1:
|
||||
konversi_suhu()
|
||||
elif m == 2:
|
||||
print("Terima kasih, program selesai.")
|
||||
break
|
||||
input("Tekan Enter untuk kembali ke menu...")
|
||||
Reference in New Issue
Block a user