# Questionnaire Aplikasi berbasis web untuk publikasi kuesioner pada lingkup Yayasan Widya Anindya (Perguruan Tinggi, SMK dan lainnya). ## Latar Belakang Guna melancarkan akreditasi Perguruan Tinggi LEPISI pada 2018, aplikasi ini dibuat untuk memenuhi kebutuhan akan dokumen-dokumen: - dokumen #1 - dokumen #2 - ... ### Kebutuhan Perangkat Lunak - PHP 7.0 - nginx ## Design ### Use Case Diagram #### UC Diagram pembuatan kuesioner ```plantuml left to right direction actor Admin Admin -- (Membuat Kuesioner) Admin -- (Mengubah Kuesioner) Admin -- (Membuat Seksi) Admin -- (Mengubah Seksi) Admin -- (Membuat Pertanyaan) Admin -- (Mengubah Pertanyaan) Admin -- (Membuat Pilihan) Admin -- (Mengubah Pilihan) ``` #### UC Diagram pengisian kuesioner ```plantuml left to right direction actor Responden actor Admin Responden -- (Mengisi identitas) Responden -- (Mengisi kuesioner) Responden -- (Menyelesaikan kuesioner) (Menerima notifikasi pengisian) .> (Menyelesaikan kuesioner) : extends (Menerima notifikasi pengisian) -- Admin ``` #### UC Diagram pencetakan laporan kuesioner ```plantuml left to right direction actor Admin Admin -- (Mencetak rekap pengisian kuesioner) Admin -- (Mencetak laporan hasil pengolahan kuesioner) ``` ### Class Diagram ```plantuml class Questionnaire { id : int title : varchar (100) descriptions : text released_at : datetime created_at : datetime updated_at : datetime deleted_at : datetime } class Section { id : int questionnaire_id : int title : varchar (100) descriptions : text created_at : datetime updated_at : datetime deleted_at : datetime } class Question { id : int section_id : int number : int text : varchar (300) descriptions : text question_type : enum ('text', 'choice', 'number') created_at : datetime updated_at : datetime deleted_at : datetime } class QuestionChoice { id : int question_id : int number : int text : varchar (300) descriptions : text created_at : datetime updated_at : datetime deleted_at : datetime } class Respondent { id : int login : varchar (100) name : varchar (100) handphone : varchar (100) email : varchar (100) gender : enum ('m', 'f') descriptions : text created_at : datetime updated_at : datetime deleted_at : datetime } class Answer { id : int respondent_id : int question_id: int text : text choice : int created_at : datetime updated_at : datetime deleted_at : datetime } Questionnaire "1" -- "1..*" Section Section "1" -- "1..*" Question Question "1" -- "0..*" QuestionChoice Respondent "1" -- "1..*" Answer Question "1" - "1" Answer ```