Rabu, 20 April 2011

List, fungsi, class

Haha.. Bingung mau kasih judul apa, intinya cuma contoh bagaimana mengelompokan script dengan penggunaan multi dimensional list:




nama_list=[[nilai,nilai],[nilai,nilai]]



fungsi berargumen:




def nama_fungsi(argumen):

>>>>isi_fungsi




dan class:




class nama_class:

>>>>isi_class




Sekali lagi ini hanyalah contoh, bukan struktur script yang baik, sampai saat ini saya masih coba ini, coba itu berusaha membuat struktur yang rapi dan fleksibel, tp belum berhasil.. Hehe... Ganti tanda ">" pada awal syntax dengan spasi. Sebagai contoh, data disimpan dalam multi dimensional list




type1 = ["Alas kaki", ["sepatu","sandal"]]

type2 = ["Tutup kepala", ["topi","peci"]]




Lalu misal kita ingin membuat fungsi untuk memproses nilai2 list diatas




def cek_type1():

>>>>print "kategori "+type1[0]+" berisi:"

>>>>>>>>for i in range(len(type1[1])):

>>>>>>>>>>>>print type1[1][i]




def cek_type2():

>>>>print "kategori "+type2[0]+" berisi:"

>>>>>>>>for i in range(len(type2[1])):

>>>>>>>>>>>>print type2[1][i]




#pemanggilan
cek_type1()

cek_type2()



Jika list type banyak macamnya misalnya type1,type2,type3...type40, kita harus mencari cara yang lebih efisien. Salah satu solusinya yaitu membuat mesin untuk melakukan proses (dalam hal ini proses pengecekan). Untuk ini kita dapat menggunakan fungsi berargumen




def mesin_cek(type_barang):

>>>>print "kategori "+type_barang[0]+" berisi:"

>>>>>>>>for i in range(len(type_barang[1])):

>>>>>>>>>>>>print type_barang[1][i]



# pemanggilan

mesin_cek(type1)

mesin_cek(type2)





Fungsi mesin_cek diatas memproses data argumen yang dimasukkan. Dengan begini, kita cukup menggunakan satu fungsi diatas untuk mengecek semua data list type kita.



Jika fungsi kita banyak akan lebih mudah diorganisir jika disimpan didalam class. Jika script diatas dikelompokkan dengan class:




class pakaian:

>>>>type1=["Alas kaki", ["sepatu","sandal"]]

>>>>type2=["Tutup kepala", ["topi","peci"]]


>>>>def mesin_cek(self,type_barang):

>>>>>>>>print "kategori "+type_barang[0]+" berisi:"

>>>>>>>>>>>>for i in range(len(type_barang[1])):

>>>>>>>>>>>>>>>>print type_barang[1][i]




#pemanggilan

p=pakaian()

p.mesin_cek(p.type1)

p.mesin_cek(p.type2)






"self" digunakan untuk menandai bahwa objek tersebut berada pada class yang sama. Jika kita tidak menyertakan self maka objek yang dipanggil adalah objek global, dan jika tidak ada objek global yang dimaksud, maka pesan error muncul. Contoh:



#global variabel angka

angka=1


class percobaan:

>>>>#lokal variabel angka

>>>>angka=6

>>>>def test(self):

>>>>>>>>print angka # global

>>>>>>>>print self.angka # lokal



c=percobaan()

c.test()

# jika variabel lokal angka dipanggil dari luar class, harus menyertakan instance class nya



print c.angka

print angka



Udah ah, cape nulis hehe... Happy coding..

8 komentar:

gulam mengatakan...

save page lagi ah.. :D

Paper Sculpture mengatakan...

Ojo, ngebek2i nggon haha,

gulam mengatakan...

ada pertanyaan,
apa class bs d looping?
jika isi list adalah class, bagaimana pemanggilannya?

Paper Sculpture mengatakan...

Kalau instance class nya bisa diloop jika class nya memang didesain untuk di loop.

Jika instance class di 'list', pemanggilannya juga tergantung dari class yg di buat. Lek aku biasane tak gawe ngene iki:
namalist=[namaclass()]
namalist[0].panggilisiclass

gulam mengatakan...

Oke gan.. T coba dulu..

Anonim mengatakan...

(Jika fungsi kita banyak
akan lebih mudah
diorganisir jika disimpan
didalam class).....mohon dijelaskan lebih detail kegunaan class..

Anonim mengatakan...

(Jika fungsi kita banyak
akan lebih mudah
diorganisir jika disimpan
didalam class).....mohon dijelaskan lebih detail kegunaan class..

Paper Sculpture mengatakan...

Wah kegunaan class banyak bgt, selengkapnya disini http://docs.python.org/tutorial/classes.html