Code Monkey home page Code Monkey logo

simak-asrama-laravel's Introduction

Sistem Perpustakaan

Sistem Informasi Akademik Asrama

SMP Cendekia BAZNAS (SCB) merupakan sekolah tingkat SMP
yang dikelola oleh Badan Amil Zakat Nasional (BAZNAS).

Sekolah Cendekia Baznas

Sistem Informasi Akademik (Simak) Asrama merupakan salah satu website dari Sekolah Cendekia BAZNAS yang memberikan informasi seputar akademik asrama siswa Sekolah Cendekia BAZNAS sehingga mempermudah guru dalam memantau perkembangan siswanya dan memberikan penilaian kepada siswa.

Ruang Lingkup Pengembangan

Web SIMAK Asrama memiliki fitur pencatatan dan menampilkan riwayat pada dua pihak saja yaitu pembina dan siswa. Web SIMAK Asrama tidak memberikan laporan hasil untuk orang tua siswa secara langsung. Dan SIMAK Asrama belum menyediakan pembukuan persemester dan ip asrama. Kekurangan fitur diharapkan akan dikembangkan ke pengembang berikutnya.

Project Absen Sholat

Project Flutter dapat dilihat disini -> https://github.com/mursyidalhadi123/absen-sholat

Link Docs

https://docs.google.com/document/d/1ioaFHkT3jHWM8aCyEAbxd7pg0SoyRpkRNNX1klvmIHs/edit?usp=sharing

Entity Relationship Diagram

ER Diagram

Use Case Diagram

  1. Hafalan Qur'an, Hadist
    UseCase   Activity (8)

  2. Catatan Amalan Yaumiah
    UseCase   Activity (9)

  3. Catatan Kebaikan dan Keburukan
    UseCase   Activity (10)

  4. Poin Pelanggaran dan Kebaikan
    UseCase   Activity (11)

  5. Catatan Shalat
    UseCase   Activity (12)

  6. Catatan Harian
    UseCase   Activity (13)

Activity Diagram

  1. Hafalan Qur'an, Hadist
    UseCase   Activity (14)

  2. Catatan Amalan Yaumiah
    UseCase   Activity (15)

  3. Catatan Kebaikan dan Keburukan
    UseCase   Activity

  4. Poin Pelanggaran dan Kebaikan
    UseCase   Activity (16)

  5. Catatan Shalat
    UseCase   Activity (17)

  6. Catatan Harian
    UseCase   Activity (18)

Class Diagram

  1. Hafalan Qur'an, Hadist
    image

  2. Catatan Amalan Yaumiah
    image

  3. Catatan Kebaikan dan Keburukan
    image

  4. Poin Pelanggaran dan Kebaikan
    image

  5. Catatan Shalat
    image

  6. Catatan Harian
    image

Fitur Secara Umum

SIMAK


Biodata

  • Biodata berisi identitas dari siswa, identitas berisi nama, tempat, tanggal lahir, NIS, serta nama orang tua
  • Pembina/guru bisa mengedit biodata dari siswa
  • Pada role pembina, pembina juga bisa melihat identitas pembina dan bisa mengedit identitasnya.

Hafalan Al-Qur’an dan Hadits

  • Sebagai media untuk guru mencatat hafalan siswa seperti hafalan Al-Quran, Hadits dan Doa.
  • Siswa dapat melihat record hafalan mereka sendiri.
  • Siswa dapat melihat record hafalan dalam bentuk pdf.

Catatan Amalan Yaumiah

  • Sebagai tempat pencatatan amalan yang telah dilakukan siswa setiap harinya, seperti telah melakukan Sholat Tahajud.
  • Siswa dan pembina dapat melihat riwayat amalan yang telah sang siswa lakukan
  • Pembina dapat melihat riwayat amalan siswa dalam bentuk pdf

Poin Pelanggaran dan Kebaikan

  • Setiap siswa yang melanggar tata tertib akan dikenakan sanksi dan akan diberikan poin. Apabila sudah melebihi batas poin yang ditentukan maka akan diberikan sebuah Surat Peringatan.
  • Jenis pelanggaran dan sanksi diklasifikasikan menjadi 3 ( tiga) tingkatan yaitu tingkat 1(ringan). tingkat 2 (sedang), dan tingkat 3 (berat)
  • Setiap siswa yang melakukan kebaikan baik juga akan diberikan poin. Poin kebaikan berfungsi sebagai peringan dari pelanggaran tata tertib ketika akan dikeluarkannya Surat Peringatan.
  • Jenis kebaikan diklasifikasikan menjadi 3 bagian yaitu perunggu (kebaikan berdampak pada diri dan orang lain individu), perak (kebaikan itu berdampak pada diri sendiri khalayak dan lingkungan), dan emas (kebaikan berdampak pada diri sendiri,khalayak, lingkungan dan lembaga)

Catatan Shalat

Catatan Kebaikan dan Keburukan

  • Sebagai tempat pencatatan hal-hal baik dan buruk yang telah dilakukan siswa setiap harinya, seperti telah menyapu kamar asrama.
  • Siswa dan pembina dapat melihat riwayat hal baik dan buruk yang telah sang siswa lakukan
  • Pembina dapat melihat riwayat hal baik dan buruk tersebut dalam bentuk pdf untuk penilaian setiap minggunya

Catatan Harian

  • Sebagai tempat untuk mencatat kegiatan siswa yang berupa Prestasi maupun Indisipliner. Hal tersebut memudahkan pembina maupun guru untuk dapat mengetahui kemampuan dan karakter dari siswa binaan.
  • Pembina dapat menambahkan catatan pada siswa yang bersangkutan, Ada dua kategori pencatatan, yaitu prestasi atau indisipliner. Serta pembina/guru dapat menambahkan keterangan, tanggal kejadian, maupun tindakan yang telah dilakukan pembina terhadap siswa binaan.

Konsep OOP yang digunakan

1. Abstract Class

  • Kelas merupakan deskripsi abstrak informasi dan tingkah laku dari sekumpulan data.
  • Kelas dapat diilustrasikan sebagai suatu cetak biru(blueprint) atau prototipe yang digunakan untuk menciptakan objek.
  • Kelas merupakan tipe data bagi objek yang mengenkapsulasi data dan operasi pada data dalam suatu unit tunggal.
  • Kelas mendefinisikan suatu struktur yang terdiri atas data kelas (data field), prosedur atau fungsi (method), dan sifat - kelas (property).

2. Encapsulation

  • Kombinasi data dan fungsionalitas dalam sebuah unit tunggal sebagai bentuk untuk menyembunyikan detail informasi.
  • Proses enkapsulasi memudahkan kita untuk menggunakan sebuah objek dari suatu kelas karena kita tidak perlu mengetahui segala hal secara rinci.
  • Enkapsulasi menekankan pada antarmuka suatu kelas, atau dengan kata lain bagaimana menggunakan objek kelas tertentu.

3. Inheritance

  • Kita dapat mendefinisikan suatu kelas baru dengan mewarisi sifat dari kelas lain yang sudah ada.
  • Penurunan sifat ini bisa dilakukan secara bertingkat tingkat, sehingga semakin ke bawah kelas tersebut menjadi semakin spesifik.
  • Sub kelas memungkinkan kita untuk melakukan spesifikasi detail dan perilaku khusus dari kelas supernya.
  • Dengan konsep pewarisan, kita dapat menggunakan kode yang telah ditulisnya pada kelas super berulang kali pada kelas-kelas turunannya tanpa harus menulis ulang semua kode-kode itu.

Tipe desain pengembangan yang digunakan (pattern/anti pattern)

MVC

Dalam mengembangkan sistem informasi asrama, kelompok kami menggunakan design pattern MVC (Model View Controller) yang dimana sistem pengembangan aplikasi tersebut akan dipecah menjadi tiga bagian, yaitu model (database), view (tampilan/ui) dan yang terakhir controller (interaksi model dan view). Sarana yang digunakan dalam design pattern tersebut adalah framework Laravel.

Model :

  1. User
  2. Catatan Baik/Buruk
  3. Absensi Sholat
  4. Catatan Amalan Yaumiyah
  5. Jenis Catatan Amalan
  6. Hafalan Quran/Hadist
  7. Poin Pelanggaran

View :

1. Landing Page
View landing page merupakan tampilan awal dari web asrama SCB, view ini menampilkan kata selamat datang, logo SCB, serta contact person dan pilihan untuk login.

2. Login Page
View login page menampilkan format yang harus diisi oleh pengguna (siswa dan guru pembina) yaitu ID Pengguna dan kata sandi.

3. View untuk Setiap Model (siswa)

  • Catatan baik dan buruk
    View catatan baik dan buruk akan menampilkan identitas dari siswa, serta riwayat atau catatan baik dan buruk siswa tempo hari. Selain itu, view akan menampilkan halaman untuk menambahkan catatan yang berisi form yang harus diisi oleh siswa apabila ingin menambahkan catatannya yaitu hari/tanggal, jam, jenis amalan, jenis kegiatan serta deskripsinya.

  • Absensi sholat
    View absensi sholat menampilkan identitas dari siswa dan riwayat absensi sholat dari waktu yang sebelumnya berupa tabel yang berisi tanggal, waktu, dan waktu sholat (subuh, dzuhur, dll).

  • Catatan Amalan Yaumiyah
    View catatan amalan yaumiyah di sisi pengguna siswa akan menampilkan identitas dari siswa dan tabel riwayat catatan amalannya, view saat menambah catatan amalan menampilkan tabel yang berisi jenis amalan, kondisi yang dapat dipilih siswa berupa radio button ya atau tidak, jumlah, serta keterangan.

  • Hafalan Qur’an dan Hadist
    View hafalan Al-Qur’an dan hadits di sisi pengguna siswa akan menampilkan identitas dari siswa dan tabel riwayat hafalannya, serta menampilkan pilihan untuk mencetak riwayat hafalan siswa tersebut. View poin pelanggaran dan kebaikan di sisi pengguna siswa akan menampilkan identitas dari siswa serta 2 tabel yang berisi riwayat poin pelanggaran dan riwayat poin kebaikan dari siswa tersebut.

  • Poin pelanggaran dan kebaikan
    View poin pelanggaran dan kebaikan di sisi pengguna siswa akan menampilkan identitas dari siswa serta 2 tabel yang berisi riwayat poin pelanggaran dan riwayat poin kebaikan dari siswa tersebut.

4. View untuk setiap model (guru)

  • Catatan baik dan buruk
    View catatan baik dan buruk akan menampilkan form berisi nama dan kelas siswa, sehingga guru dapat melihat riwayat catatan kebaikan dan keburukan dari siswa tersebut berupa 2 tabel yang dibedakan menjadi catatan kebaikan dan catatan keburukan yang berisi tanggal, jenis kebaikan/keburukan, keterangan, serta aksi yang memungkinkan guru untuk menyunting atau menghapus catatan siswa.

  • Absensi sholat
    View absensi sholat dari sisi pengguna guru menampilkan form yang berisi jenis sholat berupa dropdown dan pilihan pencatatan absensi sholat dengan manual atau dengan QR scan. Pada view pencatatan absensi secara manual akan menampilkan form yang berisi jenis sholat, kelas, dan nama serta menampilkan tabel yang berisi absensi sholat 10 siswa terbaru pada saat itu.

  • Catatan Amalan Yaumiyah
    View amalan yaumiah di sisi pengguna guru menampilkan form berisi nama dan kelas siswa, sehingga guru dapat melihat riwayat catatan amalannya berupa tabel yang disertai aksi dimana guru bisa menyunting atau menghapus amalan siswa.

  • Hafalan Qur’an dan Hadist
    View amalan yaumiah di sisi pengguna guru menampilkan form berisi nama dan kelas siswa, sehingga guru dapat melihat riwayat hafalan Al-Qur’an dan hadist berupa tabel serta pilihan untuk menambahkan hafalan. Pada view menambahkan hafalan siswa, berupa form yang berisi Al-Qur’an/Hadist, surat, ayat, jenis hafalan serta nilainya.

  • Poin pelanggaran dan kebaikan
    View poin pelanggaran dan kebaikan di sisi pengguna guru akan menampilkan form berupa nama siswa, selanjutnya guru dapat memilih nama siswa yang akan dicatat, dari view penambahan catatan akan menampilkan form yang berisi jenis poin, hari/tanggal, jumlah poin serta jenis kebaikan/pelanggaran berupa text box. Setelah itu akan muncul tampilan riwayat poin pelanggaran dan kebaikan berupa 2 tabel.

Controller :

1. Auth Controller
Controller yang mengatur autentikasi, seperti login pada web tersebut, sehingga tidak sembarang user bisa mengakses fitur dari web tersebut.
2. Controller untuk Setiap Model

Developer beserta job desc

1. Hafalan Al-Qur’an dan Hadits

  • Dharmawan Siswanto (G64170061)
  • Daffa Wicaksono (G64170066)
  • Muhammad Alif Hanif F. (G64170084)

2. Catatan Kebaikan dan Catatan Amalan Yaumiah

  • M. Kamil (G64170019)
  • Mickael (G64170039)
  • Haidar Muhammad Yasin (G64170096)

3. Poin Pelanggaran dan Kebaikan

  • Cindana Putri Ramadhani (G64170022)
  • Satria Bayuaji (G64170031)
  • T. Sandra Alyssa (G64170048)
  • Usman Abdul Halim (G64170071)

4. Catatan Shalat

  • Mursyid Alhadi (G64170042)
  • Muhammad Dani Alfaris (G64170104)
  • Amin Elhan (G64170109)

5. Catatan Harian

  • Titan Dayu Pratisena (G64170008)
  • Indah Puspita (G64170035)
  • Elia Samuel (G64170060)
  • Rafie Fadlurahman (G64170074)

simak-asrama-laravel's People

Contributors

mkamilmistar avatar sammy219 avatar circleous avatar ryuzakuid avatar aminelhanipb avatar alif131199 avatar indahpuspitaa17 avatar tengkusandraa avatar amrahd avatar satriaipb avatar cindanapr avatar dependabot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.