Modul Ukk RPL 2024 - Draft
Modul Ukk RPL 2024 - Draft
Atau jika direktori xampp ada pada folder C atau F maka perintahnya sama
tinggal ketikan perintah C: enter atau F: enter. Langkah selanjutnya adalah
masuk kedalam direktori xampp/htdocs dengan perintah cd xampp\htdocs
enter.
Lalu pilih folder project laravel yang telah dibuat yaitu belajar.
Tampilan visual studio code setelah project laravel dibuka akan seperti
dibawah ini.
Hasil database yang telah dibuat akan terlihat seperti dibawah ini.
setelah itu beri nama pada bagian tengah create database atau ciptakan
database. Berikan nama sesuai yang diinginkan lalu klik create.
Pada modul ini nama database yang dibuat adalah belajar, setelah
database dibuat selanjutnya adalah membuat tabel baru.
berikan nama tabel users dengan isi kolom sebanyak 8 kolom seperti
dibawah ini lalu klik simpan atau save.
Ketika pertama kali dibuka isi dari migrasi masih bawaan hany berisi id dan
timestamp, silahkan tambahkan data yang diinginkan sesuai kebutuhan.
public function up()
{
Schema::create('gallery', function (Blueprint $table) {
$table->id();
{
Schema::create('gallery', function (Blueprint $table) {
$table->id();
$table->integer('id_kategory');
$table->integer('id_user');
$table->char('namagambar',100);
$table->string('gambar');
$table->string('keterangan')->nullable();
$table->timestamps();
});
Kemudian buat lagi migrasi untuk kategori dengan cara yang sama
sampai keluar notifikasi sukses.
Pertama dalam pembuatan desain landing page kita buat terlebih dahulu
bagian header yang nantinya dipanggil oleh beberapa page (halaman)
web. Halaman yang pertama kali di load oleh web pada laravel bernama
welcome.blade.php kita akan melakukan perubahan pada file tersebut.
Pertama kita buat file bernama header.blade.php dengan cara klik kanan
pada folder view terus pilih new file kemudian beri nama
header.blade.php
lalu buka file welcome.blade.php pada folder view lalu copy bagian
<!doctype html>
Sampai dengan bagian
</head>
Ganti bagian title menjadi judul web
<title>UKK RPL</title>
Tambahkan url untuk memanggil bootstrap dengan cara buka web resmi
bootstrap https://getbootstrap.com/docs/5.3/getting-
started/introduction/ kemudian pilih menu download
Paste dibagian kode antara <head> dan </head> tepatnya dibawah title
seperti dibawah ini
Silahkan coba login pada web yang telah dibuat maka seharusnya bagian
header berubah menjadi seperti ini
5 KONFIGURASI KATEGORI.BLADE.PHP
hal pertama untuk membuat halaman kategori adalah buka file pada folder
route->web.php
Buat file baru di view dengan cara klik kanan pada folder view lalu pilih new
file dan berinama kategori.blade.php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
Route::get('/', function () {
return view('welcome');
});
Auth::routes();
</div>
<div class="row mb-3">
<label for="nama" class="col-md-3 col-form-label text-md-end"></label>
<div class="col-md-8">
<input type="submit" name="save" id="save" class="btn btn-md btn-
info col-md-3" value="Simpan">
</div>
</div>
</div>
</form>
[
'nama_kategori' => $request->nama,
]
);
return redirect('/kategori')
->with('sukses', 'Berhasil Menambah Kategori');
}
Hasilnya bisa dilihat
Route::get('/', function () {
return view('welcome');
});
Auth::routes();
</div>
<div class="row mb-3">
<label for="nama" class="col-md-3 col-form-label text-md-end"></label>
<div class="col-md-8">
<input type="submit" name="save" id="save" class="btn btn-md btn-
info col-md-3" value="Update">
</div>
</div>
</div>
</form>
Ketika dijalankan harusnya seperti ini
Auth::routes();
return view('welcome');
});
Auth::routes();
Terakhir pada menu kategori kita akan melakukan konfigurasi pada tombol
lihat gallery, buka route->web.php tambahan route lihat gallery
berdasarkan kategori yang dipilih
Route::get('/hapuskategori/{id}', [App\Http\Controllers\HomeController::class,
'hapuskategori'])->name('hapuskategori');
Route::get('/detail/{id}', [App\Http\Controllers\HomeController::class,
'detail'])->name('detail');
Data masih kosong, sekarang kita akan membuat fasilitas tambah data
pertama biasa kita buka dulu route->web.php dan tambahkan route
tambah gambar
Route::get('/detail/{id}', [App\Http\Controllers\HomeController::class,
'detail'])->name('detail');
Route::get('/gallery', [App\Http\Controllers\HomeController::class,
'gallery'])->name('gallery');
Route::get('/tambahgambar', [App\Http\Controllers\HomeController::class,
'tambahgambar'])->name('tambahgambar');
Kemudian buka HomeController.php dan tambahkan function
tambahgambar dibawah gallery
public function tambahgambar()
{
return view('tambahgambar');
}
Kemudian buat file baru di folder view dengan nama tambahgambar dan isi
dengan kode berikut
@include('header')
<form method="post" action="{{ url('postgambar') }}" enctype="multipart/form-
data">
</div>
<div class="row mb-3">
<label for="nama" class="col-md-3 col-form-label text-md-
end"></label>
<div class="col-md-8">
[
'id_user'=>Auth::user()->id,
'id_kategory'=>$request->kategori,
'namagambar' => $request->nama,
'gambar'=>$namaFile,
'keterangan' => $request->ket,
]
);
return redirect('/gallery')
->with('sukses', 'Berhasil Menambah Gambar Gallery');
}
Tampilan ketika tambah data
{
$kategori=DB::table('category')->get();
$data= DB::table('gallery')->where('id',$id)->first();
</div>
<div class="row mb-3">
<label for="nama" class="col-md-3 col-form-label text-md-end"></label>
<div class="col-md-8">
<input type="submit" class="btn btn-md btn-info col-md-3"
value="Update">
</div>
</div>
</div>
</form>
Buat kembali route->web.php untuk menampung update data
Route::post('/postgambar', [App\Http\Controllers\HomeController::class,
'postgambar'])->name('postgambar');
Route::get('/edit/{id}', [App\Http\Controllers\HomeController::class,
'edit'])->name('edit');
Route::put('/updategambar', [App\Http\Controllers\HomeController::class,
'updategambar'])->name('updategambar');
Tambahkan function update gambar pada HomeController.php
public function updategambar(Request $request)
{
$datalama = DB::table('gallery')->where('id', $request->id)->first();
if ($request->hasFile('gambar')) {
$extFile = $request->gambar->getClientOriginalExtension();
$namaFile = 'gambar-' . time() . "." . $extFile;
$request->gambar->move('image', $namaFile);
$fotolama = 'image/' . $datalama->gambar;
if (File::exists($fotolama)) {
File::delete($fotolama);
}
} else {
$namaFile = $datalama->gambar;
}
DB::table('gallery')->where('id',$request->id)->update(
[
'id_user'=>Auth::user()->id,
'id_kategory'=>$request->kategori,
'namagambar' => $request->nama,
'gambar' => $namaFile,
'keterangan' => $request->ket,
]
);
Terakhir melakukan hapus data, kita akan menghapus salah satu foto yang
telah dibuat