Kesimpulan Saran Halaman Download

BAB 5 PENUTUP

5.1 Kesimpulan

Berdasarkan pembahasan dan evaluasi dari bab-bab sebelumnya, maka dapat diambil beberapa kesimpulan sebagai berikut: 1. Administrator memiliki hak akses penuh untuk melakukan perubahan, penambahan ataupun penghapusan anggota dari aplikasi perpustakaan ini. 2. Sistem informasi perpustakaan online berbasis web memudahkan dan mempercepat pengguna dalam mendapatkan dan berbagi informasi perpustakaan karena ditambahkan fasilitas forum dan chatting didalamnya. 3. Pengguna dibagi ke dalam tiga kelompok yang memiliki fasilitas aksesnya masing-masing. Dan administrator memiliki hak akses penuh atas segala pengaturan sistem yang tidak sedikit, sehingga dibuatlah halaman pengaturan control panel bagi admin yang user friendly atau mudah digunakan. 4. Karena sistemnya yang online, maka peran administrator di dalam sistem harus konsisten, agar tidak terjadi vacuum atau kekosongan di dalam forum.

5.2 Saran

Berikut adalah saran-saran untuk pengembangan lebih lanjut terhadap aplikasi sistem informasi perpustakaan online ini : 1. Untuk Pengembangan lebih lanjut aplikasi ini diharapkan dapat digabungkan dengan aplikasi-aplikasi lainnya seperti e-learning, e-library ataupun aplikasi lain yang bersifat non-akademis sehingga pengguna dapat mengakses berbagai kebutuhan namun hanya menggunakan satu aplikasi atau perangkat lunak. 2. Aplikasi ini sebaiknya menyediakan fasilitas grafik yang merepresentasikan suatu kondisi, misalnya grafik kuantitas buku yang sering digunakan, anggota yang sering lalai mengembalikan buku, dan kondisi-kondisi lainnya sehingga aplikasi ini bisa dijadikan sebagai DSS Decision Support System. Universitas Sumatera Utara 3. Untuk pengembangan lebih lanjut, aplikasi akan lebih optimal jika ditambah fasilitas layanan melalui SMS yaitu dengan menggunakan hp selular sebagai server SMS Gateway, seperti layanan informasi pencarian buku berdasarkan kata kunci, informasi denda melalui sms, dan lain sebagainya. Universitas Sumatera Utara DAFTAR PUSTAKA http:duniaperpustakaan.comsejarah-perpustakaan http:library.um.ac.idimagesstoriespustakawankargtoPerpustakaanonline.pdf http:www.rumahweb.comjournalphp-mysql-tutorial-dasar.html Efendi, Empy dan Zhuang, Hartono. 2003. e-Learning Konsep dan Aplikasi. Yogyakarta: Andi Offset. Hartanto, A.A dan Purbo, O.W. 2002. Teknologi e-Learning Berbasis PHP dan MySQL . Jakarta: Elex Media Komputindo. Kadir, A., 2003. Pengenalan Sistem Informasi. Yogyakarta: Andi Yogyakarta. Kadir, Abdul. 2002. Dasar Pemrograman Web Dinamis Menggunakan PHP. Yogyakarta: Andi Offset. Nugroho, Bunafit. 2005. Database Relasional dengan MySQL. Yogyakarta: Andi Offset. Purwanto, Yudhi. 2001. Pemrograman Web dengan PHP. Cetakan II. Jakarta: PT. Elex Media Komputindo. Roberto, Jhon. 2008. Building Website with PHP and MySQL. Jakarta: Elex Media Komputindo. Sidik, Betha. 2005. MySQL untuk Pengguna, Administrator, dan Pengembang Aplikasi Web. Bandung: Informatika. Santoso, Budi. 2008. Pengembangan PHP dan MySQL. Jakarta: Elex Media Komputindo. Universitas Sumatera Utara LISTING PROGRAM 1. Listing Program Pengaturan Control Panel Administrator 1.1 Administrators.php ?php require_once ..maincore.php; require_once THEMES.templatesadmin_header.php; include LOCALE.LOCALESET.adminadmins.php; if checkrightsAD || definediAUTH || _GET[aid] = iAUTH { redirect..index.php; } if isset_GET[status] issetmessage { if _GET[status] == sn { message = locale[400]; } elseif _GET[status] == su { message = locale[401]; } elseif _GET[status] == del { message = locale[402]; } elseif _GET[status] == pw { message = locale[global_182]; } if message { echo div class=admin- message.message.div\n; } } if isset_POST[cancel] { redirectFUSION_SELF.aidlink; } if isset_POST[add_admin] isset_POST[user_id] isnum_POST[user_id] { if isset_COOKIE[COOKIE_PREFIX.admin] md5_COOKIE[COOKIE_PREFIX.admin] == userdata[user_admin_password] || isset_POST[admin_password] md5md5_POST[admin_password] == userdata[user_admin_password] { if isset_POST[all_rights] || isset_POST[make_super] { admin_rights = ; result = dbquerySELECT DISTINCT admin_rights AS admin_right FROM .DB_ADMIN. ORDER BY admin_right; while data = dbarrayresult { admin_rights .= issetadmin_rights ? . : .data[admin_right]; } result = dbqueryUPDATE .DB_USERS. SET user_level=.isset_POST[make_super] ? 103 : 102., user_rights=admin_rights WHERE user_id=._POST[user_id].; } else { result = dbqueryUPDATE .DB_USERS. SET user_level=102 WHERE user_id=._POST[user_id].; } if isset_COOKIE[COOKIE_PREFIX.admin] md5md5_POST[admin_password] == userdata[user_admin_password] { setcookieCOOKIE_PREFIX.admin, md5_POST[admin_password], time + 3600, , , 0; } redirectFUSION_SELF.aidlink.status=sn, true; Universitas Sumatera Utara } else { redirectFUSION_SELF.aidlink.status=pw; } } if isset_GET[remove] isset_GET[remove] isnum_GET[remove] _GET[remove] = 1 { if isset_COOKIE[COOKIE_PREFIX.admin] md5_COOKIE[COOKIE_PREFIX.admin] == userdata[user_admin_password] || isset_POST[admin_password] md5md5_POST[admin_password] == userdata[user_admin_password] { result = dbqueryUPDATE .DB_USERS. SET user_admin_password=, user_level=101, user_rights= WHERE user_id=._GET[remove]. AND user_level=102; if isset_COOKIE[COOKIE_PREFIX.admin] md5md5_POST[admin_password] == userdata[user_admin_password] { setcookieCOOKIE_PREFIX.admin, md5_POST[admin_password], time + 3600, , , 0; } redirectFUSION_SELF.aidlink.status=del, true; } else { if isset_POST[confirm] { echo div class=admin- message.locale[global_182].div\n; } opentablelocale[470]; echo div style=text-align:center\n; echo form action=.FUSION_SELF.aidlink.amp;remove=._GET[remove]. method=post\n; echo locale[471].br br \ninput class=textbox type=password name=admin_password br br \n; echo input class=button type=submit name=confirm value=.locale[472]. \n; echo input class=button type=submit name=cancel value=.locale[473]. \n; echo form\ndiv\n; closetable; } } if isset_POST[update_admin] isset_GET[user_id] isnum_GET[user_id] _GET[user_id] = 1 { if isset_COOKIE[COOKIE_PREFIX.admin] md5_COOKIE[COOKIE_PREFIX.admin] == userdata[user_admin_password] || isset_POST[admin_password] md5md5_POST[admin_password] == userdata[user_admin_password] { if isset_POST[rights] { user_rights = ; for i = 0;i count_POST[rights];i++ { user_rights .= user_rights = ? . : .stripinput_POST[rights][i]; } result = dbqueryUPDATE .DB_USERS. SET user_rights=user_rights WHERE user_id=._GET[user_id]. AND user_level=102; } else { Universitas Sumatera Utara result = dbqueryUPDATE .DB_USERS. SET user_rights= WHERE user_id=._GET[user_id]. AND user_level=102; } if isset_COOKIE[COOKIE_PREFIX.admin] md5md5_POST[admin_password] == userdata[user_admin_password] { setcookieCOOKIE_PREFIX.admin, md5_POST[admin_password], time + 3600, , , 0; } redirectFUSION_SELF.aidlink.status=su, true; } else { redirectFUSION_SELF.aidlink.status=pw; } } if isset_GET[edit] isnum_GET[edit] _GET[edit] = 1 { result = dbquerySELECT FROM .DB_USERS. WHERE user_id=._GET[edit]. AND user_level=102 ORDER BY user_id; if dbrowsresult { data = dbarrayresult; user_rights = explode., data[user_rights]; result2 = dbquerySELECT FROM .DB_ADMIN. ORDER BY admin_page ASC,admin_title; opentablelocale[440]. [.data[user_name].]; columns = 2; counter = 0; page = 1; admin_page = arraylocale[441], locale[442], locale[443], locale[444]; echo form name=rightsform method=post action=.FUSION_SELF.aidlink.amp;user_id=._GET[edit].\n; echo table cellpadding=0 cellspacing=1 width=450 class=tbl-border center\n; echo tr\ntd colspan=2 class=tbl2strong.admin_page[0].strongtd\ntr\ntr\ n; while data2 = dbarrayresult2 { if page = data2[admin_page] { echo counter columns == 0 ? tr\n : td width=50 class=tbl1td\ntr\n; echo tr\ntd colspan=2 class=tbl2strong.admin_page[page].strongtd\ntr\ntr \n; page++; counter = 0; } if counter = 0 counter columns == 0 { echo tr\ntr\n; } echo td width=50 class=tbl1labelinput type=checkbox name=rights[] value=.data2[admin_rights]..in_arraydata2[admin_rights], user_rights ? checked=checked : . .data2[admin_title].labeltd\n; counter++; } echo tr\ntable\n; echo div style=text-align:centerbr \n; echo input type=button class=button onclick=\setCheckedrightsform,rights[],1;\ value=.locale[445]. \n; Universitas Sumatera Utara echo input type=button class=button onclick=\setCheckedrightsform,rights[],0;\ value=.locale[446]. br br \n; if isset_COOKIE[COOKIE_PREFIX.admin] || md5_COOKIE[COOKIE_PREFIX.admin] = userdata[user_admin_password] isset_POST[admin_password] || md5md5_POST[admin_password] = userdata[user_admin_password] { echo locale[447]. input type=password name=admin_password class=textbox style=width:150px; br br \n; } echo input type=submit name=update_admin value=.locale[448]. class=button \n; echo div\nform\n; closetable; echo script type=textjavascript.\n.function setCheckedfrmName,chkName,val {.\n; echo dml=document.forms[frmName];.\n.len=dml.elements.length;.\n. fori=0;i len;i++ {.\n; echo ifdml.elements[i].name == chkName {.\n.dml.elements[i].checked = val;.\n; echo }\n}\n}\nscript\n; } } else { opentablelocale[410]; if isset_POST[search_users] || isset_POST[search_criteria] { echo form name=searchform method=post action=.FUSION_SELF.aidlink.\n; echo table cellpadding=0 cellspacing=0 width=450 class=center\n; echo tr\ntd align=center class=tbl.locale[411].br br \n; echo input type=text name=search_criteria class=textbox style=width:300px \ntd\n; echo tr\ntr\ntd align=center class=tbl\n; echo labelinput type=radio name=search_type value=user_name checked=checked .locale[413].label\n; echo labelinput type=radio name=search_type value=user_id .locale[412].labeltd\n; echo tr\ntr\ntd align=center class=tblinput type=submit name=search_users value=.locale[414]. class=button td\n; echo tr\ntable\nform\n; } elseif isset_POST[search_users] isset_POST[search_criteria] { mysql_search = ; if _POST[search_type] == user_id isnum_POST[search_criteria] { mysql_search .= user_id=._POST[search_criteria]. ;} elseif _POST[search_type] == user_name preg_match[-0-9A- Z_\s]+i, _POST[search_criteria] { mysql_search .= user_name LIKE ._POST[search_criteria]. ; } if mysql_search { Universitas Sumatera Utara result = dbquerySELECT user_id, user_name FROM .DB_USERS. WHERE .mysql_search. AND user_level=101 ORDER BY user_name; } if issetresult dbrowsresult { echo form name=add_users_form method=post action=.FUSION_SELF.aidlink.\n; echo table cellpadding=0 cellspacing=1 width=450 class=tbl-border center\n; i = 0; users = ; while data = dbarrayresult { row_color = i 2 == 0 ? tbl1 : tbl2; i++; users .= tr\ntd class=row_colorlabelinput type=radio name=user_id value=.data[user_id]. .data[user_name].labeltd\ntr; } if i 0 { echo tr\ntd class=tbl2strong.locale[413].strongtd\ntr\n; echo users.tr\ntd align=center class=tbl\n; echo labelinput type=checkbox name=all_rights value=1 .locale[415].labelbr \n; if userdata[user_level] == 103 { echo labelinput type=checkbox name=make_super value=1 .locale[416].labelbr \n; } if isset_COOKIE[COOKIE_PREFIX.admin] || md5_COOKIE[COOKIE_PREFIX.admin] = userdata[user_admin_password] isset_POST[admin_password] || md5md5_POST[admin_password] = userdata[user_admin_password] { echo locale[447]. input type=password name=admin_password class=textbox style=width:150px; br br \n; } echo br \ninput type=submit name=add_admin value=.locale[417]. class=button \n; echo td\ntr\n; } else { echo tr\ntd align=center class=tbl.locale[418].br br \n; echo a href=.FUSION_SELF.aidlink..locale[419].a\ntd\ntr\ n; } echo table\nform\n; } else { echo table cellpadding=0 cellspacing=1 width=450 class=tbl- border center\n; echo tr\ntd align=center class=tbl.locale[418].br br \n; echo a href=.FUSION_SELF.aidlink..locale[419].a\ntd\ntr\ ntable\n; } } closetable; opentablelocale[420]; i = 0; Universitas Sumatera Utara result = dbquerySELECT FROM .DB_USERS. WHERE user_level=102 ORDER BY user_level DESC, user_name; echo table cellpadding=0 cellspacing=1 width=450 class=tbl- border center\ntr\n; echo td class=tbl2.locale[421].td\n; echo td align=center width=1 class=tbl2 style=white- space:nowrap.locale[422].td\n; echo td align=center width=1 class=tbl2 style=white- space:nowrap.locale[423].td\n; echo tr\n; while data = dbarrayresult { row_color = i 2 == 0 ? tbl1 : tbl2; echo tr\ntd class=row_colorspan title=.data[user_rights] ? str_replace., , data[user_rights] : .locale[425].. style=cursor:hand;.data[user_name].spantd\n; echo td align=center width=1 class=row_color style=white- space:nowrap.getuserleveldata[user_level].td\n; echo td align=center width=1 class=row_color style=white- space:nowrap\n; if data[user_level] == 103 userdata[user_id] == 1 { can_edit = true; } elseif data[user_level] = 103 { can_edit = true; } else { can_edit = false; } if can_edit == true data[user_id] = 1 { echo a href=.FUSION_SELF.aidlink.amp;edit=.data[user_id]..loca le[426].a |\n; echo a href=.FUSION_SELF.aidlink.amp;remove=.data[user_id]. onclick=\return confirm.locale[460].;\.locale[427].a\n; } echo td\ntr\n; i++; } echo table\n; closetable; } require_once THEMES.templatesfooter.php; ? 1.2 Artikel.php ?php require_once ..maincore.php; require_once THEMES.templatesadmin_header_mce.php; include LOCALE.LOCALESET.adminarticles.php; if checkrightsA || definediAUTH || _GET[aid] = iAUTH { redirect..index.php; } if settings[tinymce_enabled] == 1 { echo script language=javascript type=textjavascriptadvanced;script\n; } else { require_once INCLUDES.html_buttons_include.php; } if isset_GET[status] issetmessage { Universitas Sumatera Utara if _GET[status] == sn { message = locale[410]; } elseif _GET[status] == su { message = locale[411]; } elseif _GET[status] == del { message = locale[412]; } if message { echo div class=admin- message.message.div\n; } } result = dbquerySELECT FROM .DB_ARTICLE_CATS; if dbrowsresult { if isset_POST[save] { subject = stripinput_POST[subject]; body = addslash_POST[body]; body2 = addslash_POST[body2]; draft = isset_POST[article_draft] ? 1 : 0; if settings[tinymce_enabled] = 1 { breaks = isset_POST[line_breaks] ? y : n; } else { breaks = n; } comments = isset_POST[article_comments] ? 1 : 0; ratings = isset_POST[article_ratings] ? 1 : 0; if isset_POST[article_id] isnum_POST[article_id] { result = dbqueryUPDATE .DB_ARTICLES. SET article_cat=.intval_POST[article_cat]., article_subject=subject, article_snippet=body, article_article=body2, article_draft=draft, article_breaks=breaks, article_allow_comments=comments, article_allow_ratings=ratings WHERE article_id=._POST[article_id].; redirectFUSION_SELF.aidlink.status=su; } else { result = dbqueryINSERT INTO .DB_ARTICLES. article_cat, article_subject, article_snippet, article_article, article_draft, article_breaks, article_name, article_datestamp, article_reads, article_allow_comments, article_allow_ratings VALUES .intval_POST[article_cat]., subject, body, body2, draft, breaks, .userdata[user_id]., .time., 0, comments, ratings; redirectFUSION_SELF.aidlink.status=sn; } } else if isset_POST[delete] isset_POST[article_id] isnum_POST[article_id] { result = dbqueryDELETE FROM .DB_ARTICLES. WHERE article_id=._POST[article_id].; result = dbqueryDELETE FROM .DB_COMMENTS. WHERE comment_item_id=._POST[article_id]. and comment_type=A; result = dbqueryDELETE FROM .DB_RATINGS. WHERE rating_item_id=._POST[article_id]. and rating_type=A; redirectFUSION_SELF.aidlink.status=del; } else { if isset_POST[preview] { article_cat = _POST[article_cat]; subject = stripinput_POST[subject]; body = phpentitiesstripslash_POST[body]; body2 = phpentitiesstripslash_POST[body2]; Universitas Sumatera Utara bodypreview = str_replacesrc=.str_replace.., , IMAGES_A, src=.IMAGES_A, stripslash_POST[body]; body2preview = str_replacesrc=.str_replace.., , IMAGES_A, src=.IMAGES_A, stripslash_POST[body2]; draft = isset_POST[article_draft] ? checked=checked : ; if isset_POST[line_breaks] { breaks = checked=checked; bodypreview = nl2brbodypreview; body2preview = nl2brbody2preview; } else { breaks = ; } comments = isset_POST[article_comments] ? checked=checked : ; ratings = isset_POST[article_ratings] ? checked=checked : ; opentablesubject; echo bodypreview.\n; closetable; opentablesubject; echo body2preview.\n; closetable; } result = dbquerySELECT FROM .DB_ARTICLES. ORDER BY article_draft DESC, article_datestamp DESC; if dbrowsresult { editlist = ; sel = ; while data = dbarrayresult { if isset_POST[article_id] isnum_POST[article_id] || isset_GET[article_id] isnum_GET[article_id] { article_id = isset_POST[article_id] ? _POST[article_id] : _GET[article_id]; sel = article_id == data[article_id] ? selected=selected : ; } else { sel = ; } editlist .= option value=.data[article_id]..sel..data[article_draft] ? locale[433]. : .data[article_subject].option\n; } opentablelocale[402]; echo div style=text-align:center\nform name=selectform method=post action=.FUSION_SELF.aidlink.amp;action=edit\n; echo select name=article_id class=textbox style=width:250px;\n.editlist.select\n; echo input type=submit name=edit value=.locale[420]. class=button \n; echo input type=submit name=delete value=.locale[421]. onclick=return DeleteArticle; class=button \n; echo form\ndiv\n; closetable; } Universitas Sumatera Utara if isset_GET[action] _GET[action] == edit isset_POST[article_id] isnum_POST[article_id] || isset_GET[article_id] isnum_GET[article_id] { result = dbquerySELECT FROM .DB_ARTICLES. WHERE article_id=.isset_POST[article_id] ? _POST[article_id] : _GET[article_id].; if dbrowsresult { data = dbarrayresult; article_cat = data[article_cat]; subject = data[article_subject]; body = phpentitiesstripslashesdata[article_snippet]; body2 = phpentitiesstripslashesdata[article_article]; draft = data[article_draft] ? checked=checked : ; breaks = data[article_breaks] == y ? checked=checked : ; comments = data[article_allow_comments] ? checked=checked : ; ratings = data[article_allow_ratings] ? checked=checked : ; } else { redirectFUSION_SELF.aidlink; } } if isset_POST[article_id] isnum_POST[article_id] || isset_GET[article_id] isnum_GET[article_id] { opentablelocale[401]; } else { if isset_POST[preview] { subject = ; body = ; body2 = ; draft = ; breaks = checked=checked; comments = checked=checked; ratings = checked=checked; } opentablelocale[400]; } result = dbquerySELECT FROM .DB_ARTICLE_CATS. ORDER BY article_cat_name DESC; catlist = ; sel = ; while data = dbarrayresult { if issetarticle_cat sel = article_cat == data[article_cat_id] ? selected=selected : ; catlist .= option value=.data[article_cat_id].sel.data[article_cat_name]. option\n; } echo form name=inputform method=post action=.FUSION_SELF.aidlink. onsubmit=return ValidateFormthis\n; echo table cellpadding=0 cellspacing=0 class=center\ntr\n; echo td width=100 class=tbl.locale[422].td\n; Universitas Sumatera Utara echo td class=tblselect name=article_cat class=textbox style=width:250px;.catlist.selecttd\n; echo tr\ntr\n; echo td width=100 class=tbl.locale[423].td\n; echo td class=tblinput type=text name=subject value=subject class=textbox style=width:250px; td\n; echo tr\ntr\n; echo td valign=top width=100 class=tbl.locale[424].td\n; echo td class=tbltextarea name=body cols=95 rows=5 class=textbox style=width:98.body.textareatd\n; echo tr\n; if settings[tinymce_enabled] = 1 { echo tr\ntd class=tbltd\ntd class=tbl\n; echo display_htmlinputform, body, true, true, true, IMAGES_A; echo td\ntr\n; } echo tr\ntd valign=top width=100 class=tbl.locale[425].td\n; echo td class=tbltextarea name=body2 cols=95 rows=10 class=textbox style=width:98.body2.textareatd\n; echo tr\n; if settings[tinymce_enabled] = 1 { echo tr\ntd class=tbltdtd class=tbl\n; echo input type=button value=.locale[432]. class=button style=width:80px; onclick=\insertTextbody2, --PAGEBREAK--;\ \n; echo display_htmlinputform, body2, true, true, true, IMAGES_A; echo td\ntr\n; } echo tr\n; echo td class=tbltdtd class=tbl\n; echo labelinput type=checkbox name=article_draft value=yes.draft. .locale[426].labelbr \n; if settings[tinymce_enabled] = 1 { echo labelinput type=checkbox name=line_breaks value=yes.breaks. .locale[427].labelbr \n; } echo labelinput type=checkbox name=article_comments value=yes.comments. .locale[428].labelbr \n; echo labelinput type=checkbox name=article_ratings value=yes.ratings. .locale[429].labeltd\n; echo tr\ntr\n; echo td align=center colspan=2 class=tblbr \n; if isset_POST[article_id] isnum_POST[article_id] || isset_GET[article_id] isnum_GET[article_id] { echo input type=hidden name=article_id value=.isset_POST[article_id] ? _POST[article_id] : _GET[article_id]. \n; Universitas Sumatera Utara } echo input type=submit name=preview value=.locale[430]. class=button \n; echo input type=submit name=save value=.locale[431]. class=button td\n; echo tr\ntable\nform\n; closetable; echo script type=textjavascript.\n.function DeleteArticle {\n; echo return confirm.locale[451].;\n}\n; echo function ValidateFormfrm {.\n.iffrm.subject.value== {\n; echo alert.locale[450].;.\n.return false;\n}\n}\nscript\n; } } else { opentablelocale[403]; echo div style=text-align:center.locale[452].br \n.locale[453].br \n; echo a href=article_cats.php.aidlink..locale[454].a.locale[ 455].div\n; closetable; } require_once THEMES.templatesfooter.php; ?

1.3 Berita.php