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()