Pengantar Pemrograman Python
Pelajari Python, bahasa pemrograman yang populer, mencakup konsep dasar untuk berbagai bidang seperti pengembangan web dan perangkat lunak, ilmu data, serta jaminan kualitas. Keterampilan yang dipelajari meliputi menulis program Python 3 dan menyederhanakan kode.
Gambaran Umum Kursus
📚 Gambaran Kursus
Pelajari Python, bahasa pemrograman yang populer, mencakup konsep inti untuk berbagai bidang seperti pengembangan web dan perangkat lunak, ilmu data, serta pengujian kualitas. Keterampilan yang dipelajari meliputi menulis program Python 3 dan menyederhanakan kode.
Ringkasan singkat tujuan utama: Kuasai dasar-dasar Python, alur kontrol, struktur data (List, String, Dictionary), fungsi, modul, dan penanganan file, diakhiri dengan pengantar Pemrograman Berorientasi Objek.
🎯 Tujuan Pembelajaran
- Tulis dan jalankan skrip Python 3 dasar, menerapkan sintaks dasar dan tipe data bawaan (int, float, str).
- Terapkan logika program kompleks menggunakan struktur alur kontrol (if/else, loop for/while) untuk mengatur jalur eksekusi.
- Rancang dan gunakan fungsi serta modul untuk mengorganisasi program agar lebih mudah digunakan kembali dan dikelola.
- Kelola data secara efektif menggunakan struktur dasar Python, termasuk List, String, dan Dictionary.
- Berinteraksi dengan sumber data eksternal dengan melakukan operasi Input/Output File (teks, CSV, dan JSON).
🔹 Pelajaran 1: Hello World dan Sintaks Dasar
Gambaran: Pelajaran dasar ini memperkenalkan elemen-elemen inti bahasa pemrograman Python, dimulai dari program "Hello World" tradisional menggunakan fungsi print(). Kita akan menetapkan aturan sintaks penting, mencakup pentingnya indentasi, sensitivitas huruf besar-kecil, dan cara menggunakan komentar secara efektif untuk dokumentasi kode. Fokus signifikan akan diberikan pada variabel, mencakup deklarasi, penugasan, dan tipe data dasar seperti bilangan bulat, pecahan, dan string, yang diperlukan untuk menyimpan harga dan nama barang. Akhirnya, kita akan langsung menerapkan konsep ini dengan membangun kerangka sistem titik penjualan sederhana yang disesuaikan untuk toko furnitur. Aplikasi ini melibatkan mendefinisikan variabel item tertentu (misalnya 'sofa_price', 'quantity') dan melakukan perhitungan aritmetika dasar untuk menentukan total pembelian akhir, memperkuat pemahaman tentang alur operasional Python.
Hasil Pembelajaran:
- Jalankan program standar "Hello World" menggunakan fungsi Python
print(). - Jelaskan dan terapkan aturan sintaks dasar Python, termasuk indentasi yang benar dan penggunaan komentar secara efektif.
- Definisikan, deklarasikan, dan berikan nilai ke variabel menggunakan tipe data dasar yang sesuai (int, float, str).
- Gunakan operator aritmetika dasar untuk melakukan perhitungan sederhana dalam program.
- Bangun struktur awal sistem titik penjualan, mendefinisikan harga item dan menghitung total transaksi.
🔹 Pelajaran 2: Alur Kontrol dan Logika
Gambaran: Pelajaran ini memperkenalkan konsep dasar Alur Kontrol, yang menentukan urutan eksekusi kode dalam program. Kita akan mulai dengan menjelajahi logika Boolean, memahami tipe data bool (True/False) dan operator relasional (misalnya ==, >, <) yang digunakan untuk membuat ekspresi kondisional. Struktur inti, yaitu pernyataan if, akan dibahas secara mendalam, menunjukkan bagaimana mengeksekusi blok kode hanya jika suatu kondisi terpenuhi. Selanjutnya, kita akan mengembangkan hal ini untuk menangani jalur yang saling eksklusif menggunakan pernyataan else dan elif, memungkinkan pohon keputusan kompleks dalam kode Python. Akhirnya, siswa akan menguasai operator logika (and, or, not), yang memungkinkan mereka menggabungkan beberapa cek kondisional secara efisien. Contoh praktis akan fokus pada memeriksa batasan input pengguna dan mengarahkan eksekusi program berdasarkan kriteria tertentu.
Hasil Pembelajaran:
- Definisikan variabel Boolean dan gunakan operator relasional (misalnya ==, >, <) untuk mengevaluasi ekspresi kondisional.
- Buat struktur logika kondisional dasar menggunakan pernyataan
if. - Terapkan logika keputusan multi-peta menggunakan pernyataan
elsedanelif. - Jelaskan peran krusial indentasi dalam menentukan blok alur kontrol Python.
- Terapkan operator logika (
and,or,not) untuk membuat uji kondisional majemuk.
🔹 Pelajaran 3: Bekerja dengan List
Gambaran: Pelajaran ini memperkenalkan list Python, jenis data urutan dasar untuk menyimpan kumpulan yang terurut dan dapat diubah. Kita akan mulai dengan menjelaskan cara membuat list menggunakan tanda kurung siku [] dan menunjukkan kemampuannya menyimpan berbagai jenis data. Mekanisme dasar list—indeks dan slicing—akan dibahas secara luas, menunjukkan kepada siswa bagaimana mengakses elemen tertentu atau bagian sub-secara efisien menggunakan indeks positif (berbasis 0) maupun negatif. Titik teori penting yang dibahas adalah mutabilitas, menjelaskan bahwa list bisa diubah secara langsung setelah dibuat. Contoh praktis akan fokus pada metode manajemen list yang esensial, termasuk menambah elemen (append(), insert()), menghapus elemen (remove(), pop(), kata kunci del), dan menentukan panjang (len()). Siswa akan belajar menyimpan dan memanipulasi kelompok data dinamis secara efektif, keterampilan krusial bagi setiap aplikasi Python.
Hasil Pembelajaran:
- Definisikan dan inisialisasi list di Python menggunakan sintaks yang sesuai, memahami perannya sebagai urutan yang terurut dan dapat diubah.
- Mengakses, memodifikasi, dan mengekstrak elemen atau bagian dari list menggunakan indeks positif, indeks negatif, dan slicing.
- Terapkan metode list dasar seperti
append(),insert(),pop(), danremove()untuk mengelola isi list secara dinamis. - Jelaskan konsep mutabilitas dan bedakan bagaimana konten list dikelola dibandingkan tipe data yang tidak dapat diubah.
🔹 Pelajaran 4: Iterasi dan Loop
Gambaran: Pelajaran ini memperkenalkan konsep iterasi, alat pemrograman dasar yang memungkinkan pengembang mengeksekusi blok kode secara berulang, menghasilkan program yang lebih sederhana dan sangat efisien. Kita akan membongkar dua struktur loop utama di Python: loop for, yang ideal untuk iterasi atas urutan yang diketahui (seperti elemen dalam list atau angka yang dihasilkan oleh fungsi range()), dan loop while, yang dieksekusi terus-menerus selama kondisi Boolean tertentu tetap bernilai True. Kita akan menunjukkan cara membuat loop yang kuat, memastikan kriteria terminasi yang tepat untuk loop while agar tidak menyebabkan eksekusi tak terbatas. Selain itu, kita akan membahas mekanisme kontrol loop khusus, termasuk pernyataan break untuk keluar dari loop seketika, dan pernyataan continue untuk melewati sisa iterasi saat ini dan melanjutkan ke iterasi berikutnya, memungkinkan kontrol alur kompleks untuk solusi iteratif.
Hasil Pembelajaran:
- Bedakan peran struktural antara loop
fordanwhile, serta pilih jenis loop yang sesuai untuk tugas pemrograman tertentu. - Bangun dan gunakan loop
foruntuk iterasi secara efisien atas urutan (seperti List) dan gunakan fungsirange()untuk iterasi numerik. - Implementasikan loop
whileyang aman dan terkendali, memastikan kondisi terminasi yang jelas untuk mencegah eksekusi tak terbatas. - Terapkan pernyataan
breakdancontinueuntuk mengubah alur eksekusi loop standar sesuai kebutuhan kondisional tertentu.
🔹 Pelajaran 5: Reuse Kode dengan Fungsi
Gambaran: Pelajaran ini memperkenalkan konsep penting reuse kode melalui fungsi Python. Siswa pertama kali akan belajar sintaks dasar mendefinisikan fungsi menggunakan kata kunci 'def', memahami pentingnya indentasi yang benar dan dokumen opsional (docstring). Kita akan membahas bagaimana mengatur fungsi agar menerima input melalui parameter (argumen) dan bagaimana mengembalikan output menggunakan pernyataan 'return'. Manfaat inti fungsi—menyederhanakan kode, meningkatkan keterbacaan, dan mencegah redundansi (prinsip DRY)—akan ditekankan. Aplikasi praktis akan melibatkan pemecahan masalah matematika dunia nyata. Siswa akan mendefinisikan dan memanggil fungsi untuk menghitung rumus fisika terkenal, seperti Energi Kinetik atau gaya gravitasi, menunjukkan bagaimana fungsi mengemas logika tertentu untuk digunakan dengan mudah dan berulang dalam program Python apa pun. Hasil Pembelajaran:
- Jelaskan tujuan fungsi dalam pemrograman Python dan jelaskan manfaat reuse kode dan modularitas.
- Bangun dan definisikan fungsi Python sederhana menggunakan kata kunci 'def', mencakup parameter yang sesuai dan konvensi penamaan standar.
- Panggil fungsi yang telah didefinisikan, melewatkan argumen yang dibutuhkan untuk mengeksekusi logika yang dikemas.
- Gunakan pernyataan 'return' untuk menghasilkan hasil dari fungsi untuk penugasan atau perhitungan lebih lanjut.
- Terapkan konsep pemrograman fungsional untuk menerapkan dan menghitung rumus fisika terkenal, seperti menghitung jarak atau kecepatan.
🔹 Pelajaran 6: Memanipulasi String
Gambaran: Pelajaran ini menyelami objek string Python yang kuat, yang merupakan dasar untuk menangani data teks. Kita akan mulai dengan menjelajahi cara membuat string, termasuk penggunaan tanda kutip tunggal vs ganda, dan membahas sifat immutable-nya. Fokus utama akan diberikan pada akses dan pengaturan ulang teks menggunakan indeks dan slicing, yang memungkinkan ekstraksi karakter atau substring tertentu secara efisien. Kita kemudian akan membahas metode penting untuk manipulasi teks, termasuk membersihkan teks menggunakan .strip(), mengubah kasus dengan .lower() dan .upper(), serta memeriksa konten menggunakan metode seperti .startswith(). Akhirnya, siswa akan menguasai proses memecah blok teks besar menjadi daftar kata atau baris menggunakan metode .split() yang kuat, dan kemudian menyusun kembali secara efisien menggunakan metode .join() yang serbaguna, memungkinkan aplikasi pemrosesan teks otomatis.
Hasil Pembelajaran:
- Definisikan objek string Python dan terapkan indeks serta slicing untuk mengakses karakter atau substring tertentu.
- Gunakan metode string umum seperti .upper(), .lower(), dan .strip() untuk membersihkan dan memformat data teks.
- Terapkan teknik interpolasi string menggunakan f-string dan metode .format() untuk penciptaan teks dinamis.
- Tunjukkan penggunaan .split() untuk memecah teks menjadi daftar dan metode .join() untuk menyusun kembali urutan menjadi string.
🔹 Pelajaran 7: Modul Python
Gambaran: Pelajaran ini memperkenalkan konsep penting modul Python, yang memungkinkan organisasi kode dan ekstensi fungsi besar melalui file yang dapat digunakan kembali. Kita akan mendefinisikan apa itu modul (file .py standar) dan menjelaskan mengapa penggunaan modul mendorong reuse kode dan kejelasan. Fokus utama akan difokuskan pada penguasaan pernyataan 'import', mencakup sintaks standar (import module_name), aliasing (import module as alias), dan impor terarah (from module import item) untuk mengelola namespace program secara efektif. Kita akan mengeksplorasi contoh praktis menggunakan modul bawaan dasar dari Python Standard Library, seperti modul math (untuk fungsi seperti sqrt atau konstanta seperti pi) dan modul random. Akhirnya, kita akan menunjukkan cara membuat dan menerapkan modul kustom sederhana untuk mengatur dan menggunakan fungsi Anda sendiri di berbagai file Python.
Hasil Pembelajaran:
- Definisikan apa itu modul Python dan jelaskan perannya dalam memperluas fungsi dan mengorganisasi program besar.
- Gunakan pernyataan
importstandar dan variasinya (aliasing dan impor terarah) dengan benar. - Tunjukkan kemampuan memanggil dan menggunakan fungsi dari modul bawaan umum seperti
mathdanrandom. - Jelaskan bagaimana metode impor yang berbeda memengaruhi namespace program saat ini.
- Buat modul Python kustom sederhana yang berisi fungsi yang dapat digunakan kembali.
🔹 Pelajaran 8: Menggunakan Dictionary
Gambaran: Pelajaran ini membahas dictionary Python, struktur data dasar dan kuat yang digunakan untuk memetakan kunci unik ke nilai tertentu. Kita akan mulai dengan mendefinisikan struktur dictionary menggunakan tanda kurung kurawal dan pasangan kunci-nilai yang dipisahkan koma, menekankan bahwa dictionary bersifat mutable dan dioptimalkan untuk pencarian cepat berdasarkan kunci. Pelajaran akan mencakup operasi penting, termasuk cara mengakses nilai secara efisien menggunakan notasi kurung siku, dan cara menambah pasangan baru atau memodifikasi nilai yang sudah ada secara dinamis. Kita akan mengeksplorasi keterbatasan kunci, mencatat bahwa kunci harus merupakan tipe data yang tidak dapat diubah (seperti string atau tuple). Akhirnya, siswa akan belajar metode penting seperti ".keys()", ".values()", dan ".items()" untuk melihat isi dictionary, dan bagaimana mengiterasi elemen-elemen ini menggunakan loop, memperkuat kemampuan mereka menyimpan dan mengambil data kompleks yang tidak terstruktur secara efektif. Hasil Pembelajaran:
- Definisikan struktur dictionary Python dan jelaskan fungsi utamanya sebagai wadah pemetaan kunci-nilai.
- Bangun dan inisialisasi dictionary menggunakan sintaks literal dan secara benar menugaskan serta mengambil nilai berdasarkan kunci yang sesuai.
- Lakukan operasi CRUD (Create, Read, Update, Delete) pada elemen dictionary menggunakan notasi kurung siku dan kata kunci
del. - Gunakan metode bawaan dictionary, termasuk .keys(), .values(), dan .items(), untuk mengekstrak berbagai tampilan data yang tersimpan secara efisien.
- Terapkan dictionary dalam contoh pemrograman praktis, seperti memodelkan profil pengguna atau mengelola pengaturan konfigurasi.
🔹 Pelajaran 9: Input dan Output File (I/O)
Gambaran: Pelajaran ini memperkenalkan Input dan Output File (I/O) dalam Python, memungkinkan otomatisasi dan persistensi data. Kita mulai dengan menguasai operasi dasar penanganan file: membuka file menggunakan fungsi bawaan open(), menentukan berbagai mode akses (baca 'r', tulis 'w', tambah 'a'), dan memahami peran krusial manajer konteks with open() as f: untuk memastikan file ditutup secara otomatis, mencegah kebocoran sumber daya. Selanjutnya, kita akan mengeksplorasi membaca dan menulis data tidak terstruktur menggunakan file teks standar (.txt). Bagian kedua fokus pada data terstruktur: menggunakan modul csv khusus Python untuk membaca dan menulis nilai yang dipisahkan koma secara efisien, dan menerapkan modul json (khususnya json.load() dan json.dump()) untuk menangani struktur data JSON yang kompleks dan bersarang, yang sangat penting untuk berinteraksi dengan API dan file konfigurasi modern. Penguasaan konsep-konsep ini sangat penting untuk membangun aplikasi Python praktis yang berinteraksi dengan sumber data eksternal.
Hasil Pembelajaran:
- Jelaskan proses dasar penanganan file di Python, termasuk penggunaan fungsi
open()dan menentukan mode baca/tulis/tambah. - Implementasikan pernyataan
with(manajer konteks) untuk mengelola sumber daya file secara aman dan andal, memastikan file selalu ditutup. - Tulis kode Python untuk membaca dan menulis data urutan ke file teks standar (.txt).
- Terapkan modul bawaan
csvuntuk membaca, menganalisis, dan menghasilkan data dalam format CSV secara programatik. - Gunakan modul
jsonuntuk menserialisasi objek Python ke format JSON dan mendekode data JSON kembali ke struktur Python yang dapat digunakan.
🔹 Pelajaran 10: Pengantar Kelas dan Pemrograman Berorientasi Objek
Gambaran: Pelajaran ini memberikan pengantar dasar tentang Pemrograman Berorientasi Objek (OOP) di Python. Kita akan mulai dengan menjelaskan perbedaan antara tipe data bawaan Python (seperti int, str, list) dan struktur kuat yang didefinisikan pengguna, dikenal sebagai kelas. Peserta akan memahami bahwa sebuah kelas berfungsi sebagai cetak biru, sedangkan objek adalah instans konkret yang berasal dari cetak biru tersebut. Kita akan membahas sintaks penting untuk mendefinisikan kelas menggunakan kata kunci class, dengan fokus kuat pada cara menginisialisasi status objek menggunakan metode khusus __init__ (konstruktor) dan bagaimana mendefinisikan metode operasional. Akhirnya, kita akan mengeksplorasi bagaimana konsep-konsep ini memungkinkan enkapsulasi—menggabungkan data dan metode yang bekerja pada data tersebut—dan secara singkat membahas peran antarmuka dalam menentukan kontrak perilaku yang jelas untuk objek, meletakkan dasar bagi arsitektur perangkat lunak kompleks.
Hasil Pembelajaran:
- Bedakan antara tipe data bawaan Python dan tipe kelas yang didefinisikan pengguna.
- Definisikan dan jelaskan perbedaan mendasar antara kelas dan objek (instans).
- Implementasikan kelas Python dasar, termasuk instansiasi dan definisi atribut instans.
- Gunakan metode
__init__(konstruktor) untuk menginisialisasi status objek dengan benar saat pembuatan. - Jelaskan bagaimana enkapsulasi mengatur kode dan berkontribusi terhadap reuse dan keterpeliharaan kode.