Anda di sini

Pemrograman

Python 3 RLE BAB 1: Seni Dalam Program

Aditya Suranata - 09 Desember 2015 17:09:36 0

Tujuan dari buku ini adalah untuk mengajarkan bagimana berpikir seperti seorang ilmuan komputer. Cara berpikir seorang ilmuan komputer itu mengkombinasikan beberapa fitur terbaik dari matematika, perekayasaan, dan ilmu pengentahuan alam. Seperti halnya ahli matematika, para ilmuan komputer menggunakan bahasa formal untuk menyatakan ide-ide (khususnya yang meyangkut komputasi). Seperti seorang insinyur, para ilmuan komputer juga mendesain sesuatu, merakit komponen menjadi sistem dan menilai timbal balik diantara alternatif yang ada. Dan juga bagaikan seorang ilmuan pengetahuan alam, mereka para ilmuan komputer juga mengamati prilaku dari sistem yang kompleks, membentuk hipotesis, dan menguji prediksi.

Satu kemampuan yang paling penting untuk seorang ilmuan komputer adalah problem solving. Problem solving berarti kemampuan untuk merumuskan masalah, berpikir kreatif tentang solusi, dan mengungkapkan solusi secara jelas dan akurat. Ternyata, proses dari belajar memprogram merupakan sebuah kesempatan yang sangat bagus untuk mempraktekan kemampuan problem solving. Itulah kenapa Bab ini dinamakan, Seni dalam program.

1.1. Bahasa Pemrograman Python

Bahasa pemrograman yang akan kamu pelajari adalah Python. Python adalah contoh dari bahasa tingkat tinggi; bahasa tingkat tinggi lainnya yang mungkin kamu pernah dengar adalah C++, PHP, Pascal, C#, dan Java.

Seperti yang mungkin kamu simpulkan dari bahasa tingkat tinggi, terdapat juga bahasa tingkat rendah, kadang disebut juga sebagai bahasa mesin atau bahasa assembly (rakitan). Secara gamblang, komputer hanya bisa menjalankan program yang ditulis dalam bahasa tingkat rendah. Sehingga, program yang ditulis dalam bahasa tingkat tinggi harus diterjemahkan dahulu dalam bentuk yang sesuai sebelum bisa dijalankan.

Hampir semua program ditulis dalam bahasa tingkat tinggi karena keunggulannya. Jauh lebih mudah untuk memprogram dalam bahasa tingkat tinggi, program menjadi mudah dibuat dan memerlukan sedikit waktu untuk menyelesaikannya, kodenya menjadi lebih pendek dan lebih mudah untuk dibaca, dan tentu lebih terhindar dari kesalahan. Kedua, bahasa tingkat tinggi bersifat portabel, yang artinya dapat dijalankan pada komputer jenis lain dengan beberapa atau bahkan sama sekali tanpa memerlukan modifikasi.

Mesin yang menterjemahkan dan menjalankan Python dinamakan Python Interpreter: Terdapat dua cara untuk menggunakannya: immediate mode dan script mode. Pada immediate mode, kamu mengetik ekspresi Python kedalam jendela interpreter Python, dan secara langsung interpreter menampilkan hasilnya:

Tanda >>> dinamakan Python prompt. Interpreter menggunakan prompt untuk menandakan ia siap untuk menerima perintah. Kita mengetikan 2 + 2, dan interpreter menilai ekspresi yang kita masukan, dan menjawab dengan 4, dan setelah selesai pada baris berikutnya interpreter memberikan kita prompt baru, menandakan dia siap menerima input baru.

Atau, kamu bisa menulis sebuah program pada file dan menggunakan interpreter untuk mengeksekusi isi dari file. File tersebut dinamakan script. Script memiliki keunggulan seperti bisa disimpan di disk, dicetak, dan banyak lagi yang lainnya.

Pada Rhodes Local Edition teks book ini, kita menggunakan lingkungan pengembangan program yang bernama PyScripter. (Tersedia untuk diunduh di http://sourceforge.net/projects/pyscripter/.) Ada banyak lagi lingkungan pengembangan lainnya. Jika kamu menggunakan salah satu dari yang lainnya, kamu mungkin lebih baik menggunakan versi asli dari buku yang dibuat penulis dari pada versi RLE ini.

Sebagai contoh, kita sudah membuat file dengan nama firstprogram.py menggunakan PyScripter. Demi kenyamanan, file yang berisi program Python memiliki nama (ekstensi) yang diakhiri dengan .py

Untuk menjalankan program, kita bisa mengklik tombol Run pada PyScripter:

Program pada umumnya tentu jauh lebih menarik ketimbang yang satu ini.

Bekerja secara langsung pada interpreter terasa nyaman untuk testing beberapa baris kode karena kamu akan mendapatkan hasilnya langsung. Bayangkan seperti kita menggunakan kertas corat coret untuk membantu merumuskan masalah. Jika kodenya panjang dan berbaris-baris maka wajib untuk menggunakan script.

1.2. Apa Itu Program ?

Sebuah program merupakan urutan instruksi yang menentukan bagaimana cara melakukan suatu perhitungan. Perhitungan tersebut bisa saja sesuatu yang bersifat matematis, seperti memecahkan sistem persamaan atau mencari akar polinomial, tapi itu bisa juga perhitungan simbolis, seperti mencari dan mengganti teks pada dokumen atau (yang cukup aneh) mengkompilasi sebuah program.

Detailnya terlihat berbeda pada bahasa yang berbeda, tapi beberapa instruksi dasar terlihat ada di setiap bahasa:

input : Mendapatkan data dari keyboard, file, atau perangkat lainnya.

output : Menampilkan data di layar atau mengirim data ke file atau perangkat lainnya.

math : Melakukan operasi matematika dasar seperti penjumlahan dan perkalian.

conditional execution : Cek untuk kondisi tertentu dan eksekusi rentetan pernyataan yang sesuai.

repetition : Lakukan beberapa aksi secara berulang, biasanya dengan beberapa variasi.

Percaya atau tidak, semua yang ada hanya untuk itu. Setiap program yang mungkin pernah kamu gunakan, tidak penting seberapa rumitnya, adalah dibuat dari instruksi yang terlihat lebih atau kurang dari yang tersebut diatas. Jadi, kita bisa menjelaskan kalau pemrograman itu adalah proses dari pemecahan tugas besar dan kompleks, menjadi tugas-tugas yang lebih kecil hingga tugas kecil tersebut cukup sederhana untuk bisa diselesaikan dengan rentetan dari instruksi dasar tersebut.

Itu mungkin jadi sedikit samar, tapi kita akan balik lagi ke topik ini nanti ketika kita bicara tentang algoritma.

1.3. Apa Itu Debugging ?

Pemrograman merupakan proses yang kompleks, dan karena itu dilakukan oleh manusia, maka sering terjadi error. Error pada pemrograman dinamakan bug dan proses untuk mencari error tersebut dan pemecahannya dinamakan debugging. Penggunaan dari istilah bug untuk menjelaskan kesulitan kecil perekayasaan merujuk kembali pada tahun 1889, ketika Thomas Edison menemukan serangga (bug) pada phonografnya.

Tiga jenis error bisa terjadi pada sebuah program: syntax error, runtime error, dan semantic error. Membedakan ketiga jenis error tersebut akan sangat berguna untuk mencari masalahnya dengan cepat.

1.4. Syntax Error

Python hanya akan bisa menjalankan program apabila sintaksis/sintax programnya ditulis dengan benar; jika tidak, prosesnya akan gagal dan muncul pesan error. Syntax merujuk pada struktur dari sebuah program dan aturan mengenai struktur tersebut. Sebagai contoh, dalam bahasa Indonesia, sebuah kalimat mesti diawali dengan huruf besar dan diakhiri dengan tanda titik. kalimat ini memiliki syntax error. Kalimat ini baru benar.

Bagi kebanyakan pembaca, beberapa syntax error bukanlah masalah penting, itulah mengapa kita bisa membaca puisi dari E. E. Cummings dan Chairil Anwar tanpa masalah. Namun Python tidak begitu pemaaf. Jika terdapat satu saja syntax error pada program mu, Python akan menampilkan pesan error dan langsung berhenti dan keluar, dan kamu tidak akan bisa menjalankan program mu. Selama beberapa minggu awal dari karir pemgrograman, kamu mungkin akan menghabiskan banyak waktu untuk mencari syntax error. Seiring bertambahnya pengalaman, tentunya kamu akan membuat lebih sedikit kesalahan dan bisa menemukan kesalahan dengan cepat.

1.5. Runtime Error

Jenis error kedua adalah runtime error, dinamakan begitu karena errornya tidak akan muncul sebelum kamu menjalankan programnya. Error jenis ini juga dinamakan exceptions karena mereka biasanya mengindikasikan bahwa sesuatu yang sifatnya diluar kendali dan buruk (exceptional and bad) telah terjadi.

Runtime error jarang terjadi pada program sederhana yang akan kamu lihat pada beberapa Bab awal dari buku ini, jadi mungkin akan butuh beberapa waktu hingga kamu akan mengalaminya.

1.6. Semantic Error

Jenis ketiga dari error adalah semantic error. Jika terdapat semantic error pada program mu, ia akan berjalan dengan lancar, dalam artian komputer tidak akan menampilkan pesan error apapun, tapi programnya tidak akan melakukan apa yang seharusnya. Programnya akan melakukan hal lain. Khususnya, ia akan melakukan apa yang kamu suruh.

Masalahnya adalah program yang kamu tulis itu bukanlah program yang ingin kamu buat. Maksud dari programnya (semantic-nya) tidak tepat. Mengidentifikasi semantic error bisa menjadi cukup sulit karena memerlukan kerja keras dengan mencari kebelakang melalui output programnya dan mencoba untuk menemukan apa yang programnya lakukan.

1.7. Experimental debugging

Satu dari skill penting yang akan kamu kuasai adalah debugging. Meskipun sering membuat frustrasi, debugging adalah satu dari bagian pemrograman yang kaya ilmu, menantang, dan menarik.

Dalam beberapa cara, debugging sama halnya dengan pekerjaan seorang detektif. Kamu akan dihadapkan dengan clue / petunjuk, dan kamu harus menyimpulkan proses dan peristiwa yang menyebabkan hasil yang kamu lihat tersebut.

Debugging juga sama seperti ilmu pengetahuan eksperimental. Saat kamu memiliki ide tentang apa yang salah, kamu langsung memodif programnya dan mencobanya lagi. Jika hipotesis yang kamu buat benar, maka kamu akan bisa menebak hasil dari modifikasi tersebut, dan tentunya akan maju selangkah ke titik dinama programnya bisa bekerja. Namun jika hipotesisnya salah, kamu harus mencoba lagi dengan yang baru. Seperti yang dikatakan Sherlock Holmes, Ketika kamu telah menyingkirkan ketidakmungkinan, maka apapun yang masih tersisa, dan seberapa pun mustahilnya itu, haruslah menjadi kebenaran. (A. Conan Doyle, The Sigh of Four).

Bagi sebagian orang, pemrograman dan debugging adalah hal yang sama. Itulah, pemrograman adalah proses dari debugging secara bertahap sebuah program hingga ia melakukan apa yang kamu inginkan. Pemahamannya adalah kamu harus memulai dengan sebuah program yang melakukan sesuatu dan kemudian melakukan modifikasi kecil, debugging seiring waktu, jadi kamu selalu punya program yang bisa bekerja.

Sebagai contoh, Linux adalah sebuah kernel sistem operasi yang terdiri dari jutaan baris kode, tapi ia juga dimulai dari program sederhana yang digunakan Linus Torvalds untuk mengeksplorasi chip Intel 80386. Menurut Larry Greenfield, satu dari proyek Linus sebelumnya adalah sebuah program yang hanya bisa berubah dari menampilkan AAAA menjadi BBBB. Ini kemudian dikembangkan ke Linux (The Linux Users' Guide Beta Version 1).

Pada Bab berikutnya kita akan membuat beberapa saran tentang debugging dan praktek pemrograman lainnya.

1.8. Bahasa Formal dan Bahasa Natural

Bahasa Natural adalah bahasa yang diucapakan orang-orang, seperi misalnya Bahasa Indonesia, English, Spanish, dan French. Mereka tidak didesain oleh orang (meskipun orang-orang mencoba untuk menekankan aturan padanya), mereka (bahasa natural) terbentuk secara alami.

Bahasa Formal adalah bahasa yang didesain oleh orang untuk penggunaan tertentu. Sebagai contoh, notasi yang digunakan matematika adalah bahasa formal yang khususnya bagus untuk menyatakan hubungan antara angka-angka dan simbol-simbol. Ahli kimia menggunakan bahasa formal untuk merepresentasikan struktur kimia dari molekul-molekul. Dan yang paling penting:

Bahasa pemrograman adalah bahasa formal yang telah didesain untuk mengekspresikan perhitungan.

Bahasa formal cenderung memiliki aturan ketat tentang syntax. Contohnya 3 + 3 = 6 secara syntax matematika merupakan pernyataan yang benar, tapi 3=+6$ adalah tidak. H2O secara syntax adalah memang benar nama kimia, tapi 2Zz adalah tidak.

Aturan syntax ada dalam dua rasa, dalam kaitannya dengan token dan struktur. Token adalah elemen dasar dari bahasa, seperti misalnya kata-kata, angka-angka, tanda kurung, koma, dan yang lainnya. Di Python, sebuah pernyataan seperti print("Selamat Tahun Baru ",2016) memiliki 6 token: nama fungsi, sebuah kurung buka, sebuah string, koma, angka, dan sebuah kurung tutup.

Kita mungkin membuat kesalahan ketika menyusun token. Satu dari kesalahan pada 3=+6$ adalah bahwa tanda $ tidak legal dalam token matematika (setidaknya sejauh yang kita tahu sekarang). Begitupun dengan 2Zz tidak legal dalam notasi kimia karena tidak ada elemen dengan singkatan Zz.

Jenis rasa kedua dari syntax adalah struktur dari sebuah pernyataan -- yaitu, cara bagaimana token-token diatur. Pernyataan 3=+6$ secara struktur adalah ilegal karena kamu tidak bisa menempatkan tanda tambah langsung setelah sebuah tanda sama dengan. Begitu juga dengan formula molekuler yang memiliki subscript (huruf kecil bawah) setelah nama, bukan sebelumnya. Dan dalam contoh Python kita, jika kita menghilangkan komanya, atau jika kita mengganti dua kurung menjadi print)"Selamat Tahun Baru ",2016( maka pernyataan kita masih tetap memiliki enam token yang valid dan legal, akan tetapi strukturnya adalah ilegal.

Ketika kamu membaca sebuah kalimat dalam bahasa Indonesia atau sebuah pernyataan dalam bahasa formal, kamu mesti mencari tahu apa struktur dari kalimat tersebut (meskipun dalam bahasa natural kamu juga melakukan ini secara tidak sadar). Inilah proses yang dinamakan dengan parsing.

Contohnya, ketika kamu mendengar kalimat, "Sepatu lainnya jatuh", kamu memahami bahwa sepatu lainnya sebagai subyek dan jatuh sebagai kata kerja. Setelah kamu mem-parse sebuah kalimat, kamu bisa mengetahui apa yang dimaksud, atau semantic dari kalimat tersebut. Kita asumsikan bahwa kamu mengetahui apa itu sepatu dan apa maksudnya ia jatuh, maka kamu akan mengerti implikasi umum dari kalimat tersebut.

Meskipun bahasa formal dan natural memiliki banyak fitur yang sama -- token, struktur, syntax, dan semantics -- tapi masih terdapat banyak perbedaan:

Ambiguity
Bahasa natural penuh dengan ambiguitas, yang mana orang-orang berhubungan dengan menggunakan petunjuk kontekstual dan informasi lainnya. Bahasa formal didesain untuk mendekati atau benar-benar tidak ambigu, yang artinya bahwa setiap pernyataan memiliki hanya satu makna, tanpa adanya konteks.

Redundancy
Untuk dapat menembus ambiguitas dan mengurangi salah paham, bahasa natural menggunakan banyak redundancy (kelebihan / pengulangan). Sebagai hasilnya, bahasa natural cenderung menjadi panjang. Bahasa formal memiliki lebih sedikit redundant dan tentunya menjadi lebih padat.

Literalness
Bahasa formal berarti tepat seperti apa yang dikatakan. Disisi lainnya, bahasa natural dipenuhi dengan idiom / ungkapan / logat khas dan metafora. Jika seseorang berkata, "Sepatu lainnya jatuh", maka sesungguhnya tidak ada sepatu dan tak ada yang jatuh. Kamu jadinya perlu mencari arti guyonan aslinya untuk memahami arti idiomatik dari sepatu lainnya jatuh. Yahoo! Answers mengatakan kalau dia tahu.

Orang tumbuh besar mengucapkan bahasa natural -- semua orang -- sering mengalami waktu yang sulit untuk menyesuaikan dengan bahasa formal. Dalam beberapa cara, perbedaan antara bahasa formal dan natural adalah seperti perbedaan antara puisi dan prosa, untuk lebih lengkapnya:

Pusisi
Kata-kata digunakan untuk suaranya begitu juga dengan artinya, dan seluruh sajaknya bersama-sama membuat sebuah efek atau respon emosional. Abiguitasnya tidak hanya umum tapi juga memang disengaja.

Prosa
Maksud literal dari kata-katanya lebih penting, dan strukturnya berkontribusi lebih ke arti. Prosa lebih dapat dipertanggungjawabkan ketimbang puisi tapi kadang masih juga ambigu.

Program
Maksud dari program komputer harus literal dan tidak ambigu, dan bisa dipahami seluruhnya melalui analisis dari token dan struktur.

Berikut adalah beberapa saran untuk membaca program (dan bahasa formal lainnya). Pertama, harus diingat bahwa bahasa formal bentuknya lebih padat ketimbang bahasa natural, jadi akan memerlukan lebih banyak waktu untuk membacanya. Juga, strukturnya juga penting, jadi bukan ide yang bagus untuk membaca dari atas ke bawah, kiri ke kanan. Namun, coba untuk mem-parse programnya di kepala, kenali token-tokennya dan interpretasikan strukturnya. Terakhir, perhatikan rincian masalahnya. Hal kecil seperti salah eja dan tanda baca yang buruk, yang mana tidak terlalu berarti dalam bahasa natural, bisa menjadi hal yang benar-benar berbeda dan serius pada bahasa formal.

1.9. Program Pertama

Tradisionalnya, program pertama yang ditulis menggunakan bahasa baru dinamakan Hello World! karena semua yang dilakukan hanyalah menampilkan kata tersebut, Hello, World! di Python, skripnya terlihat seperti ini: (Untuk skrip, kita akan menampilkan nomer baris pada bagian kiri dari pernyataan Python.)

print("Hello, World!")

Ini merupakan contoh dari penggunaan fungsi print, yang sebenarnya tidak mencetak apapun ke atas kertas. Tapi fungsi ini menampilkan sebuah nilai di layar. Dalam hal ini, hasil yang diperlihatkan adalah

Hello, World!

Tanda petik dua pada program menandai awal dan akhir dari nilai; dan tanda tersebut tidak ikut ditampilkan pada hasil.

Beberapa orang menilai kualitas dari sebuah bahasa pemrograman hanya dari tingkat kesederhanaan Hello, World! nya. Dengan standar ini, Python melakukan sebaik mungkin.

1.10. Penggunaan Komentar

Seiring dengan ukuran program yang semakin besar dan rumit, maka makin sulit juga untuk dibaca. Bahasa formal bentuknya padat, dan biasanya sulit untuk melihat pada potongan kode dan memahami apa yang dilakukannya, atau mengapa.

Untuk alasan ini, merupakan ide bagus untuk menambahkan catatan-catatan ke program mu untuk menjelaskan dalam bahasa natural apa yang dilakukan program tersebut.

Sebuah komentar dalam program komputer merupakan teks yang ditujukan hanya untuk pembaca manusia -- dan secara keseluruhan dihiraukan oleh interpreter.

Di Python, token # akan memulai sebuah komentar. Seluruh baris tersebut akan dihiraukan. Ini adalah versi baru dari Hello, World!.

#---------------------------------------------------
# This demo program shows off how elegant Python is!
# Written by Wayan Tomblos, December 2015.
# Anyone may freely copy or modify this program.
#---------------------------------------------------

print("Hello, World!")     # Isn't this easy!

Kamu juga akan menyadari bahwa kita menyisakan baris kosong pada program diatas. Baris kosong juga dihiraukan oleh interpreter, tapi komentar-komentar dan baris kosong bisa membuat program mu jauh lebih mudah untuk di-parse oleh manusia. Maka gunakan mereka dengan bebas!

1.11. Glosarium

algoritma
Sekumpulan langkah-langkah khusus untuk memecahkan sebuah kategori dari masalah.

bug
Sebuah kesalahan (error) pada program.

komentar
Informasi pada sebuah program yang dimaksudkan untuk programer lain (atau siapa saja yang membaca kode sumber) dan tidak memiliki efek apapun pada proses eksekusi program.

debugging
Proses dari pencarian dan penghapusan tiga jenis error pada program.

exception
Nama lain dari runtime error

bahasa formal
Setiap bahasa yang didesain oleh orang-orang untuk tujuan khusus, seperti merepresentasikan ide matematis atau program komputer; semua bahasa pemrograman adalah bahasa formal.

bahasa tingkat tinggi
Sebuah bahasa pemrograman seperti Python yang didesain untuk mudah digunakan oleh manusia untuk membaca dan menulis.

immediate mode
Gaya dalam penggunaan Python dimana kita mengetikan ekspresi langsung pada command prompt, dan hasilnya juga langsung ditampilkan. Berlawanan dengan skrip, dan lihat catatannya pada Python Shell.

interpreter
Mesin yang mengeksekusi skrip Python atau ekspresi yang kamu buat.

bahasa tingkat rendah
Bahasa pemrograman yang didesain untuk mudah dijalankan oleh sebuah komputer; juga dinamakan bahasa mesin atau bahasa assembly (rakitan).

bahasa natural
Salah satu type bahasa yang digunakan orang untuk berbicara yang berkembang secara alami.

kode objek
Output dari penyusun (compiler) setelah ia menterjemahkan programnya.

parse
Untuk menilai sebuah program dan menganalisis struktur syntaksisnya.

portabilitas
Properti dari sebuah program yang bisa berjalan pada lebih dari satu jenis komputer.

fungsi print
Sebuah fungsi yang digunakan pada sebuah program yang menyebabkan Python interpreter menampilkan sebuah nilai pada perangkat keluaran (layar monitor).

problem solving
Proses dari merumuskan masalah, mencari solusi, dan mengekspresikan solusinya.

program
serentetan instruksi yang menentukan aksi komputer dan perhitungan yang dilakukan.

Python shell
Sebuah antarmuka pengguna yang interaktif dengan Python interpreter. Pengguna dari Python shell mengetikan perintah pada prompt (>>>), dan menekan tombol enter untuk mengirim perintah dengan segera ke interpreter untuk diproses. Kata shell datang dari Unix. Pada PyScripter yang digunakan pada versi RLE buku ini, Jendela Interpreter adalah dimana kita bisa melakukan interaksi dalam mode langsung (immediate mode).

runtime error
Sebuah error yang tidak terjadi hingga program telah dijalankan tapi akan menghalangi program untuk melanjutkan.

script / skrip
Sebuah program yang disimpan pada sebuah file (biasanya yang akan diterjemahkan / interpreted).

semantic error
Sebuah error pada program yang membuatnya melakukan hal lain ketimbang apa yang diinginkan oleh programer.

semantic
maksud / arti dari program

source code / kode sumber
Bentuk program dalam bahasa tingkat tinggi sebelum dikompilasi ke bahasa mesin.

syntax / syntaksis
Struktur dari program

syntax error
Sebuah error pada program yang membuatnya tidak bisa di-parse - dan maka dari itu tidak bisa diterjemahkan ke bahasa mesin.

token
Satu dari elemen dasar dari struktur semantik dari sebuah program, bisa dianalogikan seperti kata pada bahasa natural.

1.12. Latihan

1. Tulis sebuah kalimat Bahasa Indonesia yang secara semantic bisa dimengerti tapi secara syntax salah. Tulis kalimat Bahasa Indonesia lainnya yang syntaxnya benar tapi semanticnya salah.

2. Menggunakan Python interpreter, ketik 1 + 2 dan tekan enter. Python menilai ekspresi ini, menampilkan hasilnya, dan kemudian menampilkan prompt lainnya. * adalah operator perkalian, dan ** adalah operator perpangkatan. Lakukan percobaan dengan memasukan ekspresi lainnya dan catat apa yang di tampilkan oleh Python interpreter.

3. Ketik 1 2 lalu tekan enter. Python mencoba untuk menilai ekspresinya, tapi tidak bisa karena ekspresinya tidak legal secara syntax. Kemudian, pesan error ini akan muncul:

File "<interactive input>", line 1
    1 2
      ^
SyntaxError: invalid syntax

Dalam banyak kasus, Python menandai dimana syntax error terjadi, tapi tidak selalu tepat, dan itu tidak memberikan mu cukup informasi mengenai apanya yang salah.

Jadi, untuk bagian besarnya, beban akan dilimpahkan kepada mu untuk mempelajari aturan dari syntax.

Dalam kasus ini, Python mengeluh karena tidak terdapat operator antara angka-angka tersebut.

Lihat jika kamu bisa menemukan beberapa contoh lain dari hal yang bisa menghasilkan pesan error ketika kamu memasukannya ke Python prompt. Tuliskan apa yang kamu masukan pada prompt dan baris terakhir dari pesan error yang dilaporkan balik oleh python.

4. Ketik print("hello"). Python mengeksekusi ini, yang efeknya akan mencetak huruf h-e-l-l-o. Perhatikan bawa tanda petik dua yang kamu gunakan untuk mengapit stringnya tidak ikut tercetak ke output. Sekarang ketik "hello" dan jelaskan hasilnya. Buat catatan saat kapan kamu melihat tanda petik dua dan kapan tidak.

5. Ketik cheese tanpa tanda petik dua. Outputnya akan menjadi seperti berikut:

Traceback (most recent call last):
  File "<interactive input>", line 1, in ?
NameError: name 'cheese' is not defined

Ini adalah runtime error; khususnya, merupakan NameError, dan bahkan lebih spesifik lagi, ini adalah error karena nama cheese tidak didefinisikan. Jika kamu belum tahu apa artinya ini, dengan segera kamu akan tahu.

6. Ketik 6 + 4 * 9 pada Python prompt dan tekan enter. Rekam apa yang terjadi.
Sekarang buat skrip Python dengan isi berikut:

6 + 4 * 9

Apa yang terjadi ketika kamu menjalankan skrip ini ? Sekarang ganti isi skripnya menjadi

print(6 + 4 * 9)

dan jalankan lagi.

Apa yang terjadi kemudian ?

Ketika sebuah ekspresi diketikan pada Python prompt, ia akan dinilai dan hasilnya akan dengan otomatis diperlihatkan pada baris dibawahnya. (Seperti kamu menggunakan kalkulator, jika kamu mengetik ekspresi ini kamu akan mendapatkan hasil 42.)

Namun, lain dengan skrip. Penilaian dari ekspresi tidak ditampilkan secara otomatis, jadi perlu menggunakan fungsi print untuk membuat jabawabanya muncul.

Tapi pada immediate mode, penggunakan fungsi print sama sekali tidak diperlukan.

10.347
Daftar Artikel Terkait
Image

Aditya Suranata

Aditya suka menulis, bukan hanya sekedar hobi, menulis menjadi medianya untuk mencurahkan pikiran dan perasaan. Di TutorKeren.com kebanyakan menyumbang tulisan sesuai dengan minat dan keahliannya yaitu pada kategori pemrograman dan elektronika. Selain itu juga gemar menulis mengenai hal-hal umum, seperti ilmu alam, sosial dan beberapa pengalamannya yang mungkin bisa berguna untuk orang lain.

Artikel Menarik Lainnya
Mari Gabung

Halo Emo 51 , Ada yang ingin disampaikan? Jangan sungkan untuk gabung diskusi ini. Silahkan Login dulu atau Daftar baru.