DETEKSI TEMARAM
Advanced Dawn Analyzer

Dawn Transition Analyzer

Deteksi titik fajar presisi menggunakan regresi linear & interpolasi.

Downsampling (N per blok)
Batas Baseline (Index)
Threshold Multiplier (k*SEE)

DETEKSI TEMARAM DUA

Viewer Kode - Advanced Dawn Transition Analyzer

📜 Viewer Kode Python

Advanced Dawn Transition Analyzer


import os
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import stats  

# =================================================================
# [1] FUNGSI UTILITAS DATA & SMART AUTO-CLEANING
# =================================================================

def read_table_flexible(path: str) -> pd.DataFrame:
    """Membaca file dengan deteksi pemisah otomatis dan penanganan desimal."""
    try:
        df = pd.read_csv(path, sep=None, engine="python")
        if df.shape[1] <= 1:
            df = pd.read_csv(path, sep=';', engine="python")
        df.columns = [c.strip() for c in df.columns]
    except Exception as e:
        print(f"⚠️ Gagal membaca otomatis: {e}")
        df = pd.DataFrame()
    
    if len(df.columns) > 0 and str(df.columns[0]).startswith("Unnamed"):
        df = df.rename(columns={df.columns[0]: "Index"})
    return df

# ... (kode lengkap dapat ditempel seluruhnya di sini tanpa perubahan)

if __name__ == "__main__":
    main()
Viewer Kode - Advanced Dawn Transition Analyzer

📜 Viewer Kode Python

Advanced Dawn Transition Analyzer


import os
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import stats  

# =================================================================
# [1] FUNGSI UTILITAS DATA & SMART AUTO-CLEANING
# =================================================================

def read_table_flexible(path: str) -> pd.DataFrame:
    """Membaca file dengan deteksi pemisah otomatis dan penanganan desimal."""
    try:
        df = pd.read_csv(path, sep=None, engine="python")
        if df.shape[1] <= 1:
            df = pd.read_csv(path, sep=';', engine="python")
        df.columns = [c.strip() for c in df.columns]
    except Exception as e:
        print(f"⚠️ Gagal membaca otomatis: {e}")
        df = pd.DataFrame()
    
    if len(df.columns) > 0 and str(df.columns[0]).startswith("Unnamed"):
        df = df.rename(columns={df.columns[0]: "Index"})
    return df

# ... (kode lengkap dapat ditempel seluruhnya di sini tanpa perubahan)

if __name__ == "__main__":
    main()