Wawasan · Tentang

Kenapa Library di MEA Tools Dibangun dari Nol, Bukan Pakai Library Orang?

Kebanyakan tools PDF atau konversi dokumen di internet sebenarnya cuma antarmuka cantik di atas library open-source yang sama — pdf-lib, pdf.js, mammoth, dan sejenisnya dipakai ulang di mana-mana. MEA Tools pilih jalan yang lebih panjang: menulis sendiri parser, konverter, dan fungsi kriptografinya dari nol. Ini kenapa, dan ini juga pengecualiannya — karena nggak semuanya ditulis sendiri, dan itu memang keputusan yang disengaja.

Yang ditulis dari nol itu beneran "dari nol"

Ambil contoh folder pdf-lib yang jadi otak di balik hampir semua tools berbasis PDF di MEA Tools — mulai dari gabung PDF, pecah PDF, convert PDF ke Word, isi formulir PDF, sampai enkripsi dan watermark. Folder ini berisi hampir 37 file JavaScript dengan total lebih dari 10.000 baris kode, dan semuanya ditulis dari nol: parser objek PDF mentah, tokenizer, interpreter content stream, penyusun ulang struktur xref, sampai rasterizer untuk render halaman jadi gambar.

Artinya waktu MEA Tools "membaca" sebuah file PDF, itu bukan panggilan ke library orang yang tinggal pakai — ada kode yang benar-benar mem-parsing byte demi byte struktur file PDF sesuai spesifikasinya, ditulis khusus untuk kebutuhan tools ini. Hal serupa berlaku di folder-folder lain: logika kompresi gambar, konversi warna, generate QR code, sampai fungsi hash — semuanya kode sendiri, bukan nempel package npm yang tinggal import.

Kenapa repot-repot nulis sendiri?

Ada beberapa alasan konkret, bukan cuma gengsi teknis:

Tapi nggak semuanya ditulis dari nol — dan itu disengaja

Supaya artikel ini jujur, bukan cuma promosi: ada beberapa bagian di MEA Tools yang memang memakai library atau model pihak ketiga, dan itu keputusan sadar, bukan kelupaan.

Bagian menariknya ada di dalam kode sendiri: satu-satunya bagian lain yang sengaja tidak ditulis manual dari nol adalah fungsi AES untuk enkripsi PDF — itu memanfaatkan Web Crypto API bawaan browser, bukan implementasi AES buatan sendiri. Alasannya ditulis jelas di komentar kode: AES dipakai untuk keamanan sungguhan (melindungi isi PDF dari pihak lain), dan implementasi AES bawaan browser sudah teraudit ketat serta tahan terhadap serangan timing attack — sesuatu yang sangat berisiko kalau ditulis ulang manual tanpa jaminan audit keamanan setara.

Sebagai perbandingan, fungsi hash MD5 dan RC4 di tools yang sama memang ditulis manual dari nol — karena di situ MD5/RC4 dipakai untuk kebutuhan format data PDF lama (bukan untuk melindungi kerahasiaan data), bukan untuk tujuan keamanan yang sensitif.

Prinsipnya

Tulis Sendiri Kalau Masuk Akal, Pakai yang Teruji Kalau Menyangkut Keamanan

Filosofi di MEA Tools bukan "harus semua dari nol apa pun risikonya" — tapi menulis sendiri di bagian yang memang masuk akal dikuasai penuh, dan menyerahkan ke implementasi yang sudah teraudit di bagian yang menyangkut keamanan data sungguhan.

Lihat Semua Tools →

Kenapa ini penting buat kamu sebagai pengguna?

Mungkin kedengarannya cuma detail teknis di balik layar. Tapi dampaknya langsung terasa: tools yang ditulis khusus untuk kebutuhannya sendiri cenderung lebih ringan dijalankan, lebih cepat dibuka, dan perilakunya lebih bisa diprediksi — karena tidak membawa beban kode generik yang sebenarnya nggak kepake. Dan di bagian yang memang krusial buat keamanan data kamu, seperti enkripsi PDF, pilihan untuk memakai implementasi yang sudah teruji justru lebih aman dibanding kalau semuanya dipaksa ditulis manual demi konsistensi semata.

Masih terus berkembang

Penting juga buat disadari: pendekatan "tulis dari nol" ini artinya setiap fitur baru butuh waktu lebih lama dibanding tinggal pasang library siap pakai. Khusus urusan PDF misalnya, pdf-lib yang dibangun sendiri ini baru mencakup sebagian dari keseluruhan hal yang bisa dilakukan terhadap file PDF — dunia format PDF itu luas, dan MEA Tools belum berhenti di titik ini. MEA Tools secara umum masih terus dikembangkan dan ditambah, jadi cakupan fitur yang ada sekarang bukan versi final — akan terus bertambah seiring waktu.