{"id":16986,"date":"2026-05-07T09:24:56","date_gmt":"2026-05-07T09:24:56","guid":{"rendered":"https:\/\/www.dgcrane.com\/?p=16986"},"modified":"2026-05-07T10:01:24","modified_gmt":"2026-05-07T10:01:24","slug":"crane-hoist-wire-rope-replacement-calculator","status":"publish","type":"post","link":"https:\/\/www.dgcrane.com\/id\/crane-hoist-wire-rope-replacement-calculator\/","title":{"rendered":"Kalkulator Penggantian Tali Kawat Derek"},"content":{"rendered":"<div id=\"calculator\">\n\n  <div class=\"calc-group\">\n    <label for=\"calculator-ropeType\">Jenis Tali Kawat<\/label>\n    <select id=\"calculator-ropeType\" class=\"calc-input\">\n      <option value=\"fc\">Tali satu lapis dengan inti serat (FC)<\/option>\n      <option value=\"iwrc\">Tali satu lapis dengan inti baja (IWRC)<\/option>\n      <option value=\"rotation\">Tali tahan putaran<\/option>\n    <\/select>\n  <\/div>\n\n  <div class=\"calc-group\">\n    <label for=\"calculator-nominalD\">Diameter Nominal d (mm)<\/label>\n    <input type=\"number\" step=\"0.1\" id=\"calculator-nominalD\" class=\"calc-input\" data-required=\"true\">\n    <div class=\"error-msg\" id=\"error-nominalD\">Silakan masukkan angka positif yang valid.<\/div>\n  <\/div>\n\n  <div class=\"calc-group\">\n    <label for=\"calculator-refD\">Diameter Referensi d<sub>referensi<\/sub> (mm)<\/label>\n    <input type=\"number\" step=\"0.1\" id=\"calculator-refD\" class=\"calc-input\" data-required=\"true\">\n    <div class=\"error-msg\" id=\"error-refD\">Silakan masukkan angka positif yang valid.<\/div>\n  <\/div>\n\n  <div class=\"calc-group\">\n    <label for=\"calculator-measuredD\">Diameter Terukur d<sub>M<\/sub> (mm)<\/label>\n    <input type=\"number\" step=\"0.1\" id=\"calculator-measuredD\" class=\"calc-input\" data-required=\"true\">\n    <div class=\"error-msg\" id=\"error-measuredD\">Silakan masukkan angka positif yang valid.<\/div>\n  <\/div>\n\n  <div class=\"calc-buttons\">\n    <button type=\"button\" id=\"calculator-calculate\" class=\"calc-btn primary\">Hitung &amp; Nilai<\/button>\n    <button type=\"button\" id=\"calculator-reset\" class=\"calc-btn reset\">Mengatur ulang<\/button>\n  <\/div>\n\n  <div class=\"calc-result\" id=\"calculator-result\" style=\"display: none;\">\n    <div class=\"result-title\">Hasil Penilaian<\/div>\n    <div class=\"result-item\">\n      <span class=\"result-label\">Pengurangan Diameter:<\/span>\n      <span class=\"result-value\" id=\"result-q\"><\/span>\n    <\/div>\n    <div class=\"result-item\">\n      <span class=\"result-label\">Jangkauan Kerusakan:<\/span>\n      <span class=\"result-value\" id=\"result-percent\"><\/span>\n    <\/div>\n    <div class=\"result-item\">\n      <span class=\"result-label\">Tingkat Kerusakan:<\/span>\n      <span class=\"result-value\" id=\"result-level\"><\/span>\n    <\/div>\n    <div class=\"result-item\">\n      <span class=\"result-label\">Status Penggunaan:<\/span>\n      <span class=\"result-value\" id=\"result-status\"><\/span>\n    <\/div>\n    <div class=\"result-item\">\n      <span class=\"result-label\">Tindakan yang Disarankan:<\/span>\n      <span class=\"result-text\" id=\"result-action\"><\/span>\n    <\/div>\n  <\/div>\n\n  <style>\n    #calculator {\n      --primary-color: #0a3487;\n      --primary-hover: #F58423;\n      --error-color: #e53935;\n      --bg-color: #EAEEF7;\n      --text-color: #4a4a4a;\n      max-width: 545px;\n      padding: 30px;\n      background: var(--bg-color);\n      font-family: Arial, sans-serif;\n      color: var(--text-color);\n    }\n    #calculator * {\n      margin: 0;\n      padding: 0;\n      box-sizing: border-box;\n      transition: all 0.2s ease;\n    }\n    #calculator .calc-header {\n      font-size: 18px;\n      font-weight: bold;\n      text-align: center;\n      margin-bottom: 15px;\n      color: var(--primary-color);\n    }\n    #calculator .calc-formula {\n      text-align: center;\n      font-size: 14px;\n      margin-bottom: 20px;\n    }\n    #calculator .calc-group {\n      margin-bottom: 18px;gap:inherit;\n    }\n    #calculator label {\n      display: block;\n      font-size: 14px;\n      margin-bottom: 6px;\n      font-weight: 500;\n    }\n    #calculator .calc-input {\n      width: 100%;\n      height: 36px;\n      border-radius: 0;\n      border: 1px solid #ccc;\n      padding: 0 10px;\n      font-size: 16px;\n      outline: none;\n    }\n    #calculator .calc-input:focus {\n      border: 2px solid var(--primary-color);\n    }\n    #calculator .calc-input.error {\n      border: 2px solid var(--error-color) !important;\n    }\n    #calculator .error-msg {\n      display: none;\n      font-size: 12px;\n      color: var(--error-color);\n      margin-top: 4px;\n    }\n    #calculator .error-msg.show {\n      display: block;\n    }\n    #calculator .calc-buttons {\n      display: flex;\n      gap: 12px;\n      margin: 25px 0;\n    }\n    #calculator .calc-btn {\n      flex: 1;\n      height: 34px;\n      line-height: 34px;\n      border-radius: 0;\n      border: none;\n      font-size: 14px;\n      cursor: pointer;\n      text-align: center;\n    }\n    #calculator .calc-btn.primary {\n      background: var(--primary-color);\n      color: #fff;\n    }\n    #calculator .calc-btn.primary:hover {\n      background: var(--primary-hover);\n    }\n    #calculator .calc-btn.reset {\n      background: #ccc;\n      color: var(--text-color);\n    }\n    #calculator .calc-btn.reset:hover {\n      background: #bbb;\n    }\n    #calculator .calc-result {\n      border-top: 1px solid #ccc;\n      padding-top: 20px;\n    }\n    #calculator .result-title {\n      font-size: 18px;\n      font-weight: bold;\n      text-align: center;\n      margin-bottom: 15px;\n      color: var(--primary-color);\n    }\n    #calculator .result-item {\n      display: flex;\n      margin-bottom: 10px;\n      align-items: center;\n    }\n    #calculator .result-label {\n      width: 180px;\n      font-size: 14px;\n      font-weight: 500;\n    }\n    #calculator .result-value {\n      font-size: 16px;\n      font-weight: bold;\n    }\n    #calculator .result-text {\n      font-size: 14px;\n      line-height: 1.4;\n    }\n    #calculator .level-normal { color: #2e7d32; }\n    #calculator .level-warning { color: #f57f17; }\n    #calculator .level-danger { color: var(--error-color); }\n\n    @media (max-width: 768px) {\n      #calculator {\n        padding: 20px;\n      }\n      #calculator .calc-input,\n      #calculator .calc-btn {\n        height: 0.7rem;\n        font-size: 0.28rem;\n      }\n      #calculator .calc-buttons {\n        flex-direction: column;\n        gap: 10px;\n      }\n      #calculator .calc-btn {\n        width: 100%;\n      }\n      #calculator label,\n      #calculator .result-label,\n      #calculator .result-text {\n        font-size: 0.28rem;\n      }\n      #calculator .result-value {\n        font-size: 0.32rem;\n      }\n      #calculator .calc-header,\n      #calculator .result-title {\n        font-size: 0.36rem;\n      }\n    }\n  <\/style>\n\n  <script>\n    (function() {\n      const standards = {\n        fc: [\n          { min:0, max:6, percent:0, level:\"No Damage\", status:\"Safe for Use\", action:\"Routine inspection\" },\n          { min:6, max:7, percent:20, level:\"Slight\", status:\"Safe for Use\", action:\"Increase inspection frequency\" },\n          { min:7, max:8, percent:40, level:\"Medium\", status:\"Close Monitoring\", action:\"Prepare replacement plan\" },\n          { min:8, max:9, percent:60, level:\"Severe\", status:\"Close Monitoring\", action:\"Control load strictly\" },\n          { min:9, max:10, percent:80, level:\"Severe\", status:\"Recommended Discard\", action:\"Replace as soon as possible\" },\n          { min:10, max:Infinity, percent:100, level:\"Severe\", status:\"Must Discard\", action:\"Stop use immediately\" }\n        ],\n        iwrc: [\n          { min:0, max:3.5, percent:0, level:\"No Damage\", status:\"Safe for Use\", action:\"Routine inspection\" },\n          { min:3.5, max:4.5, percent:20, level:\"Slight\", status:\"Safe for Use\", action:\"Increase inspection frequency\" },\n          { min:4.5, max:5.5, percent:40, level:\"Medium\", status:\"Close Monitoring\", action:\"Prepare replacement plan\" },\n          { min:5.5, max:6.5, percent:60, level:\"Severe\", status:\"Close Monitoring\", action:\"Control load strictly\" },\n          { min:6.5, max:7.5, percent:80, level:\"Severe\", status:\"Recommended Discard\", action:\"Replace as soon as possible\" },\n          { min:7.5, max:Infinity, percent:100, level:\"Severe\", status:\"Must Discard\", action:\"Stop use immediately\" }\n        ],\n        rotation: [\n          { min:0, max:1, percent:0, level:\"No Damage\", status:\"Safe for Use\", action:\"Routine inspection\" },\n          { min:1, max:2, percent:20, level:\"Medium\", status:\"Safe for Use\", action:\"Increase inspection frequency\" },\n          { min:2, max:3, percent:40, level:\"Medium\", status:\"Close Monitoring\", action:\"Prepare replacement plan\" },\n          { min:3, max:4, percent:60, level:\"Severe\", status:\"Close Monitoring\", action:\"Control load strictly\" },\n          { min:4, max:5, percent:80, level:\"Severe\", status:\"Recommended Discard\", action:\"Replace as soon as possible\" },\n          { min:5, max:Infinity, percent:100, level:\"Severe\", status:\"Must Discard\", action:\"Stop use immediately\" }\n        ]\n      };\n\n      const el = (id) => document.getElementById(`calculator-${id}`);\n      const err = (id) => document.getElementById(`error-${id}`);\n      const inputs = ['nominalD', 'refD', 'measuredD'];\n\n      function setError(fieldId, msg) {\n        const input = el(fieldId);\n        const errorEl = err(fieldId);\n        input.classList.add('error');\n        errorEl.textContent = msg;\n        errorEl.classList.add('show');\n      }\n\n      function clearError(fieldId) {\n        const input = el(fieldId);\n        const errorEl = err(fieldId);\n        input.classList.remove('error');\n        errorEl.classList.remove('show');\n      }\n\n      function validateInput() {\n        let valid = true;\n        inputs.forEach(field => {\n          const val = parseFloat(el(field).value);\n          if (isNaN(val) || val <= 0) {\n            setError(field, 'Please enter a valid positive number');\n            valid = false;\n          } else {\n            clearError(field);\n          }\n        });\n        return valid;\n      }\n\n      function bindInputClear() {\n        inputs.forEach(field => {\n          el(field).addEventListener('input', () => clearError(field));\n        });\n      }\n\n      function calculate() {\n        if (!validateInput()) return;\n        const type = el('ropeType').value;\n        const d = parseFloat(el('nominalD').value);\n        const dRef = parseFloat(el('refD').value);\n        const dM = parseFloat(el('measuredD').value);\n\n        const Q = Math.abs(((dRef - dM) \/ d) * 100);\n        const qFixed = Q.toFixed(2);\n        const rules = standards[type];\n        let res = rules.find(r => Q >= r.min && Q < r.max) || rules[rules.length - 1];\n\n        const resultEl = document.getElementById('calculator-result');\n        document.getElementById('result-q').textContent = `${qFixed}%`;\n        document.getElementById('result-percent').textContent = `${res.percent}%`;\n        document.getElementById('result-level').textContent = res.level;\n        document.getElementById('result-status').textContent = res.status;\n        document.getElementById('result-action').textContent = res.action;\n\n        const levelCls = res.status.includes('Safe') ? 'level-normal' : res.status.includes('Monitoring') ? 'level-warning' : 'level-danger';\n        document.getElementById('result-level').className = 'result-value ' + levelCls;\n        document.getElementById('result-status').className = 'result-value ' + levelCls;\n\n        resultEl.style.display = 'block';\n      }\n\n      function resetForm() {\n        inputs.forEach(field => {\n          el(field).value = '';\n          clearError(field);\n        });\n        el('ropeType').selectedIndex = 0;\n        document.getElementById('calculator-result').style.display = 'none';\n      }\n\n      function init() {\n        bindInputClear();\n        el('calculate').addEventListener('click', calculate);\n        el('reset').addEventListener('click', resetForm);\n      }\n\n      window.addEventListener('DOMContentLoaded', init);\n    })();\n  <\/script>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Rumus Pengganti Tali Kawat Derek<\/h2>\n\n\n\n<p><strong>Q=[ (d<sub>referensi<\/sub>-D<sub>M<\/sub>) \/d ]*100%<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>D<sub>referensi<\/sub><\/strong>: diameter referensi<\/li>\n\n\n\n<li><strong>D<sub>M<\/sub>: <\/strong>diameter yang diukur<\/li>\n\n\n\n<li><strong>D:<\/strong> diameter nominal<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Catatan Penting &amp; Tips Keselamatan<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Alat ini dirancang sebagai alat penilaian tambahan untuk memberikan data referensi awal yang cepat.<\/li>\n\n\n\n<li>Inspeksi komprehensif secara berkala diperlukan untuk keselamatan peralatan pengangkat.<\/li>\n\n\n\n<li>Hentikan pengoperasian segera setelah mencapai standar pembuangan kritis.<\/li>\n\n\n\n<li>Hindari pembebanan berlebih, tekukan tajam, dan tekanan berlebihan selama penggunaan tali.<\/li>\n\n\n\n<li>Pelumasan secara teratur dapat secara efektif memperlambat keausan tali kawat.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Lingkup Aplikasi<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Kerekan Tali Kawat Listrik<\/li>\n\n\n\n<li>Derek Tali Kawat Manual<\/li>\n\n\n\n<li>Derek<\/li>\n\n\n\n<li>Rakitan Katrol<\/li>\n\n\n\n<li>Derek Overhead<\/li>\n\n\n\n<li>Gantry Crane<\/li>\n\n\n\n<li>Derek Bergerak<\/li>\n\n\n\n<li>Derek Pelabuhan<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Produk &amp; Skenario yang Tidak Sesuai<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Peralatan pengangkat non-crane<\/strong>Lift, wahana hiburan, platform kerja di ketinggian (standar terpisah berlaku)<\/li>\n\n\n\n<li><strong>Sistem tali serat sintetis khusus<\/strong>Tali pengangkat serat sintetis, tali pengangkat anyaman (sifat material berbeda)<\/li>\n\n\n\n<li><strong>Drum penggulung satu lapis dengan puli berbahan sintetis atau pelapis alur puli.<\/strong><\/li>\n\n\n\n<li><strong>Aplikasi tanpa pengangkatan<\/strong>: Kereta gantung, jembatan gantung, saluran transmisi listrik (mekanisme tegangan yang berbeda)<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"Kalkulator penggantian tali kawat derek, yang dikembangkan sesuai dengan ISO 4309:2017, sepenuhnya sesuai dengan spesifikasi industri. Kalkulator ini dapat dengan cepat dan akurat menghitung tingkat keausan diameter tali kawat, secara otomatis mencocokkan tingkat kerusakan, menyederhanakan proses inspeksi kepatuhan, dan membantu Anda menentukan titik penggantian dengan cepat untuk menghindari kerugian akibat waktu henti dan risiko keselamatan.","protected":false},"author":8,"featured_media":16988,"parent":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"single-onlinetools.php","format":"standard","meta":{"_acf_changed":false,"rank_math_lock_modified_date":false,"pgc_sgb_lightbox_settings":"","footnotes":""},"categories":[63],"tags":[],"class_list":["post-16986","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-other"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.dgcrane.com\/id\/wp-json\/wp\/v2\/posts\/16986"}],"collection":[{"href":"https:\/\/www.dgcrane.com\/id\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dgcrane.com\/id\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dgcrane.com\/id\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dgcrane.com\/id\/wp-json\/wp\/v2\/comments?post=16986"}],"version-history":[{"count":8,"href":"https:\/\/www.dgcrane.com\/id\/wp-json\/wp\/v2\/posts\/16986\/revisions"}],"predecessor-version":[{"id":16998,"href":"https:\/\/www.dgcrane.com\/id\/wp-json\/wp\/v2\/posts\/16986\/revisions\/16998"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dgcrane.com\/id\/wp-json\/wp\/v2\/media\/16988"}],"wp:attachment":[{"href":"https:\/\/www.dgcrane.com\/id\/wp-json\/wp\/v2\/media?parent=16986"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dgcrane.com\/id\/wp-json\/wp\/v2\/categories?post=16986"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dgcrane.com\/id\/wp-json\/wp\/v2\/tags?post=16986"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}