๐Ÿค– KODING & KECERDASAN ARTIFISIAL โ€ข GOOGLE COLAB

Mengenal Machine Learning dalam Python pada Google Colab

Mengenal cara kerja Machine Learning dengan contoh sederhana: menggunakan data jam belajar dan nilai untuk membuat model yang belajar dari data, kemudian melakukan prediksi nilai.

Bagian 1

๐ŸŽฏ Tujuan Pembelajaran

Setelah mempelajari materi ini, siswa diharapkan mampu:

  1. Menjelaskan pengertian Machine Learning dengan bahasa sederhana.
  2. Menjelaskan hubungan antara data, fitur, target, dan model.
  3. Membedakan data untuk belajar dan data untuk pengujian.
  4. Menggunakan Python pada Google Colab untuk membuat model sederhana.
  5. Mengenal regresi linear sebagai salah satu metode Machine Learning.
  6. Menggunakan library scikit-learn.
  7. Membuat model berdasarkan data jam belajar dan nilai.
  8. Menggunakan model untuk menghasilkan prediksi.
  9. Menjelaskan hasil model secara hati-hati berdasarkan data.
Tujuan utama: siswa memahami bahwa Machine Learning bukan sekadar โ€œmenebakโ€, tetapi proses membuat komputer mempelajari pola dari data untuk menghasilkan prediksi atau keputusan.
Bagian 2

โ˜๏ธ Machine Learning di Google Colab

Google Colab memungkinkan kita menjalankan Python melalui browser. Untuk pembelajaran Machine Learning, Colab sangat praktis karena kode dapat ditulis, dijalankan, dan hasilnya langsung terlihat di notebook.

2
Pilih New Notebook.
3
Buat code cell untuk Python.
4
Jalankan kode dengan tombol โ–ถ atau Shift + Enter.
print("Saya sedang belajar Machine Learning!")
Tips: Jalankan kode dari atas ke bawah agar variabel dan library yang dibutuhkan sudah tersedia ketika digunakan.
Bagian 3

๐Ÿค– Apa itu Machine Learning?

Machine Learning (ML) adalah pendekatan dalam kecerdasan artifisial yang memungkinkan komputer mempelajari pola dari data sehingga dapat menghasilkan prediksi atau keputusan berdasarkan pola tersebut.

Dalam pemrograman biasa, kita sering menuliskan aturan secara langsung. Dalam Machine Learning, kita memberikan contoh data kepada algoritma sehingga model dapat menemukan pola matematis dari data tersebut.

๐Ÿง‘โ€๐Ÿ’ป Pemrograman biasaKita menulis aturan โ†’ komputer menjalankan aturan โ†’ menghasilkan output.
๐Ÿค– Machine LearningData + algoritma โ†’ model belajar pola โ†’ model digunakan untuk prediksi.
Data
โ†’
Algoritma
โ†’
Model
โ†’
Prediksi
Contoh sederhana: Kita memiliki data jam belajar dan nilai. Model dapat mempelajari pola hubungan pada data tersebut, lalu digunakan untuk memperkirakan nilai berdasarkan jumlah jam belajar tertentu.
Bagian 4

๐Ÿง  Konsep Dasar Machine Learning

1. Dataset

Dataset adalah kumpulan data yang digunakan untuk analisis atau pembelajaran model.

2. Fitur (Feature)

Fitur adalah informasi yang digunakan model sebagai masukan. Dalam contoh kita, jam belajar menjadi fitur.

3. Target

Target adalah nilai yang ingin diprediksi. Dalam contoh kita, nilai menjadi target.

4. Model

Model adalah hasil pembelajaran algoritma terhadap data. Model menerima input baru dan menghasilkan output berdasarkan pola yang telah dipelajari.

5. Prediksi

Prediksi adalah hasil yang diberikan model ketika kita memasukkan data baru.

IstilahContoh pada materiPenjelasan sederhana
DatasetJam belajar + nilaiKumpulan contoh data.
FeatureJam belajarData masukan untuk model.
TargetNilaiData yang ingin diprediksi.
ModelRegresi LinearPola matematis yang dipelajari dari data.
PrediksiNilai untuk jam belajar baruOutput model.
Bagian 5

๐Ÿ—ƒ๏ธ Dataset Contoh: Jam Belajar dan Nilai

Kita akan menggunakan dataset sederhana agar konsep Machine Learning mudah dipahami.

Jam BelajarNilai
155
260
368
475
582
688
jam_belajar = [1, 2, 3, 4, 5, 6]
nilai = [55, 60, 68, 75, 82, 88]

print("Jam belajar:", jam_belajar)
print("Nilai:", nilai)
Perhatikan: setiap baris merupakan satu contoh. Jam belajar dan nilai pada posisi yang sama merupakan pasangan data.
Bagian 6

๐Ÿ” Fitur dan Target

Sebelum membuat model, kita harus menentukan apa yang menjadi input dan apa yang menjadi output.

Fitur / XJam belajar โ†’ digunakan sebagai informasi masukan.
Target / yNilai โ†’ menjadi informasi yang ingin diprediksi.

Secara sederhana:

X = Jam Belajar
โ†’
Model ML
โ†’
y = Nilai

Dalam Python dan scikit-learn, fitur biasanya ditulis sebagai data berbentuk dua dimensi, sedangkan target biasanya berbentuk satu dimensi.

X = [[1], [2], [3], [4], [5], [6]]
y = [55, 60, 68, 75, 82, 88]
Kesalahan umum: X pada scikit-learn untuk satu fitur tetap perlu berbentuk seperti [[1], [2], [3]], bukan hanya [1, 2, 3].
Bagian 7

๐Ÿ“ˆ Mengenal Regresi Linear

Regresi linear adalah salah satu metode yang dapat digunakan untuk memodelkan hubungan antara variabel input dan target menggunakan hubungan garis lurus.

Untuk pembelajaran dasar, bayangkan kita memiliki titik-titik data pada grafik. Model regresi linear mencari garis yang paling sesuai dengan pola titik-titik tersebut.

Data latihan
โ†’
Cari pola garis
โ†’
Model regresi
โ†’
Prediksi

Bentuk sederhananya dapat ditulis:

y = a + bx

x = fitur/input, y = nilai prediksi, a = intercept, dan b = koefisien/slope.

Siswa tidak perlu menghitung rumus secara manual pada tahap awal. Library scikit-learn dapat membantu melakukan proses tersebut.

Bagian 8

๐Ÿงฐ Scikit-learn

scikit-learn adalah library Python yang menyediakan banyak algoritma Machine Learning. Pada materi ini kita menggunakan LinearRegression.

from sklearn.linear_model import LinearRegression
PerintahFungsi
LinearRegression()Membuat objek model regresi linear.
model.fit(X, y)Melatih model menggunakan data.
model.predict(X_baru)Menghasilkan prediksi untuk data baru.
model.coef_Melihat koefisien model.
model.intercept_Melihat intercept model.
Bagian 9

๐Ÿ’พ Menyiapkan Data untuk Model

Kita ubah data menjadi bentuk yang mudah diproses scikit-learn.

X = [[1], [2], [3], [4], [5], [6]]
y = [55, 60, 68, 75, 82, 88]

print("Fitur:", X)
print("Target:", y)

Mengapa X menggunakan tanda kurung ganda?

Karena scikit-learn mengharapkan fitur dalam bentuk jumlah data ร— jumlah fitur. Kita memiliki 6 data dan 1 fitur, sehingga bentuknya 6 ร— 1.

Bayangkan seperti tabel: setiap baris adalah satu siswa/contoh data, sedangkan kolom adalah fitur yang digunakan.
Bagian 10

โœ‚๏ธ Data Training dan Data Testing

Dalam Machine Learning, kita sering membagi data menjadi data untuk training dan data untuk testing.

  • Training data digunakan untuk membantu model mempelajari pola.
  • Testing data digunakan untuk melihat bagaimana model bekerja pada data yang tidak digunakan saat pelatihan.

Untuk dataset yang lebih besar, kita dapat menggunakan train_test_split().

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42
)
Catatan: dataset contoh kita hanya memiliki 6 baris. Untuk pembelajaran konsep sederhana, kita dapat melatih model dengan seluruh data terlebih dahulu. Untuk evaluasi Machine Learning yang lebih serius, gunakan dataset yang lebih banyak dan pisahkan data training/testing atau gunakan validasi yang sesuai.
Bagian 11

๐Ÿง  Membuat dan Melatih Model

Langkah utama berikutnya adalah membuat model dan melatihnya dengan data.

from sklearn.linear_model import LinearRegression

model = LinearRegression()
model.fit(X, y)

print("Model berhasil dilatih.")

Apa yang terjadi saat fit()?

Metode fit() digunakan untuk membuat model mempelajari pola hubungan antara fitur dan target berdasarkan data yang diberikan.

Ingat tiga langkah: buat model โ†’ fit() untuk belajar โ†’ predict() untuk memprediksi.
Bagian 12

๐Ÿ”ฎ Melakukan Prediksi

Setelah model dilatih, kita dapat memberikan data baru.

Misalnya kita ingin melihat prediksi nilai untuk siswa yang belajar selama 7 jam.

jam_baru = [[7]]

prediksi = model.predict(jam_baru)

print("Prediksi nilai:", prediksi[0])

Nilai yang keluar merupakan prediksi model, bukan jaminan nilai sebenarnya.

Penting: contoh ini digunakan untuk memahami konsep. Model belajar dari dataset yang sangat kecil sehingga hasil prediksi tidak boleh dianggap sebagai aturan pasti bahwa jumlah jam belajar tertentu selalu menghasilkan nilai tertentu.
Bagian 13

๐Ÿ“ Evaluasi Sederhana

Model perlu dievaluasi untuk mengetahui seberapa baik prediksinya pada data tertentu. Salah satu ukuran yang umum pada regresi adalah Rยฒ (R-squared).

r2 = model.score(X, y)

print("Rยฒ:", r2)

Nilai Rยฒ menggambarkan seberapa baik model menjelaskan variasi target pada data yang digunakan untuk menghitung skor tersebut. Pada contoh yang sangat kecil seperti ini, jangan menganggap nilai skor sebagai bukti bahwa model akan bekerja sama baiknya pada data baru.

Prinsip penting: semakin baik model pada data latihan belum tentu berarti semakin baik pada data yang belum pernah dilihat. Inilah salah satu alasan mengapa data testing penting.
Bagian 14

๐ŸŽฏ Praktik Lengkap โ€” Prediksi Nilai dari Jam Belajar

Ikuti langkah berikut di Google Colab. Kode dapat dijalankan dari atas ke bawah.

Langkah 1 โ€” Import library

import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

Langkah 2 โ€” Membuat dataset

X = [[1], [2], [3], [4], [5], [6]]
y = [55, 60, 68, 75, 82, 88]

Langkah 3 โ€” Membuat model

model = LinearRegression()
model.fit(X, y)

Langkah 4 โ€” Melihat pola data

plt.scatter(X, y, label="Data")
plt.plot(X, model.predict(X), label="Garis Model")

plt.title("Jam Belajar dan Nilai")
plt.xlabel("Jam Belajar")
plt.ylabel("Nilai")
plt.legend()
plt.grid()
plt.show()

Langkah 5 โ€” Prediksi

jam_baru = [[7]]
prediksi = model.predict(jam_baru)

print("Jika jam belajar =", jam_baru[0][0])
print("Prediksi nilai =", round(prediksi[0], 2))

Langkah 6 โ€” Melihat parameter model

print("Koefisien:", model.coef_[0])
print("Intercept:", model.intercept_)
Aktivitas: ubah jam_baru menjadi [[8]], [[10]], atau nilai lain. Bandingkan hasil prediksi dan jelaskan bahwa hasil tersebut merupakan keluaran model berdasarkan pola data yang tersedia.
Bagian 15

๐Ÿ’ฌ Diskusi dan Analisis

Setelah menjalankan praktik, diskusikan pertanyaan berikut:

  1. Bagaimana bentuk pola antara jam belajar dan nilai pada grafik?
  2. Apa yang terjadi pada prediksi ketika nilai jam belajar diubah?
  3. Mengapa prediksi tidak boleh dianggap sebagai nilai pasti?
  4. Apa kelemahan dataset yang hanya memiliki sedikit contoh?
  5. Data apa lagi yang mungkin relevan jika kita ingin membuat model prediksi nilai yang lebih lengkap?

Contoh kesimpulan yang aman

โ€œPada dataset contoh, terdapat pola nilai yang cenderung meningkat ketika jumlah jam belajar meningkat. Model regresi linear digunakan untuk mempelajari pola tersebut dan menghasilkan prediksi untuk input baru.โ€

Jangan menyimpulkan sebab-akibat hanya dari dataset ini. Banyak faktor lain dapat memengaruhi nilai, misalnya metode belajar, tingkat kesulitan soal, kondisi siswa, waktu belajar efektif, dan faktor lainnya.
Bagian 16

๐Ÿ“ 5 Latihan Soal

Soal 1. Apa yang dimaksud dengan Machine Learning?
Lihat pedoman jawaban
Machine Learning adalah pendekatan yang memungkinkan komputer mempelajari pola dari data untuk menghasilkan prediksi atau keputusan.
Soal 2. Pada dataset jam belajar dan nilai, mana yang menjadi fitur dan mana yang menjadi target?
Lihat jawaban
Fitur adalah jam belajar, sedangkan target adalah nilai yang ingin diprediksi.
Soal 3. Apa fungsi model.fit(X, y)?
Lihat jawaban
fit() digunakan untuk melatih model dengan data fitur dan target sehingga model mempelajari pola dari data tersebut.
Soal 4. Apa fungsi model.predict()?
Lihat jawaban
predict() digunakan untuk menghasilkan prediksi dari data input yang diberikan kepada model yang sudah dilatih.
Soal 5. Mengapa kita tidak boleh menganggap prediksi model sebagai nilai yang pasti benar?
Lihat jawaban
Karena model belajar dari data yang tersedia. Jika datanya sedikit, tidak lengkap, atau berbeda dengan kondisi baru, hasil prediksi dapat berbeda dari keadaan sebenarnya.
Bagian 17

๐Ÿ› ๏ธ 5 Tugas Praktik

Tugas 1 โ€” Mengenali Dataset

Buat dataset sederhana berisi minimal 8 baris data tentang satu objek yang memiliki satu fitur dan satu target. Tentukan mana yang menjadi fitur dan mana yang menjadi target.

Output: tabel dataset dan penjelasan fitur-target.

Tugas 2 โ€” Grafik Data

Gunakan dataset jam belajar dan nilai. Buat scatter plot menggunakan Matplotlib. Tambahkan judul, label sumbu X dan Y, serta grid.

Output: grafik dan dua kesimpulan berdasarkan pola yang terlihat.

Tugas 3 โ€” Model Regresi Linear

Buat model LinearRegression menggunakan dataset jam belajar dan nilai. Latih model dengan fit(), kemudian lakukan prediksi untuk minimal tiga input baru.

Output: kode, tiga hasil prediksi, dan penjelasan singkat.

Tugas 4 โ€” Membandingkan Prediksi

Gunakan dataset buatan guru atau dataset sederhana minimal 10 baris. Buat model regresi linear dan tampilkan data asli serta garis model dalam satu grafik.

Output: grafik, hasil prediksi, dan minimal tiga kesimpulan.

Tugas 5 โ€” Mini Proyek Machine Learning

Buat notebook Google Colab dengan alur lengkap: dataset โ†’ menentukan fitur dan target โ†’ visualisasi โ†’ membuat model โ†’ training โ†’ prediksi โ†’ evaluasi โ†’ kesimpulan.

Gunakan minimal 10 baris data dan satu metode Machine Learning sederhana. Jelaskan setiap langkah dengan bahasa sendiri.

Bonus: Tambahkan satu fitur tambahan dan jelaskan apakah fitur tersebut dapat membantu menjelaskan target berdasarkan data yang tersedia.

Checklist Pengumpulan

Bagian 18

๐Ÿ“Œ Ringkasan

  1. Machine Learning membuat komputer mempelajari pola dari data.
  2. Dataset adalah kumpulan contoh yang digunakan dalam proses pembelajaran.
  3. Feature adalah data masukan yang digunakan model.
  4. Target adalah nilai yang ingin diprediksi.
  5. Model adalah pola matematis yang dipelajari dari data.
  6. LinearRegression dapat digunakan untuk mengenal regresi linear.
  7. fit() digunakan untuk melatih model.
  8. predict() digunakan untuk membuat prediksi.
  9. Data training dan testing membantu kita memisahkan proses belajar dan pengujian.
  10. Visualisasi membantu memahami pola sebelum atau sesudah membuat model.
  11. Prediksi bukan jaminan hasil sebenarnya.
  12. Dataset yang sedikit dapat membuat pembelajaran model menjadi terbatas.
Kalimat kunci: โ€œMachine Learning belajar dari data untuk menemukan pola, lalu menggunakan pola tersebut untuk menghasilkan prediksi pada data baru.โ€
Bagian 19

๐Ÿ’ญ Refleksi Siswa

  1. Apa yang dimaksud dengan Machine Learning?
  2. Apa perbedaan fitur dan target?
  3. Apa fungsi fit()?
  4. Apa fungsi predict()?
  5. Mengapa dataset yang lebih banyak dan beragam biasanya penting dalam pembelajaran model?
  6. Apa yang kamu pahami tentang regresi linear?
  7. Mengapa hasil prediksi tidak boleh dianggap sebagai kepastian?
  8. Bagian praktik mana yang paling mudah?
  9. Bagian mana yang masih membingungkan?
Refleksi lanjutan: Jika kamu ingin membuat model untuk memprediksi harga rumah, data apa saja yang menurutmu dapat menjadi fitur? Jelaskan alasanmu.
Referensi Praktik

๐Ÿ“š Google Colab

Gunakan Google Colab untuk menjalankan seluruh contoh kode pada materi ini.

Materi Pembelajaran Koding dan Kecerdasan Artifisial โ€ข Python โ€ข Google Colab โ€ข Mengenal Machine Learning