{"id":15008913,"url":"https://github.com/suryapardana/learn-python","last_synced_at":"2025-07-24T14:06:16.574Z","repository":{"id":188524270,"uuid":"233177753","full_name":"Suryapardana/learn-python","owner":"Suryapardana","description":"Learn Indonesian python programming ","archived":false,"fork":false,"pushed_at":"2021-01-21T14:51:40.000Z","size":959,"stargazers_count":6,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-23T18:38:50.423Z","etag":null,"topics":["contoh","dalam-bahasa-python","github","github-pages","html5","learning","module","pages","python","python-2","python-3","python-fungsi","python3","webpage","website"],"latest_commit_sha":null,"homepage":"https://suryapardana.github.io/learn-python","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Suryapardana.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-01-11T04:48:31.000Z","updated_at":"2024-12-23T09:08:00.000Z","dependencies_parsed_at":"2023-08-15T18:53:03.696Z","dependency_job_id":null,"html_url":"https://github.com/Suryapardana/learn-python","commit_stats":null,"previous_names":["suryapardana/learn-python"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Suryapardana%2Flearn-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Suryapardana%2Flearn-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Suryapardana%2Flearn-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Suryapardana%2Flearn-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Suryapardana","download_url":"https://codeload.github.com/Suryapardana/learn-python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248065713,"owners_count":21041952,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["contoh","dalam-bahasa-python","github","github-pages","html5","learning","module","pages","python","python-2","python-3","python-fungsi","python3","webpage","website"],"created_at":"2024-09-24T19:21:42.072Z","updated_at":"2025-04-09T16:22:58.736Z","avatar_url":"https://github.com/Suryapardana.png","language":"HTML","readme":"# Pengenalan Python\n![python-logo](https://user-images.githubusercontent.com/47344288/72213664-3fe11880-3525-11ea-8d36-93bf35c0dfdf.png)\n\nPython adalah bahasa pemrograman interpretatif multiguna. Tidak seperti bahasa lain yang susah untuk dibaca dan dipahami,\npython lebih menekankan pada keterbacaan kode agar lebih mudah untuk memahami sintaks. Hal ini membuat Python sangat mudah dipelajari baik untuk pemula maupun untuk yang sudah menguasai bahasa pemrograman lain.\n\nBahasa ini muncul pertama kali pada tahun 1991, dirancang oleh seorang bernama Guido van\nRossum. Sampai saat ini Python masih dikembangkan oleh Python Software Foundation. Bahasa\nPython mendukung hampir semua sistem operasi, bahkan untuk sistem operasi Linux, hampir\nsemua distronya sudah menyertakan Python di dalamnya.\nDengan kode yang simpel dan mudah diimplementasikan, seorang programmer dapat lebih\nmengutamakan pengembangan aplikasi yang dibuat, bukan malah sibuk mencari syntax error.\n\nprint(\"Follow github suryapardana\")\n\nHanya dengan menuliskan kode print seperti yang diatas, anda sudah bisa mencetak apapun yang\nanda inginkan di dalam tanda kurung (). Dibagian akhir kode pun, anda tidak harus\nmengakhirnya dengan tanda semicolon ;\n\n# Instalasi Python\nSebelum Anda menggunakan Python, Anda harus menginstalnya terlebih dahulu di sistem operasi komputer Anda. Saat ini Python memiliki 2 versi yang berbeda, yaitu Python versi 3.4.3 dan Python versi 2.7.10. Disini kita akan belajar bahasa pemrograman Python menggunakan versi terbaru 3.4.3\n\nCara menginstal python sangat mudah, ikuti panduan dibawah ini. Dibawah adalah panduan cara instal python di platform Linux, Windows dan Mac OS.\n\n## 1.1 Linux\n```\n- Buka browser, kunjungi http://www.python.org/downloads/source/\n- Download versi terbaru Python berbentuk file zip untuk Unix/Linux\n- Ekstrak file zip yang baru saja di download\n- Edit file Modules/Setup jika Anda ingin kostumisasi Python\n- Jalankan ./configure script\n- make\n- make install\n```\nLangkah ini akan menginstal Python di lokasi standar /usr/local/bin dan library di /usr/local/lib/pythonXX dimana XX adalah versi terbaru Python yang anda gunakan.\n\n ## 1.2 Windows\n```\n- Buka browser, kunjungi http://www.python.org/downloads/windows/\n- ATAU, klik direct link https://www.python.org/ftp/python/3.4.3/python-3.4.3.msi\n- Buka (klik 2x) file installer python yang baru saja di download\n- Ikuti langkah instalasi sampai selesai\n```\n\n##  1.3 Mac OS\n```\n- Buka browser, kunjungi http://www.python.org/download/mac/\n- Download versi terbaru Python untuk Macintosh\n- Buka file yang baru saja di download\n- Ikuti langkah instalasi sampai selesa\n```\n# Integrated Daveloper Environment\n\nIDE adalah sebuah software aplikasi yang memberikan Anda fasilitas bermanfaat ketik membuat program. Biasanya sebuah IDE terdiri dari source code editor build automation tool dan debugger.\nUntuk menulis sebuah program, bisa menggunakan text editor atau IDE nya. Bagi yang sudah mahir, menulis program dengan text editor bukanlah menjadi masalah. Tetapi untuk pemula, akan lebih mudah menggunakan IDE. IDE untuk Python sangatlah banyak, tersedia bermacam-macam IDE dengan kelebihan dan kekurangan masing-masing.\n\nBeberapa IDE untuk Python yang cukup populer adalah :\n\n- Komodo\n- LiClipse\n- NetBeans\n- PyCharm\n- Kdevelop\n- PyDev\n- Wing IDE\n- dan masih banyak lainnya\n\n (http://wiki.python.org/moin/IntegratedDevelopmentEnvironments).\n\n# Menjalankan Python\nUntuk menjalankan Python ada banyak cara yang bisa dilakukan. Anda bisa menggunakan sheel, terminal atau menggunakan IDE (Integrated Development Environment). Di bawah ini adalah langkah-langkah menjalankan Python dengan cara yang paling mudah.\n\n## 2.1 Linux\n- Buka terminal (Ctrl + Alt + T)\n- Ketik python maka Anda akan masuk ke sheel Python. \n- Tuliskan script Python Anda, contoh: print(\"Selamat datang di Python\"). jika sudah tekan tombol Enter, dan script Python akan dijalankan/eksekusi.\n- Untuk keluar dari sheel Python ketik exit()\n\natau \n\n- Gunakan teks editor, misalnya gedit.\n- Buat file baru, dan ketikan script python Anda, contoh: print(\"Selamat datang di Python\").\n- Save As dengan ekstensi .py (contoh: cetak.py).\n- Jalankan file dengan menggunakan Terminal.\n- Buka terminal (Ctrl + Alt + T).\n- Masuk ke direktori dimana file Python Anda disimpan (contoh: cd /Users/admin/Desktop/).\n- Jalankan script Python dengan menggunakan python diikuti dengan nama file (contoh: python cetak.py).\n- Script Python Anda akan dieksekusi/dijalankan.\n\n ## 2.2 Windows\n\n- Buka Python sheel, Anda bisa mencarinya di tombol Start.\n- Tuliskan script Python Anda, contoh: print(\"Selamat datang di Python\"). jika sudah tekan tombol Enter, dan script Python akan dijalankan/eksekusi.\n- Untuk keluar dari sheel Python ketik exit()\n\n## 2.3 Macintosh\n\n- Buka terminal.\n- Ketik python maka Anda akan masuk ke sheel Python. \n- Tuliskan script Python Anda, contoh: print(\"Selamat datang di Python\"). jika sudah tekan tombol Enter, dan script Python akan dijalankan/eksekusi.\n- Untuk keluar dari sheel Python ketik exit() atau \n- Gunakan teks editor.\n- Buat file baru, dan ketikan script python Anda, contoh: print(\"Selamat datang di Python\").\n- Save As dengan ekstensi .py (contoh: cetak.py).\n- Jalankan file dengan menggunakan Terminal.\n- Buka terminal (Ctrl + Alt + T).\n- Masuk ke direktori dimana file Python Anda disimpan (contoh: cd /Users/admin/Desktop/).\n- Jalankan script Python dengan menggunakan python diikuti dengan nama file (contoh: python cetak.py).\n- Script Python Anda akan dieksekusi/dijalankan.\n\n# Syntax Dasar Python\nDibawah ini adalah contoh fungsi Python yang digunakan untuk mencetak. Di Python untuk mencetak cukup gunakan fungsi print(), dimana sesuatu yang akan dicetak harus diletakkan diantara kurung buka dan kurung tutup, bahkan di Python versi 2.x Anda tidak harus menggunakan tanda kurung kurawal, cukup pisahkan dengan spasi.\nJika ingin mencetak tipe data String langsung, Anda harus memasukanya ke dalam tanda kutip terlebih dahulu.\n\nprint(\"Hello World\")\n\nSaat anda menjalankan script diatas, Anda akan melihat output berupa text Hello World\n\n# Komentar Python\n\nKomentar (comment) adalah kode di dalam script Python yang tidak dieksekusi atau tidak dijalankan mesin. Komentar hanya digunakan untuk menandai atau memberikan keterangan tertulis pada script.\nKomentar biasa digunakan untuk membiarkan orang lain memahami apa yang dilakukan script. atau untuk mengingatkan kepada programmer sendiri jika suatu saat kembali mengedit script tersebut.\nUntuk menggunakan komentar anda cukup menulis tanda pagar #, diikuti dengan komentar Anda.\nDibawah ini adalah contoh penggunaan komentar pada Python.\n```\n#Ini adalah komentar\n\n#Tulisan ini tidak akan dieksekusi\n\n#komentar dengan tanda pagar hanya bisa digunakan\n\n#untuk\n\n#satu\n\n#baris\n\nprint(\"Hello World\") #ini juga komentar\n\n#print(\"Welcome\")\n\n#komentar bisa berisi spesial karakter !@#$%^\u0026*(\n\n#mencetak nama\n\nprint(\"Budi\")\n\n#mencetak angka/integer\n\nprint(123)\n```\n\nSaat anda menjalankan script diatas, Anda akan melihat output berupa Hello World, Budi dan 123, karena tulisan/komentar yang ditulis tidak dieksekusi.\n\n# Python Case Sensitive\nPython bersifat case sensitif, ini artinya huruf besar dan huruf kecil memiliki perbedaan.\nSebagai contoh jika Anda menggunakan fungsi print dengan huruf kecil print() akan\nberhasil. Lain hal jika anda menggunakan huruf kapital Print() atau PRINT(), akan\nmuncul pesan error.\nAturan ini berlaku untuk nama variabel ataupun fungsi-fungsi lainya\n\n# Tipe Data\n\nTipe data adalah suatu media atau memori pada komputer yang digunakan untuk menampung informasi.\n\nPython sendiri mempunyai tipe data yang cukup unik bila kita bandingkan dengan bahasa pemrograman yang lain.\n\nBerikut adalah tipe data dari bahasa pemrograman Python :\n\n| Tipe Data     | Contoh                    | Penjelasan                                                                        |\n| ------------- |-------------------------- | --------------------------------------------------------------------------------- |\n| Boolean       |\t`True` atau `False`\t    | Menyatakan benar `True` yang bernilai `1`, atau salah `False` yang bernilai `0`   |\n| String        |\t`\"Ayo belajar Python\"`  | Menyatakan karakter/kalimat bisa berupa huruf angka, dll (diapit tanda `\"` atau `'`)|\n| Integer       |\t`25` atau `1209`        | Menyatakan bilangan bulat                                                         |\n| Float         |\t`3.14` atau `0.99`      | Menyatakan bilangan yang mempunyai koma                                           |\n| Hexadecimal   |\t`9a` atau `1d3`\t        | Menyatakan bilangan dalam format heksa (bilangan berbasis 16)                     |\n| Complex       |\t`1 + 5j  `              | Menyatakan pasangan angka real dan imajiner                                       |\n| List          |\t`['xyz', 786, 2.23]`    | Data untaian yang menyimpan berbagai tipe data dan isinya bisa diubah-ubah        |\n| Tuple         |\t`('xyz', 768, 2.23)`    | Data untaian yang menyimpan berbagai tipe data tapi isinya tidak bisa diubah      |\n| Dictionary    |\t`{'nama': 'adi','id':2}`| Data untaian yang menyimpan berbagai tipe data berupa pasangan penunjuk dan nilai |\n\nUntuk mencoba berbagai macam tipe data, silahkan coba script Python dibawah ini.\n```\n\n#tipe data Boolean\nprint(True)\n\n#tipe data String\nprint(\"Ayo belajar Python\")\nprint('Belajar Python Sangat Mudah')\n\n#tipe data Integer\nprint(20)\n\n#tipe data Float\nprint(3.14)\n\n#tipe data Hexadecimal\nprint(9a)\n\n#tipe data Complex\nprint(5j)\n\n#tipe data List\nprint([1,2,3,4,5])\nprint([\"satu\", \"dua\", \"tiga\"])\n\n#tipe data Tuple\nprint((1,2,3,4,5))\nprint((\"satu\", \"dua\", \"tiga\"))\n\n#tipe data Dictionary\nprint({\"nama\":\"Budi\", 'umur':20})\n#tipe data Dictionary dimasukan ke dalam variabel biodata\nbiodata = {\"nama\":\"Andi\", 'umur':21} #proses inisialisasi variabel biodata\nprint(biodata) #proses pencetakan variabel biodata yang berisi tipe data Dictionary\ntype(biodata) #fungsi untuk mengecek jenis tipe data. akan tampil \u003cclass 'dict'\u003e yang berarti dict adalah tipe data dictionary\n\n```\n# Variabel Python\n\nVariabel adalah lokasi memori yang dicadangkan untuk menyimpan nilai-nilai. Ini berarti bahwa ketika Anda membuat sebuah variabel Anda memesan beberapa ruang di memori. Variabel menyimpan data yang dilakukan selama program dieksekusi, yang nantinya isi dari variabel tersebut dapat diubah oleh operasi - operasi tertentu pada program yang menggunakan variabel.\n\nVariabel dapat menyimpan berbagai macam tipe data. Di dalam pemrograman Python, variabel mempunyai sifat yang dinamis, artinya variabel Python tidak perlu didekralasikan tipe data tertentu dan variabel Python dapat diubah saat program dijalankan.\n\n\nPenulisan variabel Python sendiri juga memiliki aturan tertentu, yaitu :\n1. Karakter pertama harus berupa huruf atau garis bawah/underscore `_`\n2. Karakter selanjutnya dapat berupa huruf, garis bawah/underscore `_` atau angka\n3. Karakter pada nama variabel bersifat sensitif (case-sensitif). Artinya huruf kecil dan huruf besar dibedakan. Sebagai contoh, variabel `namaDepan` dan `namadepan` adalah variabel yang berbeda.\n\nUntuk mulai membuat variabel di Python caranya sangat mudah, Anda cukup menuliskan variabel lalu mengisinya dengan suatu nilai dengan cara menambahkan tanda sama dengan `=` diikuti dengan nilai yang ingin dimasukan.\n\nDibawah ini adalah contoh penggunaan variabel dalam bahasa pemrograman Python\n\n\n```\n\n#proses memasukan data ke dalam variabel\nnama = \"John Doe\"\n#proses mencetak variabel\nprint(nama)\n\n#nilai dan tipe data dalam variabel  dapat diubah\numur = 20               #nilai awal\nprint(umur)             #mencetak nilai umur\ntype(umur)              #mengecek tipe data umur\numur = \"dua puluh satu\" #nilai setelah diubah\nprint(umur)             #mencetak nilai umur\ntype(umur)              #mengecek tipe data umur\n\nnamaDepan = \"Budi\"\nnamaBelakang = \"Susanto\"\nnama = namaDepan + \" \" + namaBelakang\numur = 22\nhobi = \"Berenang\"\nprint(\"Biodata\\n\", nama, \"\\n\", umur, \"\\n\", hobi)\n\n#contoh variabel lainya\ninivariabel = \"Halo\"\nini_juga_variabel = \"Hai\"\n_inivariabeljuga = \"Hi\"\ninivariabel222 = \"Bye\" \n\npanjang = 10\nlebar = 5\nluas = panjang * lebar\nprint(luas)\n\n```\n\n# Operator Python\nOperator adalah konstruksi yang dapat memanipulasi nilai dari operan. \n\nSebagai contoh operasi 3 + 2 = 5. Disini `3` dan `2` adalah operan dan `+` adalah operator.\n\nBahasa pemrograman Python mendukung berbagai macam operator, diantaranya :\n- [Operator Aritmatika (Arithmetic Operators)](#operator-aritmatika)\n- [Operator Perbandingan (Comparison (Relational) Operators)](#operator-perbandingan)\n- [Operator Penugasan (Assignment Operators)](#operator-penugasan)\n- [Operator Logika (Logical Operators)](#operator-logika)\n- [Operator Bitwise (Bitwise Operators)](#operator-bitwise)\n- [Operator Keanggotaan (Membership Operators)](#operator-keanggotaan)\n- [Operator Identitas (Identity Operators)](#operator-identitas)\n \n### Operator Aritmatika \u003ca name=\"operator-aritmatika\"\u003e\u003c/a\u003e\n\n| Operator| \tContoh\t | Penjelasan |\n| --- | --- | --- |\n| Penjumlahan `+`| \t`1 + 3 = 4` | \tMenjumlahkan nilai dari masing-masing operan atau bilangan |\n| Pengurangan `-`| \t`4 - 1 = 3`\t | Mengurangi nilai operan di sebelah kiri menggunakan operan di sebelah kanan |\n| Perkalian `*`| \t`2 * 4 = 8`\t | Mengalikan operan/bilangan |\n| Pembagian `/`| \t`10 / 5 = 2`\t | Untuk membagi operan di sebelah kiri menggunakan operan di sebelah kanan |\n| Sisa Bagi `%`| \t`11 % 2 = 1`\t | Mendapatkan sisa pembagian dari operan di sebelah kiri operator ketika dibagi oleh operan di sebelah kanan |\n| Pangkat `**`| \t`8 ** 2 = 64`\t | Memangkatkan operan disebelah kiri operator dengan operan di sebelah kanan operator |\n| Pembagian Bulat `//`| \t`10 // 3 = 3` |\tSama seperti pembagian. Hanya saja angka dibelakang koma dihilangkan |\n\nDibawah ini adalah contoh penggunaan Operator Aritmatika dalam bahasa pemrograman Python\n```\n\n#OPERATOR ARITMATIKA\n\n#Penjumlahan\nprint(13 + 2)\napel = 7\njeruk = 9\nbuah = apel + jeruk #\nprint(buah)\n\n#Pengurangan\nhutang = 10000\nbayar = 5000\nsisaHutang = hutang - bayar\nprint(\"Sisa hutang Anda adalah \", sisaHutang)\n\n#Perkalian\npanjang = 15\nlebar = 8\nluas = panjang * lebar\nprint(luas)\n\n#Pembagian\nkue = 16\nanak = 4\nkuePerAnak = kue / anak\nprint(\"Setiap anak akan mendapatkan bagian kue sebanyak \", kuePerAnak)\n\n#Sisa Bagi / Modulus\nbilangan1 = 14\nbilangan2 = 5\nhasil = bilangan1 % bilangan2\nprint(\"Sisa bagi dari bilangan \", bilangan1, \" dan \", bilangan2, \" adalah \", hasil)\n\n#Pangkat\nbilangan3 = 8\nbilangan4 = 2\nhasilPangkat = bilangan3 ** bilangan4\nprint(hasilPangkat)\n\n#Pembagian Bulat\nprint(10//3) \n#10 dibagi 3 adalah 3.3333. Karena dibulatkan maka akan menghasilkan nilai 3\n\n```\n### Operator Perbandingan \u003ca name=\"operator-perbandingan\"\u003e\u003c/a\u003e\n\nOperator perbandingan (comparison operators) digunakan untuk membandingkan suatu nilai dari masing-masing operan.\n\n| Operator\t| Contoh\t| Penjelasan| \n| --- | --- | --- |\n| Sama dengan `==` | \t`1 == 1`  | bernilai True\tJika masing-masing operan memiliki nilai yang sama, maka kondisi bernilai benar atau True. | \n| Tidak sama dengan `!=` |\t`2 != 2`  | bernilai False\tAkan menghasilkan nilai kebalikan dari kondisi sebenarnya. | \n| Tidak sama dengan `\u003c\u003e` |\t`2 \u003c\u003e 2`  | bernilai False\tAkan menghasilkan nilai kebalikan dari kondisi sebenarnya. | \n| Lebih besar dari `\u003e` |\t`5 \u003e 3`  | bernilai True\tJika nilai operan kiri lebih besar dari nilai operan kanan, maka kondisi menjadi benar. | \n| Lebih kecil dari `\u003c` |\t`5 \u003c 3`  | bernilai True\tJika nilai operan kiri lebih kecil dari nilai operan kanan, maka kondisi menjadi benar. | \n| Lebih besar atau sama dengan `\u003e=` |\t`5 \u003e= 3`  | bernilai True\tJika nilai operan kiri lebih besar dari nilai operan kanan, atau sama, maka kondisi menjadi benar. | \n| Lebih kecil atau sama dengan `\u003c=` |\t`5 \u003c= 3`  | bernilai True\tJika nilai operan kiri lebih kecil dari nilai operan kanan, atau sama, maka kondisi menjadi benar. | \n\n\n### Operator Penugasan \u003ca name=\"operator-penugasan\"\u003e\u003c/a\u003e\n\nOperator penugasan digunakan untuk memberikan atau memodifikasi nilai ke dalam sebuah variabel.\n\n| Operator\t| Contoh\t| Penjelasan | \n| --- | --- | --- |\n| Sama dengan `=`\t | `a = 1` | \tMemberikan nilai di kanan ke dalam variabel yang berada di sebelah kiri. | \n| Tambah sama dengan `+=` | \t`a += 2` | \tMemberikan nilai variabel dengan nilai variabel itu sendiri ditambah dengan nilai di sebelah kanan. | \n| Kurang sama dengan `-=`\t | `a -= 2` | \tMemberikan nilai variabel dengan nilai variabel itu sendiri dikurangi dengan nilai di sebelah kanan. | \n| Kali sama dengan `*=` | \t`a *= 2` | \tMemberikan nilai variabel dengan nilai variabel itu sendiri dikali dengan nilai di sebelah kanan. | \n| Bagi sama dengan `/=` | \t`a /= 4` | \tMemberikan nilai variabel dengan nilai variabel itu sendiri dibagi dengan nilai di sebelah kanan. | \n| Sisa bagi sama dengan `%=`\t | `a %= 3` | \tMemberikan nilai variabel dengan nilai variabel itu sendiri dibagi dengan nilai di sebelah kanan. Yang diambil nantinya adalah sisa baginya. | \n| Pangkat sama dengan `**=` | \t`a **= 3`\t | Memberikan nilai variabel dengan nilai variabel itu sendiri dipangkatkan dengan nilai di sebelah kanan. | \n| Pembagian bulat sama dengan `//=` | \t`a //= 3`\t | Membagi bulat operan sebelah kiri operator dengan operan sebelah kanan operator kemudian hasilnya diisikan ke operan sebelah kiri. | \n\n\n### Prioritas Eksekusi Operator di Python\nDari semua operator diatas, masing-masing mempunyai urutan prioritas yang nantinya prioritas pertama akan dilakukan paling pertama, begitu seterusnya sampai dengan prioritas terakhir. \n```\n| Operator |\tKeterangan | \n| --- | --- | --- |\n| `**` |\tAritmatika | \n| `~, +, -` |\tBitwise | \n| `*, /, %, //` |\tAritmatika |\n| `+, -`\t |Aritmatika |\n| `\u003e\u003e, \u003c\u003c` |\tBitwise |\n| `\u0026`\t |Bitwise |\n| `^, |`  |\tBitwise |\n| `\u003c=, \u003c, \u003e, \u003e=` |\tPerbandingan |\n| `\u003c\u003e , ==, !=` |\tPerbandingan |\n| `=, %=, /=, //=, -=, +=, *=, **=` |\tPenugasan |\n| `is, is not` |\tIdentitas |\n| `in, not in` |\tMembership (Keanggotaan) |\n| `not, or, and` |\tLogika |\n```\n\n# Kondisi\n### Kondisi If\n\nPengambilan keputusan (kondisi if) digunakan untuk mengantisipasi kondisi yang terjadi saat jalanya program dan menentukan tindakan apa yang akan diambil sesuai dengan kondisi.\n\nPada python ada beberapa statement/kondisi diantaranya adalah `if`, `else` dan `elif` Kondisi `if` digunakan untuk mengeksekusi kode jika kondisi bernilai benar `True`.\n\nJika kondisi bernilai salah `False` maka statement/kondisi `if` tidak akan di-eksekusi.\n\nDibawah ini adalah contoh penggunaan kondisi if pada Python\n```\n\n#Kondisi if adalah kondisi yang akan dieksekusi oleh program jika bernilai benar atau TRUE\n\nnilai = 9\n\n#jika kondisi benar/TRUE maka program akan mengeksekusi perintah dibawahnya\nif(nilai \u003e 7):\n    print(\"Selamat Anda Lulus\")\n\n#jika kondisi salah/FALSE maka program tidak akan mengeksekusi perintah dibawahnya\nif(nilai \u003e 10):\n    print(\"Selamat Anda Lulus\")\n\n```\nDari contoh diatas, jika program dijalankan maka akan mencetak string `\"Selamat Anda Lulus Ujian\"` sebanyak 1 kali yaitu pada if pertama. Di if kedua statement bernilai salah, jadi perintah `print(\"Selamat Anda Lulus\")` tidak akan dieksekusi.\n\n\n### Kondisi If Else\nPengambilan keputusan (kondisi if else) tidak hanya digunakan untuk menentukan tindakan apa yang akan diambil sesuai dengan kondisi, tetapi juga digunakan untuk menentukan tindakan apa yang akan diambil/dijalankan jika kondisi tidak sesuai.\n\nPada python ada beberapa statement/kondisi diantaranya adalah if, else dan elif Kondisi if digunakan untuk mengeksekusi kode jika kondisi bernilai benar.\n\nKondisi if else adalah kondisi dimana jika pernyataan benar `True` maka kode dalam if akan dieksekusi, tetapi jika bernilai salah `False` maka akan mengeksekusi kode di dalam else.\n\nDibawah ini adalah contoh penggunaan kondisi if else pada Python\n```\n\n#Kondisi if else adalah jika kondisi bernilai TRUE maka akan dieksekusi pada if, tetapi jika bernilai FALSE maka akan dieksekusi kode pada else\n\nnilai = 3\n#Jika pernyataan pada if bernilai TRUE maka if akan dieksekusi, tetapi jika FALSE kode pada else yang akan dieksekusi.\nif(nilai \u003e 7):\n    print(\"Selamat Anda Lulus\")\nelse:\n    print(\"Maaf Anda Tidak Lulus\")\n\n```\nPada contoh diatas, jika program dijalankan maka akan mencetak string `\"Maaf Anda Tidak Lulus\"` karena pernyataan pada if bernilai `False`\n\n### Kondisi Elif\n\nPengambilan keputusan (kondisi if elif) merupakan lanjutan/percabangan logika dari \"kondisi if\". Dengan elif kita bisa membuat kode program yang akan menyeleksi beberapa kemungkinan yang bisa terjadi. Hampir sama dengan kondisi \"else\", bedanya kondisi \"elif\" bisa banyak dan tidak hanya satu. \n\nDibawah ini adalah contoh penggunaan kondisi elif pada Python\n```\n\n#Contoh penggunaan kondisi elif\n\nhari_ini = \"Minggu\"\n\nif(hari_ini == \"Senin\"):\n    print(\"Saya akan kuliah\")\nelif(hari_ini == \"Selasa\"):\n    print(\"Saya akan kuliah\")\nelif(hari_ini == \"Rabu\"):\n    print(\"Saya akan kuliah\")\nelif(hari_ini == \"Kamis\"):\n    print(\"Saya akan kuliah\")\nelif(hari_ini == \"Jumat\"):\n    print(\"Saya akan kuliah\")\nelif(hari_ini == \"Sabtu\"):\n    print(\"Saya akan kuliah\")\nelif(hari_ini == \"Minggu\"):\n    print(\"Saya akan libur\")\n\n```\nPada contoh diatas, jika program dijalankan maka akan mencetak string `\"Saya akan libur\"`.\n\n# Loop python\n\n\nSecara umum, pernyataan pada bahasa pemrograman akan dieksekusi secara berurutan. Pernyataan pertama dalam sebuah fungsi dijalankan pertama, diikuti oleh yang kedua, dan seterusnya. Tetapi akan ada situasi dimana Anda harus menulis banyak kode, dimana kode tersebut sangat banyak. Jika dilakukan secara manual maka Anda hanya akan membuang-buang tenaga dengan menulis beratus-ratus bahkan beribu-ribu kode. Untuk itu Anda perlu menggunakan pengulangan di dalam bahasa pemrograman Python.\n\nDi dalam bahasa pemrograman Python pengulangan dibagi menjadi 3 bagian, yaitu :\n- While Loop\n- For Loop\n- Nested Loop\n\n### While Loop\nPengulangan While Loop di dalam bahasa pemrograman Python dieksesusi statement berkali-kali selama kondisi bernilai benar atau `True`.\n\nDibawah ini adalah contoh penggunaan pengulangan While Loop.\n\n```\n\n#Contoh penggunaan While Loop\n\ncount = 0\nwhile (count \u003c 9):\n    print ('The count is:', count)\n    count = count + 1\n\nprint (\"Good bye!\")\n\n```\n### For Loop\nPengulangan `for` pada Python memiliki kemampuan untuk mengulangi item dari urutan apapun, seperti `list` atau `string`.\n\nDibawah ini adalah contoh penggunaan pengulangan While Loop.\n```\n\n#Contoh pengulangan for sederhana\nangka = [1,2,3,4,5]\nfor x in angka:\n    print(x)\n\n#Contoh pengulangan for\nbuah = [\"nanas\", \"apel\", \"jeruk\"]\nfor makanan in buah:\n    print(\"Saya suka makan\", makanan)\n\n```\n### Nested Loop\nBahasa pemrograman Python memungkinkan penggunaan satu lingkaran di dalam loop lain. Bagian berikut menunjukkan beberapa contoh untuk menggambarkan konsep tersebut. \n\nDibawah ini adalah contoh penggunaan Nested Loop.\n```\n\n#Contoh penggunaan Nested Loop\n\ni = 2\nwhile(i \u003c 100):\n    j = 2\n    while(j \u003c= (i/j)):\n        if not(i%j): break\n        j = j + 1\n    if (j \u003e i/j) : print(i, \" is prime\")\n    i = i + 1\n\nprint \"Good bye!\"\n\n```\n\n# Number\n\nNumber adalah tipe data Python yang menyimpan nilai numerik. Number adalah tipe data yang tidak berubah. Ini berarti, mengubah nilai dari sejumlah tipe data akan menghasilkan objek yang baru dialokasikan.\n\nObjek Number dibuat saat Anda memberikan nilai pada-nya. Sebagai contoh : `angkaPertama = 1`\n`angkaKedua = 33 `\n\nPython mendukung beberapa tipe data Number diantaranya :\n- Int\n- Float\n- Complex\n\nBerikut ini adalah beberapa contoh dari Tipe data Number pada Python :\n\n| Int |\tFloat |\tComplex |\n| --- | --- | --- |\n| 20 |\t0.1 |\t3.14j |\n| 300 |\t1.20 |\t35.j |\n| -13 |\t-41.2 |\t3.12e-12j |\n| 020 |\t32.23+e123 |\t.873j |\n| -0103 |\t-92. |\t-.123+0J |\n| -0x212 |\t-32.52e10 |\t3e+123J |\n| 0x56 |\t60.2-E13 |\t4.31e-4j |\n\n\n### Konversi Tipe Data Number Python\nPada Python Anda bisa mengkonversi tipe data dengan menggunakan fungsi. Dibawah ini adalah beberapa fungsi untuk mengkonversi tipe data number Python. \n- `int(x)`\nuntuk meng-konversi x menjadi plain integer.\n- `long(x)`\nuntuk meng-konversi x menjadi long integer.\n- `float(x)`\nuntuk meng-konversi x menjadi floating point number.\n- `complex(x)`\nuntuk meng-konversi x menjadi complex number dengna real part x dan imaginary part zero.\n- `complex(x, y)`\nuntuk meng-konversi x dan y menjadi complex number dengan real part x dan imaginary part y. x dan numeric expressions y. \n\n\n### Fungsi Matematika Python\nPada bahasa pemrograman Python terdapat fungsi untuk melakukan perhitungan matematis, berikut adalah daftarnya :\n\n| Nama |\tPenggunaan |\tPenjelasan |\n| --- | --- | --- |\n| Absolute |\t`abs(x)` |\tNilai absolut dari x:(positive) jarak antara x and 0. |\n| Ceiling |\t`ceil(x)` |\tCeiling dari x: integer terkecil yang kurang dari x. |\n| Cmp |\t`cmp(x, y)` |\t-1 if x \u003c y, 0 if x == y, or 1 if x \u003e y. Tidak berlaku lagi dengan Python 3. Sebaliknya gunakan return (x\u003ey)-(x |\n| Eksponen |\t`exp(x)` |\tNilai eksponen dari x: ex |\n| Fabs |\t`fabs(x)` |\tNilai absolut dari x. |\n| Floor |\t`floor(x)` |\tThe floor of x: the largest integer not greater than x. |\n| Floor |\t`floor(x)` |\tNilai dasar dari x: internet terbesar tidak lebih besar dari x. |\n| Log |\t`log(x)` |\tLogaritma dari x, untuk x \u003e 0. |\n| Log 10 |\t`log10(x)` |\tBasis 10 logaritma dari x, untuk x \u003e 0. |\n| Max |\t`max(x1, x2,...)`\t | Argumen terbesar: Nilai terdekat dengan tak terhingga positif |\n| Min |\t`min(x1, x2,...)` |\tArgumen terkecil: nilai yang paling mendekati tak berhingga negatif. |\n| Modf |\t`modf(x)` |\tBagian pecahan dan bilangan bulat dari x dalam tupel dua item. Kedua bagian memiliki tanda yang sama dengan x. Bagian integer dikembalikan sebagai float. |\n| Pow |\t`pow(x, y)` |\tNilai x ** y. |\n| Round |\t`round(x [,n])` |\tX dibulatkan menjadi n digit dari titik desimal. Putaran Python jauh dari nol sebagai tie-breaker: round (0.5) adalah 1.0 dan round (-0.5) adalah -1.0. |\n| Akar Kuadrat |\t`sqrt(x)` |\tAkar kuadrat x untuk x\u003e 0. |\n\n\n### Fungsi Nomor Acak Python\nNomor acak digunakan untuk aplikasi permainan, simulasi, pengujian, keamanan, dan privasi. Python mencakup fungsi berikut yang umum digunakan. Berikut adalah daftarnya :\n\n| Nama | \tPenggunaan | \tPenjelasan | \n| --- | --- | --- |\n| Choice | \t`choice(seq)` | \tItem acak dari list, tuple, atau string. | \n| RandRange | \t`randrange ([start,] stop [,step])` | \tElemen yang dipilih secara acak dari jangkauan (start, stop, step). | \n| Random | \t`random()` | \tA random float r, sehingga 0 kurang dari atau sama dengan r dan r kurang dari 1 | \n| Seed | \t`seed([x])` | \tMenetapkan nilai awal integer yang digunakan dalam menghasilkan bilangan acak. Panggil fungsi ini sebelum memanggil fungsi modul acak lainnya. Tidak ada pengembalian | \n| Shuffle | \t`shuffle(lst)` | \tMengacak daftar dari daftar di tempat. Tidak ada pengembalian | \n| Floor\t| `floor(x)`\t | The floor of x: the largest integer not greater than x. | \n| Uniform| \t`uniform(x, y)` | \tSebuah float acak r, sedemikian rupa sehingga x kurang dari atau sama dengan r dan r kurang dari y. | \n\n\n### Fungsi Trigonometri Python\nPython mencakup fungsi berikut yang melakukan perhitungan trigonometri. Berikut adalah daftarnya :\n```\n| Nama |\tPenggunaan\tPenjelasan |\n| --- | --- | --- |\n| Acos |\t`acos(x)` |\tKembalikan kosinus x, di radian. |\n| Asin |\t`asin(x)` |\tKembalikan busur sinus x, dalam radian. |\n| Atan |\t`atan(x)` |\tKembalikan busur singgung x, di radian. |\n| Atan 2 |\t`atan2(y, x)`\t | Kembali atan (y / x), di radian. |\n| Kosinus |\t`cos(x)` |\tKembalikan kosinus x radian. |\n| Hypot\t | `hypot(x, y)` |\tKembalikan norma Euclidean, sqrt (x * x + y * y). |\n| Sin |\t`sin(x)` |\tKembalikan sinus dari x radian. |\n| Tan |\t`tan(x)` |\tKembalikan tangen x radian. |\n| Derajat |\t`degrees(x)` |\tMengonversi sudut x dari radian ke derajat. |\n| Radian |\t`radians(x)` |\tMengonversi sudut x dari derajat ke radian. |\n```\n### Konstanta Matematika Python\nModul ini juga mendefinisikan dua konstanta matematika. Berikut adalah daftarnya :\n\n| Nama |\tPenggunaan\t| Penjelasan| \n| --- | --- | --- |\n| Pi\t| `pi`\t| Konstanta Pi matematika| \n| e\t| `e`\t| Konstanta e matematika| \n\n# String\n\nString adalah jenis yang paling populer di bahasa pemrograman. Kita bisa membuatnya hanya dengan melampirkan karakter dalam tanda kutip. Python memperlakukan tanda kutip tunggal sama dengan tanda kutip ganda. Membuat string semudah memberi nilai pada sebuah variabel.\n\nDibawah ini adalah contoh sederhana dari sebuah string pada bahasa pemrograman Python.\n```\n\nprint(\"Hello World\")\n\n```\n### Mengakses Nilai dalam String\n\nPython tidak menggunakan tipe karakter titik koma ; Ini diperlakukan sebagai string dengan panjang satu, sehingga juga dianggap sebagai substring.\n\nUntuk mengakses substring, gunakan tanda kurung siku untuk mengiris beserta indeks atau indeks untuk mendapatkan substring Anda. Sebagai contoh : \n```\n\nname = 'John Doe' message = \"John Doe belajar bahasa python di Belajarpython\"\nprint (\"name[0]: \", name[0])\nprint (\"message[1:4]: \", message[1:4])\n\n```\nBila kode diatas dieksekusi, maka akan menghasilkan hasil sebagai berikut :\n\n`name[0]: J`\n`message[1:4]: ohn `\n\n\n### Mengupdate String\n\nAnda dapat \"memperbarui\" string yang ada dengan (kembali) menugaskan variabel ke string lain. Nilai baru dapat dikaitkan dengan nilai sebelumnya atau ke string yang sama sekali berbeda sama sekali. Sebagai contoh\n```\n\nmessage = 'Hello World'\nprint (\"Updated String :- \", message[:6] + 'Python')\n\n```\nBila kode diatas dieksekusi, maka akan menghasilkan hasil sebagai berikut :\n\n`Updated String :- Hello Python`\n\n### Escape Characters / Karakter Escape Python\n\nDibawah ini adalah tabel dari daftar karakter escape atau karakter non-printable yang dapat diwakili/ditulis dengan awalan notasi backslash.\n\n| Notasi Backslash\t | Karakter Hexadecimal\t | Penjelasan |\n| --- | --- | --- |\n| \\a | \t0x07 | \tBell atau alert |\n| \\b | \t0x08 | \tBackspace |\n| \\cx | \t | \tControl-x |\n| \\C-x\t |  | \tControl-x |\n| \\e | \t0x1b | \tEscape |\n| \\f | \t0x0c | \tFormfeed |\n| \\M-\\C-x | \t | \tMeta-Control-x |\n| \\n | \t0x0a | \tNewline |\n| \\nnn | \t | \tOctal notation, dimana n berada di range 0.7 |\n| \\r | \t0x0d | \tCarriage return |\n| \\s | \t0x20 | \tSpace |\n| \\t | \t0x09 | \tTab |\n| \\v | \t0x0b | \tVertical tab |\n| \\x | \t | \tCharacter x |\n| \\xnn\t |   | \tNotasi Hexadecimal, dimana n berada di range 0.9, a.f, atau A.F |\n\n\n### Operator Spesial String Python\n\nAsumsikan variabel string adalah 'Belajar' dan variabel b adalah 'Python', lalu dibawah ini adalah operator yang bisa dipakai pada kedua string di variabel tersebut. `a = \"Belajar\"` `b = \"Python\"`\n\n\nBerikut adalah daftar operator spesial string pada Python : \n\n| Operator | \tContoh\tPenjelasan | \n| --- | --- | --- |\n| + | \ta + b  | akan menghasilkan BelajarPython\tConcatenation - Menambahkan nilai pada kedua sisi operator | \n| * | \ta*2  | akan menghasilkan BelajarBelajar\tPengulangan - Membuat string baru, menggabungkan beberapa salinan dari string yang sama | \n| [] | \ta[1]  | akan menghasilkan e\tSlice - Memberikan karakter dari indeks yang diberikan | \n| [ : ] | \ta[1:4]  | akan menghasilkan ela\tRange Slice - Memberikan karakter dari kisaran yang diberikan | \n| in | \tB in a  | akan menghasilkan 1\tKeanggotaan - Mengembalikan nilai true jika ada karakter dalam string yang diberikan | \n| not in | \tZ not in a  | akan menghasilkan 1\tKeanggotaan - Mengembalikan nilai true jika karakter tidak ada dalam string yang diberikan | \n| r/R | \tprint r'\\n' prints \\n dan print R'\\n'prints \\n\tRaw String -  | Menekan arti aktual karakter Escape. Sintaks untuk string mentah sama persis dengan string biasa kecuali operator string mentah, huruf \"r\", yang mendahului tanda petik. \"R\" bisa berupa huruf kecil (r) atau huruf besar (R) dan harus ditempatkan tepat sebelum tanda kutip pertama. | \n| %\t |  | \tFormat - Melakukan format String | \n\n### Operator Format String Python\n\nSalah satu fitur Python yang paling keren adalah format string operator %. Operator ini unik untuk string dan membuat paket memiliki fungsi dari keluarga printf C () C. \nberikut adalah contoh sederhananya : `print (\"My name is %s and weight is %d kg!\" % ('Zara', 21)) `\n\n\nBerikut adalah daftar lengkap simbol yang bisa digunakan bersamaan dengan % : \n\n| Operator | \tPenjelasan | \n| --- | --- |\n| %c | \tcharacter | \n| %s | \tKonversi string melalui str () sebelum memformat | \n| %i | \tDianggap sebagai bilangan bulat desimal | \n| %d | \tDianggap sebagai bilangan bulat desimal | \n| %u | \tUnsigned decimal integer | \n| %o | \tBilangan bulat oktal | \n| %x | \tBilangan bulat heksadesimal (huruf kecil) | \n| %X | \tBilangan bulat heksadesimal (huruf besar) | \n| %e | \tNotasi eksponensial (dengan huruf kecil 'e') | \n| %E | \tNotasi eksponensial (dengan huruf besar 'E') | \n| %f | \tBilangan real floating point | \n| %g | \tYang lebih pendek dari% f dan% e | \n| %G | \tLebih pendek dari% f dan% E | \n\n### Triple Quote Python\n\nPython triple quotes digunakan dengan membiarkan string untuk ditulis dalam beberapa baris, termasuk kata kerja NEWLINEs, TABs, dan karakter khusus lainnya. \nSintaks untuk triple quotes terdiri dari tiga tanda kutip tunggal atau ganda ditulis berturut-turut :\nBerikut adalah contohnya : \n```\n\nkutipantiga = \"\"\"this is a long string that is made up of\nseveral lines and non-printable characters such as\nTAB ( \\t ) and they will show up that way when displayed.\nNEWLINEs within the string, whether explicitly given like\nthis within the brackets [ \\n ], or just a NEWLINE within\nthe variable assignment will also show up.\n\"\"\"\nprint (kutipantiga)\n\n```\n### String Unicode Python\n\nPada Python 3, semua string diwakili dalam Unicode. Sedangkan pada Python 2 disimpan secara internal sebagai 8-bit ASCII, maka diperlukanlampiran 'u' untuk membuatnya menjadi Unicode. Tetapi hal ini tidak lagi diperlukan sekarang. :\n\nMetode String Built-in\n\nPython menyertakan metode built-in berikut untuk memanipulasi string \n\n| Metode | \tPenjelasan | \n| --- | --- |\n| `capitalize()` | \tMeng-kapitalkan huruf pertama string | \n| `center(width, fillchar)` | \tMengembalikan string yang dilapisi dengan fillchar dengan string asli yang dipusatkan pada total width kolom. | \n| `count(str, beg = 0,end = len(string))`\t | Menghitung berapa kali str yang terjadi dalam string atau dalam substring string jika memulai indeks beg dan end index end diberikan. | \n| `decode(encoding = 'UTF-8',errors = 'strict')`\t | Dekode string menggunakan codec yang terdaftar untuk pengkodean. Encoding default ke pengkodean string default. | \n| `encode(encoding = 'UTF-8',errors = 'strict')`\t | Mengembalikan versi string yang dikodekan string; Pada kesalahan, default adalah menaikkan ValueError kecuali jika kesalahan diberikan dengan 'ignore' atau 'replace'. | \n| `endswith(suffix, beg = 0, end = len(string))`\t | Menentukan apakah string atau substring string (jika memulai indeks memohon dan mengakhiri akhir indeks diberikan) berakhir dengan akhiran; Mengembalikan nilai true jika benar dan salah. | \n| `expandtabs(tabsize = 8)`\t | Memperluas tab dalam string ke banyak ruang; Default ke 8 spasi per tab jika tabsize tidak tersedia. | \n| `find(str, beg = 0 end = len(string))`\t | Tentukan jika str terjadi dalam string atau dalam substring string jika memulai indeks beg dan end index end diberikan return index jika ditemukan dan -1 sebaliknya. | \n| `index(str, beg = 0, end = len(string))`\t | Sama seperti find (), namun menimbulkan pengecualian jika str tidak ditemukan. | \n| `isalnum()`\t | Mengembalikan true jika string memiliki minimal 1 karakter dan semua karakternya alfanumerik dan false sebaliknya. | \n| `isalpha()`\t | Mengembalikan true jika string memiliki minimal 1 karakter dan semua karakter adalah abjad dan false sebaliknya. | \n| `isdigit()`\t | Mengembalikan true jika string hanya berisi digit dan false sebaliknya. | \n| `islower()`\t | Mengembalikan true jika string memiliki setidaknya 1 karakter casing dan semua karakter casing dalam huruf kecil dan false sebaliknya. | \n| `isnumeric()`\t | Mengembalikan true jika string unicode hanya berisi karakter numerik dan false sebaliknya. | \n| `isspace()`\t | Mengembalikan true jika string hanya berisi karakter spasi dan false sebaliknya. | \n| `istitle()` | \tMengembalikan true jika string benar \"titlecased\" dan false sebaliknya. | \n| `isupper()`\t | Mengembalikan true jika string memiliki setidaknya satu karakter casing dan semua karakter casing ada dalam huruf besar dan false sebaliknya. | \n| `join(seq)` | \tMerges (concatenates) representasi string elemen dalam urutan seq menjadi string, dengan string pemisah. | \n| `len(string)`\t | Mengembalikan panjang string | \n| `ljust(width[, fillchar])`\t | Mengembalikan string berlapis ruang dengan string asli dibiarkan dibenarkan ke kolom lebar total. | \n| `lower()` | \tMengonversi semua huruf besar dalam bentuk string menjadi huruf kecil. | \n| `lstrip()` | \tMenghapus semua spasi utama dalam string. | \n| `maketrans()` | \tMengembalikan tabel terjemahan untuk digunakan dalam fungsi terjemahan. | \n| `max(str)` | \tMengembalikan karakter alfabetik dari string str. | \n| `min(str)`\t | Mengembalikan min karakter abjad dari string str. | \n| `replace(old, new [, max])`\t | Menggantikan semua kemunculan lama dalam string dengan kejadian baru atau paling maksimal jika max diberikan. | \n| `rfind(str, beg = 0,end = len(string))`\t | Sama seperti find (), tapi cari mundur dalam string. | \n| `rindex( str, beg = 0, end = len(string))`\t | Sama seperti index (), tapi cari mundur dalam string. | \n| `rjust(width,[, fillchar])`\t | Mengembalikan string berlapis ruang dengan senar asli benar-dibenarkan untuk total kolom lebar. | \n| `rstrip()` | \tMenghapus semua spasi spasi string. | \n| `split(str=\"\", num=string.count(str))`\t | Membagi string sesuai dengan pemisah str (ruang jika tidak disediakan) dan mengembalikan daftar substring; Terpecah menjadi paling banyak substring jika diberikan. | \n| `splitlines( num=string.count('\\n')) `| \tMembagi string sama sekali (atau num) NEWLINEs dan mengembalikan daftar setiap baris dengan NEWLINEs dihapus. | \n| `startswith(str, beg=0,end=len(string)`\t\t | Determines if string or a substring of string (if starting index beg and ending index end are given) starts with substring str; returns true if so and false otherwise. | \n| `strip([chars])`\t\t | Lakukan kedua lstrip () dan rstrip () pada string | \n| `swapcase()`\t | \tKasus invers untuk semua huruf dalam string. | \n| `title()`\t\t | Mengembalikan versi string \"titlecased\", yaitu, semua kata diawali dengan huruf besar dan sisanya huruf kecil. | \n| `translate(table, deletechars=\"\")\t`\t | Menerjemahkan string sesuai dengan tabel terjemahan str (256 karakter), menghapus string del. | \n| `upper()`\t | \tMengonversi huruf kecil dalam bentuk string ke huruf besar. | \n| `zfill (width)`\t | \tMengembalikan string asli yang tertinggal dengan angka nol ke total karakter lebar; Dimaksudkan untuk angka, zfill () mempertahankan tanda apapun yang diberikan (kurang satu nol). | \n| `isdecimal()`\t | \tMengembalikan nilai true jika string unicode hanya berisi karakter desimal dan false sebaliknya. | \n\n# List\n\nDalam bahasa pemrograman Python, struktur data yang paling dasar adalah urutan atau lists. Setiap elemen-elemen berurutan akan diberi nomor posisi atau indeksnya. Indeks pertama dalam list adalah nol, indeks kedua adalah satu dan seterusnya.\n\nPython memiliki enam jenis urutan built-in, namun yang paling umum adalah list dan tuple. Ada beberapa hal yang dapat Anda lakukan dengan semua jenis list. Operasi ini meliputi pengindeksan, pengiris, penambahan, perbanyak, dan pengecekan keanggotaan. Selain itu, Python memiliki fungsi built-in untuk menemukan panjang list dan untuk menemukan elemen terbesar dan terkecilnya.\n\n### Membuat List Python\n\nList adalah tipe data yang paling serbaguna yang tersedia dalam bahasa Python, yang dapat ditulis sebagai daftar nilai yang dipisahkan koma (item) antara tanda kurung siku. Hal penting tentang daftar adalah item dalam list tidak boleh sama jenisnya.\n\nMembuat list sangat sederhana, tinggal memasukkan berbagai nilai yang dipisahkan koma di antara tanda kurung siku. Dibawah ini adalah contoh sederhana pembuatan list dalam bahasa Python.\n```go\n\n#Contoh sederhana pembuatan list pada bahasa pemrograman python\nlist1 = ['kimia', 'fisika', 1993, 2017]\nlist2 = [1, 2, 3, 4, 5 ]\nlist3 = [\"a\", \"b\", \"c\", \"d\"]\n\n```\n### Akses Nilai Dalam List Python\n\nUntuk mengakses nilai dalam list python, gunakan tanda kurung siku untuk mengiris beserta indeks atau indeks untuk mendapatkan nilai yang tersedia pada indeks tersebut.\n\nBerikut adalah contoh cara mengakses nilai di dalam list python :\n\n```\n\n#Cara mengakses nilai di dalam list Python\n\nlist1 = ['fisika', 'kimia', 1993, 2017]\nlist2 = [1, 2, 3, 4, 5, 6, 7 ]\n\nprint (\"list1[0]: \", list1[0])\nprint (\"list2[1:5]: \", list2[1:5])\n\n```\nSetelah Anda mengeksekusi kode diatas, hasilnya akan seperti dibawah ini :\n\n`list1[0]: fisika`\n`list2[1:5]: [2, 3, 4, 5]`\n\n### Update Nilai Dalam List Python\n\nAnda dapat memperbarui satu atau beberapa nilai di dalam list dengan memberikan potongan di sisi kiri operator penugasan, dan Anda dapat menambahkan nilai ke dalam list dengan metode append (). Sebagai contoh :\n\n```\n\nlist = ['fisika', 'kimia', 1993, 2017]\nprint (\"Nilai ada pada index 2 : \", list[2])\n\nlist[2] = 2001\nprint (\"Nilai baru ada pada index 2 : \", list[2])\n\n```\n### Hapus Nilai Dalam List Python\n\nUntuk menghapus nilai di dalam list python, Anda dapat menggunakan salah satu pernyataan del jika Anda tahu persis elemen yang Anda hapus. Anda dapat menggunakan metode remove() jika Anda tidak tahu persis item mana yang akan dihapus. Sebagai contoh :\n```\n\n#Contoh cara menghapus nilai pada list python\n\nlist = ['fisika', 'kimia', 1993, 2017]\n\nprint (list)\ndel list[2]\nprint (\"Setelah dihapus nilai pada index 2 : \", list)\n\n```\n### Operasi Dasar Pada List Python\n\nList Python merespons operator + dan * seperti string; Itu artinya penggabungan dan pengulangan di sini juga berlaku, kecuali hasilnya adalah list baru, bukan sebuah String.\n\nSebenarnya, list merespons semua operasi urutan umum yang kami gunakan pada String di bab sebelumnya. Dibawah ini adalah tabel daftar operasi dasar pada list python.\n\n| Python Expression\t| Hasil\t\t| Penjelasan\t| \n| --- | --- | --- |\n| `len([1, 2, 3, 4])`\t\t| `4`\t| Length\t| \n| `[1, 2, 3] + [4, 5, 6]`\t| \t`[1, 2, 3, 4, 5, 6]`\t| \tConcatenation\t| \n| `['Halo!'] * 4`\t\t| `['Halo!', 'Halo!', 'Halo!', 'Halo!']`\t| \tRepetition\t| \n| `2 in [1, 2, 3]`\t| `\tTrue`\t| \tMembership\t| \n| `for x in [1,2,3] : print (x,end = ' ')`\t| \t`1 2 3`\t\t| Iteration\t| \n\n### Indexing, Slicing dan Matrix Pada List Python\n\nKarena list adalah urutan, pengindeksan dan pengiris bekerja dengan cara yang sama untuk list seperti yang mereka lakukan untuk String.\n\nDengan asumsi input berikut :\n\n`L = ['C++'', 'Java', 'Python']`\n\n | Python Expression | \tHasil | \tPenjelasan | \n | --- | --- | --- | \n | `L[2]`\t | `'Python'` | \tOffset mulai dari nol | \n | `L[-2]` | \t`'Java'` | \tNegatif: hitung dari kanan | \n | `[1:]`\t | `['Java', 'Python']` | \tSlicing mengambil bagian | \n \n### Method dan Fungsi Build-in Pada List Python\n\nPython menyertakan fungsi built-in sebagai berikut :\n\n| Python Function | \tPenjelasan | \n| --- | --- |\n| cmp(list1, list2)\t# |  Tidak lagi tersedia dengan Python 3 | \n| len(list)\t | Memberikan total panjang list. | \n| max(list)\t | Mengembalikan item dari list dengan nilai maks. | \n| min(list)\t | Mengembalikan item dari list dengan nilai min. | \n| list(seq)\t | Mengubah tuple menjadi list. | \n\nPython menyertakan methods built-in sebagai berikut\n\n | Python Methods | \tPenjelasan | \n | --- | --- | \n | list.append(obj)\t | Menambahkan objek obj ke list | \n | list.count(obj) | \tJumlah pengembalian berapa kali obj terjadi dalam list | \n | list.extend(seq) | \tTambahkan isi seq ke list | \n | list.index(obj) | \tMengembalikan indeks terendah dalam list yang muncul obj | \n | list.insert(index, obj)\t | Sisipkan objek obj ke dalam list di indeks offset | \n | list.pop(obj = list[-1])\t | Menghapus dan mengembalikan objek atau obj terakhir dari list | \n | list.remove(obj) | \tRemoves object obj from list | \n | list.reverse() | \tMembalik list objek di tempat | \n | list.sort([func])\t | Urutkan objek list, gunakan compare func jika diberikan | \n \n # Tuple\n \n Sebuah tupel adalah urutan objek Python yang tidak berubah. Tupel adalah urutan, seperti daftar. Perbedaan utama antara tupel dan daftarnya adalah bahwa tupel tidak dapat diubah tidak seperti List Python. Tupel menggunakan tanda kurung, sedangkan List Python menggunakan tanda kurung siku.\n\nMembuat tuple semudah memasukkan nilai-nilai yang dipisahkan koma. Secara opsional, Anda dapat memasukkan nilai-nilai yang dipisahkan koma ini di antara tanda kurung juga. Sebagai contoh : \n\n\n```\n\n#Contoh sederhana pembuatan tuple pada bahasa pemrograman python\n\ntup1 = ('fisika', 'kimia', 1993, 2017)\ntup2 = (1, 2, 3, 4, 5 )\ntup3 = \"a\", \"b\", \"c\", \"d\"\n\n```\nTupel kosong ditulis sebagai dua tanda kurung yang tidak berisi apa-apa, contohnya : tup1 = ();\nUntuk menulis tupel yang berisi satu nilai, Anda harus memasukkan koma, meskipun hanya ada satu nilai, contohnya : tup1 = (50,)\nSeperti indeks String, indeks tuple mulai dari 0, dan mereka dapat diiris, digabungkan, dan seterusnya\n\n### Akses Nilai Dalam Tuple Python\n\nUntuk mengakses nilai dalam tupel, gunakan tanda kurung siku untuk mengiris beserta indeks atau indeks untuk mendapatkan nilai yang tersedia pada indeks tersebut. Sebagai contoh :\n\n```\n\n#Cara mengakses nilai tuple\n\ntup1 = ('fisika', 'kimia', 1993, 2017)\ntup2 = (1, 2, 3, 4, 5, 6, 7 )\n\nprint (\"tup1[0]: \", tup1[0])\nprint (\"tup2[1:5]: \", tup2[1:5])\n\n```\nSetelah Anda mengeksekusi kode diatas, hasilnya akan seperti dibawah ini :\n\n`tup1[0]: fisika`\n`tup2[1:5]: (2, 3, 4, 5)`\n\n### Update Nilai Dalam Tuple Python\n\nTuple tidak berubah, yang berarti Anda tidak dapat memperbarui atau mengubah nilai elemen tupel. Anda dapat mengambil bagian dari tupel yang ada untuk membuat tupel baru seperti ditunjukkan oleh contoh berikut.\n\n```\n\ntup1 = (12, 34.56)\ntup2 = ('abc', 'xyz')\n\n# Aksi seperti dibawah ini tidak bisa dilakukan pada tuple python\n# Karena memang nilai pada tuple python tidak bisa diubah\n# tup1[0] = 100;\n\n# Jadi, buatlah tuple baru sebagai berikut\ntup3 = tup1 + tup2\nprint (tup3)\n\n```\n### Hapus Nilai Dalam Tuple Python\n\nMenghapus elemen tuple individual tidak mungkin dilakukan. Tentu saja, tidak ada yang salah dengan menggabungkan tupel lain dengan unsur-unsur yang tidak diinginkan dibuang.\n\nUntuk secara eksplisit menghapus keseluruhan tuple, cukup gunakan del statement. Sebagai contoh\n\n```\n\ntup = ('fisika', 'kimia', 1993, 2017);\n\nprint (tup)\ndel tup;\nprint \"Setelah menghapus tuple : \"\nprint tup\n\n```\n\n### Operasi Dasar Pada Tuple Python\n\nTupel merespons operator + dan * sama seperti String; Mereka berarti penggabungan dan pengulangan di sini juga berlaku, kecuali hasilnya adalah tupel baru, bukan string.\n\nSebenarnya, Tuple merespons semua operasi urutan umum yang kami gunakan pada String di bab sebelumnya. Dibawah ini adalah tabel daftar operasi dasar pada Tuple python\n\n\n| Python Expression\t | Hasil | \tPenjelasan | \n| --- | --- | --- | \n| len((1, 2, 3)) | \t3 | \tLength | \n| (1, 2, 3) + (4, 5, 6) | \t(1, 2, 3, 4, 5, 6) | \tConcatenation | \n| ('Halo!',) * 4 | \t('Halo!', 'Halo!', 'Halo!', 'Halo!') | \tRepetition | \n| 3 in (1, 2, 3) | \tTrue | \tMembership | \n| for x in (1,2,3) : print (x, end = ' ') | \t1 2 3 | \tIteration | \n\n### Indexing, Slicing dan Matrix Pada Tuple Python\n\nKarena tupel adalah urutan, pengindeksan dan pengiris bekerja dengan cara yang sama untuk tupel seperti pada String, dengan asumsi masukan berikut\n\nDengan asumsi input berikut : `T = ('C++', 'Java', 'Python')`\n\n | Python Expression | \tHasil | \tPenjelasan |\n | --- | --- | --- |\n | `T[2]` | \t`'Python'` | \tOffset mulai dari nol | \n | `T[-2]` | \t`'Java'`\t | Negatif: hitung dari kanan | \n | `T[1:]` | \t`('Java', 'Python')` | \tSlicing mengambil bagian | \n\n### Fungsi Build-in Pada Tuple Python\n\nPython menyertakan fungsi built-in sebagai berikut\n\n| Python Function |\tPenjelasan |\t\n| --- | --- |\n| `cmp(tuple1, tuple2)` |\t\t# Tidak lagi tersedia dengan Python 3 |\t\n| `len(tuple)` |\t\tMemberikan total panjang tuple. |\t\n| `max(tuple)` |\t\tMengembalikan item dari tuple dengan nilai maks. |\t\n| `min(tuple)` |\t\tMengembalikan item dari tuple dengan nilai min. |\t\n| `tuple(seq)` |\t\tMengubah tuple menjadi tuple. |\n\n# Dictionary\n\nDictionary Python berbeda dengan List ataupun Tuple. Karena setiap urutanya berisi key dan value. Setiap key dipisahkan dari value-nya oleh titik dua (:), item dipisahkan oleh koma, dan semuanya tertutup dalam kurung kurawal. Dictionary kosong tanpa barang ditulis hanya dengan dua kurung kurawal, seperti ini: {}.\n\nNilai kamus bisa berupa tipe apa pun, namun key harus berupa tipe data yang tidak berubah seperti string, angka, atau tupel.\n\n### Akses Nilai Dalam Dictionary Python\n\nUntuk mengakses elemen Dictionary, Anda dapat menggunakan tanda kurung siku yang sudah dikenal bersama dengan key untuk mendapatkan nilainya. Berikut adalah contoh sederhananya :\n\n```\n\n#Contoh cara membuat Dictionary pada Python\n\ndict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}\nprint (\"dict['Name']: \", dict['Name'])\nprint (\"dict['Age']: \", dict['Age'])\n\n```\n### Update Nilai Dalam Dictionary Python\n\nAnda dapat memperbarui Dictionary dengan menambahkan entri baru atau pasangan nilai kunci, memodifikasi entri yang ada, atau menghapus entri yang ada seperti ditunjukkan pada contoh sederhana yang diberikan di bawah ini.\n\n\n```\n\n#Update dictionary python\n\ndict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}\ndict['Age'] = 8; # Mengubah entri yang sudah ada\ndict['School'] = \"DPS School\" # Menambah entri baru\n\nprint (\"dict['Age']: \", dict['Age'])\nprint (\"dict['School']: \", dict['School'])\n\n```\n### Hapus Elemen Dictionary Python\n\nAnda dapat menghapus elemen Dictionary individual atau menghapus keseluruhan isi Dictionary. Anda juga dapat menghapus seluruh Dictionary dalam satu operasi.\n\nUntuk menghapus seluruh Dictionary secara eksplisit, cukup gunakan del statement. Berikut adalah contoh sederhana :\n\n```\n\n#Contoh cara menghapus pada Dictionary Python\n\ndict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}\n\ndel dict['Name'] # hapus entri dengan key 'Name'\ndict.clear()     # hapus semua entri di dict\ndel dict         # hapus dictionary yang sudah ada\n\nprint (\"dict['Age']: \", dict['Age'])\nprint (\"dict['School']: \", dict['School'])\n\n```\n### Fungsi Build-in Pada Dictionary Python\n\nPython menyertakan fungsi built-in sebagai berikut :\n\n| Fungsi Python | \tPenjelasan | \n| --- | --- |\n| cmp(dict1, dict2)\t | Membandingkan unsur keduanya. | \n| len(dict)\t | Memberikan panjang total Dictionary. Ini sama dengan jumlah item dalam Dictionary. | \n| str(dict) | \tMenghasilkan representasi string yang dapat dicetak dari Dictionary | \n| type(variable)\t | Mengembalikan tipe variabel yang lulus. Jika variabel yang dilewatkan adalah Dictionary, maka akan mengembalikan tipe Dictionary. | \n\n\n### Method Build-in Pada Dictionary Python\n\nPython menyertakan method built-in sebagai berikut :\n\n | Method Python | \tPenjelasan | \n | --- | --- |\n | dict.clear() | \tMenghapus semua elemen Dictionary | \n | dict.copy()\t | Mengembalikan salinan Dictionary | \n | dict.fromkeys() | \tBuat Dictionary baru dengan kunci dari seq dan nilai yang disetel ke nilai. | \n | dict.get(key, default=None)\t | For key, nilai pengembalian atau default jika tombol tidak ada dalam Dictionary | \n | dict.has_key(key) | \tMengembalikan true jika key dalam Dictionary, false sebaliknya | \n | dict.items() | \tMengembalikan daftari dari pasangan tuple dictionary (key, value) | \n | dict.keys()\t | Mengembalikan daftar key dictionary | \n | dict.setdefault(key, default=None) | \tMirip dengan get (), tapi akan mengatur dict [key] = default jika kunci belum ada di dict |\n | dict.update(dict2) | \tMenambahkan pasangan kunci kata kunci dict2 ke dict | \n | dict.values() | \tMengembalikan daftar nilai dictionary | \n \n # Tanggal dan Waktu\n \n Program Python dapat menangani tanggal dan waktu dengan beberapa cara. Konversi antara format tanggal adalah tugas umum untuk komputer. Modul waktu dan kalender Python melacak tanggal dan waktu.\n\n### Apa itu Tick?\n\nInterval waktu adalah bilangan floating-point dalam satuan detik. Instansi tertentu dalam waktu dinyatakan dalam hitungan detik sejak pukul 12:00 1 Januari 1970.\n\nDibawah ini adalah contoh penggunanaya.\n\n```\n\nimport time;  # Digunakan untuk meng-import modul time\n\nticks = time.time()\nprint \"Berjalan sejak 12:00am, January 1, 1970:\", ticks\n\n```\n### Apa itu TimeTuple Python?\n\nBanyak fungsi waktu Python menangani waktu sebagai tuple dari 9 nomor, seperti yang terdapat pada tabel di bawah ini.\n\n | Index | \tField\t | Value | \n | --- | --- | --- |\n | 0 | \t4-digit year | \t2008 | \n | 1 | \tBulan | \t1 sampai 12 | \n | 2 | \tHari | \t1 sampai 31 | \n | 3 | \tJam | \t0 sampai 23 | \n | 4 | \tMenit | \t0 sampai 59 | \n | 5 | \tDetik | \t0 sampai 61 | \n | 6 | \tHari dalam Minggu | \t0 sampai 6 (0 adalah Senin) | \n | 7 | \tHari dalam Bulan | \t1 sampai 366 | \n | 8 | \tDaylight savings | \t-1, 0, 1, -1 means library determines DST | \n\nTuple di atas setara dengan struktur struct_time. Struktur ini memiliki atribut berikut\n\n | Index | \tAtribut\t | Value | \n | --- | --- | --- |\n | 0 | \ttm_year\t | 2008 | \n | 1 | \ttm_mon | \t1 sampai 12 | \n | 2 | \ttm_mday\t | 1 sampai 31 | \n | 3 | \ttm_hour | \t0 sampai 23 | \n | 4 | \ttm_min | \t0 sampai 59 | \n | 5 | \ttm_sec | \t0 sampai 61 | \n | 6 | \ttm_wday | \t0 sampai 6 (0 adalah Senin) | \n | 7 | \ttm_yday | \t1 sampai 366 | \n | 8 | \ttm_isdst | \t-1, 0, 1, -1 means library determines DST | \n\n### Mendapatkan Waktu Saat Ini\n\nUntuk menerjemahkan waktu instan dari satu detik sejak nilai floating-point ke waktu menjadi tupel waktu, lewati nilai floating-point ke fungsi (mis., Localtime) yang mengembalikan waktu tupel dengan semua sembilan item valid.\n\n```\n\nimport time;\n\nlocaltime = time.localtime(time.time())\nprint \"Waktu lokal saat ini :\", localtime\n\n```\n### Mendapatkan Waktu yang berformat\n\nAnda dapat memformat kapan saja sesuai kebutuhan Anda, namun metode sederhana untuk mendapatkan waktu dalam format yang mudah dibaca adalah asctime ()\n\n```\n\nimport time;\n\nlocaltime = time.asctime( time.localtime(time.time()) )\nprint \"Waktu lokal saat ini :\", localtime\n\n```\n### Mendapatkan kalender dalam sebulan\n\nModul kalender memberikan berbagai macam metode untuk dimainkan dengan kalender tahunan dan bulanan. Di sini, kami mencetak kalender untuk bulan tertentu (Jan 2008)\n```\n\nimport calendar\n\ncal = calendar.month(2008, 1)\nprint \"Dibawah ini adalah kalender:\"\nprint cal\n\n```\n### Modul time pada Python\n\nAda modul waktu populer yang tersedia dengan Python yang menyediakan fungsi untuk bekerja dengan waktu dan untuk mengkonversi antara representasi. Dibawah ini adalah tabel dari modul time pada python yang ada.\n\n| Fungsi Python | \tPenjelasan | \n| --- | --- |\n| time.altzone | \tDiimbangi zona waktu DST lokal, dalam detik di sebelah barat UTC, jika seseorang didefinisikan. Ini negatif jika zona waktu DST lokal berada di sebelah timur UTC (seperti di Eropa Barat, termasuk Inggris). Gunakan saja ini jika siang hari tidak nol. | \n| time.asctime([tupletime]) | \tMenerima time-tupel dan mengembalikan string 24-karakter yang dapat dibaca seperti 'Tue Dec 11 18:07:14 2008'. | \n| time.clock() | \tMengembalikan waktu CPU saat ini sebagai jumlah floating-point detik. Untuk mengukur biaya komputasi dari berbagai pendekatan, nilai time.clock lebih bermanfaat daripada time.time (). | \n| time.ctime([secs]) | \tSeperti asctime (localtime (detik)) dan tanpa argumen seperti asctime () | \n| time.gmtime([secs]) | \tMenerima instan yang diungkapkan dalam hitungan detik sejak zaman dan mengembalikan waktu tuple t dengan waktu UTC. Catatan: t.tm_isdst selalu 0 | \n| time.localtime([secs]) | \tMenerima instan yang dinyatakan dalam hitungan detik sejak zaman dan mengembalikan waktu tuple t dengan waktu setempat (t.tm_isdst adalah 0 atau 1, tergantung pada apakah DST berlaku seketika oleh peraturan lokal). | \n| time.mktime(tupletime) | \tMenerima instan dinyatakan sebagai time-tuple di waktu setempat dan mengembalikan nilai floating-point dengan instan yang dinyatakan dalam hitungan detik sejak zaman. | \n| time.sleep(secs) | \tMenangguhkan panggilan untuk beberapa detik. | \n| time.strftime(fmt[,tupletime]) | \tMenerima instan dinyatakan sebagai tupel waktu di waktu lokal dan mengembalikan sebuah string yang mewakili instan seperti yang ditentukan oleh string fmt. | \n| time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')\t | Parses str sesuai dengan format string fmt dan mengembalikan format instant-tuple. | \n| time.time() | \tMengembalikan waktu saat ini secara instan, jumlah detik mengambang beberapa detik sejak zaman itu. | \n| time.tzset()\t | Mengatur ulang aturan konversi waktu yang digunakan oleh rutinitas perpustakaan. Variabel lingkungan TZ menentukan bagaimana hal ini dilakukan. | \n\nAda dua atribut penting yang tersedia dengan modul waktu:\n\n | Method Python | \tPenjelasan | \n | --- | --- |\n | time.timezone | \tAtribut time.timezone adalah offset dalam detik zona waktu lokal (tanpa DST) dari UTC (\u003e 0 di Amerika; \u003c= 0 di sebagian besar Eropa, Asia, Afrika). | \n | time.tzname\t | Atribut time.tzname adalah sepasang string yang bergantung pada lokal, yang merupakan nama zona waktu lokal tanpa dan dengan DST. | \n\n### Modul calendar pada Python\n\nModul kalender menyimpan fungsi yang berhubungan dengan kalender, termasuk fungsi untuk mencetak kalender teks untuk bulan atau tahun tertentu.\n\nSecara default, kalender mengambil hari Senin sebagai hari pertama dalam minggu dan minggu sebagai yang terakhir. Untuk mengubah ini, fungsi call calendar.setfirstweekday ().\n\nBerikut adalah daftar fungsi yang tersedia dengan modul kalender:\n\n\n | Fungsi Python | \tPenjelasan | \n | --- | --- |\n | calendar.calendar(year,w=2,l=1,c=6)\t | Mengembalikan string multiline dengan kalender untuk tahun tahun yang diformat menjadi tiga kolom yang dipisahkan oleh ruang c. W adalah lebar karakter setiap tanggal; Setiap baris memiliki panjang 21 * w + 18 + 2 * c. L adalah jumlah baris untuk setiap minggu. | \n | calendar.firstweekday( )\t | Mengembalikan pengaturan saat ini untuk hari kerja yang dimulai setiap minggu. Secara default, saat kalender pertama kali diimpor, ini adalah 0, yang berarti Senin. | \n | calendar.isleap(year) | \tPengembalian True jika tahun adalah tahun kabisat; Jika tidak, False | \n | calendar.leapdays(y1,y2) | \tMengembalikan jumlah lompatan hari dalam tahun-tahun dalam rentang (y1, y2). | \n | calendar.month(year,month,w=2,l=1) | \tMengembalikan string multiline dengan kalender untuk bulan bulan tahun, satu baris per minggu ditambah dua baris header. W adalah lebar karakter setiap tanggal; Setiap baris memiliki panjang 7 * w + 6. L adalah jumlah baris untuk setiap minggu. | \n | calendar.monthcalendar(year,month) | \tMengembalikan daftar daftar int. Setiap sublist menunjukkan seminggu. Hari di luar bulan bulan tahun diatur ke 0; Hari dalam bulan ditetapkan ke hari ke bulan, 1 dan ke atas. | \n | calendar.monthrange(year,month) | \tMengembalikan dua bilangan bulat. Yang pertama adalah kode hari kerja untuk hari pertama bulan bulan di tahun; Yang kedua adalah jumlah hari dalam sebulan. Kode hari kerja adalah 0 (Senin) sampai 6 (Minggu); Angka bulan adalah 1 sampai 12. | \n | calendar.prcal(year,w=2,l=1,c=6)\t | Seperti kalender cetak.calendar (tahun, w, l, c). | \n | calendar.prmonth(year,month,w=2,l=1)\t | Seperti kalender cetak. Bulan (tahun, bulan, w, l). | \n | calendar.setfirstweekday(weekday) | \tMengatur hari pertama setiap minggu sampai hari kerja kode hari kerja. Kode hari kerja adalah 0 (Senin) sampai 6 (Minggu). | \n | calendar.timegm(tupletime) | \tKebalikan dari time.gmtime: menerima waktu instan dalam bentuk tupel waktu dan mengembalikan detik yang sama seperti jumlah floating-point dalam hitungan detik sejak zaman. | \n | calendar.weekday(year,month,day)\t | Mengembalikan kode hari kerja untuk tanggal yang ditentukan. Kode hari kerja adalah 0 (Senin) sampai 6 (Minggu); Bulan adalah 1 (Januari) sampai 12 (Desember). | \n \n # Fungsi\n Fungsi adalah blok kode terorganisir dan dapat digunakan kembali yang digunakan untuk melakukan sebuah tindakan/action. Fungsi memberikan modularitas yang lebih baik untuk aplikasi Anda dan tingkat penggunaan kode yang tinggi.\n\n### Mendefinisikan Fungsi Python\n\nAnda dapat menentukan fungsi untuk menyediakan fungsionalitas yang dibutuhkan. Berikut adalah aturan sederhana untuk mendefinisikan fungsi dengan Python.\n\n- Fungsi blok dimulai dengan def kata kunci diikuti oleh nama fungsi dan tanda kurung (()).\n- Setiap parameter masukan atau argumen harus ditempatkan di dalam tanda kurung ini. Anda juga dapat menentukan parameter di dalam tanda kurung ini.\n- Pernyataan pertama dari sebuah fungsi dapat berupa pernyataan opsional - string dokumentasi fungsi atau docstring.\n- Blok kode dalam setiap fungsi dimulai dengan titik dua (:) dan indentasi.\n- Pernyataan kembali [ekspresi] keluar dari sebuah fungsi, secara opsional menyampaikan kembali ekspresi ke pemanggil. Pernyataan pengembalian tanpa argumen sama dengan return None.\n\nContoh fungsi\n```\n\ndef printme( str ):\n   \"This prints a passed string into this function\"\n   print (str)\n   return\n\n```\n \nDisini kita akan belajar semua fungsi dasar I/O yang tersedia pada Python 3. Jika Anda ingin mempelajari lebih detail, lihat dokumentasi standar Python.\n\n### Print\n\nCara termudah untuk menghasilkan output adalah dengan menggunakan pernyataan cetak di mana Anda bisa melewati nol atau lebih banyak ekspresi yang dipisahkan dengan koma. Fungsi ini mengubah ekspresi yang Anda berikan ke string dan menulis hasilnya ke output standar sebagai berikut :\n```\n\nprint (\"Python adalah bahasa pemrograman yang hebat\")\n\n```\n### Membaca Input Keyboard\n\nPython 2 memiliki dua fungsi built-in untuk membaca data dari input standar, yang secara default berasal dari keyboard. Fungsi ini adalah input() dan raw_input()\n\nDengan Python 3, fungsi raw_input() tidak digunakan lagi. Selain itu, input() berfungsi membaca data dari keyboard sebagai string, terlepas dari apakah itu tertutup dengan tanda kutip ('' atau '\") atau tidak.\n\n### Fungsi Input Python\n\nFungsi input([prompt]) setara dengan raw_input, kecuali mengasumsikan bahwa input adalah ekspresi Python yang valid dan mengembalikan hasil yang dievaluasi ke Anda.\n```\n\n\n\u003e\u003e\u003e x = input(\"something:\")\nsomething:10\n\n\u003e\u003e\u003e x\n'10'\n\n\u003e\u003e\u003e x = input(\"something:\")\nsomething:'10' #entered data treated as string with or without ''\n\n\u003e\u003e\u003e x\n\"'10'\"\n\n```\n# Modul\nModul memungkinkan Anda mengatur kode Python secara logis. Mengelompokkan kode terkait ke dalam modul membuat kode lebih mudah dipahami dan digunakan. Modul adalah objek Python dengan atribut yang diberi nama yang bisa Anda bind dan dijadikan referensi.\n\nSecara sederhana modul adalah file yang terdiri dari kode Python. Modul dapat mendefinisikan fungsi, kelas dan variabel. Modul juga bisa menyertakan kode yang bisa dijalankan \"runable\".\n\nBerikut adalah contoh modul sederhana pada Python :\n\n```\n\ndef print_func( par ):\n   print \"Halo : \", par\n   return\n\n```\n### Import Statement\n\nAnda dapat menggunakan file sumber Python apapun sebagai modul dengan mengeksekusi pernyataan impor di file sumber Python lainnya. Impornya memiliki sintaks berikut.\n\nKetika interpreter menemukan sebuah pernyataan import, ia mengimpor modul jika modul tersebut ada di jalur pencarian. Jalur pencarian adalah daftar direktori yang ditafsirkan juru bahasa sebelum mengimpor modul. Misalnya, untuk mengimpor modul hello.py, Anda perlu meletakkan perintah berikut di bagian atas script.\n```\n\n## Import module support\nimport support\n\n## Anda bisa memanggil fungsi defined sebagai berikut\nsupport.print_func(\"Andy\")\n\n```\n\n# I/O\nDisini kita akan belajar semua fungsi dasar I/O yang tersedia pada Python 3. Jika Anda ingin mempelajari lebih detail, lihat dokumentasi standar Python.\n\n### Print\n\nCara termudah untuk menghasilkan output adalah dengan menggunakan pernyataan cetak di mana Anda bisa melewati nol atau lebih banyak ekspresi yang dipisahkan dengan koma. Fungsi ini mengubah ekspresi yang Anda berikan ke string dan menulis hasilnya ke output standar sebagai berikut :\n```\n\nprint (\"Python adalah bahasa pemrograman yang hebat\")\n\n```\n### Membaca Input Keyboard\n\nPython 2 memiliki dua fungsi built-in untuk membaca data dari input standar, yang secara default berasal dari keyboard. Fungsi ini adalah input() dan raw_input()\n\nDengan Python 3, fungsi raw_input() tidak digunakan lagi. Selain itu, input() berfungsi membaca data dari keyboard sebagai string, terlepas dari apakah itu tertutup dengan tanda kutip ('' atau '\") atau tidak.\n\n### Fungsi Input Python\n\nFungsi input([prompt]) setara dengan raw_input, kecuali mengasumsikan bahwa input adalah ekspresi Python yang valid dan mengembalikan hasil yang dievaluasi ke Anda.\n\n```\n\n\u003e\u003e\u003e x = input(\"something:\")\nsomething:10\n\n\u003e\u003e\u003e x\n'10'\n\n\u003e\u003e\u003e x = input(\"something:\")\nsomething:'10' #entered data treated as string with or without ''\n\n\u003e\u003e\u003e x\n\"'10'\"\n\n\n\n```\n# Exception Python\nPython menyediakan dua fitur yang sangat penting untuk menangani kesalahan tak terduga dalam program Python Anda dan menambahkan kemampuan debugging di dalamnya.\n\n- Exception Handling\n- Assertions\nException adalah sebuah peristiwa, yang terjadi selama pelaksanaan program yang mengganggu aliran normal instruksi program. Secara umum, ketika skrip Python menemukan situasi yang tidak dapat diatasi, hal itu menimbulkan pengecualian. Exception adalah objek Python yang mewakili kesalahan.\n\nKetika skrip Python menimbulkan Exception, ia harus menangani Exception begitu saja sehingga berhenti dan berhenti.\n\n### Standard Exceptions\n\n| Nama\t| Penjelasan\t| \n| --- | --- |\n| Exception\t\t| Kelas dasar untuk semua pengecualian / exception\t| \n| StopIteration\t\t| Dibesarkan ketika metode (iterator) berikutnya dari iterator tidak mengarah ke objek apa pun.\t| \n| SystemExit\t| \tDibesarkan oleh fungsi sys.exit ().\t| \n| StandardError\t\t| Kelas dasar untuk semua pengecualian built-in kecuali StopIteration dan SystemExit.\t| \n| ArithmeticError\t| \tKelas dasar untuk semua kesalahan yang terjadi untuk perhitungan numerik.\t| \n| OverflowError\t\t| Dibesarkan saat perhitungan melebihi batas maksimum untuk tipe numerik.\t| \n| FloatingPointError\t| \tDibesarkan saat perhitungan floating point gagal.\t| \n| ZeroDivisonError\t| \tDibesarkan saat pembagian atau modulo nol dilakukan untuk semua tipe numerik.\t| \n| AssertionError\t| \tDibesarkan jika terjadi kegagalan pernyataan Assert.\t| \n| AttributeError\t| \tDibesarkan jika terjadi kegagalan referensi atribut atau penugasan.\t| \n| EOFError\t\t| Dibesarkan bila tidak ada input dari fungsi raw_input () atau input () dan akhir file tercapai.\t| \n| ImportError\t\t| Dibesarkan saat sebuah pernyataan impor gagal.\t| \n| KeyboardInterrupt\t| \tDibesarkan saat pengguna menyela eksekusi program, biasanya dengan menekan Ctrl + c.\t| \n| LookupError\t| \tKelas dasar untuk semua kesalahan pencarian.\t| \n| IndexError\t| \tDibesarkan saat sebuah indeks tidak ditemukan secara berurutan.\t| \n| KeyError\t\t| Dibesarkan saat kunci yang ditentukan tidak ditemukan dalam kamus.\t| \n| NameError\t\t| Dibesarkan saat pengenal tidak ditemukan di namespace lokal atau global.\t| \n| UnboundLocalError\t| \tDibesarkan saat mencoba mengakses variabel lokal dalam suatu fungsi atau metode namun tidak ada nilai yang ditugaskan padanya.\t| \n| EnvironmentError\t| \tKelas dasar untuk semua pengecualian yang terjadi di luar lingkungan Python.\t| \n| IOError\t| \tDibesarkan saat operasi input / output gagal, seperti pernyataan cetak atau fungsi open () saat mencoba membuka file yang tidak ada.\t| \n| OSError\t| \tDibangkitkan untuk kesalahan terkait sistem operasi.\t| \n| SyntaxError\t| \tDibesarkan saat ada kesalahan dengan sintaks Python.\t| \n| IndentationError\t| \tDibesarkan saat indentasi tidak ditentukan dengan benar.\t| \n| SystemError\t| \tDibesarkan saat penafsir menemukan masalah internal, namun bila kesalahan ini ditemui juru bahasa Python tidak keluar.\t| \n| SystemExit\t| \tDibesarkan saat juru bahasa Python berhenti dengan menggunakan fungsi sys.exit (). Jika tidak ditangani dalam kode, menyebabkan penafsir untuk keluar.\t| \n| TypeError\t\t| Dibesarkan saat operasi atau fungsi dicoba yang tidak valid untuk tipe data yang ditentukan.\t| \n| ValueError\t| \tDibesarkan ketika fungsi bawaan untuk tipe data memiliki jenis argumen yang valid, namun argumen tersebut memiliki nilai yang tidak valid yang ditentukan.\t| \n| RuntimeError\t| \tDibesarkan saat kesalahan yang dihasilkan tidak termasuk dalam kategori apa pun.\t| \n| NotImplementedError\t\t| Dibesarkan ketika metode abstrak yang perlu diimplementasikan di kelas warisan sebenarnya tidak dilaksanakan.\t| \n\nPython telah menjadi bahasa berorientasi objek sejak bahasa Python sendiri dibuat. Untuk membuat dan menggunakan kelas dan objek pada Python benar-benar mudah. Pada tutorial ini Anda akan dibantu untuk menjadi ahli dalam penggunaan pemrograman berorientasi objek Python.\n\nJika Anda tidak memiliki pengalaman sebelumnya dengan pemrograman berorientasi objek (OOP), Anda mempelajarinya terlebih dahulu agar Anda dapat memahami konsep dasarnya.\n\nJika memang sudah mengerti konsep dasar OOP berikut ini adalah pengenalan dari Object-Oriented Programming (OOP) untuk membantu Anda.\n\n### Istilah Dalam OOP\n\n| Istilah | Penjelasan |\n| --- | --- |\n| Class\t | Prototipe yang ditentukan pengguna untuk objek yang mendefinisikan seperangkat atribut yang menjadi ciri objek kelas apa pun. Atribut adalah data anggota (variabel kelas dan variabel contoh) dan metode, diakses melalui notasi titik. | \n| Class variable | \tSebuah variabel yang dibagi oleh semua contoh kelas. Variabel kelas didefinisikan dalam kelas tapi di luar metode kelas manapun. Variabel kelas tidak digunakan sesering variabel contoh. | \n| Data member | \tVariabel kelas atau variabel contoh yang menyimpan data yang terkait dengan kelas dan objeknya. | \n| Function overloading | \tPenugasan lebih dari satu perilaku ke fungsi tertentu. Operasi yang dilakukan bervariasi menurut jenis objek atau argumen yang terlibat. | \n| Instance variable\t | Variabel yang didefinisikan di dalam sebuah metode dan hanya dimiliki oleh instance kelas saat ini. | \n| Inheritance\t | Pengalihan karakteristik kelas ke kelas lain yang berasal darinya. | \n| Instance\t | Objek individu dari kelas tertentu. Obyek obj yang termasuk dalam Lingkaran kelas, misalnya, adalah turunan dari Lingkaran kelas. | \n| Instantiation\t | Penciptaan sebuah instance dari sebuah kelas. | \n| Method | \tJenis fungsi khusus yang didefinisikan dalam definisi kelas. | \n| Object | \tContoh unik dari struktur data yang didefinisikan oleh kelasnya. Objek terdiri dari kedua anggota data (variabel kelas dan variabel contoh) dan metode. | \n| Operator overloading | \tPenugasan lebih dari satu fungsi ke operator tertentu. | \n\n\n# Membuat Class Python\n\nStatement class digunakan untuk membuat definisi kelas baru. Nama kelas segera mengikuti kelas kata kunci diikuti oleh titik dua sebagai berikut.\n\n`class ClassName:` `'Optional class documentation string'` `class_suite`\n\nDibawah ini adalah contoh cara membuat class dan penggunaanya :\n```\n\nclass Employee:\n   'Common base class for all employees'\n   empCount = 0\n\n   def __init__(self, name, salary):\n      self.name = name\n      self.salary = salary\n      Employee.empCount += 1\n   \n   def displayCount(self):\n     print \"Total Employee %d\" % Employee.empCount\n\n   def displayEmployee(self):\n      print \"Name : \", self.name,  \", Salary: \", self.salary\n\n```\n### Membuat Instance Objects\n\nTo create instances of a class, you call the class using class name and pass in whatever arguments its __init__ method accepts Untuk membuat instances kelas, Anda memanggil class menggunakan nama class dan meneruskan argumen apa pun yang metode __init__ terima.\n\n```\n\nThis would create first object of Employee class\nemp1 = Employee(\"Zara\", 2000)\nThis would create second object of Employee class\nemp2 = Employee(\"Manni\", 5000)\n\n```\n### Mengakses Atribut\n\nAnda mengakses atribut objek menggunakan dot operator dengan objek. Variabel kelas akan diakses dengan menggunakan nama kelas sebagai berikut :\n```\n\nemp1.displayEmployee()\nemp2.displayEmployee()\nprint (\"Total Employee %d\" % Employee.empCount)\n\n```\nContoh lengkapnya, silahkan lihat kode dibawah ini.\n```\n\nclass Employee:\n   'Common base class for all employees'\n   empCount = 0\n\n   def __init__(self, name, salary):\n      self.name = name\n      self.salary = salary\n      Employee.empCount += 1\n   \n   def displayCount(self):\n     print (\"Total Employee %d\" % Employee.empCount)\n\n   def displayEmployee(self):\n      print (\"Name : \", self.name,  \", Salary: \", self.salary)\n\n\n#This would create first object of Employee class\"\nemp1 = Employee(\"Zara\", 2000)\n#This would create second object of Employee class\"\nemp2 = Employee(\"Manni\", 5000)\nemp1.displayEmployee()\nemp2.displayEmployee()\nprint (\"Total Employee %d\" % Employee.empCount)\n\n```\n# Akses Database\nStandar Interface Python untuk database adalah Python DB-API. Kebanyakan Interface database Python mematuhi standar ini.\n\nAnda bisa memilih database yang tepat untuk aplikasi Anda. API Database Python mendukung berbagai macam server database seperti.\n- GadFly\n- mSQL\n- MySQL\n- PostgreSQL\n- Microsoft SQL Server 2000\n- Informix\n- Interbase\n- Oracle\n- Sybase\n- SQLite\n\nBerikut adalah link untuk mempelajari lebih lengkap daftar antarmuka/interface database Python - Antarmuka dan API Database Python. Anda harus mendownload modul DB API terpisah untuk setiap database yang perlu Anda akses. Sebagai contoh, jika Anda perlu mengakses database Oracle dan juga database MySQL, Anda harus mendownload kedua modul database Oracle dan MySQL.\n\nAPI DB menyediakan standar minimal untuk bekerja dengan database menggunakan struktur dan sintaks Python sedapat mungkin. API ini meliputi:\n\n- Mengimpor modul API.\n- Mendapatkan koneksi dengan database.\n- Menerbitkan pernyataan SQL dan prosedur tersimpan.\n- Menutup koneksi\n\nPython memiliki dukungan built-in untuk SQLite. Pada bagian ini, kita akan mempelajari semua konsep menggunakan MySQL. Modul MySQLdb, antarmuka yang populer dengan MySQL tidak kompatibel dengan Python 3. Sebagai gantinya, kita akan menggunakan modul PyMySQL.\n\n### Apa itu PyMySQL ?\n\nPyMySQL adalah sebuah antarmuka untuk menghubungkan ke server database MySQL dari Python. Ini mengimplementasikan API Database Python v2.0 dan berisi perpustakaan klien MySQL murni-Python. Tujuan PyMySQL adalah penggantian drop-in untuk MySQLdb.\n\n### Cara Instal PyMySQL\n\nSebelum melanjutka, pastikan Anda telah menginstal PyMySQL di komputer Anda. Cukup ketik berikut ini di skrip Python Anda dan jalankan.\n\n`import PyMySQL`\n\nJika menghasilkan hasil berikut, berarti modul MySQLdb tidak terpasang:\n\n`Traceback (most recent call last):`\n    `File \"test.py\", line 3, in `\n        `Import PyMySQL`\n`ImportError: No module named PyMySQL`\n\nUntuk menginstal modul PyMySQL silahkan gunakan command/perintah berikut di command prompt:\n\n`pip install PyMySQL`\n\n### Database Connection\n\nSebelum terhubung ke database MySQL, pastikan beberapa hal dibawah ini :\n\n- Anda telah membuat database TESTDB.\n- Anda telah membuat tabel EMPLOYEE di TESTDB.\n- Tabel ini memiliki bidang FIRST_NAME, LAST_NAME, AGE, SEX, dan INCOME.\n- User ID \"testuser\" dan password \"test123\" diatur untuk mengakses TESTDB.\n- Python modul PyMySQL terinstal dengan benar pada mesin Anda.\n- Anda telah melalui tutorial MySQL untuk memahami Dasar-Dasar MySQL\n\nBerikut ini adalah contoh koneksi dengan database MySQL \"TESTDB\"\n\n\n```\n\nimport PyMySQL\n\n# Open database connection\ndb = PyMySQL.connect(\"localhost\",\"testuser\",\"test123\",\"TESTDB\" )\n\n# prepare a cursor object using cursor() method\ncursor = db.cursor()\n\n# execute SQL query using execute() method.\ncursor.execute(\"SELECT VERSION()\")\n\n# Fetch a single row using fetchone() method.\ndata = cursor.fetchone()\n\nprint (\"Database version : %s \" % data)\n\n# disconnect from server\ndb.close()\n\n```\n\n### Membuat Tabel Database\n\n```\n\nimport PyMySQL\n\n# Open database connection\ndb = PyMySQL.connect(\"localhost\",\"testuser\",\"test123\",\"TESTDB\" )\n\n# prepare a cursor object using cursor() method\ncursor = db.cursor()\n\n# Drop table if it already exist using execute() method.\ncursor.execute(\"DROP TABLE IF EXISTS EMPLOYEE\")\n\n# Create table as per requirement\nsql = \"\"\"CREATE TABLE EMPLOYEE (\n   FIRST_NAME  CHAR(20) NOT NULL,\n   LAST_NAME  CHAR(20),\n   AGE INT,  \n   SEX CHAR(1),\n   INCOME FLOAT )\"\"\"\n\ncursor.execute(sql)\n\n# disconnect from server\ndb.close()\n\n```\n### Operasi Insert\n\nContoh berikut, mengeksekusi pernyataan SQL INSERT untuk membuat catatan di tabel EMPLOYEE\n\n\n```\n\nimport PyMySQL\n\n# Open database connection\ndb = PyMySQL.connect(\"localhost\",\"testuser\",\"test123\",\"TESTDB\" )\n\n# prepare a cursor object using cursor() method\ncursor = db.cursor()\n\n# Prepare SQL query to INSERT a record into the database.\nsql = \"\"\"INSERT INTO EMPLOYEE(FIRST_NAME,\n   LAST_NAME, AGE, SEX, INCOME)\n   VALUES ('Mac', 'Mohan', 20, 'M', 2000)\"\"\"\ntry:\n   # Execute the SQL command\n   cursor.execute(sql)\n   # Commit your changes in the database\n   db.commit()\nexcept:\n   # Rollback in case there is any error\n   db.rollback()\n\n# disconnect from server\ndb.close()\n\n```\nContoh di atas bisa dituliskan sebagai berikut untuk membuat query SQL secara dinamis\n\n```\n\nimport PyMySQL\n\n# Open database connection\ndb = PyMySQL.connect(\"localhost\",\"testuser\",\"test123\",\"TESTDB\" )\n\n# prepare a cursor object using cursor() method\ncursor = db.cursor()\n\n# Prepare SQL query to INSERT a record into the database.\nsql = \"INSERT INTO EMPLOYEE(FIRST_NAME, \\\n   LAST_NAME, AGE, SEX, INCOME) \\\n   VALUES ('%s', '%s', '%d', '%c', '%d' )\" % \\\n   ('Mac', 'Mohan', 20, 'M', 2000)\ntry:\n   # Execute the SQL command\n   cursor.execute(sql)\n   # Commit your changes in the database\n   db.commit()\nexcept:\n   # Rollback in case there is any error\n   db.rollback()\n\n# disconnect from server\ndb.close()\n\n\n``\n### Read Operation\n\nREAD Operation pada database apapun berarti mengambil beberapa informasi berguna dari database.\n\nSetelah koneksi database terbentuk, Anda siap untuk membuat query ke dalam database ini. Anda bisa menggunakan metode fetchone()\nuntuk mengambil satu record atau fetchall() metode untuk mengambil beberapa nilai dari tabel database.\n\nFetchone () - Ini mengambil baris berikut dari kumpulan hasil query. Set hasil adalah objek yang dikembalikan saat objek kursor digunakan untuk query tabel.\n\nFetchall () - Ini menjemput semua baris dalam kumpulan hasil. Jika beberapa baris telah diekstraksi dari himpunan hasil, maka akan diambil baris yang tersisa dari kumpulan hasil.\n\nRowcount - Ini adalah atribut read-only dan mengembalikan jumlah baris yang dipengaruhi oleh metode execute ().\n\nProsedur berikut menanyakan semua catatan dari tabel EMPLOYEE yang memiliki gaji lebih dari 1000\n\n```\n\nimport PyMySQL\n\n# Open database connection\ndb = PyMySQL.connect(\"localhost\",\"testuser\",\"test123\",\"TESTDB\" )\n\n# prepare a cursor object using cursor() method\ncursor = db.cursor()\n\n# Prepare SQL query to INSERT a record into the database.\nsql = \"SELECT * FROM EMPLOYEE \\\n       WHERE INCOME \u003e '%d'\" % (1000)\ntry:\n   # Execute the SQL command\n   cursor.execute(sql)\n   # Fetch all the rows in a list of lists.\n   results = cursor.fetchall()\n   for row in results:\n      fname = row[0]\n      lname = row[1]\n      age = row[2]\n      sex = row[3]\n      income = row[4]\n      # Now print fetched result\n      print (\"fname = %s,lname = %s,age = %d,sex = %s,income = %d\" % \\\n             (fname, lname, age, sex, income ))\nexcept:\n   print (\"Error: unable to fetch data\")\n\n# menutup koneksi ke server\ndb.close()\n\n```\nSetelah Anda eksekusi kode diatas, akan muncul hasil seperti dibawah ini :\n`fname = Mac, lname = Mohan, age = 20, sex = M, income = 2000`\n\n### Update Operation\n\nOperasi UPDATE pada database apapun berarti mengupdate satu atau lebih catatan, yang sudah tersedia di database.\nProsedur berikut memperbarui semua catatan yang memiliki SEX sebagai 'M'. Di sini, kita meningkatkan UMUR semua laki-laki satu tahun.\n\n```\n\nimport PyMySQL\n\n## Open database connection\ndb = PyMySQL.connect(\"localhost\",\"testuser\",\"test123\",\"TESTDB\" )\n\n## prepare a cursor object using cursor() method\ncursor = db.cursor()\n\n# Prepare SQL query to UPDATE required records\nsql = \"UPDATE EMPLOYEE SET AGE = AGE + 1\n                          WHERE SEX = '%c'\" % ('M')\ntry:\n   # Execute the SQL command\n   cursor.execute(sql)\n   # Commit your changes in the database\n   db.commit()\nexcept:\n   # Rollback in case there is any error\n   db.rollback()\n\n# disconnect from server\ndb.close()\n\n```\n### Delete Operation\n\nOperasi DELETE diperlukan bila Anda ingin menghapus beberapa catatan dari database Anda. Berikut ini adalah prosedur untuk menghapus semua catatan dari EMPLOYEE dimana AGE lebih dari 20\n\n\n\n```\n```\nimport PyMySQL\n\n## Open database connection\ndb = PyMySQL.connect(\"localhost\",\"testuser\",\"test123\",\"TESTDB\" )\n\n## prepare a cursor object using cursor() method\ncursor = db.cursor()\n\n## Prepare SQL query to DELETE required records\nsql = \"DELETE FROM EMPLOYEE WHERE AGE \u003e '%d'\" % (20)\ntry:\n   ## Execute the SQL command\n   cursor.execute(sql)\n   ## Commit your changes in the database\n   db.commit()\nexcept:\n   ## Rollback in case there is any error\n   db.rollback()\n\n## disconnect from server\ndb.close()\n\n```\n```\n\nSelain itu masih ada beberapa operasi sebagai berikut :\n\n- Commit Operation db.commit()\n- Rollback Operation db.rollback()\n- Disconnect Operation db.close()\n```\nJika Anda menginginkan dokumentasi yang lebih lengkap dari bahasa pemrograman python, silahkan buka dokumentasi resmi dari Python - [Dokumentasi Lengkap Python](https://docs.python.org/3/)\n\n# Networking python\nPython menyediakan dua tingkat akses ke layanan jaringan. Pada tingkat rendah, Anda dapat mengakses dukungan soket dasar dalam sistem operasi yang mendasarinya, yang memungkinkan Anda untuk mengimplementasikan klien dan server untuk kedua protokol berorientasi koneksi dan tanpa sambungan.\n\nPython juga memiliki pustaka yang menyediakan akses tingkat lebih tinggi ke protokol jaringan tingkat aplikasi tertentu, seperti FTP, HTTP, dan seterusnya.\n\nBab ini memberi Anda pemahaman tentang konsep paling terkenal dalam Networking - Socket Programming.\n\n### Apa itu Socket?\n\nSoket adalah titik akhir dari saluran komunikasi dua arah. Soket dapat berkomunikasi dalam suatu proses, antara proses pada mesin yang sama, atau antara proses di berbagai benua.\n\nSoket dapat diimplementasikan melalui sejumlah jenis saluran yang berbeda: soket domain Unix, TCP, UDP, dan sebagainya. Pustaka socket menyediakan kelas khusus untuk menangani transportasi umum serta antarmuka umum untuk menangani sisanya.\n\n### Modul Socket\n\nUntuk membuat soket, Anda harus menggunakan fungsi socket.socket () yang tersedia dalam modul soket, yang memiliki sintaks umum\n\n`s = socket.socket (socket_family, socket_type, protocol=0)`\n\n### Server Socket Method\n\n | Method  | Penjelasan |\n | --- | --- |\n | s.bind() |   This method binds address (hostname, port number pair) to socket. | \n | s.listen()  | This method sets up and start TCP listener. | \n | s.accept()  | This passively accept TCP client connection, waiting until connection arrives (blocking). | \n\n### Client Socket Method\n\n | Method  | Penjelasan |\n | --- | --- |\n |s.connect() | This method actively initiates TCP server connection.|\n \n## General Method Socket \n\n | Method  | Penjelasan |\n | --- | --- |\n| s.recv() |  This method receives TCP message | \n| s.send() |  This method transmits TCP message | \n| s.recvfrom()  | This method receives UDP message | \n| s.sendto()  | This method transmits UDP message | \n| s.close()  | This method closes socket | \n| socket.gethostname()  | Returns the hostname. | \n```\n\n#!/usr/bin/python           # This is server.py file\n\nimport socket               # Import socket module\n\ns = socket.socket()         # Create a socket object\nhost = socket.gethostname() # Get local machine name\nport = 12345                # Reserve a port for your service.\ns.bind((host, port))        # Bind to the port\n\ns.listen(5)                 # Now wait for client connection.\nwhile True:\n   c, addr = s.accept()     # Establish connection with client.\n   print 'Got connection from', addr\n   c.send('Thank you for connecting')\n   c.close()                # Close the connection\n\n```\n   \n### Server Sederhana\n\nUntuk menulis server Internet, kami menggunakan fungsi soket yang tersedia di modul soket untuk membuat objek soket. Objek soket kemudian digunakan untuk memanggil fungsi lain untuk menyiapkan server soket.\n\nSekarang sebut `bind(hostname,port)` berfungsi untuk menentukan port untuk layanan Anda pada host yang diberikan.\n\nSelanjutnya, panggil metode penerimaan objek yang dikembalikan. Metode ini menunggu sampai klien terhubung ke port yang Anda tentukan, dan kemudian mengembalikan objek koneksi yang mewakili koneksi ke klien itu.\n\n### Client Sederhana\n\nMari kita menulis program klien yang sangat sederhana yang membuka koneksi ke port yang diberikan 12345 dan host yang diberikan. Ini sangat sederhana untuk membuat klien soket menggunakan fungsi modul soket Python.\n\nSocket.connect (hosname, port) membuka koneksi TCP ke hostname pada port. Setelah Anda memiliki soket terbuka, Anda dapat membaca darinya seperti objek IO apa pun. Setelah selesai, jangan lupa untuk menutupnya, karena Anda akan menutup file.\n\nKode berikut adalah klien yang sangat sederhana yang terhubung ke host dan port yang diberikan, membaca data yang tersedia dari soket, dan kemudian keluar\n```\n\n#!/usr/bin/python           # This is client.py file\n\nimport socket               # Import socket module\n\ns = socket.socket()         # Create a socket object\nhost = socket.gethostname() # Get local machine name\nport = 12345                # Reserve a port for your service.\n\ns.connect((host, port))\nprint s.recv(1024)\ns.close                     # Close the socket when done\n\n```\nSekarang jalankan server.py ini di latar belakang dan kemudian jalankan di atas client.py untuk melihat hasilnya.\n\n##### Jalankan server.\n`python server.py \u0026`\n\nSetelah server berjalan lanjutkan\n\n##### Jalankan client:\n`python client.py`\n\nHasilnya akan seperti ini :\n`Got connection from ('127.0.0.1', 48437)`\n`Thank you for connecting`\n\n### Modul Internet pada Python\n\nBerikut tabel daftar beberapa modul penting dalam pemrograman Jaringan / Internet Python.\n\n | Protocol\t | Common function | \tPort No\t | Python module | \n | --- | --- | --- | --- |\n | HTTP | \tWeb pages | \t80 | \thttplib, urllib, xmlrpclib | \n | NNTP\t | Usenet news\t | 119 | \tnntplib | \n | FTP\t | Transfer file | \t20 | \tftplib, urllib | \n | SMTP\t | Mengirim email | \t25 | \tsmtplib | \n | POP3\t | Fetching email | \t110 | \tpoplib | \n | IMAP4 | \tFetching email | \t143\t | imaplib | \n | Telnet | \tCommand lines | \t23 | \ttelnetlib | \n | Gopher | \tDocument transfers | \t70\t | gopherlib, urllib | \n\n# Pengembangan Web\nPengembangan web adalah istilah umum untuk membuat konsep, membuat, menyebarkan, dan mengoperasikan aplikasi website dan antarmuka pemrograman aplikasi untuk Website.\n\n\n### Penggunaan Python dalam Pengembangan Web\n\nPython dapat digunakan untuk membangun aplikasi web sisi server. Sementara kerangka web tidak diperlukan untuk membangun aplikasi web, jarang sekali pengembang tidak akan menggunakan pustaka sumber terbuka yang ada untuk mempercepat kemajuan mereka dalam membuat aplikasi mereka berfungsi.\n\nPython tidak digunakan di browser web. Bahasa yang dijalankan di browser seperti Chrome, Firefox, dan Internet Explorer adalah JavaScript. Proyek seperti pyjs dapat dikompilasi dari Python ke JavaScript. Namun, sebagian besar pengembang Python menulis aplikasi web mereka menggunakan kombinasi Python dan JavaScript. Python dieksekusi di sisi server sementara JavaScript diunduh ke klien dan dijalankan oleh browser web.\n\nUntuk membuat website dengan menggunakan Python sebagai bahasa pemrogramanya, caranya sangat mudah. Tetapi perlu diingat bahwa sebelumnya Anda sudah harus menguasai HTML, CSS dan Javascript.\n\n### Web Framework Python\n\nFramework pengembangan web pada python yang paling populer dan mudah dipelajari ada Django dan Flask\n\n#### Flask \n\nFlask adalah sebuah microframework web python yang mudah untuk dipelajari, mudah diinstal dan pengembangan yang sangat simpel.\n\nBerikut adalah beberapa kelebihanya :\n\n- mudah digunakan.\n- dibangun di server pengembangan dan debugger\n- dukungan pengujian unit terpadu\n- Kirim permintaan yang tenang\n- menggunakan tempering Jinja2\n- dukungan untuk cookie aman (sesi sisi klien)\n- 100% WSGI 1.0 compliant\n- Berbasis Unicode\n- didokumentasikan secara ekstensif\n\nInstalasi Flask\n`pip install Flask`\n\nHello World Web App dengan Flask\n```\n\nfrom flask import Flask\napp = Flask(__name__)\n \n@app.route(\"/\")\ndef hello():\n    return \"Hello World!\"\n \nif __name__ == \"__main__\":\n    app.run()\n\n```\nJalankan server dengan perintah: \n`python hello.py`\n\nBuka [http://localhost:5000/](http://localhost:5000/) dibrowser anda dan akan muncul `Hello World!`\n\n\n\n#### Django\nDjango adalah kerangka kerja Python Web tingkat tinggi yang menangani banyak kerumitan pengembangan Web, sehingga Anda dapat fokus untuk menulis aplikasi tanpa perlu menemukan kembali roda.\n\nKelebihan Framework Django dibanding yang lain adalah pada segi skalabilitas. Framework ini cocok untuk pengembangan aplikasi besar.\n\nUntuk menginstal Django jalankan perintah dibawah ini :\n`pip install Django==1.7.1`\n\nSetelah terinstal, buat direktori /django-hello/ untuk aplikasi Anda. Dalam direktori ini buat file hello.py dengan code dibawah ini:\n```\n\n#!/usr/bin/env python\nimport sys\nfrom django.conf import settings \nfrom django.conf.urls import patterns\nfrom django.http import HttpResponse\nfrom django.core.management import execute_from_command_line\n \nsettings.configure(\n    DEBUG=True,\n    SECRET_KEY='asecretkey',\n    ROOT_URLCONF=sys.modules[__name__],\n)\n \ndef index(request):\n    return HttpResponse('Hello, World')\n \nurlpatterns = patterns('',\n    (r'^hello/$', index),\n)\n \nif __name__ == \"__main__\":\n    execute_from_command_line(sys.argv)\n\n```\nJalankan server dengan perintah :\n`python hello.py runserver`\n\nServer HTTP Django akan mulai dan jika Anda membuka [http://127.0.0.1:8000/hello/](http://127.0.0.1:8000/hello/)\n\n# Untuk lebih lengkapnya anda bisa cek di [python.org](python.org)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuryapardana%2Flearn-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsuryapardana%2Flearn-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuryapardana%2Flearn-python/lists"}