← Kembali ke Beranda
Ilustrasi Artikel

Perbedaan Framework dan Library: Analogi Sederhana untuk Pemula

Halo Sobat Jurnal Coding! Pernahkah kamu mendengar para programmer senior berdebat sengit di forum internet? Biasanya mereka memperdebatkan sesuatu yang terdengar seperti bahasa alien, misalnya: "React itu cuma library, bukan framework!" atau "Laravel itu framework terbaik!".

Bagi kamu yang baru terjun ke dunia pemrograman, mendengar istilah Framework dan Library pasti membuat dahi berkerut. Keduanya memang sama-sama alat bantu yang diciptakan untuk mempermudah hidup programmer, agar kita tidak perlu mengetik kode dari nol. Namun, secara konsep, mereka memiliki perbedaan yang sangat mendasar.

Jika kamu ingin melamar pekerjaan sebagai Web Developer, memahami bedanya Library dan Framework adalah pengetahuan wajib mutlak. Mari kita bedah perbedaannya menggunakan analogi yang sangat manusiawi!

### Analogi Library: Kotak Perkakas Tukang Kayu

Mari kita mulai dengan Library (Pustaka). Bayangkan kamu adalah seorang tukang kayu yang sedang membuat sebuah meja. Kamu memiliki sebuah Kotak Perkakas besar yang berisi gergaji, palu, paku, dan meteran.

Saat kamu butuh memotong kayu, kamu mengambil gergaji. Setelah selesai, kamu menyimpan gergajinya kembali. Saat kamu butuh menyatukan kayu, kamu mengambil palu.

Poin pentingnya di sini adalah: Kamu yang memegang KENDALI PENUH. Kamu bebas memutuskan kapan alat itu dipakai, di mana dipakainya, dan kapan disimpannya.

Di dunia coding, Library bekerja persis seperti kotak perkakas itu. Library adalah sekumpulan kode yang sudah ditulis oleh orang lain untuk melakukan satu tugas spesifik. Misalnya, ada Library khusus untuk membuat animasi meluncur, atau Library untuk memanipulasi tanggal dan waktu.

Kodemu adalah bosnya. Kodemu akan memanggil fungsi dari Library tersebut saat dibutuhkan, dan jika tidak dibutuhkan, Library itu akan diam saja di sudut programmu. Contoh Library yang paling terkenal di dunia JavaScript adalah jQuery dan React.

### Analogi Framework: Kerangka Rumah Cetak

Sekarang, mari kita bahas Framework (Kerangka Kerja).

Bayangkan kamu membeli sebuah rumah cetak (prefabrikasi) dari perusahaan arsitektur besar. Rumah itu sudah memiliki fondasi besi, dinding beton, lubang jendela, dan jalur pipa air yang sudah terpasang kaku.

Tugasmu hanyalah mendekorasi rumah tersebut. Kamu boleh memilih warna cat, kamu boleh menaruh TV di ruang tamu, atau menaruh kasur di kamar tidur. TETAPI, kamu TIDAK BOLEH memindahkan letak dapur menjadi di teras depan, karena struktur kerangkanya sudah ditetapkan dari pabrik. Jika kamu memaksa merobohkan tiang utamanya, rumah itu akan rubuh!

Di dunia coding, Framework adalah rumah cetak tersebut. Framework adalah fondasi struktur aplikasi yang sangat besar dan sudah memiliki aturan main yang ketat.

Berbeda dengan Library di mana kodemu adalah bosnya, di dalam Framework, Framework-lah yang menjadi bosnya! Framework akan menyediakan tempat-tempat kosong, dan kodemu harus dimasukkan persis ke dalam tempat kosong tersebut. Di dunia rekayasa perangkat lunak, fenomena bertukar kendali ini disebut dengan Inversion of Control (Pembalikan Kendali).

Framework akan memanggil kodemu, bukan sebaliknya. Contoh Framework yang sangat populer adalah Laravel untuk bahasa PHP, atau Angular untuk bahasa JavaScript.

### Mengapa Kita Membutuhkan Keduanya?

Membuat aplikasi raksasa sekelas Tokopedia atau Gojek menggunakan JavaScript murni (Vanilla JS) adalah sebuah tindakan bunuh diri. Waktumu akan habis hanya untuk memikirkan keamanan data dan struktur tata letak.

Dengan menggunakan Framework, tim programmer bisa bekerja jauh lebih cepat karena standar aturannya sudah jelas. Jika ada programmer baru yang bergabung ke perusahaan, dia tidak perlu bingung membaca kode lama, karena semua letak file sudah diatur oleh Framework!

Lalu, di sela-sela menggunakan Framework tersebut, programmer bisa meminjam alat dari Library untuk mempercantik animasinya. Kedua alat ini bekerja beriringan membentuk harmoni.

Setelah mengetahui perbedaan ini, kamu kini sudah sah berbicara layaknya seorang profesional di forum-forum diskusi teknologi. Di artikel selanjutnya, kita akan membahas mengapa alat-alat super canggih ini sering kali dibagikan secara gratis di internet. Tetap semangat belajar!

Apa pendapatmu tentang artikel ini?