Fitur dari Kode Ini
Kode ini berfungsi untuk menampilkan analisis statistik mengenai koleksi dan pengguna dalam sistem perpustakaan. Berikut adalah fitur utama yang tersedia:
1. Analisis Keterpakaian Koleksi
- Total Eksemplar → Menghitung jumlah total item dalam tabel
item. - Item Eksemplar Terpinjam → Menghitung jumlah unik
item_codeyang pernah dipinjam dalam tabelloan. - Persentase Koleksi yang Pernah Dipinjam →
(Total item terpinjam / Total item) * 100%. - Persentase Koleksi yang Belum Pernah Dipinjam →
100% - Persentase koleksi yang pernah dipinjam.
2. Analisis Pengguna
- Jumlah Pengguna → Menghitung total jumlah
member_iddalam tabelmember. - Jumlah Pengguna yang Pernah Berkunjung → Menghitung jumlah pengguna yang pernah berkunjung (
visitor_count) dan persentasenya. - Jumlah Pengguna yang Belum Pernah Berkunjung →
Total pengguna - Pengguna yang pernah berkunjungdan persentasenya. - Jumlah Pengguna yang Pernah Meminjam Buku → Menghitung jumlah pengguna (
member_id) yang pernah melakukan transaksi peminjaman buku (loan). - Jumlah Pengguna yang Belum Pernah Meminjam Buku →
Total pengguna - Pengguna yang pernah meminjamdan persentasenya.
3. Analisis Keterbaruan Koleksi
- Total Koleksi → Menghitung jumlah total koleksi (
biblio_id) dalam tabelbiblio. - Jumlah Koleksi yang Terbit dalam 10 Tahun Terakhir → Menghitung jumlah koleksi dengan
publish_year >= (tahun sekarang - 10), serta menghitung persentasenya terhadap total koleksi.
Manfaat dari Kode Ini
✅ Pemantauan Efektivitas Koleksi
- Perpustakaan dapat melihat berapa banyak koleksi yang benar-benar digunakan oleh pengguna.
- Bisa menjadi dasar untuk pengambilan keputusan dalam pengadaan buku baru atau penghapusan buku yang jarang dipinjam.
✅ Evaluasi Keterlibatan Pengguna
- Dapat mengetahui seberapa banyak pengguna yang aktif mengunjungi perpustakaan.
- Bisa menjadi indikator apakah program promosi atau event perpustakaan berhasil menarik minat pengunjung.
✅ Pemantauan Koleksi Terbaru
- Dapat membantu pustakawan mengetahui persentase buku baru dibandingkan dengan keseluruhan koleksi.
- Bisa menjadi bahan evaluasi apakah koleksi perpustakaan masih relevan dan up-to-date.
✅ Meningkatkan Layanan Perpustakaan
- Data ini dapat digunakan untuk meningkatkan layanan, misalnya dengan meningkatkan promosi terhadap buku-buku yang belum pernah dipinjam.
- Bisa membantu dalam mengembangkan kebijakan strategis perpustakaan untuk meningkatkan keterlibatan pengguna.
Kode ini tidak hanya menampilkan data dalam bentuk angka tetapi juga memberikan wawasan yang dapat digunakan untuk pengambilan keputusan strategis dalam pengelolaan perpustakaan. 🚀
Cara install
- buat file analisis.php, lalu tempatkan di folder admin/modules/reporting
- Tambahkan code
$menu[] = array((‘Analisis’), MWB.’reporting/analisis.php’, (‘Analisis’));
pada file customs_report_list.inc.php yang terletak di folder admin/modules/reporting/customs - Nikmati fitur ini di menu Pelaporan –> Analisis
Code untuk file analisis.php
<?php
/**
* Collection general report
* Copyright (C) 2007,2008 Arie Nugraha (dicarve@yahoo.com
*
* Copyright (C) 2008 Arie Nugraha (dicarve@yahoo.com)
* Author : Erwan Setyo Budi (erwans818@gmail.com)
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
/* Reporting section */
// key to authentication
define('INDEX_AUTH', '1');
if (!defined('SB')) {
// main system configuration
require '../../../sysconfig.inc.php';
// start the session
require SB.'admin/default/session.inc.php';
}
// IP based access limitation
require LIB.'ip_based_access.inc.php';
do_checkIP('smc');
do_checkIP('smc-reporting');
require SB.'admin/default/session_check.inc.php';
require SIMBIO.'simbio_GUI/table/simbio_table.inc.php';
// privileges checking
$can_read = utility::havePrivilege('reporting', 'r');
$can_write = utility::havePrivilege('reporting', 'w');
if (!$can_read) {
die('<div class="errorBox">'.__('You don\'t have enough privileges to access this area!').'</div>');
}
// Ambil total eksemplar
$query_total_items = $dbs->query('SELECT COUNT(item_id) FROM item');
if (!$query_total_items) {
die('Error fetching total items: ' . $dbs->error);
}
$total_items = $query_total_items->fetch_row()[0] ?? 0;
// Ambil total eksemplar
$query_total_items = $dbs->query('SELECT COUNT(item_id) FROM item');
$total_items = $query_total_items->fetch_row()[0] ?? 0;
// Ambil total eksemplar yang pernah dipinjam
$query_borrowed_items = $dbs->query('SELECT COUNT(DISTINCT item_code) FROM loan');
$total_borrowed = $query_borrowed_items->fetch_row()[0] ?? 0;
// Hitung persentase koleksi yang pernah dipinjam
$percentage_borrowed = ($total_items > 0) ? ($total_borrowed / $total_items) * 100 : 0;
// Hitung persentase koleksi yang belum dipinjam
$percentage_not_borrowed = 100 - $percentage_borrowed;
// Ambil total pengguna
$query_total_users = $dbs->query('SELECT COUNT(member_id) FROM member');
$total_users = $query_total_users->fetch_row()[0] ?? 0;
// Ambil jumlah pengguna yang pernah berkunjung
$query_visited_users = $dbs->query('SELECT COUNT(DISTINCT member_id) FROM visitor_count');
$total_visited_users = $query_visited_users->fetch_row()[0] ?? 0;
$percentage_visited_users = ($total_users > 0) ? ($total_visited_users / $total_users) * 100 : 0;
// Ambil jumlah pengguna yang belum pernah berkunjung
$total_non_visited_users = $total_users - $total_visited_users;
$percentage_non_visited_users = 100 - $percentage_visited_users;
// Ambil jumlah pengguna yang pernah meminjam buku
$query_borrowing_users = $dbs->query('SELECT COUNT(DISTINCT member_id) FROM loan');
$total_borrowing_users = $query_borrowing_users->fetch_row()[0] ?? 0;
$percentage_borrowing_users = ($total_users > 0) ? ($total_borrowing_users / $total_users) * 100 : 0;
// Ambil jumlah pengguna yang belum pernah meminjam buku
$total_non_borrowing_users = $total_users - $total_borrowing_users;
$percentage_non_borrowing_users = 100 - $percentage_borrowing_users;
// Ambil total koleksi di tabel biblio
$query_total_biblio = $dbs->query('SELECT COUNT(biblio_id) FROM biblio');
$total_biblio = $query_total_biblio->fetch_row()[0] ?? 0;
// Ambil koleksi dengan terbitan 10 tahun terakhir
$ten_years_ago = date('Y') - 10;
$query_recent_biblio = $dbs->query("SELECT COUNT(biblio_id) FROM biblio WHERE publish_year >= $ten_years_ago");
$total_recent_biblio = $query_recent_biblio->fetch_row()[0] ?? 0;
$percentage_recent_biblio = ($total_biblio > 0) ? ($total_recent_biblio / $total_biblio) * 100 : 0;
?>
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Analisis Keterpakaian Koleksi</title>
<style>
.container { margin: auto; padding: 20px; background: white; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); display: flex; justify-content: space-around; flex-wrap: wrap; }
.container h5 {color: red; font-weight: bold}
.stats-container { display: flex; justify-content: space-between; flex-wrap: wrap; width: 100%; }
.stat-box { flex: 1; background: #ffffff; padding: 20px; margin: 10px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); text-align: center; min-width: 200px; }
.stat-box h5 { margin: 0; font-size: 18px; color: #333; border-bottom: 2px solid #ddd; padding-bottom: 10px; }
.stat-box p { font-size: 24px; font-weight: bold; margin: 10px 0 0; color: #1E6091; }
</style>
</head>
<body>
<br>
<div class="container">
<h5>Analisis Keterpakaian Koleksi</h5>
<div class="stats-container">
<div class="stat-box">
<h5>Total Eksemplar</h5>
<p><?php echo number_format($total_items); ?></p>
</div>
<div class="stat-box">
<h5>Item Eksemplar Terpinjam</h5>
<p><?php echo number_format($total_borrowed); ?></p>
</div>
<div class="stat-box">
<h5>Analisis</h5>
<p><?php echo number_format($percentage_borrowed, 2); ?>%<br>Terpinjam 😀</p>
</div>
<div class="stat-box">
<h5>Analisis</h5>
<p><?php echo number_format($percentage_not_borrowed, 2); ?>%<br>Belum Pernah Dipinjam 😔</p>
</div>
</div>
<h5>Analisis Pengguna</h5>
<div class="stats-container">
<div class="stat-box">
<h5>Jumlah Pengguna</h5>
<p><?php echo number_format($total_users); ?></p>
</div>
<div class="stat-box">
<h5>Pengguna Pernah Berkunjung 😍</h5>
<p><?php echo number_format($total_visited_users); ?> (<?php echo number_format($percentage_visited_users, 2); ?>%)</p>
</div>
<div class="stat-box">
<h5>Pengguna Belum Pernah Berkunjung 😓</h5>
<p><?php echo number_format($total_non_visited_users); ?> (<?php echo number_format($percentage_non_visited_users, 2); ?>%)</p>
</div>
<div class="stat-box">
<h5>Pengguna Pernah Meminjam 😀</h5>
<p><?php echo number_format($total_borrowing_users); ?> (<?php echo number_format($percentage_borrowing_users, 2); ?>%)</p>
</div>
<div class="stat-box">
<h5>Pengguna Belum Pernah Meminjam 😒</h5>
<p><?php echo number_format($total_non_borrowing_users); ?> (<?php echo number_format($percentage_non_borrowing_users, 2); ?>%)</p>
</div>
</div>
<br>
<div class="container">
<h5>Analisis Keterbaruan Koleksi</h5>
<div class="stats-container">
<div class="stat-box">
<h5>Total Koleksi</h5>
<p><?php echo number_format($total_biblio); ?></p>
</div>
<div class="stat-box">
<h5>Jumlah Koleksi Terbitan 10 Tahun Terakhir</h5>
<p><?php echo number_format($total_recent_biblio); ?> (<?php echo number_format($percentage_recent_biblio, 2); ?>%)</p>
</div>
</div>
</div>
</div>
</body>
</html>
Semoga Bermanfaat.
Salam, Erwan Setyo Budi.