Cara menggunakan string slicing in python

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 = ''
email_2 = ''

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:

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

Apa itu slicing pada Python?

Slicing merupakan teknik memilih data dari sebuah set data. Misal kita memiliki data berat badan mahasiswa: 65, 78, 77, 100, 56. Maka jika kita urutkan maka urutan pertama adalah 65, urutan kedua adalah 78, urutan ketiga adalah 77, urutan keempat adalah 100, dan urutan terakhir adala 56.

STR pada Python untuk apa?

Dalam Python, integer dapat diubah menjadi string menggunakan fungsi str() bawaan. Fungsi str() mengambil tipe data Python apa pun dan mengubahnya menjadi string.

Apa itu F di Python?

Formatted string literals (juga disebut f-string) memungkinkan Anda menyertakan nilai ekspresi Python di dalam string dengan mengawali string dengan f atau F dan menulis ekspresi sebagai {expression} .