Untuk membuat program e-commerce dengan Laravel 8,
langkah-langkah berikut:
1. Instalasi Laravel: Anda dapat mengunduh dan menginstal
Laravel 8 menggunakan Composer. Pastikan bahwa server
web dan database MySQL sudah terpasang di sistem Anda
sebelum melakukan instalasi.
2. Membuat Database: Buat database baru untuk program e-
commerce Anda.
3. Menghubungkan Laravel ke Database: Konfigurasi file .env
untuk menghubungkan Laravel ke database yang sudah
dibuat.
4. Membuat Model, View, dan Controller: Gunakan perintah
"make:model", "make:view", dan "make:controller" untuk
membuat model, view, dan controller untuk program e-
commerce Anda.
5. Membuat Routing: Tentukan routing untuk program e-
commerce Anda.
6. Membuat Migrasi Database: Gunakan perintah
"make:migration" untuk membuat migrasi database.
Migrasi digunakan untuk membuat tabel dalam database
dan menjaga konsistensi dengan schema.
7. Menggunakan Seeders: Seeders digunakan untuk mengisi
database dengan data awal. Gunakan perintah
"make:seeder" untuk membuat seeder.
8. Membuat Fitur-Fitur E-commerce: Buat fitur-fitur e-
commerce seperti halaman produk, keranjang belanja,
checkout, dan sebagainya.
9. Menambahkan Fungsi-Fungsi Pembayaran: Tambahkan
fungsi pembayaran seperti PayPal, Stripe, atau metode
pembayaran lainnya ke program e-commerce Anda.
10. Mengatur Halaman Admin: Buat halaman admin
untuk mengatur produk dan pesanan.
11. Menguji Program: Terakhir, uji program e-commerce
Anda untuk memastikan bahwa semuanya berfungsi
dengan baik.
Itulah langkah-langkah yang dapat Anda lakukan untuk
membuat program e-commerce dengan Laravel 8. Pastikan
Anda memahami dasar-dasar Laravel dan konsep-konsep
pemrograman sebelum memulai proyek ini.
Berikut ini adalah contoh kode untuk membuat halaman daftar
produk pada sebuah program e-commerce menggunakan
Laravel 8:
1. Buat model Product
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
use HasFactory;
protected $fillable = [
'name',
'description',
'price',
'image',
];
}
2. Buat controller ProductController
<?php
namespace App\Http\Controllers;
use App\Models\Product;
use Illuminate\Http\Request;
class ProductController extends Controller
{
public function index()
{
$products = Product::all();
return view('[Link]', compact('products'));
}
public function show(Product $product)
{
return view('[Link]', compact('product'));
}
}
3. Buat routing di file [Link]
Route::get('/', [ProductController::class, 'index'])-
>name('[Link]');
Route::get('/products/{product}', [ProductController::class, 'show'])-
>name('[Link]');
4. Buat file blade untuk halaman daftar produk di
resources/views/products/[Link]
@extends('[Link]')
@section('content')
<div class="container">
<h1>Daftar Produk</h1>
<div class="row">
@foreach ($products as $product)
<div class="col-md-4 mb-3">
<div class="card">
<img class="card-img-top" src="{{ $product-
>image }}" alt="{{ $product->name }}">
<div class="card-body">
<h5 class="card-title">{{ $product->name }}</h5>
<p class="card-text">{{ $product-
>description }}</p>
<a href="{{ route('[Link]', $product) }}"
class="btn btn-primary">Lihat Produk</a>
</div>
</div>
</div>
@endforeach
</div>
</div>
@endsection
5. Buat file blade untuk halaman detail produk di
resources/views/products/[Link]
@extends('[Link]')
@section('content')
<div class="container">
<div class="row">
<div class="col-md-6">
<img class="card-img-top" src="{{ $product->image }}"
alt="{{ $product->name }}">
</div>
<div class="col-md-6">
<h1>{{ $product->name }}</h1>
<p class="lead">{{ $product->description }}</p>
<h3 class="mt-4">Harga: Rp. {{ number_format($product-
>price) }}</h3>
<form action="#" method="POST">
@csrf
<div class="form-group mt-4">
<label for="quantity">Jumlah:</label>
<input type="number" name="quantity" id="quantity"
class="form-control" value="1">
</div>
<button type="submit" class="btn btn-primary mt-
4">Tambahkan ke Keranjang</button>
</form>
</div>
</div>
</div>
@endsection
kode keranjang belanja pada e-commerce menggunakan PHP dan
MySQL:
Buat tabel "carts" pada database sql
CREATE TABLE carts (
id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
user_id INT(11),
product_id INT(11),
quantity INT(11),
price DECIMAL(10,2),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON
UPDATE CURRENT_TIMESTAMP
);
Buat fungsi untuk menambah produk ke keranjang belanja
php
function addToCart($user_id, $product_id, $quantity, $price) {
$conn = mysqli_connect("localhost", "username", "password",
"database");
$sql = "INSERT INTO carts (user_id, product_id, quantity, price)
VALUES ('$user_id', '$product_id', '$quantity', '$price')";
mysqli_query($conn, $sql);
mysqli_close($conn);
}
Buat fungsi untuk menghapus produk dari keranjang belanja
php
function removeFromCart($cart_id) {
$conn = mysqli_connect("localhost", "username", "password",
"database");
$sql = "DELETE FROM carts WHERE id='$cart_id'";
mysqli_query($conn, $sql);
mysqli_close($conn);
}
Buat fungsi untuk mengambil seluruh produk yang ada di keranjang
belanja
php
function getCartItems($user_id) {
$conn = mysqli_connect("localhost", "username", "password",
"database");
$sql = "SELECT [Link], [Link], [Link], [Link]
FROM carts JOIN products ON carts.product_id = [Link] WHERE
user_id='$user_id'";
$result = mysqli_query($conn, $sql);
$cart_items = mysqli_fetch_all($result, MYSQLI_ASSOC);
mysqli_close($conn);
return $cart_items;
}
Buat fungsi untuk menghitung total harga produk yang ada di
keranjang belanja
php
function getCartTotal($user_id) {
$conn = mysqli_connect("localhost", "username", "password",
"database");
$sql = "SELECT SUM(price) AS total_price FROM carts WHERE
user_id='$user_id'";
$result = mysqli_query($conn, $sql);
$cart_total = mysqli_fetch_assoc($result)['total_price'];
mysqli_close($conn);
return $cart_total;
}
Dengan menggunakan fungsi-fungsi di atas, Anda dapat membuat
halaman keranjang belanja pada program e-commerce Anda dengan
mengambil seluruh produk yang ada di keranjang belanja dengan
fungsi getCartItems, menampilkan produk-produk tersebut pada
halaman, dan menghitung total harga dengan fungsi getCartTotal.
Kemudian, Anda juga dapat menambahkan tombol "Tambah ke
Keranjang" pada halaman produk dengan menggunakan fungsi
addToCart dan tombol "Hapus" pada halaman keranjang belanja
dengan menggunakan fungsi removeFromCart.
kode checkout pada e-commerce menggunakan PHP dan
MySQL:
1. Buat tabel "orders" pada database
sql
CREATE TABLE orders ( id INT(11) UNSIGNED
AUTO_INCREMENT PRIMARY KEY, user_id INT(11),
total_amount DECIMAL(10,2), created_at TIMESTAMP
DEFAULT CURRENT_TIMESTAMP , updated_at TIMESTAMP
DEFAULT CURRENT_TIMESTAMP ON UPDATE
CURRENT_TIMESTAMP );
2. Buat fungsi untuk membuat order baru
Php
function createOrder($user_id, $total_amount) { $conn =
mysqli_connect("localhost", "username", "password", "database");
$sql = "INSERT INTO orders (user_id, total_amount) VALUES
('$user_id', '$total_amount')"; mysqli_query($conn, $sql); $order_id
= mysqli_insert_id($conn); mysqli_close($conn); return $order_id;
}
3. Buat fungsi untuk menambah produk ke dalam order
Php
function addProductToOrder($order_id, $product_id, $quantity,
$price) { $conn = mysqli_connect("localhost", "username",
"password", "database"); $sql = "INSERT INTO order_items
(order_id, product_id, quantity, price) VALUES ('$order_id',
'$product_id', '$quantity', '$price')" ; mysqli_query($conn, $sql);
mysqli_close($conn); }
4. Buat fungsi untuk mengambil seluruh produk yang ada di
keranjang belanja
php
function getCartItems($user_id) { $conn =
mysqli_connect("localhost", "username", "password", "database");
$sql = "SELECT [Link], [Link], [Link], [Link]
FROM carts JOIN products ON carts.product_id = [Link]
WHERE user_id='$user_id'" ; $result = mysqli_query($conn, $sql);
$cart_items = mysqli_fetch_all($result, MYSQLI_ASSOC);
mysqli_close($conn); return $cart_items; }
5. Buat fungsi untuk menghitung total harga produk yang
ada di keranjang belanja
Php
function getCartTotal($user_id) { $conn =
mysqli_connect("localhost", "username", "password", "database");
$sql = "SELECT SUM(price) AS total_price FROM carts WHERE
user_id='$user_id'"; $result = mysqli_query($conn, $sql);
$cart_total = mysqli_fetch_assoc($result)['total_price'];
mysqli_close($conn); return $cart_total; }
6. Buat halaman checkout pada e-commerce yang
menampilkan seluruh produk yang ada di keranjang
belanja dan total harga, serta form untuk mengisi alamat
pengiriman dan metode pembayaran. Kemudian, pada
saat form disubmit, panggil fungsi createOrder untuk
membuat order baru dan mengambil order ID-nya, lalu
panggil fungsi addProductToOrder untuk menambahkan
setiap produk di keranjang belanja ke dalam order dengan
menggunakan order ID tersebut. Terakhir, hapus seluruh
produk dari keranjang belanja dengan fungsi clearCart.