Mengaktifkan Package

library(ggplot2)
library(ggthemes)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(readxl)
library(gridExtra)
## 
## Attaching package: 'gridExtra'
## The following object is masked from 'package:dplyr':
## 
##     combine
library(scales)

Input Data

Melakukan impor data harga emas periode Januari 2025 hingga Februari 2026 dari file Excel menggunakan spesifikasi file path dan nama file .xlsx yang telah ditentukan.

setwd("C:\\Users\\ACER\\Downloads")
data <- read_excel("DATA HARGA EMAS NUM.xlsx")
head(data, 32)
## # A tibble: 28 × 4
##    Tanggal             Tempat    `Jenis Emas` `Harga/gram`
##    <dttm>              <chr>     <chr>               <dbl>
##  1 2025-01-01 00:00:00 Pegadaian Ubs               1502000
##  2 2025-01-01 00:00:00 Pegadaian Antam             1553000
##  3 2025-02-01 00:00:00 Pegadaian Ubs               1596000
##  4 2025-02-01 00:00:00 Pegadaian Antam             1661000
##  5 2025-03-01 00:00:00 Pegadaian Ubs               1651000
##  6 2025-03-01 00:00:00 Pegadaian Antam             1672000
##  7 2025-04-01 00:00:00 Pegadaian Ubs               1820000
##  8 2025-04-01 00:00:00 Pegadaian Antam             1852000
##  9 2025-05-01 00:00:00 Pegadaian Ubs               1930000
## 10 2025-05-01 00:00:00 Pegadaian Antam             2044000
## # ℹ 18 more rows

Membuat Grafik Data Numerik

1. Density Plot

Interpretasi terhadap densitas harga emas menunjukkan adanya perbedaan signifikan antara kedua jenis emas, di mana Antam memiliki nilai yang lebih tinggi dibandingkan UBS. Berdasarkan kurva positive skew yang terbentuk, dapat disimpulkan bahwa pergerakan harga emas cenderung stabil di angka tertentu, namun memiliki potensi kenaikan yang tinggi, yang ditunjukkan oleh ekor panjang pada sisi kanan grafik.

density_plot <- ggplot(data, aes(x = `Harga/gram`,fill = `Jenis Emas`)) +
  geom_density(alpha = 0.5)+
  scale_y_continuous(labels = comma) +
  labs(title = "Distribusi Tren Harga Emas Antam vs UBS", x = "Harga Emas per Gram", y = "Density")
density_plot

2. Box Plot

Perbandingan distribusi harga menunjukkan median Antam sedikit di atas UBS, namun UBS memiliki rentang harga yang lebih lebar mencapai \(Rp3.000.000\). Perbedaan yang tidak signifikan pada nilai tengah menunjukkan bahwa keduanya masih bersaing ketat, meski UBS mengalami fluktuasi harga yang lebih tinggi selama Januari 2025 - Februari 2026.

ggplot(data, aes(x = `Jenis Emas`, y = `Harga/gram`, fill = `Jenis Emas`)) +
  geom_boxplot(alpha = 0.6) +
  scale_y_continuous(labels = scales::comma) +
  labs(title = "Tren Harga Emas Antam vs UBS ", x = "Jenis Emas", y = "Harga per Gram") +
theme_bw()

3. Histogram

Mayoritas harga emas berkumpul di rentang Rp1,9jt – Rp2,25jt dengan pola positive skew. Hal ini menunjukkan harga cenderung stabil di angka Rp2.000.000 namun memiliki peluang besar untuk terus melonjak lebih tinggi.

ggplot(data, aes(x = `Harga/gram`)) +
  geom_histogram(binwidth = 500000, fill = "gold", color = "black") +
  labs(title = "Frekuensi Harga Emas Antam vs UBS", x = "Harga", y = "frekuensi")

4. Stem Leaf

Berdasarkan diagram Stem Leaf yang disajikan, terlihat bahwa harga emas paling sering muncul pada angka dahan 18. Hal ini mengindikasikan bahwa secara historis, harga emas pada periode tersebut cenderung stabil di kisaran Rp1,8 juta hingga mendekati Rp2 juta.

stem(data$`Harga/gram`)
## 
##   The decimal point is 5 digit(s) to the right of the |
## 
##   14 | 05
##   16 | 0567
##   18 | 257901347
##   20 | 464
##   22 | 494
##   24 | 0289
##   26 | 5
##   28 | 6
##   30 | 0

5. Dot Plots

Harga emas bergerak dalam tren linear positif dengan lonjakan tajam pada Oktober hingga menyentuh Rp3.000.000/gram. Analisis ini mengonfirmasi bahwa seiring bertambahnya waktu, nilai emas cenderung meningkat secara progresif, memberikan sinyal kenaikan harga yang berkelanjutan pada periode berikutnya.

dot_plot <- ggplot(data, aes(x = `Tanggal` , y = `Harga/gram`)) +
  geom_point(color = "black", size = 2) +
  theme_minimal() +
  labs(title = "Tren Harga Emas Antam vs UBS Jan 25 - Feb 26", x = "Tanggal", y = "Harga Emas per gram")

dot_plot

Data Kategorik

Membuat Data Kategorik dari Jenis dan Harga yang Ada

Melakukan transformasi data numerik variabel ‘Harga’ menjadi data kategorikal untuk mengklasifikasikan tingkatan harga emas. Penentuan kategori dilakukan berdasarkan ambang batas (threshold) sebagai berikut: Rendah (Rp1.600.000 – Rp2.000.000), Sedang (Rp2.000.001 – Rp2.500.000), dan Tinggi (di atas Rp2.500.000).

data$Jenis_Emas <- as.factor(data$`Jenis Emas`)
data$Status_Harga <- cut(data$`Harga/gram`, 
                         breaks = c(0, 1600000, 2500000, Inf), 
                         labels = c("Rendah", "Sedang", "Tinggi"))
table(data$Status_Harga)
## 
## Rendah Sedang Tinggi 
##      3     21      4

Membuat Grafik dengan Data Kategorik

6. Bar Chart

Konsentrasi harga yang signifikan pada rentang \(Rp2.000.000 – Rp2.500.000\) memberikan sinyal positif bagi pergerakan pasar. Dengan dukungan tren ini, harga emas dipastikan memiliki ruang pertumbuhan yang lebar untuk mencapai estimasi tertinggi di level \(Rp3.000.000\).

ggplot(data, aes(x = Status_Harga, fill = Status_Harga)) +
  geom_bar() +
  scale_fill_manual(values = c("Rendah" = "#228B50", "Sedang" = "#FFD400", "Tinggi" = "#FF0000")) +
  labs(
    title = "Distribusi Frekuensi Tingkat Harga Emas",
    x = "Kategori Harga",
    y = "Jumlah Hari (Frekuensi)"
  ) +
  theme_minimal()

7. Pie Chart

Mayoritas data harga emas (75%) terkonsentrasi pada kategori Sedang dengan ambang batas mulai dari Rp2.000.000. Dominasi persentase yang besar ini menunjukkan stabilitas harga pada level menengah sebelum potensi kenaikan lebih lanjut ke kategori Tinggi.

df_status <- as.data.frame(table(data$Status_Harga))
colnames(df_status) <- c("Kategori", "Frekuensi")

ggplot(df_status, aes(x = "", y = Frekuensi, fill = Kategori)) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar("y", start = 0) +
  scale_fill_manual(values = c("Rendah" = "#228B30", "Sedang" = "#FFD100", "Tinggi" = "#FF0000")) +
  labs(title = "Proporsi Tingkat Harga Emas") +
  theme_void() + 
  geom_text(aes(label = paste0(round(Frekuensi/sum(Frekuensi)*100), "%")), 
            position = position_stack(vjust = 0.5))

Menghitung Pemusatan Data

1. Mean

Nilai rata-rata (mean) dari keseluruhan data harga emas pada periode Januari 2025 hingga Februari 2026 tercatat sebesar Rp2.082.418. Angka ini merepresentasikan titik keseimbangan harga di tengah fluktuasi pasar selama periode tersebut.

mean(data$`Harga/gram`)
## [1] 2082418

2. Median

Indikator Nilai Tengah (Median): Rp1.954.500. Angka ini merepresentasikan posisi harga emas yang paling stabil di tengah fluktuasi pasar selama periode pengamatan.

median(data$`Harga/gram`)
## [1] 1954500

3. Modus

Kumpulan data harga emas periode Januari 2025 – Februari 2026 ini bersifat non-modal (tidak memiliki modus). Kondisi ini menunjukkan bahwa fluktuasi harga emas per gram terjadi secara sangat dinamis dan spesifik pada setiap waktu pengamatan, sehingga tidak terdapat frekuensi kemunculan nilai yang berulang.

modus <- function(x) {
  uniqx <- unique(x)
  uniqx[which.max(tabulate(match(x, uniqx)))]
}
modus (data$`Harga/gram`)
## [1] 1502000

5. Summary 5 Serangkai

Nilai dari keseluruhan data memuat nilai minimal (nilai paling kecil), Q1 (Kuartil Pertama), Median (Nilai Tengah), Mean = Q2 (Rata - Rata Nilai), Q3 (Kuartil Ketiga), dan Nilai Maksimal.

summary(data$`Harga/gram`)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## 1502000 1844000 1954500 2082418 2351750 2996000

Ukuran penyebaran data

1. Menghitung Keragaman Data (Varians)

var(data$`Harga/gram`)
## [1] 161539455971

2. Menghitung Standar Deviasi dari Data

sd(data$`Harga/gram`)
## [1] 401919.7