{"id":666,"date":"2025-12-26T08:06:27","date_gmt":"2025-12-26T00:06:27","guid":{"rendered":"https:\/\/jasarenovasipalu.my.id\/?page_id=666"},"modified":"2025-12-26T08:17:10","modified_gmt":"2025-12-26T00:17:10","slug":"boq-bill-of-qwantyti","status":"publish","type":"page","link":"https:\/\/jasarenovasipalu.my.id\/?page_id=666","title":{"rendered":"BOQ (Bill of Qwantyti)"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"id\">\n<head>\n    <meta charset=\"UTF-8\">\n    <title>Sistem BQ Konstruksi Lengkap<\/title>\n    <style>\n        :root { --primary: #2c3e50; --accent: #e67e22; --light: #ecf0f1; }\n        body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background: #f4f7f6; margin: 0; padding: 20px; }\n        .container { max-width: 900px; margin: auto; background: white; padding: 30px; border-radius: 15px; box-shadow: 0 5px 25px rgba(0,0,0,0.1); }\n        h1 { text-align: center; color: var(--primary); margin-bottom: 30px; border-bottom: 4px solid var(--accent); display: inline-block; width: 100%; padding-bottom: 10px; }\n        \n        .search-box { background: var(--light); padding: 20px; border-radius: 10px; margin-bottom: 25px; }\n        input { width: 100%; padding: 15px; border: 2px solid #ddd; border-radius: 8px; font-size: 16px; outline: none; }\n        input:focus { border-color: var(--accent); }\n\n        table { width: 100%; border-collapse: collapse; margin-top: 20px; }\n        th { background: var(--primary); color: white; padding: 12px; text-align: left; }\n        td { padding: 12px; border-bottom: 1px solid #ddd; }\n        tr:nth-child(even) { background: #fafafa; }\n        \n        .category-header { background: #eee; font-weight: bold; color: var(--primary); }\n        .total-row { background: var(--accent) !important; color: white; font-weight: bold; font-size: 18px; }\n        \n        .btn-print { background: var(--accent); color: white; border: none; padding: 10px 20px; border-radius: 5px; cursor: pointer; float: right; margin-top: 10px; }\n        \n        @media print {\n            .search-box, .btn-print { display: none; }\n            body { padding: 0; }\n            .container { box-shadow: none; max-width: 100%; }\n        }\n    <\/style>\n<\/head>\n<body>\n\n<div class=\"container\">\n    <h1>E-Nota &#038; BQ Konstruksi<\/h1>\n    \n    <div class=\"search-box\">\n        <label><b>Apa yang ingin Anda bangun\/perbaiki?<\/b><\/label>\n        <input type=\"text\" id=\"userInput\" placeholder=\"Ketik: Pondasi, Dinding, Atap, atau Kamar Mandi...\" onkeyup=\"if(event.key === 'Enter') generateLengkap()\">\n        <small style=\"color: #666;\">Contoh: &#8220;Saya mau buat pondasi dan dinding rumah&#8221;<\/small>\n    <\/div>\n\n    <div id=\"hasil-area\" style=\"display:none;\">\n        <button class=\"btn-print\" onclick=\"window.print()\">Cetak BQ<\/button>\n        <h3 id=\"judul-proyek\">Rincian Estimasi Biaya &#038; Material<\/h3>\n        <table>\n            <thead>\n                <tr>\n                    <th>Deskripsi Material<\/th>\n                    <th>Volume (Estimasi)<\/th>\n                    <th>Satuan<\/th>\n                    <th>Harga Satuan (Rp)<\/th>\n                    <th>Subtotal (Rp)<\/th>\n                <\/tr>\n            <\/thead>\n            <tbody id=\"isi-tabel\"><\/tbody>\n            <tfoot>\n                <tr class=\"total-row\">\n                    <td colspan=\"4\">TOTAL ESTIMASI BIAYA<\/td>\n                    <td id=\"total-akhir\">0<\/td>\n                <\/tr>\n            <\/tfoot>\n        <\/table>\n    <\/div>\n<\/div>\n\n<script>\n    \/\/ Database Material Konstruksi Terintegrasi\n    const dbKonstruksi = {\n        \"pondasi\": [\n            { item: \"Batu Kali\/Belah\", qty: 5, unit: \"m3\", harga: 250000 },\n            { item: \"Semen Padang\/Gresik (50kg)\", qty: 10, unit: \"Zak\", harga: 65000 },\n            { item: \"Pasir Pasang\", qty: 3, unit: \"m3\", harga: 220000 },\n            { item: \"Besi Beton 10mm (Sengkang)\", qty: 8, unit: \"Batang\", harga: 85000 }\n        ],\n        \"dinding\": [\n            { item: \"Bata Merah Press\", qty: 2000, unit: \"Pcs\", harga: 800 },\n            { item: \"Semen Mortar\/Plamir\", qty: 15, unit: \"Zak\", harga: 75000 },\n            { item: \"Pasir Cor\", qty: 4, unit: \"m3\", harga: 250000 },\n            { item: \"Besi Beton 8mm\", qty: 12, unit: \"Batang\", harga: 55000 }\n        ],\n        \"atap\": [\n            { item: \"Baja Ringan C75\", qty: 25, unit: \"Batang\", harga: 95000 },\n            { item: \"Reng Baja Ringan\", qty: 30, unit: \"Batang\", harga: 45000 },\n            { item: \"Genteng Metal Pasir\", qty: 50, unit: \"Lembar\", harga: 35000 },\n            { item: \"Sekrup Baja (Roofing)\", qty: 2, unit: \"Box\", harga: 120000 }\n        ],\n        \"kamar mandi\": [\n            { item: \"Pipa PVC 1\/2 inch\", qty: 5, unit: \"Batang\", harga: 35000 },\n            { item: \"Kloset Jongkok Toto\", qty: 1, unit: \"Set\", harga: 450000 },\n            { item: \"Keramik Lantai Kasar 25x25\", qty: 4, unit: \"Dus\", harga: 95000 },\n            { item: \"Kran Air Stainless\", qty: 2, unit: \"Pcs\", harga: 75000 }\n        ]\n    };\n\n    function generateLengkap() {\n        const input = document.getElementById('userInput').value.toLowerCase();\n        const tbody = document.getElementById('isi-tabel');\n        const box = document.getElementById('hasil-area');\n        \n        tbody.innerHTML = \"\";\n        let totalKeseluruhan = 0;\n        let ditemukan = false;\n\n        for (let kategori in dbKonstruksi) {\n            if (input.includes(kategori)) {\n                ditemukan = true;\n                \/\/ Tambah Header Kategori\n                tbody.innerHTML += `<tr class=\"category-header\"><td colspan=\"5\">PEKERJAAN ${kategori.toUpperCase()}<\/td><\/tr>`;\n                \n                dbKonstruksi[kategori].forEach(res => {\n                    let subtotal = res.qty * res.harga;\n                    totalKeseluruhan += subtotal;\n                    tbody.innerHTML += `\n                        <tr>\n                            <td>${res.item}<\/td>\n                            <td>${res.qty}<\/td>\n                            <td>${res.unit}<\/td>\n                            <td>${res.harga.toLocaleString()}<\/td>\n                            <td>${subtotal.toLocaleString()}<\/td>\n                        <\/tr>\n                    `;\n                });\n            }\n        }\n\n        if (ditemukan) {\n            box.style.display = \"block\";\n            document.getElementById('total-akhir').innerText = \"Rp \" + totalKeseluruhan.toLocaleString('id-ID');\n        } else {\n            alert(\"Kata kunci tidak ditemukan. Coba: Pondasi, Dinding, Atap, atau Kamar Mandi.\");\n        }\n    }\n<\/script>\n\n<\/body>\n<\/html>\n\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sistem BQ Konstruksi Lengkap E-Nota &#038; BQ Konstruksi Apa yang ingin Anda bangun\/perbaiki? Contoh: &#8220;Saya mau buat pondasi dan dinding rumah&#8221; Cetak BQ Rincian Estimasi Biaya &#038; Material Deskripsi Material Volume (Estimasi) Satuan Harga Satuan (Rp) Subtotal (Rp) TOTAL ESTIMASI BIAYA 0<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-666","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/jasarenovasipalu.my.id\/index.php?rest_route=\/wp\/v2\/pages\/666","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jasarenovasipalu.my.id\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/jasarenovasipalu.my.id\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/jasarenovasipalu.my.id\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jasarenovasipalu.my.id\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=666"}],"version-history":[{"count":2,"href":"https:\/\/jasarenovasipalu.my.id\/index.php?rest_route=\/wp\/v2\/pages\/666\/revisions"}],"predecessor-version":[{"id":670,"href":"https:\/\/jasarenovasipalu.my.id\/index.php?rest_route=\/wp\/v2\/pages\/666\/revisions\/670"}],"wp:attachment":[{"href":"https:\/\/jasarenovasipalu.my.id\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=666"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}