Mohon dijawab para suhu buat program Pyhton dengan kasus -Minta user

Berikut ini adalah pertanyaan dari Uuung pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas

Mohon dijawab para suhu buat program Pyhton dengan kasus-Minta user masukkan sejumlah bilangan bulat positif.
-jika nilai dimasukkan negatif(<0) berhenti
-hitung rata-rata dan standar deviasi dari data tersebut.
-standar deviasi adalah akhir dari jumlah (x-rata-rata) ^2

Jawaban dan Penjelasan

Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.

Kode program Python

Alternatif 1: Tanpa menggunakan modul statistics

import math

# Fungsi untuk menghitung rata-rata
# Input: array
def mean(data):
   # μ = (Σ xi)/N
   return float(sum(data) / len(data))

# Fungsi untuk menghitung standar deviasi
# Input: array
def standar_deviasi(data):
   # D : Array dari deviasi
   # Untuk menyimpan deviasi setiap data
   # sehingga memungkinkan output nilai deviasi
   # setiap elemen data, jika diinginkan
   D = []
   rata_rata = mean(data)
   for x in data:
       # tambahkan nilai deviasi untuk setiap elemen data
       # Di = |xi – μ|
       D.append(abs(x-rata_rata))
   # Kembalikan nilai standar deviasi
   # σ = √[(Σ(Di)²)/N]
   # N diperoleh dari len(data)
   return math.sqrt(sum([d**2 for d in D])/len(data))

# Program Utama
if __name__ == '__main__':
   data = []
   # Loop forever untuk meminta input data
   # Berhenti ketika input data < 0
   while True:
       # Meminta masukan data bilangan
       x = int(input("Masukkan data ke-" + str(len(data)+1) + ": "))
       # Jika x > 0, masukkan ke array data
       if (x > 0):
           data.append(x)
       # Jika x = 0, ulangi input data
       elif (x == 0):
           print("Data harus merupakan bilangan bulat positif.")
       # Jika x < 0, keluar dari looping
       else: # x < 0
           break
   # Cetak data, rata-rata dan standar deviasi
   print("========================")
   print("Data:", end = " ")
   print(*data)
   print("RATA-RATA = " + str(mean(data)))
   print("STANDAR DEVIASI = " + str(standar_deviasi(data)), end="\n\n")
### END OF PROGRAM ###
__________________

Alternatif 2: Dengan menggunakan modul statistics

import statistics

data = []
# Loop forever untuk meminta input data
# Berhenti ketika input data < 0
while True:
   # Meminta masukan data bilangan
   x = int(input("Masukkan data ke-" + str(len(data)+1) + ": "))
   # Jika x > 0, masukkan ke array data
   if (x > 0):
       data.append(x)
   # Jika x = 0, ulangi input data
   elif (x == 0):
       print("Data harus merupakan bilangan bulat positif.")
   # Jika x < 0, keluar dari looping
   else: # x < 0
       break
print("========================")
print("Data:", end = " ")
print(*data)
print("RATA-RATA = " + str(statistics.mean(data)))
print("STANDAR DEVIASI = " + str(statistics.pstdev(data)), end="\n\n")
### END OF PROGRAM ###

__________________

Pembahasan

Untuk persoalan ini, asumsi awaladalah kita tidak memiliki modulbuilt-in pada interpreter Python yang berisi fungsi-fungsi untuk melakukan perhitungan statistika, seperti rata-rata dan standar deviasi. Dengan asumsi ini, contoh programnya adalah pada alternatif 1 di atas.

Dengan adanya modul statistics pada interpreter Python, program akan jauh lebih mudah dirancang, seperti pada program alternatif 2.

__________________

Contoh Output Hasil Eksekusi

Untuk pengujian, kita berikan data:
75, 70, 80, 81, 69, 88, 90, 95, 77, 89.

Output dari eksekusi program alternatif 1:

Masukkan data ke-1: 75
Masukkan data ke-2: 70
Masukkan data ke-3: 80
Masukkan data ke-4: 81
Masukkan data ke-5: 69
Masukkan data ke-6: 0
Data harus merupakan bilangan bulat positif.
Masukkan data ke-6: 88
Masukkan data ke-7: 90
Masukkan data ke-8: 95
Masukkan data ke-9: 77
Masukkan data ke-10: 89
Masukkan data ke-11: -1
========================
Data: 75 70 80 81 69 88 90 95 77 89
RATA-RATA = 81.4
STANDAR DEVIASI = 8.404760555780276

Keterangan: Pada input data ke-6, saya sengaja memasukkan nilai 0. Namun sesuai rancangan program di atas, ketika menerima input 0, program tidak memasukkan data input ke dalam array data, namun mengulangi permintaan masukan data ke-6.

Output dari eksekusi program alternatif 2:

Masukkan data ke-1: 75
Masukkan data ke-2: 70
Masukkan data ke-3: 80
Masukkan data ke-4: 81
Masukkan data ke-5: 69
Masukkan data ke-6: 88
Masukkan data ke-7: 90
Masukkan data ke-8: 95
Masukkan data ke-9: 77
Masukkan data ke-10: 89
Masukkan data ke-11: -9
========================
Data: 75 70 80 81 69 88 90 95 77 89
RATA-RATA = 81.4
STANDAR DEVIASI = 8.404760555780278

Keterangan: Terdapat perbedaan kecil pada hasil perhitungan standar deviasi, yaitu pada digit terakhir.

Kode program Python Alternatif 1: Tanpa menggunakan modul statisticsimport math# Fungsi untuk menghitung rata-rata# Input: arraydef mean(data):    # μ = (Σ xi)/N    return float(sum(data) / len(data))# Fungsi untuk menghitung standar deviasi# Input: arraydef standar_deviasi(data):    # D : Array dari deviasi    # Untuk menyimpan deviasi setiap data    # sehingga memungkinkan output nilai deviasi    # setiap elemen data, jika diinginkan    D = []    rata_rata = mean(data)    for x in data:        # tambahkan nilai deviasi untuk setiap elemen data        # Di = |xi – μ|        D.append(abs(x-rata_rata))    # Kembalikan nilai standar deviasi    # σ = √[(Σ(Di)²)/N]    # N diperoleh dari len(data)    return math.sqrt(sum([d**2 for d in D])/len(data))# Program Utamaif __name__ == '__main__':    data = []    # Loop forever untuk meminta input data    # Berhenti ketika input data < 0    while True:        # Meminta masukan data bilangan        x = int(input(Kode program Python Alternatif 1: Tanpa menggunakan modul statisticsimport math# Fungsi untuk menghitung rata-rata# Input: arraydef mean(data):    # μ = (Σ xi)/N    return float(sum(data) / len(data))# Fungsi untuk menghitung standar deviasi# Input: arraydef standar_deviasi(data):    # D : Array dari deviasi    # Untuk menyimpan deviasi setiap data    # sehingga memungkinkan output nilai deviasi    # setiap elemen data, jika diinginkan    D = []    rata_rata = mean(data)    for x in data:        # tambahkan nilai deviasi untuk setiap elemen data        # Di = |xi – μ|        D.append(abs(x-rata_rata))    # Kembalikan nilai standar deviasi    # σ = √[(Σ(Di)²)/N]    # N diperoleh dari len(data)    return math.sqrt(sum([d**2 for d in D])/len(data))# Program Utamaif __name__ == '__main__':    data = []    # Loop forever untuk meminta input data    # Berhenti ketika input data < 0    while True:        # Meminta masukan data bilangan        x = int(input(Kode program Python Alternatif 1: Tanpa menggunakan modul statisticsimport math# Fungsi untuk menghitung rata-rata# Input: arraydef mean(data):    # μ = (Σ xi)/N    return float(sum(data) / len(data))# Fungsi untuk menghitung standar deviasi# Input: arraydef standar_deviasi(data):    # D : Array dari deviasi    # Untuk menyimpan deviasi setiap data    # sehingga memungkinkan output nilai deviasi    # setiap elemen data, jika diinginkan    D = []    rata_rata = mean(data)    for x in data:        # tambahkan nilai deviasi untuk setiap elemen data        # Di = |xi – μ|        D.append(abs(x-rata_rata))    # Kembalikan nilai standar deviasi    # σ = √[(Σ(Di)²)/N]    # N diperoleh dari len(data)    return math.sqrt(sum([d**2 for d in D])/len(data))# Program Utamaif __name__ == '__main__':    data = []    # Loop forever untuk meminta input data    # Berhenti ketika input data < 0    while True:        # Meminta masukan data bilangan        x = int(input(

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: Mon, 24 Oct 22