{"id":65260,"date":"2026-07-02T16:54:23","date_gmt":"2026-07-02T09:54:23","guid":{"rendered":"https:\/\/www.rumahweb.com\/journal\/?p=65260"},"modified":"2026-07-02T17:00:45","modified_gmt":"2026-07-02T10:00:45","slug":"belajar-python-part-14","status":"publish","type":"post","link":"https:\/\/www.rumahweb.com\/journal\/belajar-python-part-14\/","title":{"rendered":"Belajar Python Part 14: Membuat Aplikasi Python di Localhost"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Pada seri Belajar Python <a href=\"https:\/\/www.rumahweb.com\/journal\/belajar-python-part-13\/\" target=\"_blank\" rel=\"noopener\" title=\"\">Part 13<\/a>, kita telah berhasil membuat aplikasi CRUD (<em>Create, Read, Update, Delete<\/em>) berbasis CLI (<em>Command Line Interface<\/em>). Meskipun aplikasi tersebut sudah dapat mengelola data dengan baik, pengguna masih harus menjalankannya melalui terminal sehingga kurang praktis untuk penggunaan sehari-hari.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Di Belajar Python Part 14 ini, kita akan melangkah ke tahap berikutnya dengan mengubah aplikasi tersebut menjadi aplikasi web yang dapat dijalankan di localhost. Untuk membangun aplikasi web tersebut, kita memerlukan sebuah framework yang mampu menghubungkan kode Python dengan halaman web. Salah satu <em>framework<\/em> yang paling populer dan mudah dipelajari adalah Flask.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Apa itu Flask?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Flask adalah<em> micro web framewor<\/em>k untuk Python. Kata micro bukan berarti Flask memiliki fitur terbatas, melainkan Flask dirancang agar intinya tetap sederhana dan mudah diperluas sesuai kebutuhan. Meskipun minimalis, Flask didukung oleh ekosistem ekstensi yang beragam serta fitur bawaan yang solid, seperti sistem<em> routing<\/em> URL yang mudah dan server lokal untuk proses <em>debugging<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Karakteristiknya yang cepat dan hemat memori membuat Flask sangat ideal digunakan untuk mempelajari dasar pengembangan web, membangun berbagai aplikasi dengan cepat, hingga mengembangkan layanan REST API&nbsp; dan arsitektur<em> microservices<\/em> di skala industri.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cara Kerja Aplikasi Web<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Proses kerja aplikasi web dimulai ketika pengguna melakukan aksi di <em>browser<\/em>, seperti mengetik URL atau mengklik sebuah tombol, yang otomatis memicu pengiriman <strong>HTTP Request<\/strong> ke server (misalnya perintah GET \/mahasiswa). Begitu permintaan ini sampai, server berbasis Flask akan menerima dan memprosesnya melalui fungsi khusus yang disebut <em>handler<\/em> atau <em>view function<\/em>. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pada tahap inilah Flask menjalankan logika aplikasi, termasuk berkomunikasi dengan <em>database<\/em> untuk mengambil, mengubah, atau menyimpan data yang dibutuhkan sesuai dengan permintaan tersebut.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Setelah seluruh pemrosesan di sisi server selesai, Flask akan menyusun hasilnya ke dalam sebuah HTTP Response yang umumnya berisi dokumen HTML, CSS, atau data pendukung lainnya. Respons tersebut kemudian dikirimkan kembali ke <em>browser<\/em> melalui jaringan internet. Begitu menerimanya, <em>browser<\/em> akan langsung menerjemahkan (<em>render<\/em>) kode-kode mentah tersebut menjadi halaman visual yang utuh, interaktif, dan siap dipahami oleh pengguna.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Membuat Aplikasi Python di Localhost<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pada seri Belajar Python Part 14 ini, kita akan mulai membangun aplikasi Python yang dapat dijalankan di localhost. Sebelum mengikuti langkah-langkahnya, pastikan Anda telah menyiapkan beberapa kebutuhan berikut agar proses instalasi dan konfigurasi dapat berjalan dengan lancar.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pastikan Python sudah terinstal di komputer.<\/li>\n\n\n\n<li>Pastikan pip<em> (Python Package Manager) <\/em>sudah tersedia.<\/li>\n\n\n\n<li>Siapkan <em>Command Prompt<\/em> (CMD) di Windows atau Terminal di Linux\/macOS.<\/li>\n\n\n\n<li>Siapkan folder proyek yang akan digunakan untuk menyimpan aplikasi Python.<\/li>\n\n\n\n<li>Pindah ke folder proyek menggunakan perintah <em>cd<\/em> pada CMD atau Terminal.<\/li>\n\n\n\n<li>Pastikan komputer terhubung ke internet, karena Flask akan diunduh melalui pip.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Setelah persiapan selesai, Anda bisa melanjutkan step berikut ini: <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1. Instalasi Flask<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Pastikan Python sudah terinstall, kemudian install Flask menggunakan pip:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Install Flask\n\npip install flask\n\n# Verifikasi instalasi\n\npython -c \"import flask; print(flask.__version__)\"<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2. <strong>Struktur Flask<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Buat folder project dengan struktur berikut:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-66.png\"><img loading=\"lazy\" decoding=\"async\" width=\"257\" height=\"225\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-66.png\" alt=\"Struktur projek flask\" class=\"wp-image-65814\"\/><\/a><figcaption class=\"wp-element-caption\">Struktur projek flask<\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>File: database.py<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">File ini mengelola koneksi ke SQLite dan inisialisasi tabel produk. Tabel produk memiliki kolom: id, nama, harga, stok.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># database.py\n\nimport sqlite3\n\nDB_NAME = 'toko.db'\n\ndef get_connection():\n\n&nbsp;&nbsp;&nbsp;&nbsp;conn = sqlite3.connect(DB_NAME)\n\n&nbsp;&nbsp;&nbsp;&nbsp;conn.row_factory = sqlite3.Row&nbsp; # akses hasil query seperti dict\n\n&nbsp;&nbsp;&nbsp;&nbsp;return conn\n\ndef init_db():\n\n&nbsp;&nbsp;&nbsp;&nbsp;conn = get_connection()\n\n&nbsp;&nbsp;&nbsp;&nbsp;cursor = conn.cursor()\n\n&nbsp;&nbsp;&nbsp;&nbsp;cursor.execute('''\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CREATE TABLE IF NOT EXISTS produk (\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id &nbsp; &nbsp; INTEGER PRIMARY KEY AUTOINCREMENT,\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nama &nbsp; TEXT NOT NULL,\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;harga&nbsp; REAL NOT NULL,\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stok &nbsp; INTEGER NOT NULL\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)\n\n&nbsp;&nbsp;&nbsp;&nbsp;''')\n\n&nbsp;&nbsp;&nbsp;&nbsp;conn.commit()\n\n&nbsp;&nbsp;&nbsp;&nbsp;conn.close()\n\n&nbsp;&nbsp;&nbsp;&nbsp;print('Database berhasil diinisialisasi.')<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>File: app.py<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">File utama aplikasi Flask. Berisi semua route untuk operasi CRUD. Berikut konfigurasinya:<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong> Import dan Konfigurasi<\/strong><\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code># app.py\n\nfrom flask import Flask, render_template, request, redirect, url_for, flash\n\nfrom database import get_connection, init_db\n\napp = Flask(__name__)\n\napp.secret_key = 'kunci_rahasia_123'&nbsp; # diperlukan untuk flash message<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Create: Tambah Barang Baru<\/strong><\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code># CREATE: Tambah data baru\n\n@app.route('\/tambah', methods=&#91;'GET', 'POST'])\n\ndef tambah():\n\n&nbsp;&nbsp;&nbsp;&nbsp;if request.method == 'POST':\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nama&nbsp; = request.form&#91;'nama']\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;harga = float(request.form&#91;'harga'])\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stok&nbsp; = int(request.form&#91;'stok'])\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn = get_connection()\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn.execute(\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'INSERT INTO produk (nama, harga, stok) VALUES (?, ?, ?)',\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(nama, harga, stok)\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn.commit()\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flash('Produk berhasil ditambahkan!', 'success')\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;except Exception as e:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flash(f'Gagal: {e}', 'error')\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;finally:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn.close()\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return redirect(url_for('index'))\n\n&nbsp;&nbsp;&nbsp;&nbsp;return render_template('tambah.html')<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Read: Menampilkan Semua Barang<\/strong><\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code># READ: Menampilkan semua data\n\n@app.route('\/')\n\ndef index():\n\n&nbsp;&nbsp;&nbsp;&nbsp;conn = get_connection()\n\n&nbsp;&nbsp;&nbsp;&nbsp;produk = conn.execute('SELECT * FROM produk').fetchall()\n\n&nbsp;&nbsp;&nbsp;&nbsp;conn.close()\n\n&nbsp;&nbsp;&nbsp;&nbsp;return render_template('index.html', produk=produk)<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Update: Edit Data Barang<\/strong><\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code># UPDATE: Edit data\n@app.route('\/edit\/&lt;int:id&gt;', methods=&#91;'GET', 'POST'])\ndef edit(id):\n    conn = get_connection()\n    if request.method == 'POST':\n        nama  = request.form&#91;'nama']\n        harga = float(request.form&#91;'harga'])\n        stok  = int(request.form&#91;'stok'])\n        conn.execute(\n            'UPDATE produk SET nama=?, harga=?, stok=? WHERE id=?',\n            (nama, harga, stok, id)\n        )\n        conn.commit()\n        conn.close()\n        flash('Data berhasil diperbarui!', 'success')\n        return redirect(url_for('index'))\n    produk = conn.execute('SELECT * FROM produk WHERE id=?', (id,)).fetchone()\n    conn.close()\n    return render_template('edit.html', produk=produk) \n<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Delete: Hapus Barang<\/strong><\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code># DELETE: Hapus data\n\n@app.route('\/hapus\/&lt;int:id&gt;')\n\ndef hapus(id):\n\n&nbsp;&nbsp;&nbsp;&nbsp;conn = get_connection()\n\n&nbsp;&nbsp;&nbsp;&nbsp;conn.execute('DELETE FROM produk WHERE id=?', (id,))\n\n&nbsp;&nbsp;&nbsp;&nbsp;conn.commit()\n\n&nbsp;&nbsp;&nbsp;&nbsp;conn.close()\n\n&nbsp;&nbsp;&nbsp;&nbsp;flash('Produk berhasil dihapus.', 'info')\n\n&nbsp;&nbsp;&nbsp;&nbsp;return redirect(url_for('index'))<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Entry Point<\/strong><\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code>if __name__ == '__main__':\n\n&nbsp;&nbsp;&nbsp;&nbsp;init_db()\n\n&nbsp;&nbsp;&nbsp;&nbsp;app.run(debug=True)<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Template HTML<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Layout Utama<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Semua halaman akan menggunakan template ini, yang terdiri dari navigasi, styling dasar, dan blok konten.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!DOCTYPE html&gt;\n\n&lt;html lang=\"id\"&gt;\n\n&lt;head&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;meta charset=\"UTF-8\"&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;Aplikasi Toko&lt;\/title&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;style&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;body { font-family: Arial; margin: 20px; }\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;table { width: 100%; border-collapse: collapse; }\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;th, td { border: 1px solid #ccc; padding: 8px; }\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;th { background-color: #2E75B6; color: white; }\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.success { color: green; }\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.error &nbsp; { color: red; }\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.info&nbsp; &nbsp; { color: steelblue; }\n\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/style&gt;\n\n&lt;\/head&gt;\n\n&lt;body&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;h1&gt;Sistem Manajemen Barang&lt;\/h1&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;nav&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href=\"\/\"&gt;Daftar Barang&lt;\/a&gt; |\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href=\"\/tambah\"&gt;Tambah Barang&lt;\/a&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/nav&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;hr&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;{% block content %}{% endblock %}\n\n&lt;\/body&gt;\n\n&lt;\/html&gt;\n\n7.2 Daftar Barang\n\nMenampilkan semua barang dalam tabel, lengkap dengan flash message dan tombol Edit\/Hapus.\n\n{# templates\/index.html #}\n\n{% extends 'base.html' %}\n\n{% block content %}\n\n&lt;h2&gt;Daftar Barang&lt;\/h2&gt;\n\n{% with messages = get_flashed_messages(with_categories=true) %}\n\n&nbsp;&nbsp;{% if messages %}\n\n&nbsp;&nbsp;&nbsp;&nbsp;{% for category, message in messages %}\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=\"{{ category }}\"&gt;&lt;b&gt;{{ message }}&lt;\/b&gt;&lt;\/div&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;{% endfor %}\n\n&nbsp;&nbsp;{% endif %}\n\n{% endwith %}\n\n&lt;table&gt;\n\n&nbsp;&nbsp;&lt;thead&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;No&lt;\/th&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Nama Barang&lt;\/th&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Harga (Rp)&lt;\/th&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Stok&lt;\/th&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Aksi&lt;\/th&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/tr&gt;\n\n&nbsp;&nbsp;&lt;\/thead&gt;\n\n&nbsp;&nbsp;&lt;tbody&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;{% for item in produk %}\n\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;{{ loop.index }}&lt;\/td&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;{{ item&#91;'nama'] }}&lt;\/td&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;{{ \"{:,.0f}\".format(item&#91;'harga']) }}&lt;\/td&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;{{ item&#91;'stok'] }}&lt;\/td&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href=\"\/edit\/{{ item&#91;'id'] }}\"&gt;Edit&lt;\/a&gt; |\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href=\"\/hapus\/{{ item&#91;'id'] }}\"\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;onclick=\"return confirm('Yakin hapus barang ini?')\"&gt;Hapus&lt;\/a&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/td&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/tr&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;{% else %}\n\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;&lt;td colspan=\"5\"&gt;Belum ada data barang.&lt;\/td&gt;&lt;\/tr&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;{% endfor %}\n\n&nbsp;&nbsp;&lt;\/tbody&gt;\n\n&lt;\/table&gt;\n\n{% endblock %}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Form Tambah Barang<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>{# templates\/tambah.html #}\n\n{% extends 'base.html' %}\n\n{% block content %}\n\n&lt;h2&gt;Tambah Barang&lt;\/h2&gt;\n\n&lt;form method=\"POST\" action=\"\/tambah\"&gt;\n\n&nbsp;&nbsp;&lt;label&gt;Nama Barang:&lt;\/label&gt;&lt;br&gt;\n\n&nbsp;&nbsp;&lt;input type=\"text\" name=\"nama\" required&gt;&lt;br&gt;&lt;br&gt;\n\n&nbsp;&nbsp;&lt;label&gt;Harga (Rp):&lt;\/label&gt;&lt;br&gt;\n\n&nbsp;&nbsp;&lt;input type=\"number\" name=\"harga\" step=\"0.01\" min=\"0\" required&gt;&lt;br&gt;&lt;br&gt;\n\n&nbsp;&nbsp;&lt;label&gt;Stok:&lt;\/label&gt;&lt;br&gt;\n\n&nbsp;&nbsp;&lt;input type=\"number\" name=\"stok\" min=\"0\" required&gt;&lt;br&gt;&lt;br&gt;\n\n&nbsp;&nbsp;&lt;button type=\"submit\"&gt;Simpan&lt;\/button&gt;\n\n&nbsp;&nbsp;&lt;a href=\"\/\"&gt;Batal&lt;\/a&gt;\n\n&lt;\/form&gt;\n\n{% endblock %}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Form Edit Barang<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>{# templates\/edit.html #}\n\n{% extends 'base.html' %}\n\n{% block content %}\n\n&lt;h2&gt;Edit Barang&lt;\/h2&gt;\n\n&lt;form method=\"POST\" action=\"\/edit\/{{ produk&#91;'id'] }}\"&gt;\n\n&nbsp;&nbsp;&lt;label&gt;Nama Barang:&lt;\/label&gt;&lt;br&gt;\n\n&nbsp;&nbsp;&lt;input type=\"text\" name=\"nama\"\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value=\"{{ produk&#91;'nama'] }}\" required&gt;&lt;br&gt;&lt;br&gt;\n\n&nbsp;&nbsp;&lt;label&gt;Harga (Rp):&lt;\/label&gt;&lt;br&gt;\n\n&nbsp;&nbsp;&lt;input type=\"number\" name=\"harga\" step=\"0.01\" min=\"0\"\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value=\"{{ produk&#91;'harga'] }}\" required&gt;&lt;br&gt;&lt;br&gt;\n\n&nbsp;&nbsp;&lt;label&gt;Stok:&lt;\/label&gt;&lt;br&gt;\n\n&nbsp;&nbsp;&lt;input type=\"number\" name=\"stok\" min=\"0\"\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value=\"{{ produk&#91;'stok'] }}\" required&gt;&lt;br&gt;&lt;br&gt;\n\n&nbsp;&nbsp;&lt;button type=\"submit\"&gt;Perbarui&lt;\/button&gt;\n\n&nbsp;&nbsp;&lt;a href=\"\/\"&gt;Batal&lt;\/a&gt;\n\n&lt;\/form&gt;\n\n{% endblock %}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Cara Menjalankan Aplikasi<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Berikut cara menjalankan aplikasi Flask yang telah kita buat:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Masuk ke folder project\n\ncd path\/ke\/folder\/project\n\n# Jalankan aplikasi\n\npython app.py\n\n# Output yang muncul:\n\n# Database berhasil diinisialisasi.\n\n# * Serving Flask app 'app'\n\n# * Debug mode: on\n\n# * Running on http:\/\/127.0.0.1:5000<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Buka browser dan akses URL berikut:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">http:\/\/127.0.0.1:5000<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Pada halaman utama, aplikasi yang tampil adalah informasi daftar barang. Anda bisa klik menu yang tersedia untuk mengarah ke sistem manajemen barang. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Daftar-barang.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"204\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Daftar-barang-1024x204.png\" alt=\"Daftar barang\" class=\"wp-image-65263\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Daftar-barang-1024x204.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Daftar-barang-300x60.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Daftar-barang-768x153.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Daftar-barang-370x74.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Daftar-barang-270x54.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Daftar-barang-570x114.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Daftar-barang-740x147.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Daftar-barang.png 1365w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Tambah Barang<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Untuk menambahkan barang, Anda bisa mengakses url berikut:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">http:\/\/127.0.0.1:5000\/tambah<\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Tambah-barang.png\"><img loading=\"lazy\" decoding=\"async\" width=\"479\" height=\"378\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Tambah-barang.png\" alt=\"Tambah-barang\" class=\"wp-image-65264\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Tambah-barang.png 479w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Tambah-barang-300x237.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Tambah-barang-370x292.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Tambah-barang-270x213.png 270w\" sizes=\"auto, (max-width: 479px) 100vw, 479px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Form Edit Barang<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Untuk melakukan editing data barang, Anda bisa mengakses url berikut:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">http:\/\/127.0.0.1:5000\/edit\/1<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Pada link tersebut, \/1 artinya data barang dengan id 1. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Edit-barang.png\"><img loading=\"lazy\" decoding=\"async\" width=\"531\" height=\"394\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Edit-barang.png\" alt=\"Edit-barang - belajar python\" class=\"wp-image-65265\" style=\"width:531px;height:auto\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Edit-barang.png 531w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Edit-barang-300x223.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Edit-barang-370x275.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Edit-barang-270x200.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Edit-barang-80x60.png 80w\" sizes=\"auto, (max-width: 531px) 100vw, 531px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Hapus Barang <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Untuk melakukan editing data barang, Anda bisa mengakses url berikut:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">http:\/\/127.0.0.1:5000\/hapus\/1<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Pada link tersebut, \/1 artinya data barang dengan id 1. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Hapus-barang.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"228\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Hapus-barang-1024x228.png\" alt=\"Hapus-barang\" class=\"wp-image-65268\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Hapus-barang-1024x228.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Hapus-barang-300x67.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Hapus-barang-768x171.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Hapus-barang-370x82.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Hapus-barang-270x60.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Hapus-barang-570x127.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Hapus-barang-740x165.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Hapus-barang.png 1365w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Source Code<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sebagai rangkuman dari materi belajar Python part 14, berikut adalah keseluruhan kode aplikasi CRUD berbasis flask yang sudah kita bangun. Lihat <a href=\"https:\/\/github.com\/frayacode\/flask-crud\" target=\"_blank\" rel=\"noopener\" title=\"\">source code.<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Penutup<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pada seri Belajar Python Part 14 ini, kita telah berhasil mengubah aplikasi CRUD berbasis CLI menjadi aplikasi web sederhana yang berjalan di localhost menggunakan Flask. Kita mempelajari konsep dasar cara kerja aplikasi web, membuat koneksi ke database SQLite, membangun fitur CRUD melalui route Flask, hingga menampilkan data menggunakan template HTML yang lebih interaktif dan mudah digunakan.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dengan dasar yang telah dibangun, kini kita sudah memiliki pemahaman dasar tentang pengembangan web menggunakan Python. Pada seri belajar python part 15 nanti, kita akan melangkah lebih jauh untuk membahas cara mempercantik tampilan aplikasi web Flask Menggunakan Bootstrap. Semoga bermanfaat!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pada seri Belajar Python Part 13, kita telah berhasil membuat aplikasi CRUD (Create, Read, Update, Delete) berbasis CLI (Command Line Interface). Meskipun aplikasi tersebut sudah dapat mengelola data dengan baik, pengguna masih harus menjalankannya melalui terminal sehingga kurang praktis untuk penggunaan sehari-hari. Di Belajar Python Part 14 ini, kita akan melangkah ke tahap berikutnya dengan [&hellip;]<\/p>\n","protected":false},"author":354,"featured_media":65963,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[2483,1176,2485],"class_list":["post-65260","post","type-post","status-publish","format-standard","has-post-thumbnail","category-web-programming","tag-belajar-python","tag-python","tag-python-dasar"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"Dalam lanjutan seri Belajar Python dari Rumahweb, pada Part 14 ini kita akan mempelajari cara membuat aplikasi Python yang dapat dijalankan di localhost.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Amiratur Rafifah\"\/>\n\t<meta name=\"google-site-verification\" content=\"wPstUwU5246IbK_1PqwGrc1LoSDnB-9rPbcT8_vSNgQ\" \/>\n\t<meta name=\"keywords\" content=\"membuat python localhost,membangun aplikasi python localhost,buat python localhost,belajar python,python,python dasar\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.rumahweb.com\/journal\/belajar-python-part-14\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\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=\"Belajar Python Part 14: Membuat Aplikasi Python di Localhost\" \/>\n\t\t<meta property=\"og:description\" content=\"Dalam lanjutan seri Belajar Python dari Rumahweb, pada Part 14 ini kita akan mempelajari cara membuat aplikasi Python yang dapat dijalankan di localhost.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.rumahweb.com\/journal\/belajar-python-part-14\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Banner-Journal-Belajar-Python-Part-14.webp\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Banner-Journal-Belajar-Python-Part-14.webp\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t\t<meta property=\"og:image:height\" content=\"631\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-07-02T09:54:23+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-07-02T10:00:45+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=\"Belajar Python Part 14: Membuat Aplikasi Python di Localhost\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Dalam lanjutan seri Belajar Python dari Rumahweb, pada Part 14 ini kita akan mempelajari cara membuat aplikasi Python yang dapat dijalankan di localhost.\" \/>\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-Journal-Belajar-Python-Part-14.webp\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Belajar Python Part 14: Membuat Aplikasi Python di Localhost","description":"Dalam lanjutan seri Belajar Python dari Rumahweb, pada Part 14 ini kita akan mempelajari cara membuat aplikasi Python yang dapat dijalankan di localhost.","canonical_url":"https:\/\/www.rumahweb.com\/journal\/belajar-python-part-14\/","robots":"max-image-preview:large","keywords":"membuat python localhost,membangun aplikasi python localhost,buat python localhost,belajar python,python,python dasar","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":"Belajar Python Part 14: Membuat Aplikasi Python di Localhost","og:description":"Dalam lanjutan seri Belajar Python dari Rumahweb, pada Part 14 ini kita akan mempelajari cara membuat aplikasi Python yang dapat dijalankan di localhost.","og:url":"https:\/\/www.rumahweb.com\/journal\/belajar-python-part-14\/","og:image":"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Banner-Journal-Belajar-Python-Part-14.webp","og:image:secure_url":"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Banner-Journal-Belajar-Python-Part-14.webp","og:image:width":1200,"og:image:height":631,"article:published_time":"2026-07-02T09:54:23+00:00","article:modified_time":"2026-07-02T10:00:45+00:00","article:publisher":"https:\/\/www.facebook.com\/RumahwebIndonesia\/","twitter:card":"summary_large_image","twitter:site":"@rumahwebtweet","twitter:title":"Belajar Python Part 14: Membuat Aplikasi Python di Localhost","twitter:description":"Dalam lanjutan seri Belajar Python dari Rumahweb, pada Part 14 ini kita akan mempelajari cara membuat aplikasi Python yang dapat dijalankan di localhost.","twitter:creator":"@rumahwebtweet","twitter:image":"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Banner-Journal-Belajar-Python-Part-14.webp"},"aioseo_meta_data":{"post_id":"65260","title":null,"description":"Dalam lanjutan seri Belajar Python dari Rumahweb, pada Part 14 ini kita akan mempelajari cara membuat aplikasi Python yang dapat dijalankan di localhost.","keywords":[{"label":"membuat python localhost","value":"membuat python localhost"},{"label":"membangun aplikasi python localhost","value":"membangun aplikasi python localhost"},{"label":"buat python localhost","value":"buat python localhost"}],"keyphrases":{"focus":{"keyphrase":"Belajar Python","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":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2026-06-12 15:24:58","updated":"2026-07-02 10:01:14","seo_analyzer_scan_date":null},"_links":{"self":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/65260","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\/354"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/comments?post=65260"}],"version-history":[{"count":14,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/65260\/revisions"}],"predecessor-version":[{"id":65977,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/65260\/revisions\/65977"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media\/65963"}],"wp:attachment":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media?parent=65260"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/categories?post=65260"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/tags?post=65260"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}