LAPORAN Pembuatan Web
LAPORAN Pembuatan Web
Nama Kelompok:4
Nama AnggotaKelompok:
Bagas ZainulMuttaqin
COVER…………………………………………………………………………
KATA …………………………………………………………………………
DAFTAR ISI ……………………………………………………………………
BAB I PENDAHULUAN………………………………………………………
A.LatarBelakangMasalah……………………………………………
B.RumusanMasalah……………………………………………
C.TujuanMasalah……………………………………………
BAB II
PEMBAHASAN………………………………………………………………
A.Xampp……………………………………………
B.Bootstrap……………………………………………
C.Codeigniter……………………………………………
D.Php……………………………………………
BAB IV PENUTUP……………………………………………
A.Kesimpulan……………………………………………
B.Saran……………………………………………
Daftar Pustaka……………………………………………
BAB 1 PENDAHULUAN
A.LatarBelakangMasalah
B.Rumusan Masalah
-Apakah yang dimaksud dengan website?
-Apa saja komponen dalam perancangan website?
-Bagaimanakah cara memasukkan bootstrap ke codeigniter?
-Apa saja kelebihan dan kelemahan XAMPP dalam perancangan website?
-Apa saja fitur codeigniter dan contoh penggunaannya?
C.Tujuan Masalah
-Menjelaskan apa itu website
-Menjabarkan komponen yang diperlukan dalam perancangan website
-Menjelaskan langkah langkah memasukkan bootstrap sampai ke codeigniter
-Menjabarkan kelebihan dan kelemahan XAMPP dalam perancangan website
-Menjelaskan fitur codeigniter dan cara penggunaannya
BAB II PEMBAHASAN
A.Xampp
PengertianXampp
Komponen-komponenXAMPP
X = Cross Platform
A = Apache
Apache adalahaplikasi web server yang bersifat gratis dan bisadikembangkan oleh
banyak orang (open source).
M = MySQL / MariaDB
P = PHP
P = Perl
Fungsi XAMPP
Program aplikasi XAMPP berfungsisebagai server
lokaluntukmengampuberbagaijenis data website yang sedangdalam proses
pengembangan.Dalamprakteknya, XAMPP
bisadigunakanuntukmengujikinerjafiturataupunmenampilkankonten yang adadidalam
website kepada orang lain tanpaharusterkoneksidengan internet,
cukupaksesmelaluiXampp control panel, atauistilahnya website
offline.XAMPPbekerjasecara offline layaknya web hosting biasanamuntidakbisadiakses
oleh banyakorang.Makadariitu, XAMPP biasanyabanyakdigunakan oleh para
mahasiswamaupunpelajaruntukmelihathasildesain website sebelumakhirnyadibuat online
menggunakan web hosting yang biasadijualdipasaran.
Kelebihan XAMPP
Kekurangan XAMPP
Kekurangan XAMPP antara lain:
B.Bootstrap
Pengertian Bootstrap
Bootstrap adalah framework web development berbasis HTML, CSS, dan JavaScript
yang dirancanguntukmempercepat proses pengembangan web responsive dan mobile-first
(memprioritaskanperangkatseluler), Selainbisadigunakanuntukmengembangkan
websitedenganlebihcepat, Bootstrap adalah framework gratis yang bersifat open-source.
Skrip dan syntax yang disediakan Bootstrap
bisaditerapkanuntukberbagaikomponendalamdesain web.
Fungsi Bootstrap
Keunggulan Bootstrap
Kelemahan Bootstrap
FungsiCodeigniter
KelebihanCodeigniter
Kekurangancodeigniter
Fitur-fiturcodeigniter
Fitur-fiturCodeigniteryaitu:
1. MVC
2. Built-in-library
D.Php
PengertianPhp
PHP Adalah bahasa scripting server-side, Bahasa pemrograman yang
digunakanuntukmengembangkan situs web statis atau situs web dinamisatauaplikasi Web.
PHP singkatandariHypertext Pre-processor, yang sebelumnyadisebutPersonal Home
Pages.Script sendirimerupakansekumpulaninstruksipemrograman yang ditafsirkan pada
saat runtime. Sedangkan Bahasa scripting adalahbahasa yang menafsirkanskripsaat
runtime. Dan biasanyatertanamkedalamlingkunganperangkatlunaklain.
FungsiPhp
Fungsi PHP adalahmembuatataumengembangkan situs web statis atau situs web
dinamisatauaplikasi Web, PHP juga dapatdigunakanuntukmembuat website
dinamisbisadigunakanuntukmenyimpan data kedalam database, membuathalaman yang
dapatberubah-ubahsesuaidengan input user, memproses form, dll.
Syntax Php
Pengertian Syntax PHP adalahaturanpenulisan agar mampudimengertidenganbenar
oleh compiler saatmembacabahasapemrograman. Dalampenulisan PHP yang
benardiawalidengan “<?php” dan diakhiridengan “?>”. Dan di dalam File PHP juga
dapatberisi tag seperti HTML dan skripsisiklienseperti JavaScript.
<?php
?>
KelebihanPhp
KelebihanPhpyaituantara lain:
Bersifat Open Source
Lebihfleksibel
Lebihstabil
Membantumeningkatkanpeluangkerja
KekuranganPhpyaituantara lain:
Tidakadanyaaksesuntukmelakukanmodifikasi
1. Download XAMPP
2. Instal XAMPP
2. KliktombolNext.
3. Pada tampilanselanjutnyaakanmunculpilihanmengenaikomponen mana dari
XAMPP yang ingin dan tidakingin Anda instal. Beberapapilihanseperti Apache
dan PHP adalahbagianpentinguntukmenjalankan website dan
akanotomatisdiinstal. Silakancentang MySQL dan phpMyAdmin,
untukpilihanlainnyabiarkansaja.
4. Berikutnyasilakanpilih folder tujuandimana XAMPP ingin Anda instal. Contohnya
di direktoriC:\xampp.
B.Instalasi Composer
Selanjutnyapemilihankomoponen, biarkansajasepertiinikemudianklikNext
elanjutnyapemlilihandirektori start menu, klikNext
Selanjutnyapemilihanopsiekspreimental,
langsungsajaklikInstalluntukmemaulaiinstalasi.
Tunggubeberapasaat, instalasisedangdilakukan.
Setelahselesai, kitabisalangsungklikFinish.
D.InstalasiCodeigniter 4
1. Untukmelakukaninstalasi manual, download file zip dari CodeIgniter 4 melalui
website resminya.
E.PemasanganBoostrapKeCodeigniter 4
.Setelahberhasilmenginstall framework Codeigniter 4 pada web server, kemudian
download juga template bootstrap dan disinisayamenggunakanDalam project CI pada
folder “public” buatlahsatu folder dengannama “assets”, lalukopikan folder dan file
pendukung template GentelellaAlela! seperti folder “build”, folder “images”, folder
“src”, serta folder “vendors” kedalam folder “assets” yagtelahkitabuatsebelumnya.
Sehinggasusunanfoldernyaakantampaksepertiberikut.
Lalu buatlahsatubuah folder dengannama “template” pada folder “app/Views” dan kopi
salah satu file index.html dari folder master template GentelellaAlela! dan letakkan
pada folder “app/Views/template”, dan ubahlah file tersebutsertaextensimenjadi file
“_template.php”, sehinggastrukturpeletakkan file template
akantampaksepertidibawahini.
Kemudiancari tag yang berisikan tag untukmeload file CSS dan JavaScript <link
href=”../vendors/bootstrap/dist/css/bootstrap.min.css”
rel=”stylesheet”> laluubahlahmenjadi <link href=”<?php
echobase_url();?>/public/assets/vendors/bootstrap/dist/css/bootstrap.min.css”
rel=”stylesheet”> seperti yang terlihat pada gambarstruktur template diatas.
Langkah selanjutnyaadalahmemanggil file template yang telahkitasiapkantadi, buka
file controller “Home.php” pada folder “app/Controllers/Home.php”, pada method
index() kitapanggil file template dengankodedibawahini:
return view('template/_template');
}
Jika tahap demi tahapdiatassudahkitalalui, tahapselanjutnyaadalahkitamelakukan
testing apakah template sudahterintegrasidenganbaik, buka browser Anda laluakses
project kerja Anda
melaluialamat localhost/namaproject/public/,jikaberjalandenganbaikmakaakanterlihath
asilnyasepertigambardibawahini:
F.Percodinganview,controlerr,models
Halaman Dashboard
a.View
1. <!DOCTYPEhtml>
2. <html>
3. <head>
4. <metacharset="utf-8"/>
5. <linkrel="icon"href="/favicon.ico"/>
6. <metaname="viewport"content="width=device-width, initial-scale=1"/>
7. <metaname="theme-color"content="#000000"/>
8. <title>Desktop - 1</title>
9. <linkrel="stylesheet"href="https://fonts.googleapis.com/css?
family=Lekton%3A700"/>
10. <linkrel="stylesheet"href="https://fonts.googleapis.com/css?
family=Source+Sans+Pro%3A400%2C500%2C700"/>
11. <linkrel="stylesheet"href="https://fonts.googleapis.com/css?
family=Inter%3A400%2C500"/>
12. <linkrel="stylesheet"href="./styles/desktop-1.css"/>
13. <!--Menyisipkan Bootstrap -->
14. <linkrel="stylesheet"href="./css/bootstrap.min.css"/>
15. <linkhref="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/
css/bootstrap.min.css"rel="stylesheet"integrity="sha384-
GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/
Jr59b6EGGoI1aFkw7cmDA6j6gD"crossorigin="anonymous">
16. </head>
17. <body>
18.
19. <divclass="desktop-1-NnE">
20. <divclass="header-FzS">
21. <divclass="group-40-VQv">
22. <divclass="rectangle-25-qt6">
23. </div>
24. <divclass="rectangle-26-cXU">
25. </div>
26. </div>
27. <navclass="frame-89-pNe">
28. <divclass="nav-bar-xtA">
29. <divclass="auto-group-t634-zZx">
30. <astyle="text-decoration:none"href="<?php echo base_url('/') ?
>" class="gudang-pustaka-1V4">Gudang Pustaka</a>
31. <divclass="group-1000001624-wZ4">
32. </div>
33. </div>
34.
35.
36. <astyle="text-decoration:none"href="<?php echo
base_url('/pengelola') ?>" class="button-find-loan-3XY">
37. <spanclass="group-1000001625-Mo8">Pengelola</span>
38. </a>
39.
40.
41. </div>
42. <imgclass="mask-group-uy4"src="./assets/mask-group.png"/>
43. </nav>
44. <divclass="container">
45. <divclass="row">
46. <pclass="dibuat-untuk-memudahkan-orang-orang-untuk-melakukan-
peminjaman-bukumelihat-buku-yang-tersedia-diperpustakaan-anda-xAe">
47. Dibuatuntukmemudahkan orang
oranguntukmelakukanpeminjamanbuku,melihatbuku yang
tersediadiperpustakaananda
48. <br/>
49.
50. <br/>
51.
52. </p>
53. <astyle="text-decoration:none"href="<?php echo base_url('/login')
?>" class="button-demo-j4v">
54. <pclass="daftar-xTU">Login</p>
55. <imgclass="arrow-right-2-16px-1-qnA"src="./assets/arrow-right-
2-16px-1.png"/>
56. </a>
57. <imgclass="pngtreelibrary-reading-student5420476-1-Jfk"src="./
assets/pngtreelibrary-reading-student5420476-1.png"/>
58. </div>
59. </div>
60. </div>
61.
62.
63. </div>
64. <!--MenyisipkanJQuery dan Javascript Bootstrap -->
65. <scriptsrc="./js/bootstrap.min.js"></script>
66. <scriptsrc="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/
bootstrap.bundle.min.js"integrity="sha384-
w76AqPfDkMBDXo30jS1Sgez6pr3x5MlQ1ZAGC+nuZB+EYdgRZgiwxhTBTkF7CXvN"crossorigi
n="anonymous"></script>
67. </body>
68.
69. </html>
b.Controller
1. <?php
2.
3. namespaceApp\Controllers;
4.
5. classHome extendsBaseController
6. {
7. publicfunctionindex()
8. {
9. returnview('welcome_message');
10. }
11. }
Halaman Login
a.View
1. <!DOCTYPEhtml>
2. <html>
3. <head>
4. <metacharset="utf-8"/>
5. <linkrel="icon"href="/favicon.ico"/>
6. <metaname="viewport"content="width=device-width, initial-scale=1"/>
7. <metaname="theme-color"content="#000000"/>
8. <title>Desktop - 2</title>
9. <linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Lekton
%3A700"/>
10. <linkrel="stylesheet"href="https://fonts.googleapis.com/css?
family=Source+Sans+Pro%3A400%2C500%2C700"/>
11. <linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Inter
%3A500"/>
12. <linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Itim
%3A400"/>
13. <linkrel="stylesheet"href="./styles/desktop-2.css"/>
14. <!--Menyisipkan Bootstrap -->
15. <linkrel="stylesheet"href="./css/bootstrap.min.css"/>
16. <linkhref="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/
bootstrap.min.css"rel="stylesheet"integrity="sha384-
GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/
Jr59b6EGGoI1aFkw7cmDA6j6gD"crossorigin="anonymous">
17.
18. </head>
19. <body>
20. <divclass="desktop-2-bAJ">
21. <divclass="header-6Mx">
22. <divclass="auto-group-kusv-bJi">
23. <divclass="group-40-WAn">
24. <divclass="rectangle-25-zbk">
25. </div>
26. <divclass="rectangle-26-J6e">
27. </div>
28. </div>
29. <divclass="group-89-Bw8">
30. <divclass="nav-bar-HUN">
31. <divclass="auto-group-b6uj-bzr">
32. <astyle="text-decoration:none"href="<?php echo
base_url('/') ?>" class="gudang-pustaka-KAA">Gudang Pustaka</a>
33. <divclass="group-1000001624-yVc">
34. </div>
35.
36. </div>
37.
38. <astyle="text-decoration:none"href="<?php echo
base_url('/pengelola') ?>" class="button-find-loan-Mea">
39. <spanclass="group-1000001625-teW">Pengelola</span>
40. </a>
41.
42. </div>
43. </div>
44. </div>
45. <divclass="auto-group-nqnw-FtN">
46. <imgclass="item-4957136-1-YsU"src="./assets/-65Y.png"/>
47. </div>
48. </div>
49. <?phpif (session()->has('Pesan')) : ?>
50. <divclass="alert alert-danger">
51. <?= session()->getFlashdata('Pesan') ?>
52. </div>
53. <?phpendif; ?>
54. <formaction="<?php echo base_url('/login/cek_login') ?>" method="post">
55. <divclass="login-component-F1C">
56. <inputclass="username-
YeW"type="text"name="nama"id="nama"placeholder="Nama">
57. <inputclass="username-
YeW"type="number"name="nis"id="nis"placeholder="Nis">
58. <inputclass="password-
Vy4"type="password"name="password"id="password"placeholder="Password">
59. <buttonclass="button"type="submit">
60. Login
61. </button>
62.
63. <divclass="auto-group-5fhk-VtW">
64. <pclass="dont-have-account-PU6">Belum Punya Akun?</p>
65. <astyle="text-decoration:none"class="sign-in-su4"href="<?php
echo base_url('/register') ?>" >
66. <span>Register</span>
67. </a>
68. </div>
69. </div>
70. </form>
71. </div>
72.
73. <!--MenyisipkanJQuery dan Javascript Bootstrap -->
74. <scriptsrc="./js/bootstrap.min.js"></script>
75. <scriptsrc="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/
bootstrap.bundle.min.js"integrity="sha384-
w76AqPfDkMBDXo30jS1Sgez6pr3x5MlQ1ZAGC+nuZB+EYdgRZgiwxhTBTkF7CXvN"crossorigi
n="anonymous"></script>
76. </body>
b.Model
1. <?php
2.
3. namespaceApp\Models;
4.
5. useCodeIgniter\Model;
6.
7. classMloginextendsModel
8. {
9. publicfunctionlogin($nama, $nis, $password)
10. {
11. return$this->db->table('tb_anggota')->where(
12. [
13. 'nama'=>$nama,
14. 'nis'=>$nis,
15. 'password'=>$password
16. ]
17. )->get()->getRowArray();
18. }
19.
20. publicfunctioninsertData($data)
21. {
22. $this->db->table('tb_anggota')->insert($data);
23. }
24. }
c.Controller
1. <?php
2.
3. namespaceApp\Controllers;
4.
5. useApp\Models\Mlogin;
6.
7.
8. classLogin extendsBaseController
9. {
10. protected$session;
11. protected$Mlogin;
12. publicfunction__construct()
13. {
14. $this->session = \Config\Services::session();
15. $this->Mlogin= newMlogin();
16. }
17.
18. publicfunctionindex()
19. {
20.
21. $validation= \config\Services::validation();
22. $data= [
23. 'validation'=>$validation
24. ];
25. returnview('halaman_login', $data);
26. }
27.
28. publicfunctionregister()
29. {
30. returnview('halaman_register');
31. }
32.
33. publicfunctioncek_pendaftaran()
34. {
35. if($this->validate([
36.
37. 'nama'=> [
38. 'rules'=>'required',
39. 'errors'=> [
40. 'required'=>'{field} wajibdiisi !',
41. ]
42. ],
43. 'kelas'=> [
44. 'rules'=>'required',
45. 'errors'=> [
46. 'required'=>'{field} wajibdiisi !',
47. ]
48. ],
49. 'jurusan'=> [
50. 'rules'=>'required',
51. 'errors'=> [
52. 'required'=>'{field} wajibdiisi !',
53. ]
54. ],
55. 'nis'=> [
56. 'rules'=>'required',
57. 'errors'=> [
58. 'required'=>'{field} wajibdiisi !',
59. ]
60. ],
61. 'jeniskelamin'=> [
62. 'rules'=>'required',
63. 'errors'=> [
64. 'required'=>'{field} wajibdiisi !',
65. ]
66. ],
67. 'password'=> [
68. 'rules'=>'required',
69. 'errors'=> [
70. 'required'=>'{field} wajibdiisi !',
71. ]
72. ],
73. ])) {
74. $data= [
75. 'nama'=>$this->request->getPost('nama'),
76. 'kelas'=>$this->request->getPost('kelas'),
77. 'jurusan'=>$this->request->getPost('jurusan'),
78. 'nis'=>$this->request->getPost('nis'),
79. 'jeniskelamin'=>$this->request->getPost('jeniskelamin'),
80. 'password'=>$this->request->getPost('password'),
81. ];
82. $this->Mlogin->insertData($data);
83. session()->setFlashdata('daftar', 'PendafataranBerhasilSilahkan
Login !!');
84. returnredirect()->to(base_url('/register'));
85. } else{
86. $validation= \config\Services::validation();
87. returnredirect()->to(base_url('/register'))-
>withInput('validation', $validation);
88. }
89. }
90.
91. publicfunctioncek_login()
92. {
93. if($this->validate([
94. 'nama'=> [
95. 'rules'=>'required',
96. 'errors'=> [
97. 'required'=>'{field} wajibdiisi !',
98. ]
99. ],
100.
101.
102. 'nis'=> [
103. 'rules'=>'required',
104. 'errors'=> [
105. 'required'=>'{field} wajibdiisi !',
106. ]
107. ],
108. 'password'=> [
109. 'rules'=>'required',
110. 'errors'=> [
111. 'required'=>'{field} wajibdiisi !',
112. ]
113. ]
114. ])) {
115. $nama= $this->request->getPost('nama');
116. $nis= $this->request->getPost('nis');
117. $password= $this->request->getPost('password');
118. $cek_login= $this->Mlogin->login($nama, $nis,
$password);
119. if($cek_login) {
120. session()->set('id_anggota',
$cek_login['id_anggota']);
121. session()->set('nama', $cek_login['nama']);
122. session()->set('nis', $cek_login['nis']);
123. session()->set('kelas', $cek_login['kelas']);
124. session()->set('jurusan', $cek_login['jurusan']);
125. session()->set('jeniskelamin',
$cek_login['jeniskelamin']);
126. $this->session->set('logged_in', true);
127. returnredirect()->to(base_url('/databuku'));
128. } else{
129. session()->setFlashdata('Pesan', 'Nis atau Password
salah !!');
130. returnredirect()->to(base_url('/login'));
131. }
132. } else{
133. session()->setFlashdata('errors', \config\
Services::validation()->getErrors());
134. returnredirect()->to(base_url('/login'));
135. }
136. }
137.
138. publicfunctionlogout()
139. {
140. session()->destroy();
141. returnredirect()->to(base_url('/login'));
142. }
143. }
Bab IV Penutup
A.Kesimpulan
B.Saran
Daftar Pustka
Kadir, Abdul. Dasar Pemrograman WebDinamis Menggunakan PHP.
Yogyakarta: ANDI. 2002