Menambahkan React Router, Tailwind CSS, dan Fitur API di React.js Studi Kasus: Pengembangan Aplikasi Manajemen Pengajuan Cuti Karyawan dengan React.js dan Tailwind CSS

Menambahkan React Router, Tailwind CSS, dan Fitur Lanjutan di React.js

Setelah berhasil menginstal React.js, kita akan menambahkan:
React Router untuk navigasi halaman.
Tailwind CSS untuk styling yang cepat dan responsif.
Fitur tambahan seperti API Fetching dan Dark Mode.


1. Menambahkan React Router

📌 React Router digunakan untuk mengelola navigasi antar halaman di aplikasi React.

A. Instal React Router

Jalankan perintah berikut di terminal proyek React:

bash
npm install react-router-dom

B. Buat File Routing

  1. Buka src/ dan buat file baru routes.jsx, lalu tambahkan kode berikut:
    jsx
    import { BrowserRouter, Routes, Route } from "react-router-dom";
    import Home from "./pages/Home";
    import About from "./pages/About";
    import NotFound from "./pages/NotFound";
    function AppRoutes() {
    return (
    <BrowserRouter>
    <Routes>
    <Route path=“/” element={<Home />} />
    <Route path=“/about” element={<About />} />
    <Route path=“*” element={<NotFound />} />
    </Routes>
    </BrowserRouter>

    );
    }export default AppRoutes;

  2. Buat folder src/pages/, lalu buat file Home.jsx, About.jsx, dan NotFound.jsx.src/pages/Home.jsx
    jsx
    function Home() {
    return <h1>Halaman Utama</h1>;
    }
    export default Home;

    src/pages/About.jsx

    jsx
    function About() {
    return <h1>Tentang Kami</h1>;
    }
    export default About;

    src/pages/NotFound.jsx

    jsx
    function NotFound() {
    return <h1>404 - Halaman Tidak Ditemukan</h1>;
    }
    export default NotFound;
  3. Edit main.jsx untuk menggunakan routing ini:
    jsx
    import React from "react";
    import ReactDOM from "react-dom/client";
    import AppRoutes from "./routes";
    import "./index.css";
    ReactDOM.createRoot(document.getElementById(“root”)).render(
    <React.StrictMode>
    <AppRoutes />
    </React.StrictMode>

    );
  4. Tambahkan Navigasi di src/components/Navbar.jsx
    jsx

    import { Link } from "react-router-dom";

    function Navbar() {
    return (
    <nav>
    <ul>
    <li><Link to=“/”>Home</Link></li>
    <li><Link to=“/about”>About</Link></li>
    </ul>
    </nav>

    );
    }

    export default Navbar;

📌 Sekarang, aplikasi memiliki navigasi antar halaman!


2. Menambahkan Tailwind CSS

📌 Tailwind CSS memungkinkan styling yang cepat tanpa menulis banyak CSS manual.

A. Instal Tailwind CSS

Jalankan perintah berikut:

bash
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p

B. Konfigurasi Tailwind

  1. Edit tailwind.config.js
    Buka file tailwind.config.js, lalu ubah bagian content:

    js
    export default {
    content: ["./index.html", "./src/**/*.{js,jsx,ts,tsx}"],
    theme: {
    extend: {},
    },
    plugins: [],
    };
  2. Tambahkan Tailwind ke index.css Buka file src/index.css dan tambahkan:
    css
    @tailwind base;
    @tailwind components;
    @tailwind utilities;
  3. Coba Gunakan Tailwind di Home.jsx
    jsx
    function Home() {
    return (
    <div className="flex flex-col items-center justify-center h-screen bg-gray-100">
    <h1 className="text-4xl font-bold text-blue-500">Halaman Utama</h1>
    <p className="text-gray-700">Selamat datang di website React dengan Tailwind CSS!</p>
    </div>

    );
    }
    export default Home;

📌 Sekarang, aplikasi sudah menggunakan Tailwind CSS!


3. Menambahkan Fetch API untuk Data dari Backend

📌 Gunakan API Publik untuk menampilkan data pengguna secara dinamis.

A. Buat Komponen Fetch Data

  1. Buat src/components/UserList.jsx
    jsx

    import { useEffect, useState } from "react";

    function UserList() {
    const [users, setUsers] = useState([]);

    useEffect(() => {
    fetch(“https://jsonplaceholder.typicode.com/users”)
    .then((response) => response.json())
    .then((data) => setUsers(data));
    }, []);

    return (
    <div className=“p-5”>
    <h2 className=“text-2xl font-bold”>Daftar Pengguna</h2>
    <ul className=“list-disc pl-5”>
    {users.map((user) => (
    <li key={user.id}>{user.name}</li>
    ))}
    </ul>
    </div>

    );
    }

    export default UserList;

  2. Tambahkan ke Home.jsx
    jsx

    import UserList from "../components/UserList";

    function Home() {
    return (
    <div className=“flex flex-col items-center justify-center h-screen bg-gray-100”>
    <h1 className=“text-4xl font-bold text-blue-500”>Halaman Utama</h1>
    <UserList />
    </div>

    );
    }

    export default Home;

📌 Sekarang, aplikasi dapat mengambil data dari API dan menampilkannya di UI!


4. Menambahkan Mode Gelap (Dark Mode)

📌 Gunakan Tailwind untuk membuat fitur Dark Mode.

A. Tambahkan Dark Mode di tailwind.config.js

js
export default {
darkMode: "class", // Aktifkan mode gelap dengan class
content: ["./index.html", "./src/**/*.{js,jsx,ts,tsx}"],
theme: {
extend: {},
},
plugins: [],
};

B. Buat Tombol Dark Mode di Navbar.jsx

jsx

import { useState } from "react";

function Navbar() {
const [darkMode, setDarkMode] = useState(false);

function toggleDarkMode() {
setDarkMode(!darkMode);
document.documentElement.classList.toggle(“dark”);
}

return (
<nav className=“p-5 bg-white dark:bg-gray-800 shadow-md”>
<div className=“flex justify-between items-center”>
<h1 className=“text-xl font-bold dark:text-white”>Website React</h1>
<button
className=“px-3 py-1 bg-blue-500 text-white rounded dark:bg-gray-600”
onClick={toggleDarkMode}
>

{darkMode ? “Light Mode” : “Dark Mode”}
</button>
</div>
</nav>

);
}

export default Navbar;

📌 Sekarang, aplikasi memiliki fitur Dark Mode yang bisa diaktifkan dengan tombol!


Kesimpulan

🔥 React.js sekarang sudah memiliki:Navigasi multi-halaman dengan React Router
Desain responsif dengan Tailwind CSS
Fetching API untuk menampilkan data pengguna
Fitur Dark Mode untuk pengalaman lebih baik

Mengapa Sertifikasi BNSP yang Cocok adalah Front-End Developer?

Sertifikasi Front-End Developer dari BNSP merupakan sertifikasi kompetensi yang mengukur kemampuan seseorang dalam mengembangkan tampilan dan interaksi pengguna pada aplikasi web. Sertifikasi ini sangat cocok bagi mereka yang ingin membuktikan keahliannya dalam pengembangan front-end dengan standar nasional.


1. Apa Itu Sertifikasi Front-End Developer BNSP?

Sertifikasi Front-End Developer BNSP adalah sertifikasi yang diberikan kepada individu yang telah memenuhi Standar Kompetensi Kerja Nasional Indonesia (SKKNI) dalam bidang pengembangan front-end.

Sertifikasi ini mencakup pemrograman front-end, seperti:
HTML, CSS, dan JavaScript
Framework seperti React.js, Vue.js, atau Angular
Responsive Web Design (RWD)
Integrasi API dengan AJAX atau Fetch API
Version Control System (Git & GitHub)
Optimasi UI/UX untuk pengalaman pengguna yang lebih baik


2. Mengapa Front-End Developer Perlu Sertifikasi BNSP?

✅ Validasi Keahlian Profesional

  • Membuktikan bahwa Anda kompeten dalam pengembangan front-end dan sesuai dengan standar industri.
  • Membantu dalam mendapatkan pekerjaan lebih cepat karena memiliki sertifikasi resmi.

✅ Diakui Secara Nasional dan Industri

  • Sertifikasi ini diakui oleh perusahaan dan instansi di seluruh Indonesia.
  • Membantu meningkatkan kepercayaan diri dan kredibilitas profesional sebagai front-end developer.

✅ Meningkatkan Peluang Karier dan Gaji

  • Banyak perusahaan mencari developer bersertifikasi untuk memastikan kandidat memiliki kompetensi yang diperlukan.
  • Membuka kesempatan untuk mendapatkan proyek freelance, kontrak kerja, atau promosi di tempat kerja.

3. Skema Kompetensi dalam Sertifikasi BNSP Front-End Developer

Berikut adalah unit kompetensi utama yang diuji dalam sertifikasi ini:

A. Membangun Struktur dan Tampilan Web

Menggunakan HTML5 & CSS3 untuk membangun elemen dan layout halaman web.
Menggunakan Bootstrap, Tailwind CSS, atau framework lainnya untuk membuat desain responsif.
Memahami konsep SEO dasar untuk optimasi halaman web.

B. Mengembangkan Interaksi Pengguna dengan JavaScript

Menggunakan JavaScript (ES6+) untuk membuat animasi dan interaksi di web.
Menggunakan DOM Manipulation untuk mengontrol elemen di dalam web.
Menggunakan Fetch API / AJAX untuk komunikasi dengan backend.

C. Menggunakan Framework Front-End (React.js / Vue.js / Angular)

Menggunakan React.js untuk membuat komponen UI yang modular.
Menggunakan Vue.js atau Angular untuk membangun aplikasi web modern.
Mengelola state dengan Redux atau Vuex untuk aplikasi yang lebih kompleks.

D. Version Control dan Deployment

Menggunakan Git & GitHub untuk manajemen versi proyek.
Deploy aplikasi ke Netlify, Vercel, atau Firebase Hosting.


4. Persyaratan Mengikuti Sertifikasi Front-End Developer BNSP

Minimal Lulusan SMK/S1 di bidang IT atau memiliki pengalaman kerja di bidang front-end development.
Menguasai dasar-dasar HTML, CSS, dan JavaScript.
Memiliki portofolio proyek front-end (minimal satu proyek nyata).
Membawa perangkat laptop sendiri saat ujian sertifikasi.


5. Proses Sertifikasi Front-End Developer BNSP

📌 1. Pendaftaran

  • Mendaftar di LSP (Lembaga Sertifikasi Profesi) yang menyediakan skema Front-End Developer.
  • Mengisi formulir pendaftaran dan melengkapi dokumen pendukung (CV, portofolio, dll.).

📌 2. Ujian Teori & Praktek

  • Ujian teori menguji pemahaman tentang HTML, CSS, JavaScript, dan konsep front-end lainnya.
  • Ujian praktik berupa pembuatan website atau aplikasi web sederhana sesuai dengan studi kasus yang diberikan.

📌 3. Wawancara Asesor

  • Menghadapi sesi wawancara dengan asesor dari BNSP untuk menjelaskan proyek dan pendekatan dalam pengembangan front-end.

📌 4. Penerbitan Sertifikat

  • Jika dinyatakan kompeten, peserta akan mendapatkan sertifikat resmi BNSP yang berlaku selama 3 tahun.

6. Kesimpulan

Sertifikasi Front-End Developer BNSP sangat cocok bagi Anda yang ingin memvalidasi keterampilan profesional dalam pengembangan antarmuka web. Dengan sertifikat ini, Anda dapat:

Meningkatkan kredibilitas sebagai front-end developer profesional.
Mempermudah mendapatkan pekerjaan atau proyek freelance.
Mendapatkan pengakuan resmi sesuai dengan standar SKKNI.

Studi Kasus: Pengembangan Aplikasi Manajemen Pengajuan Cuti Karyawan dengan React.js dan Tailwind CSS

Latar Belakang: Perusahaan XYZ ingin meningkatkan efisiensi proses pengajuan cuti karyawan dengan membangun aplikasi web berbasis React.js yang dilengkapi dengan antarmuka responsif menggunakan Tailwind CSS. Aplikasi ini direncanakan untuk memungkinkan karyawan mengajukan cuti, melacak status permohonan, dan bagi HR untuk mengelola pengajuan cuti.

Langkah-langkah Pengembangan Aplikasi

  1. Instalasi dan Setup Proyek React
    • Buka terminal dan buat proyek baru dengan Vite:
      bash

      Copy
      npm create vite@latest cuti-karyawan --template react
      cd cuti-karyawan
      npm install
      
    • Install Tailwind CSS:
      bash

      Copy
      npm install -D tailwindcss postcss autoprefixer
      npx tailwindcss init -p
      
  2. Konfigurasi Tailwind CSS
    • Edit file tailwind.config.js untuk mengatur content:
      javascript

      Copy
      module.exports = {
        content: ["./index.html", "./src/**/*.{js,jsx,ts,tsx}"],
        theme: {
          extend: {},
        },
        plugins: [],
      };
      
    • Tambahkan direktif Tailwind di src/index.css:
      css

      Copy
      @tailwind base;
      @tailwind components;
      @tailwind utilities;
      
  3. Membuat Struktur Folder
    • Di dalam src/, buat folder baru bernama components dan pages untuk menampung komponen dan halaman.
  4. Membuat Komponen Pengajuan Cuti
    • Di src/components/LeaveRequestForm.jsx, buat komponen formulir untuk pengajuan cuti:
      jsx

      Copy
      import { useState } from 'react';
      
      function LeaveRequestForm() {
        const [formData, setFormData] = useState({
          name: '',
          startDate: '',
          endDate: '',
          leaveType: '',
          reason: '',
        });
      
        const handleChange = (e) => {
          setFormData({ ...formData, [e.target.name]: e.target.value });
        };
      
        const handleSubmit = (e) => {
          e.preventDefault();
          // Kirim data form ke API
        };
      
        return (
          <form onSubmit={handleSubmit} className="space-y-4">
            <input type="text" name="name" placeholder="Nama" onChange={handleChange} className="input"/>
            <input type="date" name="startDate" onChange={handleChange} className="input"/>
            <input type="date" name="endDate" onChange={handleChange} className="input"/>
            <select name="leaveType" onChange={handleChange} className="input">
              <option value="">Pilih Tipe Cuti</option>
              <option value="Tahunan">Cuti Tahunan</option>
              <option value="Sakit">Cuti Sakit</option>
            </select>
            <textarea name="reason" placeholder="Alasan Cuti" onChange={handleChange} className="input" />
            <button type="submit" className="btn">Ajukan Cuti</button>
          </form>
        );
      }
      
      export default LeaveRequestForm;
      
  5. Membuat Halaman Utama
    • Di src/pages/Home.jsx, tampilkan formulir pengajuan:
      jsx

      Copy
      import LeaveRequestForm from "../components/LeaveRequestForm";
      
      function Home() {
        return (
          <div className="flex flex-col items-center justify-center h-screen bg-gray-100">
            <h1 className="text-4xl font-bold text-blue-500">Pengajuan Cuti Karyawan</h1>
            <LeaveRequestForm />
          </div>
        );
      }
      
      export default Home;
      
  6. Integrasi Routing
    • Install React Router:
      bash

      Copy
      npm install react-router-dom
      
    • Tambahkan routing di src/routes.jsx:
      jsx

      Copy
      import { BrowserRouter, Routes, Route } from "react-router-dom";
      import Home from "./pages/Home";
      
      function AppRoutes() {
        return (
          <BrowserRouter>
            <Routes>
              <Route path="/" element={<Home />} />
            </Routes>
          </BrowserRouter>
        );
      }
      
      export default AppRoutes;
      
  7. Menghubungkan ke API
    • Di komponen LeaveRequestForm, tambahkan fungsi untuk mengirim data ke API (gunakan fetch).
  8. Menambahkan Dark Mode dan Fitur Lanjutan
    • Gunakan Tailwind untuk menambahkan fitur dark mode sebagaimana diinstruksikan sebelumnya.

Kesimpulan

Pelatihan dan pengembangan aplikasi manajemen pengajuan cuti menggunakan React.js memungkinkan perusahaan untuk meningkatkan efisiensi dalam pengelolaan proses yang sebelumnya manual. Dengan penerapan framework modern dan teknologi terkini, aplikasi ini memberikan kemampuan bagi karyawan untuk mengajukan cuti dengan lebih mudah dan transparan. Kami LSP memiliki skema pelatihan yang dirancang secara profesional, memberikan instruktur berpengalaman, dan menyediakan sertifikat BNSP yang relevan untuk meningkatkan pengakuan kompetensi peserta dalam bidang ini.

Leave a Reply

Your email address will not be published. Required fields are marked *