Pemanfaatan AI

Sistem OCR Lembar Kertas dari Sekolah, Lalu Otomatis Didaftarkan ke Kalender dan Reminder

Sistem OCR Lembar Kertas dari Sekolah, Lalu Otomatis Didaftarkan ke Kalender dan Reminder

Photo: freestocks.org (CC0 1.0) via Flickr

Selamat pagi, saya Masakin.

Lembar kertas yang dibagikan dari sekolah, sampai sekarang masih didominasi bentuk fisik. Tanggal acara, deadline barang yang harus diserahkan, barang bawaan. Jenis informasinya banyak, dan kalau sampai terlewat bisa merepotkan nanti.

Karena itu, saya membuat sistem yang membaca lembar kertas dengan OCR, lalu otomatis memilah dan mendaftarkannya ke kalender dan reminder sesuai jenisnya. Kali ini saya akan memperkenalkan secara konkret sampai contoh nyata pemanggilan API.

Awalnya Karena “Ingat Sudah Melihatnya, Tapi Lupa Isinya”

Lembar kertas, sekali dilihat rasanya sudah cukup diingat saat itu. Tapi seminggu kemudian, isinya sudah terlupakan. Ada juga kasus tetap ditempel di kulkas sampai deadline-nya terlewat.

“Melihat” dan “menjalankan tanpa lupa” adalah dua hal yang berbeda. Karena itu, saya mengotomatisasi bagian memasukkan isi yang sudah dilihat ke dalam sebuah sistem.

Alur Sistemnya

Yang saya lakukan ada 3 tahap berikut.

  1. Scan lembar kertas, ubah jadi data teks dengan OCR, termasuk yang layoutnya 2 kolom
  2. Klasifikasikan isinya sebagai “acara” atau “yang harus dilakukan” seperti barang yang harus diserahkan atau deadline
  3. Berdasarkan hasil klasifikasi, daftarkan otomatis lewat API ke aplikasi yang sesuai

Acara masuk ke kalender, yang harus dilakukan masuk ke reminder. Poinnya adalah memisahkan tempat penyimpanan sesuai perannya.

Trik pada Bagian OCR

Lembar kertas dari sekolah kebanyakan berformat A4 dengan 2 kolom, dan kalau langsung dimasukkan ke OCR, terkadang teks kiri dan kanan tercampur di tengah baris. Karena itu, saya membagi gambar menjadi kiri dan kanan dulu, sebelum masing-masing diberikan ke OCR.

from PIL import Image

def split_two_columns(image_path):
    img = Image.open(image_path)
    width, height = img.size
    left = img.crop((0, 0, width // 2, height))
    right = img.crop((width // 2, 0, width, height))
    return left, right

Hanya dengan pembagian ini, akurasi pengenalan cukup meningkat banyak. Kalau setelah dilihat hasilnya teks kiri dan kanan masih tercampur, saya coba bagi jadi 3 bagian bukan 2, atau sesuaikan area pemotongan berdasarkan posisi judul. Hasil pembacaan selalu saya bandingkan langsung dengan gambar lembar aslinya, bukan hanya data teksnya saja. Karena tabel dan garis mudah rusak saat OCR, dan terutama kalau kombinasi tanggal dan hari salah, bisa berakibat fatal saat didaftarkan ke kalender.

Aturan Klasifikasi

Saya menyusun kriteria membedakan acara dan yang harus dilakukan sebagai berikut.

JenisKriteriaTujuan pendaftaranKode warna
Acara yang perlu dihadiriJadwal yang butuh kehadiran orang tuaKalenderMerah
Deadline/pembayaranBatas waktu barang yang diserahkan atau iuranKalender + ReminderOranye
Barang bawaan/persiapanYang harus disiapkan sebelum hari HReminderTidak ada
Barang bawaan harianBarang rutin seperti alat tulis, buku catatanTidak didaftarkan-

Untuk item yang sulit diklasifikasikan, prinsipnya saya pilih “lebih baik didaftarkan ke keduanya”. Kalau ternyata tidak perlu, bisa dihapus belakangan, tapi kalau lupa didaftarkan, bisa jadi tidak disadari sama sekali.

Sistem ini akhirnya berjalan di dalam smartphone. Baik kalender maupun reminder, notifikasinya sampai ke smartphone saya. Sebagai dasar yang menopang sistem ini, mungkin ada baiknya juga meninjau ulang paket tarifnya sesekali.

Simulasi tarif dapat 100 poin tanpa perlu kontrak Tinjau Ulang Paket Tarif Smartphone sebagai Dasar Sistem Ini

Setelah diklik, halaman login Rakuten akan terbuka. Setelah login, detail kampanye akan muncul.

Contoh Nyata Pendaftaran ke Kalender

Acara saya daftarkan lewat API Google Calendar. Untuk kode warna, saya pakai parameter colorId, dengan acara wajib hadir diberi warna merah (colorId: "11"), dan yang berkaitan dengan deadline diberi warna oranye (colorId: "6").

title: "SD ○○: Acara Olahraga"
start.date: "2026-05-23"
end.date: "2026-05-24"   # untuk acara sehari penuh, end dijadikan hari berikutnya
description: "Ringkasan bagian yang relevan dari lembar kertas"
colorId: "11"  # merah karena butuh kehadiran orang tua

colorId harus diberikan sebagai string, bukan angka, kalau diberikan sebagai tipe angka akan jadi error API. Untuk acara dengan waktu yang sudah pasti, misalnya pertemuan orang tua jam 2 siang, saya daftarkan dengan menentukan waktu mulai dan selesai, bukan sebagai event sehari penuh.

Sebelum mendaftarkan, saya selalu memeriksa apakah sudah ada event dengan judul dan tanggal yang sama. Kadang acara yang sama tertulis di dua lembar yang berbeda, misalnya buletin tingkat kelas dan lembar lainnya, dan kalau pengecekan ini dilewati, jadwal yang sama akan terdaftar dobel.

Pendaftaran ke Reminder/Task, dan Duplikasi yang Disengaja

Deadline dan barang bawaan, saya daftarkan dengan judul yang sama ke aplikasi manajemen tugas dan aplikasi reminder sekaligus. Sekilas terasa berlebihan, tapi ini memang saya sengaja.

python3 things_bridge_client.py add \
  --title "SD ○○: Pesan Set Kaligrafi (sampai 17 April)" \
  --when "2026-04-17" \
  --tags "sekolah,anak,uang" \
  --notes "Pembayaran cashless. Lewat QR di formulir pendaftaran."

Aplikasi manajemen tugas cocok untuk dikelola secara terstruktur sebagai checklist. Sementara aplikasi reminder punya karakteristik mudah dilihat sekilas lewat asisten suara atau notifikasi standar. Karena kelebihan masing-masing tools berbeda, saya sengaja mendaftarkannya dobel.

Kalau hanya didaftarkan di satu tempat, pada hari tidak membuka aplikasi itu, informasinya sama saja seperti tidak ada. Dengan menyimpannya dobel, risiko terlewat bisa dikurangi. Tapi, untuk menghindari noise dari pendaftaran dobel, sebelum mendaftarkan ke reminder saya selalu mengambil daftar yang sudah ada, dan memastikan tidak ada judul yang sama.

Periksa daftar reminder yang sudah ada (mencegah duplikasi)
→ Kalau tidak ada reminder dengan judul yang sama, daftarkan baru dengan judul
  dan deadline yang sama seperti di aplikasi manajemen tugas

Kalau judulnya dibuat sama persis, nanti juga lebih mudah dicari saat ingin mencocokkan keduanya.

Masalah Tahun yang Tidak Dituliskan

Lembar kertas sekolah, hampir selalu menuliskan seperti “15 April (Rabu)” tanpa mencantumkan tahun. Perlu menambahkan tahun dari tahun ajaran saat ini, tapi kalau lembar yang dibagikan bulan Maret menuliskan “April”, saya selalu mempertimbangkan kemungkinan itu mengacu ke bulan April tahun ajaran berikutnya.

Selain itu, saat memproses penulisan hari, saya selalu menghitung hari secara mekanis dari tanggal, bukan mengandalkan tangan atau memori. Karena kalau mengandalkan memori manusia, mudah sekali terjadi selisih.

Yang Saya Rasakan Setelah Mencoba

Yang paling membantu adalah hilangnya kondisi “sudah lihat tapi lupa”. Begitu dibaca, langsung tercermin ke kalender atau reminder, sisanya cukup mengikuti notifikasi.

Tapi, akurasi OCR tidak sepenuhnya sempurna. Terutama lembar dengan catatan tambahan tulisan tangan, kadang sulit dibaca. Untuk kasus seperti itu, saya tidak memaksakan otomatisasi, dan memeriksa dengan mata saya sendiri sebelum mendaftarkannya.

Cocok untuk Orang Seperti Apa

Rangkuman

Saya membuat sistem yang mengklasifikasikan isi lembar kertas menjadi “acara” dan “yang harus dilakukan”, lalu mendaftarkannya otomatis ke tempat yang sesuai. Hanya dengan menentukan aturan sederhana seperti kode warna, pendaftaran dobel, dan pengecekan duplikasi, penanganan informasinya jadi jauh lebih rapi.

Bagaimana memasukkan informasi kertas ke dalam sebuah sistem, menurut saya adalah trik yang sederhana tapi efeknya besar.

Pada akhirnya, tujuan notifikasi selalu smartphone saya. Semakin lama sistem ini dipakai, semakin besar juga porsi pentingnya koneksi internet. Mungkin tidak ada ruginya sesekali memeriksa juga paket tarifnya.

Simulasi tarif dapat 100 poin tanpa perlu kontrak Tinjau Ulang Koneksi Smartphone yang Menopang Notifikasi

Setelah diklik, halaman login Rakuten akan terbuka. Setelah login, detail kampanye akan muncul.

Artikel ini mengandung iklan afiliasi. Jika Anda mendaftar produk atau layanan melalui tautan di situs ini, kami mungkin menerima komisi dari perusahaan mitra. Selain itu, pengelola adalah karyawan Rakuten Group dan mungkin menerima imbalan melalui program referral karyawan. Konten dan penilaian artikel dibuat berdasarkan pengalaman nyata dan riset pengelola, terlepas dari ada atau tidaknya iklan, namun kami harap Anda membaca dengan memahami hubungan di atas. Untuk detailnya, silakan lihat Sangkalan & Info Afiliasi. Sangkalan & Info Afiliasi

Artikel ini menggunakan terjemahan mesin. Untuk syarat resmi, silakan cek halaman multibahasa di situs resmi Rakuten Mobile.

Jika Anda memiliki kekhawatiran tentang area jangkauan atau kondisi sinyal Rakuten Mobile, Anda dapat berkonsultasi melalui formulir permintaan perbaikan sinyal resmi.

ABOUT THE AUTHOR
まさきん

Karyawan Rakuten Group · Digital Marketer (memiliki sertifikasi FP)

Awal 40-an, kedua orang tua bekerja, ayah dari empat anak. Selain bekerja sebagai digital marketer di Rakuten Group, juga memanfaatkan sertifikasi perencana keuangan (FP) untuk fokus pada pengelolaan keuangan keluarga dan pembentukan aset.

Lihat Profil

Artikel Terkait

RELATED
Cerita Saat Berlangganan X Premium demi Grok, Ternyata Sudah Bisa Dipakai di Tesla Juga Pemanfaatan AI

Cerita Saat Berlangganan X Premium demi Grok, Ternyata Sudah Bisa Dipakai di Tesla Juga

Saya berlangganan paket berbayar X karena tertarik dengan Grok. Ternyata hampir bersamaan, Grok yang sama juga mulai bisa dipakai di dalam mobil Tesla, dan saya cukup terkejut. Saya rangkum mulai dari cara memilih paket berbayarnya sampai cara memakainya di dalam mobil, berdasarkan apa yang benar-benar saya cek sendiri.

2026.09.01 · sekitar 2 menit membaca
Cara Praktis Mendaftarkan Janji Keluarga yang Disampaikan Lisan ke Google Calendar dengan AI Pemanfaatan AI

Cara Praktis Mendaftarkan Janji Keluarga yang Disampaikan Lisan ke Google Calendar dengan AI

Memperkenalkan cara membuat link pendaftaran Google Calendar hanya dengan menyampaikan janji seperti 'Acara olahraga bulan depan tanggal 25 jam 9' ke AI, tanpa perlu scan atau install aplikasi.

2026.07.10 · sekitar 4 menit membaca
Cerita Saat Bersiap-siap di Pagi Hari, Saya Minta AI Membuat Satu Lembar 'Briefing Hari Ini' Pemanfaatan AI

Cerita Saat Bersiap-siap di Pagi Hari, Saya Minta AI Membuat Satu Lembar 'Briefing Hari Ini'

Saya membuat sistem yang meminta AI merangkum jadwal, email, dan chat menjadi satu lembar briefing yang bisa dilihat sambil bersiap-siap di pagi hari, dan menghasilkannya secara otomatis. Saya perkenalkan dari cara mengumpulkan informasi sampai detail tampilannya, dalam bentuk yang bisa diterapkan langsung.

2026.06.22 · sekitar 4 menit membaca
Beralih ke Rakuten Mobile, dapatkan hingga 14.000 poin Simulasi tarif dapat 100 poin tanpa perlu kontrak →
Daftar Sekarang →