1. Membangkitkan Selera Anda
****************************

Jika Anda melakukan banyak pekerjaan pada komputer, pada akhirnya Anda
menemukan bahwa ada beberapa tugas yang ingin Anda lakukan secara
otomatis. Misalnya, Anda mungkin ingin melakukan pencarian-dan-ganti
dari sejumlah besar berkas teks, atau ganti nama dan atur ulang banyak
file foto dengan cara yang rumit. Mungkin Anda ingin menulis basis
data khusus kecil, atau aplikasi GUI khusus, atau permainan sederhana.

Jika Anda seorang pengembang perangkat lunak profesional, Anda mungkin
harus bekerja dengan beberapa pustaka C/C++ /Java tetapi menemukan
siklus penulisan/kompilasi/pengujian/kompilasi ulang yang biasa
terlalu lambat. Mungkin Anda sedang menulis serangkaian pengujian
untuk pustaka seperti itu dan menemukan menulis kode pengujian tugas
yang membosankan. Atau mungkin Anda telah menulis sebuah program yang
dapat menggunakan bahasa ekstensi, dan Anda tidak ingin merancang dan
mengimplementasikan bahasa yang sama sekali baru untuk aplikasi Anda.

Python adalah bahasa yang sesuai untuk Anda.

Anda bisa menulis skrip Unix *shell* atau berkas *batch* Windows untuk
beberapa tugas ini, tetapi skrip *shell* paling baik untuk bergerak di
sekitar berkas dan mengubah data teks, tidak cocok untuk aplikasi atau
game GUI. Anda bisa menulis program C/C++/Java, tetapi mungkin butuh
banyak waktu pengembangan untuk mendapatkan bahkan program draft
pertama. Python lebih mudah digunakan, tersedia di sistem operasi
Windows, Mac OS X, dan Unix, dan akan membantu Anda menyelesaikan
pekerjaan dengan lebih cepat.

Python mudah digunakan, tetapi ini adalah bahasa pemrograman nyata,
menawarkan lebih banyak struktur dan dukungan untuk program besar
daripada skrip *shell* atau berkas *batch* dapat tawarkan. Di sisi
lain, Python juga menawarkan pemeriksaan kesalahan jauh lebih banyak
daripada C, dan, karena *bahasa tingkat sangat tinggi*, ia memiliki
tipe data tingkat tinggi yang tertanam di dalamnya, seperti *arrays*
dan *dictionary* yang fleksibel. Karena tipe datanya yang lebih umum,
Python dapat diterapkan pada domain masalah yang jauh lebih besar
daripada Awk atau bahkan Perl, namun banyak hal yang setidaknya
semudah dalam Python seperti pada bahasa-bahasa tersebut.

Python memungkinkan Anda untuk membagi program Anda menjadi modul yang
dapat digunakan kembali dalam program Python lainnya. Muncul dengan
koleksi besar modul standar yang dapat Anda gunakan sebagai dasar
program Anda --- atau sebagai contoh untuk mulai belajar memprogram
dengan Python. Beberapa modul ini menyediakan hal-hal seperti berkas
I/O, panggilan sistem, soket, dan bahkan antarmuka ke *toolkit*
antarmuka pengguna grafis seperti Tk.

Python adalah bahasa yang ditafsirkan, yang dapat menghemat waktu Anda
selama pengembangan program karena tidak diperlukan kompilasi dan
penautan. *interpreter* dapat digunakan secara interaktif, yang
membuatnya mudah untuk bereksperimen dengan fitur-fitur bahasa, untuk
menulis *throw-away programs*, atau untuk menguji fungsi selama
pengembangan program *bottom-up*. Ini juga merupakan kalkulator meja
yang berguna.

Python memungkinkan program ditulis secara ringkas dan mudah dibaca.
Program yang ditulis dengan Python biasanya jauh lebih pendek daripada
program C, C++, atau Java yang setara, karena beberapa alasan:

* tipe data tingkat tinggi memungkinkan Anda untuk mengekspresikan
  operasi yang kompleks dalam satu pernyataan;

* pengelompokan pernyataan dilakukan dengan indentasi alih-alih tanda
  kurung kurawal di awal dan akhir;

* tidak ada deklarasi variabel atau argumen yang diperlukan.

Python bersifa *extensible*: jika Anda tahu cara memprogram dalam C,
mudah untuk menambahkan fungsi atau modul bawaan baru ke
*interpreter*, baik untuk melakukan operasi kritis dengan kecepatan
maksimum, atau untuk menautkan program Python ke perpustakaan yang
mungkin hanya tersedia dalam bentuk biner (seperti pustaka grafik
spesifik vendor). Setelah Anda benar-benar ketagihan, Anda dapat
menautkan juru bahasa Python ke dalam aplikasi yang ditulis dalam C
dan menggunakannya sebagai ekstensi atau bahasa perintah untuk
aplikasi itu.

Ngomong-ngomong, bahasa tersebut dinamai menurut acara BBC "Sirkus
Terbang Monty Python" dan tidak ada hubungannya dengan reptil. Membuat
referensi ke sandiwara Monty Python dalam dokumentasi tidak hanya
diizinkan, tetapi juga dianjurkan!

Sekarang Anda semua bersemangat tentang Python, Anda akan ingin
memeriksanya lebih terinci. Karena cara terbaik untuk belajar bahasa
adalah menggunakannya, tutorial mengundang Anda untuk bermain dengan
*interpreter* Python saat Anda membaca.

Dalam bab selanjutnya, mekanisme penggunaan *interpreter* dijelaskan.
Ini adalah informasi yang biasa saja, tetapi penting untuk mencoba
contoh yang ditunjukkan nanti.

Sisa tutorial ini memperkenalkan berbagai fitur bahasa dan sistem
Python melalui contoh, dimulai dengan ekspresi sederhana, pernyataan
dan tipe data, melalui fungsi dan modul, dan akhirnya menyentuh
konsep-konsep lanjutan seperti pengecualian dan kelas yang ditentukan
pengguna.
