Dosen: Asisten:
1. Dr. Muh Taufik S.Si, M.Si 1. Divina Umanita Iliyyan (G24170002)
2. Dr. I Putu Santikayasa, M.Si 2. Mudrik Haikal (G24190054)
Kelompok 5:
Adi Suwarno (G2401211019)
Restu Gendhis Selifani (G2401211042)
Abd. Malik A. Madinu (G2401211050)
Lintang Sekartadji (G2401211059)
TUJUAN
Praktikum ini bertujuan untuk memahami beberapa fungsi, operator, dan tipe data
pada bahasa pemrograman R
METODOLOGI
1. Operator pada R
# Contoh komentar
2
kalimat <- "Hello, World!"
print (kalimat) # Mencetak String
v <- c(2,5.5,6)
t <- c(8,3,4)
print(v+t)
print(v>t)
print(v>=t)
print(v == t)
print(v!=t)
v <- 2:8 # Variabel v akan terupdate (perhatikan
penggunaan tanda “:” )
print(v)
2. Tipe Data pada R
● Logical: TRUE, FALSE
● Numeric: 11, 12.3
● Integer: 0L
● Complex: 2i+3
● Character: “Hello World!”
3. Tipe Objek pada R
# Membuat vector.
warna.apel <- c(‘merah',‘hijau',“kuning")
print(warna.apel)
# Tipe data vector.
print(class(warna.apel))
# Membuat list.
contoh.list <- list(c(2,5,3),21.3,”angka”)
# Mencetak list.
print(contoh.list)
# Membuat matrix.
mis <- matrix( c('a','a','b','c','b','a'), nrow = 2, ncol =
3, byrow = TRUE)
print(mis)
# Membuat array.
arr <- array(c(‘hijau',‘kuning'),dim = c(3,3,2))
3
print(a)
# Membuat data frame.
BMI <- data.frame( gender = c(“Pria", “Pria",“Wanita"),
tinggi badan = c(152, 171.5, 165), berat
badan = c(81,93, 78), usia = c(42,38,26))
print(BMI) # Menambahkan kolom baru? Gunakan tanda “$”
4
sesuatu[-length(sesuatu)]
sesuatu[1:3]
# if else
if (kondisi) {
# kode dijalankan saat kondisi bernilai TRUE
} else {
# kode dijalankan saat kondisi bernilai FALSE
}
# if else (2).
if (this) {
# do that
} else if (that) {
# do something else
} else {
#
}
# Contoh if else.
negatif <- function(x) {
if (x < 0) {
print(“Bilangan negatif")
} else if (x > 0) {
print(“Bilangan positif")
} else {
print(“Nol")
}
negatif(10)
TUGAS KELOMPOK:
• Kerjakan 5 soal cerita di bawah ini☺
• Sertakan script R dan screenshot hasil pengerjaan tiap soal
• Di bagian akhir, sertakan tabel pembagian tugas anggota kelompok
• Dikumpulkan maksimal pukul 23.59 hari Selasa
• Format menyesuaikan
• Link pengumpulan: https://ipb.link/laporanmeteorologikomputasi2022
5
1. Rancang sebuah program untuk menghitung luas permukaan sebuah kubus, jika
diketahui panjang sisi kubus tersebut (suatu nilai x).
Contoh:
Jika input x = 2, maka output = 24
Jika input x = 12, maka output = 864
Jawaban # Nomor 1
luas_kubus <- function(x) { #x itu sisi kubus
rumus <- 6*x^2
print(rumus)
}
luas_kubus(2)
luas_kubus(12)
2. Buatlah sebuah program yang mencetak kalimat “Bilangan genap” jika input (nilai x
yang diberikan) adalah bilangan genap dan nilai “Bilangan ganjil” jika input adalah
bilangan ganjil.
Contoh:
Jika input x = 14, maka output = “Bilangan genap”
Jika input x = 3627291, maka output = “Bilangan ganjil”
Jawaban # Nomor 2
kelas_bilangan <- function(x) {
if (x%%2 == 0) {
print("Bilangan genap")
} else
print("Bilangan ganjil")
}
kelas_bilangan(14)
kelas_bilangan(3627291)
6
Gambar 2 Screenshot hasil data pengerjaan bilangan ganjil genap
3. Di akhir tahun, suatu Sekolah Dasar akan segera melakukan pembagian rapor. Buat
program untuk menghitung nilai rata-rata dari dua ujian setiap siswa (UTS dan UAS)
dan satu tugas. Ujian UTS dan UAS masing-masing diberi bobot 40%, sedangkan
tugas diberi bobot 20%. (Petunjuk: input ada 3, yaitu x, y, dan z).
Contoh:
Jika input = (UTS 80, UAS 80, Tugas 80), maka output = (80)
Jika input = (UTS 50, UAS 60, Tugas 70), maka output = (58)
Jawaban # Nomor 3
# Keterangan: x = UTS; y = UAS; z = Tugas
nilai_rapot <- function(x,y,z){
perhitungan <- 0.4*x + 0.4*y + 0.2*z
print(perhitungan)
}
nilai_rapot(80,80,80)
nilai_rapot(50,60,70)
4. Rancang sebuah program untuk menghitung besarnya tarif parkir pada suatu
supermarket. Tarif dasar parkir (kurang dari satu jam) adalah 2000. Untuk setiap jam
berikutnya, tarif parkir bertambah 1000. Tarif parkir maksimal yang ditentukan
supermarket tersebut adalah 8000. Input yang diberikan adalah waktu parkir dalam
satuan menit. (Petunjuk: fungsi ceiling(x) dapat digunakan untuk melakukan
pembulatan ke atas).
7
Contoh:
Jika input x = 50, maka output = 2000
Jika input x = 180, maka output = 4000
Jika input x = 500, maka output = 8000
Jawaban # Nomor 4
tarif_parkir <- function(x){ #x waktu dalam menit
if (x<=420){
print(2000+1000*ceiling((x-60)/60))
} else
print(8000)
}
tarif_parkir(50)
tarif_parkir(180)
tarif_parkir(500)
5. Rancang sebuah program untuk mengkonversi dari nomor bulan menjadi nama bulan.
Berikut adalah urutan nama bulan yang diinginkan. Jika input selain angka 1 sampai
12, keluaran berupa kalimat "Input tidak valid"
Januari, Februari, Maret, April, Mei, Juni, Juli, Agustus, September, Oktober,
November, Desember
Contoh:
Jika x = 2, maka output = “Februari”
Jika x = 14, maka output = “Input tidak valid”
Jawaban # Nomor 5
Alternatif 1
# Nomor 5 Alternatif 1
bulan <- function(x){
if (x==1){
print("Januari")
} else if (x ==2){
8
print("Februari")
} else if (x == 3){
print("Maret")
} else if (x==4){
print("April")
} else if (x==5){
print("Mei")
}else if (x ==6){
print("Juni")
} else if (x == 7){
print("Juli")
} else if (x==8){
print("Agustus")
}else if (x ==9){
print("September")
} else if (x == 10){
print("Oktober")
} else if (x==11){
print("November")
} else if (x==12){
print("Desember")
} else
print("Input tidak valid.")
}
bulan(2)
bulan(14)
bulan(-3)
9
Gambar 5 Screenshot hasil data alternatif pertama konversi bulan
Alternatif 2
# Nomor 5 Alternatif 2
bulan_v2 <- function(x){
nama_bulan <- c("Januari", "Februari", "Maret", "April",
"Mei", "Juni", "Juli", "Agustus", "September", "Oktober",
"November", "Desember")
if (x<=0){
print("Input tidak valid")
} else if (x<=12){ #x bilangan bulat
print(nama_bulan[x])
} else
print("Input tidak valid")
}
bulan_v2(2)
bulan_v2(10)
bulan_v2(17)
bulan_v2(-1)
10
Gambar 6 Screenshot hasil data alternatif kedua konversi bulan
DAFTAR PUSTAKA
Assaad, H. I., L. Zhou, R. J. Carroll, and G. Wu. 2014. Rapid Publication-Ready MS- Word
Tables for Oneway ANOVA. SpringerPlus. 3(474):1-8.
Chamber, J. 2008. Software for Data Analysis, Springer Statistical and Computing Series.
New York(US): Springer-Verlag New York.
J.J. Allaire 2011. RStudio: Integrated Development Environment for R. Kaleidoscope Ic (14).
Sarvina Y. 2017. Pemanfaatan software open source “R” untuk penelitian agroklimat. Jurnal
Informatika Pertanian. 26(1): 23 - 30.
11
LAMPIRAN
Tabel 1. Pembagian Tugas
NIM NAMA PENGERJAAN
12