PENGUJIAN DAN PERAWATAN SISTEM PENGHITUNG JUMLAH MAHASISWA AKTIF JURUSAN ILMU KOMPUTER
(Skripsi)
HARTANTO TANTRIAWAN 1017032028
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMPUNG
ABSTRACK
TESTING AND MAINTENANCE ACTIVE STUDENTS OF COMPUTER SCIENCE SYSTEM
By
Hartanto Tantriawan
Active student of computer science system is a system developed based on KRS data that has been inputted by students at the beginning of the semester. The system is developed using simple static algorithm, which is need a system testing and maintenance to change the algorithm from static to dynamic. In this research we have conducted a system testing and maintenance on active student of computer science sytem using black box and white box testing. The result using black box testing are 11 test classes based on inputs and 4 test classes based on outputs. White box testing result are 37 test case with 118 nodes and 83 edges. After we did maintenance in the system, the result using black box testing are 11 test classes based on inputs and 4 test classes based on outputs, while white box testing result are 17 test case with 74 nodes and 59 edges.
ABSTRAK
PENGUJIAN DAN PERAWATAN SISTEM PENGHITUNG JUMLAH MAHASISWA AKTIF JURUSAN ILMU KOMPUTER
Oleh
Hartanto Tantriawan
Sistem Penghitung Jumlah Mahasiswa Aktif Jurusan Ilmu Komputer dibangun berdasarkan data KRS yang diisi oleh mahasiswa diawal semester. Sistem ini dikembangkan menggunakan algoritma sederhana yang statis sehingga perlu dilakukan pengujian dan perawatan untuk memperbaikan algoritma yang statis menjadi algoritma yang dinamis. Pada penelitian ini telah dilakukan pengujian dan perawatan pada sistem penghitung jumlah mahasiswa aktif jurusan Ilmu Komputer menggunakan Black Box Testing dan White Box Testing. Hasil pengujian menggunakan Black Box Testing tersebut adalah 11 kelas uji berdasarkan input dan 4 kelas uji berdasarkan output. Hasil White Box Testing adalah 37 test case dengan rincian 118 Node dan 83 Edges. Setelah dilakukan perawatan pada program penghitung Jumlah Mahasiswa Aktif Jurusan Ilmu Komputer hasil pengujian menggunakan Black Box Testing tersebut adalah 11 kelas uji berdasarkan input dan 4 kelas uji berdasarkan output. Sedangkan hasil pengujian menggunakan White Box Testing adalah 17 test case dengan rincian 74 Node dan 59 Edges.
PENGUJIAN DAN
PERAWATAN
SISTEM
PENGHITT]NG
JUMLAH
MAHASISWAAKTIF
JURUSAN
ILMU KOMPUTER
*Lartanto
flontriqwqn
Skripsi
Sebagai salah satu syarat untuk mencapai gelar
SARJANA KOMPUTER
pada
Jurusan Ilmu Komputer
Fakultas Matematika dan Ilmu Pengetahuan Alam
FAKULTAS
MATEMATIKA
DAN
ILMU
PENGETAHUAN
ALAM
UNIVERSITAS
LAMPUNG
Judul Skripsr
Nama Mahasiswa
No. PokokMahasiswa
Jurusan
Fakuttas
PENGUJIAIT DAITI PERAWATAII SISTEM PENGIIITT]NG JT]MLAII MAHASISWA
AKTIF
JIIRUS$I
ILMU KOMPUTER*l:ar4ffLto
Santria*art
1017032028
Ilmu Komputer
Matematika dan Itnu Pengetatruan Alam
rrg
I . Komisi,,P.embimbing
M.Kom.
NIP 19680611
99802l
00rs.si.,
M.T.
200501
I
003Intr
NIP2. Morgetahn
Ketua Junrsan Ilmu Komputer
Yusmtn,
M.Kom.
19570330 198603 1 003
MENGESAHKAIY
l.
Tim PengujiKetua :
Ilwi
Sakethi, S.Si., M.Kom.Sekretaris
:Didik
Kurniawan, S.Si., M.T.Penguji
Bukan Pembimbing :
Ir.
Machudor Yusmail,PERIITYATAAN
Saya yang bertanda rangan di bawah ini, menyatakan bahwa slripsi saya yang
berjudul "Pengujian dan P.erawatan Sistcm Penghitung Jumlah Mehasiwa
Aktif Jurusan llmu Komputer'ini menrpakan karya saya sendiri dan bukanhasil
karya orang lain. Semua hasil tutisan yang tertuaog dalam skripsi
ini telah
mengikuti kaidah penulisurn l<xya ilmiah Universitas Lampung. Apabila di
kemudim hari terbukti bahwa skripsi saya ini meropakm hasil pe,qiiplakau atau
dib.uat oraog lai& maka saya b-ers.ertia menerima sastsj berupa poneabutao gelar yangtelah sayaterima
HqrI#IsI?+#ievm
RIWAYAT HIDUP
Penulis dilahirkan di Sidomukti, Lampung Timur pada tanggal 22 Mei tahun 1992, sebagai anak pertama dari dua bersaudara dengan ayah Drs. Suharno dan ibu Sri Andayani.
Penulis menyelesaikan pendidikan Sekolah Dasar di SDN 1 Simpang Pematang, Mesuji pada tahun 2004, Sekolah Menegah Pertama diselesaikan di SMPN 1 Simpang Pematang, Mesuji pada tahun 2007, kemudian melanjutkan ke jenjang Sekolah Menengah Atas di SMAN 09 Bandar Lampung, dan lulus ditahun 2010.
Pada tahun 2010, penulis terdaftar sebagai mahasiswa Jurusan Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Lampung melalui jalur SNMPTN.
PERSEMBAHAN
Kupersembahkan karya ini untuk:
Ayah dan ibunda tercinta
Adikku tercinta Tantri Asydiqi
Terimakasih atas dukungan dan doanya selaman ini.
Keluarga Besar Kakung Maksum & Eyang Putri
Keluarga Besar Kakung Jaroh & Eyang Putri
Om Sri Kuswanto, Tante Yun
Om A. Sultoni, Tante Tri
Alm. Om Sri Widodo
MOTTO
“Keep Moving Forward”
(Meet The Robinson)
“Musuh terbesarmu adalah dirimu sendiri”
(Rasululloh SAW)
“Uang tidak akan mampu membeli kebahagian,
SANWACANA
Puji syukur penulis panjatkan kehadirat Allah SWT atas berkat rahmat, hidayah, dan kesehatan yang diberikan kepada penulis sehingga dapat menyelesaikan penulisan tugas akhir ini. Shalawat dan salam semoga tersampaikan kepada nabi Muhammad SAW dan semoga kita mendapatkan syafaat-Nya di hari kiamat kelak.
Tugas akhir ini disusun sebagai syarat untuk memperoleh gelar Sarjana Komputer di Jurusan Ilmu Komputer Universitas Lampung. Judul dari tugas akhir ini adalah
“Pengujian dan Perawatan Sistem Penghitung Jumlah Mahasiswa Aktif Jurusan
Ilmu Komputer”.
Dalam penyusunan tugas akhir ini, penulis banyak menghadapi kesulitan. Namun, berkat bantuan dan dorongan dari berbagai pihak, akhirnya penulis dapat menyelesaikan tugas akhir ini. Untuk itu pada kesempatan ini, penulis mengucapkan terimakasih kepada:
xiii
2. Bapak Didik Kurniawan, S.Si., M.T. sebagai pembimbing II penulis, yang telah memberikan masukan-masukan untuk tugas akhir ini, sehingga penulis dapat menyelesaikan skripsi ini.
3. Bapak Machudor Yusman, M.Kom. sebagai Ketua Jurusan Ilmu Komputer sekaligus selaku penguji skripsi. Terima kasih atas saran, motivasi, bimbingan dan kesabarannya dalam proses penyelesaian skripsi ini.
4. Bapak Prof. Suharso, Ph.D. selaku Dekan FMIPA Universitas Lampung. 5. Bapak Aritoteles, Bapak Favorisen Rossy King, Bapak Ahmad Faisol,
Bapak Tristiyanto, Bapak Subian Saidi, Bapak Rudi Ruswandi, Ibu Wamiliana, Ibu Ani Rose, Ibu Ossy, Ibu Fitri, Ibu Dian, Ibu Astria dan seluruh staf Jurusan Ilmu Komputer untuk ilmu dan idiologi yang telah diberikan.
6. Keluargaku tercinta, Papa, Mama, Bapak Eko Nyoto Handoko, Ibu Suci Binawati, Adik-adikku Diki, Litaf, Tamara, Diong, Aldi, Alda, Heksa, Ajeng, Syifa, dan Syafa yang selalu memberikan semangat, dukungan, do’a dan segala yang terbaik untukku.
7. Rekan-rekan seperjuangan di HIMAKOM FMIPA Unversitas Lampung kepengurusan pertama masa bakti 2012-2013.
8. Keluarga Kosan Ibu Setyani Dewi, Fikri, Mbak Lastri, Mbak Yeyen, Mbak Anis.
xiv
10.Monkichi (Choiranti efrina) my beloved, terimakasih untuk seluruh dukungan moral dan materiil serta doa yang tak kunjung henti.
11.Rekan-rekan Ilmu Komputer 2010 Ahmad Khairudin Syam, Alpiyan Zakki, Lona Ertina, Muhammad Chairuddin, Ra Dina Nia Pratiwi, Risa Eliria, Ady Candra, Agus Rahmat Kasmirin, Amin Nurul Fatah, Angger Lutfi A.M, Beni Adi Pranata, Choiranti Efrina, Dwi Hendro Siswo P, Fajar Sidik, Febrasari Almania, Ferdi Tanza Hartawan, Fikri Handoko Putra, Handika Wibowo, Imam Gunaro, Joko Priyono, Khoirul Huda, M. Daniel Hadi, Muhammad Harry, Novi Hardiansyah, Pita Utari Ningtyas, Revy Firandama, Ricky Andreas, Rika Santika, Rita Saraswati, Togu Christian S, Tubagus Riki Andrian,Ully Kharisma Putra, Widamay Fresha Tarigan, Bram Natanael, Dimas Wisnu Anggoro, Dody Irawan, Florencia Irena, Gilang Dwi Prasetyo, Hamdan Sukri, Harjo Apkuanbo, Hermansyah, Khalida Zhia, Muhammad Donny F, Rian Pandu, Rio Septian, Noera Yudhiarti Utami terimakasih untuk kisah indah kita selama lima tahun terakhir dan mudah-mudahan ikatan ini akan tetap berlanjut meski kita telah berpisah-pisah kelak.
12.Rekan-rekan liqo Harjo Apkuanbo, Ricky Andreas, Kak Efri, Kak Taufik, Kak Ahdan, Kak Reo, Kak Deby, Kak Efendi untuk ikatan ukhuwah kita semoga Alloh Meridhoi dakwah kita.
13.Sahabat-sahabat SMA ku, Dwi Hendro, Rahmat Kurniawan, Habibi, Edo, Bung, Fikri Handoko, terimakasih untuk ikatan persahabatan yang tak kenal kasta ini.
xiv
Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan, akan tetapi sedikit harapan semoga skripsi ini bermanfaat bagi perkembangan ilmu pengetahuan terutama bagi rekan-rekan Ilmu Komputer.
DAFTAR ISI
Halaman
HALAMAN JUDUL ... i
DAFTAR ISI ... xvi
DAFTAR GAMBAR ... xix
DAFTAR TABEL ... xx
DAFTAR LAMPIRAN ... xxi
BAB 1 PENDAHULUAN 1.1Latar Belakang ...1
1.2Rumusan Masalah ...2
1.3Batasan Masalah ...3
1.4Tujuan ...3
1.5Manfaat ...3
BAB 2 TINJAUAN PUSTAKA 2.1Sistem Informasi ...4
2.2Sistem Informasi Akademik ...4
2.3Kondisi Program Terkini ...5
xvii
2.5Frame HTML ...19
2.6PHP ...20
2.6.1 Variabel ...21
2.6.2 Pemilihan Statemen ...23
2.6.3 Pengulangan Statemen ...24
2.7SQL ...25
2.8Black Box Testing ...26
2.9White Box Testing ...27
2.9.1 Basis Path Testing...28
2.9.2 Path Graph Notation ...28
2.9.3 Cyclometic Complexity ...31
BAB 3 METODE PENELTIAN 3.1Metode Penelitian ...34
3.2Waktu dan Tempat ...35
3.3Spesifikasi Hardware dan Software yang Digunakan ...36
3.3.1 Spesifikasi Hardware yang Digunakan ...36
3.3.2 Spesifikasi Software yang Digunakan ...36
BAB 4 HASIL DAN PEMBAHASAN 4.1Analisis Program yang Sudah Ada...37
4.1.1 Analisis Black Box Testing (Equivalence Partitioning) ...37
4.1.2 Analisis White Box Testing (Basis Path Testing) ...39
4.2Merancang Program Baru ...49
xviii
4.4Pengujian Program Baru ...51
4.4.1 Analisis Black Box Testing (Equivalence Partitioning) ...51
4.4.2 Analisis White Box Testing (Basis Path Testing) ...54
BAB 5 SIMPULAN DAN SARAN ...62
DAFTAR GAMBAR
Gambar Halaman
2.1: Laman Utama Program Terkini ...6
2.2: Laman Pilih Program Studi ...6
2.3: Laman Output ...7
2.4 : Struktrur HTML...17
2.5: Flow Graph Notation ...28
2.6: Flow Chart ...29
2.7: Flow Graph ...30
2.8: Translating PDL to flow graph ...30
2.9: Translating PDL with compound conditions to flow graph ...31
4.1Field menu dropdown ...37
4.2Flowgraph old program ...40
4.3Rancangan User Interface ...49
4.4Laman Home ...50
4.5Laman Mahasiswa ...50
4.6:Laman Angkatan ...51
4.7 Spesifikasi input dropdown menu ...52
DAFTAR TABEL
Tabel Halaman
3.1: Jadwal Penelitian ...35
4.1:Test Cases Black Box Testing Old Program ...38
4.2:Test Cases White Box Testing Old Program ...46
4.3:Test Cases Black Box Testing New Program ...53
DAFTAR LAMPIRAN
Lampiran Halaman
1 : Source Code Program Lama ...65
BAB 1
PENDAHULUAN
1.1
Latar Belakang
Sistem penghitung jumlah mahasiswa aktif jurusan Ilmu Komputer adalah sistem yang dikembangkan berdasarkan Sistem Informasi Akademik (SIAKAD) yang dikelola oleh Universtisas Lampung. SIAKAD menyediakan fasilitas Kartu Rencana Studi yang harus diisi oleh mahasiswa pada awal semester. Sistem yang telah dibangun mampu menghitung jumlah mahasiswa aktif berdasarkan data KRS yang telah diinput oleh mahasiswa di setiap awal semester. Data KRS tersebut dimanfaatkan untuk membangun sistem penghitung jumlah mahasiswa aktif di Jurusan Ilmu Komputer.
Sistem penghitung jumlah mahasiswa aktif Jurusan Ilmu Komputer dikembangkan untuk :
a. Memonitoring jumlah mahasiswa aktif di Jurusan Ilmu Komputer apabila pihak fakultas meminta data mahasiswa aktif ke jurusan.
2 c. Memonitoring jumlah mahasiswa aktif yang terancam dikeluarkan karena
masa kuliahnya telah melebihi 14 semester.
d. Menghitung rasio antara jumlah mahasiswa dan dosen sehingga pihak jurusan bisa menyimpulkan apakah jurusan kekurangan atau kelebihan dosen.
Sistem yang ada telah mampu menghitung jumlah mahasiswa aktif di Jurusan Ilmu Komputer per angkatan. Sistem juga mampu menampilkan jumlah mahasiswa aktif per angkatan sesuai dengan tahun ajaran yang dimasukkan. Bahkan sistem juga mampu menghitung jumlah mahasiswa aktif di jurusan lain di Universitas Lampung yang data KRS nya terkoneksi dengan sistem. Namun demikian program yang ada merupakan program yang dibangun asal bisa menghitung mahasiswa aktif saja tanpa memperhatikan keefektifan skrip program serta beberapa fasilitas yang bisa ditambahkan ke dalam sistem yang menunjang kinerja sistem. Sehingga perlu dilakukan penelitian untuk menguji dan merawat sistem penghitung jumlah mahasiswa aktif Jurusan Ilmu Komputer.
1.2
Rumusan Masalah
Rumusan masalah dalam penellitian ini adalah:
3
1.3
Batasan Masalah
Batasan masalah dalam penelitian ini adalah sebagai berikut:
1. Studi kasus pada sistem penghitung jumlah mahasiswa aktif jurusan Ilmu Komputer.
2. Acuan yang digunakan adalah pengujian pada sistem penghitung jumlah mahasiswa aktif menggunakan black box dan white box testing.
1.4
Tujuan
Tujuan dari penelitian ini adalah memperbaiki sistem yang ada serta melakukan perawatan dengan cara menguji dan maintenance program menggunakan black box testing dan white box testing.
1.5
Manfaat
Manfaat dari penelitian ini adalah: 1. Mengefektifkan script program.
BAB 2
TINJAUAN PUSTAKA
2.1 Sistem Informasi
Menurut Davis dan Kertahadi dalam buku yang ditulis oleh Al Fatta (2007), pengertian sistem informasi harus dilihat keterkaitan antara data dan informasi sebagai entitas penting pembentuk sistem informasi. Data merupakan nilai, keadaan, atau sifat yang berdiri sendiri lepas dari konteks apapun. Sementara informasi adalah data yang telah diolah menjadi sebuah bentuk yang berarti bagi penerimanya dan bermanfaat dalam pengambilan keputusan saat ini atau mendatang.
2.2 Sistem Informasi Akademik
5 Sistem informasi akademik adalah sistem informasi yang diciptakan dan digunakan untuk memenuhi kebutuhan manajemen kampus (Saputra, 2012), seperti :
1. KRS (Kartu Rencana Studi) 2. KHS (Kartu Hasil Studi) 3. Nilai mahasiswa
4. Manajemen dosen
5. Manajemen mata kuliah dan jadwal mata kuliah 6. Manajemen program studi, jurusan dan fakultas 7. Manajemen mahasiswa
8. Manajemen pembayaran (optional)
2.3 Kondisi Program Terkini
Modul penghitung jumlah mahasiswa aktif pada Jurusan Ilmu Komputer yang dikembangkan oleh Hartanto Tantriawan, dikembangkan pada sistem Matahari yang tersedia pada SIAKAD (Sistem Informasi Akademik) Universitas Lampung. Sistem matahari merupakan sistem yang dibangun dengan memodifikasi source code dari moodle.org dan merupakan perangkat lunak tambahan SIAKAD (Sistem Informasi Akademik) Universitas Lampung, untuk mendukung kinerja dalam manajemen perkuliahan.
Program ini terbagi ke dalam tiga bagian, yaitu : 1. Laman utama
Laman utama ditampilkan setelah user memasukkan alamat pada browser
6 Gambar 2.1: Laman Utama Program Terkini
2. Laman Pilih Program Studi
Laman pilih program studi ditampilkan setelah menu jumlah mahasiswa aktif (2014) dipilih. Tampilan halaman pilih program studi dapat dilihat pada Gambar 2.2.
Gambar 2.2: Laman Pilih Program Studi
7 3. Laman Output
Output ditampilkan setelah menekan button proses pada halaman pilih program studi. Output yang dihasilkan oleh program adalah berupa jumlah mahasiswa aktif di setiap angkatan. Tampilan output tersebut dapat dilihat pada Gambar 2.3.
Gambar 2.3: Laman Output
Output ditampilkan dalam bentuk tabel dengan tiga kolom yaitu kolom angkatan, kolom semester, dan kolom jumlah. Kolom angkatan menjelaskan angkatan-angkatan yang masih aktif di program studi yang telah dipilih pada menu sebelumnya. Kolom semester menerangkan semester yang telah ditempuh oleh mahasiswa pada kolom angkatan.
Kolom jumlah menerangkan jumlah mahasiswa yang masih aktif pada setiap angkatan di program studi yang telah dipilih pada menu sebelumnya. Selain kolom-kolom tersebut, informasi yang ditampilkan pada output
8 Program jumlah mahasiswa aktif per angkatan ini menggunakan beberapa fungsi yang telah ada di sistem MATAHARI. Berikut ini cuplikan kode program yang menunjukkan fungsi tersebut.
include "../functions.php"; include "../linux/catetan.php"; include "../config.inc.php";
Hal yang pertama kali dilakukan oleh program dalam mencari nama jurusan dan nama fakultas dari library (halaman sebelumnya/fungsi yang telah ada). Berikut ini potongan program yang menunjukkan fungsi tersebut.
/* --- cari nama Jurusan untuk dicetak dalam header --- $xkode_program_studi = substr($mkode_program_studi,2,3);
$mNAMA_JUR=cari_program_studi($mkode_fak,$xkode_program_studi);
//* --- cari nama Fakultas untuk di cetak dalam header --- $NAMA_FAK = cari_fakultas($mkode_fak);
echo "<html>"; echo "<head>";
echo "<title> Jumlah Mahsiswa Aktif Per Angkatan</title>"; echo "</head>";
echo "<body bgcolor=#AAAAFF>";
Pada bagian cari nama Jurusan, variabel $xkode_program_studiadalah variabel
yang mengambil string dari variabel $mkode_program_studi sebanyak 3 string dimulai dari string yang ke tiga (ke dua dimulai dari 0). Lalu variabel $mNAMA_JUR
adalah variabel yang mengambil nilai dari fungsi cari_program_studi dan
9 variabel $NAMA_FAK adalah variabel yang mengambil nilai dari fungsi
cari_fakultasdan variabel $mkode_fak. Script program di atas juga digunakan untuk mencetak title yaitu Jumlah Mahasiwa Aktif Per Angkatan serta untuk memberi warna biru dengan kode AAAFF.
Setelah berhasil mencari nama Jurusan dan nama Fakultas, maka hal selanjutnya adalah menampilkan beberapa informasi yang telah didapat untuk menjadi header. Berikut ini potongan program untuk menampilkan header.
//* --- Cetak header Fakultas --- echo "<table border= 0>";
echo "<tr>";
echo "<td> Fakultas </td>"; echo "<td>:</td>";
echo "<td colspan = 3> $NAMA_FAK</td>"; echo "</tr>";
//* --- Cetak header Jurusan --- echo "<tr>";
echo "<td>Jurusan </td> "; echo "<td>:</td>";
echo "<td colspan = 3>$mNAMA_JUR</td>"; echo "</tr>";
//* --- Cetak header Tahun Ajaran & Semester--- echo "<tr>";
echo "<td>Tahun Ajaran </td> "; echo "<td>:</td>";
10
echo "<td>Ganjil $mtahun_ajaran</td>"; }
else {
echo "<td>Genap $mtahun_ajaran</td>"; }
echo "</tr>"; echo "</table>";
Header yang dicetak adalah Fakultas, Jurusan, Semester (spasi) Tahun Ajaran. Nama Fakultas diambil dari variabel $NAMA_FAK, nama Jurusan diambil dari
variable $mNAMA_JUR, Tahun Ajaran diambil dari variabel $mtahun_ajaran,
Semester diambil dari variabel $msemester. Awalnya Semester dan Tahun Ajaran
dicetak terpisah, namun karena memakan space pada tampilan, maka Semester dan Tahun Ajaran dicetak menjadi satu baris sehingga programnya sedikit dimodifikasi menjadi seperti pada bagian “Cetak header Tahun Ajaran & Semester”.
Setelah berhasil mencetak header, selanjutnya adalah mencari data nama Jurusan di dalam database. Data Jurusan yang dicari di dalam database kali ini sedikit berbeda dengan nama Jurusan yang telah dicari sebelum mencetak header. Nama Jurusan yang dicari sebelum mencetak header adalah nama Jurusan yang berasal dari fungsi cari_program_studi. Sedangkan nama Jurusan yang dicari sekarang
berasal dari database, sehingga harus menggunakan query untuk mengambil datanya pada database. Berikut ini script cari data nama Jurusan di dalam database
11
$cari_nama_pr = OCIParse($db,"select nama_jur from jurusan
where kode_fak=’$kode_fak’ and kode_jur=’$kode_pro’");
OCIDefineByName($cari_nama_pr,"NAMA_JUR",$cNAMA_JUR); OCIExecute($cari_nama_pr);
while (OCIFetch($cari_nama_pr)) {
$mNAMA_JUR = $cNAMA_JUR; }
Query yang digunakan untuk mengambil data adalah "select nama_jur from Jurusan where kode_fak = ’$kode fak’ and kode_jur = ’$kode_pro’".
Pada query tersebut dibutuhkan nilai dari variabel $kode_fak, dan $kode_proyang
nilainya didapat dari string yang diambil dari variabel $mnpm. Setelah itu, data
dicari menggunakan fungsi OCIDefineByName, lalu kemudian dieksekusi dengan
menggunakan fungsi OCIExecute.
Berikutnya adalah menentukan database Jurusan yang diproses. Karena Jurusan Ilmu Komputer memiliki dua kode npm maka perlu diklasifikasikan, sehingga script program dimodifikasi menggunakan fungsi if seperti yang tertulis pada bagian mulai dengan isi sebenernya. Berikut script program jurusan yang diproses oleh program.
/* --- mulai dengan isi yang sebenarnya ---
$kode_jdwl_mk=substr($mtahun_ajaran,2,2).$mkode_fak.$msemester ;
12
if (($mkode_program_studi == ’74032’) or ($mkode_program_studi == ’74051’))
{
$cari_nama_mkx = OCIParse($db,"select distinct(npm) from krs_mahasiswa where ( (npm like ’%17051%’) or (npm like ’%17032%’) )
and jadwal_mk_id=’$kode_jdwl_mk’"); }
else {
$cari_nama_mkx = OCIParse($db,"select distinct(npm) from krs_mahasiswa where npm like ’%$kode_npm%’ and jadwal_mk_id=’$kode_jdwl_mk’");
}
OCIDefineByName($cari_nama_mkx,"NPM",$cnpm); OCIExecute($cari_nama_mkx);
Query yang digunakan untuk mengambil data adalah "select distinct(npm) from krs_mahasiswa where npm like ’%$kode_npm%’
and jadwal_mk_id=’$kode_jdwl_mk’". Pada query tersebut dibutuhkan nilai dari variabel $kode_npm, dan $kode_jdwl_mk yang nilainya didapat dari string yang
diambil dari variabel $mtahun_ajaran, $mkode_fak, $mkode_program_studi,
dan $msemester. Setelah itu, data dicari menggunakan fungsi OCIDefineByName,
lalu kemudian dieksekusi dengan menggunakan fungsi OCIExecute.
13 sehingga mempermudah proses penghitungan, berikut ini potongan script array
angkatan ($angkatan[]).
//* --- array menghitung jumlah mhs_per_angkatan---
$angkatan[0]=’2000’; $jumlah[0]=0; $angkatan[1]=’2001’; $jumlah[1]=0; $angkatan[2]=’2002’; $jumlah[2]=0; $angkatan[3]=’2003’; $jumlah[3]=0; $angkatan[4]=’2004’; $jumlah[4]=0; $angkatan[5]=’2005’; $jumlah[5]=0; $angkatan[6]=’2006’; $jumlah[6]=0;
$angkatan[7]=’2007’; $jumlah[7]=0; $angkatan[8]=’2008’; $jumlah[8]=0; $angkatan[9]=’2009’; $jumlah[9]=0; $angkatan[10]=’2010’; $jumlah[10]=0; $angkatan[11]=’2011’; $jumlah[11]=0; $angkatan[12]=’2012’; $jumlah[12]=0; $angkatan[13]=’2013’; $jumlah[13]=0;
$angkatan[14]=’2014’; $jumlah[14]=0; $angkatan[15]=’2015’; $jumlah[15]=0; $angkatan[16]=’2016’; $jumlah[16]=0; $angkatan[17]=’2017’; $jumlah[17]=0; $angkatan[18]=’2018’; $jumlah[18]=0; $angkatan[19]=’2019’; $jumlah[19]=0; $angkatan[20]=’2020’; $jumlah[20]=0;
$angkatan[21]=’2021’; $jumlah[21]=0; $angkatan[22]=’2022’; $jumlah[22]=0; $angkatan[23]=’2023’; $jumlah[23]=0; $angkatan[24]=’2024’; $jumlah[24]=0; $angkatan[25]=’2025’; $jumlah[25]=0; $angkatan[26]=’2026’; $jumlah[26]=0; $angkatan[27]=’2027’; $jumlah[27]=0;
14
$angkatan[29]=’2029’; $jumlah[29]=0; $angkatan[30]=’2030’; $jumlah[30]=0;
Array dimulai dari $angkatan[0] sampai $angkatan[30] asumsinya adalah,
SIAKAD pertama kali digunakan pada tahun 2000, sehingga array pertama bernilai 2000 dan akan terpakai sampai tahun 2030, sehingga nilai akhir array adalah 2030. Dengan demikian maka ada tiga puluh array jumlah yang semuanya bernilai 0.
Proses berikutnya adalah looping jumlah mahasiswa per angkatan dengan menggunakan while dan if. Berikut ini potongan program looping jumlah mahasiswa per angkatan.
//* --- looping jumlah mhs_per_angkatan --- $urut = 0;
while (OCIFetch($cari_nama_mkx)) {
$angkatan1=substr($cnpm,0,2); if ($angkatan1==’00’)
{
$jumlah[0]=$jumlah[0]+1; }
elseif ($angkatan1==’01’) {
$jumlah[1]=$jumlah[1]+1; }
elseif ($angkatan1==’02’) {
15 } elseif ($angkatan1==’03’) { $jumlah[3]=$jumlah[3]+1; }
Setelah jumlah mahasiswa didapatkan, maka proses selanjutnya adalah mencetak jumlah mahasiswa tersebut kedalam sebuah tabel. Berikut ini script program mencetak jumlah mahasiswa perangkatan.
//* --- cetak header tabel jumlah mhs_per_angkatan---
echo "<br>";
echo "Jumlah Mahasiswa Aktif"; echo "<br>";
echo "<table border=1>"; echo "<tr>";
echo "<th align = center> Angkatan </th>";
echo "<th align = center widht=200> Semester</th>"; echo "<th align = center widht=400> Jumlah</th>"; echo "</tr>";
//* --- looping cetak tabel jumlah mhs_per_angkatan --- for ($i=0; $i<=30; $i++)
{ //* --- mencetak data yang tidak nol --- if ($jumlah[$i]!=0)
{
$Jml_semester = 2000 +
intval(substr($mtahun_ajaran,2,2) -
intval($angkatan[$i]) + intval($msemester)); $Jml_semester = $Jml_semester*2-1;
echo "<tr>";
echo "<td align = center> $angkatan[$i]</td>"; echo "<td align = center> $Jml_semester</td>"; echo "<td align = right> $jumlah[$i]</td>"; echo "</tr>";
$akumulator = $akumulator + $jumlah[$i]; }
16 Blok pertama script adalah script untuk mencetak header tabel jumlah mahasiswa per angkatan. Header yang dicetak adalah Angkatan, Semester, dan Jumlah. Pada bagian looping cetak tabel jumlah mhs per angkatan adalah script untuk melooping cetak tabel dan data angkatan, semester, dan jumlah. Data yang tercetak adalah data yang di setiap angkatan memiliki minimal 1 mahasiswa yang aktif. Jika angkatan tersebut memiliki 0 mahasiswa yang aktif atau sudah tidak ada lagi yang aktif, maka data tersebut tidak tercetak.
Setelah semua data tercetak, terlihat janggal manakala seluruh jumlah mahasiswa yang aktif tidak dicetak. Oleh karena itu script berikut menunjukkan bagaimana mencetak jumlah total mahasiswa aktif.
//* --- mencetak jumlah total --- echo "<tr>";
echo "<td align = center colspan =2> Total </td>"; echo "<td align = right> $akumulator </td>";
echo "</tr>"; echo "</table>"; echo "<br>";
echo "Jumlah Mahasiswa Aktif Dihitung Berdasarkan Mahasiswa yang Mengisi KRS";
echo "<br>";
echo "<p align = center>Developed by Hartanto Tantriawan (Ilkom 2010) & Dwi Sakethi</p> ";
17 Dalam mencetak Total jumlah mahasiswa per angkatan digunakan fungsi colspan
yaitu fasilitas yang ada di bahasa pemrograman html untuk menyatukan beberapa kolom. Mirip seperti seperti fasilitas Merge & Center pada Microsoft Excel
(Tantriawan, 2014).
2.4 HTML
HTML adalah suatu bahasa yang dikenal oleh web browser untuk menampilkan informasi dengan lebih menarik dibandingkan dengan tulisan teks biasa(plain text). Sedangkan web browser adalah program komputer yang digunakan untuk membaca HTML, kemudian menerjemahkan dan menampilkan hasilnya secara visual ke layar komputer.
[image:38.595.177.451.520.627.2]Karena sebuah bahasa, maka HTML mempunyai aturan dan struktur tertentu untuk menuliskan perintah-perintahnya yang biasa dinamakan dengan TAG HTML. Aturan tersebut diawali dengan lambang <tag > dan biasanya diakhiri dengan lambang </tag >. Contoh struktur HTML dapat dilihat pada Gambar 2.4.
Gambar 2.4 : Struktrur HTML
Dari struktur di atas, terlihat bahwa penulisan kode-kode HTML lainnya untuk keperluan isi situs web akan diletakkan di bagian tag <body >. Dengan demikian dapat dikatakan bahwa informasi yang berupa kode-kode diapit oleh tag awal dan
18 Dalam HTML ada beberapa tag yang tidak perlu diakhiri/ditutup, misal tag<br>. Selain itu ada beberapa tag yang memiliki atribut-atribut untuk pengaturan teks maupun halaman, misalnya tag anchor yang sering dituliskan dengan lambang <a>
dan memiliki atribut href, rel name dan sebagainya. Contoh penulisan tag yang memiliki atribut seperti berikut:
<a href =blabla.html name=id > </a >(Oktavian, 2010).
HTML (Hypertext Markup Language) adalah format yang standar untuk mempresentasikan dokumen pada web. Kehadiran dari perangkat lunak yang langsung menyimpan dalam file berekstensi HTML atau HTM amatlah membantu. Jenis konversi dari perangkat lunak ini salah satunya adalah HTML transit, yaitu alat konversi otomatis ke file HTM.
Kecanggihan teknologi web akan mengalami banyak perkembangan. Sampai sekarang ini terdapat dua teknik yang menawarkan keefektifan biaya dalam mengotomasi pemeliharaan isi dari berbagai sumber pada jaringan. Teknik yang digunakan adalah Gateway program dan Embedded scripts. Walaupun demikian masih terdapat pro dan kontra dalam menentukan kedua teknik tersebut di atas (Tung, 2001).
HTML adalah singkatan dari HyperText Markup Language. HTML merupakan
19 dibuat menggunakan aplikasi Text Editor apa pun, bisa Notepad (untuk lingkungan MS Windows), Emacs atau Vi Editor (untuk lingkungan Linux), dan sebagainya (Raharjo dkk, 2012).
2.5 Frame HTML
Frame merupakan cara untuk membagi jendela browser menjadi beberapa bagian, di mana setiap bagiannya dapat menampilkan dokumen HTML yang berbeda.
Frame adalah bagian dari jendela browser yang dapat ditampilkan sebagai dokumen HTML. Ada dua cara untuk membuat frameset dalam Dreamweaver. Anda dapat melakukan dengan cara menggunakan predefined framesets atau mendesain sendiri. Predefined framesets mempermudah Anda untuk memilih model frameset yang Anda inginkan (Thabrani, 2006).
Teknologi Frame dapat dimanfaatkan untuk menampilkan beberapa halaman web
pada satu browser dalam waktu yang sama. Sejak dahulu, para pembuat web meng gunakan Framset dan Frame untuk mengatur tata letak (layout) halaman webnya. Untuk membuat frame-frame, harus dibuat dahulu container bagi seluruh Frame
tersebut. Kontainer itu bernama Frameset. Frameset adalah sebuah file HTML yang mengatur konfigurasi Frame-Frame yang berada di dalamnya. Dalam
Frameset didefinisikan banyaknya Frame yang akan dibuat, ukuran masing-masing
Frame.
20 terdapat sebuah Frameset lain yang juga berisi beberapa Frame (dikenal dengan istilah Frame bersarang) (Ramadhan, 2007).
2.6 PHP
PHP adalah salah satu bahasa pemrograman skrip yang dirancang untuk membangun aplikasi web. Ketika dipanggil dari web browser, program yang ditulis dengan PHP akan di-parsing di dalam web server oleh interpreter PHP dan diterjemahkan ke dalam dokumen HTML, yang selanjutnya akan ditampilkan kembali ke web browser. Karena pemrosesan program PHP dilakukan di lingkungan web server, PHP dikatakan sebagai bahasa sisi server (server side). Oleh sebab itu, seperti yang telah dikemukakan sebelumnya kode PHP tidak akan terlihat pada saat user memilih perintah View Source pada web browser yang mereka gunakan (Raharjo, 2012).
PHP adalah akronim dari Hypertext Prepocessor, yaitu suatu bahasa pemrograman berbasiskan kode-kode (script) yang digunakan untuk mengolah suatu data dan mengirimkannya kembali ke web browser menjadi kode HTML. Kode PHP mempunyai ciri-ciri khusus, yaitu :
1. Hanya dapat dijalankan menggunakan web server, misal: Apache. 2. Kode PHP diletakkan dan dijalankan di web server
3. Kode PHP dapat digunakan untuk mengakses database, seperti: MySQL,
PostgreSQL, Oracle dan lain-lain.
21 6. Memiliki sifat multiplatform, artinya dapat dijalankan menggunakan sistem
operasi apapun, seperti: Linux, Unix, Windows, dan lain-lain.
PHP merupakan sebuah bahasa, sehingga memerlukan tata cara / aturan dalam membuat kode-kodenya. Kode PHP diawali dengan tanda <?php dan diakhiri dengan tanda ?>. Blok kode PHP akan selalu diapit oleh kedua tanda tersebut. Untuk setiap perintah diakhiri dengan tanda ; (titik koma). Berikut contoh kode PHP:
<?php
echo "Hello World"; ?>
Kode PHP juga dapat dikombinasikan dengan kode HTML, seperti contoh berikut
(Oktavian, 2010):
<html> <body>
<?php
echo "Hello World"; ?>
</body> </html>
2.6.1 Variabel
22 Variabel dikenali dengan adanya tanda ($) yang kemudian bisa diikuti dengan angka, huruf dan underscore. Namun variabel tidak bisa mengandung whitespace/spasi.
Untuk mendifinisikan variabel, programmer hanya perlu menuliskannya, maka otomatis variabel dikenali oleh PHP parser. Berikut ini contoh pendifinisian variabel :
$nama $no_telp $_pekerjaan $0_alamat
Variabel merupakan tempat untuk menyimpan data dalam tipe tertentu, variabel bisa berupa null (belum ada jenisnya), angka, string, objek, array, boolean, dan isinya bisa diubah-ubah nantinya (itulah mengapa namanya variabel/vary). Berikut ini cara mendeklarasikan dan mengalokasikan nilai variabel secara bersamaan :
$no_telp= 085279239039; $_pekerjaan = "Mahasiswa";
Untuk mengetahui tipe data dari sebuah variabel, digunakan perintah
gettype, contoh :
print gettype($nama_variabel);
Untuk mengubah jenis variabel tertentu, digunakan perintah berikut:
23 Misalnya untuk mengubah variabel menjadi string, digunakan perintah berikut (Zaki, 2008) :
$var_string = (string) $angka;fdf
2.6.2 Pemilihan Statemen
Blok pemilihan yang terdapat pada suatu program berguna untuk menentukan yang perlu dieksekusi, yang didasarkan pada kondisi-kondisi tertentu yang didefinisikan. Jika kondisi terpenuhi (bernilai true) maka statemen yang terdapat di dalam blok bersangkutan dieksekusi. Sebaliknya jika tidak terpenuhi (bernilai false) maka statemen tersebut diabaikan oleh program. Dalam PHP, pemilihan statemen dapat dilakukan dengan dua cara, yaitu :
1. Menggunakan statemen if
2. Menggunakan statemen switch
Statemen if memiliki bentuk umum penggunaan seperti berikut:
if($semester==’1’){$smt=’Ganjil’;$kode_jdwl_mk =
substr($tahun,2,2) .$kode_fak.$semester;}
if($semester==’2’){$smt=’Genap’;$kode_jdwl_mk =
substr($tahun,7,2) .$kode_fak.$semester;}
if($semester==’3’){$smt=’Pendek’;$kode_jdwl_mk =
substr($tahun,2,2) .$kode_fak.$semester;}
24 terpenuhi (bernilai false), maka statemen di dalam blok pemilihan tidak dilaksanakan dan eksekusi program dilanjutkan ke statemen-statemen yang terdapat di bawah blok pemilihan tersebut.
2.6.3 Pengulangan Statemen
Dalam mengembangankan aplikasi web sering dijumpai kasus-kasus yang menuntut untuk melakukan pengulangan terhadap statemen-statemen tertentu. PHP menyediakan beberapa bentuk blok pengulangan, yaitu while, do-while, for dan foreach. Bentuk umum statemen for adalah sebagai berikut (Raharjo, 2012) :
for($i=0;$i<=30;$i++) {
if($i<10) {
$angkatan[$i]=’200’.$i; $jumlah[$i]=0;
}else {
$angkatan[$i]=’20’.$i; $jumlah[$i]=0;
} }
25
2.7 SQL
SQL adalah singkatan dari Structured Query Language. SQL secara garis besar terdiri dari 3 bagian yaitu:
1. DDL (Data Definition Language) 2. DML (Data Manipulating Language)
3. DCL (Data Control Language) (Heryanto, 2009).
MySQL adalah sebuah software database. MySQL merupakan tipe dara relasional yang artinya MySQL menyimpan datanya dalam bentuk tabel-tabel yang saling berhubungan. Keuntungan menyimpan data di database adalah kemudahannya dalam penyimpanan dan menampilkan data karena dalam bentuk tabel. Ada banyak database untuk PHP, namun MySQL merupakan software database
yang paling disarankan. Keuntungan MySQL antara lain: 1. Gratis dan opern source.
2. Ada versi komersialnya juga, digunakan jika ingin memberikan dukungan teknis.
3. Biaya yang harus dikeluarkan jauh lebih murah dibandingkan merek lainnya.
4. Tersedia di banyak platform.
5. Menggunakan standar penulisan SQL ANSI
26
statement, yaitu CREATE untuk membuat, INSERT untuk memasukkan data, dan DELETE untuk menghapus data.
CREATE adalah perintah untuk membuat database atau tabel. Misalnya untuk membuat tabel digunakan perintah:
CREATE TABLE nama_tabel ( nama_field_1 jenis_field), nama_field_2 VARCHAR(30), dst);
Sementara untuk membuat database digunakan perintah berikut:
CREATE DATABASE nama_database;
Untuk menambahkan data ke tabel, bisa menggunakan perintah INSERT:
INSERT INTO nama_tabel (field_1, field_2, dst) VALUES
(’konten_1’, ’konten_2’, dst);
Untuk menghapus data di tabel, bisa menggunakan perintah DELETE:
DELETE FROM nama_tabel WHERE isi_field = ’nilai tertentu’;
Untuk menampilkan isi tabel di database, bisa menggunakan perintah (Zaki, 2008):
SELECT nama_field FROM nama_tabel WHERE kondisi;
2.8
Black Box Testing
27 Menurut Mohd. Ehmer Khan (2011), Black box testing adalah teknik pengujian yang mengabaikan mekanisme internal atau struktur sistem dan berfokus pada
output yang dihasilkan dalam menanggapi input yang dipilih dan kondisi eksekusi. Pengujian black box dilakukan untuk mengevaluasi kesesuaian sistem dengan kebutuhan fungsional tertentu dan sesuai hasil prediksi.
Salah satu jenis teknik pengujian Black box testing adalah Equivalence partitioning.
Equivalence partitioning merupakan metode Black box testing yang membagi domain masukan dari suatu program ke dalam kelas-kelas data, sehingga test case
dapat diperoleh. Equivalence partitioning berusaha mendefinisikan kasus uji yang menemukan sejumlah jenis kesalahan, dan mengurangi jumlah kasus uji yang harus dibuat. Kasus uji yang harus didesain untuk Equivalence partitioning berdasarkan pada evaluasi dari kelas ekuivalensi untuk kondisi masukan yang menggambarkan kumpulan keadaan yang valid atau tidak. Kondisi masukan dapat berupa spesifikasi nilai numerik, kisaran nilai, kumpulan nilai yang berhubungan atau kondisi
boolean.
2.9
White Box Testing
Ujicoba Whitebox merupakan metode desain uji kasus yang menggunakan struktur kontrol dari desain prosedural untuk menghasilkan kasus-kasus uji. Dengan menggunakan metode uji coba whitebox, para pengembang software dapat menghasilkan kasus-kasus uji yang :
a. Menjamin bahwa seluruh independent paths dalam modul telah dilakukan sedikitnya satu kali,
28 c. Melakukan seluruh perulangan sesuai batasannya dan dalam batasan
operasionalnya
d. Menguji struktur data internal untuk memastikan validitasnya.
2.9.1 Basis Path Testing
Ujicoba berbasis alur merupakan teknik ujicoba whitebox pertama yang diusulkan oleh Tom McCabe. Metode berbasis alur memungkinkan perancang kasus uji untuk menghasilkan ukuran kompleksitas logikal dari desain prosedural dan menggunakan ukuran ini untuk mendefinisikan himpunan basis dari alur eksekusi. Kasus uji dihasilkan untuk melakukan sekumpulan basis yang dijamin untuk mengeksekusi setiap perintah dalam program, sedikitnya satu kali selama ujicoba.
2.9.2
Path Graph Notation
Notasi sederhana untuk merepresentasikan alur kontrol disebut graf alir (flow graph), ditampilkan pada Gambar 2.5.
[image:49.595.144.506.548.719.2]29 Untuk mengilustrasikan kegunaan dari diagram alir dapat dilihat pada Gambar 2.6 atau bagian (a) yang digunakan untuk menggambarkan struktur control program, sedangkan Gambar 2.7 atau bagian (b) setiap lingkaran disebut dengan flow graph node, merepresentasikan satu atau lebih perintah prosedural. Urutan dari symbol proses dan simbol keputusan dapat digambarkan menjadi sebuah node, sedangkan anak panah disebut edges, menggambarkan aliran dari kontrol sesuai dengan diagram alir.
Sebuah edge harus berakhir pada sebuah node walaupun tidak semua node
merepresentasikan perintah prosedural. Area yang dibatasi oleh edge dan
node disebut region, area di luar graph juga dihitung sebagai region.
[image:50.595.188.466.376.687.2]30 Gambar 2.7: Flow Graph
Setiap representasi rancangan prosedural dapat diterjemahkan kedalam flow graph. Bagian dari PDL (Program Design Language) dan flow graph-nya (perhatikan nomor untuk setiap perintahnya) ditunjukkan oleh Gambar 2.8.
[image:51.595.202.449.82.277.2] [image:51.595.185.457.421.712.2]31 Ketika kondisi gabungan ditemukan, maka penggambaran flow graph akan menjadi lebih rumit. Kondisi gabungan biasanya muncul jika satu atau lebih operator Boolean (OR, AND, NAND, NOR) ditemukan dalam perintah, seperti terlihat pada Gambar 2.9 :
Gambar 2.9: Translating PDL with compound conditions to flow graph
2.9.3
Cyclometic Complexity
Cyclomatic complexity merupakan software metric yang menyediakan ukuran kuantitatif dari komplesitas logikal suatu program. Ketika digunakan dalam konteks metode ujicoba berbasis alur, nilai yang dikomputasi untuk kompleksitas cyclomatic mendefinisikan jumlah independent path dalam himpunan basis suatu program dan menyediakan batas atas untuk sejumlah ujicoba yang harus dilakukan untuk memastikan bahwa seluruh perintah telah dieksekusi sedikitnya satu kali.
Independent path adalah alur manapun dalam program yang memperkenalkan sedikitnya satu kumpulan perintah pemrosesan atau kondisi baru. Contoh
[image:52.595.204.452.232.351.2]32 Path 1 : 1 – 11
Path 2 : 1 - 2 - 3 - 4 - 5 - 10 - 1 – 11 Path 3 : 1 - 2 - 3 - 6 - 8 - 9 - 10 - 1 – 11 Path 4 : 1 - 2 - 3 - 6 - 7 - 9 - 10 - 1 – 11
Misalkan setip path yang baru memunculkan edge yang baru, dengan path : 1 - 2 - 3 - 4 - 5 - 10 - 1 - 2 - 3 - 6 - 8 - 9 - 10 - 1 – 11
path di atas tidak dianggap sebagai independent path karena kombinasi path
di atas telah didefinisikan sebelumnya ketika ditetapkan dalam graf alur, maka independent path harus bergerak sedikitnya 1 edge yang belum pernah dilewati sebelumnya. Kompleksitas cyclomatic dapat dicari dengan salah satu dari 3 cara berikut :
a. Jumlah region dari graf alur mengacu kepada komplesitas cyclomatic
b. Kompleksitas cyclomatic untuk graf alur G didefinisikan : V(G) = E - N + 2
Dimana E = jumlah edge, dan N = jumlah node
c. Kompleksitas cyclomatic untuk graf alur G didefinisikan : V(G) = P + 1
Dimana P = jumlah predicates nodes.
Berdasarkan flow graph gambar (b) di atas, maka kompleksitas cyclomatic -nya dapat dihitung sebagai berikut :
a. Flow graph di atas mempunyai 4 region
BAB 3
METODE PENELITIAN
3.1 Metode Penelitian
Dalam penelitian ini dilakukan beberapa tahapan yaitu : 1. Studi Literatur
2. Analisis Program yang Sudah ada. 3. Merancang Program Baru
4. Implementasi 5. Pengujian 6. Kesimpulan
Tahapan awal adalah mengumpulkan data-data yang ada hubungannya dengan topik permasalahan yang bersifat teoritis dengan cara membaca buku-buku, artikel, jurnal dan membaca bahan-bahan sumber lainnya.
35 Hasil analisis dituangkan ke dalam rancangan algoritma. Pada tahap ini juga dilakukan perancangan database dan interface program. Tahap selanjutnya adalah implementasi hasil analisis algoritma dalam kode program. Pembuatan program menggunakan bahasa pemrograman PHP dan database MySQL.
Setelah mengimplementasikan hasil analisis ke dalam program yang baru maka tahap selanjutnya adalah menguji program yang baru menggunakan black box & white box testing. Tahap akhir penelitian adalah menarik kesimpulan berdasarkan hasil anaisis program penghitung jumlah mahasiswa aktif jurusan ilmu komputer yang baru.
3.2 Waktu dan Tempat
[image:56.595.139.484.540.703.2]Penelitian ini dilakukan di Jurusan Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Lampung. Waktu penelitian dilakukan pada semester genap tahun ajaran 2013/2014. Berikut ini rencana jadwal penelitian berdasarkan metode penilitian.
36
3.3 Spesifikasi
Hardware
dan
Software
yang Digunakan
3.3.1 Spesifikasi
Hardware
yang digunakan
Hardware yang digunakan dalam penelitian ini adalah sebuah Notebook
dengan spesifikasi sebagai berikut : a. Tipe ACER Aspire 4743
b. Procesor Intel (R) Core(TM) i3 CPU M380 @2.50 GHz (4CPUs). c. RAM DDR2 2 GB.
d. HDD 320 GB.
e. VGA Intel(R) HD Graphics.
3.3.2
Spesifikasi
Software
yang Digunakan
Spesifikasi software yang digunakan adalah sebagai berikut: a. Sistem Operasi Windows 7 Ultimate.
BAB 5
SIMPULAN DAN SARAN
5.1 Simpulan
Berdasarkan pengujian menggunakan Black Box dan White Box Testing pada kedua program maka dapat disimpulkan :
1. Program jumlah mahasiswa aktif yang lama memiliki 118 Edges, 83 Node, dan maksimal 37 test cases.
2. Program jumlah mahasiswa aktif yang baru memiliki 74 Edges, 59 Node, dan maksimal 17 test cases sehingga dapat disimpulkan program baru lebik baik daripada program lama.
3. Program lama tidak mampu memberikan informasi yang lebih detail ke pengguna karena hanya menampilkan jumlah mahasiswa per angkatan. 4. Program baru memberikan informasi yang lebih detail kepada pengguna
dengan menampilkan jumlah mahasiswa kedalam grafik, serta dapat menampilkan nama dan foto mahasiswa yang aktif.
5.2 Saran
63 1. Program ini belum bisa mencetak jumlah mahasiswa aktif di Jurusan Ilmu Komputer ke dalam bentuk dokumen maka disarankan untuk menambahkan fasilitas mencetak dokumen baik ekstensi .doc atau .pdf.
DAFTAR PUSTAKA
Al Fatta, Hanif. 2007. Analisis dan Perancangan Sistem Informasi. Yogyakarta: Penerbit ANDI.
Ayuliana. 2009. Teknik Pengujian Perangkat Lunak. Diakses pada 19 Agustus 2014 dari
http://rifiana.staff.gunadarma.ac.id/Downloads/folder/0.8
Ehmer Khan, Mohd. 2011. Different Approaches to Black Box Testing Technique for Finding Errors. International Journal of Software Engineering & Applications(USEA).
Oktavian, D.Puji. 2010. Menjadi Programmer Jempolan Menggunakan PHP. Yogyakarta: Mediakom.
Raharjo, Budi. Heryanto, Imam. RK, Enjang. 2012. Pemrograman WEB(HTML, oke PHP, & MySQL). Bandung: Modula Bandung.
Ramadhan, Arief. 2007. Macromedia Dreamweaver 8. Jakarta: PT. Elex Media Komputindo.
Saputra, Agus. 2012. Sistem Informasi Nilai Akademik untuk Panduan Skripsi. Jakarta: Elex Media Komputindo.
Shalahuddin, M. Rosa A.S. 2011. Rekayasa Perangkat Lunak. Bandung: Penerbit MODULA.
Tantriawan, Hartanto. 2014. Utility Penghitung Jumlah Mahasiswa Aktif Jurusan Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Lampung. Bandar Lampung: Unila.
Thabrani, Ir Suryanto. 2006. Web Statis dan Dinamis dengan Dreamweaver 8. Jakarta: PT. Elex Media Komputindo.