Bab 2. Belajar Memprogram [Pemrograman Python Untuk Anak] – bagian 3 { Strings }

2.3. Strings, Lists, Tuples, dan Maps

Dalam Bab 2.2, kita melakukan beberapa perhitungan dasar dengan Python, dan Anda belajar tentang variabel. Dalam bab ini, kami akan bekerja dengan beberapa item lain dalam program Python: string, list, tuple, dan map. Anda akan menggunakan string untuk menampilkan pesan dalam program Anda (seperti pesan dalam permainan “Get Ready” dan “Game Over”). Anda juga akan menemukan bagaimana daftar, tuple, dan map yang digunakan untuk menyimpan koleksi sesuatu hal.

Strings

Dalam istilah pemrograman, biasanya kita menyebut teks sebagai string. Ketika Anda memikirkan string sebagai kumpulan huruf, istilah string menjadi masuk akal. Semua huruf, angka, dan simbol dalam buku ini bisa jadi string. Untuk itu, nama Anda bisa jadi string, juga alamat Anda. Bahkan, program Python pertama kita buat di Bab 1 menggunakan string: “Hello World”.

Fig 2.3.1. gorilla

Membuat String

Pada Python, kita membuat sebuah string dengan meletakkan tanda kutip di sekitar teks. Sebagai contoh, kita bisa mengambil variabel fred dan menggunakannya untuk melabeli string, seperti ini:

fred = “Mengapa gorila memiliki lubang hidung besar? Jari besar!!”

Kemudian, untuk melihat apa yang di dalam variabel fred, kita bisa mengetikkan print(fred), seperti ini:

>>> print(fred)
Why do gorillas have big nostrils? Big fingers!!

Anda juga dapat menggunakan tanda kutip tunggal untuk membuat string, seperti ini:

>>> fred = 'What is pink and fluffy? Pink fluff!!'
>>> print(fred)
What is pink and fluffy? Pink fluff!!

Namun, jika Anda mencoba untuk memasukkan lebih dari satu baris teks  string menggunakan tanda kutip tunggal (‘) atau kutip ganda (“) atau jika Anda mulai dengan satu jenis kutipan dan mencoba untuk mengakhiri dengan tanda kutip yang lain, Anda akan mendapatkan pesan kesalahan di shell Python misalnya, masukkan baris berikut:

>>> fred = "How do dinosaurs pay their bills?

Kamu akan melihat hasil seperti ini :

SyntaxError: EOL while scanning string literal

Ini adalah pesan kesalahan yang mengeluhkan tentang sintaksnya karena Anda tidak mengikuti aturan untuk mengakhiri string dengan tanda kutip tunggal atau ganda.

Sintaks berarti penataan dan urutan kata dalam kalimat, atau dalam kasus ini, penataan dan urutan kata-kata dan simbol-simbol dalam sebuah program. Jadi SyntaxError berarti bahwa Anda melakukan sesuatu dalam urutan yang tidak Python harapkan, atau Python mengharapkan sesuatu yang tidak kamu cantumkan. EOL berarti akhir-dari-line, sehingga sisa dari pesan kesalahan memberitahu pada Anda bahwa Python telah mencapai akhir baris dan tidak menemukan kutipan ganda untuk menutup string.

Untuk menggunakan lebih dari satu baris teks dalam string Anda (disebut string multiline), gunakan tiga tanda kutip tunggal (”’), dan kemudian tekan enter antara barisnya, seperti ini:

>>> fred = '''How do dinosaurs pay their bills?
With tyrannosaurus checks!'''

Sekarang mari kita mencetak isi fred untuk melihat apakah ini bekerja:

>>> print(fred)
How do dinosaurs pay their bills?
With tyrannosaurus checks!

Menangani Masalah pada String

Sekarang perhatikan contoh string berikut ini, yang menyebabkan Python untuk menampilkan pesan error:

>>> silly_string = 'He said, "Aren't can't shouldn't wouldn't."'
SyntaxError: invalid syntax

Pada baris pertama, kami mencoba untuk membuat sebuah string (didefinisikan pada variabel silly_string) diapit oleh tanda kutip tunggal, tetapi juga mengandung campuran tanda kutip tunggal dalam can`t, shouldn`t, dan wouldn`t, serta tanda kutip ganda. Berantakan!

Ingat bahwa Python sendiri tidak secerdas manusia, sehingga python melihat semua itu sebagai string yang berisi He said, “Aren, diikuti oleh sekelompok karakter lain yang tidak diharapkan. Ketika Python melihat tanda kutip (baik tunggal atau ganda kutipan), mereka mengharapkan string untuk mulai mengikuti tanda pertama dan string diakhiri setelah tanda kutip yang cocok berikutnya (baik tunggal atau ganda) pada baris tersebut. Dalam hal ini, awal string adalah kutip tunggal menandai sebelum He, dan akhir dari string, sejauh pengetahuan Python, adalah single quote setelah n di Aren. IDLE menyoroti titik di mana terjadi hal-hal yang tidak beres:

Fig 2.3.2. invalid sintaks pada stringBaris terakhir IDLE memberitahu kita  jenis kesalahan apa yang terjadi-dalam hal ini, kesalahan sintaks.

Menggunakan tanda kutip ganda bukannya tanda kutip tunggal masih menghasilkan error:

>>> silly_string = "He said, "Aren't can't shouldn't wouldn't.""
SyntaxError: invalid syntax

Di sini, Python melihat string dibatasi oleh tanda kutip ganda, yang mengandung huruf He Said, (dan spasi). Semuanya setelah string tersebut (dari Aren’t) menyebabkan kesalahan:

Fig 2.3.3. invalid sintaks pada string 2

Ini karena, dari perspektif Python, semua hal ekstra hanya tidak seharusnya berada di sana. Python mencari kutipan yang cocok berikutnya dan tidak tahu apa yang ingin Anda lakukan dengan apa pun yang diikuti tanda kutip itu pada baris yang sama.

Solusi untuk masalah ini adalah string multiline, yang kita pelajari sebelumnya, menggunakan tiga tanda kutip tunggal (”’), yang memungkinkan kita untuk menggabungkan tanda kutip ganda dan tunggal dalam string kami tanpa menyebabkan kesalahan. Bahkan, jika kita menggunakan tiga tanda kutip tunggal, kita dapat menempatkan setiap kombinasi tanda kutip tunggal dan ganda dalam string (selama kita tidak mencoba untuk menempatkan tiga tanda kutip tunggal di sana). Ini adalah versi string kita yang bebas dari kesalahan :

Fig 2.3.4. menangani kesalahan pada string

silly_string = '''He said, "Aren't can't shouldn't wouldn't."'''

Tapi tunggu, masih ada lagi. Jika Anda benar-benar ingin menggunakan tanda kutip tunggal atau ganda untuk mengelilingi string di Python, bukannya tiga tanda kutip tunggal, Anda dapat menambahkan backslash (\) sebelum setiap tanda kutip dalam string. Ini disebut escaping. Ini adalah cara untuk mengatakan ke Python, “Ya, saya tahu saya memiliki kutipan dalam string saya, dan saya ingin Anda mengabaikan mereka sampai Anda melihat akhir kutipan.”

Escaping string dapat membuat mereka sulit untuk dibaca, jadi mungkin lebih baik menggunakan string multiline. Namun, Anda mungkin akan menemukan potongan kode yang menggunakan escaping, jadi ada baiknya untuk mengetahui mengapa backslashes ada.

Berikut adalah beberapa contoh bagaimana escaping bekerja:

>>> single_quote_str = 'He said, "Aren\'t can\'t shouldn\'t wouldn\'t."'
>>> double_quote_str = "He said, \"Aren't can't shouldn't wouldn't.\""
>>> print(single_quote_str)
He said, "Aren't can't shouldn't wouldn't."
>>> print(double_quote_str)
He said, "Aren't can't shouldn't wouldn't."

Menyisipkan nilai ke dalam String

Jika Anda ingin menampilkan pesan menggunakan isi dari variabel, kamu dapat menyisipkan nilainya dalam string menggunakan %s, yang berfungsi sebagai penanda untuk menampilkan nilai yang ingin  kamu tambahkan nanti. Sebagai contoh, agar Python menghitung atau menyimpan jumlah poin yang kamu dapatkan dalam sebuah game, dan kemudian menambahkannya ke kalimat seperti “Saya mendapat %s poin, ” gunakan %s dalam kalimat di tempat poin, dan kemudian memberitahu Python nilainya, seperti ini:

>>> myscore = 1000
>>> message = 'I scored %s points'
>>> print(message % myscore)
I scored 1000 points

Di sini, kita membuat variabel myscore  dengan nilai 1000 dan variabel message  dengan string yang berisi kata-kata “I scored %s points” di mana %s adalah sebuah tempat untuk jumlah poin. Pada baris berikutnya, kita memanggil print(message) dengan simbol % untuk memberitahu Python untuk menggantikan %s dengan nilai yang tersimpan dalam variabel myscore. Hasilnya adalah  mencetak pesan ini : I scored 1000 points. Kita tidak perlu menggunakan variabel untuk mendapatkan nilainya. Kita bisa melakukan contoh yang sama dengan hanya menggunakan print(message % 1000).

Kita juga dapat melewatkan nilai yang berbeda untuk placeholder %s, menggunakan variabel yang berbeda, seperti dalam contoh ini:

>>> joke_text = '%s: a device for finding furniture in the dark'
>>> bodypart1 = 'Knee'
>>> bodypart2 = 'Shin'
>>> print(joke_text % bodypart1)
Knee: a device for finding furniture in the dark
>>> print(joke_text % bodypart2)
Shin: a device for finding furniture in the dark

Di sini, kita membuat tiga variabel. Yang pertama, joke_text, termasuk string dengan penanda  %s. Variabel lainnya adalah bodypart1 dan bodypart2. Kita dapat mencetak variabel joke_text, dan sekali lagi menggunakan operator % untuk menggantinya dengan isi dari variabel bodypart1 dan bodypart2 untuk menghasilkan pesan yang berbeda.

Fig 2.3.5. Menyisipkan nilai dalam stringAnda juga dapat menggunakan lebih dari satu placeholder dalam sebuah string, seperti ini:

>>> nums = 'What did the number %s say to the number %s? Nice belt!!'
>>> print(nums % (0, 8))
What did the number 0 say to the number 8? Nice belt!!

Bila menggunakan lebih dari satu placeholder, pastikan untuk membungkus nilai-nilai pengganti dalam kurung, seperti yang ditunjukkan dalam contoh. Urutan nilai adalah urutan di mana mereka akan digunakan dalam string.

Menggandakan String

Apa hasilnya 10 dikalikan dengan 5? Jawabannya adalah 50, tentu saja. Tapi apa hasilnya 10 dikalikan dengan a ? Berikut jawabannya Python:

>>> print(10 * 'a')
aaaaaaaaaa

Python programmer mungkin menggunakan pendekatan ini untuk memperderetkan string dengan jumlah tertentu ketika menampilkan pesan di shell, misalnya. Bagaimana mencetak huruf di shell (pilih File ▸ New Window, dan masukkan kode berikut):

spaces = ' ' * 25
print('%s 12 Butts Wynd' % spaces)
print('%s Twinklebottom Heath' % spaces)
print('%s West Snoring' % spaces)
print()
print()
print('Dear Sir')
print()
print('I wish to report that tiles are missing from the')
print('outside toilet roof.')
print('I think it was bad wind the other night that blew them away.')
print()
print('Regards')
print('Malcolm Dithering')

Setelah Anda mengetik kode tersebut ke jendela shell, pilih File ▸ Save As. Beri nama file Anda dengan myletter.py.

Catatan :

Mulai sekarang, ketika Anda melihat Save As: somefilename.py atas serangkaian kode program, Anda sudah tahu bahwa Anda perlu untuk memilih File ▸ New Window, masukkan kode ke jendela yang muncul, dan kemudian menyimpannya seperti yang kita lakukan dalam contoh diatas.

Pada baris pertama dari contoh ini, kita menciptakan ruang variabel dengan mengalikan karakter spasi sebesar 25. Kami kemudian menggunakan variabel yang dalam tiga baris berikutnya untuk menyelaraskan teks di sebelah kanan shell. Anda dapat melihat hasil dari statement print tersebut sebagai berikut:

Fig 2.3.6. mencetak string yang digandakan

Selain menggunakan perkalian untuk penyelarasan, kami juga dapat menggunakannya untuk mengisi layar dengan pesan yang mengganggu. Coba contoh ini untuk diri sendiri:

>>> print(1000 * 'snirt')
Iklan
Categories: Buku Komputer, Pemrograman Komputer, Python | Tag: | Tinggalkan komentar

Navigasi pos

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Buat situs web atau blog gratis di WordPress.com.

%d blogger menyukai ini: