Tutorial Python: Bekerja dengan Module

Tutorial Python: Bekerja dengan Module

August 30, 2014 Programming Python 0

Divide et impera

Pernah dengar istilah divide et impera? Yap… Dari pelajaran sejarah di SD kita pasti ingat bahwa divide et impera adalah istilah latin untuk sebuah taktik yang digunakan para penjajah di jaman kolonial untuk memecah-belah bangsa koloninya. Bangsa yang terpecah-belah sangat gampang diadu-domba satu sama lain sehingga dengan mudah dapat dikuasai. Nah, dalam ilmu komputer teknik ini sangat umum digunakan. Divide et impera, atau dalam bahasa Inggris divide and conquer, adalah suatu teknik pemecahan masalah dimana sebuah masalah dipecah menjadi dua atau lebih sub-masalah, hingga masalah tersebut menjadi lebih sederhana dan mudah dipecahkan.

Dalam pemrograman komputer, salah satu hal yang perlu anda hindari sebagai seorang programmer adalah menulis program yang panjang dalam satu file tunggal. Bukan saja program anda akan sulit dipahami, tapi akan sangat merepotkan terutama ketika terjadi kesalahan. Programmer yang baik harus mampu melakukan modularisasi, yakni mengelompokkan kode program yang berkaitan ke dalam modul-modul, sehingga mudah untuk dipahami serta mudah di-debug jika terjadi kesalahan. Selain itu, jika kode program termodularisasi dengan baik, beberapa bagian dari program tersebut mungkin dapat di-reuse di dalam program lain, sehingga dengan sendirinya meningkatkan efisiensi. Inilah penerapan prinsip divide and conquer (divide et imperadalam pemrograman komputer.

Mengenal Module dalam Python

Salah satu cara yang disediakan oleh bahasa Python untuk melakukan modularisasi terhadap kode program anda adalah MODULE. Apa itu module? Sebuah module pada dasarnya adalah file yang berisi fungsi, variabel atau class. Untuk menggunakan fungsi, variabel atau class tersebut dari file yang lain, kita tinggal melakukan import terhadap file module tersebut.

Bekerja dengan Module

Untuk jelasnya, mari kita lihat langsung saja mengalisa program dalam contoh berikut:

[sourcecode language=”python”] class Statistik:
def __init__(self,x):
# data
self.data = x
# jumlah data
self.jumlah_data = len(x)
# jumlah data genap atau ganjil
if (self.jumlah_data % 2)>0:
self.jumlah_data_ganjil_genap = "Ganjil"
else:
self.jumlah_data_ganjil_genap = "Genap"
# data tersortir
self.data_tersortir = sorted(self.data)
print("Data = "+str(self.data))
print("Data tersortir = "+str(self.data_tersortir))
print("Jumlah data = "+str(self.jumlah_data)+" ("+self.jumlah_data_ganjil_genap+")")
def mean(self):
j = 0
for i in self.data:
j = j+i
print("Mean = "+ str(j/self.jumlah_data))
def median(self):
if self.jumlah_data_ganjil_genap == "Ganjil":
self.nilai_median = self.data_tersortir[(self.jumlah_data//2)] print("Median = "+ str(self.nilai_median))
else:
b = self.jumlah_data//2
a = b-1
self.nilai_median = (self.data_tersortir[a]+self.data_tersortir[b])/2
print("Median = ("+ str(self.data_tersortir[a]) + "+" + str(self.data_tersortir[b]) + ")/2 = " + str(self.nilai_median))

A = [2,1,4,5,6] B = Statistik(A)
B.mean()
B.median()
[/sourcecode]

Program di atas akan memberi keluaran seperti berikut:

[sourcecode language=”python”] Data = [2, 1, 4, 5, 6] Data tersortir = [1, 2, 4, 5, 6] Jumlah data = 5 (Ganjil)
Mean = 3.6
Median = 4
[/sourcecode]

Seperti yang anda lihat, program di atas memiliki sebuah kelas bernama Statistik yang menyediakan dua buah method, yakni untuk menghitung: 1) Mean atau rata-rata data, dan 2) Median atau nilai tengah data. Buat anda yang mungkin tidak suka statistik, jangan kuatir, ini hanya untuk contoh saja.

Nah, sekarang ambil bagian class Statistik dari program di atas lalu simpan dalam file terpisah, namakan: modul_statistik.py:

File1 = modul_statistik.py

[sourcecode language=”python”] class Statistik:
def __init__(self,x):
# data
self.data = x
# jumlah data
self.jumlah_data = len(x)
# jumlah data genap atau ganjil
if (self.jumlah_data % 2)>0:
self.jumlah_data_ganjil_genap = "Ganjil"
else:
self.jumlah_data_ganjil_genap = "Genap"
# data tersortir
self.data_tersortir = sorted(self.data)
print("Data = "+str(self.data))
print("Data tersortir = "+str(self.data_tersortir))
print("Jumlah data = "+str(self.jumlah_data)+" ("+self.jumlah_data_ganjil_genap+")")
def mean(self):
j = 0
for i in self.data:
j = j+i
print("Mean = "+ str(j/self.jumlah_data))
def median(self):
if self.jumlah_data_ganjil_genap == "Ganjil":
self.nilai_median = self.data_tersortir[(self.jumlah_data//2)] print("Median = "+ str(self.nilai_median))
else:
b = self.jumlah_data//2
a = b-1
self.nilai_median = (self.data_tersortir[a]+self.data_tersortir[b])/2
print("Median = ("+ str(self.data_tersortir[a]) + "+" + str(self.data_tersortir[b]) + ")/2 = " + str(self.nilai_median))
[/sourcecode]

Selanjutnya, buatlah sebuah program baru, namakan file-nya programku.py. Gunakan module modul_statistik dari program ini dengan perintah import, lalu cobalah membuat objek berdasarkan class Statistik serta menggunakan class method-nya. Lihat program di bawah ini:

File2 = programku.py

[sourcecode language=”python”] import modul_statistik # mengimpor module
A = [2,1,4,5,6] B = modul_statistik.Statistik(A) # membuat object
B.mean() # menggunakan class method
B.median() # menggunakan class method
[/sourcecode]

Program di atas akan memberi keluaran yang sama seperti sebelumnya:

[sourcecode] Data = [2, 1, 4, 5, 6] Data tersortir = [1, 2, 4, 5, 6] Jumlah data = 5 (Ganjil)
Mean = 3.6
Median = 4
[/sourcecode]

Perhatikan bahwa sekarang class Statistik telah termodularisasi dalam module tersendiri. Selain program anda kini lebih simpel dibanding sebelumnya, class Statistik kini bisa digunakan dari program lain sesuai kebutuhan dengan cara mengimpor module modul_statistik. Sebagai contoh:

File3 = program_lain.py

[sourcecode language=”python”] import modul_statistik # mengimpor module
X = [3,1,2,5,8] Y = modul_statistik.Statistik(X) # membuat object
Y.mean() # menggunakan class method
Y.median() # menggunakan class method
[/sourcecode]

Ini keluaran program di atas:

[sourcecode] Data = [3, 1, 2, 5, 8] Data tersortir = [1, 2, 3, 5, 8] Jumlah data = 5 (Ganjil)
Mean = 3.8
Median = 3
[/sourcecode]

Demikian dulu tutorial kali ini, semoga bermanfaat. Selamat belajar.

 

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *