Cara Membuat Jadwal Pelajaran di Excel dan Batas Kemampuannya
Hampir semua wakasek kurikulum pernah menyusun jadwal pelajaran di Excel, dan banyak yang berhasil. Persoalannya ada pada tenaga yang habis untuk mengejar sel-sel yang bentrok. Tulisan ini membahas cara membuat pekerjaan itu jauh lebih ringan, terutama rumus untuk mendeteksi bentrok guru secara otomatis tanpa makro, sekaligus titik ketika Excel mulai kewalahan.
Mulai dari data, bukan dari matriks
Godaan terbesar saat membuka file baru adalah langsung menggambar kotak-kotak jadwal. Tahan dulu. Siapkan satu sheet berisi tiga hal: daftar guru dengan kode singkat, mata pelajaran yang diampu, dan jumlah JP per rombel. Contohnya, Bu Rina berkode RIN, mengampu Matematika 5 JP di kelas 7A, 7B, dan 7C, jadi total bebannya 15 JP seminggu. Kode tiga huruf ini nanti yang Anda tanam di setiap sel, jadi pilih yang mudah dibaca dan tidak kembar antar guru.
Jumlah JP per rombel jangan dikarang, ambil dari struktur kurikulum yang berlaku. Untuk SMP, Permendikdasmen Nomor 13 Tahun 2025 mencantumkan alokasi per mata pelajaran dalam JP per tahun (asumsi 36 minggu dan 1 JP sama dengan 40 menit), terbagi intrakurikuler dan kokurikuler. Matematika misalnya 144 JP intrakurikuler ditambah 36 JP kokurikuler, sehingga per minggu 4 JP di kelas plus 1 JP kokurikuler. Di sheet data, pisahkan dua angka itu supaya jelas mana yang masuk matriks mapel dan mana yang masuk blok kokurikuler.
Cek keseimbangan beban sebelum menyusun
Setelah daftar beban jadi, jumlahkan seluruh JP semua guru lalu bandingkan dengan total slot yang tersedia. SMP dengan 12 rombel dan 40 JP per minggu punya 480 slot. Kalau total beban mengajar tidak sama dengan angka itu, jadwal tidak akan pernah pas, disusun dengan cara apa pun. Kesalahan hitung di tahap inilah yang paling sering memaksa orang mengulang dari nol di minggu ketiga.
Ada satu angka lain yang perlu ikut dijaga di tahap ini, yaitu beban minimal tiap guru. Undang-Undang Nomor 14 Tahun 2005 tentang Guru dan Dosen (Pasal 35) menetapkan beban kerja guru sekurang-kurangnya 24 jam tatap muka dan sebanyak-banyaknya 40 jam tatap muka per minggu. Bagi guru bersertifikat, pemenuhan beban kerja ini menjadi salah satu syarat tunjangan profesi (Permendikdasmen Nomor 4 Tahun 2025 tentang juknis tunjangan guru ASN daerah), sehingga jadwal juga menyangkut hak guru. Saat menghitung beban, tandai guru yang jamnya masih kurang supaya bisa dicarikan tambahan sejak awal, bukan setelah jadwal telanjur jadi.
Aturan terbaru memberi ruang yang lebih lapang. Permendikdasmen Nomor 11 Tahun 2025 tentang Pemenuhan Beban Kerja Guru, yang berlaku sejak tahun ajaran 2025/2026, menetapkan total beban kerja 37 jam 30 menit per minggu dan mengakui tugas tambahan lain seperti wali kelas, guru piket, pembina OSIS, dan pembina ekstrakurikuler sebagai pemenuhan jam tatap muka, kumulatif paling banyak 6 JP, ditambah 2 JP untuk tugas guru wali. Kemendikdasmen merangkumnya sebagai 16 JP mengajar di kelas ditambah paling banyak 8 JP tugas tambahan. Konsekuensinya untuk penyusun jadwal ada dua: kolom target beban tiap guru harus memisahkan JP kelas dan ekuivalensi tugas tambahan, dan hari piket serta jam tugas tambahan itu perlu dicatat sebagai slot yang sebaiknya tidak dipakai mengajar, bukan dianggap kosong.
Layout matriks: rombel di baris, hari dan JP di kolom
Layout yang paling enak untuk deteksi bentrok adalah satu baris untuk satu rombel dan satu kolom untuk satu slot. Baris pertama berisi nama hari, baris kedua berisi nomor JP. Jadi kolom B untuk Senin JP1, kolom C untuk Senin JP2, dan seterusnya sampai Jumat. Isi tiap sel cukup dengan kode guru, misalnya RIN atau AND.
Kenapa bukan satu sheet per kelas? Karena bentrok guru hanya kelihatan kalau semua kelas berjajar dalam satu tampilan. Kode guru yang sama muncul dua kali di kolom yang sama berarti dia dituntut mengajar di dua kelas pada jam yang sama. Itulah bentrok, dan di layout ini bentrok tinggal soal duplikat dalam satu kolom.
Deteksi bentrok guru dengan rumus, tanpa makro
Bagian ini yang paling melegakan, sebab tidak butuh VBA atau makro sama sekali. File tetap .xlsx biasa, bukan .xlsm, jadi aman dari virus makro yang sering menumpang di file jadwal yang berpindah-pindah flashdisk, dan tidak akan diblokir pengaturan keamanan komputer sekolah.
Caranya, blok seluruh area matriks, misalnya B3 sampai AO14 untuk 12 rombel. Buka Conditional Formatting, pilih New Rule, lalu pilih Use a formula to determine which cells to format. Isikan rumus berikut, kemudian pilih warna isian merah dan simpan:
=AND(B3<>"";COUNTIFS(B$3:B$14;B3)>1)
Cara membacanya begini. Untuk setiap sel, Excel menghitung berapa kali kode guru di sel itu muncul di kolom yang sama, dari baris 3 sampai 14, yaitu di semua rombel pada slot yang sama. Lebih dari satu kali berarti bentrok, dan selnya menyala merah. Fungsi COUNTIFS dirancang untuk mencacah sel yang memenuhi kriteria di sepanjang rentang, jadi tugas semacam ini pas untuknya.
Dua detail sering terlewat. Pertama, bagian B3<>"" wajib ada; tanpa itu semua sel kosong ikut menyala karena saling dihitung sebagai duplikat. Kedua, tanda dolar hanya dipasang di nomor baris, bukan di huruf kolom, supaya satu aturan yang sama berlaku untuk seluruh kolom yang diblok. Hasilnya, begitu Anda mengetik RIN di 7B Senin JP3 padahal RIN sudah terpasang di 7A Senin JP3, kedua sel langsung merah, tanpa perlu memeriksa baris demi baris dengan mata. Catatan kecil: pemisah argumen mengikuti pengaturan regional komputer, titik koma pada pengaturan Indonesia dan koma pada pengaturan Inggris.
Membaca contoh potongan matriks
Bayangkan tiga rombel pada Senin JP1 sampai JP4. Beginilah tampilannya di sheet matriks:
Perhatikan Senin JP4: kode BUD muncul di 7A sekaligus 7B, jadi dua sel itulah yang otomatis menyala merah. Sebaliknya, BUD di 7C pada JP2 dan JP3 tidak ditandai, karena beda kolom berarti beda jam, dan dua JP berurutan di kelas yang sama adalah blok yang bagus.
Rumus tambahan yang meringankan
Selain penanda bentrok, beberapa rumus lagi membuat file lebih informatif. Untuk menghitung jam terpakai tiap guru, buat kolom bantu berisi COUNTIF atas seluruh matriks terhadap kode guru itu, lalu bandingkan dengan target bebannya. Kalau RIN seharusnya 15 JP tetapi rumus menunjukkan 13, berarti masih ada dua JP yang belum terpasang. Untuk melihat slot yang masih lowong per rombel, hitung sel kosong di baris rombel tersebut. Dengan angka-angka ini terpampang di pinggir layar, Anda tahu persis mana yang kurang dan mana yang sudah penuh, tanpa menghitung manual satu per satu.
| Yang ingin diketahui | Rumus (matriks di B3:AO14, kode guru di sel AR3) | Cara membaca |
|---|---|---|
| JP terpasang tiap guru | =COUNTIF($B$3:$AO$14;AR3) | Bandingkan dengan target JP kelas guru itu; selisih berarti masih ada JP yang tercecer atau kelebihan |
| Slot kosong per rombel | =COUNTBLANK(B3:AO3) | Nol berarti rombel penuh; angka lain menunjukkan sisa slot yang belum terisi |
| JP guru pada satu hari | =COUNTIF(B3:I14;AR3) untuk kolom Senin | Menangkap guru yang menumpuk 7 sampai 8 JP di satu hari, lalu kosong di hari lain |
| Guru terjadwal di hari terlarang | =COUNTIF(J3:Q14;"AND")>0 untuk kolom Selasa | Bernilai TRUE bila Pak Andi terpasang di Selasa padahal ia mengajar di sekolah lain |
| Total slot terisi seluruh matriks | =COUNTA(B3:AO14) | Harus sama dengan total beban semua guru; kalau beda, ada salah hitung sejak awal |
Rentang kolom per hari tentu menyesuaikan jumlah JP sekolah Anda. Yang penting polanya: satu rumus per pertanyaan, hasilnya angka yang bisa dibaca sekilas.
Titik jenuh Excel
Sampai sekitar 10 rombel, cara di atas nyaman dipakai. Di atas itu, bebannya mulai terasa.
- 20 rombel ke atas. Setiap perbaikan satu bentrok hampir selalu melahirkan bentrok baru di tempat lain. Inilah yang membuat penyusunan manual bisa makan dua sampai tiga minggu, dan selalu ada satu sel merah yang bertahan sampai akhir.
- Guru lintas jenjang atau lintas sekolah. Guru yang Selasa mengajar di sekolah lain punya hari terlarang. Excel tidak bisa menolak penempatan yang salah, dia hanya bisa memberi warna setelah Anda telanjur salah menaruhnya.
- JP blok, kokurikuler, dan hari piket. Mapel seperti IPA sering diminta 2 JP berurutan, bukan tersebar satu-satu. Blok kokurikuler, hari piket, dan jam tugas tambahan juga harus dikosongkan. Conditional formatting tidak punya cara menjaga aturan positif semacam ini, ia hanya menandai yang sudah salah.
- Aturan halus lainnya. Batas JP mengajar per hari, mapel berat jangan di jam terakhir, guru tertentu minta jam pagi. Semuanya kembali ke ingatan penyusun, dan ingatan manusia bocor di minggu kedua.
Kalau sudah mentok: generator jadwal otomatis
Untuk sekolah besar, ada perangkat yang dirancang menangani ratusan aturan sekaligus. aSc Timetables adalah aplikasi berbayar yang populer dan dipakai luas di banyak negara, sedangkan FET buatan Liviu Lalescu bersifat gratis dan sumber terbuka. Keduanya kuat, dengan konsekuensi perlu instalasi di komputer dan waktu belajar yang tidak sebentar, serta datanya berdiri sendiri terpisah dari administrasi sekolah yang lain.
Alternatif lain adalah generator berbasis web yang menyatu dengan data sekolah. SiTuntas misalnya, punya Penyusun Jadwal di modul e-Jadwal yang membaca data guru, penugasan, aturan mapel, dan ketersediaan guru yang sudah ada, lalu memakai solver Google OR-Tools untuk menyusun jadwal dalam hitungan menit dengan menghindari bentrok guru sejak awal, bukan diwarnai merah belakangan. Hasilnya bisa digeser di papan dengan cek bentrok langsung, kartu tertentu dikunci, lalu dicetak PDF atau Excel per guru dan per kelas.
Tidak semua keinginan bisa dipenuhi sekaligus. Menuntut nol jam kosong, sebaran seragam, dan semua blok utuh pada saat bersamaan sering saling bertabrakan, sehingga selalu ada satu hal yang dikompromikan dan hasilnya tetap perlu ditinjau manusia sebelum difinalkan. Nilai lebihnya ada pada waktu yang jauh lebih hemat dan data yang langsung tersambung ke absensi serta jurnal.
Detail cara kerjanya bisa dibaca di halaman jadwal pelajaran otomatis. Untuk prinsip menyusun jadwal yang sehat apa pun alatnya, mampir juga ke artikel Cara Menyusun Jadwal Pelajaran Anti Bentrok. Kalau Excel juga jadi andalan Anda untuk urusan lain, prinsip serupa berlaku pada rekap kehadiran; lihat cara membuat rekap absensi siswa di Excel.
Pertanyaan yang sering diajukan
Apakah Excel benar-benar cukup untuk menyusun jadwal pelajaran sekolah?
Cukup untuk sekolah kecil sampai menengah, kira-kira sampai 10 hingga 12 rombel dengan aturan yang sederhana. Dengan bantuan rumus COUNTIFS dan conditional formatting, bentrok guru bisa ditandai otomatis tanpa makro. Di atas ukuran itu, atau ketika aturannya banyak seperti JP blok, hari piket, dan guru lintas sekolah, penyusunan manual di Excel mulai melelahkan dan rawan meninggalkan satu bentrok yang bertahan sampai akhir.
Bagaimana rumus mendeteksi guru yang mengajar di dua kelas pada jam yang sama?
Susun matriks dengan rombel di baris dan slot (hari dan JP) di kolom, lalu isi tiap sel dengan kode guru. Pasang conditional formatting memakai COUNTIFS untuk menghitung kemunculan kode guru dalam satu kolom yang sama. Jika muncul lebih dari sekali, artinya guru itu ditempatkan di dua kelas pada jam yang sama, dan selnya diberi warna merah secara otomatis.
Berapa minimal jam mengajar guru yang perlu diperhatikan saat menyusun jadwal?
Undang-Undang Nomor 14 Tahun 2005 menetapkan beban kerja guru sekurang-kurangnya 24 jam tatap muka dan sebanyak-banyaknya 40 jam tatap muka per minggu, dan bagi guru bersertifikat pemenuhan beban kerja ini menjadi salah satu syarat tunjangan profesi. Permendikdasmen Nomor 11 Tahun 2025 membolehkan sebagian dari 24 jam itu dipenuhi lewat tugas tambahan seperti wali kelas, pembina ekstrakurikuler, dan guru piket (kumulatif paling banyak 6 jam) ditambah 2 jam guru wali, sehingga jam mengajar di kelas paling sedikit 16 JP. Saat menyusun jadwal, tandai guru yang jam kelasnya di bawah angka itu sejak awal.
Apakah generator jadwal otomatis pasti menghasilkan jadwal tanpa bentrok sama sekali?
Generator yang baik menjaga bebas bentrok guru dan kelas sejak awal karena itu aturan keras yang tidak boleh dilanggar. Tetapi tidak semua keinginan bisa dipenuhi sekaligus. Nol jam kosong, sebaran seragam, dan semua blok utuh kerap saling bertentangan, sehingga selalu ada yang dikompromikan. Hasil generator sebaiknya tetap ditinjau dan disesuaikan manusia sebelum ditetapkan.
Bermanfaat? Bagikan ke rekan guru.
WhatsAppReferensi
- UU No. 14 Tahun 2005 tentang Guru dan Dosen (Pasal 35: beban kerja 24 sampai 40 jam tatap muka per minggu), JDIH BPK RI
- Permendikdasmen No. 11 Tahun 2025 tentang Pemenuhan Beban Kerja Guru, JDIH BPK RI
- Permendikdasmen No. 13 Tahun 2025 tentang Perubahan Permendikbudristek No. 12 Tahun 2024 tentang Kurikulum (alokasi JP per mata pelajaran), JDIH BPK RI
- Fungsi COUNTIFS, Microsoft Support
- FET, perangkat penyusun jadwal gratis dan sumber terbuka (GNU AGPL v3), lalescu.ro
Baca juga
Bagikan artikel ini
Ingin melihatnya berjalan di sekolah Anda?
SiTuntas dipakai setiap hari di sekolah negeri, tanpa instalasi. Gratis selamanya. 14 hari pertama semua modul terbuka penuh tanpa batasan, setelah itu tetap pakai paket Gratis.
Isi 3 data · Verifikasi singkat · Akun aktif otomatis · Tidak perlu chat admin
Masih punya pertanyaan? Tanya kami via WhatsApp