<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Coding &#8211; Taryadi</title>
	<atom:link href="https://taryadi.my.id/category/coding/feed/" rel="self" type="application/rss+xml" />
	<link>https://taryadi.my.id</link>
	<description>Solusi Digital</description>
	<lastBuildDate>Thu, 22 Jan 2026 16:02:28 +0000</lastBuildDate>
	<language>id</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://taryadi.my.id/wp-content/uploads/2026/01/cropped-ICON-TARYADI-32x32.png</url>
	<title>Coding &#8211; Taryadi</title>
	<link>https://taryadi.my.id</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Membangun Sistem Absensi Siswa</title>
		<link>https://taryadi.my.id/membangun-sistem-absensi-siswa/</link>
					<comments>https://taryadi.my.id/membangun-sistem-absensi-siswa/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 22 Jan 2026 16:02:28 +0000</pubDate>
				<category><![CDATA[Coding]]></category>
		<guid isPermaLink="false">https://taryadi.my.id/?p=38</guid>

					<description><![CDATA[Membangun sistem absensi dan penanganan siswa di WordPress adalah langkah cerdas untuk digitalisasi sekolah. Menggunakan Child Theme GeneratePress adalah pilihan tepat karena temanya ringan, stabil, dan sangat ramah bagi pengembang. Berikut adalah panduan teknis dasar untuk membangun sistem tersebut menggunakan pendekatan koding (custom code). Membangun Sistem Absensi Siswa di WordPress Dengan menggunakan Child Theme, perubahan ... <a title="Membangun Sistem Absensi Siswa" class="read-more" href="https://taryadi.my.id/membangun-sistem-absensi-siswa/" aria-label="Baca selengkapnya tentang Membangun Sistem Absensi Siswa">Baca Selengkapnya</a>]]></description>
										<content:encoded><![CDATA[
<p>Membangun sistem absensi dan penanganan siswa di WordPress adalah langkah cerdas untuk digitalisasi sekolah. Menggunakan <strong>Child Theme GeneratePress</strong> adalah pilihan tepat karena temanya ringan, stabil, dan sangat ramah bagi pengembang.</p>



<p>Berikut adalah panduan teknis dasar untuk membangun sistem tersebut menggunakan pendekatan koding (<em>custom code</em>).</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Membangun Sistem Absensi Siswa di WordPress</h3>



<p>Dengan menggunakan Child Theme, perubahan kode yang kita lakukan tidak akan hilang saat tema utama diperbarui.</p>



<h3 class="wp-block-heading">1. Persiapan Child Theme</h3>



<p>Pastikan Anda sudah mengaktifkan Child Theme GeneratePress. Struktur folder Anda minimal akan memiliki file <code>style.css</code> dan <code>functions.php</code>.</p>



<h3 class="wp-block-heading">2. Membuat Database Siswa (Custom Post Type)</h3>



<p>Kita tidak menggunakan &#8220;Post&#8221; biasa, melainkan membuat tipe konten khusus bernama &#8220;Siswa&#8221;. Masukkan kode ini di <code>functions.php</code>:</p>



<p>PHP</p>



<pre class="wp-block-code"><code>function buat_post_type_siswa() {
    register_post_type('siswa',
        array(
            'labels'      =&gt; array('name' =&gt; 'Siswa', 'singular_name' =&gt; 'Siswa'),
            'public'      =&gt; true,
            'has_archive' =&gt; true,
            'menu_icon'   =&gt; 'dashicons-businessman',
            'supports'    =&gt; array('title', 'editor', 'thumbnail', 'custom-fields'),
        )
    );
}
add_action('init', 'buat_post_type_siswa');
</code></pre>



<h3 class="wp-block-heading">3. Logika Absensi (PHP &amp; AJAX)</h3>



<p>Untuk mencatat kehadiran tanpa <em>refresh</em> halaman, kita gunakan AJAX. Buat fungsi di <code>functions.php</code> untuk menangkap input dari form absensi:</p>



<ul class="wp-block-list">
<li><strong>PHP:</strong> Gunakan <code>update_post_meta()</code> untuk menyimpan status kehadiran (Hadir, Izin, Alpa) berdasarkan ID siswa dan tanggal hari ini.</li>



<li><strong>Keamanan:</strong> Gunakan <code>check_admin_referer()</code> untuk memastikan data yang masuk aman dari serangan CSRF.</li>
</ul>



<h3 class="wp-block-heading">4. Interface Form Absensi (HTML &amp; CSS)</h3>



<p>Buat halaman khusus (Page Template) untuk guru mengabsen. Gunakan <strong>CSS</strong> di <code>style.css</code> agar tampilan tabel absen rapi di HP:</p>



<p>CSS</p>



<pre class="wp-block-code"><code>/* Custom CSS untuk Tabel Absen */
.tabel-absen {
    width: 100%;
    border-collapse: collapse;
}
.tabel-absen th, .tabel-absen td {
    padding: 12px;
    border-bottom: 1px solid #ddd;
}
.btn-hadir { background-color: #27ae60; color: white; border: none; padding: 5px 10px; cursor: pointer; }
</code></pre>



<h3 class="wp-block-heading">5. Fitur Penanganan Siswa (Catatan Konseling)</h3>



<p>Gunakan <em>Custom Fields</em> untuk mencatat poin pelanggaran atau prestasi. Anda bisa menggunakan plugin <strong>ACF (Advanced Custom Fields)</strong> agar proses input lebih mudah, lalu panggil datanya di front-end menggunakan PHP:</p>



<p>PHP</p>



<pre class="wp-block-code"><code>$poin_siswa = get_field('poin_pelanggaran', $post_id);
echo "Total Poin: " . $poin_poin_siswa;
</code></pre>



<h3 class="wp-block-heading">6. Interaktivitas dengan JavaScript</h3>



<p>Gunakan sedikit <strong>Vanilla JS</strong> atau <strong>jQuery</strong> (yang sudah ada di WordPress) untuk memberikan notifikasi sukses saat tombol absen diklik.</p>



<p>JavaScript</p>



<pre class="wp-block-code"><code>// Contoh sederhana feedback absen
document.querySelectorAll('.btn-hadir').forEach(button =&gt; {
    button.addEventListener('click', function() {
        this.innerHTML = "Tercatat!";
        this.style.backgroundColor = "#95a5a6";
    });
});
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Mengapa Pendekatan Ini Efektif?</h3>



<ul class="wp-block-list">
<li><strong>Ringan:</strong> Tidak banyak memakan memori karena minim plugin pihak ketiga.</li>



<li><strong>Kustom:</strong> Anda bisa menentukan sendiri apakah siswa yang terlambat 3 kali otomatis mendapat poin pelanggaran melalui logika PHP.</li>



<li><strong>Privasi:</strong> Data tersimpan di server sendiri, bukan di pihak ketiga.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Catatan Penting:</strong> Karena ini melibatkan data siswa, pastikan Anda membatasi akses halaman absensi ini hanya untuk pengguna dengan <em>role</em> &#8220;Editor&#8221; atau &#8220;Teacher&#8221; menggunakan fungsi <code>current_user_can()</code>.</p>
</blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://taryadi.my.id/membangun-sistem-absensi-siswa/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
