Basic Programming

Data Science Programming

Chello Frhino Mike M (52240031)

February 20, 2025

1 PRAKTIKUM DATA SCIENCE PROGRAMMING 1

1.1 IDENTIFIKASI TIPE DATA

  1. Identifikasi tipe data dari variabel yang ada.
  2. print tipe data di R menggunakan class().
a <- 42
b <- 3.14
c <- "Hello"
d <- FALSE
e <- list(1, 2, 3)
f <- list(name = "Alice", age = 25)  # Menggunakan list untuk menyimpan key-value

# menggunakan class() untuk mengidentifikasi tipe data
print(class(a)) 
## [1] "numeric"
print(class(b))
## [1] "numeric"
print(class(c))
## [1] "character"
print(class(d))
## [1] "logical"
print(class(e))
## [1] "list"
print(class(f))
## [1] "list"

1.2 VARIABEL DAN MANIPULASI DATA

  1. perbarui nilai x dengan ditambah 10.
  2. gabungkan text1 dan text2 menjadi “Data Science”.
  3. ubah teks yang digabungkan menjadi huruf besar/kapital.
x <- 20
y <- 5  
text1 <- "Data"
text2 <- "Science" 

x <- x + 10
print(x)
## [1] 30
# Menggabungkan string menggunakan paste()
print(paste0(text1, text2))  
## [1] "DataScience"
# Mengubah ke huruf besar dengan toupper()
print(toupper(paste0(text1, text2)))  
## [1] "DATASCIENCE"

1.3 OPERASI ARITMATIKA

  1. hitung jumlah, selisih, produk, pembagian, modulo dari a dan b.
  2. hitung a dipangkatkan dengan b.
  3. buat variabel baru c=a/b lalu konversi menjadi integer
a <- 15
b <- 4

print(a + b)  # Penjumlahan
## [1] 19
print(a - b)  # Pengurangan
## [1] 11
print(a * b)  # Perkalian
## [1] 60
print(a / b)  # Pembagian
## [1] 3.75
print(a %% b) # Modulus (sisa bagi)
## [1] 3
print(a ^ b)  # Pangkat
## [1] 50625
c <- a / b
print(as.integer(c))  # Konversi ke bilangan bulat
## [1] 3

1.4 OPERASI STRING

  1. ekstrak 5 karakter pertama dari text.
  2. hitung jumlah karakter dalam text
  3. konversi text menjadi huruf kecil.
text <- "Hello, Data Science!"

# Mengambil 5 karakter pertama (R menggunakan substr)
print(substr(text, 1, 5))
## [1] "Hello"
# Menghitung jumlah karakter dalam teks
print(nchar(text))
## [1] 20
# Konversi ke huruf kecil
print(tolower(text))
## [1] "hello, data science!"

1.5 OPERATOR LOGIKA DAN PERBANDINGAN

  1. cek x lebih besar daripada y
  2. cek jika x kurang dari sama dengan y
  3. cek jika x tidak sama dengan y
  4. evaluasi (x>5) AND (y<20)
x <- 7
y <- 10

# Cek apakah x lebih besar dari y
print(x > y)
## [1] FALSE
# Cek apakah x kurang dari atau sama dengan y
print(x <= y)
## [1] TRUE
# Cek apakah x tidak sama dengan y
print(x != y)
## [1] TRUE
# Evaluasi (x > 5) AND (y < 20)
print((x > 5) & (y < 20))  # Menggunakan '&' untuk AND dalam kondisi logika
## [1] TRUE

1.6 KONVERSI TIPE DATA

  1. ubah string ke integer lalu ditambah 10.
  2. ubah float ke integer.
  3. ubah float kembali jadi string
num_str <- "123"
num_float <- 45.67

# Konversi string ke integer dan tambahkan 10
print(as.integer(num_str) + 10)
## [1] 133
# Konversi float (numeric) ke integer
print(as.integer(num_float))
## [1] 45
# Konversi float (numeric) ke string
print(as.character(num_float))
## [1] "45.67"

1.7 BONUS

interactive program that asks the user to input:

  1. name

  2. age

  3. hometown

# Meminta input dari pengguna
name <- readline("Enter your name: ")
## Enter your name:
age <- readline("Enter your age: ")
## Enter your age:
hometown <- readline("Enter your hometown: ")
## Enter your hometown:
# Menampilkan hasil dengan sprintf()
message <- sprintf("Hello %s, you are %s years old and from %s.", name, age, hometown)
print(message)
## [1] "Hello , you are  years old and from ."
LS0tDQp0aXRsZTogIkJhc2ljIFByb2dyYW1taW5nIg0Kc3VidGl0bGU6ICJEYXRhIFNjaWVuY2UgUHJvZ3JhbW1pbmciDQphdXRob3I6IA0KICAtICJDaGVsbG8gRnJoaW5vIE1pa2UgTSAoNTIyNDAwMzEpIg0KZGF0ZTogICJgciBmb3JtYXQoU3lzLkRhdGUoKSwgJyVCICVkLCAlWScpYCINCm91dHB1dDoNCiAgcm1kZm9ybWF0czo6ZG93bmN1dGU6ICAgIyBodHRwczovL2dpdGh1Yi5jb20vanViYS9ybWRmb3JtYXRzDQogICAgc2VsZl9jb250YWluZWQ6IHRydWUNCiAgICB0aHVtYm5haWxzOiB0cnVlDQogICAgbGlnaHRib3g6IHRydWUNCiAgICBnYWxsZXJ5OiB0cnVlDQogICAgbnVtYmVyX3NlY3Rpb25zOiB0cnVlDQogICAgbGliX2RpcjogbGlicw0KICAgIGRmX3ByaW50OiAicGFnZWQiDQogICAgY29kZV9mb2xkaW5nOiAic2hvdyINCiAgICBjb2RlX2Rvd25sb2FkOiB5ZXMNCiAgICANCi0tLQ0KDQo8c3R5bGU+DQogIGJvZHkgew0KICAgIHRleHQtYWxpZ246IGp1c3RpZnk7DQogICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7DQogICAgb3ZlcmZsb3cteDogYXV0bzsNCiAgICBmb250LWZhbWlseTogY3Vyc2l2ZTsNCiAgfQ0KPC9zdHlsZT4NCg0KIyBQUkFLVElLVU0gREFUQSBTQ0lFTkNFIFBST0dSQU1NSU5HIDENCg0KIyMgSURFTlRJRklLQVNJIFRJUEUgREFUQQ0KMS4gSWRlbnRpZmlrYXNpIHRpcGUgZGF0YSBkYXJpIHZhcmlhYmVsIHlhbmcgYWRhLg0KMi4gcHJpbnQgdGlwZSBkYXRhIGRpIFIgbWVuZ2d1bmFrYW4gKmNsYXNzKCkqLg0KDQpgYGB7cn0NCmEgPC0gNDINCmIgPC0gMy4xNA0KYyA8LSAiSGVsbG8iDQpkIDwtIEZBTFNFDQplIDwtIGxpc3QoMSwgMiwgMykNCmYgPC0gbGlzdChuYW1lID0gIkFsaWNlIiwgYWdlID0gMjUpICAjIE1lbmdndW5ha2FuIGxpc3QgdW50dWsgbWVueWltcGFuIGtleS12YWx1ZQ0KDQojIG1lbmdndW5ha2FuIGNsYXNzKCkgdW50dWsgbWVuZ2lkZW50aWZpa2FzaSB0aXBlIGRhdGENCnByaW50KGNsYXNzKGEpKSANCnByaW50KGNsYXNzKGIpKQ0KcHJpbnQoY2xhc3MoYykpDQpwcmludChjbGFzcyhkKSkNCnByaW50KGNsYXNzKGUpKQ0KcHJpbnQoY2xhc3MoZikpDQoNCmBgYA0KIyMgVkFSSUFCRUwgREFOIE1BTklQVUxBU0kgREFUQQ0KMS4gcGVyYmFydWkgbmlsYWkgeCBkZW5nYW4gZGl0YW1iYWggMTAuDQoyLiBnYWJ1bmdrYW4gKnRleHQxKiBkYW4gKnRleHQyKiBtZW5qYWRpICJEYXRhIFNjaWVuY2UiLg0KMy4gdWJhaCB0ZWtzIHlhbmcgZGlnYWJ1bmdrYW4gbWVuamFkaSBodXJ1ZiBiZXNhci9rYXBpdGFsLg0KDQpgYGB7cn0NCnggPC0gMjANCnkgPC0gNSAgDQp0ZXh0MSA8LSAiRGF0YSINCnRleHQyIDwtICJTY2llbmNlIiANCg0KeCA8LSB4ICsgMTANCnByaW50KHgpDQoNCiMgTWVuZ2dhYnVuZ2thbiBzdHJpbmcgbWVuZ2d1bmFrYW4gcGFzdGUoKQ0KcHJpbnQocGFzdGUwKHRleHQxLCB0ZXh0MikpICANCg0KIyBNZW5ndWJhaCBrZSBodXJ1ZiBiZXNhciBkZW5nYW4gdG91cHBlcigpDQpwcmludCh0b3VwcGVyKHBhc3RlMCh0ZXh0MSwgdGV4dDIpKSkgIA0KDQpgYGANCiMjIE9QRVJBU0kgQVJJVE1BVElLQQ0KMS4gaGl0dW5nIGp1bWxhaCwgc2VsaXNpaCwgcHJvZHVrLCBwZW1iYWdpYW4sIG1vZHVsbyBkYXJpIGEgZGFuIGIuDQoyLiBoaXR1bmcgYSBkaXBhbmdrYXRrYW4gZGVuZ2FuIGIuDQozLiBidWF0IHZhcmlhYmVsIGJhcnUgKmM9YS9iKiBsYWx1IGtvbnZlcnNpIG1lbmphZGkgaW50ZWdlcg0KDQpgYGB7cn0NCmEgPC0gMTUNCmIgPC0gNA0KDQpwcmludChhICsgYikgICMgUGVuanVtbGFoYW4NCnByaW50KGEgLSBiKSAgIyBQZW5ndXJhbmdhbg0KcHJpbnQoYSAqIGIpICAjIFBlcmthbGlhbg0KcHJpbnQoYSAvIGIpICAjIFBlbWJhZ2lhbg0KcHJpbnQoYSAlJSBiKSAjIE1vZHVsdXMgKHNpc2EgYmFnaSkNCnByaW50KGEgXiBiKSAgIyBQYW5na2F0DQoNCmMgPC0gYSAvIGINCnByaW50KGFzLmludGVnZXIoYykpICAjIEtvbnZlcnNpIGtlIGJpbGFuZ2FuIGJ1bGF0DQoNCmBgYA0KIyMgT1BFUkFTSSBTVFJJTkcNCjEuIGVrc3RyYWsgNSBrYXJha3RlciBwZXJ0YW1hIGRhcmkgdGV4dC4NCjIuIGhpdHVuZyBqdW1sYWgga2FyYWt0ZXIgZGFsYW0gdGV4dA0KMy4ga29udmVyc2kgdGV4dCBtZW5qYWRpIGh1cnVmIGtlY2lsLg0KDQpgYGB7cn0NCnRleHQgPC0gIkhlbGxvLCBEYXRhIFNjaWVuY2UhIg0KDQojIE1lbmdhbWJpbCA1IGthcmFrdGVyIHBlcnRhbWEgKFIgbWVuZ2d1bmFrYW4gc3Vic3RyKQ0KcHJpbnQoc3Vic3RyKHRleHQsIDEsIDUpKQ0KDQojIE1lbmdoaXR1bmcganVtbGFoIGthcmFrdGVyIGRhbGFtIHRla3MNCnByaW50KG5jaGFyKHRleHQpKQ0KDQojIEtvbnZlcnNpIGtlIGh1cnVmIGtlY2lsDQpwcmludCh0b2xvd2VyKHRleHQpKQ0KDQpgYGANCg0KIyMgT1BFUkFUT1IgTE9HSUtBIERBTiBQRVJCQU5ESU5HQU4NCjEuIGNlayAqeCogbGViaWggYmVzYXIgZGFyaXBhZGEgKnkqDQoyLiBjZWsgamlrYSAqeCoga3VyYW5nIGRhcmkgc2FtYSBkZW5nYW4gKnkqDQozLiBjZWsgamlrYSAqeCogdGlkYWsgc2FtYSBkZW5nYW4gKnkqDQo0LiBldmFsdWFzaSAoeD41KSBBTkQgKHk8MjApDQpgYGB7cn0NCnggPC0gNw0KeSA8LSAxMA0KDQojIENlayBhcGFrYWggeCBsZWJpaCBiZXNhciBkYXJpIHkNCnByaW50KHggPiB5KQ0KDQojIENlayBhcGFrYWggeCBrdXJhbmcgZGFyaSBhdGF1IHNhbWEgZGVuZ2FuIHkNCnByaW50KHggPD0geSkNCg0KIyBDZWsgYXBha2FoIHggdGlkYWsgc2FtYSBkZW5nYW4geQ0KcHJpbnQoeCAhPSB5KQ0KDQojIEV2YWx1YXNpICh4ID4gNSkgQU5EICh5IDwgMjApDQpwcmludCgoeCA+IDUpICYgKHkgPCAyMCkpICAjIE1lbmdndW5ha2FuICcmJyB1bnR1ayBBTkQgZGFsYW0ga29uZGlzaSBsb2dpa2ENCg0KYGBgDQoNCiMjIEtPTlZFUlNJIFRJUEUgREFUQQ0KMS4gdWJhaCBzdHJpbmcga2UgaW50ZWdlciBsYWx1IGRpdGFtYmFoIDEwLg0KMi4gdWJhaCBmbG9hdCBrZSBpbnRlZ2VyLg0KMy4gdWJhaCBmbG9hdCBrZW1iYWxpIGphZGkgc3RyaW5nDQpgYGB7cn0NCm51bV9zdHIgPC0gIjEyMyINCm51bV9mbG9hdCA8LSA0NS42Nw0KDQojIEtvbnZlcnNpIHN0cmluZyBrZSBpbnRlZ2VyIGRhbiB0YW1iYWhrYW4gMTANCnByaW50KGFzLmludGVnZXIobnVtX3N0cikgKyAxMCkNCg0KIyBLb252ZXJzaSBmbG9hdCAobnVtZXJpYykga2UgaW50ZWdlcg0KcHJpbnQoYXMuaW50ZWdlcihudW1fZmxvYXQpKQ0KDQojIEtvbnZlcnNpIGZsb2F0IChudW1lcmljKSBrZSBzdHJpbmcNCnByaW50KGFzLmNoYXJhY3RlcihudW1fZmxvYXQpKQ0KDQpgYGANCg0KIyMgQk9OVVMNCmludGVyYWN0aXZlIHByb2dyYW0gdGhhdCBhc2tzIHRoZSB1c2VyIHRvIGlucHV0Og0KDQoxLiBuYW1lDQoNCjIuIGFnZQ0KDQozLiBob21ldG93bg0KYGBge3J9DQojIE1lbWludGEgaW5wdXQgZGFyaSBwZW5nZ3VuYQ0KbmFtZSA8LSByZWFkbGluZSgiRW50ZXIgeW91ciBuYW1lOiAiKQ0KYWdlIDwtIHJlYWRsaW5lKCJFbnRlciB5b3VyIGFnZTogIikNCmhvbWV0b3duIDwtIHJlYWRsaW5lKCJFbnRlciB5b3VyIGhvbWV0b3duOiAiKQ0KDQojIE1lbmFtcGlsa2FuIGhhc2lsIGRlbmdhbiBzcHJpbnRmKCkNCm1lc3NhZ2UgPC0gc3ByaW50ZigiSGVsbG8gJXMsIHlvdSBhcmUgJXMgeWVhcnMgb2xkIGFuZCBmcm9tICVzLiIsIG5hbWUsIGFnZSwgaG9tZXRvd24pDQpwcmludChtZXNzYWdlKQ0KDQpgYGANCg0KDQoNCg==