Constants (konstanta) adalah nilai-nilai yang tidak berubah selama program berjalan. Meskipun Python tidak memiliki dukungan bawaan untuk mendeklarasikan konstanta, Kita dapat menggunakan penamaan konvensi tertentu untuk menunjukkannya.
Cara Mendefinisikan Constants
Gunakan huruf kapital untuk menandai konstanta. Biasanya, konstanta didefinisikan pada awal file atau dalam modul terpisah.
# Definisi konstanta
PI = 3.14159
GRAVITY = 9.8
SPEED_OF_LIGHT = 299792458
print("Nilai PI:", PI)
print("Gravitasi:", GRAVITY, "m/s^2")
print("Kecepatan Cahaya:", SPEED_OF_LIGHT, "m/s")
Catatan:
Python tidak akan memberikan error jika konstanta diubah secara tidak sengaja, jadi pastikan untuk tidak mengubahnya dalam kode.
Enum di Python
Enum (Enumerasi) adalah cara untuk mendefinisikan sekumpulan konstanta yang terkait. Python menyediakan modul bawaan enum
untuk mendukung pembuatan enumerasi.
Cara Membuat Enum
Gunakan kelas Enum
dari modul enum
untuk membuat enumerasi:
from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
Akses Anggota Enum
print(Color.RED) # Output: Color.RED
print(Color.RED.name) # Output: RED
print(Color.RED.value) # Output: 1
Membandingkan Anggota Enum
Dua anggota Enum dapat dibandingkan menggunakan operator identitas (is
) atau kesetaraan (==
):
if Color.RED == Color.GREEN:
print("Sama")
else:
print("Berbeda")
# Output: Berbeda
Enum dengan Nilai String
Kita juga dapat membuat Enum dengan nilai string:
class Status(Enum):
NEW = "New"
IN_PROGRESS = "In Progress"
COMPLETED = "Completed"
print(Status.NEW.value) # Output: New
Enum dengan Anggota Duplikat
Gunakan dekorator @enum.unique
untuk mencegah adanya anggota duplikat:
from enum import Enum, unique
@unique
class Status(Enum):
NEW = "New"
IN_PROGRESS = "In Progress"
COMPLETED = "Completed"
Jika terdapat nilai duplikat, Python akan memberikan error.
Enum Otomatis Menggunakan auto()
Kita dapat menggunakan fungsi auto()
untuk menetapkan nilai secara otomatis:
from enum import Enum, auto
class Animal(Enum):
DOG = auto()
CAT = auto()
BIRD = auto()
print(Animal.DOG.value) # Output: 1
print(Animal.CAT.value) # Output: 2
print(Animal.BIRD.value) # Output: 3
Studi Kasus: Status Transaksi
Misalnya, Kita memiliki berbagai status transaksi dalam sistem:
from enum import Enum
class TransactionStatus(Enum):
PENDING = 1
COMPLETED = 2
FAILED = 3
REFUNDED = 4
def check_status(status):
if status == TransactionStatus.COMPLETED:
print("Transaksi selesai.")
elif status == TransactionStatus.PENDING:
print("Transaksi masih dalam proses.")
elif status == TransactionStatus.FAILED:
print("Transaksi gagal.")
elif status == TransactionStatus.REFUNDED:
print("Transaksi telah dikembalikan.")
# Contoh penggunaan
check_status(TransactionStatus.PENDING)
Kesimpulan
- Constants digunakan untuk nilai yang tidak berubah dalam program.
- Gunakan modul
enum
untuk mendefinisikan sekumpulan nilai konstanta yang terkait. - Enum membantu membuat kode lebih terorganisir, mudah dibaca, dan minim error.
Untuk informasi lebih lanjut, kunjungi dokumentasi resmi Python:
Kode sumber bisa di download di github pada link berikutĀ python-days