30 Soalan dan Struktur Data di Belakangnya
Interface ujian SBTI nampak simple — 30 soalan, setiap satu 3 pilihan, klik klik klik siap. Tapi dalam saat kau klik "seterusnya," backend dah mula bina model psikologi tentang kau.
Pertama kena faham satu struktur teras: 30 soalan ni bukan disusun secara rawak. Ia diagihkan dengan tepat ke 15 dimensi psikologi, setiap dimensi ada tepat 2 soalan. Nombor dimensi dari S1 sampai So3, ikut susunan Diri (S1-S3), Emosi (E1-E3), Sikap (A1-A3), Tindakan (Ac1-Ac3), Sosial (So1-So3). Soalan 1-2 sepadan S1 (kestabilan harga diri), soalan 3-4 sepadan S2 (kejelasan diri), soalan 5-6 sepadan S3 (nilai teras), dan seterusnya.
Setiap soalan ada tiga pilihan yang masing-masing sepadan 1 mata, 2 mata, 3 mata. Tapi ada satu detail mudah terlepas pandang: bukan semua soalan pilihan disusun ikut urutan menaik. Ada soalan yang skor terbalik — pilihan pertama 3 mata, pilihan terakhir 1 mata. Reka bentuk terbalik ni untuk elak kau main "pilih semua pertama" atau "pilih semua terakhir" untuk manipulasi keputusan.
30 soalan siap, sistem pegang 30 nilai. Seterusnya ia jumlah ikut dimensi — 2 soalan setiap dimensi dijumlahkan, dapat skor mentah dimensi tu. Oleh sebab setiap soalan 1-3 mata, 2 soalan dijumlah julat ialah 2 ke 6 mata. 15 skor mentah ni ialah asas data untuk keseluruhan keputusan ujian kau.
Dari Skor ke Tahap: Tiga Kategori
Skor mentah dah dapat, langkah seterusnya ialah kategorikan ia. Logik kategorisasi ni simple sampai mengejutkan:
- 2-3 mata → L (Low, Rendah)
- 4 mata → M (Medium, Sederhana)
- 5-6 mata → H (High, Tinggi)
Perhatikan taburan ni: L merangkumi 2 dan 3 mata dua nilai, H merangkumi 5 dan 6 mata dua nilai, manakala M cuma sepadan 4 mata satu nilai je. Bermakna kebarangkalian dapat M paling rendah — dua soalan kau kena tepat jadi kombinasi 1+3 atau 2+2. Dari sudut statistik, M kemungkinan muncul lebih jarang berbanding L dan H.
Pilihan reka bentuk ni menarik. Ia tunjukkan SBTI sengaja elak "perangkap pertengahan" — tak biar kebanyakan orang jatuh ke zon tengah, tapi tolak kau ke dua hujung. Kau dalam dimensi tertentu kemungkinan besar sama ada tinggi atau rendah, bukan tak tinggi tak rendah. Ni buat potret personaliti akhirnya lebih jelas, lebih ada "personaliti," dan lebih sesuai dijadikan screenshot share kat Stories.
Katakan kau dalam S1 (kestabilan harga diri) dua soalan pilih 2 mata dan 3 mata, jumlah 5 mata, masuk H. Dalam E2 (tahap pelaburan emosi) pilih 1 mata dan 2 mata, jumlah 3 mata, masuk L. 15 dimensi semua siap dikategorikan, kau dapat satu rentetan 15 huruf. Dibahagi lima kumpulan dimensi dengan tanda sempang, nampak macam ni: HMH-LML-HHM-LMH-HML. Rentetan huruf ni ialah "DNA personaliti" kau — input untuk semua pengiraan seterusnya.
Padanan Corak: DNA Kau Lawan 25 Template Standard
Lepas dapat DNA personaliti kau, sistem kena buat benda ni: bandingkan ia dengan DNA standard 25 jenis personaliti biasa satu per satu, cari yang paling serupa kau.
Setiap jenis biasa ada satu rentetan corak 15 huruf yang telah ditetapkan. Contoh CTRL (Si Pengawal) corak standard ialah HHH-HMH-MHH-HHH-MHM, DEAD (Si Mayat) corak standard ialah LLL-LLM-LML-LLL-LHM. Kau boleh nampak beza secara langsung: CTRL hampir semua H (tinggi), manakala DEAD hampir semua L (rendah).
Cara perbandingan guna jarak Manhattan (Manhattan Distance). Mula-mula tukar L/M/H kepada nombor: L=1, M=2, H=3. Lepas tu ambil rentetan nombor 15 dimensi kau dan rentetan nombor 15 dimensi jenis standard, tolak setiap posisi, ambil nilai mutlak, lepas tu jumlah semua.
Contoh konkrit: andaikan corak kau ialah HHL-MHH-MLH-HHM-HLH, tukar ke nombor 3,3,1-2,3,3-2,1,3-3,3,2-3,1,3. Bandingkan dengan corak standard CTRL HHH-HMH-MHH-HHH-MHM (iaitu 3,3,3-3,2,3-2,3,3-3,3,3-2,3,2):
Beza setiap posisi: |3-3|=0, |3-3|=0, |1-3|=2, |2-3|=1, |3-2|=1, |3-3|=0, |2-2|=0, |1-3|=2, |3-3|=0, |3-3|=0, |3-3|=0, |2-3|=1, |3-2|=1, |1-3|=2, |3-2|=1
Jumlah jarak = 0+0+2+1+1+0+0+2+0+0+0+1+1+2+1 = 11
Lepas tu tukar ke peratus keserupaan: max(0, round((1 - 11/30) × 100))% = 63%. Makin kecil jarak, makin tinggi keserupaan. Jarak maksimum teori ialah 30 (15 dimensi setiap satu beza 2), jadi bahagi 30 untuk normalisasi.
Kedudukan, Fallback, dan Sebotol Arak
Sistem siap buat pengiraan untuk semua 25 jenis biasa, susun ikut jarak dari kecil ke besar — jarak paling kecil ialah padanan terbaik kau. Kalau dua jenis jarak sama, ia seterusnya bandingkan "bilangan dimensi padanan tepat" (berapa dimensi yang betul-betul sama), yang lebih banyak padanan didahulukan.
Tapi sebelum umumkan keputusan, masih ada dua pintu pagar:
Pintu pagar pertama ialah ambang keserupaan. Kalau padanan terbaik kau keserupaan kurang dari 60% — bermakna kau dengan jenis yang paling serupa kau pun tak sampai enam puluh peratus — sistem akan tentukan "template sedia ada tak muat kau," terus letak kau ke HHHH (Si Gelak). Ni reka bentuk "fallback" kejuruteraan: pastikan tak kira corak jawapan macam mana pelik pun tetap dapat keputusan, bukan halaman error.
Pintu pagar kedua sebenarnya lebih awal dalam timeline: semakan DRUNK. Selepas 30 soalan rasmi siap, sistem akan tunjukkan soalan tambahan tentang minuman beralkohol. Kalau kau trigger "laluan pemabuk" — secara khusus, lepas satu soalan kawalan 4 pilihan, kemudian lepas satu soalan pengesahan 2 pilihan — sistem akan langkau sepenuhnya semua proses padanan corak di atas, terus bagi kau DRUNK. 30 soalan yang kau jawab dengan tekun tadi? Semua sia-sia. Inilah easter egg yang kekal dari SBTI asal sebagai "alat nasihat anti-mabuk."
Jadi aliran penentuan keputusan penuh ialah: semak DRUNK dulu → kalau tak trigger, buat padanan corak → padanan terbaik ≥ 60% guna ia → kurang dari 60% bagi HHHH.
Pengekodan Keputusan: 16 Digit Kata Laluan Kongsi
Keputusan ujian keluar, ada satu langkah terakhir: enkod ia ke format yang boleh dikongsi.
Link kongsi SBTI menyembunyikan satu rentetan 16 digit angka tulen. 15 digit pertama ialah skor mentah kau pada 15 dimensi (setiap dimensi satu digit, julat 2-6), digit terakhir ialah penanda DRUNK (0 atau 1). Contoh rentetan 5342364553423420 bermakna: S1=5, S2=3, S3=4, E1=2, E2=3, E3=6, A1=4, A2=5, A3=5, Ac1=3, Ac2=4, Ac3=2, So1=3, So2=4, So3=2, DRUNK=0.
Pengekodan ni disisipkan dalam parameter ?result= link kongsi. Kawan buka link, sistem terus kira balik skor dimensi penuh dan keputusan padanan dari 16 digit ni — tak perlu jawab semula untuk tengok keputusan kau. Sebab tu pengalaman link kongsi SBTI sangat lancar: buka terus nampak, tengok siap boleh terus buat padanan CP dengan keputusan sendiri.
Cara pengekodan ni juga bermakna satu benda: link kongsi kau mengandungi semua 15 skor mentah dimensi kau. Orang yang faham teknikal boleh terus baca profil psikologi penuh kau dari link, malah boleh kira sendiri padanan kau dengan jenis lain. Dari satu segi, 16 digit ni membawa lebih banyak maklumat daripada nama jenis kau — ia satu snapshot psikologi penuh, cuma dikompresi jadi satu barisan nombor yang tak menonjol.
Kenapa Penting Faham Algoritma
Ada orang tanya: faham detail algoritma ni guna apa? Aku cuma nak uji jenis pastu share kat WhatsApp je.
Nilai faham algoritma bukan supaya kau "main lebih baik," tapi supaya kau faham betul makna dan had keputusan.
Tahu setiap dimensi cuma 2 soalan, kau faham kenapa uji semula keputusan berubah — tukar satu pilihan satu soalan, skor dimensi boleh dari H jadi M malah L, seluruh keputusan padanan berubah ikut. Tahu cara kira jarak Manhattan, kau faham beza "73% padanan" dan "95% padanan" sebenarnya seberapa besar — yang pertama bermakna beberapa dimensi berbeza dari corak standard, yang kedua hampir padanan sempurna.
Tahu ambang 60% HHHH, kau pun faham kenapa jenis ni sangat jarang — 25 corak standard dah merangkumi kebanyakan ruang kombinasi dimensi, kau kena sangat "luar norma" baru boleh jatuh ke zon buta semua template.
Algoritma SBTI tak rumit, tapi ia cukup elegan. Guna data paling sedikit (30 pilihan) bina satu profil psikologi 15 dimensi, lepas tu guna pengiraan jarak paling ringkas padankan ia ke satu label yang ada meme, ada gambaran, buat orang tak tahan nak screenshot. Seluruh sistem dari input ke output, semuanya direka untuk satu matlamat: "bagi kau sesuatu yang boleh dikongsi."