Saya sudah pelajari banyak bahasa pemrograman, mulai dari Pascal sampai dengan Scala. Tapi ada satu bahasa yang sama sekali belum pernah saya pelajari, Python. Salah satu alasannya adalah Python menggunakan indentasi untuk menentukan scoping yang saya pikir sebagai fitur aneh untuk sebuah bahasa pemrograman.
Setelah saya menyerah mempelajari Scala yang ternyata memiliki (terlalu) banyak cara untuk melakukan sesuatu. Saya berpikir apakah ada bahasa pemrograman yang hanya punya satu cara untuk melakukan sesuatu. Saya pun ingat dengan Python. Filosofi Python adalah hanya menyediakan satu cara terbaik untuk melakukan sesuatu. Saya pikir, bahasa ini akan sangat baik untuk diterapkan dalam sebuah tim. Siapapun programmernya pasti sintaks yang digunakan untuk looping sebuah list adalah sama. Artinya akan lebih mudah mempelajari code orang lain dan akan memudahkan praktek collective code ownership.
Saya pun segera buka website Python untuk mengunduh installer-nya. Versi terbaru saat tulisan ini dibuat adalah 3.4.0, tapi dari yang saya baca, belum banyak library yang mendukung versi ini. Jadi saya pun cari aman dan menginstal versi 2.7.0.
Karena tidak mau repot, saya install versi Windows Installer-nya. Setelah selesai saya cek apakah Python sudah terinstall dengan baik dengan menjalankan command python --version
.
Untuk langkah pertama, mari mulai dengan membuat program yang mencetak teks “Hello World” 10 kali.
Jalankan dengan perintah python helloworld.py
, hasilnya:
Untuk mempelajari beberapa sintaks dasar sebuah bahasa (definisi variabel, perulangan, percabangan, input, output), saya biasanya membuat program tebak angka. Program akan men-generate satu angka acak dari 1 sampai 100, kemudian program akan menerima input (tebakan) dari user. Bila tebakan sama dengan angka acak yang ditentukan maka program selesai. Bila masih meleset, maka program akan memberitahu user apakah tebakannya lebih besar atau lebih kecil dari angka acaknya.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#guessthenumber.py
import random
counter = 0
number = random.randint(1, 100)
while True:
guess = input("Tebakan anda: ")
counter = counter + 1
if guess == number:
print 'Anda menang. Jumlah tebakan: ', counter
break
elif guess > number:
print 'Terlalu besar'
else:
print 'Terlalu kecil'
Penjelasan:
random
randint(from, to)
dari objek random
untuk menghasilkan angka acak 1 - 100guess
sebenarnya bertipe stringelif
merupakan singkatan dari else if
. Sebenarnya menggunakan else if
tidak masalah, tapi mengapa tidak kita menghemat beberapa karakter :)Source code: https://github.com/bustanil/learnpython