ngodingceria
Fariz Darari
Outline
2
3
Variables; Data Types; Number Systems
Perkalian (Oops!)
a = input()
b = input()
s = a * b
print(s)
4
Variables; Data Types; Number Systems
Perkalian
a = int(input())
b = float(input())
s = a * b
print(s)
5
Variables; Data Types; Number Systems
Baper
teganya = " teganya"
print("sungguh", teganya*10, "dirimu :(")
6
Variables; Data Types; Number Systems
Celcius ke Fahrenheit berdasar Input
# lengkapi
7
Variables; Data Types; Number Systems
Celcius ke Fahrenheit berdasar Input
celcius = float(input("Suhu celcius: "))
fahrenheit = celcius * 9 / 5 + 32 # coba kalian ganti dgn 32 + celcius * 9 / 5
print("Suhu fahrenheit:", fahrenheit)
8
Variables; Data Types; Number Systems
Celcius ke Fahrenheit berdasar Input (Salah!)
celcius = float(input("Suhu celcius: "))
fahrenheit = celcius * 9 // 5 + 32
print("Suhu fahrenheit:", fahrenheit)
9
Variables; Data Types; Number Systems
Diskon Dobel: Buat program yang menerima input harga,
diskon awal, dan diskon tambahan, dan menghasilkan output
harga setelah diskon
10
Variables; Data Types; Number Systems
Diskon Dobel
harga = int(input("Harga: "))
diskon1 = int(input("Diskon 1: "))
diskon2 = int(input("Diskon 2: "))
harga_final = harga * ((100-diskon1)/100) * ((100-diskon2)/100)
print("Harga final:", harga_final)
11
Control Mechanisms: Selection & Repetition
Ke Dokter atau Tidak?
suhu_tubuh = float(input("Suhu tubuh (celcius): "))
12
Control Mechanisms: Selection & Repetition
Dihukum
hukuman = "saya tidak akan lagi malas belajar DDP"
jumlah_pengulangan = 100
while jumlah_pengulangan > 0:
print(jumlah_pengulangan, hukuman)
jumlah_pengulangan = jumlah_pengulangan - 1
13
Control Mechanisms: Selection & Repetition
Dihukum Berlipat
hukuman = "saya tidak akan lagi malas belajar DDP"
jumlah_pengulangan1 = 100
while jumlah_pengulangan1 > 0:
jumlah_pengulangan2 = 100
while jumlah_pengulangan2 > 0:
print(jumlah_pengulangan1, jumlah_pengulangan2, hukuman)
jumlah_pengulangan2 = jumlah_pengulangan2 - 1
jumlah_pengulangan1 = jumlah_pengulangan1 - 1
14
Control Mechanisms: Selection & Repetition
Dihukum Selamanya
hukuman = "saya tidak akan lagi malas belajar DDP"
while True:
print(hukuman)
15
Strings & Slicing
Ambil Angka dari String (Oops!)
contoh = "h4l0!!!"
16
Strings & Slicing
Ambil Angka dari String
contoh = "h4l0!!!"
17
Strings & Slicing
Memotong "semangka"
semangka = "semangka"
potongan1 = semangka[0:2]
potongan2 = semangka[2:6]
potongan3 = semangka[6:]
print(potongan1)
print(potongan2)
print(potongan3)
18
Text Files and Exceptions
Swabaca.py
this_file = open("Swabaca.py", "r") # nantinya akan ada banyak mode baca file (mis. "w"), tidak hanya "r"
for tiap_line in this_file:
print(tiap_line,end="") # by default, print advances to the next line, but you can override that behavior
this_file.close()
19
Text Files and Exceptions
Filenya mana?
this_file = open("Swabacaca.py", "r") # nantinya akan ada banyak mode baca file (mis. "w"), tidak hanya "r"
for tiap_line in this_file:
print(tiap_line,end="") # by default, print advances to the next line, but you can override that behavior
this_file.close()
print("Program selesai!")
20
Text Files and Exceptions
Filenya mana? + Exception Handler
try:
this_file = open("Swabacaca.py", "r")
for tiap_line in this_file:
print(tiap_line,end="")
this_file.close()
except FileNotFoundError:
print("Filenya tidak ada.")
print("Program selesai!")
21
Functions; Parameter Passing
Celcius ke Fahrenheit sebagai Fungsi
def dariCelciusKeFahrenheit(x): # function definition utk fungsi konversi c ke f
return x * 9 / 5 + 32
22
Functions; Parameter Passing
Tanpa Kembalian
def tanpaKembalian(x):
pass
tanpaKembalian(99000)
23
Functions; Parameter Passing
Tanpa Kembalian (Sebenarnya Ada Yakni None*)
def tanpaKembalian(x):
pass
print(tanpaKembalian(99000))
contoh = "h4l0!!!"
25
Lists, Tuples & Mutability
List vs. Tuple
ini_list = [1,2,3]
ini_tuple = (1,2,3)
ini_list[0] = 8
print(ini_list)
ini_tuple[0] = 8
print(ini_tuple)
26
Lists, Tuples & Mutability
List vs. String
ini_list = ["a","b","c"]
ini_str = "abc"
ini_list[0] = "z"
print(ini_list)
ini_str[0] = "z"
print(ini_str)
27
Sets; Dictionaries
Jangan Menyimpan Uang Pakai Set
dompet = {1000, 10000, 20000, 20000, 20000, 20000, 20000}
print("Uang di dompet:",dompet)
28
Sets; Dictionaries
Ibukota
dict_ibukota = {'indonesia':'jakarta', 'italia':'roma', 'jerman':'berlin'}
29
Sets; Dictionaries
Tebak Angka 1-9
import random
30
Classes
Tebak Tipe
print(type(1))
print(type(1.0))
print(type("1.0"))
print(type(True))
31
Classes
MahasiswaDDP
class MahasiswaDDP:
fariz = MahasiswaDDP('Fariz')
cenna = MahasiswaDDP('Cenna')
print(fariz.matkul)
print(cenna.matkul)
print(fariz.name)
print(cenna.name)
fariz.menyapa()
cenna.menyapa()
32
Classes
MahasiswaDDPGalak
# copas definisi class MahasiswaDDP di atas sini...
class MahasiswaDDPGalak(MahasiswaDDP): # MahasiswaDDP adalah superclassnya
def menyapa(self):
print(self.name,": \"Gukk!\"")
fariz = MahasiswaDDP('Fariz')
cenna = MahasiswaDDP('Cenna')
budi = MahasiswaDDPGalak('Budi')
print(fariz.matkul)
print(cenna.matkul)
print(budi.matkul)
print(fariz.name)
print(cenna.name)
print(budi.name)
fariz.menyapa()
cenna.menyapa()
budi.menyapa()
33
GUI
yukngoding GUI
from tkinter import *
class ProcessButtonEvent:
def __init__(self):
window = Tk()
label = Label(window, text = "yukngoding")
btYUK = Button(window, text = 'yuk', fg = 'red')
btYUKAH = Button(window, text = 'yuk ah', fg = 'green')
label.pack()
btYUK.pack()
btYUKAH.pack()
window.mainloop()
ob = ProcessButtonEvent()
34
GUI with Event Handlers
yukngoding GUI v2
from tkinter import *
class ProcessButtonEvent:
def __init__(self):
window = Tk()
label = Label(window, text = "yukngoding")
btYUK = Button(window, text = 'yuk', fg = 'red', command = self.processYUK)
btYUKAH = Button(window, text = 'yuk ah', fg = 'green', command =
window.destroy)
label.pack()
btYUK.pack()
btYUKAH.pack()
window.mainloop()
def processYUK(self):
print("yuk clicked")
ob = ProcessButtonEvent()
35
Recursion
Factorial
def factorial(n):
if n < 1: # base case
return 1
else:
return n * factorial(n-1)
print(factorial(0))
print(factorial(1))
print(factorial(2))
print(factorial(3))
print(factorial(4))
36
Pada materi selanjutnya,
kalian akan belajar seluk-beluk semua kode tadi.
Ingat,
"The devil is in the details"
Saat ujian nanti, soalnya akan menuntut
pemahaman yang dalam tentang DDP
37
Bonus
Misteri
size = int(input("Berapa ukurannya? "))
i = 0
while(i < size):
sp = size - (i + 1)
st = 2 * i + 1
print(" "*sp + "*"*st)
i += 1
38
Bonus
Satu-Satu Aku Sayang Ibu
for i in [0,1]:
print("satu")
for i in [10,11]:
print("dua")
for i in ["0","1"]:
print("tiga")
print("sayang semuanya")
39