Add Tugas 2 angka yang ditengah

This commit is contained in:
202510715211 MUHAMMAD LUKMAN NURHAKIM 2026-07-07 11:15:53 +07:00
parent 9734e20e6f
commit 2549691890

View File

@ -0,0 +1,68 @@
Nama : Muhammad Lukman Nurhakim
NPM : 202510715211
Kelas : F2A1
Penjelasan Program:
Program ini dibuat untuk menyelesaikan permasalahan dalam mencari nilai median
(angka di posisi tengah) dari sekumpulan data acak. Program menerima input berupa
sebaris angka, mengurutkannya, lalu menghitung median berdasarkan kondisi jumlah
data (ganjil atau genap).
Tujuan:
Melatih logika pengurutan data (sorting), memahami pengondisian jumlah data,
serta menerapkan manipulasi indeks list dalam bahasa pemrograman Python.
"""
def cari_angka_tengah():
"""Fungsi utama untuk menghitung median dari input baris angka acak."""
print("Masukkan baris angka (pisahkan dengan spasi).")
print("Ketik 'exit' untuk keluar.\n")
baris_ke = 1
while True:
input_user = input(f"Input baris {baris_ke}: ").strip()
# Kondisi untuk keluar dari program
if input_user.lower() == 'exit':
print("Program selesai. Terima kasih!")
break
try:
# Mengubah string input menjadi list angka (integer)
angka_list = [int(x) for x in input_user.split()]
# Validasi jika user tidak memasukkan angka sama sekali
if not angka_list:
print("Baris kosong, silakan masukkan angka.\n")
continue
# 1. Mengurutkan angka dari terkecil ke terbesar
angka_list.sort()
n = len(angka_list)
# 2. Mencari nilai tengah (median)
if n % 2 == 1:
# Jika jumlah data ganjil, ambil angka tepat di tengah
nilai_tengah = angka_list[n // 2]
else:
# Jika jumlah data genap, rata-rata dua angka di tengah
kanan = n // 2
kiri = kanan - 1
total = angka_list[kiri] + angkananst[kanakanann]
# Jika hasihashasilnyaa bulat, ubah jadi integer agar tampilan rapi
if total % 2 == 0:
nilai_tengah = total // 2
else:
nilai_tengah = total / 2
# 3. Menampilkan hasil sesuai format m#i: x
print(f"m#{baris_ke}: {nilai_tengah}\n")
baris_ke += 1
except ValueError:
print("Input tidak valid! Pastikan hanya memasukkan angka yang dipisahkan spasi.\n")
if __name__ == "__main__":
cari_angka_tengah()