Anda di halaman 1dari 20

48

Flowchart system user adalah gambaran dari langkah-langkah dan urutan


prosedur yang dilakukan oleh user dalam hal ini adalah dosen dan mahasiswa.
Langkah-langkah yang dilakukan oleh user pada aplikasi sistem pakar ini yaitu
dimulai dari login dengan memasukkan username dan password, apabila login
sebagai dosen maka akan menuju ke halaman utama dosen, jika mahasiswa maka
akan menuju ke halaman utama mahasiswa. Selanjutnya jika login sebagai dosen
maka setelah halaman utama dosen bisa memilih menu kelola mahasiswa, kelola
materi, kelola tugas, atau chat. Jika login sebagai mahasiswa maka setelah
halaman utama mahasiswa bisa memilih menu lihat materi, lihat tugas, atau chat.
Berikut Gambar 1 merupakan flowchart system user.
49

Gambar 1 Flowchart System User

Pengujian White Box

Pengujian white box digunakan untuk meyakinkan semua perintah dan


kondisi pada aplikasi dieksekusi secara minimal. Pada pengujian white box
menggunakan flowgraph untuk menggambarkan alur dari proses pada aplikasi
web ini.
50

Langkah pertama adalah menggambarkan flowchart terlebih dahulu untuk


mengetahui alur proses aplikasi diskusi online ini. Pada Gambar 2 menunjukkan
flowchart dari sistem.

Gambar 2 Flowchart Sistem

Di bawah ini menunjukkan bagaimana alur dari flowchart pada Gambar 2


dengan keterangannya:

1. Pada simbol nomor 1 menunjukkan proses mulai dari flowchart.


2. Simbol nomor 2 berbentuk persegi panjang adalah proses login.
3. Simbol nomor 3 berbentuk belah ketupat adalah percabangan benar
atau salah dari data yang dimasukkan saat proses login.
4. Simbol nomor 4 berbentuk belah ketupat adalah percabangan apakah
login sebagai dosen atau sebagai mahasiswa.
51

5. Simbol nomor 5 berbentuk jajaran genjang adalah tampilan halaman


utama dosen.
6. Simbol nomor 6 berbentuk belah ketupat adalah percabangan apakah
ingin menuju halaman mahasiswa atau tidak.
7. Simbol nomor 7 berbentuk belah ketupat adalah percabangan apakah
ingin menuju halaman materi atau tidak.
8. Simbol nomor 8 berbentuk belah ketupat adalah percabangan apakah
ingin menuju halaman tugas atau tidak.
9. Simbol nomor 9 berbentuk belah ketupat adalah percabangan apakah
ingin menuju halaman nilai atau tidak.
10. Simbol nomor 10 berbentuk belah ketupat adalah percabangan apakah
ingin menuju halaman chat atau tidak.
11. Simbol nomor 11 berbentuk jajaran genjang adalah tampilan halaman
utama mahasiswa.
12. Simbol nomor 12 berbentuk belah ketupat adalah percabangan apakah
ingin menuju halaman lihat materi atau tidak.
13. Simbol nomor 13 berbentuk belah ketupat adalah percabangan apakah
ingin menuju halaman lihat tugas atau tidak.
14. Simbol nomor 14 berbentuk belah ketupat adalah percabangan apakah
ingin menuju halaman mahasiswa atau tidak.
15. Simbol nomor 15 berbentuk belah ketupat adalah percabangan apakah
ingin menuju halaman nilai atau tidak.
16. Simbol nomor 16 berbentuk belah ketupat adalah percabangan apakah
ingin menuju halaman chat atau tidak.
17. Simbol nomor 17 berbentuk jajaran genjang adalah tampilan halaman
lihat materi.
18. Simbol nomor 18 berbentuk jajaran genjang adalah tampilan halaman
lihat tugas.
19. Simbol nomor 19 berbentuk jajaran genjang adalah tampilan halaman
nilai.
52

20. Simbol nomor 20 berbentuk jajaran genjang adalah tampilan halaman


chat.
21. Simbol nomor 21 berbentuk jajaran genjang adalah tampilan halaman
daftar mahasiswa.
22. Simbol nomor 22 berbentuk jajaran genjang adalah tampilan halaman
materi.
23. Simbol nomor 23 berbentuk jajaran genjang adalah tampilan halaman
tugas.
24. Simbol nomor 24 berbentuk jajaran genjang adalah tampilan halaman
nilai.
25. Simbol nomor 25 berbentuk jajaran genjang adalah tampilan halaman
chat.
26. Simbol nomor 26 berbentuk belah ketupat adalah percabangan apakah
ingin menuju halaman edit data mahasiswa atau tidak.
27. Simbol nomor 27 berbentuk belah ketupat adalah percabangan apakah
ingin menuju halaman edit data materi atau tidak.
28. Simbol nomor 28 berbentuk belah ketupat adalah percabangan apakah
ingin menuju halaman edit data tugas atau tidak.
29. Simbol nomor 29 berbentuk belah ketupat adalah percabangan apakah
ingin menuju halaman edit nilai atau tidak.
30. Simbol nomor 30 berbentuk jajaran genjang adalah tampilan halaman
edit data mahasiswa.
31. Simbol nomor 31 berbentuk jajaran genjang adalah tampilan halaman
edit data materi.
32. Simbol nomor 32 berbentuk jajaran genjang adalah tampilan halaman
edit data tugas.
33. Simbol nomor 33 berbentuk jajaran genjang adalah tampilan halaman
edit nilai.
34. Simbol nomor 34 berbentuk persegi panjang adalah proses logout
35. Simbol nomor 35 adalah selesai
53

Selanjutnya yaitu merubah dari flowchart ke flowgraph yang bertujuan


untuk menghitung cyclomatic complexity sehingga dapat diketahui jumlah path
yang perlu dilaksanakan agar semua proses dilewati. Pada Gambar 4.25
merupakan hasil dari flowgraph yang telah diubah dari flowchart.

Gambar 3 Flowgraph Sistem

Keterangan Gambar 3:

= Menggambarkan kondisi
= Menggambarkan aksi

Pada Gambar 3 menunjukkan proses sistem antar kondisi sebagai berikut:

1. Kondisi 1 menunjukkan tentang kondisi mulai.


2. Kondisi 2, 3 menunjukkan tentang kondisi login dan percabangan.
54

3. Kondisi 4 menunjukkan tentang percabangan login sebagai dosen atau


mahasiswa.
4. Kondisi 5 menunjukkan tentang kondisi tampilan untuk halaman
utama dosen.
5. Kondisi 6, 21 menunjukkan tentang kondisi percabangan daftar
mahasiswa dan tampilan halaman daftar mahasiswa.
6. Kondisi 7, 22 menunjukkan tentang kondisi percabangan materi dan
tampilan halaman materi.
7. Kondisi 8, 23 menunjukkan tentang kondisi percabangan tugas dan
tampilan halaman tugas.
8. Kondisi 9, 24 menunjukkan tentang kondisi percabangan nilai dan
tampilan halaman nilai.
9. Kondisi 10, 25 menunjukkan tentang kondisi percabangan chat dan
tampilan halaman chat.
10. Kondisi 26 menunjukkan tentang kondisi percabangan menuju ke
halaman edit data mahasiswa atau tidak.
11. Kondisi 27 menunjukkan tentang kondisi percabangan menuju ke
halaman edit data materi atau tidak.
12. Kondisi 28 menunjukkan tentang kondisi percabangan menuju ke
halaman edit data tugas atau tidak.
13. Kondisi 29 menunjukkan tentang kondisi percabangan menuju ke
halaman edit data nilai atau tidak.
14. Kondisi 30 menunjukkan tentang kondisi tampilan edit data
mahasiswa.
15. Kondisi 31 menunjukkan tentang kondisi tampilan edit data materi.
16. Kondisi 32 menunjukkan tentang kondisi tampilan edit data tugas.
17. Kondisi 33 menunjukkan tentang kondisi tampilan edit data nilai.
18. Kondisi 11 menunjukkan tentang kondisi tampilan halaman utama
mahasiswa.
19. Kondisi 12, 17 menunjukkan tentang kondisi percabangan materi dan
tampilan halaman materi.
55

20. Kondisi 13, 18 menunjukkan tentang kondisi percabangan tugas dan


tampilan halaman tugas.
21. Kondisi 14, 19 menunjukkan tentang kondisi percabangan nilai dan
tampilan halaman nilai.
22. Kondisi 15, 20 menunjukkan tentang kondisi percabangan chat dan
tampilan halaman chat.
23. Kondisi 16 menunjukkan tentang kondisi percabangan apakah logout
atau tidak.
24. Kondisi 34, 35 menunjukkan tentang kondisi proses logout dan selesai.

Dari Gambar 3 dapat dihitung cyclomatic complexity dengan


menggunakan rumus sebagai berikut:

V (G) = e–n+2

V (G) = 35-24+2

V (G) = 13

Dimana:

e = Jumlah edge pada flowgraph

n = Jumlah node pada flowgraph

Tabel 1 Cyclomatic Complexity Pada Flowgraph


Path 1 1-2-3-4-11-12-17-16-34-35

Path 2 1-2-3-4-5-6-21-26-16-34-35

Path 3 1-2-3-4-11-12-13-18-16-34-35

Path 4 1-2-3-4-5-6-21-26-30-16-34-35

Path 5 1-2-3-4-5-6-7-22-27-16-34-35
56

Path 6 1-2-3-4-11-12-13-14-19-16-34-35

Path 7 1-2-3-4-5-6-7-22-27-31-16-34-35

Path 8 1-2-3-4-5-6-7-8-23-28-16-34-35

Path 9 1-2-3-4-11-12-13-14-15-20-16-34-35

Path 10 1-2-3-4-5-6-7-8-9-24-29-16-34-35

Path 11 1-2-3-4-5-6-7-8-23-28-32-16-34-35

Path 12 1-2-3-4-5-6-7-8-9-10-25-16-34-35

Path 13 1-2-3-4-5-6-7-8-9-24-29-33-16-34-35

Tahapan alur path pada Tabel 1 adalah sebagai berikut:

Path 1 Mulai – login – percabangan – percabangan – menu mahasiswa –


percabangan – materi – percabangan – logout – selesai.
Path 2 Mulai – login – percabangan – percabangan – menu dosen –
percabangan – daftar mahasiswa – percabangan – percabangan –
logout – selesai.
Path 3 Mulai – login – percabangan – percabangan – menu mahasiswa –
percabangan – percabangan – tugas – percabangan – logout –
selesai.
Path 4 Mulai – login – percabangan – percabangan – menu dosen –
percabangan – daftar mahasiswa – percabangan – edit mahasiswa
– percabangan – logout – selesai.
Path 5 Mulai – login – percabangan – percabangan – menu dosen –
percabangan – percabangan – materi – percabangan –
percabangan – logout – selesai.
57

Path 6 Mulai – login – percabangan – percabangan – menu mahasiswa –


percabangan – percabangan – percabangan – nilai – percabangan
– logout – selesai.
Path 7 Mulai – login – percabangan – percabangan – menu dosen –
percabangan – percabangan – materi – percabangan – edit materi
– percabangan – logout – selesai.
Path 8 Mulai – login – percabangan – percabangan – menu dosen –
percabangan – percabangan – percabangan – tugas – percabangan
– percabangan – logout – selesai.
Path 9 Mulai – login – percabangan – percabangan – menu mahasiswa –
percabangan – percabangan – percabangan – percabangan – chat
– percabangan – logout – selesai.
Path 10 Mulai – login – percabangan – percabangan – menu dosen –
percabangan – percabangan – percabangan – percabangan – nilai
– percabangan – percabangan – logout – selesai.
Path 11 Mulai – login – percabangan – percabangan – menu dosen –
percabangan – percabangan – percabangan – tugas – percabangan
– edit tugas – percabangan – logout – selesai.
Path 12 Mulai – login – percabangan – percabangan – menu dosen – percabangan – percabangan – percabangan –
percabangan – percabangan – chat – percabangan – logout – selesai.
Path 13 Mulai – login – percabangan – percabangan – menu dosen – percabangan – percabangan – percabangan –
percabangan – nilai – percabangan – edit nilai – percabangan – logout – selesai.
Pada proses pengujian white-box dilakukan perhitungan cyclomatic complexity sehingga mendapatkan path. Hasil pengujian
proses sistem selama 3 hari dari path 1 hingga path 13 disajikan pada Tabel di bawah ini.
Pada Tabel 2 menjelaskan tentang hasil proses login, materi, dan logout sebagai mahasiswa dari path 1 dengan menggunakan
sistem baris program dan dilakukan pengujian selama 3 hari.

Tabel 2 Hasil Pengujian Path 1 dan Baris Program


Path 1 Login, Materi, dan Logout Hari 1 Hari 2 Hari 3

Proses Login
$login=mysql_query("SELECT * FROM pengguna WHERE user='$username' AND
pass='$pass' AND blokir='N'");
$ketemu=mysql_num_rows($login);
$r=mysql_fetch_array($login);
if ($ketemu > 0){
session_start(); Berhasil Berhasil Berhasil
include "timeout.php";
$_SESSION['id'] = $r['id_user'];
$_SESSION['username'] = $r['user'];
$_SESSION['passuser'] = $r['pass'];
$_SESSION['level'] = $r['level'];
$_SESSION['nama'] = $r['nama'];

72
Tabel 2 Lanjutan
Path 1 Login, Materi, dan Logout Hari 1 Hari 2 Hari 3

if ($r['level'] == "mhs")
{
header('location:mhs/?module=home');
}
else if ($r['level'] == "dosen")
{ header('location:dosen/?module=home');
}
$_SESSION['login'] = 1;
timer();
}

Proses Materi
<?php
$sql = "SELECT * FROM materi"; Berhasil Berhasil Berhasil
$tampil = mysql_query($sql);
$no=1;
while ($tampilkan = mysql_fetch_array($tampil)) {
$Kode = $tampilkan['id_materi'];
?>
<tr><td style="text-align: center;vertical-align: middle;"><a href="?
module=materi&aksi=lihat2&id=<?php echo $tampilkan['id_materi'];?>"><?php
echo $tampilkan['nama']; ?></td>
<td style="text-align: center;vertical-align: middle;"><?php echo
$tampilkan['judul'] ; ?></td>
<td style="text-align: center;vertical-align: middle;"><?php echo
$tampilkan['tanggal'] ; ?></td>
<td style="text-align: center;vertical-align:

73
Tabel 2 Lanjutan
Path 1 Login, Materi, dan Logout Hari 1 Hari 2 Hari 3

middle;"><?php echo $tampilkan['keterangan'] ; ?></td>


<?php
}
?>
</tr>
Berhasil Berhasil Berhasil
Proses Logout
<?php
session_start();
session_destroy();
header('location:index.php');
?>

Pada Tabel 3 menjelaskan tentang hasil proses daftar mahasiswa sebagai dosen dari path 2 dengan menggunakan sistem baris
program.
Tabel 3 Hasil Pengujian Path 2 dan Baris Program

Path 2 Daftar Mahasiswa (Sisi Dosen) Hari 1 Hari 2 Hari 3

Proses Daftar Mahasiswa


<?php Berhasil Berhasil Berhasil
// Tampilkan data dari Database
$sql = "SELECT * FROM pengguna where level !=’dosen’";
$tampil = mysql_query($sql);

74
Tabel 3 Lanjutan
Path 2 Daftar Mahasiswa (Sisi Dosen) Hari 1 Hari 2 Hari 3

$no=1;
while ($tampilkan = mysql_fetch_array($tampil)) {
$Kode = $tampilkan['id_user'];
?>
<tr><td><?php echo $no++; ?></td>
<td><?php echo $tampilkan['user']; ?></td>
<td><?php echo $tampilkan['nama']; ?></td>
<td><?php echo $tampilkan['email']; ?></td>
<td>*******</td>
<td align="center">
<a class="btn btn-xs btn-info" href="?
module=daftar&aksi=edit&id_user=<?php echo $tampilkan['id_user'];?>"
alt="Edit Data"><i class="glyphicon glyphicon-pencil"></i></a> Berhasil Berhasil Berhasil
<?php
if ($tampilkan['blokir'] == 'N') { ?>
<a class="btn btn-xs btn-warning"href="<?php echo $aksi ?>?
module=daftar&aksi=blokir&id_user=<?php echo $tampilkan['id_user'];?>"
alt="Blokir" onclick="return confirm('ANDA YAKIN AKAN MEMBLOKIR <?php
echo $Kode; ?> ?')"> <i class="fa fa-check"></i></a>
<?php }
else if ($tampilkan['blokir'] == 'Y') { ?>
<a class="btn btn-xs btn-danger"href="<?php echo $aksi ?>?
module=daftar&aksi=aktif&id_user=<?php echo $tampilkan['id_user'];?>"
alt="Aktif" onclick="return confirm('ANDA YAKIN AKAN MENGAKTIFKAN <?php
echo $Kode; ?> ?')"> <i class="fa fa-close"></i></a>
<?php }?></td> <?php }?> </tr>

75
Pada Tabel 4 menjelaskan tentang hasil proses tugas sebagai mahasiswa dari path 3 dengan menggunakan sistem baris
program.

Tabel 4 Hasil Pengujian Path 3 dan Baris Program


Path 3 Tugas (Sisi Mahasiswa) Hari 1 Hari 2 Hari 3

Proses Tugas
<?php
$sql = "SELECT pg.id_user, user, nama, nilai, file, id_tugas FROM
pengguna pg JOIN tugas_kpl tk ON pg.id_user = tk.id_user WHERE id_tugas=
'$_GET[id]'";
$tampil = mysql_query($sql);
$no=1;
while ($tampilkan = mysql_fetch_array($tampil)) {
$Kode = $tampilkan['id_user'];
?>
<tr><input type="hidden" name="id_tugas" value="<?php echo Berhasil Berhasil Berhasil
$tampilkan['id_tugas']; ?>">
<input type="hidden" name="id_mhs" value="<?php echo
$tampilkan['id_user']; ?>">
<td><?php echo $no++; ?></td>
<td><?php echo $tampilkan['user']; ?></td>
<td><?php echo $tampilkan['nama']; ?></td>
<td><a href="../../insyaAllah/mhs/module/tugas/file/<?php echo
$tampilkan['file']; ?>"><?php echo $tampilkan['file']; ?></a></td>
<td style="text-align: center;vertical-align: middle;">
<?php
if ($tampilkan['nilai'] == null) { ?>
<input class="form-control" name="nilai"

76
Tabel 4 Lanjutan
Path 3 Tugas (Sisi Mahasiswa) Hari 1 Hari 2 Hari 3

style="text-align: center;vertical-align: middle;" type="text"><input


type="hidden" name="id_nilai" value="<?php echo $tampilkan['id_user']; ?
>"></td>
<?php }
elseif ($tampilkan['nilai'] != null) { ?>
<input class="form-control" name="nilai" style="text-align:
center;vertical-align: middle;" type="text" readonly value="<?php echo
$tampilkan['nilai']; ?>"><input type="hidden" name="id_nilai" value="<?
php echo $tampilkan['id_user']; ?>"></td>
<?php } ?>
<td align="center">
<?php Berhasil Berhasil Berhasil
if ($tampilkan['nilai'] == null) { ?>
<button class="btn btn-xs btn-success" type="submit" name="submit"
alt="Simpan Nilai"><i class="fa fa-check"></i></button>
<?php }
elseif ($tampilkan['nilai'] != null) { ?>
<a class="btn btn-xs btn-info" href="?
module=tugas&aksi=simpan&id=<?php echo $tampilkan['id_tugas'];?
>&id_user=<?php echo $tampilkan['id_user'];?>" alt="Edit Nilai"><i
class="glyphicon glyphicon-pencil"></i></a>
<?php } ?>
</td>
<?php

77
Tabel 4 Lanjutan
Path 3 Tugas (Sisi Mahasiswa) Hari 1 Hari 2 Hari 3

}
?>
</tr>
header('location:../../index.php?module='.$module);
if(in_array($ekstensi, $ekstensi_diperbolehkan) === true){
if($ukuran < 10044070){
move_uploaded_file($file_tmp, 'file/'.$kode.'.'.$ekstensi)
$sql = "INSERT INTO tugas (id_tugas, nm_tugas, tgl_tugas, jam_tugas,
tgl_selesai, jam_selesai, keterangan, file, id_user) VALUES ('$id',
'$judul', '$tanggalmli', '$waktumli', '$tanggalsls', '$jam_selesai',
'$ket', '$kode.$ekstensi', '$id_user')"; Berhasil Berhasil Berhasil
$simpan = mysql_query($sql);
if($simpan){ header('location:../../index.php?
module='.$module.'&aksi=lihat3'); }else{ echo 'GAGAL
MENGUPLOAD GAMBAR';
}
}else{
echo 'UKURAN FILE TERLALU BESAR'; }
}else{
echo 'EKSTENSI FILE YANG DI UPLOAD TIDAK DI
PERBOLEHKAN';
}

Dst sampai path terakhir


Tabel 5 Hasil Pengujian White Box
Hari 1 Hari 2 Hari 3
Hasil Pengujian White-Box
Ya Tidak Ya Tidak Ya Tidak
Path 1 [√] [√] [√]
Path 2 [√] [√] [√]
Path 3 [√] [√] [√]
Path 4 [√] [√] [√]
Path 5 [√] [√] [√]
Path 6 [√] [√] [√]
Path 7 [√] [√] [√]
Path 8 [√] [√] [√]
Path 9 [√] [√] [√]
Path 10 [√] [√] [√]
Path 11 [√] [√] [√]
Path 12 [√] [√] [√]
Path13 [√] [√] [√]
Hasil 13 13 13
Total 100%

Pada pengujian white box seperti pada Tabel 5 didapatkan hasil dengan persentase keberhasilan untuk pengujian selama 3 hari
dari sebanyak 13 path yaitu sebesar 100%.

Anda mungkin juga menyukai