String

Penjelasan Umum (str)

Tipe data String merepresentasikan data berupa teks yang merupakan untaian (strings) karakter-karakter.

"This is a string"
"123"
"Hello World!"
"Pr0gr4mm1Ng 1s e45y!"
'i\'m just testing some stuff'
"""first line,
second line,
third line"""
'is this the same as above?\nmaybe'
'''
can i do this?\nwhy not?
dunno
'''

Untuk menandakan bahwa nilai yang diberikan adalah sebuah String, nilai tersebut harus diapit oleh salah satu dari tiga pengapit berikut ini:

  1. Tanda petik tunggal (apostrophe): 'Hello World!'.
  2. Tanda petik ganda (double quote): "Hello World!".
  3. Tiga buah tanda petik tunggal/ganda: '''Hello World!''' atau """Hello World!""".
note

Pengapit tiga buah tanda petik tunggal/ganda dapat digunakan untuk menyusun teks yang memiliki lebih dari satu baris.

"""
Mereka bilang aku pawang ular piton,
padahal aku barista kopi jawa.
"""

Indexing

Karena String merupakan untaian karakter-karakter, setiap karakter (terlepas dari apa jenis karakternya) memiliki nomor indeks yang bisa dipanggil. Nomor indeks pada String dimulai dari 0 untuk karakter paling kiri dari String tersebut.

"Dek Depe"
DekDepe
01234567

Untuk memanggil suatu karakter dalam untaian teks, kamu dapat memanggil variabel yang menyimpan teks tersebut dan menambahkan [nomor index].

my_name = "Dek Depe"
print(my_name[4])

Hasil:

D

Nomor indeks juga dapat bernilai negatif. Nomor indeks negatif merupakan kebalikan dari nomor indeks non-negatif di mana nomor indeks negatif -1 dimulai dari karakter paling kanan dan seterusnya ke arah kiri.

"Kak Pewe"
KakPewe
-8-7-6-5-4-3-2-1
note

Kedua nomor indeks ini dapat digunakan secara bersama-sama dan nomor indeks pada posisi yang sama akan mengembalikan karakter yang sama, misalnya:

my_faculty = "Fasilkom"
print(my_faculty[0])
print(my_faculty[-8])

Hasil:

F
F

Slicing

Misalnya kita ingin mengambil sebagian dari String tertentu untuk membentuk suatu String baru. Kita dapat menggunakan metode slicing yang diturunkan dari indexing pada materi sebelumnya di mana pemanggilan nomor indeks dapat dibongkar menjadi format berikut:

text_var[x:y:z]
# x: Indeks mulai untuk pemotongan (inklusif - default 0)
# y: Indeks akhir untuk pemotongan (eksklusif - default panjang dari string tersebut)
# z: *Stepping* (Jarak longkapan dalam pemotongan - default 1 / tidak ada pelongkapan)

Ketiga nilai tersebut tidak perlu untuk dicantumkan semua. Selama pemisahnya (:) tercantum, maka Python akan menggunakan nilai-nilai default yang ada di atas. Bahkan, pemisah antara y dan z seringkali tidak diperlukan apabila tidak ada longkapan.

sentence = "Door stuck!"
word1 = sentence[:4]
word2 = sentence[5:]
print(word1)
print(word2)

Hasil:

Door
stuck!
tip

Manipulasi pemotongan secara kreatif dapat menghasilkan hal-hal yang memudahkan dalam pengolahan teks. Amatilah hasil dari blok program ini di Python-mu!

spam = "no lemon no melon"
print(spam[::-1])

Operasi String

Dalam Python, String mendukung tanda operasi + yang digunakan untuk melakukan penggabungan dua buah String dan * yang digunakan untuk melakukan duplikasi (menggandakan sebuah teks).

first_name = "mind your own "
last_name = "business"
full_name = first_name + last_name
on_my_mind = last_name * 3
print(full_name)
print(on_my_mind)

Hasil:

mind your own business
businessbusinessbusiness

Selain itu, String juga memiliki beberapa metode (perlakuan yang dapat diberikan terhadap suatu String) sebagai berikut:

len(var) → mengembalikan panjang String

var.find() → mengembalikan indeks dari nilai yang dicari

var.isdigit() → mengembalikan True jika semuanya adalah angka

var.upper() → mengembalikan String yang semuanya kapital

var.lower() → mengembalikan String yang semuanya bukan kapital

var.isupper() → mengembalikan True jika semuanya kapital

var.islower() → mengembalikan True jika semuanya bukan kapital

important

Mengembalikan tidak selalu berarti data asli akan termodifikasi. Dalam hal ini, pengembalian berarti akan dibuat suatu data baru yang merupakan hasil dari operasi tersebut.

sentence = "WAS IT A CAT I SAW?"
print(len(sentence))
print(sentence.lower())
print(sentence[9:12])

Hasil:

19
was it a cat i saw?
CAT