Tutorial Python
***************

Python adalah bahasa pemrograman yang berdaya dan mudah dipelajari.
Python memiliki struktur data tingkat tinggi yang efisien dan
pendekatan yang sederhana namun efektif untuk pemrograman berorientasi
objek. Sintaksis Python yang elegan dan tipe dinamis, bersama dengan
sifatnya yang diinterpretasikan, menjadikannya bahasa yang ideal untuk
skrip dan pengembangan aplikasi yang cepat di banyak area di sebagian
besar platform.

The Python interpreter and the extensive standard library are freely
available in source or binary form for all major platforms from the
Python web site, https://www.python.org/, and may be freely
distributed. The same site also contains distributions of and pointers
to many free third party Python modules, programs and tools, and
additional documentation.

Interpreter Python mudah dikembangkan dengan fungsi dan tipe data baru
diimplementasikan dalam C atau C ++ (atau bahasa lain yang bisa
dipanggil dari C). Python juga cocok sebagai bahasa tambahan untuk
aplikasi yang dapat disesuaikan.

Tutorial ini memperkenalkan pembaca secara informal ke konsep dan
fitur dasar bahasa dan sistem Python. Akan membantu untuk memiliki
interpreter Python yang praktis untuk pengalaman mencoba langsung,
tetapi semua contoh mandiri, sehingga tutorialnya dapat dibaca secara
off-line juga.

Untuk deskripsi objek dan modul standar, lihat Pustaka Standar Python.
Referensi Bahasa Python memberikan definisi bahasa yang lebih formal.
Untuk menulis ekstensi dalam C atau C ++, baca Memperluas dan
Menggabungkan Interpreter Python dan Panduan Referensi Python/API C.
Ada juga beberapa buku yang membahas Python secara mendalam.

Tutorial ini tidak mencoba menjadi komprehensif dan mencakup semua
fitur, atau bahkan setiap fitur yang umum digunakan. Alih-alih, ini
memperkenalkan banyak fitur Python yang paling penting, dan akan
memberi Anda ide bagus tentang rasa dan gaya bahasa itu. Setelah
membacanya, Anda akan dapat membaca dan menulis modul serta program
Python, dan Anda akan siap untuk mempelajari lebih lanjut tentang
berbagai modul pustaka Python yang dijelaskan dalam Pustaka Standar
Python.

*glosarium* juga layak untuk dilihat.

* 1. Membangkitkan Selera Anda

* 2. Menggunakan Interpreter Python

  * 2.1. Memanggil Interpreter

    * 2.1.1. Melewatkan Argumen

    * 2.1.2. Mode Interaktif

  * 2.2. Interpreter dan Lingkungannya

    * 2.2.1. *Encoding* Penulisan Kode Sumber

* 3. Pengantar Informal Tentang Python

  * 3.1. Menggunakan Python sebagai Kalkulator

    * 3.1.1. Angka

    * 3.1.2. Text

    * 3.1.3. List

  * 3.2. Langkah Awal Menuju Pemrograman

* 4. Lebih Banyak Alat Pengatur Aliran *Control Flow*

  * 4.1. Pernyataan "if"

  * 4.2. Pernyataan "for"

  * 4.3. Fungsi "range()"

  * 4.4. "break" and "continue" Statements

  * 4.5. "else" Clauses on Loops

  * 4.6. Pernyataan "pass"

  * 4.7. "match" Statements

  * 4.8. Mendefinisikan Fungsi

  * 4.9. Lebih lanjut tentang Mendefinisikan Fungsi

    * 4.9.1. Nilai Argumen Bawaan

    * 4.9.2. Argumen Kata Kunci *Keyword Arguments*

    * 4.9.3. Parameter spesial

      * 4.9.3.1. Argumen Posisi-atau-Kata Kunci

      * 4.9.3.2. Parameter Posisi-saja

      * 4.9.3.3. Argumen Kata Kunci-saja

      * 4.9.3.4. Contoh Fungsi

      * 4.9.3.5. Rekap

    * 4.9.4. Daftar Argumen Berubah-ubah *Arbitrary*

    * 4.9.5. Pembukaan Paket *Unpacking* Daftar Argumen

    * 4.9.6. Ekspresi Lambda

    * 4.9.7. String Dokumentasi

    * 4.9.8. Anotasi Fungsi

  * 4.10. Intermezzo: Gaya *Coding*

* 5. Struktur Data

  * 5.1. Lebih Lanjut tentang Daftar *Lists*

    * 5.1.1. Menggunakan Daftar *Lists* sebagai Tumpukan *Stacks*

    * 5.1.2. Menggunakan Daftar *Lists* sebagai Antrian *Queues*

    * 5.1.3. Daftar *List* *Comprehensions*

    * 5.1.4. Pemahaman Daftar *List Comprehensions* Bersarang

  * 5.2. Pernyataan "del"

  * 5.3. Tuples and *Urutan* Sequences

  * 5.4. Himpunan *Set*

  * 5.5. Kamus *Dictionaries*

  * 5.6. Teknik Perulangan

  * 5.7. Lebih lanjut tentang Kondisi

  * 5.8. Membandingkan Urutan *Sequences* dan Jenis Lainnya

* 6. Modul-Modul

  * 6.1. Lebih lanjut tentang Modul

    * 6.1.1. Mengoperasikan modul sebagai skrip

    * 6.1.2. Jalur Pencarian Modul

    * 6.1.3. Berkas Python "Compiled"

  * 6.2. Modul Standar

  * 6.3. Fungsi "dir()"

  * 6.4. Paket

    * 6.4.1. Mengimpor * Dari Paket

    * 6.4.2. Referensi Intra-paket

    * 6.4.3. Paket di Beberapa Direktori

* 7. Masukan dan Keluaran

  * 7.1. Pemformatan Keluaran yang Lebih Menarik

    * 7.1.1. Literal String Terformat

    * 7.1.2. Metode String format()

    * 7.1.3. Pemformatan String Manual

    * 7.1.4. Pemformatan string lama

  * 7.2. Membaca dan Menulis Berkas

    * 7.2.1. Metode Objek Berkas

    * 7.2.2. Menyimpan data terstruktur dengan "json"

* 8. Kesalahan *errors* dan Pengecualian *exceptions*

  * 8.1. Kesalahan Sintaksis

  * 8.2. Pengecualian

  * 8.3. Menangani Pengecualian

  * 8.4. Memunculkan Pengecualian

  * 8.5. Exception Chaining

  * 8.6. Pengecualian yang Ditentukan Pengguna

  * 8.7. Mendefinisikan Tindakan Pembersihan

  * 8.8. Tindakan Pembersihan yang Sudah Ditentukan

  * 8.9. Raising and Handling Multiple Unrelated Exceptions

  * 8.10. Enriching Exceptions with Notes

* 9. Classes

  * 9.1. Sepatah Kata Tentang Nama dan Objek

  * 9.2. Lingkup Python dan *Namespaces*

    * 9.2.1. Contoh Lingkup *Scopes* dan Ruang Nama *Namespaces*

  * 9.3. Pandangan Pertama tentang Kelas

    * 9.3.1. Sintaks Definisi Kelas

    * 9.3.2. Objek Kelas *Class Objects*

    * 9.3.3. Objek *Instance*

    * 9.3.4. Metode Objek

    * 9.3.5. Variabel Kelas dan *Instance*

  * 9.4. Keterangan Acak

  * 9.5. Pewarisan

    * 9.5.1. Pewarisan Berganda

  * 9.6. Variabel Privat

  * 9.7. Barang Sisa *Odds and Ends*

  * 9.8. *Iterators*

  * 9.9. Pembangkit *Generator*

  * 9.10. Ekspresi Pembangkit *Generator*

* 10. Tur Singkat Pustaka Standar

  * 10.1. Antarmuka Sistem Operasi

  * 10.2. Berkas *Wildcard*

  * 10.3. Baris Perintah Berargumen

  * 10.4. Pengalihan Output Kesalahan dan Pengakhiran Program

  * 10.5. Pencocokan Pola String

  * 10.6. Matematika

  * 10.7. Akses internet

  * 10.8. Tanggal dan Waktu

  * 10.9. Kompresi Data

  * 10.10. Pengukuran Kinerja

  * 10.11. Kontrol kualitas

  * 10.12. Dilengkapi Baterai

* 11. Tur Singkat Pustaka Standar --- Bagian II

  * 11.1. Pemformatan Output

  * 11.2. *Templating*

  * 11.3. Bekerja dengan Tata Letak Rekam Data Biner

  * 11.4. *Multi-threading*

  * 11.5. Pencatatan

  * 11.6. Referensi yang Lemah

  * 11.7. Alat untuk Bekerja dengan Daftar *Lists*

  * 11.8. Decimal Floating-Point Arithmetic

* 12. Lingkungan dan Paket Virtual

  * 12.1. Pengantar

  * 12.2. Menciptakan Lingkungan Virtual

  * 12.3. Mengelola Paket dengan pip

* 13. Lalu apa sekarang?

* 14. Pengeditan Input Interaktif dan Penggantian Riwayat

  * 14.1. Pelengkapan Tab dan Pengeditan Riwayat

  * 14.2. Alternatif untuk Interpreter Interaktif

* 15. Floating-Point Arithmetic:  Issues and Limitations

  * 15.1. Kesalahan Representasi

* 16. Lampiran

  * 16.1. Mode Interaktif

    * 16.1.1. Penanganan Kesalahan

    * 16.1.2. Skrip Python Yang Dapat Dieksekusi

    * 16.1.3. Berkas Permulaan Interaktif

    * 16.1.4. Modul Ubahsuaian
