Di chapter ini, kita bakal belajar cara manipulasi string di Python, biar kita bisa mengolah teks dengan cerdas. Bayangin string itu kayak sekumpulan kata dalam buku harian, dan kita mau ubah-ubah kata itu supaya lebih rapi, lebih jelas, atau lebih sesuai dengan kebutuhan. Kita akan pake semua konsep dari Chapter 1-14, termasuk OOP dari Chapter 13-14, biar makin seru! Yuk, kita olah teks bareng Arry Hutomo! 🚀
nama = "Arry Hutomo" aksi = "tanam pohon" pesan = nama + " " + aksi + "!" print(pesan)
Output:
Arry Hutomo tanam pohon!
Penjelasan Output: Outputnya adalah "Arry Hutomo tanam pohon!" karena kita menggabungkan tiga string: nama ("Arry Hutomo"), spasi (" "), dan aksi ("tanam pohon"), lalu ditambah tanda seru ("!") di akhir. Proses ini dilakukan dengan operator +, yang berfungsi untuk menyambungkan string.
Penjelasan Query: Bayangin kamu lagi nyanyi lagu, dan kamu mau gabungin beberapa lirik supaya jadi satu kalimat yang utuh. Nah, di sini kita punya dua "lirik": nama dan aksi. Kita gabungkan pake operator +, tapi kita tambahin spasi (" ") di tengah biar kalimatnya enak dibaca, kayak nyanyi lagu yang pas nadanya. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan yang kita angkat. Struktur ini sederhana banget, cocok buat pemula, dan bikin kamu paham cara dasar nyambungin string. Coba di VSCode, pasti langsung bisa! 🌱
pesan = "arry hutomo tanam pohon" pesan_besar = pesan.upper() print(pesan_besar)
Output:
ARRY HUTOMO TANAM POHON
Penjelasan Output: Outputnya jadi "ARRY HUTOMO TANAM POHON" karena metode upper() mengubah semua huruf dalam string pesan jadi huruf kapital. Jadi, yang awalnya huruf kecil seperti "arry" berubah jadi "ARRY", dan seterusnya untuk semua kata.
Penjelasan Query: Bayangin kamu lagi buat spanduk untuk acara tanam pohon, dan kamu mau semua tulisannya gede biar orang dari jauh bisa baca. Nah, di Python, kita bisa pake metode upper() untuk ubah semua huruf jadi kapital, kayak teriak biar semua orang denger. Aku mulai dengan string pesan yang hurufnya kecil semua, trus aku ubah pake upper() dan simpen hasilnya di variabel pesan_besar. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini gampang dipahami, kayak ngubah tulisan biasa jadi tulisan gede di spanduk. Coba di VSCode, gampang kok! 🌳
pesan = "ARRY HUTOMO TANAM POHON" pesan_kecil = pesan.lower() print(pesan_kecil)
Output:
arry hutomo tanam pohon
Penjelasan Output: Outputnya jadi "arry hutomo tanam pohon" karena metode lower() mengubah semua huruf dalam string pesan jadi huruf kecil. Jadi, yang awalnya huruf besar seperti "ARRY" berubah jadi "arry", dan seterusnya untuk semua kata.
Penjelasan Query: Sekarang bayangin kamu lagi nulis catatan kecil di buku harian, dan kamu mau semua tulisannya huruf kecil biar terlihat santai. Di Python, kita bisa pake metode lower() untuk ubah semua huruf jadi kecil, kayak bisik biar suasananya tenang. Aku mulai dengan string pesan yang hurufnya gede semua, trus aku ubah pake lower() dan simpen hasilnya di variabel pesan_kecil. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini gampang dipahami, kayak ngubah tulisan spanduk jadi catatan santai di buku harian. Coba di VSCode, gampang kok! 🌳
pesan = "Arry Hutomo tanam pohon di Pantai!" pesan_baru = pesan.replace("Pantai", "Hutan") print(pesan_baru)
Output:
Arry Hutomo tanam pohon di Hutan!
Penjelasan Output: Outputnya jadi "Arry Hutomo tanam pohon di Hutan!" karena metode replace() mengganti kata "Pantai" dengan "Hutan". Selain kata itu, string lainnya tetap sama.
Penjelasan Query: Bayangin kamu lagi nyanyi lagu, tapi ada satu kata di lirik yang salah, misalnya tempatnya "Pantai" padahal seharusnya "Hutan". Di Python, kita bisa pake metode replace() untuk ganti kata yang salah dengan yang bener. Aku mulai dengan string pesan, trus aku pake replace("Pantai", "Hutan") untuk ganti lokasi tanam pohon, 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 gampang dipahami, kayak ganti kata di lirik lagu biar sesuai sama ceritanya. Coba di VSCode, gampang kok! 🌳
pesan = "Arry Hutomo tanam 10 pohon Mangrove" kata = pesan.split() print(kata)
Output:
['Arry', 'Hutomo', 'tanam', '10', 'pohon', 'Mangrove']
Penjelasan Output: Outputnya adalah list yang berisi kata-kata: ['Arry', 'Hutomo', 'tanam', '10', 'pohon', 'Mangrove']. Metode split() memisahkan string pesan berdasarkan spasi, jadi setiap kata yang dipisah spasi jadi elemen dalam list.
Penjelasan Query: Bayangin kamu punya kalimat panjang di buku harian, dan kamu mau pisah-pisah kalimat itu jadi kata-kata biar bisa diolah satu per satu, misalnya buat dihitung atau dianalisis. Di Python, kita bisa pake metode split() untuk motong string jadi list, kayak motong-motong kertas jadi potongan kecil. Aku mulai dengan string pesan, trus aku pake split() tanpa parameter, yang artinya dia akan pisah berdasarkan spasi (default). Hasilnya disimpan di variabel kata sebagai list. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini bikin kamu paham cara pisah teks, kayak motong lirik lagu jadi bagian-bagian kecil. Coba di VSCode, gampang kok! 🌳
kata = ['Arry', 'Hutomo', 'tanam', 'pohon'] pesan = " ".join(kata) print(pesan)
Output:
Arry Hutomo tanam pohon
Penjelasan Output: Outputnya adalah "Arry Hutomo tanam pohon" karena metode join() menggabungkan semua elemen dalam list kata jadi satu string, dengan spasi (" ") sebagai pemisah antar elemen.
Penjelasan Query: Bayangin kamu punya beberapa potongan kertas yang masing-masing ada satu kata, dan kamu mau satuin potongan itu jadi kalimat yang utuh. Di Python, kita bisa pake metode join() untuk nyatuin list kata-kata jadi string, kayak nyanyi lagu dengan lirik yang disambung. Aku mulai dengan list kata yang berisi potongan kata, trus aku pake " ".join(kata) untuk satuin semua kata dengan spasi sebagai perekatnya, dan simpen hasilnya di variabel pesan. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini bikin kamu paham cara gabung teks, kayak nyanyi lagu dengan lirik yang disatukan. Coba di VSCode, gampang kok! 🌳
pesan = " Arry Hutomo tanam pohon! " pesan_bersih = pesan.strip() print(pesan_bersih)
Output:
Arry Hutomo tanam pohon!
Penjelasan Output: Outputnya adalah "Arry Hutomo tanam pohon!" karena metode strip() menghapus spasi kosong di awal dan akhir string pesan. Jadi, spasi yang tadinya ada di depan "Arry" dan setelah tanda seru ("!") hilang.
Penjelasan Query: Bayangin kamu punya kertas yang pinggirnya penuh coretan spasi kosong, dan kamu mau bersihin biar rapi. Di Python, kita bisa pake metode strip() untuk hapus spasi kosong di awal dan akhir string, kayak bersihin tepi kertas biar rapi. Aku mulai dengan string pesan yang punya spasi berlebih, trus aku pake strip() untuk bersihin, dan simpen hasilnya di variabel pesan_bersih. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini bikin kamu paham cara bersihin teks, kayak nyanyi lagu tanpa nada sumbang di awal atau akhir. Coba di VSCode, gampang kok! 🌳
pesan = "Arry Hutomo tanam pohon di Pantai!" posisi = pesan.find("pohon") print(f"Kata 'pohon' ada di posisi: {posisi}")
Output:
Kata 'pohon' ada di posisi: 12
Penjelasan Output: Outputnya adalah "Kata 'pohon' ada di posisi: 12" karena metode find() mencari kata "pohon" dalam string pesan dan mengembalikan indeks posisi awal kata itu, yaitu 12. Indeks dihitung mulai dari 0, jadi "pohon" dimulai dari karakter ke-12 (setelah "Arry Hutomo tanam ").
Penjelasan Query: Bayangin kamu lagi baca buku, dan kamu mau cari di mana kata "pohon" pertama kali muncul, kayak nyari nomor halaman. Di Python, kita bisa pake metode find() untuk cari posisi awal substring dalam string, mirip nyari kata di buku. Aku mulai dengan string pesan, trus aku pake find("pohon") untuk cari posisi kata "pohon", dan simpen hasilnya di variabel posisi. Indeks dimulai dari 0, jadi aku hitung manual: "Arry" (0-3), spasi (4), "Hutomo" (5-10), spasi (11), "tanam" (12-16), dan "pohon" mulai dari indeks 12. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini bikin kamu paham cara cari posisi teks, kayak nyari kata di buku harian. Coba di VSCode, gampang kok! 🌳
pesan = "Arry Hutomo tanam pohon di pohon Pantai!" jumlah = pesan.count("pohon") print(f"Kata 'pohon' muncul sebanyak: {jumlah} kali")
Output:
Kata 'pohon' muncul sebanyak: 2 kali
Penjelasan Output: Outputnya adalah "Kata 'pohon' muncul sebanyak: 2 kali" karena metode count() menghitung berapa kali kata "pohon" muncul dalam string pesan. Kata "pohon" ada dua kali: satu setelah "tanam" dan satu sebelum "Pantai".
Penjelasan Query: Bayangin kamu lagi nyanyi lagu, dan kamu mau hitung berapa kali kata "pohon" muncul di lirik, kayak ngitung chorus berulang. Di Python, kita bisa pake metode count() untuk hitung kemunculan substring dalam string, mirip ngitung kata di lirik lagu. Aku mulai dengan string pesan, trus aku pake count("pohon") untuk hitung berapa kali "pohon" muncul, dan simpen hasilnya di variabel jumlah. Aku sengaja bikin string dengan dua "pohon" biar kamu lihat cara kerjanya. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini bikin kamu paham cara hitung teks, kayak ngitung kata di buku harian. Coba di VSCode, gampang kok! 🌳
pesan = "Arry Hutomo tanam pohon di Pantai!" potongan = pesan[12:17] print(f"Potongan teks: {potongan}")
Output:
Potongan teks: tanam
Penjelasan Output: Outputnya adalah "Potongan teks: tanam" karena kita mengambil potongan string dari indeks 12 sampai 16 (17 tidak termasuk). Aku hitung indeksnya: "Arry" (0-3), spasi (4), "Hutomo" (5-10), spasi (11), "tanam" (12-16). Jadi, potongan dari indeks 12 sampai 16 adalah "tanam".
Penjelasan Query: Bayangin kamu punya selembar kertas panjang bertulisan kalimat, dan kamu mau potong bagian tertentu aja, misalnya cuma kata "tanam". Di Python, kita bisa pake slicing dengan format [awal:akhir] untuk ambil potongan string, kayak motong kertas pake gunting. Aku mulai dengan string pesan, trus aku pake [12:17] untuk ambil kata "tanam", dan simpen hasilnya di variabel potongan. Aku hitung indeks manual supaya jelas: "Arry" (0-3), spasi (4), "Hutomo" (5-10), spasi (11), "tanam" (12-16). Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini bikin kamu paham cara potong teks, kayak motong lirik lagu cuma ambil bagian tertentu. Coba di VSCode, gampang kok! 🌳
pesan = "Arry Hutomo tanam pohon di Pantai!" if "pohon" in pesan: print("Kata 'pohon' ada dalam pesan!") else: print("Kata 'pohon' tidak ada dalam pesan.")
Output:
Kata 'pohon' ada dalam pesan!
Penjelasan Output: Outputnya adalah "Kata 'pohon' ada dalam pesan!" karena kondisi "pohon" in pesan bernilai True. Kata "pohon" memang ada dalam string pesan, jadi program masuk ke blok if.
Penjelasan Query: Bayangin kamu lagi nyari kata tertentu di buku harian, misalnya "pohon", dan kamu mau kasih tau kalo kata itu ada atau nggak. Di Python, kita bisa pake operator in untuk cek apakah substring ada dalam string, kayak nyari kata di buku. Aku mulai dengan string pesan, trus aku cek pake "pohon" in pesan. Kalo True, masuk ke blok if dan cetak pesan bahwa kata ada; kalo False, 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 cek teks dengan logika, kayak nyanyi lagu sambil cek apakah liriknya ada kata tertentu. Coba di VSCode, gampang kok! 🌳
pesan = "Arry Hutomo tanam pohon di Pantai!" vokal = 0 for huruf in pesan: if huruf.lower() in "aeiou": vokal = vokal + 1 print(f"Jumlah huruf vokal: {vokal}")
Output:
Jumlah huruf vokal: 10
Penjelasan Output: Outputnya adalah "Jumlah huruf vokal: 10" karena kita menghitung huruf vokal (a, e, i, o, u) dalam string pesan. Aku hitung manual: "A" (1), "u" (2), "o" (3), "o" (4), "a" (5), "a" (6), "o" (7), "i" (8), "a" (9), "a" (10). Jadi, total ada 10 huruf vokal.
Penjelasan Query: Bayangin kamu lagi baca kalimat di buku harian, dan kamu mau hitung berapa huruf vokal (a, e, i, o, u) yang ada di kalimat itu, kayak nyanyi lagu sambil ngitung nada yang pas. Di Python, kita bisa pake for loop untuk cek tiap huruf dalam string. Aku mulai dengan string pesan, trus aku loop tiap huruf pake for huruf in pesan. Aku ubah huruf ke huruf kecil pake huruf.lower() biar pengecekan konsisten, trus cek apakah huruf itu ada di "aeiou". Kalo iya, aku tambah variabel vokal pake vokal = vokal + 1. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini bikin kamu paham cara olah teks dengan loop, kayak ngitung nada di lirik lagu. Coba di VSCode, gampang kok! 🌳
pesan = "Arry Hutomo tanam pohon di Pantai!" i = 0 while i < len(pesan): print(f"Karakter ke-{i+1}: {pesan[i]}") i = i + 1
Output:
Karakter ke-1: A Karakter ke-2: r Karakter ke-3: r Karakter ke-4: y Karakter ke-5: Karakter ke-6: H Karakter ke-7: u Karakter ke-8: t Karakter ke-9: o Karakter ke-10: m Karakter ke-11: o Karakter ke-12: Karakter ke-13: t Karakter ke-14: a Karakter ke-15: n Karakter ke-16: a Karakter ke-17: m Karakter ke-18: Karakter ke-19: p Karakter ke-20: o Karakter ke-21: h Karakter ke-22: o Karakter ke-23: n Karakter ke-24: Karakter ke-25: d Karakter ke-26: i Karakter ke-27: Karakter ke-28: P Karakter ke-29: a Karakter ke-30: n Karakter ke-31: t Karakter ke-32: a Karakter ke-33: i Karakter ke-34: !
Penjelasan Output: Outputnya mencetak setiap karakter dalam string pesan beserta posisinya. Kita pake while loop untuk mengakses karakter satu per satu dari indeks 0 sampai panjang string (34 karakter), dan cetak masing-masing karakter beserta nomor posisinya.
Penjelasan Query: Bayangin kamu lagi baca buku harian, dan kamu mau tulis ulang setiap huruf satu per satu sambil kasih nomor urut, kayak nyanyi lagu sambil ngitung tiap nada. Di Python, kita bisa pake while loop untuk akses tiap karakter dalam string berdasarkan indeks. Aku mulai dengan string pesan, trus aku inisialisasi i = 0 sebagai indeks awal. Aku loop pake while i < len(pesan) untuk pastiin loop berjalan sampai akhir string, trus cetak tiap karakter pake pesan[i] dan tambah i pake i = i + 1. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini bikin kamu paham cara olah teks dengan loop, kayak nyanyi lagu sambil ngitung nada satu per satu. Coba di VSCode, gampang kok! 🌳
class PesanLingkungan: def __init__(self, teks): self.teks = teks def format_pesan(self): teks_besar = self.teks.upper() teks_ganti = teks_besar.replace("PANTAI", "HUTAN") return teks_ganti pesan = PesanLingkungan("Arry Hutomo tanam pohon di Pantai!") hasil = pesan.format_pesan() print(hasil)
Output:
ARRY HUTOMO TANAM POHON DI HUTAN!
Penjelasan Output: Outputnya adalah "ARRY HUTOMO TANAM POHON DI HUTAN!" karena metode format_pesan() pertama ubah string jadi huruf besar pake upper(), lalu ganti "PANTAI" jadi "HUTAN" pake replace(). Karena upper() udah jalan duluan, "Pantai" jadi "PANTAI", makanya kita ganti "PANTAI" di langkah kedua.
Penjelasan Query: Bayangin kamu punya mesin cetak spanduk untuk acara lingkungan, dan mesin itu bisa ubah teks jadi huruf gede sekaligus ganti lokasi acara sesuai kebutuhan. Di Python, kita bisa bikin kelas pake OOP (Chapter 13-14) untuk olah string kayak mesin itu. Aku bikin kelas PesanLingkungan dengan atribut teks untuk simpen string. Metode format_pesan() punya dua langkah: pertama, ubah teks jadi huruf besar pake upper(), kayak nyiapin spanduk biar tulisannya gede; kedua, ganti "PANTAI" jadi "HUTAN" pake replace(), kayak ganti lokasi acara. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini bikin kamu paham cara gabungin manipulasi string dengan OOP, kayak nyanyi lagu sambil pakai mesin canggih. Coba di VSCode, gampang kok! 🌳
# Simulasi file lingkungan.py class PesanLingkungan: def __init__(self, teks): self.teks = teks def olah_pesan(self): try: # Ubah ke huruf besar teks = self.teks.upper() # Split jadi list kata kata = teks.split() # Hitung vokal vokal = 0 i = 0 while i < len(teks): if teks[i].lower() in "aeiou": vokal = vokal + 1 i = i + 1 # Ganti kata teks_ganti = teks.replace("PANTAI", "HUTAN") # Gabung kembali pesan_akhir = " ".join(teks_ganti.split()) # Cek substring if "POHON" in pesan_akhir: print("Kata 'POHON' ada dalam pesan!") return pesan_akhir, vokal except: print("Terjadi error saat mengolah pesan!") return "", 0 # File utama # from lingkungan import PesanLingkungan teks = input("Masukkan pesan lingkungan: ") pesan = PesanLingkungan(teks) hasil, jumlah_vokal = pesan.olah_pesan() print(f"Pesan akhir: {hasil}") print(f"Jumlah huruf vokal: {jumlah_vokal}")
Output (misalnya user masukkan "Arry Hutomo tanam pohon di Pantai!"):
Masukkan pesan lingkungan: Arry Hutomo tanam pohon di Pantai! Kata 'POHON' ada dalam pesan! Pesan akhir: ARRY HUTOMO TANAM POHON DI HUTAN! Jumlah huruf vokal: 10
Penjelasan Output: Outputnya dimulai dengan prompt, user masukin "Arry Hutomo tanam pohon di Pantai!". Metode olah_pesan() lakukan beberapa langkah: ubah teks jadi huruf besar ("ARRY HUTOMO TANAM POHON DI PANTAI!"), split jadi list untuk olah (meski kita gabung lagi nanti), hitung vokal (10: A, u, o, o, a, a, o, i, a, i), ganti "PANTAI" jadi "HUTAN", gabung lagi dengan join(), dan cek apakah "POHON" ada (ada, jadi cetak pesan). Hasil akhir dan jumlah vokal ditampilkan.
Penjelasan Query: Bayangin kamu punya mesin super canggih untuk bikin spanduk acara lingkungan, dan mesin ini bisa ubah teks jadi huruf gede, ganti lokasi, hitung vokal, cek kata, dan satuin lagi jadi kalimat rapi—all in one! Di Python, kita bisa bikin kelas pake OOP untuk olah string dengan banyak langkah. Aku bikin kelas PesanLingkungan dengan atribut teks. Metode olah_pesan() punya langkah-langkah: pertama, ubah teks jadi huruf besar pake upper(), kayak nyiapin spanduk; kedua, split teks jadi list kata pake split(), meski kita satuin lagi nanti; ketiga, hitung vokal pake while loop, kayak nyanyi lagu sambil ngitung nada vokal; keempat, ganti "PANTAI" jadi "HUTAN" pake replace(), kayak ganti lokasi acara; kelima, satuin lagi pake join() biar rapi; terakhir, cek apakah "POHON" ada pake if. Semua langkah dibungkus dalam try-except biar aman dari error. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, dan ini sesuai sama isu lingkungan. Struktur ini bikin kamu paham cara olah teks kompleks, kayak nyanyi lagu sambil pakai mesin canggih! Coba di VSCode, bakal bangga sama hasilnya! 🌳