Pada seri tutorial python dasar, kita telah membahas beberapa hal tentang tipe data string. Ia adalah tipe data yang digunakan untuk menyimpan data karakter, baik karakter abjad, karakter numerik, simbol-simbol, emoji, bahkan juga karakter putih seperti spasi, tab, dan karakter ganti baris (\n
) [1].
Kali ini kita akan memperdalam lagi pembahasan kita tentang string pada python beserta contoh-contohnya.
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 = 'Wahid Abdulloh'
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'?!"
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
Anda bisa membaca operator keanggotaan in untuk informasi lebih lanjut.
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
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
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 = 'presiden@gmail.com'
email_2 = 'presiden@outlook.com'
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()
:
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?
Pertemuan Selanjutnya
Oke. Karena pembahasan string masih cukup banyak, kita sudahi saja pertemuan ini sampai di sini. Insyaallah kita akan lanjutkan lagi pembahasan ini pada pertemuan yang akan datang.
Kode Program Lengkap
Untuk kode program lengkap, kalian bisa mendapatkannya pada repository python menengah pada github. Terima kasih banyak!
Referensi
[1] https://www.codecademy.com/learn/learn-python-3/modules/learn-python3-strings - diakses pada tanggal 17 Februari 2021