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..