import React, { useState } from 'react'; import { Printer, FileText, BookOpen, Clock, Target, ListChecks, PenTool, User, Calendar, GraduationCap } from 'lucide-react'; export default function App() { const [formData, setFormData] = useState({ mataPelajaran: '', kelas: '', semester: 'Ganjil', materiPokok: '', alokasiWaktu: '', modelPembelajaran: 'Problem Based Learning (PBL)', tujuanPembelajaran: '', kegiatanPendahuluan: '', kegiatanInti: '', kegiatanPenutup: '', penilaian: '', namaGuru: '', tanggal: new Date().toISOString().split('T')[0], }); const modelPembelajaranOptions = [ 'Problem Based Learning (PBL)', 'Project Based Learning (PjBL)', 'Discovery Learning', 'Inquiry Learning', 'Contextual Teaching and Learning (CTL)', 'Cooperative Learning', 'Direct Instruction (Pembelajaran Langsung)', 'Flipped Classroom' ]; const handleInputChange = (e) => { const { name, value } = e.target; setFormData(prev => ({ ...prev, [name]: value })); }; const handlePrint = () => { window.print(); }; return (
{/* Header - Hidden on Print */}

RPP Generator

PKBM Pelita Hati

{/* Form Section - Hidden on Print */}

Informasi Umum

Komponen Inti

Pengesahan

{/* Preview / Print Section */}
{/* Kop RPP */}

RENCANA PELAKSANAAN PEMBELAJARAN (RPP)

PKBM PELITA HATI

{/* Identitas */}
Satuan Pendidikan : PKBM Pelita Hati
Mata Pelajaran : {formData.mataPelajaran || '-'}
Kelas/Program/Smt : {formData.kelas || '-'} / {formData.semester}
Materi Pokok : {formData.materiPokok || '-'}
Alokasi Waktu : {formData.alokasiWaktu || '-'}
Model Pembelajaran : {formData.modelPembelajaran}
{/* Isi RPP */}

A. TUJUAN PEMBELAJARAN

{formData.tujuanPembelajaran || 'Tujuan pembelajaran belum diisi.'}

B. KEGIATAN PEMBELAJARAN

1. Pendahuluan

{formData.kegiatanPendahuluan || '-'}

2. Kegiatan Inti

{formData.kegiatanInti || '-'}

3. Penutup

{formData.kegiatanPenutup || '-'}

C. PENILAIAN (ASESMEN)

{formData.penilaian || 'Asesmen belum diisi.'}
{/* Tanda Tangan */}

Mengetahui,
Kepala PKBM Pelita Hati

Dadang Adimawan, SE

.........., {new Date(formData.tanggal).toLocaleDateString('id-ID', { year: 'numeric', month: 'long', day: 'numeric' })}
Guru Mata Pelajaran

{formData.namaGuru || '( ________________________ )'}