Anda di halaman 1dari 25

BAB IV

PEMBAHASAN DAN HASIL

4.1 Sejarah Universitas Bandar Lampung


Universitas Bandar_Lampung (UBL) adalah Perguruan Tinggi Swasta terbesar di
Provinsi Lampung, yang berdiri sejak tahun 1984 di bawah naungan Yayasan
Administrasi Lampung (YAL), yang pada pada waktu itu diketuai oleh Bapak Drs.
RM.Barusman. Yayasan Administrasi Lampung adalah sebuah yayasan yang
bergerak

dalam

bidang

pendidikan,

yang

pada

tahun

1972

juga

mendirikan Akademi Administrasi Niaga (AAN) Tanjungkarang, yang kemudian


dalam perkembangan namanya berubah menjadi Akademi Sekertari dan
Manajemen (ASM) Bandar Lampung.
Penanganan proses belajar mengajar di Universitas Bandar Lampung (UBL)
dilakukan secara profesional dengan Dosen yang yang berpengalaman dan
berkualitas dengan latar belakang pendidikan S2 dan S3 lulusan perguruan tinggi
terkemuka dari dalam dan luar negeri serta didukung oleh sistem akademik yang
terpadu dan pengembangan kurikulum yang berbasis teknologi.

4.2 Struktur Organisasi Universitas Bandar Lampung

Gambar 4.1 struktur organisasi universitas bandar lampung

4.3 Inference Engine


Inference engine merupakan perangkat lunak yang melakukan penalaran
dengan menggunakan pengetahuan yang ada sperti prosedur untuk mencocokkan
fakta ruangan dengan hari dan jam matakuliah yang ditawarkan. Mekanisme
inferensi mengandung suatu mekanisme pola pikir dan penalaran yang digunakan
dalam menyelesaikan suatu masalah, dalam hal ini bagaimana sistem dapat
mengambil suatu kesimpulan berdasarkan data (program studi, kelas, matakuliah,
dosen, ruangan, hari, waktu/sesi) yang dimasukkan oleh user. Selanjutnya
pendekatan yang dipakai sistem pakar untuk menyusun jadwal dengan
menggunakan pelacakan ke depan (forward chaining) dimana pelacakan tersebut
didasarkan pada data masukkan dan selanjutnya akan dibuat kesimpulannya
berupa jadwal kuliah.
Pada proses penyusunan jadwal, dalam keadaan tertentu mungkin saja satu
matakuliah diselenggarakan untuk lebih dari satu kelas, satu dosen dapat
membawakan lebih dari satu matakuliah dan satu ruangan dapat digunakan
untuk banyak matakuliah. Solusi yang dapat diambil untuk menyelesaikan adalah
melakukan pengelompokkan matakuliah. Selanjutnya sistem pakar akan
melakukan pelacakan kelas dan dosen untuk tiap matakuliah. Selanjutnya sistem
pakar akan melakukan identifikasi untuk menentukan ruang, hari dan waktu yang
akan digunakan untuk tiap matakuliah sehingga dihasilkan suatu susunan jadwal
kuliah. Berdasarkan aturan dan fakta yang ada, disusunlah suatu inference engine
dapat dilihat pada gambar 4.3 di mana inference engine ini menyediakan
mekanisme fungsi penalaran sistem yang digunakan oleh seorang pakar sebagai
berikut :
1. Mekanisme akan menjalankan masalah tertentu dan selanjutnya mencari
kesimpulan atau jawaban yang terbaik
2. Mesin ini akan dimulai pelacakannyadengan mencocokan kaidah-kaidah
dalam basis pengetahuan dengan fakta-fakta yangada dalam basis data

Berikut adalah penjelasan dari Sistem Inference Engine penyusunan jadwal dari
tabel di bawah ini dengan Forward Chaining :
Table 4.1 Aturan Atau Rule

Berikut ini adalah tahap-tahap penelusuran dengan inferensi engine cycles


procedure match fire dengan menggunakan Forward chaining :
1. Database

R1 membutuhkan data A dan B dari database sehingga menghasilkan data


C didalam database terdapat atau ditemukan data A dan B sehingga data C
di-fired dan ditambahkan ke dalam database.
2. Database

R2 membutuhkan data C dari database sehingga akan menghasilkan data


D,
didalam database terdapat atau ditemukan data C sehingga data D akan difired dan ditambahkan kedalam database.

3. Database

R3 membutuhkan data C dan D dari database sehingga akan menghasilkan


data E, didalam database terdapat atau ditemukan data C sehingga data D
akan di-fired dan ditambahkan kedalam database.
4. Database

R4 membutuhkan data E dari database sehingga akan menghasilkan data F


dan G, didalam database terdapat atau ditemukan data E sehingga data F
dan G akan di-fired dan ditambahkan kedalam database.
5. Database

R5 membutuhkan data C, D, E, F, dan G sehingga akan menghasilkan data


H didalam database terdapat atau ditemukan C, D, E, F dan G data di-fired
dan ditambahkan kedalam database.
Untuk memahami cara kerja dari system ini maka diberikan contoh
sebagai berikut.
Langkah pertama adalah dengan cara memilih program studi misalnya
kita akan pilih program studi Teknik Informatika dan Sistem Informasi
Langkah dua adalah setelah program studi ditentukan maka kelas akan
tampil

sesuai

dengan

program

studi

yang

ditentukan

diatas

misalnya kelas TIA 07 dan SIA 07


Langkah tiga adalah setelah kelas ditentukan pilih semester yang diambil
misalnya semester I, maka akan tampil daftar maka kuliah sesuai dengan
program

studi

yang

ditentukan

pada

langkah

pertama

dipilh

matakuliah yang akan dibuat jadwalnya dengan memilih mata kuliah


misalnya : Pemrograman 1

Langkah empat setelah mata kuliah ditentukan maka, dosen dapat dipilh
sesuai dengan pengelompokkan mata kuliah yang dipilh, misalnya :
Ahmad Cucus Dan Taqwan Tamrin.
Langkah lima setelah langkah I, II, III, IV, terpenuhi maka user hanya
memilih tombol jadwal perkuliahan maka sistem akan mencari hari dan
ruangan secara otomatis.

4.4 Pembuatan Program


untuk membuat program sistem penjadwalan menggunakan algoritma
forward chaining. Ada beberapa tahapan yang harus dilakukan, tahapan tahapan
tersebut akan dijelaskan sebagai berikut.
4.4.1 Membuat Database
Untuk membuat database, penulis membutuhkan xampp dan Sql
Workbrance dalam membuat database. Langkah pertama yang harus dilakukan
adalah mengaktifkan xampp.

Gambar 4.1 Xampp

Langkah selanjutnya adalah membuaka browser dan mengetik phpmyadmin, klik


new dan beri nama database dengan conn_jadwal.

Gambar 4.2 Tampilan SQl

4.4.2 Membuat Tabel Di Dalam Database


Setelah selesai membuat database, penulis membuat tabel di dalam
database. Adapun tabel-tabel tersebut dapat dilihat pada gambar di bawah ini.

Gambar 4.3 Tabel Di Dalam Database

4.4.3 Membuat Interfaces


Interfaces merupakan bagian penting dari program ini. Interfaces
merupakan tampilan yang akan membantu user dalam membuat jadwal. Untuk
membuat interfaces dan melakukan pengkodingan terhadap program penjadwalan
ini, penulis menggunakan dream weaver
4.4.3.1 Menu Utama
Menu utama merupakan sebuah interfaces yang di dalamnya terdiri dari
beberapa menu lain.

Gambar 4.3 Menu Utama

Menu utama terdiri dari beberapa sub menu. Adapun sintak atau koding dalam
pembuatan menu utama dan sub menu adalah sebagai berikut
1. koding sub menu editing
<li><a href="#about" class="about"><span>Editing</span></a></li>
2. koding sub menu about
<li><a href="#services" class="services"><span>About</span></a></li>
3. koding sub menu help
<li><a href="#portfolio" class="portfolio"><span>Help!</span></a></li>
4. koding sub menu jadwal
<li><a

href="#testimonial"

class="testimonial"><span>Jadwal</span></a></li>
5. koding sub menu contac
<li

class="no_margin_right"><a

href="#contact"

class="contact"><span>Contact</span></a></li>
4.4.3.2 Menu Editing
Menu editing merupakan sebuah menu yang menyimpan data-data yang
diperlukan untuk membuat sebuah jadwal. Di dalam menu ini terdapat empat hal

yang dapat di edit yaitu data dosen, data mata kuliah, data program study dan data
user.

Gambar 4.4 Menu Editing

Adapun koding untuk membuat menu ini secara keseluruhan adalah


sebagai berikut
div class="section" id="about">
<h1>Editing Page</h1>
<div class="half left">
<div class="img_border img_fl">
<img src="images/templatemo_image_02.jpg" alt="Image 02" />
</div>
<p><em>
<p></p>
<div class="half right">
<ul id="social_links">
<li><a href="editing_page/dosen.php" class="dosen">Dosen</a></li>
<li><a href="editing_page/matkul.php" class="matkul">Mata Kuliah</a></li>
<li><a href="editing_page/prodi.php" class="prodi">Program Studi</a></li>
<li><a href="editing_page/user.php" class="pengguna">User</a></li>
</ul>
</div>
<a href="#home" class="home_btn">home</a>
<a href="#home" class="page_nav_btn previous">Previous</a>

4.4.3.3 Menu Editing Dosen


Di dalam menu edit dosen, user dapat menginput maupun merubah data
dosen yang baru ataupun data dosen yang telah tersimpan.

Gambar 4.5 Menu Editing Dosen

Berikut ini merupakan koding untuk menu editing Dosen.

<h1 id="judul"> Dosen </h1>


<div class="tabel" style="text-align:center" style="overflow-y:auto">
<table align="center">
<thead>
<tr>
<th>No</th>
<th>NIP</th>
<th>Nama</th>
<th>Tipe</th>
<th>Program Studi</th>
<th>Jumlah Ampu</th>
<th>Telah Ampu</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
$query = mysql_query("select * from tabel_dosen");
$i = 1;
while ($data = mysql_fetch_array($query)) {
?>
<tr class="<?php if ($i % 2 == 0) { echo "odd"; } else { echo "even"; } ?>">
<td><?php echo $i; ?></td>
<td>
<?php
echo $data['nip'];
?>
</td>

<td><?php echo $data['nama']; ?></td>


<td><?php echo $data['tipe']; ?></td>
<td><?php echo $data['program_studi']; ?></td>
<td><?php echo $data['mk_diampu']; ?></td>
<td><?php echo $data['mk_sudah_diampu']; ?></td>
<td><div class="row-actions">
<a
href="dosen_edit.php?nip=<?php
echo $data['nip'];?>" class="edit">Edit</a>
<a > | </a>
<a href="dosen_delete.php?nip=<?php
echo $data['nip'];?>" class="delete">Delete</a>

4.4.3.4 Menu Editing Mata Kuliah


Di dalam menu edit mata kuliah, user dapat menginput maupun merubah
data mata kuliah yang baru ataupun data dosen yang telah tersimpan.

Gambar 4.6 Menu Edit Mata Kuliah

Berikut ini merupakan koding untuk editing mata kuliah


<body>
<div class="main">
<thead>
<tr>
<th>No</th>
<th>Kode Mata Kuliah</th>
<th>Mata Kuliah</th>
<th>Semester</th>
<th>SKS</th>

<th>Tipe</th>
<th>Kelas</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
$query = mysql_query("select * from tabel_mk");
$i = 1;
while ($data = mysql_fetch_array($query)) {
?>
<tr class="<?php if ($i % 2 == 0) { echo "odd"; } else { echo "even"; } ?>">
<td><?php echo $i; ?></td>
<td>
<?php
echo $data['kode_mk'];
?>
</td>
<td><?php echo $data['mata_kuliah']; ?></td>
<td><?php echo $data['semester']; ?></td>
<td><?php echo $data['sks']; ?></td>
<td><?php echo $data['tipe']; ?></td>
<td><?php echo $data['kelas']; ?></td>
<td><div class="row-actions">
<a
href="#kelas=<?php
echo
$data['nip'];?>">Edit</a>
<a
href="matkul_delete.php?
kode_mk=<?php echo $data['kode_mk'];?>" class="delete">Delete</a>
</div>

4.4.3.5 Menu Editing Program Study


Menu edit program study merupakan sebuah interfaces yang menyimpan
data program studi apa saja yang akan di buat jadwal perkuliahannya. Berikut ini
merupakan koding dan tampilan dari menu editing program study.
<tbody>
<?php
$query = mysql_query("select * from tabel_prodi");
$i = 1;
while ($data = mysql_fetch_array($query)) {
?>
<tr class="<?php if ($i % 2 == 0) { echo "odd"; } else { echo "even"; } ?>">
<td><?php echo $i; ?></td>
<td>
<?php

echo $data['kode_prodi'];
?>
</td>
<td><?php echo $data['program_studi']; ?></td>
<td><div class="row-actions">
<a
href="#kelas=<?php
echo
$data['nip'];?>">Edit</a>
<a
href="prodi_delete.php?
kode_prodi=<?php echo $data['kode_prodi'];?>" class="delete">Delete</a>
</tbody>

Gambar 4.7 Menu Edit Program Study

4.4.3.6 Menu Editing User


Menu editing user merupakan menu yang menyimpan data user untuk
menentukan siapa saja yang dapat mengakses sistem penjadwalan ini. Berikut ini
penulis tampilkan koding dan tampilan interfaces untuk menu edit user

Gambar 4.8 Menu Edit User

Adapun koding untuk menu user dapat dilihat dibawah ini.


<thead>
<tr>
<th>No</th>
<th>ID Pengguna</th>
<th>Nama Pengguna</th>
<th>Email</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
$query = mysql_query("select * from log_user");
$i = 1;
while ($data = mysql_fetch_array($query)) {
?>
<tr class="<?php if ($i % 2 == 0) { echo "odd"; } else { echo "even"; } ?>">
<td><?php echo $i; ?></td>
<td>
<?php
echo $data['user_id'];
?>
</td>
<td><?php echo $data['username']; ?></td>
<td><?php echo $data['email']; ?></td>
<td><div class="row-actions">
<a
href="#kelas=<?php
echo
$data['nip'];?>">Edit</a>
<a
href="user_delete.php?user_id=<?
php echo $data['user_id'];?>" class="delete">Delete</a>

4.4.4 Menu Help


Menu help merupakan sebuah menu yang berisi bantuan dalam
menggunakan sistem penjadwalan ini.

Gambar 4.9 Menu Help

4.4.5 Menu Jadwal


Menu jadwal merupakan sebuah menu yang menampilkan jadwal yang
telah di buat dan tempat untuk memperbaharui jadwal.

Gambar 4.10 menu jadwal

4.4.6 Menu Contac


Menu contac merupakan sebuah menu yang menampilkan sebuah contac
person yang dapat dihubungi jika ada user yang ingin menanyakan sesuatu.

Gambar 4.11 Menu Contac

4.5 melakukan koneksi


<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_conn_jedwal = "localhost";
$database_conn_jedwal = "conn_jadwal";
$username_conn_jedwal = "root";
$password_conn_jedwal = "";
$conn_jedwal = mysql_pconnect($hostname_conn_jedwal, $username_conn_jedwal,
$password_conn_jedwal) or trigger_error(mysql_error(),E_USER_ERROR);
?>

4.6

Pembuatan Rule

4.6.1 Skema Pembuatan Rule


4.6.2 Rule Berdasarkan Forward Chaining
4.6.3 Rule Dalam Program
<?php
//membuat koneksi ke database dan memilih database
$link = mysql_connect('localhost:3306', 'root', '');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('conn_jadwal');
set_time_limit(3);
//Langkah 1
$kosong_jadwal = "truncate tabel_jadwal";
mysql_query($kosong_jadwal);
//Langkah 2
$kosong_pertemuan = "truncate tabel_pertemuan";
mysql_query($kosong_pertemuan);
//Langkah 3
$buat_pertemuan = "insert into tabel_pertemuan (hari, waktu, ruangan) select
conn_jadwal.tabel_hari.hari,
conn_jadwal.tabel_waktu.waktu,conn_jadwal.tabel_ruangan.ruangan
from
conn_jadwal.tabel_hari, conn_jadwal.tabel_waktu,
conn_jadwal.tabel_ruangan";
mysql_query($buat_pertemuan);
//Langkah 4
/*
$kosong_tabel_mk_prodi = "truncate tabel_mk_prodi";
mysql_query($kosong_tabel_mk_prodi);
$ambil_panjang_tabel_mk = "select * from tabel_mk";
$hasil_panjang_tabel_mk = mysql_query($ambil_panjang_tabel_mk);
$num_tabel_mk = mysql_num_rows($hasil_panjang_tabel_mk);
$i=1;
$j=$num_tabel_mk;
$m_prodi= null;
while($i <= $j){
$ambil_kode_mk = mysql_fetch_array(mysql_query("select kode_mk from tabel_mk
where no=$i"));
$dapat_kode_mk = implode($ambil_kode_mk);
$kode_awal = substr($dapat_kode_mk,0,2);
if($kode_awal == "KI"){

$m_prodi = "TI";
}else if($kode_awal == "KS"){
$m_prodi = "SI";
}
$ambil_kode_mk = null;
$k=1;
$ambil_panjang_tabel_prodi = "select * from tabel_prodi";
$hasil_panjang_tabel_prodi = mysql_query($ambil_panjang_tabel_prodi);
$num_tabel_prodi = mysql_num_rows($hasil_panjang_tabel_prodi);
$l=$num_tabel_prodi;
while($k <= $l){
$a = "select kode_prodi from tabel_prodi ";
$b = mysql_query($a);
while($data=mysql_fetch_array($b)){
$apa_prodi = $data[0];
if($apa_prodi == $m_prodi){
$m= $k;
$k = $l;
}else{
$k=$l;
}
}
$k++;
}
$insert_ke_tabel_mk_prodi = "insert into tabel_mk_prodi (kode_mk, mata_kuliah,
semester, sks, tipe, kelas, program_studi) select conn_jadwal.tabel_mk.kode_mk,
conn_jadwal.tabel_mk.mata_kuliah,
conn_jadwal.tabel_mk.semester,
conn_jadwal.tabel_mk.sks, conn_jadwal.tabel_mk.tipe, conn_jadwal.tabel_mk.kelas,
conn_jadwal.tabel_prodi.program_studi
from conn_jadwal.tabel_prodi,conn_jadwal.tabel_mk
where tabel_mk.no=$i and tabel_prodi.no=$m";
mysql_query($insert_ke_tabel_mk_prodi);
//echo $kode_awal;
$i++;
}
*/
//langkah 5
$kosong_tabel_mk_dosen_prodi = "truncate tabel_mk_dosen_prodi";
mysql_query($kosong_tabel_mk_dosen_prodi);
$ambil_panjang_tabel_dosen = "select * from tabel_dosen";
$hasil_panjang_tabel_dosen = mysql_query($ambil_panjang_tabel_dosen);
$num_tabel_dosen = mysql_num_rows($hasil_panjang_tabel_dosen);
$num_dos=$num_tabel_dosen;

$ambil_panjang_tabel_mk_prodi = "select * from tabel_mk_prodi";


$hasil_panjang_tabel_mk_prodi = mysql_query($ambil_panjang_tabel_mk_prodi);
$num_tabel_mk_prodi= mysql_num_rows($hasil_panjang_tabel_mk_prodi);
$num_mk_prodi=$num_tabel_mk_prodi;
$h=1;
$reset_mk_sudah_diampu = "update tabel_dosen set mk_sudah_diampu=0";
for($i=1;$i <= $num_dos;$i++){
mysql_query($reset_mk_sudah_diampu);
}

Pengujian White Box


Untuk menguji kinerja sistem penjadwalan berbasis forward chaining, penulis
mencoba melakukan pengujian whitebox pada sistem ini, Di bawah ini merupakan
flowraph proses validasi sistem pakar pemilihan tebu.

Gambar 4.7 flowchart diagram

Gambar 4.8 Flowgrapf Diagram

dari flowGraph di atas diperoleh


a.
b.
c.
d.

Region (R)
=5
Node (N)
= 18
Edge (E)
= 17
Predikat Node

=2

Sehingga diperoleh:
1. V(G)

=
E-N+2
=
(10-11)+2
=
1
2. V(G) =
1
3. Cyclomatic Complexity (CC) = R1, R2, R3, R4 DAN R5 = 5
Maka dapat disimpulkan bahwa flowchart proses validasi berjalan efektif dan
efisien.
4.6 Pengujian Black Box

Dalam proses pemetaan flowraph, penulis menggunakan black box untuk menguji
semua fitur yang terdapat pada sistem pembuatan jadwal.
Tabel 4.1 Black box
Input

Nama button

Proses

Hasil uji

Masuk ke halaman
Button klik

Login

Sesuai
utama.
Menampilkan

Button klik

Pemilihan menu

halaman tampilan Sesuai


menu
Menampilkan

Button klik

Input dosen

Sesuai
form input dosen
Menampilkan

Button klik

Input mata kuliah

form

input Sesuai

matakuliah
Menampilkan
Button klik

Buat jadwal

Sesuai
form jadwal baru
Menampilkan

Button klik

Lihat jadwal

jadwal yang telah Sesuai


di buat
Menampilkan

Button klik

Contac us

Sesuai
halaman contac us
Menampilkan

Button klik

Help

Sesuai
halaman help

Button klik

About me

Menampilkan

Sesuai

halaman about me
Kembali
Button klik

Log out

pada
Sesuai

halaman login

Anda mungkin juga menyukai