{"id":2483,"date":"2025-03-10T02:57:05","date_gmt":"2025-03-10T02:57:05","guid":{"rendered":"https:\/\/ccitonline.com\/wp\/?p=2483"},"modified":"2025-03-10T02:57:05","modified_gmt":"2025-03-10T02:57:05","slug":"analisis-curve-fitting-untuk-10-data-plot-j-dan-hubungannya-dengan-persamaan-konduktivitas-panas-ignatius-david-mahendra-2306223963","status":"publish","type":"post","link":"https:\/\/ccitonline.com\/wp\/2025\/03\/10\/analisis-curve-fitting-untuk-10-data-plot-j-dan-hubungannya-dengan-persamaan-konduktivitas-panas-ignatius-david-mahendra-2306223963\/","title":{"rendered":"Analisis Curve Fitting untuk 10 Data Plot J dan Hubungannya dengan Persamaan Konduktivitas Panas &#8211; Ignatius David Mahendra (2306223963)"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\"><strong>Deep Awareness (of) I<\/strong><\/h4>\n\n\n\n<p>Sebagai mahasiswa yang sedang mempelajari metode numerik dan analisis data, saya menyadari bahwa pemahaman tentang <strong>curve fitting<\/strong> dan hubungannya dengan persamaan fisika sangat penting. Dalam tugas ini, saya akan menganalisis <strong>10 data plot J<\/strong> yang berbeda, melakukan curve fitting pada masing-masing data, dan menggabungkan hasilnya untuk memahami hubungan antara data tersebut dengan persamaan konduktivitas panas yang diberikan.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Intention<\/strong><\/h4>\n\n\n\n<p>Tujuan saya menulis blog ini adalah untuk:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Melakukan <strong>curve fitting<\/strong> pada 10 data plot J yang berbeda.<\/li>\n\n\n\n<li>Menggabungkan 10 data tersebut dan melakukan curve fitting pada data gabungan.<\/li>\n\n\n\n<li>Menampilkan hasil curve fitting dalam bentuk grafik interaktif.<\/li>\n\n\n\n<li>Menghubungkan hasil curve fitting dengan persamaan konduktivitas panas yang diberikan.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Initial Thinking<\/strong><\/h4>\n\n\n\n<p>Saya memulai dengan mempelajari data dari 10 file CSV (<code>j2.csv<\/code> hingga <code>j11.csv<\/code>). Setiap file berisi data temperatur sebagai fungsi dari posisi. Langkah-langkah yang akan saya lakukan adalah:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Parsing Data<\/strong>: Membaca dan memproses data dari setiap file CSV.<\/li>\n\n\n\n<li><strong>Curve Fitting<\/strong>: Melakukan regresi polinomial pada setiap data individu dan data gabungan.<\/li>\n\n\n\n<li><strong>Visualisasi<\/strong>: Menampilkan hasil curve fitting dalam grafik interaktif menggunakan <strong>Chart.js<\/strong>.<\/li>\n\n\n\n<li><strong>Analisis<\/strong>: Menghubungkan hasil curve fitting dengan persamaan konduktivitas panas.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Idealization<\/strong><\/h4>\n\n\n\n<p>Saya membayangkan sebuah alur kerja yang terstruktur untuk:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Parsing Data<\/strong>: Membaca 10 file CSV dan menggabungkannya.<\/li>\n\n\n\n<li><strong>Curve Fitting<\/strong>: Melakukan regresi polinomial derajat 3 pada setiap data individu dan data gabungan.<\/li>\n\n\n\n<li><strong>Visualisasi<\/strong>: Membuat grafik interaktif untuk menampilkan data asli dan hasil curve fitting.<\/li>\n\n\n\n<li><strong>Analisis<\/strong>: Menghubungkan hasil curve fitting dengan persamaan konduktivitas panas.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Instruction Set<\/strong><\/h4>\n\n\n\n<p>Berikut adalah langkah-langkah yang saya ikuti:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Parsing Data<\/strong>:<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Baca data dari 10 file CSV.<\/li>\n\n\n\n<li>Gabungkan data tersebut menjadi satu dataset.<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Curve Fitting<\/strong>:<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Lakukan regresi polinomial derajat 3 pada setiap data individu.<\/li>\n\n\n\n<li>Lakukan regresi polinomial derajat 3 pada data gabungan.<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Visualisasi<\/strong>:<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Buat grafik interaktif menggunakan <strong>Chart.js<\/strong>.<\/li>\n\n\n\n<li>Tampilkan data asli dan hasil curve fitting.<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Analisis<\/strong>:<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Bandingkan hasil curve fitting dengan persamaan konduktivitas panas.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Implementasi Alat Interaktif<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Script HTML + JavaScript<\/strong><\/h4>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/cdn.discordapp.com\/attachments\/589116065464975366\/1348489706899247156\/image.png?ex=67cfa667&amp;is=67ce54e7&amp;hm=cb039ae9d9786cad71c39e325e0f3d72f4d8b33f27f206381eaeab2cba6add5b&amp;\"\/><\/figure>\n\n\n\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <title>Curve Fitting untuk 10 Data Plot J<\/title>\n  <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"><\/script>\n  <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/regression\"><\/script> <!-- Library untuk regresi -->\n  <style>\n    body {\n      font-family: Arial, sans-serif;\n      margin: 20px;\n    }\n    .container {\n      max-width: 1200px;\n      margin: 0 auto;\n    }\n    .chart-container {\n      margin-top: 20px;\n    }\n    table {\n      width: 100%;\n      border-collapse: collapse;\n      margin-top: 20px;\n    }\n    th, td {\n      border: 1px solid #ddd;\n      padding: 8px;\n      text-align: center;\n    }\n    th {\n      background-color: #f2f2f2;\n    }\n  <\/style>\n<\/head>\n<body>\n  <div class=\"container\">\n    <h1>Curve Fitting untuk 10 Data Plot J<\/h1>\n    <p>Oleh: Ignatius David Mahendra (2306223963)<\/p>\n\n    <h2>Grafik Data dan Curve Fitting<\/h2>\n    <div class=\"chart-container\">\n      <canvas id=\"combinedChart\"><\/canvas>\n    <\/div>\n\n    <h2>Hasil Curve Fitting<\/h2>\n    <table id=\"resultsTable\">\n      <thead>\n        <tr>\n          <th>Data<\/th>\n          <th>Persamaan Regresi<\/th>\n        <\/tr>\n      <\/thead>\n      <tbody>\n        <!-- Hasil curve fitting akan dimasukkan di sini -->\n      <\/tbody>\n    <\/table>\n\n    <h2>Hubungan dengan Persamaan Konduktivitas Panas<\/h2>\n    <p>\n      Persamaan konduktivitas panas yang diberikan adalah:\n      \\[\n      \\frac{\\partial u}{\\partial t} = \\alpha \\nabla^2 u\n      \\]\n      Di mana:\n      \\[\n      u = T, \\quad \\nabla = \\frac{\\partial}{\\partial x} \\vec{v} + \\frac{\\partial}{\\partial y} \\vec{y} + \\frac{\\partial}{\\partial z} \\vec{w}\n      \\]\n      Hasil curve fitting dapat digunakan untuk memvalidasi distribusi temperatur (\\( T \\)) dalam sistem.\n    <\/p>\n  <\/div>\n\n  <script>\n    \/\/ Data dari 10 file CSV (contoh data)\n    const csvData = {\n      j2: `...`, \/\/ Data dari j2.csv\n      j3: `...`, \/\/ Data dari j3.csv\n      j4: `...`, \/\/ Data dari j4.csv\n      j5: `...`, \/\/ Data dari j5.csv\n      j6: `...`, \/\/ Data dari j6.csv\n      j7: `...`, \/\/ Data dari j7.csv\n      j8: `...`, \/\/ Data dari j8.csv\n      j9: `...`, \/\/ Data dari j9.csv\n      j10: `...`, \/\/ Data dari j10.csv\n      j11: `...`, \/\/ Data dari j11.csv\n    };\n\n    \/\/ Fungsi untuk memproses data CSV\n    function parseCSV(csv) {\n      const lines = csv.split('\\n');\n      const data = [];\n      let startReading = false;\n\n      for (let line of lines) {\n        if (line.includes('AWAL     DATA:')) {\n          startReading = true;\n          continue;\n        }\n        if (line.includes('UJUNG  DATA:')) {\n          break;\n        }\n        if (startReading && line.trim() !== '') {\n          const [x, y] = line.split(',');\n          data.push({\n            x: parseFloat(x.trim()),\n            y: parseFloat(y.trim())\n          });\n        }\n      }\n\n      return data;\n    }\n\n    \/\/ Memproses data dari 10 file CSV\n    const allData = {};\n    for (const key in csvData) {\n      allData[key] = parseCSV(csvData[key]);\n    }\n\n    \/\/ Gabungkan semua data\n    const combinedData = [];\n    for (const key in allData) {\n      combinedData.push(...allData[key]);\n    }\n\n    \/\/ Lakukan curve fitting pada setiap data individu\n    const individualResults = {};\n    for (const key in allData) {\n      const regressionResult = regression.polynomial(allData[key], { order: 3 });\n      individualResults[key] = regressionResult;\n    }\n\n    \/\/ Lakukan curve fitting pada data gabungan\n    const combinedRegressionResult = regression.polynomial(combinedData, { order: 3 });\n\n    \/\/ Tampilkan hasil curve fitting dalam tabel\n    const resultsTable = document.getElementById('resultsTable').getElementsByTagName('tbody')[0];\n    for (const key in individualResults) {\n      const row = resultsTable.insertRow();\n      const cell1 = row.insertCell(0);\n      const cell2 = row.insertCell(1);\n      cell1.textContent = key;\n      cell2.textContent = individualResults[key].equation;\n    }\n    const row = resultsTable.insertRow();\n    const cell1 = row.insertCell(0);\n    const cell2 = row.insertCell(1);\n    cell1.textContent = 'Gabungan';\n    cell2.textContent = combinedRegressionResult.equation;\n\n    \/\/ Buat grafik menggunakan Chart.js\n    const ctx = document.getElementById('combinedChart').getContext('2d');\n    const myChart = new Chart(ctx, {\n      type: 'scatter',\n      data: {\n        datasets: [\n          {\n            label: 'Data Gabungan',\n            data: combinedData,\n            borderColor: 'rgba(75, 192, 192, 1)',\n            backgroundColor: 'rgba(75, 192, 192, 0.2)',\n            pointRadius: 5,\n          },\n          {\n            label: 'Curve Fitting (Gabungan)',\n            data: combinedData.map(point => ({\n              x: point.x,\n              y: combinedRegressionResult.predict(point.x)[1]\n            })),\n            borderColor: 'rgba(255, 99, 132, 1)',\n            backgroundColor: 'rgba(255, 99, 132, 0.2)',\n            pointRadius: 0,\n            borderWidth: 2,\n            fill: false,\n            showLine: true,\n          }\n        ]\n      },\n      options: {\n        scales: {\n          x: {\n            type: 'linear',\n            position: 'bottom',\n            title: {\n              display: true,\n              text: 'ARAH-I PANJ. (M)'\n            }\n          },\n          y: {\n            title: {\n              display: true,\n              text: 'TEMPERATUR (K)'\n            }\n          }\n        }\n      }\n    });\n  <\/script>\n<\/body>\n<\/html>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Kesimpulan<\/strong><\/h3>\n\n\n\n<p>Melalui proyek ini, saya belajar bahwa:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Curve fitting<\/strong> adalah alat yang powerful untuk menganalisis data numerik.<\/li>\n\n\n\n<li>Visualisasi grafik membantu dalam memahami hubungan antara data dan model matematika.<\/li>\n\n\n\n<li>Hasil curve fitting dapat digunakan untuk memvalidasi persamaan fisika seperti konduktivitas panas.<\/li>\n<\/ol>\n\n\n\n<p>Semoga blog ini bermanfaat bagi mahasiswa lain yang ingin mempelajari metode numerik dan analisis data. Jika ada pertanyaan atau masukan, silakan beri tahu! <\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","protected":false},"excerpt":{"rendered":"<p>Deep Awareness (of) I Sebagai mahasiswa yang sedang mempelajari metode numerik dan analisis data, saya menyadari bahwa pemahaman tentang curve fitting dan hubungannya dengan persamaan fisika sangat penting. Dalam tugas ini, saya akan menganalisis 10 data plot J yang berbeda, melakukan curve fitting pada masing-masing data, dan menggabungkan hasilnya untuk memahami hubungan antara data tersebut [&hellip;]<\/p>\n","protected":false},"author":25,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-2483","post","type-post","status-publish","format-standard","hentry","category-general"],"_links":{"self":[{"href":"https:\/\/ccitonline.com\/wp\/wp-json\/wp\/v2\/posts\/2483","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ccitonline.com\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ccitonline.com\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ccitonline.com\/wp\/wp-json\/wp\/v2\/users\/25"}],"replies":[{"embeddable":true,"href":"https:\/\/ccitonline.com\/wp\/wp-json\/wp\/v2\/comments?post=2483"}],"version-history":[{"count":1,"href":"https:\/\/ccitonline.com\/wp\/wp-json\/wp\/v2\/posts\/2483\/revisions"}],"predecessor-version":[{"id":2508,"href":"https:\/\/ccitonline.com\/wp\/wp-json\/wp\/v2\/posts\/2483\/revisions\/2508"}],"wp:attachment":[{"href":"https:\/\/ccitonline.com\/wp\/wp-json\/wp\/v2\/media?parent=2483"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ccitonline.com\/wp\/wp-json\/wp\/v2\/categories?post=2483"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ccitonline.com\/wp\/wp-json\/wp\/v2\/tags?post=2483"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}