Proyek perangkat lunak mahasiswa sering melibatkan banyak komponen: pustaka, modul, paket pihak ketiga, hingga kode yang dibuat sendiri. Ketika jumlah komponen bertambah, tim dapat kesulitan menjawab pertanyaan sederhana: apa saja isi aplikasi ini, versi apa yang digunakan, dan bagaimana hubungan antarbagian tersebut?
Software Bill of Materials (SBOM) membantu menjawab kebutuhan itu. SBOM untuk proyek mahasiswa adalah inventaris formal dan terstruktur mengenai komponen perangkat lunak beserta hubungan dependensinya. Dengan dokumentasi ini, isi aplikasi menjadi lebih transparan dan lebih mudah dipelihara sepanjang siklus hidup proyek.
Apa Itu SBOM?
SBOM merupakan catatan mengenai bahan penyusun sebuah perangkat lunak. Istilah ini mirip dengan daftar bahan pada suatu produk, tetapi diterapkan pada aplikasi. Isinya dapat mencakup pustaka, modul, paket pihak ketiga, serta komponen yang dikembangkan sendiri.
Selain mencatat nama dan versi komponen, SBOM juga dapat menggambarkan hubungan dependensi. Informasi tersebut membantu tim memahami komponen mana yang digunakan secara langsung dan bagian mana yang menjadi dependensi dari komponen lain.
Agar dapat digunakan secara efektif, SBOM sebaiknya disimpan dalam format terstruktur dan dapat dibaca mesin. Dengan begitu, informasi di dalamnya lebih mudah diproses oleh alat atau alur kerja lain, bukan hanya dibaca secara manual oleh anggota tim.
Mengapa SBOM Penting untuk Proyek Mahasiswa?
SBOM bukan hanya dokumen tambahan untuk memenuhi kebutuhan administrasi. Dalam proyek kuliah, tugas akhir, maupun pengembangan aplikasi bersama, inventaris komponen dapat memberikan manfaat praktis berikut.
- Mengetahui isi aplikasi. Tim memiliki gambaran yang lebih jelas tentang komponen yang membentuk perangkat lunak.
- Memetakan dependensi. Hubungan antar-komponen dapat ditelusuri ketika terjadi perubahan atau masalah.
- Membantu penelusuran kerentanan. Jika suatu komponen perlu diperiksa karena memiliki kerentanan, tim dapat mengetahui apakah komponen tersebut digunakan dalam proyek.
- Mendukung pemeriksaan lisensi. Informasi komponen membantu tim meninjau lisensi perangkat lunak yang digunakan.
- Memudahkan pemeliharaan. Ketika versi dependensi berubah, SBOM menjadi acuan untuk memperbarui catatan dan menilai dampaknya terhadap rilis.
Manfaat tersebut tidak berarti SBOM otomatis membuat aplikasi aman atau seluruh kewajiban lisensi telah terpenuhi. SBOM adalah dasar inventarisasi dan transparansi yang mendukung proses pemeriksaan lebih lanjut.
Kapan SBOM Dibuat?
SBOM dapat dibuat pada beberapa tahap siklus hidup perangkat lunak. Tim tidak harus menunggu aplikasi selesai sepenuhnya. Pencatatan dapat dimulai dari rancangan proyek dan disempurnakan ketika informasi komponen menjadi lebih lengkap.
- Tahap desain: mencatat komponen yang direncanakan untuk digunakan.
- Dari source code: mengidentifikasi dependensi yang tercantum atau digunakan oleh kode sumber.
- Saat build: mendata komponen yang masuk ke dalam hasil proses pembangunan aplikasi.
- Melalui analisis artefak: memeriksa berkas atau hasil rilis untuk menemukan komponen yang terkandung di dalamnya.
- Setelah deployment: mendokumentasikan komponen yang berada pada lingkungan tempat perangkat lunak dijalankan.
Pendekatan pada setiap tahap dapat menghasilkan sudut pandang yang berbeda. Catatan dari source code, hasil build, dan artefak rilis perlu dikelola secara konsisten agar tim memahami SBOM mana yang mewakili versi perangkat lunak tertentu.
Cara Membuat SBOM untuk Proyek Mahasiswa
1. Inventarisasi semua komponen
Mulailah dengan membuat daftar seluruh bagian yang digunakan proyek. Sertakan kode buatan sendiri, pustaka, modul, dan paket pihak ketiga. Jangan hanya mencatat komponen yang dianggap paling penting; komponen kecil pun dapat menjadi bagian dari rantai dependensi.
2. Identifikasi nama dan versi
Catat nama komponen dan versi yang digunakan. Informasi versi penting karena satu pustaka dapat memiliki perbedaan isi dan karakteristik antara satu versi dan versi lainnya. Jika informasi tertentu belum tersedia, tandai bagian tersebut untuk dilengkapi, bukan diabaikan.
3. Catat hubungan dependensi
Dokumentasikan bagaimana komponen saling bergantung. Tunjukkan komponen yang dipakai langsung oleh aplikasi dan dependensi yang hadir melalui komponen lain. Pemetaan ini akan membantu ketika tim menelusuri dampak perubahan atau mencari penggunaan suatu komponen.
4. Pilih format yang terstruktur
Gunakan format SBOM yang dapat dibaca mesin. SPDX merupakan salah satu standar terbuka untuk merepresentasikan informasi SBOM, lisensi, provenance, dan keamanan. CycloneDX juga merupakan contoh format yang dapat digunakan untuk menggambarkan komponen dan dependensi perangkat lunak.
Tim mahasiswa tidak harus memilih format berdasarkan tren. Pertimbangkan format yang dapat dipahami anggota tim, sesuai dengan kebutuhan proyek, dan mudah disimpan bersama dokumen rilis.
5. Simpan bersama rilis proyek
Letakkan SBOM sebagai bagian dari dokumentasi rilis. Pencatatan ini membantu anggota tim atau pengelola proyek mengetahui SBOM mana yang berkaitan dengan versi perangkat lunak tertentu. Hindari memperlakukan SBOM sebagai dokumen terpisah yang hanya dibuat sekali di awal pengembangan.
6. Perbarui ketika terjadi perubahan
SBOM perlu diperbarui ketika versi dependensi, komponen, atau artefak rilis berubah. Pembaruan kecil pada dependensi tetap perlu dicatat karena dapat mengubah isi perangkat lunak dan informasi yang harus ditinjau oleh tim.
Hubungan SBOM dengan Keamanan dan Lisensi
Inventaris komponen membuat pemeriksaan keamanan dan lisensi menjadi lebih terarah. Tim dapat menggunakan daftar tersebut sebagai dasar untuk menelusuri apakah komponen tertentu perlu diperiksa lebih lanjut atau apakah informasi lisensinya perlu dipahami.
Namun, SBOM tidak menggantikan pengujian keamanan, pemindaian kerentanan, atau validasi lisensi. SBOM hanya menyatakan komponen yang tercatat dan hubungan yang didokumentasikan. Kebenaran serta kelengkapan informasi tetap perlu ditinjau melalui proses yang sesuai.
SBOM adalah fondasi transparansi perangkat lunak, bukan sertifikat bahwa sebuah aplikasi bebas kerentanan atau seluruh penggunaan komponennya telah memenuhi ketentuan lisensi.
Praktik Sederhana agar SBOM Tetap Berguna
- Mulai dari proyek kecil agar tim terbiasa mendata komponen sejak awal.
- Gunakan penamaan dan pencatatan versi yang konsisten.
- Bedakan komponen yang dibuat sendiri dari komponen pihak ketiga.
- Dokumentasikan perubahan dependensi bersamaan dengan pembaruan SBOM.
- Simpan SBOM untuk setiap rilis yang relevan.
- Tinjau kembali kelengkapan SBOM sebelum perangkat lunak dibagikan atau dipresentasikan.
Penutup
SBOM untuk proyek mahasiswa membantu mengubah daftar dependensi yang tersebar menjadi inventaris yang lebih formal, transparan, dan dapat diproses. Dengan mendata komponen, versi, hubungan dependensi, serta informasi yang relevan, tim lebih siap memahami isi aplikasi dan memeliharanya ketika proyek berkembang.
Mulailah dari alur sederhana: inventarisasi komponen, catat nama dan versi, petakan dependensi, pilih format terstruktur, simpan bersama rilis, lalu perbarui ketika terjadi perubahan. Kebiasaan ini dapat menjadi bagian penting dari praktik pengembangan perangkat lunak yang rapi, bertanggung jawab, dan siap menghadapi kebutuhan teknis di dunia global.








Leave a Reply