Konsep Package dan Module di Python

Catatan ini adalah pendukung untuk plan catatan saya nanti dalam membahas bagaimana men-deploy package yang kita buat ke repositori PyPI. Jadi isinya hanya menjelaskan konseptualisasi Package dan module saja tidak lebih tidak kurang. Ini merupakan materi terpenting di dalam silabus Python. Kenapa ? setiap kita ngoding sudah pasti kita sering berhubungan dengan package dan module. Catatan ini juga mengasumsikan kita telah memahami dasar-dasar fungsi dan class di Python.

Konseptualisasi

Bagaimana gambaran package dan module ? Package merupakan sekumpulan file-file module sedangkan module adalah file-file yang berisi sekumpulan fungsi, class dan kode-kode Python lain. So berikut ini gambaran abstraksinya:

Terapan

Bagaimana menerapkan konseptual diatas. Pertama kita rencanakan kita ingin membuat apa ? Misalnya kita ingin membuat package dimana package yang kita buat ini menyediakan fungsionalitas informasi smartphone berdasarkan merk-nya. Kita tangkap kata merk dimana merk pastinya tidak hanya satu. banyak sekali merk-merk smartphone di luar sana. Kita akan membuat module-nya berdasarkan merk dimana module ini sepertinya memang berfungsi mengelompokan masing-masing fungsionalitas yang kita buat. Lebih mendekati kepada pengkategorian deh.

Dari konsep yang sudah kita gambar di atas, sekarang real-nya buatlah struktur file dan direktori seperti ini:

smartphone/
	__init__.py
	apple.py
	samsung.py

Lah kok ada __init__.py ? file ini digunakan agar smartphone dianggap sebagai package oleh Python. Dari struktur di atas, smartphone adalah package-nya sedangkan apple.py dan samsung.py merupakan module-nya. Lalu dimana fungsi apple_sp dan samsung_sp ? Sekarang waktunya kita buat.

Buka file apple.py dan tambahkan fungsi berikut ini:

def apple_sp():
	return "Ini adalah smartphone apple"

Buka file samsung.py dan tambahkan fungsi berikut ini:

def samsung_sp():
	return "Ini adalah smartphone samsung"

Bagaimana menggunakan package ini ? Sekarang pastikan kita sudah berada di luar dari direktori package kita (smartphone). Pada command line kita bisa mengimport dan menggunakan package kita seperti ini:

>>> from smartphone.apple import apple_sp
>>> from smartphone.samsung import samsung_sp
>>>
>>> print(apple_sp())
Ini adalah smartphone apple
>>> print(samsung_sp())
Ini adalah smartphone samsung

Gampang bukan ? seru bukan ? pastinya..

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s