stdsquare²
🎓 Kelas
stdsquare / materi / slides / pertemuan-03
Tema
Japan
Arcade
Dark Retro
Font
‹ Daftar slide Pertemuan 3: Dasar Pemrograman untuk Data Science (R/Python)
Program Studi Bisnis Digital • FEB UNDIP

Laboratorium Sains Data

Pertemuan 3 — Dasar Pemrograman untuk Data Science (R/Python)

Fondasi menulis kode: variabel, tipe data, dan struktur data di R dan Python — bahasa kembar yang dipakai analis data di seluruh dunia untuk mengolah data bisnis.

RPS MINGGU 3 • 2×50 MENIT

Tujuan Pembelajaran Hari Ini

Setelah pertemuan ini, Anda diharapkan mampu menulis kode dasar R dan Python untuk menyimpan, menyusun, dan memanipulasi data sederhana — fondasi untuk seluruh proses analisis data di pertemuan-pertemuan berikutnya.

CAPAIAN 1
var
Variabel & Tipe Data
Membedakan dan menggunakan tipe data numerik, teks, dan logika di R & Python.
CAPAIAN 2
[ ]
Struktur Data
Menyusun data dalam vector/list dan data frame — format tabel standar analisis data.
CAPAIAN 3
f(x)
Manipulasi & Fungsi
Memfilter, mengubah, meringkas data, serta menulis fungsi sederhana untuk dipakai ulang.
Materi ini adalah jembatan menuju Pertemuan 4 (eksplorasi data awal/EDA) — tanpa dasar pemrograman ini, Anda akan kesulitan mengikuti praktik statistik deskriptif dan visualisasi minggu depan.
Bagian 1 dari 3
Mengenal R & Python:
Variabel dan Tipe Data
Dua bahasa pemrograman paling dipakai data scientist dunia — cara kerjanya mirip, sintaksnya berbeda tipis.

R vs Python: Dua Bahasa, Satu Tujuan

Keduanya adalah bahasa open-source (gratis, kode sumber terbuka) favorit data scientist — pilihan tergantung kebutuhan, bukan mana yang "lebih baik".

R — Lahir dari Statistik
  • Dibuat khusus untuk analisis statistik & visualisasi data
  • Populer di riset akademik, biostatistik, dan analisis keuangan
  • Paket andalan: dplyr (manipulasi data), ggplot2 (visualisasi)
  • IDE standar: RStudio
Python — Bahasa Serba Bisa
  • Bahasa umum untuk web, otomasi, AI, dan juga data science
  • Populer di industri teknologi & startup (Tokopedia, Gojek, dll.)
  • Pustaka andalan: pandas (manipulasi data), matplotlib (visualisasi)
  • IDE populer: Jupyter Notebook, Google Colab
Di matkul ini kita pelajari keduanya secara paralel — konsepnya sama, hanya sintaks (cara penulisan) yang berbeda. Menguasai satu mempermudah belajar yang lain.

Lingkungan Kerja: Tempat Anda Menulis Kode

Sebuah IDE (Integrated Development Environment — aplikasi tempat menulis & menjalankan kode) memudahkan Anda melihat hasil kode secara langsung.

UNTUK R
RStudio
Unduh gratis di posit.co — punya panel kode, konsol, grafik, dan daftar variabel dalam satu layar.
UNTUK PYTHON
Colab
Google Colab — berjalan di browser, tanpa instalasi, cocok untuk laptop dengan spesifikasi terbatas.
Bagi yang laptopnya terbatas atau proses instalasi bermasalah, gunakan Google Colab (Python) yang berjalan sepenuhnya di cloud — cukup akun Google, tidak perlu instal apa pun.

Variabel dan Tipe Data Dasar

Sebuah variabel adalah "kotak berlabel" untuk menyimpan nilai. Setiap nilai punya tipe data yang menentukan operasi apa yang bisa dilakukan padanya.

R
nama <- "Toko Berkah"
harga <- 25000
diskon <- 0.1
aktif <- TRUE
Python
nama = "Toko Berkah"
harga = 25000
diskon = 0.1
aktif = True
Tipe DataContohR / Python
Bilangan bulat25000numeric / int
Bilangan desimal0.1numeric / float
Teks"Toko Berkah"character / str
Logika (benar/salah)TRUE, Truelogical / bool

Hitung dari Nol: Konversi Tipe & Total Transaksi

Data transaksi UMKM sering tersimpan sebagai teks (mis. dari formulir online). Sebelum dijumlah, ia harus dikonversi ke tipe numeric.

LangkahPerhitunganNilai
1. Konversi teks ke angkaas.numeric("150000") / int("150000")150.000
2. Simpan transaksi ke-2200000 (sudah numeric)200.000
3. Simpan transaksi ke-375000 (sudah numeric)75.000
4. Jumlahkan tiga transaksi150.000 + 200.000 + 75.000425.000
5. Hitung rata-rata425.000 ÷ 3~141.667
RATA-RATA TRANSAKSI
~Rp141.667
dari 3 transaksi harian toko online

Coba Sendiri: Konversi Tipe Data & Jumlahkan Transaksi

Ubah nilai transaksi lalu lihat langsung hasil konversi ke numeric, totalnya, dan rata-ratanya.

Struktur Data: Vector (R) & List (Python)

Untuk menyimpan banyak nilai sekaligus (bukan cuma satu), kita pakai struktur data vector (R) atau list (Python).

R — Vector
harga <- c(25000, 30000, 18000)
mean(harga)
# 24333.33
Python — List
harga = [25000, 30000, 18000]
sum(harga) / len(harga)
# 24333.33
Fungsi c() di R (combine) dan tanda kurung siku [ ] di Python adalah cara paling dasar mengelompokkan banyak nilai menjadi satu struktur.

Struktur Data Inti: Data Frame

Struktur data paling penting dalam data science: tabel dengan baris (observasi) dan kolom (variabel) — persis seperti spreadsheet Excel.

R — data.frame()
data <- data.frame(
  produk = c("Kaos", "Tas"),
  harga  = c(75000, 120000)
)
Python — pandas.DataFrame()
import pandas as pd
data = pd.DataFrame({
  "produk": ["Kaos", "Tas"],
  "harga": [75000, 120000]
})
Python butuh library (pustaka kode tambahan) bernama pandas untuk data frame — diimpor dengan import pandas as pd. R sudah punya data.frame secara bawaan.
Bagian 2 dari 3
Manipulasi Data:
dplyr & pandas
Membaca, menyaring, mengubah, dan meringkas data — empat operasi paling sering dipakai analis data sehari-hari.

Membaca Data & Inspeksi Awal

Data biasanya datang dalam file CSV (Comma-Separated Values — format teks tabel sederhana). Langkah pertama selalu: baca file, lalu intip isinya.

R
data <- read.csv("transaksi.csv")
head(data)
str(data)
Python
data = pd.read_csv("transaksi.csv")
data.head()
data.info()
Kebiasaan wajib: selalu intip data setelah membacanya. head() menampilkan beberapa baris pertama, str()/info() menampilkan tipe data tiap kolom.

Seleksi Kolom & Filter Baris

Dua operasi paling sering: select (ambil kolom tertentu) dan filter (ambil baris yang memenuhi syarat).

R — dplyr
library(dplyr)
data %>%
  select(produk, harga) %>%
  filter(kategori == "Fashion")
Python — pandas
data[["produk", "harga"]][
  data["kategori"] == "Fashion"
]
Simbol %>% di R disebut pipe — artinya "lalu", menyambung beberapa operasi berurutan agar kode mudah dibaca dari atas ke bawah.

Hitung dari Nol: Filter + Rata-rata Kategori

Dataset berisi 5 transaksi. Kita ingin tahu rata-rata harga produk kategori Fashion saja.

LangkahPerhitunganNilai
1. Data awal (5 transaksi)Fashion, Elektronik, Fashion, Makanan, Fashion5 baris
2. Filter kategori == "Fashion"120.000 / 90.000 / 150.000 tersisa3 baris
3. Jumlahkan harga tersaring120.000 + 90.000 + 150.000360.000
4. Hitung rata-rata360.000 ÷ 3120.000
RATA-RATA HARGA FASHION
Rp120.000
dari 3 dari 5 transaksi (setelah filter)

Transformasi: Menambah Kolom Baru

Sering kali kita perlu menghitung kolom baru dari kolom yang sudah ada, misalnya harga setelah diskon.

R — mutate()
data <- data %>%
  mutate(harga_diskon = harga * 0.9)
Python — assignment kolom
data["harga_diskon"] = (
  data["harga"] * 0.9
)
harga_diskon = harga × (1 − 10%)

Grouping & Ringkasan Data

Meringkas data per kelompok adalah operasi paling bernilai bagi bisnis — mis. rata-rata harga per kategori produk.

R — group_by() + summarise()
data %>%
  group_by(kategori) %>%
  summarise(rata2 = mean(harga))
Python — groupby() + agg()
data.groupby("kategori")[
  "harga"
].mean()
Pola "kelompokkan lalu ringkas" ini disebut split-apply-combine — pecah data per kelompok, terapkan perhitungan, gabungkan hasilnya. Dipakai di hampir semua laporan bisnis.

Coba Sendiri: Simulasi Group By SQL

Pilih kolom pengelompokan dan fungsi agregasi, lalu lihat langsung bagaimana data dipecah, dihitung, dan digabungkan kembali menjadi tabel ringkasan.

Bagian 3 dari 3
Kontrol Alur & Fungsi
untuk Pipeline Data
Membuat kode yang mengambil keputusan sendiri dan bisa dipakai berulang — fondasi otomasi pipeline data.

Kontrol Alur: if/else & Loop untuk Validasi Data

Data mentah sering punya nilai janggal (harga negatif, kategori kosong). Kontrol alur membantu kita memeriksa data secara otomatis.

R
for (h in harga) {
  if (h < 0) {
    print("Harga tidak valid")
  }
}
Python
for h in harga:
    if h < 0:
        print("Harga tidak valid")
Perulangan (for) menelusuri setiap nilai satu per satu; percabangan (if) memeriksa syarat pada tiap nilai tersebut. Kombinasi keduanya = validasi data otomatis.

Menulis Fungsi Sendiri

Sebuah fungsi membungkus kode yang sering dipakai ulang jadi satu blok bernama — ditulis sekali, dipanggil berkali-kali.

R — function()
hitung_diskon <- function(harga) {
  return(harga * 0.9)
}
hitung_diskon(100000)  # 90000
Python — def
def hitung_diskon(harga):
    return harga * 0.9

hitung_diskon(100000)  # 90000
Fungsi membuat pipeline data lebih rapi: satu kali tulis logika perhitungan diskon, panggil ulang untuk seluruh 500 produk tanpa copy-paste kode.

Latihan Kelas: Pipeline Data Mini

Kerjakan berpasangan (15 menit) di R atau Python — pilih salah satu yang Anda kuasai.

Data yang Diberikan
  • 5 baris data transaksi UMKM: produk, kategori, harga (contoh disediakan di LMS)
  • Format CSV, siap dibaca langsung
Tugas Anda
  • 1. Baca data & tampilkan dengan head()/.head()
  • 2. Filter kategori "Makanan" saja
  • 3. Tambah kolom harga_diskon (potongan 15%)
  • 4. Hitung rata-rata harga_diskon per kategori
Kumpulkan screenshot kode + output ke LMS sebelum kelas berakhir. Diskusikan hasil dengan pasangan Anda — bandingkan pendekatan R vs Python bila berbeda kelompok.

Rangkuman & Menuju Pertemuan 4

Yang Sudah Anda Kuasai
  • Variabel & empat tipe data dasar (numeric, character, logical)
  • Struktur data: vector/list dan data frame
  • Manipulasi: select, filter, mutate, group_by/groupby
  • Kontrol alur (if/for) & menulis fungsi sendiri
MINGGU DEPAN
EDA
Eksplorasi Data Awal
Statistik deskriptif, visualisasi, dan deteksi anomali — memakai fondasi kode hari ini.
Bawa laptop dengan R/Python sudah terpasang (atau akun Google Colab siap) di Pertemuan 4 — kita langsung praktik EDA pada dataset nyata.