# ------------------------------------------------------------
# Gambar 3.4 -
# ------------------------------------------------------------
simpan=read.table("data3.1.csv",header=TRUE, sep=";", dec=",")
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
# ------------------------------------------------------------
# Gambar 3.6 - Scatter Plot Pendapatan dan Pengeluaran
# ------------------------------------------------------------
plot(simpan[2:3],
main="Pendapatan dan Pengeluaran per-Bulan, dalam Jutaan Rupiah")

# ------------------------------------------------------------
# Gambar 3.6 / Gambar 3.7
# Membuat variabel Pendapatan dan Pengeluaran
# ------------------------------------------------------------
Pendapatan=simpan$pendapatan
Pengeluaran=simpan$pengeluaran
plot(Pendapatan, Pengeluaran)

# ------------------------------------------------------------
# Gambar 3.8 / Gambar 3.9
# Menggunakan package ggplot2 dan 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 every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

# ------------------------------------------------------------
# Gambar 3.10 / Gambar 3.11
# Memberikan warna berdasarkan jenis kelamin
# ------------------------------------------------------------
jenis=simpan$jeniskelamin
qplot(PENDAPATAN, PENGELUARAN,
main="Pendapatan dan Pengeluaran per-Bulan, dalam Jutaan",
xlab="PENDAPATAN",
ylab="PENGELUARAN",
color=jenis)

# ------------------------------------------------------------
# Gambar 3.10 / Gambar 3.11
# Memberikan warna dan bentuk berdasarkan jenis kelamin
# ------------------------------------------------------------
qplot(PENDAPATAN, PENGELUARAN,
main="Pendapatan dan Pengeluaran per-Bulan, dalam Jutaan",
xlab="PENDAPATAN",
ylab="PENGELUARAN",
color=jenis,
shape=jenis)

# ------------------------------------------------------------
# Gambar 3.12 / Gambar 3.13
# Menggunakan ggplot() + geom_point()
# ------------------------------------------------------------
library(ggplot2)
ggplot(simpan, aes(pendapatan, pengeluaran)) +
geom_point()

# ============================================================
# Gambar 3.14
# Kumpulan contoh ggplot(), warna, bentuk, facet,
# garis vertikal, dan garis horizontal
# ============================================================
# Membuat grafik dasar dengan warna dan bentuk
ggplot(simpan,
aes(pendapatan, pengeluaran)) +
geom_point(aes(color=jenis, shape=jenis))

# Menyimpan grafik ke dalam variabel grafik
grafik <- ggplot(simpan,
aes(pendapatan, pengeluaran)) +
geom_point(aes(color=jenis, shape=jenis))
# Mengubah warna
grafik +
scale_colour_manual(values=c("blue","orange"))

# Mengubah bentuk titik
grafik +
scale_shape_manual(values=c(16,5))

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

# Membagi grafik berdasarkan jenis kelamin
grafik +
facet_grid(. ~ jeniskelamin)

# Membagi grafik berdasarkan jenis kelamin
# sekaligus mengatur warna
grafik +
facet_grid(. ~ jeniskelamin) +
scale_colour_manual(values=c("blue","orange"))

# ------------------------------------------------------------
# Gambar 3.18
# Satu garis vertikal
# ------------------------------------------------------------
grafik +
geom_vline(xintercept=2.5)

# ------------------------------------------------------------
# Gambar 3.19
# Dua garis vertikal
# ------------------------------------------------------------
grafik +
geom_vline(xintercept=2.5) +
geom_vline(xintercept=5)

# ------------------------------------------------------------
# Gambar 3.20
# Beberapa garis vertikal
# ------------------------------------------------------------
grafik +
geom_vline(xintercept=1:5)

# Beberapa garis vertikal tertentu
grafik +
geom_vline(xintercept=c(2.5,5,7.5))

# ------------------------------------------------------------
# Gambar 3.21
# Garis vertikal berwarna hijau dan putus-putus
# ------------------------------------------------------------
grafik +
geom_vline(
xintercept=c(2.5,5,7.5),colour="green",linetype="longdash")

# ------------------------------------------------------------
# Gambar 3.22
# Garis vertikal + garis horizontal
# ------------------------------------------------------------
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"
)

# ------------------------------------------------------------
# Gambar 3.25
# Membaca data penjualan barang A, B, dan C
# ------------------------------------------------------------
simpan=read.table("data3.2.csv",header=TRUE, sep=";", dec=",")
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
# Menampilkan masing-masing jumlah
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
# ------------------------------------------------------------
# Gambar 3.25
# Grafik titik
# ------------------------------------------------------------
plot(Tahun,Jumlah_A)

# Grafik titik dan garis
plot(Tahun,Jumlah_A,type="o")

# Mengubah warna menjadi biru
plot(Tahun,Jumlah_A,type="o",col="blue")

# Mengubah warna menjadi hijau
plot(Tahun,Jumlah_A,type="o",col="green")

# Mengubah warna menjadi merah
plot(Tahun,Jumlah_A,type="o",col="red")
# Menambahkan garis barang B
plot(Tahun,Jumlah_A,type="o",col="red")
lines(Tahun,Jumlah_B,type="o",col="blue")

# Mengatur batas sumbu Y
plot(Tahun,Jumlah_A,
type="o",
col="red",
ylim=c(70,180))
lines(Tahun,Jumlah_B,
type="o",
col="blue")

# Menambahkan barang C
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")

# ------------------------------------------------------------
# Gambar 3.26 - Mengubah bentuk titik dan jenis garis
# ------------------------------------------------------------
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")

# Bentuk titik pch=22 dan garis putus-putus
plot(Tahun,Jumlah_A,
type="o",
pch=22,
lty=2,
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="p",
col="green")

# ------------------------------------------------------------
# Gambar 3.27
# Menggunakan type="p"
# ------------------------------------------------------------
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,
pch=22,
lty=2,
type="p",
col="green")

# ------------------------------------------------------------
# Gambar 3.27
# Menambahkan judul
# ------------------------------------------------------------
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
)

# ------------------------------------------------------------
# Gambar 3.27
# Menggunakan Total
# ------------------------------------------------------------
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")
title(
main="Data Penjualan Barang A, B, C, dari Tahun 2001-2007",
col.main="red",
font.main=4
)

# ------------------------------------------------------------
# Gambar 3.27
# Menambahkan legenda
# ------------------------------------------------------------
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
)

# ------------------------------------------------------------
# Gambar 3.28
# Mengubah jenis garis
# ------------------------------------------------------------
Total=Jumlah_A
plot.new()
plot(Tahun,Total,
type="o",
col="red",
ylim=c(40,180),
lty=23)
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
)

# ------------------------------------------------------------
# Gambar 3.28
# Contoh berikutnya
# ------------------------------------------------------------
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
)

# ------------------------------------------------------------
# Gambar 3.28
# Mengubah sumbu X
# ------------------------------------------------------------
Total=Jumlah_A
plot.new()
plot(
Tahun,Total,
type="o",
col="red",
ylim=c(40,180),
lty=23
)
axis(
at=2001:2007,
side=1,
labels=c("A","B","C","D","E","F","G")
)
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
)

# ------------------------------------------------------------
# Gambar 3.29
# Mengubah label sumbu X menjadi Tahun 1 - Tahun 7
# ------------------------------------------------------------
Total=Jumlah_A
plot.new()
plot(
Tahun,Total,
type="o",
col="red",
ylim=c(40,180),
lty=23
)
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="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
)

# ------------------------------------------------------------
# Gambar 3.29
# Contoh pengaturan sumbu lainnya
# ------------------------------------------------------------
Total=Jumlah_A
plot(
Tahun,Total,
type="o",
col="red",
ylim=c(40,180)
)
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="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
)

# ------------------------------------------------------------
# Gambar 3.44
# ------------------------------------------------------------
simpan=read.table("data3.3.csv",header=TRUE, sep=";", dec=",")
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
# Grafik batang sederhana
barplot(Jumlah_A,Tahun)

# Grafik batang dengan judul dan label
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"
)
)

# Grafik batang dengan border biru
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"
)

# Grafik batang dengan border merah
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"
)

# Grafik batang dengan border hijau dan density
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)
)

# ------------------------------------------------------------
# Gambar 3.44
# Grafik batang menggunakan ggplot2
# ------------------------------------------------------------
library(ggplot2)
ggplot(
data=simpan,
aes(x=Tahun,y=Jumlah_A)
) +
geom_bar(stat="identity")

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

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

# ------------------------------------------------------------
# Gambar 3.50
# ------------------------------------------------------------
simpan=read.table("data3.4.csv",header=TRUE, sep=";", dec=",")
simpan
## Jenis.Kelamin Hobi Jumlah
## 1 Laki-Laki Olahraga 90
## 2 Laki-Laki Memasak 10
## 3 Perempuan Olahraga 25
## 4 Perempuan Memasak 75
# Data frekuensi
frekuensi=c(90,10,25,75)
# Grafik hubungan jenis kelamin dan hobi
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")
)

# ------------------------------------------------------------
# Gambar 3.50
# Contoh nilai mahasiswa A, B, C, D
# ------------------------------------------------------------
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")
)

# ------------------------------------------------------------
# Gambar 3.50
# Menggunakan ggplot2
# ------------------------------------------------------------
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)
# Grafik dasar
ggplot(
data=dat,
aes(x=jenis_kelamin,y=total)
) +
geom_bar(stat="identity")

# Grafik dengan fill berdasarkan jenis kelamin
ggplot(
data=dat,
aes(
x=jenis_kelamin,
y=total,
fill=jenis_kelamin
)
) +
geom_bar(stat="identity")

# Grafik dengan guides(fill=FALSE)
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 every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

# Memberikan label sumbu dan judul
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")

# ------------------------------------------------------------
# Gambar 3.51
# Data hobi berdasarkan jenis kelamin
# ------------------------------------------------------------
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
# Grafik batang bertumpuk
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"
)

# Grafik batang berdampingan
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")

# Grafik berdampingan dengan y negatif
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)
)

# ------------------------------------------------------------
# Gambar 3.61
# ------------------------------------------------------------
simpan=read.table("data3.5.csv",header=TRUE, sep=";", dec=",")
simpan
## Produk Jumlah
## 1 A 12
## 2 B 5
## 3 C 8
## 4 D 20
# Diagram lingkaran dengan label produk
pie(
simpan$Jumlah,
labels=simpan$Produk,
main="Data Penjualan Produk A, B, C, dan D"
)

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

# Label menggunakan jumlah
pie(
simpan$Jumlah,
labels=simpan$Jumlah,
main="Data Penjualan Produk A, B, C, dan D",
col=heat.colors(4)
)
# Membuat warna
colors=heat.colors(4)
# Legenda
legend(
1,0.5,
c(
"Produk A",
"Produk B",
"Produk C",
"Produk D"
),
cex=0.8,
fill=colors
)

# ------------------------------------------------------------
# Menggunakan 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
)

# ------------------------------------------------------------
# Gambar 3.64
# Menghitung 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
)

# ============================================================
# Gambar 3.62
# Diagram lingkaran menggunakan ggplot2
# ============================================================
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

# ------------------------------------------------------------
# Gambar 3.62
# Membuat tema kosong
# ------------------------------------------------------------
library(ggplot2)
library(grid)
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")
)
# Menampilkan jumlah pada diagram
library(scales)
pie +
blank_theme +
geom_text(
aes(
y=Jumlah/4 +
c(0,cumsum(Jumlah)[-length(Jumlah)]),
label=Jumlah
),
size=5
)

# Menambahkan warna manual
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))
)

# Menghitung persentase
Persen=round(
simpan$Jumlah/sum(simpan$Jumlah)*100,
2
)
Persen=paste(Persen,"%",sep="")
# Menampilkan persentase
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))
)

# ============================================================
# BAGIAN 6
# MENYAJIKAN DATA DENGAN HISTOGRAM
# ============================================================
# ------------------------------------------------------------
# Gambar 3.69
# ------------------------------------------------------------
simpan=read.table("IQ.csv",header=TRUE, sep=";", dec=",")
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
# Histogram sederhana
hist(simpan_skor_IQ)

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

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

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

# Histogram dengan 6 warna
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)
)

# Histogram dengan breaks lebih banyak
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)
)

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

# Menggunakan 2 interval
hist(
simpan_skor_IQ,
breaks=c(90,117,120),
ylim=c(0,50),
xlim=c(90,125),
main="Contoh Histogram",
col=heat.colors(2)
)

# freq=TRUE
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'

# Breaks lebih banyak
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'

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

# Histogram dengan gradient berdasarkan count
ggplot(
data=simpan,
aes(IQ)
) +
geom_histogram(
breaks=c(
90,95,100,105,110,115,120
),
col="red",
aes(fill=after_stat(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: Removed 1 row containing missing values or values outside the scale range
## (`geom_bar()`).

# ------------------------------------------------------------
# Gambar 3.70
# Contoh histogram berikutnya
# ------------------------------------------------------------
library(ggplot2)
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=after_stat(count))
) +
labs(title="Contoh Histogram") +
labs(x="IQ",y="Jumlah") +
xlim(c(90,125)) +
ylim(c(0,20)) +
scale_fill_gradient(
"count",
low="white",
high="darkblue"
)
