Buatlah data menggunakan Notepad seperti pada gambar berikut. Simpan
data dalam file data2.txt. Dengan menggunakan perintah
scan, buatlah matriks berukuran 4 \(\times\) 10 dari data pada
data2.txt. Simpan objek tersebut dalam
matriks2.
Data pada gambar soal tersusun sebagai berikut:
| Baris | Data |
|---|---|
| 1 | 75 90 35 51 50 56 35 80 70 80 |
| 2 | 68 29 58 66 89 81 86 70 94 67 |
| 3 | 35 47 67 87 37 30 66 58 59 55 |
| 4 | 67 76 80 78 60 90 69 80 76 87 |
File data2.txt dibuat dengan format 10 angka per baris
(4 baris) agar persis seperti gambar di Notepad:
# Membuat vektor data sesuai urutan pada gambar (baris per baris)
data_vec <- c(
75, 90, 35, 51, 50, 56, 35, 80, 70, 80,
68, 29, 58, 66, 89, 81, 86, 70, 94, 67,
35, 47, 67, 87, 37, 30, 66, 58, 59, 55,
67, 76, 80, 78, 60, 90, 69, 80, 76, 87
)
# Menyimpan ke file data2.txt dengan 10 kolom per baris (sesuai gambar)
write(data_vec, file = "data2.txt", ncolumns = 10)
# Menampilkan isi file untuk verifikasi
cat("Isi file data2.txt (10 angka per baris, 4 baris):\n")
cat(readLines("data2.txt"), sep = "\n")Isi file data2.txt (10 angka per baris, 4 baris):
75 90 35 51 50 56 35 80 70 80
68 29 58 66 89 81 86 70 94 67
35 47 67 87 37 30 66 58 59 55
67 76 80 78 60 90 69 80 76 87
Gunakan fungsi scan() untuk membaca data numerik dari
file data2.txt.
# Membaca data dari file data2.txt menggunakan scan()
data_scan <- scan("data2.txt")
# Menampilkan hasil scan
cat("Hasil scan (vektor dengan 40 elemen):\n")
print(data_scan)Hasil scan (vektor dengan 40 elemen):
[1] 75 90 35 51 50 56 35 80 70 80 68 29 58 66 89 81 86 70 94 67 35 47 67 87 37
[26] 30 66 58 59 55 67 76 80 78 60 90 69 80 76 87
Gunakan fungsi matrix() dengan parameter
nrow = 4, ncol = 10, dan
byrow = TRUE agar pengisian mengikuti urutan baris pada
file asli. Objek hasil disimpan dalam variabel
matriks2.
# Membentuk matriks 4 x 10 dan menyimpannya ke objek matriks2
matriks2 <- matrix(data_scan, nrow = 4, ncol = 10, byrow = TRUE)
# Menampilkan matriks
cat("Objek matriks2 (matriks 4 x 10):\n")
print(matriks2)Objek matriks2 (matriks 4 x 10):
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 75 90 35 51 50 56 35 80 70 80
[2,] 68 29 58 66 89 81 86 70 94 67
[3,] 35 47 67 87 37 30 66 58 59 55
[4,] 67 76 80 78 60 90 69 80 76 87
# Memeriksa dimensi matriks
cat("Nama objek:", "matriks2", "\n")
cat("Dimensi matriks:", dim(matriks2), "\n")
cat("Jumlah baris:", nrow(matriks2), "\n")
cat("Jumlah kolom:", ncol(matriks2), "\n")Nama objek: matriks2
Dimensi matriks: 4 10
Jumlah baris: 4
Jumlah kolom: 10
Buatlah file tiket_pesawat.csv menggunakan Microsoft
Excel berikut:
| ID_Transaksi | Maskapai | Rute | Jumlah_Tiket | Harga_Tiket |
|---|---|---|---|---|
| 1 | Garuda | Jakarta-Bali | 20 | 1.500.000 |
| 2 | Lion Air | Jakarta-Surabaya | 15 | 900.000 |
| 3 | AirAsia | Jakarta-Medan | 10 | 1.200.000 |
| 4 | Citilink | Jakarta-Lombok | 8 | 1.100.000 |
Tuliskan perintah R untuk membaca file tersebut ke dalam R, dengan
baris pertama sebagai header dan simpan data dalam objek
tiket_pesawat.
File tiket_pesawat.csv dibuat menggunakan Microsoft
Excel atau langsung dari R. Perhatikan bahwa dalam file CSV, harga tiket
disimpan dalam format numerik murni tanpa pemisah ribuan agar dapat
dibaca sebagai tipe data numerik di R.
# Membuat data frame sesuai tabel pada soal
tiket_data <- data.frame(
ID_Transaksi = c(1, 2, 3, 4),
Maskapai = c("Garuda", "Lion Air", "AirAsia", "Citilink"),
Rute = c("Jakarta-Bali", "Jakarta-Surabaya", "Jakarta-Medan", "Jakarta-Lombok"),
Jumlah_Tiket = c(20, 15, 10, 8),
Harga_Tiket = c(1500000, 900000, 1200000, 1100000),
stringsAsFactors = FALSE
)
# Menyimpan ke file CSV (row.names = FALSE agar tidak ada kolom indeks tambahan)
write.csv(tiket_data, file = "tiket_pesawat.csv", row.names = FALSE)
# Menampilkan isi file CSV mentah untuk verifikasi
cat("Isi file tiket_pesawat.csv:\n")
cat(readLines("tiket_pesawat.csv"), sep = "\n")Isi file tiket_pesawat.csv:
"ID_Transaksi","Maskapai","Rute","Jumlah_Tiket","Harga_Tiket"
1,"Garuda","Jakarta-Bali",20,1500000
2,"Lion Air","Jakarta-Surabaya",15,9e+05
3,"AirAsia","Jakarta-Medan",10,1200000
4,"Citilink","Jakarta-Lombok",8,1100000
Gunakan fungsi read.csv() dengan parameter
header = TRUE agar baris pertama pada file dianggap sebagai
nama kolom (header). Data disimpan dalam objek bernama
tiket_pesawat.
# Membaca file tiket_pesawat.csv dengan baris pertama sebagai header
tiket_pesawat <- read.csv("tiket_pesawat.csv", header = TRUE)
# Menampilkan objek data yang telah dibaca
cat("Objek tiket_pesawat yang telah dibaca ke R:\n")
print(tiket_pesawat)Objek tiket_pesawat yang telah dibaca ke R:
ID_Transaksi Maskapai Rute Jumlah_Tiket Harga_Tiket
1 1 Garuda Jakarta-Bali 20 1500000
2 2 Lion Air Jakarta-Surabaya 15 900000
3 3 AirAsia Jakarta-Medan 10 1200000
4 4 Citilink Jakarta-Lombok 8 1100000
# Memeriksa nama objek
cat("Nama objek:", "tiket_pesawat", "\n\n")
# Melihat struktur data
cat("Struktur data:\n")
str(tiket_pesawat)Nama objek: tiket_pesawat
Struktur data:
'data.frame': 4 obs. of 5 variables:
$ ID_Transaksi: int 1 2 3 4
$ Maskapai : chr "Garuda" "Lion Air" "AirAsia" "Citilink"
$ Rute : chr "Jakarta-Bali" "Jakarta-Surabaya" "Jakarta-Medan" "Jakarta-Lombok"
$ Jumlah_Tiket: int 20 15 10 8
$ Harga_Tiket : num 1500000 900000 1200000 1100000
Summary data:
ID_Transaksi Maskapai Rute Jumlah_Tiket
Min. :1.00 Length:4 Length:4 Min. : 8.00
1st Qu.:1.75 Class :character Class :character 1st Qu.: 9.50
Median :2.50 Mode :character Mode :character Median :12.50
Mean :2.50 Mean :13.25
3rd Qu.:3.25 3rd Qu.:16.25
Max. :4.00 Max. :20.00
Harga_Tiket
Min. : 900000
1st Qu.:1050000
Median :1150000
Mean :1175000
3rd Qu.:1275000
Max. :1500000
Setelah Anda mempelajari materi sesi ini, buatlah 2 contoh Program R serta lampirkan hasil output R tersebut.
Berdasarkan Modul 7: Data Set dalam R dan Import
Data, berikut adalah 2 contoh program R yang mencakup materi:
1. Mengakses data set yang tersedia di R 2. Import data dari file ASCII
(menggunakan read.table dan scan) 3. Import
data dari file Microsoft Excel (menggunakan read.csv)
iris)Program ini menunjukkan cara mengakses data set bawaan R menggunakan
fungsi data(), serta memeriksa struktur dan atribut data
set menggunakan dim(), names(),
str(), dan attributes().
# ============================================
# Contoh Program 1: Mengakses Data Set iris di R
# ============================================
# 1. Memuat dataset iris yang tersedia dalam package datasets
data(iris)
# 2. Menampilkan dimensi dataset (150 baris, 5 kolom)
cat("=== DIMENSI DATASET IRIS ===\n")
cat("dim(iris):", dim(iris), "\n")=== DIMENSI DATASET IRIS ===
dim(iris): 150 5
# 3. Menampilkan nama-nama atribut (field/kolom)
cat("\n=== NAMA ATRIBUT (FIELD) ===\n")
cat("names(iris):", names(iris), "\n")
=== NAMA ATRIBUT (FIELD) ===
names(iris): Sepal.Length Sepal.Width Petal.Length Petal.Width Species
=== STRUKTUR DATA ===
'data.frame': 150 obs. of 5 variables:
$ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
$ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
$ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
$ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
$ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
=== LIMA DATA PERTAMA ===
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
# 6. Menampilkan 10 nilai pertama dari atribut Sepal.Width
cat("\n=== 10 NILAI PERTAMA SEPAL.WIDTH ===\n")
cat("iris[1:10, 'Sepal.Width']:\n")
print(iris[1:10, "Sepal.Width"])
=== 10 NILAI PERTAMA SEPAL.WIDTH ===
iris[1:10, 'Sepal.Width']:
[1] 3.5 3.0 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1
# 7. Alternatif: menggunakan tanda $ (dollar)
cat("\niris$Sepal.Width[1:10]:\n")
print(iris$Sepal.Width[1:10])
iris$Sepal.Width[1:10]:
[1] 3.5 3.0 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1
=== ATRIBUT LENGKAP ===
$names
[1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species"
$class
[1] "data.frame"
$row.names
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
[19] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
[37] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
[55] 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
[73] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
[91] 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
[109] 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
[127] 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
[145] 145 146 147 148 149 150
Program ini menunjukkan cara membaca data dari file ASCII menggunakan
read.table() dan scan(), sesuai dengan materi
Modul 7 Kegiatan Belajar 1.
# ============================================
# Contoh Program 2: Import Data dari File ASCII
# ============================================
# --- BAGIAN A: Menggunakan read.table() ---
# 1. Membuat file nilai.txt (data mahasiswa)
# Format: Nama, NIM, Jenis_kelamin, Nilai
nilai_data <- data.frame(
Nama = c("Rina", "Jaka", "Anita", "Reni", "Budiman"),
NIM = c("A130001", "A130002", "A130003", "A130004", "A130005"),
Jenis_kelamin = c("P", "L", "P", "P", "L"),
Nilai = c(80, 90, 75, 85, 80),
stringsAsFactors = FALSE
)
# Menyimpan ke file nilai.txt (tab-delimited)
write.table(nilai_data, file = "nilai.txt", row.names = FALSE, sep = "\t")
cat("=== ISI FILE nilai.txt ===\n")
cat(readLines("nilai.txt"), sep = "\n")=== ISI FILE nilai.txt ===
"Nama" "NIM" "Jenis_kelamin" "Nilai"
"Rina" "A130001" "P" 80
"Jaka" "A130002" "L" 90
"Anita" "A130003" "P" 75
"Reni" "A130004" "P" 85
"Budiman" "A130005" "L" 80
# 2. Membaca file nilai.txt dengan read.table() tanpa header
cat("\n--- read.table tanpa header ---\n")
nilai_mhs <- read.table("nilai.txt")
cat("Default (tanpa header=TRUE):\n")
print(nilai_mhs)
--- read.table tanpa header ---
Default (tanpa header=TRUE):
V1 V2 V3 V4
1 Nama NIM Jenis_kelamin Nilai
2 Rina A130001 P 80
3 Jaka A130002 L 90
4 Anita A130003 P 75
5 Reni A130004 P 85
6 Budiman A130005 L 80
# 3. Membaca file nilai.txt dengan read.table() dengan header=TRUE
cat("\n--- read.table dengan header=TRUE ---\n")
nilai_mhs <- read.table("nilai.txt", header = TRUE)
cat("Dengan header=TRUE:\n")
print(nilai_mhs)
--- read.table dengan header=TRUE ---
Dengan header=TRUE:
Nama NIM Jenis_kelamin Nilai
1 Rina A130001 P 80
2 Jaka A130002 L 90
3 Anita A130003 P 75
4 Reni A130004 P 85
5 Budiman A130005 L 80
# 4. Mengakses kolom Nilai saja
cat("\n--- Mengakses kolom Nilai ---\n")
nilai_ujian <- nilai_mhs$Nilai
cat("nilai_mhs$Nilai:\n")
print(nilai_ujian)
--- Mengakses kolom Nilai ---
nilai_mhs$Nilai:
[1] 80 90 75 85 80
# --- BAGIAN B: Menggunakan scan() ---
# 5. Membuat file latihan5.txt (data numerik 3 baris x 12 kolom)
latihan5_vec <- c(
50, 28, 75, 35, 49, 64, 88, 94, 54, 34, 28, 56,
87, 42, 33, 67, 31, 98, 58, 47, 37, 66, 64, 25,
66, 35, 87, 58, 93, 86, 69, 29, 96, 86, 57, 80
)
write(latihan5_vec, file = "latihan5.txt", ncolumns = 12)
cat("\n=== ISI FILE latihan5.txt (3 baris x 12 kolom) ===\n")
cat(readLines("latihan5.txt"), sep = "\n")
=== ISI FILE latihan5.txt (3 baris x 12 kolom) ===
50 28 75 35 49 64 88 94 54 34 28 56
87 42 33 67 31 98 58 47 37 66 64 25
66 35 87 58 93 86 69 29 96 86 57 80
# 6. Membaca file latihan5.txt dengan scan()
cat("\n--- Membaca dengan scan() ---\n")
data5.scan <- scan("latihan5.txt")
cat("data5.scan (36 items):\n")
print(data5.scan)
--- Membaca dengan scan() ---
data5.scan (36 items):
[1] 50 28 75 35 49 64 88 94 54 34 28 56 87 42 33 67 31 98 58 47 37 66 64 25 66
[26] 35 87 58 93 86 69 29 96 86 57 80
# 7. Mengubah ke bentuk matriks 6x6
cat("\n--- Matriks 6 x 6 dari scan() ---\n")
matrix5.scan <- matrix(scan("latihan5.txt"), 6)
cat("matrix5.scan:\n")
print(matrix5.scan)
--- Matriks 6 x 6 dari scan() ---
matrix5.scan:
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 50 88 87 58 66 69
[2,] 28 94 42 47 35 29
[3,] 75 54 33 37 87 96
[4,] 35 34 67 66 58 86
[5,] 49 28 31 64 93 57
[6,] 64 56 98 25 86 80
Berdasarkan Modul 7: Data Set dalam R dan Import Data, dapat disimpulkan:
Mengakses Data Set di R: Fungsi
data() digunakan untuk memuat data set yang tersedia dalam
R (seperti iris, AirPassengers,
women, dll). Fungsi dim(),
names(), str(), dan attributes()
digunakan untuk memeriksa ukuran, struktur, dan atribut data
set.
Import File ASCII:
read.table(): Digunakan untuk membaca file ASCII dalam
format tabel/grid. Parameter header = TRUE digunakan jika
baris pertama berisi nama variabel.scan(): Digunakan untuk membaca data dari file ASCII ke
dalam vektor atau list. Dapat dikombinasikan dengan
matrix() untuk membentuk matriks.Import File Microsoft Excel: File Excel harus
diubah ke format .txt (tab-delimited) atau
.csv (comma separated value) terlebih dahulu, kemudian
dibaca menggunakan read.table() atau
read.csv().
Import dari Paket Statistik: R menyediakan paket
foreign untuk meng-import data dari berbagai program
statistik seperti MINITAB (read.mtp), SPSS
(read.spss), SAS
(read.ssd/read.xport), S+
(read.S), STATA (read.dta), Systat
(read.systat), dan Epi info
(read.epiinfo).
Suhartono. (2009). Analisis data statistik dengan R. Yogyakarta: Graha Ilmu.
Venables, W. N., & Smith, D. M. (2007). An introduction to R. The R Development Core Team.
Venables, W. N., Smith, D. M., & the R Core Team. (2013). Notes on R: A programming environment for data analysis and graphics, version 3.0.2. Dalam An introduction to R. The R Development Core Team.
R Core Team. (2023). R: A language and environment for statistical computing. R Foundation for Statistical Computing. https://www.R-project.org/
Wickham, H., & Grolemund, G. (2016). R for data science: Import, tidy, transform, visualize, and model data. O’Reilly Media.
Adler, J. (2010). R in a nutshell: A desktop quick reference. O’Reilly Media.