{"id":64889,"date":"2026-06-24T08:30:00","date_gmt":"2026-06-24T01:30:00","guid":{"rendered":"https:\/\/www.rumahweb.com\/journal\/?p=64889"},"modified":"2026-06-19T14:59:40","modified_gmt":"2026-06-19T07:59:40","slug":"cara-membuat-website-php-sederhana-dengan-koneksi-api","status":"publish","type":"post","link":"https:\/\/www.rumahweb.com\/journal\/cara-membuat-website-php-sederhana-dengan-koneksi-api\/","title":{"rendered":"Cara Membuat Website PHP Sederhana dengan koneksi API"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Belajar membuat website PHP tidak lagi sebatas menampilkan halaman statis atau mengolah data dari database sendiri. Saat ini, banyak website memanfaatkan API untuk mengambil informasi dari layanan lain, seperti data cuaca, kurs mata uang, peta, hingga sistem pembayaran, sehingga aplikasi yang dibuat menjadi lebih dinamis dan interaktif.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dengan menghubungkan website PHP ke API, Anda dapat menampilkan data secara real-time tanpa harus menyimpan semuanya di server sendiri. Konsep ini juga menjadi dasar pengembangan banyak aplikasi web modern yang saling terintegrasi melalui layanan berbasis REST API.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dalam artikel ini, kita akan mempelajari cara membuat website PHP sederhana dengan koneksi API, mulai dari persiapan proyek, proses mengambil data dari API, hingga menampilkan hasilnya di halaman web dengan mudah sehingga cocok dipraktikkan oleh pemula.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Persiapan Sebelum Membuat Website PHP<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sebelum mulai membuat website PHP, ada beberapa komponen yang perlu disiapkan terlebih dahulu. Komponen ini akan digunakan untuk menjalankan aplikasi, menyimpan data, serta melakukan pengujian koneksi API.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pada panduan ini, Anda dapat menggunakan lingkungan lokal seperti XAMPP atau Laragon. Namun, jika ingin langsung mengakses website melalui internet, Anda juga bisa menggunakan layanan <strong><a href=\"https:\/\/www.rumahweb.com\/hosting-murah\/\" target=\"_blank\" rel=\"noopener\" title=\"\">hosting <\/a><\/strong>yang sudah mendukung PHP dan MySQL.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Berikut beberapa kebutuhan yang perlu disiapkan:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>PHP 8.x atau versi terbaru<\/li>\n\n\n\n<li>Database MySQL\/MariaDB<\/li>\n\n\n\n<li>Web server (Apache atau Nginx)<\/li>\n\n\n\n<li>Text editor seperti Visual Studio Code<\/li>\n\n\n\n<li>Browser untuk pengujian aplikasi<\/li>\n\n\n\n<li>Hosting (opsional) jika ingin langsung online<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Setelah seluruh kebutuhan di atas tersedia, kita dapat mulai membuat website PHP sederhana yang nantinya akan terhubung dengan API.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Mengenal API Secara Singkat<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">API (<em>Application Programming Interface<\/em>) adalah mekanisme yang memungkinkan dua aplikasi saling bertukar data tanpa harus mengakses database secara langsung. Dengan API, sebuah aplikasi dapat meminta data dari aplikasi lain melalui alamat atau <em>endpoint <\/em>tertentu, kemudian menerima <em>respons <\/em>dalam format yang mudah diproses, seperti JSON.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sebagai contoh, ketika Anda membuka aplikasi cuaca di <em>smartphone<\/em>, data cuaca tersebut biasanya tidak disimpan di aplikasi itu sendiri. Aplikasi hanya meminta data ke server penyedia cuaca melalui API, lalu menampilkan hasilnya kepada pengguna.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Membuat Web PHP untuk Biodata<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pada tutorial ini, kita akan membuat API sederhana menggunakan PHP. API tersebut akan mengambil data biodata dari database, kemudian mengubahnya menjadi format JSON sehingga dapat digunakan oleh website atau aplikasi lain.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anda dapat menjalankannya terlebih dahulu di localhost menggunakan <a href=\"https:\/\/blog.rumahweb.com\/xampp-adalah\/\" target=\"_blank\" rel=\"noopener\" title=\"\">XAMPP<\/a> atau Laragon agar proses pengembangan dan pengujian menjadi lebih mudah. Secara umum, aplikasi yang akan kita buat memiliki skema seperti berikut.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/php-sederhana-api.png\"><img loading=\"lazy\" decoding=\"async\" width=\"275\" height=\"296\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/php-sederhana-api.png\" alt=\"Membuat Website PHP + API\" class=\"wp-image-64898\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/php-sederhana-api.png 275w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/php-sederhana-api-270x291.png 270w\" sizes=\"auto, (max-width: 275px) 100vw, 275px\" \/><\/a><figcaption class=\"wp-element-caption\">Arsitektur PHP &amp; API<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Gambar diatas merupakan flow dari program PHP dan API yang akan kita buat.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1. Buat script <strong>index.php<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Script <\/em>ini akan menampilan form penginputan data seperti nama, alamat dan lain-lain.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;head&gt;\n    &lt;title&gt;Biodata&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n&lt;center&gt;\n&lt;form action=\"simpan.php\" method=\"post\"&gt;\n\n    &lt;input\n        type=\"text\"\n        name=\"nama\"\n        placeholder=\"Nama\"\n        required\n    &gt;&lt;br&gt;&lt;br&gt;\n\n    &lt;input\n        type=\"date\"\n        name=\"tanggal_lahir\"\n        required\n    &gt;&lt;br&gt;&lt;br&gt;\n\n    &lt;textarea\n        name=\"alamat\"\n        placeholder=\"Alamat\"\n    &gt;&lt;\/textarea&gt;&lt;br&gt;&lt;br&gt;\n\n    &lt;input\n        type=\"text\"\n        name=\"moto\"\n        placeholder=\"moto\"\n    &gt;&lt;br&gt;&lt;br&gt;\n\n    &lt;button type=\"submit\"&gt;\n        Simpan\n    &lt;\/button&gt;\n\n&lt;\/form&gt;\n&lt;\/center&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2. Buat script <strong>simpan.php<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Script ini akan menjadi handler dalam memproses inputan pada form index yang akan disimpan pada database.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\nrequire_once 'config.php';\n\ntry {\n\n    $nama = trim($_POST&#91;'nama'] ?? '');\n    $tanggalLahir = trim($_POST&#91;'tanggal_lahir'] ?? '');\n    $alamat = trim($_POST&#91;'alamat'] ?? '');\n    $moto = trim($_POST&#91;'moto'] ?? '');\n\n    if (empty($nama) || empty($tanggalLahir)) {\n        die(\"Nama dan tanggal lahir wajib diisi\");\n    }\n\n    $sql = \"\n        INSERT INTO biodata (nama, tanggal_lahir, alamat, moto)\n        VALUES (:nama, :tanggal_lahir, :alamat, :moto)\n    \";\n\n    $stmt = $pdo-&gt;prepare($sql);\n    $stmt-&gt;execute(&#91;\n        'nama' =&gt; $nama,\n        'tanggal_lahir' =&gt; $tanggalLahir,\n        'alamat' =&gt; $alamat,\n        'moto' =&gt; $moto\n    ]);\n\n    $lastId = $pdo-&gt;lastInsertId();\n\n    header(\"Location: output.php?id=\" . $lastId);\n    exit;\n\n} catch (Exception $e) {\n    die(\"Error: \" . $e-&gt;getMessage());\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3. Buat script <strong>api.php<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ini adalah bagian penting ketika Anda ingin membuat data webnya memiliki <code>endpoint<\/code> API agar dapat digunakan oleh pihak eksternal tanpa mereka perlu akses database asli secara langsung.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\nrequire_once 'config.php';\n\nheader('Content-Type: application\/json; charset=utf-8');\n\ntry {\n\n    $id = $_GET&#91;'id'] ?? null;\n    $nama = trim($_GET&#91;'nama'] ?? '');\n    $tanggalLahir = trim($_GET&#91;'tanggal_lahir'] ?? '');\n\n    $sql = '';\n    $params = &#91;];\n\n    if (!empty($id)) {\n\n        $sql = \"\n            SELECT *\n            FROM biodata\n            WHERE id = :id\n        \";\n\n        $params&#91;'id'] = (int)$id;\n\n    } elseif (!empty($nama)) {\n\n        $sql = \"\n            SELECT *\n            FROM biodata\n            WHERE nama LIKE :nama\n        \";\n\n        $params&#91;'nama'] = \"%{$nama}%\";\n\n    } elseif (!empty($tanggalLahir)) {\n\n        $sql = \"\n            SELECT *\n            FROM biodata\n            WHERE tanggal_lahir = :tanggal_lahir\n        \";\n\n        $params&#91;'tanggal_lahir'] = $tanggalLahir;\n\n    } else {\n\n        http_response_code(400);\n\n        echo json_encode(&#91;\n            'success' =&gt; false,\n            'message' =&gt; 'Parameter tidak valid. Gunakan salah satu: id, nama, atau tanggal_lahir.'\n        ], JSON_PRETTY_PRINT);\n\n        exit;\n    }\n\n    $stmt = $pdo-&gt;prepare($sql);\n    $stmt-&gt;execute($params);\n\n    $data = $stmt-&gt;fetchAll(PDO::FETCH_ASSOC);\n\n    if (empty($data)) {\n\n        http_response_code(404);\n\n        echo json_encode(&#91;\n            'success' =&gt; false,\n            'message' =&gt; 'Data tidak ditemukan'\n        ], JSON_PRETTY_PRINT);\n\n        exit;\n    }\n\n    echo json_encode(&#91;\n        'success' =&gt; true,\n        'total' =&gt; count($data),\n        'data' =&gt; $data\n    ], JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);\n\n} catch (Exception $e) {\n\n    http_response_code(500);\n\n    echo json_encode(&#91;\n        'success' =&gt; false,\n        'message' =&gt; 'Internal Server Error',\n        'error' =&gt; $e-&gt;getMessage()\n    ], JSON_PRETTY_PRINT);\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4. Buat script <strong>output.php<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Script ini akan menampilkan hasil inputan form yang tersimpan di database secara langsung di <em>browser<\/em>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\nrequire_once 'config.php';\n\n$id = $_GET&#91;'id'] ?? 0;\n\nif (!$id) {\n    die(\"ID tidak ditemukan\");\n}\n\n$sql = \"SELECT * FROM biodata WHERE id = :id\";\n$stmt = $pdo-&gt;prepare($sql);\n$stmt-&gt;execute(&#91;'id' =&gt; $id]);\n\n$data = $stmt-&gt;fetch(PDO::FETCH_ASSOC);\n\nif (!$data) {\n    die(\"Data tidak ditemukan\");\n}\n\n?&gt;\n\n&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;head&gt;\n    &lt;title&gt;Output Biodata&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n\n&lt;h2&gt;Data Berhasil Disimpan&lt;\/h2&gt;\n\n&lt;table border=\"1\" cellpadding=\"8\"&gt;\n    &lt;tr&gt;\n        &lt;td&gt;Nama&lt;\/td&gt;\n        &lt;td&gt;&lt;?= htmlspecialchars($data&#91;'nama']) ?&gt;&lt;\/td&gt;\n    &lt;\/tr&gt;\n    &lt;tr&gt;\n        &lt;td&gt;Tanggal Lahir&lt;\/td&gt;\n        &lt;td&gt;&lt;?= htmlspecialchars($data&#91;'tanggal_lahir']) ?&gt;&lt;\/td&gt;\n    &lt;\/tr&gt;\n    &lt;tr&gt;\n        &lt;td&gt;Alamat&lt;\/td&gt;\n        &lt;td&gt;&lt;?= htmlspecialchars($data&#91;'alamat']) ?&gt;&lt;\/td&gt;\n    &lt;\/tr&gt;\n    &lt;tr&gt;\n        &lt;td&gt;Moto&lt;\/td&gt;\n        &lt;td&gt;&lt;?= htmlspecialchars($data&#91;'moto']) ?&gt;&lt;\/td&gt;\n    &lt;\/tr&gt;\n&lt;\/table&gt;\n\n&lt;br&gt;\n\n&lt;a href=\"index.php\"&gt;Kembali&lt;\/a&gt;\n\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5. Buat script <strong>config.php<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Anda memerlukan file ini sebagai koneksi database.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\n$host = 'localhost';\n$dbname = 'nama-db';\n$username = 'user-db';\n$password = 'password-db';\n\ntry {\n    $pdo = new PDO(\n        \"mysql:host=$host;dbname=$dbname;charset=utf8mb4\",\n        $username,\n        $password\n    );\n\n    $pdo-&gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);\n\n} catch (PDOException $e) {\n\n    die('Koneksi database gagal: ' . $e-&gt;getMessage());\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Step 6. Query database<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Silahkan buat database kemudian buat table menggunakan <em>query <\/em>dibawah:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE TABLE `biodata` (\n  `id` int(11) NOT NULL,\n  `nama` varchar(100) NOT NULL,\n  `tanggal_lahir` date NOT NULL,\n  `alamat` text DEFAULT NULL,\n  `moto` varchar(255) DEFAULT NULL,\n  `created_at` timestamp NULL DEFAULT current_timestamp()\n) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Percobaan Input Data dan Koneksi API<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Kami akan memulai dengan menginputkan data seperti contoh gambar dibawah:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/php-sederhana.png\"><img loading=\"lazy\" decoding=\"async\" width=\"209\" height=\"188\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/php-sederhana.png\" alt=\"Percobaan Input Data dan Koneksi API\" class=\"wp-image-64913\" style=\"aspect-ratio:1.1117114121851883;width:256px;height:auto\"\/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Silahkan disesuaikan dengan percobaan Anda sendiri, kemudian klik tombol <strong>simpan<\/strong>. Jika berhasil, Anda akan melihat hasil dengan contoh gambar dibawah:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/hasil-php-sederhana.png\"><img loading=\"lazy\" decoding=\"async\" width=\"553\" height=\"263\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/hasil-php-sederhana.png\" alt=\"Silahkan disesuaikan dengan percobaan Anda sendiri, kemudian klik tombol simpan. Jika berhasil, Anda akan melihat hasil dengan contoh gambar dibawah:\" class=\"wp-image-64918\" style=\"aspect-ratio:2.1027271106886105;width:574px;height:auto\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/hasil-php-sederhana.png 553w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/hasil-php-sederhana-300x143.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/hasil-php-sederhana-370x176.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/hasil-php-sederhana-270x128.png 270w\" sizes=\"auto, (max-width: 553px) 100vw, 553px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Pada gambar diatas, terdapat parameter <strong>id=4<\/strong> yang merupakan data dari inputan Anda ke database. Parameter tersebut akan digunakan sebagai koneksi API.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Testing Koneksi API<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Setelah menambahkan data, silahkan akses menggunakan endpoint: <strong>localhost\/biodata\/api.php?id=4<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/api-sederhana.png\"><img loading=\"lazy\" decoding=\"async\" width=\"460\" height=\"257\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/api-sederhana.png\" alt=\"Testing Koneksi API\" class=\"wp-image-64925\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/api-sederhana.png 460w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/api-sederhana-300x168.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/api-sederhana-370x207.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/api-sederhana-270x151.png 270w\" sizes=\"auto, (max-width: 460px) 100vw, 460px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Jika menggunakan nama domain, maka ganti localhost dengan nama domain Anda sendiri. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Setelah memastikan web utama Anda sudah berhasil memberikan respon, maka pihak eksternal dapat menggunakan datanya dengan bebas <span style=\"text-decoration: underline;\">hanya untuk melihat<\/span>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Testing koneksi API eksternal<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Contoh script eksternal ketika ingin melakukan koneksi API ke website Anda dan untuk menampilkan data dari <strong>id=4<\/strong> :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n$url = \"https:\/\/namadomain-anda\/biodata\/api.php?id=4\";\n$ch = curl_init();\ncurl_setopt($ch, CURLOPT_URL, $url);\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n$response = curl_exec($ch);\n\nif (curl_errno($ch)) {\n    die(\"Error: \" . curl_error($ch));\n}\n\ncurl_close($ch);\n$data = json_decode($response, true);\n\nif ($data&#91;'success'] === true) {\n    $biodata = $data&#91;'data']&#91;0];\n    echo \"&lt;table border='1' cellpadding='8'&gt;\";\n    echo \"&lt;tr&gt;&lt;td&gt;ID&lt;\/td&gt;&lt;td&gt;{$biodata&#91;'id']}&lt;\/td&gt;&lt;\/tr&gt;\";\n    echo \"&lt;tr&gt;&lt;td&gt;Nama&lt;\/td&gt;&lt;td&gt;{$biodata&#91;'nama']}&lt;\/td&gt;&lt;\/tr&gt;\";\n    echo \"&lt;tr&gt;&lt;td&gt;Tanggal Lahir&lt;\/td&gt;&lt;td&gt;{$biodata&#91;'tanggal_lahir']}&lt;\/td&gt;&lt;\/tr&gt;\";\n    echo \"&lt;tr&gt;&lt;td&gt;Alamat&lt;\/td&gt;&lt;td&gt;{$biodata&#91;'alamat']}&lt;\/td&gt;&lt;\/tr&gt;\";\n    echo \"&lt;tr&gt;&lt;td&gt;Moto&lt;\/td&gt;&lt;td&gt;{$biodata&#91;'moto']}&lt;\/td&gt;&lt;\/tr&gt;\";\n    echo \"&lt;tr&gt;&lt;td&gt;Created At&lt;\/td&gt;&lt;td&gt;{$biodata&#91;'created_at']}&lt;\/td&gt;&lt;\/tr&gt;\";\n    echo \"&lt;\/table&gt;\";\n\n} else {\n    echo \"Data tidak ditemukan.\";\n}\n\n?&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Apabila koneksi API berhasil, maka datanya akan tampil di website eksternal seperti gambar dibawah:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/eksternal-api-sederhana.png\"><img loading=\"lazy\" decoding=\"async\" width=\"412\" height=\"250\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/eksternal-api-sederhana.png\" alt=\"Apabila koneksi API berhasil, maka datanya akan tampil di website eksternal seperti gambar dibawah:\" class=\"wp-image-64930\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/eksternal-api-sederhana.png 412w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/eksternal-api-sederhana-300x182.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/eksternal-api-sederhana-370x225.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/eksternal-api-sederhana-270x164.png 270w\" sizes=\"auto, (max-width: 412px) 100vw, 412px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Pemberian <em>query <\/em>string <strong>id <\/strong>pada endpoint API, sangat penting agar data yang dipanggil dan ditampilkan merupakan hasil yang sesuai.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Jika pemanggilan <em>endpoint <\/em>api tidak lengkap, maka akan muncul pesan seperti gambar dibawah:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/endpoint-api-serderhana.png\"><img loading=\"lazy\" decoding=\"async\" width=\"579\" height=\"155\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/endpoint-api-serderhana.png\" alt=\"Pemberian id pada endpoint API sangat penting agar data yang dihasilkan benar. Jika tidak pemanggilan api tidak lengkap, maka akan muncul pesan seperti gambar dibawah:\" class=\"wp-image-64933\" style=\"aspect-ratio:3.736136317806009;width:706px;height:auto\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/endpoint-api-serderhana.png 579w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/endpoint-api-serderhana-300x80.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/endpoint-api-serderhana-370x99.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/endpoint-api-serderhana-270x72.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/endpoint-api-serderhana-570x153.png 570w\" sizes=\"auto, (max-width: 579px) 100vw, 579px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Selain itu, apabila <strong>id<\/strong> atau <strong>nama<\/strong>\/<strong>tanggal_lahir <\/strong>tidak tersimpan di database, maka akan mendapatkan respon:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">{\n    \"success\": false,\n    \"message\": \"Data tidak ditemukan\"\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Dengan menyediakan akses API, data web Anda akan dengan mudah di sebarkan dan digunakan oleh pihak ketiga tanpa perlu konfigurasi khusus. Hal ini tentu akan sangat bermanfaat jika tujuan web Anda adalah layanan <strong>SaaS<\/strong> (atau <em>Software as a Service<\/em>).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Troubleshooting<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Selama proses membuat website PHP dan menghubungkannya dengan API, Anda mungkin menemui beberapa kendala. Berikut beberapa masalah yang paling sering terjadi beserta solusi yang dapat dicoba.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Data tidak berhasil disimpan ke database<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Apabila data tidak masuk ke database setelah tombol <strong>Simpan<\/strong> diklik, pastikan konfigurasi koneksi pada file <code>config.php<\/code> sudah benar. Selain itu, periksa kembali nama database, username, password, serta nama tabel yang digunakan pada query SQL.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. API tidak menampilkan data JSON<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Jika endpoint API hanya menampilkan halaman kosong atau pesan error, pastikan parameter yang dikirim sudah benar, misalnya:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;localhost\/biodata\/api.php?id=1<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Selain itu, cek apakah data dengan ID tersebut memang sudah tersedia di database.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Muncul error koneksi database<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Error seperti <strong>Access denied<\/strong>, <strong>Unknown database<\/strong>, atau <strong>Connection failed<\/strong> biasanya disebabkan oleh konfigurasi database yang tidak sesuai. Periksa kembali nilai <code>hostname<\/code>, <code>username<\/code>, <code>password<\/code>, dan <code>database<\/code> pada file <code>config.php<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. PHP cURL gagal mengambil data API<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Apabila script cURL tidak menghasilkan output, pastikan URL <em>endpoint <\/em>dapat diakses melalui browser terlebih dahulu. Jika menggunakan HTTPS, pastikan sertifikat SSL valid atau sesuaikan konfigurasi cURL apabila masih menggunakan sertifikat <em><a href=\"https:\/\/www.rumahweb.com\/journal\/self-signed-certificate\/\" target=\"_blank\" rel=\"noopener\" title=\"ssl self-signed\">self-signed<\/a><\/em>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Data JSON berhasil diambil tetapi tidak tampil di halaman<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Masalah ini biasanya disebabkan oleh proses decoding JSON yang gagal atau penamaan key yang tidak sesuai. Pastikan struktur data yang diterima dari API sama dengan key yang dipanggil pada script PHP.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Penutup<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Belajar membuat website PHP tidak hanya sebatas menampilkan halaman web atau menyimpan data ke database. Dengan menambahkan koneksi API, website yang Anda bangun dapat saling bertukar data dengan aplikasi lain sehingga lebih fleksibel untuk dikembangkan menjadi sistem yang lebih modern.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pada tutorial ini, kita telah mempelajari cara membuat website PHP sederhana untuk mengolah data biodata, menyimpan data ke MySQL, membuat endpoint API, hingga mengambil data tersebut menggunakan PHP cURL dari aplikasi eksternal. Konsep sederhana ini merupakan fondasi penting sebelum mempelajari REST API, integrasi layanan pihak ketiga, maupun pengembangan aplikasi berbasis framework seperti Laravel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Itu dia artikel kami tentang bagaimana <span style=\"text-decoration: underline;\">Cara membuat website PHP sederhana dengan koneksi API<\/span>, semoga dapat membantu.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Belajar membuat website PHP tidak lagi sebatas menampilkan halaman statis atau mengolah data dari database sendiri. Saat ini, banyak website memanfaatkan API untuk mengambil informasi dari layanan lain, seperti data cuaca, kurs mata uang, peta, hingga sistem pembayaran, sehingga aplikasi yang dibuat menjadi lebih dinamis dan interaktif. Dengan menghubungkan website PHP ke API, Anda dapat [&hellip;]<\/p>\n","protected":false},"author":338,"featured_media":65595,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[1026,846,45],"class_list":["post-64889","post","type-post","status-publish","format-standard","has-post-thumbnail","category-web-programming","tag-api","tag-membuat-website","tag-php"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"Cara membuat website PHP sederhana dengan koneksi API untuk pemula. Pelajari cara membuat form biodata, menyimpan data ke MySQL, dan membuat endpoint API.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Fredric Lesomar\"\/>\n\t<meta name=\"google-site-verification\" content=\"wPstUwU5246IbK_1PqwGrc1LoSDnB-9rPbcT8_vSNgQ\" \/>\n\t<meta name=\"keywords\" content=\"membuat website dengan api,membuat website dan api,membuat website api,membuat web api,api,membuat website,php\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.rumahweb.com\/journal\/cara-membuat-website-php-sederhana-dengan-koneksi-api\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"id_Id\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Rumahweb Journal \u2013 News, Article, and Tutorial of Web Dev\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Cara Membuat Website PHP Sederhana dengan koneksi API\" \/>\n\t\t<meta property=\"og:description\" content=\"Cara membuat website PHP sederhana dengan koneksi API untuk pemula. Pelajari cara membuat form biodata, menyimpan data ke MySQL, dan membuat endpoint API.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.rumahweb.com\/journal\/cara-membuat-website-php-sederhana-dengan-koneksi-api\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Banner-Cara-Membuat-Website-PHP-Sederhana-dengan-koneksi-API.webp\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Banner-Cara-Membuat-Website-PHP-Sederhana-dengan-koneksi-API.webp\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-06-24T01:30:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-06-19T07:59:40+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RumahwebIndonesia\/\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@rumahwebtweet\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Cara Membuat Website PHP Sederhana dengan koneksi API\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Cara membuat website PHP sederhana dengan koneksi API untuk pemula. Pelajari cara membuat form biodata, menyimpan data ke MySQL, dan membuat endpoint API.\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@rumahwebtweet\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Banner-Cara-Membuat-Website-PHP-Sederhana-dengan-koneksi-API.webp\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Cara Membuat Website PHP Sederhana dengan koneksi API","description":"Cara membuat website PHP sederhana dengan koneksi API untuk pemula. Pelajari cara membuat form biodata, menyimpan data ke MySQL, dan membuat endpoint API.","canonical_url":"https:\/\/www.rumahweb.com\/journal\/cara-membuat-website-php-sederhana-dengan-koneksi-api\/","robots":"max-image-preview:large","keywords":"membuat website dengan api,membuat website dan api,membuat website api,membuat web api,api,membuat website,php","webmasterTools":{"google-site-verification":"wPstUwU5246IbK_1PqwGrc1LoSDnB-9rPbcT8_vSNgQ","miscellaneous":""},"schema":null,"og:locale":"id_Id","og:site_name":"Rumahweb Journal \u2013 News, Article, and Tutorial of Web Dev","og:type":"article","og:title":"Cara Membuat Website PHP Sederhana dengan koneksi API","og:description":"Cara membuat website PHP sederhana dengan koneksi API untuk pemula. Pelajari cara membuat form biodata, menyimpan data ke MySQL, dan membuat endpoint API.","og:url":"https:\/\/www.rumahweb.com\/journal\/cara-membuat-website-php-sederhana-dengan-koneksi-api\/","og:image":"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Banner-Cara-Membuat-Website-PHP-Sederhana-dengan-koneksi-API.webp","og:image:secure_url":"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Banner-Cara-Membuat-Website-PHP-Sederhana-dengan-koneksi-API.webp","og:image:width":1200,"og:image:height":630,"article:published_time":"2026-06-24T01:30:00+00:00","article:modified_time":"2026-06-19T07:59:40+00:00","article:publisher":"https:\/\/www.facebook.com\/RumahwebIndonesia\/","twitter:card":"summary_large_image","twitter:site":"@rumahwebtweet","twitter:title":"Cara Membuat Website PHP Sederhana dengan koneksi API","twitter:description":"Cara membuat website PHP sederhana dengan koneksi API untuk pemula. Pelajari cara membuat form biodata, menyimpan data ke MySQL, dan membuat endpoint API.","twitter:creator":"@rumahwebtweet","twitter:image":"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Banner-Cara-Membuat-Website-PHP-Sederhana-dengan-koneksi-API.webp"},"aioseo_meta_data":{"post_id":"64889","title":null,"description":"Cara membuat website PHP sederhana dengan koneksi API untuk pemula. Pelajari cara membuat form biodata, menyimpan data ke MySQL, dan membuat endpoint API.","keywords":[{"label":"membuat website dengan api","value":"membuat website dengan api"},{"label":"membuat website dan api","value":"membuat website dan api"},{"label":"membuat website api","value":"membuat website api"},{"label":"membuat web api","value":"membuat web api"}],"keyphrases":{"focus":{"keyphrase":"Membuat Website","score":91,"analysis":{"keyphraseInTitle":{"score":9,"maxScore":9,"error":0},"keyphraseInDescription":{"score":9,"maxScore":9,"error":0},"keyphraseLength":{"score":9,"maxScore":9,"error":0,"length":2},"keyphraseInURL":{"score":5,"maxScore":5,"error":0},"keyphraseInIntroduction":{"score":9,"maxScore":9,"error":0},"keyphraseInSubHeadings":{"score":3,"maxScore":9,"error":1},"keyphraseInImageAlt":{"score":9,"maxScore":9,"error":0},"keywordDensity":{"type":"best","score":9,"maxScore":9,"error":0}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":[],"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2026-06-02 07:38:43","updated":"2026-06-24 01:31:07","seo_analyzer_scan_date":null},"_links":{"self":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/64889","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\/338"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/comments?post=64889"}],"version-history":[{"count":78,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/64889\/revisions"}],"predecessor-version":[{"id":65621,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/64889\/revisions\/65621"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media\/65595"}],"wp:attachment":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media?parent=64889"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/categories?post=64889"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/tags?post=64889"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}