0% menganggap dokumen ini bermanfaat (0 suara)
47 tayangan

Python String

String merupakan tipe data yang digunakan untuk menyimpan karakter. Pada Python, string dibuat dengan menggunakan tanda petik tunggal atau ganda. Dokumen ini menjelaskan berbagai operasi yang dapat dilakukan pada string seperti penggabungan, pemotongan, pemeriksaan karakter awal dan akhir, serta format string menggunakan format specifiers, fungsi format(), dan string interpolation.

Diunggah oleh

Mukti Widodo
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
47 tayangan

Python String

String merupakan tipe data yang digunakan untuk menyimpan karakter. Pada Python, string dibuat dengan menggunakan tanda petik tunggal atau ganda. Dokumen ini menjelaskan berbagai operasi yang dapat dilakukan pada string seperti penggabungan, pemotongan, pemeriksaan karakter awal dan akhir, serta format string menggunakan format specifiers, fungsi format(), dan string interpolation.

Diunggah oleh

Mukti Widodo
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 13

Python: Manipulasi String

String
Pada dunia pemrograman, ada satu tipe data yang berfungsi untuk menyimpan
kumpulan dari karakter-karakter. Karakter-karakter tersebut tersusun menjadi satu-
kesatuan membentuk sebuah kata, kalimat, atau paragraf yang bahkan bisa terbentuk
dari digit dan juga numerik.
Pada python, String dibuat dengan kombinasi tanda petik tunggal ('') atau tanda petik
dua ("").

Contoh:
nama = 'Ibnu Jamil'
asal = "Indonesia"

Escape Characters
Beberapa karakter bisa memutus sebuah string pada Python. Seperti misalnya karakter
tanda petik tunggal mau pun ganda. Karakter backslash (\) bisa kita gunakan untuk
meng-escape karakter-karakter yang bisa memutus string dan membuat sintaks menjadi
error.

Contoh. Kita akan menampilkan beberapa output seperti ini:


 Dia berkata: "Pergilah!"
 Aku menimpali: "Apakah kau ingin aku 'angkat kaki'?!"
 Atau menampilkan karakter \(^_^ \) (/ -_-/)

Untuk contoh pertama, jika kita membuat string dengan tanda petik 2 (""), kita akan
medapatkan error karena sintaks terputus.

Sintaks yang salah: ❌


print("Dia berkata: "Pergilah!"")

Pesan Error:
print("Dia berkata: "Pergilah!"")
^
SyntaxError: invalid syntax

Nah, coba perhatikan. Dari sususan warnanya saja sudah kelihatan kalau sintaks di atas
bermasalah. Jadi, solusi yang benar adalah kita akan menggunakan tanda petik tunggal
('').

Solusi yang benar: ✅


print('Dia berkata: "Pergilah!"')

Lalu, bagaimana dengan output kedua?


Aku menimpali: "Apakah kau ingin aku 'angkat kaki'?!"

Halaman 1
Karena di dalam string tersebut, baik tanda petik tunggal maupun tanda petik ganda
sama-sama ditampilkan?

Solusinya adalah: escape string dengan backslash!

Perhatikan contoh berikut:


# menggunakan petik satu
print('Aku menimpali: "Apakah kau ingin aku \'angkat kaki\'?!"')

# menggunakan petik dua


print("Aku menimpali: \"Apakah kau ingin aku 'angkat kaki'?!\"")

Sedangkan untuk output ke 3:


\(^_^ \) (/ -_-/)

Kita bisa menggunakan double backslash (\\) untuk menampilkan satu backslash.
Kodenya menjadi seperti ini:

print('\\(^_^ \) (/ -_-/)')
Dua backslash di atas \\ hanya akan menjadi satu saja \.
Output:
\(^_^ \) (/ -_-/)

Operasi in Pada String


Operator keanggotan in berfungsi untuk mencari tahu apakah suatu karakter / kata
terdapat pada sebuah string. Jika ada, ia akan mengembalikan nilai True, dan sebaliknya
jika tidak ada ia akan mengembalikan nilai False.

berita = 'Ramai-ramai developer di seluruh dunia mulai menggunakan \


teks editor masa kini seperti Visual Studio Code, \
atom, sublime text, dan lain sebagainya.'

print('sublime text' in berita) # output: True


print('notepad++' in berita) # output: False

Memotong String
Tidak jauh berbeda dengan list, kita juga bisa melakukan indexing dan slicing pada string.
Secara sintaks pun sama saja.

Indexing String
Kita bisa mengambil karakter pada index ke-i pada string seperti ini:

nama = 'Lendis Fabri'


print(nama[4]) # output: i
print(nama[7]) # output: F
print(nama[-1]) # output: i

Halaman 2
print(nama[-3]) # output: b

Penjelasan:
 Indeks dimulai dari 0 (ujung kiri ke kanan).
 Indeks negatif dimulai dari -1 yang dihitung dari karakter paling kanan ke paling kiri.

Slicing String
Untuk melakukan slicing atau pemotongan string, kita bisa menggunakan range of index
yang diapit oleh dua kurung siku ([]) dan dipisahkan oleh tanda titik dua (:).

Perhatikan contoh berikut:


judul = 'Pelajaran Matematika Untuk SD'

print(judul[0:5]) # output: Pelaj


print(judul[:10]) # output: Pelajaran
print(judul[10:15]) # output: Matem
print(judul[-1:-3]) # output:
print(judul[:-3]) # output: Pelajaran Matematika Untuk
print(judul[-5:]) # output: uk SD

Menghitung Panjang String


Kita bisa menghitung panjang string dengan fungsi bawaan python len(). Cara kerjanya
sama dengan ketika kita menghitung panjang dari list atau tipe koleksi lainnya.

print(len('Indonesia')) # output: 9
print(len('Malaysia')) # output: 8

Memeriksa Karakter Awal String dengan string.startswith()


Dalam beberapa kasus, kita perlu memeriksa karakter awal pada sebuah string apakah
sesuai keinginan kita atau tidak. Hal ini tidak bisa diselesaikan dengan pendekatan
operator keanggotaan in mau pun not in, karena keduanya memeriksa karakter pada
keseluruhan string, bukan karakter awalnya aja.

Contoh kasus: kita akan memeriksa apakah nomor telepon diawali ‘+62’ atau tidak.
Untuk melakukannya kita bisa menggunakan fungsi startswith() yang tersedia pada
objek atau tipe data string.

nomor_telepon_1 = '0871122334455'
nomor_telepon_2 = '6288776655300'
nomor_telepon_3 = '+6233003300330'

kode_negara = '+62'
print(nomor_telepon_1.startswith(kode_negara)) # False
print(nomor_telepon_2.startswith(kode_negara)) # False
print(nomor_telepon_3.startswith(kode_negara)) # True

Halaman 3
Memeriksa Karakter Akhir String dengan string.endswith()
Begitu pula untuk kebalikannya, kita bisa memanfaatkan fungsi endswith() yang
terdapat pada objek string.

Perhatikan contoh berikut:


email_1 = '[email protected]'
email_2 = '[email protected]'

print(email_1.endswith('gmail.com')) # True
print(email_2.endswith('gmail.com')) # False

Penggabungan String
Penggabungan string adalah teknik untuk menyusun atau mengkombinasikan beberapa
string menjadi satu kesatuan. Hal ini juga biasa disebut sebagai string concatenation.
Ia akan menambahkan satu string di belakang string lainnya.
Ada beberapa cara, yang paling dasar adalah dengan menggunakan operator +.

nama_depan = 'Renza'
nama_belakang = 'Ilhami'

nama_lengkap = nama_depan + nama_belakang

print(nama_lengkap)
Output dari program di atas adalah:
RenzaIlhami

Ingat, bahwa spasi termasuk karakter. Sehingga, jika kita tidak menambahkannya, maka
ia tidak akan ada dengan sendirinya. Untuk menghasilkan nama_lengkap yang baik,
anda harus menambahkannya dengan karakter spasi:
nama_lengkap = nama_depan + ' ' + nama_belakang

print(nama_lengkap) # output: Renza Ilhami

String + Non String


Ingat, bahwa anda hanya bisa menambahkan string dengan string juga. Jika anda
berusaha menambahkan string dengan integer, double, atau boolean dan sebagainya,
maka anda akan mendapatkan error.

print('Sekarang tahun: ' + 2021)


Pesan error yang didapat:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects

Solusinya adalah kita harus mengkonversi data integer menjadi string menggunakan
fungsi str():

Halaman 4
print('Sekarang tahun: ' + str(2021))

Perkalian String
Selain melakukan string concatenation menggunakan operator tambah (+), kita juga
bisa menggunakan operator kali ('*').
Operator perkalian ini akan mengulang-ulang string yang dikalikan.

Perhatikan contoh berikut:


print('----------') # output: ----------
print('-' * 10) # ouput: ----------
Lebih hemat sintaks bukan?

Format String Pada Python

Pengertian Format String Pada Python


String formatting pada python adalah satu proses memasukkan atau menyisipkan
variabel atau nilai ke dalam template string yang telah ditentukan.

Terdapat setidaknya 3 cara untuk melakukan hal ini. Beberapa di antaranya adalah cara
jadul, dan beberapa di antaranya adalah cara yang lebih baru dan modern.

Kita akan coba satu-persatu.

Memformat String dengan Format Specifiers


Cara yang pertama (dan ini adalah cara yang cukup lama), adalah menggunakan format
specifiers.

Format specifiers adalah simbol %s yang berarti string.


Contoh:
template = 'Halo, saya %s dari %s'

print(template % ('Lendis Fabri', 'Indonesia'))


# output: Halo, saya Lendis Fabri dari Indonesia

Model cara seperti ini akan terlihat sangat “old-style” jika kita bandingkan dengan fungsi
string.format() pada python 3.

Memformat String dengan Fungsi format()


Untuk cara yang kedua adalah menggunakan fungsi string.format() yang baru
diperkenalkan pada python versi 3.

Berikut ini contoh penggunaannya:


template = 'Halo, saya {nama} dari {asal}'
template_2 = 'Saya suka makan {} dan minum {}'

print(template.format(nama = 'Lendis Fabri', asal = 'Indonesia'))

Halaman 5
# Halo, saya Lendis Fabri dari Indonesia

print(template_2.format('Nasi Goreng', 'air putih'))


# Saya suka makan Nasi Goreng dan minum air putih

Memformat String dengan String Interpolation / F-Strings


String interpolation atau F-Strings adalah fitur terbaru dari python 3.6.
Fungsi ini memiliki tujuan yang sama dengan 2 cara sebelumnya. Hanya saja, ia memiliki
sintaks yang jauh lebih modern dan lebih sederhana.
Hal ini akan terlihat sangat familiar bagi kalian yang pernah belajar javascript mau pun
kotlin, karena secara sintaks penulisannya hampir sama dengan string template literal
pada dua bahasa tersebut.

Berikut ini contohnya:


nama = 'Lendis Fabri'
asal = 'Indonesia'

print(f'Perkenalkan saya {nama} dari {asal} ')

Output:
Perkenalkan saya Lendis Fabri dari Indonesia
Bagaimana? Jauh lebih manusiawi bukan sintaksnya?

Memecah String Menjadi List dan Sebaliknya


Fungsi selanjutnya adalah memecah string menjadi list.
Hal ini bisa kita lakukan menggunakan fungsi string.split() dan string.join().

alamat = 'Batang, Jawa Tengah, Indonesia'

print(alamat.split())
# ['Batang,', 'Jawa', 'Tengah,', 'Indonesia']

print(alamat.split(','))
# ['Batang', ' Jawa Tengah', ' Indonesia']

print(alamat.split(', '))
# ['Batang', 'Jawa Tengah', 'Indonesia']

print(alamat.split(', '))
# ['Batang', 'Jawa Tengah', 'Indonesia']

print('suka'.join(['aku', 'suka', 'python']))


# aku suka python

print('batang'.join(alamat.split(', ')))

Halaman 6
# Batang Jawa Tengah Indonesia

Penjelasan
 Fungsi string.split() menerima satu parameter optional. Parameter ini akan dijadikan
sebagai pembatas atau separator yang kemudian string akan dibagi menjadi list
berdasarkan pembatas tersebut.
 Jika fungsi string.split() tidak diberi parameter, maka defaultnya adalah spasi ( ).
 Fungsi string.join() berfungsi untuk menggabungkan item list menjadi string utuh,
dengan string awal sebagai glue atau perekat antar masing-masing item.

Mengubah String Menjadi Upper Case


Selanjutnya kita bisa memodifikasi string menjadi uppercase alias huruf besar semua
dengan fungsi upper().

print('halo selamat pagi!'.upper())


print('Halo Selamat Siang!'.upper())

Output:
HALO SELAMAT PAGI!
HALO SELAMAT SIANG!

Mengubah String Menjadi Lower Case


Kebalikannya, kita bisa menggunakan fungsi string.lower() untuk mengubah string
menjadi huruf kecil semua.

Contoh:
print('APA KABAR?'.lower())
print('Lagi Dimana?'.lower())
Output:
apa kabar?
lagi dimana?
apa kabar? lagi dimana?

## Mengubah String Menjadi Title Case

Selanjutnya, untuk mengubah `teks string` menjadi `Teks String` alias **title case**, kita
bisa menggunakan fungsi `string.title()`.

Perhatikan contoh berikut:

print('daun tidak pernah membenci angin'.title())


print('LASKAR PELANGI'.title())

Output:
Daun Tidak Pernah Membenci Angin
Laskar Pelangi

Halaman 7
Mengubah String Menjadi Reverse Case
Yang terakhir, kita bisa membalikkan huruf kecil menjadi huruf besar, dan huruf besar
menjadi huruf kecil dengan perintah string.reverse().

Perhatikan contoh:
print('Indonesia Adalah Negara Kepulauan'.swapcase())
print('aKu cInTa NeGeRiKu'.swapcase())

Output:
iNDONESIA aDALAH nEGARA kEPULAUAN
AkU CiNtA nEgErIkU

Mencari Kata Pada String


Pada python, mencari sebuah kata atau karakter dalam suatu string caranya sangat
mudah. Kita bisa menggunakan fungsi string.find().
Fungsi tersebut akan mengembalikan indeks dari hasil pertama pencarian, dan akan
mengembalikan -1 jika karakter yang dicari tidak ditemukan.

Contoh:
angka = '12345'

print('Index angka 3:', angka.find('3'))


print('Index angka 45:', angka.find('45'))
print('Index angka 35:', angka.find('35'))

Output:
Index angka 3: 2
Index angka 45: 3
Index angka 35: -1

Mereplace Kata Pada String


Dengan memanfaatkan fungsi string.replace(), kita bisa mencari lalu menimpa sebuah
karakter/teks dengan teks baru.
Perhatikan contoh berikut:
ibu_kota = 'Jakarta'

print(ibu_kota.replace('a', 'i'))
print(ibu_kota.replace('kar', '?'))
Output:
Jikirti
Ja?ta

Menghapus Karakter Tertentu Pada String


Tentu saja, jika kita memanggil fungsi replace() pada suatu string, lalu kita timpa teks
lama dengan string kosong (''), seolah-olah kita telah menghapus karakter tersebut.

Halaman 8
Contoh:
ibu_kota = 'Jakarta'

print(ibu_kota.replace('a', ''))
Output:
Jkrt

Menghitung Jumlah Karakter Yang Muncul


Terakhir tapi bukan yang paling akhir, kita bisa menghitung berapa kali sebuah teks
muncul dalam suatu string.

Misal kita ingin menghitung berapa kali kata di muncul pada sebuah paragraf, kita bisa
menggunakan fungsi count() pada string.

Perhatikan contoh berikut:


paragraf = 'Baru-baru ini telah ditemukan sebuah meteor di suatu sungai'
x = paragraf.count('di')

print(f'Kata "di" muncul sebanyak {x} kali')


Output:
Kata "di" muncul sebanyak 2 kali

Kesimpulan
Ada banyak sekali hal yang bisa kita lakukan untuk memanipulasi string pada python.
Bahkan, cara-cara tersebut umumnya sangat mudah dilakukan. Berbeda dengan jika kita
menggunakan bahasa pemrograman lain yang tidak memiliki fungsi manipulasi string
sebanyak python.

Praktik STRING

01-escape-characters.py

Halaman 9
02-operasi-in.py

03-indexing-dan-slicing.py

04-len.py

Halaman 10
05-startswith.py

06-endswith.py

07-menggabungkan-string.py

Halaman 11
08-perkalian-string.py

09-format-specifiers-cara-jadul.py

10-fungsi-string-format.py

11-string-interpolation.py

12-split-dan-join.py

Halaman 12
13-upperlowertitlereverse-case.py

14-findreplacecount.py

Halaman 13

Anda mungkin juga menyukai