Berikut ini adalah pertanyaan dari anyma0210 pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas
Jawaban dan Penjelasan
Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.
Jawaban dan Penjelasan:
ALGORITMA
Dari skenario pada gambar di pertanyaan, sebenarnya sudah cukup jelas algoritmanya.
1. Meminta input data berupa beberapa bilangan.
2. Menghitung nilai MEAN, MEDIAN, MODUS, dan STANDAR DEVIASI.
3. Menampilkan hasil perhitungan.
Pada kode program di bawah ini, karena boleh mempergunakan "pustaka", maka langkah ke-2 dan ke-3 pada algoritma di atas digabung saja jadi output sekaligus proses. Secara internal, proses perhitungan dilakukan dulu oleh compiler Python, baru membungkusnya dalam output melalui "print".
KODE PROGRAM
from statistics import mean, median, multimode, stdev
from os import system
system("cls")
# Menerima input dari user berupa
# data beberapa angka
lst = [int(item) for item in input("Masukkan data angka (dipisahkan dengan spasi:\n").split()]
# Tampilkan data yang dimasukkan
print("\nData yang Anda masukkan:")
print(*lst, sep = ", ")
print("Banyak data: " + str(len(lst)))
# MEAN / Rata-rata
print("\nMEAN = " + str(mean(lst)))
# MEDIAN / Nilai tengah
print("MEDIAN = " + str(median(lst)))
# MODUS / Nilai terbanyak
# Menggunakan multimodus karena data mungkin memiliki modus lebih dari satu
modus = multimode(lst)
# Fungsi multimode selalu menghasilkan list walaupun nilai modusnya tunggal
print("MODUS = ", end = "")
print(*modus, sep = ", ", end = " ")
if (len(modus) > 1):
print("(multimodal)")
else:
print("(modus tunggal)")
# STANDAR DEVIASI / Simpangan baku
print("STANDAR DEVIASI = " + str(stdev(lst)))
Keterangan:
Karena boleh mempergunakan "pustaka", maka saya gunakan pustaka "statistics", yang saya import hanya untuk method-method yang digunakan saja (mean, median, multimode, dan stdev). Pustaka "os" hanya untuk melaksanakan perintah Windows "cls".
Dalam program di atas, data input dikonversi menjadi INTEGER. Jika menginginkan setiap nilainya FLOAT, silahkan diganti saja type-casting-nya menjadi "float(item)..."
HASIL EKSEKUSI
Saya lampirkan screenshot hasil eksekusi. Ada 2 contoh hasil eksekusi. Pertama, data memiliki satu modus (modus tunggal). Kedua, data memiliki beberapa nilai modus (multimodal).
Namun mohon maaf, saya kurang memperhatikan batasan data pada pertanyaan (interval 1-100). Saya isi datanya di luar interval itu. Tapi pada dasarnya, alur program tetap sama.
Semoga dengan pertanyaan yang sudah terjawab oleh henriyulianto dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.
Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact
Last Update: Tue, 08 Mar 22