07. Hello, World

Program pertama yang biasa ditulis dalam bahasa apa pun adalah yang mencetak Hello, world! lalu berhenti. Kecil, tapi menulisnya membuktikan bahwa bahasa sudah terinstall, editor sudah siap, dan terminal bisa menjalankan file. Bab ini menulis program itu, sengaja membuatnya error, lalu memperbaikinya.

Program lengkapnya

Buka exercises/07/01-hello.py di VS Code. File tersebut berisi satu baris:

print("Hello, world!")

Di terminal VS Code, jalankan:

python exercises/07/01-hello.py

Terminal mencetak:

Hello, world!

Itu saja programnya. Sisa bab ini menjelaskan setiap bagian dari baris tersebut.

Apa yang dilakukan print

print adalah sebuah function — sepotong kode yang punya nama dan melakukan pekerjaan tertentu saat dipanggil. Pekerjaan print adalah menulis apa pun yang kamu berikan ke terminal, diikuti dengan baris baru.

Tanda kurung ( dan ) setelah nama adalah cara kamu meminta function untuk berjalan. Apa pun di antara keduanya adalah yang kamu berikan.

print("Hello, world!")
#     ^^^^^^^^^^^^^^^
#     this is what we are giving to print

Dalam Python, hal-hal yang kamu berikan ke sebuah function disebut arguments. Program di atas memberikan satu argument ke print: string "Hello, world!".

Ganti teks di dalam tanda kutip dengan namamu sendiri. Simpan dan jalankan lagi. Terminal sekarang harusnya mencetak namamu.

String

Teks "Hello, world!" adalah sebuah string — urutan karakter. Dalam Python, string ditulis di antara tanda kutip ganda " atau tanda kutip tunggal '. Keduanya bisa:

print("Hello, world!")
print('Hello, world!')

Tanda kutip bukan bagian dari string. Tanda kutip menandai di mana string dimulai dan di mana string berakhir. Saat string dicetak, hanya yang ada di antara tanda kutip yang muncul.

Mencetak lebih dari satu hal

print bisa menerima lebih dari satu argument. Pisahkan dengan koma:

print("Hello,", "world!")

Terminal mencetak Hello,, spasi, lalu world!, semua dalam satu baris. print meletakkan spasi di antara setiap argument dan baris baru di akhir.

Untuk pemisah yang berbeda, buat sendiri satu string dengan +, yang menyambungkan string:

print("Hello, " + "world!")

Sekarang outputnya adalah Hello, world! dengan satu spasi di antara kata, karena spasi ada di dalam string pertama.

Cara yang lebih rapi untuk menggabungkan teks dan nilai adalah f-string. Taruh f sebelum tanda kutip pembuka dan gunakan kurung kurawal {} untuk memasukkan nilai:

name = "world"
print(f"Hello, {name}!")

Output:

Hello, world!

Buat print menampilkan tiga hal dalam satu baris: kata python, angka 3, dan kata is_fast. Jalankan. Perhatikan bahwa angka muncul meskipun tidak ada tanda kutip di sekitarnya.

Comment

Sebuah comment adalah teks yang diabaikan Python saat menjalankan program. Comment dibuat untuk manusia yang membaca kode. Comment satu baris dimulai dengan #:

# This line is a comment. Python does not run it.
print("Hello, world!")  # A comment can also sit at the end of a line.

Python tidak punya sintaks comment multi-baris khusus. Untuk menulis blok catatan yang lebih panjang, gunakan saja beberapa baris # berturut-turut:

# Anything in here is ignored.
# Useful for long explanations
# or for temporarily turning off
# a block of code.
print("Still runs.")

Gunakan comment untuk menjelaskan mengapa kode melakukan sesuatu, bukan apa yang dilakukan setiap baris. Kode yang baik sudah mengatakan apa.

Membuat dan membaca error

Sekarang sengaja rusak programnya. Di 01-hello.py, hapus tanda kutip terakhir sehingga barisnya menjadi:

print("Hello, world!)

Simpan dan jalankan. Python menolak menjalankan file dan mencetak error seperti ini:

  File "exercises/07/01-hello.py", line 1
    print("Hello, world!)
          ^
SyntaxError: unterminated string literal (detected at line 1)

Baca error dalam urutan ini:

  1. Nama file dan nomor baris (line 1). Di sinilah masalahnya. Lihat sini dulu.
  2. Tipe error (SyntaxError). Ini adalah kategori masalahnya.
  3. Pesan singkat (unterminated string literal). Ini adalah apa yang salah. "Unterminated string literal" berarti Python melihat tanda kutip pembuka dan memulai sebuah string tapi tidak pernah menemukan penutupnya.

Error bukan hukuman. Error memberitahu kamu tepat di baris mana yang harus dilihat dan memberikan petunjuk apa yang salah.

Perbaiki tanda kutip yang hilang supaya program berjalan lagi. Kemudian coba kesalahan lain: ganti print menjadi prnt dan jalankan. Baca error baru yang muncul. Apa yang disampaikan oleh pesannya? (Tidak perlu menulis jawabannya. Perhatikan saja.)

Catatan tentang spasi dan huruf besar-kecil

Python memperhatikan indentasi (spasi di awal baris). Kamu akan belajar alasannya di bab berikutnya. Untuk sekarang, jangan tambahkan spasi di awal baris mana pun kecuali buku ini memintamu.

Python memperhatikan huruf besar dan kecil. print adalah kata yang berbeda dari Print dan PRINT. Nama bawaan ditulis dengan huruf kecil.

Pekerjaan Rumah

File pekerjaan rumah ada di exercises/07/homework/. Buka setiap starter di VS Code, baca comment di bagian atas, dan selesaikan file tersebut agar bisa dijalankan dan menghasilkan output yang diharapkan.

Soal 1 — Sapa dirimu sendiri

Buka exercises/07/homework/01-greet-yourself.py. File ini kosong kecuali ada sebuah comment. Tulis tiga panggilan print agar saat dijalankan menampilkan, dalam tiga baris terpisah:

  • sapaan (pilih kata-katamu sendiri),
  • nama depanmu,
  • nama game favoritmu.

Soal 2 — Cetak sebuah kutipan

Buka exercises/07/homework/02-print-quote.py. Cetak sebuah kutipan terkenal di baris pertama dan nama pengarangnya di baris kedua dalam format ini:

"The best way to predict the future is to invent it."
                                            — Alan Kay

(Tanda strip sebelum nama pengarang bisa berupa tanda hubung biasa -. Spasi yang tepat tidak harus persis, asalkan kutipan ada di satu baris dan pengarang ada di baris berikutnya.)

Soal 3 — Perbaiki error-nya

Buka exercises/07/homework/03-fix-the-error.py. File ini tidak bisa dijalankan. Baca error yang dicetak Python, perbaiki file-nya, dan jalankan sampai kamu melihat:

All good now.

Ada lebih dari satu kesalahan dalam file tersebut. Temukan semuanya.

Tantangan — Cerita tiga baris

Buka exercises/07/homework/04-three-line-story.py. Tulis sebuah cerita mikro tiga baris di mana:

  • baris pertama menetapkan latar,
  • baris kedua memperkenalkan masalah,
  • baris ketiga menyelesaikan masalah.

Setiap baris harus dicetak oleh panggilannya sendiri ke print. Tambahkan blok baris comment # di bagian atas yang menjelaskan, dalam bahasa biasa, tentang apa ceritamu.

Stuck atau sudah selesai? Buka halaman solusi pekerjaan rumah untuk penjelasan lengkap.