Aplikasi object-relational mapping menggunakan Ruby on Rails dan MySQL : studi kasus Laboratorium Basis Data dan Perangkat Lunak Program Studi Teknik Informatika, Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta - USD Repository
Aplikasi Object-Relational Mapping
menggunakan Ruby on Rails dan MySQL
(Studi Kasus : Laboratorium Basis Data dan Perangkat Lunak,
Program Studi Teknik Informatika, Fakultas Sains dan Teknologi,
Universitas Sanata Dharma Yogyakarta)
Skripsi Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
Oleh :
Puput Pradhika
NIM : 045314071
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2010
Object-Relational Mapping Application
Using Ruby on Rails And MySQL
(Case Of Study : Database and Software Laboratory,
Informatics Engineering Study Program, Faculty of Science and Technology,
Sanata Dharma University Yogyakarta)
Skripsi Proposed to Fulfill One of the Requirement
Acquiring Diploma Degree of Engineering Informatics Engineering Study Program
Composed By :
Puput Pradhika
NIM : 045314071
INFORMATICS ENGINEERING STUDY PROGRAM
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2010
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka sebagaimana layaknya karya ilmiah.
Yogyakarta, 15 Maret 2010 Penulis,
Puput Pradhika
L E M B A R P E R N Y A T A A N P E R S E T U J U A N PU B L I K A S I
KA R Y A ILM IA H UNTU K K E P E N T I N G A N AKA D E M I S
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :
Nama : Puput Pradhika Nomor Mahasiswa : 045314071 Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul : “Aplikasi Object-Relational Mapping menggunakan Ruby on Rails dan MySQL (Studi Kasus : Laboratorium Basis Data dan Perangkat Lunak, Program Studi Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Sanata Dharma Yogyakarta) .”
beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan
kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di Internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari sayamaupun memberikan royalty kepada saya selama tetap mencantumkan nama saya
sebagai penulis. Demikian pernyataan ini yang saya buat dengan sebenarnya. Yogyakarta, 15 Maret 2010 Yang menyatakan,Puput Pradhika
Karya ini kupersembahkan untuk :
Yesus Kristus, Tuhan dan juru selamatku.
...
Ibuku tercinta.
Pak’de dan Bu’de terkasih
...
Seseorang yang selalu mencintaiku.
ABSTRAKSI
Dalam perkembangan teknologi dalam beberapa tahun terakhir, pembuatan situs web dipermudah dengan menggunakan Object-Oriented Programming dan
relational database. Object-oriented merupakan model yang mendukung aplikasi
objek ke dalam kelas yang memiliki data dan fungsi, sedangkan model relasional mendukung penyimpanan data pada baris dan kolom dalam tabel.
Namun secara teknik, perbedaan keduanya menyebabkan ketidaksesuaian antara objek dalam kelas pada Object-Oriented Programming dengan data dalam tabel pada relational database. Sehingga untuk mengatasi ketidaksesuaian tersebut, diperlukan mapping antara Object-Oriented Programming dengan relational
database untuk menghubungkan antara model objek dan model relasional agar
dapat terintegrasi dan berjalan bersama dalam sebuah sistem perangkat lunak.
Mapping ini yang disebut Object-Relational Mapping. Object-Relational Mapping
merupakan salah satu pendekatan dengan menambahkan kemampuan basis data ke dalam bahasa pemrograman berorientasi objek untuk mengatasi ketidaksesuaian antara basisdata relasional dengan pemrograman berorientasi objek.
Dalam penelitian ini, teknologi Object Relational Mapping tools yang digunakan adalah Ruby on Rails. Aplikasi Object-Relational Mapping menggunakan Ruby on Rails ini diimplementasi dalam sistem informasi skripsi dengan studi kasus pada Laboratorium Basis Data dan Perangkat Lunak, Program Studi Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Sanata Dharma.
ABSTRACT
In the development of technology in these recent years, the development of web pages are eased by using Object Oriented Programming and relational database. Object Oriented is a model which supports object applications into a class which have data and function, while relational model supports the storage of data on rows and columns of a table.
But technically, the difference cause incompatibility between object in Object Oriented Programming and the data of a table on relational database. To solve this problem, we need mapping between Object Oriented Programming and relational database to relate the object model and the relational model so both of the model can be integrated and be operated in a software system. This is called as Object Relational Mapping. Object Relational Mapping is one of approach used to improve the database capability into Object Oriented Programming language to solve the incompatibility between Relational Database and Object Oriented Programming.
In this research, Object Relational Mapping tools technology used is Ruby on Rails. This application is implemented on skripsi information system based on case of study at Database and Software Laboratory, Informatics Engineering Study Program, Faculty of Science and Technology, Sanata Dharma University.
KATA PENGANTAR
Puji dan syukur kepada Tuhan Yesus Kristus atas berkat, anugerah dan kemurahan-Nya sehingga penulis dapat menyelesaikan skripsi yang berjudul “Aplikasi Object-Relational Mapping menggunakan Ruby on Rails dan MySQL
(Studi Kasus : Laboratorium Basis Data dan Perangkat Lunak, Program Studi Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Sanata Dharma Yogyakarta)” sebagai salah satu syarat untuk memperoleh gelar Sarjana Teknik (S.T.) di Fakultas Sains dan Teknologi Universitas Sanata Dharma.
Dalam penelitian ini sampai pada penyusunan skripsi ini, penulis banyak mendapat bantuan dari berbagai pihak. Pada kesempatan ini, penulis ingin menyampaikan penghargaan dan ucapan terima kasih kepada :
1. Yosef Agung Cahyanta, S.T., M.T., Selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma.
2. Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T. selaku Kepala Program Studi Teknik Informatika Universitas Sanata Dharma dan Dosen Penguji.
3. Ibu Agnes Maria Polina, S.Kom., M.Sc., selaku Dosen Pembimbing Akademik.
4. Ibu Ridowati Gunawan, S.Kom., M.T., selaku Dosen Pembimbing, terima kasih atas perhatian, bimbingan dan dorongan semangatnya.
5. JB Budi Darmawan, S.T., M.Sc., selaku Dosen Penguji.
6. Seluruh anggota Sekretariat Fakultas Sains dan Teknologi, yang telah membantu melancarkan administrasi dan pengadaan surat-surat.
7. Ibu Ngadinem tercinta, yang telah memberikan segalanya tanpa mengharap kembali.
8. Pak’de dan bu’de Lakirdi atas semua bimbingan dan bantuan selama hidupku.
9. Siwiargo Yacintus dan Simeon Siwi Hudiono atas persaudaraan yang tak akan pernah berakhir.
10. Timotheus Setianto atas semua peran serta baik moril dan materiil dalam mendukung selesainya penulisan skripsi ini.
11. Jacobus Reinhart Ariando atas semua pelajaran dan buku-buku yang digunakan penulis dalam skripsi ini.
12. Saudara/i Teksapala terutama angkatan Bukit Jelajah atas peran serta dan keterlibatannya sehingga penulis dapat menyelesaikan skripsi ini dengan baik.
13. Teman-teman Teknik Informatika angkatan 2004 atas dorongan semangat sehingga penulis dapat segera menyelesaikan skripsi ini.
14. Semua pihak yang telah membantu dan terlibat dalam skripsi ini yang tidak dapat disebutkan satu persatu.
Penulis menyadari bahwa masih banyak kekurangan dalam penyusunan skripsi ini, penulis memohon kritik dan saran yang sifatnya membangun. Penulis memiliki harapan yang sangat besar, semoga skripsi ini dapat bermanfaat bagi pembaca dan perkembangan ilmu pengetahuan.
Yogyakarta, 14 Maret 2010 Penulis
Puput Pradhika
DAFTAR ISI
HALAMAN JUDUL ....................................................................................... i HALAMAN PERSETUJUAN.......................................................................... ii HALAMAN PENGESAHAN.......................................................................... iii HALAMAN KEASLIAN KARYA.................................................................. iv HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI....................... v HALAMAN PERSEMBAHAN....................................................................... vi ABSTRAKSI.................................................................................................... vii ABSTRACT...................................................................................................... viii KATA PENGANTAR...................................................................................... ix DAFTAR ISI..................................................................................................... xii DAFTAR GAMBAR........................................................................................ xvii DAFTAR TABEL............................................................................................. xxv
BAB I PENDAHULUAN ................................................................................ 1
1.1. Latar Belakang..................................................................................... 1
1.2. Rumusan Masalah................................................................................ 2
1.3. Batasan Masalah.................................................................................. 3
1.4. Tujuan Penelitian................................................................................. 3
1.5. Manfaat Penelitian............................................................................... 4
1.6. Metodologi Penelitian.......................................................................... 4
1.7. Sistematika Penulisan.......................................................................... 6
BAB II LANDASAN TEORI........................................................................... 7 2.1. Pemodelan Object-Oriented................................................................
7
2.1.1.Identitas........................................................................................ 7
2.1.2.Data.............................................................................................. 7
2.1.3.Fungsi........................................................................................... 8
2.1.5.Enkapsulasi..................................................................................
8
2.1.6.Asosiasi........................................................................................ 9
2.1.7.Pewarisan..................................................................................... 9
2.2. Pemodelan Relational.......................................................................... 10
2.2.1.Tabel, Kolom dan Baris............................................................... 10
2.2.2.Identifikasi Record....................................................................... 10
2.2.3.Relasi............................................................................................ 10 2.3. Object-Relational Mapping.................................................................
11
2.3.1.Object-Relational Impedance Mismacth...................................... 11
2.3.2.Konsep Dasar Object-Relational Mapping.................................. 12
2.3.2.1.Mapping pada struktur pewarisan....................................... 12
2.3.2.1.1.Mapping hirarki ke tabel tunggal............................... 13
2.3.2.1.2.Mapping subkelas ke dalam tabel.............................. 13
2.3.2.1.3.Mapping tiap kelas ke dalam tiap tabel...................... 14
2.3.2.2.Mapping pada Struktur Asosiasi......................................... 15
2.3.2.2.1.Mapping Relasi One-to-One...................................... 16
2.3.2.2.2.Mapping Relasi One-to-Many.................................... 16
2.3.2.2.3.Mapping Relasi Many-to-Many................................. 17
2.3.2.2.4.Mapping Relasi Rekursif............................................ 18
2.4. Ruby on Rails....................................................................................... 19
2.4.1.Arsitektur Ruby on Rails.............................................................. 19
2.4.2.Active Record............................................................................... 20
2.4.2.1.Tabel dan Kelas................................................................... 20
2.4.2.2.Kolom dan Atribut.............................................................. 21
2.4.2.3.Identifier.............................................................................. 22
2.4.2.3.1.Primary Key............................................................... 22 2.4.2.3.2.Foreign Key...............................................................
23
2.4.2.4.Create, Read, Update dan Delete (CRUD) ........................ 24
2.4.2.4.1.Create......................................................................... 24 2.4.2.4.2.Read...........................................................................
25
2.4.2.4.3.Update........................................................................ 26
2.4.2.4.4.Delete......................................................................... 27 2.4.2.5.Relasi antar Tabel...............................................................
28
2.4.2.5.1.Asosiasi One-to-One.................................................. 28 2.4.2.5.2.Asosiasi One-to-Many...............................................
29
2.4.2.5.3.Asosiasi Many-to-Many............................................. 29
2.4.2.6.Transaksi............................................................................. 30
2.4.2.7.Agregasi.............................................................................. 31
2.4.2.8.Pewarisan............................................................................ 32 BAB III ANALISIS DAN PERANCANGAN.................................................
33 3.1. Analisis Sistem....................................................................................
33
3.1.1.Gambaran Umum Sistem............................................................. 33
3.1.2.Analisis Kebutuhan...................................................................... 38 3.1.3.Pemodelan Proses........................................................................
43
3.1.3.1.Sequence Diagram Mahasiswa........................................... 43
3.1.3.2.Sequence Diagram Dosen................................................... 50
3.1.3.3.Sequence Diagram Karyawan............................................. 54
3.1.3.3.1.Sequence Diagram Admin......................................... 54 3.1.3.3.2.Sequence Diagram Karyawan...................................
65 3.2. Desain Sistem......................................................................................
71 3.2.1.Class Diagram.............................................................................
71
3.2.2.Desain Arsitektur Ruby on Rails.................................................. 72 3.2.2.1.Desain Arsitektur Controller..............................................
72
3.2.2.2.Desain Arsitektur Model..................................................... 73 3.2.2.3.Desain Arsitektur MVC pada Mahasiswa...........................
74
3.2.2.4.Desain Arsitektur MVC pada Dosen................................... 75
3.2.2.5.Desain Arsitektur MVC pada Karyawan............................. 76 3.2.2.5.1.Desain Arsitektur MVC pada Karyawan...................
76
3.2.2.5.2.Desain Arsitektur MVC pada Karyawan Admin......... 77 3.2.3.Desain Antarmuka (User Interface Design)................................
78
3.2.3.1.Rancangan Antar Muka Pengguna...................................... 80
3.2.3.1.1.Mahasiswa.................................................................. 80 3.2.3.1.2.Dosen.........................................................................
80
3.2.3.1.3.Karyawan Admin....................................................... 81
3.2.3.1.4.Karyawan................................................................... 81 3.2.3.2.Rancangan Desain Input.....................................................
82
3.2.3.2.1.Mahasiswa.................................................................. 82 3.2.3.2.2.Dosen.........................................................................
86
3.2.3.2.3.Karyawan Admin....................................................... 88
3.2.3.2.4.Karyawan................................................................... 98
3.2.3.3.Rancangan Desain Output................................................... 104
3.2.3.3.1.Mahasiswa.................................................................. 104
3.2.3.3.2.Dosen......................................................................... 106
3.2.3.3.3.Karyawan Admin....................................................... 107
3.2.3.3.4.Karyawan................................................................... 111
3.3. Perancangan Database......................................................................... 113
3.3.1.Perancangan Relasi Antar Tabel.................................................. 113
3.3.2.Perancangan Struktur Tabel......................................................... 114
3.4. Perangkat Perancangan........................................................................ 119
3.4.1.Perangkat Keras ( Hardware )...................................................... 119
3.4.2.Perangkat Lunak ( Software )...................................................... 119
BAB IV IMPLEMENTASI ............................................................................. 120 1.. Karakteristik Sistem ………………………………………………… 120 2.. Langkah-langkah Implementasi Sistem ............................................ 121
4.2.1. Koneksi Database MySQL ....................................................... 122
4.2.2. Pembuatan Tabel pada Database MySQL................................. 122
4.2.3. Pembuatan Model..................................................................... 128
4.2.4. Pembuatan Controller............................................................... 144
4.2.5. Pembuatan View........................................................................ 166
4.2.5.1. View Admin................................................................... 166
4.2.5.2. View Karyawan............................................................. 184
4.2.5.3. View Dosen.................................................................... 195
5.2.3. Pengujian pada Tabel Informasi............................................... 216
6.1. Kesimpulan ......................................................................................... 220
BAB VI PENUTUP.......................................................................................... 220
5.4. Kekurangan Sistem.............................................................................. 219
5.3. Kelebihan Sistem ............................................................................... 218
5.2.5. Pengujian pada Tabel Kategori Skripsi..................................... 218
5.2.4. Pengujian pada Tabel Status Mahasiswa.................................. 217
5.2.2. Pengujian pada Tabel Dosen..................................................... 216
4.2.5.4. View Mahasiswa............................................................ 200
5.2.1. Pengujian pada Tabel Karyawan.............................................. 215
5.2. Hasil Pengujian Sistem........................................................................ 215
1.1.2. Proses Pengujian pada SQL Yog............................................... 213
1.1.1. Proses Pengujian pada Unit Test............................................... 209
5.1. Proses Pengujian Sistem...................................................................... 209
BAB V ANALISIS HASIL ............................................................................. 209
6.2. Saran ................................................................................................... 220 DAFTAR PUSTAKA....................................................................................... 221
DAFTAR GAMBAR
Gambar31
2.14 Relasi asosiasi one-to-one
28
2.15 Relasi asosiasi one-to-many
29
2.16 Relasi asosiasi many-to-many
29
2.17 Relasi agregasi pada tabel
31
2.18 Relasi agregasi pada kelas dalam objek
2.19 Mapping kelas dalam tabel pada pewarisan
2.13 Perbedaan tipe data dalam kelas ruby dan tipe SQL
32
3.01 Use Case Diagram Mahasiswa
39
3.02 Use Case Diagram Dosen
40
3.03 Use Case Diagram Karyawan Admin
41
3.04 Use Case Diagram Karyawan
42
3.05 Sequence Diagram Login Mahasiswa
22
21
Keterangan
Halaman2.06 Relasi one-to-one
2.01 Impedance Mismatch antara objek dan tabel
11
2.02 Mapping antara objek dan tabel
12
2.03 Mapping hirarki kelas ke dalam tabel tunggal
13
2.04 Mapping subkelas ke dalam tabel
14
2.05 Mapping tiap kelas ke dalam tiap tabel
14
16
2.12 Perbedaan nama antara kelas dan tabel
2.07 Relasi one-to-many
17
2.08 Relasi many-to-many
17
2.09 Mapping relasi many-to-many dalam model data
18
2.10 Mapping pada relasi rekursif
18
2.11 Arsitektur Ruby on Rails
19
43
3.06 Sequence Diagram Daftar PraTGA Mahasiswa
54
51
3.21 Sequence Diagram Lihat Detail Informasi Aktor Dosen
52
3.22 Sequence Diagram Download File Informasi Aktor Dosen
52
3.23 Sequence Diagram Ganti Password Dosen
53
3.24 Sequence Diagram Logout Dosen
53
3.25 Sequence Diagram Login Admin
3.26 Sequence Diagram Tambah Karyawan Aktor Admin
51
54
3.27 Sequence Diagram Ubah Karyawan Aktor Admin
55
3.28 Sequence Diagram Hapus Karyawan Aktor Admin
55
3.29 Sequence Diagram Tambah Dosen Aktor Admin
56
3.30 Sequence Diagram Ubah Dosen Aktor Admin
56
3.31 Sequence Diagram Hapus Dosen Aktor Admin
3.20 Sequence Diagram Download File Skripsi Aktor Dosen
3.19 Sequence Diagram Lihat Detail Skripsi Aktor Dosen
44
3.12 Sequence Diagram Download File Skripsi Aktor Mahasiswa
3.07 Sequence Diagram Update PraTGA Mahasiswa
44
3.08 Sequence Diagram Daftar TGA Mahasiswa
45
3.09 Sequence Diagram Update TGA Mahasiswa
46
3.10 Sequence Diagram Pencarian Skripsi Aktor Mahasiswa
46
3.11 Sequence Diagram Detail Skripsi Aktor Mahasiswa
47
47
50
3.13 Sequence Diagram Lihat Detail Informasi Aktor Mahasiswa
48
3.14 Sequence Diagram Download File Informasi Aktor Mahasiswa
48
3.15 Sequence Diagram Ganti Password Mahasiswa
49
3.16 Sequence Diagram Logout Mahasiswa
49
3.17 Sequence Diagram Login Dosen
50
3.18 Sequence Diagram Pencarian Skripsi Aktor Dosen
57
3.32 Sequence Diagram Tambah Mahasiswa Aktor Admin
3.52 Sequence Diagram Tambah Mahasiswa Aktor Karyawan
3.47 Sequence Diagram Logout Admin
65
3.48 Sequence Diagram Login Karyawan
65
3.49 Sequence Diagram Ganti Password Karyawan
66
3.50 Sequence Diagram Tambah Dosen Aktor Karyawan
66
3.51 Sequence Diagram Ubah Dosen Aktor Karyawan
67
67
3.46 Sequence Diagram Hapus Skripsi Aktor Admin
3.53 Sequence Diagram Ubah Mahasiswa Aktor Karyawan
68
3.54 Sequence Diagram Tambah Informasi Aktor Karyawan
68
3.55 Sequence Diagram Ubah Informasi Aktor Karyawan
69
3.56 Sequence Diagram Tambah Skripsi Aktor Karyawan
69
3.57 Sequence Diagram Ubah Skripsi Aktor Karyawan
70
3.58 Sequence Diagram Logout Karyawan
64
64
57
60
3.33 Sequence Diagram Ubah Mahasiswa Aktor Admin
58
3.34 Sequence Diagram Hapus Mahasiswa Aktor Admin
58
3.35 Sequence Diagram Tambah Informasi Aktor Admin
59
3.36 Sequence Diagram Ubah Informasi Aktor Admin
59
3.37 Sequence Diagram Hapus Informasi Aktor Admin
60
3.38 Sequence Diagram Tambah Status Mahasiswa Aktor Admin
3.39 Sequence Diagram Ubah Status Mahasiswa Aktor Admin
3.45 Sequence Diagram Ubah Skripsi Aktor Admin
61
3.40 Sequence Diagram Hapus Status Mahasiswa Aktor Admin
61
3.41 Sequence Diagram Tambah Kategori Skripsi Aktor Admin
62
3.42 Sequence Diagram Ubah Kategori Skripsi Aktor Admin
62
3.43 Sequence Diagram Hapus Kategori Skripsi Aktor Admin
63
3.44 Sequence Diagram Tambah Skripsi Aktor Admin
63
70
3.59 Class Diagram
3.79 Form Pencarian Skripsi Aktor Mahasiswa
3.74 Form Login Mahasiswa
82
3.75 Form Daftar Pra TGA Aktor Mahasiswa
82
3.76 Form Update Pra TGA Aktor Mahasiswa
83
3.77 Form Daftar TGA Aktor Mahasiswa
84
3.78 Form Update TGA Aktor Mahasiswa
84
85
3.73 Halaman Utama Karyawan
3.80 Form Ganti Password Aktor Mahasiswa
86
3.81 Form Login Dosen
86
3.82 Form Pencarian Skripsi Aktor Dosen
87
3.83 Form Ganti Password Aktor Dosen
88
3.84 Form Login Admin
88
3.85 Form Tambah Karyawan Aktor Admin
81
81
71
77
3.60 Desain Arsitektur Controller
72
3.61 Desain Arsitektur Model
73
3.62 Desain Arsitektur MVC pada Mahasiswa
74
3.63 Desain Arsitektur MVC pada Dosen
75
3.64 Desain Arsitektur MVC pada Karyawan
76
3.65 Desain Arsitektur MVC pada Karyawan Admin
3.66 Struktur Menu Sistem Aktor Mahasiswa
3.72 Halaman Utama Karyawan Admin
78
3.67 Struktur Menu Sistem Aktor Dosen
78
3.68 Struktur Menu Sistem Aktor Karyawan Admin
79
3.69 Struktur Menu Sistem Aktor Karyawan
79
3.70 Halaman Utama Mahasiswa
80
3.71 Halaman Utama Dosen
80
89
3.86 Form Ubah Karyawan Aktor Admin
89
3.87 Form Tambah Dosen Aktor Admin
90
3.88 Form Ubah Dosen Aktor Admin
91
3.89 Form Tambah Mahasiswa Aktor Admin
91
3.90 Form Ubah Mahasiswa
92
3.91 Form Tambah Status Mahasiswa Aktor Admin
93
3.92 Form Ubah Status Mahasiswa Aktor Admin
93
3.93 Form Tambah Kategori Skripsi Aktor Admin
94
3.94 Form Ubah Kategori Skripsi Aktor Admin
95
3.95 Form Tambah Skripsi Aktor Admin
95
3.96 Form Ubah Skripsi Aktor Admin
96
3.97 Form Tambah Informasi Aktor Admin
97
3.98 Form Ubah Informasi Aktor Admin
97
3.99 Form Login Karyawan
98 3.100 Form Tambah Dosen Aktor Karyawan
98 3.101 Form Ubah Dosen Aktor Karyawan
99 3.102 Form Tambah Informasi Aktor Karyawan 100 3.103 Form Ubah Informasi Aktor Karyawan 100 3.104 Form Tambah Mahasiswa Aktor Karyawan 101 3.105 Form Ubah Mahasiswa Aktor Karyawan 102 3.106 Form Tambah Skripsi Aktor Karyawan 102 3.107 Form Ubah Skripsi Aktor Karyawan 103 3.108 Form Ganti Password Karyawan 104 3.109 Form Lihat Detail Informasi Aktor Mahasiswa 104 3.110 Form Hasil Pencarian Aktor Mahasiswa 105 3.111 Form Lihat Detail Skripsi Aktor Mahasiswa 105 3.112 Form Lihat Detail Informasi Aktor Dosen 106
3.113 Form Pencarian Skripsi Aktor Dosen 106 3.114 Form Lihat Detail Skripsi Aktor Dosen 107 3.115 Form Arsip Karyawan Aktor Admin 107 3.116 Form Arsip Dosen Aktor Admin 108 3.117 Form Arsip Mahasiswa Aktor Admin 108 3.118 Form Arsip Status Mahasiswa Aktor Admin 109 3.119 Form Arsip Kategori Skripsi Aktor Admin 109 3.120 Form Arsip Skripsi Aktor Admin 110 3.121 Form Arsip Informasi Aktor Admin 110 3.122 Form Arsip Dosen Aktor Karyawan 111 3.123 Form Arsip Informasi Aktor Karyawan 111 3.124 Form Arsip Mahasiswa Aktor Karyawan 112 3.125 Form Arsip Skripsi Aktor Karyawan 112 3.126 Relational Model
113
4.01 Form Halaman Login Admin 166
4.02 Halaman Index Admin 167
4.03 Halaman Arsip Dosen Aktor Admin 168
4.04 Halaman Tambah Dosen Aktor Admin 168
4.05 Halaman Ubah Dosen Aktor Admin 169
4.06 Halaman Arsip Informasi Aktor Admin 170
4.07 Halaman Tambah Informasi Aktor Admin 171
4.08 Halaman Ubah Informasi Aktor Admin 172
4.09 Halaman Arsip Karyawan Aktor Admin 173
4.10 Halaman Tambah Karyawan Aktor Admin 173
4.11 Halaman Ubah Karyawan Aktor Admin 174
4.12 Halaman Arsip Mahasiswa Aktor Admin 175
4.13 Halaman Tambah Mahasiswa Aktor Admin 175
4.14 Halaman Ubah Mahasiswa Aktor Admin 176
4.28 Halaman Update Dosen Aktor Karyawan 186
4.39 Halaman Login Dosen 196
4.38 Halaman Ganti Password Karyawan 195
4.37 Halaman Ubah Skripsi Aktor Karyawan 194
4.36 Halaman Tambah Skripsi Aktor Karyawan 193
4.35 Halaman Arsip Skripsi Aktor Karyawan 192
4.34 Halaman Ubah Mahasiswa Aktor Karyawan 191
4.33 Halaman Tambah Mahasiswa Aktor Karyawan 190
4.32 Halaman Arsip Mahasiswa Aktor Karyawan 190
4.31 Halaman Ubah Informasi Aktor Karyawan 189
4.30 Halaman Tambah Informasi Aktor Karyawan 188
4.29 Halaman Arsip Informasi Aktor Karyawan 187
4.27 Halaman Tambah Dosen Aktor Karyawan 186
4.15 Halaman Arsip Status Mahasiswa Aktor Admin 177
4.26 Halaman List Dosen Aktor Karyawan 185
4.25 Halaman Karyawan 184
4.24 Form Halaman Login 184
4.23 Halaman Ubah Skripsi Aktor Admin 183
4.22 Halaman Tambah Skripsi 182
4.21 Halaman Arsip Skripsi Aktor Admin 181
4.20 Halaman Ubah Kategori Skripsi Aktor Admin 180
4.19 Halaman Tambah Kategori Skripsi Aktor Admin 180
4.18 Halaman Arsip Kategori Skripsi Aktor Admin 179
4.17 Halaman Ubah Status Mahasiswa Aktor Admin 178
4.16 Halaman Tambah Status Mahasiswa Aktor Admin 178
4.40 Halaman Index Dosen 196
4.41 Halaman Lihat Detail Informasi Aktor Dosen 197
4.51 Halaman Data Pra TGA Mahasiswa 203
4.57 Halaman Download File Skripsi Aktor Mahasiswa 207
4.56 Halaman Lihat Detail Skripsi Aktor Mahasiswa 207
4.55 Halaman Pencarian Skripsi Aktor Mahasiswa 206
4.54 Halaman Update Pra TGA Mahasiswa 205
4.53 Halaman Daftar TGA Mahasiswa 204
4.52 Halaman Update Pra TGA Mahasiswa 204
4.50 Halaman Daftar Pra TGA Mahasiswa 202
4.42 Halaman Download File Informasi Aktor Dosen 197
4.49 Halaman Download File Informasi Aktor Mahasiswa 201
4.48 Halaman Lihat Detail Informasi Aktor Mahasiswa 201
4.47 Halaman Index Mahasiswa 200
4.46 Halaman Login Mahasiswa 200
4.45 Halaman Download File Skripsi Aktor Dosen 199
4.44 Halaman Lihat Detail Skripsi Aktor Dosen 199
4.43 Halaman Pencarian Skripsi Aktor Dosen 198
4.58 Halaman Ganti Password Mahasiswa 208
DAFTAR TABEL
Tabel Keterangan Halaman
3.11 Tabel Schema Info 113
5.5 Perbandingan waktu Eksekusi Query pada Tabel Kategori Skripsi
217
5.4 Perbandingan waktu Eksekusi Query pada Tabel Status Mahasiswa
5.3 Perbandingan Waktu Eksekusi Query pada Tabel Informasi 216
5.2 Perbandingan Waktu Eksekusi Query pada Tabel Dosen 216
5.1 Perbandingan Waktu Eksekusi Query pada Tabel Karyawan 215
3.10 Tabel Web 112
3.01 Tabel Karyawan 108
3.08 Tabel Session 112
3.07 Tabel Informasi 111
3.06 Tabel Skripsi 110
3.05 Tabel Kategori Skripsi 110
3.04 Tabel Dosen 109
3.03 Tabel Mahasiswa 109
3.02 Tabel Status Mahasiswa 108
218
BAB I PENDAHULUAN
1.1. Latar Belakang Perkembangan teknologi yang meningkat saat ini menyebabkan kebutuhan akan informasi pun meningkat. Salah satu teknologi yang digunakan sebagai sumber informasi adalah internet. Adanya internet memudahkan user dalam mengakses berbagai situs web. Situs-situs web ini menyediakan berbagai fasilitas guna memenuhi kebutuhan informasi user dengan kemudahan-kemudahan seperti pencarian informasi, pengiriman dan pembacaan e-mail serta upload dan download
file. Begitu pula dalam lembaga pendidikan, khususnya lembaga perguruan tinggi,
kebutuhan mengakses informasi terutama dalam hal informasi skripsi sangat dibutuhkan oleh mahasiswa dan dosen sebagai bahan belajar bagi mahasiswa dan dosen itu sendiri.
Dalam perkembangan teknologi yang ada dalam beberapa tahun terakhir ini, pembuatan situs web ini dipermudah dengan menggunakan Object-Oriented
Programming dan relational database. Object oriented merupakan model yang
mendukung aplikasi objek ke dalam kelas yang memiliki data dan fungsi, sedangkan model relasional mendukung penyimpanan data pada baris dan kolom dalam tabel.
Namun secara teknik, perbedaan keduanya menyebabkan ketidaksesuaian antara objek dalam kelas pada Object-Oriented Programming dengan data dalam
2 tabel pada relational database. Sehingga untuk mengatasi ketidaksesuaian tersebut, diperlukan mapping antara Objek-Oriented Programming dengan relational
database untuk menghubungkan antara model objek dan model relasional agar
dapat terintegrasi dan berjalan bersama dalam sebuah sistem perangkat lunak.Mapping inilah yang disebut Object Relational Mapping. Object Relational
Mapping merupakan salah satu pendekatan dengan menambahkan kemampuan
basis data ke dalam bahasa pemrograman berorientasi objek untuk mengatasi ketidaksesuaian antara basisdata relasional dengan pemrograman berorientasi objek.
Dalam penelitian ini, teknologi Object Relational Mapping tools yang digunakan adalah Ruby on Rails. Ruby on Rails merupakan pemrograman berorientasi objek dengan bahasa pemrograman Ruby dengan framework Rails. Aplikasi Object Relational Mapping menggunakan Ruby on Rails ini diimplementasi dalam sistem informasi skripsi dengan studi kasus pada Laboratorium Basis Data dan Perangkat Lunak, Program Studi Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Sanata Dharma.
1.2. Rumusan Masalah
Permasalahan dalam penelitian ini dirumuskan sebagai berikut : Bagaimana mengimplementasikan Object Relational Mapping pada sistem informasi skripsi berbasis web menggunakan bahasa pemrograman Ruby on Rails dan database MySQL untuk mengatasi ketidaksesuaian antara pemrograman objek dengan database relational.
3
1.3. Batasan Masalah
Batasan masalah yang akan dibahas dalam penelitian ini antara lain :
1. Aplikasi sistem informasi skripsi yang dibuat menangani masalah data-data skripsi yang terdiri dari penelusuran data skripsi, melihat hasil penelusuran skripsi, menampilkan isi skripsi dalam bentuk file Portable Document Format (PDF), dan men-download serta meng-upload skripsi dalam bentuk file Portable Document Format (PDF).
2. Penelusuran data skripsi menggunakan Query SQL yang terbagi berdasarkan 3 kategori pencarian, antara lain :
1. Judul Skripsi
2. Nomor Induk Mahasiswa
3. Kategori Skripsi
4. Teknologi Pemrograman
5. Teknologi Database
3. Data-data skripsi yang digunakan dalam sistem informasi ini dibatasi pada lingkungan Program Studi Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Sanata Dharma.
1.4. Tujuan Penelitian
Tujuan penelitian ini menghasilkan sistem informasi skripsi sebagai aplikasi Object Relational Mapping dalam bahasa pemrograman Ruby on Rails dan
database MySQL.
4
1.5. Manfaat Penelitian
Manfaat penelitian ini adalah :
1. Memperkenalkan konsep Object Relational Mapping dalam bahasa pemrograman Ruby on Rails.
2. Menghasilkan aplikasi sistem informasi skripsi yang dapat mempermudah penelusuran dan pembelajaran skripsi.
1.6. Metodologi Penelitian
1. Studi Pustaka Studi pustaka tentang object relational mapping dan materi lain yang berhubungan dengan pembuatan sistem. Bahan referensi diperoleh dari buku- buku dan hasil penelusuran melalui internet.
2. Wawancara Wawancara merupakan proses penemuan masalah. Wawancara dilakukan kepada pihak laboran untuk mengidentifikasi masalah. Kemudian menentukan apa yang dibutuhkan sistem berdasarkan wawancara tersebut.
3. Analisis Sistem Metode Analisis yang digunakan adalah metode analisis berorientasi objek (Object-Oriented Analysis) dengan menggunakan UML (Unified Modelling
Language). Pada tahap ini dilakukan pengumpulan kebutuhan-kebutuhan
pemakai dan penentuan bagian-bagian informasi mana yang diperlukan oleh aktor. Permodelan kebutuhan ini direpresentasikan dengan use case diagram.