UTS (BIG DATA INTELLIGENCE)
UTS BIG DATA INTELLIGENCE
Deskripsi:
Anda diminta untuk membuat sebuah aplikasi analisis rating aplikasi yang dapat:
1. Membaca data aplikasi dari file eksternal.
2. Menghitung rata-rata rating untuk semua aplikasi.
3. Menghitung rata-rata rating aplikasi berdasarkan kategori aplikasi (Game, Social,
Productivity, dll.).
4. Menampilkan aplikasi terbaik berdasarkan rating tertinggi.
5. Menampilkan jumlah aplikasi yang gratis dan berbayar.
6. Memastikan aplikasi yang disarankan (rating > 4.0 dan gratis) ditampilkan sebagai
rekomendasi.
Data Input:
file data-aplikasi.txt
Fitur Utama yang Harus Dibuat:
1. Membaca Data dari File: Baca file data_aplikasi.txt dan simpan data tersebut ke dalam
variabel Python yang sesuai (list atau dictionary).
2. Menghitung Rata-rata Rating Semua Aplikasi: Hitung rata-rata rating dari seluruh aplikasi
yang ada di file.
3. Menghitung Rata-rata Rating Berdasarkan Kategori: Buat fungsi yang menghitung rata-rata
rating berdasarkan kategori aplikasi (misalnya, rata-rata rating aplikasi kategori Game, Social,
dll.).
4. Menampilkan Aplikasi Terbaik: Tampilkan aplikasi dengan rating tertinggi.
5. Menghitung Jumlah Aplikasi Gratis dan Berbayar: Tampilkan jumlah aplikasi yang gratis
(harga 0) dan aplikasi yang berbayar (harga > 0).
6. Merekomendasikan Aplikasi: Tampilkan aplikasi yang memenuhi syarat untuk
direkomendasikan (rating lebih dari 4.0 dan gratis).
Syarat Teknis:
1. Penggunaan Variabel dan Tipe Data: Gunakan variabel, list, dan dictionary untuk
menyimpan data.
2. Fungsi dan Modularisasi: Buat fungsi-fungsi untuk mengorganisasi kode Anda, seperti fungsi
untuk membaca file, menghitung rata-rata, mencari aplikasi terbaik, dll.
3. Logika Pengkondisian: Gunakan if-else untuk menentukan aplikasi terbaik dan aplikasi yang
direkomendasikan.
4. Loop dan Iterasi: Gunakan loop untuk menghitung total rating dan frekuensi aplikasi.
5. File Handling: Implementasi pembacaan data dari file eksternal.
Contoh Output:
Nama mahasiswa/NIM: nama_mhs/nim
Rata-rata rating semua aplikasi: 4.35
Rata-rata rating kategori Game: 4.55
Rata-rata rating kategori Productivity: 4.63
Rata-rata rating kategori Social: 3.86
Aplikasi terbaik: App4 dengan rating 5.00
Jumlah aplikasi gratis: 52
Jumlah aplikasi berbayar: 48
Aplikasi yang direkomendasikan: App1, App4, App7, App10, App13, App16, App19, App22,
App25, App28, App31, App34, App37, App40, App43, App46, App49, App52, App55, App58,
App61, App64, App67, App70, App73, App76, App79, App82, App85, App88, App91, App94,
App97, App100
Langkah Awal:
1. Buat folder pada direktori C:\\users
2. Buat file data-aplikasi.txt yang berisi data aplikasi yang seperti anda inginkan didalam folder yang sudah anda buat
# Fungsi untuk membaca data dari file eksternal
def read_data(file_name):
apps_data = []
with open(file_name, 'r') as file:
for line in file:
app_name, category, rating, price = line.strip().split(',')
apps_data.append((app_name, category, float(rating), int(price)))
return apps_data
# 1. Menghitung rata-rata rating untuk semua aplikasi
def calculate_average_rating(data):
total_rating = sum([app[2] for app in data])
return total_rating / len(data)
# 2. Menghitung rata-rata rating berdasarkan kategori
def calculate_category_average(data):
categories = {}
for app in data:
category = app[1]
rating = app[2]
if category not in categories:
categories[category] = []
categories[category].append(rating)
avg_per_category = {category: sum(ratings) / len(ratings) for category, ratings in categories.items()}
return avg_per_category
# 3. Menampilkan aplikasi terbaik (rating tertinggi)
def find_best_app(data):
return max(data, key=lambda app: app[2])
# 4. Menghitung jumlah aplikasi gratis dan berbayar
def count_free_paid_apps(data):
free_apps = len([app for app in data if app[3] == 0])
paid_apps = len([app for app in data if app[3] > 0])
return free_apps, paid_apps
# 5. Menampilkan aplikasi yang direkomendasikan (rating > 4.0 dan gratis)
def recommend_apps(data):
return [app[0] for app in data if app[2] > 4.0 and app[3] == 0]
# Main program untuk menjalankan semua fungsi di atas
def main():
# Baca data dari file eksternal
file_name = 'data-aplikasi.txt' # Nama file data Anda
apps_data = read_data(file_name)
# Input Nama Mahasiswa dan NIM
nama_mahasiswa = "Bintang Prasetyo Adi"
nim = "8801202206"
# Cetak nama mahasiswa dan NIM
print(f"Nama mahasiswa/NIM: {nama_mahasiswa}/{nim}")
# Hitung rata-rata rating semua aplikasi
avg_rating = calculate_average_rating(apps_data)
print(f"Rata-rata rating semua aplikasi: {avg_rating:.2f}")
# Hitung rata-rata rating berdasarkan kategori
category_avg_rating = calculate_category_average(apps_data)
for category, avg in category_avg_rating.items():
print(f"Rata-rata rating kategori {category}: {avg:.2f}")
# Tampilkan aplikasi terbaik
best_app = find_best_app(apps_data)
print(f"Aplikasi terbaik: {best_app[0]} dengan rating {best_app[2]:.2f}")
# Hitung jumlah aplikasi gratis dan berbayar
free_apps_count, paid_apps_count = count_free_paid_apps(apps_data)
print(f"Jumlah aplikasi gratis: {free_apps_count}")
print(f"Jumlah aplikasi berbayar: {paid_apps_count}")
# Tampilkan aplikasi yang direkomendasikan
recommended_apps = recommend_apps(apps_data)
print(f"Aplikasi yang direkomendasikan: {', '.join(recommended_apps)}")
# Jalankan main program
main()
Komentar
Posting Komentar