BAB 3

MENYAJIKAN DATA DALAM GRAFIK

1. Memplot Data dalam R (Scatter Plot)

Data pertama terdiri dari 10 responden laki-laki dan 10 responden perempuan. Masing-masing responden memiliki data pendapatan dan pengeluaran per-bulan dalam jutaan rupiah. Data disimpan dalam file data3.1.csv.

Membaca Data

simpan=read.table("data3.1.csv",
                  header=TRUE,
                  sep=",")
names(simpan)
## [1] "jeniskelamin" "pendapatan"   "pengeluaran"
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

Scatter Plot

plot(simpan[2:3],
     main="Pendapatan dan Pengeluaran per-Bulan, dalam Jutaan Rupiah")

Memisahkan Variabel Pendapatan dan Pengeluaran

Pendapatan=simpan$pendapatan
Pengeluaran=simpan$pengeluaran

plot(Pendapatan, Pengeluaran)

Menggunakan ggplot2

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.

Menampilkan Berdasarkan Jenis Kelamin

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)

Menggunakan ggplot

grafik=ggplot(simpan,
              aes(pendapatan, pengeluaran)) +
  geom_point()

grafik

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

grafik

Mengubah Warna

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

Mengubah Bentuk Titik

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

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

Memisahkan Grafik Berdasarkan Jenis Kelamin

grafik +
  facet_grid(. ~ jeniskelamin)

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

Menambahkan Garis Vertikal

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

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

2. Menyajikan Data dengan Grafik Garis

Data berikut menyajikan hasil penjualan barang A, B, dan C selama tahun 2001–2007 dan disimpan dalam data3.2.csv.

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

Menyimpan Variabel

Tahun=simpan$tahun
Jumlah_A=simpan$jenis.barang.A
Jumlah_B=simpan$jenis.barang.B
Jumlah_C=simpan$jenis.barang.C

Grafik Awal

plot(Tahun,Jumlah_A)

Grafik Garis

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

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

Menambahkan Barang B dan 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")

Menambahkan Legend

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

legend(2001,160,
       c("Jenis Barang A",
         "Jenis Barang B",
         "Jenis Barang C"),
       cex=0.8,
       col=c("red","blue","green"),
       pch=21)

Menambahkan Judul

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

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)


3. Menyajikan Data dengan Grafik Batang (Bagian Pertama)

Data menunjukkan penjualan barang A selama tahun 2001–2007 dan disimpan dalam data3.3.csv.

Membaca Data

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

Menyimpan Variabel

Tahun=simpan$tahun
Jumlah_A=simpan$jenis.barang.A

Grafik Batang

barplot(Jumlah_A,
        names.arg=c("2001",
                    "2002",
                    "2003",
                    "2004",
                    "2005",
                    "2006",
                    "2007"))


4. Menyajikan Data dengan Grafik Batang (Bagian Kedua)

Data berikut menunjukkan jumlah responden berdasarkan jenis kelamin dan hobi. Data disimpan dalam data3.4.csv.

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

Grafik Batang

frekuensi=c(90,10,25,75)

barplot(t(matrix(frekuensi,
                 ncol=2,
                 byrow=TRUE,
                 dimnames=list(
                   c("Laki-Laki","Perempuan"),
                   c("Olahraga","Memasak")
                 ))),
        col=c("darkblue","orange"),
        beside=TRUE,
        ylim=c(0,150),
        legend.text=TRUE,
        args.legend=list(x="topright"))

Menggunakan ggplot2

library(ggplot2)

data=simpan

ggplot(data,
       aes(x=Jenis.Kelamin,
           y=Jumlah,
           fill=Hobi)) +
  geom_bar(stat="identity")

ggplot(data,
       aes(x=Jenis.Kelamin,
           y=Jumlah,
           fill=Hobi)) +
  geom_bar(stat="identity",
           position="dodge")

ggplot(data,
       aes(x=Jenis.Kelamin,
           y=Jumlah,
           fill=Hobi)) +
  geom_bar(stat="identity",
           position="stack")


5. Menyajikan Data dengan Diagram Lingkaran

Data penjualan produk A, B, C, dan D disimpan dalam data3.5.csv. Produk A terjual sebanyak 12 unit, B sebanyak 5 unit, C sebanyak 8 unit, dan D sebanyak 20 unit.

Membaca Data

simpan=read.table("data3.5.csv",
                  header=TRUE,
                  sep=",")

simpan
##   Produk Jumlah
## 1      A     12
## 2      B      5
## 3      C      8
## 4      D     20

Diagram Lingkaran

pie(simpan$Jumlah,
    labels=simpan$Produk,
    main="Data Penjualan Produk A, B, C, dan D")

Menggunakan Warna

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

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


6. Menyajikan Data dengan Histogram

Data yang digunakan merupakan data skor IQ dengan jumlah pengamatan sebanyak 77 dan disimpan dalam IQ.csv.

Membaca Data

simpan=read.csv("IQ.csv",
                header=TRUE)

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

Menyimpan Data IQ

simpan_skor_IQ=simpan$IQ

Histogram

hist(simpan_skor_IQ)

Histogram dengan Warna

hist(simpan_skor_IQ,
     col="lightblue")

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,
     breaks=6,
     col=heat.colors(6),
     ylim=c(0,30),
     main="Contoh Histogram",
     ylab="Frekuensi",
     xlim=c(90,125))