March 2020

Wednesday, March 11, 2020

Tugas 7 PBKK - Mengatur Akses User


Pada tugas kali ini, akan dibuat halaman login untuk admin kedalam website. Semua halaman dalam website ini, kecuali halaman login, hanya dapat diakses setelah pengguna berhasil login.

Langkah pertama yang harus dilakukan adalah membuat tabel users pada database. Buatlah tabel dengan format seperti berikut:

Untuk password, buatlah password dengan hash. Hash dapat didapatkan dengan perintah fungsi password_hash().

Untuk langkah selanjutnya, model untuk aktifitas logging dibuat. Buatlah file dalam direktori application/models/ dengan nama User_model.php. Kemudian file tersebut diisi dengan kode berikut:

Setelah file model, buatlah file controller. Buat filenya dalam direktori controllers/admin dan namai dengan Login.php kemudian isi dengan kode berikut:

Dengan file model dan controller berhasil dibuat, seharusnya website bisa menjalankan login. Tetapi untuk memastikan kalau pengguna harus login terlebih dahulu sebelum mengakses halaman lain dalam website, harus dibuat cara bagaimana pengguna akan ter-redirect ke halaman login jika ia belum melakukan login. Untuk itu, buka file controller Overview.php dan Product.php dalam direktori controller/admin/. Kemudian tambahkan kode berikut di setiap kontroller:

Setelah memastikan bahwa pengguna harus login, harus disediakan tampilan untuk pengguna melakukan login. Maka, buatlah file view untuk login pada direktori application/views/admin/ dengan nama login_page.php. Sebagian besar isi dari file bisa dicontek dari file yang sudah disediakan oleh template dengan sedikit perubahan pada form. Kode selengkapnya sebagai berikut:

Dengan pengguna dapat melakukan login, sekarang harus disediakan cara agar pengguna dapat logout. Untuk itu, bukalah file /views/admin/_partials/modal.php dan ubah alamat link logout. Ubahlah menjadi seperti berikut:

Setelah itu, ujicoba login ke website dapat dilakukan. Cobalah untuk mengakses halaman website. Seharusnya, akan langsung tertuju ke halaman login.
Jika login berhasil, website akan langsung tertuju ke halaman utama. Jangan lupa untuk mencoba fitur logout. Jika logout berhasil, website akan langsung kembali menuju halaman login yang kosong.

Tuesday, March 10, 2020

Tugas 6 PBKK - File Upload pada CodeIgniter


Berikut adalah tahap-tahap untuk dapat melakukan upload file pada website dan terdaftar di database.

Pada awalnya, input data pada image tidak akan berhasil. Melainkan, sudah disetting jika gambar tidak ada input, akan di-replace dengan nilai default berupa file default.jpg. File ini disimpan dalam direktori /upload/product/default.jpg. Di tahap selanjutnya gambar yang diupload juga akan disimpan dalam direktori yang sama.

Untuk memulai proses upload, pertama harus dibuat method yang bersangkutan didalam file model. Maka buka file Product_model.php, kemudian tambahkan method _uploadImage() pada model. Berikut isi kode dari method _uploadImage():
Kemudian setelah membuat method, modifikasi method save() dan update() agar dapat menggunakan method upload gambar yang baru saja ditambahkan. Kodenya akan menjadi sperti ini:Mengubah method save() dan update()

Kemudian coba melakukan upload file. Jika berhasil, gambar akan keluar pada list.

Setelah berhasil melakukan upload file, selanjutnya harus diberikan fitur untuk menghapus file yang sudah terupload. Caranya, tambahkan method _deleteImage($id) pada model Product_model. Isi dengan kode berikut:

Kemudian masukkan method tersebut dalam method delete(). Ini akan membuat gambar yang berhubungan dengan id data yang dihapus akan turut terhapus juga.

Tugas 5 PBKK - CRUD Dalam CodeIgniter


Dalam tugas kali ini, akan dijelaskan mengenai cara mengaplikasikan CRUD menggunakan CodeIgniter.

Langkah pertama adalah membuat database mySQL. Untuk membuat database, akses page phpmyadmin, kemudian buat database baru dan tabel baru. Berikut adalah format tabel yang dibuat:


Selanjutnya lakukan konfigurasi pada CodeIgniter. Pertama buka file /config/database.php, kemudian ubah string yang ada sesuai dengan yang dibutuhkan. Karena pengerjaan menggunakan XAMPP, maka isinya sebagai berikut:

Setelah file database, akses file /config/autoload.php. Disini tambahkan library database dan session pada autoload config. Hal ini dilakukan agar fungsi-fungsi pada library database dan session dapat digunakan dalam proyek ini. Library itu dibutuhkan untuk melakukan CRUD yang menggunakan database dan session untuk session user saat login. Kode lengkapnya seperti berikut:

Langkah selanjutnya adalah membuat model pada CodeIgniter. Model adalah class yang berhubungan dengan data. Buat file Product_model pada folder /models/. Kemudian isi dengan kode berikut:
Setelah model selesai dibuat, buat controller yang akan digunakan dalam operasi CRUD. Buat file baru dalam folder application/controllers/admin/ dengan nama Products.php. Dari file ini semua operasi CRUD akan berawal. isi dengan fungsi-fungsi berikut:
Setelah semua aktifitas "di balik layar" sudah selesai dipersiapkan, sekarang saatnya membuat halaman view yang bersangkutan. Ada beberapa halaman yang akan dibuat, yaitu list.php untuk menampilkan list data yang sudah ada, new_form.php untuk menampilkan form input data baru, dan edit_form.php untuk menampilkan form edit data yang sudah ada. Buat ketiga file dalam folder /views/admin/product/. Kode dari file-file tersebut akan dijabarkan dibawah ini:

list.php
new_form.php
edit_form.php


Setelah itu, aplikasi dapat coba dijalankan. Buka halaman admin dengan alamat http://localhost/[nama_website]/index.php/admin/products/. Jika tidak ada error, aplikasi berjalan dengan baik.

Kemudian klik link Add New untuk menambahkan entry data baru.

Setelah entry data berhasil, coba cek halaman Product List untuk memastikan apakah data berhasil diinput atau tidak.

Kemudian, cobalah untuk menghapus data. Jika data hilang, berarti penghapusan data telah berhasil.

Monday, March 9, 2020

Tugas 4 PBKK - Membuat Partial View Pada Halaman CodeIgniter


Untuk tugas kali ini, akan dijelaskan cara menggunakan partials. Partials ini berfungsi untuk membagi template menjadi bagian-bagian kecil yang bisa digunakan kembali. Dengan adanya partials, kita tidak perlu mengetik seluruh bagian dari file html dari header hingga footer dalam setiap halaman yang akan dibuat. Dengan partials yang harus dilakukan hanyalah memanggil lagi bagian partials yang ingin digunakan dan membuat perubahan di bagian yang memang ingin dirubah.

Untuk membuat partial, desain template awal bisa dilihat terlebih dahulu. Desain itu kemudian dipecah-pecah menjadi bagian-bagian tertentu yang spesifik. Dalam template ini, bisa dibuat beberapa bagian menjadi:

  • Head untuk menyimpan konten dari header
  • Navbar untuk navbar
  • Sidebar untuk menu samping
  • Breadcrumb untuk menyimpan breadcrumb
  • Scrolltop untuk tombol scrolltop
  • Footer untuk menyimpan konten dari footer
  • Modal untuk modal
  • Js untuk semua script js.
Untuk lokasi membuat file partials dalam sebuah folder tersendiri. Buat terlebih dahulu folder _partials didalam folder views/admin/

Untuk membuat file partials, cukup melakukan cut-paste pada overview.php ke file-file partials yang bersangkutan hingga menyisakan bagian utama bodynya saja. Contoh dari kode-kode dari file partials saya adalah sebagai berikut:

Head.php

Navbar.php

Sidebar.php

Breadcrumb.php

Scrolltop.php

Footer.php

Modal.php

Js.php

Setelah selesai membagi-bagi file partialsnya, selanjutnya adalah cara untuk memanggil file-file tersebut. Untuk memanggil file partial dalam halaman utama, dapat dilakukan dengan perintah <?php $this->load->view("admin/_partials/[nama_file].php") ?> pada tempat yang sesuai. Untuk contohnya, dapat dilihat di file Overview.php berikut:
Contoh gambar outputnya jika berhasil akan sama sperti semula.