String adalah urutan dari beberapa karakter yang berbentuk syntax. Sama seperti beberapa bahasa pemrograman popular lainnya, string diapit tanda kutip tunggal atau tanda kutip ganda hanya saja pada python tidak mendukung karakter ;
seperti Bahasa C dan turunan lainnya. Umumnya membuat string pada python kita menyimpannya kedalam Variabel, List, Tuple dan lainnya. Untuk lebih memahaminya perhatikan contoh berikut:
>>> variabel1 = 'halo, apa kabar?'
>>> print(variabel1)
halo, apa kabar?
>>> variabel2 = "sekarang tanggal 27"
>>> print(variabel2)
sekarang tanggal 27
Seperti kita lihat pada contoh diatas string pada variabel1 diapit dengan tanda kutip tunggal dan didalam tanda kutip tunggal ada huruf, koma, spasi dan tanda tanya.
Pada variabel2 string diapit tanda kutip ganda dan didalam tanda kutip ganda terdapat huruf, spasi dan angka. Angka seperti kita ketahui adalah sebuah bilangan dengan tipe data integer, akan tetapi karena angka didalam tanda kutip maka python akan menyatakan sebagai string.
Index pada String
Karena string adalah urutan/kumpulan karakter, maka string dapat di index untuk dapat diambil nilainya sesuai yang kita butuhkan.
Perhatikan contoh dibawah ini:
>>> #menghitung panjang karakter
... var1 = "halo"
>>> print(len(var1))
4
>>> var2 = "ha lo"
>>> print(len(var2))
9
Contoh diatas pada var1 kita menghitung panjang dari suatu string dengan fungsi builtin python yaitu len()
, pada var2 saya menambahkan spasi diantara huruf a dan l itu menunjukkan bahwa spasi dihitung sebagai string/karakter.
Setelah kita mengetahui panjang karakter maka kita dapat memulai index, sebenarnya tidak harus dengan fungsi len()
untuk dapat mengindex string akan tetapi saya hanya ingin menunjukkan jumlah karakter agar tidak bingung pada saat kita mengindex string.
Index selalu dimulai dari 0 bukan 1 dan diapit tanda
[]
Perhatikan contoh berikut:
>>> var1 = "halo"
>>> print(var1[0])
h
>>> print(var1[1])
a
>>> print(var1[3])
o
>>> print(var1[4])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: string index out of range
>>>
Lihat kode terakhir diatas error disebabkan karena index 4 tidak ada, index terakhir adalah 3. Jika kita mau mengambil index terakhir cukup mudah pada contoh diatas var1 yaitu print(var1[3]), tapi bagaimana jika karakter banyak dan memiliki spasi hingga Unicode? Contoh stringnya adalah
Lorem ipsum dolor sit amet, consectetur adipiscing elit
Bagaimana jika saya ingin mengambil huruf t pada akhir kalimat? kita bisa saja menghitung manual index dari awal hingga terakhir, akan tetapi sangat merepotkan, kita dapat menggunakan index -1 untuk mengambil huruf t pada akhir kalimat.
>>> var2 = "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
>>> print(var2[-1])
t
Slicing pada String
Setelah kita mengetahui cara index string maka kita bisa melakukan slicing atau memotongnya, pada Contoh diatas kita hanya mengambil satu huruf dengan slicing kita dapat mengambil beberapa huruf (substring).
Mengakses substring gunakan kurung siku untuk slicing bersama dengan index
[index:akhir]
, index akhir tidak termasuk sehingga index terakhir dikurangi satu.
>>> var2 = "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
>>> print(var2[-1])
t
>>> print(var2[0:4])
Lore
>>> print(var2[6:14])
ipsum do
>>> print(var2[6:])
ipsum dolor sit amet, consectetur adipiscing elit
>>> print(var2[:18])
Lorem ipsum dolor
Step Slicing
Slicing ini juga mendukung lompatan urutan (step) jadi kita dapat mengeluarkan output seperti lrm. Lihat contoh dibawah ini:
>>> var2 = "Lorem ipsum dolor sit amet, consectetur adipiscing elit
>>> print(var2[0:50:2])
Lrmismdlrstae,cnettraiicn
>>> print(var2[0:50:3])
Leiudos e nct isn
>>> print(var2[::2])
Lrmismdlrstae,cnettraiicn lt
>>> print(var2[::3])
Leiudos e nct isnet
>>> print(var2[::5])
L mottneas
Menggabungkan String
String juga dapat digabungkan dengan + , Contoh :
>>> print("hai"+"albardani")
haialbardani
>>> print("hai "+"albardani") #menyisipkan spasi
hai albardani
>>> var1 = "belajar"
>>> var2 = "python"
>>> print(var1+var2)
belajarpython
>>> print(var1+" "+var2) #menyisipkan spasi belajar python
Format String
Memformat string sangat kita butuhkan, misalkan kita menulis sebuah kalimat dan menyisipkan string yang tersimpan pada variabel di awal, tengah atau akhir kita bisa menggunakan format string. Ada dua format string pada python yang akan saya jelaskan, sebenarnya ada python mendukung formatting gaya Bahasa C (C-Style) seperti %s
.
>>> nama = "albardani"
>>> peliharaan = "kucing"
>>> print("Si nama mempunyai seekor peliharaan")
Si nama mempunyai seekor peliharaan
>>> print("Si {} mempunyai seekor {}".format(nama,peliharaan))
Si albardani mempunyai seekor kucing
f String Literal Python
F string sama pada Contoh sebelumya tetapi penulisannya lebih ringkas. Perlu diingat f string hanya dapat berjalan pada python 3.6 keatas.
>>> nama = "albardani"
>>> peliharaan = "kucing"
>>> print(f"Si {nama} mempunyai seekor {peliharaan}")
Si albardani mempunyai seekor kucing
Jika kita lupa menulis f
sebelum tanda kutip tidak akan menyebabkan error akan tetapi python akan memproses seperti string biasa, Dengan adanya f maka python akan mengerti bahawa yang didalam tanda kurung kurawal adalah sebuah variabel.
Seperti kita lihat f string lebih mudah penulisan dan lebih mudah dibaca, pastikan anda melihat versi python anda untuk menggunakan f string, saya sendiri lebih sering menggunakan f string
dibandingkan format string pertama. Jika versi python anda 3.6 kebawah maka gunakan format string pertama