Belajar Bahasa Pemrograman Python: Panduan Lengkap untuk Pemula
Tutorial Lengkap Belajar Python untuk Pemula
Python adalah salah satu bahasa pemrograman paling populer di dunia, dikenal karena kemudahan dibaca, fleksibilitas, dan komunitas yang besar. Baik kamu ingin membuat situs web, menganalisis data, mengembangkan kecerdasan buatan, atau sekadar mengotomatiskan tugas sehari-hari, Belajar Python adalah pilihan yang sangat baik.
Daftar Isi
- Pendahuluan
- Apa itu Python?
- Mengapa Belajar Python?
- Apa yang Bisa Dilakukan dengan Python?
- Persiapan Lingkungan Belajar
- Menginstal Python
- Memilih Code Editor/IDE
- Menjalankan Kode Python Pertama Anda
- Dasar-dasar Python
- “Hello, World!”
- Komentar
- Variabel
- Tipe Data (Numbers, Strings, Booleans)
- Operator (Aritmetika, Perbandingan, Logika)
- Input dan Output
- Kontrol Aliran (Control Flow)
- Kondisional (
if,elif,else) - Perulangan (
forloop) - Perulangan (
whileloop) breakdancontinue
- Kondisional (
- Struktur Data Python
- List (Daftar)
- Tuple
- Dictionary (Kamus)
- Set
- Fungsi (Functions)
- Mendefinisikan dan Memanggil Fungsi
- Parameter dan Argumen
- Nilai Kembalian (
return) - Docstrings
- Pemrograman Berorientasi Objek (OOP) – Pengantar
- Konsep Dasar: Kelas, Objek, Atribut, Metode
- Membuat Kelas dan Objek Pertama
- Modul dan Package
- Apa itu Modul?
- Mengimpor Modul
- Menggunakan Modul Pihak Ketiga (PIP)
- Penanganan File (File I/O)
- Membuka dan Menutup File
- Membaca File
- Menulis ke File
- Menggunakan
withStatement
- Penanganan Kesalahan (Error Handling)
try,except,finally- Jenis-jenis Kesalahan Umum
- Langkah Selanjutnya & Proyek Kecil
- Praktik dan Proyek
- Mempelajari Library Populer
- Sumber Belajar Tambahan
1. Pendahuluan
Apa itu Python?
Python adalah bahasa pemrograman tingkat tinggi (high-level), diinterpretasikan (interpreted), interaktif, dan berorientasi objek. Dibuat oleh Guido van Rossum dan pertama kali dirilis pada tahun 1991.
Mengapa Belajar Python?
- Mudah Dipelajari: Sintaksisnya bersih dan menyerupai bahasa Inggris.
- Serbaguna: Digunakan dalam banyak bidang (web development, data science, AI/ML, otomatisasi, dll).
- Komunitas Besar: Banyak sumber belajar, library, dan dukungan.
- Open Source: Gratis untuk digunakan dan didistribusikan.
- Gaji Kompetitif: Keterampilan Python sangat dicari di pasar kerja.
Apa yang Bisa Dilakukan dengan Python?
- Pengembangan Web: Django, Flask, FastAPI
- Analisis Data & Ilmu Data: Pandas, NumPy, Matplotlib, Scikit-learn
- Machine Learning & AI: TensorFlow, Keras, PyTorch
- Otomatisasi & Skrip: Otomatisasi tugas-tugas berulang
- Pengembangan Game: Pygame
- Aplikasi Desktop: PyQt, Kivy
- IoT (Internet of Things)
2. Persiapan Lingkungan Belajar
Menginstal Python
- Unduh Python: Kunjungi situs web resmi Python: python.org/downloads.
- Pilih Versi: Unduh installer untuk sistem operasi Anda (Windows, macOS, Linux). Disarankan versi terbaru (saat ini Python 3.x).
- Jalankan Installer:
- Penting (Windows): Pastikan untuk mencentang opsi “Add Python X.X to PATH” selama instalasi. Ini akan memudahkan Anda menjalankan Python dari Command Prompt/Terminal.
- Verifikasi Instalasi: Buka Command Prompt (CMD) atau Terminal dan ketik:
Anda seharusnya melihat versi Python yang terinstal, misalnyapython --version # Atau python3 --versionPython 3.10.0.
Memilih Code Editor/IDE
Anda bisa menulis kode Python di Notepad biasa, tapi editor kode atau IDE (Integrated Development Environment) akan sangat membantu:
- VS Code (Visual Studio Code): Sangat populer, ringan, banyak ekstensi (Direkomendasikan untuk pemula).
- PyCharm: IDE khusus Python yang sangat powerful, ada versi Community (gratis).
- Jupyter Notebook: Bagus untuk data science, pembelajaran mesin, dan eksperimen kode interaktif.
- Sublime Text, Atom: Editor serbaguna lainnya.
Instal VS Code:
- Unduh dari code.visualstudio.com.
- Instal ekstensi Python di VS Code (cari “Python” di bagian Extensions dan instal yang dari Microsoft).
Menjalankan Kode Python Pertama Anda
- Buka VS Code.
- Buat file baru:
File > New FileatauCtrl+N. - Simpan file:
File > Save AsatauCtrl+S. Beri namahello.py(ekstensi.pypenting!). - Tulis kode:
print("Halo, Dunia!") - Jalankan:
- Buka Terminal di VS Code (
View > TerminalatauCtrl+). - Pastikan Anda berada di direktori tempat Anda menyimpan
hello.py. Jika tidak, gunakancd nama_folder_andauntuk berpindah. - Ketik:
python hello.pyataupython3 hello.py - Anda akan melihat output:
Halo, Dunia!
- Buka Terminal di VS Code (
3. Dasar-dasar Python
“Hello, World!”
Ini adalah program paling sederhana untuk memastikan semuanya berfungsi.
print("Halo, Dunia!") # Menampilkan teks ke konsol
print() adalah fungsi built-in untuk menampilkan output.
Komentar
Komentar adalah baris kode yang diabaikan oleh interpreter Python. Digunakan untuk menjelaskan kode Anda.
# Ini adalah komentar satu baris
'''
Ini adalah komentar
multiline (bisa lebih dari satu baris)
'''
"""
Ini juga komentar
multiline
"""
print("Kode ini akan dieksekusi.") # Anda bisa menambahkan komentar setelah kode
Variabel
Variabel digunakan untuk menyimpan data. Python adalah bahasa dengan penulisan dinamis (dynamically typed), jadi Anda tidak perlu mendeklarasikan tipe data.
nama = "Budi" # Variabel string
umur = 30 # Variabel integer
tinggi_badan = 175.5 # Variabel float
is_mahasiswa = True # Variabel boolean
print(nama)
print(umur)
print(tinggi_badan)
print(is_mahasiswa)
# Aturan Penamaan Variabel:
# - Dimulai dengan huruf atau underscore (_).
# - Tidak boleh dimulai dengan angka.
# - Hanya boleh mengandung karakter alfanumerik (A-z, 0-9) dan underscore.
# - Case-sensitive (nama berbeda dengan Nama).
# - Hindari menggunakan kata kunci Python (misal: if, else, for, while).
Tipe Data
Python memiliki beberapa tipe data dasar:
- Numbers:
int(integer): Bilangan bulat (contoh:10,-5,0).float(floating-point): Bilangan desimal (contoh:3.14,-0.5).complex: Bilangan kompleks (jarang dipakai pemula).
- Strings (
str): Urutan karakter, diapit oleh tanda kutip tunggal (') atau ganda ("). - Booleans (
bool): Nilai kebenaran,TrueatauFalse.
# Numbers
angka_bulat = 100
angka_desimal = 98.75
print(type(angka_bulat)) # Output: <class 'int'>
print(type(angka_desimal)) # Output: <class 'float'>
# Strings
salam = "Halo"
pesan = 'Selamat pagi!'
kalimat_panjang = """Ini adalah
kalimat yang panjang
dengan beberapa baris."""
print(type(salam)) # Output: <class 'str'>
# Boolean
apakah_benar = True
apakah_salah = False
print(type(apakah_benar)) # Output: <class 'bool'>
# Konversi Tipe Data (Type Casting)
str_angka = "123"
int_angka = int(str_angka) # Mengubah string "123" menjadi integer 123
print(type(int_angka))
int_ke_str = str(10) # Mengubah integer 10 menjadi string "10"
print(type(int_ke_str))
Operator
Operator Aritmetika
Digunakan untuk operasi matematika.
a = 10
b = 3
print(a + b) # Penjumlahan: 13
print(a - b) # Pengurangan: 7
print(a * b) # Perkalian: 30
print(a / b) # Pembagian: 3.333... (hasil float)
print(a // b) # Pembagian bulat (floor division): 3
print(a % b) # Modulo (sisa bagi): 1
print(a ** b) # Perpangkatan: 1000 (10^3)
Operator Perbandingan (Comparison Operators)
Digunakan untuk membandingkan dua nilai, hasilnya adalah boolean (True atau False).
x = 5
y = 8
print(x == y) # Sama dengan? False
print(x != y) # Tidak sama dengan? True
print(x > y) # Lebih besar dari? False
print(x < y) # Lebih kecil dari? True
print(x >= y) # Lebih besar dari atau sama dengan? False
print(x <= y) # Lebih kecil dari atau sama dengan? True
Operator Logika (Logical Operators)
Digunakan untuk menggabungkan pernyataan kondisional.
and:Truejika kedua kondisiTrue.or:Truejika salah satu kondisiTrue.not: Membalik nilai boolean.
kondisi1 = True
kondisi2 = False
print(kondisi1 and kondisi2) # False
print(kondisi1 or kondisi2) # True
print(not kondisi1) # False
Input dan Output
- Output: Menggunakan fungsi
print(). - Input: Menggunakan fungsi
input()untuk mendapatkan input dari pengguna.
# Output
nama = "Alice"
umur = 25
print("Nama saya adalah", nama, "dan umur saya", umur, "tahun.")
print(f"Nama saya adalah {nama} dan umur saya {umur} tahun.") # F-string (Python 3.6+)
# Input
nama_anda = input("Masukkan nama Anda: ")
umur_str = input("Masukkan umur Anda: ")
# input() selalu mengembalikan string, jadi perlu dikonversi jika butuh angka
umur_int = int(umur_str)
print(f"Halo, {nama_anda}! Anda berumur {umur_int} tahun.")
4. Kontrol Aliran (Control Flow)
Kontrol aliran menentukan urutan eksekusi pernyataan berdasarkan kondisi.
Kondisional (if, elif, else)
Digunakan untuk menjalankan blok kode tertentu berdasarkan kondisi. Penting: Python menggunakan indentasi (spasi atau tab) untuk menentukan blok kode!
nilai = 75
if nilai >= 90:
print("Nilai Anda A")
elif nilai >= 80:
print("Nilai Anda B")
elif nilai >= 70:
print("Nilai Anda C")
else:
print("Anda perlu belajar lebih keras")
# Contoh dengan operator logika
usia = 18
punya_sim = True
if usia >= 17 and punya_sim:
print("Anda diizinkan mengemudi.")
else:
print("Anda belum diizinkan mengemudi.")
Perulangan (for loop)
Digunakan untuk mengulang kode sejumlah kali atau untuk setiap item dalam sebuah koleksi.
# Mengulang string
for huruf in "Python":
print(huruf)
# Mengulang list (akan dibahas nanti)
daftar_angka = [1, 2, 3, 4, 5]
for angka in daftar_angka:
print(angka * 2)
# Mengulang dengan range()
# range(start, stop, step)
# range(5) -> 0, 1, 2, 3, 4
# range(1, 6) -> 1, 2, 3, 4, 5
# range(0, 10, 2) -> 0, 2, 4, 6, 8
for i in range(5):
print(f"Iterasi ke-{i+1}")
Perulangan (while loop)
Mengulang blok kode selama suatu kondisi bernilai True.
hitung = 0
while hitung < 5:
print(f"Hitungan saat ini: {hitung}")
hitung += 1 # Ini penting! Kalau tidak, loop akan berjalan selamanya (infinite loop)
print("Selesai menghitung.")
break dan continue
break: Menghentikan loop secara paksa.continue: Melewati sisa iterasi saat ini dan melanjutkan ke iterasi berikutnya.
# break
for i in range(10):
if i == 5:
break # Loop akan berhenti ketika i mencapai 5
print(i) # Output: 0, 1, 2, 3, 4
print("-" * 20)
# continue
for i in range(10):
if i % 2 == 0: # Jika i adalah bilangan genap
continue # Lewati iterasi ini
print(i) # Output: 1, 3, 5, 7, 9
5. Struktur Data Python
Struktur data adalah cara untuk menyimpan dan mengelola data secara efisien.
List (Daftar)
- Ordered (Terurut): Elemen memiliki indeks (posisi).
- Mutable (Dapat Diubah): Elemen bisa ditambah, diubah, atau dihapus.
- Allows duplicates: Bisa mengandung elemen yang sama.
- Didefinisikan dengan kurung siku
[].
# Membuat list
buah = ["apel", "pisang", "ceri"]
angka = [1, 5, 2, 8, 5]
campuran = ["kata", 10, True, 3.14]
# Mengakses elemen (indeks dimulai dari 0)
print(buah[0]) # Output: apel
print(buah[2]) # Output: ceri
print(buah[-1]) # Output: ceri (elemen terakhir)
# Mengubah elemen
buah[1] = "mangga"
print(buah) # Output: ['apel', 'mangga', 'ceri']
# Menambahkan elemen
buah.append("jeruk") # Menambah di akhir
buah.insert(1, "anggur") # Menambah di indeks tertentu
print(buah) # Output: ['apel', 'anggur', 'mangga', 'ceri', 'jeruk']
# Menghapus elemen
buah.remove("mangga") # Menghapus berdasarkan nilai
print(buah) # Output: ['apel', 'anggur', 'ceri', 'jeruk']
del buah[0] # Menghapus berdasarkan indeks
print(buah) # Output: ['anggur', 'ceri', 'jeruk']
buah.pop() # Menghapus elemen terakhir
print(buah) # Output: ['anggur', 'ceri']
# Panjang list
print(len(buah)) # Output: 2
# Iterasi list
for item in buah:
print(item)
Tuple
- Ordered (Terurut): Elemen memiliki indeks.
- Immutable (Tidak Dapat Diubah): Setelah dibuat, elemen tidak bisa diubah, ditambah, atau dihapus.
- Allows duplicates: Bisa mengandung elemen yang sama.
- Didefinisikan dengan kurung biasa
().
# Membuat tuple
koordinat = (10, 20)
warna = ("merah", "hijau", "biru")
# Mengakses elemen
print(koordinat[0]) # Output: 10
# Mencoba mengubah (akan menghasilkan error)
# warna[0] = "kuning" # TypeError: 'tuple' object does not support item assignment
# Kelebihan: Lebih cepat dari list, digunakan untuk data yang tidak seharusnya berubah.
Dictionary (Kamus)
- Unordered (Tidak Terurut sebelum Python 3.7, terurut setelahnya): Data disimpan dalam pasangan
key: value. - Mutable (Dapat Diubah): Elemen bisa ditambah, diubah, atau dihapus.
- Keys must be unique: Setiap kunci harus unik.
- Keys are immutable: Kunci harus berupa tipe data yang immutable (string, number, tuple).
- Didefinisikan dengan kurung kurawal
{}.
# Membuat dictionary
orang = {
"nama": "Andi",
"umur": 28,
"kota": "Jakarta"
}
# Mengakses nilai
print(orang["nama"]) # Output: Andi
print(orang.get("umur")) # Cara lain, lebih aman (tidak error jika kunci tidak ada)
# Mengubah nilai
orang["umur"] = 29
print(orang) # Output: {'nama': 'Andi', 'umur': 29, 'kota': 'Jakarta'}
# Menambah elemen
orang["pekerjaan"] = "Programmer"
print(orang) # Output: {'nama': 'Andi', 'umur': 29, 'kota': 'Jakarta', 'pekerjaan': 'Programmer'}
# Menghapus elemen
del orang["kota"]
print(orang) # Output: {'nama': 'Andi', 'umur': 29, 'pekerjaan': 'Programmer'}
# Mendapatkan semua kunci, nilai, atau pasangan kunci-nilai
print(orang.keys()) # Output: dict_keys(['nama', 'umur', 'pekerjaan'])
print(orang.values()) # Output: dict_values(['Andi', 29, 'Programmer'])
print(orang.items()) # Output: dict_items([('nama', 'Andi'), ('umur', 29), ('pekerjaan', 'Programmer')])
# Iterasi dictionary
for kunci, nilai in orang.items():
print(f"{kunci}: {nilai}")
Set
- Unordered (Tidak Terurut): Elemen tidak memiliki indeks.
- Mutable (Dapat Diubah): Elemen bisa ditambah atau dihapus.
- Unique elements: Tidak ada elemen duplikat.
- Didefinisikan dengan kurung kurawal
{}atau fungsiset().
# Membuat set
my_set = {1, 2, 3, 2, 4} # Duplikat '2' akan dihilangkan
print(my_set) # Output: {1, 2, 3, 4} (urutan bisa berbeda)
# Menambah elemen
my_set.add(5)
print(my_set) # Output: {1, 2, 3, 4, 5}
# Menghapus elemen
my_set.remove(3)
print(my_set) # Output: {1, 2, 4, 5}
# Operasi set
set_a = {1, 2, 3, 4}
set_b = {3, 4, 5, 6}
print(set_a.union(set_b)) # Gabungan: {1, 2, 3, 4, 5, 6}
print(set_a.intersection(set_b)) # Irisan: {3, 4}
print(set_a.difference(set_b)) # Selisih: {1, 2}
6. Fungsi (Functions)
Fungsi adalah blok kode yang terorganisir, reusable, dan melakukan satu tugas terkait. Fungsi membantu membuat kode lebih modular dan mudah dikelola.
Mendefinisikan dan Memanggil Fungsi
Gunakan kata kunci def untuk mendefinisikan fungsi.
def sapa():
"""Fungsi ini menyapa pengguna."""
print("Halo, selamat datang!")
# Memanggil fungsi
sapa() # Output: Halo, selamat datang!
Parameter dan Argumen
- Parameter: Variabel yang didefinisikan dalam tanda kurung saat mendefinisikan fungsi.
- Argumen: Nilai yang diteruskan ke fungsi saat memanggilnya.
def sapa_nama(nama): # 'nama' adalah parameter
print(f"Halo, {nama}!")
sapa_nama("Budi") # "Budi" adalah argumen
sapa_nama("Siti") # "Siti" adalah argumen
# Fungsi dengan beberapa parameter
def tambah(a, b):
hasil = a + b
print(f"Hasil penjumlahan {a} + {b} adalah {hasil}")
tambah(5, 3) # Output: Hasil penjumlahan 5 + 3 adalah 8
# Parameter default
def sapa_negara(nama, negara="Indonesia"):
print(f"Halo {nama} dari {negara}.")
sapa_negara("Ali") # Output: Halo Ali dari Indonesia.
sapa_negara("John", "Amerika") # Output: Halo John dari Amerika.
Nilai Kembalian (return)
Fungsi bisa mengembalikan nilai menggunakan kata kunci return.
def kuadrat(angka):
return angka * angka
hasil_kuadrat = kuadrat(7)
print(f"Kuadrat dari 7 adalah {hasil_kuadrat}") # Output: Kuadrat dari 7 adalah 49
def get_luas_persegi(sisi):
if sisi <= 0:
return "Sisi harus positif" # Mengembalikan string jika input tidak valid
return sisi * sisi
luas = get_luas_persegi(10)
print(f"Luas persegi: {luas}") # Output: Luas persegi: 100
luas_invalid = get_luas_persegi(-5)
print(f"Luas persegi: {luas_invalid}") # Output: Luas persegi: Sisi harus positif
Docstrings
Dokumentasi string untuk fungsi, membantu menjelaskan apa yang dilakukan fungsi. Didefinisikan dengan tiga tanda kutip ("""Docstring""") setelah def.
def hitung_luas_lingkaran(jari_jari):
"""
Fungsi ini menghitung luas lingkaran.
Args:
jari_jari (float): Jari-jari lingkaran.
Returns:
float: Luas lingkaran.
"""
import math
return math.pi * (jari_jari ** 2)
print(hitung_luas_lingkaran(5))
# Untuk melihat docstring:
# help(hitung_luas_lingkaran)
# print(hitung_luas_lingkaran.__doc__)
7. Pemrograman Berorientasi Objek (OOP) – Pengantar
OOP adalah paradigma pemrograman yang menggunakan “objek” untuk merancang aplikasi dan model data.
Konsep Dasar: Kelas, Objek, Atribut, Metode
- Kelas (Class): Blueprint atau cetak biru untuk membuat objek. Mendefinisikan atribut (data) dan metode (fungsi) yang dimiliki objek.
- Objek (Object): Instansiasi dari sebuah kelas. Setiap objek memiliki data dan perilakunya sendiri sesuai dengan kelasnya.
- Atribut (Attributes): Variabel yang dimiliki oleh objek, merepresentasikan karakteristik atau data dari objek.
- Metode (Methods): Fungsi yang dimiliki oleh objek, merepresentasikan perilaku atau aksi yang bisa dilakukan objek.
Membuat Kelas dan Objek Pertama
class Mobil:
"""
Ini adalah kelas Mobil untuk membuat objek mobil.
"""
# Metode konstruktor: dipanggil saat objek dibuat
def __init__(self, merk, model, warna):
self.merk = merk # Atribut instance
self.model = model
self.warna = warna
self.kecepatan = 0 # Atribut default
# Metode instance
def info_mobil(self):
return f"Mobil {self.merk} {self.model} berwarna {self.warna}."
def gas(self, tambahan_kecepatan):
self.kecepatan += tambahan_kecepatan
print(f"Mobil bergerak dengan kecepatan {self.kecepatan} km/jam.")
def rem(self, pengurangan_kecepatan):
self.kecepatan -= pengurangan_kecepatan
if self.kecepatan < 0:
self.kecepatan = 0
print(f"Kecepatan mobil sekarang {self.kecepatan} km/jam.")
# Membuat objek (instance) dari kelas Mobil
mobil1 = Mobil("Toyota", "Avanza", "Hitam")
mobil2 = Mobil("Honda", "Civic", "Merah")
# Mengakses atribut objek
print(mobil1.merk) # Output: Toyota
print(mobil2.warna) # Output: Merah
# Memanggil metode objek
print(mobil1.info_mobil()) # Output: Mobil Toyota Avanza berwarna Hitam.
mobil1.gas(60) # Output: Mobil bergerak dengan kecepatan 60 km/jam.
mobil1.rem(20) # Output: Kecepatan mobil sekarang 40 km/jam.
print(mobil2.info_mobil())
mobil2.gas(100)
8. Modul dan Package
Apa itu Modul?
Modul adalah file Python (.py) yang berisi kode Python (fungsi, kelas, variabel). Modul memungkinkan Anda untuk mengorganisir kode secara logis dan menggunakannya kembali.
Mengimpor Modul
Anda bisa menggunakan kode dari modul lain dengan pernyataan import.
# Import modul 'math' (modul built-in Python untuk operasi matematika)
import math
print(math.pi) # Output: 3.141592653589793
print(math.sqrt(16)) # Output: 4.0
# Import bagian tertentu dari modul
from math import sqrt, pi
print(pi)
print(sqrt(25))
# Memberi alias pada modul
import random as rnd
print(rnd.randint(1, 10)) # Menghasilkan angka acak antara 1 dan 10 (inklusif)
Membuat Modul Sendiri:
-
Buat file
my_module.py:# my_module.py def greeting(name): return f"Hello, {name} from my_module!" my_variable = 123 -
Di file Python lain (misal
main.py) di direktori yang sama:# main.py import my_module print(my_module.greeting("Alice")) print(my_module.my_variable)
Menggunakan Modul Pihak Ketiga (PIP)
PIP (Pip Installs Python) adalah manajer paket Python. Digunakan untuk menginstal dan mengelola library/package pihak ketiga yang tidak datang dengan instalasi Python standar.
Contoh: Menginstal package requests (untuk HTTP request)
- Buka Command Prompt/Terminal.
- Ketik:
pip install requests -
Setelah terinstal, Anda bisa menggunakannya dalam kode Anda:
import requests response = requests.get("https://www.google.com") print(response.status_code) # Output: 200 (jika berhasil)
9. Penanganan File (File I/O)
Python memungkinkan Anda untuk bekerja dengan file, seperti membaca dari file teks atau menulis ke file teks.
Membuka dan Menutup File
Gunakan fungsi open() untuk membuka file. Mode yang umum:
'r': Read (default). Membaca dari file.'w': Write. Menulis ke file (akan membuat file baru atau menimpa file yang sudah ada).'a': Append. Menambahkan ke akhir file.'x': Create. Membuat file baru, akan error jika file sudah ada.'t'atau'': Text mode (default).'b': Binary mode.
# Membuka file untuk ditulis (akan menimpa jika sudah ada)
f = open("contoh.txt", "w")
f.write("Halo, ini baris pertama.\n")
f.write("Ini baris kedua.\n")
f.close() # Penting untuk selalu menutup file!
# Membuka file untuk dibaca
f = open("contoh.txt", "r")
konten = f.read()
print(konten)
f.close()
# Membuka file untuk ditambahkan (append)
f = open("contoh.txt", "a")
f.write("Ini baris tambahan.\n")
f.close()
f = open("contoh.txt", "r")
print(f.read())
f.close()
Membaca File
read(): Membaca seluruh konten file sebagai satu string.readline(): Membaca satu baris dari file.readlines(): Membaca semua baris file dan mengembalikannya sebagai list string.
# Membaca seluruh file
with open("contoh.txt", "r") as f:
konten = f.read()
print("Isi file:\n", konten)
# Membaca per baris
with open("contoh.txt", "r") as f:
print("\nMembaca per baris:")
for line in f:
print(line.strip()) # .strip() untuk menghapus newline karakter
# Membaca semua baris ke dalam list
with open("contoh.txt", "r") as f:
lines = f.readlines()
print("\nIsi file sebagai list:\n", lines)
Menulis ke File
# Menulis baru (menimpa)
with open("output.txt", "w") as f:
f.write("Data pertama.\n")
f.write("Data kedua.\n")
data_list = ["Baris dari list 1\n", "Baris dari list 2\n"]
f.writelines(data_list) # Menulis list string
# Menambahkan ke file yang sudah ada
with open("output.txt", "a") as f:
f.write("Data tambahan di akhir.\n")
Menggunakan with Statement
Ini adalah cara yang disarankan untuk bekerja dengan file. with statement memastikan file akan tertutup secara otomatis, bahkan jika terjadi kesalahan.
# Tidak perlu memanggil f.close() secara manual
with open("contoh.txt", "r") as file:
data = file.read()
print(data)
10. Penanganan Kesalahan (Error Handling)
Saat menjalankan kode, terkadang terjadi kesalahan (error atau exception). Python menyediakan mekanisme try-except untuk menangani kesalahan ini agar program tidak crash.
try, except, finally
try: Blok kode yang mungkin menghasilkan kesalahan.except: Blok kode yang akan dieksekusi jika terjadi kesalahan dalam bloktry.finally: Blok kode yang akan selalu dieksekusi, terlepas dari apakah terjadi kesalahan atau tidak.
try:
angka1 = int(input("Masukkan angka pertama: "))
angka2 = int(input("Masukkan angka kedua: "))
hasil = angka1 / angka2
print(f"Hasil pembagian: {hasil}")
except ValueError:
print("Input tidak valid. Harap masukkan angka.")
except ZeroDivisionError:
print("Tidak bisa membagi dengan nol.")
except Exception as e: # Menangkap semua jenis kesalahan lainnya
print(f"Terjadi kesalahan yang tidak terduga: {e}")
finally:
print("Operasi selesai.")
print("-" * 20)
# Contoh dengan file
try:
with open("non_existent_file.txt", "r") as f:
content = f.read()
print(content)
except FileNotFoundError:
print("File tidak ditemukan.")
except Exception as e:
print(f"Terjadi kesalahan lain: {e}")
finally:
print("Selesai mencoba membaca file.")
Jenis-jenis Kesalahan Umum
ValueError: Ketika fungsi menerima argumen dengan tipe data yang benar tetapi nilai yang tidak tepat (misal:int("abc")).TypeError: Ketika operasi atau fungsi diterapkan pada objek dengan tipe data yang tidak sesuai (misal:"10" + 5).NameError: Ketika variabel atau nama fungsi tidak ditemukan.IndexError: Ketika Anda mencoba mengakses indeks yang di luar jangkauan list atau tuple.KeyError: Ketika Anda mencoba mengakses kunci yang tidak ada di dictionary.FileNotFoundError: Ketika Python tidak dapat menemukan file yang diminta.
Mempelajari Library Populer
Setelah kamu nyaman dengan dasar-dasarnya, mulailah menjelajahi library Python yang relevan dengan minat Anda:
- Pengembangan Web:
Flask,Django - Analisis Data:
Pandas,NumPy - Visualisasi Data:
Matplotlib,Seaborn - Machine Learning:
Scikit-learn,TensorFlow,PyTorch - Otomatisasi:
Selenium(untuk otomatisasi browser),OpenPyXL(untuk Excel) - Grafik GUI:
Tkinter(built-in),PyQt,Kivy
Dengan ketekunan dan praktik, kamu akan menjadi mahir dalam Python. Selamat belajar dan selamat koding!