CI: Online Library Project #3 – Model


Selanjutnya mengenai model. Apakah model? Model itu kira-kira yang melakukan interaksi dengan database di level aplikasi. Jadi semua yang berhubungan database merupakan fungsi model. Karena ada 3 database maka terdapat 3 model juga. (Mungkin begitu, tapi entahlah, baru menyadari saat menulis ini)

Model-model tersebut adalah:

Book_model
Merupakan bagian dari aplikasi yang memodelkan tentang buku. Adapun fungsi-fungsi di model ini:

add_book() – menerima respon user dari input->post (library input CI, intinya menggunakan masukan _POST) dan melakukan validasi memanfaatkan library form_validation dari CI. Jika data valid, maka akan diinsert ke database buku, dan menyimpan message ke flashdata (library session CI, disimpan di cache yang tersimpan selama 1 respon dari user). Jika tidak valid maka message yang disimpan adalah pesan kegagalan.

get_book($book_id) – mengembalikan row di database dengan id_buku $book_id.

retrieve_book() – mengembalikan seluruh database buku, dan dengan menambahkan jumlah buku yang sedang dipinjam untuk tiap buku.

search() – mengembalikan buku sesuai dengan kriteria yang diberikan oleh user. Kriteria pencarian dapat berupa judul buku dan penulisnya. Digunakan fungsi LIKE dengan wildcard % didepan dan belakang kriteria, jadi kriteria pencarian dapat dibiarkan kosong dan akan mengembalikan seluruh buku. (LIKE %$judul% AND LIKE %author%)

Pinjam_model
Jika berkaitan dengan pinjam-meminjam maka model yang ini yang digunakan..

all_peminjaman() – mengembalikan semua daftar peminjaman yang bukunya belum dikembalikan. Tinggal lihat dari tabel peminjaman dengan tanggal_kembali NULL

book_history($id_buku) – mengembalikan semua daftar peminjaman dengan id_buku = $id_buku, baik yang sudah dikembalikan maupun yang belum dikembalikan.

kembali_buku($id_buku,$NIM) – mengembalikan buku. Di level databasenya berarti mengupdate tanggal_kembali row peminjaman dengan $id_buku dan $NIM  dengan tanggal sekarang.

pinjam_buku($id_buku, $NIM) – menambahkan ke tabel peminjaman, id_buku dan NIM, dan tanggal_pinjam dengan tanggal sekarang.

user_history($NIM) – mengembalikan tabel peminjaman yang memiliki kolom NIM=$NIM.

view_pinjaman() : mengembalikan tabel peminjaman yang berisikan buku-buku yang sedang dipinjam user saat ini.

Ion_auth_model
Berkaitan dengan user, termasuk sistem login dan registrasinya. Karena library orang, lebih lengkap baca disumbernya langsung😛 Ion_auth

 

Oke modelnya udah selesai, tinggal controller, dan bagaimana viewnya. Karena sistem kerjanya waterfall dan kalau ada kesalahan ditambal disana ditambal disini, maka penjelasan untuk yang controller akan ditunda untuk waktu yang tidak ditentukan😛 hehe..

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s