Belajar Python untuk Data Analyst: Roadmap 12 Minggu dari Nol
Blog/Tips & Trik/Belajar Python untuk Data Analyst: Roadmap 12 Minggu dari Nol

Belajar Python untuk Data Analyst: Roadmap 12 Minggu dari Nol

BimaBima
·16 September 2025·12 menit baca

Penulis

Bima

Bima

Founder & Data Professional

Bagikan

TL;DR

Belajar Python untuk data analyst butuh sekitar 12 minggu kalau kamu konsisten 1 jam sehari, dengan urutan dasar bahasa, pandas, visualisasi, lalu proyek. Materi yang wajib dikuasai cuma empat: struktur data dasar, pandas buat olah tabel, matplotlib atau seaborn buat grafik, dan cara baca data dari CSV, Excel, dan database. Sisanya bisa dipelajari sambil jalan waktu ngerjain proyek.

Belajar Python untuk data analyst butuh sekitar 12 minggu kalau kamu konsisten sejam sehari. Bukan setahun, dan bukan seminggu.

Angka itu dari pola yang aku lihat berulang: yang berhasil bukan yang belajar paling lama, tapi yang paling cepat mulai ngerjain data beneran. Biasanya di minggu ke-5 atau ke-6.

Rencana di bawah ini nyusun 12 minggu itu jadi empat tahap, lengkap sama materi per minggu, latihan yang harus kamu kerjain, dan tiga proyek yang bisa langsung masuk portofolio.

Apa saja yang harus dipelajari data analyst di Python?

Cuma empat hal yang wajib. Pertama, struktur data dasar Python: list, dictionary, dan cara pakai perulangan. Kedua, pandas buat olah tabel. Ketiga, matplotlib atau seaborn buat bikin grafik. Keempat, cara narik data dari CSV, Excel, dan database. Sisanya, termasuk machine learning, bisa nyusul belakangan.

Yang bikin orang mandek biasanya bukan materinya kurang. Kebalikannya. Mereka belajar decorator, class, dan async padahal kerjaan analis sehari-hari ga nyentuh itu.

Jadi rencana ini sengaja motong banyak hal. Kalau nanti kamu butuh, gampang dipelajari belakangan.

Apa yang perlu disiapkan sebelum minggu pertama?

Tiga hal, dan semuanya gratis.

  1. Python dan Jupyter Notebook di laptop kamu. Panduan pemasangannya ada di cara install Python dan Jupyter Notebook. Sisihkan 30 menit buat ini.
  2. Satu dataset yang kamu peduli. Laporan penjualan kantor, catatan pengeluaran pribadi, atau data publik dari BPS. Belajar pakai data yang kamu ngerti isinya jauh lebih cepat nyantol.
  3. Jadwal tetap. Sejam sehari, jam yang sama. Lima hari seminggu cukup, dua hari sisanya buat istirahat atau ngejar ketinggalan.

Ga perlu beli kursus dulu. Dokumentasi resmi pandas gratis dan lengkap.

Minggu 1 sampai 4: dasar bahasa Python

Tujuan tahap ini bukan jadi programmer. Cukup sampai kamu bisa baca kode orang lain tanpa panik.

Minggu 1: tipe data dan operasi dasar

Materi: angka, teks, boolean, variabel, dan f-string buat nyusun teks.

omzet = 12_450_000
biaya = 8_300_000
margin = (omzet - biaya) / omzet

print(f"Margin bulan ini: {margin:.1%}")
# Margin bulan ini: 33.3%

Latihan minggu ini: hitung margin, diskon, dan PPN 11 persen dari lima angka penjualan yang kamu tulis manual.

Minggu 2: list, dictionary, dan perulangan

Materi: list buat urutan, dictionary buat pasangan kunci dan nilai, for buat ngulang, if buat percabangan.

penjualan = {"Jakarta": 45_200_000, "Bandung": 18_700_000, "Surabaya": 31_400_000}

for kota, nilai in penjualan.items():
    status = "tercapai" if nilai >= 30_000_000 else "di bawah target"
    print(f"{kota}: Rp {nilai:,.0f} ({status})")

Latihan: bikin dictionary 10 produk dengan harganya, lalu cetak yang harganya di atas rata-rata.

Minggu 3: fungsi dan penanganan error

Materi: bikin fungsi sendiri, argumen, nilai balik, dan try except buat nangkap error.

def hitung_margin(omzet, biaya):
    if omzet == 0:
        return None
    return (omzet - biaya) / omzet

print(hitung_margin(12_450_000, 8_300_000))  # 0.3333...
print(hitung_margin(0, 500_000))             # None

Latihan: bikin fungsi yang nerima daftar transaksi dan balikin total, rata-rata, dan nilai terbesar.

Minggu 4: baca file dan kenalan sama NumPy

Materi: buka file CSV, dan dasar array NumPy yang jadi pondasi pandas. Detailnya ada di NumPy dasar untuk analis data.

Latihan: baca satu file CSV punyamu sendiri, cetak 5 baris pertama, hitung jumlah barisnya.

Patokan akhir tahap ini: kamu bisa nulis fungsi 10 baris tanpa nyontek, dan ngerti pesan error yang muncul.

Minggu 5 sampai 8: pandas dan pembersihan data

Ini tahap paling penting. Sekitar 70 persen kerjaan analis di Python itu pandas.

Minggu 5: DataFrame, seleksi, dan filter

import pandas as pd

df = pd.read_csv("toko_berkah_transaksi.csv", parse_dates=["tanggal"])

print(df.shape)      # (4812, 8)
print(df.head())
print(df.dtypes)

# filter transaksi Jakarta di atas Rp 500 ribu
besar = df[(df["kota"] == "Jakarta") & (df["total"] > 500_000)]
print(len(besar))

Latihan: filter datamu sendiri pakai dua syarat sekaligus.

Minggu 6: groupby dan agregasi

Kalau kamu udah biasa pakai pivot table di Excel, groupby itu versi kodenya.

ringkasan = (
    df.groupby(["kota", df["tanggal"].dt.to_period("M")])
      .agg(omzet=("total", "sum"),
           transaksi=("id_transaksi", "nunique"),
           rata_nota=("total", "mean"))
      .round(0)
      .reset_index()
)
print(ringkasan.head())

Latihan: hitung total dan rata-rata per kategori di datamu, urutkan dari yang terbesar.

Minggu 7: gabung tabel dan bentuk ulang

Materi: merge buat gabungin dua tabel (mirip VLOOKUP di Excel, tapi lebih fleksibel), pivot_table, dan melt.

gabung = df.merge(produk, on="id_produk", how="left", validate="many_to_one")
print(gabung["nama_produk"].isna().sum())  # cek produk yang ga ketemu

Argumen validate itu penyelamat. Dia bakal error kalau relasinya ga sesuai dugaanmu, jadi kamu ga diam-diam bikin baris berlipat.

Minggu 8: bersihin data

Materi: nilai kosong, duplikat, tipe data yang salah, dan teks yang ga seragam.

df["kota"] = df["kota"].str.strip().str.title()
df = df.drop_duplicates(subset=["id_transaksi"])
df["total"] = pd.to_numeric(df["total"], errors="coerce")

print(df.isna().sum())

Tahap ini sering diremehkan, padahal di kerjaan nyata makan waktu paling banyak. Konsepnya dibahas di glossary data quality.

Patokan akhir tahap ini: kamu bisa ngambil file mentah berantakan dan ngeluarin tabel ringkasan yang siap dipakai, tanpa nyontek langkah demi langkah.

Minggu 9 sampai 10: visualisasi dan sumber data

Minggu 9: grafik

Materi: matplotlib buat kontrol penuh, seaborn buat grafik statistik cepat.

import matplotlib.pyplot as plt

bulanan = df.groupby(df["tanggal"].dt.to_period("M"))["total"].sum()

fig, ax = plt.subplots(figsize=(9, 4))
bulanan.plot(kind="line", marker="o", ax=ax)
ax.set_title("Omzet bulanan toko_berkah")
ax.set_ylabel("Rupiah")
ax.grid(alpha=0.3)
plt.tight_layout()

Aturan yang aku pegang: satu grafik, satu pesan. Kalau butuh dua pesan, bikin dua grafik.

Minggu 10: narik data dari Excel dan database

# dari Excel, sheet tertentu
df_xl = pd.read_excel("laporan.xlsx", sheet_name="Penjualan", skiprows=3)

# dari database
from sqlalchemy import create_engine
engine = create_engine("postgresql+psycopg2://user:sandi@host:5432/tokoberkah")
df_sql = pd.read_sql("SELECT * FROM transaksi WHERE tanggal >= '2025-01-01'", engine)

Kalau data kamu ada di database, SQL tetap wajib. Python ga gantiin SQL, dia melengkapi.

Minggu 11 sampai 12: tiga proyek portofolio

Dua minggu terakhir dipakai buat ngerjain proyek, bukan nambah materi. Pilih satu yang paling nyambung sama bidang kamu, atau kerjain ketiganya kalau sempat.

ProyekYang dilatihHasil akhir
Analisis penjualan UMKM 12 bulangroupby, merge, grafik trenNotebook plus 3 temuan dengan angka
Pembersihan data survei 500 respondenstr, nilai kosong, duplikatFile bersih plus catatan perubahan
Segmentasi pelanggan pakai RFMagregasi, kuantil, visualisasiTabel segmen plus rekomendasi

Yang bikin proyek dilirik itu bukan panjang kodenya. Tulis 3 sampai 5 kalimat temuan di paling atas notebook, lengkap sama angkanya. Rekruter baca bagian itu duluan.

Kesalahan yang bikin portofolio ditolak dibahas terpisah di 5 kesalahan portofolio data analyst.

Contoh kasus: berapa lama proyek pertama beneran selesai

Aku pernah ngukur waktu ngerjain proyek analisis penjualan pakai dataset latihan toko_berkah yang isinya 4.812 baris. Total 6 jam 20 menit sampai notebook rapi.

Rinciannya bikin kaget: baca dan bersihin data makan 3 jam 45 menit, atau 59 persen dari total waktu. Bikin grafik cuma 40 menit. Analisisnya sendiri 55 menit. Sisanya nulis penjelasan.

Jadi kalau kamu ngerasa kelamaan di tahap bersihin data, itu normal. Bukan kamu yang lambat.

Temuan dari proyek itu sendiri: 3 dari 6 kota nyumbang 71 persen omzet, dan rata-rata nota di Jakarta Rp 312 ribu, hampir dua kali lipat rata-rata kota lain yang Rp 168 ribu.

Apa kesalahan umum waktu belajar Python untuk analis?

  • Nonton tutorial terus tanpa ngetik ulang. Rasanya paham, tapi begitu buka notebook kosong langsung buntu. Ketik ulang tiap contoh, jangan salin tempel.
  • Belajar semua sintaks Python dulu baru pandas. Kelamaan. Empat minggu dasar udah cukup buat lanjut.
  • Pakai dataset Titanic dan Iris terus. Ribuan orang pakai itu. Ganti pakai data yang kamu peduli, motivasinya beda jauh.
  • Ngindarin error. Pesan error itu petunjuk paling jelas. Baca baris terakhirnya dulu, biasanya di situ jawabannya.
  • Lompat ke machine learning di minggu ke-6. Model yang dibangun di atas data kotor cuma bikin angka yang salah dengan percaya diri.
  • Ngerjain proyek tapi ga dipublikasikan. Notebook yang mengendap di laptop ga kehitung portofolio.

FAQ

Perlu bisa Python dulu atau SQL dulu buat jadi data analyst?

SQL dulu kalau kamu mau kerja secepatnya. Hampir semua lowongan data analyst di Indonesia minta SQL, sementara Python sering ditulis sebagai nilai tambah. SQL juga lebih cepat dikuasai, sekitar 4 sampai 6 minggu buat tingkat kerja. Habis itu baru masuk Python. Kombinasi keduanya yang bikin kamu bisa kerjain analisis dari ujung ke ujung.

Berapa jam sehari yang realistis buat belajar Python sambil kerja?

Satu jam sehari, lima hari seminggu. Itu yang paling kepakai buat orang yang kerja penuh waktu. Belajar 5 jam di akhir pekan doang kalah efektif, karena minggu depan kamu udah lupa separuhnya. Kalau cuma punya 30 menit, tetap jalan, cuma rencana 12 minggu ini jadi sekitar 20 minggu. Konsisten lebih penting dari durasi.

Apa Python bisa gantiin Excel di kerjaan analis?

Nggak sepenuhnya, dan ga perlu. Excel masih menang buat lihat data sekilas, hitung cepat, dan berbagi hasil ke orang non-teknis. Python menang kalau datanya lebih dari sejuta baris, kerjaannya berulang tiap minggu, atau butuh gabungin banyak sumber. Kebanyakan analis pakai dua-duanya. Pilih sesuai ukuran data dan seberapa sering kerjaannya diulang.

Library apa aja yang wajib buat data analyst pemula?

Empat aja: pandas buat olah tabel, NumPy buat operasi angka, matplotlib buat grafik dasar, dan seaborn buat grafik statistik yang lebih cepat dibikin. Tambahan yang berguna belakangan: openpyxl buat file Excel dan SQLAlchemy buat konek ke database. Sisanya nunggu sampai kamu punya masalah yang butuh library itu. Instal library yang belum jelas gunanya cuma bikin bingung.

Gimana cara tau kalau aku udah siap ngelamar kerja?

Ujinya sederhana. Kasih dirimu file CSV mentah yang belum pernah kamu lihat, lalu coba jawab tiga pertanyaan bisnis darinya dalam dua jam, tanpa nanya ke AI. Kalau bisa, kamu siap. Kalau masih buntu di tahap baca file, ulang minggu 5 sampai 8. Punya dua sampai tiga proyek yang bisa diakses publik juga jadi syarat praktisnya.

Langkah berikutnya

Rencana 12 minggu ini cuma kerangka. Yang nentuin hasilnya itu jam yang kamu setor tiap hari, dan seberapa cepat kamu pindah dari nonton ke ngetik.

Mulai minggu ini juga. Pasang Python lewat panduan install Python dan Jupyter, siapin satu dataset yang kamu peduli, lalu kerjain latihan minggu 1.

Dokumentasi resmi yang paling sering kamu buka nanti ada di panduan pengguna pandas. Simpan tautannya sekarang.

Coba Langsung

Mau praktek langsung? Mulai latihan SQL gratis

Latihan interaktif, langsung di browser.

Buka NgulikSQL →
Bagikan:
Bima
Ditulis oleh

Bima

Founder & Data Professional

Founder Ngulik Data. Passionate about making data analysis accessible for everyone.

Artikel terkait

Pandas groupby: Agregasi Data ala Pivot di Python (2026)
Tips & Trik
20 Juli 2026•9 menit baca

Pandas groupby: Agregasi Data ala Pivot di Python (2026)

groupby ngelompokin baris berdasarkan kolom, lalu ngitung ringkasan per grup kayak total atau rata-rata. Ini pivot-nya pandas.

BimaBima
Pandas to_excel: Ekspor DataFrame ke Excel (2026)
Tips & Trik
18 Juli 2026•8 menit baca

Pandas to_excel: Ekspor DataFrame ke Excel (2026)

to_excel nyimpen DataFrame pandas jadi file Excel .xlsx. Ini cara pakainya, dari satu sheet sampai banyak sheet, plus setelan yang bikin hasilnya rapi.

BimaBima
Pandas read_excel: Baca File Excel di Python
Tips & Trik
16 Juli 2026•8 menit baca

Pandas read_excel: Baca File Excel di Python

pandas read_excel baca file Excel jadi DataFrame, bisa pilih sheet tertentu dan lompatin baris judul yang berantakan. Ini cara pakai plus parameter penting dengan contoh data toko.

BimaBima
Kembali ke Blog
Ngulik Data logoNgulik Data

Platform edukasi data lengkap untuk professionals Indonesia. Belajar SQL, Data Analysis, dan lebih banyak lagi dengan praktek langsung dan feedback real-time.

© 2026 Ngulik Data. Semua hak dilindungi.

TAUTAN
BantuanHargaDatasetBlogAfiliasi
LEGAL
Syarat & KetentuanKebijakan Privasi
Ngulik Data
DatasetLeaderboardBlogStore