Lompat ke isi

Python (bahasa pemrograman): Perbedaan antara revisi

Ensiklopedia Pengetahuan Universitas Islam Sultan Agung
Maintenance script (bicara | kontrib)
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 29373395; atribusi sumber disertakan.
 
Maintenance script (bicara | kontrib)
Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi
 
Baris 1: Baris 1:
'''Python''' adalah [[bahasa pemrograman]] [[Bahasa pemrograman tujuan umum|tujuan umum]] yang [[Bahasa yang ditafsirkan|ditafsirkan]], [[Bahasa pemrograman tingkat tinggi|tingkat tinggi.]] Dibuat oleh [[Guido van Rossum]] dan pertama kali dirilis pada tahun 1991, filosofi desain Python menekankan [[Pemrograman komputer#Keterbacaan kode sumber|keterbacaan kode]] dengan penggunaan [[Aturan off-side|spasi putih yang signifikan]]. [[Konstruksi bahasa]]<nowiki/>nya dan pendekatan berorientasi objek bertujuan untuk membantu [[pemrogram]] menulis kode yang jelas dan logis untuk proyek skala kecil dan besar.
'''Python''' adalah [[bahasa pemrograman]] [[Bahasa pemrograman tujuan umum|tujuan umum]] yang [[Bahasa yang ditafsirkan|ditafsirkan]], [[Bahasa pemrograman tingkat tinggi|tingkat tinggi.]] Dibuat oleh [[Guido van Rossum]] dan pertama kali dirilis pada tahun 1991, filosofi desain Python menekankan [[Pemrograman komputer#Keterbacaan kode sumber|keterbacaan kode]] dengan penggunaan [[Aturan off-side|spasi putih yang signifikan]]. [[Konstruksi bahasa]]<nowiki/>nya dan pendekatan berorientasi objek bertujuan untuk membantu [[pemrogram]] menulis kode yang jelas dan logis untuk proyek skala kecil dan besar.<ref>[http://cutter.rexx.com/~dkuhlman/python_book_01.html A Python Book: Beginning Python, Advanced Python, and Python Exercises]. ''web.archive.org''. 2012-06-23.</ref>


Python termasuk [[bahasa pemrograman dinamis]] dan memiliki [[Pengumpulan sampah (ilmu komputer)|pengumpulan sampah]]. Ini mendukung beberapa [[paradigma pemrograman]], termasuk pemrograman [[Pemrograman terstruktur|terstruktur]] (terutama, prosedural), [[Pemrograman berorientasi objek|berorientasi objek]], dan [[Pemrograman fungsional|fungsional]]. Python sering dideskripsikan sebagai bahasa "termasuk baterai" karena perpustakaan standarnya yang komprehensif.
Python termasuk [[bahasa pemrograman dinamis]] dan memiliki [[Pengumpulan sampah (ilmu komputer)|pengumpulan sampah]]. Ini mendukung beberapa [[paradigma pemrograman]], termasuk pemrograman [[Pemrograman terstruktur|terstruktur]] (terutama, prosedural), [[Pemrograman berorientasi objek|berorientasi objek]], dan [[Pemrograman fungsional|fungsional]]. Python sering dideskripsikan sebagai bahasa "termasuk baterai" karena perpustakaan standarnya yang komprehensif.<ref>[https://www.python.org/about/ Welcome to Python.org]. ''Python.org''.</ref>


Python dibuat pada akhir 1980-an sebagai penerus [[ABC (bahasa pemrograman)|bahasa ABC]]. [https://docs.python.org/3/whatsnew/2.0.html Python 2.0], dirilis pada tahun 2000, memperkenalkan fitur-fitur seperti [[pemahaman daftar]] dan sistem pengumpulan sampah dengan [[penghitungan referensi]].
Python dibuat pada akhir 1980-an sebagai penerus [[ABC (bahasa pemrograman)|bahasa ABC]]. [https://docs.python.org/3/whatsnew/2.0.html Python 2.0], dirilis pada tahun 2000, memperkenalkan fitur-fitur seperti [[pemahaman daftar]] dan sistem pengumpulan sampah dengan [[penghitungan referensi]].
Baris 7: Baris 7:
[https://docs.python.org/3/whatsnew/3.0.html Python 3.0], dirilis pada tahun 2008, adalah revisi utama dari bahasa yang tidak sepenuhnya [[Kompatibilitas mundur|kompatibel]] dengan versi sebelumnya, dan banyak kode Python 2 yang tidak berjalan tanpa modifikasi pada Python 3.
[https://docs.python.org/3/whatsnew/3.0.html Python 3.0], dirilis pada tahun 2008, adalah revisi utama dari bahasa yang tidak sepenuhnya [[Kompatibilitas mundur|kompatibel]] dengan versi sebelumnya, dan banyak kode Python 2 yang tidak berjalan tanpa modifikasi pada Python 3.


[[Penerjemah (komputasi)|Penerjemah]] Python tersedia untuk banyak [[sistem operasi]]. Komunitas pemrogram global mengembangkan dan memelihara CPython, implementasi referensi yang [[Perangkat lunak bebas dan sumber terbuka|bebas dan sumber terbuka]]. Sebuah organisasi nirlaba, [[Python Software Foundation]], mengelola dan mengarahkan sumber daya untuk pengembangan Python dan CPython.
[[Penerjemah (komputasi)|Penerjemah]] Python tersedia untuk banyak [[sistem operasi]]. Komunitas pemrogram global mengembangkan dan memelihara CPython, implementasi referensi<ref>[https://docs.python.org/3/license.html History and License — Python 3.8.5 documentation]. ''docs.python.org''.</ref> yang [[Perangkat lunak bebas dan sumber terbuka|bebas dan sumber terbuka]]. Sebuah organisasi nirlaba, [[Python Software Foundation]], mengelola dan mengarahkan sumber daya untuk pengembangan Python dan CPython.


Python secara konsisten menempati peringkat sebagai salah satu bahasa pemrograman paling populer.
Python secara konsisten menempati peringkat sebagai salah satu bahasa pemrograman paling populer.<ref>[https://insights.stackoverflow.com/survey/2020/ Stack Overflow Developer Survey 2020]. ''Stack Overflow''.</ref><ref>[https://www.jetbrains.com/lp/devecosystem-2020/ The State of Developer Ecosystem in 2020 Infographic]. ''JetBrains: Developer Tools for Professionals and Teams''.</ref><ref>[https://www.tiobe.com/tiobe-index/ index TIOBE - The Software Quality Company]. ''www.tiobe.com''.</ref><ref>[https://pypl.github.io/PYPL.html PYPL PopularitY of Programming Language index]. ''pypl.github.io''.</ref>


== Sejarah ==
== Sejarah ==
 
Python dibuat pada akhir 1980-an<ref>[https://www.artima.com/intv/python.html The Making of Python]. ''www.artima.com''.</ref> oleh [[Guido van Rossum]] di [[Centrum Wiskunde & Informatica]] (CWI) di [[Belanda]] sebagai penerus [[ABC (bahasa pemrograman)|bahasa ABC]] (sendiri terinspirasi oleh [[SETL]]),<ref>Guido van Rossum. [https://mail.python.org/pipermail/python-dev/2000-August/008881.html [Python-Dev] SETL (was: Lukewarm about range literals)]. 2000-08-29.</ref> mampu [[Penanganan pengecualian|menangani pengecualian]] dan berinteraksi dengan sistem operasi [[Amoeba (sistem operasi)|Amoeba]].<ref>[https://docs.python.org/3/faq/general.html General Python FAQ — Python 3.8.5 documentation]. ''docs.python.org''.</ref> Implementasinya dimulai pada bulan Desember 1989. Van Rossum memikul tanggung jawab penuh atas proyek tersebut, sebagai pengembang utama, hingga 12 Juli 2018, ketika ia mengumumkan "liburan permanen" dari tanggung jawabnya sebagai ''[[Benevolent dictator for life|Benevolent Dictator For Life]]'' Python, sebuah gelar yang diberikan komunitas Python kepadanya untuk mencerminkan komitmen jangka panjangnya sebagai pengambil keputusan utama proyek.
Python dibuat pada akhir 1980-an oleh [[Guido van Rossum]] di [[Centrum Wiskunde & Informatica]] (CWI) di [[Belanda]] sebagai penerus [[ABC (bahasa pemrograman)|bahasa ABC]] (sendiri terinspirasi oleh [[SETL]]), mampu [[Penanganan pengecualian|menangani pengecualian]] dan berinteraksi dengan sistem operasi [[Amoeba (sistem operasi)|Amoeba]]. Implementasinya dimulai pada bulan Desember 1989. Van Rossum memikul tanggung jawab penuh atas proyek tersebut, sebagai pengembang utama, hingga 12 Juli 2018, ketika ia mengumumkan "liburan permanen" dari tanggung jawabnya sebagai ''[[Benevolent dictator for life|Benevolent Dictator For Life]]'' Python, sebuah gelar yang diberikan komunitas Python kepadanya untuk mencerminkan komitmen jangka panjangnya sebagai pengambil keputusan utama proyek.


Python 2.0 dirilis pada 16 Oktober 2000 dengan banyak fitur utama baru, termasuk [[Pengumpulan sampah (ilmu komputer)|pengumpul sampah]] [[pendeteksian siklus]] dan dukungan untuk [[Unicode]].
Python 2.0 dirilis pada 16 Oktober 2000 dengan banyak fitur utama baru, termasuk [[Pengumpulan sampah (ilmu komputer)|pengumpul sampah]] [[pendeteksian siklus]] dan dukungan untuk [[Unicode]].
Baris 21: Baris 20:
Python 3.6 (dan setiap perilisan lama), tidak lagi didukung per 2021.
Python 3.6 (dan setiap perilisan lama), tidak lagi didukung per 2021.


Pada 2022, Python 3.10.4 dan 3.9.12 dipercepat dan begitu juga perilisan yang lebih lama termasuk 3.8.13, dan 3.7.13 dikarenakan banyak masalah keamanan pada 2022. Python 3.9.13 adalah versi 3.9 terbaru, dan mulai sekarang 3.9 (dan yang terlama; 3.8 dan 3.7) hanya akan mendapatkan pembaruan keamanan.
Pada 2022, Python 3.10.4 dan 3.9.12 dipercepat dan begitu juga perilisan yang lebih lama termasuk 3.8.13, dan 3.7.13 dikarenakan banyak masalah keamanan pada 2022. Python 3.9.13 adalah versi 3.9 terbaru, dan mulai sekarang 3.9 (dan yang terlama; 3.8 dan 3.7) hanya akan mendapatkan pembaruan keamanan.<ref>Łukasz Langa. [https://pythoninsider.blogspot.com/2022/05/python-3913-is-now-available.html Python Insider: Python 3.9.13 is now available]. ''Python Insider''. 2022-05-17.</ref>


== Desain fitur dan filosofi ==
== Desain fitur dan filosofi ==
Python adalah [[bahasa pemrograman multi-paradigma]]. [[Pemrograman berorientasi objek]] dan [[pemrograman terstruktur]] didukung penuh, dan banyak fiturnya mendukung [[pemrograman fungsional]] dan [[pemrograman berorientasi aspek]] (termasuk dengan [[metaprogramming]] dan [[metaobjects]] (metode ajaib)). Banyak paradigma lain yang didukung melalui ekstensi, termasuk [[desain berdasarkan kontrak]] dan [[pemrograman logika]].
Python adalah [[bahasa pemrograman multi-paradigma]]. [[Pemrograman berorientasi objek]] dan [[pemrograman terstruktur]] didukung penuh, dan banyak fiturnya mendukung [[pemrograman fungsional]] dan [[pemrograman berorientasi aspek]] (termasuk dengan [[metaprogramming]] dan [[metaobjects]] (metode ajaib)). Banyak paradigma lain yang didukung melalui ekstensi, termasuk [[desain berdasarkan kontrak]] dan [[pemrograman logika]].


Desain Python menawarkan beberapa dukungan untuk [[pemrograman fungsional]] dalam tradisi [[Lisp (bahasa pemrograman)|Lisp]]. Memiliki fungsi <code>filter</code>, <code>map</code>, dan <code>reduce</code>;[[daftar pemahaman]], [[Associative array|kamus]], set, dan ekspresi [[Generator (pemrograman komputer)|generator]]. Pustaka standar memiliki dua modul (itertools dan functools) yang mengimplementasikan alat fungsional yang dipinjam dari [[Haskell]] dan [[Standard ML]].
Desain Python menawarkan beberapa dukungan untuk [[pemrograman fungsional]] dalam tradisi [[Lisp (bahasa pemrograman)|Lisp]]. Memiliki fungsi <code>filter</code>, <code>map</code>, dan <code>reduce</code>;[[daftar pemahaman]], [[Associative array|kamus]], set, dan ekspresi [[Generator (pemrograman komputer)|generator]].<ref>[https://id.wikipedia.org/w/index.php?title=Python+%28bahasa+pemrograman%29&oldid=29373395 sumber pada Wikipedia bahasa Indonesia]</ref> Pustaka standar memiliki dua modul (itertools dan functools) yang mengimplementasikan alat fungsional yang dipinjam dari [[Haskell]] dan [[Standard ML]].<ref>[https://id.wikipedia.org/w/index.php?title=Python+%28bahasa+pemrograman%29&oldid=29373395 sumber pada Wikipedia bahasa Indonesia]</ref>


Filosofi inti bahasa diringkas dalam dokumen ''The [[Zen of Python]]'' (''PEP'' 20), yang mencakup [[kata-kata mutiara]] seperti:
Filosofi inti bahasa diringkas dalam dokumen ''The [[Zen of Python]]'' (''PEP'' 20), yang mencakup [[kata-kata mutiara]] seperti:<ref>[https://www.python.org/dev/peps/pep-0020/ PEP 20 -- The Zen of Python]. ''Python.org''.</ref>


* Cantik itu lebih baik dari pada jelek.
* Cantik itu lebih baik dari pada jelek.
Baris 35: Baris 34:
* Kompleks lebih baik daripada rumit.
* Kompleks lebih baik daripada rumit.
* Keterbacaan itu penting.
* Keterbacaan itu penting.
Daripada memiliki semua fungsionalitas yang dibangun ke dalam intinya, Python dirancang untuk menjadi sangat dapat [[dikembangkan]]. Modularitas yang ringkas ini membuatnya sangat populer sebagai sarana untuk menambahkan antarmuka yang dapat diprogram ke aplikasi yang ada. Visi Van Rossum tentang bahasa inti kecil dengan perpustakaan standar yang besar dan penerjemah yang mudah diperluas berasal dari rasa frustrasinya dengan [[ABC (bahasa pemrograman)|ABC]], yang mendukung pendekatan yang berlawanan.
Daripada memiliki semua fungsionalitas yang dibangun ke dalam intinya, Python dirancang untuk menjadi sangat dapat [[dikembangkan]]. Modularitas yang ringkas ini membuatnya sangat populer sebagai sarana untuk menambahkan antarmuka yang dapat diprogram ke aplikasi yang ada. Visi Van Rossum tentang bahasa inti kecil dengan perpustakaan standar yang besar dan penerjemah yang mudah diperluas berasal dari rasa frustrasinya dengan [[ABC (bahasa pemrograman)|ABC]], yang mendukung pendekatan yang berlawanan.<ref>[https://www.artima.com/intv/python.html The Making of Python]. ''www.artima.com''.</ref>


Pengembang Python menargetkan ini dapat menyenangkan untuk digunakan. Ini tercermin dalam namanya—sebuah penghargaan untuk grup komedi Inggris [[Monty Python]]—dan terkadang dengan pendekatan yang menyenangkan untuk tutorial dan materi referensi, seperti contoh yang merujuk pada spam dan telur (sebuah referensi ke [[Spam (Monty Python)|sketsa Monty Python]]) alih-alih [[Foobar|foo dan bar standar]].
Pengembang Python menargetkan ini dapat menyenangkan untuk digunakan. Ini tercermin dalam namanya—sebuah penghargaan untuk grup komedi Inggris [[Monty Python]]—dan terkadang dengan pendekatan yang menyenangkan untuk tutorial dan materi referensi, seperti contoh yang merujuk pada spam dan telur (sebuah referensi ke [[Spam (Monty Python)|sketsa Monty Python]]) alih-alih [[Foobar|foo dan bar standar]].
Baris 57: Baris 56:
* Pernyataan <code>class</code> yang mengeksekusi blok kode dan menempelkan namespace lokalnya ke [[Class (pemrograman komputer)|class]], untuk digunakan dalam [[pemrograman berorientasi objek]].
* Pernyataan <code>class</code> yang mengeksekusi blok kode dan menempelkan namespace lokalnya ke [[Class (pemrograman komputer)|class]], untuk digunakan dalam [[pemrograman berorientasi objek]].
* Pernyataan <code>def</code> yang mendefinisikan [[Subrutin|fungsi]] atau [[Metode (pemrograman komputer)|metode]].
* Pernyataan <code>def</code> yang mendefinisikan [[Subrutin|fungsi]] atau [[Metode (pemrograman komputer)|metode]].
* Pernyataan <code>with</code> dari Python 2.5 dirilis pada September 2006, yang membungkus blok kode dalam manajer konteks (misalnya, memperoleh kunci sebelum blok kode dijalankan dan melepaskan kunci setelahnya, atau membuka [[file]] dan kemudian menutupnya), memungkinkan perilaku seperti [[Resource Acquisition Is Initialization]] (RAII) dan menggantikan idiom percobaan / akhirnya yang umum.
* Pernyataan <code>with</code> dari Python 2.5 dirilis pada September 2006, yang membungkus blok kode dalam manajer konteks (misalnya, memperoleh kunci sebelum blok kode dijalankan dan melepaskan kunci setelahnya, atau membuka [[file]] dan kemudian menutupnya), memungkinkan perilaku seperti [[Resource Acquisition Is Initialization]] (RAII) dan menggantikan idiom percobaan / akhirnya yang umum.<ref>[https://www.python.org/download/releases/2.5/highlights/ Highlights: Python 2.5]. ''Python.org''.</ref>
* Pernyataan <code>[[Pernyataan break|break]]</code> keluar dari loop.
* Pernyataan <code>[[Pernyataan break|break]]</code> keluar dari loop.
* Pernyataan <code>continue</code> melewati iterasi ini dan melanjutkan dengan item berikutnya.
* Pernyataan <code>continue</code> melewati iterasi ini dan melanjutkan dengan item berikutnya.
Baris 70: Baris 69:


=== Penulisan ===
=== Penulisan ===
Python menggunakan [[duck typing]] dan memiliki objek yang diketik tetapi nama variabel yang tidak diketik. Batasan jenis tidak diperiksa pada [[waktu kompilasi]]; sebaliknya, operasi pada suatu objek mungkin gagal, menandakan bahwa objek yang diberikan bukan tipe yang sesuai. Meskipun [[Pengetikan sistem|diketik secara dinamis]], Python [[Pengetikan yang kuat dan lemah|diketik dengan kuat]], melarang operasi yang tidak terdefinisi dengan baik (misalnya, menambahkan angka ke string) daripada secara diam-diam mencoba memahaminya.
Python menggunakan [[duck typing]] dan memiliki objek yang diketik tetapi nama variabel yang tidak diketik. Batasan jenis tidak diperiksa pada [[waktu kompilasi]]; sebaliknya, operasi pada suatu objek mungkin gagal, menandakan bahwa objek yang diberikan bukan tipe yang sesuai. Meskipun [[Pengetikan sistem|diketik secara dinamis]], Python [[Pengetikan yang kuat dan lemah|diketik dengan kuat]], melarang operasi yang tidak terdefinisi dengan baik (misalnya, menambahkan angka ke string) daripada secara diam-diam mencoba memahaminya.


Baris 76: Baris 74:


=== Operasi arimatika ===
=== Operasi arimatika ===
Python memiliki simbol biasa untuk operator aritmetika (<code>+</code>, <code>-</code>, <code>*</code>, <code>/</code>), operator divisi lantai <code>//</code> dan [[operasi modulus]] <code>%</code> (di mana sisanya bisa negatif,  misalnya, <code>4 % -3 == -2</code>). Ini juga memiliki <code>**</code> untuk [[Eksponensiasi|eksponensial]], misalnya, <code>5**3 == 125</code> dan <code>9**0.5 == 3.0</code>, dan sebuah matriks operator perkalian <code>@</code> . Operator ini bekerja seperti dalam matematika tradisional; dengan [[Urutan operasi|aturan operasi]] yang sama, [[Notasi Infiks|infiks]] operator (<code>+</code> dan <code>-</code> juga bisa [[Operasi uner|unary]] untuk masing-masing mewakili bilangan positif dan negatif).
Python memiliki simbol biasa untuk operator aritmetika (<code>+</code>, <code>-</code>, <code>*</code>, <code>/</code>), operator divisi lantai <code>//</code> dan [[operasi modulus]] <code>%</code> (di mana sisanya bisa negatif,  misalnya, <code>4 % -3 == -2</code>). Ini juga memiliki <code>**</code> untuk [[Eksponensiasi|eksponensial]], misalnya, <code>5**3 == 125</code> dan <code>9**0.5 == 3.0</code>, dan sebuah matriks operator perkalian <code>@</code> .<ref>[https://legacy.python.org/dev/peps/pep-0465/ PEP 465 -- A dedicated infix operator for matrix multiplication]. ''python.org''.</ref> Operator ini bekerja seperti dalam matematika tradisional; dengan [[Urutan operasi|aturan operasi]] yang sama, [[Notasi Infiks|infiks]] operator (<code>+</code> dan <code>-</code> juga bisa [[Operasi uner|unary]] untuk masing-masing mewakili bilangan positif dan negatif).


== Contoh pemrograman Python ==
== Contoh pemrograman Python ==
Program [[Halo dunia|Halo Dunia]]:
Program [[Halo dunia|Halo Dunia]]:
<syntaxhighlight lang="python">
print('Hello, world!')
</syntaxhighlight>
Program untuk menghitung [[faktorial]] dari [[bilangan bulat]] positif:
<syntaxhighlight lang="python" line="1">
n = int(input('Ketik sebuah angka, dan faktorialnya akan diprinted: '))


if n < 0:
    raise ValueError('Anda harus memasukkan bilangan bulat bukan negatif')


Program untuk menghitung [[faktorial]] dari [[bilangan bulat]] positif:
faktorial = 1
 
for i in range(2, n + 1):
    faktorial *= i


print(faktorial)
</syntaxhighlight>


Contoh [[Kelas (ilmu komputer)|kelas]] dalam bahasa pemrograman Python:
Contoh [[Kelas (ilmu komputer)|kelas]] dalam bahasa pemrograman Python:
<syntaxhighlight lang="python">
class Orang:
    def __init__(self, nama):
        self.nama = nama
    def tampilkan_nama(self):
        return self.nama


orang = Orang("Wikipedia") # Initialisasi object
print(orang.tampilkan_nama()) # Output: Wikipedia
</syntaxhighlight>


== Pustaka ==
== Pustaka ==
[[Perpustakaan standar|Pustaka standar]] Python yang besar, biasanya disebut sebagai salah satu kekuatan terbesarnya, menyediakan alat yang cocok untuk banyak tugas. Untuk aplikasi yang terhubung ke Internet, banyak format dan protokol standar seperti [[MIME]] dan [[HTTP]] didukung. Ini mencakup modul untuk membuat [[antarmuka pengguna grafis]], menghubungkan ke [[database relasional]], [[Generator nomor pseudorandom|menghasilkan nomor pseudorandom]], aritmetika dengan desimal presisi sewenang-wenang, memanipulasi [[ekspresi reguler]], dan [[pengujian unit]].
[[Perpustakaan standar|Pustaka standar]] Python yang besar, biasanya disebut sebagai salah satu kekuatan terbesarnya,<ref>[https://id.wikipedia.org/w/index.php?title=Python+%28bahasa+pemrograman%29&oldid=29373395 sumber pada Wikipedia bahasa Indonesia]</ref> menyediakan alat yang cocok untuk banyak tugas. Untuk aplikasi yang terhubung ke Internet, banyak format dan protokol standar seperti [[MIME]] dan [[HTTP]] didukung. Ini mencakup modul untuk membuat [[antarmuka pengguna grafis]], menghubungkan ke [[database relasional]], [[Generator nomor pseudorandom|menghasilkan nomor pseudorandom]], aritmetika dengan desimal presisi sewenang-wenang,<ref>[https://www.python.org/dev/peps/pep-0327/ PEP 327 -- Decimal Data Type]. ''Python.org''.</ref> memanipulasi [[ekspresi reguler]], dan [[pengujian unit]].
 
Beberapa bagian dari pustaka standar dicakup oleh spesifikasi (misalnya, implementasi [[Web Server Gateway Interface]] (WSGI) <code>wsgiref</code> mengikuti PEP 333), tetapi kebanyakan modul tidak. Mereka ditentukan oleh kode, dokumentasi internal, dan [[test suites]] mereka. Namun, karena sebagian besar pustaka standar adalah kode Python lintas platform, hanya beberapa modul yang perlu diubah atau ditulis ulang untuk implementasi varian.


Mulai Juni 2022, [[Python Package Index]] (PyPI), repositori resmi untuk perangkat lunak Python pihak ketiga, berisi lebih dari 380,000 paket dengan berbagai fungsi, termasuk:
Beberapa bagian dari pustaka standar dicakup oleh spesifikasi (misalnya, implementasi [[Web Server Gateway Interface]] (WSGI) <code>wsgiref</code> mengikuti PEP 333<ref>[https://www.python.org/dev/peps/pep-0333/ PEP 333 -- Python Web Server Gateway Interface v1.0]. ''Python.org''.</ref>), tetapi kebanyakan modul tidak. Mereka ditentukan oleh kode, dokumentasi internal, dan [[test suites]] mereka. Namun, karena sebagian besar pustaka standar adalah kode Python lintas platform, hanya beberapa modul yang perlu diubah atau ditulis ulang untuk implementasi varian.


Mulai Juni 2022, [[Python Package Index]] (PyPI), repositori resmi untuk perangkat lunak Python pihak ketiga, berisi lebih dari 380,000<ref>[http://www.modulecounts.com/ Modulecounts]. ''www.modulecounts.com''.</ref> paket dengan berbagai fungsi, termasuk:


== Lingkungan pengembangan ==
== Lingkungan pengembangan ==
Baris 101: Baris 123:
Shell lain, termasuk [[IDLE]] dan [[IPython]], menambahkan kemampuan lebih lanjut seperti penyelesaian otomatis yang ditingkatkan, retensi status sesi, dan [[Syntax highlighting]].
Shell lain, termasuk [[IDLE]] dan [[IPython]], menambahkan kemampuan lebih lanjut seperti penyelesaian otomatis yang ditingkatkan, retensi status sesi, dan [[Syntax highlighting]].


Selain [[integrated development environments]] desktop standar, ada IDE berbasis [[Peramban web|peramban Web]]; [[SageMath]] (dimaksudkan untuk mengembangkan program Python yang berhubungan dengan sains dan matematika); [[PythonAnywhere]], IDE berbasis browser dan lingkungan hosting; dan Canopy IDE, IDE Python komersial yang menekankan [[komputasi ilmiah]].
Selain [[integrated development environments]] desktop standar, ada IDE berbasis [[Peramban web|peramban Web]]; [[SageMath]] (dimaksudkan untuk mengembangkan program Python yang berhubungan dengan sains dan matematika); [[PythonAnywhere]], IDE berbasis browser dan lingkungan hosting; dan Canopy IDE, IDE Python komersial yang menekankan [[komputasi ilmiah]].<ref>Canopy Enthought. [https://www.enthought.com/products/canopy/ Canopy]. ''www.enthought.com''.</ref>


== Konferensi Pengembang ==
== Konferensi Pengembang ==
Konferensi pengembang Python di Indonesia ([[PyCon Indonesia]]) dilaksanakan sejak tahun 2017, berlangsung setiap tahun.
Konferensi pengembang Python di Indonesia ([[PyCon Indonesia]]<ref>[https://pycon.id/ PyCon Indonesia 2019].</ref>) dilaksanakan sejak tahun 2017, berlangsung setiap tahun.


Berikut tema dan lokasi konferensi pengembang Python Indonesia:
Berikut tema dan lokasi konferensi pengembang Python Indonesia:
Baris 118: Baris 140:


== Generator dokumentasi API ==
== Generator dokumentasi API ==
Alat yang dapat digunakan untuk membuat dokumentasi API Python termasuk [[pydoc]] (tersedia sebagai bagian dari pustaka standar), [[Sphinx (documentation generator)|Sphinx]], [[Pdoc]] dan forknya, [[Doxygen]] dan [[Graphviz]], di antara yang lain.
Alat yang dapat digunakan untuk membuat dokumentasi API Python termasuk [[pydoc]] (tersedia sebagai bagian dari pustaka standar), [[Sphinx (documentation generator)|Sphinx]], [[Pdoc]] dan forknya, [[Doxygen]] dan [[Graphviz]], di antara yang lain.<ref>[https://wiki.python.org/moin/DocumentationTools Documentation Tools]. ''Python.org''.</ref>


== Bahasa yang dipengaruhi oleh Python ==
== Bahasa yang dipengaruhi oleh Python ==
Desain dan filosofi Python telah memengaruhi banyak bahasa pemrograman lainnya:
Desain dan filosofi Python telah memengaruhi banyak bahasa pemrograman lainnya:


* [[Boo (bahasa pemrograman)|Boo]] menggunakan indentasi, sebuah sintaks yang serupa, dan model objek yang serupa.
* [[Boo (bahasa pemrograman)|Boo]] menggunakan indentasi, sebuah sintaks yang serupa, dan model objek yang serupa.<ref>[https://id.wikipedia.org/w/index.php?title=Python+%28bahasa+pemrograman%29&oldid=29373395 sumber pada Wikipedia bahasa Indonesia]</ref>
* [[Cobra (bahasa pemrograman)|Cobra]] menggunakan indentasi dan sebuah sintaks yang serupa, dan dokumen ''Pengakuannya'' mencantumkan Python pertama di antara bahasa yang memengaruhinya
* [[Cobra (bahasa pemrograman)|Cobra]] menggunakan indentasi dan sebuah sintaks yang serupa, dan dokumen ''Pengakuannya'' mencantumkan Python pertama di antara bahasa yang memengaruhinya<ref>[https://id.wikipedia.org/w/index.php?title=Python+%28bahasa+pemrograman%29&oldid=29373395 sumber pada Wikipedia bahasa Indonesia]</ref>
* [[CoffeeScript]], sebuah bahasa pemrograman yang dikompilasi silang ke [[JavaScript]], memiliki sintaks yang terinspirasi Python.
* [[CoffeeScript]], sebuah bahasa pemrograman yang dikompilasi silang ke [[JavaScript]], memiliki sintaks yang terinspirasi Python.
* [[ECMAScript]]/[[JavaScript]] meminjam iterator dan generator dari Python.
* [[ECMAScript]]/[[JavaScript]] meminjam iterator dan generator dari Python.<ref>[https://id.wikipedia.org/w/index.php?title=Python+%28bahasa+pemrograman%29&oldid=29373395 sumber pada Wikipedia bahasa Indonesia]</ref>
* [[GDScript]], bahasa scripting yang sangat mirip dengan Python, built-in ke mesin permainan [[Godot (mesin permainan)|Godot]].
* [[GDScript]], bahasa scripting yang sangat mirip dengan Python, built-in ke mesin permainan [[Godot (mesin permainan)|Godot]].<ref>[https://docs.godotengine.org/en/stable/about/faq.html Frequently asked questions]. ''Godot Engine documentation''.</ref>
* [[Go (bahasa pemrograman)|Go]] didesain untuk "kecepatan bekerja dalam bahasa dinamis seperti Python" dan berbagi sintaks yang sama untuk mengiris array.
* [[Go (bahasa pemrograman)|Go]] didesain untuk "kecepatan bekerja dalam bahasa dinamis seperti Python"<ref>[https://id.wikipedia.org/w/index.php?title=Python+%28bahasa+pemrograman%29&oldid=29373395 sumber pada Wikipedia bahasa Indonesia]</ref> dan berbagi sintaks yang sama untuk mengiris array.
* [[Swift (bahasa pemrograman)|Swift]], sebuah bahasa pemrograman yang dikembangkan oleh [[Apple Inc.|Apple]], memiliki beberapa sintaks yang terinspirasi Python.
* [[Swift (bahasa pemrograman)|Swift]], sebuah bahasa pemrograman yang dikembangkan oleh [[Apple Inc.|Apple]], memiliki beberapa sintaks yang terinspirasi Python.<ref>Chris Lattner. [http://nondot.org/sabre Chris Lattner's Homepage]. Chris Lattner. 3 June 2014.</ref>


== Sertifikasi Python ==
== Sertifikasi Python ==
Python Institute adalah lembaga yang kredibel yang menawarkan sertifikasi Python. Python Institute didirikan pada tahun 2003 oleh Guido van Rossum, pencipta bahasa pemrograman Python. Lembaga ini bertujuan untuk memperluas penggunaan Python secara global dan meningkatkan kompetensi para pengembang melalui sertifikasi, pelatihan, dan sumber daya edukatif. Dengan fokus pada aksesibilitas dan kualitas, Python Institute turut membangun komunitas yang mendukung inovasi terbuka dan pemanfaatan Python di berbagai bidang seperti pengembangan perangkat lunak, data science, dan kecerdasan buatan. Python Institute telah menetapkan jalur sertifikasi global independen untuk bahasa pemrograman Python. Jalur tersebut terdiri dari enam track sertifikasi:
Python Institute adalah lembaga yang kredibel yang menawarkan sertifikasi Python. Python Institute didirikan pada tahun 2003 oleh Guido van Rossum, pencipta bahasa pemrograman Python. Lembaga ini bertujuan untuk memperluas penggunaan Python secara global dan meningkatkan kompetensi para pengembang melalui sertifikasi, pelatihan, dan sumber daya edukatif. Dengan fokus pada aksesibilitas dan kualitas, Python Institute turut membangun komunitas yang mendukung inovasi terbuka dan pemanfaatan Python di berbagai bidang seperti pengembangan perangkat lunak, data science, dan kecerdasan buatan. Python Institute telah menetapkan jalur sertifikasi global independen untuk bahasa pemrograman Python. Jalur tersebut terdiri dari enam track sertifikasi:<ref>[https://pythoninstitute.org/certification-tracks Certification Overview]. ''pythoninstitute.org''.</ref>


* General-Purpose Programming (PCEP™, PCAP™, PCPP1™, and PCPP2™ exams)
* General-Purpose Programming (PCEP™, PCAP™, PCPP1™, and PCPP2™ exams)
Baris 146: Baris 168:
* [[PyPy]]
* [[PyPy]]
* [[JavaScript]]
* [[JavaScript]]
== Referensi ==


== Bacaan lanjutan ==
== Bacaan lanjutan ==
*
*
*
*
*
*


*
== Pranala luar ==
*
*
*
*
*
*


== Pranala luar ==
== Referensi ==
<references />


== Sumber dan atribusi ==


*
Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Python+%28bahasa+pemrograman%29&oldid=29373395 Wikipedia bahasa Indonesia], revisi 29373395 (2026-06-21T16:35:03Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.
 
== Sumber dan atribusi ==


Artikel ini diadaptasi dalam mode teks dari
<!-- WIKI_UNISSULA_PRESENTATION_V4 -->
[https://id.wikipedia.org/w/index.php?title=Python_%28bahasa_pemrograman%29&oldid=29373395 Wikipedia bahasa Indonesia],
revisi 29373395 (2026-06-21T16:35:03Z).
Gambar, media, infobox, templat navigasi, dan kategori sumber
tidak diimpor ke Wiki Unissula.
Atribusi dan lisensi mengikuti ketentuan Creative Commons
Atribusi-BerbagiSerupa (CC BY-SA) pada sumber Wikipedia.

Revisi terkini sejak 23 Agustus 2026 03.14

Python adalah bahasa pemrograman tujuan umum yang ditafsirkan, tingkat tinggi. Dibuat oleh Guido van Rossum dan pertama kali dirilis pada tahun 1991, filosofi desain Python menekankan keterbacaan kode dengan penggunaan spasi putih yang signifikan. Konstruksi bahasanya dan pendekatan berorientasi objek bertujuan untuk membantu pemrogram menulis kode yang jelas dan logis untuk proyek skala kecil dan besar.[1]

Python termasuk bahasa pemrograman dinamis dan memiliki pengumpulan sampah. Ini mendukung beberapa paradigma pemrograman, termasuk pemrograman terstruktur (terutama, prosedural), berorientasi objek, dan fungsional. Python sering dideskripsikan sebagai bahasa "termasuk baterai" karena perpustakaan standarnya yang komprehensif.[2]

Python dibuat pada akhir 1980-an sebagai penerus bahasa ABC. Python 2.0, dirilis pada tahun 2000, memperkenalkan fitur-fitur seperti pemahaman daftar dan sistem pengumpulan sampah dengan penghitungan referensi.

Python 3.0, dirilis pada tahun 2008, adalah revisi utama dari bahasa yang tidak sepenuhnya kompatibel dengan versi sebelumnya, dan banyak kode Python 2 yang tidak berjalan tanpa modifikasi pada Python 3.

Penerjemah Python tersedia untuk banyak sistem operasi. Komunitas pemrogram global mengembangkan dan memelihara CPython, implementasi referensi[3] yang bebas dan sumber terbuka. Sebuah organisasi nirlaba, Python Software Foundation, mengelola dan mengarahkan sumber daya untuk pengembangan Python dan CPython.

Python secara konsisten menempati peringkat sebagai salah satu bahasa pemrograman paling populer.[4][5][6][7]

Sejarah

Python dibuat pada akhir 1980-an[8] oleh Guido van Rossum di Centrum Wiskunde & Informatica (CWI) di Belanda sebagai penerus bahasa ABC (sendiri terinspirasi oleh SETL),[9] mampu menangani pengecualian dan berinteraksi dengan sistem operasi Amoeba.[10] Implementasinya dimulai pada bulan Desember 1989. Van Rossum memikul tanggung jawab penuh atas proyek tersebut, sebagai pengembang utama, hingga 12 Juli 2018, ketika ia mengumumkan "liburan permanen" dari tanggung jawabnya sebagai Benevolent Dictator For Life Python, sebuah gelar yang diberikan komunitas Python kepadanya untuk mencerminkan komitmen jangka panjangnya sebagai pengambil keputusan utama proyek.

Python 2.0 dirilis pada 16 Oktober 2000 dengan banyak fitur utama baru, termasuk pengumpul sampah pendeteksian siklus dan dukungan untuk Unicode.

Tanggal akhir masa pakai Python 2.7 yang awalnya ditetapkan pada tahun 2015 kemudian ditunda hingga tahun 2020 karena sejumlah besar kode yang tidak dapat dengan mudah dilanjutkan ke Python 3.

Python 3.6 (dan setiap perilisan lama), tidak lagi didukung per 2021.

Pada 2022, Python 3.10.4 dan 3.9.12 dipercepat dan begitu juga perilisan yang lebih lama termasuk 3.8.13, dan 3.7.13 dikarenakan banyak masalah keamanan pada 2022. Python 3.9.13 adalah versi 3.9 terbaru, dan mulai sekarang 3.9 (dan yang terlama; 3.8 dan 3.7) hanya akan mendapatkan pembaruan keamanan.[11]

Desain fitur dan filosofi

Python adalah bahasa pemrograman multi-paradigma. Pemrograman berorientasi objek dan pemrograman terstruktur didukung penuh, dan banyak fiturnya mendukung pemrograman fungsional dan pemrograman berorientasi aspek (termasuk dengan metaprogramming dan metaobjects (metode ajaib)). Banyak paradigma lain yang didukung melalui ekstensi, termasuk desain berdasarkan kontrak dan pemrograman logika.

Desain Python menawarkan beberapa dukungan untuk pemrograman fungsional dalam tradisi Lisp. Memiliki fungsi filter, map, dan reduce;daftar pemahaman, kamus, set, dan ekspresi generator.[12] Pustaka standar memiliki dua modul (itertools dan functools) yang mengimplementasikan alat fungsional yang dipinjam dari Haskell dan Standard ML.[13]

Filosofi inti bahasa diringkas dalam dokumen The Zen of Python (PEP 20), yang mencakup kata-kata mutiara seperti:[14]

  • Cantik itu lebih baik dari pada jelek.
  • Eksplisit lebih baik daripada implisit.
  • Sederhana lebih baik daripada kompleks.
  • Kompleks lebih baik daripada rumit.
  • Keterbacaan itu penting.

Daripada memiliki semua fungsionalitas yang dibangun ke dalam intinya, Python dirancang untuk menjadi sangat dapat dikembangkan. Modularitas yang ringkas ini membuatnya sangat populer sebagai sarana untuk menambahkan antarmuka yang dapat diprogram ke aplikasi yang ada. Visi Van Rossum tentang bahasa inti kecil dengan perpustakaan standar yang besar dan penerjemah yang mudah diperluas berasal dari rasa frustrasinya dengan ABC, yang mendukung pendekatan yang berlawanan.[15]

Pengembang Python menargetkan ini dapat menyenangkan untuk digunakan. Ini tercermin dalam namanya—sebuah penghargaan untuk grup komedi Inggris Monty Python—dan terkadang dengan pendekatan yang menyenangkan untuk tutorial dan materi referensi, seperti contoh yang merujuk pada spam dan telur (sebuah referensi ke sketsa Monty Python) alih-alih foo dan bar standar.

Pengguna dan peminat Python, terutama mereka yang dianggap berpengetahuan atau berpengalaman, sering disebut sebagai Pythonistas.

Sintaks dan semantik

Python dimaksudkan sebagai bahasa yang mudah dibaca. Pemformatannya tidak berantakan secara visual, dan sering kali menggunakan kata kunci bahasa Inggris di mana bahasa lain menggunakan tanda baca. Tidak seperti banyak bahasa lain, ia tidak menggunakan tanda kurung awal untuk membatasi blok, dan pernyataan titik koma setelahnya bersifat opsional. Ini memiliki lebih sedikit pengecualian sintaksis dan kasus khusus daripada C atau Pascal.

Indentasi

Python menggunakan indentasi spasi, daripada tanda kurung kurawal atau kata kunci, untuk membatasi blok. Peningkatan indentasi muncul setelah pernyataan tertentu; penurunan indentasi menandakan akhir dari blok saat ini. Dengan demikian, struktur visual program secara akurat mewakili struktur semantik program. Fitur ini terkadang disebut aturan off-side, yang dimiliki beberapa bahasa lain, tetapi di sebagian besar bahasa indentasi tidak memiliki arti semantik.

Pernyataan dan aliran kontrol

Penetapan nilai yang sama secara berurutan ke beberapa nama, misalnya, x=2; y=2; z=2 menghasilkan pengalokasian penyimpanan ke (paling banyak) tiga nama dan satu objek numerik, yang ketiganya terikat. Karena nama adalah pemegang referensi umum, tidak masuk akal untuk mengasosiasikan tipe data tetap dengannya. Namun pada waktu tertentu sebuah nama akan terikat ke suatu objek, yang akan memiliki tipe; jadi ada pengetikan dinamis.

  • Pernyataan if, yang secara kondisional mengeksekusi blok kode, bersama dengan else dan elif (sebuah kontraksi dari else-if).
  • Pernyataan for yang melakukan iterasi pada objek yang dapat diulang, menangkap setiap elemen ke variabel lokal untuk digunakan oleh blok terlampir.
  • Pernyataan while yang mengeksekusi sebuah blok kode selama kondisinya benar.
  • Pernyataan try yang memungkinkan pengecualian yang dimunculkan dalam blok kode terlampir untuk ditangkap dan ditangani oleh except klausul; itu juga memastikan bahwa kode-pembersihan dalam file blok finally akan selalu berjalan terlepas dari bagaimana blok keluar.
  • Pernyataan raise digunakan untuk memunculkan pengecualian tertentu atau memunculkan kembali pengecualian yang tertangkap.
  • Pernyataan class yang mengeksekusi blok kode dan menempelkan namespace lokalnya ke class, untuk digunakan dalam pemrograman berorientasi objek.
  • Pernyataan def yang mendefinisikan fungsi atau metode.
  • Pernyataan with dari Python 2.5 dirilis pada September 2006, yang membungkus blok kode dalam manajer konteks (misalnya, memperoleh kunci sebelum blok kode dijalankan dan melepaskan kunci setelahnya, atau membuka file dan kemudian menutupnya), memungkinkan perilaku seperti Resource Acquisition Is Initialization (RAII) dan menggantikan idiom percobaan / akhirnya yang umum.[16]
  • Pernyataan break keluar dari loop.
  • Pernyataan continue melewati iterasi ini dan melanjutkan dengan item berikutnya.
  • Pernyataan pass yang berfungsi sebagai NOP. Ini secara sintaksis diperlukan untuk membuat blok kode kosong.
  • Pernyataan assert digunakan selama debugging untuk memeriksa kondisi yang seharusnya diterapkan.
  • Pernyataan yield yang mengembalikan nilai dari fungsi generator. Dari Python 2.5, yield juga seorang operator. Formulir ini digunakan untuk mengimplementasikan coroutine.
  • Pernyataan import , yang digunakan untuk mengimpor modul yang fungsi atau variabelnya dapat digunakan dalam program saat ini. Ada tiga cara menggunakan import: import <nama modul> [sebagai <alias>] atau from <nama modul> import * atau from <nama modul> import <definisi 1> [sebagai <alias 1>], <definisi 2> [sebagai <alias 2>], ....
  • Pernyataan print diubah menjadi fungsi print() dengan Python 3.

Metode

Metode pada objek adalah fungsi yang dilampirkan ke kelas objek; sintaks instance.method(argument) adalah, untuk metode dan fungsi normal, gula sintaksis untuk Class.method(instance, argument). Metode Python memiliki explisit self parameter untuk mengakses data instance, berbeda dengan yang tersirat self (atau this) dalam beberapa bahasa pemrograman berorientasi objek lainnya (mis., C++, Java, Objective-C, atau Ruby). Python juga menyediakan metode, sering dipanggil dunder methods (karena nama mereka dimulai dan diakhiri dengan garis bawah ganda), untuk mengizinkan kelas yang ditentukan pengguna untuk mengubah cara mereka ditangani oleh operasi asli termasuk panjang, perbandingan, dalam operasi aritmetika dan konversi penulisan.

Penulisan

Python menggunakan duck typing dan memiliki objek yang diketik tetapi nama variabel yang tidak diketik. Batasan jenis tidak diperiksa pada waktu kompilasi; sebaliknya, operasi pada suatu objek mungkin gagal, menandakan bahwa objek yang diberikan bukan tipe yang sesuai. Meskipun diketik secara dinamis, Python diketik dengan kuat, melarang operasi yang tidak terdefinisi dengan baik (misalnya, menambahkan angka ke string) daripada secara diam-diam mencoba memahaminya.

Python memungkinkan pemrogram untuk menentukan tipe mereka sendiri menggunakan kelas, yang paling sering digunakan untuk pemrograman berorientasi objek. Contoh instance baru dibangun dengan memanggil kelas (misalnya, SpamClass() atauEggsClass()), dan kelas-kelasnya adalah instance dari metaclass type (itu sendiri merupakan contoh dari dirinya sendiri), memungkinkan metaprogramming dan refleksi.

Operasi arimatika

Python memiliki simbol biasa untuk operator aritmetika (+, -, *, /), operator divisi lantai // dan operasi modulus % (di mana sisanya bisa negatif, misalnya, 4 % -3 == -2). Ini juga memiliki ** untuk eksponensial, misalnya, 5**3 == 125 dan 9**0.5 == 3.0, dan sebuah matriks operator perkalian @ .[17] Operator ini bekerja seperti dalam matematika tradisional; dengan aturan operasi yang sama, infiks operator (+ dan - juga bisa unary untuk masing-masing mewakili bilangan positif dan negatif).

Contoh pemrograman Python

Program Halo Dunia: <syntaxhighlight lang="python"> print('Hello, world!') </syntaxhighlight>

Program untuk menghitung faktorial dari bilangan bulat positif: <syntaxhighlight lang="python" line="1"> n = int(input('Ketik sebuah angka, dan faktorialnya akan diprinted: '))

if n < 0:

   raise ValueError('Anda harus memasukkan bilangan bulat bukan negatif')

faktorial = 1

for i in range(2, n + 1):

   faktorial *= i

print(faktorial) </syntaxhighlight>

Contoh kelas dalam bahasa pemrograman Python: <syntaxhighlight lang="python"> class Orang:

   def __init__(self, nama):
       self.nama = nama
   def tampilkan_nama(self):
       return self.nama

orang = Orang("Wikipedia") # Initialisasi object

print(orang.tampilkan_nama()) # Output: Wikipedia </syntaxhighlight>

Pustaka

Pustaka standar Python yang besar, biasanya disebut sebagai salah satu kekuatan terbesarnya,[18] menyediakan alat yang cocok untuk banyak tugas. Untuk aplikasi yang terhubung ke Internet, banyak format dan protokol standar seperti MIME dan HTTP didukung. Ini mencakup modul untuk membuat antarmuka pengguna grafis, menghubungkan ke database relasional, menghasilkan nomor pseudorandom, aritmetika dengan desimal presisi sewenang-wenang,[19] memanipulasi ekspresi reguler, dan pengujian unit.

Beberapa bagian dari pustaka standar dicakup oleh spesifikasi (misalnya, implementasi Web Server Gateway Interface (WSGI) wsgiref mengikuti PEP 333[20]), tetapi kebanyakan modul tidak. Mereka ditentukan oleh kode, dokumentasi internal, dan test suites mereka. Namun, karena sebagian besar pustaka standar adalah kode Python lintas platform, hanya beberapa modul yang perlu diubah atau ditulis ulang untuk implementasi varian.

Mulai Juni 2022, Python Package Index (PyPI), repositori resmi untuk perangkat lunak Python pihak ketiga, berisi lebih dari 380,000[21] paket dengan berbagai fungsi, termasuk:

Lingkungan pengembangan

Sebagian besar implementasi Python (termasuk CPython) menyertakan read–eval–print loop (REPL), yang memungkinkan mereka berfungsi sebagai penerjemah baris perintah di mana pengguna memasukkan pernyataan secara berurutan dan menerima hasil dengan segera.

Shell lain, termasuk IDLE dan IPython, menambahkan kemampuan lebih lanjut seperti penyelesaian otomatis yang ditingkatkan, retensi status sesi, dan Syntax highlighting.

Selain integrated development environments desktop standar, ada IDE berbasis peramban Web; SageMath (dimaksudkan untuk mengembangkan program Python yang berhubungan dengan sains dan matematika); PythonAnywhere, IDE berbasis browser dan lingkungan hosting; dan Canopy IDE, IDE Python komersial yang menekankan komputasi ilmiah.[22]

Konferensi Pengembang

Konferensi pengembang Python di Indonesia (PyCon Indonesia[23]) dilaksanakan sejak tahun 2017, berlangsung setiap tahun.

Berikut tema dan lokasi konferensi pengembang Python Indonesia:

  1. Tahun 2017 di Surabaya dengan tema "A New Beginning".
  2. Tahun 2018 di Jakarta dengan tema "Python for Everyone".
  3. Tahun 2019 di Surabaya dengan tema "The Beauty of Python".
  4. Tahun 2020 secara daring dengan tema "Connect - Collab - Contribute".
  5. Tahun 2021 secara daring dengan tema "Python Everywhere".
  6. Tahun 2023 di Universitas Bina Nusantara, Bandung.

Ini adalah kegiatan yang dilaksanakan oleh komunitas Python Indonesia.

Generator dokumentasi API

Alat yang dapat digunakan untuk membuat dokumentasi API Python termasuk pydoc (tersedia sebagai bagian dari pustaka standar), Sphinx, Pdoc dan forknya, Doxygen dan Graphviz, di antara yang lain.[24]

Bahasa yang dipengaruhi oleh Python

Desain dan filosofi Python telah memengaruhi banyak bahasa pemrograman lainnya:

  • Boo menggunakan indentasi, sebuah sintaks yang serupa, dan model objek yang serupa.[25]
  • Cobra menggunakan indentasi dan sebuah sintaks yang serupa, dan dokumen Pengakuannya mencantumkan Python pertama di antara bahasa yang memengaruhinya[26]
  • CoffeeScript, sebuah bahasa pemrograman yang dikompilasi silang ke JavaScript, memiliki sintaks yang terinspirasi Python.
  • ECMAScript/JavaScript meminjam iterator dan generator dari Python.[27]
  • GDScript, bahasa scripting yang sangat mirip dengan Python, built-in ke mesin permainan Godot.[28]
  • Go didesain untuk "kecepatan bekerja dalam bahasa dinamis seperti Python"[29] dan berbagi sintaks yang sama untuk mengiris array.
  • Swift, sebuah bahasa pemrograman yang dikembangkan oleh Apple, memiliki beberapa sintaks yang terinspirasi Python.[30]

Sertifikasi Python

Python Institute adalah lembaga yang kredibel yang menawarkan sertifikasi Python. Python Institute didirikan pada tahun 2003 oleh Guido van Rossum, pencipta bahasa pemrograman Python. Lembaga ini bertujuan untuk memperluas penggunaan Python secara global dan meningkatkan kompetensi para pengembang melalui sertifikasi, pelatihan, dan sumber daya edukatif. Dengan fokus pada aksesibilitas dan kualitas, Python Institute turut membangun komunitas yang mendukung inovasi terbuka dan pemanfaatan Python di berbagai bidang seperti pengembangan perangkat lunak, data science, dan kecerdasan buatan. Python Institute telah menetapkan jalur sertifikasi global independen untuk bahasa pemrograman Python. Jalur tersebut terdiri dari enam track sertifikasi:[31]

  • General-Purpose Programming (PCEP™, PCAP™, PCPP1™, and PCPP2™ exams)
  • Data Science (PCED™ and PCAD™ exams)
  • Testing (PCET™, PCAT™, and PCPT™ exams)
  • Security (PCES™, and PCAS™ exams)
  • Network Programming (PCEN™, and PCAN™ exams)
  • Web Development (PCEW™, and PCAW™ exams)

Lihat pula

Bacaan lanjutan

Pranala luar

Referensi

  1. A Python Book: Beginning Python, Advanced Python, and Python Exercises. web.archive.org. 2012-06-23.
  2. Welcome to Python.org. Python.org.
  3. History and License — Python 3.8.5 documentation. docs.python.org.
  4. Stack Overflow Developer Survey 2020. Stack Overflow.
  5. The State of Developer Ecosystem in 2020 Infographic. JetBrains: Developer Tools for Professionals and Teams.
  6. index TIOBE - The Software Quality Company. www.tiobe.com.
  7. PYPL PopularitY of Programming Language index. pypl.github.io.
  8. The Making of Python. www.artima.com.
  9. Guido van Rossum. [Python-Dev SETL (was: Lukewarm about range literals)]. 2000-08-29.
  10. General Python FAQ — Python 3.8.5 documentation. docs.python.org.
  11. Łukasz Langa. Python Insider: Python 3.9.13 is now available. Python Insider. 2022-05-17.
  12. sumber pada Wikipedia bahasa Indonesia
  13. sumber pada Wikipedia bahasa Indonesia
  14. PEP 20 -- The Zen of Python. Python.org.
  15. The Making of Python. www.artima.com.
  16. Highlights: Python 2.5. Python.org.
  17. PEP 465 -- A dedicated infix operator for matrix multiplication. python.org.
  18. sumber pada Wikipedia bahasa Indonesia
  19. PEP 327 -- Decimal Data Type. Python.org.
  20. PEP 333 -- Python Web Server Gateway Interface v1.0. Python.org.
  21. Modulecounts. www.modulecounts.com.
  22. Canopy Enthought. Canopy. www.enthought.com.
  23. PyCon Indonesia 2019.
  24. Documentation Tools. Python.org.
  25. sumber pada Wikipedia bahasa Indonesia
  26. sumber pada Wikipedia bahasa Indonesia
  27. sumber pada Wikipedia bahasa Indonesia
  28. Frequently asked questions. Godot Engine documentation.
  29. sumber pada Wikipedia bahasa Indonesia
  30. Chris Lattner. Chris Lattner's Homepage. Chris Lattner. 3 June 2014.
  31. Certification Overview. pythoninstitute.org.

Sumber dan atribusi

Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 29373395 (2026-06-21T16:35:03Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.