• Tidak ada hasil yang ditemukan

PENGUJIAN DAN PERAWATAN SISTEM PENGHITUNG JUMLAH MAHASISWA AKTIF JURUSAN ILMU KOMPUTER

N/A
N/A
Protected

Academic year: 2017

Membagikan "PENGUJIAN DAN PERAWATAN SISTEM PENGHITUNG JUMLAH MAHASISWA AKTIF JURUSAN ILMU KOMPUTER"

Copied!
60
0
0

Teks penuh

(1)

PENGUJIAN DAN PERAWATAN SISTEM PENGHITUNG JUMLAH MAHASISWA AKTIF JURUSAN ILMU KOMPUTER

(Skripsi)

HARTANTO TANTRIAWAN 1017032028

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMPUNG

(2)

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.

(3)

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.

(4)

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

(5)

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

99802

l

00r

s.si.,

M.T.

200501

I

003

Intr

NIP

2. Morgetahn

Ketua Junrsan Ilmu Komputer

Yusmtn,

M.Kom.

19570330 198603 1 003

(6)

MENGESAHKAIY

l.

Tim Penguji

Ketua :

Ilwi

Sakethi, S.Si., M.Kom.

Sekretaris

:

Didik

Kurniawan, S.Si., M.T.

Penguji

Bukan Pembimbing :

Ir.

Machudor Yusmail,
(7)

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

(8)

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.

(9)
(10)

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

(11)

MOTTO

“Keep Moving Forward”

(Meet The Robinson)

“Musuh terbesarmu adalah dirimu sendiri”

(Rasululloh SAW)

“Uang tidak akan mampu membeli kebahagian,

(12)

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:

(13)

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.

(14)

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.

(15)

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.

(16)

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

(17)

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

(18)

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

(19)

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

(20)

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

(21)

DAFTAR LAMPIRAN

Lampiran Halaman

1 : Source Code Program Lama ...65

(22)

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.

(23)

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:

(24)

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.

(25)

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

(26)

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

(27)

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

(28)

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

(29)

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

(30)

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>";

(31)

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

(32)

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 ;

(33)

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.

(34)

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;

(35)

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’) {

(36)

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]; }

(37)

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> ";

(38)

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

(39)

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

(40)

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.

(41)

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.

(42)

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

(43)

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:

(44)

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;}

(45)

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;

} }

(46)

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

(47)

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

(48)

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,

(49)

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]
(50)

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]
(51)

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]
(52)

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]
(53)

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

(54)
(55)

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.

(56)

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.

(57)

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.

(58)

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

(59)

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.

(60)

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.

Gambar

Gambar 2.2: Laman Pilih Program Studi
Gambar 2.3: Laman Output
Gambar 2.4 :  Struktrur HTML
Gambar 2.5: Flow Graph Notation
+5

Referensi

Dokumen terkait

Tujuan dari penelitian ini adalah untuk mengetahui pengaruh penambahan ekstrak teh hijau terhadap sifat fisikokimia dan organoleptik permen jeli rosella.. Parameter

Dimulai dari kelas B2, dengan cara penataan fasilitas kelas seperti tempat duduk yang jarang diubah, penataan media dan alat permainan di setiap area sering tidak ditata

Pada penelitian ini menggunakan jenis penelitian model eksperimental yang bertujuan untuk membangun aplikasi mobile berbasis android untuk membantu pemesanan menu

Penggantian lambung kapal atau menambah armada kapal ini penulis memo- kuskan analisa dengan menyamakan displa- smen kapal ro-ro double ended yang sudah ada, pada model

1. Aturan-aturan dasar yang timbul dan terpelihara dalam praktek penyelenggaraan Negara, umumnya disebut konvensi. Misal : pidato Presiden setiap 16 Agustus pada

26 Dan kepada imam Abyatar raja berkata: &#34;Pergilah ke Anatot, ke tanah milikmu, sebab engkau patut dihukum mati, tetapi pada hari ini aku tidak akan membunuh engkau, oleh

Studi ini dilakukan untuk mengetahui besar emisi gas rumah kaca yang dihasilkan dari aktivitas kampus di Fakultas Ilmu Budaya Universitas Diponegoro dengan menggunakan