Praktikum

Pemrograman Sains Data I

1. Mengidentifikasi Tipe Data

Pertanyaan:

  1. Identifikasi tipe data setiap variabel di atas.

  2. Cetak tipe data setiap variabel menggunakan type() (Python) dan class() (R).

a <- 42
b <- 3.14
c <- "Hello"
d <- FALSE
e <- c(1, 2, 3)
f <- list(name = "Alice", age = 25)

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

2. Variabel dan Manipulasi Data

Pertanyaan:

  1. Perbarui nilai x dengan menambahkan 10.

  2. Gabungkan text1 dan text2 ke dalam “Data Science”.

  3. Mengubah teks gabungan menjadi huruf besar.

x <- 20
y <- 5  
text1 <- "Data"
text2 <- "Science" 

# Perbarui nilai x dengan menambahkan 10
x <- x + 10
print(x)
## [1] 30
# Gabungkan text1 dan text2 ke dalam "Data Science".
text3 <- paste(text1, text2)
print(text3)
## [1] "Data Science"
# Mengubah teks gabungan menjadi huruf besar.
print(toupper(text3))
## [1] "DATA SCIENCE"

3. Operasi Aritmatika

Pertanyaan:

  1. Hitunglah jumlah, selisih, produk, pembagian, dan modulo dari a dan b.

  2. Hitunglah a pangkat b.

  3. Buat variabel baru c a / b dan ubah menjadi integer.

a <- 15
b <- 4

# Hitung jumlah, selisih, produk, pembagian, dan modulo
cat(sprintf("Penjumlahan dari %d + %d = %d\n", a, b, a + b))
## Penjumlahan dari 15 + 4 = 19
cat(sprintf("Selisih dari %d - %d = %d\n", a, b, a - b))
## Selisih dari 15 - 4 = 11
cat(sprintf("Produk dari %d x %d = %d\n", a, b, a * b))
## Produk dari 15 x 4 = 60
cat(sprintf("Pembagian dari %d / %d = %.2f\n", a, b, a / b))
## Pembagian dari 15 / 4 = 3.75
cat(sprintf("Modulo dari %d %% %d = %d\n\n", a, b, a %% b)) # Modulo dalam R pakai %% 
## Modulo dari 15 % 4 = 3
# Hitung a pangkat b
cat(sprintf("Hasil dari %d pangkat %d = %d\n\n", a, b, a^b))  # Pangkat dalam R pakai ^
## Hasil dari 15 pangkat 4 = 50625
# Buat variabel baru c dari a / b dan ubah menjadi integer
c <- as.integer(a / b)
print(c)
## [1] 3

4. Operasi String

Pertanyaan:

  1. Ekstrak 5 karakter pertama dari teks.

  2. Hitung jumlah karakter dalam teks.

  3. Mengubah teks menjadi huruf kecil.

text <- "Hello, Data Science!"

# Ekstrak 5 karakter pertama dari teks.
print(substr(text, 1, 5))
## [1] "Hello"
# Hitung jumlah karakter dalam teks.
print(nchar(text))
## [1] 20
# Mengubah teks menjadi huruf kecil.
print(tolower(text))
## [1] "hello, data science!"

5. Operator Perbandingan dan Logika

Pertanyaan:

  1. Periksa apakah x lebih besar dari y.

  2. Periksa apakah x kurang dari atau sama dengan y.

  3. Periksa apakah x tidak sama dengan y.

  4. Evaluasilah ekspresi (x > 5) AND (y < 20).

x <- 7
y <- 10

# Periksa apakah x lebih besar dari y.
print(x > y)
## [1] FALSE
# Periksa apakah x kurang dari atau sama dengan y.
print(x <= y)
## [1] TRUE
# Periksa apakah x tidak sama dengan y.
print(x != y)
## [1] TRUE
# Evaluasilah ekspresi (x > 5) AND (y < 20).
print((x > 5) & (y < 20))
## [1] TRUE

6. Konversi Tipe Data

Pertanyaan:

  1. Ubah num_str ke bilangan bulat dan tambahkan 10.

  2. Ubah num_float ke bilangan bulat.

  3. Mengonversi num_float kembali menjadi string.

num_str <- "123"
num_float <- 45.67

# Ubah num_str ke bilangan bulat dan tambahkan 10.
print(as.numeric(num_str) + 10)
## [1] 133
# Ubah num_float ke bilangan bulat.
print(as.integer(num_float))
## [1] 45
# Mengonversi num_float kembali menjadi string.
print(as.character(num_float))
## [1] "45.67"

Bonus

# Meminta input dari pengguna
print("Masukan Data Diri Anda:")
## [1] "Masukan Data Diri Anda:"
nama <- readline(prompt = "Nama: ")
## Nama:
usia <- readline("Usia: ")
## Usia:
kota <- readline("Kota Kelahiran: ")
## Kota Kelahiran:
# Cetak output
cat(sprintf("Hello %s, you are %s years old and from %s.\n", nama, usia, kota))
## Hello , you are  years old and from .
LS0tDQp0aXRsZTogIlByYWt0aWt1bSINCnN1YnRpdGxlOiAiUGVtcm9ncmFtYW4gU2FpbnMgRGF0YSBJIg0KYXV0aG9yOiAiSk9BTlMgSEVOS1kgU0VSVkFUSVVTIFNJTUFOVUxMQU5HIg0KZGF0ZTogImByIGZvcm1hdChTeXMuRGF0ZSgpLCAnJUIgJWQsICVZJylgIg0Kb3V0cHV0Og0KICBybWRmb3JtYXRzOjpyZWFkdGhlZG93bjoNCiAgICBzZWxmX2NvbnRhaW5lZDogdHJ1ZQ0KICAgIHRodW1ibmFpbHM6IHRydWUNCiAgICBsaWdodGJveDogdHJ1ZQ0KICAgIGdhbGxlcnk6IHRydWUNCiAgICBsaWJfZGlyOiBsaWJzDQogICAgZGZfcHJpbnQ6ICJwYWdlZCINCiAgICBjb2RlX2ZvbGRpbmc6ICJzaG93Ig0KICAgIGNvZGVfZG93bmxvYWQ6IHllcw0KICAgIGNzczogInN0eWxlIDEuY3NzIg0KLS0tDQoNCiMjIDEuIE1lbmdpZGVudGlmaWthc2kgVGlwZSBEYXRhDQoNClBlcnRhbnlhYW46DQoNCjEuIElkZW50aWZpa2FzaSB0aXBlIGRhdGEgc2V0aWFwIHZhcmlhYmVsIGRpIGF0YXMuDQoNCjIuIENldGFrIHRpcGUgZGF0YSBzZXRpYXAgdmFyaWFiZWwgbWVuZ2d1bmFrYW4gdHlwZSgpIChQeXRob24pIGRhbiBjbGFzcygpIChSKS4NCg0KYGBge3J9DQphIDwtIDQyDQpiIDwtIDMuMTQNCmMgPC0gIkhlbGxvIg0KZCA8LSBGQUxTRQ0KZSA8LSBjKDEsIDIsIDMpDQpmIDwtIGxpc3QobmFtZSA9ICJBbGljZSIsIGFnZSA9IDI1KQ0KDQojIENldGFrIHRpcGUgZGF0YSBtZW5nZ3VuYWthbiBjbGFzcygpDQpwcmludChjbGFzcyhhKSkgIA0KcHJpbnQoY2xhc3MoYikpIA0KcHJpbnQoY2xhc3MoYykpIA0KcHJpbnQoY2xhc3MoZCkpICANCnByaW50KGNsYXNzKGUpKSAgDQpwcmludChjbGFzcyhmKSkNCg0KYGBgDQoNCiMjIDIuIFZhcmlhYmVsIGRhbiBNYW5pcHVsYXNpIERhdGENCg0KUGVydGFueWFhbjoNCg0KMS4gUGVyYmFydWkgbmlsYWkgeCBkZW5nYW4gbWVuYW1iYWhrYW4gMTAuDQoNCjIuIEdhYnVuZ2thbiB0ZXh0MSBkYW4gdGV4dDIga2UgZGFsYW0gIkRhdGEgU2NpZW5jZSIuDQoNCjMuIE1lbmd1YmFoIHRla3MgZ2FidW5nYW4gbWVuamFkaSBodXJ1ZiBiZXNhci4NCg0KYGBge3J9DQp4IDwtIDIwDQp5IDwtIDUgIA0KdGV4dDEgPC0gIkRhdGEiDQp0ZXh0MiA8LSAiU2NpZW5jZSIgDQoNCiMgUGVyYmFydWkgbmlsYWkgeCBkZW5nYW4gbWVuYW1iYWhrYW4gMTANCnggPC0geCArIDEwDQpwcmludCh4KQ0KDQojIEdhYnVuZ2thbiB0ZXh0MSBkYW4gdGV4dDIga2UgZGFsYW0gIkRhdGEgU2NpZW5jZSIuDQp0ZXh0MyA8LSBwYXN0ZSh0ZXh0MSwgdGV4dDIpDQpwcmludCh0ZXh0MykNCg0KIyBNZW5ndWJhaCB0ZWtzIGdhYnVuZ2FuIG1lbmphZGkgaHVydWYgYmVzYXIuDQpwcmludCh0b3VwcGVyKHRleHQzKSkNCmBgYA0KDQojIyAzLiBPcGVyYXNpIEFyaXRtYXRpa2ENCg0KUGVydGFueWFhbjoNCg0KMS4gSGl0dW5nbGFoIGp1bWxhaCwgc2VsaXNpaCwgcHJvZHVrLCBwZW1iYWdpYW4sIGRhbiBtb2R1bG8gZGFyaSBhIGRhbiBiLg0KDQoyLiBIaXR1bmdsYWggYSBwYW5na2F0IGIuDQoNCjMuIEJ1YXQgdmFyaWFiZWwgYmFydSBjIGEgLyBiIGRhbiB1YmFoIG1lbmphZGkgaW50ZWdlci4NCg0KYGBge3J9DQphIDwtIDE1DQpiIDwtIDQNCg0KIyBIaXR1bmcganVtbGFoLCBzZWxpc2loLCBwcm9kdWssIHBlbWJhZ2lhbiwgZGFuIG1vZHVsbw0KY2F0KHNwcmludGYoIlBlbmp1bWxhaGFuIGRhcmkgJWQgKyAlZCA9ICVkXG4iLCBhLCBiLCBhICsgYikpDQpjYXQoc3ByaW50ZigiU2VsaXNpaCBkYXJpICVkIC0gJWQgPSAlZFxuIiwgYSwgYiwgYSAtIGIpKQ0KY2F0KHNwcmludGYoIlByb2R1ayBkYXJpICVkIHggJWQgPSAlZFxuIiwgYSwgYiwgYSAqIGIpKQ0KY2F0KHNwcmludGYoIlBlbWJhZ2lhbiBkYXJpICVkIC8gJWQgPSAlLjJmXG4iLCBhLCBiLCBhIC8gYikpDQpjYXQoc3ByaW50ZigiTW9kdWxvIGRhcmkgJWQgJSUgJWQgPSAlZFxuXG4iLCBhLCBiLCBhICUlIGIpKSAjIE1vZHVsbyBkYWxhbSBSIHBha2FpICUlIA0KDQojIEhpdHVuZyBhIHBhbmdrYXQgYg0KY2F0KHNwcmludGYoIkhhc2lsIGRhcmkgJWQgcGFuZ2thdCAlZCA9ICVkXG5cbiIsIGEsIGIsIGFeYikpICAjIFBhbmdrYXQgZGFsYW0gUiBwYWthaSBeDQoNCiMgQnVhdCB2YXJpYWJlbCBiYXJ1IGMgZGFyaSBhIC8gYiBkYW4gdWJhaCBtZW5qYWRpIGludGVnZXINCmMgPC0gYXMuaW50ZWdlcihhIC8gYikNCnByaW50KGMpDQpgYGANCg0KIyMgNC4gT3BlcmFzaSBTdHJpbmcNCg0KUGVydGFueWFhbjoNCg0KMS4gRWtzdHJhayA1IGthcmFrdGVyIHBlcnRhbWEgZGFyaSB0ZWtzLg0KDQoyLiBIaXR1bmcganVtbGFoIGthcmFrdGVyIGRhbGFtIHRla3MuDQoNCjMuIE1lbmd1YmFoIHRla3MgbWVuamFkaSBodXJ1ZiBrZWNpbC4NCg0KYGBge3J9DQp0ZXh0IDwtICJIZWxsbywgRGF0YSBTY2llbmNlISINCg0KIyBFa3N0cmFrIDUga2FyYWt0ZXIgcGVydGFtYSBkYXJpIHRla3MuDQpwcmludChzdWJzdHIodGV4dCwgMSwgNSkpDQoNCiMgSGl0dW5nIGp1bWxhaCBrYXJha3RlciBkYWxhbSB0ZWtzLg0KcHJpbnQobmNoYXIodGV4dCkpDQoNCiMgTWVuZ3ViYWggdGVrcyBtZW5qYWRpIGh1cnVmIGtlY2lsLg0KcHJpbnQodG9sb3dlcih0ZXh0KSkNCg0KYGBgDQoNCiMjIDUuIE9wZXJhdG9yIFBlcmJhbmRpbmdhbiBkYW4gTG9naWthDQoNClBlcnRhbnlhYW46DQoNCjEuIFBlcmlrc2EgYXBha2FoIHggbGViaWggYmVzYXIgZGFyaSB5Lg0KDQoyLiBQZXJpa3NhIGFwYWthaCB4IGt1cmFuZyBkYXJpIGF0YXUgc2FtYSBkZW5nYW4geS4NCg0KMy4gUGVyaWtzYSBhcGFrYWggeCB0aWRhayBzYW1hIGRlbmdhbiB5Lg0KDQo0LiBFdmFsdWFzaWxhaCBla3NwcmVzaSAoeCA+IDUpIEFORCAoeSA8IDIwKS4NCg0KYGBge3J9DQp4IDwtIDcNCnkgPC0gMTANCg0KIyBQZXJpa3NhIGFwYWthaCB4IGxlYmloIGJlc2FyIGRhcmkgeS4NCnByaW50KHggPiB5KQ0KDQojIFBlcmlrc2EgYXBha2FoIHgga3VyYW5nIGRhcmkgYXRhdSBzYW1hIGRlbmdhbiB5Lg0KcHJpbnQoeCA8PSB5KQ0KDQojIFBlcmlrc2EgYXBha2FoIHggdGlkYWsgc2FtYSBkZW5nYW4geS4NCnByaW50KHggIT0geSkNCg0KIyBFdmFsdWFzaWxhaCBla3NwcmVzaSAoeCA+IDUpIEFORCAoeSA8IDIwKS4NCnByaW50KCh4ID4gNSkgJiAoeSA8IDIwKSkNCmBgYA0KDQojIyA2LiBLb252ZXJzaSBUaXBlIERhdGENCg0KUGVydGFueWFhbjoNCg0KMS4gVWJhaCBudW1fc3RyIGtlIGJpbGFuZ2FuIGJ1bGF0IGRhbiB0YW1iYWhrYW4gMTAuDQoNCjIuIFViYWggbnVtX2Zsb2F0IGtlIGJpbGFuZ2FuIGJ1bGF0Lg0KDQozLiBNZW5nb252ZXJzaSBudW1fZmxvYXQga2VtYmFsaSBtZW5qYWRpIHN0cmluZy4NCg0KYGBge3J9DQpudW1fc3RyIDwtICIxMjMiDQpudW1fZmxvYXQgPC0gNDUuNjcNCg0KIyBVYmFoIG51bV9zdHIga2UgYmlsYW5nYW4gYnVsYXQgZGFuIHRhbWJhaGthbiAxMC4NCnByaW50KGFzLm51bWVyaWMobnVtX3N0cikgKyAxMCkNCg0KIyBVYmFoIG51bV9mbG9hdCBrZSBiaWxhbmdhbiBidWxhdC4NCnByaW50KGFzLmludGVnZXIobnVtX2Zsb2F0KSkNCg0KIyBNZW5nb252ZXJzaSBudW1fZmxvYXQga2VtYmFsaSBtZW5qYWRpIHN0cmluZy4NCnByaW50KGFzLmNoYXJhY3RlcihudW1fZmxvYXQpKQ0KYGBgDQoNCiMjIEJvbnVzDQoNCmBgYHtyfQ0KIyBNZW1pbnRhIGlucHV0IGRhcmkgcGVuZ2d1bmENCnByaW50KCJNYXN1a2FuIERhdGEgRGlyaSBBbmRhOiIpDQpuYW1hIDwtIHJlYWRsaW5lKHByb21wdCA9ICJOYW1hOiAiKQ0KdXNpYSA8LSByZWFkbGluZSgiVXNpYTogIikNCmtvdGEgPC0gcmVhZGxpbmUoIktvdGEgS2VsYWhpcmFuOiAiKQ0KDQojIENldGFrIG91dHB1dA0KY2F0KHNwcmludGYoIkhlbGxvICVzLCB5b3UgYXJlICVzIHllYXJzIG9sZCBhbmQgZnJvbSAlcy5cbiIsIG5hbWEsIHVzaWEsIGtvdGEpKQ0KYGBgDQo=