Skip to main content
Pada materi ini, Anda akan mempelajari berbagai cara mentransformasi tipe data string. Ada banyak method/metode yang dapat membantu Anda mentransformasi tipe data string.

Mengubah Huruf Besar/Kecil

Dalam kategori ini terdapat beberapa metode yang dapat digunakan untuk mengubah string menjadi huruf kapital (UPPERCASE) atau huruf kecil (lowercase). Kedua metode ini, baik upper() maupun lower() adalah metode bawaan dari string Python. Perlu diingat bahwa jika terdapat karakter bukan huruf (seperti simbol atau angka) yang tidak memiliki opsi kapital sehingga karakter tersebut tidak diubah.

upper()

kata = 'dicoding'
kata = kata.upper()
print(kata)

"""
Output:
DICODING
"""
Pada kode di atas, Anda mengubah string “dicoding” menjadi uppercase dengan menggunakan method .upper(). Hasilnya, string tersebut berubah menjadi “DICODING”.

lower()

kata = 'DICODING'
kata = kata.lower()
print(kata)

"""
Output:
dicoding
"""
Pada kode di atas, Anda mengubah string “DICODING” menjadi lowercase dengan menggunakan method .lower(). Hasilnya, string tersebut berubah menjadi “dicoding”.

Awalan dan Akhiran

Kategori ini adalah metode dalam string yang biasanya dipergunakan untuk menghapus karakter whitespace pada suatu string. Namun, selain whitespace bisa juga diperuntukkan untuk menghilangkan kata yang tidak diinginkan.

rstrip()

Metode rstrip() menghapus whitespace pada sebelah kanan atau akhir string.
print("Dicoding          ".rstrip())

"""
Output:
Dicoding
"""
Pada kode di atas, Anda menghapus spasi yang berada di sebelah kanan setelah string “Dicoding” menggunakan metode “.rstrip()“.

lstrip()

Kebalikan dari rstrip(), lstrip() bertugas untuk menghapus whitespace pada sebelah kiri atau awal string.
print("           Dicoding".lstrip())

"""
Output:
Dicoding
"""
Pada kode di atas, Anda menghapus spasi yang berada di sebelah kiri sebelum string “Dicoding” menggunakan metode “.lstrip()“.

strip()

Metode ini bertugas untuk menghapus whitespace pada bagian awal dan akhir string.
print("         Dicoding          ".strip())

"""
Output:
Dicoding
"""
Pada kode di atas, Anda menghapus spasi yang berada di sebelah kiri dan kanan setelah string “Dicoding” menggunakan metode “strip()”. Jika ingin menghilangkan karakter selain whitespace, Anda bisa mengikuti contoh berikut.
kata = 'CodeCodeDicodingCodeCode'
print(kata.strip("Code"))

"""
Output:
Dicoding
"""
Anda dapat mengganti whitespace dengan kata atau hal lainnya. Caranya adalah memberikan nilai pada “.strip()”. Kode di atas menghapus kata “Code” pada variabel “kata”. Sekarang, bagaimana jika Anda ingin mencari kata alih-alih menghapusnya? Berikut caranya.

startswith()

Metode startswith() bertujuan untuk menemukan suatu kata pada awal string. Metode ini mengembalikan nilai True.
print('Dicoding Indonesia'.startswith('Dicoding'))

"""
Output:
True
"""
Pada kode di atas, Anda mencari string “Dicoding” pada string pertama “Dicoding Indonesia”. Operasi ini mengembalikan nilai True karena pada string “Dicoding Indonesia” memang diawali dengan string “Dicoding”.

endswith()

Metode endswith() bertujuan untuk menemukan suatu kata pada akhir string. Metode ini juga mengembalikan nilai True jika menemukannya, sedangkan jika tidak menemukan kata yang diinginkan, nilai False dikembalikan.
print('Dicoding Indonesia'.endswith('Dicoding'))

"""
Output:
False
"""
Pada kode di atas, Anda mencari string “Dicoding” pada string terakhir “Dicoding Indonesia”. Operasi ini mengembalikan nilai False karena pada string “Dicoding Indonesia” tidak diakhiri dengan string “Dicoding”, tetapi diakhiri dengan string “Indonesia”.

Memisah dan Menggabung String

Kategori selanjutnya adalah memisah dan menggabung string. Anda dapat menggunakan metode ini untuk tujuan tersebut dengan menggunakan dua metode berikut.

join()

print(' '.join(['Dicoding','Indonesia', '!']))

"""
Output:
Dicoding Indonesia !
"""
Pada kode di atas, Anda menggabungkan string “Dicoding”, “Indonesia”, dan ”!” yang telah disimpan pada variabel list. Perhatikan bahwa pada sintaks awal sebelum “.join()” Anda menambahkan single quotes di sana. Single quotes ini bermaksud agar Anda menentukan delimiter pada setiap kata/nilai yang ingin Anda gabungkan. Pada kode di atas, delimiter-nya adalah whitespace atau spasi. Anda juga bisa menambahkan delimiter lain, contohnya berikut.
print('123'.join(['Dicoding','Indonesia']))

"""
Output:
Dicoding123Indonesia
"""
Pada kode di atas, Anda memasukkan delimeter “123” sehingga output-nya adalah “Dicoding123Indonesia123”.

split()

Kebalikan dari metode sebelumnya, metode split() bertujuan untuk memisahkan kata/substring berdasarkan delimiter.
print('Dicoding Indonesia !'.split())

"""
Output:
['Dicoding','Indonesia','!']
"""
Pada kode di atas, Anda memisahkan string “Dicoding Indonesia !” menjadi “Dicoding”, “Indonesia”, dan ”!”. Perhatikan bahwa kedua string tersebut disimpan sebagai list. Anda juga bisa menggunakan delimiter newline** (\n)** untuk memisahkan setiap baris pada string multiline.
print('''Halo,
aku ikan,
aku suka sekali menyelam
aku tinggal di perairan.
Badanku licin dan renangku cepat.
Senang berkenalan denganmu.'''.split('\n'))

"""
Output:
['Halo,', 'aku ikan,', 'aku suka sekali menyelam', 'aku tinggal di perairan.', 'Badanku licin dan renangku cepat.', 'Senang berkenalan denganmu.']
"""
Pada kode di atas, Anda memisahkan kalimat panjang yang dibatas oleh newline lalu menyimpannya ke dalam sebuah list.

Mengganti Elemen String

Kategori selanjutnya merupakan metode yang bertujuan untuk mengganti elemen string di dalamnya dengan elemen string lainnya.

replace()

string = "Ayo belajar Coding di Dicoding"
print(string.replace("Coding", "Pemrograman"))

"""
Output:
Ayo belajar Pemrograman di Dicoding
"""
Perhatikan kode di atas, Anda mengubah kata “Coding” menjadi “Pemrograman”. Perlu diingat bahwa replace() bersifat case-sensitive. Contohnya, Anda dapat lihat dalam kode di atas bahwa kata “coding” pada “Dicoding” tidak ikut berubah. Hanya kata “Coding” saja yang diubah menjadi “Pemrograman”. Hal ini karena kata “coding” pada “Dicoding” berawalan huruf c kecil.

Pengecekan String

Kategori selanjutnya bertujuan untuk melakukan pengecekan pada string. Hasil dari kategori ini adalah mengembalikan nilai boolean True/False.

isupper()

isupper() akan mengembalikan nilai True jika semua huruf dalam string adalah huruf kapital (uppercase). Sebaliknya, jika ada satu huruf saja yang kecil/tidak uppercase, nilai False akan dikembalikan.
kata = 'DICODING'
print(kata.isupper())

"""
Output:
True
"""
Pada kode di atas, Anda memastikan variabel kata mengandung string UPPERCASE atau tidak. Jika iya, nilai “True” dikembalikan.

islower()

Kebalikannya, islower() akan mengembalikan nilai True jika semua huruf dalam string adalah huruf kecil (lowercase).
kata = 'dicoding'
print(kata.islower())

"""
Output:
True
"""
Pada kode di atas, Anda memastikan variabel kata mengandung string lowercase atau tidak. Jika iya, nilai “True” dikembalikan.

isalpha()

Metode ini mengembalikan nilai True jika semua karakter dalam string adalah huruf alfabet. Jika ada satu huruf lain yang bukan alfabet, seperti angka, nilai False akan dikembalikan.
kata = 'dicoding'
print(kata.isalpha())

"""
Output:
True
"""
Pada kode di atas, Anda mencari tahu variabel kata mengandung string alfabet tanpa adanya karakter selain huruf. Jika iya, nilai “True” dikembalikan.

isalnum()

Metode isalnum() mengembalikan nilai True jika karakter dalam string adalah alfanumerik, yaitu hanya huruf atau hanya angka atau berisi keduanya. Jika tidak, nilai False akan dikembalikan.
kata = 'dicoding123'
print(kata.isalnum())

"""
Output:
True
"""
Pada kode di atas, Anda memastikan variabel kata mengandung string alfabet dengan numerik atau tidak. Jika iya, nilai “True” akan dikembalikan.

isdecimal()

Metode isdecimal() akan mengembalikan nilai True jika karakter dalam string berisi hanya angka/numerik. Jika tidak, nilai False akan dikembalikan.
print('123'.isdecimal())

"""
Output:
True
"""
Pada kode di atas, Anda memastikan string Anda berisi angka/numerik. Jika iya, nilai “True” dikembalikan.

isspace()

Metode isspace() akan mengembalikan nilai True jika string hanya berisi whitespace, seperti spasi, tab, newline, atau karakter whitespace lainnya.
print('         '.isspace())

"""
Output:
True
"""
Pada kode di atas, Anda memastikan string Anda merupakan whitespace atau tidak. Jika iya, nilai “True” akan dikembalikan.

istitle()

Metode istitle() mengembalikan nilai True jika string berisi huruf kapital pada setiap kata pertamanya. Jika tidak, nilai False dikembalikan.
print('Dicoding Indonesia'.istitle())

"""
Output:
True
"""
Dalam kode di atas, Anda memastikan string Anda mengandung huruf kapital pada setiap kata pertamanya. Jika iya, nilai “True” akan dikembalikan.

Formatting pada String

Kategori terakhir yang akan kita bahas pada modul kali ini adalah formatting pada string. Dalam kategori ini terdapat beberapa metode, yaitu zfill(), rjust(), ljust(), center(), dll. Semua metode akan dijelaskan secara detail di bawah ini. Simak baik-baik, ya.

zfill()

Metode zfill() bertujuan untuk menambahkan nilai nol (0) di depan sebuah string dengan panjang tertentu. Tujuan dari metode ini adalah membantu untuk memastikan bahwa sebuah angka atau nilai memiliki panjang tetap, terutama ketika ingin menyimpan nilai dalam format yang konsisten. Simak kode berikut.
teks = 'Code'
tambah_number = teks.zfill(5)
print(tambah_number)

"""
Output:
0Code
"""
Kita bedah kode di atas lebih detail.
  1. Variabel teks menyimpan nilai string berupa “Code”. Perlu dipahami bahwa kata “Code” hanya memiliki 4 huruf atau sederhananya panjang kata “Code” adalah 4.
  2. Variabel tambah_number menyimpan nilai variabel teks dengan memanggil metode zfill(5). Angka 5 tersebut merupakan parameter untuk menentukan panjang yang diinginkan oleh string. Sederhananya, Anda memastikan bahwa panjang kata “Code” haruslah 5 dan bukan 4. Jadi, program akan menambahkan angka 0 di depan kata “Code” untuk memastikan bahwa panjangnya adalah 5.
Metode zfill() ini berguna ketika ingin memastikan bahwa angka atau nilai dalam string memiliki panjang tetap dan sesuai dengan format yang diinginkan. Metode zfill() dapat diterapkan untuk menetapkan nomor nota atau nomor antrian.

rjust()

Metode rjust() berguna untuk merapikan pencetakan teks. Dengan metode rjust() ini, Anda dapat membuat teks menjadi rata kanan sehingga tampilannya lebih rapi.
print('Dicoding'.rjust(20))

"""
Output:
            Dicoding

"""
Berdasarkan kode di atas, perhatikan bahwa secara default, rjust() akan menambahkan whitespace untuk membuat teks menjorok ke sebelah kanan. Angka 20 yang Anda masukkan bersifat sama seperti pada zfill(). Metode rjust() akan memastikan bahwa panjang teksnya adalah 20 termasuk dengan kata “Dicoding”. Anda bisa menambahkan teks lain, tidak hanya whitespace.
print('Dicoding'.rjust(20, '!'))

"""
Output:
!!!!!!!!!!!!Dicoding
"""
Pada kode di atas, Anda menambahkan karakter ”!” sebelum string “Dicoding”.

ljust()

Selanjutnya adalah metode ljust(), metode ini adalah kebalikan dari metode rjust() yang bertujuan untuk membuat teks menjadi rata kiri.
print('Dicoding'.ljust(20))

"""
Output:
Dicoding            '
"""
Pada kode di atas, Anda menambahkan karakter whitespace setelah string “Dicoding” sehingga teks tersebut menjadi rata kiri.

center()

Metode center() menjadikan teks rata tengah. Metode ini akan menambahkan whitespace di sebelah kiri dan kanan secara default. Anda juga bisa mengganti whitespace tersebut dengan karakter lain.
print('Dicoding'.center(10, '-'))

"""
Output:
-Dicoding-

"""
Pada kode di atas, Anda menambahkan karakter strip ”-” pada kiri kanan string “Dicoding” sehingga teks tersebut menjadi rata tengah. Sekali lagi, Anda harus ingat bahwa zfill(), rjust(), ljust(), dan center() berfungsi sama, yakni memastikan panjang teks sesuai dengan yang diminta.

String Literals

Umumnya, string ditulis dengan mudah di Python, diapit oleh tanda petik tunggal. Namun, dalam kondisi tertentu, dibutuhkan petik tunggal di tengah string (misalnya, struktur kepemilikan dalam bahasa Inggris—Dicoding’s Cat atau penyebutan Jum’at pada hari dalam bahasa Indonesia). Misalnya, kita menuliskannya sebagai berikut.
st1 = 'Jum'at'
Python akan salah mengira bahwa string berakhir setelah huruf m dan selebihnya merupakan kode yang invalid. Namun, Python memperbolehkan untuk menggunakan petik dua seperti Anda menggunakan petik tunggal. Dalam kasus sebelumnya, Anda cukup mengetik seperti berikut.
st1 = "Jum'at"
Dalam contoh di atas, Python mengenali bahwa petik tunggal adalah bagian tidak terpisahkan dari string tersebut. Bagaimana jika kita memerlukan kedua jenis petik dalam string tunggal? Python menyediakan escape character. Escape character memungkinkan Anda untuk menggunakan karakter yang sebelumnya tidak bisa dimasukkan dalam string. Umumnya diawali dengan backslash () dan diikuti karakter tertentu yang diinginkan. Contohnya, untuk petik tunggal Anda dapat menambahkan . Ini merupakan cara paling aman untuk melakukan penambahan atau penyuntingan dalam variabel. Contohnya berikut.
st1 = 'Jum\'at'
Python mengetahui bahwa pada Jum’at, sebelum petik terdapat backslash () yang menandakan petik tunggal sebagai bagian dari string dan bukan akhir dari string. Escape character ’ dan ” memungkinkan Anda untuk memasukkan karakter ’ dan ” dalam bagian string. Beberapa contoh escape character lainnya sebagai berikut.
  • ’ Single quote
  • ” Double quote
  • \t Tab
  • \n Newline (line break)
  • \ Backslash
print("Halo!\nKapan terakhir kali kita bertemu?\nKita bertemu hari Jum\'at yang lalu.")


"""
Output:
Halo!
Kapan terakhir kali kita bertemu?
Kita bertemu hari Jum'at yang lalu.
"""
Pada kode di atas, Anda menampilkan baris teks dalam satu baris kode menggunakan escape character “\n”. Jadi, ketika teks tersebut muncul pada layar akan menampilkan baris teks yang awalnya hanya satu baris menjadi tiga baris dan dipisahkan oleh line break.

Raw String

Python juga menyediakan cara untuk mencetak string sesuai dengan apa pun input atau teks yang diberikan. Metode ini dinamakan raw strings. Umumnya, ia digunakan untuk regex atau beberapa implementasi lain yang sangat bergantung pada keberadaan backslash. Untuk mengimplementasikan raw strings, sisipkan huruf r sebelum pembuka string.
print(r'Dicoding\tIndonesia')

"""
Output:
Dicoding\tIndonesia

"""
Pada kode di atas, Anda menampilkan raw string dari “Dicoding\tIndonesia”. Perhatikan bahwa escape character (\t) ikut tercetak pada teks tersebut. Hal ini karena raw string akan mencetak string sesuai dengan apa pun input atau teks yang diberikan.