def evaluasi_tanggal(tanggal_list): hasil = [] nama_bulan = ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'] for tanggal in tanggal_list: tgl_lower = tanggal.lower() # Jika mengandung nama bulan (tidak ambigu) if any(bln in tgl_lower for bln in nama_bulan): hasil.append((tanggal, "YA")) continue # Ganti pemisah agar seragam parts = tanggal.replace("/", "-").split("-") try: parts_int = [int(p) for p in parts] except ValueError: hasil.append((tanggal, "TIDAK")) continue if len(parts_int) != 3: hasil.append((tanggal, "TIDAK")) continue # Identifikasi tahun (4 digit) tahun = next((x for x in parts_int if x > 999), None) if not tahun: hasil.append((tanggal, "TIDAK")) continue lainnya = [x for x in parts_int if x != tahun] if all(x <= 12 for x in lainnya): hasil.append((tanggal, "TIDAK")) else: hasil.append((tanggal, "YA")) return hasil # Contoh data tanggal_data = [ "15/02/1998", "04/05/2010", "1-3-2004", "2011-08-22", "23-mar-2000", "04/07/2010", "1965-3-4" ] # Jalankan evaluasi hasil_cek = evaluasi_tanggal(tanggal_data) # Cetak hasil for tgl, status in hasil_cek: print(f"{tgl}: {status}")