PRAKTIKUM

Operasi Dasar

27+56
## [1] 83
77-98
## [1] -21
55*0
## [1] 0
27/3
## [1] 9
2^8
## [1] 256

Pembuatan Variabel

a <- 10   #bisa ganti <- jadi = 
b <- 8
c <- a*b

c
## [1] 80

Struktur Data

vector <- c(1:5) #bisa diisi manuual c(1,2,3,4,5)
vector
## [1] 1 2 3 4 5

Membuat Vektor Karakter

ibukota <- c("Semarang", "Jakarta", "Tangerang", "Semarang", "Medan", "Surabaya", "Jakarta", "Surabaya","Palembang")
ibukota
## [1] "Semarang"  "Jakarta"   "Tangerang" "Semarang"  "Medan"     "Surabaya" 
## [7] "Jakarta"   "Surabaya"  "Palembang"
str(ibukota)
##  chr [1:9] "Semarang" "Jakarta" "Tangerang" "Semarang" "Medan" "Surabaya" ...

Mengonversi ke Faktor

ibukota_factor <- factor(ibukota) #buat nyimpen data kategorikal
str(ibukota_factor)
##  Factor w/ 6 levels "Jakarta","Medan",..: 4 1 6 4 2 5 1 5 3

Menampilkan Level yang Ada dalam Faktor

levels(ibukota_factor) #buat nampilin jenisnya
## [1] "Jakarta"   "Medan"     "Palembang" "Semarang"  "Surabaya"  "Tangerang"

Frekuensi Tiap Kategori

table(ibukota_factor)
## ibukota_factor
##   Jakarta     Medan Palembang  Semarang  Surabaya Tangerang 
##         2         1         1         2         2         1

Membuat List yang Berisi Berbagai Jenis Data

data_list <- list(
  angka = c(10, 20, 30, 40),
  teks = c("A", "B", "C"),
  kategori = factor(c("Baik", "Sedang", "Buruk"))
)
print(data_list)
## $angka
## [1] 10 20 30 40
## 
## $teks
## [1] "A" "B" "C"
## 
## $kategori
## [1] Baik   Sedang Buruk 
## Levels: Baik Buruk Sedang

Mengakses Elemen List

data_list$angka
## [1] 10 20 30 40
data_list[[2]]
## [1] "A" "B" "C"

Membuat Data Frame

data_karyawan <- data.frame(
  Nama = c("Andi", "Budi", "Citra", "Dewi", "Tika"),
  Usia = c(25, 30, 27, 35, 28),
  Pekerjaan = factor(c("Pegawai", "Wirausaha", "Mahasiswa", "Pegawai", "Pegawai"))  #
)
data_karyawan
##    Nama Usia Pekerjaan
## 1  Andi   25   Pegawai
## 2  Budi   30 Wirausaha
## 3 Citra   27 Mahasiswa
## 4  Dewi   35   Pegawai
## 5  Tika   28   Pegawai

Mmebuat Array 3 Dimensi

array_data <- array(1:24, dim = c(3, 4, 2))
array_data #bisa pake print
## , , 1
## 
##      [,1] [,2] [,3] [,4]
## [1,]    1    4    7   10
## [2,]    2    5    8   11
## [3,]    3    6    9   12
## 
## , , 2
## 
##      [,1] [,2] [,3] [,4]
## [1,]   13   16   19   22
## [2,]   14   17   20   23
## [3,]   15   18   21   24
dim(array_data) #buat nampilin dimensi
## [1] 3 4 2

Membuat Vektor dengan Nilai NA

nilai <- c(90, 85, NA, 75, 80, NA, 95)
nilai
## [1] 90 85 NA 75 80 NA 95

Sequence Generation

x1 <- seq(0, 10, length=5)
x1
## [1]  0.0  2.5  5.0  7.5 10.0
x2 <- seq(0,10,length=6)  # Membuat deret angka dengan 6 elemen
x2
## [1]  0  2  4  6  8 10
x3 <- seq(0,10,length=7)  # Membuat deret angka dengan 7 elemen
x3
## [1]  0.000000  1.666667  3.333333  5.000000  6.666667  8.333333 10.000000
x4 <- numeric(10)   # panjang barisan
x4[1] <- 2          # nilai awal

pola <- c("+2", "*2", "/2")

for (i in 2:length(x4)) {
  aturan <- pola[(i - 2) %% length(pola) + 1]
  
  if (aturan == "+2") x4[i] <- x4[i-1] + 2
  if (aturan == "*2") x4[i] <- x4[i-1] * 2
  if (aturan == "/2") x4[i] <- x4[i-1] / 2
}

x4
##  [1]  2  4  8  4  6 12  6  8 16  8

Replicate Elements pf Vectors and Lists

grup   <- rep(c("Kontrol", "Perlakuan"), each = 10)
waktu  <- rep(1:10, times = 2)
cbind(grup, waktu)
##       grup        waktu
##  [1,] "Kontrol"   "1"  
##  [2,] "Kontrol"   "2"  
##  [3,] "Kontrol"   "3"  
##  [4,] "Kontrol"   "4"  
##  [5,] "Kontrol"   "5"  
##  [6,] "Kontrol"   "6"  
##  [7,] "Kontrol"   "7"  
##  [8,] "Kontrol"   "8"  
##  [9,] "Kontrol"   "9"  
## [10,] "Kontrol"   "10" 
## [11,] "Perlakuan" "1"  
## [12,] "Perlakuan" "2"  
## [13,] "Perlakuan" "3"  
## [14,] "Perlakuan" "4"  
## [15,] "Perlakuan" "5"  
## [16,] "Perlakuan" "6"  
## [17,] "Perlakuan" "7"  
## [18,] "Perlakuan" "8"  
## [19,] "Perlakuan" "9"  
## [20,] "Perlakuan" "10"

Simulasi Sampel Acak

# Simulasi pelemparan koin (0 = gambar, 1 = angka)
set.seed(11)
sample(0:1,100, replace = TRUE)  # Simulasi pelemparan koin sebanyak 30 kali
##   [1] 1 1 1 0 1 0 0 1 1 1 0 1 1 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 1 0 1
##  [38] 0 1 1 1 0 1 0 1 1 0 1 1 0 1 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 0 1 0 0 0 1 0
##  [75] 1 1 1 0 1 1 1 1 0 1 0 0 1 0 1 0 1 1 0 0 0 1 0 0 0 1
# Simulasi pengambilan sampel huruf "A" dan "G" sebanyak 15 kali
set.seed(123)
sample(c("A", "G"), 15, replace = TRUE)  # Simulasi pengambilan sampel huruf "A" dan "G"
##  [1] "A" "A" "A" "G" "A" "G" "G" "G" "A" "A" "G" "G" "G" "A" "G"
set.seed(1)
# Simulasi pelemparan dadu sebanyak 30 kali
sample(1:6, 30, replace = TRUE)  # Simulasi pelemparan dadu sebanyak 30 kali
##  [1] 1 4 1 2 5 3 6 2 3 3 1 5 5 2 6 6 2 1 5 5 1 1 6 5 5 2 2 6 1 4

LATIHAN

1. Buat dataframe dengan kolom Nama dan Nilai (minimal 4 baris). Atur nilai pada kolom Nilai sehingga rata-rata (mean) dari nilai tersebut adalah 96.Selanjutnya, tampilkan ringkasan statistik dari dataframe tersebut menggunakan fungsi summary().

data_mahasiswa <- data.frame(
  Nama = c("Silvi", "Nara", "Lengkara", "Gara", "Kevin", "Vincent"),
  Nilai = c(94, 92, 96, 100, 94, 100)
)
data_mahasiswa
##       Nama Nilai
## 1    Silvi    94
## 2     Nara    92
## 3 Lengkara    96
## 4     Gara   100
## 5    Kevin    94
## 6  Vincent   100
summary(data_mahasiswa)
##      Nama               Nilai    
##  Length:6           Min.   : 92  
##  Class :character   1st Qu.: 94  
##  Mode  :character   Median : 95  
##                     Mean   : 96  
##                     3rd Qu.: 99  
##                     Max.   :100

2. Buat satu barisan sepanjang 12 elemen dengan aturan berulang +3 → ×2 → −1 dengan nilai awal 4.

x <- numeric(12)
x[1] <- 4
pola <- c("+3", "*2", "-1")

for (i in 2:length(x)) {
  aturan <- pola [(i-2) %%  length(pola) + 1]
  if (aturan == "+3") x[i] <- x[i-1] +3
  if (aturan == "*2") x[i] <- x[i-1] *2
  if (aturan == "-1") x[i] <- x[i-1] -1
}
x
##  [1]   4   7  14  13  16  32  31  34  68  67  70 140

3. Gunakan fungsi seq() dan rep() di R untuk membentuk satu vektor dengan hasil akhir sebagai berikut:0 0 2 2 4 4 6 6 0 0 2 2 4 4 6 6 0 0 2 2 4 4 6 6

x1 <- rep(seq(0,6, length=4), each=2, times=3)
x1
##  [1] 0 0 2 2 4 4 6 6 0 0 2 2 4 4 6 6 0 0 2 2 4 4 6 6

4. Lakukan simulasi pelemparan koin sebanyak 30 kali menggunakan fungsi sample() di R, dengan ketentuan sebagai berikut:

Hasil 0 memiliki peluang kemunculan 45% Hasil 1 memiliki peluang kemunculan 55%

set.seed(123)
sample(c(0:1),30, prob = c(0.55, 0.45), replace = TRUE)
##  [1] 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 1 1 1 0 1 0 0

5. Gunakan set.seed() agar hasil simulasi dapat direproduksi

Seorang pemilik UMKM mencatat data penjualan selama beberapa hari. Informasi yang dikumpulkan meliputi Hari, Jumlah Produk Terjual, Harga Satuan, Total Pendapatan. Buat sebuah dataframe dengan keempat kolom tersebut (minimal 4 baris), lalu tampilkan summary().

data_penjualan <- data.frame(
  Hari = c("Senin", "Selasa", "Rabu", "Kamis", "Jumat"),
  Jumlah_Terjual = c(37, 70, 96, 100, 67),
  Harga_Satuan = c(24000, 45000, 77000,37000, 67000)
)
data_penjualan$Total_Pendapatan = data_penjualan$Jumlah_Terjual * data_penjualan$Harga_Satuan
data_penjualan
##     Hari Jumlah_Terjual Harga_Satuan Total_Pendapatan
## 1  Senin             37        24000           888000
## 2 Selasa             70        45000          3150000
## 3   Rabu             96        77000          7392000
## 4  Kamis            100        37000          3700000
## 5  Jumat             67        67000          4489000