‹ Daftar slidePertemuan 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
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 Data
Contoh
R / Python
Bilangan bulat
25000
numeric / int
Bilangan desimal
0.1
numeric / float
Teks
"Toko Berkah"
character / str
Logika (benar/salah)
TRUE, True
logical / 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.
Langkah
Perhitungan
Nilai
1. Konversi teks ke angka
as.numeric("150000") / int("150000")
150.000
2. Simpan transaksi ke-2
200000 (sudah numeric)
200.000
3. Simpan transaksi ke-3
75000 (sudah numeric)
75.000
4. Jumlahkan tiga transaksi
150.000 + 200.000 + 75.000
425.000
5. Hitung rata-rata
425.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")
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.
Langkah
Perhitungan
Nilai
1. Data awal (5 transaksi)
Fashion, Elektronik, Fashion, Makanan, Fashion
5 baris
2. Filter kategori == "Fashion"
120.000 / 90.000 / 150.000 tersisa
3 baris
3. Jumlahkan harga tersaring
120.000 + 90.000 + 150.000
360.000
4. Hitung rata-rata
360.000 ÷ 3
120.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.
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)