Di chapter ini, kita bakal belajar tentang regular expression (regex) di Python, biar kita bisa mencari dan mengolah pola teks dengan lebih cerdas. Regex itu seperti detektif yang bisa nyari pola tertentu dalam teks, misalnya cari semua angka, kata tertentu, atau format khusus. Bayangin kamu punya buku harian penuh cerita, dan kamu mau nyari informasi tertentu, seperti semua angka atau kata-kata yang cocok dengan pola. Nah, regex bakal jadi alat bantu kita! Kita akan pake semua konsep dari Chapter 1-15, termasuk manipulasi string dari Chapter 15. Yuk, kita jadi detektif teks bareng Arry Hutomo! 🚀
import re pesan = "Arry Hutomo tanam pohon di Pantai!" pola = r"pohon" hasil = re.search(pola, pesan) if hasil: print(f"Kata '{pola}' ditemukan pada posisi {hasil.start()} sampai {hasil.end()}!") else: print(f"Kata '{pola}' tidak ditemukan.")
Output:
Kata 'pohon' ditemukan pada posisi 12 sampai 17!
Penjelasan Output: Outputnya adalah "Kata 'pohon' ditemukan pada posisi 12 sampai 17!" karena metode re.search() menemukan kata "pohon" dalam string pesan. Posisi 12 adalah indeks awal "pohon" (setelah "Arry Hutomo tanam "), dan 17 adalah indeks akhir (karena "pohon" panjangnya 5 huruf, jadi 12 + 5 = 17).
Penjelasan Query: Bayangin kamu jadi detektif yang lagi nyari kata "pohon" di buku harian, dan kamu mau tau di halaman berapa kata itu mulai sama selesai. Di Python, kita bisa pake modul re untuk nyari pola teks pake regular expression. Aku mulai dengan impor import re biar bisa pake fungsi regex. Aku bikin string pesan sebagai buku harian, trus aku definisikan pola sebagai "pohon", yang artinya kita nyari kata itu persis. Aku pake re.search(pola, pesan) untuk cari kemunculan pertama "pohon", dan simpen hasilnya di variabel hasil. Kalo ketemu, aku cetak posisi awal pake hasil.start() dan posisi akhir pake hasil.end(); kalo ga ketemu, aku kasih tau bahwa kata ga ada. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini sederhana, cocok buat pemula, kayak detektif yang nyari kata di buku harian. Coba di VSCode, pasti langsung bisa! 🌱
import re pesan = "Arry Hutomo tanam 10 pohon di Pantai!" pola = r"\d+" hasil = re.search(pola, pesan) if hasil: print(f"Angka ditemukan: {hasil.group()}") else: print("Angka tidak ditemukan.")
Output:
Angka ditemukan: 10
Penjelasan Output: Outputnya adalah "Angka ditemukan: 10" karena pola \d+ mencari satu atau lebih digit dalam string pesan. Angka "10" ditemukan, dan metode hasil.group() mengembalikan angka yang cocok dengan pola, yaitu "10".
Penjelasan Query: Bayangin kamu jadi detektif yang lagi nyari angka di buku harian, misalnya jumlah pohon yang ditanam. Di Python, kita bisa pake regex untuk nyari angka pake pola \d+. Aku mulai dengan impor import re biar bisa pake fungsi regex. Aku bikin string pesan, trus aku definisikan pola sebagai \d+, yang artinya cari satu atau lebih digit (0-9). Aku pake re.search(pola, pesan) untuk cari angka pertama, dan simpen hasilnya di variabel hasil. Kalo ketemu, aku cetak angka itu pake hasil.group(); kalo ga ketemu, aku kasih tau bahwa angka ga ada. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini gampang dipahami, kayak detektif yang nyari nomor halaman di buku harian. Coba di VSCode, gampang kok! 🌳
import re pesan = "Arry Hutomo tanam 10 pohon dan 5 pohon lagi!" pola = r"\d+" hasil = re.findall(pola, pesan) print(f"Semua angka yang ditemukan: {hasil}")
Output:
Semua angka yang ditemukan: ['10', '5']
Penjelasan Output: Outputnya adalah "Semua angka yang ditemukan: ['10', '5']" karena metode re.findall() mencari semua kemunculan pola \d+ (satu atau lebih digit) dalam string pesan. Ada dua angka: "10" dan "5", jadi hasilnya adalah list berisi kedua angka itu.
Penjelasan Query: Bayangin kamu jadi detektif yang ga cuma nyari satu angka, tapi semua angka di buku harian, misalnya jumlah pohon yang ditanam di beberapa kesempatan. Di Python, kita bisa pake re.findall() untuk nyari semua kemunculan pola. Aku mulai dengan impor import re. Aku bikin string pesan dengan dua angka, trus aku definisikan pola sebagai \d+ untuk cari digit. Aku pake re.findall(pola, pesan) untuk cari semua angka, dan simpen hasilnya di variabel hasil sebagai list. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini bikin kamu paham cara cari banyak pola sekaligus, kayak detektif yang nyari semua nomor halaman di buku harian. Coba di VSCode, gampang kok! 🌳
import re pesan = "Arry Hutomo tanam pohon di Pantai!" pola = r"[A-Za-z]+" hasil = re.findall(pola, pesan) print(f"Semua kata yang ditemukan: {hasil}")
Output:
Semua kata yang ditemukan: ['Arry', 'Hutomo', 'tanam', 'pohon', 'di', 'Pantai']
Penjelasan Output: Outputnya adalah "Semua kata yang ditemukan: ['Arry', 'Hutomo', 'tanam', 'pohon', 'di', 'Pantai']" karena pola [A-Za-z]+ mencari satu atau lebih huruf (baik besar maupun kecil) dalam string pesan. Tanda seru ("!") dan spasi diabaikan karena bukan huruf.
Penjelasan Query: Bayangin kamu jadi detektif yang mau nyari semua kata yang cuma terdiri dari huruf di buku harian, tanpa spasi atau tanda baca. Di Python, kita bisa pake pola [A-Za-z]+ untuk nyari kata-kata yang terdiri dari huruf. Aku mulai dengan impor import re. Aku bikin string pesan, trus aku definisikan pola sebagai [A-Za-z]+, yang artinya cari satu atau lebih huruf (A-Z atau a-z). Aku pake re.findall(pola, pesan) untuk cari semua kata, dan simpen hasilnya di variabel hasil. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini bikin kamu paham cara cari kata dengan pola, kayak detektif yang nyari semua kata penting di buku harian. Coba di VSCode, gampang kok! 🌳
import re pesan = "Arry Hutomo tanam 10 pohon di Pantai!" pola = r"\d+" pesan_baru = re.sub(pola, "100", pesan) print(f"Pesan baru: {pesan_baru}")
Output:
Pesan baru: Arry Hutomo tanam 100 pohon di Pantai!
Penjelasan Output: Outputnya adalah "Pesan baru: Arry Hutomo tanam 100 pohon di Pantai!" karena metode re.sub() mengganti semua kemunculan pola \d+ (angka) dengan string "100". Jadi, "10" diganti jadi "100".
Penjelasan Query: Bayangin kamu jadi detektif yang mau ganti semua angka di buku harian dengan angka lain, misalnya ganti jumlah pohon jadi 100 biar lebih dramatis. Di Python, kita bisa pake re.sub() untuk ganti pola teks dengan teks lain. Aku mulai dengan impor import re. Aku bikin string pesan, trus aku definisikan pola sebagai \d+ untuk cari angka. Aku pake re.sub(pola, "100", pesan) untuk ganti semua angka dengan "100", dan simpen hasilnya di variabel pesan_baru. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini bikin kamu paham cara ganti pola teks, kayak detektif yang ganti nomor halaman di buku harian. Coba di VSCode, gampang kok! 🌳
import re pesan = "Arry Hutomo tanam 10 pohon dan 5 pohon lagi!" pola = r"\d+" hasil = re.finditer(pola, pesan) for match in hasil: print(f"Angka {match.group()} ditemukan pada posisi {match.start()} sampai {match.end()}")
Output:
Angka 10 ditemukan pada posisi 12 sampai 14 Angka 5 ditemukan pada posisi 23 sampai 24
Penjelasan Output: Outputnya mencetak dua baris: "Angka 10 ditemukan pada posisi 12 sampai 14" dan "Angka 5 ditemukan pada posisi 23 sampai 24". Metode re.finditer() menemukan semua kemunculan pola \d+, yaitu "10" (posisi 12-14) dan "5" (posisi 23-24). Aku hitung indeksnya: "Arry Hutomo tanam " (0-12), "10" (12-14), dan seterusnya.
Penjelasan Query: Bayangin kamu jadi detektif yang mau nyari semua angka di buku harian, dan untuk tiap angka, kamu mau tau posisinya, kayak nyanyi lagu sambil catat nada di posisi berapa. Di Python, kita bisa pake re.finditer() untuk nyari semua kemunculan pola dan loop pake for untuk cetak detailnya. Aku mulai dengan impor import re. Aku bikin string pesan dengan dua angka, trus aku definisikan pola sebagai \d+. Aku pake re.finditer(pola, pesan) untuk cari semua angka, dan loop pake for match in hasil untuk cetak angka (match.group()) dan posisinya (match.start() dan match.end()). Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini bikin kamu paham cara cari pola dengan loop, kayak detektif yang catat semua nomor halaman di buku harian. Coba di VSCode, gampang kok! 🌳
import re pesan = "Arry Hutomo tanam 10 pohon dan 5 pohon lagi!" pola = r"\d+" hasil = re.finditer(pola, pesan) iterator = iter(hasil) while True: try: match = next(iterator) print(f"Angka {match.group()} ditemukan pada posisi {match.start()} sampai {match.end()}") except StopIteration: break
Output:
Angka 10 ditemukan pada posisi 12 sampai 14 Angka 5 ditemukan pada posisi 23 sampai 24
Penjelasan Output: Outputnya sama seperti sebelumnya: "Angka 10 ditemukan pada posisi 12 sampai 14" dan "Angka 5 ditemukan pada posisi 23 sampai 24". Kali ini, kita pake while loop untuk iterasi hasil re.finditer(). Loop berhenti saat ga ada lagi angka yang ditemukan, ditangani oleh except StopIteration.
Penjelasan Query: Bayangin kamu jadi detektif yang nyari semua angka di buku harian, tapi kali ini kamu pake cara manual dengan ngitung satu per satu pake tangan, kayak nyanyi lagu sambil catat nada satu per satu. Di Python, kita bisa pake while loop untuk iterasi hasil re.finditer(). Aku mulai dengan impor import re. Aku bikin string pesan, trus definisikan pola sebagai \d+. Aku pake re.finditer(pola, pesan) untuk cari semua angka, trus aku ubah jadi iterator pake iter(hasil). Aku pake while True untuk loop terus, dan next(iterator) untuk ambil hasil satu per satu, sampai ga ada lagi (ditangani oleh except StopIteration). Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini bikin kamu paham cara cari pola dengan loop manual, kayak detektif yang catat nomor halaman satu per satu. Coba di VSCode, gampang kok! 🌳
import re pesan = "Arry Hutomo tanam 10 pohon di Pantai!" pola = r"\d+" hasil = re.search(pola, pesan) if hasil: angka = int(hasil.group()) if angka > 5: print(f"Angka {angka} lebih dari 5!") else: print(f"Angka {angka} kurang dari atau sama dengan 5.") else: print("Angka tidak ditemukan.")
Output:
Angka 10 lebih dari 5!
Penjelasan Output: Outputnya adalah "Angka 10 lebih dari 5!" karena metode re.search() menemukan angka "10", yang kemudian diubah jadi integer pake int(hasil.group()). Karena 10 > 5, program masuk ke blok if.
Penjelasan Query: Bayangin kamu jadi detektif yang nyari angka di buku harian, dan kalo ketemu, kamu mau cek apakah angka itu lebih dari 5, kayak nyanyi lagu sambil cek apakah nadanya tinggi. Di Python, kita bisa pake regex untuk nyari angka, trus cek kondisi pake if-else. Aku mulai dengan impor import re. Aku bikin string pesan, trus definisikan pola sebagai \d+. Aku pake re.search(pola, pesan) untuk cari angka pertama, trus ubah jadi integer pake int(hasil.group()). Aku cek kalo angka > 5, masuk ke blok if; kalo ga, masuk ke blok else. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini bikin kamu paham cara cari pola dan cek kondisi, kayak detektif yang cek nomor halaman di buku harian. Coba di VSCode, gampang kok! 🌳
import re pesan = input("Masukkan pesan lingkungan: ") pola = r"pohon" hasil = re.search(pola, pesan) if hasil: print(f"Kata 'pohon' ditemukan pada posisi {hasil.start()} sampai {hasil.end()}!") else: print("Kata 'pohon' tidak ditemukan.")
Output (misalnya user masukkan "Arry Hutomo tanam pohon di Pantai!"):
Masukkan pesan lingkungan: Arry Hutomo tanam pohon di Pantai! Kata 'pohon' ditemukan pada posisi 12 sampai 17!
Penjelasan Output: Outputnya adalah "Kata 'pohon' ditemukan pada posisi 12 sampai 17!" karena user masukin "Arry Hutomo tanam pohon di Pantai!", dan metode re.search() menemukan "pohon" di posisi 12-17, sama seperti contoh pertama.
Penjelasan Query: Bayangin kamu jadi detektif yang minta orang kasih tau cerita, trus kamu cari kata "pohon" di cerita itu, kayak nyanyi lagu dari lirik yang dikasih orang lain. Di Python, kita bisa pake input() untuk ambil cerita dari user, trus cari pola pake regex. Aku mulai dengan impor import re. Aku minta user masukin pesan pake input(), trus definisikan pola sebagai "pohon". Aku pake re.search(pola, pesan) untuk cari kata "pohon", dan cek kalo ketemu, cetak posisinya; kalo ga ketemu, kasih tau bahwa kata ga ada. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini bikin kamu paham cara cari pola interaktif, kayak detektif yang cari kata di cerita orang. Coba di VSCode, gampang kok! 🌳
import re daftar_pesan = [ "Arry Hutomo tanam 10 pohon di Pantai!", "Arry Hutomo daur ulang 5 kg sampah!", "Arry Hutomo tanam 15 pohon lagi!" ] pola = r"\d+" for pesan in daftar_pesan: hasil = re.findall(pola, pesan) print(f"Pesan: {pesan}") print(f"Angka yang ditemukan: {hasil}")
Output:
Pesan: Arry Hutomo tanam 10 pohon di Pantai! Angka yang ditemukan: ['10'] Pesan: Arry Hutomo daur ulang 5 kg sampah! Angka yang ditemukan: ['5'] Pesan: Arry Hutomo tanam 15 pohon lagi! Angka yang ditemukan: ['15']
Penjelasan Output: Outputnya mencetak tiga pesan beserta angka yang ditemukan: "10", "5", dan "15". Untuk tiap pesan dalam list daftar_pesan, metode re.findall() mencari semua angka pake pola \d+, dan hasilnya ditampilkan.
Penjelasan Query: Bayangin kamu jadi detektif yang punya tiga buku harian, dan kamu mau nyari semua angka di tiap buku, kayak nyanyi lagu dari tiga lirik berbeda. Di Python, kita bisa pake list untuk simpen banyak pesan, trus loop pake for untuk cek tiap pesan pake regex. Aku mulai dengan impor import re. Aku bikin list daftar_pesan dengan tiga string, trus definisikan pola sebagai \d+. Aku loop pake for pesan in daftar_pesan, trus pake re.findall(pola, pesan) untuk cari semua angka di tiap pesan, dan cetak hasilnya. Aku pilih tema lingkungan karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini bikin kamu paham cara cari pola di banyak teks, kayak detektif yang cek banyak buku harian. Coba di VSCode, gampang kok! 🌳♻️
import re data = { "pesan1": "Arry Hutomo tanam 10 pohon di Pantai!", "pesan2": "Arry Hutomo daur ulang 5 kg sampah!", "pesan3": "Arry Hutomo tanam 15 pohon lagi!" } pola = r"\d+" for kunci, pesan in data.items(): hasil = re.findall(pola, pesan) print(f"{kunci}: {hasil}")
Output:
pesan1: ['10'] pesan2: ['5'] pesan3: ['15']
Penjelasan Output: Outputnya mencetak tiga baris: "pesan1: ['10']", "pesan2: ['5']", dan "pesan3: ['15']". Untuk tiap pesan dalam dictionary data, metode re.findall() mencari semua angka pake pola \d+, dan hasilnya ditampilkan beserta kunci dictionary.
Penjelasan Query: Bayangin kamu jadi detektif yang punya catatan di tiga folder berbeda, dan kamu mau nyari angka di tiap folder, kayak nyanyi lagu dari tiga album berbeda. Di Python, kita bisa pake dictionary untuk simpen pesan dengan label, trus loop pake for untuk cek tiap pesan pake regex. Aku mulai dengan impor import re. Aku bikin dictionary data dengan tiga pasang kunci-nilai, trus definisikan pola sebagai \d+. Aku loop pake for kunci, pesan in data.items() untuk akses tiap pesan, trus pake re.findall(pola, pesan) untuk cari semua angka, dan cetak hasilnya beserta kunci folder. Aku pilih tema lingkungan karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini bikin kamu paham cara cari pola di data terstruktur, kayak detektif yang cek banyak folder. Coba di VSCode, gampang kok! 🌳♻️
import re pesan = "Arry Hutomo tanam 10 pohon di Pantai!" pola = r"\d+" try: hasil = re.search(pola, pesan) if hasil: angka = int(hasil.group()) print(f"Angka ditemukan: {angka}") else: raise ValueError("Angka tidak ditemukan!") except ValueError as e: print(f"Error: {e}")
Output:
Angka ditemukan: 10
Penjelasan Output: Outputnya adalah "Angka ditemukan: 10" karena metode re.search() menemukan angka "10", yang kemudian diubah jadi integer pake int(hasil.group()). Karena angka ditemukan, ga ada error yang dilempar, dan program cetak angka yang ditemukan.
Penjelasan Query: Bayangin kamu jadi detektif yang nyari angka di buku harian, tapi kamu mau pastiin kalo ga ketemu angka, kamu kasih tau ada error, kayak nyanyi lagu sambil siap kalo nadanya fals. Di Python, kita bisa pake try-except untuk nangani error saat cari pola. Aku mulai dengan impor import re. Aku bikin string pesan, trus definisikan pola sebagai \d+. Aku pake re.search(pola, pesan) dalam blok try untuk cari angka, trus cek kalo ketemu, ubah ke integer dan cetak; kalo ga ketemu, aku lempar error pake raise ValueError. Error itu ditangkap oleh except ValueError dan dicetak. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini bikin kamu paham cara cari pola dengan error handling, kayak detektif yang siap kalo ga nemu petunjuk. Coba di VSCode, gampang kok! 🌳
import re # Simulasi file lingkungan.txt berisi: # Arry Hutomo tanam 10 pohon di Pantai! # Arry Hutomo daur ulang 5 kg sampah! pesan = """Arry Hutomo tanam 10 pohon di Pantai! Arry Hutomo daur ulang 5 kg sampah!""" pola = r"\d+" hasil = re.findall(pola, pesan) print(f"Semua angka yang ditemukan: {hasil}")
Output:
Semua angka yang ditemukan: ['10', '5']
Penjelasan Output: Outputnya adalah "Semua angka yang ditemukan: ['10', '5']" karena metode re.findall() menemukan semua angka dalam string pesan, yang disimulasikan sebagai isi file. Angka "10" ada di baris pertama, dan "5" ada di baris kedua.
Penjelasan Query: Bayangin kamu jadi detektif yang baca file berisi catatan lingkungan, dan kamu mau nyari semua angka di file itu, kayak nyanyi lagu dari lirik yang ada di buku. Di Python, kita bisa pake regex untuk nyari pola di teks dari file (disimulasikan karena kita ga bisa I/O file di sini). Aku mulai dengan impor import re. Aku bikin string pesan yang disimulasikan sebagai isi file dengan dua baris, trus definisikan pola sebagai \d+. Aku pake re.findall(pola, pesan) untuk cari semua angka, dan simpen hasilnya di variabel hasil. Aku pilih tema lingkungan karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini bikin kamu paham cara cari pola di teks file, kayak detektif yang cek buku catatan. Coba di VSCode, gampang kok! 🌳♻️
import re class DetektifLingkungan: def __init__(self, pesan): self.pesan = pesan def cari_angka(self): pola = r"\d+" hasil = re.findall(pola, self.pesan) return hasil pesan = "Arry Hutomo tanam 10 pohon dan 5 pohon lagi!" detektif = DetektifLingkungan(pesan) angka = detektif.cari_angka() print(f"Angka yang ditemukan: {angka}")
Output:
Angka yang ditemukan: ['10', '5']
Penjelasan Output: Outputnya adalah "Angka yang ditemukan: ['10', '5']" karena metode cari_angka() dalam kelas DetektifLingkungan menggunakan re.findall() untuk menemukan semua angka dalam string pesan.
Penjelasan Query: Bayangin kamu punya robot detektif khusus lingkungan yang bisa nyari angka di catatan, kayak nyanyi lagu sambil pakai alat canggih. Di Python, kita bisa pake OOP (Chapter 13-14) untuk bikin kelas yang nyari pola pake regex. Aku bikin kelas DetektifLingkungan dengan atribut pesan untuk simpen teks. Metode cari_angka() definisikan pola sebagai \d+, trus pake re.findall() untuk cari semua angka, dan return hasilnya. Aku bikin objek detektif dari kelas ini, trus panggil metode cari_angka(). Aku pilih tema lingkungan karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini bikin kamu paham cara gabungin regex dengan OOP, kayak detektif robot yang cari nomor halaman. Coba di VSCode, gampang kok! 🌳
# Simulasi file lingkungan.py import re class DetektifLingkungan: def __init__(self, data): self.data = data def cari_dan_olah(self): try: pola = r"\d+" hasil_dict = {} total = 0 i = 0 while i < len(self.data): kunci, pesan = list(self.data.items())[i] hasil = re.finditer(pola, pesan) angka_list = [] for match in hasil: angka = int(match.group()) if angka > 10: print(f"Di {kunci}, angka {angka} lebih dari 10!") else: print(f"Di {kunci}, angka {angka} kurang dari atau sama dengan 10.") angka_list.append(angka) total = total + angka hasil_dict[kunci] = angka_list i = i + 1 return hasil_dict, total except: print("Terjadi error saat mengolah data!") return {}, 0 # File utama # from lingkungan import DetektifLingkungan data = {} for i in range(3): try: pesan = input(f"Masukkan pesan lingkungan ke-{i+1}: ") data[f"pesan{i+1}"] = pesan except: print("Error saat input data, coba lagi!") i = i - 1 detektif = DetektifLingkungan(data) hasil_dict, total = detektif.cari_dan_olah() print(f"Hasil per pesan: {hasil_dict}") print(f"Total angka: {total}")
Output (misalnya user masukkan "Arry Hutomo tanam 10 pohon!", "Arry Hutomo daur ulang 5 kg!", "Arry Hutomo tanam 15 pohon!"):
Masukkan pesan lingkungan ke-1: Arry Hutomo tanam 10 pohon! Masukkan pesan lingkungan ke-2: Arry Hutomo daur ulang 5 kg! Masukkan pesan lingkungan ke-3: Arry Hutomo tanam 15 pohon! Di pesan1, angka 10 kurang dari atau sama dengan 10. Di pesan2, angka 5 kurang dari atau sama dengan 10. Di pesan3, angka 15 lebih dari 10! Hasil per pesan: {'pesan1': [10], 'pesan2': [5], 'pesan3': [15]} Total angka: 30
Penjelasan Output: Outputnya dimulai dengan prompt, user masukin tiga pesan. Metode cari_dan_olah() cari angka di tiap pesan: "10", "5", dan "15". Tiap angka dicek: 10 dan 5 ≤ 10 (cetak pesan "kurang dari atau sama dengan 10"), 15 > 10 (cetak pesan "lebih dari 10"). Angka-angka disimpan dalam dictionary hasil_dict, dan totalnya (10 + 5 + 15 = 30) ditampilkan.
Penjelasan Query: Bayangin kamu jadi detektif super canggih yang minta tiga cerita dari orang, trus nyari semua angka di cerita itu, cek apakah angkanya lebih dari 10, simpen angka-angka dalam folder berlabel, dan jumlahkan semua angka, kayak nyanyi lagu sambil pakai robot detektif. Di Python, kita gabungin semua konsep: input(), for loop, while loop, dictionary, if-else, try-except, OOP, dan regex. Aku bikin kelas DetektifLingkungan dengan atribut data (dictionary). Metode cari_dan_olah() loop pake while untuk akses tiap pesan, pake re.finditer() untuk cari angka, loop for untuk cek tiap angka, simpen hasil dalam dictionary, dan jumlahkan total. Aku pilih tema lingkungan karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini bikin kamu paham cara cari pola kompleks, kayak detektif super yang olah banyak cerita! Coba di VSCode, bakal bangga sama hasilnya! 🌳♻️