1 of 58

Getting Started with Python

Samsung Innovation Campus 7

2 of 58

Mentor

Galuh Ramaditya

Data Engineer

at Kredivo Group (2022-present)

Data Engineer

at XL (2023-2024)

Data Mediation

at SIRCLO (2021-2022)

Data Engineer

3 of 58

Pengenalan Data

4 of 58

Masalah

Masalah umum yang dihadapi banyak bisnis, di mana informasi penting terabaikan dan peluang untuk berkembang terlewatkan.

5 of 58

“Mengubah Data Menjadi Wawasan”

Data yang tepat:

  • Laporan penjualan harian untuk mengetahui jenis kopi mana yang paling laris.
  • Mengetahui jam-jam sibuk untuk mengoptimalkan jumlah staf.
  • Menganalisis data promosi untuk melihat seberapa besar dampaknya terhadap penjualan.

Data yang terkelola dengan baik memberikan wawasan untuk membuat keputusan yang lebih strategis.

Solusi

6 of 58

Pengertian

Data adalah kumpulan fakta mentah, angka, atau informasi yang belum diolah.

7 of 58

DIKW Pyramid

Data:

  • Angka "50"
  • nama "Cappuccino"
  • harga "Rp25.000".

Informasi:

"Penjualan Cappuccino hari ini adalah 50 gelas dengan total pendapatan Rp1.250.000."

Pengetahuan:

"Cappuccino adalah produk paling laris di toko ini dan berkontribusi besar pada pendapatan."

Wawasan:

"Karena Cappuccino sangat populer, kita bisa membuat promosi bundling 'Cappuccino + Kue' untuk meningkatkan penjualan produk lain."

8 of 58

Jenis

9 of 58

Big Data

10 of 58

Case Study: Coffe Shop

  • Volume

Seluruh data penjualan, stok, dan pelanggan dari 1000 cabang selama 5 tahun terakhir.

  • Velocity

Data pesanan yang masuk secara real-time dan notifikasi dari aplikasi pemesanan online yang terus-menerus mengalir.

  • Variety

Meliputi data transaksi (terstruktur), gambar produk dari kamera pengawas (tidak terstruktur), dan review pelanggan (teks tidak terstruktur).

  • Veracity

Memastikan semua data penjualan yang dicatat oleh sistem POS adalah akurat dan tidak ada duplikasi.

  • Value

Menganalisis data ini untuk menemukan tren, membuat rekomendasi produk yang dipersonalisasi, dan mengoptimalkan manajemen stok, yang semuanya meningkatkan keuntungan.

11 of 58

Efisiensi Operasional

Manfaat

Prediksi Masa Depan

Pengambilan Keputusan yang Lebih Baik

Personalisasi Layanan

12 of 58

Pertanyaan?

13 of 58

It’s Kahoot Time..

14 of 58

Pengantar Machine Learning

15 of 58

Bagaimana kita bisa membuat komputer memprediksi dan menemukan pola dari data secara otomatis, tanpa harus menulis setiap aturan satu per satu?

Masalah

16 of 58

Solusi

Machine Learning (ML)

"Mesin" yang bisa belajar dari data historis untuk menemukan pola-pola yang rumit, dan membuat prediksi atau keputusan tanpa perlu diprogram secara eksplisit.

Kita bisa:

  • Mendeteksi Pola Kompleks�Bisa menemukan hubungan yang sangat kompleks antara ratusan variabel.

  • Membuat Prediksi Otomatis�Model yang secara otomatis memprediksi probabilitas seorang nasabah akan gagal bayar.

  • Mengurangi Human Error

Keputusan yang dihasilkan oleh model ML lebih konsisten dan objektif.

17 of 58

Traditional Programming

Dalam pemrograman tradisional, seorang developer harus menulis setiap aturan secara eksplisit.

  • Input: Data transaksi.
  • Program: Aturan yang ditulis oleh manusia.
  • Output: Rekomendasi.

Keterbatasan: Aturan ini sangat kaku dan tidak bisa beradaptasi. Jika ada produk baru atau preferensi pelanggan berubah, Anda harus mengubah kode secara manual. Program ini hanya bisa merekomendasikan apa yang sudah Anda ketahui dan masukkan ke dalam kode.

Machine Learning vs. Traditional Programming

Contoh Kasus: Jika Anda ingin merekomendasikan produk, Anda harus menulis logika seperti ini:

IF pelanggan membeli "Kopi Latte":

REKOMENDASIKAN "Donat".

ELSE IF pelanggan membeli "Cappuccino":

REKOMENDASIKAN "Croissant".

ELSE:

REKOMENDASIKAN "Menu Promo".

18 of 58

Machine Learning vs. Traditional Programming

Machine Learning

Dalam Machine Learning, prosesnya dibalik. Kita memberikan data dan membiarkan algoritma menemukan polanya.

  • Input: Data transaksi historis (pelanggan, produk yang dibeli bersamaan).
  • Program: Model yang "belajar" dari data.
  • Output: Aturan (pola atau model).

Keunggulan: Model ini secara otomatis menemukan pola yang mungkin tidak pernah terpikirkan oleh manusia, bahkan dari jutaan data. Model akan merekomendasikan "Muffin" jika ada pelanggan membeli "Teh Matcha" tanpa perlu Anda menulis aturan itu. Jika tren berubah, Anda hanya perlu melatih ulang model dengan data terbaru.

Contoh Kasus:

  1. Pengumpulan Data: Kumpulkan ribuan data transaksi: [Pelanggan A, Beli Kopi Latte & Donat], [Pelanggan B, Beli Cappuccino & Croissant], dan seterusnya.
  2. Pelatihan Model: Berikan data ini ke algoritma Machine Learning (misalnya, Association Rule Mining).
  3. Hasil Model: Model akan menemukan pola seperti:
    • Kopi Latte -> Donat
    • Cappuccino -> Croissant
    • Teh Matcha -> Muffin

19 of 58

Tipe Machine Learning

20 of 58

Machine Learning vs. Traditional Programming

Traditional Programming

Machine Learning

Logika

Aturan eksplisit ditulis oleh manusia.

Aturan ditemukan oleh algoritma dari data.

Adaptasi

Memerlukan perubahan kode manual.

Dapat dilatih ulang dengan data baru.

Tujuan

Menyelesaikan masalah terdefinisi jelas.

Mengidentifikasi pola & membuat prediksi.

Performa

Terbatas pada aturan yang sudah ditentukan.

Meningkat seiring dengan bertambahnya data.

21 of 58

Posisi Machine Learning

22 of 58

Pertanyaan?

23 of 58

It’s Kahoot Time..

24 of 58

Mengapa Python?

25 of 58

Bahasa Pemrograman

“Kenapa Python?”

26 of 58

Python umum di dunia teknologi karena tiga pilar utama:

  1. Kemudahan dan Kecepatan Pengembangan

Sintaks Python yang mudah dibaca dan ringkas mengurangi waktu yang diperlukan untuk menulis, membaca, dan memelihara kode.

  1. Dukungan Komunitas dan Fleksibilitas

Python memiliki komunitas yang sangat aktif dan besar, yang berarti banyak sumber daya dan dukungan yang tersedia. Fleksibilitasnya memungkinkan Python berintegrasi dengan bahasa lain (seperti C++ dan Java) untuk performa tinggi, dan yang paling penting.

  1. Ekosistem Library yang Luas

Ini adalah kekuatan terbesar Python. Untuk setiap masalah di bidang data, hampir pasti ada library Python yang bisa menyelesaikannya.

    • Untuk AI & ML: Ada Scikit-learn (untuk model ML klasik), TensorFlow dan PyTorch (untuk deep learning dan jaringan saraf tiruan / Neural Network), dan NLTK (untuk pemrosesan bahasa alami / NLP).
    • Untuk Data Analisis: Ada Pandas (untuk manipulasi data) dan NumPy (untuk komputasi numerik).
    • Untuk Visualisasi: Ada Matplotlib dan Seaborn (untuk membuat grafik yang informatif).

Kenapa Python?

27 of 58

Kenapa Python?

Mudah

Komunitasnya Besar

Banyak library penunjang

28 of 58

Pertanyaan?

29 of 58

It’s Kahoot Time..

30 of 58

Menjalankan Python

31 of 58

Menjalankan Python

CLI

Python Script

Notebook

32 of 58

Notebook

Jupyter

Google Colab

VSCode

33 of 58

Notebook

Jupyter

Google Colab

VSCode

  1. Download https://www.anaconda.com/download/success
  2. Install
  3. Buka “Anacoda Navigator”
  4. Pilih “Notebook” / “Jupyter Lab”
  1. Buka https://colab.research.google.com/
  2. Pilih “New Notebook”
  1. Download https://www.anaconda.com/download/success
  2. Install
  3. Pastikan bisa menjalankan “python” di terminal / cmd
  4. Buka “Visual Studio Code”
  5. Buka menu “Extentions”
  6. Install Extention “Python” & “Jupyter”
  7. Buat file baru dengan filename “nama_file.ipynb

34 of 58

Mencoba Python

print("Hi Jamkrindo!")

print(1 + 1)

35 of 58

Pertanyaan?

36 of 58

Syntax, Indentation, dan Print Statements

37 of 58

Syntax

38 of 58

Syntax adalah aturan yang menentukan bagaimana menulis kode agar valid.

Jika melanggar aturan ini, Python akan menampilkan syntax error.

Contoh aturan sederhana:

  • gunakan tanda kutip ('' atau "”) untuk teks
  • tanda kurung () saat memanggil fungsi seperti print()
  • dll

Konsep

39 of 58

Praktik

print("Ini adalah teks yang benar")

print('Teks ini juga benar')

Benar ✅

print("Teks ini salah') # Kutip pembuka & penutup berbeda

print(Teks ini juga salah) # Teks tidak diapit kutip

Salah ❌

40 of 58

Indentation

41 of 58

Indentation adalah spasi atau tab di awal baris kode.

Python menggunakannya untuk mendefinisikan blok kode, seperti dalam if statement. Umumnya, satu tingkat indentasi adalah empat spasi. Jika Anda salah melakukannya, Python akan memunculkan IndentationError.

Konsep

42 of 58

Praktik

if 5 > 2:

print("5 lebih besar dari 2")

print("Indentasi di sini sangat penting")

Benar ✅

if 5 > 2:

print("Baris ini salah karena tidak ada indentasi")

Salah ❌

43 of 58

Pertanyaan?

44 of 58

Print

45 of 58

Fungsi print() adalah perintah dasar untuk menampilkan output ke layar. Anda bisa menampilkan berbagai jenis data dan menggabungkannya.

Konsep

46 of 58

Praktik

print("Selamat datang di Coffee Shop!")

print('Analisis data hari ini:')

print(1500000)

print(1_500_000)

print("Jumlah pesanan hari ini:", 150)

print("Total pendapatan:", 1_500_000, "Rupiah")

# Contoh sep

print("Kopi", "Latte", "Donat", sep="-")

# Contoh end

print("Laporan pendapatan", end=" ")

print("sudah selesai.")

47 of 58

Pertanyaan?

48 of 58

It’s Kahoot Time..

49 of 58

Komentar dan Keterbacaan Kode

50 of 58

Bagaimana kita bisa membuat kode kita mudah dipahami oleh diri sendiri dan orang lain?

Masalah

51 of 58

Komentar

Apa pun yang ditulis setelah simbol komentar ini dalam satu baris akan diabaikan oleh interpreter Python. Komentar tidak memengaruhi cara kerja program Anda.

Gaya penulisan komentar:

  1. Komentar Sebaris (#)

Digunakan untuk penjelasan singkat di samping baris kode.

  1. Komentar Blok (#)

Digunakan untuk menjelaskan satu blok kode. Biasanya ditempatkan di atas blok kode tersebut.

  1. Docstring (""" """)

Ini adalah jenis khusus dari komentar blok yang digunakan untuk mendokumentasikan blok kode yang lebih besar.

Solusi

52 of 58

Praktik

# Ini adalah komentar satu baris yang menjelaskan kode di bawahnya.

print("Halo, selamat datang!")

print("Rp.", 200_000) # Ini adalah komentar dalam satu baris

"""

Ini adalah contoh komentar blok.

Komentar ini bisa digunakan untuk

penjelasan yang lebih panjang.

"""

print("Analisis data sedang dimulai...")

53 of 58

Praktik

# =======================================================

# Laporan Harian Sederhana

# =======================================================

# Mencetak informasi pendapatan harian

print("Total pendapatan harian:")

print(1500000) # Angka ini adalah total pendapatan hari ini

# Mencetak informasi jumlah pesanan

print("Jumlah pesanan:")

print(150) # Angka ini adalah total pesanan yang masuk

"""

=========================================================

Catatan Tambahan:

Laporan ini bisa digunakan untuk melihat performa harian

dan membuat keputusan promosi di masa depan.

=========================================================

"""

print("Laporan selesai.")

54 of 58

Pertanyaan?

55 of 58

It’s Kahoot Time..

56 of 58

Exercise

1. Tugas Essay

Petunjuk: Jawablah pertanyaan-pertanyaan berikut dengan jelas dan ringkas. Fokus pada pemahaman konsep dan cara Anda berpikir.

  1. Studi Kasus Coffee Shop dan 5V Big Data: Bayangkan Anda adalah manajer operasional di sebuah coffee shop. Jelaskan bagaimana Anda bisa menerapkan setiap dari 5V Big Data (Volume, Velocity, Variety, Veracity, Value) untuk mengoptimalkan operasional dan meningkatkan keuntungan. Berikan contoh spesifik untuk setiap V.
  2. Machine Learning vs. Pemikiran Manusia: Jelaskan dengan kata-kata Anda sendiri, mengapa Machine Learning dapat membantu pemilik coffee shop membuat keputusan yang lebih baik dibandingkan dengan hanya mengandalkan intuisi atau pengalaman pribadi? Berikan satu contoh masalah yang sulit dipecahkan dengan intuisi tetapi mudah dipecahkan oleh Machine Learning.
  3. Peran Python dan Keterbacaan Kode: Mengapa Python menjadi "lingua franca" untuk Data Science? Berikan alasan-alasan yang kuat. Lalu, mengapa penting untuk menulis kode yang mudah dibaca (readable code)? Jelaskan bagaimana komentar dan gaya penulisan yang baik dapat membantu dalam proyek analisis data di coffee shop.

57 of 58

2. Tugas Praktik

Petunjuk: Gunakan Notebook untuk menyelesaikan semua tugas di bawah ini. Pastikan untuk menambahkan komentar (#) di setiap langkah untuk menjelaskan apa yang Anda lakukan.

  1. Mencetak Informasi Sederhana:
    • Gunakan perintah print() untuk mencetak pesan "Selamat Datang di Analisis Data Coffee Shop!".
    • Cetak nama produk favorit Anda dari coffee shop.
    • Cetak satu baris angka yang menunjukkan total penjualan harian (misal: 1500000).
  2. Mencetak dengan Gaya yang Berbeda:
    • Gunakan perintah print() untuk mencetak "Kopi", "Donat", dan "Croissant" dalam satu baris, dipisahkan oleh tanda koma. (Hint: Gunakan parameter sep).
    • Cetak "Laporan penjualan" dan "sudah selesai" di baris yang sama. (Hint: Gunakan parameter end).

Exercise

58 of 58

2. Tugas Praktik

  1. Membuat Struktur Kode dengan Indentasi:
    • Tulis sebuah if statement dengan kondisi 5000 > 1000.
    • Di dalamnya, gunakan indentasi yang benar (4 spasi) dan cetak dua pesan berbeda.
    • Tambahkan komentar di setiap baris print() untuk menjelaskan outputnya.
  2. Membuat Kesalahan (Belajar dari Error):
    • Tulis sebuah print() statement yang sengaja Anda buat salah (misal: hilangkan tanda kutip atau kurung penutup).
    • Jalankan kode tersebut dan salin pesan error yang muncul.
    • Tambahkan komentar yang menjelaskan mengapa error tersebut terjadi.
  3. Menggunakan Komentar & Keterbacaan:
    • Tulis kode untuk mencetak laporan sederhana (misal: nama produk dan harganya).
    • Di atas kode tersebut, gunakan komentar blok (#) untuk memberikan judul laporan.
    • Tambahkan komentar sebaris di setiap baris cetakan untuk menjelaskan apa yang dicetak.
    • Pastikan kode Anda memiliki spasi yang rapi dan mudah dibaca.

Exercise