Model Sistem Rekomendasi pada Informal E-Learning Menggunakan Metode Collaborative Filtering dengan Algoritma Slope One

id{ count+=1; sum += row[rate]; } } return sumcount; } }

b. Model

File Artikel_m.php adalah file model yang digunakan dalam pengelolaan database dari controller artikel.php. ?php class Artikel_m extends CI_Model{ function __construct{ parent::__construct; } function get_all_artikel{ this-db-select kategori.nama_kategori as nama_kategori, subjek.nama_subjek as nama_subjek, artikel.judul as judul, artikel.id as id, SELECT countkomentar FROM komentar where komentar.artikel_id = artikel.id AS jlh_komentar, artikel.tanggal_ditulis as tanggal_ditulis, artikel.tanggal_diedit as tanggal_diedit, artikel.isi as isi, artikel.status as status, artikel.sumber as sumber ; this-db-whereartikel.id_kategori = kategori.id; this-db-whereartikel.id_subjek = subjek.id; this-db-joinkategori, kategori.id = artikel.id_kategori; this-db-joinsubjek, subjek.id = artikel.id_subjek; return this-db-getartikel; } function get_kategori_by_idkategori{ this-db-selectnama_kategori; this-db-whereid, kategori; kat = this-db-getkategori; return kat-rownama_kategori; } function get_subjek_by_idsubjek{ this-db-selectnama_subjek; this-db-whereid, subjek; kat = this-db-getsubjek; return kat-rownama_subjek; } function get_artikel_terbaru limit = null, start = null{ this-db-select artikel.id as id, artikel.id_kategori as id_kategori, artikel.id_subjek as id_subjek, kategori.nama_kategori as nama_kategori, subjek.nama_subjek as nama_subjek, SELECT countkomentar FROM komentar where komentar.artikel_id = artikel.id AS jlh_komentar, artikel.judul as judul, artikel.isi as isi, artikel.tanggal_ditulis as tanggal_ditulis ; this-db-order_bytanggal_ditulis, DESC; iflimit{ ifstart{ this-db-limitlimit, start; } else{ this-db-limitlimit; } } this-db-joinkategori, kategori.id = artikel.id_kategori; this-db-joinsubjek, subjek.id = artikel.id_subjek; return this-db-getartikel; } function get_artikel_by_komentar{ this-db-select artikel.id as id, kategori.nama_kategori as nama_kategori, artikel.judul as judul, subjek.nama_subjek as nama_subjek, SELECT countkomentar FROM komentar where komentar.artikel_id = artikel.id AS jlh_komentar, ; this-db-order_byjlh_komentar, DESC; this-db-limit4; this-db-joinkategori, kategori.id = artikel.id_kategori; this-db-joinsubjek, subjek.id = artikel.id_subjek; return this-db-getartikel; } function get_artikel_by_rating{ this-db-select artikel.id as id, kategori.nama_kategori as nama_kategori, artikel.judul as judul, subjek.nama_subjek as nama_subjek, SELECT sumrating_valuecountrating_value FROM rating where rating.id_artikel = artikel.id AS rating, ; this-db-order_byrating, DESC; this-db-limit4; this-db-joinkategori, kategori.id = artikel.id_kategori; this-db-joinsubjek, subjek.id = artikel.id_subjek; return this-db-getartikel; } function get_jumlah_komentarid{ this-db-wherecountartikel_id, id; this-db-getkomentar; } function terkaitid{ this-db-select; this-db-whereid_subjek = SELECT `id_subjek` FROM `artikel` WHERE `id` =.id.; this-db-whereid =, id; this-db-limit5; return this-db-getartikel; } function get_artikel_detailid{ this-db-select kategori.nama_kategori as nama_kategori, subjek.nama_subjek as nama_subjek, artikel.judul as judul, artikel.id as id, artikel.penulis as penulis, artikel.tanggal_ditulis as tanggal_ditulis, artikel.tanggal_diedit as tanggal_diedit, artikel.isi as isi, artikel.status as status, artikel.sumber as sumber ; this-db-whereartikel.id_kategori = kategori.id; this-db-whereartikel.id_subjek = subjek.id; this-db-whereartikel.id, id; this-db-joinkategori, kategori.id = artikel.id_kategori; this-db-joinsubjek, subjek.id = artikel.id_subjek; return this-db-getartikel; } function get_artikel_by_kategorikategori, limit = null, start = null{ this-db-select artikel.id as id, artikel.judul as judul, artikel.isi as isi ; iflimit{ ifstart{ this-db-limitlimit, start; } else{ this-db-limitlimit; } } this-db-whereartikel.id_kategori = .kategori; return this-db-getartikel; } function get_artikel_by_subjeksubjek , limit = null, start = null{ this-db-select artikel.id as id, artikel.judul as judul, artikel.isi as isi ; this-db-whereartikel.id_subjek, subjek; iflimit{ ifstart{ this-db-limitlimit, start; } else{ this-db-limitlimit; } } list = this-db-getartikel; return list; } function get_judul_by_idid{ this-db-selectjudul; this-db-whereid, id; judul = this-db-getartikel; return judul-rowjudul; } function get_total_responden_by_idid{ this-db-distinct; this-db-selectusername; this-db-whereid_artikel, id; return this-db-getrating; } function get_rekomendasiartikel_id = null{ this-db-selectjudul; this-db-whereid, artikel_id; this-db-limit5; return this-db-getartikel; } function terakhir_dikomentari{ this-db-selectartikel.id as id, artikel.judul as judul, komentar.tanggal as tanggal; this-db-group_byjudul; this-db-order_bytanggal, desc; this-db-joinkomentar, artikel.id = komentar.artikel_id ; this-db-limit5; return this-db-getartikel; } }

c. Model