<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Wahyu Triono</title>
    <description>The latest articles on DEV Community by Wahyu Triono (@whytrno).</description>
    <link>https://dev.to/whytrno</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F878283%2F2a51a1d4-e556-4c6a-93bd-33212c1ea694.jpg</url>
      <title>DEV Community: Wahyu Triono</title>
      <link>https://dev.to/whytrno</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/whytrno"/>
    <language>en</language>
    <item>
      <title>Panduan memulai cepat Laravel</title>
      <dc:creator>Wahyu Triono</dc:creator>
      <pubDate>Tue, 12 Dec 2023 02:58:20 +0000</pubDate>
      <link>https://dev.to/whytrno/panduan-memulai-cepat-laravel-39jg</link>
      <guid>https://dev.to/whytrno/panduan-memulai-cepat-laravel-39jg</guid>
      <description>&lt;h2&gt;
  
  
  Komponen penting Laravel ada 3, yaitu (MVC):
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;M (Model)
Merupakan jembatan antara database dengan controller, model juga dapat berisi relasi antar tabel (misalnya tabel user dengan produk), dan konfigurasi tabel (misalnya kolom apa saja yang boleh diinputkan dan kolom apa saja yang tidak boleh diinputkan)&lt;/li&gt;
&lt;li&gt;V (View)
Merupakan file yang berisi html untuk menampilkan website nya&lt;/li&gt;
&lt;li&gt;Controller
Merupakan file yang berisikan logika dari setiap url yang ada, misalnya url domain.com/api/siswa menggunakan controller SiswaController dengan fungsi index, yang berarti logika apa yang akan di tampilkan pada domain.com/siswa akan berada di SiswaController pada fungsi index
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---LegH_8---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6k3mjwxa356xtivhcjqc.png" alt="Route example" width="800" height="261"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Pada Laravel setiap route menggunakan Http Method
&lt;/h2&gt;

&lt;p&gt;Setiap route pada laravel menggunakan http method, seperti Get, Post, Put, atau Delete&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;GET (Digunakan untuk mengambil/menampilkan data)&lt;/li&gt;
&lt;li&gt;POST (Digunakan untuk mengirim/memasukan data)&lt;/li&gt;
&lt;li&gt;PUT (Digunakan untuk mengupdate data)&lt;/li&gt;
&lt;li&gt;DELETE (Digunakan untuk menghapus data)
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1N8Seeja--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ni5zhre25zw8a330udxm.png" alt="CRUD" width="800" height="159"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Alur pembuatan endpoint/url pada laravel
&lt;/h2&gt;

&lt;p&gt;Misalnya kita ingin membuat url seperti ini domain.com/api/siswa dan kita ingin menampilkan seluruh data siswa pada endpoint/url tersebut.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Konfigurasi database (Jika menggunakan mongodb, pada note satunya)&lt;/li&gt;
&lt;li&gt;Buat &lt;strong&gt;Model&lt;/strong&gt; (untuk mengatur tabel) dan &lt;strong&gt;Controller&lt;/strong&gt; (untuk menyimpan logic pada endpoint/url) terlebih dahulu.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   // membuat model dengan nama siswa dan controller
   // option -c akan membuat controller dengan nama SiswaController
   php artisan make:model Siswa -c

   dan model akan di simpan pada App\Models
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Konfigurasi &lt;strong&gt;Model&lt;/strong&gt; agar dapat digunakan
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2OyT4sSx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/80aggjz25zuxpkic9twa.png" alt="Model Configuration" width="800" height="559"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   1. jika menggunakan mongodb, maka harus import
   use MongoDB\Laravel\Eloquent\Model;

   2. lalu atur collection mana yang akan digunakan (jika menggunakan mongodb)
   (collection seperti tabel, jadi nanti model Siswa akan memasukan data ke dalaman collection apa, pada code di atas, model Siswa akan menyimpan data pada collection siswas

   3. Lalu kita pilih kolom mana yang akan kita lindungi (lindungi maksudnya agar user tidak bisa memasukan data pada kolom tersebut) pada code di atas, kolom yang dilindugi adalah kolom _id. Jika kita menggunakan 
   protected $guarded
   berarti user dapat mengisi pada kolom sisanya (misalnya ada kolom _id, nama, kelas, alamat, maka user tidak boleh mengisi kolom _id, dan kolom sisanya (nama, kelas, alamat) itu boleh diisi oleh user)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Setelah itu langkah selanjutnya adalah membuat route, karena kita akan membuat API sehingga kita membuat route pada file routes/api.php
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   // Berikut untuk contoh route nya
   Route::get('get-all-siswa-data', [SiswaController::class, 'getAllUserData');
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Dengan route tersebut, sehingga nanti akan menghasilkan endpoint/url&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   domain.com/api/get-all-siswa-data
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Lalu selanjutnya ketika kita mengakses url/endpoint tersebut, maka akan error&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   method getAllSiswaData not found
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ini dikarenakan pada controller yang dituju (SiswaController) itu tidak ada fungsi/method getAllSiswaData, selanjutnya kita mencoba membuat fungsi tersebut pada controller&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Controller harusnya sudah ikut terbuat pada langkah sebelumnya, sehingga kita bisa membuka controller pada folder
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   App\Http\Controllers
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Lalu buka SiswaController.php, lalu kita buat fungsi getAllSiswaData, sehingga code nya menjadi seperti berikut&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hJsvToG3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kcux7069nsc32uxuspt1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hJsvToG3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kcux7069nsc32uxuspt1.png" alt="Controller read" width="634" height="678"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>webdev</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>(Part 2) Membuat CRUD sederhana menggunakan Node Js, Express Js, Prisma, dan PostgreSQL</title>
      <dc:creator>Wahyu Triono</dc:creator>
      <pubDate>Sun, 13 Nov 2022 08:43:44 +0000</pubDate>
      <link>https://dev.to/whytrno/membuat-crud-sederhana-menggunakan-node-js-express-js-prisma-dan-postgresql-part-2-16k2</link>
      <guid>https://dev.to/whytrno/membuat-crud-sederhana-menggunakan-node-js-express-js-prisma-dan-postgresql-part-2-16k2</guid>
      <description>&lt;p&gt;Setelah kita berhasil mempersiapkan project dan tabel kita, selanjutnya kita akan membuat function CRUD yang nantinya digunakan pada router kita.&lt;/p&gt;

&lt;h2&gt;
  
  
  Membuat controller
&lt;/h2&gt;

&lt;p&gt;Pertama yang akan kita lakukan adalah membuat controller yang akan kita letakan pada folder controllers, dan buat file dengan nama userController.js pada folder controllers&lt;/p&gt;

&lt;h3&gt;
  
  
  Membuat fungsi getAllData
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Setelah itu masukan kode berikut pada userController.js
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { PrismaClient } from "@prisma/client";

const prisma = new PrismaClient

export const getAllData = async (req, res) =&amp;gt; {
    try {
        const user = await prisma.user.findMany()

        res.status(200).json({
            status: 'Success',
            data: user
        })
    } catch (error) {
        res.status(500).json({
            status: 'error',
            message: error
        })
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;fungsi getAllData akan melakukan proses mendapatkan semua data dengan menggunakan prisma.user.findMany(), dan mengirimkan response json dengan status 200&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Setelah itu kita buka routes/users.js, lalu ubah menjadi berikut
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import express from 'express'
import { getAllData } from '../controllers/userController.js'
let router = express.Router()

router.get('/', getAllData)

export default router
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;yang pertama kita lakukan adalah melakukan import fungsi getAllData pada userController.js, lalu kita gunakan pada router.get('/', getAllData) yang berarti ketika kita mengunjungi route localhost:3000/users/ maka system akan menjalankan fungsi getAllData.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Buka terminal lalu jalankan command berikut untuk menjalankan project
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Lalu buka postman atau insomnia, disini saya menggunakan insomnia. Dan buat request collection baru&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--N5MULOix--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5ce36lbbwt5mjqj5c0mz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--N5MULOix--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5ce36lbbwt5mjqj5c0mz.png" alt="insomnia" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Setelah itu tambahkan HTTP Request&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9uASFf9D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/awqh7v6x99akeh7cem99.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9uASFf9D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/awqh7v6x99akeh7cem99.png" alt="Insomnia GET" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lalu atur seperti berikut&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Gvv0zTim--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5jb5mn30wi07iy6qbetb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Gvv0zTim--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5jb5mn30wi07iy6qbetb.png" alt="Get insomnia" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lalu tekan sent&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CXk-aoMl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bblzrpjszjrypapvsy6j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CXk-aoMl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bblzrpjszjrypapvsy6j.png" alt="Fungsi get" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
Jika tampilan insomnia kalian sama dengan saya, maka fungsi get pertama anda berhasil dibuat, sehingga anda sudah menyelesaikan salah satu fungsi CRUD, yaitu Read.&lt;/p&gt;

&lt;h3&gt;
  
  
  Membuat fungsi create
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Kita buka kembali file userController.js, lalu tambahkan fungsi create seperti berikut:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export const getAllData = async (req, res) =&amp;gt; {
    try {
        const user = await prisma.user.findMany()

        res.status(200).json({
            status: 'Success',
            data: user
        })
    } catch (error) {
        res.status(500).json({
            status: 'error',
            message: error
        })
    }
}

export const create = async (req, res) =&amp;gt; {
    try {
        await prisma.user.create({
            data: {
                email: req.body.email,
                name: req.body.name
            }
        })

        res.status(200).json({
            status: 'success',
            message: 'Successfully insert user data'
        })
    } catch (error) {
        res.status(500).json({
            status: 'error',
            message: error
        })
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Lalu buka file routes/users.js, lalu tambahkan code
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;router.post('/', create)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;dan pada bagian import userController.js pada file users.js tambahkan create&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Lmwk8rxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rbvlbdqseot9ub0kke0z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Lmwk8rxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rbvlbdqseot9ub0kke0z.png" alt="create" width="800" height="213"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lalu pada insomnia atau postman, tambahkan HTTP Request baru dengan endpoint &lt;a href="http://localhost:3000/users"&gt;http://localhost:3000/users&lt;/a&gt; dengan method POST dan tambahkan request email dan name, lalu click send&lt;/li&gt;
&lt;li&gt;Jika tampilan postman seperti dibawah, maka fungsi create anda berhasil dan anda sudah menyelesaikan 2 fungsi CRUD yaitu Create dan Read&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--evIy7bh7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eur9dn4eh2lpjsrx9ff1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--evIy7bh7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eur9dn4eh2lpjsrx9ff1.png" alt="Insomnia create" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Untuk memastikan data sudah masuk kedalam database, anda dapat membuka HTTP Request sebelumnya pada endpoint &lt;a href="http://localhost:3000/users"&gt;http://localhost:3000/users&lt;/a&gt; dengan method GET&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qVD1zezj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0ukxji45nsg4lz9gvmd3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qVD1zezj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0ukxji45nsg4lz9gvmd3.png" alt="Insomnia check user" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Membuat fungsi update
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Buka file userController.js, lalu tambahkan fungsi update seperti berikut:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export const update = async (req, res) =&amp;gt; {
    const checkNumber = !isNaN(req.params.id)

    if (!checkNumber) {
        throw 'Please enter valid number'
    }

    const id = parseInt(req.params.id)

    try {
        await prisma.user.update({
            where: {
                id: id
            },
            data: {
                email: req.body.email,
                name: req.body.name
            }
        })

        res.status(200).json({
            status: 'success',
            message: 'Successfully update user data'
        })
    } catch (error) {
        res.status(500).json({
            status: 'error',
            message: error
        })
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Setelah itu buka file routes/users.js, dan tambahkan endpoint baru seperti berikut:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;router.put('/:id', update)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;dan juga jangan lupa import fungsi update, agar tidak error. Sehingga keseluruhan code pada file users.js adalah seperti berikut:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nNYAEVr4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k23aiea8cnrezmk027r8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nNYAEVr4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k23aiea8cnrezmk027r8.png" alt="update func" width="800" height="241"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Buka aplikasi insomnia atau postman, lalu tambahkan HTTP Request, dan masukan endpoint &lt;a href="http://localhost/users/1"&gt;http://localhost/users/1&lt;/a&gt; dengan method PUT, dan masukan response&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Jika tampilan kalian sama seperti gambar dibawah, maka fungsi update dapat berjalan dengan normal&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xLgQ1XfZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dtajyrzljhxba3rqddnt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xLgQ1XfZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dtajyrzljhxba3rqddnt.png" alt="update test" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Untuk melihat apakah data benar benar berhasil di update, kalian dapat membuka endpoint get sebelumnya, maka data sudah di ubah&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JzCFuOMw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lcglp1pulfd2oe2okqso.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JzCFuOMw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lcglp1pulfd2oe2okqso.png" alt="updated user" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Membuat fungsi deleteUser
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Ini merupakan fungsi terakhir kita. Buka file userController.js lalu tambahkan fungsi deleteUser seperti berikut:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export const deleteUser = async (req, res) =&amp;gt; {
    const checkNumber = !isNaN(req.params.id)

    if (!checkNumber) {
        throw 'Please enter valid number'
    }

    const id = parseInt(req.params.id)

    try {
        await prisma.user.delete({
            where: {
                id: id,
            }
        })

        res.status(200).json({
            status: 'success',
            message: 'Successfully delete user data'
        })
    } catch (error) {
        res.status(500).json({
            status: 'error',
            message: error
        })
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Setelah itu, buka file routes/users.js dan import deleteUser function dan tambahkan baris baru dibawah endpoint terakhir, seperti berikut:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;router.delete('/:id', deleteUser)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Sehingga total keseluruhan code file users.js adalah seperti berikut&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--U3nGxNIk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rux5e7q1k0bvwk5h7pjx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--U3nGxNIk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rux5e7q1k0bvwk5h7pjx.png" alt="user full" width="800" height="213"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Setelah itu, coba jalankan endpoint &lt;a href="http://localhost:3000/users/1"&gt;http://localhost:3000/users/1&lt;/a&gt; dengan method DELETE pada insomnia atau postman&lt;/li&gt;
&lt;li&gt;Jika tampilan insomnia kalian sama dengan gambar dibawah, maka fungsi deleteUser kalian berhasil&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XCrs4AxN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vbas43l52eg1cepwllap.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XCrs4AxN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vbas43l52eg1cepwllap.png" alt="success delete" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Selanjutnya silahkan cek endpoint GET, apakah data user sudah terhapus atau belum.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9HDmcmCC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qnsb52n67lz8okp7k9g8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9HDmcmCC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qnsb52n67lz8okp7k9g8.png" alt="success delete 2" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
Jika tampilan sama dengan gambar di atas, maka data user anda sudah berhasil di hapus.&lt;/p&gt;

&lt;h3&gt;
  
  
  Penutup
&lt;/h3&gt;

&lt;p&gt;Terimakasih banyak karena sudah membaca dan mengikuti tutorial ini, kalian dapat mengunduh source code part 2 ini &lt;a href="https://github.com/whytrno/dev.to-crud-prisma/tree/part2"&gt;disini&lt;/a&gt;, atau jika anda ingin mengunduh seluruh source code, kalian dapat mengunduhnya &lt;a href="https://github.com/whytrno/dev.to-crud-prisma"&gt;disini&lt;/a&gt;&lt;/p&gt;

</description>
      <category>node</category>
      <category>prisma</category>
      <category>postgres</category>
      <category>express</category>
    </item>
    <item>
      <title>(Part 1) Membuat CRUD sederhana menggunakan Node Js, Express Js, Prisma, dan PostgreSQL</title>
      <dc:creator>Wahyu Triono</dc:creator>
      <pubDate>Sun, 13 Nov 2022 08:41:39 +0000</pubDate>
      <link>https://dev.to/whytrno/membuat-crud-sederhana-menggunakan-node-js-express-js-prisma-dan-postgresql-3nhl</link>
      <guid>https://dev.to/whytrno/membuat-crud-sederhana-menggunakan-node-js-express-js-prisma-dan-postgresql-3nhl</guid>
      <description>&lt;h2&gt;
  
  
  Persiapan
&lt;/h2&gt;

&lt;p&gt;Sebelum kita mulai membuat CRUD sederhana ini, kalian diharuskan sudah menginstall beberapa alat yang akan digunakan, berikut adalah alatnya:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://nodejs.org/en/"&gt;Node Js&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.postgresql.org/download/"&gt;PostgreSQL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.postman.com/downloads/"&gt;Postman&lt;/a&gt; atau &lt;a href="https://insomnia.rest/download"&gt;Insomnia&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Pembuatan Program
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Install express generator
&lt;/h3&gt;

&lt;p&gt;Setelah anda sudah mempersiapkan alat yang digunakan, yang pertama kalian lakukan adalah menginstall express generator, dimana nanti kita akan menggunakan express generator agar kita tidak perlu mengkonfigurasi server atau hal lainnya, karena itu akan ditangani oleh express generator tersebut.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Jalankan command berikut pada terminal kalian
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install -g express-generator
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Setelah selesai, coba kalian jalankan command berikut pada terminal kalian
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;express -h
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Jika terminal menampilkan seperti berikut, maka express generator kalian berhasil diinstal&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UtVCVHt6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ou7myv6mqbk2ecetliqc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UtVCVHt6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ou7myv6mqbk2ecetliqc.png" alt="Install express" width="800" height="371"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Setelah express generator berhasil diinstall, sekarang kita persiapkan folder dengan nama bebas yang digunakan untuk menampung projek kita nantinya, setelah itu buka terminal pada folder tersebut dan jalankan perintah berikut
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;express --no-view --git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mawNdgeA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ti0s24x9ljg5orv5xn9t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mawNdgeA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ti0s24x9ljg5orv5xn9t.png" alt="Success install express" width="757" height="468"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;--no-view digunakan untuk membuat project express generator tanpa view, karena disini kita akan membuat backend untuk Rest Api&lt;br&gt;
--git digunakan untuk membuat git ignore agar saat nanti kita push kedalam github, file atau folder yang tidak penting akan tidak ikut ter push ke dalam repositori&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Setelah itu buka vscode atau code editor lainnya pada project tersebut, jika anda menggunakan vscode, kalian dapat membuka project tersebut melalui command berikut
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;code .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Menginstall package yang diperlukan
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Setelah project berhasil dibuka, maka tampilannya adalah seperti berikut
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--477fRVjf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2vgjfj7hbj9uhojl58kh.png" alt="Project pertama dibuka" width="800" height="450"&gt;
&lt;/li&gt;
&lt;li&gt;Setelah itu install beberapa package, menggunakan command berikut
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm i nodemon prisma @prisma/client
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;npm i merupakan perintah yang digunakan untuk menginstall package node, npm i juga merupakan kependekan dari npm install&lt;br&gt;
&lt;strong&gt;nodemon&lt;/strong&gt; merupakan package node yang digunakan untuk melakukan refresh server pada setiap perubahan code yang dilakukan&lt;br&gt;
&lt;strong&gt;prisma&lt;/strong&gt; merupakan package node ORM (Object Relational Mapping) yang mempermudah kita para developer dalam berinteraksi dengan database&lt;br&gt;
&lt;strong&gt;@prisma/client&lt;/strong&gt; merupakan package node tambahan dari prisma agar kita bisa menggunakan perintah tambahan dari prisma seperti prisma studio&lt;/p&gt;

&lt;h3&gt;
  
  
  Mengubah project menjadi ES6
&lt;/h3&gt;

&lt;p&gt;Pada project ini, saya menggunakan ES6 untuk mempermudah developing saya&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pada file package.json, tambahkan baris berikut
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"type": "module",
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Sehingga akan menjadi seperti berikut&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--A7RRNViT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/viyb5glkwa92sjevwo7b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A7RRNViT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/viyb5glkwa92sjevwo7b.png" alt="Ubah ke module" width="541" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ubah nama file www pada folder bin menjadi &lt;a href="http://www.js"&gt;www.js&lt;/a&gt;, dan ubah isinya menjadi ES6
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--od_ln53z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pyadtje2wjo1mwwi967c.png" alt="ubah www jadi es6" width="800" height="450"&gt;
&lt;/li&gt;
&lt;li&gt;Ubah file app.js menjadi ES6 seperti berikut
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import express from 'express'
import path from 'path'
import cookieParser from 'cookie-parser'
import logger from 'morgan'
import { fileURLToPath } from 'url'

import indexRouter from './routes/index.js'
import usersRouter from './routes/users.js'

var app = express();

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());

const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
app.use(express.static(path.join(__dirname, '../public')));

app.use('/', indexRouter);
app.use('/users', usersRouter);

export default app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Ubah folder router file index.js dan users.js menjadi seperti berikut
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import express from 'express'
let router = express.Router()

/* GET home page. */
router.get('/', function (req, res, next) {
  res.render('index', { title: 'Express' });
});

export default router
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Pada package.json ubah key scripts menjadi seperti berikut
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  "scripts": {
    "start": "node ./bin/www.js",
    "dev": "nodemon ./bin/www.js"
  },
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0w2gPLRx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nkshusxk2j53ljo9hl3g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0w2gPLRx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nkshusxk2j53ljo9hl3g.png" alt="Package json es6" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Jalankan project pada terminal menggunakan command berikut
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Buka browser dan buka localhost:3000, jika tampilannya adalah seperti berikut, maka project anda berhasil diubah menjadi ES6&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UYujElwu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vutgbdwm78kym60t2ux0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UYujElwu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vutgbdwm78kym60t2ux0.png" alt="first run" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kalian jangan bingung dahulu, intinya ES6 dapat mempermudah kita dalam melakukan developing pada project javascript&lt;/p&gt;

&lt;h3&gt;
  
  
  Persiapan prisma
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Jalankan command berikut pada terminal kalian
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx prisma init --datasource-provider postgresql
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;setelah menjalankan perintah tersebut, seharusnya akan generate file baru&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Pada folder prisma dengan nama schema.prisma&lt;/li&gt;
&lt;li&gt;File .env pada folder root&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Yr2Pw-IO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lumhc3epsnfhhma7xlj0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Yr2Pw-IO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lumhc3epsnfhhma7xlj0.png" alt="Generate file baru dengan nama schema.prisma" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Setelah itu, pahami file schema.prisma. Disitu tertera url  = env("DATABASE_URL"), yang berarti url database diambil dari file env, agar mengamankan autentikasi database kita. Lalu kita buka file .env pada folder root, lalu ubah database url menggunakan kredensial postgresql anda
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;postgresql://username:password@host/nama-database?schema=public
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;prisma akan otomatis membuat database, sehingga kita tidak perlu membuat database secara manual pada postgres&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sIhrF_y5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/21jzeb2nqmlmz24gibl8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sIhrF_y5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/21jzeb2nqmlmz24gibl8.png" alt="Setting postgresql" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Setelah kita mengubah database url pada file .env, selanjutnya kita buka lagi file schema.prisma, lalu tambahkan kode berikut pada akhir code
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;model User {
  id    Int     @id @default(autoincrement())
  email String  @unique
  name  String?
  posts Post[]
}

model Post {
  id        Int     @id @default(autoincrement())
  title     String
  content   String?
  published Boolean @default(false)
  author    User    @relation(fields: [authorId], references: [id])
  authorId  Int
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;model User&lt;/strong&gt; berarti kita akan membuat tabel User dengan ketentuan berikut&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;id tipe data Int dan merupakan id(primary key) dan default value nya adalah autoincrement, yang berarti setiap data baru maka nilai id akan ditambah&lt;/li&gt;
&lt;li&gt;email tipe data string dan merupakan unique, sehingga pada tabel user ini, tidak boleh ada data email yang sama&lt;/li&gt;
&lt;li&gt;name tipe data string dan terdapat tanda "?", yang berarti kolom ini optional sehingga boleh diisi dan juga boleh kosong&lt;/li&gt;
&lt;li&gt;posts Post[], berarti kolom posts ini adalah relasi kedalam tabel Post dan memiliki relasi 1 to Many. Jika anda ingin membaca mengenai relasi, kalian dapat membaca &lt;a href="https://www.prisma.io/docs/concepts/components/prisma-schema/relations"&gt;disini&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Selanjutnya, untuk penjelasan model Post kalian dapat membaca &lt;a href="https://www.prisma.io/docs/getting-started/quickstart"&gt;disini&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;File schema.prisma merupakan file yang berisikan konfigurasi untuk menyambungkan ke database dan juga berisikan model model yang digunakan untuk membuat tabel. Setelah itu jalankan command berikut untuk melakukan migrate
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx prisma migrate dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Setelah itu masukan nama migrate yang kalian inginkan, misalnya create_user_and_post_table, setelah itu tekan enter&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Setelah melakukan migrate, seharusnya tabel telah dibuat pada database kita. Kita dapat mengecek apakah tabel sudah berhasil dibuat atau belum dengan membuka terminal baru lalu jalankan command berikut
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx prisma studio
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;tunggu sampai proses selesai, lalu prisma akan membuka browser otomatis untuk menampilkan data pada database kita&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--G7Ln0Hhq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nu3kc2kwgq2i40kb3sc8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--G7Ln0Hhq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nu3kc2kwgq2i40kb3sc8.png" alt="Prisma studio" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
Lalu coba klik pada user, maka akan menampilkan data pada tabel user&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WFNQrn8C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ta91u1qe9wpo9vrf49ou.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WFNQrn8C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ta91u1qe9wpo9vrf49ou.png" alt="Prisma studio user model" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Penutup
&lt;/h3&gt;

&lt;p&gt;Kita telah berhasil mempersiapkan project kita, dan juga membuat tabel menggunakan bantuan prisma melalui file schema.prisma. Selanjutnya kita akan membuat fungsi CRUD menggunakan prisma.&lt;br&gt;
Jika kalian terdapat kesusahan dalam mengikuti tutorial ini, kalian dapat mengunduh source code part 1 ini &lt;a href="https://github.com/whytrno/dev.to-crud-prisma/tree/part1"&gt;disini&lt;/a&gt;&lt;/p&gt;

</description>
      <category>node</category>
      <category>prisma</category>
      <category>postgres</category>
      <category>express</category>
    </item>
    <item>
      <title>Konfigurasi database pada hosting</title>
      <dc:creator>Wahyu Triono</dc:creator>
      <pubDate>Sat, 23 Jul 2022 05:39:01 +0000</pubDate>
      <link>https://dev.to/whytrno/konfigurasi-database-pada-hosting-5c05</link>
      <guid>https://dev.to/whytrno/konfigurasi-database-pada-hosting-5c05</guid>
      <description>&lt;p&gt;Jika sebelumnya kita telah melakukan deployment projek kita (&lt;a href="https://dev.to/whytrno/cara-agar-projek-kita-dapat-diakses-melalui-domain-2455"&gt;Cara agar projek kita dapat diakses melalui domain&lt;/a&gt;), sekarang kita akan melakukkan konfigurasi database pada hosting.&lt;/p&gt;

&lt;p&gt;Setelah kalian berhasil login ke dalam dashboard hosting, kalian pilih &lt;strong&gt;MySQL Management&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Setting database pada Hosting&lt;/em&gt;&lt;br&gt;
Lalu kalian pilih create new database&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NcJ5moLF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k57fxs0lah4dm07s8s3r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NcJ5moLF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k57fxs0lah4dm07s8s3r.png" alt="Image description" width="800" height="165"&gt;&lt;/a&gt;&lt;br&gt;
Lalu kalian isi form yang tersedia&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--F6n-TD0x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gngl54rxyzvhlqe8mwol.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--F6n-TD0x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gngl54rxyzvhlqe8mwol.png" alt="Image description" width="800" height="161"&gt;&lt;/a&gt;&lt;br&gt;
Lalu kita kembali ke dashboard, lalu pilih &lt;strong&gt;PHPMyadmin&lt;/strong&gt;, dan masukkan username dan password yang telah kita buat tadi &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yyEd9XW---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l3qwyv1it6g8ug5g8mz8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yyEd9XW---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l3qwyv1it6g8ug5g8mz8.png" alt="Image description" width="440" height="161"&gt;&lt;/a&gt;&lt;br&gt;
Lalu pada bagian berikutnya, kalian click pada database kalian&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cVLUpthY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1jpuvk13qqiga7nkxxk7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cVLUpthY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1jpuvk13qqiga7nkxxk7.png" alt="Image description" width="800" height="184"&gt;&lt;/a&gt;&lt;br&gt;
Setelah itu click import pada bagian atas&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aR8jnDJC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yf3jbqtgdoyqds4scs4y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aR8jnDJC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yf3jbqtgdoyqds4scs4y.png" alt="Image description" width="800" height="235"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Export database pada lokal&lt;/em&gt;&lt;br&gt;
Okey sebelum kita lanjut pada proses selanjutnya, kita buka xampp/wampp kita dahulu dan nyalakan Apaceh dan Mysql. Disini saya menggunakan wampp, tapi dalam penggunaan sama.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GFDTOwG4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zfjdtni7yywkwzp88iml.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GFDTOwG4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zfjdtni7yywkwzp88iml.png" alt="Image description" width="301" height="374"&gt;&lt;/a&gt;&lt;br&gt;
Setelah itu kalian masuk ke dalam PHPMyadmin kalian dengan memasuki link berikut &lt;a href="http://localhost/phpmyadmin"&gt;http://localhost/phpmyadmin&lt;/a&gt;&lt;br&gt;
Lalu kita pilih database yang ingin kita gunakan, lalu pilih export pada bagian atas&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pc6Eo1VF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cvq81iemp6q37u84cpq7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pc6Eo1VF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cvq81iemp6q37u84cpq7.png" alt="Image description" width="689" height="426"&gt;&lt;/a&gt;&lt;br&gt;
Setelah itu click &lt;strong&gt;Go&lt;/strong&gt; pada bagian kanan. Pada proses ini seharusnya kalian akan melakukan download file database kalian.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Memasukan database ke dalam hosting&lt;/em&gt;&lt;br&gt;
Setelah kita berhasil export database pada lokal, selanjutnya kita kembali pada PHPMyadmin pada hosting. Dan click &lt;strong&gt;Choose file&lt;/strong&gt;, lalu pilih database yang telah kita export sebelumnya.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--X3GRhu8u--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bi2z7kpolyal3bq1ec5l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--X3GRhu8u--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bi2z7kpolyal3bq1ec5l.png" alt="Image description" width="800" height="410"&gt;&lt;/a&gt;&lt;br&gt;
Setelah berhasil, sekarang kita setting file koneksi kita. Kembali ke dashboard lalu pilih &lt;strong&gt;File Manager&lt;/strong&gt;, lalu masuk ke folder public_html pada domain kita&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--In0ziati--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h4eo67jyb9bno4jicqrd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--In0ziati--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h4eo67jyb9bno4jicqrd.png" alt="Image description" width="605" height="607"&gt;&lt;/a&gt;&lt;br&gt;
Setelah itu kita edit file koneksi kita, disini file koneksi saya adalah koneksi.php&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--D1Yv9jkl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qc9ggrb425opxy10pr29.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--D1Yv9jkl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qc9ggrb425opxy10pr29.png" alt="Image description" width="536" height="471"&gt;&lt;/a&gt;&lt;br&gt;
Pada edit ini, kita masukan username, password, dan database yang telah kita buat sebelumnya pada hosting kita.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HJcQGtP3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o63vuxftyhkvf5iuxx5e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HJcQGtP3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o63vuxftyhkvf5iuxx5e.png" alt="Image description" width="672" height="356"&gt;&lt;/a&gt;&lt;br&gt;
Lalu kita simpan, dan cek website kita apakah sudah bisa mengakses database.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cdBX_kt3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/px9ynag5f3qgrpqrm7mf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cdBX_kt3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/px9ynag5f3qgrpqrm7mf.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Cara agar projek kita dapat diakses melalui domain</title>
      <dc:creator>Wahyu Triono</dc:creator>
      <pubDate>Sat, 23 Jul 2022 05:21:00 +0000</pubDate>
      <link>https://dev.to/whytrno/cara-agar-projek-kita-dapat-diakses-melalui-domain-2455</link>
      <guid>https://dev.to/whytrno/cara-agar-projek-kita-dapat-diakses-melalui-domain-2455</guid>
      <description>&lt;p&gt;Jika kalian belum menghubungkan domain pada hosting kalian bisa mengikuti tutorial berikut : &lt;a href="https://dev.to/whytrno/cara-menghubungkan-domain-dengan-hosting-untuk-tugas-dpw-f18"&gt;Cara menghubungkan domain ke hosting&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Setelah kita berhasil menghubungkan domain ke dalam hosting, selanjutnya kita akan memasukan projek kita agar dapat di akses melalui domain. Berikut adalah caranya:&lt;br&gt;
&lt;strong&gt;Login ke dalam dashboard hosting&lt;/strong&gt; setelah berhasil login ke dalam dashboard, kalian pilih file manager.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--86SWpD6K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bh6ckzq6c21yep6pl86p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--86SWpD6K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bh6ckzq6c21yep6pl86p.png" alt="Image description" width="628" height="179"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Memasukkan projek&lt;/strong&gt;, pada bagian ini kalian pilih domain&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yGBCV4Hu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8fsf1657im5fz3kv3qdq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yGBCV4Hu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8fsf1657im5fz3kv3qdq.png" alt="Image description" width="536" height="534"&gt;&lt;/a&gt;&lt;br&gt;
Lalu masuk ke dalam folder berikut&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xLtIlp09--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kllfyczdihdz6kzwx8ev.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xLtIlp09--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kllfyczdihdz6kzwx8ev.png" alt="Image description" width="525" height="603"&gt;&lt;/a&gt;&lt;br&gt;
Lalu kalian klik upload pada bagian sidebar&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Qd0YdVpa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oqtnn7awkzrqwc8lfrpv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Qd0YdVpa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oqtnn7awkzrqwc8lfrpv.png" alt="Image description" width="82" height="367"&gt;&lt;/a&gt;&lt;br&gt;
Lalu upload file zip projek kalian, jika sudah kalian extract file tersebut&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hi7mNMGo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h5oq69f46kh4zkd0eugh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hi7mNMGo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h5oq69f46kh4zkd0eugh.png" alt="Image description" width="533" height="240"&gt;&lt;/a&gt;&lt;br&gt;
Lalu kalian hapus file index.html&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DF_LVz5X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yy7uogu0xqukx25jlted.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DF_LVz5X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yy7uogu0xqukx25jlted.png" alt="Image description" width="554" height="460"&gt;&lt;/a&gt;&lt;br&gt;
Setelah itu, cek domain kalian apakah projek kalian sudah berubah atau belum.  &lt;/p&gt;

&lt;p&gt;Lalu selanjutnya kita akan konfigurasi database pada hosting, kalian dapat membaca nya pada link berikut: &lt;a href="https://dev.to/whytrno/konfigurasi-database-pada-hosting-5c05"&gt;Konfigurasi database pada hosting&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Cara menghubungkan domain dengan hosting untuk tugas DPW</title>
      <dc:creator>Wahyu Triono</dc:creator>
      <pubDate>Sat, 23 Jul 2022 05:10:00 +0000</pubDate>
      <link>https://dev.to/whytrno/cara-menghubungkan-domain-dengan-hosting-untuk-tugas-dpw-f18</link>
      <guid>https://dev.to/whytrno/cara-menghubungkan-domain-dengan-hosting-untuk-tugas-dpw-f18</guid>
      <description>&lt;p&gt;Agar domain kita dapat diakses, kita harus menyambungkan domain yang sudah ada dengan hosting yang tersedia. Untuk melakukannya gunakan cara berikut:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Membeli domain&lt;/strong&gt; disini saya membeli domain pada &lt;a href="https://www.hoster.co.id/"&gt;hoster.co.id&lt;/a&gt;.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BmzJ2Zid--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p2cfg3o4lw2nilaj7nfd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BmzJ2Zid--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p2cfg3o4lw2nilaj7nfd.png" alt="Image description" width="800" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setting hosting&lt;/strong&gt;, yang pertama kita lakukan setelah membeli domain, kita harus login ke hosting yang telah di berikan oleh Pak Ariq.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---72CZUbH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r8aqa91b274pkxvf9x4p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---72CZUbH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r8aqa91b274pkxvf9x4p.png" alt="Image description" width="657" height="684"&gt;&lt;/a&gt;&lt;br&gt;
Setelah kalian login dan berhasil masuk ke dalam dashboard, kalian pilih &lt;strong&gt;Domain setup&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wCG3RHdF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2qrh7gf1i4vuxlrwu6q8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wCG3RHdF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2qrh7gf1i4vuxlrwu6q8.png" alt="Image description" width="800" height="196"&gt;&lt;/a&gt;&lt;br&gt;
Setelah itu kalian ikuti langkah berikut ini:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Add new&lt;/li&gt;
&lt;li&gt;Lalu isi form yang ada
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--W2RhzdN5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2r337fj2neilmtvjrv03.png" alt="Image description" width="800" height="176"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Setting domain&lt;/strong&gt;, setelah setting hosting berhasil, kalian kembali ke dashboard lalu pilih &lt;strong&gt;DNS Management&lt;/strong&gt;.&lt;br&gt;
Jika sudah dibuka, maka akan terdapat DNS baru seperti berikut&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qUo5Ud8x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iwakx1ialcloctd1pbxt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qUo5Ud8x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iwakx1ialcloctd1pbxt.png" alt="Image description" width="800" height="278"&gt;&lt;/a&gt;&lt;br&gt;
Lalu perhatikan pada data desabanteran.my.id dengan tipe NS, kita akan gunakan NS (Name Server) tersebut untuk menghubungkan domain dengan hosting.&lt;br&gt;
Kembali pada domain anda, silahkan atur nameserver sesuai pada data tadi, seperti berikut&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nCb0rsWN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3zt5cjxo5v086pcjte9p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nCb0rsWN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3zt5cjxo5v086pcjte9p.png" alt="Image description" width="800" height="631"&gt;&lt;/a&gt;&lt;br&gt;
Setelah itu tunggu beberapa menit hingga terhubung, kalian bisa cek apakah sudah terhubung atau belum dengan memasuki domain kalian.   &lt;/p&gt;

&lt;p&gt;Untuk mengatur projek kalian agar dapat digunakan pada domain yang telah anda setting, kalian bisa lihat tutorialnya pada link berikut: &lt;a href="https://dev.to/whytrno/cara-agar-projek-kita-dapat-diakses-melalui-domain-2455"&gt;Cara mengakses projek kalian melalui domain&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Ekstension vscode terbaik menurut saya [penggunaan umum]</title>
      <dc:creator>Wahyu Triono</dc:creator>
      <pubDate>Thu, 30 Jun 2022 22:44:55 +0000</pubDate>
      <link>https://dev.to/whytrno/best-vscode-extension-in-my-opinion-penggunaan-umum-1gdf</link>
      <guid>https://dev.to/whytrno/best-vscode-extension-in-my-opinion-penggunaan-umum-1gdf</guid>
      <description>&lt;p&gt;Dalam penulisan code tentunya kita ingin dipermudah, misalnya kita lupa tentang syntax dan harus menjelajahi google untuk menemukan syntax yang kita inginkan atau kita harus mengurutkan baris kode secara manual agar terlihat rapi. Pada vscode terdapat banyak sekali extension yang sangat berguna dalam penulisan code kita, berikut adalah beberapa extension pada vscode yang menurut saya wajib dan selalu saya gunakan.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ekstension untuk penggunaan umum
&lt;/h2&gt;

&lt;h4&gt;
  
  
  1. Github Copilot
&lt;/h4&gt;

&lt;p&gt;Digunakan untuk automation code&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Database client
&lt;/h4&gt;

&lt;p&gt;Ekstension tersebut seperti phpmyadmin pada browser, tetapi kita dapat menggunakannya pada vscode&lt;/p&gt;

&lt;h4&gt;
  
  
  3. Auto close Tag &amp;amp; Auto rename tag
&lt;/h4&gt;

&lt;p&gt;Jika kalian masih manual menutup atau menamai suatu tag, kalian dapat menggunakane extension tersebut untuk otomatis mengubahnya&lt;/p&gt;

&lt;h4&gt;
  
  
  4. Bracket pair colorizer 2, Highlight Matching Tag &amp;amp; indent-rainbow
&lt;/h4&gt;

&lt;p&gt;Extension tersebut digunakan untuk menandai bracket atau kurung kurawal dan juga baris, agar kita tahu kurung kurawal tersebut menutup baris kode mana&lt;/p&gt;

&lt;h4&gt;
  
  
  5. Beautify
&lt;/h4&gt;

&lt;p&gt;Digunakan untuk merapikan baris kode yang berantakan, ekstension tersebut dapat digunakan dengan menggunakan shortcut ctrl+shift+p lalu ketik beautify file&lt;/p&gt;

&lt;h4&gt;
  
  
  6. Todo tree
&lt;/h4&gt;

&lt;p&gt;Berfungsi seperti bookmark, misalnya kita memiliki suatu bug pada code dan kita lupa bug tersebut berada pada file/line mana.&lt;br&gt;
Penggunaanya cukup simpel, kita hanya membuat command dan diawali dengan tab/label yang kita buat pada Todo tree, misalnya&lt;br&gt;
// BUG: Tidak bisa menambahkan user&lt;/p&gt;

&lt;h4&gt;
  
  
  7. Code runner
&lt;/h4&gt;

&lt;p&gt;Digunakan untuk menjalankan kode php, js, python dll&lt;/p&gt;

&lt;h4&gt;
  
  
  8. Color highlight
&lt;/h4&gt;

&lt;p&gt;Digunakan untuk menyorot warna, misalnya #fff maka akan disorot dengan warna putih&lt;/p&gt;

&lt;h4&gt;
  
  
  9. Css Peek
&lt;/h4&gt;

&lt;p&gt;Digunakan untuk menampilkan baris css pada class html&lt;/p&gt;

&lt;h4&gt;
  
  
  10. Project manager
&lt;/h4&gt;

&lt;p&gt;Digunakan untuk berpindah projek secara instant&lt;/p&gt;

&lt;h4&gt;
  
  
  11. Wakatime
&lt;/h4&gt;

&lt;p&gt;Digunakan untuk tracking kita dalam melakukan pemrograman&lt;/p&gt;

&lt;h4&gt;
  
  
  12. Color picker
&lt;/h4&gt;

&lt;p&gt;Digunakan untuk menampilkan widget pengambilan warna&lt;/p&gt;

&lt;h4&gt;
  
  
  13. Live server dan live server preview
&lt;/h4&gt;

&lt;p&gt;Digunakan untuk menampilkan file html secara live, sehingga jika terdapat perubahan, maka tampilan juga akan berubah&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>vscode</category>
      <category>programming</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Mengaktifkan debug panel pada LARAVEL</title>
      <dc:creator>Wahyu Triono</dc:creator>
      <pubDate>Wed, 22 Jun 2022 05:36:09 +0000</pubDate>
      <link>https://dev.to/whytrno/mengaktifkan-debug-panel-pada-laravel-43jd</link>
      <guid>https://dev.to/whytrno/mengaktifkan-debug-panel-pada-laravel-43jd</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rMlAegNM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/72va8nj1zionsgc9kc5v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rMlAegNM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/72va8nj1zionsgc9kc5v.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
Tidak seperti Code Igniter yang secara otomatis mengaktifkan debug panel, pada Laravel kita harus mengaktifkannya secara manual dengan menggunakan library yang telah dibuat oleh *&lt;em&gt;barryvdh *&lt;/em&gt; pada github nya, kalian dapat mengunjungi dokumentasi lengkapnya &lt;a href="https://github.com/barryvdh/laravel-debugbar"&gt;di sini&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Instalasi
&lt;/h2&gt;

&lt;p&gt;Buatlah projek laravel baru lalu ikuti langkah berikut:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Buka cmd lalu masukan perintah berikut composer require barryvdh/laravel-debugbar&lt;/li&gt;
&lt;li&gt;Setelah proses sebelumnya selesai, buka config/app.php dan edit bagian providers masukan kode berikut 
Barryvdh\Debugbar\ServiceProvider::class&lt;/li&gt;
&lt;li&gt;Lalu pada file yang sama edit pada bagian aliases masukan kode berikut 
'Debugbar' =&amp;gt; Barryvdh\Debugbar\Facade::class&lt;/li&gt;
&lt;li&gt;Setelah itu buka cmd lagi dan masukan perintah berikut
php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"&lt;/li&gt;
&lt;li&gt;Setelah proses instalasi selesai, sekarang coba jalankan projek laravel tersebut dengan menggunakan perintah php artisan serve pada cmd, dan masuk ke dalam url localhost:8000 pada browser. Jika debuger berhasil di instal, maka akan muncul panel debugger di bagaian bawah&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6grI3_Nx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k8dwqwb11o0ssqmf70c2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6grI3_Nx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k8dwqwb11o0ssqmf70c2.png" alt="Image description" width="800" height="207"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>laravel</category>
      <category>php</category>
      <category>programming</category>
    </item>
    <item>
      <title>Membuat CRUD sederhana dengan PHP</title>
      <dc:creator>Wahyu Triono</dc:creator>
      <pubDate>Fri, 17 Jun 2022 03:24:41 +0000</pubDate>
      <link>https://dev.to/whytrno/membuat-crud-sederhana-dengan-php-2178</link>
      <guid>https://dev.to/whytrno/membuat-crud-sederhana-dengan-php-2178</guid>
      <description>&lt;h2&gt;
  
  
  Persiapan Projek
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Siapkan XAMPP, Browser (Bebas), dan Code Editor (Disini saya menggunakan VS CODE)&lt;/li&gt;
&lt;li&gt;Buka Xampp lalu aktifkan Apache dan Mysql&lt;/li&gt;
&lt;li&gt;Setelah itu klik Explorer pada Xampp controll panel atau bisa juga masuk ke folder instalasi Xampp (Default folder = C:\Xampp), lalu masuk ke folder htdocs (Default folder = C:\Xampp\htdocs).&lt;/li&gt;
&lt;li&gt;Buat folder bernama CRUD&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Penjelasan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Apache dalam xampp digunakan untuk menjalankan file berekstensi php.&lt;br&gt;
Mysql digunakan dalam penyimpanan data yang nantinya digunakan dalam percobaan CRUD&lt;/p&gt;

&lt;p&gt;Dalam pembuatan projek PHP kita diharuskan membuatnya dalam folder htdocs agar dapat dijalankan.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Pembuatan database
&lt;/h2&gt;

&lt;p&gt;Setelah persiapan selesai dilakukan, selanjutnya masuk ke dalam fase pembuatan database. Silahkan buka aplikasi XAMPP lalu pada mysql, klik Admin. Setelah itu maka akan di alihkan ke browser yang membuka phpmyadmin, dimana phpmyadmin akan menjadi tempat kita membuat database, table dll.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Pertama buatlah database dengan klik new atau baru pada panel kiri lalu masukan nama database pada form yang disediakan, disini kita menggunakan nama database crud.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WMuFEcm8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1sx3rrbs8fat4jf339fo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WMuFEcm8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1sx3rrbs8fat4jf339fo.png" alt="Pembuatan database" width="800" height="307"&gt;&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Lalu pada database crud, buatlah tabel bernama user&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lR7Qp8UQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r8f2zle5t3onr1v469e1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lR7Qp8UQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r8f2zle5t3onr1v469e1.png" alt="Database berhasil dibuat" width="800" height="277"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Setelah itu buatlah beberapa kolom sehingga menjadi seperti berikut&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1ySLLAUI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/19jasc3taphon22v0142.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1ySLLAUI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/19jasc3taphon22v0142.png" alt="Pembuatan tabel" width="800" height="208"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Setelah itu klik simpan pada bagian bawah.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Database telah dibuat, selanjutnya kita akan membuat program CRUD pada code editor.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Penjelasan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Indeks PRIMARY dalam pembuatan kolom berfungsi untuk memberikan nilai yang unik pada setiap data/record yang disimpan, ini berguna untuk membedakan setiap data yang ada. Primary key juga digunakan dalam melakukan JOIN dalam database nantinya.&lt;/p&gt;

&lt;p&gt;Checkbox A_I berfungsi jika terdapat data baru, maka kolom id akan menambahkan atau melakukan increment dari nilai sebelumnya, misalnya terdapat data baru, maka id akan mengisi sendiri menjadi 1, jika terdapat data baru lagi, maka id data terbaru akan diisi dengan id sebelumnya yang dilakukan increment (2).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Pembuatan program
&lt;/h2&gt;

&lt;p&gt;Setelah persiapan dan database berhasil dilakukan. Silahkan buka code editor masing-masing, lalu masukan folder CRUD yang telah dibuat sebelumnya (C:\Xampp\htdocs\CRUD).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Buatlah file koneksi.php&lt;/strong&gt;, lalu isikan dengan kode berikut:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php 
    $database = 'crud';
    $connect = new mysqli("localhost", "root", "", $database);
    // Ketentuan paramater
    // 1. Merupakan host, karena kita menggunakan xampp (local) maka diisi dengan localhost
    // 2. Username dari mysql
    // 3. Password dari mysql
    // 4. Nama database
 ?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Penjelasan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;File koneksi.php ini bertujuan untuk menghubungkan projek website kita dengan database, sehingga kita dapat Create, Read, Delete, dan Update data pada database.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Buatlah file index.php&lt;/strong&gt;, lalu isikan dengan kode berikut:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8"&amp;gt;
    &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
    &amp;lt;title&amp;gt;Document&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div&amp;gt;
        &amp;lt;h1&amp;gt;Data pengguna&amp;lt;/h1&amp;gt;
        &amp;lt;a href="tambah.php"&amp;gt;Tambah Data&amp;lt;/a&amp;gt;
        &amp;lt;table border='1'&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;th&amp;gt;No&amp;lt;/th&amp;gt;
                &amp;lt;th&amp;gt;Username&amp;lt;/th&amp;gt;
                &amp;lt;th&amp;gt;Email&amp;lt;/th&amp;gt;
                &amp;lt;th&amp;gt;Password&amp;lt;/th&amp;gt;
                &amp;lt;th&amp;gt;Aksi&amp;lt;/th&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;?php 
                $no = 1;
                // Memanggil koneksi.php agar dapat menggunakan variabel didalamnya
                include 'koneksi.php';
                // Mengisi nilai pada variabel $data
                // mysql_query digunakan untuk membuat query mysql, dimana pada contoh tersebut 
                // digunakan untuk menampilkan semua data pada tabel user.
                $data = mysqli_query($connect, "SELECT * FROM user");
                while($data2 = mysqli_fetch_array($data)){
            ?&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;&amp;lt;?php echo $no ?&amp;gt;&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;&amp;lt;?php echo $data2['username'] ?&amp;gt;&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;&amp;lt;?php echo $data2['email'] ?&amp;gt;&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;&amp;lt;?php echo $data2['password'] ?&amp;gt;&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;
                &amp;lt;div&amp;gt;
                    &amp;lt;a class="hapus" href="hapus.php?id=&amp;lt;?php echo $data2['id'] ?&amp;gt;"&amp;gt;Hapus&amp;lt;/a&amp;gt;
                    &amp;lt;a class="edit" href="edit.php?id=&amp;lt;?php echo $data2['id'] ?&amp;gt;"&amp;gt;Ubah&amp;lt;/a&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;?php $no++; } ?&amp;gt;
        &amp;lt;/table&amp;gt;    
    &amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Penjelasan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;File index.php merupakan file yang nantinya menampilkan seluruh data&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Buatlah file tambah.php&lt;/strong&gt;, lalu isikan dengan kode berikut:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8"&amp;gt;
    &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
    &amp;lt;title&amp;gt;Document&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;

    &amp;lt;!-- action="proses.php" berarti proses dalam form tersebut nantinya akan dikirim ke proses.php --&amp;gt;
    &amp;lt;!-- lalu pada proses.php nantinya akan menginputkan data ke database --&amp;gt;
    &amp;lt;!-- method="POST" digunakan agar data yang diinputkan user tidak terlihat pada url website --&amp;gt;
    &amp;lt;form action="proses.php" method="POST"&amp;gt;
        &amp;lt;h1 class="judul"&amp;gt;Tambah data&amp;lt;/h1&amp;gt;

        &amp;lt;div&amp;gt;
            &amp;lt;label&amp;gt;Username :&amp;lt;/label&amp;gt;
            &amp;lt;!-- required digunakan agar user diwajibkan mengisikan data pada form tersebut --&amp;gt;
            &amp;lt;!-- name="username" digunakan pada saat mengirimkan data ke proses.php maka data tersebut bernama username --&amp;gt;
            &amp;lt;input required type="text" name="username" placeholder="Masukan username"&amp;gt;&amp;lt;br&amp;gt;

            &amp;lt;label&amp;gt;Email :&amp;lt;/label&amp;gt;
            &amp;lt;input required type="email" name="email" placeholder="Masukan email"&amp;gt;&amp;lt;br&amp;gt;

            &amp;lt;label&amp;gt;Password :&amp;lt;/label&amp;gt;
            &amp;lt;input required type="password" name="password" placeholder="Masukan password"&amp;gt;&amp;lt;br&amp;gt;

            &amp;lt;input type="reset" value="Reset"&amp;gt;&amp;lt;br&amp;gt;
            &amp;lt;input type="submit" value="Submit" name="submit"&amp;gt;&amp;lt;br&amp;gt;
            &amp;lt;a href="index.php"&amp;gt;Semua data&amp;lt;/a&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/form&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;     
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Penjelasan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;File tambah.php merupakan file yang nantinya menampilkan form untuk menambahkan data&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Buatlah file proses.php&lt;/strong&gt;, lalu isikan dengan kode berikut:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php 
    include 'koneksi.php';

    // memanggil query mysql yang berisikan perintah untuk mengisikan data ke dalam tabel user
    // paramater pertama kosong karena dalam database, kolom pertama adalah id yang sudah di set A_I atau auto increment
    mysqli_query($connect, "INSERT INTO user VALUES('', '$_POST[username]', '$_POST[email]', '$_POST[password]')") or die(mysqli_error($connect));
?&amp;gt;
&amp;lt;script&amp;gt;
  alert("Data berhasil di tambah.");
  window.location.href = "index.php";
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Penjelasan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;File proses.php merupakan file menangani proses penambahan data, jadi didalam file ini data yang telah kita inputkan akan di proses agar masuk ke database&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Buatlah file edit.php&lt;/strong&gt;, lalu isikan dengan kode berikut:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8"&amp;gt;
    &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
    &amp;lt;title&amp;gt;Document&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;

    &amp;lt;form action="proses_edit.php" method="POST"&amp;gt;
        &amp;lt;?php 
            include 'koneksi.php';
            // $_GET['id'] digunakan untuk mendapatkan nilai dari url yang bernama id
            $id = $_GET['id'];
            // mengeksekusi query mysql untuk mendapatkan data user dimana id nya adalah $id
            $data = mysqli_query($connect, "SELECT * FROM user WHERE id='$id'");
            $data2 = mysqli_fetch_array($data);
         ?&amp;gt;
        &amp;lt;h1 class="judul"&amp;gt;Edit data Id &amp;lt;?php echo $data2['id'] ?&amp;gt;&amp;lt;/h1&amp;gt;

        &amp;lt;div&amp;gt;
            &amp;lt;!-- Kenapa type="hidden", disini kita hidden form tersebut karena kita tidak ingin pengguna mengubah id tersebut --&amp;gt;
            &amp;lt;!-- karena kita gunakan id tersebut dalam pengubahan data, jika id tersebut dirubah maka dapat terjadi error --&amp;gt;
            &amp;lt;!-- sehingga kita sembunyikan form tersebut dan mengirimkanya pada proses_edit.php --&amp;gt;
            &amp;lt;input type="hidden" name="id" value="&amp;lt;?php echo $data2['id'] ?&amp;gt;"&amp;gt;

            &amp;lt;label&amp;gt;Username :&amp;lt;/label&amp;gt;
            &amp;lt;!-- Value="" berarti kita menginisialisasikan nilai dari form tersebut --&amp;gt;
            &amp;lt;!-- Dimana kita mengisi form tersebut dengan data dari tabel user yang memiliki id $id --&amp;gt;
            &amp;lt;input required type="text" name="username" placeholder="Masukan username" value="&amp;lt;?php echo $data2['username'] ?&amp;gt;"&amp;gt;&amp;lt;br&amp;gt;

            &amp;lt;label&amp;gt;Email :&amp;lt;/label&amp;gt;
            &amp;lt;input required type="email" name="email" placeholder="Masukan email" value="&amp;lt;?php echo $data2['email'] ?&amp;gt;"&amp;gt;&amp;lt;br&amp;gt;

            &amp;lt;label&amp;gt;Password :&amp;lt;/label&amp;gt;
            &amp;lt;input required type="text" name="password" placeholder="Masukan password" value="&amp;lt;?php echo $data2['password'] ?&amp;gt;"&amp;gt;&amp;lt;br&amp;gt;

            &amp;lt;input type="reset" value="Reset"&amp;gt;&amp;lt;br&amp;gt;
            &amp;lt;input type="submit" value="Submit" name="Ubah"&amp;gt;&amp;lt;br&amp;gt;
            &amp;lt;a class="tombol" href="data.php"&amp;gt;Data&amp;lt;/a&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/form&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;     
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Penjelasan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;File edit.php berbeda dengan create.php, disini data yang kita pilih kita tampilkan pada form inputan yang nantinya akan kita proses di file proses_edit.php&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Buatlah file proses_edit.php&lt;/strong&gt;, lalu isikan dengan kode berikut:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php 
    include 'koneksi.php';
    $id = $_POST['id'];
    mysqli_query($connect, "UPDATE user SET username='$_POST[username]', email='$_POST[email]', password='$_POST[password]' WHERE id='$id'") or die(mysqli_error($connect));
 ?&amp;gt;

  &amp;lt;script&amp;gt;
    alert("Data berhasil di ubah.");
    window.location.href = "index.php";
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Buatlah file hapus.php&lt;/strong&gt;, lalu isikan dengan kode berikut:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php 
    include 'koneksi.php';
    $id = $_GET['id'];

    mysqli_query($connect, "DELETE FROM user WHERE id='$id'") or die(mysqli_error($connect));
 ?&amp;gt;
 &amp;lt;script&amp;gt;
    alert("Data berhasil di hapus.");
    window.location.href = "index.php";
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Penjelasan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;File proses_edit.php merupakan file yang menangani proses pengubahan data, jadi didalam file ini data yang telah kita inputkan akan di proses agar dapat mengubah data yang telah kita pilih&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Test Program
&lt;/h2&gt;

&lt;p&gt;Setelah pembuatan program selesai, coba jalankan dengan masuk url localhost/nama_folder_projek (localhost/CRUD)&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Read data&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mVCiY9_k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/60f9gl9tpir4f65yh2c2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mVCiY9_k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/60f9gl9tpir4f65yh2c2.png" alt="Lihat data" width="461" height="187"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create data&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6ppjY3Jb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/omgauj0qm865x84pov6m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6ppjY3Jb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/omgauj0qm865x84pov6m.png" alt="Tambah data" width="357" height="224"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Edit data&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tbqqN5SZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8j3o8hgpttrtpi1lihs0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tbqqN5SZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8j3o8hgpttrtpi1lihs0.png" alt="Ubah data" width="386" height="218"&gt;&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Delete data&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--doP_bTLM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9d2flqlojxwrac8cuyfe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--doP_bTLM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9d2flqlojxwrac8cuyfe.png" alt="Hapus data" width="471" height="142"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Download Projek
&lt;/h2&gt;

&lt;p&gt;Kalian dapat mendownload projek yang telah di buat tadi disini.&lt;br&gt;
&lt;a href="https://github.com/whytrno/Simple-PHP-Crud"&gt;https://github.com/whytrno/Simple-PHP-Crud&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
      <category>php</category>
    </item>
    <item>
      <title>Membuat CRUD sederhana dengan PHP</title>
      <dc:creator>Wahyu Triono</dc:creator>
      <pubDate>Fri, 17 Jun 2022 03:22:03 +0000</pubDate>
      <link>https://dev.to/whytrno/membuat-crud-sederhana-dengan-php-814</link>
      <guid>https://dev.to/whytrno/membuat-crud-sederhana-dengan-php-814</guid>
      <description>&lt;h2&gt;
  
  
  Persiapan Projek
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Siapkan XAMPP, Browser (Bebas), dan Code Editor (Disini saya menggunakan VS CODE)&lt;/li&gt;
&lt;li&gt;Buka Xampp lalu aktifkan Apache dan Mysql&lt;/li&gt;
&lt;li&gt;Setelah itu klik Explorer pada Xampp controll panel atau bisa juga masuk ke folder instalasi Xampp (Default folder = C:\Xampp), lalu masuk ke folder htdocs (Default folder = C:\Xampp\htdocs).&lt;/li&gt;
&lt;li&gt;Buat folder bernama CRUD&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Penjelasan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Apache dalam xampp digunakan untuk menjalankan file berekstensi php.&lt;br&gt;
Mysql digunakan dalam penyimpanan data yang nantinya digunakan dalam percobaan CRUD&lt;/p&gt;

&lt;p&gt;Dalam pembuatan projek PHP kita diharuskan membuatnya dalam folder htdocs agar dapat dijalankan.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Pembuatan database
&lt;/h2&gt;

&lt;p&gt;Setelah persiapan selesai dilakukan, selanjutnya masuk ke dalam fase pembuatan database. Silahkan buka aplikasi XAMPP lalu pada mysql, klik Admin. Setelah itu maka akan di alihkan ke browser yang membuka phpmyadmin, dimana phpmyadmin akan menjadi tempat kita membuat database, table dll.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Pertama buatlah database dengan klik new atau baru pada panel kiri lalu masukan nama database pada form yang disediakan, disini kita menggunakan nama database crud.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WMuFEcm8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1sx3rrbs8fat4jf339fo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WMuFEcm8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1sx3rrbs8fat4jf339fo.png" alt="Pembuatan database" width="800" height="307"&gt;&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Lalu pada database crud, buatlah tabel bernama user&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lR7Qp8UQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r8f2zle5t3onr1v469e1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lR7Qp8UQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r8f2zle5t3onr1v469e1.png" alt="Database berhasil dibuat" width="800" height="277"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Setelah itu buatlah beberapa kolom sehingga menjadi seperti berikut&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1ySLLAUI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/19jasc3taphon22v0142.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1ySLLAUI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/19jasc3taphon22v0142.png" alt="Pembuatan tabel" width="800" height="208"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Setelah itu klik simpan pada bagian bawah.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Database telah dibuat, selanjutnya kita akan membuat program CRUD pada code editor.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Penjelasan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Indeks PRIMARY dalam pembuatan kolom berfungsi untuk memberikan nilai yang unik pada setiap data/record yang disimpan, ini berguna untuk membedakan setiap data yang ada. Primary key juga digunakan dalam melakukan JOIN dalam database nantinya.&lt;/p&gt;

&lt;p&gt;Checkbox A_I berfungsi jika terdapat data baru, maka kolom id akan menambahkan atau melakukan increment dari nilai sebelumnya, misalnya terdapat data baru, maka id akan mengisi sendiri menjadi 1, jika terdapat data baru lagi, maka id data terbaru akan diisi dengan id sebelumnya yang dilakukan increment (2).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Pembuatan program
&lt;/h2&gt;

&lt;p&gt;Setelah persiapan dan database berhasil dilakukan. Silahkan buka code editor masing-masing, lalu masukan folder CRUD yang telah dibuat sebelumnya (C:\Xampp\htdocs\CRUD).&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Buatlah file koneksi.php, lalu isikan dengan kode berikut:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php 
    $database = 'crud';
    $connect = new mysqli("localhost", "root", "", $database);
    // Ketentuan paramater
    // 1. Merupakan host, karena kita menggunakan xampp (local) maka diisi dengan localhost
    // 2. Username dari mysql
    // 3. Password dari mysql
    // 4. Nama database
 ?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Penjelasan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;File koneksi.php ini bertujuan untuk menghubungkan projek website kita dengan database, sehingga kita dapat Create, Read, Delete, dan Update data pada database.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;Buatlah file index.php, lalu isikan dengan kode berikut:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8"&amp;gt;
    &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
    &amp;lt;title&amp;gt;Document&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div&amp;gt;
        &amp;lt;h1&amp;gt;Data pengguna&amp;lt;/h1&amp;gt;
        &amp;lt;a href="tambah.php"&amp;gt;Tambah Data&amp;lt;/a&amp;gt;
        &amp;lt;table border='1'&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;th&amp;gt;No&amp;lt;/th&amp;gt;
                &amp;lt;th&amp;gt;Username&amp;lt;/th&amp;gt;
                &amp;lt;th&amp;gt;Email&amp;lt;/th&amp;gt;
                &amp;lt;th&amp;gt;Password&amp;lt;/th&amp;gt;
                &amp;lt;th&amp;gt;Aksi&amp;lt;/th&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;?php 
                $no = 1;
                // Memanggil koneksi.php agar dapat menggunakan variabel didalamnya
                include 'koneksi.php';
                // Mengisi nilai pada variabel $data
                // mysql_query digunakan untuk membuat query mysql, dimana pada contoh tersebut 
                // digunakan untuk menampilkan semua data pada tabel user.
                $data = mysqli_query($connect, "SELECT * FROM user");
                while($data2 = mysqli_fetch_array($data)){
            ?&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;&amp;lt;?php echo $no ?&amp;gt;&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;&amp;lt;?php echo $data2['username'] ?&amp;gt;&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;&amp;lt;?php echo $data2['email'] ?&amp;gt;&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;&amp;lt;?php echo $data2['password'] ?&amp;gt;&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;
                &amp;lt;div&amp;gt;
                    &amp;lt;a class="hapus" href="hapus.php?id=&amp;lt;?php echo $data2['id'] ?&amp;gt;"&amp;gt;Hapus&amp;lt;/a&amp;gt;
                    &amp;lt;a class="edit" href="edit.php?id=&amp;lt;?php echo $data2['id'] ?&amp;gt;"&amp;gt;Ubah&amp;lt;/a&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
            &amp;lt;?php $no++; } ?&amp;gt;
        &amp;lt;/table&amp;gt;    
    &amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Penjelasan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;File index.php merupakan file yang nantinya menampilkan seluruh data&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;Buatlah file tambah.php, lalu isikan dengan kode berikut:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8"&amp;gt;
    &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
    &amp;lt;title&amp;gt;Document&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;

    &amp;lt;!-- action="proses.php" berarti proses dalam form tersebut nantinya akan dikirim ke proses.php --&amp;gt;
    &amp;lt;!-- lalu pada proses.php nantinya akan menginputkan data ke database --&amp;gt;
    &amp;lt;!-- method="POST" digunakan agar data yang diinputkan user tidak terlihat pada url website --&amp;gt;
    &amp;lt;form action="proses.php" method="POST"&amp;gt;
        &amp;lt;h1 class="judul"&amp;gt;Tambah data&amp;lt;/h1&amp;gt;

        &amp;lt;div&amp;gt;
            &amp;lt;label&amp;gt;Username :&amp;lt;/label&amp;gt;
            &amp;lt;!-- required digunakan agar user diwajibkan mengisikan data pada form tersebut --&amp;gt;
            &amp;lt;!-- name="username" digunakan pada saat mengirimkan data ke proses.php maka data tersebut bernama username --&amp;gt;
            &amp;lt;input required type="text" name="username" placeholder="Masukan username"&amp;gt;&amp;lt;br&amp;gt;

            &amp;lt;label&amp;gt;Email :&amp;lt;/label&amp;gt;
            &amp;lt;input required type="email" name="email" placeholder="Masukan email"&amp;gt;&amp;lt;br&amp;gt;

            &amp;lt;label&amp;gt;Password :&amp;lt;/label&amp;gt;
            &amp;lt;input required type="password" name="password" placeholder="Masukan password"&amp;gt;&amp;lt;br&amp;gt;

            &amp;lt;input type="reset" value="Reset"&amp;gt;&amp;lt;br&amp;gt;
            &amp;lt;input type="submit" value="Submit" name="submit"&amp;gt;&amp;lt;br&amp;gt;
            &amp;lt;a href="index.php"&amp;gt;Semua data&amp;lt;/a&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/form&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;     
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Penjelasan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;File tambah.php merupakan file yang nantinya menampilkan form untuk menambahkan data&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;Buatlah file proses.php, lalu isikan dengan kode berikut:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php 
    include 'koneksi.php';

    // memanggil query mysql yang berisikan perintah untuk mengisikan data ke dalam tabel user
    // paramater pertama kosong karena dalam database, kolom pertama adalah id yang sudah di set A_I atau auto increment
    mysqli_query($connect, "INSERT INTO user VALUES('', '$_POST[username]', '$_POST[email]', '$_POST[password]')") or die(mysqli_error($connect));
?&amp;gt;
&amp;lt;script&amp;gt;
  alert("Data berhasil di tambah.");
  window.location.href = "index.php";
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Penjelasan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;File proses.php merupakan file menangani proses penambahan data, jadi didalam file ini data yang telah kita inputkan akan di proses agar masuk ke database&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;Buatlah file edit.php, lalu isikan dengan kode berikut:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8"&amp;gt;
    &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
    &amp;lt;title&amp;gt;Document&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;

    &amp;lt;form action="proses_edit.php" method="POST"&amp;gt;
        &amp;lt;?php 
            include 'koneksi.php';
            // $_GET['id'] digunakan untuk mendapatkan nilai dari url yang bernama id
            $id = $_GET['id'];
            // mengeksekusi query mysql untuk mendapatkan data user dimana id nya adalah $id
            $data = mysqli_query($connect, "SELECT * FROM user WHERE id='$id'");
            $data2 = mysqli_fetch_array($data);
         ?&amp;gt;
        &amp;lt;h1 class="judul"&amp;gt;Edit data Id &amp;lt;?php echo $data2['id'] ?&amp;gt;&amp;lt;/h1&amp;gt;

        &amp;lt;div&amp;gt;
            &amp;lt;!-- Kenapa type="hidden", disini kita hidden form tersebut karena kita tidak ingin pengguna mengubah id tersebut --&amp;gt;
            &amp;lt;!-- karena kita gunakan id tersebut dalam pengubahan data, jika id tersebut dirubah maka dapat terjadi error --&amp;gt;
            &amp;lt;!-- sehingga kita sembunyikan form tersebut dan mengirimkanya pada proses_edit.php --&amp;gt;
            &amp;lt;input type="hidden" name="id" value="&amp;lt;?php echo $data2['id'] ?&amp;gt;"&amp;gt;

            &amp;lt;label&amp;gt;Username :&amp;lt;/label&amp;gt;
            &amp;lt;!-- Value="" berarti kita menginisialisasikan nilai dari form tersebut --&amp;gt;
            &amp;lt;!-- Dimana kita mengisi form tersebut dengan data dari tabel user yang memiliki id $id --&amp;gt;
            &amp;lt;input required type="text" name="username" placeholder="Masukan username" value="&amp;lt;?php echo $data2['username'] ?&amp;gt;"&amp;gt;&amp;lt;br&amp;gt;

            &amp;lt;label&amp;gt;Email :&amp;lt;/label&amp;gt;
            &amp;lt;input required type="email" name="email" placeholder="Masukan email" value="&amp;lt;?php echo $data2['email'] ?&amp;gt;"&amp;gt;&amp;lt;br&amp;gt;

            &amp;lt;label&amp;gt;Password :&amp;lt;/label&amp;gt;
            &amp;lt;input required type="text" name="password" placeholder="Masukan password" value="&amp;lt;?php echo $data2['password'] ?&amp;gt;"&amp;gt;&amp;lt;br&amp;gt;

            &amp;lt;input type="reset" value="Reset"&amp;gt;&amp;lt;br&amp;gt;
            &amp;lt;input type="submit" value="Submit" name="Ubah"&amp;gt;&amp;lt;br&amp;gt;
            &amp;lt;a class="tombol" href="data.php"&amp;gt;Data&amp;lt;/a&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/form&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;     
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Penjelasan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;File edit.php berbeda dengan create.php, disini data yang kita pilih kita tampilkan pada form inputan yang nantinya akan kita proses di file proses_edit.php&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;Buatlah file proses_edit.php, lalu isikan dengan kode berikut:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php 
    include 'koneksi.php';
    $id = $_POST['id'];
    mysqli_query($connect, "UPDATE user SET username='$_POST[username]', email='$_POST[email]', password='$_POST[password]' WHERE id='$id'") or die(mysqli_error($connect));
 ?&amp;gt;

  &amp;lt;script&amp;gt;
    alert("Data berhasil di ubah.");
    window.location.href = "index.php";
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Buatlah file hapus.php, lalu isikan dengan kode berikut:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php 
    include 'koneksi.php';
    $id = $_GET['id'];

    mysqli_query($connect, "DELETE FROM user WHERE id='$id'") or die(mysqli_error($connect));
 ?&amp;gt;
 &amp;lt;script&amp;gt;
    alert("Data berhasil di hapus.");
    window.location.href = "index.php";
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Penjelasan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;File proses_edit.php merupakan file yang menangani proses pengubahan data, jadi didalam file ini data yang telah kita inputkan akan di proses agar dapat mengubah data yang telah kita pilih&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Test Program
&lt;/h2&gt;

&lt;p&gt;Setelah pembuatan program selesai, coba jalankan dengan masuk url localhost/nama_folder_projek (localhost/CRUD)&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Read data&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mVCiY9_k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/60f9gl9tpir4f65yh2c2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mVCiY9_k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/60f9gl9tpir4f65yh2c2.png" alt="Lihat data" width="461" height="187"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create data&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6ppjY3Jb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/omgauj0qm865x84pov6m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6ppjY3Jb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/omgauj0qm865x84pov6m.png" alt="Tambah data" width="357" height="224"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Edit data&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tbqqN5SZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8j3o8hgpttrtpi1lihs0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tbqqN5SZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8j3o8hgpttrtpi1lihs0.png" alt="Ubah data" width="386" height="218"&gt;&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Delete data&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--doP_bTLM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9d2flqlojxwrac8cuyfe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--doP_bTLM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9d2flqlojxwrac8cuyfe.png" alt="Hapus data" width="471" height="142"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Download Projek
&lt;/h2&gt;

&lt;p&gt;Kalian dapat mendownload projek yang telah di buat tadi &lt;a href="https://github.com/surezluvy/CRUD"&gt;disini&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Cara menjalankan file PHP</title>
      <dc:creator>Wahyu Triono</dc:creator>
      <pubDate>Fri, 17 Jun 2022 03:00:47 +0000</pubDate>
      <link>https://dev.to/whytrno/cara-menjalankan-file-php-11fc</link>
      <guid>https://dev.to/whytrno/cara-menjalankan-file-php-11fc</guid>
      <description>&lt;h2&gt;
  
  
  Pendahuluan
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;PHP&lt;/strong&gt; atau &lt;strong&gt;PHP Hypertext Preprocessor&lt;/strong&gt; merupakan bahasa pemrograman script open source yang dapat digunakan untuk pembuatan suatu website dalam sisi server.&lt;/p&gt;

&lt;h2&gt;
  
  
  Persiapan
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Pertama download dahulu XAMPP disini.&lt;/li&gt;
&lt;li&gt;Lalu jalankan dan install seperti biasa.&lt;/li&gt;
&lt;li&gt;Setelah itu buka dan jalankan apache&lt;/li&gt;
&lt;li&gt;Lalu klik pada explorer pada aplikasi XAMPP atau bisa juga masuk ke folder instalasi XAMPP (Default C:\xampp)&lt;/li&gt;
&lt;li&gt;Lalu masuk ke dalam folder htdocs&lt;/li&gt;
&lt;li&gt;Lalu buatlah folder dengan nama tes (atau bebas)&lt;/li&gt;
&lt;li&gt;Lalu buka code editor dan arahkan ke dalam folder yang telah dibuat tadi.&lt;/li&gt;
&lt;li&gt;Lalu buatlah file php dengan nama index.php&lt;/li&gt;
&lt;li&gt;Lalu masukan kode berikut:
&amp;lt;?php echo "Menjalankan file php pertama berhasil!” ?&amp;gt;&lt;/li&gt;
&lt;li&gt;Setelah itu buka browser dan isi url dengan localhost/tes (atau nama folder yang telah dibuat tadi)&lt;/li&gt;
&lt;li&gt;Jika pada browser menampilkan "Menjalankan file php pertama berhasil!” maka file php berhasil dijalankan&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Rangkuman
&lt;/h2&gt;

&lt;p&gt;File php harus berada di dalam folder htdocs (C:\xampp\htdocs) atau folder instalaasi xampp&lt;/p&gt;

&lt;p&gt;File php bernama index.php akan dijalankan otomatis jika nama foldernya dipanggil pada url (misalnya localhost/tes maka akan menjalankan file index.php yang berada pada folder tes)&lt;/p&gt;

&lt;p&gt;Jika ingin menjalankan file php lainnya, cukup tambahkan nama file setelah nama folder (misalnya localhost/tes/nama_file.php)&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>php</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>5 menit membuat website menggunakan wordpress</title>
      <dc:creator>Wahyu Triono</dc:creator>
      <pubDate>Fri, 17 Jun 2022 02:51:56 +0000</pubDate>
      <link>https://dev.to/whytrno/5-menit-membuat-website-menggunakan-wordpress-2jpa</link>
      <guid>https://dev.to/whytrno/5-menit-membuat-website-menggunakan-wordpress-2jpa</guid>
      <description>&lt;h2&gt;
  
  
  Pendahuluan
&lt;/h2&gt;

&lt;p&gt;Wordpress merupakan sebuat software yang dapat membantu para penggunanya dalam membuat sebuah website. Wordpress pada awalnya hanya dapat membuat sebuah blog seperti blogspot, tetapi seiring perkembangan jaman, wordpress berubah menjadi aplikasi CMS (Content Management System) yang intinya CMS ini kita dapat membuat dan mengelola sebuah website tanpa harus mengenal bahasa pemrograman.&lt;/p&gt;




&lt;h2&gt;
  
  
  Persiapan
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6pq9Jq91--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ie7lq7cbbdy5w51wmy46.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6pq9Jq91--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ie7lq7cbbdy5w51wmy46.png" alt="Login" width="549" height="736"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yang perlu disiapkan sebelum memulai membuat website menggunakan wordpress adalah akun wordpress itu sendiri, kalian bisa membuat akun wordpress pada &lt;a href="https://wordpress.com"&gt;wordpress.com&lt;/a&gt;. Jika anda memiliki sebuah hosting, anda bisa membuat akun wordpress dengan langkah berikut:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Masuk CPanel&lt;/li&gt;
&lt;li&gt;Pilih Softaculous&lt;/li&gt;
&lt;li&gt;Pilih blog&lt;/li&gt;
&lt;li&gt;Pilih Wordpress&lt;/li&gt;
&lt;li&gt;Lalu ikuti instruksi yang ada&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Pembuatan
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jsOOVYJM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e9dxjd7fp0jpw2onr1cl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jsOOVYJM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e9dxjd7fp0jpw2onr1cl.png" alt="Dashboard" width="700" height="344"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Setelah kalian mempunyai akun wordpress, kalian dapat mengikuti instruksi berikut:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Login akun Wordpress&lt;/strong&gt;&lt;br&gt;
Kalian dapat login akun kalian pada &lt;a href="https://wordpress.com"&gt;wordpress.com&lt;/a&gt;, atau jika kalian membuat akun pada hosting, kalian bisa masuk menggunakan &lt;a href="https://domain-kalian.com/wp-admin"&gt;https://domain-kalian.com/wp-admin&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Menambah dan memasang tema&lt;/strong&gt;&lt;br&gt;
Setelah kalian berhasil login, kalian dapat melihat berbagai menu pada sidebar. Disini kalian bisa memilih Appearance-Themes-Add new-Lalu cari tema dengan nama Astra-Install-Activate.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Menggunakan starter template&lt;/strong&gt;&lt;br&gt;
Setelah kalian berhasil memasang tema Astra, kalian akan menemukan tulisan baru di bagian atas “Thank you for installing Astra!”, lalu kalian klik “Get Started” di bawah tulisan tersebut. Jika tidak ada tulisan atau tombol Get Started tersebut, kalian bisa masuk ke menu Appearance-Astra Options-Klik “Get Started” pada bagian atas.&lt;br&gt;
Setelah kalian klik “Get Started”, kalian dapat klik “Build Your Website Now”, lalu pilih Page Builder, disini saya sarankan menggunakan elementor. Setelah itu, kalian akan diarahkan ke dalam bagian pemilihan template (jika template tidak muncul, silahkan refresh website anda dengan menekan f5), disini kalian bebas menggunakan template apa saja. Setelah memilih, kalian dapat menambahkan logo atau melanjutkannya (kalian dapat mengubahnya nanti) dengan klik “Skip &amp;amp; Continue”, lalu pemilihan warna dan font website anda, lalu klik “Continue”. Setelah itu kalian klik “Submit &amp;amp; Build My Website”, tunggu proses instalasi sampai selesai.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Melihat website&lt;/strong&gt;)&lt;br&gt;
Setelah berhasil menginstall starter template, kalian dapat klik “View Your Website” untuk melihat website anda. Atau kalian juga dapat melihat website anda dengan klik pada nama website anda di kiri atas setelah logo wordpress.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2UWpYBVp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0s67jo61t82kxvnbumm4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2UWpYBVp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0s67jo61t82kxvnbumm4.png" alt="Melihat website" width="700" height="336"&gt;&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Kustomisasi website&lt;/strong&gt;&lt;br&gt;
Setelah kalian berhasil membuat website tersebut, kalian dapat kustomisasi dengan cara mengunjungi website kalian melalui domain (&lt;a href="https://domain-kalian.com"&gt;https://domain-kalian.com&lt;/a&gt;) atau klik nama website anda pada dashboard kiri atas. Setelah kalian mengunjui website kalian, kalian klik “Edit with elementor” pada bagian atas website anda. Setelah itu, kalian akan melihat banyak block yang kalian dapat gunakan, seperti contohnya Button, Heading, Image dll pada bagian sidebar. Jika kalian ingin menggunakannya, kalian dapat drag block tersebut ke dalam website anda. Jika kalian ingin mengubah tulisan yang terdapat pada website anda, kalian dapat klik tulisan tersebut, lalu ubah sesuai keinginan kalian.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aX0rpQ5j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9tf7ed91mnb5f2m3295x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aX0rpQ5j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9tf7ed91mnb5f2m3295x.png" alt="Kustomisasi menggunakan Elementor" width="700" height="347"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>wordpress</category>
      <category>website</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
