Mempelajari Cara Mengubah Angka, Karakter, dan String di Python Melalui Transformasi

Transformasi Angka

Menambahkan awalan 0 pada angka

Untuk menambahkan awalan 0 pada nomor nota atau nomor antrian, kamu dapat menggunakan fungsi zfill(). Ingat bahwa angka harus dikonversi ke string terlebih dahulu sebelum menggunakan fungsi ini.

x=1

type(x)

Sebagai contoh, jika kamu ingin menambahkan awalan 0 pada angka 1, kamu dapat menggunakan zfill seperti ini: str(x).zfill(5) yang akan menghasilkan "00001". 

str(x).zfill(5)

Hasil :

00001

Transformasi Karakter dan String

Metode upper() dan lower() dari String (dan karakter)

Metode upper() dan lower() adalah cara untuk mengubah semua karakter dalam sebuah string menjadi huruf kapital (upper) atau huruf kecil (lower) secara langsung. Jika string tersebut berisi karakter yang bukan huruf, maka karakter tersebut tidak akan diubah. Sebagai contoh, jika kamu memiliki string "HeLLo WoRLD!", kamu dapat menggunakan metode upper() untuk mengubah semua karakter menjadi huruf kapital, seperti ini: "HeLLo WoRLD!".upper() yang akan menghasilkan "HELLO WORLD!". Sebaliknya, jika kamu ingin mengubah semua karakter menjadi huruf kecil, kamu dapat menggunakan metode lower() seperti ini: "HeLLo WoRLD!".lower() yang akan menghasilkan "hello world!".

Contoh :

p = 'Hello world!'

p = p.upper()

p

Hasil :

‘HELLO WORLD!’
p = p.lower()

p

Hasil :

‘hello world!’

Berbeda dengan fungsi sort(), yang langsung mengubah isi variabel yang digunakan, metode upper() dan lower() akan mengembalikan string baru yang telah diubah sesuai dengan yang diinginkan. Jadi, kamu harus menampung hasil pemanggilan metode tersebut ke dalam variabel baru agar bisa menyimpan hasilnya.

Metode upper() dan lower() biasanya digunakan untuk membuat perbandingan yang tidak memperhatikan apakah huruf dalam string tersebut adalah huruf kapital atau huruf kecil. Jadi, jika kamu memiliki string "Codein", "CODEin", atau "CODEIN" dan ingin memastikan bahwa karakter dalam string tersebut sama, kamu dapat menggunakan upper() atau lower() sebelum membandingkannya.

Cobalah menjalankan kode berikut :

feeling = input('How are you?')

if feeling.lower() == 'great':

    print('I feel great too.')

else:

    print('I hope the rest of your day is good.')

isupper() dan islower()

Metode isupper() dan islower() akan mengembalikan nilai boolean yang menunjukkan apakah seluruh karakter dalam sebuah string adalah huruf kapital atau huruf kecil. Jika semua karakter dalam string tersebut adalah huruf kapital atau huruf kecil, maka metode tersebut akan mengembalikan nilai True. Sebaliknya, jika ada setidaknya satu karakter yang bukan huruf kapital atau huruf kecil, maka metode tersebut akan mengembalikan nilai False.

Contoh :

p = 'Hello world!'

p.islower()

Hasil :

False
p.isupper()

Hasil :

False
'HELLO'.isupper()

Hasil :

True
'abc12345'.islower()

Hasil :

True
'12345'.islower()

Hasil :

False
'12345'.isupper()

Hasil :

False

Karena metode upper() dan lower() mengembalikan string baru yang telah diubah sesuai dengan yang diinginkan, kamu dapat menggunakan hasil pemanggilan metode tersebut sebagai input untuk metode lain. Ini disebut "chain of method" atau "method chaining".

Contoh : 

print('Hello'.upper())

print('Hello'.upper().lower())

print('Hello'.upper().lower().upper())

print('HELLO'.lower())

print('HELLO'.lower().islower())

Hasil :

‘HELLO’
‘hello’
‘HELLO’
‘hello’
True

Metode isX dari String untuk Pengecekan

Selain metode islower() dan isupper(), ada beberapa metode lain yang dapat digunakan untuk memeriksa isi dari sebuah string. Semua metode tersebut mengembalikan nilai boolean yang menunjukkan apakah kondisi yang diuji terpenuhi atau tidak. Berikut adalah beberapa metodenya :

  • isalpha() akan mengembalikan nilai True jika string yang diinput hanya terdiri dari huruf dan tidak kosong, sedangkan jika string tersebut terdiri dari karakter selain huruf atau kosong, maka akan mengembalikan nilai False.
  • isalnum() akan mengembalikan nilai True jika string yang diinput hanya terdiri dari huruf atau angka dan tidak kosong, sedangkan jika string tersebut terdiri dari karakter selain huruf atau angka atau kosong, maka akan mengembalikan nilai False.
  • isdecimal() akan mengembalikan nilai True jika string yang diinput hanya terdiri dari angka/numerik dan tidak kosong, sedangkan jika string tersebut terdiri dari karakter selain angka/numerik atau kosong, maka akan mengembalikan nilai False.
  • isspace() akan mengembalikan nilai True jika string yang diinput hanya terdiri dari spasi, tab, newline, atau whitespaces lainnya dan tidak kosong, sedangkan jika string tersebut terdiri dari karakter selain spasi, tab, newline, atau whitespaces lainnya atau kosong, maka akan mengembalikan nilai False.
  • istitle() akan mengembalikan nilai True jika string yang diinput terdiri dari kata-kata yang diawali dengan huruf kapital dan dilanjutkan dengan huruf kecil seterusnya, sedangkan jika string tersebut tidak memenuhi kriteria tersebut atau kosong, maka akan mengembalikan nilai False.

Contoh :

'hello'.isalpha()

Hasil :

True
'hello123'.isalpha()

Hasil :

False
'hello123'.isalnum()

Hasil :

True
'hello'.isalnum()

Hasil :

True
'123'.isdecimal()

Hasil :

True
'    '.isspace()

Hasil :

True
'This Is Title Case'.istitle()

Hasil :

True
'This Is Title Case 123'.istitle()

Hasil :

True
'This Is not Title Case'.istitle()

Hasil :

False
'This Is NOT Title Case Either'.istitle()

Hasil :

False

Metode isX dapat digunakan untuk memvalidasi input yang diberikan oleh pengguna. Sebagai contoh, kamu dapat membuka file baru di notepad atau IDE dan menyimpannya dengan nama validateInput.py. Kemudian, kamu dapat mencoba menggunakan metode isX untuk memvalidasi input pengguna.

while True:

    print('Enter your age:')

    age = input()

    if age.isdecimal():

        break

    print('Please enter a number for your age.')

while True:

    print('Select a new password (letters and numbers only):')

    password = input()

    if password.isalnum():

        break

    print('Passwords can only have letters and numbers.')

Pertama, program akan meminta usia pengguna melalui perulangan while. Jika usia yang dimasukkan pengguna valid, maka program akan melanjutkan ke perulangan while kedua yang akan meminta password dengan spesifikasi alphanumeric. Jika program dijalankan, maka akan terlihat seperti yang tercantum di bawah ini :

Hasil :

Enter your age:
forty two
Please enter a number for your age.
Enter your age:
42
Select a new password (letters and numbers only):
secr3t!
Passwords can only have letters and numbers.
Select a new password (letters and numbers only):
Secr3t

Kamu dapat menggunakan metode isdecimal() dan isalnum() untuk mempercepat proses validasi input pengguna tanpa perlu menuliskan kode yang terlalu panjang.

Metode startswith() dan endswith() dari String

Fungsi startswith() dan endswith() akan mengembalikan nilai True jika string yang diinput memiliki awalan atau akhiran sesuai dengan yang ditentukan. Sebagai contoh, dapat dilihat pada kode di bawah ini :

'Hello world!'.startswith('Hello')

Hasil :

True
'Hello world!'.endswith('world!')

Hasil :

True
'abc123'.startswith('abcdef')

Hasil :

False
'abc123'.endswith('12')

Hasil :

False
'Hello world!'.startswith('Hello world!')

Hasil :

True
'Hello world!'.endswith('Hello world!')

Hasil :

True

Fungsi startswith() dan endswith() dapat memberikan kemudahan jika kamu hanya perlu membandingkan awal atau akhir dari suatu string, tanpa perlu melakukan pemecahan string dan menggunakan operator perbandingan sama dengan (==). Hal ini akan sangat efisien terutama jika kamu perlu melakukan perbandingan tersebut secara berkala.

Metode join() dan split() dari String

Fungsi join() dapat digunakan untuk menggabungkan beberapa string menjadi satu. Sebagai contoh, dapat dilihat pada kode di bawah ini :

', '.join(['cats', 'rats', 'bats'])

Hasil :

‘cats, rats, bats’
' '.join(['My', 'name', 'is', 'Simon'])

Hasil :

‘My name is Simon’
'ABC'.join(['My', 'name', 'is', 'Simon'])

Hasil :

‘MyABCnameABCisABCSimon’

Perlu diingat bahwa string yang diolah dengan fungsi join() akan disisipkan di antara setiap parameter atau argument yang diberikan. Sebagai contoh, pada kalimat 'cats, rats, bats', koma akan disisipkan di antara setiap kata. Sebaliknya, metode split() digunakan untuk memisahkan substring berdasarkan delimiter tertentu (defaultnya adalah whitespace, yaitu spasi, tab, atau newline) :

'My name is Simon'.split()

Hasil :

[‘My’, ‘name’, ‘is’, ‘Simon’]

Kamu dapat mengganti delimiter yang digunakan dalam metode split() seperti yang tercantum di bawah ini :

'MyABCnameABCisABCSimon'.split('ABC')

Hasil :

[‘My’, ‘name’, ‘is’, ‘Simon’]
'My name is Simon'.split('m')

Hasil :

[‘My na’, ‘e is Si’, ‘on’]

Salah satu cara paling umum menggunakan metode split() adalah untuk memisahkan setiap baris pada string yang terdiri dari beberapa baris (multiline string) :

a = '''Dear Alice,

How have you been? I am fine.

There is a container in the fridge

that is labeled "Milk Experiment".

Please do not drink it.

Sincerely,

Bob'''

a.split('\n')

Hasil :

[‘Dear Alice,’,
‘How have you been? I am fine.’,
‘There is a container in the fridge’,
‘that is labeled “Milk Experiment”.’, ”,
‘Please do not drink it.’,
‘Sincerely,’,
‘Bob’]

Teks rata kanan/kiri/tengah dengan rjust(), ljust(), dan center()

Kamu dapat mengatur pencetakan teks di layar dengan menggunakan metode rjust(), ljust(), atau center(). Kedua metode tersebut akan menambahkan spasi pada string untuk mengatur posisinya (misalnya rata kiri atau rata kanan). Argumen yang diberikan ke metode tersebut adalah integer yang menunjukkan panjang teks secara keseluruhan (bukan jumlah spasi yang ditambahkan). Sebagai contoh :

'Hello'.rjust(10)

Hasil :

‘     Hello’
'Hello'.rjust(20)

Hasil :

‘               Hello’
'Hello World'.rjust(20)

Hasil :

‘         Hello World’
'Hello'.ljust(10)

Hasil :

‘Hello     ‘

Contohnya: jika kita menuliskan 'Hello'.rjust(10), artinya kita ingin mencetak string 'Hello' dengan mode rata kanan dan total panjang string sebanyak 10 karakter. Karena panjang string 'Hello' adalah 5 karakter, maka 5 spasi akan ditambahkan di sebelah kiri string tersebut. Selain spasi, kamu juga dapat menambahkan karakter lain dengan mengisikan parameter kedua pada metode rjust() atau ljust(). Sebagai contoh :

'Hello'.rjust(20, '*')

Hasil :

‘***************Hello’
'Hello'.ljust(20, '-')

Hasil :

‘Hello—————‘

Metode center() akan mencetak string yang diinput pada posisi tengah layar. Sebagai contoh :

'Hello'.center(20)

Hasil :

‘       Hello       ‘
'Hello'.center(20, '=')

Hasil :

‘=======Hello========’

Jika kamu sedang membuat aplikasi yang berjalan di command line interface (CLI), maka fungsi-fungsi seperti rjust(), ljust(), dan center() akan sangat bermanfaat saat membuat tabel atau tabulasi di layar.

Hapus Whitespace dengan strip(), rstrip(), dan lstrip()

Ketika kamu menerima string sebagai parameter, seringkali terdapat karakter whitespace (spasi, tab, dan newline) pada bagian awal atau akhir string yang dimaksud. Metode strip() dapat digunakan untuk menghapus whitespace pada bagian awal atau akhir string. Sedangkan metode lstrip() dan rstrip() hanya akan menghapus whitespace pada bagian awal atau akhir saja, sesuai dengan namanya.

spam = '    Hello World     '

spam.strip()

Hasil :

‘Hello World’
spam.lstrip()

Hasil :

‘Hello World ‘
spam.rstrip()

Hasil :

‘    Hello World’

Selain whitespace, kamu juga dapat menentukan karakter atau bagian lain yang ingin dihilangkan dari suatu string dengan menggunakan metode strip(). Sebagai contoh :

spam = 'SpamSpamBaconSpamEggsSpamSpam'

spam.strip('ampS')

Hasil :

‘BaconSpamEggs’

Ketika mengirimkan 'ampS' sebagai argumen pada metode strip(), maka Python akan menghapus setiap huruf a, m, p, dan S kapital dari string yang dioperasikan. Urutan karakter pada parameter ini tidak mempengaruhi hasil yang dihasilkan, sehingga strip('ampS') sama dengan strip('mapS') atau strip('Spam').

Mengganti string/substring dengan replace()

Metode replace() merupakan sebuah fungsi yang akan mengembalikan string baru dimana substring tertentu telah ditukar dengan parameter yang diberikan. Sebagai contoh :

string = "geeks for geeks geeks geeks geeks"

print(string.replace("geeks", "Geeks"))

Hasil :

Geeks for Geeks Geeks Geeks Geeks

Parameter ketiga pada metode replace() dapat digunakan untuk menentukan jumlah substring yang ingin diganti. Jika tidak diisi, maka semua substring yang ditemukan akan diganti. Sebagai contoh :

string = "geeks for geeks geeks geeks geeks"

print(string.replace("geeks", "GeeksforGeeks", 3))

Hasil :

GeeksforGeeks for GeeksforGeeks GeeksforGeeks geeks geeks

Demikianlah penjelasan mengenai cara mengubah angka, karakter, dan string di Python melalui transformasi. Semoga dapat membantu kamu dalam memahami dan mengaplikasikan teknik-teknik tersebut dalam pemrograman Python. Terima kasih sudah membaca artikel ini.

Next Post Previous Post
No Comment
Add Comment
comment url