SKPL [PDF]

  • Author / Uploaded
  • Malik
  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

Software Requirements Specification for



SISTEM INFORMASI AGENDA RAPAT ABSESNSI BERBASIS KODE QR Version 1.0 approved



Prepared by Septian Rio Gumilang



Informatics Department



January 2nd 2020



Copyright © 1999 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document.



Software Requirements Specification for



Page ii



Table of Contents Table of Contents ...................................................................................................................... ii Revision History...................................................................................................................... iiii 1. Introduction ......................................................................................................................... 1 1.1 Purpose ........................................................................................................................... 1 1.2 Document Conventions ................................................................................................... 1 1.3 Intended Audience and Reading Suggestions ................................................................. 2 1.4 Product Scope ................................................................................................................. 2 1.5 References ...................................................................................................................... 3 2. Overall Description ............................................................................................................. 3 2.1 Product Perspective ........................................................................................................ 3 2.2 Product Functions ........................................................................................................... 3 2.3 User Classes and Characteristics .................................................................................... 4 2.4 Operating Environment .................................................................................................... 4 2.5 Design and Implementation Constraints .......................................................................... 5 2.6 User Documentation ........................................................................................................ 6 2.7 Assumptions and Dependencies ..................................................................................... 6 3. External Interface Requirements........................................................................................ 7 3.1 User Interfaces ................................................................................................................ 7 3.2 Hardware Interfaces ...................................................................................................... 11 3.3 Software Interfaces........................................................................................................ 12 3.4 Communications Interfaces ........................................................................................... 12 4. System Features ............................................................................................................... 13 4.1 Fungsi-1: Membuat rapat baru ....................................... 1Error! Bookmark not defined. 4.2 Fungsi-2: Menutup rapat ............................................................................................... 15 4.3 Fungsi-3: Menandai izin ................................................................................................ 16 4.4 Fungsi-4: Membuat laporan ........................................................................................... 17 4.5 Fungsi-5: Membuat arsip ............................................................................................... 18 4.6 Fungsi-2: Aktivasi scanner............................................................................................. 19 4.7 Fungsi-2: Memindai kode QR ........................................................................................ 20 5. Other Nonfunctional Requirements ................................................................................. 22 5.1 Performance Requirements ........................................................................................... 22 5.2 Safety Requirements ..................................................................................................... 22 5.3 Security Requirements .................................................................................................. 22 5.4 Software Quality Attributes ............................................................................................ 24 5.5 Business Rules.............................................................................................................. 24 6. Other Requirements .......................................................................................................... 24 Appendix A: Glossary............................................................................................................. 24 Appendix B: Analysis Models ................................................................................................ 25 Appendix C: To Be Determined List ...................................................................................... 43



Software Requirements Specification for



Page iii



Revision History Name



Date



Reason For Changes



Version



Software Requirements Specification for QR-Code Attendance



Page 1



1. Introduction 1.1 Purpose Dokumen ini berisi Spesifikasi Kebutuhan Perangkat Lunak (SKPL) atau Software Requirement Spesification (SRS) untuk Sistem Informasi Absensi Agenda Rapat Berbasis Quick Response (QR code). Dokumen ini dibuat untuk membantu membuat spesifikasi perangkat lunak yang dikembangkan dengan rancangan berorientasi obyek. Pada prinsipnya, hasil analisis sistem perangkat lunak ini sebagai kumpulan diagram dalam bentuk Unified Modeling Language (UML) yang tersusun mulai dari rancangan paling umum hingga rancangan detail. Tujuan penulisan dokumen ini yaitu sebagai dokumentasi dari segala aktifitas yang dilakukan selama pengembangan proyek perangkat lunak berbasis web dimulai dari beberapa tahap yaitu tahap penggalian kebutuhan, analisis dan desain, implementasi sampai tahap pengujian. Adapun jabaran tujuan yaitu sebagai berikut : a) Mendefinisikan dan menjelaskan hal-hal yang diperlukan dalam pengembangan sistem sesuai dengan hasil analisis kebutuhan. b) Memperjelas detail spesifikasi kebutuhan dan ruang lingkup kerja yang akan dilakukan dalam pengembangan sistem beserta kendala-kendala yang mungkin akan dihadapi. c) Mendefinisikan dan mendeskripsikan secara global sistem yang akan dikembangkan, yang menggambarkan fungsionalitas, performansi, Batasan rancangan, atribut, serta antarmuka eksternal sistem yang diimplementasikan. d) Mempermudah proses pengembangan sistem pada tahap-tahap berikutnya.



1.2 Document Conventions Dokumen ini ditulis menggunakan Bahasa Indonesia. Adapun definisi, istilah dan singkatan yang digunakan dalam dokumen ini merupakan Bahasa teknik yang umum digunakan dalam area pengembangan perangkat lunak.



Software Requirements Specification for QR-Code Attendance



Page 2



1.3 Intended Audience and Reading Suggestions Dokumen ini ditujuan kepada pihak-pihak yang berkepentingan dan berhak menggunakan yang di antaranya yaitu : a) Malik



Fajar



Lapele



sebagai



pengembang



sistem.



Pihak



pengembang



akan



menggunakan SKPL ini sebagai acuan dan pedoman dalam mengembangkan sistem ini. b) Program studi Informatika sebagai pengguna sistem. Pengguna akan menggunakan dokumen ini untuk melakukan pengecekan atau validasi terhadap kebutuhankebutuhan yang akan diimplementasikan oleh pengembang.



1.4 Product Scope Di Prodi Teknik Informatika, ketika rapat selain membahas kegiatan yang akan dan telah dilaksanakan, juga membahas agenda rutin setiap awal bulan, awal semester, dan akhir semester, serta ada juga rapat yang dilaksanakan secara insidensial jika terdapat masalah yang bersifat insidensial. Rapat rutin yang dilaksanakan dihadiri oleh seluruh dosen tetap Prodi Teknik Informatika. Hampir di setiap rapat, Sekretaris Prodi Teknik Informatika sebagai notulis. Notulis bertugas mencatat hasil rapat pada notulen rapat. Notulen rapat akan ditandatangani oleh ketua dan notulis rapat, kemudian notulen rapat tersebut akan diarsipkan oleh sekretaris Prodi Teknik Informatika dan dilaporkan kepada ketua Prodi Teknik Informatika setiap akhir tahun. Selama ini sistem pengarsipan notulen rapat belum terkomputerisasi, yaitu notulen rapat masih dicatat pada buku arsip notulen rapat, sehingga proses pengolahan, dan pencarian data serta pembuatan laporan setiap tahunnya membutuhkan waktu yang lama dan kurang efektif. Selain itu pada saat rapat juga terkendala proses absensi yang lama karena masih menggunakan absensi manual yaitu menggunakan tanda tangan Sistem informasi agenda rapat adalah sistem yang mampu mengelola agenda rapat, mulai dari pembuatan agenda hingga pengarsipan agenda. Hasil rapat juga dapat dilihat pada web ini, notulen atau admin lah yang bertugas mencatat hasil rapat lalu diunggah pada sistem informasi agenda rapat tersebut. Admin juga bisa melihat daftar hadir peserta rapat karena telah terintegrasi dengan QR Code.



Software Requirements Specification for QR-Code Attendance



Page 3



1.5 References Daftar dokumen yang digunakan sebagai acuan atau rujukan dalam penyusunan dokumen SKPL ini adalah Kerangka dokumen SKPL IEEE.



2. Overall Description 2.1 Product Perspective Sistem informasi agenda rapat adalah sistem informasi berbasis aplikasi web yang digunakan untuk mengolah data absensi rapat. Cara kerja sistem ini hampir sama dengan sistem lain yang menggunakan kode QR sebagai identifikasi objek atau akses otentik seperti login web aplikasi Whatsapp, hanya saja pada sistem ini, kode QR digunakan sebagai akses otentik penanda kehadiran.



2.2 Product Functions Sistem informasi ini dirancang untuk bisa melakukan beberapa fungsi yang di antaranya sebagai berikut : Identifikasi



Fungsi



Fungsi-1



Autentikasi (login dan logout)



Fungsi-2



Membuat rapat baru



Fungsi-3



Membuat laporan



Fungsi-4



Membuat arsip



Fungsi-5



Menutup rapat



Fungsi-6



Menandai izin



Fungsi-7



Aktivasi scanner



Fungsi-8



Memindai kode hadir



Fungsi-9



Membaca kode



Software Requirements Specification for QR-Code Attendance



Page 4



2.3 User Classes and Characteristics Aktor



Fungsi



Hak Akses Sistem



Autentikasi (login dan logout)



Mengolah seluruh data rapat



Membuat rapat baru



(baca, tambah, ubah, hapus)



Membuat laporan Admin



Membuat arsip Menutup rapat Menandai izin Aktivasi scanner



Dosen



Scanner



Autentikasi (login dan logout)



Tambah dan ubah data hadir



Memindai kode hadir



pada satu pengguna.



Membaca kode



Membaca dan menyimpan masukan kode



2.4 Operating Environment Sistem informasi yang akan dibangun dapat beroperasi berdasarkan spesifikasi yang terdapat pada tabel di bawah. Spesifikasi Sistem operasi



Jenis Windows 7 dan 10 MacOs Semua distribusi Linux Semua versi Android Semua versi IOS



Perangkat lunak browser



Semua versi Chrome Edge +6 Mozilla Firefox +8 Safari +3 Android Browser Opera +6 dan Opera GX



Jaringan



Terhubung dengan jaringan internet



Software Requirements Specification for QR-Code Attendance



Perangkat keras



Page 5



Komputer portable atau ponsel cerdas



2.5 Design and Implementation Constraints Perangkat lunak yang akan dibangun dirancang berdasarkan pada kebutuhan fungsional sehingga bisa disimpulkan beberapa spesifikasi dan batasan berupa bahasa, kerangka, protokol dan jenis DBMS yang di antaranya seperti pada tabel di bawah. Penggunaan



Jenis



Bahasa pengembangan



Nama PHP (versi 7)



Penggunaan Sebagai implementasi backend



Javascript (Typescript)



Sebagai control tampilan dan penghubung backend



SQL



Sebagai



pengolahan



manajemen data pada basis data HTML versi 5



Sebagai rancangan tampilan front-end



CSS versi 3



Sebagai pengaturan tampilan sistem



DBMS



MySQL



Model arsitektur sistem



MVC



Model



Kerangka



kerja Laravel versi 7



pengembangan sistem Protokol akses



HTTPS



Perawatan



Sistem sepenuhnya dirawat



oleh klien setelah sesudah



pengembangan selesai dilakukan dan diberikan. Metode pengiriman data



Metode POST



Penggunaan Sebagai penambahan, hapus dan modifikasi data



GET



Sebagai pengambilan data, berkas publik dan tampilan



Software Requirements Specification for QR-Code Attendance



Page 6



sistem Keamanan pengiriman data



Keamanan pengiriman data menggunakan ekripsi token CSRF yang telah disediakan oleh Laravel



Integritas akses



Akses data sistem hanya diberikan kepada pengguna tertentu yang memiliki akun autentikasi dengan hak akses tersendiri



2.6 User Documentation Pada implementasi pengembangan sistem dan perawatan, pengembang dan klien dapat menggunakan beberapa dokumentasi dan artikel sebagai referensi yang di antaranya. •



https://getbootstrap.com/docs/4.1/getting-started/introduction/







https://api.jquery.com







https://laravel.com/docs/7.x/installation







https://ngrok.com/docs







https://www.pagedjs.org/documentation/







https://gist.github.com/dvergeylen/a256deb3182b8a863238fcc0704aecb9



2.7 Assumptions and Dependencies Sistem yang akan dikembangkan bergantung pada beberapa komponen pihak ketiga seperti Bootstrap, Paged.js, JsQrcode dimana komponen tersebut diakses secara daring lewat layanan CDN. Perubahan yang dilakukan oleh pengembang komponen tersebut bisa saja menimbulkan error kedepannya. Layanan PHP Composer digunakan untuk mengakses komponen-komponen yang bekerja pada server. Jika sewaktu-waktu pada tahap perawatan, pihak klien melakukan perubahan pada Composer maka error bisa saja terjadi karena perubahan yang versi pendukung komponen yang dilakukan oleh pihak ketiga. Sistem bergantung dengan keamanan sertifikat SSH untuk dapat mengakses perangkat kamera pada komputer sehingga pada tahap pengembangan dan pengujian, pengembangan menggunakan Ngrok sebagai penyedia tunel SSH. Penyewaan layanan SSH oleh pihak klien dibutuhkan agar sistem dapat berjalan.



Software Requirements Specification for QR-Code Attendance



3. External Interface Requirements 3.1 User Interfaces a) Antarmuka pengguna login (tidak ada rapat)



b) Antarmuka pengguna login (rapat berlangsung)



c) Antarmuka pengguna dashboard admin (tidak ada riwayat rapat)



Page 7



Software Requirements Specification for QR-Code Attendance



d) Antarmuka pengguna dashboard admin (dengan riwayat rapat)



e) Antarmuka pengguna data pengguna



Page 8



Software Requirements Specification for QR-Code Attendance



f) Antarmuka pengguna dashboard dosen (tidak ada rapat berlangsung)



g) Antarmuka pengguna dashboard dosen (rapat sedang berlangsung)



Page 9



Software Requirements Specification for QR-Code Attendance



h) Antarmuka pengguna pemindai kode QR



i)



Antarmuka pengguna laporan hasil rapat



Page 10



Software Requirements Specification for QR-Code Attendance



Page 11



3.2 Hardware Interfaces Sistem yang akan dikembangkan membutuhkan interaksi pada perangkat keras sebagai masukan dari. Dalam melakukan interaksi dengan pengguna membutuhkan proses transformasi input dan output dari dan ke pengguna lewat perangkat keras. Perangkat keras tersebut adalah sebagai berikut. -



Perangkat keyboard Keyboard diperlukan sebagai sarana bagi pengguna untuk mengetikkan data masukan yang akan diproses oleh perangkat lunak.



-



Perangkat mouse Perangkat mouse digunakan sebagai sarana bagi pengguna untuk memasukkan data input bagi perangkat lunak. Meskipun Sebagian besar fungsi mouse dapat digantikan dengan keyboard tetapi akan lebih ergonomis apabila pada jenis input tertentu menggunakan mouse sebagai salah satu perangkat keras yang dibutuhkan sebagai antarmuka penghubung pengguna dengan perangkat lunak.



-



Perangkat monitor Monitor sebagai sarana untuk menampilkan aplikasi kepada pengguna mempunyai spesifikasi di antaranya monitor mampu menampilkan grafis dengan kualitas warna yang baik untuk menampilkan kode QR.



-



Perangkat kamera



Software Requirements Specification for QR-Code Attendance



Page 12



Perangkat kamera merupakan inti dari sistem informasi yang akan dibangun dimana kamera berfungsi membaca gambar kode QR oleh pengguna yang kemudian diproses menjadi informasi oleh perangkat lunak. -



Perangkat touchscreen Penggunaan touchscreen bisa dilakukan sebagai pengganti perangkat keyboard dan mouse.



-



Kartu Grafis Kartu grafis yang dibutuhkan dalam mengoperasikan perangkat lunak ini diharapkan mempunyai kapasitas di atas 4 Megabyte. Apabila menggunakan kartu grafis dengan kemampuan yang tidak sesuai maka perangkat lunak akan berjalan dengan kurang maksimal, khususnya saat memproses tampilan kode QR.



-



Kartu Ethernet Kartu Ethernet dibutuhkan untuk menghubungkan komputer dengan jaringan internet.



3.3 Software Interfaces Perangkat lunak yang digunakan oleh sistem di antaranya adalah browser, driver jaringan internet dan driver kamera. Hampir semua browser dapat digunakan untuk menjalankan sistem informasi ini selama browser mendukung penggunaan pemanggilan fungsi-fungsi pada Javascript seperti setTimeout, setInterval dan XHRHttpRequest sedangkan pada driver jaringan dan kamera bersifat opsional jika diasumsikan klien menggunakan kamera luar komputer dan jaringan kabel.



3.4 Communications Interfaces Perangkat lunak yang akan dibangun menggunakan beberapa antarmuka komunikasi untuk alasan keamanan proses pada beberapa fitur. Jenis spesifikasi antarmuka komunikasi tersebut terdapat pada tabel di bawah : a) Antarmuka komunikasi Server Sistem pada sisi server bertujuan melayani semua request yang dikirimkan oleh client yang meminta layanan dengan protocol https. Oleh karena itu pada sisi server dibutuhkan adanya web server yang terhubung dengan jaringan internet. Web server tersebut harus mempunyai alamat IP dan domain yang dapat dikenali dalam jaringan internet. b) Antarmuka komunikasi Client



Software Requirements Specification for QR-Code Attendance



Page 13



Pada sisi client, proses yang dilakukan adalah melakukan request pada server untuk meminta data. Oleh karena itu antarmuka yang dibutuhkan pada sisi client adalah perangkat komunikasi yang memungkinkan komputer client terhubung dengan jaringan internet.



4. System Features Fitur sistem yang akan diimplementasikan berdasarkan dari hasil penggalian kebutuhan seperti yang terdapat pada gambar use-case di bawah.



Software Requirements Specification for QR-Code Attendance



Page 14



4.1 Fungsi-1: Membuat rapat baru 4.1.1



Deskripsi Admin membuat rapat baru pada halaman dashboard dengan memasukkan pukul, dan tema rapat kemudian men-submit data tersebut.



4.1.2



Activity



4.1.3



Sequence



Software Requirements Specification for QR-Code Attendance



Page 15



4.2 Fungsi-2: Menutup rapat 4.2.1



Deskripsi menutup rapat yang terdiri dari admin, sistem dan scanner yang menggambarkan workflow yang bisa dilakukan. Pertama admin melakukan login kemudian masuk ke halaman utama admin, lalu klik menu tutup rapat, sistem akan menutup akses rapat, menyimpan data absensi dan menutup akses pada scanner.



4.2.2



Activity



Software Requirements Specification for QR-Code Attendance



4.2.3



Page 16



Sequence



4.3 Fungsi-3: Menandai izin 4.3.1



Deskripsi menutup rapat yang terdiri dari admin, sistem dan scanner yang menggambarkan workflow yang bisa dilakukan. Pertama admin melakukan login kemudian masuk ke halaman utama admin, lalu klik menu tutup rapat, sistem akan menutup akses rapat, menyimpan data absensi dan menutup akses pada scanner.



4.3.2



Activity



4.3.3



Sequence



Software Requirements Specification for QR-Code Attendance



Page 17



4.4 Fungsi-4: Membuat laporan 4.4.1



Deskripsi Pertama admin melakukan login kemudian masuk ke halaman utama sistem, lalu memilih menu buat laporan rapat, lalu sistem akan membangun format tampilan berkas laporan, kemudian membuka tab baru yang berisi opsi printer, lalu admin klik print dan sistem akan mencetak laporan.



4.4.2



Activity



Software Requirements Specification for QR-Code Attendance



4.4.3



Page 18



Sequence



4.5 Fungsi-5: membuat arsip 4.5.1



Deskripsi Pertama admin melakukan login kemudian masuk ke halaman utama sistem, lalu memilih menu buat arsip rapat, lalu sistem akan membangun format tampilan berkas arsip, sistem akan menghapus semua data rapat, kemudian membuka tab baru yang berisi opsi printer, lalu admin klik print dan sistem akan mencetak arsip.



4.5.2



Activity



Software Requirements Specification for QR-Code Attendance



4.5.3



Page 19



Sequence



4.6 Fungsi-6: aktivasi scanner 4.6.1



Deskripsi dijelaskan alur aktivasi scanner dari mulai tahapan pertama sampai selesai. Aktor disni merupakan admin, kondisi awal klik menu QR rapat dan kondisi akhir memperbarui data scanner



4.6.2



Activity



Software Requirements Specification for QR-Code Attendance



4.6.3



Page 20



Sequence



4.7 Fungsi-7: memindai kode hadir 4.7.1



Deskripsi Kode



haidr



yang



terdiri



dari



dosen,



sistem



dan



scanner



yang



menggambarkan workflow yang bisa dilakukan. Pertama dosen melakukan login kemudian masuk ke halaman utama sistem, lalu sistem akan menampilkan QR Code rapat, selanjutnya dosen melakukan pemindaian yang akan dibaca oleh scanner, sistem akan memproses data, jika valid sistem akan menandai dosen/user hadir rapat, menyimpan data user, lalu menampilkan pesan sukses. 4.7.2



Activity



Software Requirements Specification for QR-Code Attendance



4.7.3



Sequence



Page 21



Software Requirements Specification for QR-Code Attendance



Page 22



5. Other Nonfunctional Requirements 5.1 Performance Requirements Sistem yang akan dibangun memiliki beberapa fungsionalitas proses dengan waktu terbatas seperti pengiriman permintaan dari klien ke server dan pemrosesan kode QR. Detail dari performa sistem yang dibutuhkan dapat dilihat pada tabel di bawah.



Proses Pengiriman permintaan tanpa



Performa waktu (millisecond) Maksimal 10000 ms



data menggunakan metode GET Pengiriman permintaan dengan



Maksimal 3000 ms



data menggunakan metode POST Pengiriman data XHR kode QR



Maksimal 900 ms



Proses generasi kode QR



Maksimal 300 ms



Proses baca kode QR



Maksimal 100 ms



5.2 Safety Requirements Sistem dibangun berdasarkan hasil penggalian kebutuhan pada Agustus 2020. Jika seandainya klien ingin melakukan rekayasa ulang sistem sebaiknya klien menggunakan pengembang yang sama atau pihak tertentu yang pernah mengembangkan sistem sejenis.



5.3 Security Requirements Berdasarkan fitur-fitur yang diimplementasikan pada sistem yang akan dibangun maka beberapa jenis keamanan perlu dispesifikasikan secara khusus agar sistem dapat berjalan sesuai harapan tanpa ada gangguan. Beberapa spesifikasi keamanan yang perlu diimplementasikan pada sistem ini yaitu di antaranya.



Software Requirements Specification for QR-Code Attendance



Spesifikasi Hak akses sistem



Page 23



Pengamanan



Keterangan



Pengecekan autentikasi pengguna (ID



Autentikasi



berfungsi



untuk



dan kata sandi)



membatasi agar hanya orangorang tertentu saja yang bisa menggunakan Autentikasi



sistem.



dapat



digunakan



menggunakan ID dan kata sandi. Hak Kelola sistem



Pengelompokan autorisasi pengguna



Autorisasi



berfungsi



(atribut role)



mendetailkan



spesifikasi



pengguna



serta



yang



dilakukan



bisa



untuk



tugas-tugas dengan



sistem.



Autorisasi



dilakukan



secara



otomatis



dengan



memeriksa



role



pengguna



apakah admin atau dosen. Autorisasi



Pembagian dan pengecekan



Selain lewat interaksi tampilan



penggunaan fungsi



autorisasi pengguna untuk setiap



view, fungsi-fungsi pada server



pada server



fungsi pada server



juga



dapat



diakses



dengan



URL,



untuk



menggunakan memastikan maka



tidak



ada



pengecekan



celah



autorisasi



perlu ditambahkan pada tiap pemanggilan fungsi. Pengamanan



Enkripsi paket XHR (protocol HTTPS)



transmisi data



Transmisi data tanpa enkripsi HTTPS umumnya bisa dilihat dan diubah oleh pihak lain. Untuk mencegah hal ini maka protocol



HTTPS



perlu



digunakan. Pengamanan



Pengamanan FormData metode



Selain



FormData



POST (token)



HTTPS,



menggunakan pengamanan



menggunakan bawaan



protocol



token



Laravel



juga



data CSRF perlu



Software Requirements Specification for QR-Code Attendance



Page 24



digunakan agar sistem dapat berjalan tanpa gangguan antara klien dan server.



5.4 Software Quality Attributes Jenis



Keterangan



usability



Sistem dapat digunakan sesuai dengan keinginan



correctness



Sistem sudah sesuai dan bebas error



portability



Sistem dapat dijalankan di berbagai perangkat dan berbagai sistem Sperasi secara responsive



reusability



Sistem dapat digunakan kembali oleh pihak lain yang sejenis dengan sangat mudah



5.5 Business Rules Sistem tidak dibangun untuk tujuan komersial melainkan sebagai penelitian tugas akhir. Sistem dapat digunakan oleh siapa saja tanpa Batasan. Penggunaan untuk tujuan komersial atau profit sepihak tanpa sepengetahuan sesudah setelah sistem diserahkan tidak ditanggung oleh pihak pengembang.



6. Other Requirements



Appendix A: Glossary Istilah



Definisi



SKPL



Spesifikasi Kebutuhan Perangkat Lunak



DBMS



Database Management System



Software Requirements Specification for QR-Code Attendance



UML



Unified Modeling Language



GUI



Graphical User Interface



Appendix B: Analysis Models a) Model ERD



b) Pengujian White Box c) Membuat Rapat Baru Tabel 4.1 Sourcecode Membuat Rapat Baru 1



@csrf_token



2







3



Page 25



Software Requirements Specification for QR-Code Attendance



4



$id = Injection::createRapat($request); $year = date(“Y”); $month = date(“m”); $day = date(“d”); $start = date(“h:i”); $temp = date(“YYYY-MM-DD”); $temp = strtotime($temp); $hari = date(“l”,$temp);



5



if($month == ‘01’) $month = ‘Januari’



6



else if($month == ‘02’) $month = ‘Februari’;



7



else if($month == ‘03’) $month = ‘Maret’;



8



else if($month == ‘04’) $month = ‘April’;



9



else if($month == ‘05’) $month = ‘Mei’;



10 else if($month == ‘06’) $month = ‘Juni’; 11 else if($month == ‘07’) $month = ‘Juli’; 12 else if($month == ‘08’) $month = ‘Agustus’; 13 else if($month == ‘09’) $month = ‘September’; 14 else if($month == ‘10’) $month = ‘Oktober’; 15 else if($month == ‘11’) $month = ‘November’; 16 else if($month == ‘12’) $month = ‘Desember’; 17 if($hari == ‘monday’) $hari = ‘senin’ 18 else if($hari == ‘tuesday’) $hari = ‘selasa’; 19 else if($hari == ‘wednesday’) $hari = ‘rabu’; 20 else if($hari == ‘thursday’) $hari = ‘kamis’;



Page 26



Software Requirements Specification for QR-Code Attendance



Page 27



21 else if($hari == ‘friday’) $hari = ‘jumat’; 22 else if($hari == ‘saturday’) $hari = ‘sabtu’; 23 else if($hari == ‘sunday’) $hari = ‘minggu’; 24 $rapat = new Rapat(); $rapat->tema = $request->tema; $rapat->tanggal = $hari.’, ’.$day.’ ’.$month.’ ’.$year; $rapat->mulai = $start; $rapat->status = ‘1’; $rapat->absen = DB::table(‘users’) ->where(‘role’,’user’) ->get->count(); $rapat->save();



25 Injection::setAbsenAll($id); 26 Qr::setScannerCode(); 27 Return redirect()->back();



Tabel di atas menunjukkan bahwa pada case membuat rapat baru yang dilakukan oleh admin, dietmukan sejumlah 27 titik atau node sehingga bisa dihitung kompleksitas cyclomaticnya sebelum digambarkan melalui flowgraph.



Software Requirements Specification for QR-Code Attendance



Page 28



Gambar 4.10 Flowgraph buat rapat baru E



= 109



N



= 27



V(G) = E-N+2 = 109-27+2 = 84 Tabel 4.2 Hasil WhiteBox Testing untukMembuat Rapat Baru Basis Alur



Jalur Independen



Deskripsi



Sukses



Jalur 1



1-2-3-4-5-1724-25-26-27



$bulan == ‘01’ && $hari == ‘monday’



Iya



Jalur 2



1-2-3-4-5-1824-25-26-27



$bulan == ‘01’ && $hari == ‘tuesday’



Iya



Jalur 3



1-2-3-4-5-1924-25-26-27



$bulan == ‘01’ && $hari == ‘wednesday’



Iya



Jalur 4



1-2-3-4-5-2024-25-26-27



$bulan == ‘01’ && $hari == ‘thursday’



Iya



Software Requirements Specification for QR-Code Attendance



Page 29



Jalur 5



1-2-3-4-5-2124-25-26-27



$bulan == ‘01’ && $hari == ‘friday’



Iya



Jalur 6



1-2-3-4-5-2224-25-26-27



$bulan == ‘01’ && $hari == ‘saturday’



Iya



Jalur 7



1-2-3-4-5-2324-25-26-27



$bulan == ‘01’ && $hari == ‘sunday’



Iya



Jalur 8



1-2-3-4-6-1724-25-26-27



$bulan == ‘02’ && $hari == ‘monday’



Iya



Jalur 9



1-2-3-4-6-1824-25-26-27



$bulan == ‘02’ && $hari == ‘tuesday’



Iya



Jalur 10



1-2-3-4-6-1924-25-26-27



$bulan == ‘02’ && $hari == ‘wednesday’



Iya



Jalur 11



1-2-3-4-6-2024-25-26-27



$bulan == ‘02’ && $hari == ‘thursday’



Iya



Jalur 12



1-2-3-4-6-2124-25-26-27



$bulan == ‘02’ && $hari == ‘friday’



Iya



Jalur 13



1-2-3-4-6-2224-25-26-27



$bulan == ‘02’ && $hari == ‘saturday’



Iya



Jalur 14



1-2-3-4-6-2324-25-26-27



$bulan == ‘02’ && $hari == ‘sunday’



Iya



Jalur 15



1-2-3-4-7-1724-25-26-27



$bulan == ‘03’ && $hari == ‘monday’



Iya



Jalur 16



1-2-3-4-7-1824-25-26-27



$bulan == ‘03’ && $hari == ‘tuesday’



Iya



Jalur 17



1-2-3-4-7-1924-25-26-27



$bulan == ‘03’ && $hari == ‘wednesday’



Iya



Jalur 18



1-2-3-4-7-2024-25-26-27



$bulan == ‘03’ && $hari == ‘thursday’



Iya



Jalur 19



1-2-3-4-7-2124-25-26-27



$bulan == ‘03’ && $hari == ‘friday’



Iya



Jalur 20



1-2-3-4-7-2224-25-26-27



$bulan == ‘03’ && $hari == ‘saturday’



Iya



Software Requirements Specification for QR-Code Attendance



Page 30



Jalur 21



1-2-3-4-7-2324-25-26-27



$bulan == ‘03’ && $hari == ‘sunday’



Iya



Jalur 22



1-2-3-4-8-1724-25-26-27



$bulan == ‘04’ && $hari == ‘monday’



Iya



Jalur 23



1-2-3-4-8-1824-25-26-27



$bulan == ‘04’ && $hari == ‘tuesday’



Iya



Jalur 24



1-2-3-4-8-1924-25-26-27



$bulan == ‘04’ && $hari == ‘wednesday’



Iya



Jalur 25



1-2-3-4-8-2024-25-26-27



$bulan == ‘04’ && $hari == ‘thursday’



Iya



Jalur 26



1-2-3-4-8-2124-25-26-27



$bulan == ‘04’ && $hari == ‘friday’



Iya



Jalur 27



1-2-3-4-8-2224-25-26-27



$bulan == ‘04’ && $hari == ‘saturday’



Iya



Jalur 28



1-2-3-4-8-2324-25-26-27



$bulan == ‘04’ && $hari == ‘sunday’



Iya



Jalur 29



1-2-3-4-9-1724-25-26-27



$bulan == ‘05’ && $hari == ‘monday’



Iya



Jalur 30



1-2-3-4-9-1824-25-26-27



$bulan == ‘05’ && $hari == ‘tuesday’



Iya



Jalur 31



1-2-3-4-9-1924-25-26-27



$bulan == ‘05’ && $hari == ‘wednesday’



Iya



Jalur 32



1-2-3-4-9-2024-25-26-27



$bulan == ‘05’ && $hari == ‘thrusday’



Iya



Jalur 33



1-2-3-4-9-2124-25-26-27



$bulan == ‘05’ && $hari == ‘friday’



Iya



Jalur 34



1-2-3-4-9-2224-25-26-27



$bulan == ‘05’ && $hari == ‘saturday’



Iya



Jalur 35



1-2-3-4-9-2324-25-26-27



$bulan == ‘05’ && $hari == ‘sunday’



Iya



Jalur 36



1-2-3-4-10-1724-25-26-27



$bulan == ‘06’ && $hari == ‘monday’



Iya



Software Requirements Specification for QR-Code Attendance



Page 31



Jalur 37



1-2-3-4-10-1824-25-26-27



$bulan == ‘06’ && $hari == ‘tuesday’



Iya



Jalur 38



1-2-3-4-10-1924-25-26-27



$bulan == ‘06’ && $hari == ‘wednesday’



Iya



Jalur 39



1-2-3-4-10-2024-25-26-27



$bulan == ‘06’ && $hari == ‘thursday’



Iya



Jalur 40



1-2-3-4-10--2125-26-27



$bulan == ‘06’ && $hari == ‘friday’



Iya



Jalur 41



1-2-3-4-10-2224-25-26-27



$bulan == ‘06’ && $hari == ‘saturday’



Iya



Jalur 42



1-2-3-4-10-2324-25-26-27



$bulan == ‘06’ && $hari == ‘sunday’



Iya



Jalur 43



1-2-3-4-11-1724-25-26-27



$bulan == ‘07’ && $hari == ‘monday’



Iya



Jalur 44



1-2-3-4-11-1824-25-26-27



$bulan == ‘07’ && $hari == ‘tuesday’



Iya



Jalur 45



1-2-3-4-11-1924-25-26-27



$bulan == ‘07’ && $hari == ‘wednesday’



Iya



Jalur 46



1-2-3-4-11-2024-25-26-27



$bulan == ‘07’ && $hari == ‘thursday’



Iya



Jalur 47



1-2-3-4-11-2124-25-26-27



$bulan == ‘07’ && $hari == ‘friday’



Iya



Jalur 48



1-2-3-4-11-2224-25-26-27



$bulan == ‘07’ && $hari == ‘saturday’



Iya



Jalur 49



1-2-3-4-11-2324-25-26-27



$bulan == ‘07’ && $hari == ‘sunday’



Iya



Jalur 50



1-2-3-4-12-1724-25-26-27



$bulan == ‘08’ && $hari == ‘monday’



Iya



Jalur 51



1-2-3-4-12-1824-25-26-27



$bulan == ‘08’ && $hari == ‘tuesday’



Iya



Jalur 52



1-2-3-4-12-1924-25-26-27



$bulan == ‘08’ && $hari ==



Iya



Software Requirements Specification for QR-Code Attendance



Page 32



‘wednesday’ Jalur 53



1-2-3-4-12-2024-25-26-27



$bulan == ‘08’ && $hari == ‘thursday’



Iya



Jalur 54



1-2-3-4-12-2124-25-26-27



$bulan == ‘08’ && $hari == ‘friday’



Iya



Jalur 55



1-2-3-4-12-2224-25-26-27



$bulan == ‘08’ && $hari == ‘saturday’



Iya



Jalur 56



1-2-3-4-12-2324-25-26-27



$bulan == ‘08’ && $hari == ‘sunday’



Iya



Jalur 57



1-2-3-4-13-1724-25-26-27



$bulan == ‘09’ && $hari == ‘monday’



Iya



Jalur 58



1-2-3-4-13-1824-25-26-27



$bulan == ‘09’ && $hari == ‘tuesday’



Iya



Jalur 59



1-2-3-4-13-1924-25-26-27



$bulan == ‘09’ && $hari == ‘wednesday’



Iya



Jalur 60



1-2-3-4-13-2024-25-26-27



$bulan == ‘09’ && $hari == ‘thursday’



Iya



Jalur 61



1-2-3-4-13-2124-25-26-27



$bulan == ‘09’ && $hari == ‘friday’



Iya



Jalur 62



1-2-3-4-13-2224-25-26-27



$bulan == ‘09’ && $hari == ‘saturday’



Iya



Jalur 63



1-2-3-4-13-2324-25-26-27



$bulan == ‘09’ && $hari == ‘sunday’



Iya



Jalur 64



1-2-3-4-14-1724-25-26-27



$bulan == ‘10’ && $hari == ‘monday’



Iya



Jalur 65



1-2-3-4-14-1824-25-26-27



$bulan == ‘10’ && $hari == ‘tuesday’



Iya



Jalur 66



1-2-3-4-14-1924-25-26-27



$bulan == ‘10’ && $hari == ‘wednesday’



Iya



Jalur 67



1-2-3-4-14-2024-25-26-27



$bulan == ‘10’ && $hari == ‘thursday’



Iya



Software Requirements Specification for QR-Code Attendance



Page 33



Jalur 68



1-2-3-4-14-2124-25-26-27



$bulan == ‘10’ && $hari == ‘friday’



Iya



Jalur 69



1-2-3-4-14-2224-25-26-27



$bulan == ‘10’ && $hari == ‘saturday’



Iya



Jalur 70



1-2-3-4-14-2324-25-26-27



$bulan == ‘10’ && $hari == ‘sunday’



Iya



Jalur 71



1-2-3-4-15-1724-25-26-27



$bulan == ‘11’ && $hari == ‘monday’



Iya



Jalur 72



1-2-3-4-15-1824-25-26-27



$bulan == ‘11’ && $hari == ‘tuesday’



Iya



Jalur 73



1-2-3-4-15-1924-25-26-27



$bulan == ‘11’ && $hari == ‘wednseday’



Iya



Jalur 74



1-2-3-4-15-2024-25-26-27



$bulan == ‘11’ && $hari == ‘thursday’



Iya



Jalur 75



1-2-3-4-15-2124-25-26-27



$bulan == ‘11’ && $hari == ‘friday’



Iya



Jalur 76



1-2-3-4-15-2224-25-26-27



$bulan == ‘11’ && $hari == ‘saturday’



Iya



Jalur 77



1-2-3-4-15-2324-25-26-27



$bulan == ‘11’ && $hari == ‘sunday’



Iya



Jalur 78



1-2-3-4-16-1724-25-26-27



$bulan == ‘12’ && $hari == ‘monday’



Iya



Jalur 79



1-2-3-4-16-1824-25-26-27



$bulan == ‘12’ && $hari == ‘tuesday’



Iya



Jalur 80



1-2-3-4-16-1924-25-26-27



$bulan == ‘12’ && $hari == ‘wednesday’



Iya



Jalur 81



1-2-3-4-16-2024-25-26-27



$bulan == ‘12’ && $hari == ‘thursday’



Iya



Jalur 82



1-2-3-4-16-2124-25-26-27



$bulan == ‘12’ && $hari == ‘friday’



Iya



Jalur 83



1-2-3-4-16-2224-25-26-27



$bulan == ‘12’ && $hari == ‘saturday’



Iya



Software Requirements Specification for QR-Code Attendance



Jalur 84



1-2-3-4-16-2324-25-26-27



$bulan == ‘12’ && $hari == ‘sunday’



Page 34



Iya



Tabel di atas merupakan hasil pengujian untuk case membuat rapat baru dimana ditemukan 84 jalur dan semua jalur tersebut sukses dijalankan.



d) Menandai Izin Tabel 4.3 Sourcecode Menandai Izin 1



@csrf id”>



2



Injection::setIzin($request->id);



3



$user = self::getUser($id); $rapat = self::getCurrentRapat():



4



DB::table('izin_rapat')->insert([ 'rapat' => $rapat->id, 'peserta' => $user->nid, ]); DB::table('absen_rapat') ->where('peserta',$user->nid) ->where('rapat',$rapat->id) ->delete();



5



return redirect()->back();



Software Requirements Specification for QR-Code Attendance



Page 35



Tabel di atas menunjukkan bahwa pada case membuat rapat baru yang dilakukan oleh admin, dietmukan sejumlah 5 titik atau node sehingga bisa dihitung kompleksitas cyclomaticnya sebelum digambarkan melalui flowgraph.



Gambar 4.11 Flowgraph Menandai Izin E =4 N =5 V(G) = E-N+2 = 4-5+2 =1



Tabel 4.4 Hasil White Box Testing untuk Menandai Izin Basis Alur Jalur 1



Jalur Independen 1-2-3-4-5



Deskripsi



Sukses



Menandai dosen yang belum hadir



Iya



Tabel diatas merupakan hasil testing untuk case menandai izin, terdapat 1 jalur saja dan telah di jalankan secara sukses.



e) Aktivasi Scanner Tabel 4.5 Sourcecode Aktivasi Scanner



Software Requirements Specification for QR-Code Attendance



1



Page 36



const imageData = canvas.getImageData(); const code = jsQr(imageData);



2



if (code) {



3



if (init)



4



if (auth)



5



else code = false; }



6



$.ajax({ type: 'POST', url: '{{url('post_qr_code')}}', data: {_token:'{{csrf_token()}}',qr:code.data} });



7



$res = Qr::verifyScanner($request->code);



8



if ($res) {



9



Else



10 $scanner = QR_scanner::find(1); 11 $qr_code = $scanner->qr; 12 else console.log(0); 13 setInterval(scanner,1000); }



Tabel di atas menunjukkan bahwa pada case membuat rapat baru yang dilakukan oleh admin, dietmukan sejumlah 13 titik atau node sehingga bisa dihitung kompleksitas cyclomaticnya sebelum digambarkan melalui flowgraph.



Software Requirements Specification for QR-Code Attendance



Page 37



Gambar 4.12 Flowgraph Aktivasi Scanner E = 15 N = 13 V(G) = E-N+2 = 15-13+2 =4 Tabel 4.6 Hasil White Box Testing untuk Aktivasi Scanner Basis Alur Jalur Deskripsi Sukses Independen Jalur 1



1-2-3-4-6-7-8-1011-13



Mengaktifkan scanner dengan akun admin Ketika tidak ada rapat yang sedang berjalan dan kode qr yang sesuai dengan data



Iya



Jalur 2



1-2-3-4-6-7-9-13



Mengaktifkan scanner dengan akun admin Ketika tidak ada rapat yang sedang berjalan dan kode qr yang tidak sesuai dengan data



Iya



Software Requirements Specification for QR-Code Attendance



Page 38



Jalur 3



1-2-3-5-13



Mengaktifkan scanner menggunakan akun admin Ketika ada rapat yang sedang berjalan



Iya



Jalur 4



1-2-12-13



Mengaktifkan scanner menggunakan akun dosen



Iya



Tabel diatas merupakan hasil testing untuk case aktivasi scanner, terdapat 4 jalur dan telah di jalankan semua secara sukses.



f) Memindai Kode Hadir Tabel 4.7 Sourcecode Memindai Kode Hadir 1



Auth::login();



2



if (Auth::user()->role == ‘admin’)



3



return view(‘page’);



4



Else



5



return view(‘page.user’);



6



qrcode = new QRCode("qr-code",{ text: "{{$response->data}}", width: 152, height: 152, colorDark : "#000000", colorLight : "#ffffff", correctLevel : QRCode.CorrectLevel.H });



7



if (qrcode)



8



Else



9



$.ajax({ type: 'POST', url:'{{url('post_update_qr')}}',



Software Requirements Specification for QR-Code Attendance



Page 39



data:{_token:'{{csrf_token()}}'}, });



10 status = data.status; 11 $result = Qr::verify(request->code); 12 return $code_data = DB::table('q_r_dosens') ->where('qr',$qr_code) ->first();



13 if($result[0]) 14 Else 15 return response()->json(array('result'=>'1','nid'=>$result[1]),200); 16 qrcode.clear(); 17 $(‘#has_rapat’).removeClass('d-none'); $(‘#no_rapat’).addClass('d-none');



18 if (data.status == ‘1’) 19 $(‘#has_rapat’).html(` Anda telah dicatat hadir!



Keluar



` );



20 setTimeout(qrcode,1000); 21 else clearInterval(qrcode);



Tabel di atas menunjukkan bahwa pada case membuat rapat baru yang dilakukan oleh admin, dietmukan sejumlah 21 titik atau node sehingga bisa dihitung kompleksitas cyclomaticnya sebelum digambarkan melalui flowgraph.



Software Requirements Specification for QR-Code Attendance



Page 40



Gambar 4.13 Flowgraph Memindai Kode Hadir E = 24 N = 21 V(G) = E-N+2 = 24-21+2 =5 Tabel 4.8 Hasil White Box Testing untuk Memindai Kode Hadir Basis Alur Jalur Deskripsi Sukses Independen Jalur 1



1-2-3-4-20



$user.role != ‘dosen’



Iya



Jalur 2



1-2-3-5-6-7-9-1011-12-13



$user.role == ‘dosen’



Iya



Update data qr $scanner->status == ‘1’ $request->qr == true



Jalur 3



1-2-3-5-6-7-9-1011-12-13-15-1617-21-20



$user.role == ‘dosen’ Update data qr



Iya



Software Requirements Specification for QR-Code Attendance



Page 41



$scanner->status == ‘0’ $request->qr == false Jalur 4



1-2-3-5-6-8-10-11- $user.role == ‘dosen’ 12-13-15-16-17$scanner->status == ‘1’ 21-20 $request->qr == false



Iya



Jalur 5



1-2-3-5-6-8-10-11- $user.role == ‘dosen’ 12-14-20 $scanner->status == ‘0’



Iya



Tabel diatas merupakan hasil testing untuk case memindai kode hadir, terdapat 5 jalur dan telah di jalankan semua secara sukses.



g) Membuat Laporan Tabel 4.9 Sourcecode Membuat Laporan 1



Laporan



2



$rapat = Injection::getRapat_($id); $pukul = $rapat->mulai .' -'.$rapat->selesai.' WIB'; $report = Paper::newPaper($rapat->tanggal,$pukul,$rapat->tema);



3



Return 'LEMBAGA JURUSAN XXHasil Notula Rapat'. '

' ''. ''. ''. ''. ''. ''. ''. '
Tanggal : '.$tanggal.'
Pukul : '.$pukul.'
Tema : '.$tema.'
'. ''.



Software Requirements Specification for QR-Code Attendance



'Data peserta : '. ''. ''. ''. '';



4



foreach ($peserta as $item) {



5



$userAtt = Injection::getRapatAttributes();



6



$render_ = $render_. ''. ''. ''; $status = Injection::userRapatStatus($item->nid,$id_rapat);



7



if ($status == 1)



8



elseif ($status == 2)



9



Else



10



$render_ = $render_.'';



11



$render_ = $render_.'';



12



$render_ = $render_.'';



15



if ($userAtt[2] > 2)



16



else if($userAtt[2] == 1)



17



else



18



$render_ = $render_.'';



19



$render_ = $render_.'';



20



$render_ = $render_.'';



Page 42



Software Requirements Specification for QR-Code Attendance



21



$render_ .= “dgr”;



22



$render_ .= “wrn”;



23



$render_ .= “scs”;



24



$render_ = $render_.'';



25



$report = $report.Paper::addData($rapat->id);



26



$report = Paper::closePaper($report);



27



return view('page.laporan',compact('report'));



Page 43



Tabel di atas menunjukkan bahwa pada case membuat rapat baru yang dilakukan oleh admin, dietmukan sejumlah 27 titik atau node sehingga bisa dihitung kompleksitas cyclomaticnya sebelum digambarkan melalui flowgraph.



Gambar 4.14 Flowgraph Membuat Laporan E = 33 N = 27 V(G) = E-N+2 = 33-27+2 =8 Tabel 4.10 Hasil White Box Testing untuk Membuat Laporan Basis Alur Jalur Deskripsi Sukses Independen Jalur 1



1-2-3-25-26-27



$data->length == 0



Iya



Software Requirements Specification for QR-Code Attendance



Jalur 2



1-2-3-4-5-6-7-1015-18-21-24-3-2526-27



$data->length == 1



Page 44



Iya



$data[0]->absen == 0 $data[0]->izin == 0



Jalur 3



1-2-3-4-5-6-8-1116-19-22-24-3-2526-27



$data->length == 1



Iya



$data[0]->absen < 3 $data[0]->izin == < 3



Jalur 4



1-2-3-4-5-6-9-1217-20-23-24-2526-27



$data->length == 1



Iya



$data[0]->absen >= 3 $data[0]->izin == >= 3



Jalur 5



1-2-3-4-5-6-7-1015-18-21-24-3-45-6-7-10-15-1922-24-3-25-26-27



$data->length > 0



Iya



$data[0]->absen == 0 $data[0]->izin == 0 $data [1]->absen == 0 $data[1]->izin == 0



Jalur 6



1-2-3-4-5-6-8-1116-20-23-24-3-2526-27



$data->length > 0



Iya



$data[0]->absen < 2 $data[0]->izin >= 3



Jalur 7



1-2-3-4-5-6-9-1217-18-21-24-3-2526-27



$data->length > 0



Iya



$data[0]->absen >= 3 $data[0]->izin == 0



Jalur 8



1-2-3-4-5-6-7-1015-19-22-24-4-2526-27



$data->length > 0 $data[0]->absen == 0 $data[0]->izin < 2



Iya



Software Requirements Specification for QR-Code Attendance



Page 45



Tabel diatas merupakan hasil testing untuk case membuat laporan, terdapat 8 jalur dan telah di jalankan semua secara sukses.



Appendix C: To Be Determined List

No.Nama LengkapNomor Induk DosenStatusTotal HadirTotal IzinTotal Absen
'.$index.'.  '.$item->name.' '.$item->nid.' hadir izin absen '.$userAtt[2].' '.$userAtt[2].' '.$userAtt[2].'