-

PONDOK TAHFIDZ

MILLENIAL ASHQAF & MARYAM COLLEGE


"Generasi Yang Bukan Sekedar Menghafal

Tetapi Hidup Bersama Al-Qur'an"

Mau Hafal Qur’an & Mengembangkan Bakat? Ini Tempatnya!


Pondok Tahfidz Millenial Ashqaf & Maryam College adalah Solusi Tepat Mengembangkan Bakat dan Melahirkan Generasi Qur'an





Pondok Millenia Ashqaf & Maryam College bukan sekadar tempat menghafal Al-Qur’an, tetapi rumah bagi generasi yang belajar hidup bersama Al-Qur’an. Di sini, para santri dididik untuk menjadikan Al-Qur’an sebagai pedoman hidup sekaligus mengembangkan potensi mereka menjadi pribadi yang unggul dan bermanfaat. Dengan konsep “Hafidz Bertalenta”, kami mengintegrasikan program tahfidz intensif dengan keterampilan modern seperti teknologi, literasi digital, dan kewirausahaan syariah.

Santri tidak hanya menjadi penghafal Al-Qur’an, tetapi juga generasi yang siap bersaing di era global dengan tetap berpegang teguh pada nilai-nilai Islam.

Fasilitas lengkap, pengajar profesional, dan lingkungan islami mendukung santri untuk berkembang secara maksimal, baik secara spiritual, intelektual, maupun kreatif. Kami percaya bahwa setiap santri memiliki bakat istimewa yang bisa diasah menjadi talenta luar biasa dengan bimbingan yang tepat.

- Daftarkan putra-putri Anda sekarang di Pondok Millenia Ashqaf & Maryam College!

Tempat terbatas untuk angkatan baru – jangan lewatkan kesempatan ini! Bersama kami, wujudkan impian menjadi Hafidz Bertalenta yang hidup dalam naungan Al-Qur’an.

26

Pondok Cabang

1000+

Santri

500+

Alumni

Mengapa Mondok Di Millenial Ashqaf & Maryam College?

-
Pondok Recomemnded

Terbukti dengan lulusan kami yang selesai 30 Juz dengan waktu yang singkat dan sudah punya soft skill untuk bekerja
-
Ekstrakurikuler Istimewa

Terdapat 28 Divisi yang bisa dipilih sesuai bakat dan minat untuk beramal soleh sekaligus meningkatkan skill.
-
Program Unggulan

Menumbuh kembangkan softskill maupun kompetensi melalui Mengajar, Leadership, Digital marketing dan masih banyak lagi
-
Tenaga Pengajar Profesional

Ustadz-ustadzah bersanad
-
Kajian dan Tahfidz

Setiap hari kajian Ba’da subuh dan Halaqah tahfidz
-
Full Praktek

Full praktek agar siap terjun di lapangan

Dokumentasi Karya Santri

Kegiatan di Pondok Ashqaf & Maryam College

Tahfidz

-
-
-
-
-

Eksplore

-
-
-
-
-
-

Multimedia

-
-
-
-

Wisuda Tahfidz

-
-
-
-

Wisuda Sarjana

-
-
-
-
-
-
-

Olahraga

-
-
-
-

Digital Marketing

-

Outbond Qur'an

-
-
-
-
-
-
-

Berapa Biayanya?

8,6jt

Biaya Masuk
1. Biaya Administrasi Pendaftaran Rp100.000

2. Perlengkapan Tidur & Lemari : Rp1.000.000

3. Tes Bakat : Rp1.000.000

4. Buku Pembelajaran : Rp500.000

5. Deposit Khidmat : Rp5.000.000

6. Outbond Qur'an : Rp1.000.000


Total Rp8.600.000

GRATIS

Biaya Perbulan
1. Makan 3x sehari

2. Fasilitas Kesehatan Santri

3. Fasilitas Asrama Santri
















-
Waktu Pendaftaran
Alur Pendaftaran dan Seleksi
Pengumuman Hasil Tes
Daftar Ulang
-

Syarat & Ketentuan


1. Ikhwan / Akhwat 16-40 tahun
2. Kemauan sendiri, tanpa paksaan dari pihak manapun
3. Memenuhi syarat administrasi secara lengkap
4. Bisa membaca Al-Quran
5. Tidak terikat dengan Instansi/Lembaga manapun
-

Persyaratan Administrasi


1. Pas Photo 3×4 latar biru ( 4 lembar )
2. Akte Kelahiran
3. Fotocopy KTP ortu calon santri
4. Fotocopy KTP calon santri ( jika sudah memiliki )
5. Ijazah terakhir

(Semua berkas diserahkan saat daftar ulang)

Daftar Sekarang!

Tunggu apa lagi? ayo segera bergabung bersama kami

Sekilas Tentang Pondok Ashqaf & Maryam College

-
PONDOK TAHFIDZ MILLENIAL ASHQAF DAN MARYAM COLLEGE ialah Pondok Tahfidz dengan metode hafalan unik. Tidak hanya menghafal ayat tekstualnya saja tapi juga disertai nomor surah, halaman, tata letak, Nahwu Shorof, tarjamah bahkan hingga tingkat pemahaman dan pengamalan. Memiliki tujuan untuk mencetak generasi yang berakhlakul Qur’an, berjiwa pemimpin, berwawasan luas, cerdas serta berbakat. Pondok Tahfidz Millenial Ashqaf dan Maryam College memiliki visi untuk menggaungkan Al-Quran di seluruh penjuru negeri, dengan moto “Bukan Hanya Sekedar Menghafal Al-Quran Tetapi Hidup Bersama Al-Quran”. Semua program dikelola oleh para santri, dengan menjadikan Al-Quran sebagai landasan dalam pedoman kehidupan. Menghasilkan pondok karya dengan sejuta prestasi yang luar biasa. Cerdas, berbakat dan multitalenta.

Adapun kurikulum yang digunakan ialah: U5TADZ (Untuk 5T, Tahsin, Tahfidz, Takrir, Tarjamah, Tadabbur, Adab dan Akhlak, Da'i, Zuhud). Sebuah kurikulum yang dibangun dengan landasan Al-Quran sebagai pedoman kehidupan. Dengan menghafal Al-Quran melalui cara dan metode unik lagi menyenangkan yang tidak hanya diperuntukkan bagi remaja saja, tetapi bagi semua umur dan kalangan, mulai dari balita hingga dewasa.

Pondok Tahfidz Ashqaf dan Maryam College tak hanya memiliki kurikulum pembelajaran yang unik, namun juga menggolongkan para santri dan santriwatinya dengan cara yang tak biasa dilakukan oleh pondok-pondok lainnya. Para santri dan santriwati Pondok Tahfidz Milenial Ashqaf dan Mayam College tak hanya sekedar belajar dan menghafal Al-Quran saja, namun juga dididik untuk menumbuhkembangkan minat dan bakat sesuai dengan bidang yang digelutinya. Dari Pondok Tahfidz Millenial Ashqaf dan Maryam College ini melahirkan generasi dengan segudang prestasi sesuai dengan bakat dan minat.

Profil Pengasuh Pondok Ashqaf & Maryam College

-

KH. Luthfan Khibar A'lam S.H,M.Pd

(Pengasuh Pondok Tahfidz Millenial Ashqaf dan Maryam College)




Ustadzah Fitri Annisa

(Pengasuh Pondok Tahfidz Millenial Ashqaf dan Maryam College)




Abi H. Kardi Yudha

(Pewakif & Dewan Pembina)




Umi Hj. Indasyah, S.Ag,M.pd

(Pewakif & Dewan Pembina)




Ustadz Ayman Ramadhan Al-Hafidz

(Dewan Pengasuh)




Ummi Waliyyah

(Dewan Pengasuh)

Sosial Media Pondok Millenial Ashqaf & Maryam College

Millenial Ashqaf

-

Maryam College

-

Testimoni Wali Santri

-
-
-
-

Yuk Menghafal Al-Qur'an di Pondok Millenial Ashqaf & Maryam College Sekarang Dan Jadilah Generasi Yang Menyayangi Al-Qur'an!

-
import React, { useState, useEffect, useMemo } from 'react'; import { initializeApp } from 'firebase/app'; import { getAuth, signInWithCustomToken, signInAnonymously, onAuthStateChanged } from 'firebase/auth'; import { getFirestore, collection, query, onSnapshot, doc, addDoc, updateDoc, deleteDoc } from 'firebase/firestore'; import { Moon, Sun, BookOpen, HeartPulse, Zap, Plus, Home, BarChart2, CheckCircle2, Circle, Trash2, CalendarDays, ChevronLeft, ChevronRight } from 'lucide-react'; // --- FIREBASE INITIALIZATION --- // Initialize Firebase outside the component to prevent re-initialization const firebaseConfig = typeof __firebase_config !== 'undefined' ? JSON.parse(__firebase_config) : {}; const app = initializeApp(firebaseConfig); const auth = getAuth(app); const db = getFirestore(app); const appId = typeof __app_id !== 'undefined' ? __app_id : 'default-app-id'; // --- KATEGORI HABIT --- const CATEGORIES = { Ibadah: { icon: Moon, color: 'text-[#109ef0]', bg: 'bg-[#9fedfb]/30', border: 'border-[#109ef0]' }, Ilmu: { icon: BookOpen, color: 'text-[#03d6fa]', bg: 'bg-[#9fedfb]/20', border: 'border-[#03d6fa]' }, Kesehatan: { icon: HeartPulse, color: 'text-[#109ef0]', bg: 'bg-[#109ef0]/10', border: 'border-[#109ef0]' }, Produktivitas: { icon: Zap, color: 'text-[#03d6fa]', bg: 'bg-[#03d6fa]/10', border: 'border-[#03d6fa]' }, }; // --- DATA HABIT BAWAAN (DEFAULT) --- const DEFAULT_HABITS = [ { name: '🧎 Shalat Tahajud', category: 'Ibadah', order: 1 }, { name: '📿 Dzikir Pagi', category: 'Ibadah', order: 2 }, { name: '📖 Tilawah Quran', category: 'Ibadah', order: 3 }, { name: '📿 Dzikir Petang', category: 'Ibadah', order: 4 }, { name: '💡 Hafalan Quran', category: 'Ilmu', order: 5 }, { name: '📚 Membaca Buku', category: 'Ilmu', order: 6 }, { name: '🤲 Sedekah', category: 'Produktivitas', order: 7 }, { name: '🏋️ Olahraga', category: 'Kesehatan', order: 8 } ]; export default function IslamicHabitTracker() { // --- STATE --- const [user, setUser] = useState(null); const [habits, setHabits] = useState([]); const [loading, setLoading] = useState(true); const [activeTab, setActiveTab] = useState('dashboard'); // 'dashboard', 'add', 'stats' const [selectedDate, setSelectedDate] = useState(new Date()); const [statsDate, setStatsDate] = useState(new Date()); const [isDarkMode, setIsDarkMode] = useState(() => { const saved = localStorage.getItem('habbitqu_theme'); return saved === 'dark'; }); useEffect(() => { localStorage.setItem('habbitqu_theme', isDarkMode ? 'dark' : 'light'); }, [isDarkMode]); // Form State const [newHabitName, setNewHabitName] = useState(''); const [newHabitCategory, setNewHabitCategory] = useState('Ibadah'); // --- 1. FIREBASE AUTHENTICATION --- useEffect(() => { const initAuth = async () => { try { if (typeof __initial_auth_token !== 'undefined' && __initial_auth_token) { await signInWithCustomToken(auth, __initial_auth_token); } else { await signInAnonymously(auth); } } catch (error) { console.error("Auth error:", error); } }; initAuth(); const unsubscribe = onAuthStateChanged(auth, (currentUser) => { setUser(currentUser); if (!currentUser) setLoading(false); }); return () => unsubscribe(); }, []); // --- 2. FIREBASE DATA FETCHING --- useEffect(() => { if (!user) return; // RULE 1: Strict path for private user data const habitsRef = collection(db, 'artifacts', appId, 'users', user.uid, 'habits'); // RULE 2: No complex queries. Fetch all, sort in memory. const q = query(habitsRef); const unsubscribe = onSnapshot(q, async (snapshot) => { // --- AUTO-POPULATE HABIT DEFAULT --- if (snapshot.empty) { const hasSeeded = localStorage.getItem(`seeded_habbitqu_${user.uid}`); if (!hasSeeded) { localStorage.setItem(`seeded_habbitqu_${user.uid}`, 'true'); try { for (const habit of DEFAULT_HABITS) { await addDoc(habitsRef, { name: habit.name, category: habit.category, order: habit.order, completedDates: [], createdAt: Date.now() }); } } catch (error) { console.error("Gagal menambahkan habit default:", error); } return; } } const fetchedHabits = snapshot.docs.map(doc => ({ id: doc.id, ...doc.data() })); fetchedHabits.sort((a, b) => { if (a.order && b.order) return a.order - b.order; if (a.order) return -1; if (b.order) return 1; return b.createdAt - a.createdAt; }); setHabits(fetchedHabits); setLoading(false); }, (error) => { console.error("Firestore error:", error); setLoading(false); }); return () => unsubscribe(); }, [user]); // --- HELPER FUNCTIONS --- const getFormattedDate = (date) => { const year = date.getFullYear(); const month = String(date.getMonth() + 1).padStart(2, '0'); const day = String(date.getDate()).padStart(2, '0'); return `${year}-${month}-${day}`; }; const selectedDateStr = getFormattedDate(selectedDate); const calendarDays = useMemo(() => { const days = []; for (let i = -3; i <= 3; i++) { const d = new Date(selectedDate); d.setDate(d.getDate() + i); days.push(d); } return days; }, [selectedDate]); // --- CRUD OPERATIONS --- const handleAddHabit = async (e) => { e.preventDefault(); if (!user || !newHabitName.trim()) return; try { const habitsRef = collection(db, 'artifacts', appId, 'users', user.uid, 'habits'); await addDoc(habitsRef, { name: newHabitName.trim(), category: newHabitCategory, completedDates: [], createdAt: Date.now() }); setNewHabitName(''); setActiveTab('dashboard'); } catch (error) { console.error("Error adding habit:", error); } }; const toggleHabitCompletion = async (habit) => { if (!user) return; const habitRef = doc(db, 'artifacts', appId, 'users', user.uid, 'habits', habit.id); const isCompleted = habit.completedDates?.includes(selectedDateStr); let updatedDates = [...(habit.completedDates || [])]; if (isCompleted) { updatedDates = updatedDates.filter(d => d !== selectedDateStr); } else { updatedDates.push(selectedDateStr); } try { await updateDoc(habitRef, { completedDates: updatedDates }); } catch (error) { console.error("Error updating habit:", error); } }; const deleteHabit = async (habitId) => { if (!user) return; try { const habitRef = doc(db, 'artifacts', appId, 'users', user.uid, 'habits', habitId); await deleteDoc(habitRef); } catch (error) { console.error("Error deleting habit:", error); } }; // --- RENDER COMPONENTS --- const renderDashboard = () => (
{/* Calendar Strip */}

{selectedDate.toLocaleDateString('id-ID', { month: 'long', year: 'numeric' })}

{calendarDays.map((date, i) => { const isSelected = getFormattedDate(date) === selectedDateStr; const isToday = getFormattedDate(date) === getFormattedDate(new Date()); return ( ); })}
{/* Habit List */}
{habits.length === 0 ? (

Belum ada Habit

Mulai bangun rutinitas positif Anda hari ini.

) : ( habits.map(habit => { const isCompleted = habit.completedDates?.includes(selectedDateStr); const cat = CATEGORIES[habit.category] || CATEGORIES['Ibadah']; const Icon = cat.icon; return (

{habit.name}

{habit.category}

); }) )}
); const renderAddHabit = () => (

Tambah Habit

setNewHabitName(e.target.value)} placeholder="Contoh: Tilawah 1 Juz..." className="w-full px-5 py-4 rounded-2xl border border-gray-200 dark:border-gray-700 focus:outline-none focus:ring-2 focus:ring-[#109ef0] focus:border-transparent bg-white dark:bg-gray-800 shadow-sm font-medium text-gray-800 dark:text-gray-100 placeholder-gray-400 dark:placeholder-gray-500 transition-colors" required />
{Object.entries(CATEGORIES).map(([catName, catData]) => { const Icon = catData.icon; const isSelected = newHabitCategory === catName; return ( ); })}
); const renderStats = () => { const targetMonth = String(statsDate.getMonth() + 1).padStart(2, '0'); const targetYear = statsDate.getFullYear(); const daysInMonth = new Date(targetYear, statsDate.getMonth() + 1, 0).getDate(); let totalPossible = habits.length * daysInMonth; let totalCompleted = 0; const habitStats = habits.map(habit => { const completedThisMonth = (habit.completedDates || []).filter(d => d.startsWith(`${targetYear}-${targetMonth}`)).length; totalCompleted += completedThisMonth; return { ...habit, completedThisMonth, percentage: Math.round((completedThisMonth / daysInMonth) * 100) }; }); const globalAverage = totalPossible > 0 ? Math.round((totalCompleted / totalPossible) * 100) : 0; return (

Pencapaian

{/* Month Navigator */}

{statsDate.toLocaleDateString('id-ID', { month: 'long', year: 'numeric' })}

{statsDate.getMonth() === new Date().getMonth() && statsDate.getFullYear() === new Date().getFullYear() ? 'Bulan Ini' : statsDate.getMonth() === new Date().getMonth() + 1 && statsDate.getFullYear() === new Date().getFullYear() ? 'Bulan Depan' : statsDate.getMonth() === new Date().getMonth() - 1 && statsDate.getFullYear() === new Date().getFullYear() ? 'Bulan Lalu' : 'Periode'}

{/* Global Summary Card */}

Rata-rata Pencapaian

{globalAverage}% dari {habits.length} kebiasaan

Detail per Habit

{habitStats.length === 0 ? (

Belum ada data untuk dianalisis.

) : ( habitStats.map(habit => { return (

{habit.name}

{habit.completedThisMonth} dari {daysInMonth} hari {habit.percentage}%
{/* Progress Bar */}
); }) )}
); }; if (loading) { return (
Memuat Data...
); } return (
{/* Mobile App Container */}
{/* App Header */}

HabbitQu

Assalamu'alaikum

{/* Main Content Area */} {activeTab === 'dashboard' && renderDashboard()} {activeTab === 'add' && renderAddHabit()} {activeTab === 'stats' && renderStats()} {/* Bottom Navigation */}
); }