SLiMS adalah akronim dari Senayan Library Management System. Awalnya dikembangkan oleh Perpustakaan Kementerian Pendidikan Nasional untuk menggantikan Alice ([http://www2.softlinkint.com](http://www2.softlinkint.com)). Tujuan utamanya agar Perpustakaan Kemdiknas memiliki kebebasan untuk menggunakan, mempelajari, memodifikasi, dan mendistribusikan perangkat lunak yang digunakan. Oleh karena itu, SLiMS dirilis dengan lisensi GPL dan saat ini pengembangannya dilakukan oleh komunitas penggunanya.
Asal Mula
Setelah beroperasi lebih dari 50 tahun, karena beberapa alasan Perpustakaan BC Indonesia yang selama bertahun-tahun menjadi andalan layanan BC di Indonesia harus ditutup. Pengelola BC Indonesia kemudian berinisiatif menghibahkan pengelolaan aset perpustakaannya kepada institusi pemerintah. Dalam hal ini, institusi pemerintah yang dianggap sesuai bidangnya dan strategis lokasinya adalah Departemen Pendidikan Nasional (Depdiknas). Yang dihibahkan tidak hanya koleksi, tetapi juga rak koleksi, perangkat keras (server dan workstation), serta sistem aplikasi manajemen administrasi perpustakaan, yaitu Alice.
Seiring berjalannya waktu, manajemen Perpustakaan Depdiknas mulai menghadapi beberapa kendala dalam penggunaan sistem Alice. Pertama, keterbatasan dalam menambahkan fitur-fitur baru, antara lain kebutuhan manajemen serial, katalog daring berbasis web, dan kustomisasi laporan yang sering berubah-ubah kebutuhannya. Penambahan fitur melalui modul resmi dari pengembang Alice membutuhkan biaya tambahan yang cukup besar. Selain itu, tidak adanya distributor resmi di Indonesia menyebabkan dukungan teknis harus mengandalkan pihak di Inggris. Ditambah lagi adanya persyaratan infrastruktur berbiaya tinggi, seperti dedicated public IP untuk meng-online-kan Alice di web.
Saat itu, untuk mengatasi sebagian kebutuhan, terutama kustomisasi laporan, dilakukan uji coba akses langsung ke basis data yang disimpan dalam format DBase. Terkadang berhasil, terkadang tidak, karena struktur datanya bersifat proprietary dan kompleks serta jumlah rekodnya sangat banyak. Untuk mempelajari struktur basis data tersebut, dilakukan kontak melalui email kepada pengembang Alice, tetapi tidak mendapat respons. Di sinilah muncul masalah kedua, yaitu sulitnya mempelajari lebih mendalam cara kerja perangkat lunak Alice. Karena Alice merupakan sistem proprietary yang tertutup, segala sesuatunya sangat bergantung pada vendor. Dibutuhkan biaya tambahan untuk mendapatkan layanan resmi maupun kustomisasi.
Perpustakaan Depdiknas memiliki salah satu tugas pokok dan fungsi untuk melakukan koordinasi pengelolaan perpustakaan unit kerja di lingkungan Depdiknas. Dalam implementasinya, sering muncul kebutuhan untuk mendistribusikan perangkat lunak sistem perpustakaan ke berbagai unit kerja tersebut. Di sinilah muncul masalah ketiga, yaitu sulit atau bahkan tidak mungkin melakukan redistribusi sistem Alice secara bebas. Lisensi perangkat lunak Alice tidak memungkinkan pengelola Perpustakaan Depdiknas untuk mendistribusikannya tanpa izin dan biaya tambahan.
Pada November 2006, perpustakaan menghadapi masalah mendasar. Sistem Alice tiba-tiba tidak dapat digunakan. Ternyata sistem Alice yang selama ini digunakan menerapkan model lisensi sewa. Setiap tahun pengguna harus membayar untuk memperpanjang masa penggunaan. Hal yang mengkhawatirkan adalah fakta bahwa perpustakaan menyimpan seluruh informasi penting dan kritis pada sistem yang sebenarnya tidak pernah dimiliki. Jika lupa atau tidak mampu membayar biaya sewa, maka akses terhadap data sendiri akan hilang. Ketergantungan seperti ini dianggap sangat berisiko terhadap keberlangsungan perpustakaan.
Akhirnya pengelola Perpustakaan Depdiknas melakukan peninjauan ulang terhadap penggunaan sistem Alice. Beberapa poin penting yang menjadi pertimbangan antara lain:
• Alice memang andal (reliable), tetapi memiliki banyak keterbatasan. Biaya sewanya relatif murah, namun kebutuhan dukungan tambahan sangat bergantung pada pengembang Alice di Inggris dan membutuhkan biaya yang tidak sedikit.
• Model lisensi proprietary yang digunakan tidak cocok dengan kondisi sebagian besar perpustakaan di Indonesia. Perpustakaan Depdiknas membutuhkan kebebasan dalam menggunakan dan mengembangkan perangkat lunak yang dipakai.
• Menyimpan data penting perpustakaan pada perangkat lunak proprietary berbasis sewa dianggap mengancam independensi dan keberlangsungan perpustakaan.
• Alice berjalan di atas sistem operasi Windows yang juga proprietary, sedangkan pengelola perpustakaan ingin beralih ke sistem operasi open source seperti GNU/Linux dan FreeBSD.
• Adanya pengeluaran devisa negara untuk membayar perangkat lunak yang tidak pernah dimiliki sepenuhnya.
• Pengelola Perpustakaan Depdiknas menginginkan perangkat lunak yang menjamin kebebasan untuk menggunakan, mempelajari, memodifikasi, dan mendistribusikan ulang.
Setelah memutuskan untuk beralih ke sistem lain, langkah berikutnya adalah mencari sistem yang sudah ada atau mengembangkan sendiri sistem yang dibutuhkan. Beberapa pertimbangan yang harus dipenuhi antara lain:
• Dirilis di bawah lisensi yang menjamin kebebasan untuk menggunakan, mempelajari, memodifikasi, dan mendistribusikan ulang. Model lisensi open source dianggap paling ideal dan sesuai.
• Teknologi yang digunakan juga harus berbasis open source.
• Teknologi yang digunakan harus mudah dipelajari oleh pengelola perpustakaan yang berlatar belakang ilmu perpustakaan, seperti PHP sebagai bahasa pemrograman dan MySQL sebagai basis data.
Langkah berikutnya adalah melakukan studi banding terhadap perangkat lunak sistem perpustakaan open source yang tersedia di internet. Beberapa perangkat lunak yang dicoba antara lain phpMyLibrary, OpenBiblio, KOHA, dan Evergreen. Pengelola perpustakaan merasa belum menemukan sistem yang sesuai karena beberapa alasan berikut:
• Desain aplikasi dan basis data kurang baik atau belum menerapkan prinsip pengembangan aplikasi dan basis data secara optimal (phpMyLibrary dan OpenBiblio).
• Menggunakan teknologi yang relatif sulit dipelajari oleh pengelola perpustakaan Depdiknas, seperti Perl dan C++ (KOHA dan Evergreen).
• Beberapa perangkat lunak sudah tidak aktif atau lama tidak merilis versi terbaru.
Karena tidak menemukan sistem yang sesuai kebutuhan, akhirnya diputuskan untuk mengembangkan sendiri aplikasi sistem perpustakaan yang dibutuhkan. Dalam dunia pengembangan perangkat lunak, salah satu praktik terbaik adalah memberikan nama kode (codename) pada proyek pengembangan. Untuk versi awal aplikasi ini dipilih nama kode “Senayan” karena dikembangkan di lingkungan Perpustakaan Depdiknas yang berlokasi di Senayan. Selain itu, Perpustakaan Depdiknas memiliki branding library@senayan. Belakangan, nama “Senayan” dianggap memiliki nilai pemasaran yang baik sehingga dijadikan nama resmi aplikasi.
Mengembangkan Senayan
Sebelum mulai mengembangkan Senayan, terdapat beberapa keputusan desain aplikasi yang harus ditetapkan. Aspek desain ini penting sebagai dasar pengambilan keputusan terhadap berbagai masukan dari komunitas.
Pertama, Senayan merupakan aplikasi untuk kebutuhan administrasi dan konten perpustakaan (Library Automation System). Senayan dirancang untuk kebutuhan perpustakaan skala menengah hingga besar dan cocok digunakan pada lingkungan jaringan lokal (intranet) maupun internet.
Kedua, Senayan dibangun dengan memperhatikan praktik terbaik dalam pengembangan perangkat lunak, seperti penulisan source code, dokumentasi, dan desain basis data.
Ketiga, Senayan dirancang agar sesuai dengan standar pengelolaan koleksi perpustakaan. Untuk standar pengatalogan minimal memenuhi AACR2 level 2 (Anglo-American Cataloguing Rules). Pengembang Senayan berkomitmen untuk terus mengikuti perkembangan standar perpustakaan.
Keempat, Senayan didesain agar dapat menjadi middleware bagi aplikasi lain melalui penyediaan API (Application Programming Interface) berbasis web service.
Kelima, Senayan merupakan aplikasi cross-platform, baik dari sisi aplikasi maupun akses pengguna. Oleh karena itu, basis web dipilih sebagai platform utama.
Keenam, teknologi yang digunakan harus dapat diinstal di berbagai sistem operasi, berbasis open source, dan mudah dipelajari. Diputuskan menggunakan PHP sebagai web scripting language dan MySQL sebagai server basis data.
Ketujuh, diputuskan untuk mengembangkan library PHP sendiri yang dirancang khusus untuk kebutuhan sistem automasi perpustakaan. Library tersebut diberi nama “simbio”.
Kedelapan, untuk mempercepat pengembangan, beberapa modul menggunakan perangkat lunak open source lain, seperti Flowplayer untuk multimedia, jQuery untuk AJAX, Genbarcode untuk barcode, PHPThumb untuk generate image on-the-fly, dan TinyMCE sebagai text editor berbasis web.
Kesembilan, proses pengembangan Senayan menggunakan infrastruktur berbasis open source, seperti Apache sebagai web server, Linux CentOS dan OpenSUSE sebagai server produksi, Ubuntu Linux untuk pengembangan, serta Git untuk manajemen source code.
Kesepuluh, Senayan dirilis dengan lisensi GNU/GPL versi 3 yang menjamin kebebasan pengguna untuk mempelajari, menggunakan, memodifikasi, dan mendistribusikan ulang Senayan.
Kesebelas, para pengembang dan pengelola Perpustakaan Depdiknas berkomitmen untuk terus mengembangkan Senayan sebagai contoh perangkat lunak perpustakaan open source berbasis Indonesia yang berhasil.
Keduabelas, model pengembangan Senayan bersifat open source sehingga setiap orang dapat berkontribusi, baik dalam pemrograman, desain template, dokumentasi, maupun aspek lainnya. Konsep ini sejalan dengan pemikiran Eric S. Raymond dalam The Cathedral and the Bazaar yang menekankan pentingnya kolaborasi komunitas dalam pengembangan perangkat lunak open source.
Model Pengembangan Senayan
Pengembangan Senayan awalnya diinisiasi oleh pengelola Perpustakaan Depdiknas, namun saat ini komunitas pengembang Senayan (Senayan Developer Community) lebih banyak berperan dalam pengembangannya. Beberapa kultur yang dibangun dalam pengembangan Senayan antara lain:
1. Meritokrasi. Siapa pun dapat berkontribusi. Mereka yang memberikan kontribusi lebih besar akan memperoleh hak dan tanggung jawab lebih besar dibandingkan yang lain.
2. Memiliki kepedulian terhadap pengembangan perpustakaan. Sebagian besar pengembang Senayan berasal dari latar belakang ilmu perpustakaan dan informasi atau bekerja di lingkungan perpustakaan sehingga memiliki sense of librarianship.
3. Release early, release often, and listen to your customer. Setiap perbaikan dan penambahan fitur dirilis sesegera mungkin agar bug dapat cepat ditemukan dan diperbaiki. Pembaruan yang rutin juga menunjukkan keberlanjutan pengembangan Senayan. Selain itu, pengembang selalu berusaha mendengarkan kebutuhan pengguna melalui mailing list maupun bug tracking system.
4. Dokumentasi. Pengembang Senayan meyakini pentingnya dokumentasi yang baik untuk mendukung implementasi Senayan di berbagai tempat. Oleh karena itu, terdapat tim khusus yang bertanggung jawab menjaga dokumentasi tetap mutakhir.
5. Untuk mempercepat pengembangan dan mempererat hubungan antarpengembang, secara berkala diadakan Senayan Developers Day yang mempertemukan para pengembang dari berbagai daerah untuk melakukan pengembangan bersama.
Fitur Senayan
Sebagai sistem automasi perpustakaan terintegrasi, modul-modul yang tersedia dalam Senayan meliputi:
Modul Pengatalogan (Cataloguing Module)
1. Compliance dengan standar AACR2 (Anglo-American Cataloguing Rules).
2. Fitur membuat, mengedit, dan menghapus data bibliografi sesuai standar AACR2 level 2.
3. Mendukung berbagai format koleksi seperti monograf, terbitan berseri, audio visual, dan lain-lain.
4. Mendukung penyimpanan data bibliografi dari internet.
5. Mendukung penggunaan barcode.
6. Manajemen item koleksi dengan banyak kopi dan format berbeda.
7. Mendukung format XML menggunakan standar MODS (Metadata Object Description Schema).
8. Pencetakan barcode item koleksi secara built-in.
9. Pencetakan label punggung koleksi secara built-in.
10. Pengambilan data katalog melalui protokol Z39.50 dari Library of Congress.
11. Pengelolaan koleksi hilang, rusak, dan dalam perbaikan.
12. Daftar kendali pengarang untuk menjaga konsistensi penulisan.
13. Pengaturan hak akses pengelolaan bibliografi.
Modul Penelusuran (OPAC/Online Public Access Catalog)
1. Pencarian sederhana.
2. Pencarian tingkat lanjut.
3. Dukungan Boolean Logic dan CQL (Common Query Language).
4. OPAC Web Service berbasis XML.
5. Mendukung akses melalui perangkat mobile.
6. Menampilkan status koleksi, tanggal pengembalian, dan reservasi.
7. Menampilkan gambar sampul, lampiran elektronik, serta koleksi audio visual.
8. Hyperlink tambahan berdasarkan penulis dan subjek.
Modul Sirkulasi (Circulation Module)
1. Proses peminjaman dan pengembalian yang efisien dan aman.
2. Fitur reservasi koleksi beserta reminder.
3. Manajemen denda termasuk pembayaran cicilan.
4. Reminder untuk blacklist dan masa berlaku anggota.
5. Dukungan kalender untuk perhitungan peminjaman dan denda.
6. Pengaturan hari libur non-standar.
7. Dukungan berbagai tipe anggota dan aturan peminjaman.
8. Penyimpanan histori peminjaman anggota.
9. Pengaturan aturan peminjaman yang rinci.
Modul Manajemen Keanggotaan (Membership Management Module)
1. Mendukung berbagai tipe anggota dan kategori layanan.
2. Dukungan barcode reader.
3. Penyimpanan preferensi pengguna.
4. Penyimpanan informasi tambahan untuk reminder transaksi.
5. Penyimpanan data anggota secara lengkap.
6. Pencarian anggota berdasarkan nomor atau nama.
7. Pembuatan kartu anggota dengan barcode.
Modul Inventarisasi Koleksi (Stocktaking Module)
1. Inventarisasi dapat dilakukan bertahap tanpa menutup layanan.
2. Proses inventarisasi lebih efisien.
3. Opsi penghapusan otomatis koleksi hilang.
Modul Statistik/Pelaporan (Report Module)
1. Pelaporan untuk seluruh modul Senayan.
2. Laporan judul koleksi.
3. Laporan item/kopi koleksi.
4. Laporan keanggotaan.
5. Laporan klasifikasi koleksi.
6. Laporan keterlambatan.
7. Statistik koleksi, peminjaman, dan keanggotaan.
8. Tampilan laporan printer-friendly.
9. Filter laporan yang lengkap.
10. API pelaporan untuk custom report.
Modul Manajemen Terbitan Berseri (Serial Control)
1. Manajemen data langganan.
2. Manajemen kardex.
3. Tracking data terbitan.
4. Dukungan jadwal terbit tidak teratur.
Modul Lain-lain
1. Dukungan antarmuka multi bahasa dengan Gettext.
2. Dukungan karakter non-Latin untuk input dan pencarian data.
Roadmap Pengembangan Senayan
Senayan akan terus dikembangkan oleh para pengembang dan komunitas penggunanya. Roadmap pengembangan ke depan meliputi:
Pengembangan aplikasi:
1. Kompatibilitas MARC dan standar pertukaran data.
• Dukungan MARC secara lebih lengkap.
• Dukungan RFID.
• Impor/ekspor rekod dari OCLC, RLIN, dan sistem lain yang kompatibel dengan MARC.
• Validasi ISBN.
• Dukungan standar perpustakaan seperti LCSH, LCC, ISBD, ISO 2709, dan lainnya.
2. Pengembangan katalog induk (union catalog).
3. Implementasi tesaurus.
• Pemanfaatan tesaurus untuk pengatalogan.
• Dukungan pencarian berbasis knowledge base.
4. Implementasi Library 2.0.
• Login dan personalisasi pengguna.
• Reservasi dan perpanjangan koleksi secara mandiri.
• Komunikasi dengan pustakawan melalui messaging system.
• Tagging, rekomendasi, dan daftar favorit.
• Komentar terhadap koleksi.
• Pemanfaatan preferensi pengguna untuk rekomendasi koleksi.
5. Peningkatan dukungan manajemen konten digital dan entri analitikal.
Pengembangan komunitas pengguna:
• Membangun komunitas pengguna di berbagai kota.
• Menyelenggarakan Senayan Developers Day secara rutin.
• Workshop dan seminar nasional tahunan.
• Jam session rutin setiap tiga bulan.