Langsung ke konten
AFM Studio
  • Halaman

    AFM Studio
  • Karya
  • Lab
  • Tentang
  • CV
  • Kontak
  • Proyek

    AksaraPerpustakaan pengetahuan Otorita IKN yang bisa dicari, dengan server memeriksa akses setiap pembaca di tiga tingkat
  • Daily TaqwaSistem presensi salat anti-manipulasi untuk ~2.000 pegawai OIKN di Masjid Negara IKN
  • Lantara v2Mesin perizinan Otorita IKN tempat administrator menambah jenis izin baru dari layar, tanpa developer
  • eKiosk IKNDua ruang kendali untuk Nusantara: konten kios dan pelacakan bus live dengan estimasi kedatangan yang menilai dirinya sendiri
  • E-Monev IKNPlatform pemantauan pembangunan Nusantara selama 23 tahun, melacak progres triwulan setiap unit terhadap 24 KPI
  • JDIH OIKNPortal dokumen hukum publik OIKN, dengan alur penerbitan terkendali dan ringkasan AI yang tidak pernah keluar dari server
  • Jejak PenanamanAplikasi absen acara penanaman pohon IKN yang membuktikan peserta hadir di lokasi lewat selfie ber-geofence
  • Dashboard SAKTIPipeline malam dan dashboard yang menggantikan unduhan anggaran manual di keenam satker OIKN
  • DoseRxKalkulator dosis untuk 127 obat yang membulatkan dosis ke tablet dan sirup yang dijual apotek Indonesia
  • CubiqPelatih speedcubing dengan timer setara kompetisi dan solver buatan sendiri untuk 8 puzzle utama
  • ScimotionPerpustakaan sains interaktif berisi 86 artikel, masing-masing dijelaskan bersama animasi yang bisa dikendalikan pembaca
  • WA Daily Scrum BotBot WhatsApp yang menagih laporan standup tim 14 orang dan menandai tugas yang macet berhari-hari

↑ ↓ untuk berpindah · Enter untuk membuka · Esc untuk menutup

Rumah Adat Nusantara

Koleksi 35 bangunan adat Indonesia yang dihitung dari aturan adatnya, masing-masing menunjukkan porsi yang terdokumentasi

Tangkapan layar
bangunan, masing-masing dari aturannya sendiri
35
halaman di empat tampilan dan dua bahasa
280
ukuran dari survei terukur, ditampilkan terbuka
0%
panggilan jaringan, jalan tanpa wifi
0
Di halaman ini

Masalahnya

Kebanyakan orang Indonesia mengenal rumah adat sebagai daftar hafalan untuk ujian sekolah: sebuah nama, sebuah provinsi, gambar sebuah atap. Tidak ada yang menjelaskan kenapa atapnya berbentuk seperti itu. Pengetahuannya ada di etnografi, buku survei provinsi, dan monografi arsitektur. Tapi semuanya tersebar, kebanyakan belum diterjemahkan, dan ditulis untuk para spesialis.

Jawaban digital yang biasa, model 3D yang fotorealistik, diam-diam membuat keadaan lebih buruk. Render yang mulus menyatakan setiap ukuran dengan penuh keyakinan, termasuk ukuran yang tidak pernah diukur siapa pun.

Saya membuat Rumah Adat Nusantara terutama untuk pembaca Indonesia yang penasaran, di ponsel, dalam bahasa Indonesia. Situs ini juga untuk mahasiswa dan pengajar arsitektur atau antropologi yang ingin melihat logika dan rujukannya, lalu memeriksanya.

Yang saya bangun

Setiap bangunan dihitung dari aturan adatnya

Setiap bangunan dibangkitkan dari aturan yang mengaturnya: pangkat sebuah rumah tangga, jumlah keluarga di bawah satu atap, jumlah ruang, atau panjang lengan bawah pemiliknya. Ubah salah satu angka itu dan bangunannya tersusun ulang di depan mata. Tidak ada slider lengkung atap, karena bentuk atap adalah hasil. Kontrolnya hanya menawarkan hal yang akan disebut sebuah keluarga tentang dirinya sendiri. Setiap tiang, kasau, dan sambungan saya tulis sebagai hitungan biasa, tanpa impor CAD atau pustaka pemodelan.

Inti bersama hanya tumbuh dari pola yang berulang

Inti bersama menyimpan hal yang berlaku untuk bangunan apa pun: bagian, sambungan, urutan pembangunan, simetri, dan sumber. Semua hal yang bersifat budaya tetap tinggal di bangunan pemiliknya. Tidak ada yang masuk ke inti sebelum dua bangunan membutuhkannya secara terpisah, karena abstraksi dari satu contoh akan ikut berbentuk seperti contoh itu. Saya memilih rumah gadang Minangkabau sebagai bangunan kedua justru karena ia akan membongkar asumsi: bubungannya membentang ke arah lain dan bentuknya tidak simetris. Tes menggagalkan build kalau inti menyebut nama sebuah tradisi.

Setiap ukuran menyebut asal-usulnya

Setiap ukuran diberi label terukur, kanon, atau interpolasi, lengkap dengan sumbernya. Halaman sumber mendaftar setiap ukuran beserta rujukannya dan seberapa besar rumahnya berubah kalau angka itu digeser. Saya tidak pernah merata-ratakan angka dari dua bangunan, karena bangunan yang belum disurvei bisa bersembunyi di balik bangunan yang sudah disurvei. Setiap bangunan juga punya catatan kehati-hatian yang menyebut penyederhanaannya. Saat ini belum ada satu pun ukuran yang terukur, dan sebuah bilah di setiap layar menunjukkan pembagian itu.

Setiap gambar berasal dari modelnya

Siluet di halaman depan, pelat katalog, gambar teknik yang diekspor, dan ke-70 kartu berbagi dihitung dari bagian yang sama dengan yang diperiksa tes. CI membandingkannya piksel demi piksel dengan generatornya, jadi sebuah ilustrasi tidak mungkin berbeda dari modelnya. Mataharinya juga dihitung. Setiap bangunan punya lokasi nyata, dan adegannya menampilkan posisi matahari sebenarnya di atas lokasi itu pada tanggal yang dipilih.

Bangunan disandingkan, tidak pernah dilebur

Halaman perbandingan menaruh dua bangunan di satu garis tanah dengan satu skala. Saya tidak melebur satu tradisi menjadi tradisi lain, karena itu menyiratkan kesinambungan yang tidak ada. Gerakan dibatasi pada lima animasi yang masing-masing menunjukkan satu mekanisme, seperti rangka yang berdiri sambungan demi sambungan atau hujan yang mengalir dari atap. Tidak ada yang berputar sekadar hiasan.

Hasilnya

Rumah Adat Nusantara sudah live dan terbuka untuk umum dalam bahasa Indonesia dan Inggris. Isinya 35 bangunan: 26 rumah, dua lumbung, tiga balai, sebuah istana, sebuah rumah perahu, sebuah makam batu, sebuah menara kremasi, sebuah kompleks sembilan bangunan, dan sepasang rumah leluhur. Lokasinya membentang di tiga zona waktu. Setiap bangunan punya empat halaman, total 280, dan pemeriksaan strukturnya sendiri yang dijalankan pada minimal lima kombinasi aturan. Pemeriksaan yang gagal menghentikan rilis. Situs ini tidak punya backend dan tidak memanggil jaringan, jadi tetap jalan tanpa wifi. Saya membangunnya dalam delapan hari, dari 25 Agustus sampai 1 September 2026.

Di balik layarDetail teknis untuk engineer
  • buildHouse(rules) murni dan deterministik: aturan masuk, bagian dan sambungan keluar. lib/ tidak boleh menyentuh three.js, DOM, Math.random, atau jam; components/ tidak membangkitkan apa pun; lapisan aplikasi tidak tahu bangunan mana yang dipegangnya.
  • lib/core/ (~3.200 baris) generik terhadap kosakata setiap tradisi, sehingga bagian Minangkabau tidak bisa mengklaim tahap konstruksi Toraja dan tetap lolos type-check. Tes gagal kalau inti menyebut nama tradisi atau satu tradisi mengimpor tradisi lain.
  • Kelas provenance: measured, canon, dan interpolated. checkAgainstSurvey selalu melaporkan skipped. Audit ukuran yang di-hardcode justru menaikkan porsi interpolasi, dan angka yang lebih tinggi itulah yang dirilis.
  • Contoh: tongkonan Toraja dengan 155 bagian dan 33 sambungan, rumah bubungan tinggi Banjar dengan 318 bagian, rumah Arfak yang 168 kakinya masing-masing miring menurut hash posisi gridnya.
  • Rute per bangunan: /bangun (generator), /rakit (pendirian rangka), /baca (matahari, hujan, potongan, rencana tapak), /sumber (rujukan dan sensitivitas). /banding membandingkan dua bangunan.
  • Catatan kehati-hatian setiap bangunan menyebut batasannya. Catatan untuk sudung Orang Rimba, misalnya, menyatakan bahwa Orang Rimba adalah orang-orang yang masih hidup di hutan yang terus menyusut, dan halaman ini bukan catatan tentang masa lalu.
  • Sumbernya antara lain Waterson, The Living House (1990), dan buku-buku survei arsitektur Departemen P&K. Kalau kosakata ukiran milik para pengukir tertentu, paket bangunannya tidak menampilkan ukiran daripada mengarang anggota kosakata itu.
  • URL: path adalah bangunannya, query string adalah rumah itu dalam nama parameter tradisinya sendiri, fragment adalah kamera, tanggal, dan jam. Nama lama Tongkonan dan Pasak masih bisa dibuka dan dialihkan.
  • Posisi matahari NOAA diimplementasikan sendiri dan divalidasi dengan nilai almanak. Lokasi membentang dari 5,6° LU (Banda Aceh) sampai 10,5° LS (Seba), 95,3° BT sampai 140,7° BT (Jayapura).
  • three.js adalah satu-satunya pengecualian yang disengaja, hanya untuk merasterisasi mesh yang dibangkitkan proyek ini. Rasteriser PNG dan alfabet goresan buatan sendiri menghasilkan 70 kartu berbagi. Garis pantai Natural Earth disimpan di repo, tidak pernah diambil saat runtime.
  • Pelajaran: build yang hijau tetap merilis satu rute yang error saat dibuka (material dengan kunci string), dan satu atap lolos keenam belas pemeriksaan padahal kelihatan salah. Keduanya melahirkan tes umum, termasuk checkRoofFollowsSection. Empat pemeriksaan pernah hanya mengulang input-nya dan dibangun ulang dari angka yang independen.
  • Dynamic import per bangunan memangkas first load dari 579 KB menjadi ~262 KB. Ambient occlusion masih berupa bidang kontak radial-gradient.
  • Empat dependensi runtime (next, react, react-dom, three). 365 file HTML hasil export.
  • 1.770 tes di 58 file. ~96.600 baris, ~65.200 di antaranya untuk 35 paket aturan. 210 commit, 61 di hari tersibuk.

Tangkapan layar

Beranda
Tapak Nusantara
List of Rumah
Rumah Detail
Bangun Rumah
Urai Rumah

Sedang merekrut, atau membangun hal serupa?

Saya terbuka untuk posisi full-time dan proyek freelance tertentu.