Function
Apa Itu Fungsi?
Fungsi adalah blok kode yang dirancang untuk melakukan tugas tertentu.
Memungkinkan kita untuk menggunakan kembali kode yang sama berulang kali.
Contoh:
Struktur Dasar Fungsi
def adalah keyword untuk mendefinisikan fungsi.
Diikuti oleh nama fungsi dan tanda kurung ().
Dalam kurung bisa berisi parameter (opsional).
Diakhiri dengan tanda titik dua :.
Isi fungsi berada dalam indentasi (body).
Pemanggilan fungsi dilakukan dengan menulis nama fungsi
dan tanda kurung.
Docstring
Docstring adalah komentar deskriptif dalam triple quotes """.
Digunakan untuk menjelaskan apa yang dilakukan fungsi tersebut.
Contoh:
Memberikan Informasi ke Fungsi Mengirim data ke
dalam fungsi menggunakan parameter:
Contoh Program dengan int()
Parameter vs Argumen
Parameter: Variabel dalam definisi fungsi (contoh: username).
Argumen: Nilai yang dikirimkan saat fungsi dipanggil (contoh:
'jesse').
Contoh:
Catatan: Kadang istilah "parameter" dan "argumen" digunakan
secara bergantian.
Latihan
Coba Sendiri (Try It Yourself)
8-1. Message: Tulislah fungsi display_message() yang mencetak:
"Saya sedang belajar tentang fungsi di Python."
8-2. Favorite Book: Tulislah fungsi favorite_book(title) yang
mencetak: "Salah satu buku favorit saya adalah ." Contoh
pemanggilan:
Memahami While
Loops dalam
Python
Perbedaan For dan While Loop
For loop: Menjalankan blok kode untuk setiap item dalam
koleksi.
While loop: Menjalankan blok kode selama kondisi tertentu
benar.
Struktur Dasar While Loop
Loop akan terus berjalan selama kondisi bernilai True.
Contoh Sederhana While Loop
Output: 1, 2, 3, 4, 5
Loop berhenti saat current_number > 5
Aplikasi While Loop
Game: tetap berjalan selama pemain bermain.
Aplikasi interaktif: tetap aktif sampai pengguna keluar.
Program bisa menjadi tidak menyenangkan jika tidak berhenti
pada waktu yang tepat.
Pengguna Menentukan Kapan Keluar
Program berulang menampilkan prompt sampai user mengetik
'quit'.
Mencegah 'quit' Dicetak
Tambahan if mencegah mencetak 'quit' sebagai pesan.
Menggunakan Flag (Bendera)
Flag active mengontrol apakah loop terus berjalan.
Cocok untuk program kompleks dengan banyak kondisi keluar.
Keluar dari Loop dengan break
while True membuat loop tak terbatas sampai break dipanggil.
Menggunakan continue dalam Loop
continue melewati sisa kode dan kembali ke awal loop.
Mencetak hanya angka ganjil dari 1 sampai 9.
Hindari Infinite Loop
Tanpa x += 1, loop tidak pernah berhenti.
Loop mencetak 1 terus-menerus.
Tips Menghindari Infinite Loop:
Selalu pastikan kondisi akan menjadi False.
Tes program dan pastikan input yang diharapkan bisa
menghentikan loop.
Hindari Infinite Loop
💡 7-4. Topping Pizza
Tulis sebuah loop yang meminta pengguna untuk memasukkan serangkaian topping pizza sampai mereka
memasukkan nilai 'quit'.
Setiap kali mereka memasukkan topping, cetak pesan yang mengatakan bahwa topping tersebut akan ditambahkan ke
pizza mereka.
💡 7-5. Tiket Bioskop
Sebuah bioskop mengenakan harga tiket yang berbeda tergantung pada usia seseorang:
Jika seseorang berusia di bawah 3 tahun, tiketnya gratis.
Jika mereka berusia antara 3 hingga 12 tahun, tiketnya $10.
Jika mereka berusia lebih dari 12 tahun, tiketnya $15.
Tulis sebuah loop yang menanyakan usia pengguna, kemudian beri tahu mereka berapa harga tiket mereka.
💡 7-6. Tiga Cara Keluar
Tulis versi berbeda dari latihan 7-4 atau 7-5 yang masing-masing menggunakan salah satu dari hal berikut setidaknya
sekali:
Gunakan pengujian kondisi langsung pada pernyataan while untuk menghentikan loop.
Gunakan variabel aktif (active variable) untuk mengendalikan berapa lama loop berjalan.
Gunakan pernyataan break untuk keluar dari loop saat pengguna memasukkan nilai 'quit'.
💡 7-7. Tak Terbatas
Tulis sebuah loop yang tidak pernah berakhir, dan jalankanlah.
(Untuk menghentikan loop, tekan ctrl-C atau tutup jendela yang menampilkan output.)
Menggunakan
While Loop
dengan List dan
Dictionary
Kenapa While Loop?
Sebelumnya kita hanya mengelola satu input pengguna sekali waktu.
Untuk melacak banyak pengguna dan informasi lainnya, kita gunakan:
List: menyimpan banyak data
Dictionary: menyimpan pasangan kunci-nilai
for loop cocok untuk membaca list, tapi tidak disarankan untuk
mengubah isi list saat menggunakan for.
while loop memungkinkan modifikasi list secara aman saat iterasi.
Memindahkan Item antar List
Contoh Kasus: Verifikasi pengguna baru
Penjelasan Proses
pop() menghapus elemen terakhir dari unconfirmed_users
Ditambahkan ke confirmed_users
Proses terus berjalan sampai unconfirmed_users kosong
Hasil akhir:
Menghapus Semua Nilai Tertentu
Masalah: Ingin menghapus semua nilai 'cat' dari list
Mengisi Dictionary dengan Input Pengguna
Contoh Program Polling:
Hasil Contoh Polling
Latihan
Latihan Mandiri - 7.8 Deli
Instruksi:
Buat list sandwich_orders berisi beberapa sandwich.
Buat list kosong finished_sandwiches
Gunakan loop untuk:
Cetak: "I made your ___ sandwich."
Pindahkan sandwich ke finished_sandwiches
Setelah semua selesai, cetak semua sandwich yang dibuat.
Latihan Mandiri - 7.9 No Pastrami
Tambahan dari 7.8:
Pastikan 'pastrami' muncul minimal 3x di sandwich_orders
Cetak: "Deli kehabisan pastrami."
Gunakan while untuk menghapus semua 'pastrami'
Pastikan tidak ada pastrami di finished_sandwiches
Latihan
Latihan Mandiri - 7.10 Dream Vacation
Instruksi:
Tulis program polling impian liburan:
Pertanyaan: "Jika kamu bisa mengunjungi satu tempat di dunia, ke mana kamu akan
pergi?"
Simpan hasil polling dalam dictionary
Cetak hasil polling setelah semua selesai