Dasar Otomasi · Pelajaran 2 dari 8

Merapikan teks secara otomatis

9 menit baca · BelajarCode

Data yang diketik banyak orang hampir selalu tidak seragam. Python sangat pandai merapikannya.

Merapikan nama

Python
1mentah = ["  budi SANTOSO", "siti   aminah ", "AHMAD fauzi", "dewi"]2rapi = [" ".join(nama.split()).title() for nama in mentah]3print(rapi)
Keluaran
['Budi Santoso', 'Siti Aminah', 'Ahmad Fauzi', 'Dewi']

nama.split() memecah di setiap spasi dan membuang spasi berlebih, " ".join(...) menyatukannya kembali dengan satu spasi, dan title() membuat huruf awal setiap kata kapital.

Menyeragamkan nomor HP

Nomor HP Indonesia bisa ditulis dengan banyak cara: 0812-3456-7890, +62 812 3456 7890, 62812..., atau 812.... Untuk dikirimi pesan secara massal, biasanya dibutuhkan satu format, misalnya 628123456789.

Python
1def format_hp(teks):2    angka = "".join(k for k in teks if k.isdigit())3    if angka.startswith("62"):4        angka = angka[2:]5    elif angka.startswith("0"):6        angka = angka[1:]7    if not angka.startswith("8") or not 9 <= len(angka) <= 12:8        return None9    return "62" + angka1011daftar = ["0812-3456-7890", "+62 813 1111 2222", "62857 0000 1234", "8121234567", "021-555-1234", "12345"]12for nomor in daftar:13    print(f"{nomor:<20} -> {format_hp(nomor)}")
Keluaran
0812-3456-7890       -> 6281234567890
+62 813 1111 2222    -> 6281311112222
62857 0000 1234      -> 6285700001234
8121234567           -> 628121234567
021-555-1234         -> None
12345                -> None

Program membuang semua karakter selain angka, menghapus awalan 62 atau 0, lalu memeriksa apakah sisanya masuk akal sebagai nomor seluler (diawali 8). Nomor telepon rumah dan nomor yang terlalu pendek ditandai None supaya bisa diperiksa manual.

Mengganti banyak kata sekaligus

Python
1singkatan = {"yg": "yang", "dgn": "dengan", "utk": "untuk", "tdk": "tidak"}2pesan = "Mohon maaf yg terhormat, pesanan utk minggu ini tdk bisa dikirim dgn kurir biasa."3kata_baru = [singkatan.get(kata, kata) for kata in pesan.split()]4print(" ".join(kata_baru))
Keluaran
Mohon maaf yang terhormat, pesanan untuk minggu ini tidak bisa dikirim dengan kurir biasa.

Selalu periksa hasil otomasi

Sebelum hasil program dipakai untuk mengirim pesan atau mengubah data penting, tampilkan dulu beberapa contohnya dan periksa dengan mata. Tandai data yang meragukan, seperti None pada contoh nomor HP, alih-alih menebaknya.

Cek pemahaman

Kenapa fungsi format_hp membuang semua karakter selain angka di langkah pertama?

Latihan

Rapikan alamat email

Diberikan daftar email yang diketik pelanggan: " [email protected]", "[email protected] ", "ahmad@contoh", "dewi@@contoh.com". Rapikan menjadi huruf kecil tanpa spasi, lalu tandai yang formatnya jelas salah (tidak tepat satu @, atau tidak ada titik setelah @).

Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler Python online.

Tandai pelajaran ini selesai

Masuk ke aplikasi untuk mencatat kemajuan, lalu lanjutkan ke pelajaran berikutnya dari perangkat mana pun.

Buka di aplikasi