Kembali ke Beranda

Python

Bahasa Pemrograman Serbaguna & Mudah Dibaca

Apa itu Python?

Python adalah bahasa pemrograman tingkat tinggi yang serbaguna, ditafsirkan (interpreted), dan berorientasi objek. Diciptakan oleh Guido van Rossum, Python menekankan pada keterbacaan kode dengan sintaks yang sangat bersih. Karena kemudahan dan kekuatannya, Python digunakan secara luas dalam pengembangan web (backend), ilmu data, kecerdasan buatan (AI), otomatisasi, pengembangan game, dan banyak lagi.

Konsep & Sintaks Kunci

Salah satu ciri khas Python yang paling menonjol adalah penggunaan indentasi (spasi di awal baris) untuk menandai blok kode, bukan menggunakan kurung kurawal {} seperti bahasa lain.

Variabel

Di Python, Anda tidak perlu mendeklarasikan tipe data variabel. Anda cukup memberi nama variabel dan memberinya nilai.

Contoh Kode:

# Python secara otomatis mengenali tipe datanya
nama = "Miyamura"  # Ini adalah string
umur = 21         # Ini adalah integer
tinggi = 175.5    # Ini adalah float (desimal)
sudah_belajar = True # Ini adalah boolean

print(f"Nama saya {nama}, umur {umur} tahun.")

Hasil di Terminal/Konsol:

Nama saya Miyamura, umur 21 tahun.

Fungsi

Fungsi didefinisikan menggunakan kata kunci def. Blok kode di dalam fungsi harus diindentasi.

Contoh Kode:

def hitung_luas_persegi(sisi):
    luas = sisi * sisi
    return luas

# Memanggil fungsi
luas_bidang = hitung_luas_persegi(10)
print(f"Luas persegi adalah: {luas_bidang}")

Hasil di Terminal/Konsol:

Luas persegi adalah: 100

Struktur Kontrol (If-Else)

Struktur kondisional seperti if, elif (else if), dan else digunakan untuk mengontrol alur program. Perhatikan penggunaan titik dua (:) dan indentasi.

Contoh Kode:

nilai = 85

if nilai >= 90:
    print("Predikat: A")
elif nilai >= 80:
    print("Predikat: B")
else:
    print("Predikat: C")

Hasil di Terminal/Konsol:

Predikat: B

List (Daftar)

List adalah kumpulan item yang terurut dan dapat diubah. Didefinisikan dengan kurung siku [].

Contoh Kode:

# Membuat sebuah list
buah = ["apel", "pisang", "ceri"]

# Menambah item baru
buah.append("mangga")

# Mengakses item berdasarkan indeksnya (dimulai dari 0)
print(f"Buah pertama adalah: {buah[0]}")

# Melakukan perulangan (loop) pada list
print("Semua buah:")
for item in buah:
    print(f"- {item}")

Hasil di Terminal/Konsol:

Buah pertama adalah: apel

Semua buah:

- apel

- pisang

- ceri

- mangga

Struktur Data Lanjutan dan OOP

Selain list, Python menyediakan struktur data lain yang kuat. Memahami ini, beserta konsep Pemrograman Berorientasi Objek (OOP), adalah kunci untuk menulis kode Python yang efisien dan terstruktur.

Dictionary

Dictionary adalah kumpulan data yang tidak terurut yang disimpan dalam format pasangan kunci-nilai (key-value). Sangat berguna untuk menyimpan data yang memiliki hubungan, seperti data pengguna.

Contoh Kode:

# Membuat dictionary
data_mahasiswa = {
    "nama": "Izumi Miyamura",
    "nim": "12345",
    "aktif": True
}

# Mengakses nilai berdasarkan kuncinya
print(f"Nama: {data_mahasiswa['nama']}")

# Menambah data baru
data_mahasiswa['jurusan'] = "Teknik Informatika"
print(f"Jurusan: {data_mahasiswa['jurusan']}")

Hasil di Terminal/Konsol:

Nama: Izumi Miyamura

Jurusan: Teknik Informatika

Pemrograman Berorientasi Objek (OOP) dengan Class

Class adalah cetak biru (blueprint) untuk membuat objek. OOP membantu mengorganisir kode menjadi bagian-bagian yang logis dan dapat digunakan kembali.

Contoh Kode:

class Mobil:
    # __init__ adalah method khusus (constructor) yang berjalan saat objek dibuat
    def __init__(self, merk, warna):
        self.merk = merk
        self.warna = warna
        self.kecepatan = 0

    # Ini adalah sebuah method
    def percepat(self, nilai):
        self.kecepatan += nilai
        print(f"{self.merk} melaju dengan kecepatan {self.kecepatan} km/jam.")

# Membuat objek (instance) dari class Mobil
mobil_saya = Mobil("Toyota", "Merah")
mobil_teman = Mobil("Honda", "Biru")

# Memanggil method dari objek
mobil_saya.percepat(50)
mobil_teman.percepat(60)

Hasil di Terminal/Konsol:

Toyota melaju dengan kecepatan 50 km/jam.

Honda melaju dengan kecepatan 60 km/jam.

Bekerja dengan File

Python menyediakan cara yang mudah untuk membaca dari dan menulis ke file. Praktik terbaik adalah menggunakan statement with, yang secara otomatis akan menutup file setelah selesai.

Contoh Kode:

# Menulis ke file (mode 'w' akan membuat file baru atau menimpa yang sudah ada)
with open('catatan.txt', 'w') as f:
    f.write('Halo, ini baris pertama.\n')
    f.write('Ini baris kedua.')

# Membaca dari file (mode 'r')
with open('catatan.txt', 'r') as f:
    isi_file = f.read()
    print("Isi dari catatan.txt:")
    print(isi_file)

Hasil di Terminal/Konsol:

Isi dari catatan.txt:

Halo, ini baris pertama.

Ini baris kedua.

Modul, Error Handling, dan Idiom Python

Menulis kode Python yang baik bukan hanya tentang sintaks yang benar, tetapi juga tentang memanfaatkan ekosistemnya yang kaya dan menulis kode yang efisien dan mudah dibaca.

Modul dan Packages

Python memiliki pustaka standar yang sangat besar dan ekosistem paket pihak ketiga yang luas. Anda dapat menggunakan fungsionalitas ini dengan mengimpornya menggunakan kata kunci import. Paket pihak ketiga biasanya diinstal menggunakan manajer paket bernama pip (misal: pip install requests).

Contoh Kode (Menggunakan modul bawaan):

# Mengimpor modul 'math' untuk operasi matematika
import math

# Mengimpor modul 'random' untuk menghasilkan angka acak
import random

akar_kuadrat = math.sqrt(16)
print(f"Akar kuadrat dari 16 adalah: {akar_kuadrat}")

angka_acak = random.randint(1, 10) # Angka acak antara 1 dan 10
print(f"Angka acak hari ini: {angka_acak}")

Kemungkinan Hasil di Terminal/Konsol:

Akar kuadrat dari 16 adalah: 4.0

Angka acak hari ini: 7

(Angka acak akan berbeda setiap kali dijalankan)

Penanganan Error (Exception Handling)

Blok try...except digunakan untuk menangani error yang mungkin terjadi saat program berjalan. Ini mencegah program berhenti total dan memungkinkan Anda untuk memberikan pesan yang lebih ramah kepada pengguna.

Contoh Kode:

try:
    hasil = 10 / 0
except ZeroDivisionError:
    print("Error: Tidak bisa membagi dengan nol!")
finally:
    print("Blok finally akan selalu dieksekusi.")

Hasil di Terminal/Konsol:

Error: Tidak bisa membagi dengan nol!

Blok finally akan selalu dieksekusi.

List Comprehensions

Ini adalah cara yang ringkas dan "Pythonic" untuk membuat list. Ini menggabungkan perulangan for dan pembuatan elemen baru ke dalam satu baris yang mudah dibaca.

Contoh Kode:

# Cara biasa dengan for loop
kuadrat_biasa = []
for i in range(5):
    kuadrat_biasa.append(i * i)
print(f"Cara biasa: {kuadrat_biasa}")

# Cara dengan list comprehension
kuadrat_comprehension = [i * i for i in range(5)]
print(f"Dengan comprehension: {kuadrat_comprehension}")

Hasil di Terminal/Konsol:

Cara biasa: [0, 1, 4, 9, 16]

Dengan comprehension: [0, 1, 4, 9, 16]

Interaksi Web dan Praktik Profesional

Untuk proyek dunia nyata, Anda perlu tahu cara berinteraksi dengan layanan web dan mengelola lingkungan pengembangan Anda secara profesional.

Mengambil Data dari API dengan `requests`

Pustaka requests adalah cara standar de-facto untuk membuat permintaan HTTP di Python. Anda perlu menginstalnya terlebih dahulu menggunakan pip: pip install requests.

Contoh Kode (Mengambil data dari API publik):

import requests
import json # Modul untuk bekerja dengan data JSON

try:
    # Membuat permintaan GET ke URL API
    respons = requests.get('https://jsonplaceholder.typicode.com/users/1')
    
    # Memeriksa apakah permintaan berhasil (status code 200)
    respons.raise_for_status() 
    
    # Mengubah respons JSON menjadi dictionary Python
    data_pengguna = respons.json()
    
    print(f"Nama pengguna: {data_pengguna['name']}")
    print(f"Email: {data_pengguna['email']}")

except requests.exceptions.HTTPError as err:
    print(f"Terjadi error HTTP: {err}")
except Exception as err:
    print(f"Terjadi error lain: {err}")

Hasil di Terminal/Konsol:

Nama pengguna: Leanne Graham

Email: Sincere@april.biz

Fungsi Lambda (Fungsi Anonim)

Fungsi lambda adalah fungsi kecil tanpa nama yang hanya bisa memiliki satu ekspresi. Sangat berguna ketika Anda membutuhkan fungsi sederhana untuk waktu yang singkat, misalnya sebagai argumen untuk fungsi tingkat tinggi seperti sorted() atau map().

Contoh Kode:

# Fungsi biasa
def kali_dua(x):
    return x * 2

# Fungsi lambda yang setara
kali_dua_lambda = lambda x: x * 2

print(f"Hasil dari fungsi biasa: {kali_dua(5)}")
print(f"Hasil dari fungsi lambda: {kali_dua_lambda(5)}")

# Contoh penggunaan praktis: mengurutkan list of tuples berdasarkan elemen kedua
poin = [(1, 2), (3, 1), (5, 4)]
poin_terurut = sorted(poin, key=lambda p: p[1])
print(f"Poin terurut: {poin_terurut}")

Hasil di Terminal/Konsol:

Hasil dari fungsi biasa: 10

Hasil dari fungsi lambda: 10

Poin terurut: [(3, 1), (1, 2), (5, 4)]

Virtual Environments (`venv`)

Virtual environment adalah direktori terisolasi yang berisi instalasi Python dan pustaka-pustaka khusus untuk satu proyek. Ini memungkinkan setiap proyek memiliki dependensinya sendiri tanpa mengganggu proyek lain atau instalasi Python global. Ini adalah praktik yang sangat penting.

Cara Menggunakan (di Terminal):

# 1. Membuat virtual environment di dalam folder proyek
#    (akan membuat folder bernama 'env' atau 'venv')
python -m venv env

# 2. Mengaktifkan environment
#    Di Windows:
#    .\\env\\Scripts\\activate
#    Di MacOS/Linux:
#    source env/bin/activate

# 3. Sekarang Anda bisa menginstal pustaka hanya untuk proyek ini
pip install requests

# 4. Untuk menonaktifkan, cukup ketik:
#    deactivate