/blog/*

Python Basic

Python merupakan bahasa pemrograman high-level yang berfokus pada tingkat keterbacaan kode, sehingga kode yang dihasilkan oleh python mudah ditulis dan dimengerti. Meski demikian Python tetap merupakan bahasa yang powerful, karena Python sering digunakan peneliti untuk menangani komputasi-komputasi berat seperti machine learning. Selain itu juga Python merupakan bahasa yang dinamis serta mendukung pemrograman object-oriented.

Bahasa pemrograman Python dikembangkan oleh Guido Van Rossum pada tahun 1990 di Centrum Wiskunde & Informatica (CWI), sebuah pusat riset dibidang matematika dan sains, Amsterdam. Nama Python sendiri diambil dari acara televisi kesukaan Guido yaitu Monty Python's Flying Circus. Hingga saat ini Python sudah mencapai versi 3.6.3 dan terus berkembang. Bahkan tahun ini, Python menempati posisi pertama sebagai Top Programming Languages versi IEEE Spectrum.

Python adalah Interpreter

Kode program yang ditulis dalam Python .py dieksekusi menggunakan program Python Interpreter. Meskipun demikian, pada saat kode program dieksekusi, secara implisit Python sebenarnya melakukan kompilasi terhadap kode tersebut terlebih dahulu. Hasil kompilasi ini berupa byte code .pyc. Selanjutnya, yang dieksekusi oleh Python Virtual Machine adalah byte code, bukan kode sumbernya. PVM adalah mesin runtime untuk Python, yang merupakan bagian dari system Python, bukan software terpisah. Secara teknis system Python secara keseluruhan disebut sebagai "Python Interpreter".

Python Virtual Machine

Dalam Python, byte code disimpan di dalam memory komputer dan akan langsung dibuang ketika eksekusi program berakhir. Hal inilah yang membuat proses eksekusi program di dalam Python berjalan dengan cepat.

Install Python

Python merupakan bahasa pemrograman cross-platform yang artinya bisa berjalan di berbagai system operasi seperti Windows, Linux, maupun MacOS. Untuk menginstall Python silakan unduh di sini.

Hello World

Untuk menggunakan Python ada banyak pilihan editor seperti PyDev, Ninja IDE, atau bisa menggunakan Python IDLE yang merupakan default editor dari Python. Yang paling terkenal dan yang saya gunakan saat ini adalah PyCharm yang tersedia juga versi community-nya. Ritual pertama kali yang harus dilakukan ketika mempelajari suatu bahasa pemrograman adalah mencetak kata sakral Hello World!. Berikut script-nya dalam Python:

print "Hello World!"

Untuk Mengeksekusi file Python, caranya adalah:

python file_name.py

Identifier

Identifier merupakan suatu nama yang digunakan untuk mengidentifikasi sebuah variable, function, class, module, ataupun sebuah object. Setiap bahasa pemrograman memiliki aturan-aturan main sendiri dalam mendefinisikan sebuah identifier atau biasa yang disebut naming-conventions. Berikut beberapa naming-conventions yang umum pada Python:

  • Python termasuk bahasa pemrograman case-sensitive.
  • Sebuah identifier diawali dengan huruf A-Z atau a-z atau underscore, diikuti dengan angka 0-9 atau huruf dan underscore lagi.
  • Nama class diawali dengan huruf besar, selain itu semua identifier diawali dengan huruf kecil.
  • Identifier yang diawali dengan single underscore _pi = 3.14, atau double underscore __pi = 3.14 mengindikasikan bahwa identifier itu bersifat private. Berikut perbedaannya:
class TestAccess:
    _semiprivate = "variable with semi-private"
    __superprivate = "variable with super-private"

ta = TestAccess()

print(ta._semiprivate)
# [PRINT]: "variable with semi-private"

print(ta.__superprivate)
# AttributeError: 'TestAccess' object has no attribute '__superprivate'
  • Masih banyak lagi naming-conventions pada Python, untuk info lebih lengkapnya silakan lihat dokumen PEP 8.

identation

Pada bahasa pemrograman lain seperti Java misalnya, untuk mengidentifikasi suatu blok kode digunakan karakter braces {}. Dalam Python digunakan indentasi untuk mengidentifikasikan suatu blok program, dan menurut aturan dari PEP 8 digunakan 4 karakter spasi sebagai indentasi:

def get_pi():
    return 3.14

Comment

Comment merupakan suatu baris kalimat yang digunakan untuk memberikan suatu informasi atau keterangan terhadap suatu baris kode program yang keberadaannya akan diabaikan oleh compiler sehingga tidak mempengaruhi hasil eksekusi program. Dalam Python untuk menandai bahwa baris tersebut merupakan comment digunakan karakter hashtag #.

String

String merupakan sekumpulan karakter, bisa dikatakan bahwa string adalah array yang berisikan karakter. Dalam Python ada beberapa cara dalam mendeklarasikan suatu variable string, yaitu dengan single, double, ataupun triple quotes untuk string dengan beberapa baris:

word = 'word'
sentence = "This is sentence."
paragraph = '''You can use triple quotes
to make multiple lines.'''

Ada beberapa trick untuk memanipulasi string yang saya pelajari dari situs thenewboston, saya rangkum kurang lebihnya sebagai berikut:

# Use \ to ignore quotes inside quotes
a = 'I don\'t eat your last pieces of pizza'
print(a)

# f --> formatting string
name = 'happy'
hi_happy = f'hi {name}'
print(hi_happy)

# r --> raw string
path = r'D:\hiwijaya\homework\nudePics'
print(path)

firstname = 'Happy '
print(firstname + 'Indra Wijaya')

# print 5 times
print(firstname * 5)

# get element by index from string
name = 'Happy Indra Wijaya'
print(name[4])

# get element by index start from the last
print(name[-1])

# get element by index with range
print(name[2:8])

# get element with range but start from the beginning
print(name[:4])

# get length of element string
print(len(name))

# print string with a number type, use comma
print('hiwijaya', 1992, 10)

Number

Tipe data number digunakan untuk memuat nilai numerik. Tidak banyak yang perlu dibahas, tetapi ada beberapa trick sederhana yang ingin saya bagikan di sini:

a = 19 / 4
print(a)

# divide with rounding
b = 19 // 4
print(b)

# pow --> 5^3
c = 5 ** 3
print(c)

Conditional Statement

Conditional Statement merupakan suatu cara yang digunakan untuk mengatur alur suatu program. Alur program ditentukan oleh suatu kondisi yang bernilai true atau false. Berikut contoh penerapan dalam Python:

age = 25
if age < 21:
    print('No beer for you kid')
else:
    print('Cheers!')

Pada potongan program di atas hanya terdapat 2 kondisi, bagaimana jika ingin menerapkan lebih dari dua kondisi atau biasa dikenal dengan istilah nested-if. Berikut penerapannya dalam Python:

name = 'Indra'
if name is 'Happy':
    print('Hello Happy..')
elif name is 'Indra':
    print('Hi, pap!')
else:
    print('Who the fvck are you?')

Conditional statement juga bisa diimplementasikan hanya dalam satu baris saja, hal ini biasa dikenal dengan istilah ternary conditional. Berikut implementasinya dalam Python:

drink = 'Beer' if age >= 21 else 'Orange Juice'
print(drink)  # --> 'Beer' 

Dalam menentukan suatu nilai kondisi, pada contoh-contoh di atas digunakan operator is. Yang perlu diperhatikan adalah operator is bekerja dengan membandingkan reference-nya, BUKAN value-nya. Coba perhatikan potongan kode di bawah ini:

# different between 'is' and '=='
# 'is' for REFERENCE EQUALITY --> beware when using it!
# '==' for VALUE EQUALITY
a = 5000
b = 5000
print(a is 500 * 10)  # --> False
print(a == 500 * 10)  # --> True
print(a is b)         # --> True

Loop Statement

Loop statement digunakan untuk menjalankan suatu perintah secara berulang berdasarkan suatu kondisi. Terdapat dua jenis loop yang memiliki kegunaan yang berbeda, yang pertama adalah loop yang menggunakan while. Loop ini digunakan ketika dari awal kita tidak tahu kondisi yang mengakhiri loop tersebut. Berikut contoh kodenya:

find = True
num = 0
while find:
    print(num)
    if num is 7:    # lucky number!
        find = False
        break
    num += 1

Loop yang kedua dengan for, digunakan ketika kita sudah tahu kondisi untuk mengakhiri loop tersebut, bisa dikatakan lebih terukur dan bisa diprediksi. Berikut contoh kodenya:

# loop n times with range()
for n in range(10):         # range(end)
    print(n)

for n in range(1, 5):       # range(start, end)
    print(n)

for n in range(1, 20, 5):   # range(start, end, increment)
    print(n)

Untuk materi Python basic cukup sampai di sini, materi Python lebih lanjut seperti Tipe data collections, function, class, exceptions akan dibahas di artikel terpisah.