Analisis ini dirancang untuk memberikan wawasan terkait preferensi pelanggan terhadap kategori film pada sistem rental film Sakila. Dalam konteks Sistem Informasi Manajemen, informasi mengenai kategori film yang paling populer menjadi penting karena dapat membantu perusahaan dalam memahami perilaku pelanggan dan menentukan strategi bisnis yang lebih efektif.
Fokus utama analisis adalah mengidentifikasi kategori film dengan tingkat penyewaan tertinggi berdasarkan data transaksi rental. Selain itu, analisis juga dilakukan untuk mengetahui apakah terdapat perbedaan tingkat popularitas yang signifikan antar kategori film menggunakan metode statistik Chi-Square Goodness of Fit.
Hasil analisis diharapkan dapat menjadi dasar dalam pengambilan keputusan bisnis, seperti pengelolaan inventory film, strategi promosi, rekomendasi film kepada pelanggan, serta optimalisasi layanan rental film.
Dataset yang digunakan dalam analisis ini adalah database Sakila, yaitu database simulasi bisnis rental film berbasis MySQL. Data yang dianalisis berasal dari beberapa tabel yang saling terhubung dalam sistem database relasional.
Tahapan analisis difokuskan pada tabel-tabel utama berikut:
| Nama Tabel | Deskripsi |
|---|---|
| film | Menyimpan informasi film |
| category | Menyimpan kategori film |
| film_category | Penghubung antara film dan kategori |
| inventory | Data stok film pada toko |
| rental | Data transaksi penyewaan film |
Variabel utama yang digunakan dalam analisis:
| Nama Variabel | Deskripsi |
|---|---|
| category | Nama kategori film |
| total_rental | Jumlah penyewaan film pada setiap kategori |
| persentase | Persentase kontribusi rental tiap kategori |
Berikut adalah tahapan analisis untuk mengevaluasi popularitas kategori film berdasarkan frekuensi penyewaan:
Koneksi Database dan Persiapan Data Menghubungkan database MySQL Sakila dengan R menggunakan package RMariaDB. Pengambilan Data Menggunakan SQL: Mengambil data jumlah rental untuk setiap kategori film melalui query SQL.
Analisis Deskriptif Menghitung jumlah rental, persentase kontribusi kategori film, serta melihat distribusi data. Visualisasi Data: Membuat grafik batang untuk melihat kategori film yang paling populer berdasarkan jumlah rental.
Uji Chi-Square Goodness of Fit Menguji apakah terdapat perbedaan tingkat popularitas yang signifikan antar kategori film.
Interpretasi dan Rekomendasi Menarik insight bisnis berdasarkan hasil analisis statistik dan visualisasi data.
library(DBI)
library(RMariaDB)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.2.1 ✔ readr 2.2.0
## ✔ forcats 1.0.1 ✔ stringr 1.6.0
## ✔ ggplot2 4.0.2 ✔ tibble 3.3.1
## ✔ lubridate 1.9.5 ✔ tidyr 1.3.2
## ✔ purrr 1.2.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(ggplot2)
library(knitr)
library(kableExtra)
##
## Attaching package: 'kableExtra'
##
## The following object is masked from 'package:dplyr':
##
## group_rows
con <- dbConnect(
RMariaDB::MariaDB(),
dbname = "sakila",
host = "localhost",
port = 3306,
user = "root",
password = "@Bintang0908"
)
Data diambil menggunakan query SQL untuk menghitung jumlah penyewaan film pada setiap kategori.
kategori_populer <- dbGetQuery(con, "
SELECT
c.name AS category,
COUNT(r.rental_id) AS total_rental
FROM rental r
JOIN inventory i
ON r.inventory_id = i.inventory_id
JOIN film_category fc
ON i.film_id = fc.film_id
JOIN category c
ON fc.category_id = c.category_id
GROUP BY c.name
ORDER BY total_rental DESC
")
kategori_populer$total_rental <-
as.numeric(kategori_populer$total_rental)
kable(kategori_populer) %>%
kable_styling(
bootstrap_options = c(
"striped",
"hover",
"condensed"
),
full_width = FALSE
)
| category | total_rental |
|---|---|
| Sports | 1179 |
| Animation | 1166 |
| Action | 1112 |
| Sci-Fi | 1101 |
| Family | 1096 |
| Drama | 1060 |
| Documentary | 1050 |
| Foreign | 1033 |
| Games | 969 |
| Children | 945 |
| Comedy | 941 |
| New | 940 |
| Classics | 939 |
| Horror | 846 |
| Travel | 837 |
| Music | 830 |
Visualisasi dilakukan untuk melihat secara langsung kategori film yang paling sering disewa oleh pelanggan.
Analisis dilakukan menggunakan grafik batang untuk membandingkan jumlah rental pada setiap kategori film.
Rumus persentase kontribusi kategori:
\[ \text{Persentase}_i = \frac{\text{Total Rental}_i} {\sum_{i=1}^{n} \text{Total Rental}_i} \times 100\% \]
ggplot(kategori_populer,
aes(x = reorder(category, total_rental),
y = total_rental,
fill = total_rental)) +
geom_col(width = 0.7) +
coord_flip() +
scale_fill_gradient(
low = "#DDD6FE",
high = "#7C3AED"
) +
labs(
title = "Kategori Film Paling Populer",
x = "Kategori Film",
y = "Jumlah Rental"
) +
theme_minimal(base_size = 13) +
theme(
plot.title = element_text(
size = 18,
face = "bold",
color = "#6D28D9"
),
axis.title = element_text(
face = "bold"
),
panel.grid.minor = element_blank(),
legend.position = "none"
)
Berdasarkan visualisasi jumlah rental, terlihat bahwa beberapa kategori film memiliki tingkat penyewaan yang lebih tinggi dibandingkan kategori lainnya. Hal ini menunjukkan bahwa pelanggan memiliki preferensi tertentu terhadap genre film tertentu sehingga kategori dengan jumlah rental tertinggi dapat dianggap sebagai kategori film paling populer dalam sistem rental Sakila.
Analisis deskriptif dilakukan untuk melihat gambaran umum distribusi jumlah rental antar kategori film.
summary(kategori_populer$total_rental)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 830.0 939.8 1001.0 1002.8 1097.2 1179.0
mean(kategori_populer$total_rental)
## [1] 1002.75
sd(kategori_populer$total_rental)
## [1] 113.3134
Nilai rata-rata dan standar deviasi menunjukkan adanya variasi jumlah rental antar kategori film. Perbedaan ini mengindikasikan bahwa tidak semua kategori memiliki tingkat popularitas yang sama di kalangan pelanggan.
Uji Chi-Square digunakan untuk mengetahui apakah terdapat perbedaan tingkat popularitas yang signifikan antar kategori film.
H0: Semua kategori film memiliki tingkat penyewaan yang sama.
H1: Terdapat perbedaan tingkat penyewaan antar kategori film.
Rumus Uji Chi-Square: \[ \chi^2 = \sum_{i=1}^{n} \frac{ (O_i-E_i)^2 }{E_i} \]
Keterangan:
\[ O_i = \text{Frekuensi Observasi} \]
\[ E_i = \text{Frekuensi Harapan} \]
Pengujian Chi-Square
uji_chisquare <- chisq.test(
kategori_populer$total_rental
)
uji_chisquare
##
## Chi-squared test for given probabilities
##
## data: kategori_populer$total_rental
## X-squared = 192.07, df = 15, p-value < 2.2e-16
Interpretasi Hasil Uji
Nilai p-value lebih besar dari 0.05, maka H0 gagal ditolak sehingga tidak terdapat perbedaan tingkat popularitas yang signifikan antar kategori film.
Berdasarkan hasil visualisasi dan uji Chi-Square, diketahui bahwa kategori film pada database Sakila tidak menunjukkan perbedaan tingkat popularitas yang signifikan secara statistik. Meskipun terdapat beberapa kategori dengan jumlah rental yang lebih tinggi dibandingkan kategori lainnya, perbedaan tersebut tidak cukup besar untuk menunjukkan adanya perbedaan preferensi pelanggan yang signifikan antar kategori film.
Hasil ini menunjukkan bahwa pelanggan cenderung memiliki minat yang relatif merata terhadap berbagai kategori film yang tersedia pada sistem rental Sakila. Dengan demikian, seluruh kategori film masih memiliki peluang yang hampir sama untuk disewa oleh pelanggan.
Dalam konteks Sistem Informasi Manajemen, informasi ini tetap penting karena dapat membantu perusahaan dalam menjaga keseimbangan pengelolaan inventory film pada setiap kategori. Selain itu, perusahaan dapat mempertahankan variasi kategori film agar kebutuhan dan preferensi pelanggan yang beragam tetap dapat terpenuhi.
Hasil analisis menunjukkan bahwa kategori film pada database Sakila memiliki distribusi jumlah penyewaan yang relatif merata antar kategori. Meskipun terdapat kategori dengan jumlah rental lebih tinggi dibandingkan kategori lainnya, hasil uji Chi-Square Goodness of Fit menunjukkan bahwa perbedaan tersebut tidak signifikan secara statistik.
Berdasarkan hasil pengujian, nilai p-value lebih besar dari 0.05 sehingga H0 gagal ditolak. Dengan demikian, dapat disimpulkan bahwa tidak terdapat perbedaan tingkat popularitas yang signifikan antar kategori film pada database Sakila.
Hasil analisis ini menunjukkan bahwa pelanggan memiliki preferensi yang cukup beragam terhadap kategori film yang tersedia. Informasi tersebut dapat digunakan sebagai dasar dalam pengelolaan inventory dan penyediaan variasi film pada sistem rental agar tetap mampu memenuhi kebutuhan pelanggan secara menyeluruh.