print("Hello world!")
Sesi 2: Praktikum Algoritma Pemrograman
Kembali ke MIPA Open House
Kalian bisa men-download modul ini dalam format .ipynb
dengan memencet tombol berikut:
Sebagian sel belum diisi: Download
sesi2.ipynb.zip
Semua kode sudah diisi, seperti di sini: Download
sesi2_kunjaw.ipynb.zip
print("Selamat pagi")
print("Selamat siang")
print("Selamat sore")
Untuk membuat catatan atau comment, gunakan #
# ini comment (catatan)
Operasi Dasar
Tambah:
+
Kurang:
-
Kali:
*
Bagi:
/
Modulo (hasil bagi):
%
Pangkat:
**
# tambah
print(1 + 2)
# kurang
print(2-1)
# kali
print(1*2)
# bagi
print(2/1)
# modulo
print(4 % 3)
print(5 % 3)
print(6 % 3)
# pangkat
print(4**3)
\[\frac{3^2 - 5}{2} + 1 = \text{ ?}\]
3**2 - 5)/2 + 1 (
3.0
Variabel, Input, String
= 2
a = 3
b = b
a print(a)
print(b)
= input("Masukkan nama: ")
nama print(nama)
= "Nama saya " + nama
kalimat print(kalimat)
print("Nama saya " + nama)
= input("Masukkan nama: ")
nama print("Nama saya " + nama)
Buatlah kode yang menerima input nama
lalu menghasilkan pesan:
Selamat siang (nama)
print("Selamat siang " + nama)
Tipe Data
= input("Masukkan nama: ")
nama print(nama)
Masukkan nama: Sam
Sam
print(type(nama))
<class 'str'>
= input("Masukkan angka: ")
x_masuk print(x_masuk)
Masukkan angka: 25
25
print(type(x_masuk))
<class 'str'>
= int(x_masuk)
x_angka print(x_angka)
25
print(type(x_angka))
<class 'int'>
= int(input("Masukkan angka: "))
y print(y)
Masukkan angka: 30
30
print(type(y))
<class 'int'>
Pernyataan Bersyarat/Kondisional: if
, elif
(else if), else
= int(input("Masukkan angka: "))
x if (x % 2 == 0):
print("Genap")
else:
print("Ganjil")
Masukkan angka: 5
Ganjil
Pernyataan Berulang: for
, while
Problem: hitung
\[1 + 2 + 3 + \dots + 100 = \text{ ?}\]
= 0
hasil for i in range(1, 100+1):
= hasil + i
hasil print(hasil)
5050
Problem: …
= 0
n = 1
hasil while (hasil < 1000):
= hasil * 2
hasil = n + 1
n print(n)
print(hasil)
10
1024
print(2**10)
1024
List
= ["apel", "jeruk", "pisang"] buah
print(buah[0])
apel
print(buah[1])
jeruk
print(buah[2])
pisang
print(len(buah))
3
for x in buah:
print("Saya suka " + x)
Saya suka apel
Saya suka jeruk
Saya suka anggur
print(buah)
['apel', 'jeruk', 'pisang']
2] = "anggur" buah[
print(buah)
['apel', 'jeruk', 'anggur']
Fungsi
Buatlah fungsi jumlahkan
yang menerima input n
lalu menghitung
\[1 + 2 + 3 + \dots + n = \text{ ?}\]
def jumlahkan(n):
= 0
hasil for i in range(1, n+1):
= hasil + i
hasil return hasil
print(jumlahkan(3))
6
print(jumlahkan(100))
5050
Fungsi Rekursif
Barisan Fibonacci: 0, 1, 1, 2, 3, 5, 8, …
\[F_0 = 0, \quad F_1 = 1\]
\[F_n = F_{n-1} + F_{n-2}\]
def fib(n):
if (n == 0):
return 0
elif (n == 1):
return 1
else:
return fib(n-1) + fib(n-2)
\[F_{10} = \text{ ?}\]
10) fib(
55
Faktorial:
\[0! = 1\]
\[n! = n * (n-1)!\]
Contoh:
\[\begin{align*} 5! &= 5 * 4! \\ &= 5 * 4 * 3! \\ &= 5 * 4 * 3 * 2! \\ &= 5 * 4 * 3 * 2 * 1! \\ &= 5 * 4 * 3 * 2 * 1 * 0! \\ &= 5 * 4 * 3 * 2 * 1 * 1 \\ &= 120 \end{align*}\]
def fact(n):
if (n == 0):
return 1
else:
return n * fact(n-1)
\[10! = \text{ ?}\]
10) fact(