{"id":55416,"date":"2025-06-18T09:10:18","date_gmt":"2025-06-18T02:10:18","guid":{"rendered":"https:\/\/www.rumahweb.com\/journal\/?p=55416"},"modified":"2026-02-16T10:27:35","modified_gmt":"2026-02-16T03:27:35","slug":"belajar-php-dasar-14","status":"publish","type":"post","link":"https:\/\/www.rumahweb.com\/journal\/belajar-php-dasar-14\/","title":{"rendered":"Belajar PHP Dasar Bagian 14 &#8211; Menerapkan OOP untuk CRUD"},"content":{"rendered":"\n<p>Setelah mempelajari konsep Inheritance pada OOP di seri belajar PHP dasar <a href=\"https:\/\/www.rumahweb.com\/journal\/belajar-php-dasar-13\/\" target=\"_blank\" rel=\"noopener\" title=\"\">bagian 13<\/a>, kini saatnya melanjutkan ke tahap yang lebih aplikatif, yaitu bagaimana menerapkan konsep OOP untuk membuat fungsi CRUD (Create, Read, Update, Delete). Materi ini penting untuk dipelajari, karena CRUD merupakan inti dari banyak aplikasi web.<\/p>\n\n\n\n<p>Dalam artikel belajar PHP dasar bagian 14 ini, kita akan belajar cara membuat CRUD sederhana menggunakan konsep OOP, serta pengelolaan data yang terhubung dengan database dengan konsep CRUD.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Apa itu CRUD?<\/strong><\/h2>\n\n\n\n<p>CRUD adalah singkatan dari <em>Create<\/em>, <em>Read<\/em>, <em>Update<\/em>, dan <em>Delete<\/em>, yaitu empat operasi dasar yang digunakan untuk mengelola data dalam aplikasi. Dalam PHP, CRUD berfungsi sebagai fondasi dalam membangun aplikasi web yang dinamis, seperti sistem manajemen data, blog, atau <em>e-commerce<\/em>. <\/p>\n\n\n\n<p>Dengan menerapkan fungsi CRUD, Anda dapat membuat data baru, menampilkan data yang tersimpan, memperbarui data yang ada, serta menghapus data yang tidak diperlukan secara efisien.<\/p>\n\n\n\n<p>Selengkapnya tentang CRUD bisa Anda pelajari di artikel berikut: <a href=\"https:\/\/www.rumahweb.com\/journal\/crud-adalah\/\" target=\"_blank\" rel=\"noopener\" title=\"crud adalah\">Apa Itu CRUD?<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Persiapan sistem<\/h2>\n\n\n\n<p>Untuk mengikuti panduan ini, pastikan Anda telah menyiapkan hal berikut ini:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Database dan tabel data yang diolah.<\/li>\n\n\n\n<li>Koneksi database.<\/li>\n\n\n\n<li>Membuat function\/method untuk mengelola data.<\/li>\n\n\n\n<li>Halaman utama untuk menampilkan dan pusat kelola data.<\/li>\n\n\n\n<li>Beberapa file php berbentuk form untuk input \/ edit data.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Membuat database dan tabel data&nbsp;<\/h2>\n\n\n\n<p>Skenario aplikasi yang akan digunakan pada sesi latihan saat ini adalah untuk mengelola data personal berupa nama, usia, domisili, dan alamat email. Kita namai database dengan nama \u2018datadiri\u2019 dan nama tabelnya \u2018personal\u2019, dan kita inputkan beberapa data sebagai contoh untuk menampilkan data.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-1.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"319\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-1-1024x319.jpg\" alt=\"\" class=\"wp-image-55550\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-1-1024x319.jpg 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-1-300x94.jpg 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-1-768x240.jpg 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-1-1536x479.jpg 1536w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-1-370x115.jpg 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-1-270x84.jpg 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-1-570x178.jpg 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-1-740x231.jpg 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-1.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-2.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"801\" height=\"690\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-2.jpg\" alt=\"input database crud\" class=\"wp-image-55552\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-2.jpg 801w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-2-300x258.jpg 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-2-768x662.jpg 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-2-370x319.jpg 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-2-270x233.jpg 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-2-570x491.jpg 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-2-740x637.jpg 740w\" sizes=\"auto, (max-width: 801px) 100vw, 801px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-3.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"605\" height=\"306\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-3.jpg\" alt=\"hasil input data pada database untuk crud\" class=\"wp-image-55553\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-3.jpg 605w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-3-300x152.jpg 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-3-370x187.jpg 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-3-270x137.jpg 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/membuat-database-3-570x288.jpg 570w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Koneksi Database<\/strong><\/h2>\n\n\n\n<p>Langkah selanjutnya, kita buat file database.php untuk koneksi database dengan script berikut: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php \nclass database{\n\tprotected $host = \"localhost\";\n\tprotected $username = \"root\";\n\tprotected $password = \"\";\n\tprotected $database = \"datadiri\";\n\tfunction __construct(){\n\t\t$conn = mysqli_connect($this-&gt;host, $this-&gt;username, $this-&gt;password, $this-&gt;database);\n\t\tif (!$conn) {\n\t\t\tdie(\"Koneksi gagal: \" . mysqli_connect_error());\n\t\t}\n\t\treturn $this-&gt;conn = $conn;\n\t}\n?&gt;<\/code><\/pre>\n\n\n\n<p>Pada <em>script <\/em>di atas, fungsi koneksi database dimasukkan ke dalam method <em>__construct<\/em>, agar saat <em>class <\/em>dipanggil, koneksi ke database otomatis dijalankan. Dengan begitu, Anda tidak perlu lagi memanggil fungsi koneksi secara terpisah di bagian bawah, dan bisa langsung mengeksekusi <em>query <\/em>yang diinginkan.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Membuat function\/method untuk mengelola data<\/h2>\n\n\n\n<p>Dalam rangka menerapkan OOP PHP dengan tujuan efisiensi kode, kita menggunakan database.php untuk menyimpan <em>function<\/em> atau <em>method <\/em>yang akan kita gunakan untuk membangun aplikasi. Di dalam <em>class <\/em>database, kita tambahkan <em>function <\/em>berikut :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function show(){\n\t$tampil = mysqli_query($this-&gt;conn, \"select * from personal\");\n\twhile($data = mysqli_fetch_assoc($tampil)){\n\t\t$hasil&#91;] = $data;\n\t}\n\treturn $hasil;\n}<\/code><\/pre>\n\n\n\n<p>Sehingga file database.php isinya akan berubah seperti berikut :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php \nclass database{\n\tprotected $host = \"localhost\";\n\tprotected $username = \"root\";\n\tprotected $password = \"\";\n\tprotected $database = \"datadiri\";\n\tfunction __construct(){\n\t\t$conn = mysqli_connect($this-&gt;host, $this-&gt;username, $this-&gt;password, $this-&gt;database);\n\t\tif (!$conn) {\n\t\t\tdie(\"Koneksi gagal: \" . mysqli_connect_error());\n\t\t}\n\t\treturn $this-&gt;conn = $conn;\n\t}\n\tfunction show(){\n\t\t$tampil = mysqli_query($this-&gt;conn, \"select * from personal\");\n\t\twhile($data = mysqli_fetch_assoc($tampil)){\n\t\t\t$hasil&#91;] = $data;\n\t\t}\n\t\treturn $hasil;\n\t}\n}\n?&gt;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Membuat homepage untuk menampilkan dan pusat kelola data<\/h2>\n\n\n\n<p>Data yang sudah kita buat dan simpan ke dalam database perlu ditampilkan di halaman website. Proses menampilkan data ini termasuk dalam operasi <code>Read<\/code> pada konsep CRUD. Untuk itu, kita akan membuat file <code>index.php<\/code>, dan agar tampilannya lebih menarik, kita juga bisa menambahkan <em>framework<\/em> Bootstrap. Langkah pertama, tambahkan <em>script <\/em><code>&lt;head&gt;<\/code> berikut ke dalam file <code>index.php<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;head&gt;\n\t&lt;title&gt;Data Diri&lt;\/title&gt;\n\t&lt;link rel=\"stylesheet\" href=\"css\/bootstrap.min.css\" type=\"text\/css\"&gt;\n\t&lt;script src=\"js\/bootstrap.min.js\"&gt;&lt;\/script&gt;\n&lt;\/head&gt;<\/code><\/pre>\n\n\n\n<p>Fungsinya untuk memanggil bootstrap ke file tersebut. Tidak lupa, kita panggil juga koneksi databasenya dengan menambahkan <em>script <\/em>ini di awal body.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php \ninclude 'database.php';\n$db = new database();\n?&gt;<\/code><\/pre>\n\n\n\n<p>Selanjutnya, kita buat sebuah <em>container<\/em> yang berisi tabel pada body, dimana dalam tabel tersebut kita gunakan utnuk menampilkan data dari database. berikut contoh script table yang akan kita gunakan:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\t&lt;table class=\"table\"&gt;\n\t\t&lt;thead class=\"thead-dark\"&gt;\n\t\t\t&lt;tr&gt;\n\t\t\t&lt;th&gt;Nama&lt;\/th&gt;\n\t\t\t&lt;th&gt;Usia&lt;\/th&gt;\n\t\t\t&lt;th&gt;Domisili&lt;\/th&gt;\n\t\t\t&lt;th&gt;Email&lt;\/th&gt;\n\t\t\t&lt;\/tr&gt;\n\t\t&lt;\/thead&gt;\n\t\t&lt;?php \n\t\t$numb = 1;\n\t\tforeach($database-&gt;show() as $a){ ?&gt;\n\t\t&lt;tr&gt;\n\t\t\t&lt;td&gt;&lt;?php echo $a&#91;'nama']; ?&gt;&lt;\/td&gt;\n\t\t\t&lt;td&gt;&lt;?php echo $a&#91;'usia']; ?&gt;&lt;\/td&gt;\n\t\t\t&lt;td&gt;&lt;?php echo $a&#91;'domisili']; ?&gt;&lt;\/td&gt;\n\t\t\t&lt;td&gt;&lt;?php echo $a&#91;'email']; ?&gt;&lt;\/td&gt;\n\t\t&lt;\/tr&gt;\n\t\t&lt;?php } ?&gt;\n\t&lt;\/table&gt;<\/code><\/pre>\n\n\n\n<p>Sehingga isi lengkap dari index.php berisi <em>script <\/em>seperti berikut :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;head&gt;\n\t&lt;title&gt;Data Diri&lt;\/title&gt;\n\t&lt;link rel=\"stylesheet\" href=\"css\/bootstrap.min.css\" type=\"text\/css\"&gt;\n\t&lt;script src=\"js\/bootstrap.min.js\"&gt;&lt;\/script&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n&lt;?php \ninclude 'database.php';\n$database = new database();\n?&gt;\n&lt;div class=\"p-md-4 container\"&gt;\n\t&lt;table class=\"table\"&gt;\n\t\t&lt;thead class=\"thead-dark\"&gt;\n\t\t\t&lt;tr&gt;\n\t\t\t&lt;th&gt;Nama&lt;\/th&gt;\n\t\t\t&lt;th&gt;Usia&lt;\/th&gt;\n\t\t\t&lt;th&gt;Domisili&lt;\/th&gt;\n\t\t\t&lt;th&gt;Email&lt;\/th&gt;\n\t\t\t&lt;\/tr&gt;\n\t\t&lt;\/thead&gt;\n\t\t&lt;?php \n\t\t$numb = 1;\n\t\tforeach($database-&gt;show() as $a){ ?&gt;\n\t\t&lt;tr&gt;\n\t\t\t&lt;td&gt;&lt;?php echo $a&#91;'nama']; ?&gt;&lt;\/td&gt;\n\t\t\t&lt;td&gt;&lt;?php echo $a&#91;'usia']; ?&gt;&lt;\/td&gt;\n\t\t\t&lt;td&gt;&lt;?php echo $a&#91;'domisili']; ?&gt;&lt;\/td&gt;\n\t\t\t&lt;td&gt;&lt;?php echo $a&#91;'email']; ?&gt;&lt;\/td&gt;\n\t\t&lt;\/tr&gt;\n\t\t&lt;?php } ?&gt;\n\t&lt;\/table&gt;\n&lt;\/div&gt;\n&lt;\/body&gt;<\/code><\/pre>\n\n\n\n<p>Setelah dua file ini kita buat, selanjutnya kita dapat mengakses index.php untuk melakukan pengetesan. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pengujian<\/h2>\n\n\n\n<p>Langkah terakhir yang kita lakukan adalah pengujian. Silahkan akses localhost sesuai data index.php Anda simpan. Di panduan ini, kami menyimpan data index pada directory <em>\/oop\/index.php<\/em>. Oleh karena itu, test kami lakukan dengan menggunakan url berikut: <em>localhost\/oop\/index.php<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/pengujian-oop-crud.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"252\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/pengujian-oop-crud-1024x252.png\" alt=\"hasil menampilkan data crud - belajar php dasar bagian 14\" class=\"wp-image-55554\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/pengujian-oop-crud-1024x252.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/pengujian-oop-crud-300x74.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/pengujian-oop-crud-768x189.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/pengujian-oop-crud-1536x378.png 1536w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/pengujian-oop-crud-370x91.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/pengujian-oop-crud-270x66.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/pengujian-oop-crud-570x140.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/pengujian-oop-crud-740x182.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/pengujian-oop-crud.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Penutup<\/h2>\n\n\n\n<p>Pada sesi belajar PHP dasar bagian 14 ini, kita telah berhasil menampilkan data (<em>Read<\/em>) dari database menggunakan konsep <em>Object-Oriented Programming<\/em> (OOP) di PHP. Ini menjadi fondasi penting dalam membangun aplikasi CRUD, yang nantinya bisa dikembangkan lebih lanjut untuk fitur Create, Update, maupun Delete.<\/p>\n\n\n\n<p>Demikian pembahasan mengenai penerapan OOP dalam proses CRUD di PHP. Tetap ikuti seri belajar PHP dasar dari Rumahweb Indonesia untuk materi-materi menarik lainnya. Semoga artikel ini bermanfaat dan membantu Anda dalam memahami dasar-dasar pengembangan aplikasi dengan PHP.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Setelah mempelajari konsep Inheritance pada OOP di seri belajar PHP dasar bagian 13, kini saatnya melanjutkan ke tahap yang lebih aplikatif, yaitu bagaimana menerapkan konsep OOP untuk membuat fungsi CRUD (Create, Read, Update, Delete). Materi ini penting untuk dipelajari, karena CRUD merupakan inti dari banyak aplikasi web. Dalam artikel belajar PHP dasar bagian 14 ini, [&hellip;]<\/p>\n","protected":false},"author":352,"featured_media":55557,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[7],"tags":[1749,2332,2247,2493,45],"class_list":{"0":"post-55416","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-web-programming","8":"tag-belajar-php","9":"tag-belajar-php-dasar","10":"tag-crud","11":"tag-oop","12":"tag-php"},"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/06\/banner-belajar-php-dasar-14.png","jetpack_shortlink":"https:\/\/wp.me\/p8n3G7-epO","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/55416","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/users\/352"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/comments?post=55416"}],"version-history":[{"count":1,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/55416\/revisions"}],"predecessor-version":[{"id":61935,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/55416\/revisions\/61935"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media\/55557"}],"wp:attachment":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media?parent=55416"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/categories?post=55416"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/tags?post=55416"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}