Python
Python
1. PENGENALAN PYTHON
1.1. Syntax dari Python
Pertama-tama kita belajar terlebih dahulu syntax dasarnya.
Instruksi:
Siap untuk belajar python? Cukup tekan tombol "► Periksa" untuk menuju soal berikutnya!
Petunjuk
desktop = 5
Dengan baris code di atas, sekarang kita punya sebuah variabel yang bernama desktop dan
memiliki nilai 5 .
Instruksi:
Pemrograman Python |1
Unit 1.1.3. Boolean
Selamat! Anda baru saja menyimpan sebuah angka di variabel laptop . Angka adalah salah
satu tipe data di coding. Tipe data lainnya yang akan kita pelajari kali ini adalah boolean.
Boolean dapat diibaratkan sebagai sebuah lampu. Seperti halnya lampu yang hanya
memiliki dua nilai (hidup atau mati), boolean juga hanya memiliki dua nilai,
yaitu True atau False . Kita bisa menggunakan variabel untuk menyimpan nilai boolean
seperti ini:
berjuang = True
menyerah = False
Instruksi:
Petunjuk
perhatikan bahwa huruf pertama di True dan False adalah huruf kapital!
Misalnya kita sudah punya angka_saya = 1945 . Kita bisa merubah nilainya seperti ini:
angka_saya = 1
Instruksi:
IndentationError: expected an
indented block
(<string>, line 2)
Petunjuk
Karena menekankan penggunaan spasi dibandingkan tanda baca seperti ; ( ) { } $ @,
code di python lebih mudah dibaca dibandingkan bahasa lain.
Instruksi:
Lihat code di samping! Ada banyak nama variabel yang salah bukan? Hapus nama variabel
yang salah, nama variabel yang betul jangan diubah.
Pemrograman Python |3
Komentar digunakan untuk membuat program kamu agar lebih mudah dimengerti. Ketika
Script.py
1
2 jumlah_semuanya = 192039000
kamu melihat code kamu lagi suatu saat nanti, kamu tidak akan kesulitan untuk mengerti apa
maksud dari code kamu.
Komentar juga sangat berguna jika anda bekerja di sebuah tim, dengan adanya komentar,
teman kerja anda akan lebih mudah untuk mengerti maksud dari program bikinan anda.
Seorang coder yang mampu bekerja dalam tim sangatlah dihargai.
Instruksi:
Tulislah komentar di baris pertama dengan menggunakan # .
Setelahnya jalan code di samping tanpa merubah apapun.
Petunjuk
Komentar anda bisa jadi terlihat seperti ini:
Sehingga untuk menuliskan komentar yang lebih dari satu baris, anda bisa memulainya
dengan tanda kutip tiga kali secara berurutan dan mengakhirinya lagi dengan tanda yang
sama, seperti ini:
Script.py
1
2 jumlah_semuanya = 192039000
Instruksi:
Tulislah komentar dengan menggunakan ilmu yang telah anda pelajari di unit ini! Anda bisa
menuliskan komentar apa saja.
Pemrograman Python |4
Petunjuk
Script.py
1 pengurangan = 30 ? 15
2 penambahan = 10 ? 20
3 pembagian = 20 ? 4
4 perkalian = 10 ? 5
perkalian = 3 * 7
Script.py
1 """ Ini jadi komentar
2 yang bisa lebih dari satu barus,
3 meski ganti barus masih dianggap komentar """
pembagian = 100 / 25
Instruksi:
Ganti tanda ? dengan tanda matematika yang sesuai dengan nama variabelnya.
Jangan ubah angka sama sekali.
Unit 1.2.4.
Exponensial
Pemrograman Python |5
Semua perhitungan itu bisa anda lakukan di kalkulator, lalu kenapa menggunakan Python?
Karena kita bisa menggabungkannya dengan tipe data (boolean misalnya) yang lain dan
membuat program yang berguna. Sementara calculator hanya bisa berhitung. Sekarang mari
kita belajar tentang exponensial (perpangkatan), contohnya begini:
delapan = 2 ** 3
Di contoh atas, kita membuat variabel bernama delapan dan mempunyai nilai 8 karena itu
adalah hasil dari 2 pangkat 3 .
Instruksi:
Buatlah sebuah variabel bernama angka yang sama dengan 4 pangkat 2 di baris pertama.
nilai_modulus = 10 % 7
Instruksi:
Apa gunanya modulus? Coba lihat code di samping! Ubah ? dengan operator modulus!
Ini adalah contoh kecil dari gunanya modulus di programming, banyak sekali implementasi
dari operator ini.
Script.py__
1 total_umur_dalam_hari = 75
2 jumlah_hari_dalam_sebulan = 30
3
4 bulan = total_umur_dalam_hari / jumlah_hari_dalam_sebulan
5
Pemrograman Python |6
6 hari = total_umur_dalam_hari ? jumlah_hari_dalam_sebulan
7
8 print "Umur bayi itu sekarang " + str(bulan) + " bulan dan " + str(hari) + " hari."
Instruksi:
Petunjuk
Jika anda kesulitan, ingat kita punya forum diskusi! ^^
Disini kita akan belajar caranya untuk menghitung tagihan bulanan dengan Python
Misalnya kita akan membeli laptop dengan sistem kredit dibayar setahun.
Pemrograman Python |7
Instruksi:
Buat sebuah variabel yang bernama harga_laptop , dan berikan harga berapapun lebih
dari 5000000 .
Buat juga uang_muka , dan berikan angka berapapun kurang dari 2000000 .
Petunjuk
Di coding, untuk menuliskan tiga juta itu seperti ini 3000000 bukan 3.000.000 .
Script.py__
1 harga_laptop =
2 uang_muka =
3
4
Instruksi:
Script.py__
1 harga_laptop = 7000000
2 uang_muka = 1000000
3 sisa_cicilan =
4
Instruksi:
Pemrograman Python |8
Ciptakan variabel suku_bunga dan berikan nilai antara 5 hingga 30 .
Ciptakan juga variabel jumlah_bunga yang merupakan hasil
perkalian sisa_cicilan dan suku_bunga dan dibagi 100 . Kenapa dibagi 100 ?
karena suku_bunga satuannya adalah persen.
Petunjuk
Nantinya jumlah_bunga akan terlihat seperti ini:
Script.py__
1 harga_laptop = 7000000
2 uang_muka = 1000000
3
4 sisa_cicilan = harga_laptop - uang_muka
5
6 suku_bunga = 12
7 jumlah_bunga = (sisa_cicilan * 12 )/100
Terus belajar ke bab berikutnya dan akhirnya anda akan bisa membuat program yang lebih
keren lagi!
Instruksi:
Script.py__
1 harga_laptop = 7000000
2 uang_muka = 1000000
3
4 sisa_cicilan = harga_laptop - uang_muka
5
6 suku_bunga = 10 # dalam persen
7
8 jumlah_bunga = sisa_cicilan * suku_bunga / 100
Pemrograman Python |9
9
10 total_tagihan = sisa_cicilan + jumlah_bunga
11
12 tagihan_bulanan = total_tagihan / 12
13
14 print tagihan_bulanan
2.1. String
String adalah salah satu tipe data di Python untuk menyimpan kata, huruf, kalimat bahkan
paragraph.
2.1.1. Strings
Tipe data berikutnya yang anda akan pelajari adalah string. String digunakan untuk
menyimpan karakter, kata, kalimat hingga paragraph. Contohnya seperti ini:
nama = "Cinta"
umur = "34"
ucapan = "Pagi selalu menawarkan cerita yang baru"
website = "http://codesaya.com"
Di contoh atas, kita membuat variabel nama , umur , ucapan , dan juga website yang merupakan
sebuah string.
String selalu dimulai dan diakhiri dengan tanda " atau ' .
Instruksi:
Buat sebuah variabel yang bernama tokoh dan berikan sebuah nama.
Petunjuk
Tidak ada perbedaan antara menggunakan " atau '.
Script.py__
Instruksi:
Jawab semua variabel di samping menggunakan strings. Jika bingung apa jawabannya liat
di wikipedia Indonesia.
Script.py
1 negara = "Indonesia"
2
3 ibukota =
4
5 motto =
6
7 tanggal_kemerdekaan =
Code di atas menyebabkan Python error karena ada tanda kutip " di tengah-tengah kalimat.
Begini caranya:
Instruksi:
Script.py
1 kalimat = "Rangga berteriak "Senyumlah!" setelah melihat jones."
2
3
4
kata = "codesaya"
c = kata[0]
d = kata[2]
Di contoh atas, kita menciptakan sebuah variabel c yang memiliki nilai "c" . Karena karakter
dengan indeks ke 0 di string "codesaya" adalah "c" .
Sementara itu, variabel d akan bernilai "d" , karena itu adalah indeks ke 3 di
string "codesaya" .
Di Python, kita menghitung indeks dimulai dari kosong bukan dari satu.
Instruksi:
Buat variabel huruf_ke_4 dan huruf_ke_9 agar memiliki nilai yang diminta. huruf_ke_1 telah
dibuat untuk menjadi contoh bagi anda.
Script.py
1 """
2 String "PYTHON" memiliki 6 karakter,
3 diberi nomer 0 hingga 5 seperti berikut
4
5 +---+---+---+---+---+---+
6 |P|Y|T|H|O|N|
7 +---+---+---+---+---+---+
Instruksi:
Perhatikan code di samping, jalankan dan lihat outputnya. Apakah anda mengerti? ^^
Script.py
1 fakta = "Belajar Python di CodeSaya itu menyenangkan..!"
2
3 print len(fakta)
4
5 print fakta.lower()
6
7 print fakta.upper()
Instruksi:
Lengkapi variabel di editor samping menggunakan metode yang telah kita pelajari
sebelumnya. Lihat petunjuk atau unit sebelumnya jika kesulitan.
Petunjuk
codenya mirip-mirip seperti ini:
p = len(u)
b = u.upper()
k = u.lower()
Script.py
1 ucapan = "Nama Python dipilih karena pembuatnya menyukai acara TV Monty Python."
2
3 # panjang ucapan simpan di sini dengan len()
4 panjang = len(ucapan)
5
6 # hasilkan huruf besar semua dengan upper()
7 besar = ucapan.upper()
8
9 # hasilkan huruf kecil semua dengan lower()
10 kecil = ucapan.lower()
2.2. Print
Mencetak ke output dengan print. Umum digunakan juga untuk debugging.
Instruksi:
Petunjuk
code anda akan mirip seperti ini:
Script.py
1 print ("Ini bukan tentang ular")
2
3
4
Instruksi:
Buatlah sebuah variabel bernama info dan berikan nilai string yaitu "Pencipta Python
berasal dari Belanda"
print variabel tersebut di baris berikutnya!
Petunjuk
Buat variabelnya seperti ini:
namanya = "Guido"
Script.py
1 info = "Pencipta Python berasal dari Belanda"
2 print (info)
3
Pemrograman Python |15
4
Operator + di antara string akan merangkai mereka. Perhatikan kita menggunakan spasi di
dalam tanda petik setelah "Python" dan "seru" . Karena jika tidak ada spasi maka mereka
akan berhimpitan!
Instruksi:
Sekarang anda bisa coba, print rangkaian string-string "Python " , "Software " ,
dan "Foundation" seperti pada contoh di atas.
Script.py
1 print "Python " + "Software " + "Foundation"
2
3
4
Metode str() mengubah non-string menjadi string. Di contoh atas, dengan str() kita
mengubah 4 yang semula adalah angka menjadi string.
Pemrograman Python |16
Instruksi:
Petunjuk
Untuk mengubah angka 17 menjadi string kita menggunakan str(17)
Script.py
1 print "Python muncul pertama kali pada tahun " + str(1991)
2
3
4
nama = "Guido"
Output di atas akan mengeluarkan "Halo Guido" . Dengan menggunakan .format kita
mengubah {} di dalam "Halo {}" dengan variabel nama .
Kita bisa menggunakan lebih dari satu {} di dalam string loh, seperti ini:
satu = "Satu"
dua = "Dua"
Apa anda bisa menebak outputnya? Yup, contoh di atas akan mengeluarkan "Satu Dua" .
Instruksi:
Di akhir baris 5, gunakan .format() agar code mencetak kalimat yang baik dan benar. Untuk
soal ini, berikan 3 variabel di .format() karena ada tiga {} .
satu = "Pergi"
dua = "Kamu"
print "{0} {1}!".format(satu, dua)
print "{1} {0}!".format(satu, dua)
Dengan memberikan angka di dalam {} kita bisa mengatur urutannya tanpa harus
mengubah urutan variabelnya. Canggih kan?
Selain mengganti urutan, kita juga bisa mengulang variabel yang sama di dalam string:
nama = "Hodor"
print "{0}! {0}!".format(nama)
Instruksi:
Di dalam variabel teks , ubah tanda tanya ? ke angka indeks yang tepat agar outputnya
mengeluarkan:
Petunjuk
Kesimpulan Print
Saatnya mereview apa yang telah anda pelajari!
Instruksi:
Lihat code di samping. Itu semua kita pelajari di sub-bab ini loh! Ubah sesuka hati anda, kali
ini tidak diperiksa! Jika sudah siap dan mengerti, silahkan menuju unit berikutnya!
Petunjuk
coba jalankan code ini:
print '{:_>10}'.format('kanan')
dan ini:
print '{:-^10}'.format('tengah')
Script.py
1 print "Anda sudah bisa mencetak string..."
2
3 selain_itu = "juga sudah bisa mencetak variabel..."
4
7 print selain_itu
8
9 print "Merangkai " + "kata " + "menjadi " + "kalimat..."
10
11 print "Bahkan angka seperti " + str(1) + ", " + str(2) + ", dst pun dirangkai..."
12
13 anda = "Anda"
14
15 terhebat = "terhebat"
16
2.3. Datetime
Module yang digunakan untuk segala sesuatu yang berhubungan dengan waktu.
Apa sih maksudnya "memanggil" datetime itu? Memanggil (meng-import) datetime adalah
memberi tahu Python bahwa kita akan menggunakan fungsi dari modul datetime di program
kita. Setelah dipanggil, semua fungsi yang ada di datetime dapat kita gunakan. Apa anda
ingat str() dan len() yang telah kita pelajari sebelumnya? Yup, itu adalah fungsi yang
otomatis dipanggil oleh Python. datetime tidak otomatis dipanggil, kita harus melakukannya
secara manual.
Instruksi:
Coba panggil library datetime ! Lihat tutorial di atas untuk mengetahui caranya.
Script.py
1 from datetime import datetime
2
3
4
print datetime.now()
Garis kedua, kita memanggi fungsi di dalam datetime yaitu now() . Untuk memberitahu bahwa
kita menggunakan now() -nya dari datetime, kita
menggabungkan datetime dengan now() melalui notasi titik.
Instruksi:
Script.py
1 from datetime import datetime
2
3 sekarang = datetime.now()
4 print sekarang
tahun = sekarang.year
bulan = sekarang.month
hari = sekarang.day
Di baris ke tiga, kita mengambil properti year dari variabel sekarang dan menyimpannya
di tahun . Begitu juga halnya dengan bulan yang mengambil month , dan hari yang
mengambil day dari sekarang .
Script.py
1 from datetime import datetime
2 sekarang = datetime.now()
3
4 sekarang_tahun = sekarang.year
sekarang_bulan = sekarang.month
sekarang_hari = sekarang.month
Format Tanggal
Apakah anda masih ingat tentang format() dari sub-bab sebelumnya? Yup kita akan
menggunakannya untuk mencetak tanggal, seperti ini:
print "{}-{}-{}".format(n.year,
n.month, n.day)
code di atas akan mencetak tanggal seperti ini 2016-4-5 jika sekarang adalah 5 April 2016 .
Instruksi:
Di baris berikutnya, print tanggal sekarang dengan format seperti ini: hari/bulan/tahun
Script.py
1 from datetime import datetime
2 sekarang = datetime.now()
3
4 sekarang_tahun = sekarang.year
sekarang_bulan = sekarang.month
sekarang_hari = sekarang.day
print "{2}/{1}/{0}".format(sekarang_tahun, sekarang_bulan, sekarang_hari)
print n.hour
print n.minute
print n.second
Tidak perlu dijelaskan panjang lebar, pasti anda mengerti karena mirip sekali dengan unit-unit
sebelumnya, hanya saja sekarang kita mengambil properti hour , minute ,
dan second dari now() .
Instruksi:
1. Kita akan melakukan operasi yang berhubungan dengan waktu, jangan lupa untuk
mengimpor datetime .
2. Buat variabel bernama kini dan berikan waktu sekarang dengan datetime,
3. Buat variabel bernama jam dan berikan properti hour dari kini ,
4. Buat variabel bernama menit dan berikan properti minute dari kini ,
5. Buat variabel bernama detik dan berikan properti second dari kini ,
6. print waktu sekarang dengan format "jam:menit:detik" dengan fungsi .format() .
Petunjuk
Lihat unit sebelumnya jika kesulitan atau tanyakan di forum.
Script.py
1 from datetime import datetime
2 kini = datetime.now()
3 jam = kini.hour
4 menit = kini.minute
detik = kini.second
print "{0}:{1}:{2}".format(jam, menit, detik)
1. Sama dengan ==
2. Tidak sama dengan !=
3. Kurang dari <
4. Kurang atau sama dengan <=
5. Lebih dari >
6. Lebih atau sama dengan >=
Dengan ini kita bisa membandingkan sebuah nilai dengan nilai yang lainnya. Jika
perbandingannya benar, maka akan menghasilkan nilai True . Sedangkan jika salah maka
akan menghasilkan nilai False .
Instruksi:
Anda telah belajar tentang boolean kan dengan nilainya yang True atau False .
Coba lihat code di samping, apakah anda bisa menebak nilai dari setiap
perbandingan sebelum anda menjalankan codenya?
Script.py
1 print 11 == 1
2
3 print "CodeSaya" != "Python"
4
print 5 >= 0
Berlatih Perbandingan
Unit sebelumnya sudah dikenalkan dengan operator perbandingan. Sekarang mari kita
berlatihnya.
Lihat code di samping. Kita punya perbandingan_satu hingga perbandingan_enam . Dua variabel
pertama telah kita kerjakan, sisanya anda yang lanjutkan. Caranya cukup lihat perbandingan
di komentar tepat di atas variabelnya, dan tebak apa hasil dari perbandingan itu. Cukup
berikan nilai True jika anda rasa perbandingannya benar, dan berikan nilai False jika anda
rasa perbandingannya salah.
Script.py
1 # 400 < 100
2 perbandingan_satu = False
3
4 # 10 * 2 == 20
perbandingan_dua = True
# 50 > 10
perbandingan_tiga = True
# 50 * 2 != 100
perbandingan_empat = False
# 2 * 3 * 4 >= 24
perbandingan_lima = True
# "Python" == "PHP"
perbandingan_enam = False
Perbandingan Lagi
Kita bisa berikan nilai False atau True di sebuah variabel seperti unit sebelumnya. Tapi kita
juga bisa loh langsung memberikan perbandingannya ke variabel, seperti ini:
perbandingan = 2 > 1
nantinya perbandingan akan menjadi sebuah boolean yang memiliki nilai True .
Instruksi:
Operator Boolean
Sebelumnya kita pernah belajar tentang operator matematika, sekarang kita belajar tentang
operator boolean. Ada dua jenis operator boolean, jenis pertama adalah operator yang
menerima dua pernyataan. Mereka adalah:
andyang akan mengeluarkan nilai True jika kedua pernyataan bernilai True .
or yang akan mengeluarkan nilai True jika salah satu saja dari dua pertanyaan
bernilai True .
Jenis operator lain adalah operator yang hanya menerima satu pertanyaan, yaitu:
Apa maksudnya pernyataan di sini? Pertanyaan itu seperti perbandingan yang kita buat
sebelumnya atau segala sesuatu yang menghasilkan nilai True atau False .
Instruksi:
Jika anda tidak terlalu mengerti penjelasan di atas, tidak apa. Mari coba mengerti dari contoh!
Coba jalankan code di samping kanan dan lihat outputnya! Apakah anda mengerti kenapa
ada yang True dan ada yang False ? Coba ubah-ubah True menjadi False di editor. Atau
ubah and menjadi or . Lalu jalankan lagi dan perhatikan outputnya! Terserah anda! Yang
penting anda harus rajin ngulik-ngulik untuk menjadi coder nomer wahid!
Script.py
Nantinya satu dan dua akan bernilai True , sedangkan tiga akan bernilai False . Tanda
kurung ( ) di atas sebenarnya tidak wajib, tapi dengan adanya tanda kurung kita lebih
mudah membacanya.
Nantinya kita bisa mengambil keputusan dari banyak perbandingan yang harus dipikirkan,
contoh sederhananya:
Jadi jika harga dibawah 1000 dan kualitas -nya di atas 8 maka beli akan
bernilai True ! Kerenkan? Jadi jangan menyerah untuk belajar, mungkin operator boolean ini
belum terlihat berguna sekarang, tapi nantinya akan sangat berguna.
Instruksi:
Di samping kita punya satu hingga enam . Untuk satu sudah kita kerjakan.
satu bernilai False karena walaupun 10 > 5 adalah True , tetapi 5 > 10 adalah False dan
operator and membutuhkan kedua pernyataannya True agar nilai akhirnya menjadi True .
Seperti satu , untuk berikutnya anda kerjakan dengan menebak apa hasilnya jika komentar di
atas nama variabelnya dijalankan.
Script.py
1 # (5 > 10) and (10 > 5)
2 satu = False
Pemrograman Python |27
3
4 # (5 >= 1) and ( 5 <= 12)
dua = True
# ( 5 * 2 == 10 ) and ( 10 > 3 * 3 )
tiga = True
1. not
2. and
3. or
Yup, not akan dievaluasi terlebih dahulu dan yang terakhir adalah or . Contohnya seperti ini:
Apakah anda bisa tebak apa nilai dari makan ? Untuk mempermudahnya kita bisa buat seperti
ini, kita mulai dari not tentunya:
True and False adalah False bukan? Yup, jadi makan akan menjadi seperti ini:
Apakah terlihat ribet? Memang ribet! Hahaha... Tapi program umumnya mempertimbangkan
banyak variabel dan perbandingan yang diperiksa sebelum memberikan keputusan. Apakah
anda pikir saat CodeSaya memeriksa jawaban anda hanya satu atau dua saja perbandingan
yang dilakukan? ^^
Seperti unit sebelumnya, satu sudah dikerjakan. dua hingga empat itu bagian anda.
Script.py
1 # True and True and False
2 satu = False
3
4 # False or False or True
dua = True
Buat program Python anda membuat keputusan dengan menggunakan 'if' dan 'else'
Syntax if
if berfungsi untuk memeriksa jika suatu kondisi benar ( True ) maka code tertentu akan
dijalankan. Penulisannya seperti ini:
print "selesai"
Di contoh ini, jika harga -nya di bawah 1000 , maka code akan mencetak "Kita beli" , jika
harga di tidak dibawah 1000 maka hanya "selesai" yang akan tercetak.
Perhatikan cara penulisannya, kita menggunakan titik dua : dan ada spasi di
sebelum print "Kita beli" . Nah spasi itu gunanya untuk memberi tahu Python bahwa kita
ingin "Kita beli" tercetak jika harga dibawah 1000 .
Lihat contoh di samping. Apakah anda bisa menebak mana saja yang tercetak? Lalu
jalankan!
Sekarang ubah variabel harga menjadi di bawah 1500 dan jalankan lagi! Apakah ada
perubahan?
Petunjuk
Selain True dan False, if pun menerima angka. 0 dianggap False dan apapun
selain 0 adalah True. Sehingga:
if 0:
# tidak dijalankan
sama dengan:
if False:
# tidak dijalankan
if 1:
# dijalankan
Script.py
1 harga = 1250
2
3 print "A: Harga kudanya berapa ya?"
4 print "B: " + str(harga)
Latihan if
Sekarang saatnya anda mempraktekan apa yang telah anda pelajari di unit sebelumnya.
Instruksi:
1. Untuk baris ke 3 buat persamaan dengan jumlah yang membuat print "ini
tercetak" dieksekusi.
2. Sedangkan di baris ke 6 buat persamaan dengan jumlah yang membuat print "ini tidak
tercetak" tidak dieksekusi.
Petunjuk
Codenya nanti akan mirip-mirip seperti ini:
if j > 100000:
print "Hmmm..."
Script.py
1 jumlah = 99
2
3 if jumlah == 100:
4 print "ini tercetak"
if dan else
Lihat code di bawah:
Apa anda bisa tebak apa yang akan terjadi jika harga bernilai di bawah 1000 ? Benar, "Kita
jual" akan tercetak! Itulah gunanya else .
Jika pernyataan di if bernilai False , maka code yang akan dijalankan adalah code
di else . Perhatikan lagi spasi di baris setelah else , baris yang menggunakan spasi
setelah else adalah blok code yang akan dijalankan.
Lihat contoh di samping. Apakah anda bisa menebak mana saja yang tercetak? Lalu
jalankan!
Sekarang ubah variabel harga menjadi di atas 1500 dan jalankan lagi! Apakah ada
perubahan?
Script.py
1 harga = 1000
2
3 print "A: Harga kudanya berapa ya?"
4 print "B: " + str(harga)
Latihan if else
Sekarang mari kita berlatih if dan else !
Instruksi:
Petunjuk
Ingat dari unit sebelumnya, bentuknya if else itu seperti ini..
if sesuatu:
# maka sesuatu
Script.py
1 nilai = 5
2
3 # lengkapi code dibawah sesuai instruksi
4
if nilai > 7:
print "Bagus"
else:
print "Lumayan"
Tentang elif
Keren, di unit sebelumnya kita sudah bisa menentukan untuk memberikan
pujian "Bagus" saat nilai di atas 7 dan "Lumayan" saat nilai di bawah atau sama dengan 7 .
Tetapi itu artinya nilai 2 atau 3 pun kita bilang "Lumayan" sama dengan nilai 6 atau 7 .
Tapi itu tidak adil kan? Bagaimana untuk membedakannya? Kita gunakan elif , seperti
berikut:
if nilai > 7:
print "Bagus"
elif nilai > 5:
print "Lumayan"
else:
print "Jelek"
elif adalah gabungan else dan if . Secara bahasa Indonesia else if artinya:
"Jika if sebelumnya bernilai False , maka jalankan code ini jika if ini True ". Dengan code di
atas, nilai dibawah atau sama dengan 5 akan dibilang jelek.
Sedangkan nilai 6 atau 7 akan dibilang lumayan.
Instruksi:
1. Di baris ke 8 dan 9, buatlah elif yang membandingkan harga kurang dari 1500 .
2. Jika benar maka cetaklah "A: Kita beli 2 ekor" . Perhatikan spasinya.
3. Coba jalankan saat harga sama dengan 800 .
4. Ubah harga ke 2000 dan jalankan. Lihat outputnya.
5. Ubah harga ke 1200 dan jalankan lagi. Lihat outputnya.
Pemrograman Python |33
Script.py
1 harga = 1200
2
3 print "A: Harga kudanya berapa ya?"
4 print "B: " + str(harga)
Kesimpulan
Keren sekali! Di bab ini sudah banyak yang anda pelajari, di antaranya:
Perbandingan:
2 != 1
"Python" > "Java"
Operator Boolean:
Pengkondisian:
Jangan sampai lupa ya, ini akan sangat berguna sekali bagi seorang coder. Sekarang mari
kita ke soal pamungkas!
Instruksi:
1. Buatlah dua variabel yaitu tebakan dan angka . Berikan keduanya nilai bertipe angka
(integer).
2. Lakukan if yang akan memeriksa jika tebakan lebih kecil dibandingkan angka , maka
code anda akan mencetak "Tebakan terlalu rendah!" .
3. Berikutnya lakukan elif yang akan memeriksa jika tebakan lebih besar
dibandingkan angka , maka code akan mencetak "Tebakan terlalu tinggi!" .
4. Terakhir else yang akan mencetak "Tebakan anda tepat" .
5. Bermain-main lah, ubah nilai dari angka dan tebakan dan lihat outputnya berubah saat
anda jalankan.
Script.py
1 # Jika anda sudah belajar sejauh ini, anda hebat!
2 tebakan = 10
3 angka = 10
4 if tebakan < angka:
print "Tebakan terlalu rendah!"
elif tebakan > angka:
print "Tebakan terlalu tinggi!"
else:
print "Tebakan anda tepat"
Instruksi:
Silahkan intip code di samping. Anda mungkin masih ingat dengan pelajaran di bab pertama
tentang menghitung tagihan bulanan. Nah, code di samping mengambil contoh dari unit itu
dan mengubahnya ke bentuk function.
Lihat seberapa banyak anda mengerti tentang code di samping. Ketika kamu sudah selesai
membacanya, tekan Periksa dan Simpan. Perhatikan outputnya dan lanjutkan ke unit
berikutnya.
Script.py
1 # def gunanya untuk membuat suatu function
2 # untuk code yang masuk ke dalam function diberikan spasi yang seragam
3
4 def hitung_tagihan(uang_muka):
5 harga_laptop = 7000
6 sisa_cicilan = harga_laptop - uang_muka
7 suku_bunga = 10 # dalam persen
8 jumlah_bunga = sisa_cicilan * suku_bunga / 100
9 total_tagihan = sisa_cicilan + jumlah_bunga
10 tagihan_bulanan = total_tagihan / 12
11 return tagihan_bulanan
12
13 print hitung_tagihan(1000)
14
15 print hitung_tagihan(2000)
16
o header, yang memiliki kata kunci def , nama fungsi, parameter functionnya, dan juga
tanda titik dua : .
o komentar, yang menjelaskan apa yang fungsi ini lakukan. Ini opsional.
o blok code, yang merupakan code yang akan dijalankan oleh function. Perhatikan
indentasinya.
def hello(nama):
""" Gunanya untuk menyapa """
print "Hello " + str(nama)
Untuk code di atas, nama functionnya adalah hello . Memiliki satu parameter yaitu nama .
Memiliki komentar untuk menjelaskan apa fungsi dari hello() . Dan akhirnya memiliki satu
buah baris di blok code-nya.
Instruksi:
1. Sekarang buatlah sebuah function bernama merayu yang memiliki satu parameter
yaitu nama .
2. Terserah anda untuk menggunakan komentar atau tidak.
3. Lalu di blok code nya anda buat untuk mencetak "Aku suka " + str(nama) .
Script.py
1 def merayu(nama):
2 """Fungsi merayu """
3 print "Aku suka " + str(nama)
4 merayu("Indri")
nama_function("parameternya")
nama_function_lain()
Ingat, jangan gunakan def sebelum nama fungsi saat memanggil fungsi tersebut. def hanya
digunakan saat membuat sebuah fungsi.
Instruksi:
1. Kita sekarang punya dua buah fungsi yaitu: merayu() dan pelajar() .
2. Di baris ke 10, panggil fungsi merayu() dan masukkan "CodeSaya" sebagai parameternya.
3. Di baris ke 13, panggil fungsi pelajar() tidak perlu masukkan parameter apapun karena
memang telah di- def -inisikan tidak ada parameternya.
Script.py
1 def merayu(nama):
2 """ Gunanya untuk merayu """
3 print "Aku suka " + str(nama)
4
6 def pelajar():
7 """ Menjelaskan hobi pelajar """
8 print "Aku rajin belajar!"
9
10 # panggil merayu di sini
11 merayu("codesaya")
12
13 # panggil pelajar di sini
14 pelajar()
15
Menggunakan Return
Di unit sebelumnya fungsi yang kita buat langsung mencetak sebuah kalimat. Tapi
seringnya kita tak ingin function untuk mencetak kalimat, umumnya kita ingin function untuk
memberikan sebuah angka, string, atau yang lainnya. Masih ingat dengan len() ? Benar,
fungsi itu memberikan kita sebuah angka yang merupakan panjang string yang kita berikan
ke len() . Lalu bagaimana caranya agar function kita melakukan hal seperti itu? Kita
menggunakan return , contohnya seperti ini:
def merayu(nama):
return "Aku suka " + str(nama)
kata = merayu("Python")
Nantinya kata akan memiliki nilai "Aku suka Python" . Atau kita bisa
menggunakan merayu() seperti ini:
print merayu("coding")
Instruksi:
1. Buat function bernama pangkat_dua() menerima satu buah parameter bernama angka ,
2. pangkat_dua() mengembalikan (me- return ) pangkat dua dari angka yang diberikan,
3. Di baris ke 5, panggil pangkat_dua(5) dan simpan di variabel yang bernama naga . Pastikan
anda tidak memberikan spasi (indentasi) di baris ini karena baris ini bukan lagi bagian dari
fungsi pangkat_dua() .
Script.py
1 # buat function pangkat_dua()
2 def pangkat_dua(angka):
3 return angka * angka
4
5 naga = pangkat_dua(5)
6
7 print naga
Petunjuk:
Untuk mendapatkan pangkat dua dari sebuah variabel, anda bisa melakukan ini:
angka * angka
atau
angka ** 2
Apakah anda bisa menebak nilai dari wow ? Tepuk pundak anda jika anda
menjawab "SERU42" . Ya, untuk menggunakan dua parameter cukup membatasinya dengan
koma , seperti ini:
Di function yang anda buat, anda bisa memanggil function seperti str() , len() atau bahkan
function yang telah anda buat sebelumnya.
Instruksi:
Script.py
1 # buat function di sini
2 def pembuat_password(website, tahun):
3 return website.lower() + str(tahun*11)
4
5
6 # kita lihat hasil dari function anda di sini
7 print pembuat_password("CodeSaya.com", 2016)
4.1.5 Kesimpulan
Di sub bab ini anda telah belajar banyak tentang fungsi:
def ketawa(lucu):
if lucu > 8:
return "Hahaha"
Pemrograman Python |40
elif lucu > 4:
return "Ha"
else:
return "Garing!"
Apaan ini? Kenapa ada banyak sekali return? Yup, anda bisa gunakan return lebih dari satu
di sebuah function. Tetapi tetap saja, setelah code menemukan return , maka code akan
selesai menjalankan function itu.
Instruksi:
1. Mari kita buat sebuah function yang bernama diskon() yang menerima sebuah parameter
bernama harga .
2. Jika harga di atas 300 , maka diskon() akan mengembalikan nilai harga dibagi
dengan 10 ,
3. Jika harga di antara 100 hingga 300 , maka diskon() akan mengembalikan nilai harga
dibagi dengan 20 ,
4. Jika harga di bawah 100 , maka diskon() akan mengembalikan 0 .
Script.py
1 def diskon(harga):
2 if harga > 300:
3 return harga / 10
4 elif harga > 100:
5 return harga / 20
6 else:
7 return 0
8
9 print diskon(400)
10 print diskon(200)
11 print diskon(50)
Petunjuk
def d(h):
if h > 3:
return h / 10
elif h > 1:
return h / 20
else:
return 0
Sekarang kita akan mengimpor fungsi diskon() yang kita telah buat di sub-bab sebelumnya.
Kita simpan diskon() di sebuah file bernama codesaya.py di folder yang sama
dengan script.py yang berada di samping kanan. Cara mengimpornya cukup seperti ini:
Instruksi:
Script.py
1 from codesaya import diskon
2
3 print diskon(400)
4
print diskon(200)
Petunjuk
print diskon(100)
Tunggu dulu, apakah ini artinya ada file bernama datetime.py di folder yang sama
dengan script.py ? Untuk kasus ini tidak. Pertama Python akan memeriksa apakah
ada datetime.py di folder yang sama dengan script.py , jika tidak ada maka Python akan
memeriksanya di folder khusus yang telah ditentukan oleh python.
Impor Function
Impor yang telah kita lakukan sebelumnya disebut dengan impor fungsi. Polanya seperti ini:
Pemrograman Python |42
from nama_modul import nama_fungsi
jika ada lebih dari satu buah fungsi di modul yang sama yang ingin kita impor, kita gunakan
tanda , seperti ini:
Sekarang kita akan mencoba untuk mengimpor modul matematika bernama math . di modul
math ada beberapa function contohnya sin , cos , log , pow dan lain sebagainya. Anda bisa
mengimpornya selayaknya anda mengimpor diskon() dari module codesaya di unit
sebelumnya.
Instruksi:
1. Di baris pertama, dari module bernama math , mari kita impor dua buah fungsi
yaitu floor() dan ceil() .
2. Jalankan dan lihat outputnya. Apakah anda bisa menebak apa
gunanya floor() dan ceil() ? Diskusikan di forum jika anda tidak mengerti.
Script.py
1 from math import floor, ceil
2
3 print floor(3.14)
4 print ceil(3.14)
5
Script.py
1
2
3
4
Script.py
1
2
3
4