PENGEMBANGAN SISTEM VERIFIKASI MATA KULIAH DENGAN PARSING DATA TEXT TRANSKRIP SIAKAD PADA JURUSAN ILMU KOMPUTER

ABSTRAK

PENGEMBANGAN SISTEM VERIFIKASI MATA KULIAH DENGAN
PARSING DATA TEXT TRANSKRIP SIAKAD PADA
JURUSAN ILMU KOMPUTER

Oleh :
Rian Pandu

Pada penelitian ini dilakukan pengembangan sistem verifikasi mata kuliah. Hal
ini bertujuan untuk mempercepat pengecekan mata kuliah dengan kurikulum yang
ada pada jurusan ilmu komputer. Sistem verifikasi mata kuliah ini dikembangkan
dengan metode pencarian string matching yang memiliki dua bagian metode pemrograman: exact matching dan heuristic matching. Metode pemrograman exact
matching menggunakan algoritma brute force yang memiliki kekurangan karena
tidak memiliki fase preprosesing. Sedangkan, Heuristic matching menggunakan
algoritma n-gram similarity karena dapat melakukan pengecekan yang detail. Algoritma brute force yang digunakan dalam sistem verifikasi mata kuliah lebih cepat
dalam hasil running time, namun algoritma n-gram similarity lebih efisien dalam
pengecekan apabila satu karakter pada kopel dan mata kuliah dihapus.

Kata kunci: Sistem, Verifikasi, Transkrip, Kurikulum, String Matching, Exact
Matching, Heuristic Matching, Brute Force, N-gram Similarity.


i

ABSTRACT

PENGEMBANGAN SISTEM VERIFIKASI MATA KULIAH DENGAN
PARSING DATA TEXT TRANSKRIP SIAKAD PADA
JURUSAN ILMU KOMPUTER

By :
Rian Pandu

In this research, the development of verification systems courses. IT aims to accelerate the process of checking the existing curriculum in computer science majors.
Course verification systems was developed with the search string matching method
which has two parts programming methods: exact matching and heuristic matching. Exact matching programming method using a brute force algorithm has shortcomings because it does not have the preprocessing phase. Meanwhile, heuristic
matching algorithm using n-gram similarity as it can check the detail . The results
shows brute-force algorithm more quickly in running time results. But n-gram similarity algorithm is more efficient in checking if there some difference in one or more
character in kopel and course.

Key Word: Systems, Verification, transcripts, curriculum, String Matching,

Exact Matching, Heuristic Matching, Brute Force, N-gram Similarity.

ii

RIWAYAT HIDUP

Penulis dilahirkan di kota Bandar Lampung, Lampung pada tanggal 16 April tahun
1993, sebagai anak ketiga dari empat bersaudara dengan ayah Djumahir HS dan ibu
Hadjrah Tanty. Orang Tua yang penuh kasih sayang dan membantu dalam segala
hal. Keberadaan mereka tidak tergantikan dalam hidup.
Penulis menyelesaikan pendidikan Taman Kanak-Kanak Melati Puspa pada tahun
1998. Sekolah Dasar di SD Al-Adzhar pada tahun 2004, Sekolah Menengah Pertama (SMP) diselesaikan di SMP Negeri 1 Bandar Lampun pada tahun 2007, kemudian melanjutkan ke jenjang Sekolah Menengah Atas (SMA) Negeri 9 Bandar
Lampung dan kemudian lulus SMA di tahun 2010.
Pada tahun 2010, penulis terdaftar sebagai mahasiswa Jurusan Ilmu Komputer
Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Lampung.
Pada bulan Januari tahun 2013, penulis melakukan kerja praktik di Sekretariat Jurnal Fakultas MIPA.
Selama kuliah, penulis terdaftar dalam organisasi.

Pada tahun 2011 penulis


terdaftar sebagai anggota bidang ke olahragaan HIMATIKA Universitas Lampung,
kemudian pada tahun 2012 sebagai anggota Infokomedia HIMAKOM FMIPA
Universitas Lampung.

v

PERSEMBAHAN

Kupersembahkan karya ini untuk:

Papa dan Mama Tercinta
Kanjeng dan Titah, Kakak dan Pujian, Tama, Zahra, Ghanim yang telah
memberikan apresiasi dan kegembiraannya
Orang Tuaku dan Keluargaku tidak tergantikan dengan siapapun
merekalah yang terbaik, Terimakasih atas dukungan dan doanya selama ini.

ALMAMATER TERCINTA
UNIVERSITAS LAMPUNG

vi


MOTO

“Sesungguhnya sesudah kesulitan itu ada kemudahan”
(QS. Al-Insyirah:6)

“Tiap kali kamu merasa beruntung dan mendapatkan kelancaran,
percayalah doa ibumu dan ayahmu telah didengar”
(Rian Pandu)

“Tuhanmu lebih tau batas rasa sakit yang bisa kau tampung. Jangan
sampai engkau menyerah disaat selangkah lagi Tuhanmu
menggantikan kesakitan dengan sejuta keindahan”
(Anonim)

“Jangan pernah mengeluh karena Orang Tua Mu tidak pernah
mengeluh padamu sekecil apapun masalah dan rintangan yang
dihadapi”
(Rian Pandu)


vii

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 dari 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
”Pengembangan Sistem Verifikasi Mata Kuliah Mata Kuliah Dengan Parsing Data
Text Transkrip Siakad Pada 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:
1. Bapak Dwi Sakethi, S.Si, M.Kom. sebagai pembimbing I penulis dan selaku Sekretaris Jurusan Ilmu Komputer, yang telah memberikan ide untuk tugas akhir dan ditengah-tengah kesibukannya telah membimbing penulis dan
memberikan dorongan sehingga penulisan tugas akhir ini dapat diselesaikan.
2. Ibu Astria Hijriani, M.Kom. sebagai pembimbing II penulis, yang telah memberikan masukan-masukan untuk tugas akhir ini, sehingga penulis dapat menyelesaikan skripsi ini.
3. Bapak Ir. Machudor Yusman. M.Kom. selaku penguji skripsi dan Ketu
viii


ix
Jurusan Ilmu Komputer. 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 dan Ibu Dosen Jurusan Ilmu Komputer : Pak Dwi Sakethi, Pak Machudor Yusman, Ibu Astria Hijriani, Ibu Anie Rose Irawati, Ibu Ossy Dwi Endah
W., Pak Aristoteles, Pak Didik Kurniawan, Pak Favorisen R. Lumbanraja,
Pak Admi Syarif, Pak Rangga Firdaus, Pak Tristiyanto, Pak Rico Andrian,
Pak Kurnia, Pak Akmal Junaidi, Pak Bambang H. Pak Febi Eka, yang telah
memberikan ilmu dan pengalaman dalam hidup untuk menjadi lebih baik.
6. Ibu Wamiliana yang telah berbagi pengalaman dan motivasi pembelajaran
yang bisa digunakan di kemudian hari.
7. Ibu Anita yang telah membantu segala urusan administrasi.
8. Keluargaku tercinta, Papa, Mama, Titah dan Kanjeng, Kakak dan Pujian,
Tama, Zahra, Ghanim yang selalu memberikan semangat, dukungan, do’a
dan segala yang terbaik untukku.
9. M. Harry Haryono Sebagai Partner penulis yang memberi masukan dan bantuan dari pagi hingga larut malam, Arigatou.
10. Febrasari Almania yang telah membantu penulis dengan kemampuannya
yang luar biasa.
11. Rekan-rekan Ilmu Komputer 2010 yang sangat membantu dalam kesenangan, suka dan duka selama 4 tahun ini.
12. Teman-teman semangat, Suka Duka dan tertawa : Novi Hardiansyah, Tubagus Riki Andrian, Ady Candra, Fajar Sidik, Imam Gunaro, Choiranti Efrina, Hartanto Tantriawan, Dimas Wisnu Anggoro, Ferdy Tanza, Khoirul

Huda, Amin Nurul Fattah, Alpiyan Zakki, Hamdan Sukri, Harjo Apkuanbo,

x
Togu Christian Situmorang, Pita Utari, Beni Adi Pranata, Handika Wibowo,
Revy Firandama, Rita Saraswati, Karina Resty, Khalida Zhia, Noera Yudhiarti Utami, Rika Santika, Florencia Irena, Lona Ertina, R.A. Dina Nia
Pratiwi, Muhammad Donny Fadhilah, Risa Eliria, Ryo Septian, Hermansyah,Muhammad Chairuddin, Ahmad Khairudin Syam, Gilang Dwi Prasetyo,
Agus Rahmat K, Angger Luthfi A.M, Indah Ayu Atika, Mba Ajeng Savitri,
Kak Yuda Teja, Kak Daus, Aqillah Alifah Kadir, Novita Sari, Yunita, Gamma
Syaban.
13. Mas Nurkholis yang telah membukakan MIPA T dan ruang baca serta menyiapkan ruang seminar.
14. Gedung yang tidak terlupakan MIPA Terpadu yang memberi teduh dari panas
matahari, hujan dan badai.
15. Almamater tercinta

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.
Bandar Lampung, 20 September 2014

Rian Pandu


DAFTAR ISI
Halaman

HALAMAN JUDUL

i

LEMBAR PERSETUJUAN

ii

LEMBAR PENGESAHAN

iii

LEMBAR PERNYATAAN

iv

RIWAYAT HIDUP


v

PERSEMBAHAN

vi

MOTO

vii

KATA PENGANTAR

viii

DAFTAR ISI

xi

DAFTAR GAMBAR


xiv

DAFTAR TABEL

xvi

1 PENDAHULUAN

1

1.1 Latar Belakang .........................................................................................1
1.2 Rumusan Masalah ....................................................................................2
1.3 Batasan Masalah .......................................................................................3
1.4 Tujuan .......................................................................................................3
1.5 Manfaat .....................................................................................................3

xii

2 TINJAUAN PUSTAKA


5

2.1 String Matching ........................................................................................5
2.1.1 Exact Matching ..............................................................................5
2.1.2 Heuristic Matching .........................................................................6
2.2 Algoritma Brute Force .............................................................................7
2.3 Pengertian Sistem Informasi ....................................................................8
2.4 PHP (Hypertext Preprocessor) .................................................................9
2.4.1 Pengertian PHP (Hypertext Preprocessor) ....................................9
2.4.2 Tipe Data ........................................................................................11
2.5 Xampp .......................................................................................................15
2.6 MySQL ......................................................................................................15
2.6.1 Kelebihan MySQL ..........................................................................16
2.7 Perintah SQL Yang Digunakan ................................................................17
2.8 Rational Unified Process..........................................................................18
2.9 Pengujian Perangkat Lunak ......................................................................20
2.9.1 Pengujan Blackbox .........................................................................20
3 METODE PENELITIAN

22

3.1 Waktu dan Tempat ...................................................................................22
3.2 Spesifikasi Hardware dan Software Yang Digunakan .............................22
3.3 Data ..........................................................................................................23
3.4 Metode Penelitian .....................................................................................23
3.4.1 Tahapan Penelitian .........................................................................25
4 HASIL DAN PEMBAHASAN

29

4.1 Business Modeling ....................................................................................29

xiii

4.1.1 Menetapkan Proses Bisnis Sistem Verifikasi Mata Kuliah ............29
4.1.2 Meninjau Usecase Model Dari Sistem ...........................................31
4.2 Requirements ............................................................................................34
4.3 Analysis Dan Designq ..............................................................................35
4.4 Implementation .........................................................................................37
4.4.1 Halaman Utama Sistem ..................................................................37
4.4.2 Halaman Beranda ...........................................................................38
4.4.3 Halaman Transkrip Baru ................................................................39
4.4.4 Halaman Menu Transkrip Terakhir ................................................42
4.4.5 Halaman Kurikulum .......................................................................44
4.5 Test ...........................................................................................................46
4.5.1 Daftar Pengujian .............................................................................46
4.5.2 Hasil pengujian ...............................................................................48
4.5.3 Pengujian Fungsional .....................................................................48
4.5.3.1 Pengujian Running Time ....................................................64
4.5.3.2 Pengujian algoritma ...........................................................66
4.6 Deployment ...............................................................................................67
4.6 Pembahasan ..............................................................................................67
5 SIMPULAN DAN SARAN

70

5.1 Simpulan...................................................................................................70
5.2 Saran .........................................................................................................70
DAFTAR PUSTAKA

DAFTAR GAMBAR

2.1 N-Gram Similarity .............................................................................. 6
2.2 Algoritma Brute Force........................................................................ 7
2.3 Arsitektural Rational Unified Process (Manalil, 2010)...................... 19
3.1 Rancangan Use Case .......................................................................... 24
3.2 Bagan Aktifitas Kategori Pertama ...................................................... 26
4.1 Proses Bisnis Jurusan Ilmu Komputer ................................................ 30
4.2 Proses Bisnis Sistem Verifikasi Mata Kuliah ..................................... 31
4.3 Desain Model Usecase........................................................................ 32
4.4 Desain ERD Sistem Verifikasi Mata Kuliah ...................................... 35
4.5 Desain Sistem Verifikasi Mata Kuliah ............................................... 36
4.6 Halaman Utama Sistem Verifikasi Mata Kuliah ................................ 37
4.7 Halaman Beranda Sistem Verifikasi Mata Kuliah ............................. 38
4.8 Halaman Menu Transkrip Baru Sistem Verifikasi Mata Kuliah ........ 39
4.9 Halaman Transkrip Pada Siakad Unila ............................................... 41
4.10 Halaman Hasil Cek Transkrip .......................................................... 42
4.11 Halamana menu Transkrip Terakhir ................................................. 43
4.12 Halaman Menu Kurikulum ............................................................... 44

xv

4.13 Peringatan Form Input Belum Diisi ................................................. 49
4.14 Menampilkan Isi Kurikulum Yang Ada Di Sistem .......................... 50
4.15 Menampilkan Hasil Transkrip Telah Dicek Sebelumnya ................. 51
4.16 Penghapusan Kurikulum Tanpa Peringatan...................................... 52
4.17 Peringatan Field Kosong Di Pembuatan Kurikulum ........................ 53
4.18 Penghapusan Mata Kuliah Tanpa Peringatan ................................... 54
4.19 Isi Kurikulum .................................................................................... 55
4.20 Halaman Ubah Mata Kuliah ............................................................. 55
4.21 Halaman Upload Tambah Mata Kuliah ............................................ 56
4.22 Pengecekan Kopel Yang Dihapus .................................................... 57
4.23 Penghapusan Mata Kuliah Tanpa Peringatan ................................... 58
4.24 Cek Karakter Kopel Yang Diubah Menggunakan N-gram .............. 59
4.25 Cek Karakter Kopel Yang Diubah Menggunakan Brute Force ....... 60
4.26 Pengecekan Karakter Mata Kuliah Diubah ...................................... 61
4.27 Pengecekan Mata Kuliah Dihapus .................................................... 62
4.28 Tampilan Menu Petunjuk ................................................................. 63
4.29 Tampilan Peringatan Form Input Transkrip Belum Diisi ................ 64
4.30 Tampilan Pengecekan N-gram Similarity ........................................ 68
4.31 Tampilan pengecekan Brute Force ................................................... 69

DAFTAR TABEL

4.1 Identifikasi Actor dan Usecase ........................................................... 33
4.2 Daftar Pengujian ................................................................................. 46
4.3 Hail Running Time .............................................................................. 64
4.4 Pengujian Algoritma ........................................................................... 66

BAB 1
PENDAHULUAN

1.1 Latar Belakang
Sistem merupakan keterpaduan yang terdiri dari atas sejumlah komponen fungsional yang saling berhubungan dalam proses tertentu (Al-Fatta, 2007). Sistem
Informasi Akademik Univeristas Lampung adalah sistem yang digunakan untuk keperluan pengelolaan data akademik. Sistem ini digunakan untuk pengambilan mata
kuliah, melihat nilai, mencetak transkrip. Sistem ini juga diperlukan untuk salah
satu syarat kelulusan salah satunya pada Jurusan Ilmu Komputer dengan menyerahkan transkrip mata kuliah dengan perhitungan jumlah Sistem Kredit Semester
(SKS) yang telah diselesaikan dan pemeriksaan mata kuliah wajib atau pilihan yang
telah diambil menurut kurikulum yang dipakai pada mahasiswa setiap angkatan.
Dalam hal ini Sistem Informasi Akademik menghadapi masalah dalam pemeriksaan
transkrip yang dilakukan secara manual yaitu memakan waktu yang lama saat mencocokan mata kuliah dan kurikulum, penghitungan SKS yang diambil dan adanya
mata kuliah yang terlewat saat diperiksa. Untuk mengatasi masalah tersebut, dibutuhkan sistem yang mampu mempercepat dan mempermudah pemeriksaan mata
kuliah pada transkrip dengan sistem verifikasi mata kuliah.
Dalam proses pencarian mata kuliah wajib dan pilihan, salah satu yang dapat digunakan adalah metode pencarian string matching. String matching adalah proses
pencarian semua kemunculan query yang selanjutnya disebut pattern ke dalam
string yang lebih panjang (teks).(Sarno. Dkk, 2012). String matching dibagi menjadi dua, yaitu exact matching dan heuristic matching. Exact matching digunakan

2
untuk menemukan pattern yang berasal dari suatu teks. Algoritma yang digunakan
pada exact matching adalah algoritma brute force. Algoritma brute force adalah
algoritma untuk mencocokkan pattern dengan semua teks antara 0 dan n-m. Karakteristik brute force selalu berpindah tepat 1 langkah depan, dapat dilakukan pada
urutan apa saja, karakter yang terjadi diharapkan 2n (Fernando, 2009). Algoritma
brute force memiliki kelemahan sebagai berikut.
1. Tidak memiliki fase preprocessing pada tahap sebelum melakukan pencocokkan string.
2. Fase pencarian memiliki kompleksitas saat pencocokkan teks banyak.

Metode exact matching yang digunakan memiliki beberapa kelemahan dalam
sistem verifikasi mata kuliah. Dengan itu, sistem ini dicoba dibandingkan Metode
Heuristic Matching.

Heuristic matching adalah teknik yang digunakan untuk

menghubungkan dua data terpisah ketika Exact matching tidak mampu mengatasi
karena ada pembatasan data yang tersedia (Sarno. Dkk, 2012 ).
Untuk itu, pada penelitian ini dilakukan pengembangan sistem verifikasi
mata kuliah berdasarkan transkrip yang berada di Sistem Informasi Akademik
Universitas Lampung dengan melihat dari dua metode pencarian. Sistem ini dibuat
untuk menjadi sistem pendukung di Jurusan Ilmu Komputer dalam pemeriksaan
transkrip mahasiswa dengan berdasarkan kurikulum yang berada pada Jurusan Ilmu
Komputer untuk mempermudah dan mempercepat proses verifikasi mata kuliah dan
kurikulum.

1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah dikemukakan, maka rumusan masalah yang
merupakan acuan dalam penelitian ini adalah bagaimana mengembangkan sistem

3
yang dapat mempercepat dan mempermudah pemeriksaan transkrip dengan kurikulum yang diambil pada Jurusan Ilmu Komputer menggunakan metode pencarian
String Matching. Dengan sistem ini akan diketahui mata kuliah wajib dan pilihan
yang sudah atau belum diambil.

1.3 Batasan Masalah
Batasan masalah dalam penelitian ini adalah sebagai berikut.
1. Studi kasus pada sistem Jurusan Ilmu Komputer.
2. Simulasi sistem menggunakan PHP dan MySQL.
3. Pemilihan semester transkrip yang dicek berasal dari Sistem Informasi
Akademik Unila.
4. Menggunakan metode pemrograman Exact Matching dan Heuristic Matching.
5. Menggunakan metode pengembangan sistem Rational Unified Process
(RUP).
6. Input yang di copy paste langsung dari halaman transkrip Siakad Unila.

1.4 Tujuan
Tujuan dilaksanakan penelitian ini adalah untuk mengembangkan sistem yang dapat
membantu mempercepat dan mempermudah proses pengecekan transkrip Siakad
Unila dan kesesuaian dengan persyaratan sesuai kurikulum.

1.5 Manfaat
Manfaat dari penelitian ini adalah sebagai berikut.

4
1. Mengembangkan sistem yang dapat mengecek transkrip mata kuliah dengan
kurikulum Jurusan Ilmu Komputer.
2. Memberikan alternatif dalam membantu pemeriksaan transkrip dengan kurikulum secara manual.
3. Menambah bahan studi ilmu pengetahuan bagi peneliti lain yang ingin
melakukan penelitian sejenis.
4. Menjadi referensi mengenai dua metode pemrograman Exact Matching dan
Heuristic Matching.

BAB 3
METODE PENELITIAN

3.1 Waktu dan Tempat
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.

3.2 Spesifikasi Hardware dan Software yang Digunakan
Pengembangan sistem verifikasi mata kuliah ini menggunakan satu unit notebook
dengan spesifikasi sebagai berikut.
1. Spesifikasi hardware yang digunakan dalam pengembangan sistem ini adalah
sebagai berikut.
1. Processor Intel(R) Core(TM) i7-2670QM CPU @2.20 GGHz.
2. RAM DDR2 4 GB.
3. HDD 750 GB.
4. VGA NVIDIA GEFORCE GT540M.
2. Spesifikasi software yang digunakan adalah sebagai berikut.
1. Sistem Operasi Windows 7 Ultimate.
2. Aplikasi local server XAMPP 1.8.1.
3. Notepad++
4. Browser Mozilla Firefox

23

3.3 Data
Data yang diambil dan yang digunakan pada sistem ini adalah sebagai berikut.
1. Data Kurikulum Jurusan Ilmu Komputer.
2. Data Transkrip Siakad Unila.

3.4 Metode Penelitian
Rational Unified Process(RUP) adalah proses rekayasa perangkat lunak yang menggunakan pendekatan disiplin untuk menetapkan tugas dan tanggung jawab dalam
pengembangan sistem (Manalil, 2010). RUP diciptakan, dikembangkan dan dikelola oleh Rational Software sekarang IBM. Tujuan dari RUP adalah menghasilkan
perangkat lunak berkualitas tinggi yang memenuhi kebutuhan pengguna dan dapat
diprediksi penjadwalan dan biaya pengembangannya (Kruchten, 2003). Fase dan
iterasi pengembangan perangkat lunak dengan metode Rational Unified Process antara lain sebagai berikut.
1. Fase
Dalam Rational Unified Process(RUP) siklus pengembangan perangkat lunak
dibagi ke dalam empat fase, yaitu:
1. Inception
Pada fase awal atau inception pengembang mendefinisikan batasan
kegiatan, menentukan bisnis proses, melakukan analisis kebutuhan
pengguna, melakukan perancangan awal perangkat lunak (perancangan
use case). Fase ini akan menghasilkan proses bisnis, use case awal.
2. Elabration
Tujuan dari fase elaborasi (Elaboration) adalah untuk menganalisa permasalahan utama, membangun arsitektur dasar, mengembangkan ren-

24
cana proyek, dan menghilangkan resiko tertinggi dari proyek. Hasil dari
fase elaborasi ini adalah sebuah use case yang sudah, deskripsi arsitektur perangkat lunak, persyaratan non-fungsional, dan gambaran umum
pengembangan perangkat lunak. Contoh rancangan use case yang diperlihatkan pada gambar 3.1.

Gambar 3.1: Rancangan Use Case

3. Construction
Fase konstruksi terfokus pada pengembangan perangkat lunak baik
komponen utama maupun fitur-fitur pendukung dengan melakukan
sederet iterasi. Disetiap iterasi terdapat proses analisa, desain, implementasi, dan pengujian.

Dalam proses pengembangannya da-

pat menggunkan konstruksi paralel agar mempercepat hasil perangkat
lunak.

Hasil yang diharapkan dari fase ini adalah sebuah produk

perangkat lunak yang siap digunakan oleh end-user, yaitu sebuah produk perangkat lunak yang terintegrasi dengan platform yang memadai
dan penjelasan dari produk tersebut.

25
4. Transition
Fase transisi merupakan fase dimana perangkat lunak hasil dari pengembangan didistribusikan kepada pengguna akhir (end-user). Kegiatankegiatan yang dilakukan pada fase ini antara lain: beta testing untuk
memvalidasi sistem baru terhadap harapan pengguna, konversi database
operasional, pelatihan bagi pengguna dan pengelola, dan pemasaran
produk.
2. Iterasi
Setiap fase dalam rational unified process selanjut dibagi menjadi iterasi.
Iterasi adalah loop pengembangan yang lengkap sehingga dalam rilisnya
(internal atau eksternal) dari executable produk, bagian dari produk akhir
yang sedang dikembangkan, menjadi sistem akhir secara bertahap dari iterasi
ke iterasi. Manfaat penggunaan pendekatan iterasi dibanding pendekatan water fall, sebagai berikut:
1. Resiko telah diantisipasi lebih awal.
2. Pengelolaan perubahan lebih mudah.
3. Tingkat penggunaan kembali lebih tinggi.
4. Pengembang dapat belajar diproses pengembangan proyek.
5. Secara keseluruhan memiliki kualitas yang baik.

3.4.1

Tahapan Penelitian

Dalam Rational Unified Process(RUP) ada sembilan proses inti, yang merupakan
bagian dari seluruh pekerja dan aktifitas. Kategori pertama, enam inti rekayasa yang
ditunjukkan pada Gambar 3.2.

26

Gambar 3.2: Bagan Aktifitas Kategori Pertama

1. Business Modeling (Pemodelan Bisnis)
Salah satu masalah utama dalam rekayasa perangkat lunak adalah komunikasi yang tidak baik antara rekayasa perangkat lunak dan rekayasa bisnis. Namun Rational Unified Process mengatasinya dengan menyediakan
bahasa dan proses dari kedua bagian tersebut, serta menunjukkan bagaimana
cara menciptakan dan memelihara ketertelusuran langsung antara bisnis dan
perangkat lunak. Dalam pemodelan bisnis, bisnis proses didokumentasikan
ke dalam business use case. Business use case merupakan analisis untuk
memahami bagaimana bisnis harus mendukung proses bisnis.

27
2. Requirement (Persyaratan)
Tujuan dari alur kerja persyaratan requirement workflow adalah untuk
menggambarkan kebutuhan sistem dan deskripsi kesepakatan antara pengembang dan pelanggan. Dokumen bayangan dibuat, dan kebutuhan stakeholder
dimunculkan. Identifikasi aktor, menyatakan pengguna dan sistem lain yang
berinteraksi dengan sistem yang sedang dikembangkan. Use case diidentifikasi, menyatakan perilaku sistem, dan dikembangkan sesuai dengan kebutuhan aktor. Setiap use case dijelaskan secara rinci, deskripsi dari usecase
menunjukkan bagaimana sistem berinteraksi dengan aktor dan apa yang dapat sistem lakukan. Kebutuhan non-fungsional dijelaskan dalam spesifikasi
tambahan. Fungsi usecase adalah sebagai benang pemersatu siklus pengembangan sistem.
3. Analysis and Design (Analisis dan desain)
Tujuan dari analisis dan desain adalah membuat rancangan sistem yang akan
direalisasikan dalam bentuk implementasi. Hasil dari analisis dan desain
adalah model desain dan model analisis opsional. Model desain berguna
sebagai abstrak dari source code program, sebagai acuan bagi programer
dalam mengimplementasikan sebuah sistem.
4. Implementation (Implementasi)
Tujuan implementasi, sebagai berikut.
1. Untuk mendefinisikan pengelompokan kode, dalam pengertian pengimplementasian subsistem yang dikelompokkan dalam lapisan-lapisan.
2. Untuk mengimplemenatsikan kelas dan objek dalam pengertian komponen seperti Source code, binary, atau executable.
3. Untuk menguji komponen yang dikembangkan sebagai unit-unit.
4. Untuk mengintegerasikan hasil yang diproduksi oleh pengimplementasi
individu atau tim menjadi sistem yang dapat dieksekusi.

28
5. Test (Pengujian)
1. Untuk memastikan interaksi antarobjek.
2. Untuk memastikan kesatuan integerasi dari semua komponen perangkat
lunak.
3. Untuk memastikan seluruh kebutuhan yang telah diimplementasikan.
4. Untuk mengidentifikasi dan memastikan kekurangan pada perangkat
lunak.
6. Deployment (Penyebaran)
Tujuan dari alur penyebaran adalah untuk memproduksi rilis perangkat lunak
sehingga siap untuk dipakai dan didistribusikan.

Kategori kedua dalam proses pelaksanaan RUP adalah 3 inti pendukung, yaitu :
1. Project Management (Manajemen Proyek)
Pendeskripsian berbagai macam strategi untuk bekerja dengan proses iterasi.
2. Configuration and Change Management (Konfigurasi dan Manajemen Perubahan)
Pengendalian perubahan pada proyek dan pemeliharaan integrasi artefak
proyek dan aktifitas manajemen.
3. Environtment (Lingkungan)
Mencakup seluruh kebutuhan infrastruktur yang dibutuhkan untuk mengembangkan suatu sistem.

BAB 2
TINJAUAN PUSTAKA

2.1 String Matching
String matching adalah proses pencarian semua kemunculan query yang selanjutnya disebut pattern ke dalam string yang lebih panjang (teks). Pattern dilambangkan dengan x=x[0..m-1] dan panjangnya adalah m. Teks dilambangkan dengan
y=y[0..n-1] dan panjangnya adalah n. String matching dibagi menjadi dua, yaitu exact matching dan heuristic matching (Sarno. Dkk, 2012).
Contoh sebagai berikut.
String = COM211
n=6
x=x[0..5]

String = Logika
n=6
x=x[0..5]

2.1.1 Exact Matching
Exact matching digunakan untuk menemukan pattern yang berasal dari satu teks.
Contoh pencarian exact matching adalah pencarian kata ”pelajar” dalam kalimat
”saya seorang pelajar” atau saya seorang siswa. Sistem akan memberikan hasil
bahwa kalimat pertama mengandung kata ”pelajar” sedangkan kalimat kedua tidak.

6
Algoritma exact matching diklasifikasikan menjadi tiga bagian menurut arah pencarian sebagai berikut.
1. Arah pembacaan dari kiri ke kanan.
2. Arah pembacaan dari kanan ke kiri.
3. Arah pembacaan yang ditentukan pemrogram.

2.1.2 Heuristic Matching
Heuristic matching adalah teknik yang digunakan untuk menghubungkan dua data
terpisah ketika exact matching tidak mampu mengatasi karena ada pembatasan
pada data yang tersedia. Heuristic matching dapat dilakukan dengan perhitungan
distance antara pattern dengan teks. Euzenat(2007) menuliskan contoh dengan
perhitungan distance berdasarkan String Based Tecnique yaitu string equality yang
menggunakan algoritma n-gram similarity. N-gram similarity sering digunakan
untuk membandingkan beberapa string.

Algoritma ini menghitung sejumlah

n-gram bersama seperti serangkaian n karakter di antara string.

Gambar 2.1: N-Gram Similarity.

7

2.2 Algoritma Brute Force
Algoritma brute force adalah algoritma untuk mencocokkan pattern dengan semua
teks antara 0 dan n-m untuk menemukan keberadaan pattern dalam teks. Secara
rinci, langkah-langkah yang dilakukan algoritma ini saat mencocokkan string.
1. Algoritma brute force mulai mencocokkan pattern dari awal teks.
2. Dari kiri ke kanan, algoritma ini mencocokkan karakter per karakter pattern
dengan karakter pada teks yang bersesuaian, sampai salah satu kondisi berikut
terpenuhi.
(a) Karakter di pattern dan di teks yang dibandingkan tidak cocok.
(b) Semua karakter di pattern cocok. Kemudian algoritma memberitahukan
penemuan posisi ini.
3. Algoritma kemudian terus menggeser pattern sebesar satu ke kanan, dan mengulangi langkah ke-2 sampai pattern berada di ujung teks.

Gambar 2.2: Algoritma Brute Force.

8

2.3 Pengertian Sistem Informasi
Sistem informasi merupakan kumpulan dari perangkat keras dan perangkat lunak
komputer serta perangkat manusia yang mengolah data menggunakan perangkat
keras dan lunak tersebut. Data memiliki peranan dalam sistem informasi. Data
yang dimasukkan adalah sebuah sistem informasi dapat berupa formulir-formulir,
prosedur dan bentuk data lainnya. Komponen-komponen sistem informasi terdiri
dari sebagai berikut.
1. Input
Input adalah semua data yang dimasukkan ke dalam sebuah sistem informasi.
2. Proses
Proses merupakan kumpulan prosedur untuk memanipulasi input yang kemudian disimpan dalam bagian basis data dan seterusnya diolah menjadi suatu
output yang digunakan oleh penerima.
3. Output
Output merupakan semua keluaran atau hasil dari model yang sudah diolah
menjadi suatu informasi yang berguna dan dapat dipakai penerima. Komponen ini berhubungan langsung dengan pemakai sistem informasi dan merupakan tujuan akhir dari pembuatan sistem informasi.
4. Basis data
Basis data merupakan kumpulan data yang saling berhubungan satu sama
lain yang disimpan dalam perangkat keras komputer dan diolah menggunakan perangkat lunak. Basis data merupakan kumpulan file yang memiliki
keterkaitan antara satu file dengan file yang lain sehingga membentuk satu
bangunan data.
5. Teknologi
Teknologi merupakan bagian yang berfungsi untuk memasukkan input, men-

9
golah input dan menghasilkan keluaran. Teknologi ini meliputi hardware,
software, brainware.
6. Kendali
Kendali merupakan semua tindakan yang diambil untuk menjaga sistem
informasi tersebut agar berjalan dengan lancar dan tidak mengalami gangguan (Kristanto, 2003).

2.4 PHP (Hypertext Preprocessor)
2.4.1

Pengertian PHP (Hypertext Preprocessor)

PHP (Hypertext Preprocessor) merupakan bahasa pemrograman yang berbentuk
scripting, sistem kerja dari program ini adalah sebagai interpreter bukan sebagai
compiler (Nugroho, 2004). Menurut Kadir bahwa ”Interpreter adalah perintah
menerjemahkan statement program. Sedangkan bahasa compiler adalah semua perintah di dalam program diterjemahkan terlebih dahulu, baru kemudian semuanya
dijalankan” (Kadir, 2005).
Bahasa pemrograman merupakan sebuah paket bahasa yang digunakan untuk membuat sebuah bahasa turunan. Bahasa turunan dapat berupa bahasa pemrograman,
atau dapat juga berupa hasil akhir yang disebut dengan istilah aplikasi pemrograman. Menurut cara prosesnya, bahasa pemrograman dapat dikategorikan
menjadi dua, yaitu sebagai berikut.
1. Bahasa Compiler
Bahasa compiler adalah bahasa yang mengubah script program ke dalam
source code, selanjutnya dari bentuk source code diubah menjadi bentuk object code, bentuk dari kode objek menghasilkan file yang lebih kecil dari file
mentah sebelumnya. Selanjutnya bentuk kode objek berubah menjadi sebuah

10
program yang siap dijalankan tanpa adanya program bantu pembuatnya, sehingga hasil dari pemrograman yang berbentuk kompiler membuat sebuah
program yang berstatus sebagai program eksekusi. Contoh dari program compiler adalah Pascal, Visual C, Lazarus.
2. Bahasa Interpreter
Bahasa interpreter, script mentah tidak harus diubah ke dalam bentuk source
code. Sehingga pada saat menjalankan bentuk program, kode dasar secara
langsung dijalankan tanpa harus melalui proses pengubahan ke dalam bentuk
source code.
Contoh penggunaan perintah PHP sebagai berikut.

3. Character
Character merupakan bentuk yang sama dengan tipe data varchar yaitu

12
mampu menangani data sampai dengan 225 karakter. Tetapi dari ke dua tipe
data tersebut memiliki perbedaan yang sangat signifikan yaitu dalam hal media penyimpanan data. Sebagai contoh adalah apabila membuat kolom varchar(25) maka data yang dimasukkan paling banyak adalah 25 digit tetapi
dapat juga memasukkan data kurang dari 25 digit. Apabila dalam penyimpanan data dalam bentuk char(4) maka harus dimasukkan data paling banyak
4 karakter, jadi apabila memasukkan sebanyak 2 karakter maka, data tersebut
tetap dibaca 4 karakter, sehingga keadaan tersebut memboroskan ketersediaan memori komputer. (Nugroho, 2004)
Contoh penulisan tipe data string adalah sebagai berikut.
$teks=$_POST[’isiteks’];
$teks="\n".$teks." ";
$rows= explode("\n", $teks);
4. Array
Larik atau array adalah penampung sejumlah data bertipe sama dan menggunakan satu identifier. Array adalah penampung data yang disebut dengan
variabel. Perbedaan antara array dan variabel adalah terletak pada kapasitas penampungannya. Variabel bertipe int hanya dapat menampung sebuah
bilangan bulat dan variabel bertipe char hanya bisa menampung sebuah
karakter ASCII. Array bertipe int mampu menampung sejumlah bilangan
bulat, sedangkan array bertipe char mampu menampung sejumlah karakter
ASCII (Ngoen, 2009).
Tipe data array atau larik merupakan tipe compound primitif, dan terdapat
juga pada bahasa-bahasa pemrograman lain. Tipe data array digunakan untuk
menyimpan banyak data dalam satu variabel. Array dibagi menjadi dua yaitu
numeric array dan assosiative array.

13
1. Numeric Array
Pemanggilan data pada numeric array berdasarkan dengan angka, angka
dimulai dari 0 sampai dengan jumlah data yang dimasukkan. Contoh
Numeric Array sebagai berikut.
#$no[$baris]=$gets[0];
$kopel[$baris]=$gets[0];
$matkul[$baris]=$gets[1];
$sks[$baris]=$gets[2];
$nilai[$baris]=$gets[3];
$pengambilan[$baris]=$gets[4];
$semester[$baris]=$gets[5];

2. Assosiative Array
Pemanggilan data array tersebut menggunakan string yang ditentukan
oleh User, dengan kata lain pemanggilan menggunakan angka diganti
menjadi string yang diinginkan. Contoh penggunaan assosiative array
adalah sebagai berikut.
$kopel[$baris]=str_replace(" ","",$kopel[$baris]);
$nilai[$baris]=str_replace(" ","",$nilai[$baris]);

5. Object
Tipe data object adalah tipe data yang dapat berupa bilangan, variabel ataupun
fungsi. Dengan dibuat data object ini dapat membantu programmer untuk
membuat sebuah program. Data ini dapat disertakan ke dalam program, sehingga meringkas beberapa fungsi dan dapat memperkecil ukuran file. Semakin kecil ukuran file semakin singkat waktu yang dibutuhkan untuk mengakses file tersebut.

14
Contoh penulisan data object adalah sebagai berikut.