Anda di halaman 1dari 12

LAPORAN PRAKTIKUM 2

PENGENALAN FUNGSI-FUNGSI R BAGIAN 1


(Mata Kuliah Meteorologi Komputasi)

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)

DEPARTEMEN GEOFISIKA DAN METEOROLOGI


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
IPB UNIVERSITY
2022
DASAR TEORI
RStudio adalah Integrated Development Environment (IDE) baru untuk bahasa
pemrograman R. R Studio adalah proyek sumber terbuka yang dimaksudkan untuk
menggabungkan berbagai komponen R (konsol, pengeditan sumber, grafik, sejarah, bantuan,
dll.) menjadi satu meja kerja yang mulus dan produktif. Ini dirancang untuk memudahkan
pembelajaran kurva untuk pengguna R baru serta menyediakan alat produktivitas tinggi untuk
pengguna yang lebih mahir. RStudio berjalan pada semua platform utama termasuk
Windows, Mac OS X, dan Linux. Selain aplikasi desktop, RStudio dapat digunakan sebagai
server untuk mengaktifkan akses web ke sesi R yang berjalan pada sistem jarak jauh (J.J.
Allaire 2011).
Perangkat lunak R tergolong ke dalam salah satu jenis open source software yang kerap
digunakan dalam bidang meteorologi, klimatologi, dan sains atmosfer. Penggunaan software
“R” juga bisa digunakan untuk mengekstrak atau pengambilan data, manajemen data
(organizing), penampilan data (visualizing), pemodelan data (modeling), dan aplikasi data
untuk berbagai analisis (performing) (Chamber 2008). Hasil analisis “R” dapat
divisualisasikan dalam berbagai bentuk, baik dalam bentuk grafik maupun tabel
menggunakan coding. Data hasil analisis dalam program ”R” dapat disimpan langsung dalam
direktori yang diinginkan. Kelebihan lainnya adalah software ini mampu melakukan analisis
sederhana seperti analisis varians (ANOVA) data penelitian lapangan (eksperimental)
(Assaad et al. 2014). sampai analisis yang lebih rumit seperti analisis nilai ekstrim,
downscaling model iklim global atau GCM, analisis prakiraan dan peluang. Untuk analisis
yang lebih kompleks, software “R” dapat digunakan untuk interpolasi spasial dan temporal
suhu, curah hujan, dan parameter iklim lainnya, analisis data iklim global, penggabungan data
geostatistik dan remote sensing, analisis runtun waktu (time series) data iklim/cuaca, deteksi
perubahan iklim secara otomatis dan berbagai analisis lainya (Sarvina 2017).

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. Beberapa fungsi dasar R


● Sequence
● If...else...
● Subscript
● Rbind
nama_fungsi <- function(argumen_1, argumen_2, ...) {
tubuh fungsi
}
# Membuat function dengan arguments.
function.baru <- function(a,b,c) {
hasil <- a * b + c
print(hasil)
}
# Memanggil function.
function.baru(5,3,11)
# Call the function by names of the arguments.
function.baru(b = 11, c = 5, a = 3)
# Membuat sequence
a <- seq(0, 1.5, 0.1)
print(a)
b <- seq(from=0.04,by=0.01,length=11)
print(b)
# Membuat subscript.
sesuatu <- c(4, 7, 6, 5, 6, 7)
length(sesuatu)
sesuatu[4]
sesuatu[c(2,3,6)]
sesuatu[-1]

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)

Gambar 1 Screenshot hasil data pengerjaan luas permukaan kubus

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)

Gambar 3 Screenshot hasil data pengerjaan menghitung nilai siswa

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)

Gambar 4 Screenshot hasil data pengerjaan tarif parkir

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

G2401211019 Adi Suwarno Pindah script R ke docs, No. 1, 3, 4, 5

G2401211042 Restu Gendhis S. Screenshoot hasil running, No. 2, 3, 5

G2401211050 Abd. Malik A. Madinu Buat dasar teori, No. 4

G2401211059 Lintang Sekartadji Buat docs, No. 1, 2

12

Anda mungkin juga menyukai