Skip to main content

Pemrograman web Lengkap

Penggunaan Framework Frontend (Vue.js / Angular)

  Penggunaan Framework Frontend (Vue.js / Angular) Pada pengembangan aplikasi web modern, banyak pengembang yang menggunakan framework frontend untuk membangun antarmuka pengguna (UI) yang dinamis dan interaktif. Dua framework yang sering digunakan adalah Vue.js dan Angular , sementara React juga merupakan pilihan yang populer. Meskipun ketiganya digunakan untuk tujuan yang sama, mereka memiliki pendekatan dan karakteristik yang berbeda. Berikut adalah penjelasan teori mengenai pengantar Vue.js dan Angular , perbandingan dengan React , serta struktur dasar aplikasi Vue.js dan Angular dengan menggunakan Component-based Architecture . 1. Pengantar Vue.js atau Angular dan Perbedaan dengan React a. Pengenalan Vue.js Vue.js adalah framework JavaScript progresif yang digunakan untuk membangun antarmuka pengguna (UI) dan aplikasi satu halaman (SPA). Vue.js fokus pada kemudahan penggunaan, fleksibilitas, dan kemampuan untuk mengintegrasikan dengan proyek lain secara bertahap...

Perancangan Website Jasa Pelatihan Bisnis

 Membuat website jasa pelatihan dengan fitur login membutuhkan beberapa komponen, termasuk frontend, backend, dan database. Di bawah ini adalah contoh sederhana menggunakan HTML, CSS, JavaScript untuk frontend, PHP untuk backend, dan MySQL untuk database.


### 1. Struktur Folder

```

/project-pelatihan

├── /css

│   └── style.css

├── /js

│   └── script.js

├── /php

│   ├── config.php

│   ├── login.php

│   ├── register.php

│   └── dashboard.php

├── index.html

└── register.html

```


### 2. Database (MySQL)

Buat database dengan nama `pelatihan_db` dan tabel `users`.


```sql

CREATE DATABASE pelatihan_db;


USE pelatihan_db;


CREATE TABLE users (

    id INT AUTO_INCREMENT PRIMARY KEY,

    username VARCHAR(50) NOT NULL,

    email VARCHAR(100) NOT NULL,

    password VARCHAR(255) NOT NULL

);

```


### 3. File `config.php`

```php

<?php

$host = 'localhost';

$db   = 'pelatihan_db';

$user = 'root';

$pass = '';

$charset = 'utf8mb4';


$dsn = "mysql:host=$host;dbname=$db;charset=$charset";

$opt = [

    PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,

    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,

    PDO::ATTR_EMULATE_PREPARES   => false,

];

$pdo = new PDO($dsn, $user, $pass, $opt);

?>

```


### 4. File `index.html` (Halaman Login)

```html

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Login - Jasa Pelatihan</title>

    <link rel="stylesheet" href="css/style.css">

</head>

<body>

    <div class="login-container">

        <h2>Login</h2>

        <form id="loginForm">

            <div class="form-group">

                <label for="username">Username</label>

                <input type="text" id="username" name="username" required>

            </div>

            <div class="form-group">

                <label for="password">Password</label>

                <input type="password" id="password" name="password" required>

            </div>

            <button type="submit">Login</button>

        </form>

        <p>Belum punya akun? <a href="register.html">Daftar disini</a></p>

    </div>

    <script src="js/script.js"></script>

</body>

</html>

```


### 5. File `register.html` (Halaman Daftar)

```html

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Register - Jasa Pelatihan</title>

    <link rel="stylesheet" href="css/style.css">

</head>

<body>

    <div class="register-container">

        <h2>Register</h2>

        <form id="registerForm">

            <div class="form-group">

                <label for="username">Username</label>

                <input type="text" id="username" name="username" required>

            </div>

            <div class="form-group">

                <label for="email">Email</label>

                <input type="email" id="email" name="email" required>

            </div>

            <div class="form-group">

                <label for="password">Password</label>

                <input type="password" id="password" name="password" required>

            </div>

            <button type="submit">Register</button>

        </form>

        <p>Sudah punya akun? <a href="index.html">Login disini</a></p>

    </div>

    <script src="js/script.js"></script>

</body>

</html>

```


### 6. File `login.php` (Backend Login)

```php

<?php

session_start();

require 'config.php';


if ($_SERVER['REQUEST_METHOD'] == 'POST') {

    $username = $_POST['username'];

    $password = $_POST['password'];


    $stmt = $pdo->prepare('SELECT * FROM users WHERE username = ?');

    $stmt->execute([$username]);

    $user = $stmt->fetch();


    if ($user && password_verify($password, $user['password'])) {

        $_SESSION['user_id'] = $user['id'];

        header('Location: dashboard.php');

        exit;

    } else {

        echo "Username atau password salah!";

    }

}

?>

```


### 7. File `register.php` (Backend Daftar)

```php

<?php

require 'config.php';


if ($_SERVER['REQUEST_METHOD'] == 'POST') {

    $username = $_POST['username'];

    $email = $_POST['email'];

    $password = password_hash($_POST['password'], PASSWORD_BCRYPT);


    $stmt = $pdo->prepare('INSERT INTO users (username, email, password) VALUES (?, ?, ?)');

    if ($stmt->execute([$username, $email, $password])) {

        header('Location: index.html');

        exit;

    } else {

        echo "Gagal mendaftar!";

    }

}

?>

```


### 8. File `dashboard.php` (Halaman Dashboard)

```php

<?php

session_start();

if (!isset($_SESSION['user_id'])) {

    header('Location: index.html');

    exit;

}

?>

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Dashboard - Jasa Pelatihan</title>

    <link rel="stylesheet" href="css/style.css">

</head>

<body>

    <div class="dashboard-container">

        <h2>Selamat Datang di Jasa Pelatihan</h2>

        <p>Ini adalah halaman dashboard Anda.</p>

        <a href="logout.php">Logout</a>

    </div>

</body>

</html>

```


### 9. File `logout.php` (Logout)

```php

<?php

session_start();

session_destroy();

header('Location: index.html');

exit;

?>

```


### 10. File `css/style.css` (Styling)

```css

body {

    font-family: Arial, sans-serif;

    background-color: #f4f4f4;

    display: flex;

    justify-content: center;

    align-items: center;

    height: 100vh;

    margin: 0;

}


.login-container, .register-container, .dashboard-container {

    background-color: #fff;

    padding: 20px;

    border-radius: 8px;

    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);

    width: 300px;

    text-align: center;

}


h2 {

    margin-bottom: 20px;

}


.form-group {

    margin-bottom: 15px;

    text-align: left;

}


label {

    display: block;

    margin-bottom: 5px;

}


input {

    width: 100%;

    padding: 8px;

    box-sizing: border-box;

    border: 1px solid #ccc;

    border-radius: 4px;

}


button {

    width: 100%;

    padding: 10px;

    background-color: #28a745;

    color: #fff;

    border: none;

    border-radius: 4px;

    cursor: pointer;

}


button:hover {

    background-color: #218838;

}


p {

    margin-top: 15px;

}


a {

    color: #007bff;

    text-decoration: none;

}


a:hover {

    text-decoration: underline;

}

```


### 11. File `js/script.js` (JavaScript)

```javascript

document.getElementById('loginForm').addEventListener('submit', function(e) {

    e.preventDefault();

    const formData = new FormData(this);

    fetch('php/login.php', {

        method: 'POST',

        body: formData

    })

    .then(response => response.text())

    .then(data => {

        if (data === "Username atau password salah!") {

            alert(data);

        } else {

            window.location.href = 'php/dashboard.php';

        }

    })

    .catch(error => console.error('Error:', error));

});


document.getElementById('registerForm').addEventListener('submit', function(e) {

    e.preventDefault();

    const formData = new FormData(this);

    fetch('php/register.php', {

        method: 'POST',

        body: formData

    })

    .then(response => response.text())

    .then(data => {

        if (data === "Gagal mendaftar!") {

            alert(data);

        } else {

            window.location.href = 'index.html';

        }

    })

    .catch(error => console.error('Error:', error));

});

```


### 12. Penjelasan Singkat

- **Frontend**: HTML dan CSS digunakan untuk membuat tampilan yang menarik, sementara JavaScript digunakan untuk menangani form submission secara asinkron.

- **Backend**: PHP digunakan untuk menangani logika server, seperti autentikasi dan registrasi pengguna.

- **Database**: MySQL digunakan untuk menyimpan data pengguna.


### 13. Cara Menjalankan

1. Pastikan Anda memiliki server lokal seperti XAMPP atau MAMP.

2. Simpan semua file di folder `htdocs` (XAMPP) atau `www` (MAMP).

3. Buka phpMyAdmin dan buat database `pelatihan_db` serta tabel `users`.

4. Buka browser dan akses `http://localhost/project-pelatihan/index.html`.


### 14. Catatan

- Pastikan untuk mengamankan aplikasi dengan validasi input, sanitasi data, dan penggunaan HTTPS.

- Anda dapat menambahkan fitur-fitur lain seperti manajemen pelatihan, pembayaran, dll.


Dengan script ini, Anda memiliki dasar untuk membuat website jasa pelatihan dengan fitur login dan registrasi. Selamat mencoba!

Comments

Popular Post