Perancangan
Desain Web Sistem
4.1 Konsep Kerangka Desain
Pada Bab 4 ini, secara khusus penulis akan membahas mengenai
masalah desain. Jika dalam metode waterfall, tahap ini telah sampai
ke dalam tahap design. Konsep yang dipakai oleh sistem informasi
nilai biasanya berupa kerangka 1 kolom ataupun 2 kolom. Namun,
di sini penulis akan membangun sistem ini menggunakan konsep
kerangka web 1 kolom. Untuk lebih jelasnya dapat Anda lihat pada
Gambar 4.1.
Gambar 4.1 Kerangka Desain Utama
39
Terbagi atas empat baris utama. Berikut penjelasannya masingmasing dari baris tersebut.
1. Banner, digunakan untuk meletakkan banner. Banner di sini
bisa berupa logo kampus yang bersangkutan.
2. Menu Top, digunakan untuk menampilkan menu-menu utama
yang digunakan sebagai sarana untuk mengolah suatu data.
3. Konten, merupakan tempat untuk menampilkan informasi.
Segala aktivitas yang dilakukan akan ditampilkan pada bagian
tersebut.
4. Footer, digunakan sebagai footer. Dalam artian sebagai informasi best view, nama kampus, ataupun copyright.
4.2 Mengenal Tipe Font dan Warna
Penulis pernah membahas mengenai tipe font dan warna pada seri
buku penulis sebelumnya yang berjudul “Pemrograman CSS untuk
Pemula” yang ditulis bersama Feni Agustin. Namun kini penulis
akan memberikan kembali pengenalan dasar mengenai tipe font dan
warna.
4.2.1
Pemilihan Tipe Font yang Baik
Sering pembaca bertanya meminta pendapat kepada penulis
mengenai hasil web blog karya mereka. Ada satu hal yang sering
penulis fokuskan, yang mungkin dianggap sepele oleh orang
kebanyakan, yaitu pemilihan tipe font teks pada web.
Penulis hanya memberi saran yang mungkin cukup penting bagi para
pembaca yang ingin mengetahui tips font yang baik. Selazimnya
pada web itu, hindarkan penggunaan teks font yang bersifat memiliki
ekor ..kucingg kali punya ekor mas.. maksudnya adalah dari setiap
karakter, pasti memiliki ujung, contohnya “Times New Roman”. Jika
Anda perhatikan font teks tersebut, pasti akan terdapat ekor sebagai
penutupnya. Berbeda jika kita menggunakan tipe font “verdana,
tahoma, arial, dan sebagainya”.
Jadi, apa saudara-saudara....?
40
Hendaknya hindarkan pemilihan tipe font yang memiliki ekor,
contohnya:
•
•
•
Times New Roman
Korinna
Dan lainnya.
Gunakan tipe font yang tidak memiliki ekor, seperti:
•
•
•
•
Verdana
Tahoma
Arial
Dan lainnya.
4.2.2 Pemilihan Warna Terbaik dan Terburuk
Warna merupakan aspek penting dalam pembuatan web design.
Kombinasi pemakaian warna harus diperhatikan agar pengunjung
merasa nyaman dan tentunya tidak melelahkan atau memberatkan
mata karena perpaduan warna yang kurang cocok. Berikut penulis
beberkan komposisi kombinasi warna terbaik dan terburuk.
Kombinasi Warna Terbaik
Background
Garis dan Teks (Normal)
Garis dan Teks (Tebal)
Putih
Biru (94%),
Hitam (63%),
Merah (25%)
Hitam (69%),
Biru (63%),
Merah (31%)
Hitam
Putih (75%),
Kuning (63%)
Kuning (69%),
Putih (59%),
Hijau (25%)
Merah
Kuning (75%),
Putih (56%),
Hitam (44%)
Hijau
Hitam (100%),
Biru (56%),
Merah (25%)
Hitam (50%),
Kuning (44%),
Putih (44%),
Cyan (31%)
Hitam (69%),
Merah (63%),
Biru (31%)
41
Biru
Putih (81%),
Kuning (50%),
Cyan (25%)
Cyan
Biru (69%),
Hitam (56%),
Merah (37%)
Magenta
Hitam (63%),
Putih (56%),
Biru (44%)
Kuning (38%),
Magenta (31%),
Hitam (31%),
Cyan (31%),
Putih (25%)
Merah (56%),
Biru (50%),
Hitam (44%),
Magenta (25%)
Biru (50%),
Hitam (44%),
Kuning (25%)
Kuning
Merah (63%),
Biru (63%),
Hitam (56%)
Merah (75%),
Biru (63%),
Hitam (50%)
Kombinasi Warna Terbaik
Background
Garis dan Teks (Normal)
Garis dan Teks (Tebal)
Putih
Kuning (100%),
Cyan (94%)
Kuning (94%),
Cyan (75%)
Hitam
Biru (87%),
Merah (44%),
Magenta (25%)
Biru (81%),
Magenta (31%)
Merah
Magenta (81%),
Biru (44%),
Hijau & Cyan (25%)
Hijau
Cyan (81%),
Magenta (50%),
Kuning (37%)
Magenta (69%),
Biru (50%),
Hijau (37%),
Cyan (25%)
Cyan (81%),
Magenta & Kuning
(44%)
Biru
Hijau (62%),
Merah & Hitam (37%)
Hijau (44%),
Merah & Hitam (31%)
Cyan
Hitam (81%),
Kuning (75%),
Putih (31%)
Kuning (69%),
Hijau (62%),
Putih (56%)
42
Magenta
Hijau (75%),
Merah (56%),
Cyan (44%)
Cyan (81%),
Hijau (69%),
Merah (44%)
Kuning
Putih & Cyan (81%)
Putih (81%),
Cyan (56%),
Hijau (25%)
Maksudnya ngerti ga ya?.. gini.. itu merupakan perpaduan latar
belakang dengan pondasi yang menopangnya, seperti garis tebal,
tipis, dan sebagainya. Sedangkan persen, merupakan jumlah prosentasi kecocokan kombinasi. ☺
4.2.3 Arti Sebuah Warna pada Tampilan Web
Apakah Anda tahu warna yang Anda gunakan pada sebuah website?
Hati-hati loh, warna juga mengandung sebuah makna. Perhatikan
makna positif dan makna negatifnya.
Warna
Merah
Makna Positif
Kekuatan, energi, tenaga,
hasrat, cinta. Dengan sedikit
memberikan warna merah
bisa menimbulkan gairah,
membangkitkan semangat,
mendorong keinginan.
Makna Negatif
Bahaya, perang,
kekejaman, kekerasan,
api, darah. Terlalu banyak
warna merah bisa
disangka terlalu agresif.
Merah
Muda (Pink)
Kewanitaan (feminim),
keremajaan (masa muda).
Naif, kelemahan,
kekurangan.
Orange
Kehangatan, bersemangat,
ceria, keseimbangan, musim
gugur, menimbulkan getaran.
Meminta dan mencari
Perhatian.
Kuning
Sinar matahari, emas,
kekayaan, keberuntungan,
kehidupan.
Tidak jujur, pengecut,
cemburu, iri hati,
penghianatan, penipuan,
kebohongan, risiko, sakit.
Hijau
Alam, lingkungan, hidup,
pertumbuhan, stabil, santai
kesuburan, harapan.
Kecemburuan, nasib
buruk, iri hati, dengki.
43
Biru
Kepercayaan, kesetiaan,
ketenangan, kedamaian,
ketulusan, kesejukan, air,
awan, harmoni, kebersihan,
konservatif, percaya diri,
penyembuhan. Merupakan
warna yang aman dipakai
untuk desain.
Kebangsawanan, perubahan,
spiritual.
Kesedihan, kedinginan,
depresi, penurunan
vitalitas.
Coklat
Tanah, bumi, netral, hangat,
keamanan, perlindungan.
Tumpul, kotor,
membosankan.
Abu‐abu
Modern, cerdas, bersih,
kokoh, masa depan,
intelektual.
Umur tua, kesedihan,
bosan.
Putih
Kesucian, kebersihan,
kemurnian, kesederhanaan,
damai, kebaikan, disiplin,
perawan, perkawinan,
musim.
Kekuatan, keanggunan,
kemewahan, misteri,
kecanggihan, kemakmuran,
kepuasan, pengalaman,
keras, kokoh, sangat kuat.
Kematian (budaya timur),
dingin, mandul, steril,
klinik, hampa.
Ungu
Hitam
Kesombongan,
keangkuhan, kejam,
kasar, duka cita.
Kematian (budaya barat),
takut, setan, kesedihan,
duka cita, marah, anonim,
penyesalan.
Dari semua font dan warna yang telah penulis berikan, jadi
kesimpulan yang dapat kita ambil, pilihlah warna yang menurut
Anda tepat, sesuai dengan karekteristik Anda, kampus, atau
universitas, maupun lainnya.
4.3 Membangun Layout Web
Layout dapat diartikan sebagai tatanan utama suatu sistem. Jadi bisa
dibilang template masternya web. Banyak cara yang dapat diambil
oleh Anda. Jika tak ingin direpotkan, Anda bisa menggunakan web
44
template gratisan yang tersebar di web, cukup di-search aja di
google, dengan keyword “Free Download Template HTML Gratisan”.
Cukup simpel kan.. ga pake panjang, kita melangkah ke pembahasan membangun layout web sistem.
4.3.1
Teknik CSS Layout Web Sistem
Seperti yang dikatakan dari awal bahwa kita akan membangun
konsep 1 kolom, dimaksudkan agar lebih mudah dalam memahami
kode per kode-an. Di sini penulis menggunakan gambar yang telah
dibuat dengan Adobe Photoshop, yaitu logo Asfa Solution berikut.
Gambar 4.2 Banner web
Berikut kode css dari sistem web tersebut, bisa Anda simpan dengan
nama styles.css.
/* -------------------- Basic HTML tags -------------------- */
body {
margin-top: 3px;
font: 12px/1.5 "Lucida
sans-serif;
color: #444444;
background-color: #999;
}
Sans
Unicode",
"Lucida
Grande",
a:focus {
outline: 1px dotted invert;
}
h1 {
font-size: 30px;
letter-spacing: -1.5px;
}
h2 {
font-size: 24px;
letter-spacing: -1px;
}
h3 {
font-size: 18px;
45
}
h4 {
font-size: 14px;
}
h5 {
font-size: 12px;
}
h6 {
font-size: 10px;
}
ol {
list-style: decimal;
list-style-position: inside;
}
ul.bullets {
list-style: disc;
list-style-position: inside;
}
ul.bullets li {
margin-left: 20px;
margin-bottom: 5px;
}
p,dl,hr,h1,h2,h3,h4,h5,h6,ol,ul,pre,table,address,fieldset {
margin-bottom: 15px;
}
a, a:visited {
color:#0063be; text-decoration: none;
}
a:hover, a:active {
text-decoration: underline;
}
h1 a, h1 a:visited, h2 a, h2 a:visited, h3 a, h3 a:visited, h4 a,
h4 a:visited, h5 a, h5 a:visited, h6 a, h6 a:visited {
color: #444444;
}
h1 a:hover, h1 a:active, h2 a:hover, h2 a:active, h3 a:hover, h3
a:active, h4 a:hover, h4 a:active, h5 a:hover, h5 a:active, h6
a:hover, h6 a:active {
color:#0063be;
}
/* -------------------- */
.align-left
{
text-align: left;
}
46
Custom general classes -------------------
.align-right
{
text-align: right;
}
.align-center {
text-align: center;
}
.align-justify {
text-align: justify;
}
.float-left
{
float: left;
}
.float-right
{
float: right;
}
.bottom-spacing {
margin-bottom: 20px;
}
/* -------------------- Page elements -------------------- */
#header {
margin-bottom: 20px;
width: 880px;
margin: 0px auto;
}
#header-status {
background: #fff;
padding: 0;
color: #aaaaaa;
}
#text-invitation {
display: block;
float: left;
padding: 9px 0 11px 0;
}
#message-notification {
display: block;
float: left;
background: url('../images/master/mail-q-bg.jpg') top left
no-repeat;
color: #6dc6e7;
padding: 9px 0 11px 0;
text-decoration: none;
margin-left: 10px;
}
#message-notification span {
color: #444444;
47
margin-right: 15px;
text-align: center;
display: block;
float: left;
width: 32px;
}
#message-notification a:hover, #message-notification a:active {
color: #ffffff;
}
a#logout, a#logout:visited {
display: block;
float: right;
background: url('../images/master/icon-logout.gif')
right no-repeat;
color: #000;
font-weight: bold;
padding: 9px 20px 11px 0px;
text-decoration: none;
font-size: 13px;
}
center
a#logout:hover, a#logout:active {
color: #ff0000;
}
#header-main {
height: 4px;
}
#header-main #logo {
background: url('../images/master/logo.gif') no-repeat left
10px;
width: 100%;
height: 4px;
}
#subnav {
background: #ffffff
repeat-x bottom left;
height: 48px;
}
url('../images/master/submenu-bg.gif')
#subnav ul {
list-style: none;
margin: 0;
padding: 0;
}
#subnav ul li {
float: left;
margin: 0 18px 0 0;
padding: 0;
}
#subnav ul a, #subnav ul a:visited {
display:block;
48
float: left;
color:#0063be;
font-size: 14px;
padding: 9px 0 0 0;
text-decoration: none;
}
#subnav ul a:hover, #subnav ul a:active {
text-decoration: underline;
}
#footer {
padding: 0;
color: #fff;
padding: 12px 0 15px 0;
margin-left: 30px;
width: 880px;
background: #ccc;
margin: 0px auto;
}
/* -------------------- Nav tabs (sliding door technique) ------------------- */
ul#nav {
float: left;
margin-top: 60px;
list-style: none;
font-size:14px;
margin-bottom: 0;
margin-left: 1%;
}
ul#nav li {
background:transparent url('../images/master/tab-left.gif')
no-repeat scroll left top;
float:left;
margin:0 5px 0 0;
padding:0 0 0 9px;
}
ul#nav li a, ul#nav li a:visited {
background:transparent
right.gif') no-repeat scroll right top;
color:#FFFFFF;
display:block;
float:left;
padding:7px 15px 6px 6px;
text-decoration:none;
}
url('../images/master/tab-
ul#nav li a:hover {
padding:8px 15px 5px 6px;
}
ul#nav li#current { /* give the id="current" to the currently
selected tab */
background:transparent
url('../images/master/tab-activeleft.gif') no-repeat scroll left top;
49
}
ul#nav li#current a {
background:transparent
url('../images/master/tab-activeright.gif') no-repeat scroll right top;
color:#444444;
}
/* -------------------- Box module -------------------- */
div.module {
background: url('../images/master/module-body-left-bg.gif')
no-repeat scroll bottom left;
float: left;
width: 100%;
margin-bottom: 20px;
}
div.module div.module-body {
background:
url('../images/master/module-body-rightbg.gif') no-repeat scroll bottom right;
padding: 20px 3% 20px 3%; float: left; width: 100%;
}
/* Percentage padding in the module dependant on the cell width */
.grid_1 div.module div.module-body {
padding: 20px 8% 20px 8%;
float: left;
width: 84%;
}
.grid_2 div.module div.module-body
padding: 20px 7% 20px 7%;
float: left;
width: 86%;
}
{
.grid_3 div.module div.module-body
padding: 20px 6% 20px 6%;
float: left;
width: 88%;
}
{
.grid_4 div.module div.module-body
padding: 20px 5% 20px 5%;
float: left;
width: 90%;
}
{
.grid_5 div.module div.module-body
padding: 20px 4% 20px 4%;
float: left;
width: 92%;
}
{
.grid_6 div.module div.module-body
padding: 20px 3% 20px 3%;
float: left;
width: 94%;
{
50
}
.grid_7 div.module div.module-body {
padding: 20px 2.75% 20px 2.75%;
float: left;
width: 94.5%;
}
.grid_8 div.module div.module-body {
padding: 20px 2.5% 20px 2.5%;
float: left;
width: 95%;
}
.grid_9 div.module div.module-body {
padding: 20px 2.25% 20px 2.25%;
float: left;
width: 95.5%;
}
.grid_10 div.module div.module-body {
padding: 20px 2% 20px 2%;
float: left;
width: 96%;
}
.grid_11 div.module div.module-body {
padding: 20px 1.75% 20px 1.75%;
float: left;
width: 96.5%;
}
.grid_12 div.module div.module-body {
padding: 20px 1.5% 20px 1.5%;
float: left;
width: 97%;
}
div.module div.module-table-body {
background:
url('../images/master/module-body-rightbg.gif') no-repeat scroll bottom right;
padding: 0;
float: left;
width: 100%;
}
div.module h2 {
background:
url('../images/master/module-header-left-bg.gif')
no-repeat scroll top left;
display: block;
height: 32px;
margin: 0px auto;
text-decoration: none;
color: #444444;
font-family: Arial, Helvetica, sans-serif;
font-size:12px;
font-weight:bold;
width: 95%;
51
letter-spacing: normal
}
div.module h2 span {
background:
url('../images/master/module-header-rightbg.gif') no-repeat top right;
display: block;
line-height: 20px;
padding: 7px 0 5px 18px;
}
div.module table {
width: 95%;
margin: 0px auto;
margin-bottom: 10px;
border-left: 1px solid #d9d9d9;
border-bottom: 1px solid #d9d9d9;
border-top: 1px solid #d9d9d9;
}
div.module table .distribute {
width: 90%;
margin: 0px auto;
margin-bottom: 10px;
border-left: 1px solid #d9d9d9;
border-bottom: 1px solid #d9d9d9;
border-top: 1px solid #d9d9d9;
}
div.module table.tr {
border-collapse: separate;
border-right: 1px solid #aaaaaa;
border-left: 1px solid #aaaaaa;
}
div.module table th {
background-color: #eeeeee;
color: #444444;
padding: 5px;
text-align: left;
border-right: 1px solid #d9d9d9;
border-bottom: 1px solid #d9d9d9;
}
div.module table td {
/* background-color: #ffffff; */
padding: 5px;;
border: 1px solid #d9d9d9;
border-right: 1px solid #d9d9d9;
}
div.module table tr.odd td {
/* background-color: #f1f5fa; */
}
.table-apply {
width: 10%; float: right; text-align: left; margin-right:
10px;
52
}
/* -------------------- Pager -------------------- */
.pager {
display: block; padding: 0px 10px 10px 10px;
float: left;
}
width: 40%;
.pager .first,.pager .prev,.pager .next,.pager .last {
margin-bottom: -2px;
}
/* -------------------- Button (sliding door technique) ------------------- */
/* button outside a module box */
a.button {
/* Sliding right image */
background: transparent url('../images/master/button-rightbg-m.gif') no-repeat scroll top right;
display: block;
float: left;
height: 26px;
padding-right: 11px;
text-decoration: none;
color: #444444;
font-family: Arial, Helvetica, sans-serif;
font-size:12px;
}
a.button span {
background: transparent url('../images/master/button-leftbg-m.gif') no-repeat top left;
display: block;
line-height: 15px;
padding: 4px 0 7px 10px;
}
a.button:hover {
background-position: bottom right; color:#0063be;
}
a.button:hover span{
background-position: bottom left;
color:#0063be;
}
div.module a.button {
background: transparent url('../images/master/button-rightbg.gif') no-repeat scroll top right;
display: block;
float: left;
height: 26px;
padding-right: 11px;
text-decoration: none;
color: #444444;
font-family: Arial, Helvetica, sans-serif;
font-size:12px;
53
}
div.module a.button span {
background: transparent url('../images/master/button-leftbg.gif') no-repeat top left;
display: block;
line-height: 15px;
padding: 4px 0 7px 10px;
}
/* -------------------- Pagination -------------------- */
.pagination { margin-bottom: 20px; float: right; }
.pagination a.button { margin-right: 10px; }
.pagination a.last { margin-right: 0; }
.pagination .numbers { float: left; padding-top: 3px; margin-right:
15px; }
.pagination .numbers span { padding: 0 5px 0 5px; }
.pagination .current { font-weight: bold; }
/* -------------------- Forms -------------------- */
fieldset {
margin-top: 15px;
margin-bottom: 15px;
}
legend {
margin-bottom: 10px;
display: block;
}
label {
display: block;
margin-bottom: 5px;
}
.input-short,.input-medium,.input-long {
padding: 3px;
}
select {
padding: 2px;
}
textarea {
padding: 3px;
}
.input-short {
width: 25%
}
.input-medium {
width: 50%
}
.input-long {
width: 75%
54
}
input.input-short,input.input-medium,input.input-long,
textarea {
background: url('../images/master/input-bg.gif')
repeat-x #f6f6f6;
border: 0;
border: 1px solid #cccccc;
}
select,
top
input.input-short:focus,input.input-medium:focus,input.inputlong:focus, select:focus, textarea:focus {
background: url('../images/master/input-bg-focus.gif')
left repeat-x #ffffff;
border-color: #a9c2d1;
}
left
top
input.submit-green {
background: url('../images/master/submit-green-bg.gif') top
left repeat-x;
border: 0;
border-top: 1px solid #6bd091;
border-left: 1px solid #6bd091;
border-right: 1px solid #349c5c;
border-bottom: 1px solid #349c5c;
color: #ffffff;
font-size: 14px;
padding: 2px 12px;
margin: 0px 10px 0 0;
cursor: pointer;
}
input.submit-green-hover {
background-image:
hover.gif');
}
url('../images/master/submit-green-bg-
input.submit-gray {
background: url('../images/master/submit-gray-bg.gif')
left repeat-x;
border: 0;
border-top: 1px solid #cccccc;
border-left: 1px solid #cccccc;
border-right: 1px solid #888888;
border-bottom: 1px solid #888888;
color: #ffffff;
font-size: 14px;
padding: 2px 12px;
margin: 0px 10px 0 0;
cursor: pointer;
}
input.submit-gray-hover {
background-image:
hover.gif');
}
top
url('../images/master/submit-gray-bg-
55
/* -------------------- Text input and select input notifications ------------------- */
.notification-input {
background:10px 50% no-repeat;
margin: 0 0 0 5px;
padding:5px 0 5px 32px;
font-size: 12px;
}
.ni-correct {
background-image:url('../images/master/tick-on-white.gif');
color: #00ae42;
}
.ni-error {
background-image:url('../images/master/cross-onwhite.gif');
color: #c9282d;
}
/* -------------------*/
Boxed notifications --------------------
.notification {
display: block;
padding: 20px 20px 20px 45px;
border: 1px solid;
margin-bottom: 20px;
background-repeat: no-repeat;
background-position: 20px 20px;
}
.n-success {
background-color: #a3e6bd;
border-color: #68d59b;
background-image:
url('../images/master/notificationtick.gif');
}
.n-information {
background-color: #9fddea;
border-color: #5fceea;
background-image:
url('../images/master/notificationinformation.gif');
}
.n-attention {
background-color: #f9e497;
border-color: #ffcb4f;
background-image:
url('../images/master/notificationexclamation.gif');
}
.n-error {
background-color: #ffc6ca;
border-color: #efb9c3;
56
background-image:
slash.gif');
}
url('../images/master/notification-
/* -------------------- Indicators -------------------- */
.indicator {
width: 220px;
height: 12px;
background:
url('../images/master/indicator-bg.gif')
repeat top left;
}
no-
.indicator div {
height: 12px;
background:
url('../images/master/indicator-green-tored.gif') no-repeat top left;
}
.indicator div.reverse {
background:
url('../images/master/indicator-red-togreen.gif') no-repeat top left;
}
/* -------------------- Category list -------------------- */
a.removable, a.removable:visited {
padding: 5px 18px 5px 0px;
}
a.removable:hover,a.removable:active {
background:
url('../images/master/cross-small.gif')
repeat center right;
}
no-
/* -------------------- To-do list -------------------- */
a.checkable,a.checkable:visited {
padding: 5px 18px 5px 0px;
}
a.checkable:hover, a.checkable:active {
background:
url('../images/master/tick-small.gif')
repeat center right;
}
no-
a.completed, a.completed:visited {
color: #aaaaaa;
}
/* -------------------- Messages -------------------- */
.separated {
border-top: 1px solid #cccccc;
padding-top: 15px;
}
.user {
display: block;
57
padding-left: 22px;
background: url('../images/master/user.gif') left 50% norepeat;
font-size: 14px; color: #666666;
font-weight: normal;
}
.user-female {
display: block;
padding-left: 22px;
background:
url('../images/master/user-female.gif')
50% no-repeat;
font-size: 14px;
color: #666666;
font-weight: normal;
}
left
.reply {
padding-left: 20px;
background:
url('../images/master/arrow-curve-180left.gif') left 50% no-repeat;
margin-right: 7px;
}
.forward {
padding-left: 20px;
background:
url('../images/master/arrow-curve-000left.gif') left 50% no-repeat;
margin-right: 7px;
}
a.delete, a.delete:visited {
padding-left: 16px;
background:
url('../images/master/cross-small.gif')
50% no-repeat;
color: #C00;
}
left
h3.mail {
display: block;
padding: 20px 0px 20px 70px;
background:
url('../images/master/Crystal_Project_mail_open.gif') left 50% norepeat;
}
#p-messages {
padding: 20px;
}
/* -------------------- Login page -------------------- */
form.login {
background:
url('../images/master/Crystal_Clear_locked.gif')
repeat;
}
58
87%
10px
no-
/* -------------------- Dashboard -------------------- */
a.dashboard-module, a.dashboard-module:visited {
width: 142px;
height: 142px;
display: block;
float: left;
background:
url('../images/master/dashboard-module.gif')
top left no-repeat;
margin: 0 8px 8px 0;
text-align: center;
color: #444444;
}
a.dashboard-module:hover, a.dashboard-module:active {
background-position: bottom left;
text-decoration: none;
color:#0063be;
}
a.dashboard-module img {
margin-top: 20px;
}
a.dashboard-module span {
margin-top: 10px;
display: block;
}
td.data {
width: 130px;
}
tr.data:hover {
background-color: #00CCFF;
}
div.data {
width: 95%;
height: 215px;
overflow: auto;
border-top-style: none;
border-bottom-style: groove;
border-right-style: groove;
border-left-style: groove;
border-color: lightblue;
margin: 0px auto;
}
th{
height: 30px;
font-family: Arial;
font-size: 12px;
}
table.jumlah {
border-width: 2px;
border-style: groove;
59
border-color: lightblue;
width: 455px;
height: 40px;
-moz-border-radius-bottomleft : 9px;
-moz-border-radius-bottomright : 9px;
-webkit-border-bottom-left-radius : 9px;
-webkit-border-bottom-right-radius : 9px;
}
Wow.. udah ribet, panjang lagi... tenang gan, jika Anda ga mau
direpotkan, ane uda sertain proyek lengkapnya kok.. ☺
Nah, kemudian berikut kode html yang dapat ditulis.
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf8" />
<title> Asfa Solution - Sistem Akademik Nilai </title>
<link rel="stylesheet" href="css/grid.css" type="text/css">
<link rel="stylesheet" href="css/styles.css" type="text/css">
<meta http-equiv="Copyright" content="Asfa Solution">
<meta name="Author" content="Agus Saputra">
</head>
<body>
<div id="header">
<div id="header-status">
<div class="container_12">
<div class="grid_8"> <br>
<img src="images/header.jpg" width="400"> </div>
<div class="grid_4">
<div class="module">
<div class="module-body">
<strong>User ID : </strong><br>
<strong>Full Name : </strong><br>
<strong>Login As :</strong>
</div>
</div>
<div style="clear:both;"></div>
</div>
</div>
<div style="clear:both;"></div>
</div>
<div id="header-main">
<div class="container_12">
<div class="grid_12">
<div id="logo">
</div>
</div>
<div style="clear: both;"></div>
</div>
</div>
60
<div style="clear: both;"></div>
</div>
<div class="container_12">
<div style="clear:both;"></div>
<div class="grid_12">
<!-- Example table -->
<div class="module">
<?php include "konten.php"; ?>
</div> <!-- End .module -->
</div>
</div> <!-- End .container_12 -->
<!-- Footer -->
<div id="footer">
<div class="container_12">
<div class="grid_12">
<p> © 2012. <u>Asfa Solution
Akademik System</u></p>
</div>
</div>
<div style="clear:both;"></div>
</div> <!-- End #footer -->
</body>
</html>
Hasil skrip di atas akan menampilkan sebuah layout yang cukup
ciamik .. dapat Anda lihat pada Gambar 4.3.
Gambar 4.3 Layout Web
61
4.3.2 Menggunakan jQuery Menu
Pada konsep web, terdapat baris yang berisi kolom menu. Kita akan
menerapkan menu top menggunakan bantuan jQuery.
Pada Bonus CD, Anda akan menemukan folder yang berisi menu
yang dimaksud. Nama folder-nya, yaitu menu yang terdapat dalam
folder “Source Code”. Anda cukup copy semua file javascript dan css
menu ke dalam folder layout Anda.
Panggil file javascript pada file yang telah kita buat sebelumnya.
<link rel="stylesheet" href="css/menu.css" type="text/css">
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/menu.js"></script>
Tambahkan pada skrip body.
<div id="menu">
<ul class="menu">
<li><a href="master.php"><span>Home</span></a></li>
<li><a href="?module=upload"><span>Manajemen Kampus</span>
</a>
<ul>
<li><a
href="?module=manajemen_user">Manajemen
User</a></li>
<li><a
href="?module=manajemen_prodi">Manajemen
Program
Studi</a></li>
<li><a
href="?module=manajemen_jurusan">Manajemen
Jurusan</a></li>
<li><a
href="?module=manajemen_makul">Manajemen
Mata
Kuliah</a></li>
<li><a href="?module=manajemen_kelas">Manajemen Kelas</a>
</li>
<li><a
href="?module=manajemen_jadwal_makul">Manajemen
Jadwal Kuliah</a></li>
</ul>
</li>
<li><a href="?module=reporting"><span>Laporan</span></a>
<ul>
<li><a href="?module=report_dosen">Data Dosen</a></li>
<li><a
href="?module=report_mahasiswa">Data
Mahasiswa</a></li>
</ul>
</li>
<li
class="last"><span><a
href="logout.php">
Logout</a></span></li>
</ul>
</div>
62
Jika Anda refresh pada skrip di atas, maka tampilan layout akan
tersisipkan sebaris menu, yang dapat Anda lihat pada Gambar 4.4.
Gambar 4.4 Layout Web dengan jQuery Menu
Jika Anda ingin melihat real menu, dapat Anda lihat Gambar 4.5.
Gambar 4.5 Menu jQuery
63
4.4 Fitur Utama yang Dibutuhkan
Ada beberapa fitur utama yang perlu diperhatikan, di antaranya
pencegahan terhadap input data, seperti:
1. Penangkalan terhadap data mahasiswa yang memiliki NIM yang
sama.
2. Penangkalan terhadap input data dengan mengosongkan NIM
mahasiswa.
3. Pencegahan terhadap penginputan nilai, dalam arti jangan
sampai kita memasukkan 2 nilai terhadap mata kuliah yang
sama.
4. Pencegahan hak akses user untuk menolak hal-hal yang tak
diinginkan.
5. Dalam perhitungan transkrip atau IPK (Indeks Prestasi
Kumulatif), perhitungan harus dibulatkan ke dalam pecahan
desimal 2 angka di belakang koma.
Mungkin sih sepertinya itu saja, dan jika Anda ingin mengembangkan sistem ini, Anda bisa menggunakan fitur utama SMS
Gateway seperti yang pernah penulis tulis pada seri buku “Step by
Step Membangun Aplikasi SMS dengan PHP dan MySQL” yang
diterbitkan PT Elex Media Komputindo.
64