This commit is contained in:
Chizuui
2025-11-27 00:38:38 +07:00
parent 5444efab13
commit 1795fa1c2f
81 changed files with 1893 additions and 0 deletions

161
Acara-16/temp3.py Normal file
View 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...")