• Contoh pertama menghitung basis logaritma 10 dari rasio >>> math.sqrt(2) / 2.0
signal-to-noise. Modul matematika juga menyediakan 0.7071067811865476
fungsi yang disebut log yang menghitung basis logaritma e.
• Contoh kedua menemukan sinus radian. Nama variabel
adalah petunjuk bahwa sin dan fungsi trigonometri lainnya
(cos, tan, dll.) menggunakan argumen dalam radian. Untuk
mengkonversi dari derajat ke radian, bagi dengan 360 dan
kalikan dengan 2π.
• Ekspresi math.pi mendapatkan variabel pi dari modul
matematika. Nilai variabel ini adalah perkiraan , akurat
hingga sekitar 15 digit.
• Jika Anda mengetahui trigonometri Anda, Anda dapat
memeriksa hasil sebelumnya dengan membandingkannya
dengan akar kuadrat dari dua dibagi dua.
Bilangan Random
• Fungsi acak hanyalah salah satu dari banyak fungsi >>> t = [1, 2, 3]
yang menangani bilangan acak. Fungsi randint >>> random.choice(t)
mengambil parameter rendah dan tinggi, dan 2
mengembalikan bilangan bulat antara rendah dan >>> random.choice(t)
tinggi (termasuk keduanya). 3
• Untuk memilih elemen dari urutan secara acak, Anda
dapat menggunakan choice:
• Modul random juga menyediakan fungsi untuk
menghasilkan nilai acak dari distribusi kontinu
termasuk Gaussian, eksponensial, gamma, dan
beberapa lainnya.
Menambahkan Fungsi Baru
def print_lyrics():
print("I'm a lumberjack, and I'm okay.")
print('I sleep all night and I work all day.')
Bagian-Bagian dari Sebuah Fungsi
• def adalah kata kunci yang menunjukkan bahwa ini adalah definisi fungsi. Nama
fungsinya adalah print_lyrics.
• Aturan untuk nama fungsi sama dengan nama variabel: huruf, angka, dan beberapa
tanda baca diperbolehkan, tetapi karakter pertama tidak boleh berupa angka.
• Anda tidak dapat menggunakan kata kunci sebagai nama fungsi, dan Anda harus
menghindari variabel dan fungsi dengan nama yang sama.
• Tanda kurung kosong setelah nama menunjukkan bahwa fungsi ini tidak mengambil
argumen apa pun. Nanti kita akan membangun fungsi yang mengambil argumen sebagai
inputnya.
• Baris pertama dari definisi fungsi disebut header; sisanya disebut tubuh. Header harus
diakhiri dengan titik dua dan body harus menjorok. Dengan konvensi, lekukan selalu
empat spasi. Tubuh dapat berisi sejumlah pernyataan.
Bagaimana Menuliskan Function pada Mode
Interaktif?
>>> def print_lyrics():
... print("I'm a lumberjack, and I'm okay.")
• Jika Anda mengetikkan definisi fungsi ... print('I sleep all night and I work all day.')
dalam mode interaktif, penerjemah ...
akan mencetak elips (...) untuk
memberi tahu Anda bahwa definisi
tersebut belum lengkap. >>> print(print_lyrics)
• Untuk mengakhiri fungsi, Anda harus <function print_lyrics at 0xb7e99e9c>
memasukkan baris kosong (ini tidak >>> print(type(print_lyrics))
diperlukan dalam skrip). <class 'function'>
• Mendefinisikan fungsi membuat
variabel dengan nama yang sama.
• Nilai print_lyrics adalah objek fungsi,
yang memiliki tipe “fungsi”.
Implementasi Fungsi pada Fungsi Lain
>>> print_lyrics()
• Sintaks untuk memanggil fungsi baru sama I'm a lumberjack, and I'm okay.
dengan fungsi bawaan. I sleep all night and I work all day.
• Setelah Anda mendefinisikan suatu fungsi, Anda def repeat_lyrics():
dapat menggunakannya di dalam fungsi lain. print_lyrics()
• Misalnya, untuk mengulang refrein sebelumnya, print_lyrics()
kita bisa menulis sebuah fungsi yang disebut
repeat_lyrics. >>> repeat_lyrics()
I'm a lumberjack, and I'm okay.
• Dan kemudian panggil repeat_lyrics, tapi itu
I sleep all night and I work all day.
tidak benar-benar bagaimana lagunya. I'm a lumberjack, and I'm okay.
I sleep all night and I work all day.
Definisi dan Penggunaan Fungsi
• Menggabungkan bersama-sama fragmen
kode dari bagian sebelumnya, seluruh def print_lyrics():
program terlihat seperti ini. print("I'm a lumberjack, and I'm okay.")
• Program ini berisi dua definisi fungsi: print('I sleep all night and I work all day.')
print_lyrics dan repeat_lyrics. Definisi fungsi
dieksekusi seperti pernyataan lain, tetapi
efeknya adalah membuat objek fungsi. def repeat_lyrics():
• Pernyataan di dalam fungsi tidak dieksekusi print_lyrics()
sampai fungsi dipanggil, dan definisi fungsi print_lyrics()
tidak menghasilkan keluaran.
• Seperti yang Anda harapkan, Anda harus repeat_lyrics()
membuat fungsi sebelum dapat
menjalankannya. Dengan kata lain, definisi
fungsi harus dieksekusi sebelum pertama kali
dipanggil.
Flow Eksekusi Fungsi
• Kedengarannya cukup sederhana, sampai Anda ingat bahwa satu fungsi dapat
memanggil yang lain.
• Saat berada di tengah satu fungsi, program mungkin harus mengeksekusi pernyataan
di fungsi lain. Tetapi saat menjalankan fungsi baru itu, program mungkin harus
menjalankan fungsi lain!
• Untungnya, Python pandai melacak di mana letaknya, jadi setiap kali suatu fungsi
selesai, program mengambil tempat yang ditinggalkannya dalam fungsi yang
memanggilnya. Ketika sampai ke akhir program, itu berakhir.
• Apa moral dari kisah mesum ini? Saat Anda membaca sebuah program, Anda tidak
selalu ingin membaca dari atas ke bawah. Terkadang lebih masuk akal jika Anda
mengikuti alur eksekusi.
Parameter dan Argumen
def print_twice(bruce):
• Beberapa fungsi bawaan yang telah kita lihat print(bruce)
memerlukan argumen. Misalnya, ketika Anda memanggil print(bruce)
math.sin Anda memberikan nomor sebagai argumen.
• Beberapa fungsi membutuhkan lebih dari satu argumen:
math.pow membutuhkan dua, basis dan eksponen. Di
dalam fungsi, argumen ditugaskan ke variabel yang
disebut parameter.
• Berikut adalah contoh fungsi yang ditentukan pengguna
yang mengambil argumen.Fungsi ini memberikan
argumen ke parameter bernama bruce. Ketika fungsi
dipanggil, ia mencetak nilai parameter (apa pun itu) dua
kali.
>>> print_twice('Spam')
Bagaimana Cara agar Fungsi yang Spam
Spam
Dibuat dapat Berjalan? >>> print_twice(17)
17
17
• Fungsi ini bekerja dengan nilai apa pun yang >>> import math
dapat dicetak. >>> print_twice(math.pi)
• Aturan komposisi yang sama yang berlaku 3.141592653589793
untuk fungsi bawaan juga berlaku untuk fungsi 3.141592653589793
yang ditentukan pengguna, jadi kita bisa
menggunakan ekspresi apa pun sebagai >>> print_twice('Spam '*4)
argumen untuk print_twice Spam Spam Spam Spam
• Argumen dievaluasi sebelum fungsi dipanggil, Spam Spam Spam Spam
jadi dalam contoh ekspresi 'Spam '*4 dan >>>
print_twice(math.cos(math.pi))
math.cos(math.pi) hanya dievaluasi satu kali.
-1.0
-1.0
Apalagi yang bisa Dijadikan Argumen?
• Anda juga dapat menggunakan variabel sebagai >>> michael = 'Eric, the half a bee.'
argumen: >>> print_twice(michael)
Eric, the half a bee.
• Nama variabel yang kita lewati sebagai argumen
Eric, the half a bee.
(michael) tidak ada hubungannya dengan nama
parameter (bruce).
• Tidak masalah apa nilainya dipanggil kembali ke
rumah (di pemanggil); di sini di print_twice, kita
panggil semuanya bruce.
Fungsi Bermanfaat dan Fungsi Void
• Mungkin tidak jelas mengapa membagi program menjadi fungsi-fungsi itu sepadan.
Ada beberapa alasan:
• Membuat fungsi baru memberi Anda kesempatan untuk memberi nama sekelompok pernyataan,
yang membuat program Anda lebih mudah dibaca, dipahami, dan di-debug.
• Fungsi dapat membuat program lebih kecil dengan menghilangkan kode berulang. Nanti, jika
Anda membuat perubahan, Anda hanya perlu melakukannya di satu tempat.
• Membagi program yang panjang ke dalam fungsi memungkinkan Anda untuk men-debug bagian
satu per satu dan kemudian merakitnya menjadi satu kesatuan yang berfungsi.
• Fungsi yang dirancang dengan baik seringkali berguna untuk banyak program. Setelah Anda
menulis dan men-debug satu, Anda dapat menggunakannya kembali.
Pentingnya Function (Lanjutan)
• Jika Anda menggunakan editor teks untuk menulis skrip, Anda mungkin
mengalami masalah dengan spasi dan tab. Cara terbaik untuk
menghindari masalah ini adalah dengan menggunakan spasi secara
eksklusif (tanpa tab).
• Sebagian besar editor teks yang tahu tentang Python melakukan ini
secara default, tetapi beberapa tidak. Tab dan spasi biasanya tidak
terlihat, sehingga sulit untuk di-debug, jadi cobalah mencari editor yang
mengelola indentasi untuk Anda.
• Juga, jangan lupa untuk menyimpan program Anda sebelum Anda
menjalankannya. Beberapa lingkungan pengembangan melakukan ini
secara otomatis, tetapi beberapa tidak. Dalam hal ini, program yang Anda
lihat di editor teks tidak sama dengan program yang Anda jalankan.
Ingat!
• algoritma
Sebuah proses umum untuk memecahkan kategori masalah.
• argumen
Nilai yang diberikan ke fungsi saat fungsi dipanggil. Nilai ini ditetapkan ke
parameter yang sesuai dalam fungsi.
• body
Urutan pernyataan di dalam definisi fungsi.
• komposisi
Menggunakan ekspresi sebagai bagian dari ekspresi yang lebih besar, atau
pernyataan sebagai bagian dari pernyataan yang lebih besar.
Glossarium (Tidak Alfabetis – Lanjutan)
• deterministik
Berkaitan dengan program yang melakukan hal yang sama setiap kali dijalankan,
diberikan input yang sama.
• notasi titik
Sintaks untuk memanggil fungsi di modul lain dengan menentukan nama modul
diikuti dengan titik (titik) dan nama fungsi.
• alur eksekusi
Urutan di mana pernyataan dijalankan selama program dijalankan.
• fungsi bermanfaat
Fungsi yang mengembalikan nilai.
Glossarium (Tidak Alfabetis – Lanjutan)
• fungsi
Urutan pernyataan bernama yang melakukan beberapa operasi yang berguna.
Fungsi mungkin atau mungkin tidak mengambil argumen dan mungkin atau
mungkin tidak menghasilkan hasil.
• panggilan fungsi
Pernyataan yang menjalankan suatu fungsi. Ini terdiri dari nama fungsi diikuti
oleh daftar argumen.
• definisi fungsi
Pernyataan yang membuat fungsi baru, menentukan nama, parameter, dan
pernyataan yang dijalankannya.
• objek fungsi
Nilai yang dibuat oleh definisi fungsi. Nama fungsi adalah variabel yang mengacu
pada objek fungsi.
Glossarium (Tidak Alfabetis – Lanjutan)
• header
Baris pertama dari definisi fungsi.
• pernyataan import
Pernyataan yang membaca file modul dan membuat objek modul.
• objek modul (module object)
Nilai yang dibuat oleh pernyataan import yang menyediakan akses ke data dan kode
yang ditentukan dalam modul.
• parameter
Nama yang digunakan di dalam fungsi untuk merujuk ke nilai yang diteruskan
sebagai argumen.
Glossarium (Tidak Alfabetis – Lanjutan)
• pseudorandom
Berkaitan dengan urutan angka yang tampak acak, tetapi dihasilkan oleh
program deterministik.
• return value
Hasil dari sebuah fungsi. Jika panggilan fungsi digunakan sebagai ekspresi,
nilai yang dikembalikan adalah nilai ekspresi.
• fungsi void
Fungsi yang tidak mengembalikan nilai.
BAGIAN 2
String Manipulations
String adalah Sebuah Larik
• String adalah contoh objek Python. Sebuah objek berisi data (string aktual itu sendiri) dan
metode, yang secara efektif merupakan fungsi yang dibangun ke dalam objek dan tersedia
untuk setiap instance objek.
• Python memiliki fungsi yang disebut dir yang mencantumkan metode yang tersedia untuk
suatu objek. Fungsi type menunjukkan jenis objek dan fungsi dir menunjukkan metode yang
tersedia.
• Sementara fungsi dir mencantumkan metode, dan Anda dapat menggunakan bantuan untuk
mendapatkan beberapa dokumentasi sederhana tentang suatu metode, sumber dokumentasi
yang lebih baik untuk metode string adalah
https://docs.python.org/library/stdtypes.html#string-methods .
• Memanggil method mirip dengan memanggil fungsi (dibutuhkan argumen dan
mengembalikan nilai) tetapi sintaksnya berbeda. Kita memanggil metode dengan
menambahkan nama metode ke nama variabel menggunakan titik sebagai pembatas.
>>> stuff = 'Hello world’
>>> type(stuff)
<class 'str’>
>>> dir(stuff)
['capitalize', 'casefold', 'center', 'count', 'encode’,
'endswith', 'expandtabs', 'find', 'format', 'format_map’,
'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit’,
'isidentifier', 'islower', 'isnumeric', 'isprintable’,
'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower’,
'lstrip', 'maketrans', 'partition', 'replace', 'rfind’,
'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip’,
'split', 'splitlines', 'startswith', 'strip', 'swapcase’,
'title', 'translate', 'upper', 'zfill’]
>>> help(str.capitalize)
Help on method_descriptor:
capitalize(...)
S.capitalize() -> str
>>> word.find('na', 3)
4
• Pertama, kita akan menemukan posisi tanda-at dalam string. Kemudian kita
akan menemukan posisi ruang pertama setelah tanda-at.
• Dan kemudian kita akan menggunakan pengirisan string untuk mengekstrak
bagian dari string yang kita cari. Kita menggunakan versi metode find yang
memungkinkan kami untuk menentukan posisi dalam string di mana kami ingin
menemukan untuk mulai mencari.
• Saat kita slice, kita mengekstrak karakter dari "satu di luar tanda-at hingga
tetapi tidak termasuk karakter spasi".
• Dokumentasi untuk metode find tersedia di
https://docs.python.org/library/stdtypes.html#string-methods.
Operator Format
• counter
Variabel yang digunakan untuk menghitung sesuatu, biasanya diinisialisasi ke nol dan kemudian
bertambah.
• string kosong
String tanpa karakter dan panjang 0, diwakili oleh dua tanda kutip.
• operator format
Operator, %, yang mengambil format string dan tuple* dan menghasilkan string yang menyertakan
elemen dari tuple* yang diformat seperti yang ditentukan oleh format string.
• urutan format
Urutan karakter dalam string format, seperti %d, yang menentukan bagaimana nilai harus
diformat.
• format string
String, digunakan dengan operator format, yang berisi urutan format.
Glossarium (Tidak Alfabetis – Lanjutan)
• flag
Variabel boolean yang digunakan untuk menunjukkan apakah suatu kondisi benar atau salah.
• invokasi
Pernyataan yang memanggil metode.
• immutable
Properti dari urutan yang itemnya tidak dapat ditetapkan.
• indeks
Nilai integer yang digunakan untuk memilih item dalam urutan, seperti karakter dalam string.
• item
Salah satu nilai dalam urutan.
• metode
Sebuah fungsi yang diasosiasikan dengan sebuah objek dan dipanggil menggunakan notasi titik.
Glossarium (Tidak Alfabetis – Lanjutan)
• objek
Sesuatu yang dapat dirujuk oleh variabel. Untuk saat ini, Anda dapat menggunakan "objek" dan
"nilai" secara bergantian.
• search
Pola traversal yang berhenti ketika menemukan apa yang dicarinya.
• sequence
Satu set yang dipesan; yaitu, satu set nilai di mana setiap nilai diidentifikasi oleh indeks bilangan
bulat.
• slice
Bagian dari string yang ditentukan oleh rentang indeks.
• transverse
Untuk beralih melalui item dalam urutan, melakukan operasi serupa pada masing-masing.
TERIMA KASIH
Video dan soal masih disusun. Harap bersabar, bisa coba-coba dulu dari
contoh yang diberikan