
Latar Belakang
Pelatihan web junior dengan mempelajari hal sbg :
- tailwind css
- php
- node js

Unit Kompetensi
Unit Kompetensi Latihan :
- Mengimplementasikan user interface.
- Mengimplementasikan koneksi frontend ke backend
- Menggunakan version control git
- Menerapkan perintah eksekusi bahasa pemrograman berbasis teks, grafik, dan multimedia.
- Menyusun fungsi, file, atau sumber daya pemrograman yang lain dalam organisasi yang rapi.
- Menulis kode dengan prinsip sesuai guidelines dan best practices.
- Mengimplementasikan pemrograman terstruktur.
- Menggunakan Library atau komponen Pre-Existing.
Hari 1
- Mengimplementasikan UI dengan menggunakan html lalu menggunakan konsep tailwind css

Pembelajaran yang didapat :
- Memvalidasi form dari sisi client dan server side
- Belajar footer agar diganti setiap tahunnya
- Kembali lagi ke php native ygy tidak masalah ygy
Belajar php native mengupload gambar lalu disimpan ke database
<?php
include 'koneksi/koneksi.php';
function select($query){
global $conn;
$result = mysqli_query($conn, $query);
$rows = [];
while($row = mysqli_fetch_assoc($result)){
$rows[] = $row;
}
return $rows;
}
function tambah_pegawai($post, $files){
global $conn;
if (empty($post['nama_pegawai']) || empty($post['bidang_pegawai']) || empty($post['no_telepon'])) {
return 'Semua field harus diisi';
}
$nama = $post['nama_pegawai'];
$bidang = $post['bidang_pegawai'];
$no_telpon = $post['no_telepon'];
if($files["foto"]["error"] === 4){
echo"
<script
alert('Gambar Teknisi Belum Di Upload');
";
return false;
}
$fileName = $files["foto"]["name"];
$fileSize = $files["foto"]["size"];
$tmpName = $files["foto"]["tmp_name"];
$validImageExtension = ['jpg', 'jpeg', 'png'];
$imageExtension = strtolower(pathinfo($fileName, PATHINFO_EXTENSION));
if(!in_array($imageExtension, $validImageExtension)){
echo "
alert('Gambar harus jpg, jpeg, png');
";
return false;
}
if($fileSize > 5000000){
echo "
alert('Gambar tidak boleh lebih dari 5MB');
";
return false;
}
$newImageName = uniqid();
$newImageName .= ".".$imageExtension;
move_uploaded_file($tmpName, "./foto/".$newImageName );
mysqli_query($conn, "INSERT INTO pegawai (foto,nama_pegawai, bidang_pegawai, no_telpon) VALUES( '$newImageName', '$nama', '$bidang', '$no_telpon')");
return mysqli_affected_rows($conn);
}
function edit_pegawai($post){
global $conn;
$id = $post['id'];
$nama = $post['nama_pegawai'];
$bidang = $post['bidang_pegawai'];
$no_telpon = $post['no_telepon'];
mysqli_query($conn, "UPDATE pegawai SET nama_pegawai = '$nama', bidang_pegawai = '$bidang', no_telpon = '$no_telpon' WHERE id = '$id'");
return mysqli_affected_rows($conn);
}
function delete_pegawai($id){
global $conn;
mysqli_query($conn, "DELETE FROM pegawai WHERE id = '$id'");
return mysqli_affected_rows($conn);
}
Hari 3
- Upload file menggunakan php native
- Implementasi UI/UX ke dalam HTML
