Professional Documents
Culture Documents
Final Document
Final Document
(A Project report submitted in the partial fulfillment of the requirements for the award of the Degree of)
Submitted By
ABDUL KHADHIR M ALPIN MILTON A
(REG.NO: 2221128006) (REG.NO: 2221128007)
April – 2024
BONAFIDE CERTFICATE
This is to certify that this project entitled “ONLINE EXAMINATION SYSTEM” is the
bonafide work done by M.ABDUL KHADHIR (2221128006) & A.ALPIN MILTON
(2221128007) in partial fulfillment of the award of the degree of Bachelor of Computer Science,
under my Guidance
DECLARATION
(A.ALPIN MILTON)
ACKNOWLEDGEMENT
First and foremost we would like to THANK GOD for the successful completion of this
project.
We give our grateful thanks to our parents , family members and friends.
.
We are delightful to thanks Rev. Dr. S. Sebastian, Secretary of our college for providing
us all the necessary facilities to accomplish this project work successfully.
We express our sincere thanks to Rev.Dr.S. John Vasantha Kumar, Principal of our
college for his encouragement throughout this project work.
We also thanks to our system admin Mr.A.Jeyakumar, DEEE., DCHT., HDCA.,and Lab
Assistant Mr.P.Hariharan, BA.B.Ed, for their encouragement and help.
( M.ABDUL KHADHIR
&
A.ALPIN MILTON)
CONTENT
1. INTRODUCTION 1
2. SYSTEM ANALYSIS
3 .SYSTEM SPECIFICATION
4. SOFTWARE DESCRIPTION
5. SYSTEM DESIGN
5.2 Architecture 20
8. BIBLIOGRAPHY 32
APPENDIX
Online Exam System is a full-fledged system which is beneficial for both teachers and
students. With this site, Administrator can allow authorized entry of users which includes faculties
and students.
Faculties are the one who register on the site and conduct timed exams in their respective
courses. They can add questions in the test by selecting the available settings.
The tests added by faculties are available to students who can attempt the test and get score
then and there. Thus the purpose of the site is to provide a system that saves the efforts and time
of both the teachers and the students.
Online Exam System is a web application that establishes a network between the faculties
and the students. Faculties enter on the site the questions they want in the exam. These questions
are displayed as a test to the eligible students. The answers enter by the students are then evaluated
and their score is calculated and saved. This score then can be accessed by the faculties and
administrator to evaluate their performance.
Online Exam System provides the platform but does not directly participate in, nor is it
involved in any tests conducted. Questions are posted not by the site, but users of the site.
The administrator keeps an eye on the overall functioning of the system which includes
how many users are using the site, how many tests are added by which faculty, how many students
have given those tests and view the score of any student.
The system entitled “Online Exams System” is application software, which aims at providing
services to the institutes and providing them with an option of selecting the eligible students by
themselves.
1
1.1 PROJECT DESCRIPTION
The purpose of on-line test system is to take online test in an efficient manner and
no time wasting for checking the paper. It provides online facility to Institutes to conduct online
exams and to Students to give online exams. Institutes (i.e the faculties in institute) can enter and
edit the questions in test. Students can login and give their respective exams and view their score
then and there. The main objective of on-line test simulator is to efficiently evaluate the candidate
thoroughly through a fully automated system that not only saves lot of time but also gives fast
results
The main objective of the online examination system is to provide equal opportunity to every
student who is not going to the exam due to the lack of geographical areas .
Online Examination System is a cost-effective, scalable way to convert traditional pen and paper-
based exams to online and paperless mode. Candidates can appear for the exam using any desktop,
laptop, or mobile device with a browser. Exam results can be generated instantly for the objective
type of questions.
2
2. SYSTEM ANALYSIS
Defines project goals into defined functions and operation of the intended application
and analyzes end-user information needs.
Describes desired features and operations in detail, including screen layouts, business
rules, process diagrams, pseudo-code and other documentation.
Existing system is a manual one in which users are maintaining books to store the
information like Student Details, Instructor Details, Schedule Details and feedbacks about students
who attempted exam as per schedule.. It is very difficult to maintain historical data.
DISADVANTAGE
The following drawbacks of existing system emphasize the need for computerization:
This application is used to conduct online examination. the students can sit at individual
terminals and login to write the exam in the given duration. the questions have to be given to the
students. this application will perform correction, display the result immediately and also store it
in database. this application provides the administrator with a facility to add new exams. this
application provides the instructor add questions to the exam, modify questions in the exam in a
particular exam. this application takes care of authentication of the administrator, instructor as well
as the student.
3
ADVANTAGE
Online Examination Tool is to provide better information for the users of this
system for better results for their maintenance in student examination schedule details and
grading details.
♦ ECONOMICAL FEASIBILITY
♦ TECHNICAL FEASIBILITY
TECHNICAL FEASIBILITY
Since there will not be much difficulty in getting required resources for the
development and maintaining the system as well. All the resources needed for the development
of the software as well as the maintenance of the same is available in the organization here we are
utilizing the resources which are available already.
ECONOMICAL FEASIBILITY
4
3. SYSTEM SPECIFICATION
RAM : 2 GB
Monitor : LG 23”
5
4. SOFTWARE DESCRIPTION
HTML
Tags: HTML uses tags to mark elements within a document. Tags are enclosed in
angle brackets, such a <tagname>. For example, <p> denotes a paragraph tag.
Elements: Elements consist of an opening tag, content, and a closing tag. The
opening tag precedes the content, and the closing tag follows it. For example:
Attributes: Tags can have attributes that provide additional information about the
element. Attributes are placed within the opening tag. For example, the href attribute in the <a>
tag specifies the link's destination:
Comments: HTML allows comments to be added within the code using <!-- -->.
Comments are not displayed in the browser and are used for documentation or temporarily
disabling code.
Whitespace: Extra spaces and line breaks within the HTML code are typically
ignored by web browsers, making it easier for developers to format and organize their code for
readability.
CSS
6
CSS, or Cascading Style Sheets, is a styling language used to control the
presentation and layout of HTML documents. Here's a basic introduction to CSS:
Separation of Content and Presentation: CSS separates the content of a web page
(defined with HTML) from its presentation and styling. This separation allows for greater
flexibility and easier maintenance of web pages.
Selectors: CSS uses selectors to target HTML elements and apply styling to them.
Selectors can target elements based on their tag name, class, ID, attributes, or their relationship
with other elements.
CSS plays a crucial role in web development by enhancing the visual appeal,
usability, and accessibility of web pages. It works hand in hand with HTML and JavaScript to
create dynamic and engaging user experiences on the web.
CSS properties define the style of targeted elements, such as color, font size,
margin, padding, etc. Each property is assigned a value.
JAVA SCRIPT
7
JavaScript is a high-level, interpreted programming language primarily used for
front-end web development. It's often referred to as the "language of the web" because it allows
developers to create interactive elements on web pages. Here are some key points about
JavaScript:
Versatility: JavaScript is a versatile language that can be used for a wide range of
tasks, including DOM manipulation, event handling, form validation, animations, and much
more.
. Libraries and Frameworks: There are many libraries and frameworks built on
top of JavaScript, such as React, Angular, and Vue.js, which provide developers with tools and
abstractions to build complex web applications more efficiently.
Overall, JavaScript is a powerful and essential tool for web developers, enabling
them to create dynamic and interactive websites and web applications.
BOOTSTRAP
8
Bootstrap is a popular open-source front-end framework for developing
responsive and mobile-first websites and web applications. Here are some key points about
Bootstrap:
Customizable: While Bootstrap comes with a default theme and styling, it's highly
customizable. Developers can easily modify colors, typography, spacing, and other aspects of
the design to match their project's branding or design requirements.
Overall, Bootstrap is a powerful and versatile framework that simplifies the process of building
responsive and visually appealing websites and web applications. Whether you're a beginner or
an experienced developer, Bootstrap can help streamline your development process and
produce professional-looking results.
9
PHP (Hypertext Preprocessor)
Embeddable in HTML: PHP code can be embedded directly into HTML files,
making it easy to mix dynamic content with static HTML markup. PHP code is enclosed within
<?php ?> tags.
Database Integration: PHP has built-in support for interacting with databases,
making it easy to perform tasks such as querying databases, inserting or updating data, and
handling database connections. Popular database systems like MySQL, PostgreSQL, and SQLite
are commonly used with PHP.
Wide Adoption: PHP is one of the most widely used server-side scripting
languages, powering millions of websites and web applications worldwide. It is supported by
most web hosting providers and is compatible with various web servers, including Apache and
Nginx.
Open Source: PHP is an open-source language, meaning its source code is freely
available and can be modified and redistributed by anyone. This has led to a large and active
community of developers who contribute to its development, provide support, and create
libraries and frameworks built on top of PHP.
RDBMS
10
A database management, or DBMS, gives the user access to their data and helps
them transform the data into information. Such database management systems include dBase,
paradox, IMS, SQL Server and SQL Server.
These systems allow users to create, update and extract information from their
database. A database is a structured collection of data. Data refers to the characteristics of people,
things and events. SQL Server stores each data item in its own fields.
In SQL Server, the fields relating to a particular person, thing or event are bundled
together to form a single complete unit of data, called a record Each record is made up of a
number of fields. No two fields in a record can have the same field name.
SQL Server stores records relating to each other in a table. Different tables are
created for the various groups of information. Related tables are grouped together to form a
database.
PRIMARY KEY
Every table in SQL Server has a field or a combination of fields that uniquely
identifies each record in the table. The Unique identifier is called the Primary Key, or simply the
Key. The primary key provides the means to distinguish one record from all other in a table. It
allows the user and the database system to identify, locate and refer to one particular record in the
database.
RELATIONAL DATABASE
FOREIGN KEY
11
When a field is one table matches the primary key of another field is referred to as
a foreign key. A foreign key is a field or a group of fields in one table whose values match those
of the primary key of another table.
REFERENTIAL INTEGRITY
Not only does SQL Server allow you to link multiple tables, it also maintains consistency
between them. Ensuring that the data among related tables is correctly matched is referred to as
maintaining referential integrity.
ADVANTAGES OF RDBMS
DISADVANTAGES OF DBMS
12
SQL SERVER is one of the leading database management systems (DBMS) because it is
the only Database that meets the uncompromising requirements of today’s most demanding
information systems. From complex decision support systems (DSS) to the most rigorous online
transaction processing (OLTP) application, even application that require simultaneous DSS and
OLTP access to the same critical data, SQL Server leads the industry in both performance and
capability.
SQL SERVER is a truly portable, distributed, and open DBMS that delivers unmatched
performance, continuous operation and support for every database.
SQL SERVER RDBMS is high performance fault tolerant DBMS which is specially
designed for online transactions processing and for handling large database application.
SQL SERVER with transactions processing option offers two features which contribute
to very high level of transaction processing throughput, which are: The row level lock manager
The unrivaled portability and connectivity of the SQL SERVER DBMS enables all the
systems in the organization to be linked into a singular, integrated computing resource.
2. PORTABILITY
SQL SERVER is fully portable to more than 80 distinct hardware and operating systems
platforms, including UNIX, MSDOS, OS/2, Macintosh and dozens of proprietary platforms. This
portability gives complete freedom to choose the database server platform that meets the system
requirements.
3. OPEN SYSTEMS
SQL SERVER offers a leading implementation of industry –standard SQL. SQL Server’s
open architecture integrates SQL SERVER and non –SQL SERVER DBMS with industry’s most
13
comprehensive collection of tools, application, and third-party software products SQL Server’s
Open architecture provides transparent access to data from another relational database and even
non-relational database.
SQL Server’s networking and distributed database capabilities to access data stored on
remote server with the same ease as if the information was stored on a single local computer. A
single SQL statement can access data at multiple sites. You can store data where system
requirements such as performance, security, or availability dictate.
5. UNMATCHED PERFORMANCE
The most advanced architecture in the industry allows the SQL SERVER DBMS to deliver
unmatched performance
5.SYSTEM DESIGN
14
1. ADMIN PHASE
a. Admin login
b. Dashboard.
c. Master data.
● Department
● class
● course
● lecturer
● students
d. Relation.
● Class - lecturer
● department – course
e. Question bank.
f. Exam result.
g. User management.
h. Settings.
i. logout.
2. TEACHER PHASE
a. Teacher login.
15
b. Dashboard.
c. Question bank.
d. Exam.
f. Exam result.
g. Logout.
3. STUDENT PHASE
a. Student login.
b. Dashboard.
c. Exam result.
f. Logout.
3. ABOUT US
4. CONTACT US
1. ADMIN PHASE
16
default, the system automatically sets these users’ login details as their ID.
Even though an admin can access and manage all the questionnaires available in
the system, the system restricts viewing all under the teacher’s panel. To be precise, a teacher
can only view his/her subject’s question sets. Whereas, the administrator can view each and
every question set with a filter option based upon the available courses. Another thing is that the
administrator can list out every student’s examination result. Here, the system allows
downloading students’ report cards. Besides, the admin can oversee record highlights and clear
up the system’s record with a single click.
2. TEAHER PHASE
On one hand, the teacher has some important roles in maintaining proper
flow within the system. This particular user can conduct examinations, set question papers, and
check his/her student’s results. The very first step of conducting an examination is that teacher
requires to set a bundle of question sets for a certain course. For this, the user has to provide
questions, five options, select the correct answer, and set question weight. And now, here comes
the main thing of this project; Exam management. Likewise, the user has to provide various
details such as examination name, number of questions, date & time with question pattern. Here,
the system offers two types of patterns: Random and Sort. After completion, the system
automatically generates a token code which is a mandatory part for the students in order to join
their online examinations.
3. STUDENT PHASE
On the other hand, comes the main feature of this project. The main role of
a student’s account is to attend online examinations. Nevertheless, the student can proceed with
attending available examinations. In fact, all the examinations are formed as Multiple Choice
Questions. Here, the student needs to provide a token code for the particular examination. Also,
the student should make sure about the examination date and time. Else, the system won’t allow
entering and attending examinations. At last, the system generates the student’s result under the
Result section where he/she can easily list out or even download it. In addition, the system
strictly restricts users to attend examinations multiple times. Last but not least, a clean and
simple dashboard is presented with various color combinations for greater user experience while
using this Online Exam Management System Project in PHP MySQL CodeIgniter. For its UI
elements, a free open-source CSS framework; Bootstrap is on board with some Vanilla CSS too.
17
Presenting a new Online Exam System Project in PHP MySQL which includes an admin panel
that contains all the essential features to follow up, and a knowledgeable resource for learning
purposes.
With it, the system provides a token for every examination record. This particular
token code must be shared with the students which later works as a kind of verification during
their examination period. Also, the teacher account can have a detailed report on his/her
student’s results. The result shows highest/lowest marks on each with average scores and other
important details. Moreover, the teacher has the right to manage examinations anytime. In fact,
this particular feature is only set for teachers; meaning even the administrator does not have any
control over the examination management system. All the duties and rules are to be handled by
the teacher’s account .
5. AVAILABLE FEATURES
● Teacher Panel
● Student Panel
● Administrator Panel
● Student Management
● Teacher Management
● Set Relations
● Set Questionnaires
● Examinations
18
● Examination Token Code
3. ABOUT US
The about us module has a functionality used to display the details About websites and exam
history.
4. CONTACT US
The Contact us module has a functionality to contact the admin through this module and
clarify their doubts
19
5.3 Data Flow Diagram
20
User case
21
5.4 Database Design
22
A table is a data structure that organizes information into rows and columns. It
can be used to both store and display data in a structured format. For example, database store data
in table so that information can be quickly accessed from specific rows. Websites often use table
to display multiple rows of data on page. Spreadsheets combine both purpose of a table by storing
and displaying data in structured format.
Databases often contain multiple tables, with each one designed for a specific
purpose. For example, a company database may contain separate table for employees, clients and
suppliers. Each table may include its own set field, based on what data the table needs to store. In
database tables, each field is considered a column, while each entry (or record), is considered a
row. A specific value can be accessed from the table by requesting data from an individual column
and row.
A) Student details:
B) Teacher details:
23
FIELD DATATYPE COSTRAINT
C) course:
D) class:
E) Test
24
FIELD DATA TYPE CONSTRAINT
25
TESTING INTRODUCTION
TESTING METHODS
26
Unit Testing is a type of software testing where individual units or components of
a software are tested. The purpose is to validate that each unit of the software code performs as
expected. Unit Testing is done during the development (coding phase) of an application by the
developers. Unit Tests isolate a section of code and verify its correctness. A unit may be an
individual function, method, procedure, module, or object.
In SDLC, STLC, V Model, Unit testing is first level of testing done before
integration testing. Unit testing is a Whitebox testing technique that is usually performed by the
developer. Though, in a practical world due to time crunch or reluctance of developers to tests,
QA engineers also do unit testing.
Integration testing is the process of testing the interface between two software units
or modules. It focuses on determining the correctness of the interface. The purpose of integration
testing is to expose faults in the interaction between integrated units. Once all the modules have
been unit tested, integration testing is performed.
Validation testing is the process of ensuring that the tested and developed software
satisfies the client /user’s needs. The business requirement logic or scenarios have to be tested in
detail. All the critical functionalities of an application must be tested here.
27
User Acceptance Testing (UAT), or application testing, is the final stage of any
software development or change request lifecycle before go-live. UAT meaning the final stage of
anydevelopment process to determine that the software does what it was designed to do in real-
world situations. Actual users test the software to determine if it does what it was designed to do
in real-world situations, validating changes made and assessing adherence to their organization’s
business requirements. The main purpose of acceptance testing is to validate end-to-end business
flow.
SYSTEM IMPLEMENTATION
INTRODUCTION
Implementation is the stage in the project where the theoretical design is turned
into a working system. The implementation phase constructs, installs, and operates the new
system. The most crucial stage in achieving a new successful system is that it will work efficiently
and effectively.
There are several activities involved while implementing a new project. They are
End User Implementation means only those specific portions of End User
Products, developed through the use of a Company Toolkit, that (a) implement and are compliant
with all or part of the required portions of Structured Storage for the sole purpose of implementing
and being compliant with such required portions of the AAF Specification; and (b) are branded
with a trademark owned or controlled by End User.
28
END USER EDUCATION
software development is part of every business not just for software companies
themselves, but for every company which relies on software to deliver on their core business.
Thus, understanding the key tenets of Successful Software Implementation and Delivery is
valuable in any organization.
SYSTEM DESIGN
System design is the phase that bridges the gap between problem domain and the
existing system in a manageable way.
PIER is a tool or standard approach for evaluating the outcome of the project and
determine whether the project is producing the expected benefits to the processes, products or
services. It enables the user to verify that the project or system has achieved its desired outcome
within specified time period and planned cost.
29
CONLUSION
FEATURE ENHANCMENTS
Reliable & Secure: Amazon Web Services (AWS), the world’s most
dependable cloud provider, powers our application. These are the same services that power
Facebook & Twitter.
30
Quick Result Processing: The results of the online assessment are
calculated practically instantaneously and given to the students, Through an online examination
system. In paper-based assessments, however, evaluating the answer is a lengthy process and
prone to human mistakes.
8. BIBLIOGRAPHY
BOOK REFERENCE
31
http://en.wikipedia.org/wiki/Web Audit_automation_system
http://www.koha.org/about-koha/
http://www.kohadocs.org/usersguide/ch01.html
http://www.kohadocs.org/usersguide/ch01s01.html
http://www.kohadocs.org/usersguide/ch01s02.html
http://www.kohadocs.org/usersguide/ch01s03.html
http://www.kohadocs.org/usersguide/ch01s04.html
WEBSITE REFERENCE
https://www.iconfinder.com/
www.studytonight.com
www.tutlane.com
https://dotnet.microsoft.com/
https://procodeguide.com/
https://www.sensibledev.com/
https://www.c-sharpcorner.com
APPENDIX
32
<?php
$query = $this->db->get($table)->num_rows();
return $query;
$this->db->select('*');
$this->db->from($table);
$this->db->where($pk, $id);
33
$this->db->join($table, $field);
$this->db->order_by($field, $sort);
$query = $this->db->get();
return $query;
34
public function not_admin()
$this->db->select('a.id');
$this->db->from('users a');
$this->db->where_not_in('b.group_id', ['1']);
return $this->db->get()->result();
$this->load->helper('file');
$this->db->truncate($tb);
35
delete_files('./uploads/bank_soal/');
$users = $this->not_admin();
return;
36
}
} else {
return $insert;
} else {
37
return $insert;
$this->db->where_in($pk, $data);
return $this->db->delete($table);
/**
* Data Kelas
*/
$this->datatables->from('kelas');
$this->datatables->join('jurusan', 'jurusan_id=id_jurusan');
38
$this->datatables->add_column('bulk_select', '<div class="text-center"><input
type="checkbox" class="check" name="checked[]" value="$1"/></div>', 'id_kelas, nama_kelas,
id_jurusan, nama_jurusan');
return $this->datatables->generate();
$this->db->where_in('id_kelas', $id);
$this->db->order_by('nama_kelas');
$query = $this->db->get('kelas')->result();
return $query;
/**
* Data Jurusan
*/
39
$this->datatables->select('id_jurusan, nama_jurusan');
$this->datatables->from('jurusan');
return $this->datatables->generate();
$this->db->where_in('id_jurusan', $id);
$this->db->order_by('nama_jurusan');
$query = $this->db->get('jurusan')->result();
return $query;
/**
* Data Mahasiswa
*/
40
public function getDataMahasiswa()
$this->datatables->from('mahasiswa a');
return $this->datatables->generate();
$this->db->select('*');
$this->db->from('mahasiswa');
$this->db->join('kelas', 'kelas_id=id_kelas');
$this->db->join('jurusan', 'jurusan_id=id_jurusan');
return $this->db->get()->row();
41
}
$this->db->select('id_jurusan, nama_jurusan');
$this->db->from('kelas');
$this->db->join('jurusan', 'jurusan_id=id_jurusan');
$this->db->order_by('nama_jurusan', 'ASC');
$this->db->group_by('id_jurusan');
$query = $this->db->get();
return $query->result();
$this->db->order_by('nama_jurusan', 'ASC');
return $this->db->get('jurusan')->result();
} else {
42
$this->db->select('jurusan_id');
$this->db->from('jurusan_matkul');
$this->db->where('matkul_id', $id);
$jurusan = $this->db->get()->result();
$id_jurusan = [];
$id_jurusan[] = $j->jurusan_id;
$id_jurusan = null;
$this->db->select('*');
$this->db->from('jurusan');
$this->db->where_not_in('id_jurusan', $id_jurusan);
$matkul = $this->db->get()->result();
return $matkul;
43
public function getKelasByJurusan($id)
return $query->result();
/**
* Data Dosen
*/
$this->datatables->from('dosen a');
return $this->datatables->generate();
44
public function getDosenById($id)
return $query->row();
/**
* Data Matkul
*/
$this->datatables->select('id_matkul, nama_matkul');
$this->datatables->from('matkul');
return $this->datatables->generate();
45
{
return $this->db->get('matkul')->result();
$this->db->where_in('id_matkul', $id);
$this->db->order_by('nama_matkul');
$query = $this->db->get('matkul')->result();
} else {
return $query;
/**
*/
46
public function getKelasDosen()
$this->datatables->from('kelas_dosen');
$this->datatables->join('kelas', 'kelas_id=id_kelas');
$this->datatables->join('dosen', 'dosen_id=id_dosen');
$this->datatables->group_by('dosen.nama_dosen');
return $this->datatables->generate();
$this->db->select('dosen_id');
$this->db->from('kelas_dosen');
$this->db->where_not_in('dosen_id', [$id]);
47
$dosen = $this->db->get()->result();
$id_dosen = [];
$id_dosen[] = $d->dosen_id;
$id_dosen = null;
$this->db->from('dosen');
$this->db->where_not_in('id_dosen', $id_dosen);
return $this->db->get()->result();
48
$this->db->from('kelas');
$this->db->join('jurusan', 'jurusan_id=id_jurusan');
$this->db->order_by('nama_kelas');
return $this->db->get()->result();
$this->db->select('kelas.id_kelas');
$this->db->from('kelas_dosen');
$this->db->join('kelas', 'kelas_dosen.kelas_id=kelas.id_kelas');
$this->db->where('dosen_id', $id);
$query = $this->db->get()->result();
return $query;
/**
*/
49
public function getJurusanMatkul()
$this->datatables->from('jurusan_matkul');
$this->datatables->join('matkul', 'matkul_id=id_matkul');
$this->datatables->join('jurusan', 'jurusan_id=id_jurusan');
$this->datatables->group_by('matkul.nama_matkul');
return $this->datatables->generate();
$this->db->select('matkul_id');
$this->db->from('jurusan_matkul');
$this->db->where_not_in('matkul_id', [$id]);
$matkul = $this->db->get()->result();
50
$id_matkul = [];
$id_matkul[] = $d->matkul_id;
$id_matkul = null;
$this->db->select('id_matkul, nama_matkul');
$this->db->from('matkul');
$this->db->where_not_in('id_matkul', $id_matkul);
return $this->db->get()->result();
$this->db->select('jurusan.id_jurusan');
$this->db->from('jurusan_matkul');
$this->db->join('jurusan', 'jurusan_matkul.jurusan_id=jurusan.id_jurusan');
51
$this->db->where('matkul_id', $id);
$query = $this->db->get()->result();
return $query;
$this->datatables->from('tb_soal a');
$this->datatables->where('a.matkul_id', $id);
52
}else if($id!==null && $dosen!==null){
$this->datatables->where('a.dosen_id', $dosen);
<?php
$this->datatables->from('m_ujian a');
if($id!==null){
$this->datatables->where('dosen_id', $id);
return $this->datatables->generate();
53
public function getListUjian($id, $kelas)
$this->datatables->from('m_ujian a');
$this->datatables->where('d.id_kelas', $kelas);
return $this->datatables->generate();
$this->db->select('*');
$this->db->from('m_ujian a');
54
$this->db->join('dosen b', 'a.dosen_id=b.id_dosen');
$this->db->where('id_ujian', $id);
return $this->db->get()->row();
return $this->db->get()->row();
$this->db->select('COUNT(id_soal) as jml_soal');
$this->db->from('tb_soal');
$this->db->where('dosen_id', $dosen);
return $this->db->get()->row();
55
public function getIdMahasiswa($nim)
$this->db->select('*');
$this->db->from('mahasiswa a');
$this->db->where('nim', $nim);
return $this->db->get()->row();
$this->db->from('h_ujian');
$this->db->where('ujian_id', $id);
$this->db->where('mahasiswa_id', $mhs);
return $this->db->get();
56
public function getSoal($id)
$ujian = $this->getUjianById($id);
$this->db->from('tb_soal');
$this->db->where('dosen_id', $ujian->dosen_id);
$this->db->where('matkul_id', $ujian->matkul_id);
$this->db->order_by($order);
$this->db->limit($ujian->jumlah_soal);
return $this->db->get()->result();
57
$this->db->from('tb_soal');
$this->db->where('id_soal', $pc_urut_soal_arr);
return $this->db->get()->row();
$this->db->select('list_jawaban');
$this->db->from('h_ujian');
$this->db->where('id', $id_tes);
return $this->db->get()->row()->list_jawaban;
$this->datatables->select('c.nama_matkul, d.nama_dosen');
$this->datatables->from('h_ujian a');
58
$this->datatables->join('m_ujian b', 'a.ujian_id = b.id_ujian');
$this->datatables->group_by('b.id_ujian');
$this->datatables->where('d.nip', $nip);
return $this->datatables->generate();
if($dt===false){
$db = "db";
$get = "get";
}else{
$db = "datatables";
$get = "generate";
59
$this->$db->select('d.id, a.nama, b.nama_kelas, c.nama_jurusan, d.jml_benar, d.nilai');
$this->$db->from('mahasiswa a');
return $this->$db->$get();
$this->db->select_min('nilai', 'min_nilai');
$this->db->select_max('nilai', 'max_nilai');
$this->db->select_avg('FORMAT(FLOOR(nilai),0)', 'avg_nilai');
$this->db->where('ujian_id', $id);
return $this->db->get('h_ujian')->row()
60
1. LOGIN PAGE
2. ADMIN DASHBOARD
3. LECTURER DASHBOARD
61
ADD LECTURER
3. STUDENT
62
ADD STUDENT
4. CREATE QUESTION
63
64