tc qdisc add dev eth0 parent 1:21 handle 210: pfifo limit 10 tc qdisc add dev eth0 parent 1:22 handle 220: pfifo limit 10
tc qdisc add dev eth0 parent 1:31 handle 310: pfifo limit 10 tc qdisc add dev eth0 parent 1:32 handle 320: pfifo limit 10
tc filter add dev eth0 parent 1:0 protocol ip u32 match ip dst 192.168.124 match ip sport 22 0xff flowid 1:21
tc filter add dev eth0 parent 1:0 protocol ip u32 match ip dst 192.168.124 match ip sport 23 0xff flowid 1:22
tc filter add dev eth0 parent 1:0 protocol ip u32 match ip dst 192.168.224 match ip sport 25 0xff flowid 1:31
tc filter add dev eth0 parent 1:0 protocol ip u32 match ip dst 192.168.224 match ip sport 110 0xff flowid 1:32
2.5. Python
Python adalah salah satu bahasa pemrograman script. Karena script sehingga bersifat interpreted tapi python memungkinkan untuk dicompile. Memiliki pendekatan
Berorientasi Objek dan yang terpenting adalah terstruktur secara sintaks kodenya. Struktur sintaks akan diatur dengan indentasi tiap baris kodenya. Prinsip dasar dari
python adalah kesederhanaan http:docs.python.org.
2.5.1. Hello World
Setiap contoh yang ada dapat dicoba di linux, untuk mencoba di system operasi lain sesuaikan bagian shebang. Buat file hello.py dan masukkan baris kode berikut :
usrbinenv python print “Hello World”
Jalankan file tadi dengan menambahkan atribut execute dengan perintah :
chmod u+x hello.py
Jalankan file hello.py dengan perintah berikut :
.hello.py Hello World
Setelah dieksekusi akan tampil teks Hello World. Karena bersifat interpreted, tidak perlu ada proses kompilasi sebelumnya.
2.5.2. Dasar Python
1. Literal
Literal adalah bilangan seperti 5, 5,2, 4e12, string seperti ‘ini adalah string’ atau “ini string juga.”. Literal dapat digunakan dan ditampung pada variable
nantinya. 2.
Bilangan Terdapat 4 tipe bilangan pada python, diantaranya :
1 Integer, 2, 4, 10, 1000, dll.
2 Long Integer, nilainya lebih besar dari integer.
3 Floating Point, 2,3, 1,0, dll.
4 Complex, -5+4j dan 2.3 - 4.6j.
3. String
String pada python dapat ditandai dengan tanda petik satu, dua maupun tiga. ‘string dengan satu petik’
“string dengan dua petik” ‘’’ string dengan tiga petik
dapat dibuat multi baris‘’’ 4.
Variabel Untuk penamaan variable wajib didahului oleh huruf atau underscore ‘_’.
Berikut contoh penamaan yang benar. nama
_nama Nama
Variabel akan langsung bisa digunakan ketika kita memberikan nilai ke dalamnya. Berikut contohnya :
nama = “deni” usia = 22
5. Indentasi
Indentasi sangat penting pada python, karena python membaca indentasi dari kode program untuk menentukan alur dan blok dari tiap bagian kode.
Kode berikut akan error bila dijalankan : x = 5
y = 3 z = 4
print x
di bagian lain akan dipelajari tentang control program dan fungsi. Pada bagian itu indentasi akan sering digunakan.
2.5.3. Operator dan Ekspresi
1. Operator
Berikut operator yang ada pada python :
+ - | ~
= = == =
2. Ekspresi
Penggunaan ekspresi pada python cukup sederhana, berikut contohnya :
length = 5 breadth = 2
area = length breadth 3.
Alur Kendali Terdapat beberapa pernyataan pada python untuk mengatur alur kendali
program, diantaranya adalah if, while dan for..in. 1
If Pernyataaan if akan menguji kebenaran dari ekspresi, kemudian akan
menjalankan blok yang diinginkan. Berikut contoh penggunaannya : x = 0
if x 1: print x
elif x 0: print “x lebih besar dari 0”
else: print “error”
2 While
Pernyataan ini akan mengulang blok yang sudah ditentukan selama ekspresi dalam while masih bernilai benar. Berikut contohnya:
ulang = True while ulang:
print “baris yang akan dijalankan selama masih bernilai true”
else: print “baris yang dijalankan ketika bernilai
false” 3
For .. in Pada pernyataan ini, perulangan akan terjadi sebanyak N sesuai dengan
jumlah sequence object yang digunakan. for i in range1,5
print i
2.5.4. Fungsi
Untuk membuat fungsi cukup menggunakan keyword def. Kemudian diikuti nama fungsi dan parameternya. Berikut contohnya :
def Tambah: print x + 1
Jika mengikuti konvensi dari python, minimal sebuah fungsi akan memiliki parameter self. Sehingga didapat fungsi berikut :
def Tambahself: print x
Jika ingin menambah parameter lain, cukup dengan memisahkan dengan tanda koma,. Sebagai contoh :
def Tambahself, x, y: print x + y
Sebuah fungsi dapat memiliki nilai kembalian return value. Cukup dengan menggunakan keyword return.
def Tambahself, x, y: return x + y
2.5.5. Pemrograman Berorientasi Objek
1 Class
Penggunaan class pada python hanya menggunakan keyword class. Berikut contohnya :
class Manusia: def Bicaraself:
print “berbicara” Untuk menginstansiasi objek dari class yang kita buat. Cukup dengan kode
berikut : objManusia = Manusia
objManusia.Bicara
2 Method
Penggunaan dan pembuatan method pada class, sama dengan fungsi biasa. Perbedaan hanya terlihat pada cara memanggil method. Berikut contohnya :
class Mobil: def Namaself, nama:
self.nama = nama print self.nama
objMobil = Mobil objMobil.Nama“Sedan”
Contoh di atas akan menghasilkan kata sedan. Terlihat pada definisi fungsi terdapat 2 parameter yaitu: self dan nama. Tapi untuk memanggil fungsi
cukup melewatkan untuk variable setelah self. Karena self tidak dianggap sebagai parameter.
3 __init__
method Pada python terdapat constructor method pada class. Disebut dengan __init__
method. Method ini akan dipanggil terlebih dahulu ketika objek dibuat dari kelas
tersebut. Berikut
contoh penggunaannya:
class Mobil: def __init__self:
print “mobil dibuat” t = Mobil
4 Inheritance
Untuk membuat turunan kelas pada python sangat mudah. Hanya menggunakan
tanda kelas
induk. Berikut
contohnya :
class Induk: def __init__self:
print “kelas induk”
class TurunanInduk: def __init__self:
print “kelas turunan”
2.5.6. PyGTK
PyGTK 2.0 adalah sekumpulan modul Python yang menyediakan antarmuka untuk GTK Python 2.x. Seluruh PyGTK dokumen mengacu pada versi
2.x PyGTK dan GTK, GTK merujuk pada versi 2.x GTK. Situs web utama untuk PyGTK adalah www.pygtk.org. Penulis utama PyGTK adalah James Henstridge,
jamesdaa.com.au .
Python adalah sebuah bahasa pemrograman yang extensible, berorientasi obyek yang disediakan dengan kumpulan modul yang menyediakan akses ke
sebagian besar operating system services, internet services seperti HTML, XML, FTP, dll, grafis termasuk OpenGL, TK, dll, fungsi penanganan string, layanan
mail IMAP, SMTP, POP3, dll, multimedia audio, JPEG dan layanan kriptografi. Selain itu ada banyak modul lain yang tersedia dari pihak ketiga yang
menyediakan banyak layanan lainnya. GTK pada dasarnya adalah sebuah application programmers interface
API berorientasi objek. Walaupun sepenuhnya ditulis dalam C, diimplementasikan dengan menggunakan gagasan kelas dan callback functions pointer ke fungsi.
Dengan menggunakan pygtk, pengguna python dapat dengan mudah menggunakan GTK sebagai GUI untuk program mereka. Hanya dengan menggunakan python yang
memanggil GTK widgets yang diperlukan untuk program mereka.
2.5.7. Matplotlib
Matplotlib adalah pustaka 2D plotting python yang menghasilkan diagram dalam berbagai format hardcopy dan lingkungan interaktif lintas platform.
Matplotlib dapat digunakan dalam python scripts, python dan ipython shell ala matlab atau mathematica, web application servers, dan 6 graphical user interface
toolkits .
Matplotlib mencoba untuk membuat hal yang mudah menjadi mudah dan yang sulit menjadi mungkin. Anda bisa generate plots, histograms, power spectra,
bar charts, errorcharts, scatterplots, dan lain-lain, hanya dengan beberapa baris kode.
Gambar 2.12 contoh plot dengan matplotlib
Sebagai contoh, untuk generate 10.000 gaussian angka acak dan membuat histogram berisi data dalam 100 bins, cukup dengan mengetikkan:
from pylab import randn, hist x = randn10000
histx, 100
Untuk power user, anda memiliki kendali penuh atas model garis, font properties, axes properties, dan lainnya, lewat object oriented interface atau
sekumpulan fungsi yang mirip bagi pengguna Matlab®. Pylab mode menyediakan
semua fungsi pyplot
plotting dan juga fungsi non-plotting functions dari numpy
dan matplotlib.mlab
.
2.6. Extreme Programming