RAILS STUDY KASUS CV FERNUS LIGHT
SURABAYA
SKRIPSI
Diajukan Oleh :
ARIF AFDILAH
NPM : 0634010166
J URUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
J AWA TIMUR
FAKULTAS TEKNOLOGI INDUSTRI
________________________________________________________________________________________________________________________
HALAMAN PENGESAHAN
Mahasiswa dengan nama dan NPM yang terter a di bawah ini:
Nama : Arif Afdilah NPM : 0634010166 Pr ogdi : Sistem Infor masi
Dengan ini telah melaksanakan Ujian Negara Lisan pada tahun akademik 2009/2010.
J udul Tugas Akhir:
SISTEM INFORMASI MONITORING DAN ABSENSI PEGAWAI DENGAN MENGGUNAKAN RUBY ON RAILS STUDY KASUS CV FERNUS LIGHT
FAKULTAS TEKNOLOGI INDUSTRI
________________________________________________________________________________________________________________________
TUGAS AKHIR
SISTEM INFORMASI MONITORING DAN ABSENSI PEGAWAI DENGAN MENGGUNAKAN RUBY ON RAILS STUDY KASUS CV FERNUS LIGHT
SURABAYA
Disusun oleh:
Arif Afdilah NPM: 0634010166
Telah dipertahankan dan diterima di hadapan Tim Penguji Tugas Akhir Pr ogram Studi Teknik Infor matika Fakultas Teknologi Industri
Univer sitas Pembangunan Nasional ”Veteran” J awa Timur Pada tanggal 14 Desember 2012
ii
Puji syukur penulis panjatkan atas kehadirat ALLAH SWT yang telah
melimpahkan rahmat dan hidayahnya kepada penulis sehingga penulis dapat
menyelesaikan Laporan tugas akhir ini dengan baik dan benar.
Penyusunan Laporan tugas akhir ini merupakan prasyarat dalam
mengambil Tugas Akhir. Adapun judul Laporan tugas akhir ini adalah ” SISTEM
INFORMASI MONITORING DAN ABSENSI PEGAWAI DENGAN
MENGGUNAKAN RUBY ON RAILS STUDY KASUS CV FERNUS LIGHT
SURABAYA”.
Tak lupa pada kesempatan ini penulis menyampaikan ucapan terima
kasih yang sebesar – besarnya kepada semua pihak yang telah membantu dalam
penyelesaian Laporan Tugas Akhir ini. Ucapan terima kasih penulis sampaikan
kepada yang terhormat:
1. Kedua Orang Tua tercinta beserta adik kandung sekeluarga atas semua
dukungan yang tak terhitung dengan apapun baik selama masa perkuliahan
maupun sebelum-sebelumnya.
2. Bapak Ir. Sutiyono, MT selaku Dekan Fakultas Teknologi Industri UPN
“Veteran” Jawa Timur.
3. Ibu Dr. Ir. Ketut Sari, MT selaku Ketua Jurusan Teknik Informatika UPN
iii
Pembimbing I atas kesempatanya selama pengerjaan Program Skripsi.
5. Bapak Achmad Junaidi, S.Kom selaku Dosen Pembimbing II Laporan Dan
ProgramSkripsiyang telah meluangkan begitu banyak waktu, tenaga dan
pikiran serta dengan sabar membimbing penulis dari awal hingga
terselesainya Laporan Skripsi / Tugas Akhir (TA) ini.
6. Dosen – Dosen Jurusan Teknik Informatika UPN “Veteran” Jawa Timur,
yang telah membuat kami membuka pikiran dan merubah pola pikir kami.
Dan tak lupa bapak/ibu penguji atas waktu dan kritik serta saran yang
telah diberikan atas project tugas akhir ini.
7. Semua fihak tanpa terkecuali yang secara sengaja ataupun tidak sengaja
yang telah memberikan semangat dan telah menjadi inspirasi dari penulis
untuk menyelesaikan tugas akhir ini. Dan khususnya kawan-kawan satu
jurusan Teknik Informatika UPN ”Veteran” Jatim baik seangkatan
penulis (2006) ataupun kakak kelas penulis, keluarga besar Rumah
Kontrakan yang menjadi seperti saudara sendiri, kawan-kawan mantan SMP Muhammadiyah, kawan-kawan mantan KKN dan juga kawan-kawan
seperjuangan untuk ujian tugas akhir periode Juni 2012 TF-FTI UPN
”Veteran” Jatim ataupun semua yang belum tertulis tersebut.
Penulis sebagai manusia biasa pasti mempunyai keterbatasan dan banyak
iv
Surabaya, November 2012
v
2.3.2 Aktor ... 22
2.3.3 Identifikasi Use Case... 24
2.3.4 Pendokumentasian Model Use Case ... 25
2.4 OOP (Objeck Oriented Programing) ... 27
2.5 CSS ... 29
2.6 World Wide Web (WWW) ... . 31
2.7 MySQL ... . 33
BAB III ANALISIS DAN PERANCANGAN SISTEM ... 34
3.1 Analisis Sistem ... 34
3.2 Analisis Kebutuhan ... 34
3.2.1 Identifikasi User ... 34
3.2.2 Variabel Kebutuhan Input dan Output Sistem ... 35
3.3 Perancangan Sistem ... 35
3.3.1 Use Case Diagram ... 36
3.3.2 Activity Diagram Website ... 37
3.3.3 Perancangan UML ... 51
3.3.4 Desain Database ... 53
3.3.4.1 Database Migration ... 53
3.3.4.2 Relasi Tabel Database ... 55
3.5. Perancangan Antarmuka (Interface) ... 56
vi
4.3 Implementasi Model View Controller (MVC) ... 61
4.3.1 Implementasi Model ... 62
4.3.2 Implementasi View ... 63
4.3.3 Implementasi Controller ... 64
4.4 Implementasi Desain Aintar Muka ... 65
4.4.1 Form Tampilan Halaman Utama ... 65
4.4.2 Form Tampilan Tambah Admin ... 66
4.4.3 Form Tampilan Tambah Absensi ... 68
4.4.4 Form Tampilan Tambah Data Pegawai ... 69
4.4.5 Form Tampilan Tambah Data Jadwal ... 69
4.4.6 Form Tampilan Lihat Data Pegawai ... 70
4.4.7 Form Tampilan Lihat Data Absensi ... 71
vii
6.1 Kesimpulan ... 85
5.2 Saran ... 86
viii
Gambar 2.2 Komponen Umum Rails... 15
Gambar 2.3 Instalasi Ruby Pada Windows ... 17
Gambar 2.4 Cek Instalasi Melalui Command Prompt ... 17
Gambar 2.5 Contoh Penggunaan Aktor dan Use Case ... 21
Gambar 2.6 Aktor dan Use Case Dalam Sistem Bank ... 23
Gambar 2.7 Penulisan CSS Dengan Inline Style Sheet ... 28
Gambar 2.8 Penulisan CSS Dengan Embedded Style Sheet ... 28
Gambar 2.9 Penulisan CSS Dengan Lingked Style Sheet ... 29
Gambar 2.10 Konsep Dasar Browser dan Server ... 30
Gambar 3.1 Use Case Diagram Akses Admin ... 34
Gambar 3.2 Activity Diagram Website Admin ”Login Admin” ... 35
Gambar 3.3 Activity Diagram Website Admin ”Add Admin” ... 36
Gambar 3.4 Activity Diagram Website Admin ”Tambah Pegawai” ... 37
Gambar 3.5 Activity Diagram Website Admin ”Tambah Asensi” ... 38
Gambar 3.6 Activity Diagram Website Admin ”Tambah Jadwal” ... 39
Gambar 3.7 Activity Diagram Website Admin ”Edit Admin” ... 40
Gambar 3.8 Activity Diagram Website Admin ”Edit Pegawai” ... 41
Gambar 3.9 Activity Diagram Website Admin ”Edit Absensi” ... 42
Gambar 3.10 Activity Diagram Website Admin ”Edit Jadwal”... 43
Gambar 3.11 Activity Diagram Website Admin ”Hapus Admin” ... 44
Gambar 3.12 Activity Diagram Website Admin ”Hapus Pegawai” ... 45
ix
Gambar 3.17 Diagram Kelas ... 50
Gambar 3.18 Login Admin ... 54
Gambar 3.19 Halaman Website Monitoring Fernus Light... 55
Gambar 4.1 Tampilan Halaman Utama ... 64
Gambar 4.2 Tampilan Halaman Tambah Admin ... 65
Gambar 4.3 Tampilan Halaman Absensi Pegawai ... 65
Gambar 4.4 Tampilan Halaman Tambah Data Pegawai ... 66
Gambar 4.5 Tampilan Halaman Tambah Data Jadwal ... 66
Gambar 4.6 Tampilan Halaman Lihat Data Pegawai ... 67
Gambar 4.7 Tampilan Halaman Lihat Absensi Pegawai ... 68
Gambar 4.8 Tampilan Halaman Lihat Data Jadwal ... 69
Gambar 5.1 Halaman Utama ... 73
Gambar 5.2 Halaman Form Tambah Data Pegawai ... 74
Gambar 5.3 Data Pegawai Telah Disimpan ... 75
Gambar 5.4 Form Data Pegawai... 76
Gambar 5.5 Form Hapus Data Pegawai ... 77
Gambar 5.6 Form Tambah Absensi Pegawai ... 78
Gambar 5.7 Form Tambah Data Jadwal ... 79
Gambar 5.8 Form Hapus Data Jadwal ... 80
Gambar 5.9 Form Laporan Absensi ... 81
Pembimbing II : Achmad Junaidi, S.Kom Penyusun : Arif Afdilah
i
ABSTRAK
Seiring dengan perkembangan jaman, dimana komputer sudah bukan lagi menjadi berharga, maka keutuhan untuk memaksimalkan penggunaan komputer semakin meningkat. Hampir semua organisasi maupun perusahaan mulai dari skala kecil sampai dengan skala besar mulai menggunakan komputer untuk menunjang kegiatan operasionalnya. Namun, seringkali banyak perusahaan yang mengabaikan atau kurang memaksimalkan pemakaian komputer didalam operasionalnya, seperti misalnya penggunaan komputer pada divisi personalia.
Sistem informasi monitoring dan absensi dapat membantu perusahaan dalam memaksimalkan pemakaian komputer. Dengan berbasiskan web, maka sistem informasi monitoring dan absensi menjadi salah satu kekuatan perusahaan dalam melakukan pengaturan terhadap sumber daya manusia yang ada. Adapun pelaksanaannya bisa sekedar pencatatan data karyawan mulai dari data yang bersifat umum sampai dengan data secara khusus seperti misalnya absen seorang karyawan mulai dari masuk sampai dengan saat ini.
Menggunakan sistem informasi monitoring dan absensi pegawai ini dapat membantu perusahaan khususnya admin dalam hal pencatatan data absen karyawan dan jadwal tugas serta memberikan informasi kepada karyawan yang membutuhkan terutama yang berkaitan dengan sumber daya manusia.
Kata kunci : sistem informasi monitoring, MVC, RubyOnRails (ROR).
1 1.1. Latar Belakang
Suatu perusahaan memerlukan sumber daya manusia atau pekerja sebagai
pelaksana kegiatan operasionalnya. Seringkali semakin besar perusahaan tersebut,
maka semakin membutuhkan suatu cara untuk mengatur sumber daya manusia
yang ada, sehingga apabila tidak dilakukan dengan benar akan menyebabkan
adanya ketidakteraturan terhadap informasi yang dihasilkan berkaitan dengan
sumber daya manusia. CV. Fernus Light sebagai perusahaan memerlukan sistem
informasi yang mampu memberikan informasi yang akurat dan cepat bagi
perusahaan, dan untuk membangun sistem informasi tersebut hendaknya
menyediakan informasi yang dibutuhkan oleh pegawai. Pada CV. Fernus Light
pencatatan/pengarsipan untuk masing - masing data pegawai masih dilakukan
secara manual, dalam arti kata masih menggunakan metode pengarsipan dalam
bentuk buku/kertas sehingga nantinya akan menyebabkan kesulitan manakala
seorang pegawai ingin mengetahui latar belakang pekerjaanya.
Hal ini disadari betul oleh banyak pihak termasuk CV. Fernus Light, yang
sampai saat ini pengelolaan data Pegawainya masih belum terkomputerisasi. Guna
dapat terus bersaing dan berkembang maka perlu dikembangkan pengelolaan
informasi pegawai ke arah yang lebih baik, yaitu dengan membangun Sistem
Informasi Monitoring dan Absensi pegawai. Tujuannya agar dapat memacu
yang berorientasi pada pencapaian hasil dan manfaat optimal. Hal tersebut yang
menjadi latar belakang untuk merancang dan membuat sistem informasi
monitoring dan absensi di CV. Fernus Light menggunakan RubyOnRails.
RubyOnRails (RoR) adalah sebuah framework. Framework merupakan
kumpulan software, pustaka (library), dan perkakas lain (tools) yang dirangkai
menjadi satu kesatuan dan digunakan untuk membangun aplikasi secara cepat dan
mudah dikembangkan. Biasanya dalam framework disediakan modul atau kelas
yang berfungsi untuk mengakses basis data, templating tampilan antarmuka
pengguna, dan manajemen pengguna. Mengapa RoR menjadi begitu fenomenal
dalam dunia pengembangan aplikasi web? Padahal RoR bukan merupakan
framework pertama. Sudah banyak framework aplikasi web yang ada sebelum
RoR seperti Zend (PHP), Zope (Python), Struts (Java), Symfony (PHP), dan
sebagainya. Meskipun kebanyakan framework tersebut, sama seperti RoR, bersifat
gratis dan open source, namun konsep RoR memiliki keunggulan dibanding yang
lain, terutama dalam masalah produktivitas pengembang dan kecepatan
implementasi aplikasi. dari RoR adalah filosofinya Don’t Repeat Yourself (DRY)
yang dalam bahasa Indonesia berarti “jangan biarkan dirumu mengulangi”. Hal ini
berarti definisi-definisi hanya cukup kita buat sekali untuk kemudian digunakan
secara berulang-ulang. Sebagai contoh dalam Ruby sudah terdapat Active Record
yang menyediakan definisi fungsi-fungsi basis data dalam bentuk kelas-kelas.
Mendefinisikan sendiri kelas hanya untuk melakukan akses ke basis data hanya
akan memboroskan waktu pemrogram dan bersifat rancu (redundan). Satu hal lagi
Model-View-Controller (MVC). Dalam aplikasi komputer yang kompleks di mana terdapat
penyajian banyak data pada pengguna, sering kali ada keinginan untuk
memisahkan data (model) dan antarmuka (view). Oleh karena itu, diharapkan saat
kita mengubah antarmuka tidak akan mempengaruhi penanganan datanya.
Demikian juga data dapat diatur kembali sewaktu-waktu tanpa mengubah
antarmukanya. Bentuk rancangan MVC memecahkan permasalahan tersebut
dengan memisahkan “akses data dan logika bisnis” dari ”tampilan dan interaksi
pengguna” serta mengenalkan komponen perantara yaitu controller untuk
menghubungkan model dan view.
1.2. Rumusan Masalah
Sesuai dengan latar belakang di atas, maka rumusan masalah yang akan
dikaji dalam penelitian ini adalah:
a. Bagaimana merancang dan membuat Sistem Informasi Monitoring dan
Absensi pada CV. Fernus Light menggunakan RubyOnRails, MySQL dan
dilakukan dengan Komputerisasi.
b. Bagaimana membuat suatu sistem yang mempunyai kecepatan dalam
proses pelaporan informasi pegawai guna menentukan keputusan
selanjutnya.
c. Bagaimana membuat suatu sistem yang dapat memberikan informasi lebih
1.3. Batasan Masalah
Agar dalam perancangan ini dapat mencapai sasaran dan tujuan yang
diharapakan, maka permasalahan yang ada dibatasi sebagai berikut :
a. Hanya sebatas pengolahan Monitoring Penjadwalan dan Absensi pada CV.
Fernus Light Surabaya.
b. Data yang akan diolah hanya meliputi Biodata, Jabatan, dan Bagian
Pegawai dan yang hal bersangkutan dengan Administrasi.
c. User hanya 1 level yaitu Admin, dan nantinya yang mengolah data
tersebut adalah bagian admin.
d. Tidak membahas Penggajian Pegawai, Pemesanan/Penyewaan Barang,
dan Pembayaran uang sewa barang.
e. Bahasa pemrograman yang digunakan dalam sistem ini adalah
RubyOnRails.
f. Aplikasi yang dibangun menggunakan aplikasi Web Server Webrick, dan
Database MySQL.
g. Sebagai system operasinya menggunakan Windows XP/7.
Pemakaian pembatasan masalah tersebut, diharapkan agar jangan sampai
menyimpang dari topik yang terdapat dalam tugas akhir ini. Sedangkan hal lain
yang ada hubungannya dengan masalah ini adalah sebagai pendukung saja,
1.4. Tujuan
Perancangan dan penelitian ini bertujuan untuk :
Merancang dan membuat Sistem Informasi Monitoring dan Absensi Pegawai
Menggunakan RubyOnRails.
1.5. Manfaat
Perancangan dan penelitian ini bermanfaat untuk :
a. Kemudahan dalam mencari informasi dan mengetahui setiap laporan
tentang data pegawai di CV. Fernus Light Surabaya.
b. Mempermudah dan mempercepat proses pengelolaan data absensi
dan penjadwalan dibandingkan dengan sistem pengarsipan data
pegawai dengan media kertas.
c. Mencarikan solusi terbaik untuk membantu atasan untuk
mendapatkan informasi yang dibutuhkan didalam mengontrol
pekerjaan.
d. Pertukaran informasi tentang pelayanan administrasi pegawai dapat
berlangsung secara cepat karena berbasis web.
e. Memaksimalkan kinerja komputer di dalam kegiatan operasional
pada admin.
1.6. Metodologi
Adapun untuk menyelesaikan tugas akhir ini melalui beberapa tahapan yang
a. Studi Literatur
Studi literatur dilakukan dengan cara mengumpulkan segala macam
informasi dan mempelajari buku-buku yang berhubungan dengan masalah
yang dihadapi.
b. Pengumpulan dan Analisa Data
Pengumpulan data dilakukan dengan cara: observasi identifikasi, dan
klasifikasi melalui studi literatur. Dari pengumpulan data tersebut kemudian
dilakukan analisa data.
c. Perancangan Sistem
Perancangan sistem yaitu melakukan analisa awal terhadap sistem yang akan
dibuat, dan memberikan pemecahan masalah yang dilakukan secara sistem
komputerisasi.
d. Pembuatan program
Melakukan implementasi terhadap sistem berdasarkan hasil dari perancangan
sistem yang disesuaikan dengan kebutuhan.
e. Uji coba sistem
Uji coba sistem ini dilakukan dengan cara memverifikasi hasil dari setiap
tahap pembuatan program secara formal. Selain itu uji coba program dapat
dilakukan pada akhir dari tahap-tahap analisa sistem, desain sistem dan tahap
penerapan sistem atau implementasi sistem.
Pada tahap ini program telah berjalan dengan baik sesuai dengan apa yang
diharapkan.
1.7. Sistematika Pembahasan
Pembahasan dalam tugas akhir ini akan dibagi menjadi beberapa bab sebagai
berikut :
BAB I PENDAHULUAN
Bab ini akan menjelaskan tentang Latar Belakang, Rumusan Masalah,
Tujuan, Metodologi, dan Sistematika Penulisan.
BAB II TINJ AUAN PUSTAKA
Bab ini akan menjelaskan suatu Landasan Teori yang dipakai sebagai
penunjang pembuatan laporan ini.
BAB III PERANCANGAN DAN ANALISIS
Bab ini menjelaskan tentang perancangan konsep dari Sistem Informasi
Monitoring dan Absensi di CV. Fernus Light serta penjelasan tentang
waktu penelitian, metode pelaksanaan tugas akhir atau skripsi.
BAB IV IMPLEMENTASI
Bab ini menjelaskan tentang implementasi atau membuat program yang
telah di rancang pada bab III.
BAB V UJ I COBA
Bab ini akan menjelaskan tentang uji coba dan hasil dari program yang
telah di buat, dan mengetahui apakah program yang telah di kerjakan
BAB VI PENUTUP
Bab ini akan menjelaskan tentang kesimpulan dari keseluruhan isi dari
laporan skripsi serta saran yang disampaikan penulis untuk
pengembangan sistem yang ada demi kesempurnaan sistem yang lebih
baik.
DAFTAR PUSTAKA
Pada bagian ini akan dipaparkan tentang sumber-sumber literatur yang
9 BAB II
TINJ AUAN PUSTAKA
2.1 Bahasa Pemr ograman Ruby
Ruby merupakan bahasa yang seimbang. Pencipta Ruby, Yukihiro “Matz”
Matsumoto, menggabungkan bagian-bagian dari bahasa-bahasa favorit beliau
(Perl, Smalltalk, Eiffel, Ada dan Lisp) untuk membentuk bahasa baru yang
seimbang antara pemrograman fungsional dengan pemrograman imperatif. Matz
sering menyebutkan bahwa beliau sedang “mencoba membuat Ruby natural,
bukan sederhana,” dengan cara membuatnya mirip dengan kehidupan nyata.Sejak
Ruby pertama kali dirilis ke publik pada tahun 1995, banyak programmer profesional dari seluruh dunia serius ikut mengembangkan Ruby. Pada tahun
2006, Ruby diterima oleh banyak orang. Dengan komunitas pengguna Ruby yang
aktif di banyak kota-kota di seluruh dunia dan konferensi-konferensi beserta
pertemuan Ruby terkait, terdapat beberapa fungsi yang yang dapet dijalankan pada
bahasa pemrograman ini.
2.1.1. Variabel
Layaknya bahasa pemrograman yang lain di dalam Ruby juga terdapat
beberapa variabel perbedaannya bahasa pemrograman lain seperti C dan Java, di
dalam Ruby kita dapat langsung mendefinisikan sebuah variable tanpa
menentukan tipenya. Anda dapat mencobanya langsung melalui irb2.
Selain pada contoh diatas, bisa juga membuat tipe data string secara langsung
seperti contoh script dibawah ini.
$irb> a = “hehe”
Pada Ruby kita mengenal istilah symbol. Symbol ini akan sering sekali ditemukan
di dalam RubyOnRails dan sering digunakan sebagai semacam konstanta
pengganti string.
Symbol ini bisa dibilang lebih hemat memori dibandingkan dengan String.
Pada Ruby akan sering menemukan symbol dalam sebuah pemanggilan method,
selain itu juga akan sering menggunakan symbol sebagai sebuah key dalam hash.
Kedua hal ini sering membuat bingung orang-orang yang pertama kali
mempelajari Ruby.
2.1.2. Ar ray dan Hash
Pada Ruby bisa dikatakan bahwa array sangat terkait dengan simbol []
sedangkan hash dengan {}. Hal itu disebabkan karena memang itulah salah satu
$irb> a = []
Pada contoh diatas terlihat bahwa bisa juga melakukan inisialisasi array
dengan memanggil method new( ). Selanjutnya dapat ditambahkan elemen pada
array dengan menggunakan operator <<.
Berbeda dengan array, pada hash memiliki pasangan key dan value. Pada
Ruby hash ini seringkali dipakai sebagai parameter dalam pemanggilan sebuah method.
Pada contoh sebelumnya terlihat bahwa kita digunakan symbol sebagai
key. Namun, bisa juga dengan melakukan hal yang sebaliknya sebagimana yang
$irb> a[“keren”] = :jaya $=> :jaya
$irb> a
$=> {:keren=>"abis", "keren"=>:jaya, :manthab=>"jaya"}
Sama seperti array method length( ) dapat juga dipakai untuk melihat jumlah data
yang ada di dalam hash.
$irb> a.length $=> 3
2.1.3. Contr ol Str uctur e
Sampai sini sebenarnya masih bisa menggunakan irb. Contoh penerapanya
adalah dengan membuat sebuah file Ruby bernama coba1.rb.
a = ARGV[0].to_i if a > 7
puts "#{a} lebih besar dari 7" elsif a < 7
puts "#{a} lebih kecil dari 7" else
puts "#{a} sama dengan 7" end
Bisa dilihat bahwa Ruby mengenali elsif bukan else if. Pada kode diatas dapat
dilakukan substitusi nilai a di dalam tanda kutip dengan cara “#{a}”. $ruby coba1.rb 8
$8 lebih besar dari 7
Setiap programer akan sering menggunakan looping di dalam aplikasinya.
Salah satu caranya adalah dengan menggunakan for. Dapat diterapkan dengan
cara membuat file baru coba2.rb yang di dalamnya berisi dengan code seperti
berikut:
for i in 1..10 do puts "#{i}"
Ketika dijalankan, program ini akan mencetak angka 1 sampai dengan 10
ke layar. Selain for ada juga yang menggunakan while untuk melakukan looping.
Berikut ini adalah contoh penggunaannya dalam file coba3.rb dengan hasil yang
kurang lebih sama dengan coba2.rb.
i = 1
Sebuah method dideklarasikan dengan menggunakan keyword def dan
diakhiri dengan end. Sebagai contoh dibuat file baru coba4.rb.
def coba_method(name)
Ketika dieksekusi, program diatas akan mengahasilkan output kurang lebih
sebagai berikut: kali_dua = nilai_awal * 2 kali_dua
end
Hasil eksekusi dari program ini adalah:
Sebagai contoh adalah dengan membuat sebuah kelas Mahasiswa pada file
mahasiswa.rb.
Instance variable dari sebuah kelas dideklarasikan dengan ‘@’ yang akan
membuatnya bisa diakses oleh semua instance method yang ada di kelas tersebut.
Namun instance variable tersebut tidak akan bisa diakses dari luar kelas. Untuk
bisa melakukan itu maka perlu membuat accessor method. Tambahkan kedua
method ini pada kelas Mahasiswa yang telah dibuat.
Dapat diuji dengan method ini dengan melakukan pemanggilan method seperti
dibawah ini.
mhs = Mahasiswa.new("Si Bocung","1203000439") mhs.cetak_info
mhs.nama = "Si Bocah"
# mengubah nama menjadi Si Bocah
mhs.cetak_info nama = mhs.nama
# method ini akan mereturn Si Bocah sebagai nama
puts nama
Namun untuk mendefinisikan method setter dan getter bagi setiap variable
adalah pekerjaan yang melelahkan. Oleh karena itu Ruby menyediakan method
attr_accessor() untuk memudahkan kita. Selain penjelasan-penjelasan yang ada
diatas, maka terdapat banyak hal lain mengenai class ini yang tidak mungkin
dijabarkan seluruhnya pada bab yang ada di dalam laporan ini. Untuk lebih
memudahkan programer dalam menggunakan bahasa pemrograman Ruby ini,
maka diperlukan suatu framework untuk pembangunan suatu aplikasi yang utuh
sehingga dalam proses pembuatan tugas akhir ini menggunakan framework yang
berkonfigurasi dengan bahasa pemrograman Ruby, dalam hal ini digunakan
framework RubyOnRails atau lebih disingkat Rails saja (http://ilmukomputer.com/2006/08/24/pengenalan-ruby-on-rails/,(On-line)).
2.2 Ruby On Rails (Rails)
Ruby on rails atau yang sering disebut Rails saja adalah sejenis framework
web-aplikasi yang mencakup semua yang diperlukan untuk membuat aplikasi web
Gambar 2.1 Arsitektur MVC (Model-View-Controller)
Pola ini membagi pandangan menjadi "dumb" template yang terutama berfungsi
untuk memasukkan data pre-built diantara tag HTML. Model berisi objek domain
"smart" (seperti Account, Produk, Person, Post) yang memegang semua logika
bisnis dan tahu bagaimana untuk bertahan diri ke database. Controller menangani
permintaan masuk (seperti Save New Account, Update Produk, Show Post)
dengan memanipulasi model dan mengarahkan data view. Di dalam Rails, model
ini ditangani oleh apa yang disebut lapisan object-relational mapping berjudul
Active Record. Lapisan ini memungkinkan Anda untuk menampilkan data dari
baris database sebagai objek dan memperindah objek data tersebut dengan
metode logika bisnis.
Layaknya framework pada umumnya, Rails memerlukan database sebagai
tempat penyimpanan data. Adalah Active Record yang mengambil dari class
pemetaan object-relational. Database yang paling sering digunakan untuk
pengembangan Rails adalah MySQL, yang banyak tersedia di beberapa platform,
mudah untuk menginstal, dan bebas tersedia untuk development. Selain MySQL,
terdapat beberapa database adapter untuk beberapa produk lainnya, termasuk
PostreSQL, SQLite, Microsoft SQL Server, Oracle, dan berbagai vendor database
utama lainnya.
Pada aplikasi RubyOnRails terdiri dari beberapa komponen yang terkait
antara lain seperti pada Gambar 2.2.
Gambar 2.2 Komponen Umum Rails
Pada dasarnya setiap aplikasi yang dibuat, model didasarkan pada objek
nyata misalnya orang, rekening bank, alat. Setiap bagian data dinyatakan dengan
menggunakan tabel database kemudian dikelola menggunakan active-record,
yang merupakan objek yang disediakan pada rails untuk mempermudah akses
kedalam database. Active Record menghubungkan model data dan tabel database
dengan mengubah deretan dari database kedalam objek yang dapat dimanipulasi.
Hal ini memungkinkan programer untuk menggambarkan aturan bisnis melalui
berbeda dalam suatu aplikasi yang dibuat. Misalnya hubungan keluarga seperti
yang diuraikan dalam syntax berikut ini.
class Person < ActiveRecord::Base
Untuk proses manipulasi model data, disitu terdapat controllers. Sebuah
aplikasi dapat memiliki controller, bila terdapat model yang menggambarkan alat
kita juga beberapa. Jika memiliki controller yang menggambarkan alat yang
menggambarkan. Misalnya, jika memiliki model yang menggambarkan
kendaraan, Anda juga mungkin memiliki controller yang menjelaskan bagaimana
cara menambahkan sebuah mobil baru, berubah warna, atau menghapusnya dari
persediaan. Logika controller ditangani dengan komponen rails yang disebut Aksi
Controller.
Demi kelancaran dalam pembuatan aplikasi sebelumnya, sering
dihadapkan pada proses instal, misalnya : Ruby beserta Rails itu sendiri dan
beberapa puranti lunak yang berpengaruh dalam menjalankan framework
RubyOnRails ( disebut juga RoR atau Rails saja). Proses instalasi Ruby On Rails
(dicontohkan disini adalah instalasi Ruby On Rails pada windows) :
Gambar 2.3 Instalasi Ruby Pada Windows
2) Jalankan Installer Ruby
Seperti biasa, ikuti saja petunjuk installation wizard yang disediakan.
Untuk memastikan keberhasilan dari proses instalasi ruby dapat di cek
melalui command prompt dengan mengetikkan perintah. ruby –version
Kurang lebih akan muncul seperti ini.
Gambar 2.4 Cek Instalasi Melalui Command Prompt
Dalam contoh gambar diatas pada intinya ditemukan command balasan
dari perintah yang muncul yang isinya mengenai ruby version yang
berhasil diinstal, dan tanggal ketika install telah selesai, yang menandakan
hal tersebut pada intinnya adalah seperti ini.
Jika tidak muncul seperti pada gambar yang ada diatas (gambar 2.4) atau
bahkan pesan kesalahan, cek kembali apakah dalam windust path
environmentnya sudah terdapat path menuju file executablenya ruby. jika
belum tambahkan di Path environment variable anda [path tempat diinstall
ruby]\bin.
3) Instalasi Rails
Jika komputer kita terhubung ke internet dari command prompt tinggal
ditambahkan baris perintah :
gem install rails –-include-dependencies
Tetapi jika tidak memiliki terkoneksi internet. Dapat diunduh terlebih
dulu file-file yang dibutuhkan dari komputer lain di alamat
http://rubyforge.vm.bytemark.co.uk/gems/
File - file yang dibutuhkan antara lain :
• rake-0.7.2.gem
Versi file-file diatas bebas sesuai selera masing2 versi berapa yang akan
di download. Disarankan untuk memakai versi yang terbaru. Instalasi rails dari
gem install rake-0.7.2.gem
Jika semua telah terinstal dengan baik maka tinggal mencoba Rails dan
kita bisa menggunakan Webrick sebagai http server yang telah terinstal secara
default. RubyOnRails juga dapat di integrasikan dengan server lain seperti
Apache, IIS dan lainnya. Namun, dalam tulisan kali ini kita tidak membahas hal
Jalankan browser untuk melihat dan ketik http://localhost:3000
2.3 UML
Obyek dalam ‘software analysis & design’ adalah sesuatu berupa konsep
(concept), benda (thing), dan sesuatu yang membedakannya dengan
lingkungannya. Secara sederhana obyek adalah mobil, manusia, alarm dan
lainlainnya. Tapi obyek dapat pula merupakan sesuatu yang abstrak yang hidup
didalam sistem seperti tabel, database, event, system messages. Obyek dikenali
warnanya, bentuknya, sedangkan manusia dari suaranya. Ciriciri ini yang akan
membedakan obyek tersebut dari obyek lainnya. Alasan mengapa saat ini
pendekatan dalam pengembangan software dengan object-oriented, pertama
adalah scalability dimana obyek lebih mudah dipakai untuk menggambarkan
sistem yang besar dan komplek. Kedua dynamic modeling, adalah dapat dipakai
untuk permodelan sistem dinamis dan real time.
Dalam dunia pemodelan, metodologi implementasi obyek walaupun terikat
kaidah-kaidah standar, namun teknik pemilihan obyek tidak terlepas pada subyektifitas
software analyst & designer. Beberapa obyek akan diabaikan dan beberapa obyek
menjadi perhatian untuk diimplementasikan di dalam sistem. Hal ini sah-sah saja karena
kenyataan bahwa suatu permasalahan sudah tentu memiliki lebih dari satu solusi. Ada 3
(tiga) teknik/konsep dasar dalam OOA/D, yaitu pemodulan (encapsulation), penurunan
(inheritance) dan polymorphism.
2.3.1 Use Case
Sebuah use case menggambarkan suatu urutan interaksi antara satu atau
lebih aktor dan sistem. Dalam fase requirements, model use case mengambarkan
sistem sebagai sebuah kotak hitam dan interaksi antara aktor dan sistem dalam
suatu bentuk naratif, yang terdiri dari input user dan respon-respon sistem. Setiap
use case menggambarkan perilaku sejumlah aspek sistem, tanpa mengurangi
struktur internalnya. Selama pembuatan model use case secara pararel juga harus
ditetapkan obyek-obyek yang terlibat dalam setia use case.
2.3.2 Aktor
Sebuah aktor mencirikan suatu bagian outside user atau susunan yang
Jacobson 1999]. Dalam model use case, aktor merupakan satu-satunya kesatuan
eksternal yang berinteraksi dengan sistem. Terdapat beberapa variasi bagaimana
aktor dibentuk [Fowler dan Scott 1999]. Sebuah aktor sering kali merupakan
manusia (human user).
Pada sejumlah sistem informasi, manusia adalah satu-satunya aktor. Dan
mungkin saja dalam sistem informasi, seorang aktor bisa saja menjadi suatu
sistem eksternal. Pada aplikasi real-time dan distribusi, sebuah aktor bisa saja
menjadi satu perangkat eksternal I/O atau sebuah alat pengatur waktu. Perangkat
eksternal I/O dan pengatur waktu aktor secara khusus lazimnya berada dalam
real-time yang tersimpan dalam sistem (real-real-time embedded systems), sistem
berinteraksi dengan lingkungan eksternal melalui sensor dan aktuator.
Gambar 2.5 Contoh Penggunaan Aktor dan Use Case
Suatu aktor bisa juga menjadi sistem eksternal yang melakukan inisiatif
(sebagai primary aktor) atau partisipan (sebagai secondary aktor) dalam use case.
Satu contoh aktor sistem eksternal adalah pabrik robot dalam Automation System.
Robot mengawali proses dengan use case Generate Alarm dan Notify, robot
menggerakkan alarm conditions yang dikirim ke operator pabrik yang
robot merupakan primary aktor yang mengawali inisiatif use case, dan operator
merupakan secondary aktor yang menerima alarm.
2.3.3 Identifikasi Use case
Untuk menjabarkan use case dalam sistem, sangat baik bila dimulai
dengan memperhatikan aktor dan actions/aksi yang mereka lakukan dalam sistem.
Setiap use case menggambarkan suatu urutan interaksi antara aktor dengan sistem.
Sebuah use case harus memberikan sejumlah nilai pada satu aktor. Kemudian,
kebutuhan fungsional sistem dijelaskan dalam use case yang merupakan suatu
spesifikasi eksternal dari sebuah sistem. Bagaimanapun juga, ketika membuat use
case, sangatlah penting menghindari suatu dekomposisi fungsional yang dalam
beberapa use case kecil lebih menjelaskan fungsi-fungsi individual sistem
daripada menjelaskan urutan kejadian yang memberikan hasil yang berguna bagi
aktor.
Perhatikan lagi contoh pada perbankan. Disamping penarikan melalui
ATM, ATM Customer, aktor juga bisa menanyakan jumlah rekening atau
mentransfer dana antar dua rekening. Karena terdapat fungsi-fungsi yang berbeda
yang diajukan oleh customer dengan hasil-hasil guna yang berbeda, fungsi-fungsi
pertanyaan dan pentransferan harus dibuat sebagai use case yang terpisah,
daripada menjadi bagian dari original use case. Oleh karena itu, customer dapat
mengajukan tiga use case seperti yang dapat dilihat di Gambar. 2.4; Withdraw
Funds (Penarikan dana), Query Account, dan Transfer Funds (Pentransferan
Gambar 2.6 Aktor dan Use Case Dalam Sistem Bank
Urutan utama use case menjelaskan urutan interaksi yang paling umum antara
aktor dan sistem. Dan mungkin saja terdapat cabang-cabang urutan use case utama, yang
mengarah pada berkurangnya frekuensi interaksi antara aktor dengan sistem.
Deviasi-deviasi dari urutan utama hanya dilaksanakan pada beberapa situasi, contohnya jika aktor
melakukan kesalahan input pada sistem. Ketergantungan pada aplikasi kebutuhan,
alternatif ini memecahkan use case dan kadang-kadang bersatu kembali dengan urutan
utama. Cabang-cabang alternatif digambarkan juga dalam use case.
2.3.4 Pendokumentasian Model Use Case
Use case didokumentasi dalam suatu use case model, yaitu sebagai
berikut:
a) Use Case Name. Setiap use case diberi nama.
c) Dependency. Bagian ini menggambarkan apakah use case yang satu
tergantung pada use case yang lain, dalam arti apakah use case tersebut
termasuk pada use case yang lain atau malah memperluas use case lain.
d)Actors. Bagian ini memberikan nama pada actor dalam use case. Selalu
menampilkan pesan Selamat Datang.
f) Deskr ipsi. Bagian terbesar dari use case merupakan deskripsi naratif dari
urutan utama use case yang merupakan urutan yang paling umum dari
interaksi antara aktor dan sistem. Deskripsi tersebut dalam bentuk input
dari aktor, diikuti oleh respon pada sistem. Sistem ditandai dengan sebuah
kotak hitam (black box) yang berkaitan dengan apa yang sistem lakukan
dalam merespon input aktor, bukan bagaimana internal melakukannya.
g)Alternatif-alternatif. Deskripsi naratif dari alternatif merupakan cabang
dari urutan utama. Terdapat beberapa cabang alternatif dari urutan
utama. Contohnya, jika rekening customer terdapat dana yang tidak
sesuai, akan tampil permohonan maaf dan menolak kartu.
h)Postcondition. Kondisi yang selalu terjadi di akhir use case, jika urutan
i) Outstanding questions. Pertanyaan-pertanyaan tentang use case
didokumentasikan untuk didiskusikan dengan para user.
2.4 OOP (Objeck Oriented Programing)
Objec Oriented Programming (OOP) merupakan paradigma pemrograman
yang menggunakan "objek" - struktur data yang terdiri dari data fields dan metode
bersama dengan interaksi mereka - untuk merancang aplikasi dan program
komputer. Teknik pemrograman dapat mencakup fitur seperti menyembunyikan
informasi, data abstraksi, enkapsulasi, modularitas, polimorfisme, dan pewarisan.
Itu tidak umum digunakan dalam pengembangan aplikasi perangkat lunak arus
utama sampai awal 1990-an. Banyak modern bahasa pemrograman sekarang
mendukung OOP.
Object Oriented Programming memiliki akar yang dapat ditelusuri pada
1960-an. Seperti hardware dan software menjadi semakin kompleks, kualitas
sering berkompromi. Para peneliti mempelajari cara untuk menjaga kualitas
perangkat lunak dan dikembangkan pemrograman berorientasi objek dalam
bagian untuk mengatasi masalah-masalah umum dengan sangat menekankan
diskrit, dapat digunakan kembali unit logika pemrograman. Metodologi yang
berfokus pada data daripada proses, dengan program yang terdiri dari modul
mandiri (objek) masing-masing berisi semua informasi yang dibutuhkan untuk
memanipulasi struktur data sendiri. Hal ini berbeda dengan yang ada
pemrograman modular yang telah dominan selama bertahun-tahun yang berfokus
pada fungsi dari module, bukan data spesifik, tetapi juga disediakan untuk
pemrograman logika, yang memungkinkan kolaborasi melalui penggunaan
module yang terhubung (subrutin).
Pendekatan ini lebih konvensional, yang masih tetap, cenderung untuk
mempertimbangkan data dan perilaku secara terpisah. Sebuah program
berorientasi objek dengan demikian dapat dilihat sebagai kumpulan objek yang
saling berinteraksi, berlawanan dengan model konvensional, di mana program
dipandang sebagai daftar tugas (subrutin) untuk melakukan. Dalam OOP, setiap
objek dapat menerima pesan, memproses data, dan mengirim pesan ke
objek-objek lain dan dapat dipandang sebagai independen 'mesin' dengan peran atau
tanggung jawab yang berbeda. Tindakan (atau "operator") pada objek-objek ini
sangat erat terkait dengan objek. Sebagai contoh, struktur data cenderung
'membawa operator sekitar mereka sendiri dengan mereka "(atau setidaknya"
mewarisi "mereka dari obyek atau kelas yang sama).
Pemrograman berorientasi objek dikembangkan sebagai metodologi
pemrograman yang dominan selama pertengahan 1990-an, sebagian besar
disebabkan oleh pengaruh C++. Dominasinya itu makin diperkuat oleh
meningkatnya popularitas dari antarmuka pengguna grafis, yang pemrograman
berorientasi obyek tampaknya cocok. Contoh dari GUI dinamis terkait erat dengan
perpustakaan dan bahasa OOP dapat ditemukan di kerangka kerja di Mac OS X,
yang ditulis di Objective-C, sebuah object-oriented, dinamis ekstensi pesan ke C
didasarkan pada Smalltalk. OOP toolkit juga meningkatkan popularitas
pemrograman kendali-event (walaupun konsep ini tidak terbatas pada OOP).
Sebagian merasa bahwa asosiasi dengan GUI (nyata atau tidak) adalah apa yang
Fitur berorientasi objek telah ditambahkan ke banyak bahasa yang ada
selama waktu itu, termasuk Ada, BASIC, Fortran, Pascal, Python dan Ruby.
Mungkin yang paling penting secara komersial baru bahasa berorientasi obyek
adalah Visual Basic. NET (VB.NET) dan C++, baik yang dirancang untuk
Microsoft. NET platform, dan Java, yang dikembangkan oleh Sun Microsystems. VB.NET dan C++ baik dukungan lintas bahasa warisan, memungkinkan kelas
didefinisikan dalam satu bahasa ke bahasa kelas subclass didefinisikan dalam
bahasa lain.
Sama seperti pemrograman prosedural mengarah pada perbaikan teknik
seperti pemrograman terstruktur, modern berorientasi objek metode desain
perangkat lunak mencakup perbaikan seperti penggunaan pola desain, design by
kontrak, dan pemodelan bahasa (seperti UML). OOPS istilah yang mengacu pada
sebuah object oriented programming system, adalah terjadi di awal
pengembangan pemrograman berorientasi objek.
2.5 CSS
CSS (Cascading Style Sheet) adalah standard pembuatan dan pemakaian
style untuk dokumen terstruktur , CSS digunakan untuk mempersingkat penulisan
tag HTML seperti font, color, text, dan table menjadi lebih ringkas sehingga tidak
terjadi pengulangan tulisan. Dengan menggunakan CSS kita dapat membuat
tampilan pada aplikasi yang telah dibuat menjadi lebih menarik.
Terdapat beberapa keuntungan menggunakan CSS (Cascading Style Sheet)
• Memisahkan presentastion sebuah dokumen dari content document itu
sendiri.
• Mempermudah dan Mempersingkat pembuatan dan pemeliharaan
dokumen web
• Mempercepat proses rendering/pembacaan HTML.
Pada perancangannya dapat dijelaskan beberapa cara. Pada penulisan CSS
dapat dijelaskan dan dicontohkan sebagai berikut :
Inline style sheet. Yaitu penulisan didalam elemen HTML. Seperti yang terlihat
pada gambar 2.7.
Gambar 2.7 Penulisan CSS Dengan Inline Style Sheet
Embedded Style Sheet. Penulisan CSS didalam dokumen HTML dan
menggunakan tag <style></style>
Linked Style Sheet. Penulisan skrip CSS dihalaman berbeda atau terpisah dari
html.
Gambar 2.9 Penulisan CSS Dengan Linked Style Sheet
2.6 Wor ld Wide Web (WWW)
WWW (World Wide Web) yang juga dikenal dengan Web, merupakan
framework arsitektur yang menampilkan dokumen-dokumen yang saling
berhubungan dan tersebar di Internet. Dari sudut pandang pengguna, Web terdiri
dari kumpulan dokumen yang tersebar diseluruh dunia yang biasanya dikenal
dengan nama page (halaman). Setiap halaman dapat berisi link ke halaman
lainnya. Halaman yang menunjuk halaman lainnya disebut hypertext dan teks
yang mempunyai link kehalaman lainnya disebut hyperlink. Dalam hal ini,
diperlukan suatu mekanisme penamaan dan pencarian lokasi halaman yang
bersangkutan. Untuk itu, setiap halaman harus diberi sebuah URL (Uniform
Resource Locator) yang secara efektif melayani nama-nama halaman diseluruh
dunia. URL terdiri dari tiga bagian, yaitu protokol, nama DNS mesin tempat
halaman berada, dan nama lokal yang secara unik mengidentifikasi halaman
tertentu. Untuk dapat melihat halaman Web, pengguna harus mengakses alamat
Web tersebut dengan menggunakan browser. Browser yang umum digunakan
Gambar 2.15 Konsep dasar Browser dan Web Server
halaman yang diminta, menginterpretasikan teks dan perintah-perintah format
yang berada didalamnya, dan menampilkan halaman yang telah terformat dengan
benar dilayar.
Server dan browser web berkomunikasi satu sama lain dengan protocol
yang memang dibuat khusus untuk ini, yaitu HTTP. HTTP bertugas menangani
permintaan-permintaan (request) dari broser untuk mengambil dokumen-dokumen
web. HTTP bisa diangggap sebagai system yang bermodel client-server. Browser
web, sebagai clientnya, mengirimkan permintaan kepada server web untuk
mengirimkan dokumen-dokumen web yang dikehendaki pemgguna. Server web
lalu memenuhi permintaan ini dan mengirimkannya melaui jaringan kepada
browser. Setiap permintaan akan dilayani dan ditangani sebagai suatu koneksi
terpisah yang berbeda.
Pada perkembangan teknologi berbasis web ini, akan sangat berguna
apabila bisa dipadukan dengan layanan yang dapat digunakan dalam lingkup
organisasi maupun perusahaan seperti e-commers, e-librari, e-book dan
teknologi secara menyeluruh disegala lini, juga bisa dimanfaatkan untuk proses
pembookingan tempat secara online seperti pada tugas akhir ini.
2.7MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen berbasis data
SQL (Database Management System) atau DBMS yang multi thread, multi user.
Berbeda dengan proyek-proyek seperti Apache, dimana MySQL dimiliki dan
disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, yang
memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia
dan satu orang Finlandia yang mendirikan MySQL AB adalah David Axmark,
Allan Larsson, dan Michael "Monty" Widenius.
MySQL merupakan Relational Database Management System (RDBMS)
yang didistribusikan secara gratis di bawah lisensi GPL (General Public
License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak
boleh dijadikan produk turunan yang bersifat closed source atau komersial.
MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database
sejak lama, yaitu SQL (Structured Query Language).
SQL (Structured Query Language) adalah sebuah konsep operasi
database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang
memungkinkan operasi data dikerjakan dengan mudah secara otomatis.
Kehandalan suatu sistem database (DBMS) diketahui dari cara kerja
optimizer-nya dalam melakukan proses perintah SQL (Structured Query Language), yang
34 3.1 Analisis Sistem
Membangun website yang dimaksud dalam perancangan tugas akhir ini
adalah dengan memberikan fasilitas kepada instansi terkait dalam bidang
penyewaan lighting system yang sebagian besar dari pegawainya adalah
orang-orang yang mulai mengenal teknologi. Dalam hal ini penulis mencoba untuk
merancang sebuah aplikasi dengan menggunakan Ruby On Rails atau disebut juga
dengan Framework Rails saja, dengan tidak mengabaikan kebutuhan oleh user itu
sendiri.
Aplikasi berbasis website ini dibuat sedemikian rupa agar dapat
memudahkan user untuk mengola data pegawai dan sebagainya.
3.2 Analisis Kebutuhan
Adapun pendukung dalam perancangan dan pembangunan website
interaktif ini adalah hasil analisis terhadap kebutuhan-kebutuhan admin. Analisis
yang dimaksud tersebut adalah sebagai berikut :
3.2.1 Identifikasi User
Sistem sangat membutuhkan user sebagai pelaku sistem, user disini adalah
orang yang telah menjadi petugas untuk mengatur website dan mempunyai hak
akses sepenuhnya terhadap website aplikasi dan pada CV. Fernus Light ini hak
3.2.2 Variabel Kebutuhan Input dan Output Sistem
Selain sistem membutuhkan user sebagai pelaku, sistem juga
membutuhkan inputan yang nantinya akan diproses oleh sistem dan sistem akan
meresponnya berupa output yang sesuai dengan permintaan user. Adapun variabel
input dan output tersebut, adalah :
a. User atau Admin
1) Input :
- Menginputkan user_id dan password (Login).
- Mengolah data pegawai.
- Mengolah data absensi.
- Mengolah data jadwal.
2) Output :
- Informasi detail profil pegawai (admin, pegawai).
- Keseluruhan data termasuk jadwal.
- Informasi data pegawai.
- Informasi data absensi pegawai.
- Informasi data jadwal.
- History absensi dan jadwal.
3.3 Perancangan Sistem
Di dalam rancang bangun website ini, dibuat dengan beberapa
perancangan yang bermaksud untuk menjelaskan dan menggambarkan sistem
Use case, activity diagram, Conceptual Data Model (CDM), Physical Data Model
(PDM) serta design interface.
3.3.1 Use Case Diagram
Use case diagram digunakan untuk memodelkan bisnis proses berdasarkan
perspektif pengguna sistem. Use case diagram terdiri atas diagram untuk use case
dan actor. Use case merepresentasikan operasi-operasi yang dilakukan oleh actor.
Use case digambarkan berbentuk elips dengan nama operasi dituliskan di
dalamnya. Actor yang melakukan operasi dihubungkan dengan garis lurus ke use
case. Dalam system ini use case dibuat satu bagian, yaitu use case untuk user atau
admin.
Use case diagram yang digunakan pada website untuk admin pada CV.
Fernus Light dapat dilihat pada Gambar 3.1 berikut.
Pada Gambar 3.1 tersebut dapat dilihat bahwa dalam hak akses admin pada
CV. Fernus Light. Admin bertugas mengatur seluruh data, diantaranya adalah
mengolah data admin sendiri, mengolah data pegawai, mengolah data absensi
dan mengolah data penjadwalan.
3.3.2 Activity Diagr am Website
Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem
yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang
mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat
menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
1) Activity Diagram Website ”Login Admin”
Design login admin pada halaman login yang digunakan admin untuk
Gambar 3.2 Activity Diagram Website Admin ”Login Admin”
Gambar 3.2 tersebut menjelaskan bagaimana admin memasukkan data login
yang dimiliki (username dan password admin) sehingga admin dapat
mengkakses dan mengatur/maintenance website tersebut.
2) Activity Diagram Website ”Tambah Admin”
Design proses add data admin seperti yang tampak pada Gambar 3.3 berikut
ini.
Gambar 3.3 Activity Diagram Website Admin ”Add Admin”
Gambar 3.3 tersebut adalah beberapa aktifitas yang dilakukan oleh admin
admin membuka halaman menu admin input data-data petugas admin dan
eksekusi data yang telah diketik oleh admin sampai pada munculnya pesan
succes sehingga ketika itu data dapat tersimpan di dalam database.
3) Activity Diagram Website ”Tambah Pegawai”
Terdapat beberapa aktifitas yang menjadikan proses tambah pegawai dapat
berjalan, seperti yang tampak pada Gambar 3.4.
Gambar 3.4 Activity Diagram Website Admin ”Tambah Pegawai”
Proses tersebut (Gambar 3.4) terjadi ketika admin membuka menu data
sistem melakukan cek data masukan apa bila terjadi kesalahan dalam
pengisian data maka sistem akan memunculkan pesan error dan kembali ke
tampilan menu member, tetapi apabila data yang dimasukkan sesuai maka
sistem akan memunculkan pesan sukses kepada admin dan saat itulah proses
ini telah berhasil dijalankan.
4) Activity Diagram Website ”Tambah Absen”
Aktifitas tambah absen yang terjadi disini seperti yang terlihat pada Gambar
3.5
Gambar 3.5 Activity Diagram Website Admin ”Tambah Absensi”
Gambar 3.5 tersebut memasukkan data-data absensi pegawai yang bekerja di
5) Activity Diagr am Website “Tambah J adwal”
Gambar 3.6 Activity Diagram Website Admin ”Tambah Jadwal”
Gambar 3.6 tersebut memasukkan data-data penjadwalan. Sepeti : waktu,
alamat, durasi berapa lama customer menyewa. Jadi admin dan pegawai di
CV. Fernus Light akan tahu kapan dan berapa lama alat-alat akan disewakan
6) Activity Diagram Website Admin ”Edit Admin”
Gambar 3.7 Activity Diagram Website Admin ”Edit Admin”
Dalam hal ini (lihat Gambar 3.7) adalah diagram aktifitas mengenai aktifitas
untuk merubah/editing data admin dari data lama yang telah ada menjadi
data baru yang telah dirubah sedemikian rupa oleh admin. Secara sederhana
dapat dijelaskan bagaimana admin membuka menu admin merubah data
yang ada kemudian menyimpan data dalam database, akan tapi sebelum
disimpan sistem akan menanyakan (Yes or No) kepada admin apakah admin
yakin akan merubah data (menyimpan data perubahan) atau
membatalkannya (kembali ke menu awal) melalui pesan yang telah
7) Activity Diagram Website Admin ”Edit Pegawai”
Gambar 3.8 Activity Diagram Website Admin ”Edit Pegawai”
Seperti yang ada pada Gambar 3.8, aktifitas edit pegawai disini hampir sama
dengan proses edit sebelumya (Gambar 3.7) yaitu mengubah data pegawai
yang telah ada.
8) Activity Diagram Website Admin ”Edit Absensi”
Aktifitas-aktifitas yang terjadi disini dapat dilihat pada Gambar 3.9 berikut
Gambar 3.9 Activity Diagram Website Admin ”Edit Absensi”
Pada Gambar 3.9 diatas, dapat disimpulkan bahwa aktifitas yang terjadi
hampir sama dengan proses yang ada pada Gambar 3.7 dan Gambar 3.8,
bedanya adalah fungsi dan tempat proses ini berlangsung.
9) Activity Diagram Website Admin ”Edit Penjadwalan”
Proses ini juga hampir sama dengan proses-proses edit sebelumnya. Yaitu
merubah data yang sekiranya data tersebut salah atau tidak seperti apa yang
Gambar 3.10 Activity Diagram Website Admin ”Edit Jadwal”
Seperti yang telah dijelaskan tadi pada Gambar 3.10 ini beraktifitas untuk
mengubah data jadwal yang terjadi kekeliruan dalam memasukkan data
jadwal sebelemnya.
10)Activity Diagram Website ”Hapus Admin”
adalah desingn proses yang tergambar dalam activity diagram delete admin
yang hanya bisa dilakukan oleh admin. Terdiri dari open halaman menu,
action delete, validasi kepada admin dengan pilihan lanjut (selec Ok) dan
Gambar 3.11 Activity Diagram Website Admin ”Hapus Admin”
11)Activity Diagram Website ”Hapus Pegawai”
Seperti yang tempak pada gambar 3.12 proses action delete pegawai ini
kurang lebih sama dengan activity diagram untuk action delete admin
seperti yang ada pada Gambar 3.11. Pada aktifitasnya disini adalah
bagaimana admin melakukan delete data pegawai melalui halaman data
Gambar 3.12 Activity Diagram Website Admin ”Hapus Pegawai”
Pada Gambar 3.12 Activity Diagram Website Admin ”Hapus Pegawai”
tersebut digambarkan design dari beberapa aktifitas yang ada menyangkut ,
telah dijelaskan sebelumnya maka pada Gambar 3.10 dan Gambar 3.11
12)Activity Diagram Website ”Hapus Absen”
Pada gambar berikut menjelaskan tentang admin melakukan aksi menghapus
data absensi.
Gambar 3.13 Activity Diagram Website Admin ”Hapus Absensi”
Dari gambar 3.13 tersebut menjelaskan aksi admin dalam menghapus data
absensi pegawai. Dengan memilih data absen yang akan di hapus lalau
admin memilih button Ok apabila di hapus dan memilih button “Batal”
13) Activity Diagr am Website ”Hapus Penjadwalan”
Gambar 3.14 Activity Diagram Website Admin ”Hapus Jadwal”
Pada proses ini hampir sama dengan proses-proses yang sebelumnya yaitu
menghapus data yang tidak di gunakan lagi. Dan data disini yang dimaksud
adalah data penjadwalan yang sudah lama.
14) Activity Diagr am Website ”Lihat Absensi”
Beberapa aktifitas mengenai admin viewing absensi. Bagaimana dan apa
saja aktifitas admin dalam melihat untuk melakukan cek berita yang telah
Gambar 3.15 Activity Diagram Website ”Lihat Absensi”
15)Activity Diagram Website ”Lihat Penjadwalan”
Pada gambar 3.15 ini hampir sama dengan apa yang di jeaskan pada gambar
3.14 sebelumnya bahwa proses yang dilakukan leh admin adalah melihat
data penjadwalan yang telah tersimpan di database.
3.3.3 Perancangan UML
Sebelum membuat basisdata harus diketahui bahwa dengan adanya aturan
aturan pada Rails (paradigma convention over configuration) akan berpengaruh
pada basisdata yang akan dibuat. Aturan-aturan yang berlaku dalam pembuatan
basisdata adalah pemberian nama tabel sebaiknya kata benda jamak dari model
yang akan dibuat dan setiap primary key dalam masing-masing tabel diberi nama
id. Perancangan basisdata akan dibuat pada lingkungan development dan MySQL
digunakan untuk basisdata pada aplikasi ini.
Diagram kelas digunakan untuk menampilkan kelas-kelas atau paket-paket
di dalam sistem dan relasi antar mereka. Memberikan gambaran sistem secara
statis. Merupakan alat perancangan terbaik yang membantu pengembang
mendapatkan struktur system sebelum menuliskan kode program, membantu
untuk memastikan bahwa sistem adalah rancangan terbaik.Terdapat beberapa
kelas yang membungkus informasi dan perilaku. Pada diagram kelas ini terdapat 5
Gambar 3.17 Diagram Kelas
Jika sebagai admin relasi admin ke absensi artinya admin dapat menambah
atau memasukkan , dapat mengubah dan menghapus data absensi pegawai.
Untuk kelas data_pegawais memiliki relasi dengan 3 kelas yaitu absensis,
admin dan penjadwalans. Relasi dari data_pegawais ke absensis adalah one to
many artinya satu data pegawai bisa berisi banyak data absensi.
Setelah terbentuk basisdata dan diagram kelas, proses selanjutnya adalah
pembuatan direktori Rails dan melakukan konfigurasi supaya Rails terhubung
3.3.4 Desain Database
Dari entitas-entitas yang telah dihasilkan dalam pembuatan CDM
(Conceptual Data Model) dan PDM (Physical Data Model) diatas maka penulis
juga akan lebih dimudahkan dan menjadikan design lebih terarah. Kini penulis
dapat memulai untuk menulis kembali dalam bentuk kode-kode di dalam ruby on
rails yang terletak pada bagian models system. Setelah Models dan Database Migrations dibuat, Kemudian dilakukan migrate database ”db:migrate” melalui command promt.
Pada intinya untuk mendeklarasikan beberapa attribut dari tabel dan
mendeklarasikan relationship antar tabel dapat dilihat pada beberapa code yang
telah dituliskan berikut.
3.3.5.1 Database Migration
Seperti pada penjelasan sebelumnya, disini terdapat beberapa tabel yang
nantinya dipakai di dalam database, misalnya : tabel absensis, data_pegawais,
penjadwalans dan tabel admins. Berikut adalah beberapa deklarasi pada database migrations.
a) Migrate Admin ( _create_admins )
b) Migrate absensi ( _create_absensis )
c) Migrate Data Pegawai ( _create_data_pegawais)
class CreateDataPegawais < ActiveRecord::Migration def change
create_table :data_pegawais do |t| t.string :idpeg
d) Migrate Penjadwalan ( _create_penjadwalans )
class CreatePenjadwalans < ActiveRecord::Migration def change
3.3.5.2 Relasi Tabel Database
Berikut adalah beberapa deklarasi pada relasi tabel dalam database yang
terletak pada Ruby On Rails project file yang disebut model.
a) Model Admin
3.4 Perancangan Antar muka (Inter face)
Perancangan antarmuka merupakan perancangan halaman aplikasi yang
nantinya akan berinteraksi secara langsung dengan pengguna. Pada aplikasi ini
terdapat hubungan antarmuka yang digunakan pada aplikasi berbasis website ini,
baik dari sisi pengguna admin maupun user umum saat mengakses sistem.
Antarmuka yang disediakan adalah halaman utama (index). Adapun perancangan
3.4.1 Perancangan Antar muka Login Admin
Dalam perancangan halaman yang digunakan untuk mengakses website
monitring seperti pada Gambar 3.18 dan Gambar 3.19 berikut.
Halaman ini digunakan ketika admin hendak mengakses website agar
admin dapat melakukan aktifitas insert, update dan delete pada CV. Fernus light.
Disitu disediakan kotak untuk mengisi username dan mengisi password kemudian
terdapat tombol masuk yang tak lain adalah untuk mengeksekusi username dan
password yang telah di isikan kedalam kotak pengisian.
Gambar 3.20 Halaman Website Monitoring Fernus Light
Setelah admin dapat memasukkan data account dengan benar maka admin
dapat mengakses halaman admin yang nantinya proses insert, update dan delete
dapat bejalan. Dapat dilihat pada Gambar 3.19, disitu terdapat beberapa menu
yang akan ditampilkan pada halaman website, seperti halaman Admin, Data
Pegawai, Absensi dan Penjadwalan yang digunakan untuk admin. Website dibuat
sedemikian rupa agar memudahkan admin untuk melakaukan pekerjaanya dengan
58
Pada bab ini akan membahas tentang implementasi program dari hasil
analisis dan perancangan sistem pada bab III, serta bagaimana cara sistem tersebut
dijalankan. Perancangan aplikasi website dikembangkan dalam lingkungan
pemrograman dengan spesifikasi teknis sebagai berikut ini :
a. Proses Instalasi, pada proses ini beberapa pengistalan ruby beserta
framework compatible, kemudian dilanjutkan pada instalasi kebutuhan
database dan disini penulis menggunakan MySQL sebagai sarana
pengolahan database setelah semua selesai maka yang terakhir dilanjutkan
denga proses instalasi Jet Brains Ruby Mine 3.2.4 sebagai debugger dan
desain aplikasi website.
b. Proses pembuatan antar muka sistem informasi absenesi dan penjadwalan,
Pada proses ini akan menjelaskan pembuatan antar muka yang nantinya
akan digunakan mengolah data pada web browser.
c. Implementasi aplikasi system jadi, Pada proses ini akan menjelaskan
beberapa proses yang menyangkut pengisian data dan pembokingan oleh
member melalui browser yang telah ada.
4.1 Lingkungan Implementasi Sistem
Dalam hal ini terdapat beberapa yang digunakan untuk pengujian dan
a. Windows XP Profesional Edition dan OS setara sebagai sistem operasi.
b. Rational Rose untuk pembuatan desain.
c. Power designer 12.5.
d. Perangakat Ruby On Rails sebagai web development tool.
e. MYSQL sebagai database.
f. Jet Brains Ruby Mine 3.2.4 sebagai debugger dan desain aplikasi web.
4.2 Implementasi Pr oses
Yang dimaksudkan disini yaitu proses realisasi dari beberapa
gambaran-gambaran atau rancangan alur progam yang telah dibuat sebelumnya (analisa
sistem). Sebelum beranjak pada pemrograman system yang musti dibuat adalah
membuat project pada ROR (Ruby on Rails) dengan eksekusi perintah seperti
pada umumnya yaitu rails [nama_project] misalnya membuat project rails dengan
nama Fernus.
rails fernus
Setelah project berhasil dibuat maka proses selanjutnya adalah configurasi
database.
rake db:create rake db:migrate
Database yang telah dibuat sebelumnya diletakkan di server, selanjutnya