password: delisah host: localhost
Untuk passwordnya disesuaikan dengan password pada saat penginstalan MYSQL. Terlihat ada 3 pengisian password yaitu pada development, test,
production. Dari ketiga database tersebut penggunaannya tergantung dengan kebutuhan. Penamaan pada MYSQLnya adalah namadatabase_development,
namadatabase_test, namadatabase_production. Pada tahap pengembangan ini database yang digunakan adalah
development sedangkan yang test digunakan ketika proses tes aplikasi dan yang Production ketika proses produksi.
4.4 Implementasi MVC Model View Controller
Aplikasi katalog online ini dibangun dengan menggunakan metode MVC Model View Controller yang merupakan metode baru dalam membangun
aplikasi berbasis WEB. Adapun cara kerjanya sebagai berikut: halaman interaksi yang merupakan bentuk dari View akan mengirimkan request ke controller sesuai
dengan input aksi yang diberikan user. Controller merespon aksi dari view dengan cara berkomunikasi dengan model. Komunikasi dapat berupa mengakses,
mengubah, menambah data yang tersimpan oleh model. Controller akan memanggil view yang sesuai untuk selanjutnya ditampilkan sebagai output yang
dapat dilihat oleh user.
4.4.1 Implementasi Controller
Controller mewakili control flow logic. Keputusan mengenai view mana yang harus dipanggil untuk menampilkan data tertentu, bagian mana dari model
yang harus diupdate ditangani oleh controller. Berperan sebagai perantara dari
aplikasi dan mengambil tiap request. Lalu memanggil model yang cocok untuk meng-update atau mengambil data. Setelah itu memilih view yang cocok untuk
menampilkan data. Berikut ini potongan program controller pada user_controller:
class UserController ApplicationController layout standard
def list users = User.find :all
end def show
user = User.findparams[:id] end
def new case request.method
when :post user = User.newparams[:user]
if user.save redirect_to :controller = user, :action = list
end end
end def create
user = User.newparams[:user] if user.save
redirect_to :controller = book, :action = sukses else
render :action = new end
end def edit
user = User.find:first, :conditions = [login = ?, params[:login]]
end def update
user = User.findparams[:id] if user.update_attributesparams[:user ]
redirect_to :action = show, :id =user else
render :action = edit end
end def delete
User.findparams[:id].destroy redirect_to :action = list
end def login
if session[:user]=User.authenticateparams[:user][:login ],params[:user][:password]
if params[:user][:password ] == 21071988 redirect_to :controller = book
elsif params[:user][:status ] == dosen
redirect_to:controller=book,:action=list else
params[:user][:status ] == mahasiswa redirect_to:controller=book,:action=list
end else
render:text = Login Ulang end
end def logout
reset_session
redirect_to :controller = book end
end
Penjelasan untuk setiap action adalah sebagai berikut: A.
Action List Yang dapat melihat profil semua anggota hanya administrator. Sedangkan
anggota hanya dapat melihat profil mereka sendiri bukan anggota lain. Action list tidak berkomunikasi dengan model. Action list ini akan memanggil list.rhtml pada
view. Yang akan digunakan untuk menampilkan daftar anggota dalam sistem. B.
Action Show Action show digunakan ketika anggota ingin melihat profilnya. Action show
pada user_controller akan memanggil show.rhtml pada view yang akan menampilkan form lihat profil anggota.
C. Action New dan action create
Untuk dapat masuk ke halaman anggota maka harus mendaftar terlebih dahulu. Dengan mengisi data pada form pendaftaran. Action new dan action
create ini yang mengatur proses pendaftaran. Berkomunikasi dengan model
untuk validasi inputan user. Action new ini akan memanggil new.rhtml pada view untuk form pendaftaran.
D. Action edit dan action update
Action edit dan action create digunakan untuk mengubah profil anggota. Action edit ini akan memanggil edit.rhtml pada view untuk menampilkan
form yang akan digunakan oleh user untuk mengubah profil mereka. Pada form pendaftaran dan form ubah profil memiliki tampilan yang sama dan
isian-isiannya juga sama. Untuk pengaturan validasi pada proses ubah profil sama dengan pada saat proses pendaftaran mulai dari pengaturan form tidak
boleh kosong, pengaturan email dan lain-lainnya. E.
Action Delete Action delete ini digunakan untuk menghapus anggota dalam sistem pada
user_controller tanpa komunikasi dengan model. Tetapi berkomunikasi dengan active record untuk menghapus nama dalam database. Action delete
ini tidak memanggil rhtml pada view. F.
Action Login Halaman ini digunakan oleh para anggota yang sudah melakukan pendaftaran
sebelumnya yang nantinya akan digunakan untuk melakukan login. Pada implementasi login ini diatur oleh action login pada user_controller. Untuk
pembagian hak aksesnya dibagi menjadi 3 bagian. Untuk administrator ditentukan dengan passwordnya yaitu 21071988 jadi apabila login dengan
password 21071988 maka akan dialihkan ke halaman administrator. Untuk anggotanya terbagi menjadi 2 yaitu anggota sebagai dosen dan anggota
sebagai mahasiswa. Dalam login ditentukan dengan status apabila statusnya dosen maka akan dialihkan pada halaman anggota dosen tetapi apabila
statusnya mahasiswa maka akan dialihkan ke halaman anggota mahasiswa. Apabila user dalam memasukkan login dan passwordnya salah maka akan
muncul peringatan login ulang. Untuk tampilan halaman loginnya diletakkan pada halaman standard.rhtml yang ada pada di directory
appviewlayoutstandard.rhtml. Yang tampilannya diatur dengan CSS.
4.4.2 Implementasi Model
Model mewakili data yang diproses oleh suatu aplikasi. Menyediakan suatu link kepenyimpanan data .Berikut ini adalah potongan program model pada
model user.
class User ActiveRecord::Base validates_presence_of :login, :password, :email
,:nama_depan,:nama_belakang,:alamat,:tempat_lahir,:message =Harus Diisi
validates_confirmation_of :email validates_uniqueness_of :password, :login ,:message =Sudah
Digunakan validates_format_of :email,:with = [\s]+?:[-a-z0-
9]+\.+[a-z]{2,}i,:message =Penulisan Email Anda Salah
has_many :books has_many :videos
has_many :comments has_many :commentvideos
def self.authenticatelogin,password find:first, :conditions = [login = ? and password = ?,login,
Digest::SHA1.hexdigestpassword] end
def password=value write_attributepassword, Digest::SHA1.hexdigestvalue
end end
Terlihat terdapat validasi untuk inputan user, relasi dan pengenkripsian password. Berikut ini penjelasannya:
A. Pengecekan validasi inputan user
1 Apakah tidak ada yang kosong? Yaitu pada login, password, email, nama
depan, nama belakang, alamat, tempat lahir. Jika masih ada yang kosong maka akan muncul pesan ”harus diisi”
2 Apakah pengisian email dengan konfirmasi dari email sudah benar? Jika
masih berbeda akan muncul pesan. 3
Apakah unik? Yaitu pada pengisian password dan login. Jika sudah ada yang menggunakan maka akan muncul pesan ”Sudah digunakan”
4 Apakah penulisan format untuk email sudah benar? Untuk jenis karakter
yang boleh digunakan dan tidak boleh digunkan sudah ditentukan. Jika tidak sesuai dengan format
5 Berikut ini adalah gambar modelnya:
6 penulisan email yang sudah ditentukan akan muncul pesan kesalahan
”Penulisan email anda salah” B.
Relasi Pada relasi tersebut di atas terdapat has_many:comments. Sedangkan pada
model di comment belongs_to:user. Maksudnya adalah seorang anggota dapat menulis beberapa komentar pada sebuah buku, tetapi satu komentar
hanya dapat ditambahkan oleh seorang anggota. Berdasarkan penjelasan tersebut maka hubungan tabel antara users dan comment adalah satu banding
banyak.
C. Pengenkripsian Password
Pada pendaftaran ini password yang dimasukkan dienkripsi dengan menggunakan metode SHA1.
4.4.2 Implementasi View
View merupakan
representasi visual dari user interface atau tampilan dari suatu aplikasi. Untuk implementasi view akan dipanggil sesuai dengan action dari
controllernya.
4.5 Implementasi Aplikasi Desain Antar Muka