Lompat ke konten Lompat ke sidebar Lompat ke footer

Belajar CRUD MongoDB-PHP

 Aplikasi CRUD dengan MongoDB-PHP 

Materi ini membahas pengembangan aplikasi CRUD (Create, Read, Update, Delete) dengan menggunakan bahasa pemrograman PHP dan MongoDB sebagai basis data. Mata kuliah "Database Advanced" diajarkan oleh pengampu Khamarudin Syarif. Aplikasi yang akan kita kembangkan adalah sebuah sistem perpustakaan yang memungkinkan pengguna untuk mengelola daftar buku dalam koleksi perpustakaan.


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, Anda perlu mengunduh dan menginstal driver MongoDB PHP. Anda dapat mengikuti langkah-langkah berikut:


Download Driver MongoDB PHP:

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


Instalasi Driver MongoDB PHP:

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

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

Anda 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 Anda 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. Anda 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, Anda dapat menguji coba dengan membuka browser dan mengakses `http://localhost/mongodb/index.php`. Aplikasi ini memungkinkan Anda 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 Anda adalah sebagai berikut:

1. Buka Editor HTML: Buka editor HTML atau teks pilihan Anda, 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 Anda bat (misalnya, `index.php`).

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

6. Hasil:



Terima kasih, semoga bermanfaat!



Posting Komentar untuk "Belajar CRUD MongoDB-PHP"