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