Professional Documents
Culture Documents
II
Sopian Hadianto
Bootstrap
Introducing Bootstrap.
Need reasons to love Bootstrap? Look no further
By nerds, for
nerds.
Made for
everyone.
Packed with
features.
A 12-column rosponsrvo
gnd, dozens of components,
.J 1Vf1Sr11pl phr!11115, typof)raphy,
lmm c:nnlrol. tuld !lVHn tr
Kata
Pengantar
Assalamualaikum
Wr. Wb.
Alhamdulillahirobbilalamin, segala puji bagi Allah tuhan semesta
alam, zat yang Maha mengetahui atas segala sesuatu apa yang
ada di bumi dan apa yang ada di langit. Dan syukur
Alhamdulillah saya panjatkan, karena atas rahmat-Nya buku ini
dapat diselesaikan.
Buku ini saya persembahkan kepada Ayah saya semoga beliau
diberi kesehatan dan almarhum Ibu saya semoga amal
ibadahnya diterima disisi Allah SWT. Amin.
Kepada kaka kaka dan keluarga saya yang selalu mendukung
saya untuk melanjutkan kuliah. Tak lupa kepada rekan - rekan
saya atas segala dukungannya, saya ucapkan terima kasih.
Kritik dan saran terhadap buku ini akan saya terima dengan baik
sebagai koreksi membangun demi kemajuan pengembangan
website programming di Indonesia.
Semoga
buku
bermanfaat. Amin
ini
bisa
Bandung, 20 Maret
2014
Sopian
Hadianto
2
Sopian Hadianto ~ founder of Geek House ~
geekhouse.biz
Daftar Isi
Kata Pengantar
.......................................................................................................
2
Daftar
Isi......................................................................................................
........... 3
BAB 1
.........................................................................................................
............. 6
MENGENAL BOOTSTRAP
........................................................................................ 6
1.1. Apa itu Bootstrap
?................................................................................. 6
1.2. Memulai Bootstrap
................................................................................ 9
1.3. Sistem Responsive Layout
.................................................................... 21
1.4. Dasar dasar CSS Bootstrap
................................................................ 34
1.5. Component/Widget
Bootstrap............................................................. 60
1.6. JavaScript
............................................................................................. 87
BAB 2
.........................................................................................................
......... 103
MERANCANG DESAIN WEBSITE RESPONSIVE/FRONT END
................................ 103
BAB 4
.........................................................................................................
......... 155
MEMBANGUN SISTEM WEBSITE DINAMIS DENGAN PHP
.................................. 155
4.1. Mempersiapkan Website Company Profile/Portfolio ke Web
Server 155
4.2. Membangun Website dinamis dengan PHP
....................................... 157
4.2.1. Membuat templating website
........................................................ 157
BAB 5
.........................................................................................................
......... 176
MEMBANGUN CONTROL PANEL ADMIN/BACK END
.......................................... 176
5.1. Konfigurasi Database yang akan digunakan
....................................... 176
5.2. Kerangka template halaman admin.
.................................................. 178
5.3. Halaman halaman pendukung yang dibutuhkan
............................. 181
5.4. Menambahkan kondisi untuk variable templating
............................. 187
5.5. Membuat folder folder untk setiap konten menu admin.
............... 189
5.6. Konten
menu...................................................................................... 190
5.7. Membangun halaman login
............................................................... 241
4
Sopian Hadianto ~ founder of Geek House ~
geekhouse.biz
5
Sopian Hadianto ~ founder of Geek House ~
geekhouse.biz
6.4.4. Section
Blog.................................................................................... 266
6.4.5. Section
Kontak................................................................................ 273
BAB 1
MENGENAL BOOTSTRAP
1.1.
atau
kode
pemrogaman.
kode
Sekilas
GitHub:
GitHub
GitHub adalah layanan berbasis web hosting untuk proyekproyek pengembangan perangkat lunak yang menggunakan
sistem kontrol revisi Git. GitHub menawarkan fasilitas berbayar
untuk repositori pribadi, dan akun gratis untuk proyek-proyek
open source. Pada Mei 2011, GitHub adalah situs yang paling
populer untuk situs repositori terbuka.
yang
menggunakan
http://soundready.fm/,http://kippt.com/,
http://www.gathercontent.com/,dan masih banyak lagi
dan
website saya sendiri http://www.tugaskampus.web.id (masih
dalam tahap pengembangan - under-construction) yang
dibangun dengan Bootstrap.
Persiapan
sebelum
menggunakan
Bootstrap,
minimal kita harus :
Menguasai dasar dasar HTML, CSS (JavaScript dan LESS CSS
bila diperlukan). Kemampuan diatas mutlak diperlukan karena
intinya dalam pengembangan website berbasis Bootstrap ini
adalah bagaimana kita memodifikasi HTML, CSS serta
JavaScriptnya sekreatif mungkin.
Kebutuhan
Software :
Website Editor : disarankan Notepad++ atau
Sublime Text 2
Browser : Google Chrome, Mozilla Firefox, IE
( diatas IE7 ) dll.
*untuk sementara cukup 2 software itu saja, karena untuk saat
ini kita belum masuk ke web dinamis dengan PHP.
Alasan kita menggunakan
Bootstrap :
OpenSource, bebas untuk dikembangkan oleh siapapun. Banyak
referensi desain dari pengambang pengembang Bootstrap
lainnya.
Desain Responsive untuk Desktop, Tablet, dan Smartpone. Jadi
pengembang web hanya perlu membuat 1 buah website saja
yang ketika dibuka di Desktop, Tablet, dan Smartpone
tampilannya akan luar biasa responsive berbeda dengan
website biasanya.
Bootstrap menawarkan kecepatan dan kemudahan
pengembangan website. Modifikasi desain tanpa batasan, kita
dapat memanipulasi atau menambahkan CSS dan javascript
untuk mempercantik website kita.
Jadi dapat dikatakan bahwa Bootstrap ini adalah framework
yang berisi kumpulan
CSS,
JavaScript,
Font,
icon
menggunakannya dengan aturan
aturan khas sebuah
Framework.
dan
bagaimana
cara
1. Download
Anda dapat mendownload Bootstrap versi 2.3.2 atau versi 2.x.x
lainnya di Github,
https://github.com/twbs/bootstrap/ (tidak disarankan untuk
mendownload versi
3.x.x ke atas karena akan sedikit berbeda dalam kode
kodenya, serta kelas
kelas CSS yang digunakannya.
Cara 1 :
a.
Bukalah file index.html yang ada di dalam folder
bootstrap/docs/index.html di browser anda.
b.
Pilihlah menu Get Started, lalau pilihlah submenu
Examples
c.
Klik salah satu template yang tersedia misalnya Strater
template
d.
Klik kanan pada area kosong, lalu pilihlah View Page
Source untuk melihat source koding dari halaman html tersebut
e.
Lalu ketiklah koding html tersebut di editor anda, dan
simpanlah di folder latihan dengan nama latihan-1.html
(*jangan copy and paste ya, supaya ngetiknya lancar dan
faham kelas kelas
bootstrap nantinya).
f.
Lalu bukalah file latihan-1.html di browser anda
g.
[ Tampilan
Desktop ]
Berhasilkah ?
Bagaimana menguji bahwa latihan-1.html anda juga
sudah responsive ? Cara 1 :
1.
Ikuti langkah gambar di bawah ini
b.
Cara 2 hampir sama dengan cara 1, bedanya adalah
pada cara dua anda cukup membuka filenya dengan editor anda
Konten utama
footer
Sub
konten
/
sidebar
Default
System/Fixed Grid
Grid
Live grid
example
Default bootstrap grid system terdiri dari 12 kolom, jika tanpa
memakai fitur responsive maka lebar container nya menjadi
940pixel. Dengan memakai file CSS, the Grid (maksudnya
adalah baris dan kolom yang dibuat) akan beradaptasi menjadi
724px dan 1170px tergantung dari resolusi device kita. Jika
resolusi layar dibawah 767px maka, baris dan kolom akan
menjadi fluid(mengapung) dan tertumpuk secara vertikal.
Bingun
g?
Ayo lihat ke contoh
gambar.
b.
Coba buka di browser anda. Apakah berhasil?
Lalu kecilkan layar browser anda. Apakah tampilannya belum
responsive?
d.
Buka kembali filenya
Apakah tampilannya seperti ini? Jika yam aka anda sukses
membuat layout responsive.
Offsetting columns
Pindahkan kolom ke sebelah kanan dengan kelas
.offset*. setiap kelas menambahkan margin kiri sebesar nilai
offsetnya.
Latihan
a.
Bukalah file Latihan-2-container-layout-sederhana.html
anda
b.
Lalu pada bagian baris 1, gantilah kodingnya menjadi
seperti ini,
c.
Save as dengan nama Latihan-3-container-layoutoffset.html, lalu bukalah di browser.
Live
Fluid
Grid
Fluid Grid System menggunakan persentase dari pixel untuk
lebar kolomnya. Ia memiliki kemampuan responsive sama
halnya dengan default drid/fixed grid, Fluid Grid akan memenuhi
layar device jika berada diluar kelas .container.
Latiha
n
a.
Bukalah file Latihan-3-container-layoutofset.html anda b.
Gantilah kelas .container
nya menjadi kelas .row-fluid.
c.
Simpanlah dengan nama Latihan-4-fluid-layout.html,
lalu bukalah file tersebut
Responsive Bootstrap
akan :
Responsive
utility
classes
Untuk mempercepat mobile-friendly development, gunakanlah
kelas utility ini untuk menampilkan dan menyembunyikan pada
device. Dibawah adalah sebuah tabel dari kelas kelas yang
Kapan menggunakan
kelas
ini? saat kita
ingin
menampilkan
atau menyembunyikan
konten pada sebuah device.
Berikut adalah cara menggunakannya :
a.
Buatlah file html berikut
b.
Simpanlah dengan nama Latihan-5-Responsive-VisibilityTest.html, lalu bukalah file tersebut.
Maka tampilannya desktopnya adalah :
Kecilkan
layar
smartphone,
browser
maka
anda
ke
ukuran
tampilan smartphonenya:
Mudah bukan?
Sekarang anda dapat membuat layout apa saja dengan mudah.
1.4. Dasar dasar CSS Bootstrap
Untuk memulai latihan dasar dasar css, komponen css dan
komponen javascript dari bootstrap, buatlah file template html
latihan berikut :
dalam
file
<p class=lead>
gunakan kelas .lead untuk membuat judul pada tag <p> atau
<span>.
3.
Emphasis
<small> : tag ini untuk membuat
teks kecil
4.
Teks
berwarna
Untuk menampilkan teks berwarna kita dapat menggunakan
kelas kelas berikut. Pada bootstrap sudah disediakan warna
warna default yang setiap warnanya memiliki arti masing
masing. Warna warna ini sudah diberi nama sesuai dengan
namanya masing masing. Biasanya nama nama ini akan
dipakai bersamaan dengan kelas yang lain, untuk memberi arti
tampilan kelas tersebut dengan warnanya.
Daftar nama, warna
maknanya :
Warning
: kuning
Error
: merah
Info
: biru
Success
: hijau
Muted
: abu abu
Contoh penggunaanya :
dan
: sebagai tanda peringatan
: tanda error atau aksi yang
:negatif
tanda informasi
: tanda keberhasilana atau aksi
positif
:yang
tanda
tidak aktif
6.
Addresses
<address> : format untuk menampilkan alamat, biasanya
digunakan untuk alamat di footer
7.
Blockquotes
<blockquote> : untuk melakukan pengutipan dari sumber yang
lain, contoh dalam mengutip pendapat orang lain di dalam
artikel.
List
Unordered : daftar/list dari item tanpa nilai (angka, huruf,
b.
dll)
B.
Code
Untuk menampilkan tag tag kode html anda di dalam
halaman html anda, gunakanlah tag <code>
C.
Tables
Sama seperti membuat tabel html biasa, namun gunakanlah
kelas .table untuk menampilkan tabel dengan style bootstrap.
[Default Table]
Style lain untuk table, anda dapat menambahkan kelas kelas
style lain untuk tag
<table> sebagai berikut :
[ .table-striped ]
a.
Style
Default
Ket. :
o
<legend> = untuk nama dari Form
o
<label> = untuk label dari media inputan (textbox, radio,
checkbox dll)
o
.help-block = tempat untuk menempatkan informasi
tambahan bagaimana cara mengisi form dengan benar
b.
Optional layouts
Bootstrap telah menyediakan beberapa pilihan layout form
tentang beberapa kasus desain form yang sering kita temui.
o
Search Form
Form untuk melakukan pencarian.
Ket. :
.input-medium = ukuran dari inputan, bootstrap menyediakan
berbagai ukuran untuk inputan.
o
Inline Form
Form ini menempatkan semua komponen form ke dalam satu
baris saja, bisanya
digunakan untuk form login, pencarian dll.
o
Horizontal form
Digunakan untuk membuat tampilan komponen komponen
form tertata dengan
rapi.
Ket. :
.form-horizontal
.control-group =
.control-label =
.controls
c.
Inputan form yang didukung (Supported
form controls) Inputan inputan dalam form
yang didukung bootstrap.
o
Input
Untuk menampung data karakter
yang sedikit.
o
Textarea
Untuk menampung data karakter yang banyak atau menampung
suatu teks artikel.
o
Checkbox dan
radio
Checkbox biasanya digunakan untuk memberikan beberapa
pilihan yang dapat
diinputka
n.
Contohnya checkbox hobi, kita
dapat mem
Radio biasanya digunakan untuk memberikan hanya satu
pilihan yang dapat diinputkan dari beberapa pilihan yang
tersedia.
Ket.
:
o
Select
Select atau combo box, inputan untuk memasukan hanya
satu inputan dari
beberapa pilihan yang tersedia, contohnya combobox agama,
kita hanya boleh memilih satu agama saja dari banyak agama
yang tersedia.
d.
Style Inputan yang lain.
o
Prepended and appended inputs
Style ini biasanya digunakan untuk memberikan keterangan
pada textbox,
sebelum dan sesudah textbox.
o
Button instead of text
Style ini menyatukan button dengan textbox.
Button Dropdown
Grid sizing
f.
Uneditable inputs
Untuk inputan yang tidak dapat di edit.
g.
Form Actions
Button untuk mengeksekusi data inputan dari form.
h.
Validation
states
Bootstrap menyertakan style validasi untuk pesan error,
warning, info dan success, style ini berguna untuk
memberitahukan kepada user tentang status inputan yang ia
berikan.
E.
Buttons
a.
Default Button
Button style ini dapat kita gunakan dengan mengaplikasikan
kelas .btn, kelas ini paling baik dikombinasikan dengan tag <a>
atau <button>.
Berikut adalah daftar button button yang dapat kita gunakan :
c.
Disable state
Me-nonaktifkan button.
F.
Images
Kita dapat menggunakan kelas berikut untuk memanupulasi
style gambar kita, style sudut tumpul, lingkaran dan efek
kamera polaroid.
Membangun Responsive Website dengan Twitter Bootstrap 2.0 + PHP dan IV!ysql
G.
Icons by Glyphicons
Bootstrap bekerja sama dengan Glyphicon.com untuk menyediakan icon gratisan
yang dapat kita gunakan secara bebas.
Tersedia 140 icon dengan warna hitam dan putih, berikut adalah sebagian dari
icon- icon tersebut :
Y icon-glass
Jl icon-music
Q icon-search
icon-envelope
icon-heart
* icon-star
1< icon-star-empty
.1. icon-user
B icon-film
::icon-th-large
m icon-th
icon-ok
X icon-remove
icon-zoom-in
icon-zoom-out
Cl icon-off
11 icon-signal
0 icon-cog
IIicon-trash
icon-home
li icon-file
0 icon-time
.. icon-download-alt
<D icon-download
<D icon-upload
C icon-inbox
0 icon-play-circle
C icon-repeat
C icon-refresh
til icon-list-alt
lili icon-lock
1 icon-flag
(,) icon-headphones
"" icon-volume-off
icon-volume-down
oeo icon-volume-up
ill! icon-qrcode
1!111 icon-barcode
icon-tag
icon-tags
IIicon-book
Ill icon-bookmark
a icon-print
B icon-camera
A icon-font
B icon-bold
icon-italic
IT icon-text-height
icon-text-width
::icon-th-list
icon-road
icon-align-left
:ll; icon-align-center
icon-align-right
s icon-align-justify
is icon-list
il:. icon-indent-left
i} icon-indent-right
.,icon-facetime-video
I:Oil icon-picture
/ icon-pencil
Q icon-map-marker
<t icon-adjust
icon-tint
0 icon-edit
B icon-check
+icon-move
IC icon-step-backward
ICC icon-fast-backward
icon-backward
J> icon-play
11 icon-pause
icon-stop
.. icon-foiWard
Mt icon-fast-foiWard
M icon-step-foiWard
<!> icon-eject
< icon-chevron-left
) icon-chevron-right
0 icon-plus-sign
0 icon-minus-sign
0 icon-remove-sign
0 icon-ok-sign
0 icon-question-sign
0 icon-info-sign
+ icon-screenshot
icon-remove-
icon-share
circle
58
Sopian Hadianto -founder of Geek House - geekhouse.biz
a.
Icon in Button
59
Sopian Hadianto ~ founder of Geek House ~
geekhouse.biz
B.
Button dropdowns
Memberikan dropdown menu/submenu pada sebuah button.
a.
Split button
dropdown
style lain dari button dropdown diatas, yaitu menyisipkan
satu buah button tambahan sebagai tombol pembuka
dropdown menu.
C.
Navs
Navs adalah pilihan navigasi untuk menu yang disediakan oleh
bootstrap, yaitu tabs, pills dan list. Untuk mendapatkan
komponen ini kita hanya perlu menyisipkan kelasnya di dalam
tag <ul>, berikut cara penggunaannya.
a.
Basic
tabs
Style komponen ini berisi daftar
tab/tabulasi.
b.
Basic pill
c.
Stacked tabs
Tab vertical yang terpasang secara menumpuk,
ini cocok untuk sidebar/menu kiri/kanan.
style
d.
Stacked pills
e.
Tabs with dropdown
Menambahkan dropdown pada navigasi menu.
f.
Nav List/sidebar
Komponen ini dapat digunakan sebagai sidebar.
g.
Tabbable nav
tab nav yang memiliki kontennya/sectionnya masing masing.
h.
Tabbable on left
Selain style diatas ada pula kelas align lainnya yaitu, .tabsbelow, .tabs-left, .tabs- right.
D.
Navbar
Navbar itu dapat dikatakan sebagai menu bar, yakni berisi
daftar menu - menu utama di dalam website kita menu menu
tersebut seperti home, profil, kontak dll.
Pada mulanya navbar itu static (atau posisinya tidak menetap
ketika layar kita scroll ke bawah/not fixed to the top).
b.
Nav links
Menambahkan item menu melalui tag <li> pada tag <ul>,
disini kita dapat
menambahkan menu menu utama dari website.
o
Fixed to bottom
Navbar akan ditempatkan menetap di bawah layar.
o
Static top navbar
Buatlah full-width navbar yang akan tergulung bersama
halaman dengan
menambahkan .navbar-static-top.
e.
Responsive Navbar
Responsive navbar dapat dibuat dengan mengaplikasikan
komponen komponen diatas.
70
Sopian Hadianto ~ founder of Geek House ~
geekhouse.biz
Desktop view
Tablet/Smartphone view
E.
Breadcumbs
dengan
F.
Pagination
Pagination digunakan untuk penomoran/penandaan halaman.
o
Size
Untuk menentukan ukuran pagination kita dapat
menempatkan kelas kelas
berikut setelah kleas .pagination, kelas kelas : .paginationlarge, .pagination- small, atau .pagination-mini.
o
Aligment
Untuk menentukan arah pagination kita dapat menempatkan
kelas kelas berikut
setelah kleas .pagination, kelas kelas : .pagination-centered
dan .pagination- right.
Pager
Aigned links
G.
Labels and
badges a. Labels
b.
Badges
H.
Typography a.
Hero Unit
Hero unit salah satu typography yang mungkin anda dapat
menggunakannya.
b.
Page header
Kelas ini dapat digunakan untuk membuat teks header.
I.
Thumbnail
Thumbnail dari Bootstrap dapat digunakan untuk membuat
galeri, foto profil dll.
a.
Default thumbnails
J.
Alerts
Alert biasanya digunakan untuk memberikan pemberitahuan
kepada user, setelah user melakukan suatu aksi tertentu.
a.
Defalut alert
b.
c.
Alert Success
d.
Alert Information
K.
Progress bars
Progress bar ini biasanya digunakan untuk proses loading,
redirecting, atau pun
status dari aksi yang kita lakukan.
Progress bar akan bekerja dari width
0% - 100%. a.
Basic / Progress bar
dasar
b.
Striped / Bergaris
c.
Animated
Untuk mengaktifkesan animasi dari progress bar, kita dapat
menambahkan
kelas .active setelah kelas .progress-striped
d.
e.
b.
Media list
Dengan tambahan ekstra tag/markup, kita bisa menggunakan
media di dalam list/
tag <li> (berguna untuk threads komentar atau daftar artikel).
M. Miscellaneous/Lain
lain a.
Wells
Gunakan kelas .well untuk memberikan effect isian (inset efect)
pada grid.
b.
Helper classes/ kelas kelas pembantu
Berikut adalah kelas kelas pembantu yang biasanya sangat
berguna untuk
digunakan.
.pull-left
Men-float element ke sisi kiri
.pull-right
Men-float element ke sisi kanan
.muted
Mengganti warna element/komponen dengan warna #999
.
clearfi
x
Clear/bersihkan
float
elemen/komponen
style
dari
1.6.
JavaScript
A.
Transitions
Bootstraptransition.js
Untuk
efek
transisi
sederhana,
masukanlah
Bootstrap-transition.js
Diantara file js (javascript) lainnya. Akan tetapi jika kita
menggunakan bootstrap.js yang di-compile ataupun yang tidak
di-compile kita tidak perlu memasukan file js ini karena sudah
ada di file bootstrap.js.
Contoh kasus penggunaan
transisi
o
Sliding (menampilkan) atau fading (menyembunyikan)
di dalam modal
o
Fading out tab
tab
o
Fading out
alert
o
Sliding carousel/sliding image
slide show
B.
Modal
Modal itu seperti prompt dialog/kotak dialog yang akan muncul
ketika button atau tombol modalnya di klik.
a.
Live
modal
Untuk membuat modal kita membutuhkan elamen <div>
yang akan dijadikan
tempat dialog box dan tombol atau link untuk
mengaktifkannya.
C.
Dropdown
Dropdown dengan javascript hampir sama dengan
dropdown dengan CSS
sebelumnya, hana berbeda dari kodenya saja.
D.
Scrollspy
bootstrapscrollspy.js
Plugin ScrollSp ini akan merubah otomatis nav targets
berdasarkan posisi dari scroll. Untuk lebih jelas mari kita lihat
gambar berikut :
Pada saat area belum digulung, maka area akan seperti berikut :
Dapat kita lihat pula bahwa, nav target ada pada target #fat.
Dan ketika layar digulung kea rah teks @mdo, maka area akan
seperti berikut :
Dapat kita lihat pula bahwa, nav target ada pada target #mdo.
Untuk lebih memahami ScrollSpy, silahkan buatlah dengan kode
berikut :
E.
Tab
bootstraptab.js
Ketika tab profile diklik maka tab profile akan terbuka secara
automatis.
F.
Tooltip
bootstrap-tooltip.js
Tooltip biasanya digunakan untuk menampilkan keterangan
tambahan dari sebuah teks, button,dll.
G.
Popover
Popover hampir sama dengan tooltip, dengan style yang sangat
berbeda.
H.
Alert
bootstrapalert.js
I.
Button
bootstrapbutton.js
Lakukan lebih dengan button dengan
javascript. a.
Stateful
Digunakan untuk menyatakan status, misalnya status data yang
sedang di-load.
Button ketika belum diklik
97
Sopian Hadianto ~ founder of Geek House ~
geekhouse.biz
b.
Single toggle
98
Sopian Hadianto ~ founder of Geek House ~
geekhouse.biz
c.
Checkbox button
Dengan button kita dapat juga membuat
checkbox. Button sebelum ditekan.
d.
Radio button
Dengan button kita dapat juga
membuat radio. Button sebelum
ditekan.
J.
Collapse
bootstrap-collapse.js, juga membutuhkan plugin transitions.
Accordion ini konsepnya mirip dengan tab, untuk lebih
memperjelas mari lihat gambar berikut.
Tampilan awal
99
Sopian Hadianto ~ founder of Geek House ~
geekhouse.biz
10
0
K.
Carousel
Carousel adalah slideshow gambar yang akan berganti secara
automatis (dalam beberapa detik) atau pun dengan mengklik
gambar tersebut.
BAB 2
MERANCANG DESAIN WEBSITE RESPONSIVE/FRONT END
Untuk merancang tampilan website responsive dengan
bootstrap ini, kita kan menggunakan konsep one-page template,
maksudnya adalah semua konten yang ada dalam website ini
akan ditampilkan dalam satu halaman html saja (halaman
index).
Jadi nantinya akan ada beberapa bagian (section) untuk
konten konten utama, yang akan disusun berbaris kebawah,
sehingga saat menu konten dipilih maka halaman akan secara
otomatis tergulung ke section konten tersebut.
Template seperti ini sangat cocok digunakan untuk
company profile atau
pun portfolio, hal ini karena website seperti ini memiliki
konten yang sedikit sehingga template simple yang seperti ini
cukup baik untuk dipakai.
Untuk lebih jelasnya anda dapat membuka, file
contoh-website-onepage.html yang ada di folder contoh-website-one-page.
2.1. Layout Website Company Profile/Portfolio
Berikut adalah desain layout website yang akan anda buat.
<html>
<head>
<!-- Meta -->
<!-- Judul Website Anda, akan muncul dalam tab di browser-->
<title>Proyek-Web-Portfolio</title>
<!-- Link Favicon (icon website), ditampilkan di sebelah Judul website -->
<link rel="apple-touch-icon-precomposed" sizes="144x144"
href="./assets/ico/apple-touch-icon-144-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114"
href="./assets/ico/apple-touch-icon-114-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72"
href="./assets/ico/apple-touch-icon-72-precomposed.png">
<link rel="apple-touch-icon-precomposed"
href="./assets/ico/apple-touch-icon-57-precomposed.png">
<link rel="shortcut icon" href="./assets/ico/favicon.png">
<!-- Meta, untuk mengenali spesifikasi device (desktop, mobile, tablet)
untuk mendukung fitur responsive Bootstrap -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- fungsi require() digunakan untuk memasukan file .php atau .html -->
<!-- Meta -->
<!-- Link-css -->
<!-- Link file css yang dibutuhkan -->
<link href="./assets/css/bootstrap.css" rel="stylesheet" media="screen">
<!-- Link file css baru untuk memodifikasi Desain di Bootstrap -->
<link href="./assets/css/main.css" rel="stylesheet" media="screen">
<!-- Link file css yang dibutuhkan -->
<link href="./assets/css/bootstrap-responsive.css"
rel="stylesheet" media="screen">
-->
<script src="./assets/js/jquery.js"></script>
<script src="./assets/js/bootstrap-transition.js"></script>
<script src="./assets/js/bootstrap-alert.js"></script>
<script src="./assets/js/bootstrap-modal.js"></script>
<script src="./assets/js/bootstrap-dropdown.js"></script>
<script src="./assets/js/bootstrap-scrollspy.js"></script>
<script src="./assets/js/bootstrap-tab.js"></script>
<script src="./assets/js/bootstrap-tooltip.js"></script>
<script src="./assets/js/bootstrap-popover.js"></script>
<script src="./assets/js/bootstrap-button.js"></script>
<script src="./assets/js/bootstrap-collapse.js"></script>
<script src="./assets/js/bootstrap-carousel.js"></script>
<script src="./assets/js/bootstrap-typeahead.js"></script>
<script src="./assets/js/holder/holder.js"></script>
<script src="./assets/js/google-code-prettify/prettify.js"></script>
<script src="./assets/js/application.js"></script>
<!-- Script-Js -->
</body>
</html>
<div class="row-fuid">
</div> </div>
<!-- Section- -->
<!-- Section-Blog -->
<!-- Section-Kontak -->
<div class="row-fuid" id="section-kontak">
<!-- Section- -->
<div class="row-fuid bg-gray'">
</div>
<!-- Section- -->
</div>
<!-- Section-Kontak -->
<!-- Section-Footer -->
<div class="row-fuid" id="section-footer">
<!-- Section- -->
<div class="row-fuid">
</div>
<!-- Section- -->
</div>
<!-- Section-Footer -->
</div>
</div>
<!-- Section-Navigasi -->
Penjelasan
berdasarkan
nomor :
4042
membuat navbar fixed, agar posisisnya menetap
di atas layar.
4649
membuat toggle button untuk menampilkan menu pada
tampilan mobile.
5255
menampilkan icon logo web dan
nama web.
5864
membuat menu bar, yaitu Beranda, Layanan, Portfolio,
Blog dan Kontak.
Coba lihat nomor 59 ada link index.html, artinya ketika tombol
Beranda ditekan maka halaman akan membuka halaman
index.html. Lalu coba lihat baris dibawahnya, ada link
index.html#section-layanan. Link tersebut ketika diklik maka
halaman akan menuju ke tag html yang memiliki id=sectionlayanan.
<!-- Section-Layanan -->
<div class='row-fuid' id='section-layanan'>
<!-- Section- -->
11
0
11
1
Lalu ketikan
berikut.
kode
/* main.css */
/* navbar */
.navbar-inverse .btn-navbar {
margin-right:20px;
}
/* navbar */
11
3
11
4
Jika kita lihat menu sudah memiliki padding, namun ketika menu
di sorot/hover, ternyata style hover tidak memenuhi layar.
Kenapa?
Coba anda cari kelas .nav di file
bootstrap.css anda.
Jika kita lihat lagi ternyata, teks menu ini ada di dalam tag <li>.
Karena tag <li> berada di tag <ul> yang memiliki kelas .nav,
maka untuk memberikan jarak antara layar dan menu kita
dapat menambahkan margin pada kelas .nav yang merujuk ke
tag <li>. Silahkan editlah kode yang tadi dengan kode berikut.
/* main.css */
/* navbar */
.navbar-inverse .btn-navbar {
margin-right:20px;
}
.nav >li{
margin-left:10px;
}
/* navbar */
Coba
buka
lagi
index.html anda.
file
navigasi,
.navbar-inner {
padding-bottom:5px;
padding-top:5px;
}
2.2.1.2.
Section Slide Show
Efek animasi akan mempercantik tampilan suatu web,
sekarang kita akan menambahkan slide show pada sectionslide-show.
Bukalah index.html anda, lalu tambahkan koding berikut.
<!-- Section-Slide-Show -->
<div class='row-fuid' id='section-slide-show'>
<div id='myCarousel' class='carousel slide'>
<div class='carousel-inner'>
<div class='container'>
<div class='carousel-caption'>
<h2>Mobile Application</h2>
<p class='lead'>Mobile Application
</p>
</div>
</div>
</div>
<div class='item '>
<img src='../assets/img/examples/slide-02.jpg'
alt='Mobile Application' width='100%'>
<div class='container'>
<div class='carousel-caption'>
<h2>Mobile Application</h2>
<p class='lead'>Mobile Application
</p>
</div>
</div>
</div>
</div>
<a class='left carousel-control' href='#myCarousel'
data-slide='prev'>‹</a>
<a class='right carousel-control' href='#myCarousel'
data-slide='next'>›</a>
</div>
</div>
<!-- Section-Slide-Show -->
11
7
12
0
Selanjutnya kita akan memberikan efek transisis (-webkittransition) dan border radius (untuk membulatkan sisi sisi
image)
Tampilan section-layanan.
[Section Layanan]
[Section Layanan]
section-porfolio
untuk
Membangun Responsive Website dengan Twitter Bootstrap 2.0 i>Hi> dan Mysql
<di'"tl class= Y'O\t- f luid-black
11
11
>
124
12
5
[Section Portfolio]
2.2.4. Section Blog
Halaman Blog biasanya digunakan untuk menyampaikan
informasi/artikel/berita baik kabar dari perusahaan maupun dari
luar.
Ketiklah kode berikut untuk membuat konten section blog.
Anda juga dapat menambahkan konten lagi pada sectionlayanan supaya terlihat memenuhi layar.
2.2.5.
Section
Kontak
Section kontak biasanya digunakan sebagai sarana untuk
melakukan komunikasi dengan pelanggan atau pengunjung
website, biasanya akan ditampilkan informasi perusahaan,
kontak sosial media perusahaan, dan buku tamu, dan lain lain.
Berikut kode untuk
section-kontak.
membuat
konten
13
0
13
0
Tampilan section-kontak.
13
1
BAB
3
MEMBANGUN
SERVER
WEB
3.1.
Mengenal Web
Server
Web Server adalah sebuah perangkat lunak server yang
berfungsi untuk menerima permintaan HTTP atau HTTPS dari
klien yang dikenal dengan web browser dan mengirimkan
kembali hasilnya dalam bentuk halaman - halaman web yang
umumnya berbentuk dokumen HTML. Web Server yang terkenal
adalah Apache dan Microsoft Internet Information Service (IIS).
Apache ( Server HTTP Apache atau Server Web/WWW Apache)
adalah web server yang dapat dijalankan di berbagai Sistem
Operasi yang beruna untuk melayani dan memfungsikan situs
web. Protocol yang digunakan untuk melayani fasilitas web ini
adalah menggunakan HTTP. Dengan Apache anda dapa
membangun server web pribadi untuk pengembangan web.
Setelah anda memahami apa iti web server beserta fungsinya.
Tahap selanjutnya anda akan belajar bagaimana cara
membangun web server local pada computer anda sendiri
Dikarenakan situs web yang akan anda buat menggunakan
script PHP (PHP:Hypertext Preprocessor). Maka web sever yang
digunakan adalah Apache web server.
Kalli ini kita akan menggunakan web server Xampp salah satu
Apache Friends yang memiliki fitur yang lengkap dalam
pengembangan website. Xampp juga ini open source dan dapat
di
download
secara
bebas
di
alamat
:
htttp://www.apachefriends.org .
3.2. Instalasi Webserver
2.
Klik install
4.
6.
7.
8.
Membangun Responsive Website dengan Twitter Bootstrap 2.0 + PHP dan Mysql
13. Buka web browser anda, lalu ketikan http://localhost. Jika tampilannya
seperti di bawahini, maka Xampp anda sudah terinstal dengan benar.
-"
c II J'
P ll..
fll
XAMPP
iOllhib / lll!.lt:lidl / / / fmki // / OiQct / / fi/
I pm"mti2 lfnal!/ B.:UI
SapianHadianto
geekhouse.biz
14
0
14
1
PHPyang
dan Mysql
FreeSoftware
berada dibawah Lisensi GNU/GPL ( General
Public License ).
14
2
Logo
MySQL
Sedangkan PHPMYADMIN adalah database admin panel yang ada
pada web server. Fungsinya adalah sebagai pengendali dan alat
manupulasi database MySQL menggunakan web server.
Logo
phpMyAdmin.
2.
Buka
browser
anda
dan
ketikan
http://localhost/phpmyadmin
atau http://localhost/phpmyadmin/index.php pada address
bar.
14
3
Merancang Database
Pastikan anda masih di halaman phpMyAdmin
Untuk membuat database baru, caranya pada ketikan
nama database anda misalnya portfolio_db pada text box
Create New Database, lalu klik tombol Create
3.
Jika sukse maka tampilannya
seperti berikut
3.5.
Membuat Tabel
3.
4.
5.
LengthNalues
Is
0e1au1r
l iNT
vi
Iusername
IVARCHAR
vi 130
INone
Ipassword
IVARCHAR
vi
1 30
INone
vi
IVARCHAR
vi
110
None
vi
id
Storage Engine:
Table comments:
IMyiSAM
vi
vi
INone
I
I
I
I
I
vi
Collat on:
v
147
Sopian Hadianto- founder of Geek Housegeekhouse.biz
6.
14
8
7.
NULL
NULL
,
,
Tabel bukutamu
Tabel kategori
Tabel kontak
Tabel slide_show
15
0
Tabel tentang
B.
Meng-import database
Untuk mengimpor database yang sudah jadi, ikuti langkah
langkah berikut :
1. Jika sebelumnya anda telah membuat database
portfolio_db, anda
dapat menghapusnya terlebih dahulu.
1.
2.
4.
BAB 4
MEMBANGUN SISTEM WEBSITE DINAMIS DENGAN PHP
4.1. Mempersiapkan Website Company Profile/Portfolio ke Web
Server
Sekarang kita akan memindahkan website kita ke dalam web
server/localhost. Silahkan ikuti langkah langkah berikut :
1. Copy folder proyek-web-portfolio.
2.
3.
5.
7.
4.
5.
6.
7.
16
0
2.
3.
b.
1.
2.
4.
M em bangun Responsive Website dengan Twitter Boatstrap 2.0 + PHP dan M ysql
<!-- Secton-511de-Show
-->
<?php require ( "slide-shoi") ; ?>
11
>
<!-- Section-->
>
>
165
Sopian Hadianto founder ofGeek Housegeekhouse.biz
2.
3.
16
6
4.
Membangun Responsive Website dengan Twitter Bootstrap 2.0 i>Hi> dan Mysql
<!-- Section-Portfolio
-->
<div
=--....,-;-=.,....
site-4 . ROSJ
</div>
<di v cl
11
a=l
11 11
a--=""''"s ">'.
< img
src=n Iass
pan4""
. ': s-
</div> -;;----:=-.
. W)_g
11
a=l
11
<I div>
'---=--"""":--.----:-;-=.,....
11 11
168
So pian Hadianto founder of Geek Housegeekhouse.
biz
2.
3.
4.
f.
1.
16
9
< 1 -- Section-->
<!-- Section-
I
I
<div class
<div class
Paste
<hl>c
</div>
<div class
<div class
<div class
<img s
Select All
I
I
alt=11
cl
<h4>Rgj
</div<>p
e
Cut
Copy
Delete
Style token
Remove style
Plugin commands
n
es/site-l. ROSJ11
UPPERCASE
at... s1:>>]
lowercase
Hide Lines
<div class
<img src= . /assetS/JJ!!II/example-sl ces/site-2 !WSI" alt=nn I
clasS=11 00 w-rounded 11 >
I
<h4> ,& id i,J< non mi.</h4I >
<p> ,&. id i.J< . non mi.
at... s1:>>]
</div> I
<div class= 11 span3 11 >1
<img src= 11 /assets/OO/example-sites/site-3 . RO,g11 alt=nn I
class="JJ!!g JJ!!g-rounded">
<h4> ,& id i,J< non mi .4</ h4>
<p>
<ill]
id Ull non miat
</div> I
<div class= 11 span111 > < /div> 1
<i,d. iv>J
'>,
17
0
2.
3.
4.
17
1
2.
3.
4.
2.
3.
1.
4.
5.
BAB 5
2.
admin anda.
4.
6.
Penjelasan home.php:
Penjelasan home.php :
1-6
Memulai session, session itu seperti cookies, dapat menampung
data sementara.
28-29
18
0
link.php
footer
34
35
36
37
II
else if ($menu==" ) {
re<IUire ("content"./) ;
38
39
40
41
42
43
44
45
46
47
else if ($menu==-"
"){
re<IUire ("content") ;
else if ($menu==-" update") {
re<IUire ("content -update". ) ;
IIJ:enJ< OSJ
else if ($menu=="elll: OSI") {
re<IUire ("contentll)l: OSIIelll: OSI") ;
48
49
50
51
52
53
54
55
11a :Uli:
else if ($menu=="uJ< li:e"l{
re<IUire ("contentl!:l< li:eV !:J; li:e"l;
56
57
58
59
60
61
62
63
64
65
66
67
68
II J; t
else if ($menu=="l;:ijJ; t") {
re<IUire ("contentll;;ij tVli:ij t". ) ;
188
Sopian Hadianto founder of Geek House geekhouse.biz
2.
18
9
2.
3.
19
0
2
3
4
5
6
7
8
9
10
<h4 class="text-info">slide_show</h4>
11
12
13
14
15
16
17
18
19
20
21
22
23
24
- <?php
include " !: ::!Jo".;
SdaeaPerPage
5;
if(isset(S_GET('page')))
- {
SnoPage = $_GET['page');
else SnoPage = 1;
//s: g n offset
$offset = ($noPage - 1) $dataPerPage;
//query
oos:
n data S: Q n offset
$se lect
"select
//$select
30
31
32
25
26
27
28
29
"select
from slide_show";
$sql = mysgl_query($select);
while($hasil = mysql_fetch_array($sql))
$id = $hasil['id');
$judul = $basil [ ' I ;
19
1
33
34
$deskripsi = stripslashes($hasil['
'));
$gambar = stripslashes($hasil['
'));
35
36
37
echo"<u ><U!>$id</U!><U!>$judul</U!><U!>$deskripsi<U!>
<!llla =../images/slide_show/".Sgambar."'
widt.h='lOO'I><IU!>"
"<&,Q><a ='home.?me::lu=slide_show-update&&id=$id'>
38
39
<i
class='icon-edit'></i> Edit</a></&,Q>".
40
41
42
43
44
45
echo"</table>";
echo "<class='container'>";
//mdata slide show
46
$que ry1
47
48
49
$result = mysql_query($query1);
$data = mysql_fetch_array($result);
$jumData = $data['jumData');
50
51
52
53
54
"<&,Q><a ='conte::lt/slide_show/slide_show-.?id=$id'>
<i class=' icon-trash' ></i > Delete</&,Q></a>";
= "select
x
yang
n data
$jumPage = ceil($jumData/$dataPerPage);
//link previous
echo "<class='tf_pagination style3 container'><class='inner'>";
- if($noPage>1){
1/m
55
echo "<a
56
57
58
59
60
class='page_prev -success'
62
64
"'>
<spa.!l><</spa.:1></a>";
61
63
192
Sopian Hadiantofounder of Geek Housegeekhouse.biz
Penjelasan
Membuat button untuk menambah data Slide Show.
Fungsi include untuk memasukan fle koneksi.php, untuk
mengkonfgurasi
database MySQL
13
Menentukan
data yang ditampilkan per halamanya maksimal
5
data
14 17 Mendapatkan value dari variable page, lalu mengisi var.
$noPage dengan
value
dari
var. $page
18
Jika
var.
$page
tidak ada maka, var. $noPage valuenya diset
1
21
Perhitungan
$ofset
24 - 25 query untuk menampilkan data perhalaman sesuai $ofset
28
Mengeksekusi query 24 25 dengan fungsi mysql_query
29
mysql_fetch_array digunakan untuk mengambil data dari
database, selama
data masih ada maka akan ditampilkan data dari table
slide_show
baris
record dengan nama field id.
31
var.
$id akan
diisi31
oleh
36
Mencetak record $judul dan $deskripsi
37
Menampilkan gambar
19
3
slide_show-hapus.php
Penjelasan
Memasukan koneksi.php
4
7
slide_show-tambah.php
slide_show-update.php
Penjelasan
Menampilkan record dari tabel slide_show yang memiliki id
yang dilewatkan
dari halaman slide_show.php
12 39 Menampilkan
form yang telah berisi record dari query di atas
14
action='content/slide_show/slide_show-update-p.php', ketika
fle submit
diklik maka akan dibuka file slide_show-update-p.php untuk
meng-update
slide_show-update-p.php
Baris
39
11 -17
19
22
23
Penjelasan
Mendapatkan data yang diinputkan
Proses upload gmbar
Query untuk update record pada tabel slide_show
Jika query sukses, maka akan di-redirect ke
halaman
home.php?menu=slide_show
Jika
query gagal, akan ditampilkan pemberitahuan, upload
gagal
20
0
Membangun Responsive Website dengan Twitter Bootstrap 2.0 i>Hi> dan Mysql
5.6.2.
Menu Admin
admin.php
<h4 class="textinfo"></h4>
class="-success">
<a href="home.rum?
menu=-"
2
>
</a>
- <table bo=der-= ' 1 ' class=" table table-striped" width= ' 100% '
6
<td>id</td><td> Q9m</td><td>password</td><td></td>
<td>edit</td><td></td>
</tr>
-<?php
incl.ude "!!!:Ito:!";
!0
!2
3
!
5
!6
$dataPerPage
5;
- {
$noPage = $_GET['page');
else $noPage
20
if(isset($_GET['page'JII
1;
$offset,
$dataPerPage ;
22
23
2
25
26
2-
$sql. = mysql_query($adminbaru);
whil.e($hasil = mysql._fetch_array($sql))
{
$id = $hasil.['id');
$username
$password
= $hasil['
;n');
= stripslashes($hasil['password']);
2e
$ket = stripsl.ashes($hasil.[''));
29
30
echo..<u >
32
<>$id</><>$username</>$password</>
<>Sket</>
201
Sopian Hadianto founder of Geek Housegeekhouse.biz
Mem bangun Responsive Website dengan Twitter Bootstrap 2.0 + PHP dan Mysql
33
34
35
36
37
38
39
40
<><a ='home.?meu=-update&&id=$id'>
<class='icon-edit'></> Edit</a></>
<>
<a ='conte t//-?id=$id'>
<i
class='icon-trash'></i> Delete</&Q>
<Ia>" :
echo "</ table>";
41
42
43
44
echo "<class='col--12'>";
Itms: <s.n d&ta
45
$que ry1
46
47
48
$result = mysql_query($query1);
$data = mysql_fetch_array($result);
$jumData = $data['jumDat&');
49
50
51
//ms:!<S:!<
52
echo
!<
yang !:n data
$jumPage = ceil($jumData/$dataPerPage);
//ms:!<
!< link previous
53 -if($noPage>1){
54
echo "<a class=-'success'
='home.?me::lu=&&page="
55
. ( $noPage-1) . "'><spa.:l><</spa.:l></a>";
56
57
for($page = 1; $page <= SjumPage; $page++)
58 - {
59
if((($page >= $noPage - 3) && ($page <= $noPage + 3))
60
II ($page == 1) I I ($page == $jumPage))
61
62
if(($showPage == 1) && ($page != 2)) echo " "
if(($showPage != ($jumPage - 1)) && ($page == $jumPage)) echo
63
"..";
if($page == $noP&ge){
64
vS
66
67
68
69
.$page."</b></a>";
$showPage = $page;
-1
72
73
74
75
"76
echo"</>" ;
78
?>
echo
"<hS>Total
Record
'home.? enu-&&page"
$jumData records</h5>";
20
3
Membangun Responsive Website dengan Twitter Boatstrap 2.0 + PHP dan Mysql
1
2
3
- <?php
include "Jmm: Jo".;
if(isset($_POST['input')))
- {
5
$username = trim(addslashes(strip_tags($_POST[' j)));
6
$password =
trim(addslashes(strip_tags($_POST['password'))));
7
$ket = trim(addslashes(strip_tags($_POST['
'))));
8
10
'Susername'n;
11
12
13
$sqluser = mysql_query($selectuser);
$cek = mysql_num_rows($sqluser);
if($cek==O){
14
15
16
17
$insertquery = ninsert
$sql = mysql_query($insertquery);
18
19
if($sql)
20
21
22
into values
('','Susername','$password','$ket')n;
23
24
else
25
26
27
28
29
30
Data
!<
!:!!!:</font></h4>";
20
4
20
5
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/>
17
18
19
20
21
22
23
24
25
- <?php
<div>
: <input type='text' name='(Q
value='<?php echo $userne; ?>' class='input-' >
</div>
<div>Password : <input type='text' name='password'
value='<?php echo $password; ?>' class='input-'>
</div>
<div>
:
<select name=''
class='input-'>
<option value='
' ></option>
26
27
28
29
30
31
32
<option value='user'>user</option>
<option value='member'>member</option>
</select>
<span style=':red:'>
: <b>
<?php echo $ket; ?></b> </span>
</div>
<ldiv>
33
31
35
36
3
3,
<input
type='submit' name='input'
value='Opdate
class= -success'>
<a class=-danger'
href='home.?menu'></a>
</div>
</div>
206
20
7
Membangun Responsive Website dengan Twitter Bootstrap 2.0 i>Hi> dan Mysql
1
2
3
4
5
<h4 class="text-info"></h4>
<a href ="home?. menuc-=lass=
11
-success
11
</a>
<hr>
- <table border= ' 1' class= ' table table-striped' width= ' 100 ' >
7
8
10
11
12
13
14
15
16
17
18
19
20
>
-{
21
$offset = {$noPaqe - 11 $dataPerPaqe://limit $offset,
$dataPerPaqe "
22
//query
23
24
25
26
27
28
29
30
31
32
33
34
men mQik en
=
data
offset
while{$hasil = mysql_fetch_array{$sql))
{
$id_artikel = $hasil('id_artikel'];
$id_kategori = $hasil('id_kategori'];
208
35
36
$judul = stripslashes{$hasili'
' J );
37
$headline = nl2br{stripslashes{$hasil['headline']));
38
$headline2=substr($headline,0,10);
39
$isi = nl2br{stripslashes{$hasil['
' ]));
40
41
42
43
44
45
46
47
48
$isi2=substr{$isi,0,30);
$kategori
$penqirim = stripslashes{$hasil['Rej);
$tanqgal = stripslashes{$hasil['
' J );
;gambar = stripslashes{$hasil['
' J );
echo"<><&Q>$id_artikel</&Q><&Q>Sjudul</&Q><&Q>Skateqori<I&Q>
<&Q>$headline2</&Q>
<&Q>$isi2</&Q><&Q>$pengirim</&Q><&Q>$tanggal</&Q>
<&Q><JJ!o!='../$gambar' width='50'>< I&Q>
49
50
51
52
53
54
55
56
= stripslashes{$hasil[nm_kategori ]);
<&Q><a =home.Qbg?menu=-update&&id_artikel=$id_artikel>
<class=icon-editxt> Edit</a></&Q>
<&Q><a ='content/
/-?id_artikel=$id_artikel'>
<class= icon-trash ><!!,> Delete<>/<>/ ";
echo "</table>";
57
58
59
d at.a
60
61
62
63
64
65
66
67
21
0
1
2
3
4
-<?php
include "IW2";
//proses input
if(isset{$_POSTI'input']))
-{
6
7
8
9
10
11
$judul = trim(addslashes(strip_tags{$_POST[
])));
$kategori = $_POST('l;ijJ; t' ] ;
$getnm = "select nm_kategori Erom l;ijJ; twhere id_kategori
$sqlgetnm = mysql_query{$getnm);
$rqetnm = mysql_fetch_array{$sqlgetnm);
$kateqori
$nm = $rgetnm[nm_kategori ];
12
13
$headline =
14
trim(addslashes(strip_tags{$_POST['headline'])));
15
$isi_artikel =
trim(addslashes(strip_tags{$_POS[:'
' ])));
16
$pengirim
trim(addslashes(strip_tags{$_POST['
' ])));
17
$swrber = $_FILE:S[
]['tmp_name'];
18
$tujuan = "../images/".$nm."/".$_FILES[]['name'];
19
$tujuan1= "/images /".$nm."/".$_FILE:S[
]['name'];
20
21
llllllllllllllllllll/1
22
$gambar=$_FILE:S['
' l['name'];
23
llllllllllllllllllll/1
move uploaded file{$sumber, $tujuan);
24
25
llllfllllllllfllll/1
26
//insert
27
fiU::It:!:l.4
Ut:!:y :
'' iu::Sl::i. t.
itll.O
VCilUt:::S
1
1
1
11
(
$k. tl.c\JVC'i
1l
jUc.lU
212
28
29
30
31
32
33
34
213
35
36
37
38
else
echo "<h4Xfont ='blue'>Q J; IJ!Qi!l!l;ij!) </EontX/h4>";
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<form method= 'post' action= '' name= ' input' class= ' orange'
enctype= ' !/ f orm-data' >
<trXtd>< / tdXtd>:< / tdXtd>
class='input-' maxlenqth='lOO'>
53
<select name='&0
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
$query = "select id_kateqori, nm_kateqori from l;ij t
order by nm_kategori";
$sql = mysql_query {$query) ;
while(Hsi = mysql_f etch_array {$sql ))
{
echo"<option value='$isi ( id_kategori] '>Sisi ( nm_kategori]
</option>";
t' class='input-'>
?>
</select>
< / tdX / tr>
21
4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
-?php
include "";
$id_artikel=$_GETI'id_artikel'J;
$artikelbaru = "select a .1d art1kel, a. id_kategori, b. nm_kategori,
a,.
a.headline, a.,
a.Re'
a.,
a.
Erom
a, l(ijJ; tb
where a.id_kategori = b.id_kategori and a.id_artikel='$id_artikel'
order by a.id_artikel ";
;sql = mysql_query($artikelbaru);
$hasil = mysql_fetch_array($sql);
$id_artikel = $hasil('id_artikel'];
$id_kategori = $hasil('id_kategori'];
$judul = strip_tags($hasil['
' J );
$kategori = strip_tags{$hasil('nm_kategori']);
$headline = nl2br(strip_tags($hasil['headline']));
$headline2=substr{$headline,0,10);
$isi = nl2br(strip_tags($hasil['
' ]));
$isi3 = $isi;
$isi2=substr($isi,0,30);
;pengirim = strip_tags($hasil['Rej);
$tanggal = stripslashes($hasil['
' J );
;qambar = stripslashes($hasil['
' J );
?>
- <di v class= ' container' >
<hr>
<h4 class='text-info'> Update</h4>
<form method='post' action='content/
/-update-p.'
name='input' class='orange' enctype=' !/form-data'>
<input type='hidden' name='id_artikel' value='<?php echo $id_artikel; ?>'
class='input-'>
215
35
36
class='input-'>
37
38
39
</div>
<div>:
40
41
<select name='
'>
<?php
;query = "select id_kategori, nm_kategori Erom l;ijJ; t
42
43
order by nm_kategori";
44
;sql = mysql_query{$query);
'"hile{Hsi = mysql_fetch_array{$sql))
45
46
47
$id_kategori=$isi(id_kategori];
$kategori=$isi(nm_kategori];
echo"<option value='$id_kateqori'>$kateqori</option>";
48
49
50
51
?>
52
53
</select>
54
55
56
</div>
57
58
59
60
61
62
63
64
65
66
67
68
69
<label>
</labelX/div>
<div>
"1
<br>
12
3
"5
,"6
class=-success'>
<a class='Qtg Rtn-danger' hreE='home.?oenu='></a>
</div>
<br>
<span style:red;'><b>*Required</b> </span>
<!form>
</div>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
-<?php
include "../. ./.ll@";
//proses inpu't
if (isset($_POST['inpu't']))
-{
$id_ar't ikel = $_REQUEST['id_artikel'];
//$id_kateqori = $_REQUEST['id_kateqori'];
$judul = addslashes(strip_taqs($_REQUEST['
' ]));
$kateqori addslashes(strip_taqs($_REQUEST[' ij QQt']));
$headline nl2br(addslashes(strip_taqs($_REQUEST['headline'])));
$isi = addslashes(strip_taqs($_REQUEST['
' ]));
$pengirim = addslashes(strip_tags($_REQUEST['j));
$qambar = addslashes(strip_ags($_REQUEST['
' ]));
IIimage lama
$getgambar = $_REQUEST1 ru: m :: J :
$qetgambar = "../../../".$qetgambar;
if (file_exists($qetgambar)) { unlink($getgamba.r);
IIl{ijJ; QQt
$qetnm = "'select nm_kateqori from l{ij); QQtwhere id_kateqori $kateqori "
$sqlgetnm = mysql_query($getnm);
$rqetnm = mysql_fetch_array($sqlgetnm);
$nm = $rqetnm['nm_kateqori');
//$nm_kateqori = ij(strip_tags($_POST['nm_kateqori']));
$harqa = addslashes(strip_tags($_POST['
' l ));
$detail = addslashes(strip_ags($_POST['detail']));
//if ( $_FILES['
' ])){
$sumber = $_FILES['
' ]['tmp_name'];
$tujuan = "../../../images//".$nm."/".$_FILES[
]['name'];
$tujuan1= "/images//".$nm."/".$_FILES(]('name'];
llllllllllllllllllll/1
$qambar=$_FILES[
]['name'];
21
8
1
2
3
11
>
< /h4>
<I a>
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<hr>
- <table border= ' 1' class=" table table -striped" width= ' 100' >
include;$dataPerkategori
S;
else $nokategori
t' J
:I
1;
9id_kategori ;9hasil('id_kategori'J;
onm_kategori = $hasil ( 'nm_kategori' J;
$deskripsi = stripslashes{$hasil [ 'Qs 2 j ) ;
echo"<><w>Sid_kateqori<tw><w>Snm_kategori<tw><w>Sdeskripsi</W>".
"<w><a ='home .tWl)?menu=l;ij t-update&&id_kategori=$id_kategori' >
<class=' icon-edit'>< > Edit</a></W>".
"<w><a =' content /l;ij tVl;ij t-.tWl)?id_kategori=$id_kategori' >
<class=' icon-trash'>< > Delete<IW>< I>" ;
34
21
9
22
0
1
2
3
4
-<?php
include
// proses input
if {isset{$_POST [ 'input']ll
-{
-.rum:
15
$sql = ll'f Sql_querJ ( Hnsertquery) ;
if ($sql)
1E
1"
{
echo "<h4x:ont'blue'>
1
19
:ata QQi - iQ - mQ< /!ont>< / h4>":
20
21
else
22
echo <h4><:ont 'blue'>
23
24
:ata QSi Qan <t :ont><!h4>":
25
E
2
2"
2
29
30
31
32
33
?>
- <div class= 'container'>
<a class= '!ll;nsuccess' href = ' home.rum?menuQt!:!mti ' >!o).,lll!!< Data</a>
<h4 class= ' text info' > Inpu t</h4>
<table>
- <form n:er;hod= 'post' acr;.ion= '' narr:e= 'input' class=
'orange' >
<tr><td>
fre ti: </ td><td>:</ td><td> <input type= 'text'
34
35
</od></ tr>
36
37
name=
38
39
40
41
42
43
44
45
class='input-' maxlenqth='200'>
bref = '
</ form>
</ table>
222
Sopian Hadianto founder ofGeek Housegeekhouse.biz
kategori-update.php
22
3
5.6.5. Menu
Kontak kontak.php
class=11
5
6
<hr>
- <table border= ' 1' class=" table table -striped" width= ' 100'
7
8
9
10
11
12
13
14
15
16
17
-{
18
19
20
21
22
23
24
25
-success" >
- <?php
include "rum" :
$dataPerPaqe = 5;
if(isset{$_GET]'paqe']))
$noPaqe = $_GET['page'];
else $noPaqe
$offset
//query
$se lect
1;
offset
{$noPaqe - 1)
//e & n
menm U n
"select
* $dataPerPaqe;
data eo
offset
* fromorder by idlimit
26
27
28
29
30
31
32
33
34
>
Hd = $hasil['id'];
$nama = $hasil['MJru!' ] ;
$alamat = stripslashes{$hasil['
' J );
$jenis = stripslashes{$hasil['
' J );
22
5
35
36
37
38
39
40
41
42
43
44
45
46
47
$telp = stripslashes{$hasil['
' J );
$loqo = stripslashes(hasil('loqo']):
$ket = stripslashes{$hasil['
' ]);
echo"<><w>Sid<tw><w>Snama<tw><w>Salamat<tw><w>Sjenis<tw>
<W>$telp</W><W><JJ!1>!='../images/la<JO/".HO<Jo."' width='100' I><IW>
<w>Sket<tw>".
"<w><a ='home.IWJ;)?menu=-update&&id=$id'>
< class='icon-edit'>< > Edit</a></W>".
"<w><a ='content//-.IWJ;)?id=$id'><
!class='icon-trash'></ > Delete</W></>";
48
echo"</table>";
echo "<Qix class='container'>";
49
50
d ata
$queryl
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
$result = mysql_query{$queryl);
$data = mysql_fetch_array{$result);
$jumData = $data('jum0ata'];
ttmenU&0 yang Qendata
$jumPage = ceil{$jumData/$dataPerPage);
/tmen ln link previous
echo "<Qix class=' tf_pagination style3 container' xsU,x class=' inner'>";
- if{$noPage>l) {
echo "<a
class='page_prevm-success'
='home.ll J2?menu=&&page=".{$noPage-1)."'><span><</span></a>";
}
for{$page = 1; $page <= $jumPage; $page++)
-{
if({{$page >= $noPage - 3)&& {$page <= $noPage + 3)) I I
{$page == 1) II {$page == $jumPage))
{
if{{$showPage == 1) && {$page != 2)) echo "..";
if{{$showPage != {$jumPage - 1)) && {$page == $jumPage)) echo
if($page
$noPage) (
class='page-n rs -warning'><b>'"
.$page."</b></a>";
72
73
74
75
76
77
$showPage
78
79
==
if ($noPage
= $page;
< $jumPage) {
80
81
echo'*< 'Ql.x>'";
82
83
= 'home. w?menu='page="
Membangun ResponsWe Website dengan Twitter Bootstrap 2.0 + PHP dan My-sql
Simpanlah dengan nama kontak.php pada folder kontak yang ada di dalam folder
content.
kontak-hapus.php
1
2
- <?php
include ".. / .
./Mru:li:M2";
3
4
13
// Query
$se lect = "select logo :romwhere id
//images
Sqselect = mysQl_query (Sselect) ;
;r = mysql_f etch_array (;qse lect ) ;
;gamba r = ".. / . ./images/logo/".$r ( 'logo ' ]
;
if ( f ile_exists (;gamba r)) { unlink{$gamba r)
;
II Query
14
15
16
7
8
9
10
11
12
Sid "
Sid I";
;
17
18
19
20
21
22
23
24
25
26
27
;i++;
28
29
30
Si";
31
32
33
?>
227
Sopian Ha dianto
geekhouse.biz
Membangun Responsive Website dengan Twitter Bootstrap 2.0 + PHP dan Mysql
Simpanlah dengan nama kontak-hapus.php pada folder kontak yang ada di dalam
folder content.
konta k-ta mba h.php
1
2
3
4
5
6
7
8
9
10
- <?php
include "IW2";
// proses input
if (isset ($_ POST I 'input' ] ))
-{
$nama = t rim(addslashes (strip_tags ($_ POST [ 'Mlru!' ] ))) ;
$alamat = t rim(addslashes (strip_tags ($_ POST [ 'WI!JM ' ] ))) ;
$jenis = t rim (addslashes (strip_tags ($_ POST [ ] ))) ;
$te lp = t rim(addslashes (strip_tags ($_ POST [ ] ))) ;
Hogo = t rim(addslashes (strip_tags ($_ POST [ 'logo' ] ))) ;
11
12
13
14
15
16
17
18
19
llllllllllllllllllll/1
20
21
llllllllllllllllllll/1
move_uploaded_file($sumber, $tujuan);
// insert
22
23
24
25
26
1 I
1 I
) ";
27
echo "<h4Xfont=blue>
2e
29
30
31
32
33
34
else
228
229
Sopian Hadianto ~ founder of Geek House ~
geekhouse.biz
Membangun Responsive Website dengan Twitter Bootstrap 2.0 + PHP dan Mysql
1
2
3
4
- <?php
include ";
$id=$_GET I 'id' ];
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
'ru'
?>
- <di v class= ' container' >
<h4 class= ' text-inf o ' > Input< / h4>
24
25
26
22
23
27
28
29
30
31
32
33
34
name=
class= ' input- value= ' <?php echo $a lamat; ?>' >
< / tdX/ tr>
<trXtd>< / tdXtd>:< / tdXtd> <input type= 'text'
name=
>'> tr>
< / tdX/
<trXtd>< / t.dXtd>:< / tdXtd> <input type= 'text'
name=
>'>t r>
< / tdX/
230
231
Sopian Hadianto ~ founder of Geek House ~
geekhouse.biz
5.6.6.
Menu Bukutamu
bukutamu.php
1
2
3
4
<h4 class="text-info"></h4>
<a href =''home?. menu-Q t
class=-success'' >
Buk.uTamu
</a>
<hr>
- <table border= 1
<td>Id</td><td>l UQQ</td><td></td><td>Email</td><td></td>
<td></td><td></td><td>Delete</td>
</tr>
- <?php
10
11
20
width=
13
16
17
18
19
12
14
15
100% >
6
7
$noPaqe = $_GET['page'I;
else $noPage
1;
//sQ: offset
$offset = ($noPaqe - 1) $dataPerPaqe;
21
22
23
$offset, $dataPerPage n ;
l..im.il.
$sql = mysql_query($bukutamubaru);
24
25
26
27
28
29
30
31
32
while($hasil = mysql_fetch_array($sql))
{
$id = $hasil['id'l ;
$tanqqal = stripslashes($hasil[' QQ'I);
$nama = stripslashes($hasil['
'l );
$email = nl2br(stripslashes($hasil['email'l ));
$subjek stripslashes($hasil[' I)
;I
232
Sopian Hadianto founder ofGeek Housegeekhouse.biz
Mem bangun Responsive Website dengan Twitter Bootstrap 2.0 + PHP dan Mysql
33
34
35
36
37
38
39
40
41
42
$pesan = nl2br(stripslashes($hasil['
')));
$pesan2=substr($pesan,0,30);
echo"<u ><U!>$id</U><U!>$tanggal.</U><U!>Snama</U!>
<U!>Semail</U!><U!>Ssubjek.</U!><U!>$pesan2</U!>".
"<U!><a ='home.?me:>u-l! !ll!!-updat.e&&id=$id'>
<i
></i ></a></&,Q>" .
43
echo "</table>";
44
45
echo "<class='span12'>";
46
$query1
47
48
49
50
$result. = mysql_query($query1);
$dat.a = mysql_fetch_array($result.);
$jumDat.a = $dat.a['jumDat.a');
$jumPage = ceil($jumDat.a/$dat.aPerPage);
51
52
53
54
55
56
57
58
59
60
61
62
63
64
"select
count("') as jumData
from
mM";
- if($noPage>1) {
echo "<a class=-'success'=
mM?page="
($noPage-1).'"><3pan>/span></a>";
}
for($page = 1; $page <= $jumPage; $page++)
-{
if((($page >= $noPage - 3) && ($page <= $noPage + 3)) II ($page
1)
($page == $jumPage))
{
if(($showPage == 1) && ($page != 2)) echo "..";
f(($showPage != ($jumPage - 1)) && ($page == $jumPage)){
echo " n ,
233
Sopian Hadianto- founder of Geek House- geekhouse.biz
23
4
2
3
4
5
6
- <table border= ' 1' class="table table-striped" widt h= ' 100% '
8
9
<td>ID</td><td></td><td></td><td>Edit</td><td></td>
</tr>
- <?php
include "S! S: Jo.";
10
11
12
$dataPertentang
13
if(isset($_GET['!: !l!l')))
{ $notentang = $_GET['!: !l!l');
14
15
10
17
18
19
20
21
22
>
5;
else $notentang = 1;
Sottset = (Snotentang - 1) Saataertentang;
$tentangbaru
$offset, $dataPertentang .,
$sql = mysql_query($tentangbaru);
while($hasil = mysql_fetch_array($sql))
{
$id_tentang
$nm_tentang
23
=
=
$hasil['id_tentang');
$hasil['nm_tentang');
$ket = stripslashes($hasil['
'));
24
25
26
echo"<u ><U!>$id_tentang</U!><U!>Snm_tentang</U!><U!
>$k.et</U!>".
27
28
29
30
31
32
;I
echo"</table>"
23
6
23
7
1
2
3
4
- <?php
include " !:.";
//proses input
if(isset($_POST['input')))
- {
6
q')));)
7
8
9
10
!;{
values
('','Snm_tentang','$ket')";
11
12
$sql = mysql_query($insertquery);
if($sql)
13
14
15
16
17
18
19
20
21
22
23
else
echo "<h4><:font ='blue'>
<div
class'container'>
25
26
2<form
2P
29
3
332
33
34
35
</td></tr>
<tr><td>
36
37
3=
39
0
value=' Qg'
href='tQg.'></a>
</form>
</eable>
23
9
24
0
24
0
1
2
k !1DOCTYPE
html
- <html lang="en">
<head>
<meca
4 charset="-8">
S
6
7
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2S
26
27
28
29
mRS<!Q"
sizes="114x114"
24
2
Penjelasan index.php.
Baris
Penjelasan
34 42 Menampilkan form login
24
3
Penjelasan cek-login.php.
Baris
2
Penjelasan
Memulai session
6
78
Penjelasan logout.php
Baris
11
12
14 -16
Penjelasan
Men-unset session
Menghapus session
Menampilkan halaman untuk login kembali
BAB 6
33
34
35
36
II
37
38
39
40
41
II
else if (:> menu==..detail..) {
requ.ilre (..section/-detail.) ;
42
43
44
45
46
// Portf olio
else if {:;;menu==..portfolio-detail..) {
require{"section/portfolio/portfolio-detail ". ) ;
47
48
49
50
51
else i f {$menu=="portfolio-detail-category") {
require{'section/portfolio/portfolio-detail-category . Qb.g" ) ;
52
53
54
else{
requ.ilre (..home .) ;
55
56
57
58
59
60
else{
requilre{..home . ;
61
62
63
?>
64
<!--' Section-Foocer
-->
< ?php require ( "!ooter.Qbp") ; ?>
66
67
68
69
70
<!-- Script-->
"1
72
73
74
</body>
</html>
?>
250
Penjelasan :
251
Baris
29 63
Penjelasan
Sistem templating seperti pada halaman admin
25
1
Penjelasan :
Baris
1 19
Penjelasan
Menampilkan section section konten
Membangun Responsive Website dengan Twitter Bootstrap 2.0+ PHP dan Mysql
2
3
4
;sql_slide_show = mysql_query($select_slide_show);
1hile($r_slide_show = mysql_fetch_array($sql_slide_show))
10
$slide_show_gambar = stripslashes{$r_slide_show(
11
13
$slide_show_judul = stripslashes(;r_slide_show[
]);
$slide_show_deskripsi = stripslashes($r_slide_show('Qe
2j);
if(H>1){$status="";}
14
15
16
17
18
19
else{$status="active";}
echo"<Qix class= item $status >
<
=
1 ./images/slide_show/$slide_show_gambar1
=
$slide_show_judul width= 100% >
<Qix class= container >
<Qix class= carousel-caption >
12
<h2>$slide_show_judul</h2>
21
<p class=
</p>
25
26
20
<lsU.x>
<lsU.x>
<lsU.x>" ;
] ) ;
23
24
22
lead >$slide_show_deskripsi
1
H++;
27
28
?>
29
</div>
30
31
32
33
34
</divX/div>
Penjela san :
Baris
6-32
Penjelasan
Query untuk menampilkan semua record tabel slide_show, jika nilai var $i
> 1maka $status akan "" sebaliknva iika $i 1$status "active".
253
Sopian Hadianto founder of Geek House ge ekhouse.biz
254
Sopian Hadianto ~ founder of Geek House ~
geekhouse.biz
Membangun Responsive Website dengan Twitter Bootstrap 2.0 + PHP dan Mysql
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
if{$i==2 I I $i==51
{ $span="span4";}
else {$span="span3";}
-if{H==l II H==41{
echo"
<class='row'>
<class='spanl'>:</>
".
echo"<class='$span'>
<JJ!o! = . /$gambar ' UJ;=''
class='JJ!ol JJ!ol-QQ>
<h4>$judul</h4> <p>$isi...</p>
<small>
<a ='index.?menu-!e
nen-detail&&
id_artikel=$id_artikel'>
e w:t ao
</aX/small>
".
<>I
-if{H==3 II H==61{
echo"<class:'spanl'>&:<>/
58
</>
"
59
60
H++;
61
62
63
64
else{
?>
65
</div>
<!-- Section- -->
</div>
66
67
</div>_
Penjelasan :
Sapian Ha dianto
geekhouse.biz
255
layanan-detail.php
halaman ini untuk menampilkan detail dari layanan, ketika link
yang ada pada
section layanan diklik maka halaman ini akan ditampilkan.
So
pia
dan Mysql
n Hadianto ~PHP
founder
of Geek House ~
geekhouse.biz
256
1
2
3
4
<.brXbrXbr>
6
7
<center><h1>Detail< / h1></center>
< /div>
<div class='container'>
<div class="spanl">
10
11
12
13
14
15
16
17
< /div>
<div class="span2">
<?php require ("seceion/! :t un/! :t un-Hse M2")
:
< /div>
?>
<div class="span8">
- <?php
require ("Mru:li:!W2") :
$id_a rtikel = ; _REQU ST [ 'id_artikel' J;
18
19
20
21
22
23
24
25
26
order by a. id_artikel";
;query = mysql_query {$se lect ) ;
$r = mysql_f etch_array {$query) ;
27
28
$id_artikel = $r('id_art.ikel'];
$id_kat.egori = $r('id_kat.egori'];
29
$judul = $r ( ' J;
30
$headline = $r('headline'];
31
32
33
34
257
Sopian Hadiant o founder of Geek House geek
house.biz
Penjelasan :
Baris
Penjelasan
17
Mendapatkan var. id_artikel yang dilewatkan
19 23 Query untuk menampilkan artikel yang id artikelnya
sama dengan var. id_artikel
25 34 Proses mendapatkan record record dan menyimpannya
dalam variable
35 52 Manipulasi
tanggal supaya berformat tanggal Indonesia
53 61 Menampilkan artikel lengkap/detail
258
Sopian Hadianto ~ founder of Geek House ~
geekhouse.biz
Membangun Responsive Website dengan Twitter Bootstrap 2.0 i>Hi> dan Mysql
I ayan an -list.ph p
h a lam an in i u ntu k men am pilkan d aftar nama I aya nan yang d ised iakan
ol eh peru sah aan.
1
2
3
4
5
7
8
9
10
$kategori
$r('id_kategori'];
echo "<span>";
18
19
20
21
22
23
24
25
26
?>
11
12
13
14
15
16
17
259
Penjelasan :
Baris
Penjelasan
11 24 Menampilkan nama kategori dan jumlah artikel dengan
kategori tersebut
31 48 Menampilkan
judul artikel
PHP dan
Mysql
Sopian Hadianto
~ founder
of Geek House ~
geekhouse.biz
260
Membangun Responsive Website dengan Twitter Bootstrap 2.0+ PHP dan Mysql
1
2
.;
5
6
9
10
11
12
13
1.;
15
$select
16
1-
18
$span=Mspan3;
19
20
21
22
23
24
25
26
$judul = $r [''1;
$headline = >r [ 'headline' 1 ;
$isi = $r [ ' 1;
$isi = subst r{$isi,O ,l50 ) ;
228
29
30
31
32
else {$span="span3";}
33
261
Sopian Hadianto founder of Geek House ge ekhouse.biz
portfolio-detail.php
262
Sopian Hadianto ~ founder of Geek House ~
geekhouse.biz
1
2
3
4
5
6
<br>
<br>
7
8
<cent.er><h1>Detail Portfolio<
/h1></cent.er>
<h r>
< /div>
10
11
12
< /div>
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
id_art:ikel=$id_arti.tel";
2.63
portfolio-list.php
264
Sopian Hadianto ~ founder of Geek House ~
geekhouse.biz
Membangun Responsive Website dengan Twitter Bootstrap 2.0 + PHP dan Mysql
2
3
<h2>< / h2>
- <?php
4
5
6
7
e
9
10
11
echo "<span>";
12
13
:rom l; QQtwhere
lower{nm_kategori )
= 'port:olio' ";
14
15
16
17
18
echo "<a='i'>"
19
.;nm_kateqori1."<I a>" ;
20
21
where id_kategori
= $id_kateqoril";
22
23
24
25
26
27
28
echo "<span>&;[
2.65
266
Sopian Hadianto ~ founder of Geek House ~
geekhouse.biz
Membangun Responsive Website dengan Twitter Bootstrap 2.0+ PHP dan Mysql
2
3
4
5
6
<h1>< / h1>
< /div>
e
9
10
11
12
13
14
15
- <?php
require ("Mru:li:IW2"1 :
$se lect = "select a .1d art1kel, b. nm_kategori, a,.
a.headline, a,.
a.Re'
a.,
a.
:rom J; li:Sa, l; J; !mtb
where a.id_kategori=b.id_kategori and lower (b.nm_kategori )
17
18
19
20
21
22
<>
16
nn
order by a. id_artikellimit
6 ":
;query = mysql_query (; select ) ;
H=1;
; spa n="span3";
1hile{$r = mysql_f etch array {$query))
-{
23
24
$id_kategori
25
= $r ( id_kategori ] ;
;judul = $r ( ' J ;
26
$headline = $r[headline ];
27
28
$is i
29
30
31
;pengirim = or [ 'Re J :
$ta ngga l = $r ( ' J ;
;gambar = or [ ' ] ;
32
33
34
if {$i==2 I I $i==5)
{ ; span="span4";}
else {; spa n="span3";
substr{$is i , 0 , 150 ) ;
267
Sopian Hadianto founder of Geek House ge ekhouse.biz
blog-detail.php
268
Sopian Hadianto ~ founder of Geek House ~
geekhouse.biz
Membangun Responsive Website dengan Twitter Bootstrap 2.0 i>Hi> dan Mysql
1
2
3
<div class='container'>
5
6
7
8
9
<br>
<br>
<centerXh1>Detail m%J< / h1X /cente r>
<hr>
< /div>
10
11
<div class='container'>
<div class= 11 span111 >
12
13
14
15
< /div>
16
17
18
19
20
21
22
23
?>
24
25
$id_artikel = $r('id_artikel'];
$id_kategori = $r('id_kategori'];
26
;j udul = $r i ' J;
27
$headline = $r('headline'];
28
29
30
31
32
33
34
35
269
blog-list.php
27
0
blog-detail-category.php
1
2
3
4
5
6
7
e
9
<div class='spanl'></div>
10
<div class='span2'>
11
12
<?php
require ( "section/-list .ruJ2") ; ?>
13
< /div>< !-- /col -->
14
<div class='spanS -'>
15
- <?php
16
require ( "Mru:li:!W2") :
17
$id_kategori = ; _REQU ST [ 'id_kategori' J;
18
19
; se lect = "select * :rom ;:Uli:Swhere
id_kategori
20
;query = mysql_query (; se lect ) ;
21
H=1;
22
; spa n="span3";
23
1hile{$r = mysql_f etch array {$query))
24
25
26
27
28
29
30
31
32
33
$id_kategori";
-{
$id_artikel = $r('id_artikel'];
$id_kategori = $r('id_kategori'];
;judul = $r ( ' J;
$headline = $r('headline'];
Hsi = $r ( 'M-J, ' J;
$isi = substr{$isi,0,150);
;pengirim = ;r ( 'as ;:i,ro ' J:
$ta ngga l = $r ( ' J;
; gamba r = $r ( ' J;
272
Sopian Hadianto founder of Geek Housegeekhouse.biz
273
Sopian Hadianto ~ founder of Geek House ~
geekhouse.biz
1
2
3
<div class="row-fluid-black">
4
5
<div class="span8">
8
9
10
11
<h1>< / h1>
< /div>
<div class="spanl"> < /div>
< /div>
12
<div class="row">
13
14
15
16
17
18
19
20
26
<fie ldset>
<labe l>< / labe l>
<input type=" text 11 placeholder=n"ame= ' Xbr>
<labe l>Email< / labe l>
<input type=" text 11 placeholder="Email 11 name= ' email' Xbr>
<labe l>< / labe l>
<input type=" text" placeholder=" name= ' Xbr>
<labe l>,.iW< / labe l>
27
28
21
22
23
24
25
29
30
31
< / f ie ldset>
< /form>
< /div>
32
33
34
<h3>< / h3
274
Sopian Hadianto founder of Geek Housegeekhouse.biz
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
- <?p>p
reqJire ( "Mru:li:llb2") ;
54
55
56
57
58
59
60
61
62
63
64
65
ru =
'social_media' ";
-{
ae
= ;r (
'ru' l;I -
2.75
Penjelasan :
Baris
14 31
35 53
57 70
Penjelasan
Menampilkan form buku tamu
Menampilkan data kontak
Menampilkan daftar social link yang diambil dari tabel
tentang yang
memiliki keterangan social_media
Bukutamu-p.php
27
6
Penjelasan :
Baris
1 17
Penjelasan
Menginputkan data buku tamu ke dalam tabel bukutamu
Layanan Kami
----
..._,"" ..
.........
.... --
,_..
SapianHadianto
__ ,. _
__.. _.,____
---
_-,._
....,...
geekhouse.biz
27
8
27
9
28
0
Referensi
Website
http://getbootstrap.com (oficial website dari Twitter Bootstrap)
https://github.com/twbs/bootstrap (oficial site di github.com )
www.blacktie.co/ (free bootstrap templates site)
www.bootsnipp.com (free bootstrap templates site)
Source Code
https://github.com/twbs/bootstrap/releases
(Master Twitter Bootstrap yang pernah dibuat, mulai dari versi
1.0.0 3.1.1)
http://getbootstrap.com/2.3.2/assets/bootstrap.zip
(Master Twitter Bootstrap 2.3.2)
Daftar Pustaka
Wahana Komputer. 2013. Mudah Membuat Portal Berita Online
Dengan
Php&Mysql, Wahana Komputer
Sadeli, Muhammad. 2011. Membuat Toko Online dengan PHP
untuk Orang Awam. Maxikom
http://www.getbootstrap.com
http://bisakomputer.com/mengenal-less-framework-untuk-css/
http://www.ngulikweb.com/internet/mengenal-node-js-jalankanjavascript-di- server/
http://her0satr.staf.ub.ac.id/2012/11/github-apa-itu-fungsidan-manfaat- github/
Tentang Penulis
Sopian Hadianto, merupakan Mahasiswa Aktif
Jurusan
Sistem
Informasi
di
Universitas
Komputer Indonesia (UNIKOM)
Bandung.
Penerima
Beasiswa
Unggulan
dari BPKLN
DIKTI ini masih menempuh pendidikan S1 di
UNIKOM semester 5. Selain kuliah, penulis juga
mengerjakan
permintaan
proyek
untuk
pembuatan website. Penulis juga memiliki hobi
menulis, baik buku yang bertema komputer
maupun novel fksi, cerpen dll.
Kegiatan penulis lainnya :
Aktif menulis buku komputer dan novel
Pengembang perangkat lunak lepas terutama pemograman
web
Pengembang situs tugaskampus.web.id
Penulis dapat dihubungi melalui :
Email
: sopian.hadianto1@gmail.com
Facebook : facebook.com/sopian.hadianto1
LINE
: pianhadi