Data <- read.table(file.choose(), header = T)
Data
## Provinsi Jumlah_Mikro
## 1 ACEH 101654
## 2 SUMATERA_UTARA 127090
## 3 SUMATERA_BARAT 82777
## 4 RIAU 54345
## 5 JAMBI 38338
## 6 SUMATERA_SELATAN 80047
## 7 BENGKULU 22560
## 8 LAMPUNG 115840
## 9 KEP_BANGKA_BELITUNG 18044
## 10 KEP_RIAU 23398
## 11 DKI_JAKARTA 68935
## 12 JAWA_BARAT 679916
## 13 JAWA_TENGAH 795416
## 14 DI_YOGYAKARTA 125041
## 15 JAWA_TIMUR 724760
## 16 BANTEN 137183
## 17 BALI 145067
## 18 NUSA_TENGGARA_BARAT 85727
## 19 NUSA_TENGGARA_TIMUR 125244
## 20 KALIMANTAN_BARAT 56256
## 21 KALIMANTAN_TENGAH 29780
## 22 KALIMANTAN_SELATAN 73446
## 23 KALIMANTAN_TIMUR 36351
## 24 KALIMANTAN_UTARA 7239
## 25 SULAWESI_UTARA 39432
## 26 SULAWESI_TENGAH 52870
## 27 SULAWESI_SELATAN 123684
## 28 SULAWESI_TENGGARA 51459
## 29 GORONTALO 35234
## 30 SULAWESI_BARAT 23137
## 31 MALUKU 32021
## 32 MALUKU_UTARA 17071
## 33 PAPUA_BARAT 3199
## 34 PAPUA_BARAT_DAYA 3605
## 35 PAPUA 7241
## 36 PAPUA_SELATAN 2842
## 37 PAPUA_TENGAH 2524
## 38 PAPUA_PEGUNUNGAN 115
library(ggplot2)
ggplot(Data, aes(x = Jumlah_Mikro)) +
geom_histogram(
binwidth = 100000,
boundary = 0,
fill = "pink",
color = "black"
) +
scale_x_continuous(
breaks = seq(0, 800000, by = 100000),
labels = c("0", "100rb", "200rb", "300rb", "400rb", "500rb", "600rb", "700rb", "800rb"),
limits = c(0, 800000)
) +
labs(
title = "Jumlah Perusahaan Industri Skala Mikro di Indonesia",
x = "Jumlah Perusahaan Mikro",
y = "Freq"
) +
theme_classic() +
theme(
axis.text.x = element_text(angle = 0, hjust = 0.5),
plot.title = element_text(hjust = 0.5, face = "bold")
)

library(ggplot2)
ggplot(Data, aes(x = "", y = Jumlah_Mikro)) +
geom_boxplot(fill = "red") +
scale_y_continuous(
breaks = seq(0, 800000, by = 100000),
labels = c("0", "100rb", "200rb", "300rb", "400rb", "500rb", "600rb", "700rb", "800rb"),
limits = c(0, 800000)
) +
labs(
title = "Box Plot Jumlah Perusahaan Mikro Indonesia 2025",
x = "",
y = "Jumlah Perusahaan Mikro"
) +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5, face = "bold"))

library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats 1.0.1 ✔ stringr 1.6.0
## ✔ lubridate 1.9.5 ✔ tibble 3.3.1
## ✔ purrr 1.2.2 ✔ tidyr 1.3.2
## ✔ readr 2.2.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(ggplot2)
Data_Kalimantan <- Data %>%
filter(str_starts(Provinsi, "KALIMANTAN"))
ggplot(Data_Kalimantan, aes(x = Provinsi, y = Jumlah_Mikro, fill = Provinsi)) +
geom_col() +
scale_y_continuous(
breaks = seq(0, 80000, by = 10000),
labels = c("0", "10rb", "20rb", "30rb", "40rb", "50rb", "60rb", "70rb", "80rb"),
limits = c(0, 80000)
) +
labs(
title = "Jumlah Perusahaan Mikro Pulau Kalimantan Tahun 2025",
x = "Provinsi",
y = "Jumlah Perusahaan Mikro"
) +
theme_minimal() +
theme(
axis.text.x = element_text(angle = 45, hjust = 1),
plot.title = element_text(hjust = 0.5, face = "bold"),
legend.position = "none"
)
