CARA MEMBUAT APLIKASI CRUD DENGAN PHP & MONGODB

 Cara membuat aplikasi CRUD dengan PHP dan MongoDB

        Hallo teman - teman, hari ini kita akan sama - sama belajar tentang aplikasi CRUD dengan PHP dan MongoDB.

    Aplikasi CRUD dengan MongoDB-PHP 

    Materi pada kali kita akan membahas pengembangan aplikasi CRUD (Create, Read, Update, Delete) dengan menggunakan bahasa pemrograman PHP dan MongoDB sebagai basis data. Pada mata kuliah "Database Advanced" . Aplikasi yang akan kita kembangkan adalah sebuah sistem perpustakaan yang memungkinkan pengguna untuk mengelola daftar buku dalam koleksi perpustakaan secara mudah.


    Deskripsi Aplikasi

    Aplikasi CRUD ini akan memungkinkan pengguna untuk melakukan operasi tambah, edit, dan hapus data buku dalam perpustakaan. Data buku tersebut melibatkan informasi tentang judul buku dan tahun terbitnya.


    Koneksi dengan MongoDB

    Aplikasi ini akan terkoneksi langsung dengan basis data MongoDB. Untuk mengaktifkan koneksi PHP dengan MongoDB, teman - teman perlu mengunduh dan menginstal driver MongoDB PHP. Teman - teman dapat mengikuti langkah-langkah berikut :


    Download Driver MongoDB PHP:

- Unduh driver PHP MongoDB yang sesuai dengan versi PHP yang akan teman - teman gunakan di sini


    Instalasi Driver MongoDB PHP:

1. Unduh driver PHP MongoDB yang sesuai dengan versi PHP kita.

2. Pindahkan file `php_mongodb.dll` ke direktori `ext` dalam instalasi PHP (biasanya berada di `C:\xampp\php\ext` untuk pengguna XAMPP).

3. Edit file `php.ini` yang ada di `C:\xampp\php\php.ini`, dan tambahkan baris berikut di bagian ekstensi:

  extension=php_mongodb.dll


    Cek Instalasi:

1. Setelah melakukan langkah-langkah di atas, restart layanan Apache pada XAMPP Control Panel.

2. Buka browser dan ketikkan `http://localhost/dashboard/phpinfo.php`.

3. Pastikan bahwa MongoDB sudah terdaftar pada hasil PHP Info.


    Uji Koneksi dengan MongoDB

    Kita dapat menguji koneksi dengan MongoDB dengan membuat skrip PHP sederhana sebagai berikut:

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

echo "Koneksi ke MongoDB berhasil.";

?>

    Setelah membuat skrip tersebut, buka browser dan akses `http://localhost/mongodb/koneksi-mongodb.php`. Jika teman - teman melihat pesan "Koneksi ke MongoDB berhasil," itu berarti PHP telah berhasil terkoneksi dengan MongoDB.


    Pembuatan Aplikasi CRUD

    Aplikasi CRUD ini dibuat dalam folder `mongodb` pada direktori `C:\xampp\htdocs`. File `index.php` berisi seluruh logika aplikasi, termasuk tampilan dan operasi CRUD. Teman - teman dapat melihat isi dari file `index.php` [di sini](https://docs.google.com/document/d/1JFlofE0BICnLb9-Cz3LtzWG-pgxNmyFJW3wpfrhK8GA/edit?usp=sharing).


    Uji Coba CRUD

    Setelah membuat aplikasi CRUD, kita dapat menguji coba dengan membuka browser dan mengakses `http://localhost/mongodb/index.php`. Aplikasi ini memungkinkan kita untuk menambah, mengedit, dan menghapus data buku dalam koleksi perpustakaan.


 Kuis

        Kuis yang diberikan adalah untuk membuat basis data baru pada MongoDB dengan nama "polibest" dan koleksi "mahasiswa" yang memiliki atribut "nim," "nama," "email," dan "alamat." Setelah itu, Anda diminta untuk membuat aplikasi CRUD dengan PHP untuk mengelola data mahasiswa dalam koleksi tersebut.

        Langkah-langkah untuk memasukkan koding PHP dalam aplikasi CRUD MongoDB-PHP ke dalam dokumen HTML teman - teman adalah sebagai berikut:

1. Buka Editor HTML : Buka editor HTML atau teks pilihan kita, seperti Visual Studio Code.

2. Buat Folder Baru : Buat folder mongodb pada direktori C:\xampp\htdocs baru dengan ekstensi `.php`. Misalnya, simpan berkas dengan nama `index.php`.

3. Salin & Tempel Kode : Salin seluruh kode PHP dibawah ini dan tempel ke `index.php`.

<!DOCTYPE html>
<html>
<head>
    <title>Aplikasi CRUD Mahasiswa</title>
</head>
<body>
    <h1>Aplikasi CRUD Mahasiswa</h1>

    <?php
    // Inisialisasi koneksi MongoDB
    try {
        $mongo = new MongoDB\Driver\Manager("mongodb://localhost:27017");
        $database = "polibest";
    } catch (MongoDB\Driver\Exception\Exception $e) {
        echo "Koneksi MongoDB gagal: " . $e->getMessage();
        exit;
    }

    if (isset($_POST['tambah'])) {
        // Operasi tambah mahasiswa
        $nim = $_POST['nim'];
        $nama = $_POST['nama'];
        $email = $_POST['email'];
        $alamat = $_POST['alamat'];

        $bulk = new MongoDB\Driver\BulkWrite;
        $bulk->insert(['nim' => $nim, 'nama' => $nama, 'email' => $email, 'alamat' => $alamat]);

        $result = $mongo->executeBulkWrite("$database.mahasiswa", $bulk);
        if ($result) {
            header("Location: index.php");
        }
    } elseif (isset($_GET['hapus'])) {
        // Operasi hapus mahasiswa
        $id = new MongoDB\BSON\ObjectId($_GET['hapus']);

        $bulk = new MongoDB\Driver\BulkWrite;
        $bulk->delete(['_id' => $id]);

        $result = $mongo->executeBulkWrite("$database.mahasiswa", $bulk);
        if ($result) {
            header("Location: index.php");
        }
    } elseif (isset($_POST['edit'])) {
        // Operasi edit mahasiswa
        $id = new MongoDB\BSON\ObjectId($_POST['id']);
        $nim = $_POST['nim'];
        $nama = $_POST['nama'];
        $email = $_POST['email'];
        $alamat = $_POST['alamat'];

        $bulk = new MongoDB\Driver\BulkWrite;
        $bulk->update(['_id' => $id], ['$set' => ['nim' => $nim, 'nama' => $nama, 'email' => $email, 'alamat' => $alamat]]);

        $result = $mongo->executeBulkWrite("$database.mahasiswa", $bulk);
        if ($result) {
            header("Location: index.php");
        }
    }
    ?>

    <h2>Tambah Mahasiswa</h2>
    <form method="post" action="index.php">
        <label for="nim">NIM:</label>
        <input type="text" name="nim" required>
        <label for="nama">Nama:</label>
        <input type="text" name="nama" required>
        <label for="email">Email:</label>
        <input type="email" name="email" required>
        <label for="alamat">Alamat:</label>
        <input type="text" name="alamat" required>
        <button type="submit" name="tambah">Tambah</button>
    </form>

    <h2>Daftar Mahasiswa</h2>
    <table border="1">
        <tr>
            <th>NIM</th>
            <th>Nama</th>
            <th>Email</th>
            <th>Alamat</th>
            <th>Aksi</th>
        </tr>
        <?php
        $query = new MongoDB\Driver\Query([]);
        $result = $mongo->executeQuery("$database.mahasiswa", $query);

        foreach ($result as $mahasiswa) {
            echo "<tr>";
            echo "<td>" . $mahasiswa->nim . "</td>";
            echo "<td>" . $mahasiswa->nama . "</td>";
            echo "<td>" . $mahasiswa->email . "</td>";
            echo "<td>" . $mahasiswa->alamat . "</td>";
            echo "<td><a href='index.php?edit=" . $mahasiswa->_id . "'>Edit</a> | <a href='index.php?hapus=" . $mahasiswa->_id . "'>Hapus</a></td>";
            echo "</tr>";
        }
        ?>
    </table>

    <?php
    if (isset($_GET['edit'])) {
        $id = new MongoDB\BSON\ObjectId($_GET['edit']);
        $query = new MongoDB\Driver\Query(['_id' => $id]);
        $result = $mongo->executeQuery("$database.mahasiswa", $query);

        foreach ($result as $mahasiswa) {
    ?>
            <h2>Edit Mahasiswa</h2>
            <form method="post" action="index.php">
                <input type="hidden" name="id" value="<?php echo $mahasiswa->_id; ?>">
                <label for="nim">NIM:</label>
                <input type="text" name="nim" value="<?php echo $mahasiswa->nim; ?>" required>
                <label for="nama">Nama:</label>
                <input type="text" name="nama" value="<?php echo $mahasiswa->nama; ?>" required>
                <label for="email">Email:</label>
                <input type="email" name="email" value="<?php echo $mahasiswa->email; ?>" required>
                <label for="alamat">Alamat:</label>
                <input type="text" name="alamat" value="<?php echo $mahasiswa->alamat; ?>" required>
                <button type="submit" name="edit">Simpan Perubahan</button>
            </form>
    <?php
        }
    }
    ?>
</body>
</html>


4. Simpan Perubahan : Simpan perubahan yang telah teman - teman buat (misalnya, `index.php`).

5. Tes Aplikasi : Buka aplikasi dalam peramban web teman - teman dengan mengakses alamat `http://localhost/mongodb/index.php`. Kita dapat menguji operasi CRUD pada aplikasi tersebut.

6. Hasilnya akan menjadi seperti ini :



Tidak ada komentar:

Diberdayakan oleh Blogger.