Transformasi Angka, Karakter, dan String


Transformasi Angka, Karakter, dan String

Pada materi ini, Anda akan mempelajari berbagai cara mentransformasi tipe data string. Ada banyak metode/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 ( huruf kecil ). 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 mengalami perubahan.

atas()

Pada kode di atas, Anda mengubah string "dicoding" menjadi huruf besar dengan menggunakan metode .upper(). Hasilnya, string tersebut berubah menjadi "DICODING".   


lebih rendah()

Pada kode di atas, Anda mengubah string "DICODING" menjadi huruf kecil dengan menggunakan metode .lower(). Hasilnya, string tersebut berubah menjadi "dicoding".   


Awalan dan Akhiran

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

rstrip()

Metode rstrip() menghapus spasi di sebelah kanan atau akhir string.  

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 spasi di sebelah kiri atau awal string.   

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


mengupas()

Metode ini bertugas untuk menghapus spasi  pada bagian awal dan akhir string. 

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 spasi , Anda bisa mengikuti contoh berikut. 

Anda dapat mengganti spasi  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.


dimulai dengan()

Metode startwith() bertujuan untuk menemukan suatu kata pada awal string. Metode ini mengembalikan nilai 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".


diakhiri dengan()

Metode endwith() bertujuan untuk menemukan suatu kata pada akhir string. Metode ini juga mengembalikan nilai True  jika dipasang, sedangkan jika tidak menemukan kata yang diinginkan, nilai False dikembalikan. 

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.

bergabung()

Pada kode di atas, Anda menggabungkan string "Dicoding", "Indonesia", dan "!" yang telah disimpan pada daftar variabel . Perhatikan bahwa pada sintaks awal sebelum ".join()" Anda menambahkan tanda kutip tunggal di sana. Tanda kutip tunggal ini bertujuan agar Anda menentukan pembatas pada setiap kata/nilai yang ingin Anda gabungkan. Pada kode di atas, pembatas -nya adalah spasi  atau spasi.       

Anda juga bisa menambahkan pembatas lain, contohnya berikut.

Pada kode di atas, Anda memasukkan delimeter "123" sehingga output-nya adalah "Dicoding123Indonesia".

membelah()

Kebalikan dari metode sebelumnya, metode split() bertujuan untuk memisahkan kata/substring berdasarkan delimiter.

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.  

Pada kode di atas, Anda memisahkan kalimat panjang yang dibatasi 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.

mengganti()

Perhatikan kode di atas, Anda mengubah kata "Coding" menjadi "Pemrograman". Perlu diingat bahwa replace() bersifat case-sensitive. Contohnya, Anda dapat melihat 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 (huruf besar). Sebaliknya, jika ada satu huruf saja yang kecil/tidak huruf besar, nilai False akan dikembalikan.

Pada kode di atas, Anda memastikan variabel kata mengandung string UPPERCASE atau tidak. Jika ya, nilai "True" dikembalikan.


islower()

Kebalikannya, islower() akan mengembalikan nilai True jika semua huruf dalam string adalah huruf kecil (huruf kecil). 

Pada kode di atas, Anda memastikan variabel kata mengandung string huruf kecil atau tidak. Jika ya, 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.

Pada kode di atas, Anda mencari tahu variabel kata mengandung string alfabet tanpa adanya karakter selain huruf. Jika ya, 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.

Pada kode di atas, Anda memastikan variabel kata mengandung string alfabet dengan numerik atau tidak. Jika ya, nilai "True" akan dikembalikan.


isdecimal()

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

Pada kode di atas, Anda memastikan string Anda berisi angka/numerik. Jika ya, nilai "True" dikembalikan.


isspace()

Metode isspace() akan mengembalikan nilai True jika string hanya berisi spasi, seperti spasi, tab, baris baru, atau karakter spasi lainnya.  

Pada kode di atas, Anda memastikan string Anda merupakan spasi atau tidak. Jika ya, nilai "True" akan dikembalikan.  


judul()

Metode istitle() mengembalikan nilai True jika string berisi huruf kapital pada setiap kata pertama. Jika tidak, nilai False dikembalikan.

Dalam kode di atas, Anda memastikan string Anda mengandung huruf kapital pada setiap kata pertamanya. Jika ya, nilai "True" akan dikembalikan.


Pemformatan 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 saja 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 suatu angka atau nilai memiliki panjang tetap, terutama ketika ingin menyimpan nilai dalam format yang konsisten.

Simak kode berikut.

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 mengatur nomor nota atau nomor antrian.


rjust()

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

Berdasarkan kode di atas, perhatikan bahwa secara default, rjust() akan menambahkan spasi 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 spasi . 

Pada kode di atas, Anda menambahkan karakter "!" sebelum string "Dikodekan".


ljust()

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

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


tengah()

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

Pada kode di atas, Anda menambahkan karakter strip "-" pada string kiri kanan "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.


Literal String

Umumnya, string ditulis dengan mudah di Python, diapit oleh tanda petik tunggal. Namun, dalam kondisi tertentu, diperlukan 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.

  1. st1 = 'Lompat' di '

Python akan salah mengira bahwa string berakhir setelah huruf m dan selebihnya merupakan kode yang tidak valid. Namun, Python memperbolehkan untuk menggunakan petik dua seperti Anda menggunakan petik tunggal. Dalam kasus sebelumnya, Anda cukup mengetik seperti berikut.

  1. st1 = "Jum'at"

Dalam contoh di atas, Python mengenali bahwa peti tunggal adalah bagian yang tidak dapat dipisahkan dari string tersebut. Bagaimana jika kita memerlukan kedua jenis petik dalam string tunggal? Python menyediakan karakter pelarian . 

Karakter escape  memungkinkan Anda untuk menggunakan karakter yang sebelumnya tidak bisa dimasukkan ke 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.

  1. st1 = 'Lompat di'

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.       

  • Tanda kutip tunggal
  • \" Tanda kutip ganda
  • Tab
  • \n Baris baru ( pemisah baris )
  • Garis miring terbalik

Pada kode di atas, Anda menampilkan baris teks dalam satu baris kode menggunakan karakter escape "\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 .   


String Mentah

Python juga menyediakan cara untuk mencetak string sesuai dengan input kata atau teks yang diberikan. Metode ini dinamakan raw string . Umumnya, ia digunakan untuk regex atau beberapa implementasi lain yang sangat bergantung pada keberadaan backslash. Untuk mengimplementasikan string mentah, sisipkan huruf r sebelum pembuka string. 

Pada kode di atas, Anda menampilkan string mentah 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. 

Operasi pada List, Set, dan String

Dalam modul ini, Anda akan belajar mengenai contoh-contoh operasi pada list , set ,dan string. Banyak fungsi dalam Python yang dapat digunakan untuk melakukan operasi pada list , set , dan string.     


panjang()

Fungsi len() bertujuan untuk menghitung panjang atau banyaknya elemen dari list , set , dan string. Khusus pada string, program akan menghitung jumlah karakternya.  

Dalam kode di atas, Anda menampilkan panjang dari anggota yang berada pada daftar . Anda bisa memperhatikan lebih detail setiap anggota list memang berjumlah 9 atau tidak.   

Pada kode di atas, Anda mengubah list menjadi set terlebih dahulu. Hal ini menyebabkan anggota list berubah menjadi anggota set yang tidak memiliki duplikat. Setelah itu, Anda mencetak jumlah anggota dari set. Hasilnya adalah anggota set berjumlah 5.        

Pada kode di atas, Anda menghitung jumlah karakter string yang ada pada variabel "contoh_list". Perhatikan bahwa karakter space dihitung sebagai karakter string.  


min() dan max()

Selain menghitung panjang atau banyaknya elemen, Anda juga dapat mengetahui berapa nilai minimum dan maksimum dari suatu daftar menggunakan fungsi min() dan max().  

Pada kode di atas, Anda mencari anggota dengan nilai terkecil (minimal) dan nilai terbesar (maksimal) pada variabel "angka" yang merupakan list . 


Menghitung

Fungsi count() digunakan untuk mengetahui berapa kali suatu objek muncul dalam list . 

Pada kode di atas, program akan menghitung jumlah angka 6 dalam list . Namun, pada kode di bawah, program akan menghitung jumlah substring/huruf "a" dalam string. 


Di dan Tidak Di Dalam

In  dan not in merupakan operator yang diperuntukkan untuk mengetahui nilai atau objek yang ada dalam list . Anda bisa menggunakan operator ini untuk memastikan suatu nilai ada dalam list bahkan dalam string. Operator in dan not in akan mengembalikan nilai boolean True atau False.          

Ada empat baris kode di atas. Pada baris pertama, Anda mencari kata atau substring "Dicoding" dalam variabel kalimat. Hasilnya, kata tersebut ada dalam variabel kalimat sehingga mengembalikan nilai True. 

Hal ini berlaku sebaliknya pada baris kode ketiga, Anda memastikan bahwa substring "Dicoding" tidak ada  dalam variabel kalimat. Hasilnya tentu False karena kita sudah tahu pada baris kode pertama bahwa substring "Dicoding" ada dalam variabel kalimat.  

Hal ini juga yang dilakukan pada baris kode kedua dan keempat. Pada kode tersebut yang dicari adalah substring "tidak". Apakah penjelasannya? Silakan Anda telah lebih dalam.


Memberikan Nilai untuk Beberapa Variabel

Dalam list atau tuple, terkadang Anda perlu memberikan nilai pada variabel-variabel tersebut. Secara konvensional, Anda bisa melakukan hal tersebut dengan menandai indeks yang diinginkan dan memberikan nilai satu per satu sesuai keinginan.   

  1. data = [ 'kemeja' , 'putih' , 'L' ]
  2. pakaian = data [ 0 ]
  3. warna = data [ 1 ]
  4. ukuran = data [ 2 ]

Dalam kode di atas, Anda mengakses indeks pertama pada variabel "data" yang merupakan list , lalu termasuk pada variabel baru bernama "apparel". Lalu, berlaku selanjutnya, Anda mengakses indeks kedua serta ketiga dan memasukkan variabel baru, masing-masing bernama "color" dan "size". 

Alih-alih melakukan satu persatu, Anda dapat melakukan hal tersebut sekaligus dalam Python. 

Pada kode di atas, Anda melakukan hal yang sama dengan kode sebelumnya. Anda mengakses indeks 0, 1, dan 2 pada variabel "data" yang merupakan list . Namun, alih-alih melakukannya satu persatu, Anda melakukannya sekaligus dalam satu baris kode. 

Perlu diperhatikan bahwa jumlah variabel yang ingin Anda masukkan haruslah sama dengan jumlah variabel yang ada pada list atau tuple. Pada data variabel di atas, daftar yang telah diinisialisasikan beranggota sebanyak tiga dan pernyataan kedua juga melakukan inisialisasi tiga data, yakni “pakaian, warna, ukuran”. Tidak percaya? Silakan ubah kode "apparel, color, size" menjadi "apparel, color, size, size_chart" .       


Menyortir

Anda bisa menggunakan fungsi sort() untuk mengurutkan angka atau urutan huruf.

Pada kode di atas, Anda mengurutkan anggota variabel "kendaraan" yang merupakan list . Perhatikan cara fungsi sort() mengurutkan anggota di dalamnya. Anggota list merupakan string maka akan diurutkan berdasarkan huruf pertama dalam alfabet.   

Beberapa hal yang perlu kamu ketahui mengenai sortir sebagai berikut.

  1. Anda dapat melanjutkan urutan dengan cara berikut.
    Pada kode di atas, Anda mengurutkan variabel "kendaraan" secara descending atau menurun. Hal ini membuktikan bahwa secara default fungsi sort() akan mengurutkan secara ascending  atau menaik.   
  1. Metode sortir tidak dapat mengurutkan list yang memiliki angka dan string sekaligus di dalamnya.  
    Pada kode di atas menghasilkan error  karena Anda mengurutkan dua tipe data, yaitu string dan number .   
  1. Metode pengurutan menggunakan urutan ASCII sehingga nilai huruf kapital (huruf besar) akan lebih dahulu dibandingkan huruf kecil (huruf kecil).
    Tabel ASCII (American Standard Code for Information Interchange)  merupakan sebuah kode karakter yang pemetaan set karakter yang umum digunakan ke dalam angka. Sederhananya, tabel ini menampilkan karakter-karakter ASCII beserta nilai angka yang mewakilinya. Metode sort() mengurutkan berdasarkan angka pada ASCII ini. Anda bisa mengulas lebih dalam mengenai ASCII pada link berikut: Tabel ASCII . Untuk mengatasi masalah ini, Anda dapat memasukkan kata kunci "str.lower" pada parameter metode sort(). Jadi, sort() akan menganggap semua objek menggunakan huruf kecil, tanpa mengubah kondisi asli dari objek tersebut. Tampak perbedaannya? Dengan mengubah semua nilai di dalam daftar menjadi huruf kecil, nilai-nilai tersebut menjadi berurutan menurut tabel ASCII.   

Bersambung ke:


 Rangkuman Berinteraksi dengan Data

  

Comments

Popular posts from this blog

Ceritakan cerita saya:

Aplikasi/Gaming/Koding: NKHM Nusantara: