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

`