• Tidak ada hasil yang ditemukan

SISTEM INFORMASI MONITORING DAN ABSENSI PEGAWAI DENGAN MENGGUNAKAN RUBY ON RAILS STUDY KASUS CV FERNUS LIGHT SURABAYA.

N/A
N/A
Protected

Academic year: 2017

Membagikan "SISTEM INFORMASI MONITORING DAN ABSENSI PEGAWAI DENGAN MENGGUNAKAN RUBY ON RAILS STUDY KASUS CV FERNUS LIGHT SURABAYA."

Copied!
100
0
0

Teks penuh

(1)

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

(2)

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

(3)

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

(4)

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

(5)

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

(6)

iv

Surabaya, November 2012

(7)
(8)

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

(9)

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

(10)

vii

6.1 Kesimpulan ... 85

5.2 Saran ... 86

(11)

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

(12)

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

(13)

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).

(14)

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

(15)

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

(16)

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

(17)

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,

(18)

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

(19)

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.

(20)

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

(21)

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

(22)

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.

(23)

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

(24)

$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

(25)

$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}"

(26)

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

(27)

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.

(28)

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

(29)

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

(30)

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

(31)

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) :

(32)

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.

(33)

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

(34)

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

(35)

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

(36)

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

(37)

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

(38)

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.

(39)

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

(40)

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

(41)

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

(42)

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)

(43)

• 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>

(44)

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

(45)

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

(46)

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

(47)

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

(48)

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

(49)

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.

(50)

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

(51)

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

(52)

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

(53)

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

(54)

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

(55)

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

(56)

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

(57)

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

(58)

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

(59)

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

(60)

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

(61)

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”

(62)

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

(63)

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.

(64)

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

(65)

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

(66)

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 )

(67)

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

(68)

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

(69)

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.

(70)

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

(71)

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

(72)

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

Gambar

Gambar 3.5 Activity Diagram Website Admin ”Tambah Absensi”
Gambar 3.6 Activity Diagram Website Admin ”Tambah Jadwal”
Gambar 3.7 Activity Diagram Website Admin ”Edit Admin”
Gambar 3.8 Activity Diagram Website Admin ”Edit Pegawai”
+7

Referensi

Dokumen terkait

peruntukkan lain yang mempersyaratkan mutu air yang sama dengan kegunaan tersebut.

Abstrak : Penelitian ini bertujuan untuk meningkatkan hasil belajar siswa kelas III Sekolah Dasar Negeri 29 Sanggau. Metode penelitian ini dengan menggunakan penelitian tindakan

Secara keseluruhan dapat dikatakan bahwa implementasi Peraturan Daerah Kota Pekanbaru Nomor 08 Tahun 2014 tentang Pengelolaan Sampah, masih terkait dengan pengolaan

Hengky Kosasih : Judul Disertasi ; Analisis pengaruh kepemimpinan transformasional, komitmen organisasi, dan komunikasi terhadap kinerja pegawai serta implikasinya pada

Modul Diklat Guru Pembelajar Basa Sunda Kelompok Kompetensi C ngawengku 11 matéri poko, judul-judulna, nyaéta: (1) Pamarekan Komunikatif dina Pangajaran Basa Sunda,

Kegiatan ini ditujukan untuk memberi mahasiswa keterampilan memahami teknik pengumpulan data melalui observasi langsung dan merumuskan sebuah desain penelitian

Dengan rahmat Allah SWT alhamdulillah penulis dapat menyelesaikan skripsi ini dengan judul “Manajemen Bank Sampah Dalam Pemberdayaan Ekonomi Nasabah (Studi Kasus

[r]