Perbedaan Python 2 dan Python 3 Yang Mendasar

Thursday, June 1st, 2017 - Pemrograman
Advertisement

Pada seri belajar pemrograman python ini kita akan memulai dengan perbedaan mendasar antara python 2 dan python 3. Sebenarnya apakah hanya peningkatan versi atau memang ada perbedaan syntax yang cukup signifikan. Nah di artikel kali ini kita akan segera mencari tahu hal tersebut. Hal ini sangat penting bagi pemula untuk belajar bahasa pemrograman python terutama python 3. Python sendiri merupakan bahasa pemrograman yang sangat sederhana, mudah dibaca (human readable), luwes atau dapat dipakai untuk berbagai macam keperluan. Python sendiri kini banyak dipakai mulai dari web, IoT, keperluan Big Data dan Machine Learning. Pun juga pelbagai keperluan lain. Python sendiri dinamai oleh penemunya – Guido Van Rossum – dari nama grup komedi dari tanah Inggris Raya yaitu Monty Python. Hal ini selaras dengan misi utama Python untuk membuat pemula belajar bahasa pemrograman dengan hati senang (fun), maka dari itu, dibandingkan bahasa pemrograman lain, Python sangat ramah untuk pemula.

Python sendiri merupakan bahasa pemrograman yang dapat digunakan dengan berbagai paradigma. Mulai dari scripting sederhana hingga object oriented sehingga sangat cocok untuk penggunaan sehari – hari. Python sendiri dipakai diberbagai industri, seperti misalnya industri aeronautica, bahkan studio besar seperti Industrial Light & Magic yang notabene subsidiari dari Lucasfilm (Disney) – penggarap VFX film besar seperti Avenger dan sekuel Star Wars. Sebagian besar industri animasi terlebih pengguna Autodesk Maya memang menggunakan Python untuk membantu pekerjaan. Python menawarkan potensi yang luar biasa.

Seperti yang penulis sampaikan sebelumnya, Python dikembangkan pertama kali oleh Guido van Rossum pada akhir tahun 1980 dan dipublikasikan pertama kali pada 1991. Disebut sebagai penerus pemrograman ABC, Python pada awal rilis sudah disertai dengan fungsi seperti exception, function bahkan class dengan inheritance. Ketika itu sebuah Usernet newsgroup bernama comp.lang.python dibuat di 1994, grup ini membentuk langkah awal untuk Python sebagai salah satu bahasa pemrograman yang sangat populer untuk pengembangan Open Source Software.

Sebelum melihat ke kesempatan yang berkaitan dengan judul yaitu perbedaan mendasar antara Python 2 dan Python 3, mari kita lihat latar belakang rilis major Python.

Python 2

Dipublikasikan pada akhir tahun 2000, Python 2 dinilai lebih transparan dan inklusif untuk pengembangan software ketimbang versi sebelumnya. Hal ini didukung dengan adanya PEP – Python Enhancement Proposal, sebuah spesifikasi teknis yang menjadi tuntunan informasi untuk penggunanya dan menggambarkan fitur baru pada Python itu sendiri.

Sebagai tambahan, Python 2 dilengkapi dengan berbagai fitur programatikal seperti cycle-detecting garbage collector untuk mengotomasi manajemen memori, peningkatan dukungan untuk Unicode, list comprehension untuk membuat sebuah list berdasarkan list yang sudah ada. Unifikasi pada tipe data Python dan class ke satu hirarki terjadi pada rilis Python 2.2

Python 3

Python 3 diharapkan sebagai masa depan Python dan merupakan versi yang saat tulisan ini dibuat masih aktif dikembangkan. Python 3 sendiri adalah versi dengan banyak perubahan yang dirilis akhir tahun 2008. Fokus dari Python 3 itu sendiri adalah untuk melakukan perapian pada codebase dan menghapuskan duplikasi (redundancy). Perubahan terbesar pada Python 3 termasuk memasukkan statemen print ke dalam built-in function.

Awalnya, Python 3 mengalami hambatan pada pengadopsiannya. Itu akibat dari tidak adanya backwards compatibility dengan Python 2. Hal ini membuat pengguna Python sangat berat hati untuk pindah ke versi 3 ini. Tambahannya, banyak sekali library yang hanya tersedia untuk Python 2., tapi setelah tim pengembangan di balik Python 3 telah berulang kali menjelaskan bahwa dukungan terhadap Python 2 akan segera dihentikan, dan semakin banyak libary disalin ke Python 3, maka penerapan Python 3 semakin lama semakin meningkat.

Python 2.7

Dengan dirilisnya Python 3 pada tahun 2008, Python 2.7 dirilis pada Juli 2010 dan direncanakan sebagai rilis 2.x terakhir. Misi dibalik Python 2.7 adalah untuk membuat pengguna Python 2 dengan mudah berpindah ke Python 3 dengan mempersiapkan beberapa kompatibilitas diantara keduanya. Kompatibilitas termasuk peningkatan modul untuk 2.7 seperti unittest untuk mendukung otomasi tes, argparse untuk parsing opsi command-line dan tidak lupa collection dengan class yang lebih baik.

Karena Python 2.7 berada pada posisi yang unik, di antara iterasi Python 2 dan Python 3, maka versi ini menjadi versi yang terbanyak dipergunakan, bahkan jadi versi yang cukup populer untuk dipergunakan dikalangan pengembang. Python 2.7 akan segera dihentikan dukungannya pada tahun 2020.

Cukup sudah bicara sejarah dan overviewnya, mari bicara inti dari artikel kali ini. Perbedaan mendasar antara Python 2 dan Python 3. Meski Python 2.7 dan Python 3 memiliki beberapa kesamaan kapabilitas, namun keduanya tidak sepenuhnya sama.

Print

Pada Python2, print diperlakukan seperti statemen ketimbang sebuah function.

Sedangkan pada Python 3, print diperlakukan sebagai function.

Perubahan ini membuat sintaksis pada Python lebih konsisten. Penggunaan print()  juga kompatibel dengan Python 2.7.

Pembagian pada Integer

Pada Python 2, semua tipe data angka yang tidak mengandung desimal akan diperlakukan sebagai integer. Terlihat mudah pada awalnya, ketika mencoba untuk membagi kedua integer akan didapatkan tipe data float.

Python 2 menggunakan floor division atau dibulatkan ke nilai paling rendah misalnya 1.5 jadi 1, 2.6 jadi 2 dan seterusnya. Pada Python 2.7 akan menjadi seperti ini

Untuk desimal maka tambahkan jadi seperti ini 3.0 / 2.0  untuk mendapatkan hasil 1.5

Pada Python 3, pembagian pada bilangan integer lebih intuitif :

Kita juga masih bisa melakukan 3.0 / 2.0  untuk mendapatkan 1.5 namun untuk mendapatkan floor division maka pada Python 3 gunakan //  :

Fitur Python 3 ini tidak kompatibel dengan Python 2.7

Dukungan Unicode

Ketika bahasa pemrograman menangani tipe data string (yang mana merupakan sekumpulan karakter), mereka bisa melakukan beberapa cara berbeda sehingga komputer dapat mengubah angka ke huruf dan simbol lain. Python 2 menggunakan alfabet ASCII secara default, sehingga ketika kita mengetik "Halo!"  maka Python 2 menangani string sebagai ASCII. Terbatas pada beberapa ratus karakter, ASCII mungkin bukan pilihan yang fleksibel untuk menangani proses encoding terutama yang non English.

Untuk menggunakan unicode yang lebih luwes, mendukung lebih dari 128,000 karakter maka kita harus mengetik u"Halo!" , dengan tambahan u  di depannya yang mana berarti Unicode.

Python 3 menggunakan Unicode secara default, yang mana menyelamatkan programmer dari tambahan kode lagi, lebih hemat waktu dan mudah untuk diisikan dan ditampilkan. Karena Unicode mendukung berbagai karakter linguistik yang beragam termasuk menampilkan emoji, penggunaan karakter secara default dengan encoding memastikan perangkat mobile didukung oleh program yang kita buat.

Jika kita ingin kode Python 3 kita mendukung Python 2, tambahkan u di depan string.

Kelanjutan Pengembangan

Selain perbedaan mendasar antara Python 2 dan Python 3 secara sintatikal, fakta lain adalah Python 2.7 akan dihentikan dukungannya per tahun 2020 dan Python 3 akan terus dikembangkan dengan fitur yang lebih banyak lagi, dan tentu saja yang lebih penting adalah perbaikan dari bug dan performa. Pengembangan saat ini telah mendukung format string secara literal, kustomisasi pembuatan class secara sederhana dan sintaksis yang lebih bersih dan rapi untuk menangani perkalian matriks.

Pengembangan Python 3 akan terus berlangsung, hal ini berarti pengembang perangkat lunak akan dengan nyaman menggunakan Python 3 karena terus didukung oleh komunitas dengan jangka panjang. Tentu saja hal ini meningkatkan kinerja programmer dan kualitas program yang lebih baik.

Incoming search terms:

  • perbedaan python 2 dan 3
  • Pemograman linux
  • perbedaan python versi 2 dengan 3
  • belajar pemrograman linux
  • belajar python dengan linux
  • belajar python 2 dikali linux
  • spesifikasi untuk python 3
  • beda python 2 dan 3
  • beda phyton 2 dan 3
  • bahasa pemrograman blackarch linux
Advertisement
Perbedaan Python 2 dan Python 3 Yang Mendasar | Jsmith | 4.5
Like Page Tutorlinux di Facebook
Leave a Reply