0% menganggap dokumen ini bermanfaat (0 suara)
65 tayangan7 halaman

Modul 7 Pengolahan String

Bab ini membahas tentang pengolahan string di Python. String adalah tipe data yang digunakan untuk menyimpan teks. String dapat diakses, dimanipulasi, dan diproses menggunakan operator dan metode khusus.

Diunggah oleh

reyhanputrafeb
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)
65 tayangan7 halaman

Modul 7 Pengolahan String

Bab ini membahas tentang pengolahan string di Python. String adalah tipe data yang digunakan untuk menyimpan teks. String dapat diakses, dimanipulasi, dan diproses menggunakan operator dan metode khusus.

Diunggah oleh

reyhanputrafeb
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
Anda di halaman 1/ 7

7.

Pengolahan String

7.1 Tujuan Praktikum


Setelah mempelajari Bab ini, mahasiswa diharapkan dapat:
1. Dapat menjelaskan tentang String.
2. Dapat mengakses String dan memanipulasi String.
3. Dapat menggunakan operator metode String.
4. Dapat melakukan parsing String sederhana.

7.2 Alat dan Bahan


Praktikum ini membutuhkan perangkat komputer yang memiliki spesifikasi minimum sebagai
berikut:
1. Terkoneksi ke Internet dan dapat mengunduh package-package Python.
2. Mampu menjalankan sistem operasi Windows 10 atau Ubuntu Linux.
Perangkat lunak yang diperlukan untuk mendukung praktikum ini adalah sebagai berikut:
1. Python 3.7 atau 3.8 yang terinstall menggunakan Anaconda atau Installer Python lainnya.
2. Web Browser (Mozilla Firefox, Microsoft Edge atau Google Chrome).
3. Command Prompt (jika menggunakan Windows).
4. Terminal (jika menggunakan Linux).
5. Editor Python (Visual Studio Code, PyCharm, Spyder atau editor-editor lainnya yang mendu-
kung Python).

7.3 Materi
7.3.1 Pengantar String
String adalah untaian karakter-karakter yang menjadi satu kesatuan dan digunakan dalam
program komputer untuk menyimpan kalimat, baik panjang ataupun pendek. String adalah suatu
jenis data yang mampu menyimpan huruf / karakter dan disimpan dalam kode ASCII. Tidak semua
bahasa pemrograman memiliki tipe data String, seperti misalnya bahasa C. Tipe data ini merupakan
jenis tipe data yang bukan tipe data dasar, karena tipe data ini pada dasarnya menyimpan lebih dari
satu nilai tunggal sebagai satu kesatuan. Beberapa bahasa pemrograman ada yang menyebutkan
bahwa String pada dasarnya adalah kumpulan tipe data karakter / array of character / list of
character.

7.3.2 Pengaksesan String dan Manipulasi String


String dapat dibuat dengan sederhana menggunakan variabel:

1 namasaya = "Antonius Rachmat C"


2 temansaya1 = "Yuan Lukito"
3 temansaya2 = 'Laurentius Kuncoro'
4 temansaya3 = "Matahari" + 'Bakti'
5

6 print(temansaya3)
7 print(namasaya[0]) #'A'
8 print(namasaya[9]) #'R'
9 print(temansaya1[1]) #'u'
10

11 huruf = temansaya2[0]
12 print(huruf) #'L'

Jadi string pertama kali dibuat dengan deklarasi variabel dan langsung diisi dengan data, string
dapat diakses sebagai satu kesatuan dengan menyebut nama variabelnya, atau per huruf dengan
menyebutkan indeksnya. Indeks pada string dimulai dari 0 seperti layaknya pada list. Indeks string
haruslah berupa bilangan bulat, bukan pecahan.
Pada memory komputer, string disimpan secara urut menggunakan list yang berisi huruf-huruf
dengan indeks yang dimulai dari nol. Gambar 7.1 menunjukkan string berisi "banana" yang
disimpan pada memory komputer.

Gambar 7.1: Bentuk string di dalam memory

7.3.3 Operator dan Metode String


OPERATOR in
Pada String kita dapat memeriksa apakah suatu kalimat merupakan substring dari suatu kalimat
lain dengan menggunakan operator in. Hasil dari operator ini adalah True / False.

1 kalimat = "saya mau makan"


2 data = "saya"
3 print(data in kalimat) #True
4 print("mau" in kalimat) #True
5 print("dia" in kalimat) #False
Selain operator in, pada String juga dapat dilakukan perbandingan (comparison) yang juga
menghasilkan True atau False.

1 if "saya" > "dia":


2 print("Ya") #Ya
3 else:
4 print("Tidak")
5

6 if "dua" == "dua":
7 print("Sama") #Sama

FUNGSI len
Cara untuk mengetahui berapa panjang (berapa jumlah karakter) dari sebuah string adalah
dengan menggunakan operator len(<string>) Untuk menampilkan huruf terakhir dari sebuah string
kita harus menggunakan indeks string yang ke- len(<string>-1), sebab indeks dimulai dari 0.
Contoh program Python adalah:

1 kalimat = "universitas kristen duta wacana yogyakarta"


2 print(len(kalimat)) #output 42
3

4 terakhir = kalimat[len(kalimat)-1]
5 print(terakhir) #output 'a'
6

7 #bisa juga menggunakan indeks -1


8 terakhir_versi2 = kalimat[-1]
9 print(terakhir_versi2) #output 'a'
10 #atau menggunakan indeks -2 untuk huruf terakhir kedua
11 terakhir2 = kalimat[-2]
12 print(terakhir2) #output 't'

TRAVERSING STRING
Untuk dapat menampilkan string dengan cara ditampilkan huruf demi huruf adalah dengan
menggunakan loop yang dilakukan per huruf dengan 2 cara:
• Dilakukan dengan akses terhadap indeks

1 kalimat = "indonesia jaya"


2 i = 0
3 while i < len(kalimat):
4 print(kalimat[i],end='')
5 i += 1

• Dilakukan tanpa akses terhadap indeks secara otomatis

1 kalimat = "indonesia jaya"


2 for kal in kalimat:
3 print(kal,end='')
STRING SLICE
String slice adalah menampilkan substring pada sebuah string dengan menggunakan indeks
dari awal tertentu sampai akhir-1 tertentu. Sintaksnya menggunakan <string>[awal:akhir]. Bagian
awal atau akhir boleh dikosongkan. Bagian awal dimulai dari 0.

1 kalimat = "cerita rakyat"


2 awal = 0
3 akhir = 6
4 print(kalimat[awal:akhir]) #cerita
5 print(kalimat[7:len(kalimat)]) #rakyat
6 print(kalimat[:5]) #cerit
7 print(kalimat[5:]) #a rakyat
8 print(kalimat[:]) #cerita rakyat

# String merupakan data yang bersifat immutable! Immutable adalah bahwa data tersebut tidak
bisa diubah saat program berjalan, hanya bisa diinisialisasi saja. Contoh:

1 kalimat = "satu"
2 kalimat[0] = "batu" #TypeError: 'str' object does not support item assignment

Agar bisa diubah, maka harus disimpan dalam variabel yang berbeda.

1 kalimat = "satu"
2 kalimat_baru = kalimat[0] + "alah" #salah

Berikut adalah beberapa method String yang sering digunakan:

Nama Method Kegunaan Penggunaan


capitalize() untuk mengubah string menjadi huruf besar string.capitalize()
menghitung jumlah substring yang muncul da-
count() string.count()
ri sebuah string
mengetahui apakah suatu string diakhiri de-
endswith() string.endswith()
ngan string yang dinputkan
mengetahui apakah suatu string diawali de-
startswith() string.startswith()
ngan string yang dinputkan
mengembalikan indeks pertama string jika di-
find() string.find()
temukan string yang dicari
mengembalikan True jika string adalah huruf
islower() dan isupper() string.islower() dan string.isupper()
kecil / huruf besar
mengembalikan True jika string adalah digit
isdigit() string.isdigit()
(angka)
menghapus semua whitespace yang ada di dep-
strip() string.strip()
an dan di akhir string
memecah string menjadi token-token berda-
split() string.split()
sarkan pemisah, misalnya berdasarkan spasi

Dan masih banyak lainnya. Ingat semua fungsi/method di atas yang mengembalikan string,
mengembalikan string baru, tidak mengubah yang aslinya, karena string bersifat immutable. Daftar
lengkap dapat dilihat di https://docs.python.org/library/stdtypes.html#string-methods
Operator * dan + pada String
Pada Python operator + dan * memiliki kemampuan khusus. Operator + yang biasanya
digunakan untuk menjumlahkan bilangan bisa digunakan untuk menggabungkan dua buah string.
Sedangkan operator * yang bisa digunakan untuk mengkalikan bilangan bisa digunakan untuk
menampilkan string sejumlah perkaliannya. Perhatikan kode berikut:

1 kata1 = "saya"
2 kata2 = "makan"
3 kata3 = kata1 + " " + kata2
4 print(kata3) #hasil adalah penggabungan: saya makan
5 kata4 = "ulang"
6 print(kata4 * 4) #hasil adalah ulangulangulangulang
7 kata4 = "ulang "
8 print(kata4 * 2) #hasil adalah ulang ulang

7.3.4 Parsing String


Parsing string adalah cara menelusuri string bagian demi bagian untuk mendapatkan / mene-
mukan / mengubah bagian string yang diinginkan. Perhatikan contoh berikut:
"Saudara-saudara, pada tanggal 17-08-1945 Indonesia merdeka".
Dilihat dari string di atas, diingikan untuk mengambil tanggal bulan tahun dari kalimat di
atas dan disusun ulang menjadi format 08/17/1945. Kita dapat menggunakan cara parsing string
misalnya:
• Spit string berdasarkan spasi sehingga menjadi token: "Saudara-saudara", "pada", "tanggal",
"17-08-1945", "Indonesia", dan "merdeka".
• Dari sini, lanjutkan dengan mencari token yang diawali dengan angka, kemudian lanjutkan
dengan split angka tersebut dengan pemisah ’-’.
• Kemudian susun ulang token-token dari langkah sebelumnya sehingga berbentuk seperti
yang diinginkan.
Berikut adalah contoh penyelesaiannya:

1 kalimat = "Saudara-saudara, pada tanggal 17-08-1945 Indonesia merdeka"


2

3 hasil = kalimat.split(" ")


4

5 for kal in hasil:


6 if kal[0].isdigit():
7 hasil2 = kal.split("-")
8 print(hasil2[1]+"/"+hasil2[0]+"/"+hasil2[2])

Hasil dari keluaran program adalah 08/17/1945

7.4 Kegiatan Praktikum


Kasus 7.1 Buatlah program untuk menghitung berapa huruf hidup pada sebuah kalimat per kata
Kasus 7.2 Buatlah program untuk membuat mengubah susunan format tanggal dari YYYY-MM-
DD menjadi DD-MM-YYYY
Kasus 7.3 Buatlah program untuk mengetahui apakah suatau kalimat adalah palindrom atau bukan!
Palindrom adalah kalimat yang jika dibalik sama saja. Misalnya: Step on no pets, Pull up If I pull
up, Some men interpret nine memos, dan Madam, In Eden I’m Adam.
Kasus 7.4 Buatlah program untuk mengambil beberapa kata dari suatu kalimat yang diinputkan.
Misal kalimat: "saya akan pergi sekolah". Akan diambil 1 kata, maka hasilnya: "saya", "akan",
"pergi", "sekolah". Sedangkan jika 2 kata maka hasilnya: "saya akan", "akan pergi", "pergi sekolah".

7.4.1 Pembahasan Soal 1


Untuk menghitung huruf hidup digunakan tahapan sebagai berikut:
• minta input kalimat yang akan dicari
• ubah string menjadi huruf kecil semua agar tidak membedakan huruf besar dan kecil
• siapkan variabel total jumlah huruf hidup aiueo dan set nilai awal = 0
• carilah ada berapa huruf ’a’,’i’,’u’,’e’,’o’ pada kalimat yang diinputkan dengan method
count()
Hasil:

1 a_string = "AnTonIus"
2 lowercase = a_string.lower()
3 total = 0
4 for x in "aiueo":
5 jml = lowercase.count(x)
6 total += jml
7 print(total) #hasil = 4

7.4.2 Pembahasan Soal 2


Langkah yang harus dilakukan bisa 2 macam, yaitu dengan memecah / split string dan menyu-
sunnya kembali sesuai yang diinginkan.

1 tgl = "2020-12-01"
2 hasil = tgl.split("-")
3 tgl2 = hasil[2]+"-"+hasil[1]+"-"+hasil[0]
4 print(tgl2)

7.4.3 Pembahasan Soal 3


Palindrom dapat diperiksa dengan membalik kata tersebut dan kemudian mencocokannya
dengan string aslinya. Jika sama maka palindrom, jika tidak maka bukan palindrom.

1 satu = "Step! on, no.. pets??"


2 satu = satu.lower()
3

4 satu = ''.join([i for i in satu if i.isalpha()]) #buang semua yang bukan alfabet
5

6 dua = satu[::-1]
7 if dua == satu:
8 print("palindrom")
9 else:
10 print("bukan")
7.4.4 Pembahasan Soal 4
Untuk mengambil beberapa kata dari kalimat, digunakan logika sebagai berikut:
• Ubah kalimat menjadi huruf kecil semua (lowercase)
• Pecah (split), kalimat dipisah berdasarkan spasi
• Untuk setiap kata yang sudah dipisah tersebut, maka ambil indeks kata per n buah, misal 1
buah jika n=1, 2 jika n=2. Indeks yang diambil adalah dimulai dari 0, jika n=2 maka ambil 0
dan 1, lalu ambil 1 dan 2, 2 dan 3, 3 dan 4, dst...dilakukan dalam perulangan.

1 #Kalimat
2 text = 'A quick brown fox jumps over the lazy dog.'
3

4 def ambil_kata_kalimat(kalimat, n):


5 kalimat = kalimat.lower() #ubah huruf kecil
6 hasil_akhir = [] #siapkan tempat hasil
7 hasil = kalimat.split() #pecah berdasarkan spasi
8 for i in range (0,len(hasil)): #loop per hasil pecah
9 tmp = ' '.join(hasil[i:i + n]) #ambil per indeks
10 hasil_akhir.append(tmp) #tambahkan ke list
11

12 return hasil_akhir #return


13

14 print(ambil_kata_kalimat(text, 2))

Hasil

['a quick', 'quick brown', 'brown fox', 'fox jumps',


'jumps over', 'over the', 'the lazy',
'lazy dog.', 'dog.']

7.5 Latihan Mandiri


Latihan 7.1 Buatlah sebuah program yang dapat mendeteksi apakah suatu kata adalah anagram
dari kata lainnya atau bukan! Anagram adalah kata yang dibolak-balik susunan hurufnya sama.
Misal: mata anagram dengan atma, maat, taam, tama, dsb. 

Latihan 7.2 Buatlah suatu program yang dapat menghitung frekuensi kemunculan suatu kata
yang ada pada String. Misal terdapat kalimat "Saya mau makan. Makan itu wajib. Mau siang
atau malam saya wajib makan". Ditanyakan kata "makan". Output: makan ada 3 buah 

Latihan 7.3 Buatlah suatu program yang dapat menghapus semua spasi yang berlebih pada
sebuah string, dan menjadikannya satu spasi normal! Misal: "saya tidak suka memancing ikan "
Output: "saya tidak suka memancing ikan" 

Latihan 7.4 Buatlah suatu program mengetahui kata terpendek dan terpanjang dari suatu
kalimat yang diinputkan! Misal: "red snakes and a black frog in the pool" Output: terpendek: a,
terpanjang: snakes 

Anda mungkin juga menyukai