skripsi-perpus-fe
This commit is contained in:
parent
78df5b3a72
commit
70347b765e
|
|
@ -0,0 +1,24 @@
|
||||||
|
Nama Lengkap
|
||||||
|
Jabatan / Peran
|
||||||
|
Usia
|
||||||
|
Seberapa Sering Anda Meminjam Buku Di Perpustakaan
|
||||||
|
|
||||||
|
1. Saya dapat login menggunakan NIP/NIK dengan mudah
|
||||||
|
2. Saya dapat mencari dan mengakses buku untuk referensi pembelajaran
|
||||||
|
3. Saya dapat melihat laporan minat baca siswa dengan mudah
|
||||||
|
4. Website dapat diakses dengan cepat ( < 3 detik) saat digunakan
|
||||||
|
5. Proses pencarian buku dan laporan berjalan dengan cepat (< 3 detik)
|
||||||
|
6. Website tidak membutuhkan waktu lama saat membuka halaman (<5 detik)
|
||||||
|
7. Tampilan website mudah dipahami dan digunakan
|
||||||
|
8. Menu seperti katalog, laporan, dan riwayat mudah ditemukan
|
||||||
|
9. Saya mudah mengingat cara menggunakan fitur dalam website
|
||||||
|
10. Saya puas menggunakan website ini
|
||||||
|
11. Saya mengalami kesulitan saat menggunakan website ini
|
||||||
|
12. Saya membutuhkan bantuan orang lain untuk menggunakan website ini
|
||||||
|
13. Fitur laporan minat baca membantu saya memantau aktivitas siswa
|
||||||
|
14. Fitur rekomendasi membantu saya menentukan bahan pembelajaran
|
||||||
|
15. Informasi buku membantu saya memilih referensi yang sesuai
|
||||||
|
16. Website menjaga keamanan data akun saya dengan baik
|
||||||
|
17. Website jarang mengalami error saat digunakan
|
||||||
|
18. Fitur login dan logout berjalan dengan baik
|
||||||
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
Berdasarkan analisis awal terhadap pengelolaan perpustakaan di SMP Negeri 1 Bagor, terdapat beberapa permasalahan utama yang menjadi fokus pengembangan Perpustakaan Digital. Pengelolaan perpustakaan masih dilakukan secara manual yang menyebabkan proses menjadi lambat, rentan kesalahan dan sulit dalam status pelacakan status buku.Pengelolaan data yang tidak terintegrasi menimbulkan kesulitan dalam pencarian data peminjam, verifikasi pengembalian dan pembuatan laporan dimana risiko kehilangan data menjadi kendala utama.
|
||||||
|
Hasil observasi tersebut menunjukkan bahwa pentingnya implementasi sistem informasi perpustakaan digital yang dapat mengelola data secara efisien dan terintegrasi untuk mengatasi permasalahan pengelolaan manual yang masih diterapakan. Tujuannya adalah membangun sistem yang mampu mengotomatisasi proses peminjaman dan pengembalian buku, mengelola database koleksi perpustakaan secara terpusat, serta menyediakan API untuk akses data secara real-time. Observasi ini melibatkan pengelola perpustakaan yaitu Ibu Yuyun Nurmawati, S.Pd. sebagai narasumber utama untuk mendukung proses implementasi sistem informasi perpustakaan digital. Beliau dipilih karena memahami kebutuhan operasional perpustakaan dan memiliki pengalaman langsung dalam mengelola proses peminjaman serta pengembalian buku. Hasil wawancara lengkap dengan pengelola perpustakaan terlampir pada lampiran 1.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Pengumuman:
|
||||||
|
Siswa dapat melihat pengumuman dari perpustakaan yang berisi informasi umum, seperti jadwal layanan, informasi buku baru, kegiatan perpustakaan, atau pemberitahuan lain yang ditujukan kepada seluruh pengguna.
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -825,6 +825,7 @@
|
||||||
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
|
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
|
||||||
"integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
|
"integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
"url": "https://opencollective.com/popperjs"
|
"url": "https://opencollective.com/popperjs"
|
||||||
|
|
@ -2589,6 +2590,7 @@
|
||||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.93.2.tgz",
|
"resolved": "https://registry.npmjs.org/sass/-/sass-1.93.2.tgz",
|
||||||
"integrity": "sha512-t+YPtOQHpGW1QWsh1CHQ5cPIr9lbbGZLZnbihP/D/qZj/yuV68m8qarcV17nvkOX81BCrvzAlq2klCQFZghyTg==",
|
"integrity": "sha512-t+YPtOQHpGW1QWsh1CHQ5cPIr9lbbGZLZnbihP/D/qZj/yuV68m8qarcV17nvkOX81BCrvzAlq2klCQFZghyTg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"chokidar": "^4.0.0",
|
"chokidar": "^4.0.0",
|
||||||
"immutable": "^5.0.2",
|
"immutable": "^5.0.2",
|
||||||
|
|
@ -2675,7 +2677,8 @@
|
||||||
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.16.tgz",
|
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.16.tgz",
|
||||||
"integrity": "sha512-pONL5awpaQX4LN5eiv7moSiSPd/DLDzKVRJz8Q9PgzmAdd1R4307GQS2ZpfiN7ZmekdQrfhZZiSE5jkLR4WNaA==",
|
"integrity": "sha512-pONL5awpaQX4LN5eiv7moSiSPd/DLDzKVRJz8Q9PgzmAdd1R4307GQS2ZpfiN7ZmekdQrfhZZiSE5jkLR4WNaA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT",
|
||||||
|
"peer": true
|
||||||
},
|
},
|
||||||
"node_modules/tapable": {
|
"node_modules/tapable": {
|
||||||
"version": "2.3.0",
|
"version": "2.3.0",
|
||||||
|
|
@ -2732,6 +2735,7 @@
|
||||||
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
|
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=12"
|
"node": ">=12"
|
||||||
},
|
},
|
||||||
|
|
@ -2775,6 +2779,7 @@
|
||||||
"integrity": "sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==",
|
"integrity": "sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"esbuild": "^0.25.0",
|
"esbuild": "^0.25.0",
|
||||||
"fdir": "^6.5.0",
|
"fdir": "^6.5.0",
|
||||||
|
|
@ -2879,6 +2884,7 @@
|
||||||
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
|
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=12"
|
"node": ">=12"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 27 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 180 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 33 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 478 KiB |
|
|
@ -4,14 +4,13 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Session Status -->
|
<!-- Session Status -->
|
||||||
<x-auth-session-status class="mb-4" :status="session('status')" />
|
<x-auth-session-status class="mb-4" :status="session('status')" />
|
||||||
|
<form method="POST" action="{{ route('password.email') }}">
|
||||||
<form method="POST" action="{{ route('password.email') }}">
|
|
||||||
@csrf
|
@csrf
|
||||||
|
|
||||||
<!-- Email Address -->
|
<!-- Email Address -->
|
||||||
<div>
|
<div>
|
||||||
<x-input-label for="email" :value="__('Email')" />
|
<x-input-label for="email" :value="__('Email')" />
|
||||||
<x-text-input id="email" class="block mt-1 w-full" type="email" name="email" :value="old('email')" required autofocus />
|
<x-text-input id="email" class="block mt-1 w-full" type="email" name="email" :value="old('email')" required autofocus />
|
||||||
<x-input-error :messages="$errors->get('email')" class="mt-2" />
|
<x-input-error :messages="$errors->get('email')" class="mt-2" />
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
</div>
|
</div>
|
||||||
<h3 class="fw-bold text-dark">Login {{ Str::title($role) }}</h3>
|
<h3 class="fw-bold text-dark">Login {{ Str::title($role) }}</h3>
|
||||||
<p class="text-muted small">
|
<p class="text-muted small">
|
||||||
@if ($role == 'siswa')
|
@if ($role == 'siswa')
|
||||||
Silakan masukkan <b>NISN</b> dan kata sandi.
|
Silakan masukkan <b>NISN</b> dan kata sandi.
|
||||||
@else
|
@else
|
||||||
Silakan masukkan <b>NIP/NIK</b> dan kata sandi.
|
Silakan masukkan <b>NIP/NIK</b> dan kata sandi.
|
||||||
|
|
@ -28,28 +28,28 @@
|
||||||
|
|
||||||
{{-- INPUT USERNAME (NISN/NIP) --}}
|
{{-- INPUT USERNAME (NISN/NIP) --}}
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="{{ $role == 'siswa' ? 'nisn' : 'nip' }}" class="form-label fw-semibold small">
|
<label for="{{ $role == 'siswa' ? 'nisn' : 'nip' }}" class="form-label fw-semibold small">
|
||||||
{{ $role == 'siswa' ? 'Nomor Induk Siswa Nasional (NISN)' : 'NIP/NIK' }}
|
{{ $role == 'siswa' ? 'Nomor Induk Siswa Nasional (NISN)' : 'NIP/NIK' }}
|
||||||
</label>
|
</label>
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
@if ($role == 'siswa')
|
@if ($role == 'siswa')
|
||||||
<input id="nisn" class="form-control" type="text" name="nisn" placeholder="Masukan NISN" required autofocus />
|
<input id="nisn" class="form-control" type="text" name="nisn" placeholder="Masukan NISN" required autofocus />
|
||||||
@else
|
@else
|
||||||
<input id="nip" class="form-control" type="text" name="nip" placeholder="Masukan NIP/NIK" required autofocus />
|
<input id="nip" class="form-control" type="text" name="nip" placeholder="Masukan NIP/NIK" required autofocus />
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
{{-- Error Message --}}
|
{{-- Error Message --}}
|
||||||
@if ($role == 'siswa')
|
@if ($role == 'siswa')
|
||||||
<x-input-error :messages="$errors->get('nisn')" class="mt-1 small text-danger" />
|
<x-input-error :messages="$errors->get('nisn')" class="mt-1 small text-danger" />
|
||||||
@else
|
@else
|
||||||
<x-input-error :messages="$errors->get('nip')" class="mt-1 small text-danger" />
|
<x-input-error :messages="$errors->get('nip')" class="mt-1 small text-danger" />
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{-- INPUT PASSWORD --}}
|
{{-- INPUT PASSWORD --}}
|
||||||
<div class="mb-4">
|
<div class="mb-4">
|
||||||
<div class="d-flex justify-content-between align-items-center">
|
<div class="d-flex justify-content-between align-items-center">
|
||||||
<label for="password" class="form-label fw-semibold small">Kata Sandi</label>
|
<label for="password" class="form-label fw-semibold small">Kata Sandi</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<input id="password" class="form-control border-end-0" type="password"
|
<input id="password" class="form-control border-end-0" type="password"
|
||||||
|
|
@ -71,26 +71,26 @@
|
||||||
{{-- BANTUAN / LUPA PASSWORD --}}
|
{{-- BANTUAN / LUPA PASSWORD --}}
|
||||||
<div class="bg-light p-3 rounded-3 text-center border border-dashed">
|
<div class="bg-light p-3 rounded-3 text-center border border-dashed">
|
||||||
<p class="text-muted small mb-1">Mengalami kendala login?</p>
|
<p class="text-muted small mb-1">Mengalami kendala login?</p>
|
||||||
<a href="https://wa.me/62895618643811?text=Halo%20Admin,%20saya%20lupa%20kata%20sandi%20akun%20saya."
|
<a href="https://wa.me/62895618643811?text=Halo%20Admin,%20saya%20lupa%20kata%20sandi%20akun%20saya."
|
||||||
target="_blank" class="text-decoration-none fw-bold text-success d-inline-flex align-items-center">
|
target="_blank" class="text-decoration-none fw-bold text-success d-inline-flex align-items-center">
|
||||||
<i class="bi bi-whatsapp me-1"></i> Hubungi Petugas via WA
|
<i class="bi bi-whatsapp me-1"></i> Hubungi Petugas via WA
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p class="mt-4 text-center text-muted small">
|
<p class="mt-4 text-center text-muted small">
|
||||||
Kembali ke <a href="/" class="fw-semibold text-decoration-none">halaman utama</a>.
|
Kembali ke <a href="/" class="fw-semibold text-decoration-none">halaman utama</a>.
|
||||||
</p>
|
</p>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
const togglePassword = document.querySelector('#togglePassword');
|
const togglePassword = document.querySelector('#togglePassword');
|
||||||
const password = document.querySelector('#password');
|
const password = document.querySelector('#password');
|
||||||
const icon = togglePassword.querySelector('i');
|
const icon = togglePassword.querySelector('i');
|
||||||
|
|
||||||
if (togglePassword && password) {
|
if (togglePassword && password) {
|
||||||
togglePassword.addEventListener('click', function(e) {
|
togglePassword.addEventListener('click', function(e) {
|
||||||
const type = password.getAttribute('type') === 'password' ? 'text' : 'password';
|
const type = password.getAttribute('type') === 'password' ? 'text' : 'password';
|
||||||
password.setAttribute('type', type);
|
password.setAttribute('type', type);
|
||||||
|
|
||||||
if (type === 'password') {
|
if (type === 'password') {
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
{{ __('Thanks for signing up! Before getting started, could you verify your email address by clicking on the link we just emailed to you? If you didn\'t receive the email, we will gladly send you another.') }}
|
{{ __('Thanks for signing up! Before getting started, could you verify your email address by clicking on the link we just emailed to you? If you didn\'t receive the email, we will gladly send you another.') }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@if (session('status') == 'verification-link-sent')
|
@if (session('status') == 'verification-link-sent')
|
||||||
<div class="mb-4 font-medium text-sm text-green-600">
|
<div class="mb-4 font-medium text-sm text-green-600">
|
||||||
{{ __('A new verification link has been sent to the email address you provided during registration.') }}
|
{{ __('A new verification link has been sent to the email address you provided during registration.') }}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue