Skip to main content

Bab 2: Variabel dan Tipe Data

Di bab ini kamu akan belajar tentang perbedaan tipe data yang bisa dipakai di dalam program Python. Kamu juga akan belajar cara menggunakan variabel untuk menyimpan data di program Python-mu.

Apa yang Sebetulnya Terjadi Saat Menjalankan hello_world.py

Mari kita lihat lebih dekat proses saat Python menjalankan hello_world.py. Ternyata, dibalik program yang sangat sederhana itu Python melakukan banyak tugas:

print("Hello Python world!")

Saat program tersebut dijalankan, kita akan lihat output sebagai berikut:

Hello Python world!

Ketika kamu menjalankan file hello_world.py, akhiran .py menandakan bahwa file tersebut adalah sebuah program Python. Editor kamu kemudian menjalankan file tersebut melalui Python interpreter, yang membaca program dan menentukan arti dari setiap perintah di dalamnya. Misalnya, ketika interpreter melihat kata print yang diikuti oleh tanda kurung, ia akan mencetak ke layar apa pun yang berada di dalam tanda kurung tersebut.

Saat kamu menulis program, editor kamu akan menyoroti bagian-bagian yang berbeda dari program dengan cara yang berbeda pula. Sebagai contoh, editor mengenali bahwa print() adalah nama sebuah function dan menampilkannya dengan satu warna tertentu. Editor juga mengenali bahwa "Hello Python world!" bukanlah kode Python, sehingga frasa tersebut ditampilkan dengan warna yang berbeda. Fitur ini disebut syntax highlighting dan sangat berguna saat kamu mulai menulis program sendiri.

Variabel

Mari kita coba menggunakan sebuah variabel di hello_world.py. Tambahkan satu baris baru dan modifikasi baris kedua menjadi seperti ini:

message = "Hello Python world!"
print(message)

Jalankan program untuk melihat apa yang terjadi. Kamu harusnya akan melihat pesan yang sama seperti sebelumnya:

Hello Python world!

Kita telah menambahkan sebuah variabel bernama message. Setiap variabel terhubung dengan sebuah nilai, yaitu informasi yang terkait dengan variabel tersebut. Dalam kasus ini, nilainya adalah teks "Hello Python world!".

Menambahkan sebuah variabel berarti menambah kerjaan Python interpreter juga. Ketika memproses baris pertama, interpreter mengaitkan variabel message dengan teks "Hello Python world!". Ketika sampai di baris kedua, interpreter mencetak nilai yang terkait dengan message ke layar.

Sekarang mari kita kembangkan program ini dengan memodifikasi hello_world.py agar mencetak pesan kedua. Tambahkan satu baris kosong ke hello_world.py, lalu tambahkan dua baris kode baru berikut ini:

message = "Hello Python world!"
print(message)

# Tambahkan baris berikut
message = "Hello Python Crash Course world!"
print(message)

Sekarang saat kamu jalankan hello_world.py, kamu akan melihat dua baris output:

Hello Python world!
Hello Python Crash Course world!

Kamu bisa mengubah nilai dari suatu variabel di program yang kamu punya kapanpun dan Python akan selalu ingat nilai terakhirnya.

Memberi Nama dan Menggunakan Variabel

Penamaan dan Penggunaan Variabel

Saat kamu menggunakan variabel di Python, kamu perlu mematuhi beberapa aturan. Melanggar sebagian dari aturan ini akan menyebabkan error, sementara beberapa aturan hanya membantu kamu menulis kode yang lebih mudah dibaca dan dipahami. Pastikan kamu mengingat aturan-aturan berikut saat bekerja dengan variabel:

  • Nama variabel hanya boleh berisi huruf, angka, dan garis bawah. Nama variabel dapat diawali dengan huruf atau garis bawah, tetapi tidak boleh diawali dengan angka. Sebagai contoh, kamu bisa menamai sebuah variabel message_1, tetapi tidak bisa 1_message.

  • Spasi tidak diperbolehkan dalam nama variabel, tetapi garis bawah dapat digunakan untuk memisahkan kata-kata dalam nama variabel. Misalnya, greeting_message dapat digunakan, tetapi greeting message akan menyebabkan error.

  • Hindari menggunakan keyword dan nama function Python sebagai nama variabel. Misalnya, jangan gunakan kata print sebagai nama variabel; Python telah memakainya sendiri.

  • Nama variabel sebaiknya singkat tetapi deskriptif. Misalnya, name lebih baik daripada n, student_name lebih baik daripada s_n, dan name_length lebih baik daripada length_of_persons_name.

  • Berhati-hatilah saat menggunakan huruf kecil l dan huruf besar O, karena keduanya bisa tertukar dengan angka 1 dan 0.

Dibutuhkan sedikit latihan untuk bisa membuat nama variabel yang baik, terutama ketika program kamu menjadi semakin menarik dan kompleks. Seiring kamu menulis lebih banyak program dan mulai membaca kode orang lain, kamu akan semakin terampil dalam menentukan nama yang bermakna.

note

Variabel Python yang kamu gunakan kali ini harus berupa lowercase (huruf kecil semua). Kamu tidak akan mendapatkan error bila menggunakan huruf kapital, tapi huruf kapital ini nantinya akan memiliki arti khusus yang baru dibahas di bab-bab berikutnya.

Menghindari Kesalahan Memanggil Variabel

Setiap programmer berbuat salah dan mayoritas melakukannya setiap hari. Meski programmer yang baik juga bisa membuat kesalahan, tapi mereka juga tahu bagaimana cara mengatasinya dengan efisien. Mari kita lihat erro ryang mungkin akan kamu temukan dalam waktu dekat dan bagaimana cara mengatasinya.

Kita akan tuils beberapa kode yang akan memunculkan error secara sengaja. Masukan perintah berikut termasuk variabel mesage yang salah ketik:

message = "Hello Python Crash Course reader!"
print(mesage)

Ketika sebuah error terjadi di dalam program kamu, Python interpreter akan berusaha sebaik mungkin untuk membantu kamu mengetahui di mana letak masalahnya. Interpreter akan menampilkan sebuah traceback ketika sebuah program tidak dapat dijalankan dengan sukses. Traceback adalah catatan tentang di mana interpreter mengalami masalah saat mencoba mengeksekusi kode kamu.

Berikut ini contoh traceback yang diberikan Python saat kita salah menuliskan nama variabel:

Traceback (most recent call last):
File "hello_world.py", line 2, in <module> #1
print(mesage) #2
^^^^^^
NameError: name 'mesage' is not defined. Did you mean: 'message'? #3

Output tersebut melaporkan bahwa sebuah error terjadi pada baris 2 dari file hello_world.py (#1). Interpreter menampilkan (#2) untuk membantu kita dengan cepat menemukan kesalahannya dan memberi tahu jenis error yang ditemukan (#3). Dalam kasus ini, interpreter menemukan sebuah NameError dan melaporkan bahwa variabel yang sedang dicetak, mesage, belum didefinisikan. Python tidak dapat mengenali nama variabel yang diberikan. Sebuah NameError biasanya berarti kita lupa menetapkan nilai pada sebuah variabel sebelum menggunakannya, atau kita membuat kesalahan ejaan saat menuliskan nama variabel tersebut. Jika Python menemukan nama variabel yang mirip dengan yang tidak dikenalnya, Python akan menanyakan apakah itu nama yang sebenarnya kamu maksud.

Dalam contoh ini, kita menghilangkan huruf s pada nama variabel message di baris kedua. Python interpreter tidak melakukan pemeriksaan ejaan pada kode kamu, tetapi ia memastikan bahwa nama variabel dieja secara konsisten. Sebagai contoh, perhatikan apa yang terjadi ketika kita salah mengeja message pada baris yang mendefinisikan variabel tersebut:

mesage = "Hello Python Crash Course reader!"
print(mesage)

Pada contoh ini program berjalan dengan lancar!

Hello Python Crash Course reader!

Nama-nama variabel tersebut cocok, sehingga Python tidak melihat adanya masalah. Bahasa pemrograman memang ketat, tetapi tidak peduli pada ejaan yang benar atau salah. Akibatnya, kamu tidak perlu memikirkan aturan ejaan dan tata bahasa Inggris saat membuat nama variabel dan menulis kode.

Banyak error dalam pemrograman hanyalah kesalahan ketik satu karakter pada satu baris program. Jika kamu merasa menghabiskan waktu lama untuk mencari jenis error seperti ini, ketahuilah bahwa kamu tidak sendirian. Banyak programmer yang berpengalaman dan berbakat pun menghabiskan berjam-jam untuk memburu kesalahan kecil semacam ini. Cobalah untuk menertawakannya dan lanjutkan, karena hal ini akan sering terjadi sepanjang perjalanan pemrograman kamu.

Variabel Adalah Label

Variabel sering digambarkan sebagai kotak tempat kamu menyimpan nilai. Gambaran ini bisa membantu pada saat-saat awal kamu menggunakan variabel, tetapi sebenarnya itu bukan cara yang akurat untuk menjelaskan bagaimana variabel direpresentasikan secara internal di Python. Lebih tepat jika kamu menganggap variabel sebagai label yang dapat kamu kaitkan dengan suatu nilai. Kamu juga bisa mengatakan bahwa sebuah variabel mereferensikan nilai tertentu.

Perbedaan ini mungkin tidak terlalu terasa dalam program-program awal kamu, tetapi lebih baik memahaminya sejak dini daripada nanti. Pada suatu masa, kamu akan melihat perilaku variabel yang tidak terduga, dan pemahaman yang benar tentang cara kerja variabel akan membantu kamu mengidentifikasi apa yang sedang terjadi di dalam kode kamu.

note

Cara terbaik untuk memahami konsep pemrograman yang baru adalah dengan mencoba menggunakannya di dalam program kamu. Jika kamu mengalami kebuntuan saat mengerjakan sebuah latihan di buku ini, cobalah mengerjakan hal lain sejenak. Jika kamu masih buntu, tinjau kembali bagian yang relevan dari bab tersebut. Jika kamu masih membutuhkan bantuan, lihat saran-saran di Lampiran C.

💻Cobalah Sendiri

Tulis sebuah program baru untuk menyelesaikan latihan-latihan ini. Simpan setiap program dalam satu file yang mengikuti aturan standar Python, menggunakan huruf kecil dan underscore seperti simple_message.py dan simple_messages.py.

2-1. Pesan Sederhana: Buat satu variabel baru dan masukkan suatu nilai kedalamnya, lalu cetak untuk melihat isi nilai tersebut di terminal. 2-2. Pesan-pesan Sederhana: Buat satu variabel baru dan masukkan suatu nilai kedalamnya, lalu cetak pesan tersebut. Kemudian ubah nilai variabel dengan pesan yang baru, lalu cetak pesan barunya.

String

Karena sebagian besar program akan menggunakan banyak tipe data dan melakukan sesuatu dengan data-data tersebut, maka akan sangat membantu bila kita kenali berbagai jenis tipe data itu. Tipe data pertama yang akan kita bahas adalah string. Sekilas, string tampak sederhana, tetapi kamu bisa menggunakannya dengan banyak cara yang berbeda.

Sebuah string adalah serangkaian karakter. Apa pun yang berada di dalam tanda kutip dianggap sebagai string di Python, dan kamu bisa menggunakan tanda kutip tunggal atau ganda di sekeliling string, seperti berikut ini:

"This is a string."
'This is also a string.'

Karena aturan ini kita bisa menampilkan tanda petik maupun apostrof di dalam suatu string:

'I told my friend, "Python is my favorite language!"'
"The language 'Python' is named after Monty Python, not the snake."
"One of Python's strengths is its diverse and supportive community."

Mari lihat beberapa cara menggunakan strings.

Mengubah Huruf Besar dan Kecil dalam String

Salah satu tugas paling mudah yang bisa dilakukan dengan string adalah mengubah huruf-hurufnya. Perhatikan kode berikut ini dan pahami apa yang terjadi:

name = "ada lovelace"
print(name.title())

Simpan dengan nama name.py lalu jalankan. Kamu akan melihat pesan:

Ada Lovelace

Dalam contoh ini, variabel name merujuk pada string dengan teks "ada lovelace" (huruf kecil semua). Method title() ditulis setelah variabel tersebut dideklarasikan di dalam pemanggilan print(). Sebuah method adalah sebuah aksi yang dapat dilakukan Python terhadap suatu data. Tanda titik (.) setelah name pada name.title() memberi tahu Python untuk menerapkan method title() pada variabel name. Setiap method selalu diikuti oleh sepasang tanda kurung, karena method sering membutuhkan informasi tambahan untuk melakukan tugasnya. Informasi tersebut diberikan di dalam tanda kurung. Method title() tidak memerlukan informasi tambahan apa pun, sehingga tanda kurungnya kosong.

Method title() mengubah setiap kata menjadi format judul (title case), di mana setiap kata diawali dengan huruf kapital. Ini berguna karena kamu sering ingin memperlakukan sebuah nama sebagai sebuah informasi. Misalnya, kamu mungkin ingin program kamu mengenali input Ada, ADA, dan ada sebagai nama yang sama, lalu menampilkan semuanya sebagai Ada.

Beberapa method lain yang berguna juga tersedia untuk menangani huruf kapital dan kecil. Misalnya, kamu dapat mengubah sebuah string menjadi seluruhnya huruf kapital atau seluruhnya huruf kecil seperti berikut ini:

name = "Ada Lovelace"
print(name.upper())
print(name.lower())

Akan menampilkan:

ADA LOVELACE
ada lovelace

Method lower() sangat berguna saat akan menyimpan data. Biasanya kamu tidak ingin bergantung pada penggunaan huruf besar dan kecil yang diberikan oleh pengguna, sehingga kamu akan mengubah string menjadi huruf kecil semua sebelum disimpan. Lalu, ketika kamu ingin menampilkan informasi tersebut, kamu bisa menggunakan bentuk huruf besar–kecil yang paling masuk akal untuk setiap string.

Menampilkan Isi Variabel di dalam String

Dalam beberapa situasi, kamu akan ingin menggunakan nilai dari sebuah variabel di dalam sebuah string. Misalnya, kamu mungkin ingin menggunakan dua variabel untuk merepresentasikan nama depan dan nama belakang, lalu menggabungkan nilai-nilai tersebut untuk menampilkan nama lengkap seseorang:

first_name = "ada"
last_name = "lovelace"
full_name = f"{first_name} {last_name}" #1
print(full_name)

Untuk menyisipkan nilai sebuah variabel ke dalam sebuah string, letakkan huruf f tepat sebelum tanda kutip pembuka (#1). Letakkan tanda kurung kurawal di sekitar nama variabel mana pun yang ingin kamu gunakan di dalam string. Python akan menggantikan setiap variabel dengan nilainya ketika string tersebut ditampilkan.

String semacam ini disebut f-string. Huruf f berarti format, karena Python memformat string dengan mengganti nama setiap variabel di dalam kurung kurawal dengan nilainya. Output dari kode sebelumnya adalah:

ada lovelace

Kamu dapat melakukan banyak hal dengan f-string. Misalnya, kamu bisa menggunakan f-string untuk menyusun pesan lengkap menggunakan informasi yang terkait dengan sebuah variabel, seperti yang ditunjukkan di sini:

first_name = "ada"
last_name = "lovelace"
full_name = f"{first_name} {last_name}"
print(f"Hello, {full_name.title()}!") #1

Nama lengkap digunakan di dalam sebuah kalimat untuk menyapa pengguna (#1), dan method title() mengubah nama tersebut menjadi format judul. Kode ini menghasilkan sebuah sapaan yang sederhana namun tertata dengan rapi:

Hello, Ada Lovelace!

Kamu juga bisa menggunakan f-string untuk menyusun sebuah pesan, lalu menyimpan pesan tersebut ke sebuah variabel:

first_name = "ada"
last_name = "lovelace"
full_name = f"{first_name} {last_name}"
message = f"Hello, {full_name.title()}!" #1
print(message) #2

Kode ini menampilkan pesan Hello, Ada Lovelace! juga, tapi dengan menyimpan pesannya ke sebuah variabel (#1) lalu menjalankan perintah print(0) dengan lebih ringkas (#2).

Menambahkan Whitespace ke dalam String dengan Tab atau Baris Baru

Dalam pemrograman, whitespace merujuk pada karakter yang tidak terlihat saat dicetak, seperti spasi, tab, dan simbol akhir baris. Kamu dapat menggunakan whitespace untuk menata output agar lebih mudah dibaca oleh pengguna.

Untuk menambahkan sebuah karakter tab, gunakan kombinasi \t:

>>> print("Python")
Python
>>> print("\tPython")
Python

Untuk menambahkan baris baru di dalam sebuah string, gunakan kombinasi \n:

>>> print("Languages:\nPython\nC\nJavaScript")
Languages:
Python
C
JavaScript

Kamu juga bisa menggunakan kombinasi tab dan baris baru di dalam satu string. String "\n\t" memberitahu Python untuk pindah ke baris baru, lalu cetak baris berikutnya dengan sebuah karakter tab. contoh berikut menampilkan apa yang bisa dilakukan satu baris string untuk menghasilkan empat baris output:

>>> print("Languages:\n\tPython\n\tC\n\tJavaScript")
Languages:
Python
C
JavaScript

Baris baru dan tab akan sangat berguna di dua bab berikutnya saat kita akan menghasilkan banyak output hanya dengan beberapa baris kode.

Menghapus Whitespace

Whitespace berlebih dapat membingungkan dalam program kamu. Bagi seorang programmer, 'python' dan 'python ' tampak hampir sama. Namun bagi sebuah program, keduanya adalah dua string yang berbeda. Python mendeteksi adanya spasi tambahan dalam 'python ' dan menganggapnya sebagai bagian yang penting, kecuali kamu memberi tahu sebaliknya.

Penting untuk memperhatikan whitespace, karena sering kali kamu akan ingin membandingkan dua string untuk menentukan apakah keduanya sama. Sebagai contoh, salah satu kasus penting adalah saat memeriksa username seseorang ketika mereka login ke sebuah website. Whitespace berlebih juga dapat menimbulkan kebingungan dalam situasi yang lebih sederhana. Untungnya, Python memudahkan kamu untuk menghilangkan whitespace berlebih dari data yang dimasukkan oleh pengguna.

Python dapat mencari whitespace tambahan di sisi kanan dan kiri sebuah string. Untuk memastikan tidak ada whitespace di sisi kanan sebuah string, gunakan method rstrip():

>>> favorite_language = 'python ' #1
>>> favorite_language #2
'python '
>>> favorite_language.rstrip() #3
'python'
>>> favorite_language #4
'python '

Nilai dari variabel favorite_language berisi whitespace tambahan di bagian akhir string (#1). Ketika kita mencetak isi varaibel ini, kita bisa lihat tambahan spasi di akhir (#2). Dengan memanggil rstrip() pada variabel favorite_language (#3), kita menghapus whitespace tambahan tersebut. Namun, perintah tersebut hanya menghapusnya sementara. Bila kita minta lagi nilai dari variabel favorite_language, maka kita akan dapatkan string yang sama dengan langkah pertama (#4).

Untuk menghapus tambahan whitespace secara permanen, kita kan mengatur ulang nilai dari variabel tadi dengan:

>>> favorite_language = 'python '
>>> favorite_language = favorite_language.rstrip() #2
>>> favorite_language
'python'

Kita hapus whitespace tambahan lalu memberikannya pada variabel favorite_language untuk menimpa nilai yang lama (#1). Mengubah nilai dari suatu variabel sangat sering dilakukan. Ini menunjukkan bagaimana sebuah nilai dari variabel diperbarui ketika program sudah berjalan atau bereaksi terhadap masukan pengguna.

Kamu juga bisa menghapus whitespace tambahan dari sisi sebelah kiri dengan lstrip() atau menghapusnya dari kedua sisi dengan strip():

>>> favorite_language = ' python ' #1
>>> favorite_language.rstrip() #2
' python'
>>> favorite_language.lstrip() #3
'python '
>>> favorite_language.strip() #4
'python'

Pada contoh ini kita memiliki string dengan whitespace tambahan di sisi awal dan akhir (#1). Kita lalu hapus whitespace tambahan dari sisi kanan (#2), dari sisi kiri (#3) dan keduanya (#4). Cobalah bereksperimen dengan fungsi-fungsi ini agar kamu lebih terbiasa dengan manipulasi string. Dalam kehidupan sehari-haril, proses ini sering dipakai untuk membersihkan masukan pengguna sebelum disimpan di dalam sebuah program.

Menghapus Prefiks

Saat bekerja dengan string, tugas lain yang sering dilakukan adalah menghapus sebuah prefiks. Anggap ada sebuah URL dengan prefiks https://. Kita ingin menghapus prefiks ini agar dapat fokus hanya pada bagian URL yang perlu dimasukkan pengguna ke address bar. Berikut cara melakukannya:

>>> bacadev_url = 'https://bacadev.com'
>>> bacadev_url.removeprefix('https://')
'bacadev.com'

Ketikkan nama variabel diikuti dengan tanda titik, lalu panggil method removeprefix(). Di dalam tanda kurung, masukkan prefix yang ingin kamu hapus dari string asli.

Seperti halnya method untuk menghapus whitespace, removeprefix() tidak mengubah string asli. Jika kamu ingin mendapatkan nilai baru yang prefiksnya sudah dihapus, maka kamu perlu menyimpannya lagi.

>>> simple_url = bacadev_url.removeprefix('https://')

Ketika kamu melihat URL di address bar dan tidak melihat bagian https://, maka ketahuilah browser mungkin memanggil satu method yang fungsinya mirip seperti removeprefix() di belakang layar?

Menghindari Syntax Error dengan String

Salah satu contoh error yang akan sering kamu temui adalah syntax error. Sebuah syntax error muncul saat Python tidak mengenali bagian dari program yang kamu tulis sebagai kode Python yang valid. Contoh, saat kamu menggunakan apostrof di dalam string dengan petik satu, maka kamu akan mendapat sebuah error. Hal ini terjadi karena Python memproses petik pertama dan apostrof sebagai sebuah string. Lalu ia memproses sisa teks di sebelah kanan sebagai kode Python yang menyebabkan error.

Berikut ini bagaimana cara menggunakan petik satu dan dua dengan benar. Simpan program ini sebagai apostrophe.py lalu jalankan:

message = "One of Python's strengths is its diverse community."
print(message)

Karena tanda apostrof akan berada di antara sepasang petik dua, maka interpreter Python tidak mengalami masalah saat memproses string tersebut:

One of Python's strengths is its diverse community.

Akan tetapi, bila menggunakan petik satu, Python tidak bisa menentukan kapan sebetulnya string itu berakhir:

message = 'One of Python's strengths is its diverse community.'
print(message)

Kamu akan melihat error ini:

  File "apostrophe.py", line 1
message = 'One of Python's strengths is its diverse community.'
^ #1
SyntaxError: unterminated string literal (detected at line 1)

Kamu bisa lihat bahwa error terjadi tepat setelah petik satu yang terakhir (#1). Error ini mengindikasikan bahwa interpreter tidak mengenalnya sebagai kode Python yang valid dan berpikir bahwa mungkin masalahnya adalah string yang tidak menggunakan tanda petik yang benar. Error bisa datang dari berbagai sumber dan penulis akan mencoba untuk membahas yang umum-umum saat bisa dibahas. Kamu akan sering mendapatkan syntax error saat belajar menulis kode Python yang benar. Syntax error adalah jenis kesalahan yang paling tidak spesifik sehingga mungkin bisa menyulitkan karena harus di cari dengan benar. Kalau kamu stuck dengan error yang tak kunjung selesai, coba lihat saran-saran di Lampiran C.

note

Fitur syntax highlighting pada editor seharusnya membantu kamu menemukan beberapa kesalahan sintaks dengan cepat saat menulis program. Jika kamu melihat kode Python disorot seolah-olah itu adalah teks biasa, atau teks biasa disorot seolah-olah itu adalah kode Python, kemungkinan besar ada tanda kutip yang tidak berpasangan di suatu bagian.

💻Cobalah Sendiri

Simpan setiap latihan berikut sebagai file terpisah, dengan nama seperti name_cases.py. Jika kamu mengalami kebuntuan, ambil jeda sejenak atau lihat saran-saran di Lampiran C.

2-3. Pesan Pribadi: Gunakan sebuah variabel untuk merepresentasikan nama seseorang, lalu cetak sebuah pesan untuk orang tersebut. Pesan kamu harus sederhana, misalnya: “Hello Eric, would you like to learn some Python today?”

2-4. Besar-Kecil: Gunakan sebuah variabel untuk merepresentasikan nama seseorang, lalu cetak nama tersebut dalam bentuk huruf kecil, kapital, dan title case.

2-5. Kutipan Terkenal: Temukan sebuah kutipan dari tokoh terkenal yang kamu kagumi. Cetak kutipan tersebut beserta nama penulisnya. Output kamu harus terlihat kira-kira seperti berikut ini, termasuk tanda kutipnya:

Albert Einstein once said, “A person who never made a mistake never tried anything new.”

2-6. Kutipan Terkenal 2: Ulangi Latihan 2-5, tetapi kali ini representasikan nama tokoh terkenal tersebut menggunakan sebuah variabel bernama famous_person. Kemudian susun pesan kamu dan simpan dalam sebuah variabel baru bernama message. Cetak pesan tersebut.

2-7. Menghapus Whitespace pada Nama: Gunakan sebuah variabel untuk merepresentasikan nama seseorang, dan sertakan beberapa karakter whitespace di awal dan akhir nama tersebut. Pastikan kamu menggunakan kombinasi karakter "\t" dan "\n" setidaknya satu kali. Cetak nama tersebut satu kali sehingga whitespace di sekitarnya terlihat. Kemudian cetak nama tersebut menggunakan masing-masing dari tiga function penghapus whitespace, yaitu lstrip(), rstrip(), dan strip().

2-8. Ekstensi File: Python memiliki method removesuffix() yang bekerja persis seperti removeprefix(). Simpan nilai 'python_notes.txt' ke sebuah variabel bernama filename. Lalu gunakan method removesuffix() untuk menampilkan nama file tanpa ekstensi file, seperti yang dilakukan oleh beberapa file browser.

Angka

Angka sering dipakai dalam pemrograman untuk menyimpan skor sebuah game, data dalam suatu visualisasi, menyimpan informasi di aplikasi web, dan lain sebagainya. Python memiliki beberapa cara untuk bekerja dengan angka termasuk bagaimana cara menggunakannya. Mari kita lihat bagaimana Python bekerja dengan bilangan bulat (integer) karena ini yang paling sederhana.

Integer

Kita bisa melakukan penjumlahan, penguarangan, perkalian dan pembagian bilangan bulat di Python.

>>> 2 + 3
5
>>> 3 - 2
1
>>> 2 * 3
6
>>> 3 / 2
1.5

Dari sesi terminal, Python akan langsung memberikan nilai dari operasi aritmatika.

Di sini Python menggunakan dua simbol perkalian untuk eksponen (bilangan berpangkat):

>>> 3 ** 2
9
>>> 3 ** 3
27
>>> 10 ** 6
1000000

Python juga mendukung urutan operasi, sehingga kamu bisa menggunakan beberapa operasi dalam satu perintah. Kamu juga dapat menggunakan tanda kurung untuk mengubah urutan operasi agar Python mengevaluasi perintah sesuai dengan urutan yang kamu tentukan. Sebagai contoh:

>>> 2 + 3*4
14
>>> (2 + 3) * 4
20

Spasi tidak berpengaruh terharap evaluasi yang dilakukan oleh Python, ia nya berfungsi agar mata kita lebih cepat menangkap prioritas operasi saat membaca kodenya.

Float

Python menyebut setiap bilangan desimal sebagai float. Istilah ini digunakan di sebagian besar bahasa pemrograman. Setiap bahasa pemrograman harus dirancang dengan hati-hati agar dapat menangani angka desimal dengan benar, sehingga angka-angka tersebut berperilaku sebagaimana mestinya, di mana pun titik desimalnya berada.

Mayoritas kamu dapat menggunakan float tanpa perlu terlalu memikirkan bagaimana perilakunya. Cukup masukkan angka-angka yang ingin kamu gunakan, dan Python hampir selalu akan melakukan apa yang kamu harapkan:

>>> 0.1 + 0.1
0.2
>>> 0.2 + 0.2
0.4
>>> 2 * 0.1
0.2
>>> 2 * 0.2
0.4

Akan tetapi, kamu kadang bisa mendapat angka yang agak aneh:

>>> 0.2 + 0.1
0.30000000000000004
>>> 3 * 0.1
0.30000000000000004

Hal ini terjadi di semua bahasa pemrograman dan biasanya bukan masalah besar. Python berusaha menemukan cara untuk merepresentasikan hasil seakurat mungkin, yang terkadang sulit karena cara komputer merepresentasikan angka secara internal. Untuk saat ini, abaikan saja angka desimal tambahan tersebut; kamu akan mempelajari cara menanganinya ketika diperlukan dalam proyek-proyek di Bagian II.

Integer dan Float

Ketika kamu membagi dua angka, meskipun hasilnya bilangan bulat, maka Python akan selalu memberi hasilnya sebagai sebuah float:

>>> 4/2
2.0

Jika kamu mencampur flaot dan integer dalam operasi apapun, maka kamu akan mendapatkan float juga.

>>> 1 + 2.0
3.0
>>> 2 * 3.0
6.0
>>> 3.0 ** 2
9.0

Python akan selalu menggunakan float untuk setiap operasi yang menggunakan float meski hasilnya bilangan bulat.

Underscore di Angka

Saat menulis angka yang panjang, kamu bisa menuliskan underscore untuk membuat angka yang besar lebih mudah di baca:

>>> universe_age = 14_000_000_000

Ketika kamu mencetak angka yang ditulis menggunakan underscore Python hanya akan mencetak angkanya saja:

>>> print(universe_age)
14000000000

Python mengabaikan garis bawah ketika menyimpan jenis nilai seperti ini. Bagi Python, 1000 sama dengan 1_000, yang juga sama dengan 10_00. Fitur ini berlaku baik untuk integer maupun float.

Multiple Assignment

Kamu dapat menetapkan nilai ke lebih dari satu variabel hanya dengan satu baris kode. Ini dapat membantu mempersingkat program kamu dan membuatnya lebih mudah dibaca; teknik ini paling sering kamu gunakan saat inisialisasi sekumpulan angka. Sebagai contoh, berikut cara inisialisasi variabel x, y, dan z menjadi nol:

>>> x, y, z = 0, 0, 0

Kamu perlu memisahkan nama variabel dengan koma, dan melakukan hal yang sama pada nilai-nilainya, lalu Python akan menetapkan setiap nilai ke variabel yang sesuai. Selama jumlah nilai sama dengan jumlah variabel, Python akan memasangkannya dengan benar.

Constant

Sebuah constant (konstanta) adalah variabel yang nilainya tetap sama sepanjang masa hidup sebuah program. Python tidak memiliki tipe constant bawaan, tetapi para programmer Python menggunakan huruf kapital untuk menandai bahwa sebuah variabel seharusnya diperlakukan sebagai constant dan tidak pernah diubah:

MAX_CONNECTIONS = 5000

Ketika kamu ingin memperlakukan sebuah variabel sebagai constant di dalam kode kamu, tulislah nama variabel tersebut dengan huruf kapital semua.

💻Cobalah Sendiri

2-9. Angka Delapan: Tulislah operasi penjumlahan, pengurangan, perkalian, dan pembagian yang masing-masing menghasilkan angka 8. Pastikan kamu membungkus setiap operasi di dalam pemanggilan print() agar hasilnya terlihat. Kamu harus membuat empat baris yang terlihat seperti ini:

print(5+3)

Output kamu harus terdiri dari empat baris, dengan angka 8 muncul satu kali di setiap baris.

2-10. Angka Favorit: Gunakan sebuah variabel untuk merepresentasikan angka favorit kamu. Kemudian, menggunakan variabel tersebut, buat sebuah pesan yang mengungkapkan angka favorit kamu. Cetak pesan tersebut.

Komentar

Komentar adalah fitur yang sangat berguna di sebagian besar bahasa pemrograman. Semua yang telah kamu tulis dalam program-program kamu sejauh ini adalah kode Python. Seiring program kamu menjadi lebih panjang dan lebih kompleks, kamu sebaiknya menambahkan catatan di dalam program yang menjelaskan pendekatan umum yang kamu ambil untuk menyelesaikan masalah. Sebuah komentar memungkinkan kamu menuliskan catatan dalam bahasa sehari-hari di dalam program kamu.

Bagaimana Cara Menulis Komentar?

Di Python, tanda pagar (#) menandakan sebuah komentar. Apa pun yang ditulis setelah tanda pagar di dalam kode akan diabaikan oleh Python interpreter. Sebagai contoh:

# Say hello to everyone.
print("Hello Python people!")

Python mengabaikan baris pertama dan hanya menjalankan baris kedua.

Hello Python people!

Komentar Apa yang Seharusnya Kita Tulis?

Alasan utama menulis komentar adalah untuk menjelaskan apa yang seharusnya dilakukan oleh kode kamu dan bagaimana cara kerjanya. Saat kamu sedang mengerjakan sebuah aplikasi, kamu memahami bagaimana semua bagian saling terhubung. Namun, ketika kamu kembali ke aplikasi tersebut setelah beberapa waktu, kamu kemungkinan akan melupakan sebagian detailnya. Kamu memang selalu bisa mempelajari ulang kode kamu untuk memahami kembali cara kerjanya, tetapi menulis komentar yang baik dapat menghemat waktu dengan merangkum pendekatan umum kamu secara jelas.

Jika kamu ingin menjadi programmer profesional atau bekerja sama dengan programmer lain, kamu seharusnya menulis komentar yang bermakna. Saat ini, sebagian besar perangkat lunak ditulis secara kolaboratif, baik oleh sekelompok karyawan di sebuah perusahaan maupun oleh sekelompok orang yang bekerja bersama dalam proyek open source. Programmer yang terampil mengharapkan adanya komentar di dalam kode, jadi sebaiknya kamu mulai menambahkan komentar yang deskriptif ke dalam program kamu sekarang. Menulis komentar yang jelas dan ringkas di dalam kode adalah salah satu kebiasaan paling bermanfaat yang bisa kamu bangun sebagai programmer pemula.

Saat kamu memutuskan apakah perlu menulis sebuah komentar, tanyakan pada diri kamu sendiri apakah kamu harus mempertimbangkan beberapa pendekatan sebelum menemukan cara yang masuk akal untuk membuat sesuatu bekerja; jika ya, tulislah komentar tentang solusi kamu. Jauh lebih mudah menghapus komentar yang berlebihan di kemudian hari daripada harus kembali dan menulis komentar untuk program yang hampir tidak memiliki komentar. Mulai sekarang, penulis akan menggunakan komentar dalam contoh-contoh di sepanjang buku ini untuk membantu menjelaskan bagian-bagian kode.

💻Cobalah Sendiri

2-11. Menambahkan Komentar: Pilih dua proram yang sudah kamu buat dan tambahkan minimal satu komentar di setiap program. Kalau kamu tidak punya penjelasan apapun karena programnya masih terlalu sederhana, cukup tambahkan namamu beserta tanggal hari ini diatas setiap file. Selanjutnya tuils satu kalimat yang menjelaskan tentang apa program itu.

The Zen of Python

Programmer Python yang berpengalaman akan mendorong kamu untuk menghindari kompleksitas dan mengutamakan kesederhanaan sebisa mungkin. Filosofi komunitas Python tertuang dalam “The Zen of Python” karya Tim Peters. Kamu dapat mengakses kumpulan prinsip singkat ini untuk menulis kode Python yang baik dengan mengetik import this di dalam interpreter kamu. Penulis tidak akan menampilkan seluruh isi “Zen of Python” di sini, tetapi akan membagikan beberapa baris untuk membantu kamu memahami mengapa prinsip-prinsip tersebut penting bagi kamu sebagai programmer Python pemula.

>>> import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.

Programmer Python menerima gagasan bahwa kode bisa menjadi sesuatu yang indah dan elegan. Dalam pemrograman, orang-orang memecahkan masalah, dan para programmer sejak lama menghargai solusi yang dirancang dengan baik, efisien, bahkan indah. Seiring kamu semakin banyak belajar Python dan menggunakannya untuk menulis lebih banyak kode, suatu hari nanti mungkin ada seseorang yang melihat kode kamu dan berkata, “Wah, ini kode yang indah!”

Simple is better than complex.

Jika kamu memiliki pilihan antara solusi yang sederhana dan yang kompleks dan keduanya sama-sama berfungsi, gunakanlah solusi yang sederhana. Kode kamu akan lebih mudah dikelola, dan akan lebih mudah bagi kamu maupun orang lain untuk mengembangkannya di kemudian hari.

Complex is better than complicated.

Kehidupan itu rumit, dan terkadang solusi sederhana untuk sebuah masalah tidak dapat dicapai. Dalam kasus seperti itu, gunakanlah solusi paling sederhana yang tetap dapat bekerja.

Readability counts.

Bahkan meski kode yang kamu tulis kompleks, usahakan agar masih tetap bisa terbaca. Bila program yang kamu kerjakan kodingannya kompleks, fokus dengan menulis komentar yang informatif.

There should be one-- and preferably only one --obvious way to do it.

Jika dua programmer Python diminta untuk menyelesaikan masalah yang sama, mereka seharusnya menghasilkan solusi yang cukup selaras satu sama lain. Ini bukan berarti tidak ada ruang untuk kreativitas dalam pemrograman—sebaliknya, ruang untuk kreativitas sangatlah besar! Namun, sebagian besar pemrograman terdiri dari penggunaan pendekatan-pendekatan kecil yang umum untuk situasi-situasi sederhana di dalam sebuah aplikasi yang lebih besar dan lebih kreatif. Bagian-bagian dasar dari program kamu seharusnya dapat dipahami oleh programmer Python lainnya.

Now is better than never.

Kamu bisa menghabiskan sisa hidupmu untuk mempelajari semua seluk-beluk Python dan pemrograman secara umum, tetapi jika begitu kamu tidak akan pernah menyelesaikan satu pun aplikasi. Jangan berusaha menulis kode yang sempurna; tulislah kode yang berfungsi, lalu putuskan apakah kamu ingin memperbaikinya untuk aplikasi tersebut atau beralih ke sesuatu yang baru.

Saat kamu melanjutkan ke bab berikutnya dan mulai membahas topik-topik yang lebih mendalam, cobalah untuk tetap mengingat filosofi kesederhanaan dan kejelasan ini. Programmer yang berpengalaman akan lebih menghargai kode kamu dan akan dengan senang hati memberikan masukan serta bekerja sama dengan kamu dalam proyek-proyek yang menarik.

💻Cobalah Sendiri

2-12. Zen of Python: Ketikkan import this ke sesi terminal Python dan baca prinsip-prinsip lainnya.

Ringkasan

Pada bab ini, kamu telah mempelajari cara bekerja dengan variabel. Kamu belajar menggunakan nama variabel yang deskriptif serta menangani name error dan syntax error ketika muncul. Kamu mempelajari apa itu string dan bagaimana menampilkannya dalam huruf kecil, huruf kapital, dan title case. Kamu mulai menggunakan whitespace untuk menata output agar rapi, dan kamu mempelajari cara menghapus elemen yang tidak diperlukan dari sebuah string. Kamu juga mulai bekerja dengan integer dan float, serta mempelajari beberapa cara untuk mengolah data numerik. Kamu juga belajar menulis komentar penjelas agar kode kamu lebih mudah dibaca oleh kamu sendiri maupun orang lain. Terakhir, kamu membaca tentang filosofi menjaga kode tetap sesederhana mungkin ketika memungkinkan.

Pada Bab 3, kamu akan mempelajari cara menyimpan kumpulan informasi dalam struktur data yang disebut list. Kamu juga akan belajar cara menelusuri sebuah list dan memanipulasi informasi yang ada di dalamnya.