1. Sejarah
Bahasa pemrograman ini dibuat oleh Guido van Rossum dari Amsterdam,
Belanda. Pada awalnya, motivasi pembuatan bahasa pemrograman ini adalah
untuk bahasa skrip tingkat tinggi pada sistem operasi terdistribusi Amoeba.
Bahasa pemrograman ini menjadi umum digunakan untuk kalangan engineer
seluruh dunia dalam pembuatan perangkat lunaknya, bahkan beberapa
perusahaan menggunakan python sebagai pembuat perangkat lunak komersial.
Skrip internet. Skrip CGI, antarmuka HTTP, Aplet WWW, dan lainnya.
Pengenalan IDE Python
1.1 Lingkungan Pengenalan Terpadu (IDE)
Pada pemograman python, ada banyak IDE yang dapat digunakan tetapi pada
praktikum kali ini akan digunakan IDE yang sudah disediakan oleh paket python
yaitu IDLE. IDLE (Integrated Development Editor) merupakan suatu editor kode
program, bantuan interaktif, dan debugging yang digunakan untuk melakukan
development program dengan menggunakan bahasa python. Seperti yang dapat
dilihat pada gambar 1.1, bahwa IDLE dapat dibagi menjadi dua bagian besar yaitu
“Interactive Shell” dan “Teks Editor”. Untuk menjalankan editor IDLE masuk ke
menu “All programs Python 2.6 IDLE (Pthon GUI)
1.1.1 Interactive Shell
Interactive shell merupakan fasilitas yang dipunyai oleh bahasa pemrograman
yang berjenis intepreter, yaitu bahasa pemrograman yang menterjemahkan satu
per satu baris dari kode program untuk dijalankan pada sistem. Pada IDLE,
interactive shell digunakan untuk melakukan komputasi secara perbaris atau bisa
juga digunakan untuk mencari kesalahan yang timbul pada saat program
dijalankan.
1.1.2 Teks Editor
Teks editor pada IDLE digunakan untuk menulis kode program dan melakukan
eksekusi kode program tersebut pada interactive shell. Teks editor yang digunakan
sudah mendukung auto completion dengan menekan tombol ctrl+spasi sehingga
IDLE akan menyarankan semua keyword python yang mungkin akan digunakan
pada kode program.
# header
from numpy import *
import math
# fungsi-fungsi
Def PCA(x, y) :
Print “fungsi 1”
# main program
Print “Main Program”
Sekedar info, baris yang diawali dengan tanda kres merupakan komentar dan tidak
akan diproses oleh python intepreter. Header berfungsi untuk menentukan module
mana yang akan digunakan dalam program. Module merupakan pustaka tambahan
yang disediakan oleh python atau oleh orang lain dan dapat digunakan dalam
program untuk mempermudah pembuatan program. Sebagai contoh diatas, kode
program tersebut menggunakan semua module yang ada pada namespace numpy
dan menggunakan module math yang disediakan oleh python.
Input / Output (I / O)
Perintah print merupakan perintah dasar dari python yang dapat menampilkan
seluruh data yang di support secara native oleh python. Ada beberapa cara
memanggil perintah print yaitu :
print “2 + 2 is”, 2 + 2
print “3 * 4 is”, 3 * 4
print “100 – 1 is”, 100 – 1
print “(33 + 2) / 5 + 11,5 is”, (33 + 2) / 5 + 11,5
print “2 + 2 is %d” % (2 + 2)
print “3 * 4 is %d” % (3 * 4)
print “100 – 1 is %d” % (100 – 1)
print “(33 + 2) / 5 + 11,5 is %f” % ( (33 + 2) / 5 + 11,5)
Input data yang dilakukan oleh user merupakan hal yang penting dalam
pemrograman python. Ada dua perintah yang dapat digunakan untuk melakukan
input data yaitu perintah input dan perintah raw_input.
2.2.1 Perintah input
Perintah input digunakan untuk melakukan input data jenis numerik. Dengan
menggunakan perintah input. Harus dipastikan bahwa user akan menginputkan
data yang berupa numerik karena jika data yang diinputkan tidak berupa data
numerik maka perintah input akan mengeluarkan pesan kesalahan. Contoh
penggunaan perintah input dan kesalahanya jika data yang diinput bukan data
numerik adalah sebagai berikut:
Perintah raw_input dapat digunakan dengan cara yang sama dengan penggunaan
perintah print, tetapi hasil data yang diinputkan akan selalu berupa string. Perintah
raw_input dapat digunakan untuk input data string dan numerik dengan cara
tertentu. Contoh penggunaan perintah raw_print adalah sebagai berikut.
Tipe data menyatakan pola penyajian data dalam komputer: karakter, bilangan,
string, record. Tipe data dibedakan menjadi dua yaitu tipe data dasar dan tipe data
khusus. Tabel dibawah menampilkan beberapa tipe data dasar dan tipe data
khusus. Tabel dibawah menampilkan beberapa tipe data dasar dan domainya,
yang dikenal dalam Python.
Variabel merupakan penampung data yang isinya dapat diubah. Data yang dapat
disimpan adalah data yang sesuai dengan tipenya.
Nama variabel terdiri dari huruf, angka dan garis bawah dapat didahului oleh
huruf dan garis bawah, dengan ketentuan:
Tipe data dari variable ditentukan oleh isi yang diberikan oleh programmer. Jika
programmer memberikan nilai yang masuk dalam range integer maka variable
tersebut akan bertipe integer, jika floating-point maka variabel tersebut akan
bertipe float, dan seterusnya. Berikut merupakan contoh dari penggunaan variable
>>> a = 10 . 5
>>> type (a)
<type ‘float ’ >
>>> a = 10
>>> type (a)
<type ‘int’>
>>> a = 2**1024
>>> type (a)
<type ‘long ’ >
>>> a = “Ini String”
>>> type (a)
<type ‘str ’ >
3.2 List
List pada dasarnya adala sebuah array yang bisa terdiri dari satu jenis tipe data
ataupun terdiri dari beberapa tipe data. Tuple sedikit banyak merupakan suatu list,
hanya saja pada tuple isi dari tuple tersebut bersifat read-only.
List adalah deretan variable yang mempunyai tipe data tertentu dan mempunyai
nilai yang sama. Pada bahasa python, list dapat dideklarasikan dengan
menggunakan perintah sebagai berikut.
a = list_a [0] # a = 10
a = list_a [0 : 3] # a = [ 10, 10, 20 ]
a = list_a [ : : -1] # a = [ 40, 30, 20, 10, 10 ]
a = list_a [-1] # a = 40
a = list_a [-3 : :] # a = [ 20, 30, 40]
Akses ke dalam list mempunyai aturan yang sama dengan akses data pada list satu
dimensi. Berikut meruoakan contoh akses data untuk list multidimensi.
Setiap yang dapat dilihat pada kode diatas, f( ) dan g( ) melakukan perintah yang
sama dan dapat digunakan dengan cara yang sama. Fungsi lambda diadaptasi oleh
python dari functional programming dan keuntungan dari fungsi lambda adalah
tidak perlu mendeklarasikan variable apapun.
3.4 Operator
Operator merupakan simbol atau kata yang digunakan untuk operasi dan
manipulasi dalam program yang melibatkan satu ( unary operator ) atau dua nilai
( binary operator ).
Operator Aritmatika
Merupakan operator untuk operasi aritmatika seperti:
Operator Relasi
Merupakan operator yang membandingkan dua buah nilai. Keluaran atau hasil
pembandingan adalah kondisi benar atau kondisi salah.
Tabel 3.2: Operator Relasi
Operator Operasi Opera Operasi
tor
< Lebih Kecil >== Lebih besar / sama dengan
< == Lebih kecil / sama = = Sama dengan
dengan
> Lebih besar != Tidak sama dengan
Operator Logika
Merupakan operator untuk menghubungkan satu atau lebih kondisi. Kondisi bisa
merupakan hasil pembandingan yang menggunakan operator relasi.
Benar
Syarat
Aksi 1
Salah
Aksi 2
benar benar
Var = Const 1
benar
Var = Const 2
default
Bentuk umum :
if syarat 1 :
aksi1
elif syarat2 :
aksi2
elif syarat3 :
aksi 3
Fungsi adalah suatu bagian dari program yang dimaksudkan untuk mengerjakan
suatu tugas tertemtu dan letaknya dipisahkan dari bagian program yang
menggunakannya.
Berdasarkan keluaran dan masukannya fungsi dapat dibagi menjadi 4. Yang
dimaksud keluaran adalah fungsi yang mengembalikan suatu nilai tertentu dan
yang dimaksud dengan masukan adalah parameter yang merupakan inputan pada
fungsi.
Fungsi ini merupakan fungsi yang tidak memiliki parameter inputan namun fungsi
ini tetap melaksanakan tugas tertentu.
Bentuk umum :
def nama_fungsi ( ) :
pernyataan
Fungsi ini merupakan fungsi yang memiliki sejumlah parameter dengan tugas
tertentu. Perlu digaris bawahi bahwa semua parameter memiliki jenis pengiriman
by reference sehingga jika dilakukan manipulasi parameter pada fungsi maka nilai
dari parameter tersebut juga akan berubah sesuai dengan data yang diisikan.
Bentuk umum :
Fungsi dengan keluaran merupakan suatu fungsi yang mengembalikan suatu nilai
tertentu kepada pemanggil fungsi.
Bentuk umum :
Fungsi rekursif adalh fungsi yang memanggil dirinya sendiri secara berulang-
ulang. Karena prosesnya dilakukan secara berulang-ulang maka harus ada kondisi
yang mengakhiri prosesnya.
Ekstensi Python
Penggunaan python pada lingkungan yang berbagai macam ragam, sulit untuk
menjawab secara resmi terhadap pertanyaan di atas. Pada bagian bawah ini
merupakan rangkuman dari beberapa bidang yang menggunakan python pada saat
ini:
Berdasarkan properti umum yang diberikan, python dapat di terapkan pada area
mana saja ynag kita ingin kan, dengan meningkatkannya dengan pustaka pada
bidangnya, melekatkannya dengan sistem aplikasi, atau menggunakannya secara
sendiri.
Pada tabel di bawah ini terdapat beberapa ektensi python yang populer.
Bidang Ekstensi
Apa yang telah kita lihat, arsitektur python yang terbuka mendukung bentuk
pembuatan sistem aplikasi dan produknya secara dinamis. Pada python pula, kita
dapat mencampurkan prototipe, pembuatan sistem aplikasi secara cepat, dan
engineering perangkat lunak secara tradisional, berdasarkan pada permintaan
dalam suatu projek. Penggunaan python sebagai perangkat bantu pembuat skrip,
kita dapat membuka sebagian dari sistem untuk modifikasi oleh pemakai akhir.
Kelebihan dan Kekurangan
Kelebihan:
Sintaks sederhana
OOP
Single inheritance
Kelemahan :
IDE. Saat ini kualitas IDE untuk ruby masih jauh daripada .net dan java.
Tapi dengan bermunculnya IDE ruby yang dibuat dengan java.net,
kondisinya agak berubah. Tapi karena ruby bahasa yang sangat dinamis,
sulit untuk bisa mendapatkan informasi secara lengkap mengenai
struktur sebuah program ruby secara statis.