1.8.1 Identifying Data Types

# Mendefinisikan variabel
a <- 42
b <- 3.14
c <- "Hello"
d <- FALSE
e <- c(1, 2, 3)  # List dalam R disebut vektor
f <- list(name = "Alice", age = 25)  # Dictionary di Python = List di R

# Mencetak tipe data
print(paste("Tipe data a:", class(a)))
## [1] "Tipe data a: numeric"
print(paste("Tipe data b:", class(b)))
## [1] "Tipe data b: numeric"
print(paste("Tipe data c:", class(c)))
## [1] "Tipe data c: character"
print(paste("Tipe data d:", class(d)))
## [1] "Tipe data d: logical"
print(paste("Tipe data e:", class(e)))
## [1] "Tipe data e: numeric"
print(paste("Tipe data f:", class(f)))
## [1] "Tipe data f: list"

1.8.2 Variables and Data Manipulation

# Mendefinisikan variabel
x <- 20
y <- 5
text1 <- "Data"
text2 <- "Science"

# 1. Update nilai x dengan menambah 10
x <- x + 10
print(paste("Nilai x setelah ditambah 10:", x))
## [1] "Nilai x setelah ditambah 10: 30"
# 2. Menggabungkan text1 dan text2 menjadi "Data Science"
text_combined <- paste(text1, text2)
print(paste("Teks gabungan:", text_combined))
## [1] "Teks gabungan: Data Science"
# 3. Mengubah teks gabungan menjadi huruf besar
text_upper <- toupper(text_combined)
print(paste("Teks dalam huruf besar:", text_upper))
## [1] "Teks dalam huruf besar: DATA SCIENCE"

1.8.3 Arithmetic Operations

# Mendefinisikan variabel
a <- 15
b <- 4

# Operasi aritmatika dasar
sum_result <- a + b
diff_result <- a - b
prod_result <- a * b
div_result <- a / b
mod_result <- a %% b  # Modulo

# Cetak hasil operasi aritmatika
print(paste("Penjumlahan:", sum_result))
## [1] "Penjumlahan: 19"
print(paste("Pengurangan:", diff_result))
## [1] "Pengurangan: 11"
print(paste("Perkalian:", prod_result))
## [1] "Perkalian: 60"
print(paste("Pembagian:", div_result))
## [1] "Pembagian: 3.75"
print(paste("Modulo:", mod_result))
## [1] "Modulo: 3"
# Pangkat (a^b)
power_result <- a^b
print(paste("a pangkat b:", power_result))
## [1] "a pangkat b: 50625"
# Membuat variabel baru c = a / b dan mengubah ke integer
c <- a / b
c_int <- as.integer(c)
print(paste("c dalam bentuk integer:", c_int))
## [1] "c dalam bentuk integer: 3"

1.8.4 String Operation

# Mendefinisikan variabel
text <- "Hello, Data Science!"

# 1. Mengambil 5 karakter pertama dari text
first_five_chars <- substr(text, 1, 5)
print(paste("5 karakter pertama:", first_five_chars))
## [1] "5 karakter pertama: Hello"
# 2. Menghitung jumlah karakter dalam text
text_length <- nchar(text)
print(paste("Jumlah karakter dalam teks:", text_length))
## [1] "Jumlah karakter dalam teks: 20"
# 3. Mengubah text menjadi huruf kecil
text_lower <- tolower(text)
print(paste("Teks dalam huruf kecil:", text_lower))
## [1] "Teks dalam huruf kecil: hello, data science!"
# ================================
# 1.8.5 Comparison and Logical Operators
# ================================

# Mendefinisikan variabel
x <- 7
y <- 10

# Perbandingan antara x dan y
print(paste("Apakah x > y?", x > y))
## [1] "Apakah x > y? FALSE"
print(paste("Apakah x <= y?", x <= y))
## [1] "Apakah x <= y? TRUE"
print(paste("Apakah x != y?", x != y))
## [1] "Apakah x != y? TRUE"
# Evaluasi ekspresi logika
result <- (x > 5) & (y < 20)
print(paste("Apakah (x > 5) AND (y < 20)?", result))
## [1] "Apakah (x > 5) AND (y < 20)? TRUE"

1.8.6 Data Type Conversion

# Mendefinisikan variabel
num_str <- "123"
num_float <- 45.67

# Konversi num_str ke integer dan tambah 10
num_int <- as.integer(num_str) + 10
print(paste("Hasil konversi num_str ke integer dan ditambah 10:", num_int))
## [1] "Hasil konversi num_str ke integer dan ditambah 10: 133"
# Konversi num_float ke integer
num_float_to_int <- as.integer(num_float)
print(paste("Hasil konversi num_float ke integer:", num_float_to_int))
## [1] "Hasil konversi num_float ke integer: 45"
# Konversi hasil num_float_to_int kembali ke string
num_back_to_str <- as.character(num_float_to_int)
print(paste("Hasil konversi integer kembali ke string:", num_back_to_str))
## [1] "Hasil konversi integer kembali ke string: 45"

1.8.5 Comparison and Logical Operators

# Mendefinisikan variabel
x <- 7
y <- 10

# Perbandingan antara x dan y
print(paste("Apakah x > y?", x > y))
## [1] "Apakah x > y? FALSE"
print(paste("Apakah x <= y?", x <= y))
## [1] "Apakah x <= y? TRUE"
print(paste("Apakah x != y?", x != y))
## [1] "Apakah x != y? TRUE"
# Evaluasi ekspresi logika
result <- (x > 5) & (y < 20)
print(paste("Apakah (x > 5) AND (y < 20)?", result))
## [1] "Apakah (x > 5) AND (y < 20)? TRUE"