Skip to main content

String Indexes & String Slicing

String dalam Python merupakan urutan karakter yang teratur. Setiap karakter di dalam string memiliki posisi yang disebut index.

Index digunakan untuk mengakses karakter tertentu, sedangkan slicing digunakan untuk mengambil sebagian karakter dari sebuah string.


1. String Indexing

Setiap karakter dalam string memiliki nomor index.

Hal penting yang perlu diingat adalah index Python dimulai dari 0, bukan dari 1.

Contohnya:

selfish = "01234567"

Posisi setiap karakter dapat digambarkan seperti berikut:

Karakter :  0 1 2 3 4 5 6 7
Index : 0 1 2 3 4 5 6 7

Karakter pertama berada pada index 0, sedangkan karakter terakhir berada pada index 7.


2. Mengakses Karakter dengan Index

Untuk mengambil karakter tertentu, kita dapat menggunakan tanda kurung siku:

selfish = "01234567"

print(selfish[0])

Hasil:

0

Untuk mengambil karakter pada index 7:

print(selfish[7])

Hasil:

7

Secara sederhana:

selfish[0]

index

3. Index Dimulai dari Nol

Kesalahan yang sering terjadi ketika pertama kali mempelajari indexing adalah menganggap karakter pertama berada pada index 1.

Dalam Python, karakter pertama selalu berada pada index 0.

Misalnya:

name = "Python"

Index-nya:

Karakter :  P  y  t  h  o  n
Index : 0 1 2 3 4 5

Maka:

print(name[0])

menghasilkan:

P

Sedangkan:

print(name[5])

menghasilkan:

n

4. String Slicing

Selain mengambil satu karakter, kita juga dapat mengambil sebagian karakter dari sebuah string.

Teknik ini disebut string slicing.

Sintaks dasarnya:

variable[start:stop:step]

Terdapat tiga bagian:

[start : stop : step]
│ │ │
│ │ └── Langkah
│ └───────── Batas akhir
└──────────────── Posisi awal

Ketiganya memiliki fungsi yang berbeda.


5. Parameter start

start menentukan index awal dari slicing.

Index start termasuk dalam hasil.

Contohnya:

selfish = "01234567"

print(selfish[0:2])

Hasil:

01

Prosesnya:

Index :    0 1 2 3 4 5 6 7
Karakter: 0 1 2 3 4 5 6 7
└─┴─┘

Slicing dimulai dari index 0.


6. Parameter stop

stop menentukan batas akhir slicing.

Hal penting yang harus diingat:

Index stop tidak termasuk dalam hasil.

Contohnya:

selfish = "01234567"

print(selfish[0:2])

Hasil:

01

Bukan:

012

Karena slicing berhenti sebelum index 2.

Secara sederhana:

start → termasuk
stop → tidak termasuk

7. Parameter step

step menentukan berapa banyak index yang dilewati ketika mengambil karakter.

Contohnya:

selfish = "01234567"

print(selfish[0:8:2])

Hasil:

0246

Python mengambil karakter dengan langkah 2:

0 → 2 → 4 → 6

Penjelasan:

  • start (0): Dimulai dari index 0 (yaitu karakter '0').
  • stop (8): Berhenti sebelum index 8 (berarti mengambil hingga karakter terakhir, yaitu index 7).
  • step (2): Mengambil karakter dengan melangkah sebanyak 2 index setiap kali pengambilan.

Proses Pengambilan Karakter:

  • Langkah 1: Ambil index 0 ➡️ '0'
  • Langkah 2: Melangkah 2 kali ke index 2 ➡️ '2'
  • Langkah 3: Melangkah 2 kali ke index 4 ➡️ '4'
  • Langkah 4: Melangkah 2 kali ke index 6 ➡️ '6'
  • Hasil akhirnya digabungkan menjadi string "0246".

8. Slicing Tanpa step

Jika step tidak ditulis, Python menggunakan nilai default:

step = 1

Contohnya:

selfish = "01234567"

print(selfish[0:5])

Secara konsep sama dengan:

print(selfish[0:5:1])

Keduanya menghasilkan:

01234

9. Mengambil String Sampai Akhir

Kita dapat menghilangkan stop jika ingin mengambil karakter dari start sampai akhir string.

Contohnya:

selfish = "01234567"

print(selfish[1:])

Hasil:

1234567

Artinya:

Mulai dari index 1

Ambil sampai akhir

10. Mengambil String dari Awal

Kita juga dapat menghilangkan start jika ingin mengambil string dari awal.

Contohnya:

selfish = "01234567"

print(selfish[:5])

Hasil:

01234

Secara konsep:

selfish[0:5]

sama dengan:

selfish[:5]

Karena ketika start tidak ditentukan, Python menggunakan awal string.


11. Mengambil Seluruh String

Kita dapat menggunakan:

selfish[:]

untuk mengambil seluruh string.

Contohnya:

selfish = "01234567"

print(selfish[:])

Hasil:

01234567

Kita juga dapat menuliskan:

selfish[::1]

Hasilnya sama:

01234567

12. Ringkasan Slicing Dasar

Dengan:

selfish = "01234567"

beberapa contoh slicing:

ExpressionHasilKeterangan
selfish[0:2]"01"Index 0 sampai sebelum 2
selfish[0:8:2]"0246"Mengambil setiap 2 langkah
selfish[1:]"1234567"Dari index 1 sampai akhir
selfish[:5]"01234"Dari awal sampai sebelum 5
selfish[:]"01234567"Mengambil seluruh string
selfish[::1]"01234567"Seluruh string dengan step 1

13. Negative Indexing

Python juga mendukung negative indexing.

Negative indexing memungkinkan kita mengakses karakter mulai dari bagian belakang string.

Contohnya:

selfish = "01234567"

Index positif:

Karakter :  0 1 2 3 4 5 6 7
Index : 0 1 2 3 4 5 6 7

Index negatif:

Karakter :  0  1  2  3  4  5  6  7
Index : -8 -7 -6 -5 -4 -3 -2 -1

Dengan demikian:

-1 → karakter terakhir
-2 → karakter kedua dari belakang
-3 → karakter ketiga dari belakang

14. Mengakses dengan Negative Index

Contohnya:

selfish = "01234567"

print(selfish[-1])

Hasil:

7

Karena -1 menunjuk karakter terakhir.

Contoh:

print(selfish[-2])

Hasil:

6

Jadi:

selfish[-1] → "7"
selfish[-2] → "6"
selfish[-3] → "5"

15. Reverse String

Negative indexing juga dapat digunakan bersama slicing.

Salah satu teknik yang sangat populer di Python untuk membalikkan string adalah:

[::-1]

Contohnya:

selfish = "01234567"

print(selfish[::-1])

Hasil:

76543210

Mari kita lihat:

selfish[::-1]

Bagian-bagiannya:

start : stop : step
↓ ↓ ↓
kosong kosong -1

Karena step bernilai -1, Python membaca string dari belakang ke depan.


16. Memahami [::-1]

Expression:

selfish[::-1]

dapat dipahami sebagai:

Mulai dari akhir

Bergerak mundur

Ambil setiap karakter

Sampai awal string

Contohnya:

01234567

76543210

Teknik ini sering digunakan untuk membalikkan string.


17. Contoh dengan String Biasa

Indexing dan slicing tidak hanya berlaku untuk angka sebagai karakter.

Contohnya:

language = "Python"

Index:

Karakter :  P  y  t  h  o  n
Index : 0 1 2 3 4 5

Mengambil karakter:

print(language[0])

Hasil:

P

Mengambil beberapa karakter:

print(language[0:3])

Hasil:

Pyt

Membalikkan string:

print(language[::-1])

Hasil:

nohtyP

18. String Tidak Berubah Saat Di-slicing

Slicing menghasilkan string baru dan tidak mengubah string asli.

Contohnya:

language = "Python"

result = language[0:3]

print(result)
print(language)

Hasil:

Pyt
Python

Variable language tetap memiliki nilai:

Python

Sementara hasil slicing disimpan dalam variable result.


19. Kesalahan Index

Jika kita mencoba mengakses index yang berada di luar jangkauan string menggunakan indexing langsung, Python akan menghasilkan error.

Contohnya:

language = "Python"

print(language[10])

Karena string hanya memiliki index 0 sampai 5, Python akan menghasilkan:

IndexError

Karena itu, penting untuk memperhatikan panjang string dan index yang digunakan.


20. Cara Mudah Mengingat Slicing

Sintaks:

string[start:stop:step]

dapat diingat sebagai:

start

Mulai dari mana?

stop

Berhenti sebelum mana?

step

Melangkah berapa?

Contohnya:

text[1:7:2]

berarti:

Mulai index 1

Berhenti sebelum index 7

Ambil setiap 2 langkah

Kesimpulan

String indexing digunakan untuk mengakses karakter tertentu dalam string, sedangkan string slicing digunakan untuk mengambil sebagian karakter dari string.

Index Python dimulai dari 0.

P y t h o n
0 1 2 3 4 5

Untuk indexing:

text[0]

Untuk slicing:

text[start:stop:step]

Hal penting yang perlu diingat:

  • Index dimulai dari 0.
  • start termasuk dalam hasil.
  • stop tidak termasuk dalam hasil.
  • step menentukan jarak pengambilan karakter.
  • Index negatif dihitung dari belakang.
  • -1 adalah karakter terakhir.
  • [::-1] dapat digunakan untuk membalikkan string.

Contoh paling penting:

text = "Python"

print(text[0])
print(text[1:4])
print(text[-1])
print(text[::-1])

Hasil:

P
yth
n
nohtyP
info

Indexing digunakan untuk mengambil karakter tertentu, sedangkan slicing digunakan untuk mengambil bagian tertentu dari sebuah string.