Tampilkan postingan dengan label php. Tampilkan semua postingan
Tampilkan postingan dengan label php. Tampilkan semua postingan

Sabtu, 11 Februari 2023

6 Bahasa Pemrograman Populer dan Banyak Digunakan

 Kebutuhan akan website atau software semakin hari kian meningkat. Keberadaaan website atau aplikasi dibuat oleh web developer yang berhubungan langsung dengan banyak bahasa pemrograman. Oleh karena itu simak ulasan mengenai 6 bahasa pemrograman yang banyak digunakan saat ini.

Python

                                                                                               

Python merupakan bahasa pemrograman tingkat tinggi dan sangat cocok dipelajari oleh pemula. Python banyak dipakai untuk aplikasi desktop, otomatisasi, data science, deep learning, machine learning serta komputasi saintifik. Bahasa ini termasuk nomor satu terpopuler berdasarkan data Stack Overflow

Kelebihan yang ditawarkan dari bahasa ini juga banyak mulai dari menyediakan open source, adanya GUI, kompatibel dengan Mac dan Windows serta  komunitas yang terus berkembang. Kekurangan dari bahasa ini adalah menggunakan banyak memori, tidak ideal untuk versi seluler dan bekerja lebih lambat.

C++

Bahasa  C++ adalah bahasa yang banyak digunakan dalam computer science. C++  digunakan oleh coder yang berpengalaman untuk memenuhi pemrograman OOP, generik serta imperatif. C++ menjadi bahasa pemrograman terpopuler keempat pada Januari 2022 berdasarkan Stack Overflow.

C++ banyak digunakan pada program komputer, sistem operasi, pengembangan aplikasi dan machine learning. Selain itu C++ juga memiliki beberapa kelebihan yaitu open source, serbaguna, kontrol menyeluruh, cepat dan canggih. Disisi lain bahasa ini tidak mempunyai banyak garbage collection.

JavaScript

JavaScript merupakan kategori selanjutnya yang digunakan pada pengembangan website dan cocok untuk pemula karena pembelajarannya tergolong mudah. Bahasa ini termasuk bahasa pemrograman terpopuler ketiga versi Stack Overflow.

Kelebihan dari JavaScript sendiri adalah open source, cocok dengan bahasa pemrograman lain dan bagus untuk pengguna website. Dibalik kelebihan pasti terdapat kekurangan, dimana JavaScript memiliki masalah keamanan karena performa lintas browser yang terkadang tidak stabil.

SQL

Bahasa pemrograman yang banyak digunakan berikutnya adalah SQL.SQL (Structured Query Language) adalah jenis bahasa yang erat kaitannya dengan data science dan komputasi statistic. Bahasa ini tergolong sebagai bahasa satu terbanyak digunakan oleh pekerja  berdasarkan statistic Stack Overflow.

SQL memiliki karakteristik yang cocok untuk pemula karena mudah dipelajari dan terkadang juga sulit, hal ini dikarenakan proses pembuatan fungsi advanced yang rumit. Bahasa ini digunakan untuk keperluan pengelolaan data base, business intelligence dan laporan penjualan.

PHP

PHP adalah bahasa dasar dari situs penyedia website gratis Wordpress. Jenis bahasa satu ini sangat mudah dipelajari dengan tingkat kesulitan dikhususkan bagi pemula. Bahasa ini banyak digunakan pada web development, program komputer dan juga pada program komputer.

Bahasa PHP memiliki beberapa kelebihan yaitu open source, PHP dengan versi tinggi akan bekerja lebih cepat, mendukung OOP dan ketersediaan komunitas. Selain itu bahasa pemrograman ini juga memiliki kekurangan dimana website dari hasil PHP akan lebih lambat daripada bahasa lain.

Go

Bahasa Go dibuat untuk mengembangkan API, GUI dan web. Bahasa ini mudah dipelajari dan digunakan juga pada machine learning, big data dan pemrograman sistem. Go merupakan bahasa pemrograman paling banyak diminati oleh web developer pelajar dan pekerja berdasarkan data Stack Overflow.

Go dapat digunakan dengan waktu eksekusi cepat, model konkurensi mudah, keamanan yang lebih terjaga dan tool analisis statis. Selain itu Go juga tidak mempunyai banyak fungsi generik.

Itulah beberapa bahasa pemrograman populer dan banyak digunakan berdasarkan fakta dan data yang ada. Keberagaman bahasa pemrograman tentunya akan membuat perkembangan digital semakin pesat kedepannya.

Selasa, 19 Juli 2022

Memasang Framework PHP YII

Pendahuluan

YII merupakan framework opensouce yang dikembangkan oleh YII Software LLC. Sama seperti framework lainya yii juga menggunakan konsep MVC(Model View Controller) dalam strukturnya. YII sendiri dibaca yi dan merupakan kepanjangan dari 'YES IT IS'. Rilis stabil pertama kali yakni pada tanggal 8 Juli 2020. YII sendiri berlisensi BSD. www.yiiframework.com mrrupakan situs resmi dari yii. Sesudah kita mengenal YII, selanjutnya mari kita install YII.

Pemasangan YII

Bahan yang diperlukan untuk pemasangan yii yakni:

- PHP 5.4  atau yang lebih baru

- Composer

- Internet

Jalankan perintah ini pada terminal linux atau command prompt pada windows atau termux di android untuk memasang YII

composer create-project --prefer-dist yiisoft/yii2-app-basic apps

Pasang YII


Perintah diatas akan membuat folder berupa apps yang merupakan folder utama YII. Untuk menjalankan server yii masuklah dulu ke folder apps untuk mengeksekusi file yii. File yii ini digunakan untuk dieksekusi/dijalankan.

cd apps

Untuk melihat perintah yang digunakan silahkan ketik ini

./yii help

Untuk menjalankan yii kamu cukup ketik 2 kata yakni:

./yii serve

Untuk mengetahui apakah server YII  kita sudah berjalan silahkan kunjungi localhost:8080. Untuk menghentikan servernya kita bisa menekan CTRL-c pada terminal / termux.

Install YII

Semoga bermanfaat! Selamat ngoding, Good luck

Memasang Framework PHP Laravel

Pendahuluan

Sebelum memasang laravel, mari kita riview sedikit tentang sejarahnya.Laravel adalah salah satu kerangla kerja yang sangat terkenal pada bahasa PHP. Laravel sendiri memiliki pembaharuan yang cepat dalam pembaharuanya. Mempunyai banyak fitur dan memakai proses MVC(Model View Controller) yang memudahkan programmer menggunakanya.

Laravel dikembangkan oleh Taylor Otwell dengan lisensi MIT. Tempat repositori laravel berada di github. Liris perdananya yakni pada tahun 2011 sedangkan liris terakirnya yakni bulan mei 2022. Situs resmi dari Laravel yakni laravel.com .

Pemasangan Laravel

Bahan yang digunakan

- PHP 7 keatas

- Composer

- Internet

Untuk menginstal laravel kita harus memasang composer terlebih dahulu pada komputer kita. Setelah composer sudah ada pada komputer kita. Kita bisa menggunakan perintah

composer create-project laravel/laravel blog

install laravel

Dengan perintah diatas kita akan membuat folder blog yang merupakan folder induk dari laravel.Untuk mengecek apakah laravel sudah benar terpasang kita tinggal masukan perintah

./artisan -V

Maka akan muncul 

Laravel Framework 9.20.0

Selamat! Kita sudah berhasil menginstall laravel dengan versi 9.20.0. 

pasang laravel

Setelah itu kita bisa jalankan server kita dengan mengakses file artisan pada folder blog

./artisan serve

Ini akan menampilkan halaman utama dari laravel dengan mengakses localhost:8000.

instal laravel

Untuk menghentikan laravel kamu bisa menekan Ctrl+c pada terminal atau termux. Selamat kamu sudah memiliki framework laravel di android / komputer kamu. Good luck and Happy coding!


Senin, 06 Desember 2021

Membuat Framework PHP Sendiri

Pendahuluan

Framework merupakan kerangka kerja yang dibuat untuk memudahkan pengerjaan suatu website, blog atau applikasi. Terdapat juga banyak framework yang sudah dikenal dengan banyak fitur yang ada didalamnya seperti Laravel, Sympony, YII, CodeIginter dan sebagainya.

kerangka kerja php

Artikel ini tidak akan membahas framework yang dituliskan tadi. Melainkan akan membuat framework sendiri. Keunggulan membangun suatu framework sendiri adalah

  • Lebih efisien karena kita bisa memilih apasaja yang akan digunakan
  • Lebih private karena (tim) kita yang membuatnya sendiri

Mari kita buat dari nol yah. Hehe

HTTP Request/Response

Yang paling pertama dan paling penting yakni kita harus mempunyai cara untuk membuat request dan menangani response dari http. Hal ini baiknya kita menerapkan metode php-psr atau dengan midah ditemukan pada zendframework/zendiactors. Atau lebih lengkapnya kamu bisa mencari informasinya dengan kata kunci ‘emitter’ pada perambahan kamu.

Routing

Ini merupakan cara mwnjalankan kode kita menggunakan url yang sesuai dengan yang kita inginkan. Untuk mwlakukanya kita membutuhka router. Untungnya sudah banyak router yang ada ini adalah sebagian contohnya

  • Aura.Router
  • Klein.php
  • FastRoute

Tinggal pilih mana yang menurut kamu yang sesuai dengan keinginanmu. Tetapi FastRoute mengklaim lebih cepat dari router manapun.

Mesin Template

Setelah kode berjalan pada url dan kita akan membutuhkan template atau wadah html untuk membentuk halaman yang dibuat. Ada bermacam-macam mesin template tetapi yang sering dipakai yakni twig. Berikut ini merupakan daftar mesin template yang bisa kamu gunakan dalam frameworkmu sendiri

  • Twig
  • Smarty
  • Plates

Database

Applikasi atau Website apa yang tidak memakai database. Tentu semua membutuhkanya. Berikut ini daftar dari database yang bisa kamu pilih untuk membuat frameworkmu sendiri. Saya sarankan agar memilihnya dengan bijak agar tidak perlu merubahnya. Atau kamu bisa menggunakan lebih dari satu untuk membuat backup yang digunakan suatu saat sesuatu yang tidak diinginkan terjadi.Berikut nama-nama databasenya

  • PDO
  • Propel
  • Doctrine2

Versi Kontrol

Sebuah applikasi tentu ada versi-versinya untuk memudahkan pengembang dalam merawat applikasi tersebut. Nah itu merupakan kegunaan dari versi kontrol dalam sebuah applikasi. Semakin lama maka applikasi tersebut akan semakin lebih baik. Lebih baik dari segi tampilan ataupun proses dalam pengerjaan suatu tugas atau respon. Contoh dari Version Control yakni

  • PHP-DI
  • Aura.Di
  • Pimple
  • Git
  • Gis

Wah bagaimana sudahkah kamu membuat frameworkmu? Saya kira akan lebih mudah digunakan ketika (tim) kita sendiri yang membuatnya.

Sumber refrensi medium.com

Minggu, 05 Desember 2021

Mendesain Website CodeIgniter

Pendahuluan

Setelah selesai dalam membuat blog dengan framework codeigniter. Selanjutnya mari kita desain blog tersebut agar terlihat enak dipandang mata dan midah untuk di pakai baik untuk pengunjung blog ataupun penulis.Disini saya akan memakai bootstrap5 dan ckeditor5 di codeigniter untuk mempercantik dan mempermudah menambahkan baik artikel maupun komentar.

Persiapan

> MySql atau MariaDb
> Blog CodeIgniter
> Bootstrap5
> Ckeditor5
> Code Editor
Pada artikel Blog CodeIgniter kita sudah membahas penggunaan mariadb. Selanjutnya kita akan memasang Bootstrap5 dan Ckeditor5.

Pemasangan Bootstrap5

Untuk memasangnya kamu harus mendapatkan file2 Bootstrap5 dengan menggunakan perintah npm atau composer atau mendownloadnya langsung pada website Boostrap. Setelah itu Buatlah folder assets/dist untuk tempat kita akan menaruh file Bootstrap dan Ckeditor disana.

Kita akan memakai boostrap pada semua halaman blog. Buatlah sebuah folder templates pada folder views dan 2 buah file yakni header.php dan footer.php didalamnya.
Isi dari file header.php yakni

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

?>

<!doctype html>

<html>

  <head>

    <meta charset="utf-8">

    <meta name="viewport" content="width=device-width, initial-scale=1">

    <meta name="author" content="Yusuf Abdulloh">

    <link rel="shortcut icon" href="/assets/dist/img/logo.jpg" type="image/x-icon" />

    <!-- Bootstrap core CSS -->

<link href="/assets/dist/css/bootstrap.min.css" rel="stylesheet">

    <!-- CSS Kita-->

<link href="/assets/dist/css/post.css" rel="stylesheet">

<title>Daftar Artikel</title>

</head>

<body>

</code>

code1
Kode ini akan meload boostrap css dan membuatnya halaman responsive.Sedangkan file footer.php yakni

<code>

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

?>

<script src="/assets/dist/js/bootstrap.bundle.min.js"></script>

  </body>

</html>

Pada kode diatas kita hanya memuat file javascript boostrap.
Selanjutnya kita akan memanggilnya pada controller atau model yang diinginkan dengan menggunakan kode
$this->load->view('templates/header'); //untuk header
$this->load->view('templates/footer'); //untuk footer

Pemasangan Ckeditor5

Untuk memasang ckeditor5 cukuplah mudah yakni kamu tinggal memuat file ckeditor.js pada halaman yang harus memakai editor ini. Dengan menambahkan kode ini kamu akan dapat id editor pada  element html yang digunakan.

<script src="/assets/dist/ckeditor5/ckeditor.js"></script>


<script>

ClassicEditor

.create( document.querySelector( '#editor' ), {

// toolbar: [ 'heading', '|', 'bold', 'italic', 'link' ]

} )

.then( editor => {

window.editor = editor;

} )

.catch( err => {

console.error( err.stack );

} );

</script>

Bagaimana menurut kamu mudah dan indah bukan tampilan blog kita sekarang.

Contoh Tampilan Website Setelah Menggunakan Boostrap dan Ckeditor

Tampilan Halaman Login

login page codeigniter

Tampilan Halaman Daftar

halaman registrasi codeigniter

Tampilan Halaman Utama

halaman utama codeigniter

Tampilan Artikel + Komentar

artikel dan halaman komentar codeigniter

Cukup sekian dan terima kasih semoga ini bisa menjadi referensi untuk mendesain blog kamu agar menjadi lebih indah.

Jumat, 26 November 2021

Membuat Blog Dengan CodeIgniter

Pendahuluan

Pada artikel ini merupakan sesi dari pembuatan projek yang cukup besar yakni sebuah blog. Blog ini bisa membuat artikel baik berupa teks, gambar maupun vidio.

Segala yang diperlukan untuk pembuatan blog dengan codeigniter ini:

> PHP 7.10 keatas

> MYSQL / MARIADB

> CodeIgniter3

> Code Editor


Adapun langkah-langkah yang kita akan lakukan yakni

1. Pembuatan Database Blog

2. Halaman Statis (Page Static)

3. Halaman Daftar, Masuk dan Keluar Penulis Codeigniter

4. Lihat, Tambah, Edit dan Hapus Artikel

5. Tambah, Sembunyikan atau Tampilkan dan Hapus Komentar

+ Mendekorasi Blog CodeIgniter

Oke mari kita lakukan langkah yang pertama

1. Pembuatan Database Blog

Buatlah basisdata yang bernama blog. Lalu buat tabel User dengan menjalankan sql ini.

CREATE TABLE `user` (

  `nip` int(2) NOT NULL AUTO_INCREMENT PRIMARY KEY,

  `username` varchar(100) NOT NULL UNIQUE,

  `password` varchar(100) NOT NULL,

  `email` varchar(200) NOT NULL,

  `status` enum('aktif','tidak_aktif') NOT NULL DEFAULT 'tidak_aktif',

);

Pada tabel user kita menggunakan username dengan unique yang berarti tidak boleh ada yang sama username tersebut.

Untuk membuat tabel post jalankan sql ini:

CREATE TABLE `post` (

  `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,

  `judul` varchar(200) NOT NULL,

  `slug` varchar(200) NOT NULL UNIQUE KEY,

  `isi` text NOT NULL,

  `penulis` varchar(100) NOT NULL,

  `kategori` varchar(100) NOT NULL,

  `dibuat` datetime NOT NULL DEFAULT current_timestamp(),

  FOREIGN KEY (penulis) REFERENCES user(username)

);

Pada tabel post saya menghubungkan penulis dengan username yang digunakan pada saat login nanti.

Untuk komentar:

CREATE TABLE `komentar` (

  `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,

  `id_post` int(11) NOT NULL, 

  `komen` text NOT NULL,

  `komentator` varchar(100) NOT NULL,

  `email` varchar(200),

  `waktu` datetime NOT NULL DEFAULT current_timestamp(),

  `moderasi` enum('ya','tidak') NOT NULL DEFAULT 'tidak',

  FOREIGN KEY (id_post) REFERENCES post(id)

);

Tabel komentar akan digunakan untuk netizen atau semua orang. Dimana komentar ini akan dibuat menurut id dari tabel post.

Relasi Database Untuk Blog Codeigniter

2. Halaman Statis (Page Static)

Halaman statis ini sering digunakannuntuk membuat halaman yang berupa Beranda atau Home, Tentang , Disclaimer, Policy Privacy dan Kontak. Halaman statis biasanya berupa informasi yang tidak perlu ada komentar. Karena sifatnya merupakan informasi segala hal tetang blog kita.

Download CodeIgniter3 pada websitenya kemudian buka file route.php yang berada di folder application/config kemudian rubahlah menjadi:

$route['default_controller'] = 'halaman/view';

$route['(:any)'] = 'halaman/view/$1';

Lalu simpanlah perubahan tersebut. File route ini merupakan membuat link ke file yang berada pada folder statis pada folder application/views. Controllernya yakni class halaman dan methodnya yakni view.

Mari kita buat controllernya dengan nama Halaman.php yang isinya:

<?php

class Halaman extends CI_Controller {

    public function view($page = 'beranda'){

        if ( ! file_exists(APPPATH.'views/statis/'.$page.'.php')){

                // Menampilkan halaman error 404

                show_404();

        }


        $data['title'] = ucfirst($page);


        $this->load->view('statis/'.$page, $data);

    }

}

?>

Kemudian buat 4 file yakni beranda.php untuk halaman beranda, tentang.php untuk halaman tentang, disclaimer.php untuk halaman disclaimer, policy-privacy.php untuk halaman policy-privacy dan kontak.php untuk halaman kontak. Bila sudah isilah sesuai dengan nama halaman masing-masing untuk membedakan dalam percobaan pengaksesan. Bila berhasil maka kamu akan melihat nama file itu ketika mengakses namanya tanpa extensi. localhost/beranda, localhost/tentang, localhost/disclaimer, localhost/policy-privacy, localhost/kontak. Untuk menambahkan halaman lainya kamu tinggal menambahkan file yang kamu mau pada folder statis, mudah bukan.

Static page codeigniter

3. Halaman Daftar, Masuk Dan Keluar Penulis Codeigniter

Sebelum membuat dua halaman ini kita harus menyetel file config.php, autoload.php dan database.php pada folder application/config. Untuk file autoload.php kita menggunakan beberapa library dan helper codeigniter. Dimana library-library dan helper akan otomatis digunakan dalam fungsi dan method di applikasi kita. File database.php merupakan file yang mengatur pengaturan database yang digunakan untuk applikasi yang kita sesang kerjakan. Kemudian merubah variabel $baseurl pada file config.php dengan /. Beikut ini contoh konfigurasi file autoload.php dan database.php.

autoload.php pembuatan blog codeigniter

database.php untuk pembuatan blog pada codeigniter

config.php untuk pembuatan blog pada codeigniter


Halaman Daftar Penulis

Langkah selanjutnya yakni tambahkan kode pada route.php yang berada di folder application/config dengan kode berikut:

$route['daftar'] = 'penulis/daftar';
Dengan begini mari kita buat controller penulis dengan method daftar pada file Penulis.php. Yang berisi kode berikut:
<?php
class Penulis extends CI_Controller{
    public function daftar()
{
    $this->load->model('penulis_model');
    $data['title'] = 'Daftar Sebagai Penulis';
    $this->form_validation->set_rules('username', 'Username', 'required');
    $this->form_validation->set_rules('email', 'Email', 'required');
    $this->form_validation->set_rules('password', 'Password', 'required',array('required' => 'You must provide a %s.')
              );
    $this->form_validation->set_rules('passconf', 'Konfirmasi Password', 'required');

    if ($this->form_validation->run() == FALSE)
    {
        $this->load->view('penulis/daftar',$data);
    }
    else
    {
        $this->penulis_model->set_penulis();
    }
    }
}
Kemudian buat file daftar.php pada folder views/penulis dan buat form untuk menambahan user sebagai penulis. Isi file daftar.php yakni
<h2><?php echo $title; ?></h2>

<?php echo validation_errors(); ?>

<?php echo form_open('daftar'); ?>

    <label for="username">Nama Penulis</label>
    <input type="text" name="username" /><br />

    <label for="email">Email</label>
    <input type="text" name="email" /><br />
    
    <label for="password">Password</label>
    <input type="password" name="password" /><br />
    <label for="passconf">Konfirmasi Password</label>
    <input type="password" name="passconf" /><br />
    <input type="submit" name="submit" value="Daftar sekarang" />

</form>
<?php
if(!empty($status)){
echo $status;}
?>
Untuk pembuatan pendaftaran user kita gunakan model Penulis_model.php dengan method set_penulis. isi dari file Penulis_model.php yaitu
<?php
class Penulis_model extends CI_Model {
 public function set_penulis()
{
    $username = $this->input->post('username');
    $password = $this->input->post('password');
    $passconf = $this->input->post('passconf');
    $this->db->where('username',$username);
    $query = $this->db->get('user');
    if($query->num_rows() == 1){
        $data['title'] = 'Daftar Sebagai Penulis';
        $data['status']='Username sudah digunakan';
        $this->load->view('penulis/daftar',$data);
    }elseif($query->num_rows() == 0 && $password != $passconf ){
        $data['title'] = 'Daftar Sebagai Penulis';
        $data['status']='Password dengan konfirmasi password tidak sama';
        $this->load->view('penulis/daftar',$data);
    }elseif($query->num_rows() == 0 && $password == $passconf){
        $data = array(
        'username' => $this->input->post('username'),
        'email' => $this->input->post('email'),
        'password' => $this->input->post('password')
    );
        $this->db->insert('user', $data);
        echo 'Sudah terdaftar';
    }else{
        echo 'System sedang error';
    }
    }
}
Bila sudah benar kode yang kamu buat maka akan ada data user baru yang tadi dimasukan. Kamu bisa melihatnya dalam di database kamu dengan menggunakan perintah select * from user;


Halaman Masuk

Untuk membuat halaman masuk kamu terlebih dahulu membuat route baru untuk masuk halaman administrasi. Untuk routes.php tambahkan kode ini $route['masuk'] = 'penulis/masuk';. Dengan begitu kita akan bisa mengakses url localhost/penulis/masuk.Untuk membuat halaman masuknya buatlah method masuk pada file Penulis.php. Isi dari method masuk yakni:
public function masuk()
    {
    $this->load->model('penulis_model');
    $data['title'] = 'Halaman Masuk Administrasi';

    $this->form_validation->set_rules('username', 'Username', 'required');
    $this->form_validation->set_rules('password', 'Password', 'required');
    if ($this->form_validation->run() === FALSE)
    {
        $this->load->view('penulis/masuk',$data);
    }
    else
    {
        $this->penulis_model->get_penulis();
    }
    }
Setelah itu mari kita buat method get_penulis pada file Penulis_model.php. Skrip kode method dari get_penulis yaitu:
public function get_penulis(){
    $username = $this->input->post('username');
    $password = $this->input->post('password');
    $this->db->where('username',$username);
    $this->db->where('password',$password);
    $query = $this->db->get('user');
    if($query->num_rows() == 1){
        $sesibaru = array(
        'username'  => $username,
        'logged_in' => TRUE);
        $this->session->set_userdata($sesibaru);
        foreach ($query->result() as $penulis){
            $status = $penulis->status;
        }
        if( $status == 'tidak_aktif' ){
            echo 'Silahkan hubungi admin situs ini untuk menulis dengan leluasa pada halaman <a href=\'\kontak\'>kontak</a>';
        }
        if( $status == 'aktif' ){
            $this->load->view('statis/beranda');
        }
    }else{
        $data['title'] = 'Halaman Masuk Administrasi';
        $data['status']='Kata sandi atau username tidak cocok';
        $this->load->view('penulis/masuk',$data);
    }
}
Pada model ini juga kita mengatur status dari user yang masuk. Bila user aktif berarti ia  bisa membuat sebuah artikel pada blog kita sedangkan bila tidak aktif maka ia harus menghubungi kita untuk merubah statusnya menjadi aktif. Setelah itu baru ia bisa menulis artikel pada blog kita.
Ini merupakan kode halaman masuk.php
<h2><?php echo $title; ?></h2>

<?php echo validation_errors(); ?>

<?php echo form_open('masuk'); ?>

    <label for="username">Nama Penulis</label>
    <input type="text" name="username" /><br />
    
    <label for="password">Password</label>
    <input type="password" name="password" /><br />
    
    <input type="submit" name="submit" value="Masuk" />

</form>
<?php
if(!empty($status)){
echo $status;}
?>
Untuk mengaktifkan status penulis bisa dengan perintah ini UPDATE `user` SET `status` = 'aktif' WHERE `user`.`username` = 'Yusuf';. Ini akan mengubah status penulis berdasarkan 
Nah artikel selanjutnya akan membahas tentang Tambah, Edit dan Hapus Artikel yang hanya bisa dilakukan oleh user yang memiliki status aktif. Tetapi sebelum itu mari kita buat route keluar '$route['keluar'] = 'penulis/keluar';'.Untuk keluar akun administatif. Lalu buat method keluar pada controller Penulis.php.
public function keluar(){
        $data['title'] = 'Halaman Masuk Administrasi';
        $data['status'] = 'Anda sudah keluar';
        $this->session->sess_destroy();
        $this->load->view('penulis/masuk',$data);
    }
Untuk keluar akun kita tinggal ke link localhost/keluar.

4. Lihat, Tambah, Edit dan Hapus Artikel

Pada artikel ini kita akan membuat halaman artikel yang meliputi lihat, tambah, edit dan hapus artikel (CRUD Artikel). Semua orang bisa melihat artikel yang ada tetapi hanya penulis yang bisa menambah artikel dan mengedit atau menghapusnya.

Lihat Artikel(Read)

Mari kita mulai baca data codeigniter dengan membuat halaman artikel yang bisa dilihat oleh semua orang. Tambahkan 2 baris kode ini ke dalam file routes.php yaitu:
$route['blog'] = 'post';
$route['blog/(:any)'] = 'post/detail/$1';
Kita membuat 2 urlnya untuk localhost/blog digunakan untuk menampilkan semua artikel.Juga localhost/blog/slug digunakan untuk menampilkan artikel yang dipilih untuk ingin dilihat.
Buat file Post.php pada folder controller yang berisi class post dan method detail. Isi dari file Post.php yakni:
<?php
class Post extends CI_Controller{
    public function index(){
        $this->load->model('post_model');
        $this->post_model->lihat_post();
    }
    public function detail($slug = NULL){
        $this->load->model('post_model');
        $data['postingan'] = $this->post_model->detail_post($slug);
        if (empty($data['postingan']))
        {
                show_404();
        }
        $this->load->view('post/detail',$data);
}
}
Membuat file Post_model.php pada file model dengan kode berikut
 public function lihat_post(){
    $query = $this->db->get('post');
    if($query->num_rows() > 0){
        foreach ($query->result() as $post){
            $data['post'] = $post;
            $this->load->view('post/lihat',$data);
        }
    }else{
        echo "Belum ada artikel";
    }
 }
 public function detail_post($slug = FALSE)
{
    if ($slug === FALSE)
    {
        $query = $this->db->get('post');
        return $query->result_array();
    }
    $query= $this->db->get_where('post', array('slug' => $slug));
    return $query->row_array();
}
}
?>
Untuk folder viewnya buatlah 2 file yakni file lihat.php digunakan menampilkan seluruh artikel dan detail.php digunakan menampilkan artikel yang dipilih. Tetapi sebelumnya kita harus mengaktifkan helper 'text' pada file autoload.php untuk memakai fungsi word_limiter(). Berikut ini kode yang ada pada file lihat.php
<a href='/blog/<?php echo $post->slug; ?>'><h1><?php echo $post->judul; ?></h1></a>
<p>Dibuat oleh <b><?php echo $post->penulis; ?></b>
<hr />
<p><?php echo word_limiter($post->isi,15); ?></p>
<hr />
Kategori : <em><?php echo $post->kategori; ?></em></p>
Untuk file detail.php kodenya
<h1><?php echo $postingan['judul']; ?></h1>
<p>Dibuat oleh <b><?php echo $postingan['penulis']; ?></b>
<hr />
<p><?php echo $postingan['isi']; ?></p>
<hr />
Kategori : <em><?php echo $postingan['kategori']; ?></em></p>

Bila sudah selesai maka kamu akan bisa melihat semua artikel yang ada pada url localhost/blog dan bisa memilih salah satu blog untuk dipilih.

Tambah Artikel(ADD)

Untuk menambahkan data codeigniter kita tambah lagi routenya dengan kode:
$route['blog/tambah'] = 'post/tambah';
Kode diatas routenya menuju ke method tambah pada file Post.php:
    public function tambah(){
        $this->load->model('post_model');
        $data['title'] = 'Tambah Artikel';

        $this->form_validation->set_rules('penulis', 'Penulis', 'required');
        $this->form_validation->set_rules('judul', 'Judul', 'required');
        $this->form_validation->set_rules('isi', 'Isi', 'required');
        $this->form_validation->set_rules('kategori', 'kategori', 'required');
        if ($this->form_validation->run() == FALSE)
        {
            $this->load->view('post/tambah',$data);
        }
        else
        {
            $this->post_model->tambah_post();
            $this->load->view('post/lihat');
        }
    }
   
Untuk selanjutnya kita membuat method tambah_post pada file Post_model.php. Dimana methodnya berisi
 public function tambah_post(){
    $judul = $this->input->post('judul');
    $slug = url_title($judul, 'dash', TRUE);
    $this->db->where('slug',$slug);
    $query = $this->db->get('post');
    if($query->num_rows() == 1){
        $data['title'] = 'Tambah Artikel';
        $data['status']='Tidak boleh mengirim artikel dengan judul yang sudah ada';
        $this->load->view('post/tambah',$data);
    }elseif($slug =='tambah' or $slug == 'update'){
        $data['title'] = 'Tambah Artikel';
        $data['status']='Tidak boleh mengirim artikel dengan judul halaman';
        $this->load->view('post/tambah',$data);
    }elseif($query->num_rows() == 0){
        $data = array(
        'penulis' => $this->input->post('penulis'),
        'judul' => $this->input->post('judul'),
        'slug' => $slug,
        'isi' => $this->input->post('isi'),
        'kategori' => $this->input->post('kategori'));
        $this->db->insert('post', $data);
        $data['title']='Tambah Artikel';
        $data['status']='Artikel telah ditambahkan';
        $this->load->view('post/tambah',$data);
    }else{
        show_404();
    }
}
Kemudian kita akan membuat file tambah.php pada folder views/post. Dimana pada file ini juga kita menyaring pengunjung yang sudah masuk pada halaman masuk dan menurut username yang digunakan pada waktu masuk. Penyaringan ini kita lakukan dengan menggunakan session yang telah kita setting pada method masuk yang berlokasi pada file Penulis_model.php.
<?php if($this->session->userdata('logged_in') == true): ?>
<h2><?php echo $title; ?></h2>

<?php echo validation_errors(); ?>

<?php echo form_open('blog/tambah'); ?>
    <input type='hidden' name='penulis' value='<?php echo $this->session->userdata('username'); ?>'/>
    <label for='judul'>Judul</label>
    <input type='text' name='judul'/><br />
    <label for='isi'>Isi</label>
    <textarea name='isi'></textarea><br />
    <label for='kategori'>Kategori</label>
    <input type='text' name='kategori'/><br />
    <input type="submit" name="submit" value="Publikasikan" />

</form>
<?php else:
$status = "Silahkan masuk dulu baru menambahkan artikel";
?>
<?php endif; ?>
<?php
if(!empty($status)){
echo $status;}
?>
Pada langkah selanjutnya kita akan mengedit dan menghapus artikel dengan id yang diberikan dari halaman lihat.php. Untuk itu mari kita perbarui kode file lihat php yakni
<a href='/blog/<?php echo $post->slug; ?>'><h1><?php echo $post->judul; ?></h1></a>
<p>Dibuat oleh <b><?php echo $post->penulis; ?></b>
<hr />
<p><?php echo word_limiter($post->isi,15); ?></p>
<hr />
Kategori : <em><?php echo $post->kategori;  echo $post->id;?></em></p>
<?php if($this->session->userdata('logged_in') == true && $this->session->userdata('username') == $post->penulis): ?>
<a href='/blog/hapus/<?php echo $post->id; ?>'>Hapus</a><a href='/blog/perbarui/<?php echo $post->id; ?>'>Perbarui</a>
<?php endif; ?>
Bila sudah selesai maka akan terlihat seperti ini.
gambar

Perbarui Artikel(UPDATE)

Selanjutnya kita akan membuat halaman yang berisi artikel-artikel yang sibuat oleh penulis berikut link ke halaman perbarui dan hapus artikelnya. Sebelumnya tambahkan dulu routenya
$route['blog/perbarui/(:any)'] = 'post/perbarui/$1';
kemudian tambahkan method perbarui atau edit pada codeigniter dalam file Post.php
public function perbarui($id = NULL){
    $data['postingan'] = $this->db->get_where('post',array('id' => $id));
    $this->form_validation->set_rules('penulis', 'Penulis', 'required');
        $this->form_validation->set_rules('judul', 'Judul', 'required');
        $this->form_validation->set_rules('isi', 'Isi', 'required');
        $this->form_validation->set_rules('kategori', 'kategori', 'required');
        if ($this->form_validation->run() == FALSE)
        {
            $this->load->view('post/perbarui',$data);
        }
        else{
            $data['status']='Pembaruhan Berhasil';
            $this->load->model('post_model');
            $this->post_model->perbarui_post();
            $this->post_model->lihat_post();
        }
   
Selanjutnya buat method perbarui_post pada Post_model.php yakni
public function perbarui_post(){
    $id = $this->input->post('id');
    $judul = $this->input->post('judul');
    $slug = url_title($judul, 'dash', TRUE);
    $data = array(
    'penulis' => $this->input->post('penulis'),
    'judul' => $this->input->post('judul'),
    'slug' => $slug,
    'isi' => $this->input->post('isi'),
    'kategori' => $this->input->post('kategori'));
    $this->db->where('id',$id);
    $this->db->update('post', $data);
 

Menghapus Artikel(DELETE)

Menghapus data codeigniter dengan satu method saja. Buatlah dulu route
$route['blog/hapus/(:any)'] = 'post/hapus/$1';
Kemudian tambahkan methodnya
 public function hapus($id = NULL){
    $this->load->model('post_model');
    $this->db->where('id',$id);
    $query=$this->db->get('post');
    foreach ($query->result() as $rows){
        if($this->session->userdata('username') == $rows->penulis){
            $this->db->delete('post',array('id' => $id));
            $this->post_model->lihat_post();
        }else{
            echo 'Kamu Hanya Bisa Hapus Artikel Punya Kamu Sendiri';
        }
    }
 }
 
Ini akan menghapus artikel yang dipilih tetapi bila sesuai dengan username penulis yang digunakan.

5. Baca, Sembunyi, Tambah dan Hapus Komentar

Dalam sebuah blog tentu saja ada komentar pada artikel untuk timbal balik dari pembaca dengan penulis. Komentar juga bisa bersifat membangun blog yang kita buat untuk itu mari kita buat kolam untuk komentar dan menampilkan dan menyembunyikan komentar. Disisi lain kita juga mesti menyaring komentar yang berupa spam dan juga script nakal yang digunakan untuk mengetes keamanan blog kita.

Baca Komentar(READ)

Mari kita perbarui file detail.php dengan kode berikut ini
<h1><?php echo $postingan['judul']; ?></h1>
<p>Dibuat oleh <b><?php echo $postingan['penulis']; ?></b>
<hr />
<p><?php echo $postingan['isi']; ?></p>
<hr />
Kategori : <em><?php echo $postingan['kategori']; ?></em></p>
<p><?php  if(empty($komentar->result())){
            echo '<em><b>Belum ada komentar</em></b>';
        }else{
        foreach($komentar->result() as $rowkomentar){
            echo '<p><a href=\'mailto:'.$rowkomentar->email.'\'> '.$rowkomentar->komentator.'</a> berkata</p>';
            echo '<p>'.$rowkomentar->komen.'</p>';
        }
        } ?></p>
Dan method detail pada Post.php dengan
public function detail($slug = NULL){
        $this->load->model('post_model');
        $data['postingan'] = $this->post_model->detail_post($slug);
        if (empty($data['postingan']))
        {
                show_404();
        }
        $id_post = $data['postingan']['id'];
        $this->db->where('id_post',$id_post);
        $data['komentar']=$this->db->get('komentar');
        $this->load->view('post/detail',$data);
}
Kode ini akan menampilkan komentar yang ada sesuai dengan id_post yang ditampilkan.

Sembunyikan Komentar

Terkadang kita harus menyembunyikan komentar dikarenakan suatu hal yang penting seperti sara, span atau kata-kata kotor yang dilakukan oleh seseorang yang tidak bertanggung jawab. Untuk itu mari kota update lagi file detail.php agar kita bisa melakukannya pada setiap artikel.
    <h1><?php echo $postingan['judul']; ?></h1>
<p>Dibuat oleh <b><?php echo $postingan['penulis']; ?></b>
<hr />
<p><?php echo $postingan['isi']; ?></p>
<hr />
Kategori : <em><?php echo $postingan['kategori']; ?></em></p>
<?php
    if(empty($komentar->result())){
        echo '<em><b>Belum ada komentar</em></b>';
    }else{
        if($this->session->userdata('logged_in') == false){
            echo '<em><b>Komentar</em></b>';
            foreach($komentar->result() as $rowkomentar){
                if($rowkomentar->moderasi == 'ya'){
                    if($rowkomentar->email == '' or $rowkomentar->email == NULL){
                        echo '<p>'.$rowkomentar->komentator.' berkata</p>';
                    }else{
                        echo '<p><a href=\'mailto:'.$rowkomentar->email.'\'> '.$rowkomentar->komentator.'</a> berkata</p>';
                    }
                echo '<p>'.$rowkomentar->komen.'</p>';
                }
            }
        }elseif($this->session->userdata('logged_in') == true){
            echo '<em><b>Komentar</em></b>';
        foreach($komentar->result() as $rowkomentar){
            if($rowkomentar->email == '' or $rowkomentar->email == NULL){
            echo '<p>'.$rowkomentar->komentator.' berkata</p>';
            }else{
            echo '<p><a href=\'mailto:'.$rowkomentar->email.'\'> '.$rowkomentar->komentator.'</a> berkata</p>';
            }
            echo '<p>'.$rowkomentar->komen.'</p>';
            if($rowkomentar->moderasi == 'tidak'){
                echo '<a href=\'komentar_approve/'.$rowkomentar->id.'\'>approve</a>';
            }elseif($rowkomentar->moderasi == 'ya'){
                echo '<a href=\'komentar_disapprove/'.$rowkomentar->id.'\'>sembunyikan</a>';
            }
        }
            
        }else{
            $status='Sesuatu error';
        }
    }?>
<?php
if(!empty($status)){
echo $status;}
?>
Pada file detail.php diatas semua orang hanya bisa melihat komentar yang moderasinya iya sedangkan untuk yang moderasinya tidak hanya semua penulis yang bisa melihatnya. Sekaligus kita memberikan tombol yang digunakan untuk menampilkan dan menyembunyikan komentar pada artikel.
Selanjutnya kita tinggal menambahkan method komentar_approve dan komentar_dissaprove pada Post.php.
 public function komentar_approve($id = NULL){
    $this->db->where('id',$id);
    $komentar = $this->db->get('komentar');
    foreach ($komentar->result() as $komentar2){
        $id_post = $komentar2->id_post;
    }
    $this->db->where('id',$id_post);
    $posting = $this->db->get('post');
    foreach ($posting->result() as $postingan){
        $penulis = $postingan->penulis;
        $slug = $postingan->slug;
    }
    $data = array(
    'moderasi' => 'ya');
    $this->db->update('komentar', $data);
    redirect('blog/'.$slug);
    }
 public function komentar_disapprove($id = NULL){
    $this->db->where('id',$id);
    $komentar = $this->db->get('komentar');
    foreach ($komentar->result() as $komentar2){
        $id_post = $komentar2->id_post;
    }
    $this->db->where('id',$id_post);
    $posting = $this->db->get('post');
    foreach ($posting->result() as $postingan){
        $penulis = $postingan->penulis;
        $slug = $postingan->slug;
    }
    $data = array(
    'moderasi' => 'tidak');
    $this->db->update('komentar', $data);
    redirect('blog/'.$slug);
    }

Tambah Komentar(ADD)

Selanjutnya kita akan membuat kolom komentar yang dibuat pada setiap artikel yang ada. Caranya yakni membuat formulir pada setiap artikel yang akan diberikan komentar. Yuk kita perbarui lagi file detail.php nya
    <h1><?php echo $postingan['judul']; ?></h1>
<p>Dibuat oleh <b><?php echo $postingan['penulis']; ?></b>
<hr />
<p><?php echo $postingan['isi']; ?></p>
<hr />
Kategori : <em><?php echo $postingan['kategori']; ?></em></p>
<?php
    if(empty($komentar->result())){
        echo '<em><b>Belum ada komentar</em></b>';
    }else{
        if($this->session->userdata('logged_in') == false){
            echo '<em><b>Komentar</em></b>';
            foreach($komentar->result() as $rowkomentar){
                if($rowkomentar->moderasi == 'ya'){
                    if($rowkomentar->email == '' or $rowkomentar->email == NULL){
                        echo '<p>'.$rowkomentar->komentator.' berkata</p>';
                    }else{
                        echo '<p><a href=\'mailto:'.$rowkomentar->email.'\'> '.$rowkomentar->komentator.'</a> berkata</p>';
                    }
                echo '<p>'.$rowkomentar->komen.'</p>';
                }
            }
        }elseif($this->session->userdata('logged_in') == true){
            echo '<em><b>Komentar</em></b>';
        foreach($komentar->result() as $rowkomentar){
            if($rowkomentar->email == '' or $rowkomentar->email == NULL){
            echo '<p>'.$rowkomentar->komentator.' berkata</p>';
            }else{
            echo '<p><a href=\'mailto:'.$rowkomentar->email.'\'> '.$rowkomentar->komentator.'</a> berkata</p>';
            }
            echo '<p>'.$rowkomentar->komen.'</p>';
            if($rowkomentar->moderasi == 'tidak'){
                echo '<a href=\'komentar_approve/'.$rowkomentar->id.'\'>approve</a>';
            }elseif($rowkomentar->moderasi == 'ya'){
                echo '<a href=\'komentar_disapprove/'.$rowkomentar->id.'\'>sembunyikan</a>';
            }
        }
            
        }else{
            $status='Sesuatu error';
        }
    }?>
<h4>Masukan Komentar</h4>

<?php echo validation_errors(); ?>

<?php echo form_open('blog/'.$postingan['slug']); ?>
    <input type='hidden' name='id_post' value='<?php echo $postingan['id']; ?>'/>
    <label for='nama'>Nama</label>
    <input type='text' name='nama'/><br />
    <label for='email'>Email</label>
    <input type='text' name='email'/><br />
    <label for='komentar'>Komentar</label>
    <textarea name='komentar'></textarea><br />
    <input type="submit" name="submit" value="Komen" />
</form>
<?php
if(!empty($status)){
echo $status;}
?>
Kemudian mari perbarui kembali method detail pada Post.php ntuk menyaring masukan dari komentar yang akan ditambahkan.
    public function detail($slug = NULL){
        $this->load->model('post_model');
        $data['postingan'] = $this->post_model->detail_post($slug);
        $this->load->model('post_model');
        $this->form_validation->set_rules('id_post', 'id_post', 'required');
        $this->form_validation->set_rules('nama', 'Nama', 'required');
        $this->form_validation->set_rules('email', 'Email');
        $this->form_validation->set_rules('komentar', 'Komentar', 'required');
        if (empty($data['postingan']))
        {
                show_404();
        }
        $id_post = $data['postingan']['id'];
        $this->db->where('id_post',$id_post);
        $data['komentar']=$this->db->get('komentar');
        if ($this->form_validation->run() == FALSE)
        {
            $this->load->view('post/detail',$data);
        }
        else
        {
            $this->post_model->tambah_komentar();
            redirect('/blog/'.$slug);
        }
}
Kemudian tambahkan method tambah_komentar pada file Post_model.php dimana ini akan menyimpan komentar dan menampilkanya di halaman selanjutnya apabila komentar tersebut memiliki moderasi 'ya'.
public function tambah_komentar(){
    $data = array(
        'id_post' => $this->input->post('id_post'),
        'komentator' => $this->input->post('nama'),
        'email' => $this->input->post('email'),
        'komen' => $this->input->post('komentar')
        );
        return $this->db->insert('komentar', $data);
 }
 

Menghapus Komentar

Proses penghapusan komentar hanya bisa dihapus oleh penulis artikel itu sendiri. Dengan menambahkan link hapus pada tiap artikel. Selanjutnya, kita akan memperbarui file detail.php dengan:
    <h1><?php echo $postingan['judul']; ?></h1>
<p>Dibuat oleh <b><?php echo $postingan['penulis']; ?></b>
<hr />
<p><?php echo $postingan['isi']; ?></p>
<hr />
Kategori : <em><?php echo $postingan['kategori']; ?></em></p>
<?php
    if(empty($komentar->result())){
        echo '<em><b>Belum ada komentar</em></b>';
    }else{
        if($this->session->userdata('logged_in') == false){
            echo '<em><b>Komentar</em></b>';
            foreach($komentar->result() as $rowkomentar){
                if($rowkomentar->moderasi == 'ya'){
                    if($rowkomentar->email == '' or $rowkomentar->email == NULL){
                        echo '<p>'.$rowkomentar->komentator.' berkata</p>';
                    }else{
                        echo '<p><a href=\'mailto:'.$rowkomentar->email.'\'> '.$rowkomentar->komentator.'</a> berkata</p>';
                    }
                echo '<p>'.$rowkomentar->komen.'</p>';
                }
            }
        }elseif($this->session->userdata('logged_in') == true){
            echo '<em><b>Komentar</em></b>';
        foreach($komentar->result() as $rowkomentar){
            if($rowkomentar->email == '' or $rowkomentar->email == NULL){
            echo '<p>'.$rowkomentar->komentator.' berkata</p>';
            }else{
            echo '<p><a href=\'mailto:'.$rowkomentar->email.'\'> '.$rowkomentar->komentator.'</a> berkata</p>';
            }
            echo '<p>'.$rowkomentar->komen.'</p>';
            if($this->session->userdata('username') == $postingan['penulis']){
                echo '<a href=\'komentar_hapus/'.$rowkomentar->id.'\'>hapus</a>';
            }
            if($rowkomentar->moderasi == 'tidak'){
                echo '<a href=\'komentar_approve/'.$rowkomentar->id.'\'>approve</a>';
            }elseif($rowkomentar->moderasi == 'ya'){
                echo '<a href=\'komentar_disapprove/'.$rowkomentar->id.'\'>sembunyikan</a>';
            }
        }
            
        }else{
            $status='Sesuatu error';
        }
    }?>
<h4>Masukan Komentar</h4>

<?php echo validation_errors(); ?>

<?php echo form_open('blog/'.$postingan['slug']); ?>
    <input type='hidden' name='id_post' value='<?php echo $postingan['id']; ?>'/>
    <label for='nama'>Nama</label>
    <input type='text' name='nama'/><br />
    <label for='email'>Email</label>
    <input type='text' name='email'/><br />
    <label for='komentar'>Komentar</label>
    <textarea name='komentar'></textarea><br />
    <input type="submit" name="submit" value="Komen" />
</form>
<?php
if(!empty($status)){
echo $status;}
?>
Untuk menghapusnya kamu tinggal menambahkan method komentar_hapus pada file Post.php. Selanjutnya ini akan mengalihkan ke artikel yang tadi kita hapus.
    public function komentar_hapus($id = NULL){
    $this->db->where('id',$id);
    $komentar = $this->db->get('komentar');
    foreach ($komentar->result() as $komentar2){
        $id_post = $komentar2->id_post;
    }
    $this->db->where('id',$id_post);
    $posting = $this->db->get('post');
    foreach ($posting->result() as $postingan){
        $penulis = $postingan->penulis;
        $slug = $postingan->slug;
    }
    if($this->session->userdata('username') == $penulis){
        $this->db->delete('komentar',array('id' => $id));
    }
    redirect('blog/'.$slug);
    }
Saya kira kita sudah bisa membuat blog yang cukup besar untuk membuat artikel dan publikasi lainya. Tinggal kita mendesain blog kita agar tampilanya bagus. Dan ini akan kita bahas di artikel selanjutnya yakni mendesain ulang blog.Happy coding