#Nama : Darren Wilbert Wijaya#
#NIM : 2502056012#


## 3.1.1 Membaca Data
simpan <- read.table("data3.1.csv", header = TRUE, sep = ",")
simpan
##    jeniskelamin pendapatan pengeluaran
## 1     laki-laki          1         0.5
## 2     laki-laki          2         0.9
## 3     laki-laki          3         1.1
## 4     laki-laki          4         2.0
## 5     laki-laki          5         4.0
## 6     laki-laki          6         5.0
## 7     laki-laki          7         6.2
## 8     laki-laki          8         5.5
## 9     laki-laki          9         5.8
## 10    laki-laki         10         4.5
## 11    perempuan          1         0.7
## 12    perempuan          2         1.4
## 13    perempuan          3         2.8
## 14    perempuan          4         3.3
## 15    perempuan          5         4.3
## 16    perempuan          6         5.0
## 17    perempuan          7         6.7
## 18    perempuan          8         5.9
## 19    perempuan          9         5.7
## 20    perempuan         10         8.0
## 3.1.2 Scatter Plot dengan Fungsi Dasar plot()
plot(simpan[2:3], main = "Pendapatan dan Pengeluaran per-Bulan, dalam Jutaan Rupiah")

Pendapatan <- simpan$pendapatan
Pengeluaran <- simpan$pengeluaran
plot(Pendapatan, Pengeluaran)

## 3.1.3 Scatter Plot dengan ggplot2 — Fungsi qplot()
library(ggplot2)
PENDAPATAN <- simpan$pendapatan
PENGELUARAN <- simpan$pengeluaran
qplot(PENDAPATAN, PENGELUARAN,
      main = "Pendapatan dan Pengeluaran per-Bulan, dalam Jutaan",
      xlab = "Pendapatan per-Bulan", ylab = "Pengeluaran per-Bulan")
## Warning: `qplot()` was deprecated in ggplot2 3.4.0.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

jenis <- simpan$jeniskelamin
qplot(PENDAPATAN, PENGELUARAN,
      main = "Pendapatan dan Pengeluaran per-Bulan, dalam Jutaan",
      xlab = "Pendapatan", ylab = "Pengeluaran", color = jenis)

qplot(PENDAPATAN, PENGELUARAN,
      main = "Pendapatan dan Pengeluaran per-Bulan, dalam Jutaan",
      xlab = "PENDAPATAN", ylab = "PENGELUARAN", color = jenis, shape = jenis)

## 3.1.4 Scatter Plot dengan ggplot2 — *Grammar of Graphics* (ggplot())
library(ggplot2)
ggplot(simpan, aes(pendapatan, pengeluaran)) + geom_point()

ggplot(simpan, aes(pendapatan, pengeluaran)) +
  geom_point(aes(color = jenis, shape = jenis))

grafik <- ggplot(simpan, aes(pendapatan, pengeluaran)) +
  geom_point(aes(color = jenis, shape = jenis))

# Mengganti warna secara manual
grafik + scale_colour_manual(values = c("blue", "orange"))

# Mengganti bentuk titik secara manual
grafik + scale_shape_manual(values = c(16, 5))

# Menggabungkan warna dan bentuk manual
grafik + scale_colour_manual(values = c("blue", "orange")) +
  scale_shape_manual(values = c(5, 5))

grafik + facet_grid(. ~ jeniskelamin) +
  scale_colour_manual(values = c("blue", "orange"))

## 3.1.5 Menambahkan Garis Referensi (Vertikal dan Horizontal)
grafik + geom_vline(xintercept = 2.5)

grafik + geom_vline(xintercept = 2.5) + geom_vline(xintercept = 5)

grafik + geom_vline(xintercept = 1:5)

grafik + geom_vline(xintercept = c(2.5, 5, 7.5))

grafik + geom_vline(xintercept = c(2.5, 5, 7.5), colour = "green", linetype = "longdash")

grafik + geom_vline(xintercept = c(2.5, 5, 7.5), colour = "green", linetype = "longdash") +
  geom_hline(yintercept = c(2, 4, 6), colour = "red", linetype = "longdash")

## 3.2.1 Membaca Data
simpan <- read.table("data3.2.csv", header = TRUE, sep = ",")
simpan
##   tahun jenis.barang.A jenis.barang.B jenis.barang.C
## 1  2001             90             85             50
## 2  2002            110             90             55
## 3  2003            115            105             60
## 4  2004            130            110             65
## 5  2005            140            120             75
## 6  2006            155            125             80
## 7  2007            160            130             85
Tahun <- simpan$tahun
Jumlah_A <- simpan$jenis.barang.A
Jumlah_B <- simpan$jenis.barang.B
Jumlah_C <- simpan$jenis.barang.C

Jumlah_A
## [1]  90 110 115 130 140 155 160
Jumlah_B
## [1]  85  90 105 110 120 125 130
Jumlah_C
## [1] 50 55 60 65 75 80 85
## 3.2.2 Grafik Garis Dasar
plot(Tahun, Jumlah_A)

plot(Tahun, Jumlah_A, type = "o")

plot(Tahun, Jumlah_A, type = "o", col = "blue")

plot(Tahun, Jumlah_A, type = "o", col = "green")

## 3.2.3 Menambahkan Garis Kedua dan Ketiga dengan lines()
plot(Tahun, Jumlah_A, type = "o", col = "red")
lines(Tahun, Jumlah_B, type = "o", col = "blue")

plot(Tahun, Jumlah_A, type = "o", col = "red", ylim = c(70, 180))
lines(Tahun, Jumlah_B, type = "o", col = "blue")

plot(Tahun, Jumlah_A, type = "o", col = "red", ylim = c(40, 180))
lines(Tahun, Jumlah_B, type = "o", col = "blue")
lines(Tahun, Jumlah_C, type = "o", col = "green")

## 3.2.4 Variasi Simbol dan Jenis Garis
plot(Tahun, Jumlah_A, type = "o", col = "red", ylim = c(40, 180))
lines(Tahun, Jumlah_B, type = "o", pch = 22, col = "blue")
lines(Tahun, Jumlah_C, type = "o", col = "green")

plot(Tahun, Jumlah_A, type = "o", col = "red", ylim = c(40, 180))
lines(Tahun, Jumlah_B, type = "o", pch = 22, lty = 2, col = "blue")
lines(Tahun, Jumlah_C, type = "o", col = "green")

plot(Tahun, Jumlah_A, type = "o", pch = 22, col = "red", ylim = c(40, 180))
lines(Tahun, Jumlah_B, type = "o", pch = 22, lty = 2, col = "blue")
lines(Tahun, Jumlah_C, pch = 22, lty = 2, type = "o", col = "green")

plot(Tahun, Jumlah_A, type = "p", pch = 22, lty = 2, col = "red", ylim = c(40, 180))
lines(Tahun, Jumlah_B, type = "p", pch = 22, lty = 2, col = "blue")
lines(Tahun, Jumlah_C, type = "p", col = "green")

plot(Tahun, Jumlah_A, type = "o", pch = 22, lty = 2, col = "red", ylim = c(40, 180))
lines(Tahun, Jumlah_B, type = "p", pch = 22, lty = 2, col = "blue")
lines(Tahun, Jumlah_C, pch = 22, lty = 2, type = "l", col = "green")

## 3.2.5 Menambahkan Judul dengan title()
plot.new()
plot(Tahun, Jumlah_A, type = "o", col = "red", ylim = c(40, 180))
lines(Tahun, Jumlah_B, type = "o", col = "blue")
lines(Tahun, Jumlah_C, type = "o", col = "green")
title(main = "Data Penjualan Barang A, B, C, dari Tahun 2001-2007",
      col.main = "red", font.main = 4)

## 3.2.6 Menambahkan Keterangan Grafik dengan legend()
Total <- Jumlah_A
plot.new()
plot(Tahun, Total, type = "o", col = "red", ylim = c(40, 180))
lines(Tahun, Jumlah_B, type = "o", col = "blue")
lines(Tahun, Jumlah_C, type = "o", col = "green")
legend(2001, 160, c("Jenis Barang A", "Jenis Barang B", "Jenis Barang C"),
       cex = 0.8, col = c("red", "blue", "green"), pch = 21)
title(main = "Penjualan Barang A, B, C, dari Tahun 2001-2007",
      col.main = "red", font.main = 4)

Total <- Jumlah_A
plot.new()
plot(Tahun, Total, type = "o", col = "red", ylim = c(40, 180), lty = 23)
lines(Tahun, Jumlah_B, type = "o", col = "blue", lty = 23)
lines(Tahun, Jumlah_C, type = "o", col = "green", lty = 23)
legend(2001, 160, c("Jenis Barang A", "Jenis Barang B", "Jenis Barang C"),
       cex = 0.8, col = c("red", "blue", "green"), lty = 30)
title(main = "Penjualan Barang A, B, C, dari Tahun 2001-2007",
      col.main = "red", font.main = 4)

## 3.2.7 Variasi Tipe Garis (type = "s" dan type = "l")
Total <- Jumlah_A
plot.new()
plot(Tahun, Total, type = "o", col = "red", ylim = c(40, 180), lty = 23)
lines(Tahun, Jumlah_B, type = "s", col = "blue", lty = 23)
lines(Tahun, Jumlah_C, type = "o", col = "green", lty = 23)
legend(2001, 160, c("Jenis Barang A", "Jenis Barang B", "Jenis Barang C"),
       cex = 0.8, col = c("red", "blue", "green"), lty = 30)
title(main = "Penjualan Barang A, B, C, dari Tahun 2001-2007",
      col.main = "red", font.main = 4)

Total <- Jumlah_A
plot.new()
plot(Tahun, Total, type = "o", col = "red", ylim = c(40, 180))
lines(Tahun, Jumlah_B, type = "l", col = "blue", lty = 23)
lines(Tahun, Jumlah_C, type = "o", col = "green", lty = 23)
legend(2001, 160, c("Jenis Barang A", "Jenis Barang B", "Jenis Barang C"),
       cex = 0.8, col = c("red", "blue", "green"), lty = 30)
title(main = "Penjualan Barang A, B, C, dari Tahun 2001-2007",
      col.main = "red", font.main = 4)

## 3.2.8 Mengganti Label Sumbu-X dengan Axis()
Total <- Jumlah_A
plot(Tahun, Total, type = "o", col = "red", ylim = c(40, 180), xaxt = "n")
Axis(at = 2001:2007, side = 1, labels = c("A", "B", "C", "D", "E", "F", "G"))
lines(Tahun, Jumlah_B, type = "l", col = "blue", lty = 23)
lines(Tahun, Jumlah_C, type = "o", col = "green", lty = 23)
legend(2001, 160, c("Jenis Barang A", "Jenis Barang B", "Jenis Barang C"),
       cex = 0.8, col = c("red", "blue", "green"), lty = 30)
title(main = "Penjualan Barang A, B, C, dari Tahun 2001-2007",
      col.main = "red", font.main = 4)

Total <- Jumlah_A
plot(Tahun, Total, type = "o", col = "red", ylim = c(40, 180), xaxt = "n")
Axis(at = 2001:2007, side = 1,
     labels = c("Tahun 1", "Tahun 2", "Tahun 3", "Tahun 4", "Tahun 5", "Tahun 6", "Tahun 7"))
lines(Tahun, Jumlah_B, type = "l", col = "blue", lty = 23)
lines(Tahun, Jumlah_C, type = "o", col = "green", lty = 23)
legend(2001, 160, c("Jenis Barang A", "Jenis Barang B", "Jenis Barang C"),
       cex = 0.8, col = c("red", "blue", "green"), lty = 30)
title(main = "Penjualan Barang A, B, C, dari Tahun 2001-2007",
      col.main = "red", font.main = 4)

## 3.2.9 Ringkasan Grafik Garis
plot.new()
plot(Tahun, Jumlah_A, type = "o", col = "red", ylim = c(40, 180))
lines(Tahun, Jumlah_B, type = "o", col = "blue")
lines(Tahun, Jumlah_C, type = "o", col = "green")
title(main = "Data Penjualan Barang A, B, C, dari Tahun 2001-2007",
      col.main = "red", font.main = 4)

## 3.3.1 Membaca Data dan Barplot Dasar
simpan <- read.table("data3.3.csv", header = TRUE, sep = ",")
simpan
##   tahun jenis.barang.A
## 1  2001             90
## 2  2002            110
## 3  2003            115
## 4  2004            130
## 5  2005            140
## 6  2006            155
## 7  2007            160
Tahun <- simpan$tahun
Jumlah_A <- simpan$jenis.barang.A
barplot(Jumlah_A, Tahun)

## 3.3.2 Barplot dengan Label Sumbu dan Judul
barplot(Jumlah_A, Tahun,
        main = "Penjualan Barang Jenis A dari Tahun 2001-2007", xlab = "Tahun",
        ylab = "Jumlah Barang yang Terjual",
        names.arg = c("2001","2002","2003","2004","2005","2006","2007"))

## 3.3.3 Menambahkan Warna Border
barplot(Jumlah_A, Tahun,
        main = "Penjualan Barang Jenis A dari Tahun 2001-2007", xlab = "Tahun",
        ylab = "Jumlah Barang yang Terjual",
        names.arg = c("2001","2002","2003","2004","2005","2006","2007"),
        border = "blue")

barplot(Jumlah_A, Tahun,
        main = "Penjualan Barang Jenis A dari Tahun 2001-2007", xlab = "Tahun",
        ylab = "Jumlah Barang yang Terjual",
        names.arg = c("2001","2002","2003","2004","2005","2006","2007"),
        border = "red")

## 3.3.4 Menambahkan Motif Arsir (density) per Batang
barplot(Jumlah_A, Tahun,
        main = "Penjualan Barang Jenis A dari Tahun 2001-2007", xlab = "Tahun",
        ylab = "Jumlah Barang yang Terjual",
        names.arg = c("2001","2002","2003","2004","2005","2006","2007"),
        border = "green", density = c(10,20,30,40,50,60,70))

## 3.3.5 Barplot dengan ggplot2
library(ggplot2)
ggplot(data = simpan, aes(x = Tahun, y = Jumlah_A)) + geom_bar(stat = "identity")

ggplot(data = simpan, aes(x = Tahun, y = Jumlah_A)) +
  geom_bar(stat = "identity", fill = "darkblue")

ggplot(data = simpan, aes(x = Tahun, y = Jumlah_A)) +
  geom_bar(stat = "identity", fill = heat.colors(7))

## 3.4.1 Membaca Data
simpan <- read.table("data3.4.csv", header = TRUE, sep = ",")
simpan
##   Jenis.Kelamin     Hobi Jumlah
## 1     Laki-Laki Olahraga     90
## 2     Laki-Laki  Memasak     10
## 3     Perempuan Olahraga     25
## 4     Perempuan  Memasak     75
## 3.4.2 Barplot Berkelompok (Jenis Kelamin x Hobi)
frekuensi <- c(90, 10, 25, 75)
barplot(t(matrix(frekuensi, ncol = 2, byrow = TRUE,
                 dimnames = list(c("Laki-Laki", "Perempuan"), c("Olahraga", "Memasak")))),
        main = "Hubungan antara Jenis Kelamin dan Hobi", xlab = "Jenis Kelamin",
        col = c("darkblue", "orange"), beside = TRUE, ylim = c(0, 150),
        legend.text = TRUE, args.legend = list(x = "topright"))

## 3.4.3 Barplot Sederhana — Distribusi Nilai Mahasiswa (Contoh Tambahan)
frekuensi2 <- c(2, 12, 16, 6)
barplot(frekuensi2, ylim = c(0, 20),
        main = "Jumlah Mahasiswa yang Memperoleh Nilai A, B, C, dan D, untuk Matakuliah Matematika 1",
        names.arg = c("A", "B", "C", "D"), ylab = "Jumlah Mahasiswa",
        xlab = "Nilai Mahasiswa", cex.names = 0.8,
        col = c("green", "yellow", "orange", "red"))

## 3.4.4 Barplot dengan ggplot2 (Data per Jenis Kelamin)
dat <- data.frame(
  jenis_kelamin = factor(c("Laki-Laki", "Perempuan"), levels = c("Laki-Laki", "Perempuan")),
  total = c(20, 70))
dat
##   jenis_kelamin total
## 1     Laki-Laki    20
## 2     Perempuan    70
library(ggplot2)
ggplot(data = dat, aes(x = jenis_kelamin, y = total)) + geom_bar(stat = "identity")

ggplot(data = dat, aes(x = jenis_kelamin, y = total, fill = jenis_kelamin)) +
  geom_bar(stat = "identity")

ggplot(data = dat, aes(x = jenis_kelamin, y = total, fill = jenis_kelamin)) +
  geom_bar(stat = "identity") + guides(fill = FALSE)
## Warning: The `<scale>` argument of `guides()` cannot be `FALSE`. Use "none" instead as
## of ggplot2 3.3.4.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

ggplot(data = dat, aes(x = jenis_kelamin, y = total, fill = jenis_kelamin)) +
  geom_bar(stat = "identity") +
  xlab("Jenis Kelamin") + ylab("Jumlah Mahasiswa") + ggtitle("Universitas XYZ")

## 3.4.5 Barplot Berkelompok dengan ggplot2 (Jenis Kelamin x Hobi)
dat <- data.frame(
  jenis_kelamin = factor(c("Laki-Laki", "Laki-Laki", "Perempuan", "Perempuan")),
  hobi = factor(c("Olahraga", "Memasak", "Olahraga", "Memasak"),
                levels = c("Olahraga", "Memasak")),
  total = c(80, 20, 40, 60))
dat
##   jenis_kelamin     hobi total
## 1     Laki-Laki Olahraga    80
## 2     Laki-Laki  Memasak    20
## 3     Perempuan Olahraga    40
## 4     Perempuan  Memasak    60
ggplot(data = dat, aes(x = hobi, y = total, fill = jenis_kelamin)) +
  geom_bar(stat = "identity") +
  xlab("Hobi Mahasiswa") + ylab("Jumlah Mahasiswa") + ggtitle("Universitas XYZ") +
  geom_text(aes(y = total / 1.3, label = total), position = "stack")

ggplot(data = dat, aes(x = hobi, y = total, fill = jenis_kelamin)) +
  geom_bar(stat = "identity", position = position_dodge()) +
  xlab("Hobi Mahasiswa") + ylab("Jumlah Mahasiswa") +
  ggtitle("Universitas XYZ")

ggplot(data = dat, aes(x = hobi, y = total, fill = jenis_kelamin)) +
  geom_bar(stat = "identity", position = position_dodge()) +
  xlab("Hobi Mahasiswa") + ylab("Jumlah Mahasiswa") +
  ggtitle("Universitas XYZ") +
  geom_text(aes(y = total / 4, label = total), position = position_dodge(width = 1))

## 3.5.1 Membaca Data dan Pie Chart Dasar
simpan <- read.table("data3.5.csv", header = TRUE, sep = ",")
simpan
##   Produk Jumlah
## 1      A     12
## 2      B      5
## 3      C      8
## 4      D     20
pie(simpan$Jumlah, labels = simpan$Produk,
    main = "Data Penjualan Produk A, B, C, dan D")

pie(simpan$Jumlah, labels = simpan$Produk,
    main = "Data Penjualan Produk A, B, C, dan D", col = heat.colors(4))

## 3.5.2 Pie Chart dengan Label Jumlah dan Legenda
pie(simpan$Jumlah, labels = simpan$Jumlah,
    main = "Data Penjualan Produk A, B, C, dan D", col = heat.colors(4))
colors <- heat.colors(4)
legend(1, 0.5, c("Produk A", "Produk B", "Produk C", "Produk D"), cex = 0.8, fill = colors)

## 3.5.3 Pie Chart dengan Warna Manual
pie(simpan$Jumlah, labels = simpan$Jumlah,
    main = "Data Penjualan Produk A, B, C, dan D",
    col = c("darkblue", "orange", "yellow", "red"))
colors <- c("darkblue", "orange", "yellow", "red")
legend(1, 0.5, c("Produk A", "Produk B", "Produk C", "Produk D"), cex = 0.8, fill = colors)

## 3.5.4 Pie Chart dengan Label Persentase
Persen <- round(simpan$Jumlah / sum(simpan$Jumlah) * 100, 4)
Persen <- paste(Persen, "%", sep = "")
pie(simpan$Jumlah, labels = Persen,
    main = "Data Penjualan Produk A, B, C, dan D",
    col = c("darkblue", "orange", "yellow", "red"))
colors <- c("darkblue", "orange", "yellow", "red")
legend(1, 0.5, c("Produk A", "Produk B", "Produk C", "Produk D"), cex = 0.8, fill = colors)

## 3.5.5 Pie Chart dengan ggplot2 (coord_polar)
Jumlah <- simpan$Jumlah
Produk <- simpan$Produk
library(ggplot2)
pie <- ggplot(simpan, aes(x = "", y = Jumlah, fill = Produk)) +
  geom_bar(width = 1, stat = "identity") + coord_polar("y", start = 0)
pie

## 3.5.6 Pie Chart dengan Tema Polos dan Label Angka/Persentase
library(ggplot2)
library(grid)
library(gridExtra)

blank_theme <- theme(
  axis.title.x = element_blank(),
  axis.title.y = element_blank(),
  axis.text.x = element_blank(),
  axis.text.y = element_blank(),
  panel.border = element_blank(),
  panel.grid = element_blank(),
  axis.ticks = element_blank(),
  plot.title = element_text(size = 14, face = "bold")
)

library(scales)
pie + blank_theme +
  geom_text(aes(y = Jumlah / 4 + c(0, cumsum(Jumlah)[-length(Jumlah)]), label = Jumlah), size = 5)

pie + blank_theme +
  geom_text(aes(y = Jumlah / 4 + c(0, cumsum(Jumlah)[-length(Jumlah)]), label = Jumlah), size = 5) +
  scale_fill_manual(values = c(heat.colors(4)))

Persen <- round(simpan$Jumlah / sum(simpan$Jumlah) * 100, 2)
Persen <- paste(Persen, "%", sep = "")
pie + blank_theme +
  geom_text(aes(y = Jumlah / 4 + c(0, cumsum(Jumlah)[-length(Jumlah)]), label = Persen), size = 5) +
  scale_fill_manual(values = c(heat.colors(4)))

## 3.6.1 Membaca Data dan Histogram Dasar
simpan <- read.csv("IQ.csv", header = TRUE)
simpan
##     IQ
## 1  111
## 2  111
## 3  111
## 4  111
## 5  111
## 6  111
## 7  111
## 8  110
## 9  110
## 10 110
## 11 110
## 12 110
## 13 110
## 14 110
## 15 112
## 16 112
## 17 112
## 18 112
## 19 112
## 20 112
## 21 112
## 22 113
## 23 113
## 24 113
## 25 113
## 26 113
## 27 114
## 28 114
## 29 114
## 30 114
## 31 115
## 32 115
## 33 115
## 34 116
## 35 116
## 36 117
## 37  90
## 38  91
## 39  92
## 40  92
## 41  93
## 42  93
## 43  93
## 44  94
## 45  94
## 46  94
## 47  94
## 48  95
## 49  95
## 50  95
## 51  95
## 52  95
## 53  95
## 54  96
## 55  96
## 56  96
## 57  96
## 58  97
## 59  97
## 60  97
## 61  97
## 62  97
## 63  98
## 64  98
## 65  98
## 66 101
## 67 101
## 68 101
## 69 102
## 70 102
## 71 103
## 72 104
## 73 103
## 74 102
## 75 108
## 76 109
## 77 118
simpan_skor_IQ <- simpan$IQ
hist(simpan_skor_IQ)

## 3.6.2 Histogram dengan Warna
hist(simpan_skor_IQ, col = "lightblue")

hist(simpan_skor_IQ, col = "darkblue", ylim = c(0, 40),
     main = "Contoh Histogram", ylab = "Frekuensi")

## 3.6.3 Histogram dengan Interval Kelas (breaks) Manual
hist(simpan_skor_IQ, col = "orange", ylim = c(0, 40),
     main = "Contoh Histogram", ylab = "Frekuensi",
     breaks = c(90, 100, 110, 120))

hist(simpan_skor_IQ, col = heat.colors(6), ylim = c(0, 30),
     main = "Contoh Histogram", ylab = "Frekuensi",
     breaks = c(90, 95, 100, 105, 110, 115, 120), xlim = c(90, 125))

hist(simpan_skor_IQ, col = heat.colors(6), ylim = c(0, 30),
     main = "Contoh Histogram", ylab = "Frekuensi",
     breaks = c(90, 93, 96, 99, 102, 105, 108, 111, 114, 117, 120), xlim = c(90, 125))

## 3.6.4 Histogram dengan Jumlah Interval Otomatis
hist(simpan_skor_IQ, breaks = 6, col = heat.colors(6), ylim = c(0, 30),
     main = "Contoh Histogram", ylab = "Frekuensi", xlim = c(90, 125))

## 3.6.5 Histogram dengan Interval Tidak Merata
hist(simpan_skor_IQ, breaks = c(90, 117, 120), ylim = c(0, 50), xlim = c(90, 125),
     main = "Contoh Histogram", col = heat.colors(2))

hist(simpan_skor_IQ, breaks = c(90, 117, 120), ylim = c(0, 80), xlim = c(90, 125),
     main = "Contoh Histogram", col = heat.colors(2), freq = TRUE)
## Warning in plot.histogram(r, freq = freq1, col = col, border = border, angle =
## angle, : the AREAS in the plot are wrong -- rather use 'freq = FALSE'

hist(simpan_skor_IQ, breaks = c(90, 92, 97, 117, 120), ylim = c(0, 80), xlim = c(90, 125),
     main = "Contoh Histogram", col = heat.colors(4), freq = TRUE)
## Warning in plot.histogram(r, freq = freq1, col = col, border = border, angle =
## angle, : the AREAS in the plot are wrong -- rather use 'freq = FALSE'

## 3.6.6 Histogram dengan ggplot2
library(ggplot2)
ggplot(data = simpan, aes(IQ)) +
  geom_histogram(breaks = c(90, 95, 100, 105, 110, 115, 120),
                 col = "darkblue", fill = heat.colors(6))

ggplot(data = simpan, aes(IQ)) +
  geom_histogram(breaks = c(90, 95, 100, 105, 110, 115, 120),
                 col = "red", aes(fill = ..count..)) +
  labs(title = "Contoh Histogram") + labs(x = "IQ", y = "Jumlah") +
  xlim(c(90, 125)) + ylim(c(0, 20)) +
  scale_fill_gradient("count", low = "green", high = "red")
## Warning: The dot-dot notation (`..count..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(count)` instead.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_bar()`).

ggplot(data = simpan, aes(IQ)) +
  geom_histogram(breaks = c(90, 93, 96, 99, 102, 105, 111, 114, 115, 120),
                 col = "darkblue", fill = heat.colors(9), aes(fill = ..count..)) +
  labs(title = "Contoh Histogram") +
  labs(x = "IQ", y = "Jumlah") + xlim(c(90, 125)) + ylim(c(0, 20)) +
  scale_fill_gradient("count", low = heat.colors(9), high = heat.colors(9))