#Memplot Data dalam R (Scatter Plot) 
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
plot(simpan[2:3], main="Pendapatan dan Pengeluaran per-Bulan, dalam Jutaan Rupiah")

Pendapatan=simpan$pendapatan
Pengeluaran=simpan$pengeluaran
plot(Pendapatan, Pengeluaran)

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.

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

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

library(ggplot2)
ggplot(simpan, aes(pendapatan,pengeluaran)) + geom_point()

library(ggplot2)
ggplot(simpan, aes(pendapatan, pengeluaran)) + geom_point()

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

grafik <- ggplot(simpan, aes(pendapatan, pengeluaran)) + geom_point(aes(color = jeniskelamin, shape = jeniskelamin))
grafik + scale_colour_manual(values = c("blue", "orange"))

grafik + scale_shape_manual(values = c(16, 5))

grafik + scale_colour_manual(values = c("blue", "orange")) + scale_shape_manual(values = c(5, 5))

grafik + facet_grid(. ~ jeniskelamin)

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

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")

#Menyajikan Data dengan Grafik Garis
simpan=read.table("data3.2.csv",header=TRUE, sep=",") #membaca data
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
plot(Tahun,Jumlah_A)

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

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")

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", 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="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, pch=22, lty=2, 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")

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)

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)

#Menyajikan Data dengan Grafik Batang (Bagian Pertama)
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)

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"))

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"))

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")

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

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

#Menyajikan Data dengan Grafik Batang (Bagian Kedua)
simpan = read.table("data3.4.csv", header=TRUE, sep=",")
simpan
##   JenisKelamin     Hobi Jumlah
## 1    Laki-Laki Olahraga     90
## 2    Laki-Laki  Memasak     10
## 3    Perempuan Olahraga     25
## 4    Perempuan  Memasak     75
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"))

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") )

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")

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") + geom_text(aes(y=total/4, label=total),
position=position_dodge(width=1))

#Menyajikan Data dengan Diagram Lingkaran
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$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 )

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 )

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

library(ggplot2)
library(grid)
library(gridExtra)
## Warning: package 'gridExtra' was built under R version 4.5.3
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)
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)))