0% menganggap dokumen ini bermanfaat (0 suara)
2 tayangan5 halaman

Cheatsheet Python

Dokumen ini adalah cheatsheet untuk UTS Pemrograman 2 yang mencakup penggunaan library Python, penanganan file, ekspresi reguler (regex), dan struktur try-except. Terdapat penjelasan tentang cara mengimpor library, mode file, fungsi regex, serta cara menangani error. Dokumen ini juga memberikan panduan langkah demi langkah untuk menyelesaikan soal pemrograman dengan benar.

Diunggah oleh

angelica.saktian06
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
2 tayangan5 halaman

Cheatsheet Python

Dokumen ini adalah cheatsheet untuk UTS Pemrograman 2 yang mencakup penggunaan library Python, penanganan file, ekspresi reguler (regex), dan struktur try-except. Terdapat penjelasan tentang cara mengimpor library, mode file, fungsi regex, serta cara menangani error. Dokumen ini juga memberikan panduan langkah demi langkah untuk menyelesaikan soal pemrograman dengan benar.

Diunggah oleh

angelica.saktian06
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Python Cheatsheet — UTS Pemrograman 2

library · file handling · regex · try-except

1. Library — import os & re

Cara import
import os # impor seluruh modul os
import re # impor seluruh modul re
from os import path # impor fungsi spesifik saja

Fungsi os yang sering keluar


[Link]('folder') # True/False — cek folder/file ada?
[Link]('folder') # buat folder baru
[Link]('folder','[Link]') # gabung path → 'folder/[Link]'
[Link]() # path direktori sekarang

✓ [Link]() lebih aman dari nulis 'folder/[Link]' manual — works di Windows & Linux

Pola umum pakai os


folder = 'data_user'
if not [Link](folder):
[Link](folder)
path = [Link](folder, '[Link]')

2. File Handling

Mode file
Mode Kalau file belum ada Kalau file sudah ada

"r" baca ERROR FileNotFoundError Baca isi file

"w" tulis ulang Buat file baru HAPUS semua isi, tulis ulang

"a" append Buat file baru Tambah di bawah, isi lama aman

! Untuk tambah data → selalu pakai 'a', bukan 'w'

Baca file — readlines()


with open(path, 'r') as f:
baris = [Link]() # list, tiap elemen = 1 baris + \n

# readlines vs readline vs read:


[Link]() # → list semua baris: ['Andi|TI\n', 'Budi|SI\n']
[Link]() # → 1 baris saja (string): 'Andi|TI\n'
[Link]() # → seluruh isi file jadi 1 string

! Selalu .strip() dulu sebelum .split() — kalau tidak, \n ikut masuk ke variabel terakhir

Unpack data dari baris file


# Isi baris: 'Andi|TI|85\n'

# Cara 1 — unpack langsung (paling clean)


nama, jurusan, nilai = [Link]().split('|')

# Cara 2 — pakai index


data = [Link]().split('|')
nama = data[0]
jurusan = data[1]
nilai = data[2]
# Cara 3 — loop enumerate (banyak baris)
for i, b in enumerate(baris, start=1):
nama, jurusan, nilai = [Link]().split('|')
print(i, nama, jurusan, nilai)

Tampilkan rapi dengan f-string


print(f"{'No':<4} {'Nama':<12} {'Jurusan':<10} {'Nilai'}")
print('-' * 35)
for i, b in enumerate(baris, start=1):
nama, jurusan, nilai = [Link]().split('|')
print(f"{i:<4} {nama:<12} {jurusan:<10} {nilai}")

# f"{teks:<N}" → rata kiri lebar N karakter

Tulis / append ke file


with open(path, 'a') as f:
[Link](f'Nama: {nama} | HP: {hp}\n')

# Tulis banyak sekaligus


with open(path, 'a') as f:
[Link]([f'{a}|{b}\n' for a, b in data_list])

! Jangan lupa \n di akhir [Link]() — kalau tidak, data berikutnya nyambung 1 baris

3. Regex — re module

Fungsi-fungsi re
Fungsi Kegunaan Contoh

[Link](p, s) Cocokkan dari AWAL string → paling sering [Link](r'^\d+$',


validasi input '123')

[Link](p, s) Cari pola di MANA SAJA dalam string → cocok untuk


[Link](r'\d+',
cari dalam teks
'kodepanjang
42 ok')

[Link](p, s) Ambil SEMUA kemunculan, return list → cocok untuk


[Link](r'\d+',
ekstrak data 'a1 b2 c3')

[Link](p, r, s) Ganti semua yang cocok dengan string lain [Link](r'\s+', '-', 'hello world')

[Link](p,s) Seluruh string harus cocok (seperti match + $ otomatis)


[Link](r'\d{3}', '123')

Contoh penggunaan tiap fungsi


import re

# [Link]() — validasi dari awal


hasil = [Link](r'^[A-Za-z ]{3,}$', 'Andi Saputra')
print(bool(hasil)) # True

# [Link]() — cari angka di dalam kalimat


hasil = [Link](r'\d+', 'NIM saya adalah 2201012')
print([Link]()) # '2201012'

# [Link]() — ambil semua angka


angka = [Link](r'\d+', 'nilai: 85, 90, 78')
print(angka) # ['85', '90', '78']

# [Link]() — ganti spasi ganda dengan 1 spasi


bersih = [Link](r'\s+', ' ', 'Andi Saputra')
print(bersih) # 'Andi Saputra'

x Argumen [Link]() selalu: POLA dulu, STRING belakangan. Jangan kebalik!

Simbol regex yang wajib hafal


Simbol Arti Contoh
\d Angka (0-9) \d{10} = tepat 10 angka

\w Huruf, angka, atau _ \w+ = satu kata

\s Spasi / tab / newline \s+ = satu atau lebih spasi

[A-Za-z] Huruf a-z (huruf saja) [A-Za-z ]{3,} = huruf & spasi min 3

^ Awal string ^08 = harus diawali 08

$ Akhir string \d$ = diakhiri angka

{3,} Minimal 3 kali {3,10} = antara 3 sampai 10

+ 1 atau lebih \d+ = minimal 1 angka

* 0 atau lebih \d* = boleh tidak ada angka

. Karakter apapun a.b = a + apapun + b

✓ Selalu pakai r'...' (raw string) biar backslash tidak bentrok dengan Python

Pola yang sering keluar di soal


r'^[A-Za-z ]{3,}$' # hanya huruf & spasi, min 3
r'^08[0-9]{9,11}$' # nomor HP Indonesia
r'^[\w\.-]+@[\w\.-]+\.\w{2,}$' # email umum
r'^\d{10}$' # tepat 10 digit angka (NIM/NRP)
r'^[A-Z]{2}\d{3}$' # 2 huruf kapital + 3 angka

4. Try-Except

Struktur dasar
try:
# kode yang mungkin error
nilai = int(input('Masukkan angka: '))
except ValueError:
print('Bukan angka!') # tangkap error spesifik
except FileNotFoundError:
print('File tidak ditemukan!') # tangkap error spesifik lain
except Exception as e:
print(f'Error: {e}') # tangkap semua error lain
finally:
print('Blok ini selalu jalan') # ada error atau tidak

✓ Urutan except: yang SPESIFIK dulu, Exception paling bawah

Error yang sering dipakai


Error Kapan terjadi

FileNotFoundError File tidak ditemukan saat dibuka mode 'r'

ValueError Konversi tipe gagal, misal int('abc')

IOError Gagal baca/tulis file

Exception Parent dari semua error — tangkap semuanya

raise — lempar error manual dari fungsi


def validasi_nama(nama):
pola = r'^[A-Za-z ]{3,}$'
if not [Link](pola, nama):
raise Exception('Nama tidak valid!') # lempar error
return nama
# Di main(), raise ditangkap oleh except:
try:
validasi_nama('A') # raise terjadi di sini
except Exception as e:
print(e) # output: Nama tidak valid!

✓ raise di dalam fungsi → error melompat keluar dan ditangkap except di pemanggil fungsi

Try-except per input — POLA YANG BENAR


# SALAH — semua input dalam 1 try
# error di email → semua diulang dari nama
try:
nama = input('Nama: '); validasi_nama(nama)
email = input('Email: '); validasi_email(email)
except Exception as e:
print(e)

# BENAR — try-except terpisah per input


while True:
try:
nama = input('Nama: ')
validasi_nama(nama)
except Exception as e:
print(e); continue # ulang dari nama saja

try:
email = input('Email: ')
validasi_email(email)
except Exception as e:
print(e); continue # ulang dari email saja

simpan_data(nama, email)
if input('Lanjut? (y/n): ') != 'y':
break

5. Kalau Digabung — Urutan Ngerjain Soal

Urutan dari nol


Langkah Yang dikerjain Materi

1 import re, os di baris paling atas Library

2 Buat fungsi validasi tiap field — [Link]() + raise Exception Regex

3 Buat fungsi simpan — cek/buat folder, [Link](), open 'a', [Link]()


File handling + os

4 Buat fungsi baca (kalau diminta) — open 'r', readlines(), strip().split(),


File handling
tampilkan rapi

5 Buat fungsi main — while True, try-except TERPISAH per input, Try-except
panggil validasi & simpan, break

6 Panggil main() di baris paling bawah —

Hubungan antar materi


import re, os # (1) Library: sediain alatnya

def validasi(x): # (2) Regex: cek format input


[Link](pola, x)
raise Exception()

def simpan(x): # (3) File handling: simpan ke disk


[Link](...)
open(path, 'a')

def main(): # (4) Try-except: tangkap raise & error file


try:
validasi(x) # Library = fondasi
except Exception as e: # Regex + File = isi fungsi
print(e) # Try-except = pelindung di main()

Jebakan yang sering bikin salah


Jebakan Yang Benar

Lupa .strip() sebelum .split() [Link]().split('|') — strip dulu selalu

Pakai 'w' bukan 'a' Mode 'a' untuk append, 'w' hapus semua

Argumen [Link] kebalik [Link](POLA, STRING) — pola selalu duluan

Spasi di {3, } Tulis {3,} tanpa spasi

Lupa \n di [Link]() [Link](f'{data}\n')

Semua input dalam 1 try try-except terpisah per input

Lupa panggil simpan_data() Pastikan dipanggil setelah semua validasi lolos

Lupa break di while True if lanjut != 'y': break

Semangat UTS! — cheatsheet ini cukup, yang penting paham alurnya

Anda mungkin juga menyukai