elongasi.py

Download
# elongasi.py
from skyfield.api import load

def hitung_elongasi():
    eph = load('de421.bsp')
    bumi = eph['earth']
    bulan = eph['moon']
    matahari = eph['sun']

    ts = load.timescale()
    waktu_sekarang = ts.now()

    # Perhitungan dari pusat Bumi (Geocentric Pure)
    posisi_bulan = bumi.at(waktu_sekarang).observe(bulan)
    posisi_matahari = bumi.at(waktu_sekarang).observe(matahari)

    # Menghitung jarak sudut (separasi)
    elongasi = posisi_bulan.separation_from(posisi_matahari)

    print("=== ELONGASI BULAN - MATAHARI ===")
    print(f"Waktu UTC : {waktu_sekarang.utc_datetime().strftime('%Y-%m-%d %H:%M:%S')}")
    print(f"Elongasi  : {elongasi.degrees:.4f}°")

if __name__ == "__main__":
    hitung_elongasi()