Perancangan Sistem ANALISA DAN PERANCANGAN SISTEM

3.2 Perancangan Sistem

Pada proses perancangan sistem digunakan untuk menggambarkan sejumlah proses terstruktur dalam sistem, berorientasikan pada aliran proses yang terjadi, agar memperjelas proses alur sistem yang dibuat. Aplikasi ini terdiri dari beberapa modul. Modul-modul tersebut saling terkait membentuk tiga bagian utama dalam aplikasi. Modul-modul tersebut antara lain: 1. Modul kategori buku, modul ini berfungsi mengatur kategori buku termasuk di dalamnya operasi penambahan, pengubahan, penampilan dan pengurangan kategori buku. 2. Modul buku, menampilkan daftar buku yang merupakan inti dari aplikasi ini, modul ini akan mengatur penambahan, pengubahan, pengurangan dan penampilan sebuah buku. 3. Modul video, menampilkan daftar video yang juga merupakan inti dari aplikasi ini selain buku, modul ini akan mengatur penambahan, pengubahan, pengurangan dan penampilan sebuah video yang sudah diupload. 4. Modul kategori video, modul ini berfungsi mengatur kategori video termasuk di dalamnya operasi penambahan, pengubahan, penampilan dan pengurangan kategori video. 5. Modul fakultas, modul ini akan mengatur proses penambahan fakultas, pengurangan, dan daftar fakultas yang sudah ditambahkan 6. Modul anggota, modul ini akan mengatur proses pendaftaran, pengubahan, penghapusan data sebuah anggota. Modul ini juga akan mengatur tampilan halaman anggota dan perbedaan fasilitas anggota dan administrator. 7. Modul komentar buku, komentar pada buku diperlukan sebagai umpan balik terhadap buku yang sudah dibuat. Modul ini mengatur penambahan, dan penghapusan komentar pada buku. 8. Modul komentar video, komentar pada video diperlukan sebagai umpan balik terhadap video yang sudah dibuat. Modul ini mengatur penambahan, dan penghapusan komentar pada video. Secara garis besar modul-modul di atas terdiri dari operasi penambahan, pengubahan, dan penghapusan. Operasi dalam pembahasan selanjutnya akan disebut dengan action. Modul-modul tersebut saling berkaitan dan dirancang membentuk tiga bagian website. Ketiga bagian website tersebut adalah halaman utama, halaman anggota dan halaman administrator. Berdasarkan penjelasan modul di atas maka perlu dibuat suatu basis data dan beberapa tabel yang digunakan untuk menyimpan informasi setiap modul. Setelah terbentuk tabel, tahap selanjutnya adalah pembuatan direktori Rails dan melakukan konfigurasi Rails dengan basisdata. Kemudian di dalam direktori Rails akan dibuat.

3.2.1 Use Case

Terdapat beberapa proses yang bisa dilakukan oleh user terhadap aplikasi. Interaksi user sebagai aktor dengan system yang digambarkan dalam suatu diagram usecase. Diagram usecase menyajikan interaksi antara usecase dengan aktor dan menggambarkan fungsionalitas sistem atau persyaratan-persyaratan yang harus dipenuhi sistem dari pandangan pemakai. Dalam sebuah sistem dimungkinkan mempunyai beberapa diagram usecase yang merupakan kelompok-kelompok yang diorganisasikan dengan tujuan tertentu. Diagram usecase mempunyai tujuan khusus yaitu mendokumentasikan beberapa aktor sesuatu yang ada diluar sistem, beberapa usecasesesuatu didalam sistem dan hubungan antar mereka. Gambar 3.1 Use Case 3.2.1.A Use Case Login Use case login berfungsi untuk melakukan verifikasi dimana hanya orang- orang tertentu yang dapat melakukan kewenangan tertentu. Fungsi untuk melakukan validasi pengguna sistem guna menentukan fungsi apa saja yang dapat dilakukan dan fungsi apa saja yang tidak boleh dilakukan oleh pengguna. Pada proses login, baik Administrator, Dosen, dan Mahasiswa harus memasukkan username dan paaword masing – masing. Jika salah akan muncul peringatan login ulang. Jika benar maka administrator akan dialihkan kemenu administrato, anggota dosen akan dialihkan kemenu anggota dosen dan anggota mahasiswa akan dialihkan kemenu anggota mahasiswa. 3.2.1.B Use Case Lihat Deskripsi Buku Pada Usecase lihat deskripsi ini terlihat 3 aktor yaitu mahasiswa, dosen dan admin. Pada lihat deskripsi buku ini aka nada informasi untuk waktu_upload, waktu update, kategori dan deskripsi buku. 3.2.1.C Use Case Unduh Buku Sebelum aktor mahasiswa, dosen dan admin dapat mengunduh buku, terlebih dahuli login sesuai dengan login dan passwors yang dimasukkan pada waktu proses pendaftaran. 3.2.1.D Use Case Tambah Buku Yang dapat menambah buku hanya aktor admin dan dosen, sedangkan mahasiswa tidak dapat melakukan kewenangan ini. Pada proses upload buku, buku yang dapat diupload hanya berformat PDF dan judul buku dengan file yang diupload harus sama, jika tidak maka tidak akan dapat diunduh untuk selanjutnya. 3.2.1.E Use Case Pendaftaran Use case ini berfungsi untuk menambah anggota dimana yang dimaksud sebagai anggota disini adalah mahasiswa dan dosen UPN “Veteran” Jawatimur serta orang lain yang memiliki kewenangan yang hampir sama dengan dosen. Proses penambahan user ini memberikan password dan username yang akan digunakan oleh user pada saat login. 3.2.1.F Use Case Ubah Buku Sama seperti halnya dengan tambah buku file yang diupload hanya berupa PDF, dan nama file dean judul harus sama. Tetapi terlihat kalau aktor yang terlibat dalam proses ubah buku hanya admin. Sedangkan dosen dan mahasiswa tidak mempunyai kewenangan hak akses untuk ubah buku. Dan file yang sebelumnya diupload akan secara otomatis diganti dengan file upload baru. 3.2.1.G Use Case Hapus Buku Pada proses hapus buku ini setelah melakukan login sebagai admin, dapat melakukan kewenangan utnuk menghapus buku dari daftar buku, akan tetapi file yang diupload belum terhapus dan masih tersimpan difolder data. 3.2.1.H Use Case Ubah Anggota Use case ini digunakan untuk melakukan proses pengubahan terhadap identitas dari anggota katalog yang bersangkutan yang bersangkutan. 3.2.1.I Use Case Hapus Anggota Use case ini berfungsi untuk menghapus anggota yang sudah tidak aktif lagi di UPN “Veteran” Jawatimur atau sudah tidak memiliki suatu kewenangan tertentu terhadap sistem katalog tersebut. 3.2.1.J Use Case Tambah Kategori Buku Satu-satunya aktor yang memiliki kewenangan untuk, menambah kategori buku adalah administrator dengan login terlebih dahulu selanjutnya mengisi form tambah kategori buku. 3.2.1.K Use Case Hapus Kategori Buku Pada hapus kategori ini dilakukan apabila kategori tersebut sudah tidak digunakan lagi atau tidak ada buku didalam kategori yang bersangkutan. 3.2.1.L Use Case Ubah Profil Semua anggota mempunyai hak akse untuk mengubah profil dari diri mereka sendiri – sendiri tetapi tidak untuk mengubah profil anggota yang lain, kecuali admin yang dapat merubah profil dari semua anggota. 3.2.1.M Use Case Lihat Anggota Use case ini berfungsi untuk menampilkan daftar anggota katalog. Aktor yang dapat melakukan kewenangan hak akses ini adalah admin. Sedangkan mahasiswa dan dosen tidak dapat melakukannya. 3.2.1.N Use Case Unduh Video Terlihat ada 3 aktor yang dapat melakukan kewenangan hak akses ini diantaranya admin, mahasiswa dan dosen dengan melakukan login terlebih dahulu. 3.2.1.O Use Case Tambah Video Sama seperti halnya tambah buku, pada usecase tambah video ini yang dapat melakukan kewenangan hak akses ini adalah dosen dan admin sedangkan mahasiswa hanya bisa untuk upload saja. Pada upload video judul video dengan nama file video yang diupload harus sama. 3.2.1.P Use Case Tambah Kategori Video Sama juga seperti pada penambahan kategori buku yang dapat melakukan hanya admin, dengan melakukan login sebagai admin terlebih dahulu. 3.2.1.Q Use Case Hapus Kategori Video Dilakukan dikarenakan kategori tersebut tidak ada video di dalamnya atau kategori tersebut sudah tidak digunakan lagi. Aktor yang dapat melakukan hapus kategori ini adalah aktor admin, dengan melakukna login sebagai admin terlebih dahulu. 3.2.1.R Use Case Tambah Jurusan Usecase tambah jurusan hanya dapat dilakukan oleh aktor admin. Dilakukan pada saat terjadi penambahan jurusan pada fakultas yang bersangkutan. 3.2.1.S Use Case Hapus Jurusan Usecase hapus jurusan hanya dapat dilakukan oleh aktor admin, sedangkan untuk aktor mahasiswa dan aktor dosen tidak dapat melakukan hapus jurusan. 3.2.1.T Use Case Tambah Fakultas Use case ini berfungsi untuk menambah fakultas bila suatu saat terjadi penambahan fakultas baru di UPN “Veteran” Jawatimur kemudian disimpan dalam database. 3.2.1.U Use Case Hapus Fakultas Yang memiliki kewenangan hak akses untuk hapus fakultas aktor admin. Sedangkan mahasiswa dan dosen tidak memiliki kewenangan. 3.2.1.V Use Case Pencarian Use case ini berfungsi dalam melakukan proses pencarian buku dan berdasarkan judul tertentu lalu menampilkan hasil-hasil pencarian tersebut. 3.2.1.W Use Case Tambah Komentar Buku Use case ini berfungsi untuk melakukan penambahan komentar pada buku. Dengan member nilai dan komentar pada buku yang dipilih. 3.2.1.W Use Case Tambah Komentar Video Use case ini berfungsi untuk melakukan penambahan komentar pada video. Dengan member nilai dan komentar pada buku yang dipilih.

3.2.2 Diagram Aktivitas

Dengan diagram use case, akan didapatkan informasi tentang bisnis apa yang organisasi lakukan tanpa rincian dari masing-masing use case. Sedangkan untuk menjelaskan bagaimana proses bisnis dilakukan yaitu dengan menggunakan diagram aktivitas Activity Diagram atau diagram aktivitas merupakan gambaran fungsionalitas dari sistem. Menunjukkan langkah-langkah kerja sama obyek-obyek di dalam usecase. Obyek apa saja yang dibutuhkan untuk aliran, pesan apa saja yang obyek kirimkan keobyek lain dan urutan-urutan pesan yang dikirm.Diagram aktivitas menunjukkan cara lain untuk memodelkan aliran kejadian. Diagram aktivitas lebih mudah untuk mengkomunikasikan langkah-langkah dalam aliran kejadian. 3.2.2A Diagram Aktivitas Login Proses login diatur oleh user_controller pada action login dengan memeriksa masukan dari username dan password dari form login. Sistem akan memeriksa apakah user login sebagai administrator dengan memeriksa password jika password administrator benar, masuk pada halaman admin, jika salah memeriksa apakah status dari user adalah sebagai dosen, jika status user adalah dosen maka akan masuk ke halaman daftar buku dengan tambahan menu tertentu yang digunakan oleh dosen, jika salah akan memeriksa lagi apakah status adalah mahasiswa jika benar masuk ke halaman daftar buku, jika login masih salah akan muncul pesan untuk login ulang. Gambar 3.2 Diagram Aktivitas Login 3.2.2.B Diagram Aktivitas Lihat Deskripsi Buku Gambar 3.3 Diagram Aktivitas Lihat Deskripsi Buku Lihat deskripsi dapat dilakukan oleh seluruh pengunjung baik yang dusah terdaftar sebagai anggota maupun belum terdaftar sebagai anggota. Proses lihat deskripsi ditampilkan oleh a:action=’show’ berdasarkan id oleh book_controller. 3.2.2.C Diagram Aktivitas Unduh Buku Di bawah ini adalah gambar diagram aktivitas unduh buku: Gambar 3.4 Diagram Aktivitas Unduh Buku start tambah buku book_controller menampilkan new.rhtml mengisi form tambah buku simpan? upload buku tampilkan pesan sukses end book_controller menampilkan new.rhtml mengisi form tambah buku simpan? upload buku tampilkan pesan sukses tambah buku book_controller menerima permintaan :action=new apakah terjadi kesalahan? tampilkan informasi kesalahan ya book_controller berkomunikasi dengan active record apakah terjadi kesalahan? tidak tidak ya tidak ya ya tidak tidak ya system dosen administrator Setelah login baik login sebagai administrator,anggota dosen dan anggota mahasiswa, maka akan dapat mengunduh buku.Proses mengunduh buku ditampilkan oleh :action=’download_pdf’ pada book_controller dengan metode send_file. 3.2.2.D Diagram Aktivitas Tambah Buku Di bawah ini adalah gambar diagram aktivitas tambah buku: Gambar 3.5 Diagram Aktivitas Tambah Buku Yang dapat menambah buku adalah administrator dan anggota dosen, dengan loginterlebih dahulu. Login administrator sebagai administrator dan login sebagai anggota dosen pada dosen. Dengan meminta pada browser ner.rhtml maka pengunjung mengisi data pada form pendaftaran start pendaftaran user_controller menampilkan new.rhtml pengunjung mengisi data pada form pendaftaran end tampilkan pesan sukses tam pilkan informasi kesalahan user_controller menampilkan new.rhtml tampilkan pesan sukses pendaftaran tam pilkan informasi kesalahan user_controller menerima perm intaan :action=new apakah ada kesalahan? user_controller berkomunikasi dengan active record ada tidak ada system mahasisw a dosen book_controller yang menerima permintaan tersebut akan mmenampilkan form new.rhtml. Setelah selesai mengisi form buku akan diperiksa kevalidannya oleh system jika benar book_controller akan berkomunikasi dengan active record untuk menyimpan data baru pada database dan dilanjutkan dengan upload buku. Selanjutnya system akan memeriksa kevalodan drai buku yang diupload, jika salah maka akan kembali pada upload buku tetapi jika sudah benar file dari buku tersebut akan disimpan pada direktori publikdata. 3.2.2.E Diagram Aktivitas Pendaftaran Di bawah ini adalah diagram aktivitas pendaftaran: Gambar 3.6 Diagram Aktivitas Pendaftaran Untuk melakukan pendaftaran anggota maka pengunjung dapat memilih ‘pendaftaran’ yang akan menampilkan view dari action=’new’ pada browser yaitu new.rhtml. Untuk username mahasiswa harus mengisikan NPM sedangkan dosen mengisikan NPT. Pengisian username tersebut akan diproses oleh sistem untuk memeriksa kevalidan masukkannya. Jika terjadi kesalahan akan ditampilkan informasi kesalahan yang dilakukan dan akan kembali pada pengisian form, tetapi jika sudah benar user_controller akan berkomunikasi dengan active record untuk menyimpan data baru pada database. Data anggota akan disimpan pada tabel user selanjutnya akan ditampilkan pesan anda sudah terdaftar sebagai anggota. 3.2.2.F Diagram Aktivitas Ubah Buku Di bawah ini adalah gambar diagram aktivitas ubah buku: Gambar 3.7 Diagram Aktivitas Ubah Buku start pilih buku yang dihapus hapus buku konfirmasi pesan hapus buku apakah anda yakin untuk menghapus? buku terhapus end book_controller menerima permintaan :action=delete book_controller berkomunikasi dengan active record tidak ya system administrator Pada ubah buku yang dapat melakukan hanya administrator tetapi sebelumnya login sebagai administrator terlebih dahulu. Dengan :action=’edit’ pada book_controller dan disimpan oleh :action=’update’. Dan akan berkomunikasi dengan active record untuk emnyimpan hasil perubahan buku.Setelah proses perubahan buku selesai dilakukan maka akan ditampilkan pesan sukses jika prosesnya benar tetapi jika prosesnya salah akan ditampilkan pesan kesalahan yang dilakukan. Hasil perubahan buku akan tersimpan dalam database. Dan file yang diupload akan tersimpan dalam direktori public. 3.2.2.G Diagram Aktivitas Hapus Buku Di bawah ini adalah gambar diagram aktivitas hapus buku: Gambar 3.8 Diagram Aktivitas Hapus Buku start piliha nggota yang dirubah merubah anggota admin_controller menampilkan edit.rhtml admin menggubah profil anggota simpan? profil anggota berubah end end admin_controller menerima permintaan :action=edit apakah terjadi kesalahan? tampilkan informasi kesalahan admin_controller berkomunikasi dengan activrecord ya tidak ya tidak system administrator Setelah melakukan login sebagai administrator, dengan :action=’delete’ pada book_controller akan menghapus buku sesuai pilihan. Active record akan berkomunikasi dengan book_controller dan akan menghapus buku dari table buku. 3.2.2.H Diagram Aktivitas Ubah Anggota Di bawah ini adalah gambar diagram aktivitas ubah anggota: Gambar 3.9 Diagram Aktivitas Ubah Anggota Administrator terlebih dahulu login sebgai administrator. Administrator dapat mengubah profil dari semua anggota. Admin_controller yang sudah menerima permintaan pada :action=’edit’ maka akan dialihkan kehalaman edit.rhtml. Isian admin pada form edit.rhtml akan diperiksa oleh sistem untuk kevalidan masukan, jika salah akan ditampilkan informasi dari kesalahannya dan kembali pada form edit.rhtml tetapi jika sudah benar admin_controller akan berkomunikasi dengan active record untuk menyimpan data baru pada database. Data disimpan pada tabel user. 3.2.2.I Diagram Aktivitas Hapus Anggota Di bawah ini adalah gambar diagram aktivitas hapus anggota: Gambar 3.10 Diagram Aktivitas Hapus Anggota Setelah login sebagai administrator, maka akan dapat menghapus angggota dengan user_controller pada :action=’delete’ akan menampilkan konfirmasi start menambah kategori category_controller menampilkan form new.rhtm l mengisi nama kategori sim pan? end category_controller m enerim a perm intaan :action=new apakah terjadi kes alahan? tam pilkan inform as i kesalahan ya category_controller berkom unikasi dengan active record tidak ya tidak system administrator untuk menghapus, jika tidak maka akan kembali pada daftar anggota tetapi jika ya maka anggota tersebut akan dihapus dari database dan kolom pada table buku yang terdapat foreign_key id_user akan dibuat menjadi null. Hal ini dimaksudkan buku yang diupload oleh anggota tersebut tidak ikut terhapus juga tetapi id_user dibuat menjadi null. 3.2.2.J Diagram Aktivitas Tambah Kategori Buku Yang dapat menambah kategori buku adalah administrator dengan login sebagai administrator terlebih dahulu. Penambahan kategori buku diatur oleh category_controller dengan :action-’new’ dan akan menampilkan penambahan form dengan menggunakan RJS Ruby Java Script. Gambar 3.11 Diagram Aktivitas Tambah Kategori Buku 3.2.2.K Diagram Aktivitas Ubah Profil Sebelum melakukan ubah profil diasumsikan sudah melakukan login terlebih dahulu. Proses perubahan profil ditampilkan oleh action edit dan disimpan oleh action update pada user_controller. Pada aktivitas ubah profil ini berhubungan dengan active record karena terjadi perubahan dengan database. Setelah itu profil dari anggota tersebut akan berubah sesuai dengan inputan yang dimasukkan pada waktu ubah profil. Action yang berperan dalam proses ubah profil ini adalah action edit yang teruskan oleh action update. Action edit untuk memanggil edit.rhtml pada view. Untuk lebih jelasnya dapat dilihat pada gambar diagram aktivitas di bawah ini: Gambar 3.12 Diagram Aktivitas Ubah Profil start pilih kategori yang dihapus menghapus kategori kategori terhapus end category_controller menerim a :action=delete category_controller berkomunikasi dengan active record system administrator s tart pilih anggota yang dilihat lihat anggota us er_controller menmpilkan s how.rhtml berdas arkan id end us er_controller menerima perm intaan:action=s how system administrator 3.2.2.L Diagram Aktivitas Lihat Anggota Sebelum masuk pada lihat anggota administrator harus login sebagai administrator. Administrator dapat melihat profil dari semua anggota dengan user_controller menerima permintaan :action=’show’ maka akan ditampilkan form show.rhtml berdasarkan id_user. Gambar 3.13 Diagram Aktivitas Lihat Anggota 3.2.2.M Diagram Aktivitas Hapus Kategori Buku Gambar 3.14 Diagram Aktivitas Hapus Kategori Buku Setelah login sebagai administrator, maka akan dapat menghapus kategori buku dengan :action=’delete’ pada category_controller. Penghapusan kategori ini menggunakan ajax. Buku yang berada dalam kategori buku tersebut tidak akan ikut terhapus tetapi pada table buku untuk category_id akan manjadi null 3.2.2.N Diagram Aktivitas Unduh Video Sama seperti halnya pada proses unduh buku, baik aktor administrator, hasiswa dan dosen harus melakukan login terlebih dahulu. Proses mengunduh video daitur oleh fungsi video_controller dan akan dikirimkan kembali dengan metode send_file. Gambar 3.15 Diagram Aktivitas Unduh Video 3.2.2.O Diagram Aktivitas Tambah Kategori Video pada diagram aktivitas tambah kategori video hanya aktor sebagai administrator yang memiliki fasilitas untuk tambah kategori video. Fungsi penambahan kategori video diatur oleh fungsi categoryvideo_controller dengan start menambah kategori video categoryvideo_controller menampilkan form new.rhtml mengisi nama kategori video simpan? end categoryvideo_controller menerima permintaan :action=new tampilkan informasi kesalahan Apakah terjadi kesalahan? categoryvideo_controller berkomunikasi dengan active record system administrator meminta action new.rhtml yang akan menampilkan form untuk pengisian kategori video. Gambar 3.16 Diagram Aktivitas Tambah Kategori Video 3.2.2.P Diagram Aktivitas Tambah Video Pada diagram aktivitas tambah video ini sama seperti pada tambah buku. Baik administrator maupun dosen harus melakukan login terlebih dahulu untuk dapat melakukan fasulitas tambah video. Diatur oleh fungsi video_controller dengan meminta action new.rhtml, selanjutnya akan ditampilkan kembali form hasil permintaan tadi, Untuk proses penyimpanannya akan berkomunikasi dengan active record dilanjutkan untuk mengupload file video. s tart pilih kategeri video yang akan dihapus kategori video terhapus end menghapus kategori video categoryvideo_controller m enerim a perimintaan :action=delete categoryvideo_controller berkomunikasi dengan activerecord system administrator Gambar 3.17 Diagram Aktivitas Tambah Video 3.2.2.Q Diagram Aktivitas Hapus Kategori Video Gambar 3.18 Diagram Aktivitas Hapus Kategori Video start menambah jurusan jurusan_controller menampilkan form new.rhtml mengisi nama jurusan sim pan? end jurusan_controller menerima permintaan :action=new Apakah terjadi kesalahan? tampilkan informasi kesalahan jurusan_controller berkomunikasi dengan active record tidak ya ya tidak system administrator Satu-satunya aktor yang memiliki fasilitas untuk menghapus kategori video adalah administrator. Setelah login sebagai administrator maka akan dapat melakukan kewenangan ini. Fungsi penghapusan kategori video diatur oleh fungsi categoryvideo_controller dengan meminta action delete selanjutnya berkomunikasi dengan activerecord dan kategori video akan terhapus. 3.2.2.R Diagram Aktivitas Tambah Jurusan Fasilitas Penambahan jurusan diatur oleh fungsi jurusan_controller dengan meminta action new.rhtml selanjutnya akan ditampilkan form dari new.rhtml. Setelah selesai pengisian akan berkomunikasi dengan active record dan jurusan yang telah ditambahkan akan tersimpan dalam database. Gambar 3.19 Diagram Aktivitas Tambah Jurusan 3.2.2.S Diagram Aktivitas Pencarian Melalui fasilitas pencarian, pengunjung dapat melakukan pencarian buku dan video berdasarkan kata kunci yaitu judul. Pencarian buku dan video dengan kata kunci dilakukan dengan menulis kata kunci ke dalam form. Setelah itu hasil pencarian akan langsung terlihat tanpa menekan tombol. Pencarian ini menggunakan ajax. Hasil dari pencarian jika belum login dengan sudah login akan mengalami perbedaan. Perbedaannya adalah jika login sebagai anggota dosen atau anggota mahasiswa akan ada tambahan link untuk unduh buku atau unduh video, melainkan jika login sebagai administrator akan mendapat tambahan link untuk unduh buku, ubah buku, dan hapus buku dan unduh video, ubah video dan hapus video. Pertama browser akan mengirimkan permintaan sesuai kata kunci yang dimasukkan ke controller. Gambar 3.20 Diagram Aktivitas Pencarian Selanjutnya controller akan membuat view yaitu pencarian.rhtml. Jika buku atau video tidak ada maka akan menampilkan pesan tidak ada tetapi jika buku atau video yang dicari ada maka dengan render :partial = ‘book’ pada buku start pilih jurusan yang dihapus menghapus jurusan jurusan terhapus end jurusan_controller menerima permintaan :action=delete jurusan_controller berkomunikasi dengan active record system administrator dan render :partial = ‘video’ pada video akan menampilkan hasil pencarian. Pada saat memasukkan kata kunci baik huruf besar maupun huruf kecil semua dianggap sama yaitu huruf kecil 3.2.2.T Diagram Aktivitas Hapus Jurusan Diagram aktivitas hapus jurusan diatur oleh fungsi jurusan_controller dengan meminta action delete dan selnjutnya berkomunikasi dengan active record dan jurusan yang bersangkutanpun akan terhapus. Gambar 3.21 Diagram Aktivitas Hapus Jurusan 3.2.2.U Diagram Aktivitas Tambah Fakultas Diagram aktivitas tambah fakultas diatur oleh fungsi fakultas_controller. Pertamanya dengan memilih tambah fakultas kemudian akan ditampilkan form new.rhtml dari fungsi fakultas_controller dan akan berkomunikasi dengan active tecord untuk menyimpan hasil penambahan fakultas pada database. start menambah fakultas fakultas_controller menampilkan new.rhtml mengisi nama fakultas simpan? end fakultas_controller menerima permintaan :actin=new tampilkan informasi kesalahan Apakah terjadi kesalahan? fakultas_controller berkomunikasi dengan active record tidak ya ya tidak system administrator start pilih fakultas yang dihapus menghapus fakultas fakultas terhapus end fakultas_controller menerima permintaan :action=delete jurusan_controller berkomunikasi dengan active record system administrator Gambar 3.22 Diagram Aktivitas Tambah Fakultas 3.2.2.V Diagram Aktivitas Hapus Fakultas Gambar 3.23 Diagram Aktivitas Hapus Fakultas Untuk diagram aktivitas hapus buku ini pertamanya administrator login terlebih dahulu sebagai admin, selanjutnya memilih fakultas yang akan dihapus, dan fungsi fakultas_controller akan mengaturnya dengan meminta action delete. Fakultas_controller berkomunikasi dengan activerecord untuk mengapus fakultas pada database. 3.2.2.W Diagram Aktivitas Tambah Komentar Buku Untuk diagram aktivitas tambah komentar buku ini diatur oleh comment_controller dengan actionnya comment. Yang harus diisikan pada saat penambahan komentar adalah nama komentar dan nilai. Gambar 3.24 Diagram Aktivitas Tambah Komentar Buku 3.2.2.X Diagram Aktivitas Tambah Komentar Video Sama seperti halnya pada diagram aktivitas penambahan komentar pada buku. Yang perlu diisikan adalah komentar dan nilai tapi perbedaannya pada pengaturan controllernya jika pada penambahan video diatur oleh commentvideo_controller dengan action commentvideo.rhtml Gambar 3.25 Diagram Aktivitas Tambah Komentar Buku

3.2.3 Perancangan UML

Daftar tabel dalam basisdata dapat dilihat pada Tabel 3.1: Tabel 3.1 Daftar Tabel Dalam Basis Data No Nama tabel Fungsi 1 Categories Menyimpan informasi tentang kategori buku 2 Categoryvideos Menyimpan informasi tentang kategori video 3 Videos Menyimpan daftar video 4 Books Menyimpan daftar buku 5 Comments Menyimpan daftar komentar masing-masing buku 6 Commentvideos Menyimpan daftar komentar masing-masing video 7 Fakultas Menyimpan daftar fakultas 8 Jurusans Menyimpan daftar jurusan 9 Users Menyimpan data anggota 10 session History user yang pernah melakukan login. 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 terdapat 11 kelas yaitu books, categories, categoryvideos, comment, commentvideos, fakultas, jurusans, users dan videos, uploadbook dan uploadvideo. Terlihat pada diagram kelas user berelasi dengan 4 kelas diantaranya commentvideo,commentbook, book dan video. Relasi dari user kecommentbook adalah one to many artinya artinya user dapat menambah banyak komentar buku. Begitu juga pada commentvideo adalah one to many artinya user dapat menambah banyak komentar video. Relasi dari user ke book adalahone to many. Pada kelas user hak aksesnya terbagi menjadi 2 yaitu user sebagai mahasiswa dan user sebagai dosen yang masing-masing mempunyai hak akses yang berbeda-beda. Gambar 3.26 Diagram Kelas Jika sebagai dosen relasi user kebook artinya user dapat menambah banyak buku dan user dapat mengunduh banyak buku. Sedangkan jika user sebagai mahasiswa adalah user dapat mengunduh banyak buku karena user tidak dapat mengunduh buku. Sama seperti halnya pada video sama dengan buku yang sudah dijelaskan. Untuk kelas book memiliki relasi dengan 3 kelas yaitu commentbook, user dan categorybook. Relasi dari book ke commentvideo adalah one to many artinya satu buku bisa berisi banyak komentar buku. Sedangkan relasi dari book kecategorybook adalah many to one artinya dalam satu kategori buku bias berisi banyak buku. Untuk kelas video sama seperti kelas book memiliki dengan 3 kelas yaitu commentvideo, user dan categoryvideo. Relasi video dengan commentvideo memiliki arti yang sama dengan book dengan commentbook. Sedangkan untuk relasi video dengan categoryvideo memiliki arti yang sma dengan book dengan commentbook. Untuk kelas jurusan memiliki relsi dengan 3 kelas lainnya diantaranya kelas fakultas, commentvideo, dan commentbook. Relasi fakultas ke jurusan adalah one to many artinya satu fakultas dapat berisi banyak jurusan. Relasi dari jurusan kecommentbook adalah one to many artinya satu jurusan dapat berisi banyak kategori buku. Sama seperti halnya pada relasi dari jurusan kecategoryvideo sama dengan relasi dari jurusan kecategorybook. Untuk kelas uploadbook dan uploadvideo tidak mempunyai hubungan kekelas manapun dikarenakan tidak ada relasi yang berhubungan dengan kelas itu. Setelah terbentuk basisdata dan diagram kelas, proses selanjutnya adalah pembuatan direktori Rails dan melakukan konfigurasi supaya Rails terhubung dengan basisdata seperti yang sudah dibahas sebelumnya.

3.2.4 Pembuatan Model, View dan Controller

Pada Tugas Akhir ini pembuatan Model, View dan Controller akan dibuat secara otomatis dengan rails scaffold. Instruksi scaffold pada Rails adalah ruby scriptgenerate scaffold nama_tabel_dalam_kata_tunggal nama_controller Contoh pembuatan scaffold pada modul kategori. Modul kategori mempunyai tabel bernama categories, jadi penulisan instruksi dalam direktori adalah sebagai berikut Gambar 3.27 Sintak Scaffold Dengan melihat potongan kode di atas diketahui bahwa scaffold akan membuat model dalam direktori appmodels bernama category.rb ekstensi .rb menerangkan bahwa file dibentuk oleh Ruby dan controller di dalam direktori appcontrollers. Dengan cara yang sama akan dibuat scaffold pada semua modul. Ringkasan model dan controller yang telah dibuat dapat dilihat pada Tabel 3.2 Tabel 3.2 Tabel Model dan Controller No Nama Modul Nama Tabel Nama Model Nama Controller 1 buku books book book_controller 2 kategori buku categories category category_controller 3 kategori video categoryvideos categoryvideo categoryvideo_controller 4 komentar buku comments comment comment_controller 5 komentar video commentvideos commentvideo commentvideo_controller 6 fakultas fakultas fakultas fakultas_controller 7 jurusan jurusans jurusan jurusan_controller 8 anggota users user user_controller 9 video videos video video_controller Dengan menggunakan scaffold maka semua modul mempunyai view bernama list.rhtml, new.rhtml, show.rhtml, edit.rhtml dan _form.rhtml dan controller mempunyai action antara lain, new, edit, create, update, destroy, show, list, dan index. Views akan disimpan di dalam direktori appviewsnama_model. Model, View dan Controller pada masing-masing modul sudah dibuat. Langkah selanjutnya adalah melakukan penyesuaian model pada setiap modul agar sesuai dengan hubungan antar tabel dalam basisdata.

3.2.5 Pemetaan relasi tabel ke dalam Model

Relasi antar tabel associations pada basisdata berpengaruh pada hubungan model. Relasi tabel seperti one-to-many relationship akan dipetakan ke dalam model

3.2.5.1 Relasi model Fakultas dengan Jurusan

Sebuah fakultas mempunyai banyak jurusan, sedangkan satu fakultas hanya dimiliki oleh satu jurusan. Relasi fakultas dengan jurusan adalah one-to- many relationship. Jadi di dalam model Fakultas dapat dituliskan instruksi class Fakultas ActiveRecord::Base has_many :jurusans end sedangkan di dalam model jurusan dituliskan instruksi, class Jurusan ActiveRecord::Base belongs_to :fakultas end

3.2.5.2 Relasi jurusan dengan category

Sebuah jurusan dapat memiliki beberapa category buku, akan tetapi sebuah category buku hanya untuk satu jurusan. Berdasarkan penjelasan tersebut maka relasi table jurusan dan category adalah satu banding banyak. Jadi penulisan instruksi dalam model jurusan adalah sebagai berikut class Jurusan ActiveRecord::Base has_many :categories belongs_to :fakultas end Dan di dalam model category dapat dituliskan instruksi sebagai berikut class Category ActiveRecord::Base belongs_to :jurusan end

3.2.5.3 Relasi jurusan dengan categoryvideos

Sebuah jurusan dapat memiliki beberapa category video, akan tetapi sebuah category video hanya untuk satu jurusan. Berdasarkan penjelasan tersebut maka relasi table jurusan dan categoryvideos adalah satu banding banyak. Jadi penulisan instruksi dalam model jurusan adalah sebagai berikut class Jurusan ActiveRecord::Base has_many :categories has_many :categoryvideos belongs_to :fakultas end Dan di dalam model categoryvideo dapat dituliskan instruksi sebagai berikut class Categoryvideo ActiveRecord::Base belongs_to :jurusan end

3.2.5.4 Relasi model Category dengan Book

Sebuah kategori buku mempunyai banyak buku, sedangkan satu buku hanya dimiliki oleh satu kategori buku. Relasi kategori buku dengan buku adalah one-to-many relationship. Jadi di dalam model Category dapat dituliskan instruksi class Category ActiveRecord::Base has_many :books belongs_to :jurusan end sedangkan di dalam model Book dituliskan instruksi, class Book ActiveRecord::Base belongs_to :category end

3.2.5.5 Relasi model Categoryvideo dengan Video

Sebuah kategori video mempunyai banyak video, sedangkan satu video hanya dimiliki oleh satu kategori video. Relasi kategori video dengan video adalah one-to-many relationship. Jadi di dalam model Categoryvideo dapat dituliskan instruksi class Categoryvideo ActiveRecord::Base has_many :videos belongs_to :jurusan end sedangkan di dalam model Video dituliskan instruksi, class Video ActiveRecord::Base belongs_to :categoryvideo end

3.2.5.6 Relasi model Book dengan Comment

Sebuah buku dapat memiliki beberapa komentar, tetapi sebuah komentar hanya dimiliki sebuah buku. Sehingga hubungan tabel buku dengan komentar adalah one-to-many. Jadi di dalam model Book dapat dituliskan class Book ActiveRecord::Base belongs_to :category has_many :comments end Kemudian di dalam model Comment dapat dituliskan instruksi, class Comment ActiveRecord::Base belongs_to: book end

3.2.5.7 Relasi model Video dengan Commentvideo

Sebuah video dapat memiliki beberapa komentar, tetapi sebuah komentar hanya dimiliki sebuah video. Sehingga hubungan tabel video dengan komentar adalah one-to-many. Jadi di dalam model Video dapat dituliskan class Video ActiveRecord::Base belongs_to :categoryvideo has_many :commentvideos end Kemudian di dalam model Commentvideo dapat dituliskan instruksi, class Commentvideo ActiveRecord::Base belongs_to: video end

3.2.5.8 Relasi model User dengan Comment

Seorang anggota juga 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. Jadi penulisan instruksi dalam model User adalah sebagai berikut class User ActiveRecord::Base has_many :books has_many :videos has_many :comments end sedangkan di dalam model Comment dapat dituliskan instruksi sebagai berikut class Comment ActiveRecord::Base belongs_to: book belongs_to: comment end

3.2.5.9 Relasi model User dengan Commentvideo

Seorang anggota juga dapat menulis beberapa komentar pada sebuah video, tetapi satu komentar hanya dapat ditambahkan oleh seorang anggota. Berdasarkan penjelasan tersebut maka hubungan tabel antara users dan commentvideo adalah satu banding banyak. Jadi penulisan instruksi dalam model User adalah sebagai berikut class User ActiveRecord::Base has_many :books has_many :videos has_many :commentvideos end sedangkan di dalam model Commentvideo dapat dituliskan instruksi sebagai berikut class Commentvideo ActiveRecord::Base belongs_to: book belongs_to: commentvideo end

3.2.5.10 Relasi model Book dengan User

Hubungan tabel anggota dengan buku adalah one-to-many. Sehingga di dalam model user dapat dituliskan class User ActiveRecord::Base has_many :books has_many :comments has_many :commentvideos end Kemudian di dalam model Book dapat dituliskan instruksi, class Book ActiveRecord::Base belongs_to :category belongs_to :user has_many :comments end

3.2.5.11 Relasi model Video dengan User

Seorang anggota dapat memiliki beberapa video, tetapi sebuah video hanya dimiliki seorang anggota. Hubungan tabel anggota dengan video adalah one-to-many. Sehingga di dalam model user dapat dituliskan class User ActiveRecord::Base has_many :books has_many :videos has_many :comments has_many :commentvideos end Kemudian di dalam model Video dapat dituliskan instruksi, class Video ActiveRecord::Base belongs_to :category belongs_to :user has_many :comments end langkah selanjutnya dalam pembuatan tugas akhir ini adalah membahas mengenai proses desain dari aplikasi yang dibuat.

3.2.6 Spesifikasi Kebutuhan Sistem

Spesifikasi kebutuhan sistem mengenai pengguna sistem aplikasi dan hak aksesnya, masukan dan keluaran sistem, dan komunikasi data.

3.2.6.1 Level Pengguna dan Hak Akses

Pada Katalog Online ini terbagi atas 3 aktor yang masing-masing memiliki hak akses yang berbeda-beda seperti yang ditunjukkan pada tabel 3.3. Tabel 3.3 Tabel Pembagian Hak Akses Keterangan: C : Menciptakan yaitu menambahkan data dari modul tertentu. R : Membaca yaitu melihat deskripsi dari modul tertentu. U : Mengedit yaitu mengubah isi dari data tertentu. D : Menghapus yaitu Menghapus modul tertentu. W : Download yaitu mengunduh modul terntentu.

3.2.6.2 Alur Sistem Website

Aplikasi Katalog Online UPN “Veteran” Jawa Timur Berbasis Framework Ruby On Rails Dengan Menggunakan Metode MVC Model View Controller ini memiliki alur sistem seperti berikut : a. Alur Sistem Administrator Administrator merupakan aktor yang bertugas untuk menjaga agar sistem menjalankan semua fungsinya dengan baik. Yang termasuk dalam administrator adalah orang-orang yang diberi wewenang oleh system owner untuk melakukan maintenance terhadap sistem. Seorang administrator harus melakukan login terlebih dahulu agar bisa masuk ke website ini. Pada waktu login administrator harus memasukkan username dan password, bila administrator memasukkan username dan password salah, maka sistem akan menampilkan pesan login ulang, agar memasukkan username dan password lagi dengan benar. Setelah memasukkan username dan password dengan benar maka administrator akan masuk ke halaman administrator, b. Alur Sistem Dosen Seorang anggota dosen harus melakukan login terlebih dahulu agar bisa masuk website ini. Pada waktu login dosen harus memasukkan username dan password, bila dosen memasukkan username dan password salah, maka sistem akan menampilkan pesan login ulang, agar memasukkan username dan password lagi dengan benar. Setelah memasukkan username dan password dengan benar maka dosen akan masuk kehalaman anggota dosen: c. Alur Sistem Mahasiswa Seorang anggota mahasiswa harus melakukan login terlebih dahulu agar bisa masuk website ini. Pada waktu login mahasiswa harus memasukkan username dan password, bila mahasiswa memasukkan username dan password salah, maka sistem akan menampilkan pesan login ulang, agar memasukkan username dan password lagi dengan benar. Setelah memasukkan username dan password dengan benar maka mahasiswa akan masuk kehalaman anggota dosen.

3.3 Perancangan Antarmuka