Materi Python Syntax Secara Lengkap
1. Pengenalan Python Syntax
Python dikenal dengan sintaksisnya yang bersih dan mudah dibaca. Berbeda dengan bahasa lain yang
menggunakan tanda kurung kurawal atau kata kunci tertentu untuk mendefinisikan blok kode, Python
menggunakan indentasi.
2. Struktur Dasar Python
2.1. Komentar
# Ini adalah komentar satu baris
“””
Ini adalah komentar multi-baris
yang bisa mencakup beberapa baris
“””
“””Ini juga komentar multi-baris”””
2.2. Print Statement
print("Hello, World!") # Output: Hello, World!
print(2023) # Output: 2023
print(3.14) # Output: 3.14
2.3. Input dari User
nama = input("Masukkan nama Anda: ")
print("Halo, " + nama)
3. Variabel dan Tipe Data
3.1. Deklarasi Variabel
x=5 # integer
y = 3.14 # float
nama = "Alice" # string
is_active = True # boolean
3.2. Tipe Data Dasar
# Integer
a = 10
b = -5
# Float
pi = 3.14159
suhu = -2.5
# String
s1 = 'Hello'
s2 = "Python"
s3 = '''Multi-line
string'''
Boolean
benar = True
salah = False
NoneType
kosong = None
3.3. Konversi Tipe Data
x = 10
y = float(x) # 10.0
z = str(x) # "10"
s = "123"
n = int(s) # 123
f = float(s) # 123.0
4. Operator
4.1. Operator Aritmatika
a = 10
b=3
print(a + b) # 13
print(a - b) # 7
print(a * b) # 30
print(a / b) # 3.333...
print(a // b) # 3 (pembagian bulat)
print(a % b) # 1 (modulus)
print(a ** b) # 1000 (pangkat)
4.2. Operator Perbandingan
x=5
y = 10
print(x == y) # False
print(x != y) # True
print(x > y) # False
print(x < y) # True
print(x >= y) # False
print(x <= y) # True
4.3. Operator Logika
a = True
b = False
print(a and b) # False
print(a or b) # True
print(not a) # False
```
4.4. Operator Assignment
x = 10
x += 5 # x = x + 5 → 15
x -= 3 # x = x - 3 → 12
x *= 2 # x = x * 2 → 24
x /= 4 # x = x / 4 → 6.0
x **= 2 # x = x ** 2 → 36.0
x %= 5 # x = x % 5 → 1.0
5. Struktur Kontrol
5.1. Percabangan (if-elif-else)
nilai = 85
if nilai >= 90:
print("A")
elif nilai >= 80:
print("B")
elif nilai >= 70:
print("C")
else:
print("D")
5.2. Perulangan (for)
# Loop melalui range
for i in range(5): # 0 sampai 4
print(i)
for i in range(1, 6): # 1 sampai 5
print(i)
for i in range(0, 10, 2): # 0, 2, 4, 6, 8
print(i)
# Loop melalui list
buah = ["apel", "pisang", "ceri"]
for b in buah:
print(b)
5.3. Perulangan (while)
```python
count = 0
while count < 5:
print(count)
count += 1
# While dengan break
while True:
user_input = input("Masukkan 'quit' untuk keluar: ")
if user_input == 'quit':
break
5.4. Kontrol Perulangan
# break
for i in range(10):
if i == 5:
break
print(i) # 0,1,2,3,4
# continue
for i in range(10):
if i % 2 == 0:
continue
print(i) # 1,3,5,7,9
# pass (placeholder)
for i in range(5):
pass # tidak melakukan apa-apa
6. Fungsi
6.1. Definisi Fungsi
def sapa(nama):
print(f"Halo, {nama}!")
sapa("Budi") # Output: Halo, Budi!
6.2. Return Value
def tambah(a, b):
return a + b
hasil = tambah(5, 3)
print(hasil) # Output: 8
6.3. Parameter Default
def pangkat(angka, eksponen=2):
return angka ** eksponen
print(pangkat(3)) #9
print(pangkat(3, 3)) # 27
6.4. Parameter Arbitrer
def cetak_argumen(*args):
for arg in args:
print(arg)
cetak_argumen(1, 2, 3, "empat")
def cetak_kwargs(**kwargs):
for key, value in [Link]():
print(f"{key}: {value}")
cetak_kwargs(nama="Alice", umur=25)
6.5. Lambda Function
kali = lambda x, y: x * y
print(kali(3, 4)) # Output: 12
# Penggunaan dengan map
angka = [1, 2, 3, 4]
kuadrat = list(map(lambda x: x**2, angka))
print(kuadrat) # [1, 4, 9, 16]
```
7. Struktur Data
7.1. List
```python
buah = ["apel", "pisang", "ceri"]
print(buah[1]) # pisang
[Link]("anggur")
[Link]("pisang")
print(len(buah)) # 3
# List comprehension
kuadrat = [x**2 for x in range(5)]
7.2. Tuple
koordinat = (10, 20)
print(koordinat[0]) # 10
# Tuple unpacking
x, y = koordinat
7.3. Dictionary
mahasiswa = {
"nama": "Budi",
"umur": 21,
"prodi": "Informatika"
print(mahasiswa["nama"]) # Budi
mahasiswa["ipk"] = 3.75
for key, value in [Link]():
print(f"{key}: {value}")
7.4. Set
s = {1, 2, 3, 3, 4} # {1, 2, 3, 4}
[Link](5)
[Link](2)
# Operasi set
a = {1, 2, 3}
b = {3, 4, 5}
print([Link](b)) # {1, 2, 3, 4, 5}
print([Link](b)) # {3}
```
8. Manipulasi String
### 8.1. Operasi Dasar String
s = "Python"
print(len(s)) #6
print(s[0]) # 'P'
print(s[-1]) # 'n'
print(s[1:4]) # 'yth'
print([Link]()) # 'PYTHON'
print([Link]()) # 'python'
print("Py" in s) # True
8.2. Format String
nama = "Alice"
umur = 25
# f-string (Python 3.6+)
print(f"Nama: {nama}, Umur: {umur}")
# format method
print("Nama: {}, Umur: {}".format(nama, umur))
8.3. Metode String
teks = " Hello, World! "
print([Link]()) # "Hello, World!"
print([Link](",")) # [" Hello", " World! "]
print([Link]("H", "J")) # " Jello, World! "
print([Link]("World")) # 9
9. File Handling
9.1. Membaca File
with open('[Link]', 'r') as file:
content = [Link]()
print(content)
# Membaca per baris
with open('[Link]', 'r') as file:
for line in file:
print([Link]())
9.2. Menulis File
# Menulis file baru
with open('[Link]', 'w') as file:
[Link]("Baris pertama\n")
[Link]("Baris kedua\n")
# Menambahkan ke file
with open('[Link]', 'a') as file:
[Link]("Baris ketiga\n")
```
10. Exception Handling
try:
hasil = 10 / 0
except ZeroDivisionError:
print("Tidak bisa dibagi dengan nol!")
except Exception as e:
print(f"Terjadi error: {e}")
else:
print("Tidak ada error")
finally:
print("Blok ini selalu dijalankan")
11. Object-Oriented Programming (OOP)
11.1. Class dan Object
class Mobil:
# Constructor
def __init__(self, merek, warna):
[Link] = merek
[Link] = warna
# Method
def info(self):
print(f"Mobil {[Link]} berwarna {[Link]}")
# Membuat object
mobil1 = Mobil("Toyota", "Merah")
[Link]()
```
11.2. Inheritance
class Hewan:
def __init__(self, nama):
[Link] = nama
def bersuara(self):
pass
class Kucing(Hewan):
def bersuara(self):
print("Meong!")
hewan = Kucing("Kitty")
[Link]() # Output: Meong!
12. Modul dan Package
12.1. Menggunakan Modul
# file: [Link]
def sapa(nama):
print(f"Halo, {nama}")
# file: [Link]
import mymodule
[Link]("Alice")
# Alternatif
from mymodule import sapa
sapa("Bob")
12.2. Package
my_package/
__init__.py
[Link]
[Link]
from my_package import module1
from my_package.module2 import fungsi_tersedia
13. Fitur Lanjutan Python
13.1. Generator
def bilangan_genap(limit):
n=0
while n < limit:
yield n
n += 2
for num in bilangan_genap(10):
print(num) # 0, 2, 4, 6, 8
13.2. Decorator
def my_decorator(func):
def wrapper():
print("Sebelum fungsi dipanggil.")
func()
print("Setelah fungsi dipanggil.")
return wrapper
@my_decorator
def say_hello():
print("Hello!")
say_hello()
13.3. Context Manager
class FileManager:
def __init__(self, filename, mode):
[Link] = filename
[Link] = mode
def __enter__(self):
[Link] = open([Link], [Link])
return [Link]
def __exit__(self, exc_type, exc_val, exc_tb):
[Link]()
with FileManager('[Link]', 'w') as f:
[Link]('Hello')
14. PEP 8: Python Style Guide
Beberapa aturan penting:
- Gunakan 4 spasi untuk indentasi
- Maksimal 79 karakter per baris
- Gunakan snake_case untuk nama variabel dan fungsi
- Gunakan CamelCase untuk nama class
- Gunakan spasi di sekitar operator dan setelah koma
- Gunakan docstring untuk dokumentasi fungsi/class
Contoh:
def hitung_rata_rata(angka):
"""Menghitung rata-rata dari list angka.
Args:
angka: List berisi angka-angka
Returns:
Nilai rata-rata dari angka-angka tersebut
return sum(angka) / len(angka) if angka else 0
15. Contoh Program Lengkap
# Program menghitung luas dan keliling bangun datar
import math
def hitung_luas_persegi(sisi):
"""Menghitung luas persegi."""
return sisi ** 2
def hitung_keliling_persegi(sisi):
"""Menghitung keliling persegi."""
return 4 * sisi
def hitung_luas_lingkaran(jari_jari):
"""Menghitung luas lingkaran."""
return [Link] * (jari_jari ** 2)
def main():
print("PROGRAM MENGHITUNG LUAS DAN KELILING")
print("1. Persegi")
print("2. Lingkaran")
pilihan = input("Pilih bangun datar (1/2): ")
if pilihan == "1":
sisi = float(input("Masukkan panjang sisi: "))
print(f"Luas persegi: {hitung_luas_persegi(sisi)}")
print(f"Keliling persegi: {hitung_keliling_persegi(sisi)}")
elif pilihan == "2":
jari_jari = float(input("Masukkan jari-jari: "))
print(f"Luas lingkaran: {hitung_luas_lingkaran(jari_jari):.2f}")
else:
print("Pilihan tidak valid!")
if __name__ == "__main__":
main()
Materi ini mencakup hampir semua aspek sintaksis Python dari dasar hingga menengah. Untuk
penguasaan yang lebih baik, disarankan untuk mempraktikkan setiap konsep secara langsung dengan
menulis dan menjalankan kode.