Pemrograman
Pemrograman Dasar
Identifikasi Tipe Data
Menentukan tipe data variable berikut dalam R:
a = 42
b = 3.14
c = “Hello”
d = FALSE
e = [1, 2, 3]
f = {“Name”:“Alice”, “age”:25}
Identifikasi lalu cetak menggunakan class ().
# Mendefinisikan variabel
a <- 42 # Integer (Bilangan bulat)
a <- as.integer(42)
b <- 3.14 # Numeric (Angka desimal)
c <- "Hello" # Character (Teks)
d <- FALSE # Logical (Boolean)
e <- c(1, 2, 3) # Numeric (Vektor angka)
f <- list("Name" = "Alice", "age" = 25) # List (Kumpulan elemen dengan tipe berbeda)
# Mencetak tipe data tiap variabel
cat(
"Tipe data a:", class(a), "\n", # Integer
"Tipe data b:", class(b), "\n", # Numeric
"Tipe data c:", class(c), "\n", # Character
"Tipe data d:", class(d), "\n", # Logical
"Tipe data e:", class(e), "\n", # Numeric
"Tipe data f:", class(f), "\n" # List
)## Tipe data a: integer
## Tipe data b: numeric
## Tipe data c: character
## Tipe data d: logical
## Tipe data e: numeric
## Tipe data f: list
Variabel dan Manipulasi Data
Mendefinisikan variabel berikut dalam R:
x = 20
y = 5
text1= “Data”
text2= “Science”
Memperbarui nilai x dengan menambahkan 10.
Menggabungkan text1 dan text2 ke dalam “Data Science”.
Mengubah teks gabungan menjadi huruf besar.
# Mendefinisikan variabel
x <- 20
y <- 5
text1 <- "Data"
text2 <- "Science"
# Menggunakan operator langsung
x <- x + 10 # Perbarui nilai x dengan menambahkan 10
combined_text <- paste(text1, text2) # Gabungkan text1 dan text2
uppercase_text <- toupper(combined_text) # Mengubah teks menjadi huruf besar
cat(
"Nilai x:", x, "\n",
"Teks gabungan:", combined_text, "\n",
"Teks huruf besar:", uppercase_text, "\n"
)## Nilai x: 30
## Teks gabungan: Data Science
## Teks huruf besar: DATA SCIENCE
Operasi Aritmatika
Mengingat variable-variable berikut:
a = 15
b = 4
- Menghitung jumlah, selisih, perkalian, pembagian, dan modulo dari a dan b.
- Menghitung a pangkat b.
- Membuat variable baru c = a / b dan ubah menjadi integer.
# Mendefinisikan variabel
a <- 15
b <- 4
# Operasi Aritmatika
jumlah <- a + b # Menambahkan dua angka
selisih <- a - b # Mengurangi satu angka dari angka lainnya
perkalian <- a * b # Mengalikan dua angka
pembagian <- a / b # Membagi satu angka dengan angka yang lainnya
modulo <- a %% b # Mengembalikan sisa pembagian
pangkat <- a ^ b # a pangkat b
# Membuat variabel baru dan mengonversinya menjadi integer
c <- a / b
c_int <- as.integer(c) # Mengubah menjadi integer
# Menampilkan hasil
cat(
"Jumlah dari a dan b:", jumlah, "\n",
"Selisih dari a dan b:", selisih, "\n",
"Perkalian dari a dan b:", perkalian, "\n",
"Pembagian dari a dan b:", pembagian, "\n",
"Modulo dari a dan b:", modulo, "\n",
"Pangkat dari a pangkat b:", pangkat, "\n",
"Variabel baru c sebagai float:", c, "\n",
"Variabel baru c sebagai integer:", c_int, "\n"
)## Jumlah dari a dan b: 19
## Selisih dari a dan b: 11
## Perkalian dari a dan b: 60
## Pembagian dari a dan b: 3.75
## Modulo dari a dan b: 3
## Pangkat dari a pangkat b: 50625
## Variabel baru c sebagai float: 3.75
## Variabel baru c sebagai integer: 3
Operasi String
text = “Hello, Data Science!”
- Ekstrak 5 karakter pertama dari teks.
- Menghitung jumlah karakter dalam teks.
- Mengubah teks menjadi huruf kecil.
# Mendefinisikan data text
text <- "Hello, Data Science!"
karakter_pertama <- substr(text, 1, 5) # Ekstrak 5 karakter pertama
jumlah_karakter <- nchar(text) # Menghitung jumlah karakter dalam teks
teks_kecil <- tolower(text) # Mengubah teks menjadi huruf kecil
# Menampilkan hasil
cat(
"5 karakter pertama:", karakter_pertama, "\n",
"Jumlah karakter:", jumlah_karakter, "\n",
"Teks dalam huruf kecil:", teks_kecil, "\n"
)## 5 karakter pertama: Hello
## Jumlah karakter: 20
## Teks dalam huruf kecil: hello, data science!
Operasi Perbandingan Dan Logika
Mengingat variable-variable berikut:
x = 7
y = 10
- Memeriksa apakah x lebih besar dari y.
- Memeriksa apakah x kurang dari atau sama dengan y**.
- Memeriksa apakah x tidak sama dengan y.
- Mengevaluasi ekspresi ( x > 5 ) AND ( y < 20 )
# Mendefinisikan variabel
x <- 7
y <- 10
# Operator Perbandingan
hasil_x_lebih_dari_y <- x > y # False
hasil_x_kurang_sama_y <- x <= y # True (x kurang dari y)
hasil_x_tidak_sama_y <- x != y # True
# Operator Logika
hasil_logika <- (x > 5) & (y < 20) # True
# Menampilkan hasil
cat(
"Apakah x lebih besar dari y?", hasil_x_lebih_dari_y, "\n",
"Apakah x kurang dari atau sama dengan y?", hasil_x_kurang_sama_y, "\n",
"Apakah x tidak sama dengan y?", hasil_x_tidak_sama_y, "\n",
"Evaluasi (x > 5) AND (y < 20):", hasil_logika, "\n"
)## Apakah x lebih besar dari y? FALSE
## Apakah x kurang dari atau sama dengan y? TRUE
## Apakah x tidak sama dengan y? TRUE
## Evaluasi (x > 5) AND (y < 20): TRUE
Konversi Tipe Data
Mengingat variable-variable berikut:
num_str= “123”
num_float= 45.67
- Mengubah num_str ke bilangan bulat dan tambahkan 10.
- Mengubah num_float ke bilangan bulat.
- Mengonversi num_float kembali menjadi string.
# Mendefinisikan variabel
num_str <- "123"
num_float <- 45.67
# Mengubah num_str ke bilangan bulat (integer) dan menambahkan 10
num_int <- as.integer(num_str)
# Mengubah num_float ke bilangan bulat (integer)
num_int_float <- as.integer(num_float)
# Mengonversi num_float kembali menjadi string
num_str_float <- as.character(num_float)
# Menampilkan hasil
cat(
"Hasil num_str setelah dikonversi ke integer dan ditambah 10:", num_int + 10, "\n",
"Hasil num_float setelah dikonversi ke integer:", num_int_float, "\n",
"Hasil num_float setelah dikonversi menjadi string:", num_str_float, "\n"
)## Hasil num_str setelah dikonversi ke integer dan ditambah 10: 133
## Hasil num_float setelah dikonversi ke integer: 45
## Hasil num_float setelah dikonversi menjadi string: 45.67
Tantangan Bonus
Membuat program interaktif yang meminta pengguna untuk memasukkan:
1. Nama
2. Usia
3. Kota kelahiran
Kemudian, cetak output sebagai berikut:
“Hello [Name], you are [Age] years old and from [Hometown]”
# Menggunakan parameter yang didefinisikan di YAML
name <- params$name
age <- params$age
hometown <- params$hometown
# Menampilkan output
cat("Hello", name, ", you are", age, "years old and from", hometown, "\n")## Hello Rachelia Bevina , you are 18 years old and from Jakarta
`