Bab 1 Basic Programming Data Science

1.1 Mengidenifikasi Tipe Data

Variabel Nilai Tipe Data di Python Tipe Data di R
a 42 int numeric (integer)
b 3.14 float numeric (double)
c “Hello World!
d FALSE bool logical
e [1, 2, 3] list (atau tuple) numeric (vector)
f {“name”: “Byore”, “age”: 25} dict list

Pertanyaan:

  1. Identifikasi jenis data dari setiap variabel di atas.
  2. Cetak jenis data dari setiap variabel menggunakan type() (Python) dan class() (R).

1.1.1 Python Code

a = 42
b = 3.14
c = "Hello World!"
d = False
e = [1, 2, 3]
f = {"name": "Byore", "age": 25}

print(type(a))
print(type(b))
print(type(c))
print(type(d))
print(type(e))
print(type(f))

Output

## <class 'int'>
## <class 'float'>
## <class 'str'>
## <class 'bool'>
## <class 'list'>
## <class 'dict'>

1.1.2 R Code

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

print(class(a))
print(class(b))
print(class(c))
print(class(d))
print(class(e))
print(class(f))

Output

## numeric
## numeric
## character
## logical
## numeric
## list

1.2 Variabel dan Manipulasi Data

x = 20

y = 5

text1 = “Data”

text2 = “Science”

Pertanyaan:

  1. Perbarui nilai x dengan menambahkan 10.
  2. Gabungkan text1 dan text2 menjadi “Data Science”.
  3. Ubah teks yang telah digabungkan menjadi huruf besar.

1.2.1 Python Code

# Variabel
x = 20
y = 5
text1 = "Data"
text2 = "Science"

# Menambah 10 dari nilai x
x += 10

# Menggabungkan nilai text1 dan text2
gabung_text = text1 + " " + text2

# Mengubah menjadi kapital
uppercase_text = gabung_text.upper()

print(x)
print(gabung_text)
print(uppercase_text)

Output

## 30
## Data Science
## DATA SCIENCE

1.2.2 R Code

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

# Menambah 10 dari nilai x
x <- x + 10

# Menggabungkan nilai text1 dan text2
gabung_text <- paste(text1, text2)

# Mengubah menjadi kapital
uppercase_text <- toupper(gabung_text)

print(x)
print(gabung_text)
print(uppercase_text)

Output

## 30
## Data Science
## DATA SCIENCE

1.3 Operasi Aritmatika

a = 15

b = 4

Pertanyaan:

  1. Hitung jumlah, selisih, perkalian, pembagian, dan modulo dari a dan b.
  2. Hitung a pangkat b.
  3. Buat variabel baru c = a / b dan ubah ke bilangan bulat.

1.3.1 Python Code

# Variabel
a = 15
b = 4

# Operasi dasar
penjumlahan = a + b
pengurangan = a - b
perkalian = a * b
pembagian = a / b
modulo = a % b

# Menghitung pangkat
pangkat = a ** b

# Ubah hasil pembagian ke integer
pembagian_int = int(a / b)

print(f"Penjumlahan dari {a} + {b} = {penjumlahan}")
print(f"Pengurangan dari {a} - {b} = {pengurangan}")
print(f"Perkalian dari {a} × {b} = {perkalian}")
print(f"Pembagian dari {a} ÷ {b} = {pembagian}")
print(f"Sisa hasil bagi (modulo) dari {a} % {b} = {modulo}")
print(f"Pangkat dari {a} ^ {b} = {pangkat}")
print(f"Pembagian bulat dari {a} ÷ {b} = {pembagian_int}")

Output

## 
## Penjumlahan dari 15 + 4 = 19
## Pengurangan dari 15 - 4 = 11
## Perkalian dari 15 × 4 = 60
## Pembagian dari 15 ÷ 4 = 3.75
## Sisa hasil bagi (modulo) dari 15 % 4 = 3
## Pangkat dari 15 ^ 4 = 50625
## Pembagian bulat dari 15 ÷ 4 = 3

1.3.2 R Code

# Variabel
a <- 15
b <- 4

# Operasi dasar
penjumlahan <- a + b
pengurangan <- a - b
perkalian <- a * b
pembagian <- a / b
modulo <- a %% b

# Menghitung pangkat
pangkat <- a ^ b

# Ubah hasil pembagian ke integer
pembagian_int <- as.integer(a / b)

print(paste("Penjumlahan dari", a, "+", b, "=", penjumlahan))
print(paste("Pengurangan dari", a, "-", b, "=", pengurangan))
print(paste("Perkalian dari", a, "×", b, "=", perkalian))
print(paste("Pembagian dari", a, "÷", b, "=", pembagian))
print(paste("Sisa hasil bagi (modulo) dari", a, "%", b, "=", modulo))
print(paste("Pangkat dari", a, "^", b, "=", pangkat))
print(paste("Pembagian bulat dari", a, "÷", b, "=", pembagian_int))

Output

## 
## Penjumlahan dari 15 + 4 = 19
## Pengurangan dari 15 - 4 = 11
## Perkalian dari 15 × 4 = 60
## Pembagian dari 15 ÷ 4 = 3.75
## Sisa hasil bagi (modulo) dari 15 % 4 = 3
## Pangkat dari 15 ^ 4 = 50625
## Pembagian bulat dari 15 ÷ 4 = 3

1.4 Operasi String

Pertanyaan:

  1. Ekstrak 5 karakter pertama dari teks.
  2. Hitung jumlah karakter dalam teks.
  3. Ubah teks menjadi huruf kecil.

1.4.1 Python code

# Variabel
text = "Hello, Data Science!"

print(text[0:5])      # Ekstrak 5 karakter pertama
print(len(text))      # Hitung jumlah karakter dalam text
print(text.lower())   # Ubah text menjadi huruf kecil

Output

## 
## "Hello"
## 20
## "hello, data science!"

1.4.2 R code

# Variabel
text <- "Hello, Data Science!"

print(substr(text, 1, 5))   # Ekstrak 5 karakter pertama
print(nchar(text))          # Hitung jumlah karakter dalam text
print(tolower(text))        # Ubah text menjadi huruf kecil

Output

## 
## "Hello"
## 20
## "hello, data science!"

1.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. Evaluasi ekspresi (x > 5) DAN (y < 20).


1.5.1 Python Code

# Variabel
x = 7
y = 10

# Perbandingan
lebih_besar = x > y
kurang_dari_samadengan = x <= y
tidak_sama = x != y

# Evaluasi ekspresi
ekspresi_logika = (x > 5) and (y < 20)

print(f"Apakah {x} lebih besar dari {y}? {lebih_besar}")
print(f"Apakah {x} kurang dari atau sama dengan {y}? {kurang_dari_samadengan}")
print(f"Apakah {x} tidak sama dengan {y}? {tidak_sama}")
print(f"Evaluasi ekspresi ({x} > 5) DAN ({y} < 20): {ekspresi_logika}")

Output

## 
## Apakah 7 lebih besar dari 10? False
## Apakah 7 kurang dari atau sama dengan 10? True
## Apakah 7 tidak sama dengan 10? True
## Evaluasi ekspresi (7 > 5) DAN (10 < 20): True

1.5.2 R Code

# Variabel
x <- 7
y <- 10

# Perbandingan
lebih_besar <- x > y
kurang_dari_samadengan <- x <= y
tidak_sama <- x != y

# Evaluasi ekspresi
ekspresi_logika <- (x > 5) & (y < 20)

print(lebih_besar)
print(kurang_dari_samadengan)
print(tidak_sama)
print(ekspresi_logika)

Outout

## 
## Apakah 7 lebih besar dari 10? FALSE
## Apakah 7 kurang dari atau sama dengan 10? TRUE
## Apakah 7 tidak sama dengan 10? TRUE
## Evaluasi ekspresi (7 > 5) DAN (10 < 20): TRUE

1.6 Konversi Tipe Data

Pertanyaan:

  1. Ubah num_str menjadi bilangan bulat dan tambahkan 10.
  2. Ubah num_float menjadi bilangan bulat.
  3. Ubah num_float yang telah dikonversi kembali menjadi string.

1.6.1 Python Code

# Variabel
num_str = "123"
num_float = 45.67

# Ubah ke bilangan bulat dan tambahkan 10
angka_bulat = int(num_str) + 10

# Konversi float ke bilangan bulat
num_float_ke_bulat = int(num_float)

# Konversi float ke string
num_str_baru = str(num_float_ke_bulat)

print(f'"{num_str}" ke integer ditambah 10: {angka_bulat}')
print(f'{num_float} ke integer (bilangan bulat): {num_float_ke_bulat}')
print(f'{num_float_ke_bulat} kembali ke string: "{num_str_baru}"')

Output

## 
## "123" ke integer ditambah 10: 133
## 45.67 ke integer (bilangan bulat): 45
## 45 kembali ke string: "45"

1.6.2 R Code

# Variabel
num_str <- "123"
num_float <- 45.67

# Ubah ke bilangan bulat dan tambahkan 10
angka_bulat <- as.integer(num_str) + 10

# Konversi float ke bilangan bulat
num_float_ke_bulat <- as.integer(num_float)

# Konversi float ke string
num_str_baru <- as.character(num_float_ke_bulat)

print(angka_bulat)
print(num_float_ke_bulat)
print(num_str_baru)

Output

## 
## "123" ke integer ditambah 10: 133
## 45.67 ke integer (bilangan bulat): 45
## 45 kembali ke string: "45"

1.7 Bonus Challenge 🚀

Membuat program interaktif yang meminta pengguna untuk memasukkan input:

  1. Nama
  2. Usia
  3. Kota asal

1.7.1 Python Code

nama = input("Masukkan nama Anda: ")
usia = input("Masukkan usia Anda: ")
kota_asal = input("Masukkan kota asal Anda: ")

print(f"Hello {nama}, you are {usia} years old and from {kota_asal}.")

1.7.2 R Code

nama <- readline(prompt="Masukkan nama Anda: ")
usia <- readline(prompt="Masukkan usia Anda: ")
kota_asal <- readline(prompt="Masukkan kota asal Anda: ")

cat(sprintf("Hello %s, you are %s years old and from %s.\n", nama, usia, kota_asal))