Langsung ke konten utama

Mengapa (Bukan) Python?

Sebagai seorang yang sering menganjurkan Python sebagai bahasa pemrograman pertama/bahasa dalam mempelajari pemrograman, saya seringkali ditanya: Mengapa Python?

Biasanya saya akan langsung menjawab mengenai fitur-fitur dan kelebihan bahasa Python. Namun jika ditanyakan kembali kepada saya, saya akan menjawab: Mengapa tidak?

Sebagai seorang yang senang mempelajari  bahasa pemrograman baru, hal yang saya inginkan (dan saya pikir diinginkan sebagian besar newbie) adalah bahasa pemrograman yang:
  1. Sederhana
  2. Mudah dipelajari
  3. Dapat menghasilkan program yang berguna dalam waktu singkat
Dan itu semua saya dapatkan saat mempelajari bahasa Python.

Sederhana
Bahasa pemrograman Python adalah bahasa pemrograman yang termasuk paling sederhana khususnya dalam hal syntax:

  • variabel tidak perlu dideklarasikan tipe datanya, 
  • tidak ada kurung untuk menandai blok kode program
  • tidak ada keharusan titik koma di akhir statement,
  • tidak memaksakan newbie  untuk mengerti konsep OOP di awal, 
  • tidak ada pointer,  
  • tidak perlu melakukan alokasi memori (misalnya malloc dan calloc dalam C)
  • tidak perlu mengetikkan terlalu banyak kata-kata sakti  seperti public static void,

Mudah Dipelajari
Konsekuensi dari poin pertama saya: bahasa pemrograman Python mudah dipelajari. Hal lain yang membuat Python mudah dipelajari:
  • keharusan menggunakan indentasi untuk menandai blok kode program. Ini diperdebatkan, namun bagi saya pribadi ini membuat kode program yang ditulis dalam Python mudah dibaca ulang. Selain itu  dalam bahasa pemrograman lain pun praktik ini dianjurkan walau bukan keharusan



Misalnya fragmen kode di atas. Saya menggunakan if berganda. Dengan struktur di seperti itu, saya tahu jika kelak saya baca ulang program di atas, saya akan tetap ingat maksud fragmen kode di atas.

Dapat Menghasilkan Program Berguna dalam Waktu Singkat
Apa sih keinginan kita sebagai programmer selain melainkan aplikasi/program yang berguna? Misalnya program Ping Me (aplikasi untuk melakukan ping secara terus-menerus, merupakan antar muka dari ping) saya tulis dalam waktu 1 jam-an saja (itu termasuk lama disebabkan saya tidak mahir mengetik 10 jari). Catatan: kemampuan mengetik 10 jari adalah modal utama programmer, IMHO.

Komentar

Postingan populer dari blog ini

Dasar-Dasar Python (2)

Sebagian besar baris program yang kita tuliskan akan berupa sebuah expression . Contoh sederhana dari expression misalnya 2 + 3. Sebuah expression terdiri dari operand dan operator . Operand : 2 dan 3 Operator : + Operator adalah penanda bahwa program yang kita buat sedang melakukan sesuatu, dalam contoh di atas program kita sedang menjumlahkan angka 2 dan 3. Operasi Bilangan Seperti telah disinggung sebelumnya Python mengenal bilangan tipe Integer, Long Integer, Floating Point dan Complex Number. Dan seperti bahasa pemrograman lain pada umumnya, kita dapat memanipulasi bilangan dengan operator operasi bilangan. Operasi bilangan yang umum digunakan: penjumlahan, pengurangan, perkalian, pembagian. # operasi integer a = 3 + 4 # a bernilai 7 b = 4 - 3 # b bernilai 1 c = 3 * 4 # c bernilai 12 d = 4 / 3 # pembagian integer, d bernilai 1 e = 4 % 3 # sisa pembagian integer, e bernilai 1 print a, b, c, d, e # cetak hasil # operasi long integer f = 10000000000L + 25

Menghitung Pi

Wah, lama tidak menggunakan Python, otak terasa buntu. Soal yang perlu dipecahkan sederhana: hitunglah Pi menggunakan Wallis Formula : setelah 1 jam mencoba, maka saya menemukan potongan kode yang saya rasa betul: In [50]: pi = 2 * reduce(lambda x,y: x*y, [(4.0*i**2)/(4.0*i**2-1) for i in xrange(1,1000)]) In [51]: pi Out[51]: 3.1408069608284657 Wah, ternyata lebih ribet dari yang saya kira pada awalnya. Namun cool ... kita dapat menghitung Pi hanya dengan satu baris kode yang melibatkan fungsi built-in reduce , lambda , serta list comprehension . Yang baru saya pelajari dan gunakan adalah fungsi reduce . Potongan penjelasan mengenai fungsi reduce dari help Python: reduce ( function ,  iterable [ ,  initializer ] ) Apply   function   of two arguments cumulatively to the items of   iterable , from left to right, so as to reduce the iterable to a single value. For example, reduce(lambda   x,   y:   x+y,   [1,   2,   3,   4,   5])   calculates   ((((1+2)+3)+4)+5) . The l

Belajar: List Method

Sekedar mengulang mengenai 'list method ': method (atau ada yang menyebug fungsi) bawaan untuk objek 'list'. List Method: append : menambahkan item ke dalam list count : menghitung berapa banyak item ada dalam list extend : menambahkan item dari list lain ke dalam list index : memberitahukan index/posisi dari sebuah item dalam list pop : mengeluarkan sebuah item dari list; mengembalikan item tersebut sebagai 'return value'.  Jika tidak ditentukan index item yang akan dikeluarkan, fungsi akan mengeluarkan item terakhir dalam list remove : menghapus item tertentu dari list reverse : mengurutkan list secara terbalik (dari item besar ke kecil) sort : mengurutkan list (dari item kecil ke besar) Beberapa contoh: >>> my_list = ['chopsticks', 'dark soy sauce', 'wasabi', 'fugu', 'sake', 'ramen', 'shiitake mushrooms'] >>> my_list.sort() >>> my_list ['chopsticks', '