baxohostAvatar border
TS
baxohost
Bagaimana Cara Membuat Modul di Python 3
Modul Python adalah file-file .py yang terdiri dari kode Python. Kode Python manapun bisa dianggap sebagai modul.

Beberapa modul dapat ditemukan di Python Standard Library dan sudah terinstal bersamaan dengan instalasi Python. Modul lainnya dapat diinstal melalui Python’s package manager pip. Selain itu, kamu dapat membuat modul Pythonmu sendiri yang terdiri dari file Python .py

Tutorial ini akan memandu kamu melalui menulis modul Python untuk digunakan dalam file pemrograman lain.

emoticon-Shakehand2emoticon-2 Jempol


1. Membuat dan Memasukkan Modul

Cara membuat modul sama saja seperti membuat file Python lainnya. Modul bisa aja diisi dengan pengertian dari fungsi, tingkatan dan variabel yang dapat digunakan di program Python lainnya.

Dari program Python 3 local programming environment atau server-based programming environment, kita mulai dulu dengan membuat file hello.py gan.

Pertama-tama, kita buat dulu fungsi pake tulisan Hello, World!:

Code:
# Define a function
def world():
print("Hello, World!")


Jika kita mencoba menjalankan program dengan perintah phyton hello.py maka nggak akan terjadi apa-apa, karena kita belum kasih perintah programnya untuk melakukan apa-apa.

Nah, sekarang ayuk buat file yang kedua di direktori yang sama pakai nama main_program.py jadi kita bisa masukkin modul yang udah kita buat dan mengaktifkan fungsinya. File ini harus di dalam direktori yang sama ya gan, kalau nggak nanti Python nggak bisa nemuin filenya.

Code:
# Import hello module
import hello

# Call function
hello.world()


Dikarenakan kita akan memasukkan modul, maka kita harus menamai fungsi itu dengan dot notation.

Kita bisa memasukkan modul sebagai from hello import world dan menamakan mengaktifkan fungsinya sebagai world().

Sekarang, kita bisa menjalankan programnya dengan :

Code:
$ python main_program.py


Waktu kita menjalankan programnya, kita akan mendapat hasil :

Code:
Output
Hello, World!


Nah, kalau agan pingin liat gimana caranya kita bisa pakai variabel di dalam modul, monggo ditambahkan variable definition ke dalam file hello.py kita :

Code:
# Define a function
def world():
print("Hello, World!")

# Define a variable
shark = "Sammy"


Berikutnya, kita akan memanggil varibel pada fungsi print() di dalam file main_program.py :

Code:
# Import hello module
import hello

# Call function
hello.world()

# Print variable
print(hello.shark)


Pas kita menjalankan programnya lagi yang bakal tampil gini nih

Code:
Output
Hello, World!
Sammy


Akhirnya gan! sekarang kita akan menentukan class di file hello.py. Kita bakal bikin class Octopus dengan nama dan atribut warna dan fungsi yang akan muncul ketika nama atribut dipanggil.

Code:
# Define a function
def world():
print("Hello, World!")

# Define a variable
shark = "Sammy"


# Define a class
class Octopus:
def __init__(self, name, color):
self.color = color
self.name = name

def tell_me_about_the_octopus(self):
print("This octopus is " + self.color + ".")
print(self.name + " is the octopus's name.")


Kemudian kita akan menambahkan class ke akhir file main_program.py kita :

Code:
# Import hello module
import hello

# Call function
hello.world()

# Print variable
print(hello.shark)

# Call class
jesse = hello.Octopus("Jesse", "orange")
jesse.tell_me_about_the_octopus()


Ketika kita memanggil Octopus class dengan hello.Octopus(), kita bisa nih mengakses fungsi dan atribut dari class itu di dalam namespace file main_program.py.

Dan dengan ini dapat kita dapat menulis jesse.tell_me_about_the_octopus() pada baris terakhir tanpa menggunakan hello. Kita juga bisa melakukan seperti contoh memanggil salah satu dari atribut kelas seperti jesse.color tanpa mereferensikan nama dari modul hello.

Dan saat kita menjalankan programnya, kita bakal dapat hasil:

Code:
Output
Hello, World!
Sammy
This octopus is orange.
Jesse is the octopus's name.


Penting juga untuk diingat kalau module sering kali merupakan penjelasan dan kode bisa juga dapat diimplementasikan ke dalam modul. Untuk melihat gimana sih kerjanya, ayuk kita tulis lagi hello.py jadi fungsi world() akan terimplementasikan :

Code:
# Define a function
def world():
print("Hello, World!")

# Call function within module
world()


Kita juga sudah menghapus definisi-definisinya lain di dalam file.

Sekarang, di dalam main_program.py kita, kita akan menghapus semua baris kecuali penyataan dibawah ini:

Code:
# Import hello module
import hello


Nah, kalau kita menjalankan main_program.py lagi, kita bakal dapat hasilnya :

Code:
Output
Hello, World!


Ini karena modul hello sudah diimplementasikan fungsi world() yang kemudian dialihkan ke main_program.py dan akan dijalankan pada main_program.py

Sebuah modul adalah file program Python terdiri dari definisi atau kode yang dapat Anda memanfaatkan dalam file program Python lainnya.


2.Mengakses Modul dari direktori lain

Modul itu bisa dipakai untuk lebih dari cuma satu proyek pemrograman saja, jadi sayang banget gan kalau dibiarin di dalam satu direktori aja yang terhubung dengan proyek tertentu saja.

Kalau agan-agan pingin menggunakan modul Pyhton di lokasi yang berbeda dari program utama agan, ada nih beberapa pilihan.


[*]Appending Paths


Salah satunya adalah dengan mengaktifkan path melalui file programming yang menggunakan modul tersebut. Tapi, ini cuma bisa bersifat sementara, yang dipake pas proses pengembangan, karena modulnya nggak bisa dijalakankan untuk sitem yang luas.

Untuk menambah path modul ke dalam file programming lain, agan-agan akan memasukkan modul sys bersamaan dengan modul lainnya yang ingin agan gunakan.

Modul sys merupakan bagian dari Python Standard Library dan menyediakan parameter system-specific dan fungsi yang bisa digunakan untuk mengatur path dari modul yang ingin digunakan.

Contohnya nih, kita pindahin file hello.py dan sekarang lagi di path /usr/sammy/ padahal file main_program.py masih di direktori lain.

Di file kita main_program.py, kita masih bisa masukkin modul hello dengan memasukkan modul sys dan menambahkan /usr/sammy/ ke dalam path yang menjadi sumber data Python.

Code:
import sys
sys.path.append('/usr/sammy/')

import hello
...


Selama agan mengatur path ke hello.py benar, maka agan bisa menjalankan program main_program.py tanpa masalah.

[*]Menambahkan Modul ke Path Python

Pilihan kedua adalah dengan menambahkan modul ke dalam path yang menjadi sumber modul dan package untuk Pyhton. Solusi ini lebih baik digunakan, karena bisa dipakai untuk seterusnya, nggak pas development aja. Membuat modul tersedia untuk environment-wide atau sistem yang luas, dan membuat solusi ini lebih mudah dipindahkan.

Bagaimana sih cara mengetahui path yang menjadi sumber data Python? gunakan Python interpreter di program yang agan pakai.

Code:
$ python


Selanjutnya, masukkan modul sys :

Code:
>>> import sys


Kemudian dapatkan hasil output dari sistem Python :

Code:
>>> print(sys.path)


Nah, agan akan mendapatkan hasil yang sama dengan setidaknya satu dari system path. Misal agan menggunakan programming environment, bisa aj yang muncul lebih dari satu. Agan bakal harus mencari yang ada di dalam environment yang agan pakai, tapi bisa juga agan menambahkan modul ke dalam sistem utama Python path. Yang agan cari wujudnya seperti ini nih:

Code:
Output
'/usr/sammy/my_env/lib/python3.5/site-packages'


Sekarang agan bisa masukkin file hello.py ke dalam direktori itu. Dan saat sudah selesai, kamu bisa memasukkan modul hello seperti biasanya :

Code:
import hello
...


Saat dijalankan, harusnya akan berjalan dengan normal.

Mengubah path modul agan bakal bikin agan bisa mengakses model itu, nggak peduli dari direktori manapun. Ini sangat berguna gan, apalagi kalau punya proyek lebih dari satu dan perlu modul yang sama.



Kesimpulan

Membuat modul Python sama seperti membuat file Pyhton .py lainnya. Tutorial ini menjelaskan bagaimana sih caranya membuat definisi dalam sebuah modul, menggunakan definisi tersebut dengan Pemprograman Python file lain, dan tempat menyimpan modul agar dapat diakses.

sekian tutorial, semoga berguna ya gan, jangan lupa cendolnya,
emoticon-Toastemoticon-Shakehand2 emoticon-Kaskus Radio
nona212Avatar border
nona212 memberi reputasi
1
10K
7
GuestAvatar border
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Mari bergabung, dapatkan informasi dan teman baru!
Programmer Forum
Programmer ForumKASKUS Official
20.2KThread4.2KAnggota
Terlama
GuestAvatar border
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Ikuti KASKUS di
© 2023 KASKUS, PT Darta Media Indonesia. All rights reserved.