{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE)

Install dan load library

library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3
library(readxl)
## Warning: package 'readxl' was built under R version 4.4.3
library(ggthemes)
## Warning: package 'ggthemes' was built under R version 4.4.3
library(gridExtra)
## Warning: package 'gridExtra' was built under R version 4.4.3

Input Data

Data di input dari Microsoft excel dengan syntax sebagai Berikut :

setwd("C:/Users/HP/OneDrive/Desktop/Perkuliahan Kk/Semester 2/Prosta")
data <- read_excel("Data_2.xlsx")
data
## # A tibble: 25 × 7
##     Rank Negara    Benua     Tingkat Penggunaan I…¹ `Pengguna Internet` Populasi
##    <dbl> <chr>     <chr>     <chr>                  <chr>               <chr>   
##  1     1 China     Asia      Tinggi                 1,05 milliar        1,412 m…
##  2     2 India     Asia      Tinggi                 692 juta            1,408 m…
##  3     3 U.S.      Amerika … Tinggi                 311,3 juta          331,9 j…
##  4     4 Indonesia Asia      Tinggi                 212,9 juta          273,8 j…
##  5     5 Brazil    Amerika … Sedang                 181,8 juta          214,3 j…
##  6     6 Rusia     Asia      Sedang                 127,6 juta          143,4 j…
##  7     7 Nigeria   Afrika    Sedang                 122,5 juta          213,4 j…
##  8     8 Jepang    Asia      Sedang                 102,5 juta          125,7 j…
##  9     9 Meksiko   Amerika … Sedang                 100,6 juta          126,7 j…
## 10    10 Pakistan  Asia      Sedang                 87,35 juta          231, 4 …
## # ℹ 15 more rows
## # ℹ abbreviated name: ¹​`Tingkat Penggunaan Internet`
## # ℹ 1 more variable: `Tingkat Penetrasi Internet  (%)` <chr>

1. Pie Chart

Hasil visualisasi data di atas dengan menggunakan Pie chart disajikan sebagai berikut :

pie_chart <- ggplot(data, aes(x = "", fill = Benua)) +
  geom_bar(width = 1) +
  coord_polar("y", start = 0) +
  theme_minimal() +
  labs(title = "Jumlah Pengguna Internet Tertinggi 2024") +
  theme(axis.text.x = element_blank())

pie_chart

Data Deskriptif: Visualisasi Pie Chart diatas menunjukan bahwa benua Asia memiliki tingkat jumlah pengguna internet tertinggi di dunia pada tahun 2024. Sedangkan benua Afrika, Amerika Selatan, Amerika Utara memiliki tingkat jumlah pengguna internet yang sama.

Data Inferensia: Dari hasil data tersebut dapat dijelaskan bahwa benua Asia memiliki tingkat jumlah pengguna internet tertinggi di dunia pada tahun 2024

2. Bar chart

Hasil visualisasi data di atas dengan menggunakan Bar chart disajikan sebagai berikut :

bar_chart <- ggplot(data, aes(x = `Tingkat Penggunaan Internet`, fill = `Tingkat Penggunaan Internet`)) +
  geom_bar() +
  theme_minimal() +
  labs(title = "Tingkat Penggunaan Internet", x = "Tingkat Penggunaan Internet", y = "Frekuensi")

bar_chart

Data Deskriptif: Visualisasi Bar Chart diatas menunjukan bahwa tingkat penggunaan internet rendah memiliki frekuensi lebih tinggi. Sedangkan tingkat penggunaan internet tinggi memiliki frekuensi lebih rendah.

Data Inferensia: Dari hasil data tersebut dapat menunjukan bahwa negara dengan tingkat penggunaan internet yang rendah memiliki frekuensi tertinggi dari pada kategori lainnya.

3. Histogram

Hasil visualisasi data di atas dengan menggunakan Histogram disajikan sebagai berikut :

data$`Tingkat Penetrasi Internet  (%)` <- as.numeric(data$`Tingkat Penetrasi Internet  (%)`)

ggplot(data, aes(x = `Tingkat Penetrasi Internet  (%)`)) +
  geom_histogram(binwidth = 5, fill = "steelblue", color = "black") +
  labs(title = "Distribusi Tingkat Penetrasi Internet", x = "Penetrasi Internet (%)", y = "Frekuensi")

Data Deskriptif: Visualisasi histogram diatas menunjukan bahwa penetrasi internet tertinggi 100%. Sedangkan penetrasi terendah 30%.

Data Inferensia: Dari hasil data tersebut dapat menunjukan bahwa penetrasi internet tersebar dalam rentang sekitar 40% hingga 100%.

4. Density Plot ( Pengguna Internet )

Hasil visualisasi data di atas dengan menggunakan Density plot disajikan sebagai berikut :

# Data Pengguna Internet dalam satuan asli
pengguna_internet <- c(1.05, 0.692, 0.3113, 0.2129, 0.1818, 
                       0.1276, 0.1225, 0.1025, 0.1006, 0.08735, 
                       0.08516, 0.08075, 0.07793, 0.07753, 0.07138, 
                       0.06983, 0.06694, 0.06611, 0.06121, 0.05994, 
                       0.05078, 0.05056, 0.04512, 0.03979, 0.03658)

# Tentukan satuan
satuan <- ifelse(pengguna_internet >= 1, "miliar", "juta")

# Hitung density
dens <- density(pengguna_internet)

# Plot Density tanpa sumbu x default
plot(dens, 
     main = "Density Plot Pengguna Internet", 
     xlab = "Jumlah Pengguna Internet", 
     ylab = "Kepadatan", 
     col = "blue", 
     lwd = 2, 
     xaxt = "n")  # Hilangkan sumbu x default

# Tentukan nilai tick untuk sumbu x
ticks <- pretty(pengguna_internet, n = 5)  
labels <- ifelse(ticks >= 1, paste(ticks, "miliar"), paste(ticks * 1000, "juta"))

# Tambahkan sumbu x yang benar
axis(1, at = ticks, labels = labels)

# Tambahkan garis grid untuk memperjelas
grid()

Data Deskriptif :
Grafik menunjukkan bahwa sebagian besar negara memiliki jumlah pengguna internet di bawah 200 juta, dengan kepadatan tertinggi pada rentang tersebut. Namun, terdapat beberapa lonjakan kecil pada angka sekitar 400 juta, 800 juta, dan 1 miliar, yang menandakan adanya beberapa negara dengan jumlah pengguna internet yang jauh lebih besar dibandingkan mayoritas negara lainnya.

Data Inferensia : Distribusi ini mengindikasikan bahwa negara dengan populasi besar seperti Tiongkok dan India mendominasi jumlah pengguna internet secara global. Perbedaan signifikan dalam jumlah pengguna juga mencerminkan adanya kesenjangan digital antara negara dengan akses internet luas dan negara dengan infrastruktur internet yang masih berkembang.

5. Boxplot

Hasil visualisasi data di atas dengan menggunakan Boxplot disajikan sebagai berikut :

# Data populasi dalam format teks
populasi_text <- c("1,412 miliar", "1,408 miliar", "331,9 juta", "273,8 juta", "214,3 juta", 
                   "143,4 juta", "213,4 juta", "125,7 juta", "126,7 juta", "231,4 juta")

# Ganti koma (,) dengan titik (.) untuk memastikan angka dapat dikonversi
populasi_text <- gsub(",", ".", populasi_text)

# Konversi data ke angka tanpa menggunakan 1e3
populasi_numeric <- as.numeric(sub(" miliar", "", populasi_text))
## Warning: NAs introduced by coercion
populasi_numeric[grepl("juta", populasi_text)] <- as.numeric(sub(" juta", "", populasi_text[grepl("juta", populasi_text)]))

# Cek apakah ada NA dalam data
print(populasi_numeric)
##  [1]   1.412   1.408 331.900 273.800 214.300 143.400 213.400 125.700 126.700
## [10] 231.400
# Buat boxplot
boxplot(populasi_numeric, 
        main = "Boxplot Populasi",
        ylab = "Populasi (Juta)",
        col = "skyblue",
        border = "darkblue",
        notch = FALSE)

# Tambahkan grid untuk memperjelas
grid()

## Menampilkan semua plot

Data Deskriptif: Boxplot menunjukkan bahwa populasi negara dalam dataset berkisar antara 0 hingga lebih dari 300 juta jiwa, dengan mayoritas berada dalam rentang sekitar 100 juta hingga 250 juta. Median berada di sekitar 175 juta, menunjukkan bahwa setengah dari data memiliki populasi di bawah angka tersebut.

Data Inferensia: Distribusi yang relatif merata tanpa outlier mencolok menunjukkan bahwa sebagian besar negara dalam dataset memiliki populasi yang tidak terlalu ekstrem. Hal ini bisa mengindikasikan bahwa data yang digunakan cukup seimbang tanpa dominasi negara dengan populasi sangat besar atau sangat kecil.

Ukuran pemusatan data

mean

mean(data$`Tingkat Penetrasi Internet  (%)`)
## [1] 79.2736

median

median(data$`Tingkat Penggunaan Internet`)
## [1] "Rendah"

modus

modus <- function(x) {
  uniqx <- unique(x)
  uniqx[which.max(tabulate(match(x, uniqx)))]
}

modus(data$Benua)
## [1] "Asia"

menampilkan ringkasan data

summary(data)
##       Rank       Negara             Benua           Tingkat Penggunaan Internet
##  Min.   : 1   Length:25          Length:25          Length:25                  
##  1st Qu.: 7   Class :character   Class :character   Class :character           
##  Median :13   Mode  :character   Mode  :character   Mode  :character           
##  Mean   :13                                                                    
##  3rd Qu.:19                                                                    
##  Max.   :25                                                                    
##  Pengguna Internet    Populasi         Tingkat Penetrasi Internet  (%)
##  Length:25          Length:25          Min.   :37.75                  
##  Class :character   Class :character   1st Qu.:74.77                  
##  Mode  :character   Mode  :character   Median :84.19                  
##                                        Mean   :79.27                  
##                                        3rd Qu.:88.98                  
##                                        Max.   :98.19

ukuran penyebaran

manghitung keragaman data

var(data$`Tingkat Penetrasi Internet  (%)`)
## [1] 292.0808

menghitung standar deviasi

sd(data$`Tingkat Penetrasi Internet  (%)`)
## [1] 17.09037