Halo, saya Ahmad Royhan Najib , di internet aku biasa pakai nama HanNajib . Selamat datang di ruang digital personal saya. Tempat saya mendokumentasikan hasil riset dan pengalaman pribadi ( Notes), perkembangan proyek yang sedang digarap ( Works), catatan belajar harian, Today I Learn ( TIL), serta tangkapan visual estetik ( Snaps).

til1 Jun 20262 min read0 views

Once in a Blue Moon

Gara-gara penasaran karena Blue Moon tanggal 31 Mei kemaren, aku langsung cari-cari informasi di internet, dan inilah hasilnya.FYI:1. Kenapa Disebut Blue Moon? Apakah Beneran Biru?Secara astronomi, jawabannya tidak. Bulannya tetap berwarna abu-abu keputihan seperti biasa.Istilah "Blue" di sini awalnya berasal dari kesalahan sejarah dan evolusi bahasa. Pada abad ke-19, Almanak Petani Maine menggunakan istilah ini untuk menandai bulan purnama ekstra (ke-4) dalam satu musim. Nama ini dipakai murni sebagai kode penanggalan agar jadwal tanam dan panen mereka tidak kacau, bukan karena warna fisik bulannya.Almanak adalah publikasi atau buku tahunan yang berisi daftar penanggalan (kalender, hari raya, dan hari libur) yang dilengkapi dengan berbagai informasi pelengkap seperti data keastronomian, jadwal pasang surut air laut, hingga ramalan cuaca. [1]2. Dua Definisi Resminya secara AstronomiFenomena bulan ekstra ini terjadi rata-rata 2,5 hingga 2,7 tahun sekali karena siklus bulan (29,5 hari) tidak selaras sempurna dengan kalender Masehi:Blue Moon Bulanan (Modern): Bulan purnama kedua yang terjadi dalam satu bulan kalender yang sama.Blue Moon Musiman (Tradisional): Bulan purnama ketiga dalam satu musim yang memiliki empat kali bulan purnama (biasanya cuma tiga).3. Tapi, Bulan Bisa Beneran Kelihatan Biru!Bulan secara harfiah bisa kelihatan biru di mata kita murni karena efek filter atmosfer bumi akibat bencana alam besar, bukan karena bulannya berubah warna.Letusan Gunung Krakatau (1883): Letusan dahsyat ini melontarkan abu ke stratosfer dengan ukuran partikel sangat spesifik (Mie Scattering).Partikel abu tersebut menyaring cahaya merah dan hanya meloloskan cahaya biru ke mata kita, membuat bulan tampak biru selama berbulan-bulan. Efek serupa juga terjadi pasca-letusan gunung tahun 1991.Tapi bisa keliatan biru juga sih kalau white balancenya dimentokin rata kiri, itu mah biru jalur manipulasi digital 🤣4. Asal-usul "Once in a Blue Moon"Karena peristiwa astronomi dan fenomena atmosfer di atas sama-sama sangat jarang terjadi, lahir lah idiom ini:Tahun 1528: Awalnya dipakai di sastra kuno untuk menggambarkan sesuatu yang mustahil (seperti bilang "langit itu jedag-jedug").Hari ini: Jadi ungkapan internasional untuk menyebut "kejadian yang sangat langka terjadi".1.16699016 × 10-8 hertz

#astronomi #sejarah #sains
til31 Mei 20261 min read0 views

Perbedaan "Muhrim" dan "Mahram"

Istilah yang sering tertukar di masyarakat, antara kata "muhrim" dan "mahram". Berikut penjelasannya:1. MuhrimKata muhrim secara bahasa Arab memiliki arti orang yang sedang melakukan ihram (keadaan mulai melakukan ibadah haji atau umrah dengan mengenakan pakaian ihram dan mematuhi larangannya). [1, 2]2. Mahrammahram adalah orang yang haram untuk dinikahi selamanya karena sebab keturunan (nasab), persusuan (radha'ah), atau pernikahan (mushaharah).

#istilah #bahasa
note28 Mei 202610 min read0 views

Bedah Gamifikasi Duolingo: Niat Belajar Bahasa Inggris, Takut Streak-nya Habis

Bedah Gamifikasi Duolingo: Niat Belajar Bahasa Inggris, Takut Streak-nya Habis

Empat tahun lalu, sekitar bulan Mei 2022, aku pertama kali menginstal Duolingo. Waktu itu tujuanku pure alias murni banget: cuma pengen memperlancar bahasa Inggris. Saat itu aplikasinya seingatku sudah menerapkan sistem Quest dan Badge. Tapi, namanya juga manusia, di tengah jalan aku sempat berhenti total karena terdistraksi main game, sibuk kegiatan sekolah, dan lain-lain.Nah, pas sudah masuk SMK sekitar tahun 2023, entah kenapa aku tergerak buat menginstal aplikasi ini lagi (alasannya agak lupa, tapi yang jelas tujuannya tetap sama: belajar bahasa Inggris). Bedanya, di percobaan kedua ini aku jadi jauh lebih konsisten mempertahankan streak. Mulai dari tembus 10 hari, 15, 20, 30, sampai menyentuh angka ratusan hari.Gara-gara itu, setiap kali ada teman yang nanya kenapa bisa sebetah itu mempertahankan streak, jawaban spontanku pasti: "Ya kalau sampai padam, rugi dong!" Dari situ aku menyadari sesuatu yang unik, tujuan awalku yang murni untuk belajar bahasa perlahan bergeser menjadi ambisi untuk menjaga streak. Tapi kalau diambil sisi positifnya, lewat keterpaksaan "takut padam" ini, setidaknya aku jadi tetap konsisten belajar kosakata baru dan mengasah otak setiap harinya.Fenomena inilah yang memicuku buat riset lebih dalam beberapa hari lalu tentang sebuah istilah keren yang namanya: Gamifikasi.Apa itu Gamifikasi?Menurut artikel dari Telkom University Purwokerto, Gamifikasi (Gamification) adalah penerapan elemen-elemen permainan (seperti poin, lencana/badge, level, dan papan peringkat) ke dalam konteks non-permainan.Secara sederhana, ini adalah sebuah mekanisme yang dirancang agar pengguna aplikasi non-game tidak merasa bosan, atau bahkan dalam tanda kutip bisa bikin "kecanduan" (tapi dalam konteks positif ya).Ngomong-ngomong soal belajar bahasa, di sela-sela belajar bahasa Inggris, aku juga sempat iseng belajar sedikit bahasa Jepang. Dan ternyata, setelah ku cek Duolingo Language Report 2025, data menunjukkan kalau bahasa yang paling banyak dipelajari secara global memang Bahasa Inggris (jelas, karena bahasa internasional). Diikuti oleh bahasa Spanyol, Prancis, Jepang, dan Jerman.Duolingo Language Report 2025Lucunya, laporan itu juga menyebutkan kalau Bahasa Jepang adalah bahasa kedua yang paling banyak dipelajari di Indonesia, lah aku juga inimah.Siap-siap juga bahasa Prancis katanya bakal wajib dipelajarin di sekolah wkwkDari riset yang kulakukan, berikut adalah beberapa poin psikologi dibalik mengapa Duolingo bisa se-candu itu:Tapi kalau dibilang bikin kecanduan banget sampai lupa waktu, kayaknya gak juga sih. Di kasusku, aku tipikal orang yang sekadar konsisten mempertahankan streak aja, cukup luangkan waktu 5 menit sehari buat belajar, yang penting apinya gak padam. Gak perlu sampai berjam-jam.1. Tarik-Ulur Dua Tipe MotivasiBerdasarkan KBBI, motivasi adalah dorongan yang timbul pada diri seseorang, baik secara sadar maupun tidak sadar, untuk melakukan suatu tindakan dengan tujuan tertentu. Di Duolingo, ada dua tipe motivasi yang bekerja:Motivasi Intrinsik (Dorongan dari Dalam): Keinginan murni dari diri kita sendiri tanpa paksaan. Contohnya: pas pertama kali instal Duolingo karena pengen bisa bahasa Inggris demi nilai akademik atau skill personal.Motivasi Ekstrinsik (Dorongan dari Luar): Dorongan yang dipicu oleh faktor eksternal atau reward. Contohnya: perasaan sayang tadi ketika melihat streak sudah menyentuh angka ratusan hari dan gak mau ikon apinya padam.Kalau dipikir-pikir, saat ini posisiku mungkin sedang terjebak di antara keduanya. Dibilang dorongan dari dalam buat belajar bahasa ya bener, tapi dibilang karena takut apinya padam juga bener banget, wkwkwk.2. Siklus Candu: Feedback LoopPotret Aplikasi DuolingoDuolingo berhasil membuat sebuah siklus bermain (Core Loop) yang membuat kita terus kembali setiap hari:Action (Aksi): Menerima pemicu (trigger) berupa notifikasi si burung Duo yang rewel atau widget di HP, lalu kita buka aplikasinya buat ngerjain lesson selama 2 hingga 5 menit.Reward (Hadiah): Setelah kelar, kita langsung dihadiahi XP, Diamond, kemajuan Badge, atau kenaikan posisi di Leaderboard.Investment (Investasi): Angka streak harian kita bertambah. Kita juga ditantang lewat fitur share atau target jangka panjang (seperti mencapai streak ke-100 atau 150 hari). Bahkan mereka juga ada wrapped tiap tahunnya, buat di upload di story wkwk, ga cuma Spotify doang.Siklus ini berputar terus: Aksi, Hadiah, Investasi, Repeat. Dan senjata utama Duolingo untuk menjaga agar kita terus mengulang (repeat) siklus ini adalah si Streak Harian.3. The Core Mechanic (Fitur Dasar Game)Ada tiga fitur utama di Duolingo yang diatur secara psikologis:XP (Experience Points): Sebenarnya poin ini gak penting-penting amat untuk kemampuan bahasa asli kita, tapi ini adalah visualisasi progres yang sukses membuat otak kita merasa "Wah, ada kemajuan nih hari ini."Sistem Energi (Pengganti Hearts): Kalau dulu salah langsung ngurangin nyawa (bikin gak bisa main), sistem energi yang baru ini agak unik. Energi bisa berkurang bahkan saat jawaban benar, tapi dari streak benar kita bisa dapet bonus energi. Taktik psikologi ini keren banget karena menciptakan Urgensi. Energi jadi barang berharga (Value), memaksa kita buat fokus penuh dan gak asal tebak biar momentum belajarnya gak hilang. Berdasarkan pengalamanku sendiri, sistem energi ini sering banget jadi jebakan. Kadang kalau lagi dapet pengganda EXP, misalnya dapet 5 menit, aku langsung ngepush biar dapet exp banyak. Nah, pas durasinya udah mau habis, eh aplikasinya malah ngasih perpanjangan durasi terus-menerus. Pas habis lagi, malah ditambahin jadi tripel EXP! Akhirnya keterusan ngepush, dan ujung-ujungnya malah keabisan energi, padahal bonus pengganda EXP-nya masih sisa 30 menit lagi. Bener-bener licik nih, kasih pengganda ga abis abis, wkwk.Quest Jangka Pendek: Duolingo menyediakan Daily Quest dan Monthly Quest. Belajar bahasa selama bertahun-tahun itu target yang kejauhan dan bikin stres. Makanya Duolingo memecahnya jadi short-term goals lewat quest simpel: "kerjakan 1 lesson", "dapat 20 XP", "jawab 10 soal benar".Semua mekanisme di atas diperkuat oleh satu psikologi yang dinamakan Loss Aversion Bias (Bias Kehilangan). Manusia itu secara psikologis punya kecenderungan lebih takut kehilangan sesuatu yang sudah mereka bangun daripada rasa senang saat mendapatkan sesuatu yang baru.Dalam konteks ini, kehilangan streak yang sudah kita rawat berbulan-bulan itu rasanya perih banget, mirip kayak kehilangan burung kicau kesayangan!Membedah dengan Framework Gamifikasi: OctalysisTernyata, gamifikasi itu ada kerangka kerjanya juga, gak cuma bahasa pemrograman yang punya framework wkwk. Salah satu yang paling terkenal dikembangkan oleh Yu-kai Chou (bukan yung-kai) bernama Octalysis Framework.Sebelum masuk ke 8 pilar utamanya, beliau sempat menyinggung soal PBL (Point, Badge, Leaderboard). Tiga hal ini teraplikasikan sempurna di Duolingo lewat poin XP, Badge bulanan, dan kasta liga (dari Bronze, Sapphire, Amethyst, sampai Diamond League).Tapi, apa sih yang sebenarnya bikin game itu menyenangkan? Kalau dari sudut pandang pribadiku, selera gameku bergeser seiring waktu. Dulu aku suka game offline yang unik, menantang, atau game-game klasik. Tapi lama-lama main sendiri itu membosankan. Sekarang, aku jauh lebih suka game yang bisa dimainkan bareng teman.Dari sini aku paham, game itu seru bukan cuma karena urusan kejar poin, tapi karena ada aspek menghabiskan waktu dan berinteraksi bersama teman.Di dalam Octalysis Framework, hal ini dibagi menjadi 8 Core Drives (Penggerak Inti). Yuk kita bedah bagaimana keterkaitannya dengan Duolingo dan mari kita kasih skor dari 1-10 berdasarkan pengalaman pribadiku:1. Epic Meaning & Calling (Skor: 6/10)Dorongan di mana kita merasa menjadi bagian dari sesuatu yang lebih besar. Di Duolingo, kita merasa seperti bagian dari komunitas global yang sedang berjuang menguasai bahasa baru bersama jutaan orang lainnya.2. Development & Accomplishment (Skor: 10/10)Dorongan internal untuk membuat kemajuan dan mengatasi tantangan. Ini dapet skor penuh karena Duolingo jagonya memvisualisasikan progres lewat level, grafik, dan pop-up selamat yang bikin otak kita dapet asupan dopamin.Potret Aplikasi DuolingoDitambah lagi, Duolingo itu punya karakter-karakter interaktif yang ikonik banget, mulai dari si burung ijo (Duo), mbak-mbak rambut ungu (Lily), om-om kekar (Eddy), anak-anak (Junior), dan my favorito character, si beruang coklat (Falstaff). Nah, mereka ini bakal muncul di widget atau notifikasi HP kita dengan ekspresi yang berubah-ubah tergantung waktu. Semisal pagi-pagi tampilannya masih aman dan ceria, siang-siang mulai ngingetin, sore-sore udah mulai muncul ekspresi mengintimidasi, dan kalau udah malam malah jadi serem kayak mau nyulik 😭. Uniknya lagi, kalau sampai kita pakai streak freeze, widget si burung ijo bakal ikut membeku. Tapi kalau sampai streak-nya beneran padam, burungnya bakal kelihatan kayak mati gitu. Lucu tapi ngeri juga sih, kreatif banget buat bikin kita cepet-cepet buka aplikasi.3. Empowerment of Creativity & Feedback (Skor: 4/10)Prinsip yang mendorong pengguna mengekspresikan diri atau putar otak mencari strategi tanpa takut gagal. Di Duolingo aspek ini agak kurang karena jalurnya sudah kaku (tinggal jawab soal yang ada), tidak seperti game open-world yang membebaskan kreativitas kita.4. Ownership & Possession (Skor: 8/10)Potret Duolingo di WebsiteKeinginan untuk memiliki, mengontrol, dan menjaga sesuatu. Kita merasa memiliki akun kita, mengoleksi badge-badge bulanan yang estetik, dan mengumpulkan Diamond. Karena merasa "itu milikku", kita ingin merawat dan memperbagusnya.5. Social Influence & Relatedness (Skor: 8/10)Potret Duolingo di WebsiteDorongan sosial seperti kompetisi, koneksi, dan perbandingan dengan orang lain. Fitur Leaderboard di Duolingo bener-bener memicu jiwa kompetitif kita saat melihat posisi kita kesalip oleh orang lain di menit-menit terakhir penutupan liga.6. Scarcity & Impatience (Skor: 8/10)Menginginkan sesuatu karena sifatnya terbatas atau langka. Fitur batas waktu pengerjaan Quest harian atau penawaran XP Boost yang cuma aktif 15 menit memaksa kita buat buru-buru buka aplikasi saat itu juga.7. Unpredictability & Curiosity (Skor: 5/10)Rasa ingin tahu karena adanya unsur misteri atau kejutan. Contohnya saat kita membuka peti hadiah harian atau selesai menyelesaikan misi tertentu, tapi udah bisa ketebak sih hadiahnya.8. Loss (Skor: 10/10)my runtunanKetakutan akan kehilangan sesuatu. Ini dia pilar paling kuat di Duolingo! Rasa takut kehilangan angka streak harian adalah alasan terbesar mengapa aplikasi ini tetap dibuka meskipun kita sedang mager-magernya, sedang ngantuk ngantuknya. Aku kadang ga cuma sekali kebangun tengah malam jam 23.50-an, cuma buat nyalain api wkwk.Dari Keseluruhan Core Drive, inilah hasil octalysis versiku:octalysis duolingo versikuFitur Penyelamat: Pembeku Runtunan (Streak Freeze)pembeku runtunanJujur, dari runtunanku sejauh ini yang sudah mencapai 831 hari, kalau gak ada fitur ini mungkin aslinya sudah 900 hari lebih, atau bahkan tembus 1000 hari.Fitur ini memungkinkan kita untuk "absen" istilahnya, dan ini malah memicu ketergantungan baru. Apalagi slot pembeku itu terbatas dengan harga yang lumayan mahal, sekitar 200 Diamond. Tapi fitur ini krusial banget buat menjaga psikologis kita biar gak gampang menyerah.Bayangkan kamu sudah dapet 20 hari streak tapi gak punya pembeku, terus kamu lupa, ketiduran, atau mati lampu seminggu. Kalau sampai ke-reset dari nol, kemungkinan besar kita bakal bilang: "Ah yasudahlah, kereset dari nol, hapus aja aplikasinya." Fitur ini sukses menahan user agar tidak langsung quit dan kehilangan motivasi.KesimpulanDuolingo adalah contoh nyata bagaimana sebuah aplikasi edukasi yang aslinya berpotensi membosankan (karena belajar tata bahasa itu melelahkan, in my opinion yaa), bisa diubah menjadi sebuah produk yang bikin candu dan dicintai penggunanya. Mereka tidak cuma asal tempel poin atau papan peringkat, tapi mereka benar-benar paham bagaimana mengotak-atik psikologi manusia, mulai dari memicu rasa bangga saat meraih prestasi hingga memanfaatkan rasa takut kehilangan kemajuan lewat sistem streak.Meskipun motivasiku kadang bergeser dari "ingin belajar" menjadi "takut streak padam", mekanisme ini terbukti sukses membuatku tetap terpapar bahasa asing setiap hari selama ratusan hari berturut-turut. Sebuah kemenangan mutlak bagi sebuah aplikasi edukasi.Btw, buat kalian yang juga punya Duolingo, boleh kali follow profilku hehe, ini profil ku: @HannDefinedSampai ketemu di post selanjutnya, dan jangan lupa nyalain api nya 🔥Terimakasih...

#duolingo #gamifikasi #psikologi
til26 Mei 20262 min read0 views

Menerapkan SEO Terstruktur pada Astro

Hari ini saya ingin merangkum bagaimana arsitektur SEO (Search Engine Optimization) modern diterapkan secara efisien pada website ini menggunakan Astro.SEO yang berkualitas tinggi bukan hanya tentang penempatan kata kunci, melainkan harmonisasi performa situs (Lighthouse > 95) dan kejelasan data terstruktur untuk mesin pencari.Ada 4 pilar utama SEO yang berhasil diintegrasikan ke dalam basis kode kita:1. Dinamis Meta & Open Graph (OG) TagsDi dalam src/layouts/Layout.astro, meta tags dikonfigurasi secara dinamis untuk mendukung rich sharing preview di platform sosial seperti WhatsApp, X/Twitter, dan Discord:Canonical URL: Mencegah masalah konten duplikat (duplicate content) dengan secara otomatis mencocokkan Astro.url.pathname dengan domain utama.Twitter & OG Meta: Menyediakan visual preview premium secara dinamis menggunakan judul artikel, deskripsi, dan gambar cover yang disesuaikan per artikel.2. JSON-LD Structured Data (BlogPosting)Untuk membantu mesin pencari seperti Google memahami struktur artikel kita secara mendalam dan mendetail, kita menyisipkan skema data terstruktur (Structured Data) berupa JSON-LD di dalam src/pages/[category]/[slug].astro.Berikut skema minimal yang digunakan secara dinamis:{ "@context": "https://schema.org", "@type": "BlogPosting", "headline": "post.title", "description": "seoDescription", "image": ["seoImage"], "datePublished": "post.created_at", "author": { "@type": "Person", "name": "Ahmad Royhan Najib (Han Najib)", "url": "https://blog.hannajib.my.id" }}Ini membuat artikel di blog kita memiliki kesempatan tinggi muncul dengan Rich Snippets menarik di halaman hasil pencarian.3. Kontrol Crawling (robots.txt) & Sitemap OtomatisSitemap: Menggunakan integrasi @astrojs/sitemap di dalam astro.config.mjs untuk mengindeks halaman-halaman publik secara berkala dan otomatis tanpa intervensi manual.Robots.txt: Menentukan rute yang boleh dirayapi. Rute sensitif seperti dashboard admin (/admin/*) dan /api/ secara eksplisit diblokir dari bot crawler menggunakan instruksi Disallow untuk keamanan.4. Performa Kecepatan Tinggi (Hybrid SSG/SSR)Kecepatan situs adalah salah satu faktor krusial dalam ranking SEO terbaru Core Web Vitals. Website ini memadukan Static Site Generation (SSG) untuk halaman detail artikel dengan cara mendeklarasikan export const prerender = true pada file [slug].astro. Ini membuat waktu pemuatan halaman (FCP - First Contentful Paint) sangat instan!Hasil Tes Performa Web Ini Di Lighthouse

#web #seo #astro
til8 Mei 20261 min read0 views

Tiga Bentuk Rasa Syukur

Nemu catatan lama dulu, pas kajian Remaja Masjid di sekolah. Ada bentuk rasa syukur yang di wujudkan dalam tiga bentuk: 1. Syukur dengan Lisan: Mengucapkan Alhamdulillah dan senantiasa memuji Allah SWT atas segala karunia-Nya.2. Syukur dengan Hati: Meyakini dengan sepenuh hati bahwa segala nikmat berasal dari Allah dan merasa ridha atas ketetapan-Nya.3. Syukur dengan Perbuatan: Menggunakan nikmat yang diberikan sesuai dengan kehendak Sang Pemberi. Misalnya, menggunakan harta untuk bersedekah atau menggunakan waktu sehat untuk beribadah.

#kajian #islam
til7 Mei 20262 min read0 views

Apakah mimpi boleh dicatat atau diceritakan?

Penasaran dikit, ini hasilnya dari google:Mimpi boleh dicatat maupun diceritakan. Dari sisi psikologi, mencatat mimpi adalah kebiasaan baik untuk mengenali emosi dan melatih memori. Namun, menurut pandangan agama dan budaya, terdapat panduan spesifik mengenai jenis mimpi apa yang sebaiknya diceritakan atau disimpan sendiri. [1, 2, 3, 4, 5]1. Dari Sudut Pandang Psikologi & SainsBanyak ahli kesehatan mental menyarankan untuk mencatat mimpi secara rutin (sering disebut dream journaling) menggunakan Halodoc atau buku harian. [1, 2]Mengenali Emosi Bawah Sadar: Catatan mimpi membantu Anda memahami kecemasan atau masalah yang sedang dipendam.Mencegah Stres: Dengan bercerita atau mencatat, pikiran yang terbebani oleh mimpi buruk bisa lebih cepat ditenangkan.Memicu Kreativitas: Banyak seniman menggunakan memori mimpi sebagai inspirasi karya. [1]2. Dari Sudut Pandang Agama (Islam)Dalam ajaran Islam, mimpi dibagi menjadi tiga jenis: mimpi baik dari Allah (kabar gembira), mimpi buruk dari setan, dan bunga tidur (refleksi pikiran sehari-hari). [1, 2, 3, 4, 5]Mimpi Baik: Dianjurkan untuk diceritakan, namun hanya kepada orang-orang yang Anda cintai atau orang yang dipercaya agar tidak menimbulkan rasa iri. Sebaiknya awali dengan memuji Allah (mengucapkan Alhamdulillah). [1, 2]Mimpi Buruk: Tidak boleh diceritakan kepada siapa pun. Anda disarankan meludah ke kiri tiga kali, membaca ta'awudz (memohon perlindungan dari setan), dan mengubah posisi tidur.Ada gula ada semut, bismika allahumma ahya wa bismika amut...

#psikologi #random
til4 Mei 20262 min read0 views

Hukum Menepuk Nyamuk Saat Hendak Melaksanakan Salat

Dulu waktu aku masih Madrasah, sekitar kelas 1 sampai 4, aku pernah mau salat berjamaah di rumah bareng keluarga. Pas lagi siap-siap, ada seekor nyamuk yang kelihatan gendut banget lewat, langsung aja kutepok sampai mati. Terus kakakku yang ngelihat langsung bilang kalau darah nyamuk itu najis. Aku agak lupa kelanjutannya gimana, tapi seingatku waktu itu aku akhirnya mutusin buat ambil wudhu lagi karena ragu.Setelah sekian, akhirnya aku penasaran lagi, dan hasil dari pencarian ku yaitu:Ulama berbeda pendapat (ikhtilaf) mengenai status hukum darah nyamuk. Namun, jika jumlahnya sedikit dan menempel pada mukena atau baju, mayoritas ulama menyatakan statusnya adalah najis ma'fu.Berikut adalah beberapa bentuk najis yang umumnya dimaafkan dalam fikih Islam (terutama Mazhab Syafi'i):Darah atau Nanah yang Sedikit: Contohnya seperti darah dari nyamuk, kutu, jerawat, bisul, atau luka ringan pada bagian tubuh yang volumenya sangat kecil.Bangkai Hewan Tanpa Darah Mengalir: Bangkai hewan kecil yang darahnya tidak mengalir saat dipotong (seperti nyamuk, lalat, atau semut) yang jatuh ke dalam air atau benda cair, asalkan tidak mengubah warna, bau, atau rasa air tersebut.Hewan dan Kotoran di Sekitar Kita: Benda najis yang sulit dihindari karena berada di sekitar lingkungan kita, seperti bulu kucing (yang rontok saat hidup) serta kotoran cicak yang sudah kering.Percikan Air Kencing yang Halus: Percikan air kencing yang sangat halus seperti embun (di luar kesengajaan) yang mengenai pakaian atau tempat dan sulit dihindari.Najis yang Tak Terlihat Mata: Contohnya seperti kotoran yang menempel pada kaki lalat, serta debu atau asap di jalanan yang bercampur najis dan sulit dibersihkan.

#islam #fikih
til30 Apr 20262 min read0 views

Kalo gak baca ini sampai habis, nanti...

Kemarin pas lagi scrolling reels, lewat video religius tuh, waktu itu langsung kuskip ke bawah. Tapi anehnya, pas video itu udah lewat, tiba-tiba di dalam pikiranku muncul bisikan aneh: "Kalau gak aku scroll ke atas lagi terus tonton sampai habis, nanti aku bakal dapat sial atau dosa..."Bagian terburuknya, kadang-kadang muncul pikiran yang lebih kocak tapi bikin cemas kayak: "Kalau video ini gak aku like, aku gak bakal masuk surga." 😭 Padahal aku tahu betul itu cuma video lewat dan bagian dari algoritma aja.Dari situ, muncul penasaran kenapa otakku bisa se-random dan se-lebay itu, aku coba cari tahu di internet. Ternyata, fenomena pikiran "jika-maka" yang bikin cemas ini adalah sepupu dekat dari Call of the Void (l'appel du vide).Nah ini kata google :Call of the void (dalam bahasa Prancis: l'appel du vide) adalah fenomena psikologis normal di mana seseorang tiba-tiba mendapat dorongan sekilas untuk melakukan tindakan berbahaya, seperti melompat dari ketinggian atau membanting setir ke jalur berlawanan.Fakta Cepat tentang "Call of the Void"Bukan Niatan Bunuh Diri: Dorongan ini muncul secara refleks, sangat singkat, dan biasanya langsung diiringi rasa kaget atau cemas. Anda tidak memiliki keinginan nyata untuk benar-benar melakukannya.Respon Otak: Para ahli meyakini ini adalah bentuk mekanisme pertahanan otak—sebuah "alarm" keamanan yang terlalu aktif agar Anda menyadari potensi bahaya di sekitar dan insting bertahan hidup Anda menyala.Sangat Umum: Banyak orang mengalaminya saat berada di jembatan, tepi tebing, atau mengemudi di jalanan sepi. "Kalo aku ga komen di bawah, aku bakal mimpi diculik alien"

#psikologi
til23 Apr 20262 min read0 views

"12 Tahun Yang Terasa Begitu Cepat"

Barusan aku scroll reels Instagram, dan nemu sebuah video singkat sekitar 10 detik. Isinya transisi video dari SD sampai SMA dengan style karakter Denji yang digambar berseragam. Di video itu ada dialog bubble berbunyi: "12 tahun yang terasa begitu cepat".Terus aku buka kolom komentar, nah disini aku nemu ada perdebatan singkat.Ada yang komen: "Coba tanya atau bilang itu kepada siswa yang kena bully."Terus dibales: "Tetep saja bang bakal kangen sama masa masa sekolah walaupun sering di bully, karena pada dasarnya kehidupan dewasa itu tidak menyenangkan"Dan dibales lagi: "Bro bayangin kamu dibully dari kelas 1 sd sampai kelas 6 misal, terus lu di smp juga dikucilkan dan dapet trauma di sana otomatis lu malah lebih nganggep enakan pas udah gak sekolah daripada pas sekolah karena sudah merasa bebas dari perundungan"Setelah itu ada balesan lagi, dia cerita masa sekolahnya yang kena bully. Disini ga kutulis ya..Melihat itu, aku langsung penasaran dan coba riset kecil-kecilan lewat internet dan diskusi sama AI. Ternyata, dari perdebatan ketikan netizen ini, ada fakta psikologis yang menarik banget:Rasa Kangen Sekolah itu adalah Hak Istimewa (Privilege): Riset psikologi menunjukkan bahwa bernostalgia dan merindukan masa lalu hanya bisa terjadi kalau otak kita merekam memori masa itu sebagai tempat yang "aman". Jadi, kalau ada orang yang bisa bilang "Aduh, pengen balik ke masa sekolah lagi deh," itu tandanya masa sekolah mereka dulu cenderung aman, normal, dan menyenangkan.Dunia Dewasa Lebih Baik untuk Korban Bullying: Bagi korban perundungan kronis, dunia dewasa, sekeras apa pun itu, tetap terasa jauh lebih baik daripada masa sekolah. Kenapa? Karena di dunia dewasa kita punya Otonomi (Kendali penuh). Pas sekolah, kalau dibully, kita gak punya pilihan selain terpaksa dateng lagi besoknya ke kelas yang sama. Tapi pas udah dewasa, kalau lingkungan kerja atau pertemanan kita toxic, kita punya hak penuh secara finansial dan hukum buat resign, pergi, atau memutus kontak (cut-off) orang tersebut.Pesannya simpel aja: stop bullying.

#psikologi
til22 Apr 20262 min read0 views

Mengenal Istilah UKT & IPI

Gak kerasa, sebentar lagi aku bakal resmi jadi mahasiswa. Nah kemarin kan aku lagi ngisi form pendaftaran, dan setelah selesai, aku disuruh ngisi sebuah lembar surat pernyataan, disitu ada tertera istilah yang namanya UKT dan IPI. Istilah UKT sudah tidak asing lagi, tapi penasaranku membuatku mencari nya di internet.Ini ringkasan singkat dari yang aku pelajariUKT (Uang Kuliah Tunggal) adalah sistem pembayaran biaya pendidikan di Perguruan Tinggi Negeri (PTN) di mana mahasiswa membayar satu tarif tetap setiap semesternya, yang sudah mencakup seluruh biaya operasional seperti SKS, praktikum, dan ujian. Uang pembayaran ini menggunakan prinsip subsidi silang. Kampus bakal melihat slip gaji orang tua kita buat nentuin kita masuk kelompok (golongan) berapa, yang ekonominya kuat bantu subsidi yang kurang mampu.IPI (Iuran Pengembangan Institusi) sering juga disebut uang pangkal atau sumbangan pengembangan institusi). Ini adalah biaya pembangunan yang dikenakan oleh Perguruan Tinggi Negeri (PTN) kepada mahasiswa yang diterima melalui jalur seleksi mandiri. Uang IPI ini dialokasikan khusus buat investasi jangka panjang kampus, seperti bangun gedung baru, beli alat laboratorium, atau upgrade fasilitas fisik lainnya.

#kuliah
til21 Apr 20261 min read0 views

Dua Tipe Motivasi Manusia

Berdasarkan psikologi, dorongan atau motivasi seseorang dalam melakukan sesuatu itu dibagi menjadi dua tipe utama:Motivasi Intrinsik (Dari Dalam): Dorongan yang murni berasal dari keinginan diri sendiri tanpa adanya paksaan atau iming-iming hadiah. Contohnya: Belajar skill baru karena memang ingin bisa atau demi peningkatan kualitas diri.Motivasi Ekstrinsik (Dari Luar): Dorongan yang dipicu oleh faktor eksternal atau reward dari luar. Contohnya: Melakukan sesuatu karena mengejar poin, hadiah, atau takut kehilangan pencapaian yang sudah dibangun (Loss Aversion).Intinya, kalau motivasi dari dalam lagi padam, biasanya motivasi dari luar inilah yang "memaksa" kita buat tetap konsisten belajar.

#psikologi #produktivitas #belajar
til20 Apr 20262 min read0 views

Metode SMART Goals, 3 Esensi Magang, & Parameter Ilmu

Hari ini aku membuka dan mempelajari kembali catatan lama saat masa magang dulu. Ada beberapa poin penting yang sangat relevan untuk dievaluasi ulang mengenai penetapan target (goal setting), esensi dalam dunia kerja, serta parameter keberhasilan suatu ilmu.1. Merancang Target dengan Metode SMARTAgar sebuah target tidak sekadar menjadi wacana, perancangannya harus memenuhi 5 unsur SMART:S (Specific): Target harus jelas dan spesifik.M (Measurable): Memiliki indikator yang dapat diukur keberhasilannya.A (Achievable): Realistis dan dapat dicapai, bukan hal yang mustahil.R (Relevant): Sesuai dan mendukung tujuan besar atau kondisi saat ini.T (Time-bound / Timely): Memiliki batas waktu (deadline) yang jelas.Contoh Penerapan: "Dalam waktu 6 bulan, saya harus bisa membuat web/mobile app yang dapat digunakan oleh satu sekolah."2. Tiga Pilar Utama Tujuan MagangPengalaman magang atau masuk ke dunia industri bukan sekadar mencari sertifikat, melainkan harus memenuhi tiga aspek utama:Hand (Keterampilan): Aspek teknis, keahlian praktis, dan hard skills yang diasah langsung di lapangan.Head (Keilmuan): Pemahaman konsep, logika berpikir, analisis masalah, dan penyerapan wawasan baru.Heart (Etika): Pembentukan karakter, profesionalisme, komunikasi, kejujuran, dan soft skills.3. Parameter Ilmu yang BermanfaatBerdasarkan catatan tersebut, keberhasilan atau kualitas dari ilmu yang telah dipelajari tidak diukur dari seberapa banyak teori yang dihafal, melainkan dari dua parameter nyata:Ilmu yang diamalkan: Digunakan untuk menyelesaikan masalah nyata atau mempermudah pekerjaan sehari-hari.Ilmu yang disebarkan: Diajarkan atau dibagikan kembali kepada orang lain agar memberikan dampak yang lebih luas.

#produktivitas #wawasan
note13 Apr 20268 min read0 views

Cerita Perjalananku di LKS Web Technology

Cerita Perjalananku di LKS Web Technology

Awal Cerita Semua ini dimulai saat aku masih duduk di kelas 11, Waktu itu, aku terpilih untuk mewakili sekolahku, SMKN 8 Jember, dalam ajang LKS (Lomba Kompetensi Siswa) di bidang lomba Web Technology. Saat itu kemampuanku baru mentok di HTML, CSS, dan Javascript. Sementara itu, teknologi seperti Laravel dan React adalah makhluk asing yang baru pertama kali kudengar.Aku tidak sendirian, ada temanku, Dewa, yang juga terpilih untuk mewakili bidang IT Software Solution. Sebagai persiapan awal, kami berdua diikutkan program bootcamp di PT Universal Big Data (UBIG) Malang.Perjalanan kami dimulai dengan fase pra-bootcamp pada bulan November. Selama sebulan, kami harus bolak-balik latihan 1-2 kali seminggu, Materi yang diberikan benar-benar fokus pada standar LKS, dan ya... itu terasa sangat sulit untuk diriku ini yang baru melangkah dari dasar web.Masa-Masa Singgah di MalangSekitar tanggal 8 Desember kalo nggak salah, aku mulai berangkat ke Malang untuk mengikuti bootcamp intensif. Di sana, aku bertemu dengan banyak siswa hebat yang menjadi perwakilan dari sekolah mereka masing-masing.Di UBIG, kami dilatih menggunakan metode simulasi ril seperti lomba aslinya. Bayangkan, kami diberi alokasi waktu ketat, hanya 4 jam untuk menyelesaikan setiap modul. Saat itu, ada 3 modul utama yang harus dikuasasi:Server Side: Fullstack menggunakan Laravel dan ReactClient Side: Pembuatan game/aplikasi interaktif dengan HTML CanvasSpeedtest: Uji kecepatan coding dasar menggunakan HTML, CSS, JS, dan PHPSulit? Banget. Tapi dari simulasi yang menguras energi fikiran inilah yang menempa mental kami agar tidak kaget saat lomba nanti. Bonusnya, aku bisa mengukur kekuatan calon-calon pesaing dari daerah lain.Setelah program bootcamp selesai, aku dan Dewa tidak langsung pulang ke Jember. Kebetulan, Praktik Kerja Lapangan (PKL) wajib dari sekolah langsung menyambung saat itu juga. Pihak jurusan juga memutuskan agar kami melanjutkan PKL langsung di UBIG.Kilas Balik LKS Kabupaten 2025Memasuki bulan februari 2025, waktu perlombaan tingkat kabupaten sudah semakin mepet. Aku dan Dewa pulang ke Jember untuk fokus latihan di sekolah. Suasana sekolah saat itu sepi, tidak ada teman-teman sekelas karena mereka semua juga PKL di tempatnya masing-masing. Setelah pulang ke rumah pum, aku masih lanjut mengulik soal hingga ngantuk.Berdasarkan hasil Technical Meeting (TM), LKS Web Technology tingkat kabupaten Jember 2025 akan dilaksanakan selama satu hari penuh dengan durasi 8 jam untuk menyelesaikan 3 modul sekaligus. Tempat pelaksanaannya di Lab SMKN 6 Jember, dengan dua juri ahli: Pak Citra dari Mascitra.com dan Pak Afrizal dari HummatechH-1 Persiapan AlatSiang menjelang sore, aku ditemani guru pembimbingku, Pak Anas, berangkat ke tempat koordinasi untuk mempersiapkan alat dan mengambil nomor urut. Saat Pak Anas yang mengambil undian... dan yap, takdir berkata, aku mendapat nomor urut 1! Pak Anas sambil tertawa kecil, dan aku hanya bisa menghela napas sambil tertawa (tertawa tapi ter...), tapi gapapa,"Semoga juaranya nanti juga sama seperti nomor urut ini." dalam hati.Aku langsung menuju komputer lomba untuk melakukan instalasi semua software dan framework yang dibutuhkan. Aku double check semuanya, testing di mode offline, dan semuanya berjalan tanpa kendala. Setelah yakin, aku mencentang lembar verifikasi, menandatanganinya, lalu pulang.Hari H LombaBesok paginya, aku berangkat ke lokasi lomba bersama pak Anas. Tepat pukul 07.30, kompetisi dimulai dan soal pun dibagikan dalam bentuk cetak dan PDF.Untuk modul Server Side, tantangannya adalah membuat website penentuan jurusan SMK berbasis kuestional, atau semacam sistem CAT (Computer Assisted Test). Aku memutuskan untuk fokus menyelesaikan modul ini terlebih dahulu. Namun, di sinilah masalah dimulai.Saat mencoba mengimpor database SQL bawaan soal, sistem terus-terusan mengeluarkan pesan errawr. Waktu terus berjalan, terpaksa aku memuat migrasi databasenya secara manual satu persatu, lalu melanjutkan pembuatan tiap-tiap endpoint API nya.Masalah belum selesai, begitu aku tes menggunakan postman, ternyata postman nya tidak bisa dipakai untuk membuat collection baru karena posisinya sedang offline. Oke, masalah itu masih ada solusinya. Begitu semua API selesai dan aku beralih ke bagian Frontend (React JS), masalah kedua yang lebih besar datang: React nya tidak bisa jalan karena ada dependensi yang hilang.Aku langsung angkat tangan dan bertanya ke juri. Tapi sesuai regulasi ketat LKS, peserta sama sekali tidak boleh mengakses internet setelah lomba dimulai. Keringat dingin langsung mengucur. Pikiranku kacau. Perasaan kemarin saat persiapan alat sudah aku double check semua dan aman-aman saja, kenapa sekarang malah begini?melihat waktu yang terus berjalan, akhirnya aku mengambil keputusan untuk men-skip total bagian Frontend dan langsung melompati sisa modul lainnya. Untungnya, aku masih bisa menyelesaikan sisa modul yang lain dengan baik hingga waktu habis.Saat sesi presentasi tiba, sebagai nomor urut 1, aku maju pertama kali. Aku mempresentasikan hasil kerjaku apa adanya, memperlihatkan API di postman yang berfungsi tapi tanpa tampilan Reactnya yang selesai karena error tadi. Aku pulang hari itu dengan perasaan kecewa yang teramat sangat. Ada rasa bersalah kepada guru-guru yang sudah menaruh harapan besar padaku, meskipun mereka tetap menenangkanku dengan kalimat-kalimat penyemangat.Pengumuman HasilHari Jumat tiba, hari penutupan LKS Dikmen Jember 2025 sekaligus momen pengumuman. Jantungku berdegup kencang luar biasa. Jujur, aku sudah sangat pesimis dan merasa paling mentok hanya akan mendapat juara 4 atau 5, itu pun kalau beruntung.Satu per satu nama teman-temanku dari bidang lomba lain sudah tertera: Juara 1, Juara 1, Juara 1. Begitu masuk ke bidang Web Technology... namaku muncul sebagai Juara 3.Jleg. Ada rasa syukur karena masih diapresiasi, tapi di sisi lain ada rasa sedih yang mendalam karena LKS web ini hanya Juara 1 dan 2 yang berhak memegang tiket lolos ke tingkat Provinsi. Impian provinsiku terhenti di tahun itu. Setelah itu, aku kembali melanjutkan sisa masa PKL-ku hingga bulan Juni dengan sisa-sisa evaluasi di kepala.LKS Kabupaten Jember 2026Waktu berputar cepat hingga menjelang musim LKS 2026. Saat itu, jadwalku sedang padat-padatnya karena harus mempersiapkan Ujian Kompetensi Keahlian (UKK) sekolah. Tiba-tiba, aku diminta oleh pihak jurusan untuk ikut LKS lagi. Kebetulan, ada regulasi baru dari pusat yang memperbolehkan siswa kelas 12 untuk ikut berkompetisi (berlaku sejak tahun lalu, bahkan pemenangnya saat itu juga anak kelas 12).Aku menerima tantangan itu. Kali ini tekanannya berbeda. Ada target besar yang dibebankan di pundakku: minimal harus lolos ke tingkat provinsi. Tapi sebenarnya, tanpa ditarget pun, itu sudah menjadi dendam pribadiku yang belum tuntas.Akhirnya aku mulai membagi waktu yang super ketat antara belajar UKK, tugas sekolah, dan mengulik kembali soal-soal LKS terdahulu. Kondisinya semakin menantang karena di waktu yang bersamaan, aku juga sedang mengikuti kompetisi hackathon Dinacom di UDINUS Semarang. Hari-hariku benar-benar habis di depan laptop dan VS Code.Tepat H-7 LKS Kabupaten, aku baru saja menginjakkan kaki pulang dari Semarang. Aku langsung mengikuti Technical Meeting secara online. Hasilnya: LKS Web Technology Jember 2026 akan diadakan di Lab SMKN 6 Jember dengan juri Pak Citra dari PT Mascitra. Waktunya tetap 8 jam dalam 1 hari, namun kali ini modulnya dipangkas menjadi dua saja: Server Side dan Client Side.H-1 Persiapan AlatJam 1 siang, aku datang ke SMKN 6 Jember ditemani guru pembimbingku, Bu Setyo. Agenda pertama: pengambilan nomor urut. Kali ini aku mengambilnya sendiri. Dan tebak apa yang terjadi? Nomor urut 1 lagi! Benar-benar dejavu yang luar biasa.Masuk ke sesi instalasi alat, aku belajar banyak dari trauma tahun lalu. Kali ini aku tidak mau ceroboh. Semua software, framework, dependensi, hingga template dasar aku backup berlapis-lapis di lokal komputer untuk mengantisipasi masalah offline. Aku menghabiskan waktu cukup lama di lab hanya untuk memastikan tidak ada satu pun package yang tertinggal. Begitu semuanya terasa solid dan tanpa celah, aku tandatangani berkas verifikasi lalu pulang dengan yakin.Hari PertandinganPukul 07.00 pagi, aku dan Bu Setyo sudah tiba di lokasi. Setengah jam kemudian, lomba resmi dimulai setelah juri membacakan teknis pengerjaan soal.Aku membuka lembar soal pertama: Modul Server Side. Tugasnya adalah membuat Sistem Informasi Rumah Sakit yang mencakup pendaftaran pasien, konsultasi medis, dan kuesioner otomatis untuk menentukan apakah pasien harus rawat jalan atau rawat inap.Kemudian aku membuka lembar soal kedua: Modul Client Side. Begitu membaca halaman pertamanya, peserta diminta membuat game Flappy Bird menggunakan JavaScript murni. Detik itu juga aku membatin dalam hati, "Oke, mari kita amankan Server Side sampai sekokoh mungkin dulu wkwk."Proses pengerjaan Server Side berjalan sangat lancar. Struktur database aman, API berjalan sesuai ekspektasi, dan integrasi dengan React-nya kali ini berjalan mulus tanpa ada drama error dependency seperti tahun lalu. Namun, karena detail fiturnya cukup kompleks, alokasi waktu habis sebelum aku sempat menyentuh game Flappy Bird di Client Side.Sesi presentasi dimulai, dan lagi-lagi aku menjadi penampil pertama. Presentasiku berjalan lancar dan meyakinkan di bagian sistem rumah sakit, meskipun aku harus berterus terang kepada juri kalau bagian game-nya belum sempat tersentuh. Setelah itu, giliran peserta lain maju hingga matahari mulai meredup di sore hari.Momen PembuktianSelesai presentasi terakhir, juri memutuskan untuk langsung mengumumkan hasilnya hari itu juga di dalam lab. Suasana seketika berubah menjadi tegang. Juri mulai membacakan peringkat dari bawah: peringkat 6, peringkat 5, peringkat 4... dan namaku masih belum disebut.Jantungku berdegup kencang. Peringkat 3 disebut... dan masih bukan namaku. Itu artinya aku otomatis masuk ke dalam 2 besar! Dan akhirnya..."Juara 1 LKS Web Technology Kabupaten Jember 2026 jatuh kepada... Peserta 1 dari SMKN 8 Jember!"ALHAMDULILLAH! Rasanya lega. Dendam tahun lalu terbayar lunas. Aku berhasil mengamankan peringkat pertama sekaligus mengantongi tiket resmi menuju LKS Tingkat Provinsi Jawa Timur!Pada hari penutupan resmi LKS, aku maju ke atas panggung dengan senyuman lepas sebagai Juara 1.Perjalanan Ke ProvinsiSetelah euforia kabupaten selesai, realita kelas 12 kembali menyambut. Jadwal UKK sekolah sudah menanti di depan mata. Melihat jadwalku yang tumpang tindih, Pak Kukuh selaku Kepala Program Keahlian (Kaprogli) RPL memberikan kelonggaran penuh,"Kamu fokus persiapan LKS Provinsi saja."Kebijakan itu membuatku bisa membagi fokus dengan lebih baik, tetap mengikuti UKK sembari menggenjot latihan untuk level provinsi yang terkenal jauh lebih ganas.Waktu berjalan cepat hingga tanggal 6 April 2026, bertepatan dengan hari pertama ujian PSAJ di sekolah. Pagi-pagi sekali, aku berangkat bersama guru pembimbing menuju Surabaya, kota yang menjadi saksi bisu perjuangan berikutnya.Hari pertama di Surabaya belum ada apa-apa. Jadwal hari itu baru sebatas familiarisasi alat untuk bidang lombanya Dewa. Untuk bidang Web Technology, sesi familiarisasi baru digelar keesokan harinya di SMKN 1 Surabaya. Kami mengumpulkan alat, melakukan pengecekan komputer, dan mendengarkan penjelasan teknis dari dewan juri provinsi secara luring.Hari Pertama Kompetisi: Modul Client SideRabu pagi pukul 08.00. Tantangan hari pertama adalah Modul Client Side dengan durasi pengerjaan selama 4 jam hingga pukul 12.00.Juri membacakan soal yang cukup mengejutkan: kami diminta membuat sebuah aplikasi Connection Visualizer. Di dalam aplikasi ini, pengguna harus bisa membuat objek lingkaran di layar canvas, memberi label pada lingkaran tersebut, menghubungkannya satu sama lain menggunakan garis interaktif, dan sistem harus bisa menghitung serta menampilkan jalur terpendek (shortest path) di antara lingkaran-lingkaran tersebut.Secara logika dan algoritma, mekanismenya langsung terbayang di kepalaku. Aku memutuskan untuk mengeksekusinya menggunakan HTML Canvas. Namun, di tengah-tengah, ada momen konyol yang membuatku panik: aku mendadak lupa fungsi JavaScript untuk menggambar lingkaran sempurna di Canvas! Daripada membuang waktu berharga hanya untuk mengingat satu baris fungsi, aku langsung memutar otak dan mengganti semua objek lingkaran menjadi bentuk kotak (shape square). Yang penting fungsi logika dan fiturnya berjalan dengan benar. Begitu waktu habis, dari segi fungsionalitas, aplikasiku berjalan aman sesuai ketentuan soal. Aku pulang ke hotel hari itu dengan rasa optimis yang cukup tinggi.Hari Kedua Kompetisi: Modul Server SideKamis pagi, babak penentuan dimulai dengan Modul Server Side, masih dengan durasi ketat yang sama yaitu 4 jam. Soal dibacakan, dan tantangannya adalah membuat sebuah Website Builder Platform menggunakan Laravel dan React, sebuah sistem kompleks yang konsepnya mirip seperti WordPress mini, di mana pengguna bisa membuat website mereka sendiri lewat dasbor.Aku langsung tancap gas. Struktur backend menggunakan Laravel berhasil kuselesaikan dengan rapi. API-API penting untuk manajemen konten berhasil dibuat. Namun, memindahkan semua logika itu ke tampilan React dengan sisa waktu 1 setengah jam adalah tantangan yang *&#%^%@^&HWUWJNVW@&#@. Ketika waktu habis, aku baru berhasil menyelesaikan bagian Frontend hingga fitur autentikasi pengguna saja. Meski belum selesai 100%, pencapaian itu sudah membuatku merasa cukup kompetitif dibanding peserta lain.Akhir Cerita: Pelajaran BerhargaSore hari menjelang Maghrib, suasana di ruangan pengumuman terasa sangat menegangkan. Pihak juri mengumumkan bahwa mereka akan langsung mengumumkan posisi 3 besar terbaik hari itu juga. Satu per satu nama dari posisi ketiga hingga pertama dibacakan oleh juri di depan mikrofon. Aku menahan napas, berharap namaku disebut di sana mengingat rasa optimis yang kubawa dari modul Client Side kemarin. Tapi hingga nama terakhir disebut... namaku belum berhasil masuk ke jajaran 3 besar tersebut.Ada rasa sesak yang sempat mampir di dada, apalagi saat itu aku sedang berada di puncak rasa optimis. Ternyata persaingan di tingkat provinsi memang berada di level yang berbeda. Akhirnya, kami pun mengemas barang dan memutuskan untuk langsung melakukan perjalanan pulang ke Jember.Beberapa hari kemudian, lembar rekapitulasi nilai keseluruhan dari panitia provinsi resmi dirilis secara online. Aku langsung membuka filenya dan mencari namaku di daftar tersebut.+------------------------------------+| RANK | NAMA PESERTA |+------------------------------------+| 01 | Peserta Kota X || 02 | Peserta Kabupaten Y || 03 | Peserta Kota Z || .. | ... || 06 | AHMAD ROYHAN NAJIB | <--- Peringkatku+------------------------------------+Aku berada di Peringkat 6 Tingkat Provinsi Jawa Timur.Meleset sedikit saja dari zona medali utama. Meskipun ada rasa penasaran yang tersisa, tapi begitu merefleksikan kembali perjalanan ini dari awal kelas 11, di mana aku tidak tahu apa-apa tentang Laravel dan React, hingga kini bisa bersaing dengan siswa-siswi terbaik perwakilan sekolah di tingkat provinsi, rasanya tidak ada alasan untuk tidak bersyukur.Alhamdulillah. Perjalanan LKS ini memberikan jauh lebih banyak hal daripada sekadar piala: mentalitas, kemampuan problem solving, dan bukti bahwa kegagalan di tahun lalu bisa diubah menjadi kemenangan di tahun berikutnya jika kita mau belajar dari pengalaman.Terimakasih...

#lomba
note10 Apr 20261 min read0 views

Memulai Ruang Digital Baru

Halo! Kenalin, namaku Ahmad Royhan Najib, di internet aku sering pake nama HanNajib (singkatan simpel dari nama panggilanku dan nama belakangku).Ruang ini kubuat karena aku ingin sharing dan mendokumentasikan proses belajarku biar gak gampang lupa. Bukan cuma hasil yang udah jadi, tapi juga pas ketemu bug, error, dan hal-hal lain. Dan ga cuma pemrograman yaa.Blog ini sengaja kudesain seminimalis mungkin supaya nyaman dibaca. Sekalian untuk menantang diri sendiri: bisa konsisten atau enggak.Rencananya, halaman ini bakal kubagi jadi beberapa bagian spesifik:Notes: Tempat share hasil riset, pengalaman pribadi, atau tulisan random.Works: buat update dari proyek yang lagi kugarap.TIL: sesuai kepanjangannya "Today I Learn" untuk hal yang baru kupelajari.Snaps: tempat menyimpan foto random atau estetik.Tulisan pertama ini sekalian buat ngetes kalo kode Astro dan database Supabase yang kubangun udah sinkron dan jalan lancar.Selamat datang, semoga ada hal bermanfaat yang bisa diambil.

#introduction