{"id":135,"date":"2025-01-17T13:59:09","date_gmt":"2025-01-17T13:59:09","guid":{"rendered":"https:\/\/tiangjalan.com\/pabrik\/?page_id=135"},"modified":"2025-09-27T20:47:44","modified_gmt":"2025-09-27T20:47:44","slug":"tiang-petir","status":"publish","type":"page","link":"https:\/\/tiangjalan.com\/pabrik\/tiang-petir\/","title":{"rendered":"Tiang Petir"},"content":{"rendered":"\n\n\n<h3><strong style=\"font-family: Merriweather, serif; font-size: 1.429em;\">Apa Itu Tiang Penangkal Petir?<\/strong><\/h3><p>Tiang penangkal petir adalah struktur yang digunakan untuk menopang <strong>head terminal<\/strong> atau <strong>ujung penangkal petir<\/strong>, yang berfungsi menangkap sambaran petir dan menyalurkannya ke tanah melalui sistem grounding, sehingga melindungi bangunan, peralatan elektronik, dan manusia dari dampak sambaran petir.<\/p><hr><h3><strong>Jenis-Jenis Tiang Penangkal Petir<\/strong><\/h3><ol>\r\n<li>\r\n<p><strong>Berdasarkan Material:<\/strong><\/p>\r\n<ul>\r\n<li><strong>Baja Galvanis<\/strong> \u2192 Tahan korosi, umum digunakan di area terbuka.<\/li>\r\n<li><strong>Stainless Steel<\/strong> \u2192 Lebih estetis dan tahan lama, sering dipakai di bangunan tinggi.<\/li><li><br><\/li>\r\n<li><span style=\"color: rgb(91, 91, 91);\"><strong>Berdasarkan Bentuk dan Konstruksi:<\/strong><\/span><\/li><\/ul><\/li><li>\r\n<ul>\r\n<li><strong>Tiang Tunggal<\/strong> \u2192 Tiang lurus satu batang, biasanya untuk rumah atau bangunan kecil.<\/li>\r\n<li><strong>Tiang Teleskopik<\/strong> \u2192 Bisa disesuaikan tingginya, cocok untuk area yang membutuhkan fleksibilitas.<\/li>\r\n<li><strong>Tiang Tripod<\/strong> \u2192 Memiliki tiga kaki untuk stabilitas lebih baik, cocok untuk daerah berangin kencang.<\/li>\r\n<li><strong>Tiang Tower (Self-Supporting \/ SST\/Monopole\/pipa)<\/strong> \u2192 Digunakan untuk area luas atau infrastruktur besar seperti pabrik dan menara telekomunikasi.<\/li><li><br><\/li>\r\n<\/ul>\r\n<\/li>\r\n<li>\r\n<p><strong>Berdasarkan Penggunaan:<\/strong><\/p>\r\n<ul>\r\n<li><strong>Tiang Penangkal Petir Konvensional<\/strong> \u2192 Menggunakan batang tembaga dengan ujung runcing sebagai penerima petir.<\/li>\r\n<li><strong>Tiang Penangkal Petir Elektrostatis (Radius Protection)<\/strong> \u2192 Menggunakan terminal yang dapat menangkap petir dari radius tertentu, seperti <strong>ESE (Early Streamer Emission)<\/strong> dan <strong>Franklin Rod<\/strong>.<br><br><\/li><\/ul><\/li><\/ol><h3><strong>Implementasi Tiang Penangkal Petir<\/strong><\/h3><h4><strong>1. Pemilihan Lokasi<\/strong><\/h4><ul>\r\n<li>Harus ditempatkan di titik tertinggi dari bangunan.<\/li>\r\n<li>Untuk area luas, bisa menggunakan beberapa tiang dengan sistem perlindungan zona.<\/li>\r\n<\/ul><h4><strong>2. Ketinggian Tiang<\/strong><\/h4><ul>\r\n<li>Disesuaikan dengan luas area yang dilindungi.<\/li>\r\n<li>Rumus umum: <strong>H \u2265 (Luas Perlindungan \/ 2)<\/strong>, di mana H adalah tinggi tiang dalam meter.<\/li>\r\n<li>Contoh: Untuk perlindungan area 60 meter, diperlukan tiang sekitar 30 meter.<\/li>\r\n<\/ul><h4><strong>3. Sistem Grounding<\/strong><\/h4><ul>\r\n<li>Tiang harus dihubungkan ke grounding dengan kabel tembaga minimal <strong>50 mm\u00b2<\/strong>.<\/li>\r\n<li>Grounding bisa berupa <strong>elektroda batang<\/strong>, <strong>plat tembaga<\/strong>, atau <strong>jaringan grid<\/strong>.<\/li>\r\n<\/ul><h4><strong>4. Instalasi dan Perawatan<\/strong><\/h4><ul>\r\n<li>Harus dipasang dengan dudukan beton atau struktur yang kokoh.<\/li>\r\n<li>Perawatan berkala dilakukan dengan pengecekan koneksi kabel dan kondisi grounding.<\/li><\/ul>\n\n\n\n\n<h3>Tiang Monopole<\/h3>\n<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <title>Monopole Specifications<\/title>\r\n    <style>\r\n        \/* Menghilangkan ruang kosong di seluruh dokumen *\/\r\n        html, body {\r\n            margin: 0;\r\n            padding: 0;\r\n            height: 100%;\r\n            width: 100%;\r\n            box-sizing: border-box;\r\n        }\r\n\r\n        .container {\r\n            width: 100%;\r\n            height: 100%;\r\n            padding: 0;\r\n            margin: 0;\r\n        }\r\n\r\n        table {\r\n            width: 100%; \/* Tabel memenuhi lebar wadah *\/\r\n            height: 100%;\r\n            border-collapse: collapse;\r\n        }\r\n\r\n        th, td {\r\n            border: 1px solid #ccc;\r\n            padding: 10px;\r\n            text-align: left;\r\n        }\r\n\r\n        th {\r\n            background-color: #f4f4f4;\r\n        }\r\n\r\n        tr:nth-child(even) {\r\n            background-color: #f9f9f9;\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n    <div class=\"container\">\r\n        <table>\r\n            <thead>\r\n                <tr>\r\n                    <th>Monopole<\/th>\r\n                    <th>Details<\/th>\r\n                    <th>Contact<\/th>\r\n                <\/tr>\r\n            <\/thead>\r\n            <tbody>\r\n                <tr>\r\n                    <td>10 Meter<\/td>\r\n                    <td>\r\n                        Pipa 4, 3, &#038; 2 inc. Baseplate 12mm, 30 x 30mm.<br>\r\n                        Plange 10 mm. Tangga 16 mm\r\n                    <\/td>\r\n                    <td>CALL ME<\/td>\r\n                <\/tr>\r\n                <tr>\r\n                    <td>15 Meter<\/td>\r\n                    <td>\r\n                        Pipa 5, 4, 3, &#038; 2 inc. Baseplate 12 mm, 400 x 400mm.<br>\r\n                        Plange 10 mm. Tangga 16 mm\r\n                    <\/td>\r\n                    <td>CALL ME<\/td>\r\n                <\/tr>\r\n                <tr>\r\n                    <td>20 Meter<\/td>\r\n                    <td>\r\n                        Pipa 6, 5, 4, 3 &#038; 2 inc. Baseplate 15 mm, 500 x 500mm.<br>\r\n                        Plange 10 mm. Tangga 16 mm\r\n                    <\/td>\r\n                    <td>CALL ME<\/td>\r\n                <\/tr>\r\n                <tr>\r\n                    <td>25 Meter<\/td>\r\n                    <td>\r\n                        Pipa 8, 6, 5, 4, 3 &#038; 2 inc. Baseplate 15 mm, 500 x 500mm.<br>\r\n                        Plange 10-12 mm. Tangga 16 mm\r\n                    <\/td>\r\n                    <td>CALL ME<\/td>\r\n                <\/tr>\r\n                <tr>\r\n                    <td>30 Meter<\/td>\r\n                    <td>\r\n                        Pipa 10, 8, 6, 5, 4, 3 &#038; 2 inc. Baseplate 20 mm, 600 x 600mm.<br>\r\n                        Plange 12 mm. Tangga 16 mm\r\n                    <\/td>\r\n                    <td>CALL ME<\/td>\r\n                <\/tr>\r\n            <\/tbody>\r\n        <\/table>\r\n    <\/div>\r\n<\/body>\r\n<\/html>\n<h3>Tower Triangle<\/h3>\n<table border=\"1\">\r\n  <thead>\r\n    <tr>\r\n      <th>Jenis Tower<\/th>\r\n      <th>Spesifikasi<\/th>\r\n      <th>Harga &#8211; Rp<\/th>\r\n    <\/tr>\r\n  <\/thead>\r\n  <tbody>\r\n    <tr>\r\n      <td>Tower Triangle Cat 20 \u2013 5M<\/td>\r\n      <td>Besi utama behel 12 mm, tangga 8 mm<\/td>\r\n      <td>945.000\/stage<\/td>\r\n    <\/tr>\r\n    <tr>\r\n      <td>Tower Triangle Galvaniz 20 \u2013 5M<\/td>\r\n      <td>Besi utama behel 12 mm, tangga 8 mm<\/td>\r\n      <td>1.350.000\/stage<\/td>\r\n    <\/tr>\r\n    <tr>\r\n      <td>Tower Triangle Cat 25 \u2013 5M<\/td>\r\n      <td>Besi 12\/8\/8<\/td>\r\n      <td>1.012.500\/stage<\/td>\r\n    <\/tr>\r\n    <tr>\r\n      <td>Tower Triangle Galvaniz 25 \u2013 5M<\/td>\r\n      <td>Besi 12\/8\/8<\/td>\r\n      <td>1.485.000\/stage<\/td>\r\n    <\/tr>\r\n    <tr>\r\n      <td>Tower Triangle Cat 30 \u2013 5M<\/td>\r\n      <td>Besi 16\/10\/10<\/td>\r\n      <td>1.282.500\/stage<\/td>\r\n    <\/tr>\r\n    <tr>\r\n      <td>Tower Triangle Galvaniz 30 \u2013 5M<\/td>\r\n      <td>Besi 16\/10\/10<\/td>\r\n      <td>1.957.500\/stage<\/td>\r\n    <\/tr>\r\n    <tr>\r\n      <td>Tower Triangle Cat 30 \u2013 2,5M<\/td>\r\n      <td>Besi 16\/10\/10<\/td>\r\n      <td>742.500\/stage<\/td>\r\n    <\/tr>\r\n    <tr>\r\n      <td>Tower Triangle Galvaniz 30 \u2013 2,55M<\/td>\r\n      <td>Besi 16\/10\/10<\/td>\r\n      <td>1.147.500<\/td>\r\n    <\/tr>\r\n    <tr>\r\n      <td>Tower Triangle Cat 40 \u2013 2M<\/td>\r\n      <td>Besi 16\/10\/10<\/td>\r\n      <td>877.500<\/td>\r\n    <\/tr>\r\n    <tr>\r\n      <td>Tower Triangle Galvaniz 40 \u2013 2M<\/td>\r\n      <td>Besi 16\/10\/10<\/td>\r\n      <td>1.417.500\/stage<\/td>\r\n    <\/tr>\r\n    <tr>\r\n      <td>Tower Fourangle Cat 30 \u2013 5M<\/td>\r\n      <td>Besi 16\/10\/10<\/td>\r\n      <td>2.025.000\/stage<\/td>\r\n    <\/tr>\r\n    <tr>\r\n      <td>Tower Fourangle Galvaniz 30 \u2013 5M<\/td>\r\n      <td>Besi 16\/10\/10<\/td>\r\n      <td>2.902.500\/stage<\/td>\r\n    <\/tr>\r\n    <tr>\r\n      <td>Tower Fourangle Cat 30 \u2013 2M<\/td>\r\n      <td>Besi 16\/10\/10<\/td>\r\n      <td>945.000<\/td>\r\n    <\/tr>\r\n    <tr>\r\n      <td>Tower Fourangle Galvaniz 30 \u2013 2M<\/td>\r\n      <td>Besi 16\/10\/10<\/td>\r\n      <td>1.417.500<\/td>\r\n    <\/tr>\r\n  <\/tbody>\r\n<\/table>\n\n\n\n\n\n<p style=\"cursor: text;\"><span style=\"font-size: 14.4px;\">#TiangPenangkalPetir&nbsp; &nbsp;#JualTiangPenangkalPetir&nbsp; &nbsp;#TiangLightningRod&nbsp; &nbsp;#TiangGrounding&nbsp; &nbsp;#TiangMonopolePetir&nbsp; &nbsp;#TiangAntiPetir&nbsp; &nbsp;#TiangGalvanisPetir&nbsp; &nbsp;#TiangPetirGalvanis&nbsp; &nbsp;#TiangPetirBangunan&nbsp; &nbsp;#TiangPetirRumah&nbsp; &nbsp;#TiangPetirPabrik&nbsp; &nbsp;#TiangPenangkalPetirMurah&nbsp; &nbsp;#TiangPetirBerkualitas&nbsp; &nbsp;#ProdusenTiangPetir&nbsp; &nbsp;#PabrikTiangPetir&nbsp; &nbsp;#TiangPetirOutdoor&nbsp; &nbsp;#TiangPenangkalPetirGalvanis&nbsp; &nbsp;#TiangPenangkalPetirIndonesia&nbsp; &nbsp;#TiangPetirResmi&nbsp; &nbsp;#SupplierTiangPetir&nbsp;#TowerTriangleCAT&nbsp; &nbsp;#TowerTriangleGalvanis&nbsp; &nbsp;#TowerFourAngle20cm&nbsp; &nbsp;#TowerFourAngle30cm&nbsp; &nbsp;#HargaPabrikTower&nbsp; &nbsp;#TowerTriangleMurah&nbsp; &nbsp;#TowerFourAngleMurah&nbsp; &nbsp;#TowerGalvanisHargaPabrik&nbsp; &nbsp;#TowerCATHargaPabrik&nbsp; &nbsp;#TowerTriangleBerkualitas&nbsp; &nbsp;#TowerSegitigaGalvanis&nbsp; &nbsp;#TowerSegitigaCAT&nbsp; &nbsp;#TowerFourAngleGalvanis&nbsp; &nbsp;#JualTowerTriangle&nbsp; &nbsp;#PabrikTowerSegitiga&nbsp; &nbsp;#SupplierTowerFourAngle&nbsp; &nbsp;#ProdusenTowerSegitiga&nbsp; &nbsp;#TowerInternetMurah&nbsp; &nbsp;#TowerRadioHargaPabrik&nbsp; &nbsp;#TowerKomunikasiMurah<\/span><\/p>\n\n\n\n\n\n\n<!DOCTYPE html>\n<html lang=\"id\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Kalkulator Berat dan Beban Tower Fourangle &#038; Triangle<\/title>\n    <style>\n        * {\n            box-sizing: border-box;\n            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n        }\n        body {\n            max-width: 900px;\n            margin: 0 auto;\n            padding: 20px;\n            background-color: #f0f2f5;\n            color: #333;\n        }\n        .container {\n            background-color: white;\n            padding: 25px;\n            border-radius: 10px;\n            box-shadow: 0 4px 15px rgba(0,0,0,0.1);\n        }\n        h1 {\n            color: #2c3e50;\n            text-align: center;\n            margin-bottom: 10px;\n            font-size: 24px;\n        }\n        .subtitle {\n            text-align: center;\n            color: #7f8c8d;\n            margin-bottom: 30px;\n            font-size: 16px;\n        }\n        .form-group {\n            margin-bottom: 15px;\n            display: flex;\n            flex-direction: column;\n            height: 100%;\n        }\n        label {\n            display: block;\n            margin-bottom: 5px;\n            font-weight: 600;\n            color: #2c3e50;\n        }\n        select, input {\n            width: 100%;\n            padding: 10px;\n            border: 1px solid #ddd;\n            border-radius: 5px;\n            font-size: 14px;\n            transition: border 0.3s;\n            flex-grow: 1;\n        }\n        select:focus, input:focus {\n            border-color: #3498db;\n            outline: none;\n        }\n        .error {\n            border-color: #e74c3c !important;\n        }\n        .error-message {\n            color: #e74c3c;\n            font-size: 12px;\n            margin-top: 5px;\n            display: none;\n        }\n        .form-row {\n            display: flex;\n            flex-wrap: wrap;\n            margin: 0 -10px;\n            margin-bottom: 15px;\n        }\n        .form-col {\n            flex: 1;\n            padding: 0 10px;\n            min-width: 200px;\n            display: flex;\n            flex-direction: column;\n        }\n        .result {\n            background-color: #f8f9fa;\n            padding: 20px;\n            border-radius: 8px;\n            margin-top: 25px;\n            border-left: 4px solid #3498db;\n            display: none;\n        }\n        .result h3 {\n            margin-top: 0;\n            color: #2c3e50;\n            border-bottom: 1px solid #e0e0e0;\n            padding-bottom: 10px;\n        }\n        .result-item {\n            margin-bottom: 10px;\n            display: flex;\n            justify-content: space-between;\n            padding: 5px 0;\n        }\n        .result-label {\n            font-weight: 600;\n            color: #2c3e50;\n            min-width: 200px;\n        }\n        .result-value {\n            font-weight: bold;\n            color: #2c3e50;\n            text-align: right;\n            flex: 1;\n        }\n        .button-group {\n            display: flex;\n            gap: 10px;\n            margin-top: 20px;\n        }\n        button {\n            flex: 1;\n            padding: 12px 15px;\n            border: none;\n            border-radius: 5px;\n            cursor: pointer;\n            font-size: 16px;\n            font-weight: 600;\n            transition: all 0.3s;\n        }\n        #calculateBtn {\n            background-color: #3498db;\n            color: white;\n        }\n        #calculateBtn:hover {\n            background-color: #2980b9;\n        }\n        #printBtn {\n            background-color: #2ecc71;\n            color: white;\n        }\n        #printBtn:hover {\n            background-color: #27ae60;\n        }\n        #whatsappBtn {\n            background-color: #25D366;\n            color: white;\n        }\n        #whatsappBtn:hover {\n            background-color: #128C7E;\n        }\n        .hidden {\n            display: none;\n        }\n        .whatsapp-input {\n            margin-top: 15px;\n        }\n        .whatsapp-input input {\n            border: 1px solid #ddd;\n            padding: 10px;\n            border-radius: 5px;\n            width: 100%;\n        }\n        footer {\n            text-align: center;\n            margin-top: 20px;\n            color: #7f8c8d;\n            font-size: 14px;\n        }\n        .website-link {\n            color: #3498db;\n            text-decoration: none;\n            font-weight: bold;\n        }\n        .website-link:hover {\n            text-decoration: underline;\n        }\n        \n        \/* CSS untuk Print A4 *\/\n        @media print {\n            body {\n                margin: 0;\n                padding: 0;\n                background: white;\n                width: 210mm;\n                height: 297mm;\n                font-size: 12pt;\n            }\n            .container {\n                width: 100%;\n                max-width: 100%;\n                margin: 0;\n                padding: 15mm;\n                box-shadow: none;\n                border-radius: 0;\n                page-break-after: always;\n            }\n            h1 {\n                font-size: 18pt;\n                text-align: center;\n                margin-bottom: 10mm;\n            }\n            .subtitle {\n                font-size: 12pt;\n                margin-bottom: 15mm;\n            }\n            .form-section, .button-group, .whatsapp-input, footer {\n                display: none;\n            }\n            .result {\n                border: 1px solid #ccc;\n                padding: 10mm;\n                margin-top: 10mm;\n                page-break-inside: avoid;\n                display: block !important;\n            }\n            .result h3 {\n                font-size: 14pt;\n            }\n            .result-item {\n                font-size: 11pt;\n            }\n            .print-header {\n                display: block;\n                text-align: center;\n                margin-bottom: 10mm;\n                border-bottom: 1px solid #ccc;\n                padding-bottom: 5mm;\n            }\n            .print-header h2 {\n                margin: 0;\n                font-size: 16pt;\n                color: #2c3e50;\n            }\n            .print-date {\n                font-size: 10pt;\n                color: #7f8c8d;\n            }\n        }\n    <\/style>\n<\/head>\n<body>\n    <div class=\"container\">\n        <div class=\"print-header\">\n            <h2>LAPORAN PERHITUNGAN BERAT DAN BEBAN TOWER FOURANGLE &#038; TRIANGLE<\/h2>\n            <div class=\"print-date\" id=\"printDate\"><\/div>\n        <\/div>\n        \n        <h1>PERHITUNGAN BERAT DAN BEBAN TOWER<\/h1>\n        <p class=\"subtitle\">Hitung kapasitas tower berdasarkan spesifikasi teknis<\/p>\n        \n        <div class=\"form-section\">\n            <form id=\"towerForm\">\n                <!-- Baris 1: Jenis Tower dan Besi Utama -->\n                <div class=\"form-row\">\n                    <div class=\"form-col\">\n                        <div class=\"form-group\">\n                            <label for=\"towerType\">Jenis Tower:<\/label>\n                            <select id=\"towerType\" required>\n                                <option value=\"\">&#8212; Pilih Jenis Tower &#8212;<\/option>\n                                <option value=\"fourangle\">Fourangle (4 sisi)<\/option>\n                                <option value=\"triangle\">Triangle (3 sisi)<\/option>\n                            <\/select>\n                            <div class=\"error-message\" id=\"towerTypeError\">Harap pilih jenis tower<\/div>\n                        <\/div>\n                    <\/div>\n                    \n                    <div class=\"form-col\">\n                        <div class=\"form-group\">\n                            <label for=\"mainSteelType\">Besi Utama:<\/label>\n                            <select id=\"mainSteelType\" required>\n                                <option value=\"\">&#8212; Pilih Jenis Besi &#8212;<\/option>\n                                <option value=\"besi_polos\">Besi Polos<\/option>\n                                <option value=\"besi_ulir\">Besi Ulir<\/option>\n                                <option value=\"besi_pipa\">Besi Pipa<\/option>\n                                <option value=\"besi_siku\">Besi Siku<\/option>\n                            <\/select>\n                            <div class=\"error-message\" id=\"mainSteelTypeError\">Harap pilih jenis besi<\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n                \n                <!-- Baris 2: Ukuran Besi Utama atau Ukuran Pipa atau Ukuran Siku -->\n                <div class=\"form-row\">\n                    <div class=\"form-col\" id=\"mainSteelSizeGroup\">\n                        <div class=\"form-group\">\n                            <label for=\"mainSteelSize\">Ukuran Besi Utama:<\/label>\n                            <select id=\"mainSteelSize\" required>\n                                <option value=\"\">&#8212; Pilih Ukuran &#8212;<\/option>\n                                <option value=\"10\">10 mm<\/option>\n                                <option value=\"12\">12 mm<\/option>\n                                <option value=\"16\">16 mm<\/option>\n                                <option value=\"22\">22 mm<\/option>\n                            <\/select>\n                            <div class=\"error-message\" id=\"mainSteelSizeError\">Harap pilih ukuran besi<\/div>\n                        <\/div>\n                    <\/div>\n                    \n                    <div class=\"form-col hidden\" id=\"pipeSizeGroup\">\n                        <div class=\"form-group\">\n                            <label for=\"pipeSize\">Ukuran Pipa:<\/label>\n                            <select id=\"pipeSize\">\n                                <option value=\"\">&#8212; Pilih Ukuran Pipa &#8212;<\/option>\n                                <option value=\"0.5\">1\/2 inci<\/option>\n                                <option value=\"0.75\">3\/4 inci<\/option>\n                                <option value=\"1\">1 inci<\/option>\n                                <option value=\"1.25\">1 1\/4 inci<\/option>\n                                <option value=\"1.5\">1 1\/2 inci<\/option>\n                                <option value=\"2\">2 inci<\/option>\n                                <option value=\"2.5\">2 1\/2 inci<\/option>\n                                <option value=\"3\">3 inci<\/option>\n                            <\/select>\n                            <div class=\"error-message\" id=\"pipeSizeError\">Harap pilih ukuran pipa<\/div>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"form-col hidden\" id=\"sikuWidthGroup\">\n                        <div class=\"form-group\">\n                            <label for=\"sikuWidth\">Lebar Siku:<\/label>\n                            <select id=\"sikuWidth\">\n                                <option value=\"\">&#8212; Pilih Lebar Siku &#8212;<\/option>\n                                <option value=\"2\">2 cm<\/option>\n                                <option value=\"2.5\">2.5 cm<\/option>\n                                <option value=\"3\">3 cm<\/option>\n                                <option value=\"3.5\">3.5 cm<\/option>\n                                <option value=\"4\">4 cm<\/option>\n                            <\/select>\n                            <div class=\"error-message\" id=\"sikuWidthError\">Harap pilih lebar siku<\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n                \n                <!-- Baris 3: Tebal Pipa, Tebal Siku, dan Lapisan Tower -->\n                <div class=\"form-row\">\n                    <div class=\"form-col hidden\" id=\"pipeThicknessGroup\">\n                        <div class=\"form-group\">\n                            <label for=\"pipeThickness\">Tebal Pipa:<\/label>\n                            <select id=\"pipeThickness\">\n                                <option value=\"\">&#8212; Pilih Tebal Pipa &#8212;<\/option>\n                                <option value=\"2\">2 mm<\/option>\n                                <option value=\"2.5\">2.5 mm<\/option>\n                                <option value=\"3\">3 mm<\/option>\n                            <\/select>\n                            <div class=\"error-message\" id=\"pipeThicknessError\">Harap pilih tebal pipa<\/div>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"form-col hidden\" id=\"sikuThicknessGroup\">\n                        <div class=\"form-group\">\n                            <label for=\"sikuThickness\">Tebal Siku:<\/label>\n                            <select id=\"sikuThickness\">\n                                <option value=\"\">&#8212; Pilih Tebal Siku &#8212;<\/option>\n                                <option value=\"2\">2 mm<\/option>\n                                <option value=\"2.5\">2.5 mm<\/option>\n                                <option value=\"3\">3 mm<\/option>\n                            <\/select>\n                            <div class=\"error-message\" id=\"sikuThicknessError\">Harap pilih tebal siku<\/div>\n                        <\/div>\n                    <\/div>\n                    \n                    <div class=\"form-col\">\n                        <div class=\"form-group\">\n                            <label for=\"coating\">Lapisan Tower:<\/label>\n                            <select id=\"coating\" required>\n                                <option value=\"\">&#8212; Pilih Lapisan &#8212;<\/option>\n                                <option value=\"galvanis\">Galvanis<\/option>\n                                <option value=\"painting\">Painting<\/option>\n                            <\/select>\n                            <div class=\"error-message\" id=\"coatingError\">Harap pilih lapisan tower<\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n                \n                <!-- Baris 4: Lebar dan Panjang Tower -->\n                <div class=\"form-row\">\n                    <div class=\"form-col\">\n                        <div class=\"form-group\">\n                            <label for=\"width\">Lebar Tower:<\/label>\n                            <select id=\"width\" required>\n                                <option value=\"\">&#8212; Pilih Lebar &#8212;<\/option>\n                                <option value=\"20\">20 cm<\/option>\n                                <option value=\"25\">25 cm<\/option>\n                                <option value=\"30\">30 cm<\/option>\n                                <option value=\"40\">40 cm<\/option>\n                            <\/select>\n                            <div class=\"error-message\" id=\"widthError\">Harap pilih lebar tower<\/div>\n                        <\/div>\n                    <\/div>\n                    \n                    <div class=\"form-col\">\n                        <div class=\"form-group\">\n                            <label for=\"length\">Panjang Tower:<\/label>\n                            <select id=\"length\" required>\n                                <option value=\"\">&#8212; Pilih Panjang &#8212;<\/option>\n                                <option value=\"2.5\">2.5 m<\/option>\n                                <option value=\"3\">3 m<\/option>\n                                <option value=\"4\">4 m<\/option>\n                                <option value=\"5\">5 m<\/option>\n                            <\/select>\n                            <div class=\"error-message\" id=\"lengthError\">Harap pilih panjang tower<\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n                \n                <!-- Baris 5: Besi Tangga dan Siku Silang -->\n                <div class=\"form-row\">\n                    <div class=\"form-col\">\n                        <div class=\"form-group\">\n                            <label for=\"ladderSteel\">Besi Tangga:<\/label>\n                            <select id=\"ladderSteel\" required>\n                                <option value=\"\">&#8212; Pilih Ukuran &#8212;<\/option>\n                                <option value=\"8\">8 mm<\/option>\n                                <option value=\"10\">10 mm<\/option>\n                                <option value=\"12\">12 mm<\/option>\n                                <option value=\"16\">16 mm<\/option>\n                            <\/select>\n                            <div class=\"error-message\" id=\"ladderSteelError\">Harap pilih ukuran besi tangga<\/div>\n                        <\/div>\n                    <\/div>\n                    \n                    <div class=\"form-col\">\n                        <div class=\"form-group\">\n                            <label for=\"braceSteel\">Siku Silang:<\/label>\n                            <select id=\"braceSteel\" required>\n                                <option value=\"\">&#8212; Pilih Ukuran &#8212;<\/option>\n                                <option value=\"8\">8 mm<\/option>\n                                <option value=\"10\">10 mm<\/option>\n                                <option value=\"12\">12 mm<\/option>\n                                <option value=\"16\">16 mm<\/option>\n                                <option value=\"22\">22 mm<\/option>\n                            <\/select>\n                            <div class=\"error-message\" id=\"braceSteelError\">Harap pilih ukuran siku silang<\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n                \n                <!-- Baris 6: Jumlah Unit dan Nomor WhatsApp -->\n                <div class=\"form-row\">\n                    <div class=\"form-col\">\n                        <div class=\"form-group\">\n                            <label for=\"quantity\">Jumlah Unit:<\/label>\n                            <input type=\"number\" id=\"quantity\" min=\"1\" value=\"1\" required>\n                            <div class=\"error-message\" id=\"quantityError\">Harap masukkan jumlah unit<\/div>\n                        <\/div>\n                    <\/div>\n                    \n                    <div class=\"form-col\">\n                        <div class=\"form-group whatsapp-input\">\n                            <label for=\"whatsappNumber\">Nomor WhatsApp:<\/label>\n                            <input type=\"text\" id=\"whatsappNumber\" placeholder=\"+62xxxxxxxxxxx\">\n                            <div class=\"error-message\" id=\"whatsappNumberError\">Harap masukkan nomor WhatsApp yang valid<\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n                \n                <!-- Tombol Aksi -->\n                <div class=\"button-group\">\n                    <button type=\"button\" id=\"calculateBtn\">Hitung Berat &#038; Beban<\/button>\n                    <button type=\"button\" id=\"printBtn\">Print Data<\/button>\n                    <button type=\"button\" id=\"whatsappBtn\">Kirim ke WhatsApp<\/button>\n                <\/div>\n            <\/form>\n        <\/div>\n        \n        <!-- Hasil Perhitungan -->\n        <div class=\"result\" id=\"resultSection\">\n            <h3>Hasil Perhitungan<\/h3>\n            \n            <div class=\"result-item\">\n                <span class=\"result-label\">Jenis Tower:<\/span>\n                <span class=\"result-value\" id=\"towerTypeResult\">&#8211;<\/span>\n            <\/div>\n            <div class=\"result-item\">\n                <span class=\"result-label\">Besi Utama:<\/span>\n                <span class=\"result-value\" id=\"mainSteelResult\">&#8211;<\/span>\n            <\/div>\n            <div class=\"result-item\">\n                <span class=\"result-label\">Lapisan Tower:<\/span>\n                <span class=\"result-value\" id=\"coatingResult\">&#8211;<\/span>\n            <\/div>\n            <div class=\"result-item\">\n                <span class=\"result-label\">Lebar Tower:<\/span>\n                <span class=\"result-value\" id=\"widthResult\">&#8211;<\/span>\n            <\/div>\n            <div class=\"result-item\">\n                <span class=\"result-label\">Panjang Tower:<\/span>\n                <span class=\"result-value\" id=\"lengthResult\">&#8211;<\/span>\n            <\/div>\n            <div class=\"result-item\">\n                <span class=\"result-label\">Besi Tangga:<\/span>\n                <span class=\"result-value\" id=\"ladderSteelResult\">&#8211;<\/span>\n            <\/div>\n            <div class=\"result-item\">\n                <span class=\"result-label\">Siku Silang:<\/span>\n                <span class=\"result-value\" id=\"braceSteelResult\">&#8211;<\/span>\n            <\/div>\n            <div class=\"result-item\">\n                <span class=\"result-label\">Berat 1 Unit Tower:<\/span>\n                <span class=\"result-value\" id=\"weightPerUnit\">&#8211;<\/span>\n            <\/div>\n            <div class=\"result-item\">\n                <span class=\"result-label\">Total Berat (Semua Unit):<\/span>\n                <span class=\"result-value\" id=\"totalWeight\">&#8211;<\/span>\n            <\/div>\n            \n            <!-- Hasil Perhitungan Tambahan -->\n            <div class=\"result-item\">\n                <span class=\"result-label\">Beban Maksimal di Ujung Tower:<\/span>\n                <span class=\"result-value\" id=\"maxLoad\">&#8211;<\/span>\n            <\/div>\n            <div class=\"result-item\">\n                <span class=\"result-label\">Kecepatan Angin Maksimal:<\/span>\n                <span class=\"result-value\" id=\"maxWindSpeed\">&#8211;<\/span>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <footer>\n        <p>Kalkulator Berat dan Beban Tower &copy; 2023 &#8211; <a href=\"https:\/\/www.tokotower.com\" class=\"website-link\" target=\"_blank\">www.tokotower.com<\/a><\/p>\n    <\/footer>\n\n    <script>\n        \/\/ Data berat besi per meter (kg\/m)\n        const steelWeights = {\n            \/\/ Besi polos\/ulir\n            '8': 0.395,\n            '10': 0.6165,\n            '12': 0.8878,\n            '16': 1.578,\n            '22': 2.984,\n            \n            \/\/ Pipa dengan berbagai ukuran dan ketebalan\n            \/\/ Format: pipa_{ukuranInci}_{tebalMm}\n            'pipa_0.5_2': 0.62,\n            'pipa_0.5_2.5': 0.78,\n            'pipa_0.5_3': 0.92,\n            'pipa_0.75_2': 0.82,\n            'pipa_0.75_2.5': 1.03,\n            'pipa_0.75_3': 1.22,\n            'pipa_1_2': 1.02,\n            'pipa_1_2.5': 1.28,\n            'pipa_1_3': 1.52,\n            'pipa_1.25_2': 1.26,\n            'pipa_1.25_2.5': 1.58,\n            'pipa_1.25_3': 1.88,\n            'pipa_1.5_2': 1.50,\n            'pipa_1.5_2.5': 1.88,\n            'pipa_1.5_3': 2.24,\n            'pipa_2_2': 1.98,\n            'pipa_2_2.5': 2.48,\n            'pipa_2_3': 2.95,\n            'pipa_2.5_2': 2.46,\n            'pipa_2.5_2.5': 3.08,\n            'pipa_2.5_3': 3.67,\n            'pipa_3_2': 2.94,\n            'pipa_3_2.5': 3.68,\n            'pipa_3_3': 4.39,\n\n            \/\/ Siku dengan berbagai ukuran dan ketebalan\n            \/\/ Format: siku_{lebarCm}_{tebalMm}\n            'siku_2_2': 0.62,\n            'siku_2_2.5': 0.77,\n            'siku_2_3': 0.92,\n            'siku_2.5_2': 0.78,\n            'siku_2.5_2.5': 0.97,\n            'siku_2.5_3': 1.16,\n            'siku_3_2': 0.94,\n            'siku_3_2.5': 1.17,\n            'siku_3_3': 1.40,\n            'siku_3.5_2': 1.10,\n            'siku_3.5_2.5': 1.37,\n            'siku_3.5_3': 1.64,\n            'siku_4_2': 1.26,\n            'siku_4_2.5': 1.57,\n            'siku_4_3': 1.88\n        };\n\n        \/\/ Data kekuatan material (kg\/mm\u00b2)\n        const materialStrength = {\n            'besi_polos': 24,\n            'besi_ulir': 40,\n            'besi_pipa': 35,\n            'besi_siku': 30\n        };\n\n        \/\/ Elemen DOM\n        const towerType = document.getElementById('towerType');\n        const mainSteelType = document.getElementById('mainSteelType');\n        const mainSteelSizeGroup = document.getElementById('mainSteelSizeGroup');\n        const mainSteelSize = document.getElementById('mainSteelSize');\n        const pipeSizeGroup = document.getElementById('pipeSizeGroup');\n        const pipeSize = document.getElementById('pipeSize');\n        const pipeThicknessGroup = document.getElementById('pipeThicknessGroup');\n        const pipeThickness = document.getElementById('pipeThickness');\n        const sikuWidthGroup = document.getElementById('sikuWidthGroup');\n        const sikuWidth = document.getElementById('sikuWidth');\n        const sikuThicknessGroup = document.getElementById('sikuThicknessGroup');\n        const sikuThickness = document.getElementById('sikuThickness');\n        const coating = document.getElementById('coating');\n        const width = document.getElementById('width');\n        const length = document.getElementById('length');\n        const ladderSteel = document.getElementById('ladderSteel');\n        const braceSteel = document.getElementById('braceSteel');\n        const quantity = document.getElementById('quantity');\n        const calculateBtn = document.getElementById('calculateBtn');\n        const printBtn = document.getElementById('printBtn');\n        const whatsappBtn = document.getElementById('whatsappBtn');\n        const whatsappNumber = document.getElementById('whatsappNumber');\n        const printDate = document.getElementById('printDate');\n        const resultSection = document.getElementById('resultSection');\n        \n        \/\/ Elemen hasil\n        const towerTypeResult = document.getElementById('towerTypeResult');\n        const mainSteelResult = document.getElementById('mainSteelResult');\n        const coatingResult = document.getElementById('coatingResult');\n        const widthResult = document.getElementById('widthResult');\n        const lengthResult = document.getElementById('lengthResult');\n        const ladderSteelResult = document.getElementById('ladderSteelResult');\n        const braceSteelResult = document.getElementById('braceSteelResult');\n        const weightPerUnitEl = document.getElementById('weightPerUnit');\n        const totalWeightEl = document.getElementById('totalWeight');\n        const maxLoadEl = document.getElementById('maxLoad');\n        const maxWindSpeedEl = document.getElementById('maxWindSpeed');\n\n        \/\/ Fungsi untuk menampilkan error\n        function showError(elementId, errorId) {\n            document.getElementById(elementId).classList.add('error');\n            document.getElementById(errorId).style.display = 'block';\n        }\n\n        \/\/ Fungsi untuk menghilangkan error\n        function hideError(elementId, errorId) {\n            document.getElementById(elementId).classList.remove('error');\n            document.getElementById(errorId).style.display = 'none';\n        }\n\n        \/\/ Validasi form\n        function validateForm() {\n            let isValid = true;\n            \n            \/\/ Validasi jenis tower\n            if (!towerType.value) {\n                showError('towerType', 'towerTypeError');\n                isValid = false;\n            } else {\n                hideError('towerType', 'towerTypeError');\n            }\n            \n            \/\/ Validasi jenis besi utama\n            if (!mainSteelType.value) {\n                showError('mainSteelType', 'mainSteelTypeError');\n                isValid = false;\n            } else {\n                hideError('mainSteelType', 'mainSteelTypeError');\n            }\n            \n            \/\/ Validasi berdasarkan jenis besi yang dipilih\n            if (mainSteelType.value === 'besi_pipa') {\n                if (!pipeSize.value) {\n                    showError('pipeSize', 'pipeSizeError');\n                    isValid = false;\n                } else {\n                    hideError('pipeSize', 'pipeSizeError');\n                }\n                \n                if (!pipeThickness.value) {\n                    showError('pipeThickness', 'pipeThicknessError');\n                    isValid = false;\n                } else {\n                    hideError('pipeThickness', 'pipeThicknessError');\n                }\n            } else if (mainSteelType.value === 'besi_siku') {\n                if (!sikuWidth.value) {\n                    showError('sikuWidth', 'sikuWidthError');\n                    isValid = false;\n                } else {\n                    hideError('sikuWidth', 'sikuWidthError');\n                }\n                \n                if (!sikuThickness.value) {\n                    showError('sikuThickness', 'sikuThicknessError');\n                    isValid = false;\n                } else {\n                    hideError('sikuThickness', 'sikuThicknessError');\n                }\n            } else {\n                if (!mainSteelSize.value) {\n                    showError('mainSteelSize', 'mainSteelSizeError');\n                    isValid = false;\n                } else {\n                    hideError('mainSteelSize', 'mainSteelSizeError');\n                }\n            }\n            \n            \/\/ Validasi lapisan\n            if (!coating.value) {\n                showError('coating', 'coatingError');\n                isValid = false;\n            } else {\n                hideError('coating', 'coatingError');\n            }\n            \n            \/\/ Validasi lebar\n            if (!width.value) {\n                showError('width', 'widthError');\n                isValid = false;\n            } else {\n                hideError('width', 'widthError');\n            }\n            \n            \/\/ Validasi panjang\n            if (!length.value) {\n                showError('length', 'lengthError');\n                isValid = false;\n            } else {\n                hideError('length', 'lengthError');\n            }\n            \n            \/\/ Validasi besi tangga\n            if (!ladderSteel.value) {\n                showError('ladderSteel', 'ladderSteelError');\n                isValid = false;\n            } else {\n                hideError('ladderSteel', 'ladderSteelError');\n            }\n            \n            \/\/ Validasi siku silang\n            if (!braceSteel.value) {\n                showError('braceSteel', 'braceSteelError');\n                isValid = false;\n            } else {\n                hideError('braceSteel', 'braceSteelError');\n            }\n            \n            \/\/ Validasi jumlah unit\n            if (!quantity.value || quantity.value < 1) {\n                showError('quantity', 'quantityError');\n                isValid = false;\n            } else {\n                hideError('quantity', 'quantityError');\n            }\n            \n            return isValid;\n        }\n\n        \/\/ Tampilkan\/sembunyikan opsi berdasarkan jenis besi utama\n        function updateSteelTypeOptions() {\n            const steelType = mainSteelType.value;\n            \n            \/\/ Sembunyikan semua grup terlebih dahulu\n            mainSteelSizeGroup.classList.add('hidden');\n            pipeSizeGroup.classList.add('hidden');\n            pipeThicknessGroup.classList.add('hidden');\n            sikuWidthGroup.classList.add('hidden');\n            sikuThicknessGroup.classList.add('hidden');\n            \n            \/\/ Tampilkan grup yang sesuai dengan pilihan\n            if (steelType === 'besi_polos' || steelType === 'besi_ulir') {\n                mainSteelSizeGroup.classList.remove('hidden');\n            } else if (steelType === 'besi_pipa') {\n                pipeSizeGroup.classList.remove('hidden');\n                pipeThicknessGroup.classList.remove('hidden');\n            } else if (steelType === 'besi_siku') {\n                sikuWidthGroup.classList.remove('hidden');\n                sikuThicknessGroup.classList.remove('hidden');\n            }\n            \n            \/\/ Reset validasi saat jenis berubah\n            hideError('mainSteelSize', 'mainSteelSizeError');\n            hideError('pipeSize', 'pipeSizeError');\n            hideError('pipeThickness', 'pipeThicknessError');\n            hideError('sikuWidth', 'sikuWidthError');\n            hideError('sikuThickness', 'sikuThicknessError');\n        }\n\n        \/\/ Event listener untuk perubahan jenis besi utama\n        mainSteelType.addEventListener('change', updateSteelTypeOptions);\n\n        \/\/ Event listener untuk menghilangkan error saat user mulai mengisi\n        const formElements = document.querySelectorAll('select, input');\n        formElements.forEach(element => {\n            element.addEventListener('change', function() {\n                const elementId = this.id;\n                const errorId = elementId + 'Error';\n                hideError(elementId, errorId);\n            });\n        });\n\n        \/\/ Fungsi untuk memperbarui tanggal cetak\n        function updatePrintDate() {\n            const now = new Date();\n            const options = { \n                weekday: 'long', \n                year: 'numeric', \n                month: 'long', \n                day: 'numeric',\n                hour: '2-digit',\n                minute: '2-digit'\n            };\n            printDate.textContent = now.toLocaleDateString('id-ID', options);\n        }\n\n        \/\/ Fungsi untuk menghitung beban maksimal di ujung tower (lebih realistis)\n        function calculateMaxLoad(towerTypeVal, steelType, mainSteelSizeVal, lengthVal, widthVal) {\n            \/\/ Faktor keamanan yang lebih tinggi untuk perhitungan yang realistis\n            const safetyFactor = 8;\n            \n            \/\/ Luas penampang besi utama\n            let crossSectionArea;\n            \n            if (steelType === 'besi_pipa') {\n                \/\/ Untuk pipa, hitung luas penampang berdasarkan diameter dan ketebalan\n                const pipeSizeVal = parseFloat(pipeSize.value);\n                const pipeThicknessVal = parseFloat(pipeThickness.value);\n                const outerRadius = (pipeSizeVal * 25.4) \/ 2; \/\/ Konversi inci ke mm, lalu ke radius\n                const innerRadius = outerRadius - pipeThicknessVal;\n                crossSectionArea = Math.PI * (Math.pow(outerRadius, 2) - Math.pow(innerRadius, 2));\n            } else if (steelType === 'besi_siku') {\n                \/\/ Untuk siku, hitung luas penampang berdasarkan lebar dan tebal\n                const sikuWidthVal = parseFloat(sikuWidth.value);\n                const sikuThicknessVal = parseFloat(sikuThickness.value);\n                \/\/ Luas penampang siku = (lebar * tebal) * 2 - (tebal * tebal)\n                crossSectionArea = (sikuWidthVal * 10 * sikuThicknessVal) * 2 - (sikuThicknessVal * sikuThicknessVal);\n            } else {\n                \/\/ Untuk besi polos\/ulir, hitung luas penampang berdasarkan diameter\n                const diameter = parseFloat(mainSteelSizeVal);\n                crossSectionArea = Math.PI * Math.pow(diameter\/2, 2);\n            }\n            \n            \/\/ Kekuatan material (kg\/mm\u00b2)\n            const strength = materialStrength[steelType] || 30;\n            \n            \/\/ Jumlah sisi tower\n            const sides = towerTypeVal === 'fourangle' ? 4 : 3;\n            \n            \/\/ Beban maksimal yang dapat ditahan oleh material (kg)\n            const materialCapacity = (crossSectionArea * strength) \/ safetyFactor;\n            \n            \/\/ Faktor ketinggian - beban berkurang seiring dengan ketinggian\n            const heightFactor = Math.max(0.3, 1 - (lengthVal \/ 20));\n            \n            \/\/ Beban maksimal di ujung tower\n            let maxLoad = materialCapacity * sides * heightFactor;\n            \n            \/\/ Batasi beban maksimal antara 80-150 kg (sesuai dengan perangkat radio biasa)\n            maxLoad = Math.min(maxLoad, 150);\n            maxLoad = Math.max(maxLoad, 80);\n            \n            return Math.round(maxLoad);\n        }\n\n        \/\/ Fungsi untuk menghitung kecepatan angin maksimal (lebih realistis)\n        function calculateMaxWindSpeed(towerTypeVal, lengthVal, widthVal, totalWeightPerUnit) {\n            \/\/ Luas permukaan yang terkena angin (m\u00b2)\n            \/\/ Asumsi: tower memiliki luas permukaan yang sebanding dengan panjang dan lebar\n            const surfaceArea = lengthVal * (widthVal \/ 100) * (towerTypeVal === 'fourangle' ? 4 : 3) * 0.3;\n            \n            \/\/ Koefisien drag untuk struktur tower (nilai konservatif)\n            const dragCoefficient = 1.2;\n            \n            \/\/ Densitas udara (kg\/m\u00b3)\n            const airDensity = 1.225;\n            \n            \/\/ Beban angin maksimal yang dapat ditahan tower (kg)\n            \/\/ Asumsi: tower dapat menahan beban angin sebesar 1.5x beratnya sendiri (lebih realistis)\n            const maxWindLoad = totalWeightPerUnit * 1.5;\n            \n            \/\/ Konversi beban ke Newton (1 kg = 9.81 N)\n            const maxWindLoadNewton = maxWindLoad * 9.81;\n            \n            \/\/ Rumus: F = 0.5 * \u03c1 * v\u00b2 * A * Cd\n            \/\/ Maka: v = \u221a(2 * F \/ (\u03c1 * A * Cd))\n            const windSpeedMS = Math.sqrt((2 * maxWindLoadNewton) \/ (airDensity * surfaceArea * dragCoefficient));\n            \n            \/\/ Konversi ke km\/jam\n            let windSpeedKMH = windSpeedMS * 3.6;\n            \n            \/\/ Batasi kecepatan angin maksimal antara 100-120 km\/jam (sesuai standar)\n            windSpeedKMH = Math.min(windSpeedKMH, 120);\n            windSpeedKMH = Math.max(windSpeedKMH, 100);\n            \n            return Math.round(windSpeedKMH);\n        }\n\n        \/\/ Fungsi menghitung berat\n        function calculateWeight() {\n            \/\/ Validasi form sebelum menghitung\n            if (!validateForm()) {\n                resultSection.style.display = 'none';\n                return null;\n            }\n            \n            \/\/ Ambil nilai dari form\n            const towerTypeVal = towerType.value;\n            const steelType = mainSteelType.value;\n            const widthVal = parseFloat(width.value) \/ 100; \/\/ Konversi ke meter\n            const lengthVal = parseFloat(length.value);\n            const ladderSteelVal = ladderSteel.value;\n            const braceSteelVal = braceSteel.value;\n            const quantityVal = parseInt(quantity.value);\n            const coatingVal = coating.value;\n            \n            \/\/ Tentukan jumlah sisi berdasarkan jenis tower\n            const sides = towerTypeVal === 'fourangle' ? 4 : 3;\n            \n            \/\/ Tentukan berat per meter untuk besi utama\n            let mainSteelWeightPerMeter;\n            let mainSteelDesc;\n            let mainSteelSizeVal;\n            \n            if (steelType === 'besi_pipa') {\n                const pipeSizeVal = pipeSize.value;\n                const pipeThicknessVal = pipeThickness.value;\n                const pipeKey = `pipa_${pipeSizeVal}_${pipeThicknessVal}`;\n                mainSteelWeightPerMeter = steelWeights[pipeKey] || 1.5; \/\/ Default jika tidak ditemukan\n                mainSteelSizeVal = pipeSizeVal;\n                \n                \/\/ Konversi ukuran inci ke string yang lebih mudah dibaca\n                const pipeSizeReadable = {\n                    '0.5': '1\/2',\n                    '0.75': '3\/4',\n                    '1': '1',\n                    '1.25': '1 1\/4',\n                    '1.5': '1 1\/2',\n                    '2': '2',\n                    '2.5': '2 1\/2',\n                    '3': '3'\n                };\n                \n                mainSteelDesc = `Pipa ${pipeSizeReadable[pipeSizeVal]} inci (${pipeThicknessVal}mm)`;\n            } else if (steelType === 'besi_siku') {\n                const sikuWidthVal = sikuWidth.value;\n                const sikuThicknessVal = sikuThickness.value;\n                const sikuKey = `siku_${sikuWidthVal}_${sikuThicknessVal}`;\n                mainSteelWeightPerMeter = steelWeights[sikuKey] || 1.0; \/\/ Default jika tidak ditemukan\n                mainSteelSizeVal = sikuWidthVal;\n                mainSteelDesc = `Siku ${sikuWidthVal} cm (Tebal ${sikuThicknessVal} mm)`;\n            } else {\n                mainSteelSizeVal = mainSteelSize.value;\n                mainSteelWeightPerMeter = steelWeights[mainSteelSizeVal];\n                const steelTypeName = steelType === 'besi_polos' ? 'Besi Polos' : 'Besi Ulir';\n                mainSteelDesc = `${steelTypeName} ${mainSteelSizeVal}mm`;\n            }\n            \n            \/\/ Hitung berat tiang utama (sisi batang vertikal)\n            const mainSteelLength = sides * lengthVal;\n            const mainSteelWeight = mainSteelLength * mainSteelWeightPerMeter;\n            \n            \/\/ Hitung berat siku silang (braces)\n            \/\/ Asumsi: braces dipasang setiap 0.5 meter dengan pola X pada setiap sisi\n            const spacing = 0.5; \/\/ meter\n            const segments = lengthVal \/ spacing;\n            \n            \/\/ Panjang diagonal per segmen\n            const diagonalLength = Math.sqrt(spacing * spacing + widthVal * widthVal);\n            \n            \/\/ Jumlah diagonal berdasarkan jenis tower\n            \/\/ Fourangle: 2 diagonal per sisi x 4 sisi = 8 diagonal per segmen\n            \/\/ Triangle: 1 diagonal per sisi x 3 sisi = 3 diagonal per segmen\n            const diagonalsPerSegment = towerTypeVal === 'fourangle' ? 8 : 3;\n            \n            const totalBraceLength = segments * diagonalsPerSegment * diagonalLength;\n            const braceWeight = totalBraceLength * steelWeights[braceSteelVal];\n            \n            \/\/ Hitung berat tangga\n            \/\/ Asumsi: 2 batang vertikal + anak tangga setiap 0.3 meter\n            const rungSpacing = 0.3; \/\/ meter\n            const numberOfRungs = Math.floor(lengthVal \/ rungSpacing);\n            const ladderVerticalLength = 2 * lengthVal; \/\/ 2 batang vertikal\n            const ladderRungsLength = numberOfRungs * widthVal; \/\/ Anak tangga\n            const totalLadderLength = ladderVerticalLength + ladderRungsLength;\n            const ladderWeight = totalLadderLength * steelWeights[ladderSteelVal];\n            \n            \/\/ Total berat 1 unit tower\n            const totalWeightPerUnit = mainSteelWeight + braceWeight + ladderWeight;\n            \n            \/\/ Hitung beban maksimal di ujung tower (dengan nilai realistis)\n            const maxLoad = calculateMaxLoad(towerTypeVal, steelType, mainSteelSizeVal, lengthVal, widthVal);\n            \n            \/\/ Hitung kecepatan angin maksimal (dengan nilai realistis)\n            const maxWindSpeed = calculateMaxWindSpeed(towerTypeVal, lengthVal, widthVal, totalWeightPerUnit);\n            \n            \/\/ Update hasil di UI\n            towerTypeResult.textContent = towerTypeVal === 'fourangle' ? 'Fourangle (4 sisi)' : 'Triangle (3 sisi)';\n            mainSteelResult.textContent = mainSteelDesc;\n            coatingResult.textContent = coatingVal === 'galvanis' ? 'Galvanis' : 'Painting';\n            widthResult.textContent = (widthVal * 100) + ' cm';\n            lengthResult.textContent = lengthVal + ' m';\n            ladderSteelResult.textContent = ladderSteelVal + ' mm';\n            braceSteelResult.textContent = braceSteelVal + ' mm';\n            weightPerUnitEl.textContent = totalWeightPerUnit.toFixed(2) + ' kg';\n            totalWeightEl.textContent = (totalWeightPerUnit * quantityVal).toFixed(2) + ' kg';\n            maxLoadEl.textContent = maxLoad + ' kg';\n            maxWindSpeedEl.textContent = maxWindSpeed + ' km\/jam';\n            \n            \/\/ Tampilkan hasil\n            resultSection.style.display = 'block';\n            \n            return {\n                towerType: towerTypeVal,\n                mainSteel: mainSteelDesc,\n                coating: coatingVal,\n                width: widthVal * 100,\n                length: lengthVal,\n                ladderSteel: ladderSteelVal,\n                braceSteel: braceSteelVal,\n                weightPerUnit: totalWeightPerUnit,\n                totalWeight: totalWeightPerUnit * quantityVal,\n                quantity: quantityVal,\n                maxLoad: maxLoad,\n                maxWindSpeed: maxWindSpeed\n            };\n        }\n\n        \/\/ Event listener untuk tombol hitung\n        calculateBtn.addEventListener('click', function() {\n            calculateWeight();\n        });\n\n        \/\/ Event listener untuk tombol print\n        printBtn.addEventListener('click', function() {\n            const result = calculateWeight();\n            if (result) {\n                updatePrintDate();\n                window.print();\n            }\n        });\n\n        \/\/ Event listener untuk tombol WhatsApp\n        whatsappBtn.addEventListener('click', function() {\n            const result = calculateWeight();\n            if (!result) return;\n            \n            const number = whatsappNumber.value.trim();\n            \n            if (!number) {\n                showError('whatsappNumber', 'whatsappNumberError');\n                whatsappNumber.focus();\n                return;\n            }\n            \n            \/\/ Validasi format nomor WhatsApp\n            if (!number.startsWith('+62')) {\n                showError('whatsappNumber', 'whatsappNumberError');\n                whatsappNumber.focus();\n                return;\n            }\n            \n            \/\/ Hilangkan error jika valid\n            hideError('whatsappNumber', 'whatsappNumberError');\n            \n            \/\/ Buat pesan untuk WhatsApp\n            const message = `Halo, berikut hasil perhitungan berat dan beban tower:\\n\\n` +\n                           `Jenis Tower: ${result.towerType === 'fourangle' ? 'Fourangle (4 sisi)' : 'Triangle (3 sisi)'}\\n` +\n                           `Besi Utama: ${result.mainSteel}\\n` +\n                           `Lapisan: ${result.coating === 'galvanis' ? 'Galvanis' : 'Painting'}\\n` +\n                           `Lebar Tower: ${result.width} cm\\n` +\n                           `Panjang Tower: ${result.length} m\\n` +\n                           `Besi Tangga: ${result.ladderSteel} mm\\n` +\n                           `Siku Silang: ${result.braceSteel} mm\\n` +\n                           `Berat 1 Unit: ${result.weightPerUnit.toFixed(2)} kg\\n` +\n                           `Jumlah Unit: ${result.quantity}\\n` +\n                           `Total Berat: ${result.totalWeight.toFixed(2)} kg\\n` +\n                           `Beban Maksimal di Ujung Tower: ${result.maxLoad} kg\\n` +\n                           `Kecepatan Angin Maksimal: ${result.maxWindSpeed} km\/jam\\n\\n` +\n                           `Sumber: www.tokotower.com\\n` +\n                           `Terima kasih.`;\n            \n            \/\/ Encode pesan untuk URL\n            const encodedMessage = encodeURIComponent(message);\n            \n            \/\/ Buat URL WhatsApp\n            const whatsappURL = `https:\/\/wa.me\/${number}?text=${encodedMessage}`;\n            \n            \/\/ Buka WhatsApp\n            window.open(whatsappURL, '_blank');\n        });\n\n        \/\/ Inisialisasi saat halaman dimuat\n        window.addEventListener('load', function() {\n            updatePrintDate();\n            updateSteelTypeOptions(); \/\/ Pastikan opsi yang benar ditampilkan saat halaman dimuat\n        });\n    <\/script>\n<\/body>\n<\/html>\n\n\n\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"pagelayer_contact_templates":[],"_pagelayer_content":"","footnotes":""},"class_list":["post-135","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/tiangjalan.com\/pabrik\/wp-json\/wp\/v2\/pages\/135","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tiangjalan.com\/pabrik\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tiangjalan.com\/pabrik\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tiangjalan.com\/pabrik\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tiangjalan.com\/pabrik\/wp-json\/wp\/v2\/comments?post=135"}],"version-history":[{"count":35,"href":"https:\/\/tiangjalan.com\/pabrik\/wp-json\/wp\/v2\/pages\/135\/revisions"}],"predecessor-version":[{"id":747,"href":"https:\/\/tiangjalan.com\/pabrik\/wp-json\/wp\/v2\/pages\/135\/revisions\/747"}],"wp:attachment":[{"href":"https:\/\/tiangjalan.com\/pabrik\/wp-json\/wp\/v2\/media?parent=135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}