# fasebulan.py
from skyfield.api import load
from skyfield import almanac
def hitung_fase_bulan():
eph = load('de421.bsp')
ts = load.timescale()
waktu_sekarang = ts.now()
# Menggunakan fungsi fraction_illuminated bawaan almanac skyfield
fase_persen = almanac.fraction_illuminated(eph, 'moon', waktu_sekarang) * 100
print("=== FASE BULAN ===")
print(f"Waktu UTC : {waktu_sekarang.utc_datetime().strftime('%Y-%m-%d %H:%M:%S')}")
print(f"Iluminasi : {fase_persen:.2f}%")
if fase_persen < 1.0:
print("Status : Konjungsi / Bulan Baru (New Moon)")
elif fase_persen > 99.0:
print("Status : Oposisi / Bulan Purnama (Full Moon)")
if __name__ == "__main__":
hitung_fase_bulan()