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
1mentah = [" budi SANTOSO", "siti aminah ", "AHMAD fauzi", "dewi"]2rapi = [" ".join(nama.split()).title() for nama in mentah]3print(rapi)['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.
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)}")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
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))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 @).
Pembahasan
1mentah = [" [email protected]", "[email protected] ", "ahmad@contoh", "dewi@@contoh.com"]2for email in mentah:3 rapi = email.strip().lower()4 valid = rapi.count("@") == 1 and "." in rapi.split("@")[1]5 print(f"{rapi:<26} {'oke' if valid else 'periksa manual'}")[email protected] oke [email protected] oke ahmad@contoh periksa manual dewi@@contoh.com periksa manual
Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler Python online.