{"id":1519,"date":"2024-09-18T03:50:26","date_gmt":"2024-09-18T03:50:26","guid":{"rendered":"https:\/\/www.hashmicro.com\/my\/blog\/?p=1519"},"modified":"2025-12-16T05:11:00","modified_gmt":"2025-12-16T05:11:00","slug":"crude-palm-oil","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/","title":{"rendered":"Optimizing Crude Palm Oil Processing with Manufacturing Software"},"content":{"rendered":"<p style=\"text-align: justify;\"><b>Crude Palm Oil (CPO)<\/b><span style=\"font-weight: 400;\"> is the raw oil extracted from the pulp of oil palm fruit, which is mostly found in tropical areas. It contains important nutrients like carotenoids and fatty acids and is widely used in industries such as food, cosmetics, and biofuels worldwide.<\/span><\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/www.hashmicro.com\/my\/blog\/best-erp-manufacturing-software\/\"><span style=\"font-weight: 400;\">Manufacturing software<\/span><\/a><span style=\"font-weight: 400;\"> plays a crucial role in enhancing the efficiency of CPO processing by automating and optimizing production workflows. It provides real-time data tracking, improves quality control, and streamlines operations, helping companies meet growing industry demands.<\/span><\/p>\n<p data-start=\"1012\" data-end=\"1347\">In this article, we explore what crude palm oil is, its benefits, and the stages involved in its processing. You will also learn how modern manufacturing software enhances production efficiency and overall performance. If you want to see how such a system works in practice, you can request a <a href=\"https:\/\/www.hashmicro.com\/my\/free-product-demo\/\">free demo<\/a> to explore its capabilities.<\/p>\n<table style=\"border-collapse: coacllapse; background-color: #fffacd; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); border-radius: 25px 25px 25px 25px;\" width=\"100%\">\n<tbody>\n<tr>\n<td style=\"padding: 15px; border: none;\">\n<h3 style=\"margin-bottom: 10px;\"><span style=\"background-color: #990000; color: #ffffff; padding: 5px;\"><b>Key Takeaways<\/b><\/span><\/h3>\n<ul>\n<li style=\"font-weight: 400; text-align: justify;\" aria-level=\"1\"><a href=\"#crude\">Crude Palm Oil (CPO)<\/a> is the unrefined oil extracted from the fruit of oil palm trees grown in tropical areas.<\/li>\n<li style=\"font-weight: 400; text-align: justify;\" aria-level=\"1\"><a href=\"#uses\">CPO offers numerous uses<\/a>, from food production to cosmetics and even renewable energy, making it an indispensable resource.<\/li>\n<li style=\"font-weight: 400; text-align: justify;\" aria-level=\"1\">Turning raw palm fruit into CPO involves <a href=\"#steps\">several steps<\/a> that ensure the oil is of high quality.<\/li>\n<li style=\"font-weight: 400; text-align: justify;\" aria-level=\"1\"><a href=\"#mpob\">The Malaysian Palm Oil Board (MPOB)<\/a> enforces several necessary regulations to ensure sustainable CPO production.<\/li>\n<li style=\"text-align: justify;\"><a href=\"https:\/\/www.hashmicro.com\/my\/hash-manufacturing-software\"><span style=\"font-weight: 400;\">HashMicro Manufacturing Software<\/span><\/a><span style=\"font-weight: 400;\"> offers a comprehensive software solution to streamline CPO operations.<\/span><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\"><span id=\"crude\"><!-- <div id=\"toc_group_article\" style=''>\r\n\t<p style='font-size:25px;font-weight:bold; margin-bottom:0px'>\r\n\t\tTable of Content\r\n\t<\/p>\r\n\t<ul id=\"list_toc\" class='list_toc'><\/ul>\r\n<\/div>\r\n\r\n<div class=\"dropdown-fixed-top\" id=\"dropdown-fixed-top\">\r\n\t<div class=\"row\">\r\n\t\t<p id=\"pilihDaftarIsi\">Content Lists<\/p>\r\n\t\t<p><i class=\"td-icon-menu-down\"><\/i><\/p>\r\n\t<\/div>\r\n\t\r\n\t<div>\r\n\t\t<ul id=\"list_toc_top\" class='list_toc'><\/ul>\r\n\t<\/div>\r\n<\/div> -->\r\n\r\n<!-- TOC mobile -->\r\n<div id=\"placeholder-toc\"><\/div>\r\n<div id=\"toc\">\r\n    <div class=\"header\">\r\n\t<span class=\"toc-title\" id=\"toc-title\">Table of Content<\/span>\t\r\n\t <i class=\"toc-icon\">\r\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"header-icon\">\r\n          <path d=\"m6 9 6 6 6-6\" \/>\r\n        <\/svg>\r\n      <\/i>\r\n\t<\/div>\r\n    <div class=\"list\">\r\n      <ul id=\"toc-list\"><\/ul>\r\n    <\/div>\r\n <\/div>\r\n<!-- TOC mobile -->\r\n\r\n<style>\r\n\t@media (max-width: 992px) {\r\n\t\t#toc_group_article {\r\n\t\t\tpadding-top: 24px;\r\n\t\t}\r\n\t}\r\n\t\r\n\t#list_toc_float {\r\n\t\tmax-height: calc(100vh - 250px);\r\n\t\toverflow-y: auto;\r\n\t}\r\n\t\r\n\t#list_toc_top {\r\n\t\tdisplay: none;\r\n\t\tbackground: #fff;\r\n\t\tmargin-bottom: 4px;\r\n\t}\r\n\t\r\n\t#list_toc_top li {\r\n\t\tdisplay: block;\r\n\t\tmargin-left: 0;\r\n\t\tlist-style: none;\r\n\t}\r\n\t\r\n\t#list_toc_top a {\r\n\t\tpadding: 5px;\r\n\t\tdisplay: block;\r\n\t}\r\n\t\r\n\t#list_toc_top.show {\r\n\t\tdisplay: block;\r\n\t}\r\n\r\n\t#list_toc_top a {\r\n\t\tcolor: #434343;\r\n\t\tborder-bottom: 1px solid #bbb;\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top {\r\n\t\tposition: fixed;\r\n\t\ttop: 59px;\r\n\t\twidth: 100%;\r\n\t\tz-index: 99;\r\n\t\tborder-bottom: 2px solid #9c171e;\r\n\t\tpadding: 12px;\r\n\t\tbackground: #fff;\r\n\t\twidth: 100%;\r\n\t\tcursor: pointer;\r\n\t\tdisplay: none;\r\n\t\tleft: 0;\r\n\t\tbox-shadow: 0 -2px 7px 6px rgba(0, 0, 0, 0.17);\r\n\t}\r\n\t\r\n\t#dropdown-fixed-top.show {\r\n\t\tanimation: showAnim 0.5s ease;\r\n\t\tdisplay: block;\r\n\t\topacity: 1;\r\n\t}\r\n\t\r\n\t@keyframes showAnim {\r\n\t\tfrom {\r\n\t\t\tdisplay: none;\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\tto {\r\n\t\t\tdisplay: block;\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top #list_toc_top {\r\n\t\tmax-height: calc(50vh - 110px);\r\n\t\toverflow-y: scroll;\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top .row {\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: space-between\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top .row p {\r\n\t\tmargin-bottom: 0;\r\n\t}\r\n\t\r\n\t#pilihDaftarIsi {\r\n\t\tmax-width: 100%;\r\n\t\toverflow: hidden;\r\n\t\twhite-space: nowrap;\r\n\t}\r\n\t\r\n\t@media (min-width: 1018px) {\r\n\t\t.dropdown-fixed-top {\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc > li > ul {padding-left: 20px;margin-bottom: 0;}\r\n\t#list_toc{height:max-content;transition:ease-in-out}\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc_float li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_top li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_float li a {padding:3px 7px}\r\n\t#list_toc_float li a {\r\n\t\tdisplay: block;\r\n\t\tcolor: #000;\r\n\t\tmargin-bottom: 6px;\r\n\t\tpadding-top: 2px;\r\n\t\tpadding-bottom: 2px;\r\n\t\ttransition: all 0.2s ease-in-out;\r\n\t\tfont-size: 15px;\r\n\t\tline-height: 18px;\r\n\t}\r\n\t#list_toc_float li{list-style:none;list-style-position:inside; margin-left:0;}\r\n\t#list_toc_float a:hover{color:#b1252d;}\r\n\t\r\n\t#toc_group_float{\r\n\t\tline-height: 24px;\r\n\t\tmax-height: calc(100vh - 100px);\r\n\t\toverflow: auto;\r\n\t\tz-index: 99;\r\n\t\tdisplay:none!important;\r\n\t\tbackground:#fff;\r\n\t\ttransition:all 0.5s linear\r\n\t}\r\n\t\r\n\t@media (min-width:1019px){\r\n\t\t#toc_group_float {\r\n\t\t\tdisplay:block!important;\r\n\t\t}\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\t\t\t\t\r\n\t}\r\n\r\n<\/style>\r\n\r\n<style>\r\n\t@media (max-width: 992px) {\r\n\t\t#toc_group_article {\r\n\t\t\tpadding-top: 24px;\r\n\t\t}\r\n\t}\r\n\t\r\n\t#list_toc_float {\r\n\t\tmax-height: calc(100vh - 250px);\r\n\t\toverflow-y: auto;\r\n\t}\r\n\t\r\n\t#list_toc_top {\r\n\t\tdisplay: none;\r\n\t\tbackground: #fff;\r\n\t\tmargin-bottom: 4px;\r\n\t}\r\n\t\r\n\t#list_toc_top li {\r\n\t\tdisplay: block;\r\n\t\tmargin-left: 0;\r\n\t\tlist-style: none;\r\n\t}\r\n\t\r\n\t#list_toc_top a {\r\n\t\tpadding: 5px;\r\n\t\tdisplay: block;\r\n\t}\r\n\t\r\n\t#list_toc_top.show {\r\n\t\tdisplay: block;\r\n\t}\r\n\r\n\t#list_toc_top a {\r\n\t\tcolor: #434343;\r\n\t\tborder-bottom: 1px solid #bbb;\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top {\r\n\t\tposition: fixed;\r\n\t\ttop: 59px;\r\n\t\twidth: 100%;\r\n\t\tz-index: 99;\r\n\t\tborder-bottom: 2px solid #9c171e;\r\n\t\tpadding: 12px;\r\n\t\tbackground: #fff;\r\n\t\twidth: 100%;\r\n\t\tcursor: pointer;\r\n\t\tdisplay: none;\r\n\t\tleft: 0;\r\n\t\tbox-shadow: 0 -2px 7px 6px rgba(0, 0, 0, 0.17);\r\n\t}\r\n\t\r\n\t#dropdown-fixed-top.show {\r\n\t\tanimation: showAnim 0.5s ease;\r\n\t\tdisplay: block;\r\n\t\topacity: 1;\r\n\t}\r\n\t\r\n\t@keyframes showAnim {\r\n\t\tfrom {\r\n\t\t\tdisplay: none;\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\tto {\r\n\t\t\tdisplay: block;\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top #list_toc_top {\r\n\t\tmax-height: calc(50vh - 110px);\r\n\t\toverflow-y: scroll;\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top .row {\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: space-between\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top .row p {\r\n\t\tmargin-bottom: 0;\r\n\t}\r\n\t\r\n\t#pilihDaftarIsi {\r\n\t\tmax-width: 100%;\r\n\t\toverflow: hidden;\r\n\t\twhite-space: nowrap;\r\n\t}\r\n\t\r\n\t@media (min-width: 1018px) {\r\n\t\t.dropdown-fixed-top {\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc > li > ul {padding-left: 20px;margin-bottom: 0;}\r\n\t#list_toc{height:max-content;transition:ease-in-out}\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc_float li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_top li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_float li a {padding:3px 7px}\r\n\t#list_toc_float li a {\r\n\t\tdisplay: block;\r\n\t\tcolor: #000;\r\n\t\tmargin-bottom: 6px;\r\n\t\tpadding-top: 2px;\r\n\t\tpadding-bottom: 2px;\r\n\t\ttransition: all 0.2s ease-in-out;\r\n\t\tfont-size: 15px;\r\n\t\tline-height: 18px;\r\n\t}\r\n\t#list_toc_float li{list-style:none;list-style-position:inside; margin-left:0;}\r\n\t#list_toc_float a:hover{color:#b1252d;}\r\n\t\r\n\t#toc_group_float{\r\n\t\tline-height: 24px;\r\n\t\tmax-height: calc(100vh - 100px);\r\n\t\toverflow: auto;\r\n\t\tz-index: 99;\r\n\t\tdisplay:none!important;\r\n\t\tbackground:#fff;\r\n\t\ttransition:all 0.5s linear\r\n\t}\r\n\t\r\n\t@media (min-width:1019px){\r\n\t\t#toc_group_float {\r\n\t\t\tdisplay:block!important;\r\n\t\t\t}\r\n\t\t\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\r\n<\/style>\r\n\r\n<!-- START ToC styling  -->\r\n<style>\r\n\t\/* Simple styling for the TOC *\/\r\n\t\r\n\t#toc ul li:last-child {\r\n    padding-bottom: 16px; \/* Adjust the value as needed *\/\r\n}\r\n\r\n.td-fix-index {\r\n\t transform: unset !important;\r\n     -webkit-transform: unset !important; \r\n}\r\n.footer-contact .td-fix-index {\r\n\t transform: translateZ(0) !important;\r\n     -webkit-transform: translateZ(0) !important; \r\n}\r\n\t.tdb_single_content .tdb-block-inner.td-fix-index{\r\n\t\tposition: static;\r\n\t}\r\n\t\r\n\r\n\t\r\n#toc {\r\n  background-color: #FFF;\r\n\tpadding: 17px 24px 0px 24px !important;\r\n  margin-bottom: 20px;\r\n\/*   border: 1px solid #9C171E; *\/\r\n  border-radius: 6px;\r\n\tdisplay: none;\r\n  max-width: 100%;\r\n  transition: .4s ease height;\r\n\tmargin-left: 0;\r\n\toverflow: hidden;\r\n}\r\n\r\n#toc .header{\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n\tbackground-color: transparent;\r\n}\r\n\t\r\n\t#toc.sticky .header{\r\n\t\tpadding: 4px 0;\r\n\t}\r\n\t\r\n.header p{\r\n  font-size: 18px !important;\r\n  font-weight: 600 !important;\r\n  color: #393939;\r\n   margin-bottom: 0;\r\n  \/* margin-top: 20px; *\/\r\n}\r\n\r\n.toc-icon{\r\n  float: right;\r\n\/*   visibility: hidden; *\/\r\n}\r\n\r\n\t.toc-title{\r\n\t\tmargin-right: auto;\r\n\/* \t\tpadding-left: 20px; *\/\r\n\t\tfont-weight: 600;\r\n\t\talign-self: center;\t}\t\r\n\r\n#toc ul {\r\n  list-style-type: none;\r\n  padding-left: 0;\r\n}\r\n\t\r\n#toc.sticky ul{\r\n\toverflow-y: auto;\r\n\tmax-height: 250px;\r\n\tmargin-top: 0px;\r\n\tpadding-top: 20px;\r\n\/* \tborder-top: 1px solid #d3d3d3; *\/\r\n}\r\n\t\r\n#toc ul li {\r\n\/*   margin-bottom: 10px; *\/\r\n  margin-bottom: 10px;\r\n\tmargin-left: 0;\r\n\ttransition: .2s ease;\r\n\tcursor: pointer;\r\n}\r\n\t\r\n\t#toc.sticky ul li {\r\n\t  margin-right: 10px;\r\n\t}\r\n\t\r\n.td-post-content #toc-list li a:hover, .td-post-content #toc-list a.active{\r\n\tbackground-color: #FFF;\r\n\/* \tpadding: 8px 16px 8px 16px; *\/\r\n\tpadding: 4px 16px 4px 16px;\r\n\tborder-radius: 6px;\r\n\tcolor: #9c171e !important;\r\n\tfont-weight: 600 !important;\r\n}\r\n\t\r\n\t.td-post-content #toc-list li:hover a, .td-post-content #toc-list a.active{\r\n\t\tcolor: #9C171E !important;\r\n\t\tfont-weight: 600 !important;\r\n\t}\r\n\t\r\n.td-post-content #toc-list a.active{\r\n\tfont-weight: bold !important;\r\n\tcolor: #9C171E !important;\r\n}\r\n\t\r\n#toc a, .td-post-content #toc-list a {\r\n  text-decoration: none;\r\n  color: #ea1717 !important;\r\n  transition: .2s ease;\r\n\tfont-weight: 400 !important;\r\n\tdisplay: block;\r\n\t\r\n\tpadding: 4px 16px 4px 0;\r\n}\r\n\r\n#toc.sticky {\r\n  position: fixed;\r\n\/*   top: 73px; *\/\r\n\tbottom: 0;\r\n  z-index: 100; \r\n  box-shadow: 0 2px 5px rgba(0,0,0,0.1); \r\n\twidth: 100%; \r\n\tbackground-color: #FFF;\r\n\/* \tbackground-color: #FFF1F1; *\/\r\n\tborder-bottom: 1px solid #ea1717;\r\n\/*   border: 1px solid #393939; *\/\r\n  box-shadow: 0px 0px 14px 0px #00000040;\r\n  cursor: pointer;\r\n\tanimation: fadein .3s ease;\r\n\tpadding: 12px 16px !important;\r\n}\r\n\t\r\n\t.fadein{\r\n\t\tanimation: fadein .3s ease;\r\n\t}\r\n\t\r\n\t.fadeout{\r\n\t\tanimation: fadeout .3s ease;\r\n\t}\r\n\t\r\n\t\r\n\t@keyframes fadein{\r\n\t\t0% {\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@keyframes fadeout{\r\n\t\t0% {\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n#toc.sticky .header p{\r\n\tmargin-bottom: 10px;\r\n\tmargin-top: 10px;\r\n}\r\n\r\n#toc.sticky .toc-icon{\r\n  visibility: visible;\r\n\/* \ttransition: 0.4s ease; *\/\r\n}\r\n\t\r\n\t.toc-icon{\r\n\t\talign-items: center;\r\n    \tdisplay: flex;\r\n\t}\r\n\t\r\n\tsvg.header-icon{\r\n\/* \t\tbackground-color: #9c171e; *\/\r\n\t\tbackground-color: #FFF;\r\n\t\tborder-radius: 30px;\r\n\t\tpadding: 5px;\r\n\t}\r\n\r\n#toc.sticky .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\t\r\n\t#toc .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\r\n#toc .header.active .toc-icon{\r\n\ttransform: rotate(0deg); \r\n\topacity: 1;\r\n}\r\n\r\n\t#toc .header.active + .list {\r\n\t  max-height: 200px; \/* Adjust this value as needed *\/\r\n\t  opacity: 1;\r\n\t}\r\n\t\r\n\t#placeholder-toc{\r\n\/* \t\tdisplay: none; *\/\r\n\t}\r\n\t\r\n\t@media (min-width: 768px) and (max-width: 991px){\r\n\t\t#toc.sticky{\r\n\/* \t\t\ttop: 104px; *\/\r\n\t\t\tbottom: 0px;\r\n\t\t}\r\n\t\t\r\n\t\t#toc{\r\n\t\t\twidth: unset !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width: 767px){\r\n\t\t#toc{\r\n\t\t\twidth: 100% !important;\r\n\t\t\tdisplay: inline-block;\r\n\t\t}\r\n\t\t\r\n\t\t#toc.sticky{\r\n\t\t\twidth: 90% !important;\r\n\/* \t\t\ttop: 81px; *\/\r\n\t\t\tbottom: 60px;\r\n\t\t\tmargin-left: auto;\r\n\t\t\tmargin-right: auto;\r\n\t\t\tpadding: 0 16px;\r\n\t\t\tright: 5%;\r\n\t\t}\r\n\t}\r\n\t\r\n\t<\/style>\r\n<!-- END ToC styling  -->\r\n\r\n<!-- ToC List for mobile -->\r\n<script>\r\n \/\/ Generate TOC based on headings\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  \/\/ Get the element that will contain the TOC\r\n  const tocList = document.getElementById('toc-list');\r\n\r\n  \/\/ Get the element with the ID 'article-left'\r\n  const article = document.querySelector('.td-post-content');\r\n\r\n  \/\/ Find all h2 elements within 'myarticle'\r\n  const headers = article.getElementsByTagName('h2');\r\n\r\n  \/\/ Loop through the h2 elements and create a list item for each one\r\n  for (let i = 0; i < headers.length; i++) {\r\n    const header = headers[i];\r\n    const headerText = header.textContent;\r\n\/\/     const headerId = 'header-' + i;\r\n    const headerId = headerText\r\n    .toLowerCase()\r\n    .trim()\r\n    .replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n    .replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n    \/\/ Set an ID for the header if it doesn't have one\r\n    header.setAttribute('id', headerId);\r\n\r\n    \/\/ Create a list item for the TOC\r\n    const listItem = document.createElement('li');\r\n\r\n    \/\/ Create a link for the list item\r\n    const link = document.createElement('a');\r\n    link.setAttribute('href', '#' + headerId);\r\n    link.textContent = headerText;\r\n\r\n    \/\/ Append the link to the list item\r\n    listItem.appendChild(link);\r\n\r\n    \/\/ Append the list item to the TOC list\r\n    tocList.appendChild(listItem);\r\n  }\r\n});\r\n\r\n\/\/ Keep height and placement of content using placeholder in place of TOC\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const placeholderToc = document.querySelector('#placeholder-toc');\r\n\r\n  function setPlaceholderHeight() {\r\n    placeholderToc.style.height = `${toc.offsetHeight}px`;\r\n  }\r\n\r\n  \/\/ Set the initial height of the placeholder\r\n  setPlaceholderHeight();\r\n\r\n  \/\/ Update the height on window resize\r\n  window.addEventListener('resize', setPlaceholderHeight);\r\n});\r\n  const tocTitle = document.querySelector('#toc-title'); \/\/ Assuming header-faq is the element for TOC title\r\n\r\n\/\/ Sticky TOC and update heading\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const footer = document.querySelector('.td-footer-template-wrap');\r\n  const tocParent = toc.parentElement;\r\n  const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n  const tocHeight = toc.offsetHeight;\r\n  const triggerPoint = divTop + tocHeight + 700;\r\n  const footerHeight = footer.offsetHeight;\r\n  const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight - footerHeight - footerHeight;\r\n  const phtoc = document.querySelector('#placeholder-toc');\r\n  const headers = document.querySelectorAll('.td-post-content h2');\r\n  const navLinks = document.querySelectorAll('#toc-list a');\r\n\t\r\n\tconst panel2 = document.querySelector(\"#toc .list\");\r\n\tvar icon = document.querySelector(\".toc-icon\");\r\n\r\n  let activeLink = null; \/\/ Declare activeLink outside the loop\r\n\t\r\n  \/\/ Function to handle scroll and add\/remove .sticky class\r\n  function handleScroll() {\r\n    const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n    let currentHeader = '';\r\n\r\n    \/\/ Highlight user progress as the heading comes\r\n    headers.forEach(header => {\r\n\t\tconst headerTop = header.offsetTop;\r\n\t\tconst headerHeight = header.clientHeight;\r\n\t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \t\t\tconsole.log(\"current header text:\", currentHeaderText);\r\n\t\t\ttocTitle.textContent = currentHeaderText;\r\n\t\t\tcurrentHeader = currentHeaderId;\r\n\t\t\t\r\n\t\t\tif(window.innerWidth < 767){\r\n\t\t\t\ttocTitle.textContent = 'Table of Content';\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n    navLinks.forEach(link => {\r\n      link.classList.remove('active');\r\n      if(currentHeader != '') {\r\n\t\t  if (link.getAttribute('href').includes(currentHeader)) {\r\n\t\t\t  link.classList.add('active');\r\n\t\t  }\r\n\t  }\r\n    });\r\n\/\/     if (windowTop < triggerFooterPoint) {\r\n\/\/         toc.style.display = 'block';\r\n\/\/ \t}else{\r\n\/\/         toc.style.display = 'none';\r\n\/\/ \t}\r\n    \/\/ Update TOC title if sticky\r\n    if (windowTop > triggerPoint) {\r\n      if (!toc.classList.contains('sticky')) {\r\n        phtoc.style.display = \"block\";\r\n        toc.classList.add('sticky');\r\n        toc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n        toc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n        toc.style.backgroundColor = \"#FFF\";\r\n\t\tpanel2.style.height = '0px';\r\n\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\t\t  if(window.innerWidth < 767){\r\n\/\/ \t\t\t  const tocs = document.querySelector('#toc.sticky');\r\n\t\t\t  tocTitle.textContent = 'Table of Content'; \/\/ Reset title\r\n       \t\t  toc.style.width = '150px'; \/\/ Set width to match the parent element\r\n\t\t  }\r\n      }\r\n      if (currentHeader) {\r\n\/\/         console.log(\"activeLink:\", activeLink);\r\n        if (activeLink) {\r\n\/\/           tocTitle.textContent = activeLink.textContent; \/\/ Update TOC title\r\n          tocTitle.textContent = activeLink ? activeLink.textContent : \"\"; \/\/ Update title only if activeLink exists\r\n        }\r\n      }\r\n    } else {\r\n      toc.classList.remove('sticky');\r\n      phtoc.style.display = \"none\";\r\n      toc.style.width = 'unset'; \/\/ Reset to original width\r\n      toc.style.backgroundColor = \"#FFF\";\r\n      tocTitle.textContent = 'Table of Content'; \/\/ Reset title\r\n\t\tpanel2.style.height = panel2.scrollHeight + \"px\";\r\n\t\ticon.style.transform = \"rotate(180deg)\";\r\n    }\r\n  }\r\n\r\n    \/\/ Attach the scroll event listener to the window\r\n    window.addEventListener('scroll', handleScroll);\r\n\r\n    \/\/ Initial call to handleScroll to set the correct state on load\r\n    handleScroll();\r\n});\r\n\t\r\n\t\/\/ Open toggle TOC\r\n\t  document.addEventListener(\"DOMContentLoaded\", function() {\r\n\t\tvar tocHeader = document.querySelector(\"#toc .header\");\r\n\t\tvar toc = document.querySelector(\"#toc\");\r\n\t\tvar icon = document.querySelector(\".toc-icon\");\r\n\t\tconst tocTitle = document.querySelector('#toc-title');\r\n\t\tconst tocs = document.querySelector('#toc.sticky');\r\n \t\tconst tocParent = toc.parentElement;\t\t  \r\n\r\n\t\t  tocHeader.addEventListener(\"click\", function() {\r\n\t\t\tvar panel = this.nextElementSibling;\r\n\t\t\tif (panel.style.height !== '0px') { \/\/ Check if height is not 0px\r\n\t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t\t\ttoc.style.paddingBottom = '6px'; \r\n\t\t\t\tif(window.innerWidth > 768){\r\n\t\t\t\t\tif(!toc.classList.contains('sticky')){\r\n\t\t\t\t\t\ttoc.style.width = \"unset\";\r\n\/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (toc.classList.contains('sticky')){\r\n\t\t\t\t\t\ttoc.style.width = '${tocParent.offsetWidth}px';\r\n\t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif(window.innerWidth < 767){\r\n\t\t\t\t\ttoc.style.width = \"unset\"; \/\/ Reset width\r\n\t\t\t\t}\r\n\t\t\t\ttoc.style.backgroundColor = \"#FFF1F1\";\r\n\t\t\t} else {\r\n\t\t\t  panel.style.height = panel.scrollHeight + \"px\";\r\n\t\t\t  icon.style.transform = \"rotate(0deg)\";\r\n\t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\t\t\t  tocTitle.textContent = 'Table of Content'; \/\/ Reset title\r\n\t\t\t\ttoc.style.paddingBottom = '24px';\r\n\t\t\t \tif(window.innerWidth < 767){\r\n\t\t\t\t\ttoc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t  });\r\n\r\n\t\t  \/\/ Close TOC when a link inside it is clicked\r\n\t\t  var tocLinks = document.querySelectorAll(\"#toc .list a\");\r\n\t\t  tocLinks.forEach(function(link) {\r\n\t\t\tlink.addEventListener(\"click\", function() {\r\n\t\t\t  var panel = document.querySelector(\"#toc .list\");\r\n\t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\t\t\t});\r\n\t\t  });\r\n\t\t});\r\n<\/script>\r\n\r\n<!-- <script>\r\n\tvar pilihDaftarIsi = document.getElementById('pilihDaftarIsi');\r\n\t\r\n\tdocument.addEventListener('DOMContentLoaded', function() {\r\n\t\tvar dropdownFixedTop = document.querySelector('.dropdown-fixed-top');\r\n\r\n\t\tdropdownFixedTop.addEventListener('click', function() {\r\n\t\t\tvar dropdownContent = this.querySelector('.list_toc');\r\n\t\t\tdropdownContent.classList.toggle('show');\r\n\t\t});\r\n\r\n\t\twindow.addEventListener('click', function(event) {\r\n\t\t\tvar listTocTop = document.getElementById('list_toc_top');\r\n\r\n\t\t\tif (!dropdownFixedTop.contains(event.target)) {\r\n\t\t\t\tlistTocTop.classList.remove('show');\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\t\r\n\tvar daftarIsiContainer = document.getElementById('toc_group_article');\r\n\tvar dropdownFixedTop = document.getElementById('dropdown-fixed-top');\r\n    var triggered = false; \/\/ Flag to keep track of whether the function has been triggered\r\n\r\n    window.addEventListener('scroll', function() {\r\n        if (!triggered && isCompletelyScrolledPast(daftarIsiContainer)) {\r\n            showSectionDropdownFixedTop(false);\r\n            triggered = true;\r\n        } else if (triggered && !isCompletelyScrolledPast(daftarIsiContainer)) {\r\n            showSectionDropdownFixedTop(true);\r\n            triggered = false;\r\n        }\r\n    });\r\n\r\n    function isCompletelyScrolledPast(element) {\r\n        var elementTop = element.getBoundingClientRect().top;\r\n        var elementBottom = element.getBoundingClientRect().bottom;\r\n        return elementTop < 0 && elementBottom < 0;\r\n    }\r\n\r\n    function showSectionDropdownFixedTop(show) {\r\n\t\tif (show) {\r\n\t\t\tdropdownFixedTop.classList.remove(\"show\");\r\n\t\t} else {\r\n\t\t\tdropdownFixedTop.classList.add(\"show\");\r\n\t\t}\r\n    }\r\n\r\n\/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n\t\t  pilihDaftarIsi.innerHTML = a.textContent;\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float', 'list_toc_top']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script> -->\r\n<!-- END script lama -->\r\n\t\r\n<script>\r\n    \/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float', 'list_toc_top']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script>\r\n\t\r\n\r\n<!-- ToC List for desktop side bar, diganti jadi inject by php, di code snippet \"Sidebar Accordion\" -->\r\n<!-- <script>\r\n\tdocument.addEventListener('DOMContentLoaded', function() {\r\n        \/\/ Fungsi untuk mengubah teks menjadi format id\r\n        function formatId(text) {\r\n            return text.trim().replace(\/[^\\w\\d]+\/g, '_');\r\n        }\r\n\r\n        \/\/ Fungsi untuk membuat nested list\r\n        function createNestedList(parentNode, children) {\r\n            if (children.length === 0) return;\r\n\r\n            const nestedUl = document.createElement('ul');\r\n            children.forEach(child => {\r\n                const nestedLi = document.createElement('li');\r\n                const nestedA = document.createElement('a');\r\n                nestedA.textContent = child.title;\r\n                nestedA.href = `#${child.id}`;\r\n                nestedLi.appendChild(nestedA);\r\n                nestedUl.appendChild(nestedLi);\r\n\r\n                if (child.children.length > 0) {\r\n                    createNestedList(nestedLi, child.children);\r\n                }\r\n            });\r\n\r\n            parentNode.appendChild(nestedUl);\r\n        }\r\n\r\n        \/\/ Membuat objek untuk menyimpan daftar h2 dan h3 beserta judulnya\r\n        const headings = [];\r\n\r\n           \/\/ Mengambil semua elemen h2 dan h3\r\n        const elements = document.querySelectorAll('.td-post-content h2');\r\n\t\t\t\/\/, .td-post-content h3\r\n\r\n        elements.forEach(element => {\r\n            if (element.tagName === 'H2') {\r\n                const id = formatId(element.textContent);\r\n                element.id = id;\r\n\t\t\t\tif(element.textContent.toLowerCase() === \"key takeaways\") {return;} \/\/ Biar ga nampilin Key Takeaways di ToC\r\n                headings.push({ level: 'h2', id: id, title: element.textContent, children: [] });\r\n            } else if (element.tagName === 'H3') {\r\n                const id = formatId(element.textContent);\r\n                element.id = id;\r\n                if (headings.length > 0) {\r\n                    headings[headings.length - 1].children.push({ level: 'h3', id: id, title: element.textContent, children: [] });\r\n                }\r\n            }\r\n        });\r\n\r\n        \/\/ Membuat list HTML dari objek headings\r\n        const ul = document.getElementById('list_toc');\r\n        let currentUl = ul;\r\n        headings.forEach(heading => {\r\n            const li = document.createElement('li');\r\n            const a = document.createElement('a');\r\n            a.textContent = heading.title;\r\n            a.href = `#${heading.id}`;\r\n            li.appendChild(a);\r\n\r\n            if (heading.level === 'h2') {\r\n                \/\/ Menyimpan ul saat ini untuk menambahkan nested ul\r\n                currentUl = li;\r\n                ul.appendChild(li);\r\n            } else if (heading.level === 'h3') {\r\n                if (!currentUl.lastElementChild || currentUl.lastElementChild.tagName !== 'UL') {\r\n                    \/\/ Jika belum ada nested ul, buat satu\r\n                    const nestedUl = document.createElement('ul');\r\n                    currentUl.appendChild(nestedUl);\r\n                    currentUl = nestedUl;\r\n                }\r\n                currentUl.appendChild(li);\r\n            }\r\n\r\n            createNestedList(li, heading.children);\r\n        });\r\n\t\t\/\/ Dapatkan elemen ul dengan id 'list_toc_float'\r\nconst ulFloat = document.getElementById('list_toc');\r\nconst ulJourney = document.getElementById('list_journey');\r\n\r\n\/\/ Dapatkan isi (child elements) dari ul dengan id 'list_toc_float'\r\n\tif (ulFloat !== null) {\r\n\t\tconst clonedChildren = ulFloat.cloneNode(true).children;\r\n\t\tconst ulToc = document.getElementById('list_toc_float');\r\n\t\tconst ulTocTop = document.getElementById('list_toc_top');\r\n\t\tif ((ulToc !== null || ulToc !== undefined) && window.innerWidth > 1018){\r\n\t\t\tulToc.append(...clonedChildren);\r\n\t\t} else {\r\n\t\t\tulTocTop.append(...clonedChildren);\r\n\t\t}\r\n\t} \r\n\r\n\tif (ulJourney !== null) {\r\n\t\tconst clonedChildrenJourney = ulJourney.cloneNode(true).children;\r\n\t\tconst ulTocJourney = document.getElementById('list_toc_journey');\r\n\t\tulTocJourney.append(...clonedChildrenJourney);\r\n\t} \r\n\r\n\r\n\r\n\r\n\t\r\n        \/\/ Fungsi untuk mengambil tinggi navbar\r\n        function getNavbarHeight() {\r\n            const navbar = document.getElementById('tdi_34');\r\n            return navbar ? navbar.offsetHeight : 0;\r\n        }\r\n\r\n        \/\/ Fungsi untuk menambahkan offset posisi scroll\r\n        function scrollToElementWithOffset(elementId) {\r\n            const element = document.getElementById(elementId);\r\n            if (element) {\r\n                const offset = getNavbarHeight();\r\n                const elementPosition = element.getBoundingClientRect().top;\r\n                const offsetPosition = elementPosition - offset-40;\r\n\r\n                window.scrollBy({\r\n                    top: offsetPosition,\r\n                    behavior: 'smooth'\r\n                });\r\n            }\r\n        }\r\n\r\n        \/\/ Fungsi untuk menangani klik pada tautan judul\r\n        function handleTitleClick(event) {\r\n            event.preventDefault();\r\n            const href = event.target.getAttribute('href').substr(1);\r\n            scrollToElementWithOffset(href);\r\n        }\r\n\r\n        \/\/ Tambahkan event listener untuk semua tautan judul\r\n        const titleLinks = document.querySelectorAll('a[href^=\"#\"]');\r\n        titleLinks.forEach(link => {\r\n            link.addEventListener('click', handleTitleClick);\r\n        });\r\n\t});\r\n    <\/script> -->\r\n<!-- \t<style>#toc_group_float{display:block !important}<\/style> -->\r\n<a href=\"https:\/\/www.hashmicro.com\/my\/free-product-demo\/?medium=free-product-demo\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/08\/free-demo-desktop-my.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/08\/free-demo-desktop-my.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/07\/free-demo-mobile-my.jpg\" alt=\"FreeDemo\" class=\"responsive-image-banner\"><\/a>\r\n\r\n<script>\r\n    \/\/ check which image to use based on screensize\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n        function updateImageSource() {\r\n            var images = document.querySelectorAll('.responsive-image-banner');\r\n            var screenWidth = window.innerWidth;\r\n\r\n            images.forEach(function(img) {\r\n                var mobileSrc = img.getAttribute('data-mobile-src');\r\n                var desktopSrc = img.getAttribute('data-desktop-src');\r\n\r\n                if (screenWidth < 576 && mobileSrc) {\r\n                    img.setAttribute('src', mobileSrc);\r\n                } else {\r\n                    img.setAttribute('src', desktopSrc);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initial check\r\n        updateImageSource();\r\n\r\n        \/\/ Update on resize\r\n        window.addEventListener('resize', updateImageSource);\r\n    });\r\n<\/script><\/span><\/span><\/p>\n<h2 style=\"text-align: justify;\"><b>What is Crude Palm Oil (CPO)?<\/b><\/h2>\n<p style=\"text-align: justify;\"><b>Crude Palm Oil (CPO) <\/b><span style=\"font-weight: 400;\">is the unrefined oil extracted from the fruit of oil palm trees grown in tropical regions. It is rich in nutrients like carotenoids, giving it a reddish color, and fatty acids, which are widely used in industries such as food production, cosmetics, and biofuels across the globe.<\/span><\/p>\n<p style=\"text-align: justify;\">Producers extract and press the fruit to release crude palm oil (CPO), which they refine for various applications. As a crucial global commodity, CPO supports industries and economies, particularly in regions where palm oil plantations play a significant role in agricultural production.<\/p>\n<h2 style=\"text-align: left;\"><b>Benefits of Crude Palm Oil<\/b><\/h2>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"aligncenter wp-image-1522 size-full\" src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/Benefits-of-Crude-Palm-Oil.webp\" alt=\"Benefits of Crude Palm Oil\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/Benefits-of-Crude-Palm-Oil.webp 1200w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/Benefits-of-Crude-Palm-Oil-300x169.webp 300w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/Benefits-of-Crude-Palm-Oil-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/Benefits-of-Crude-Palm-Oil-768x432.webp 768w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/Benefits-of-Crude-Palm-Oil-747x420.webp 747w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/Benefits-of-Crude-Palm-Oil-150x84.webp 150w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/Benefits-of-Crude-Palm-Oil-696x392.webp 696w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/Benefits-of-Crude-Palm-Oil-1068x601.webp 1068w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/>CPO contains essential nutrients like vitamin E and carotenoids, which provide strong antioxidant properties. These nutrients make CPO a popular choice in food products and cosmetics, offering health benefits while helping to extend the shelf life of processed goods.<\/p>\n<p style=\"text-align: justify;\">CPO yields more oil per hectare than other vegetable oils, making it highly efficient in production and enhancing its sustainability. Its versatility allows industries to use it, particularly in biofuels, where it promotes renewable energy sources and reduces reliance on fossil fuels.<span id=\"uses\"><\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Additionally, CPO&#8217;s long shelf life and stable composition make it ideal for various food products, especially processed foods. Its use in global industries supports economies, especially in regions where <a href=\"https:\/\/www.hashmicro.com\/my\/blog\/best-oil-palm-plantation-management-software\/\">palm oil plantations<\/a> are a significant part of agricultural output.<\/span><\/p>\n<h2 style=\"text-align: justify;\"><b>Common Uses of CPO in Various Industries<\/b><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">CPO is a valuable commodity and an essential ingredient across various industries due to its versatility and rich nutrient profile. CPO offers numerous uses, from food production to cosmetics and even renewable energy, making it an indispensable resource.<\/span><\/p>\n<h3 style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Food industry<\/span><\/h3>\n<p style=\"text-align: justify;\">The food industry uses CPO extensively in cooking oils, margarine, and processed foods. Its high stability at elevated temperatures makes it perfect for frying, while its natural antioxidants, such as vitamin E, help preserve food quality and extend shelf life.<\/p>\n<h3 style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Cosmetics industry<\/span><\/h3>\n<p style=\"text-align: justify;\">In cosmetics, manufacturers value CPO for its rich moisturizing properties and skin-nourishing nutrients. It serves as a key ingredient in lotions, soaps, and creams. Its ability to hydrate and protect skin makes it popular for improving skin texture and health.<\/p>\n<h3 style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Biofuel industry<span id=\"steps\"><\/span><\/span><\/h3>\n<p style=\"text-align: justify;\">The biofuel industry increasingly uses CPO as a renewable energy source. Its application in biofuels reduces dependence on fossil fuels and lowers greenhouse gas emissions. As a sustainable option, CPO is crucial in supporting environmental initiatives.<\/p>\n<h2 style=\"text-align: justify;\"><b>The Crude Palm Oil Processing<\/b><\/h2>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-1523 size-full\" src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/The-Crude-Palm-Oil-Processing.webp\" alt=\"The Crude Palm Oil Processing\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/The-Crude-Palm-Oil-Processing.webp 1200w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/The-Crude-Palm-Oil-Processing-300x169.webp 300w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/The-Crude-Palm-Oil-Processing-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/The-Crude-Palm-Oil-Processing-768x432.webp 768w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/The-Crude-Palm-Oil-Processing-747x420.webp 747w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/The-Crude-Palm-Oil-Processing-150x84.webp 150w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/The-Crude-Palm-Oil-Processing-696x392.webp 696w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/The-Crude-Palm-Oil-Processing-1068x601.webp 1068w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Turning raw palm fruit into crude palm oil (CPO) involves several crucial steps that ensure the oil is of high quality and ready for use in various industries. Below is a step-by-step breakdown of the CPO processing method.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">1. Harvesting<\/span><\/h3>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Palm fruit bunches are harvested from oil palm trees when they ripen, typically every 10-15 days. Workers use specialized tools to cut the fruit bunches, which are transported to processing facilities. Timely harvesting ensures maximum oil content from the fruit.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">To enhance harvesting efficiency, <\/span><a href=\"https:\/\/www.hashmicro.com\/my\/smart-agriculture-solution\"><span style=\"font-weight: 400;\">HashMicro&#8217;s Smart Agriculture Solution<\/span><\/a><span style=\"font-weight: 400;\"> provides tools for tracking harvest schedules and optimizing resource use. Farmers can ensure timely collection of palm fruit, boosting oil yield and maximizing productivity with minimal waste.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">2. Sterilization<\/span><\/h3>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Once harvested, the fruit bunches are sterilized by steaming. This process softens the fruit and loosens it from the bunch, making it easier to separate it. Moreover, steaming reduces enzyme activity that could otherwise spoil the oil.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">3. Threshing<\/span><\/h3>\n<p style=\"text-align: justify;\">The mechanical thresher places the steamed fruit bunches inside, separating the individual fruits from the bunch. This essential step isolates the palm fruits, preparing them for oil extraction through pressing in the next stage.<\/p>\n<h3><span style=\"font-weight: 400;\">4. Pressing<\/span><\/h3>\n<p style=\"text-align: justify;\">Workers press the separated palm fruits to extract crude oil. This process releases the oil and includes impurities like fiber, water, and debris. Moreover, producers must treat the extracted oil further to ensure the oil meets quality standards.<\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/www.hashmicro.com\/my\/hash-manufacturing-software\"><span style=\"font-weight: 400;\">HashMicro\u2019s Manufacturing Software<\/span><\/a><span style=\"font-weight: 400;\"> helps automate workflows, allowing better control over each production stage. Additionally, manufacturers can reduce waste, streamline oil extraction, and ensure the final product meets quality standards.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\"><a href=\"https:\/\/www.hashmicro.com\/my\/offer\/download-erp-pricing-list?medium=banner-article\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/08\/skema-harga-desktop-my.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/08\/skema-harga-desktop-my.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/08\/skema-harga-mobile-my.webp\" alt=\"SkemaHarga\" class=\"responsive-image-banner\"><\/a>\r\n\r\n<script>\r\n    \/\/ check which image to use based on screensize\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n        function updateImageSource() {\r\n            var images = document.querySelectorAll('.responsive-image-banner');\r\n            var screenWidth = window.innerWidth;\r\n\r\n            images.forEach(function(img) {\r\n                var mobileSrc = img.getAttribute('data-mobile-src');\r\n                var desktopSrc = img.getAttribute('data-desktop-src');\r\n\r\n                if (screenWidth < 576 && mobileSrc) {\r\n                    img.setAttribute('src', mobileSrc);\r\n                } else {\r\n                    img.setAttribute('src', desktopSrc);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initial check\r\n        updateImageSource();\r\n\r\n        \/\/ Update on resize\r\n        window.addEventListener('resize', updateImageSource);\r\n    });\r\n<\/script><\/span><\/p>\n<h3><span style=\"font-weight: 400;\">5. Clarification<\/span><\/h3>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">The crude oil from pressing is filtered and clarified to remove solid impurities like fiber. Water is also separated from the oil, ensuring a cleaner product. This process helps ensure the oil is of a higher purity and ready for further refinement.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">6. Purification<\/span><\/h3>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">After clarification, the oil undergoes purification to remove any remaining impurities. The oil is treated through settling and centrifuging to ensure it meets quality standards before storage. This step guarantees the oil is clean and ready for processing.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">7. Drying<\/span><\/h3>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">The oil is then dried to reduce its moisture content, ensuring it doesn\u2019t spoil and maintaining its quality during storage and transport. As a result, drying extends the oil&#8217;s shelf life, making it suitable for long-term use and further refining.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">8. Storage and transport<span id=\"mpob\"><\/span><\/span><\/h3>\n<p style=\"text-align: justify;\">After being purified and dried, producers store the oil in large tanks before transporting it. They then send it to refineries for further processing into finished products like cooking oil, cosmetics, or biofuels, ensuring its usability across various industries.<\/p>\n<h2 style=\"text-align: left;\"><b>CPO Regulations Set by the Malaysian Palm Oil Board (MPOB)<\/b><\/h2>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-1524 size-full\" src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/CPO-Regulations-Set-by-the-Malaysian-Palm-Oil-Board-MPOB.webp\" alt=\"CPO Regulations Set by the Malaysian Palm Oil Board (MPOB)\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/CPO-Regulations-Set-by-the-Malaysian-Palm-Oil-Board-MPOB.webp 1200w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/CPO-Regulations-Set-by-the-Malaysian-Palm-Oil-Board-MPOB-300x169.webp 300w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/CPO-Regulations-Set-by-the-Malaysian-Palm-Oil-Board-MPOB-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/CPO-Regulations-Set-by-the-Malaysian-Palm-Oil-Board-MPOB-768x432.webp 768w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/CPO-Regulations-Set-by-the-Malaysian-Palm-Oil-Board-MPOB-747x420.webp 747w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/CPO-Regulations-Set-by-the-Malaysian-Palm-Oil-Board-MPOB-150x84.webp 150w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/CPO-Regulations-Set-by-the-Malaysian-Palm-Oil-Board-MPOB-696x392.webp 696w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/CPO-Regulations-Set-by-the-Malaysian-Palm-Oil-Board-MPOB-1068x601.webp 1068w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">The Malaysian Palm Oil Board (MPOB) enforces several regulations to ensure sustainable and ethical CPO production. Below are critical regulations the MPOB sets that guide CPO producers in adhering to best practices.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">1. Land use guidelines <\/span><span style=\"font-weight: 400;\">\u00a0<\/span><\/h3>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">MPOB enforces regulations to prevent deforestation by promoting responsible land management. Crude palm oil Malaysia producers must minimize environmental damage by following guidelines that preserve biodiversity and avoid overexploitation of land resources.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">2. Sustainable cultivation<\/span><\/h3>\n<p style=\"text-align: justify;\"><span data-preserver-spaces=\"true\">Producers reduce the environmental impact of palm oil cultivation by implementing eco-friendly farming practices. They use water responsibly, minimize soil erosion, and employ agricultural methods that protect local ecosystems. They also ensure long-term sustainability by using <a href=\"https:\/\/www.hashmicro.com\/my\/blog\/best-agriculture-inventory-software\/\">agriculture inventory software.<\/a><\/span><\/p>\n<h3><span style=\"font-weight: 400;\">3. Quality and safety standards\u00a0\u00a0<\/span><\/h3>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">MPOB sets strict benchmarks for oil purity and safety. CPO producers must meet these standards to ensure that the oil is free of contaminants and safe for consumption, helping Malaysian CPOs remain competitive in domestic and global markets.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">4. Environmental sustainability<\/span><\/h3>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">MPOB promotes reducing greenhouse gas emissions and improving waste management in CPO production. Therefore, producers must adopt measures that lower their carbon footprint and minimize environmental pollution throughout production.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">5. Certification programs<\/span><\/h3>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">MPOB implements certification programs like RSPO (Roundtable on Sustainable Palm Oil) to support ethical palm oil production. These certifications ensure that producers adhere to responsible practices, improving transparency and sustainability in the industry.<\/span><\/p>\n<h2 style=\"text-align: left;\"><b>Optimize Crude Palm Oil Processing with HashMicro Software<\/b><\/h2>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-1525 size-full\" src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/Optimize-Crude-Palm-Oil-Processing-with-HashMicro-Software.webp\" alt=\"Optimize Crude Palm Oil Processing with HashMicro Software\" width=\"1470\" height=\"900\" srcset=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/Optimize-Crude-Palm-Oil-Processing-with-HashMicro-Software.webp 1470w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/Optimize-Crude-Palm-Oil-Processing-with-HashMicro-Software-300x184.webp 300w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/Optimize-Crude-Palm-Oil-Processing-with-HashMicro-Software-1024x627.webp 1024w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/Optimize-Crude-Palm-Oil-Processing-with-HashMicro-Software-768x470.webp 768w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/Optimize-Crude-Palm-Oil-Processing-with-HashMicro-Software-686x420.webp 686w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/Optimize-Crude-Palm-Oil-Processing-with-HashMicro-Software-150x92.webp 150w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/Optimize-Crude-Palm-Oil-Processing-with-HashMicro-Software-696x426.webp 696w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/Optimize-Crude-Palm-Oil-Processing-with-HashMicro-Software-1068x654.webp 1068w\" sizes=\"(max-width: 1470px) 100vw, 1470px\" \/><\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/www.hashmicro.com\/my\/hash-manufacturing-software\"><b>HashMicro&#8217;s Manufacturing Software<\/b><\/a><span style=\"font-weight: 400;\"> is a robust solution to optimize Crude Palm Oil (CPO) processing by automating workflows and improving production efficiency. The system streamlines operations, from tracking raw materials to monitoring production stages and real-time reporting.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Moreover, HashMicro offers a <\/span><a href=\"https:\/\/www.hashmicro.com\/my\/free-product-demo\/\"><b>free demo<\/b><\/a><span style=\"font-weight: 400;\"> and consultation, allowing businesses to explore how the software can meet their specific needs. This offer helps companies to understand the benefits and streamline their CPO operations with expert guidance.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Trusted by industry leaders like McDonald\u2019s, Brinks, and Hino, HashMicro is known for its credibility and reliability. Its proven track record across various sectors demonstrates its ability to deliver robust, tailored business solutions.<\/span><\/p>\n<h3 style=\"text-align: justify;\"><b>Features:<\/b><\/h3>\n<ol style=\"text-align: justify;\">\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Manufacturing Production Scheduling:<\/b><span style=\"font-weight: 400;\"> CPO producers forecast market trends based on demand history and adjust production schedules accordingly. This allows them to plan efficiently and avoid overproduction or stock shortages.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Manufacturing Requisition Planning:<\/b><span style=\"font-weight: 400;\"> This feature allows CPO producers to automate material requisitions. Consequently, it helps streamline the production process, reducing downtime and maintaining continuous operations.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Manufacturing Quality Control: <\/b><span style=\"font-weight: 400;\">Quality control monitors every stage of CPO production, ensuring that the oil meets industry standards. This is essential for maintaining the consistency and quality of the final product.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>OEE Tracking: <\/b><span style=\"font-weight: 400;\">OEE (Overall Equipment Effectiveness) tracking helps CPO manufacturers optimize machinery performance, minimize downtime, and improve production efficiency.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Material, Labor, &amp; Overhead Costs Management:<\/b><span style=\"font-weight: 400;\"> This feature helps track and manage all costs related to CPO production, including materials, labor, and overhead. It allows producers to monitor expenses and maintain profitability.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Production Order &amp; Work Order Tracking:<\/b>CPO producers can rely on <a href=\"https:\/\/www.hashmicro.com\/my\/blog\/best-erp-software\/\">ERP software<\/a> to track each process step, minimize delays, enhance accuracy, and improve production visibility for better management.<\/li>\n<\/ol>\n<h2 style=\"text-align: justify;\"><b>Conclusion<\/b><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Crude Palm Oil (CPO) is a vital commodity in various industries, and using manufacturing software enhances its processing efficiency. Manufacturers can optimize production with automation and real-time tracking, ensuring higher quality and better output.<\/span><\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/www.hashmicro.com\/my\/hash-manufacturing-software\"><b>HashMicro Manufacturing Software<\/b><\/a><span style=\"font-weight: 400;\"> is a modern solution for streamlining CPO operations. It offers advanced tools for scheduling, quality control, and cost management. Its comprehensive features help CPO producers achieve smoother, more profitable processes.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Sign up for a <\/span><a href=\"https:\/\/www.hashmicro.com\/my\/free-product-demo\/\"><b>free demo<\/b><\/a><span style=\"font-weight: 400;\"> today to see how HashMicro can transform your CPO production. Experience firsthand the benefits of an optimized and efficient manufacturing process!<\/span><\/p>\n<h2><strong>FAQ About Crude Palm Oil<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>What is the difference between crude oil and palm oil?<\/strong><\/summary>\n<p style=\"text-align: justify;\">Crude oil is a fossil fuel extracted underground and is used mainly for energy production and chemical manufacturing. Palm oil is a vegetable derived from palm trees&#8217; fruit, used in food, cosmetics, and biofuels. Crude oil is non-renewable, whereas palm oil is a renewable agricultural resource.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>What are the benefits of crude palm oil?<\/strong><\/summary>\n<p style=\"text-align: justify;\">Crude palm oil&#8217;s benefits include its versatility in food production, cosmetics, and biofuels and its high yield compared to other vegetable oils. It is rich in carotenoids and vitamin E, offering nutritional value and affordable raw materials for diverse industries.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Is palm oil profitable in Malaysia?<\/strong><\/summary>\n<p style=\"text-align: justify;\">Yes, palm oil is highly profitable in Malaysia. It is a significant export commodity contributing to the country&#8217;s economy. Malaysia is one of the largest producers and exporters of palm oil, benefiting from robust global demand, making it a key driver of agricultural revenue.<\/p>\n<\/details>\n<\/li>\n<\/ul>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [{\n    \"@type\": \"Question\",\n    \"name\": \"What is the difference between crude oil and palm oil?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Crude oil is a fossil fuel extracted from underground, used mainly for energy production and manufacturing chemicals. Palm oil is a vegetable oil derived from the fruit of palm trees, used in food, cosmetics, and biofuels. Crude oil is non-renewable, whereas palm oil is a renewable agricultural resource.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"What are the benefits of crude palm oil?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Crude palm oil's benefits include its versatility in food production, cosmetics, and biofuels and its high yield compared to other vegetable oils. It is rich in carotenoids and vitamin E, offering nutritional value and affordable raw materials for diverse industries.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Is palm oil profitable in Malaysia?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Yes, palm oil is highly profitable in Malaysia. It is a significant export commodity contributing to the country's economy. Malaysia is one of the largest producers and exporters of palm oil, benefiting from robust global demand, making it a key driver of agricultural revenue.\"\n    }\n  }]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Crude Palm Oil (CPO) is the raw oil extracted from the pulp of oil palm fruit, which is mostly found in tropical areas. It contains important nutrients like carotenoids and fatty acids and is widely used in industries such as food, cosmetics, and biofuels worldwide. Manufacturing software plays a crucial role in enhancing the efficiency [&hellip;]<\/p>\n","protected":false},"author":38,"featured_media":1521,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[78],"tags":[],"class_list":{"0":"post-1519","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-manufacture"},"acf":{"content_type_custom_acf":false,"post_reviewer":null},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.6 (Yoast SEO v26.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Optimizing Crude Palm Oil Processing with Manufacturing Software<\/title>\n<meta name=\"description\" content=\"Crude Palm Oil (CPO) is used in food, cosmetics, and biofuels. Learn what is crude palm oil and how it is processed. Read the article.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Optimizing Crude Palm Oil Processing with Manufacturing Software\" \/>\n<meta property=\"og:description\" content=\"Crude Palm Oil (CPO) is used in food, cosmetics, and biofuels. Learn what is crude palm oil and how it is processed. Read the article.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Malaysia\" \/>\n<meta property=\"article:published_time\" content=\"2024-09-18T03:50:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-16T05:11:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/crude-palm-oil-hashmicro.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Zulkarnain bin Idris\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Zulkarnain bin Idris\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/\"},\"author\":{\"name\":\"Zulkarnain bin Idris\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/f6667e0b454a9938c0688e22064ff64c\"},\"headline\":\"Optimizing Crude Palm Oil Processing with Manufacturing Software\",\"datePublished\":\"2024-09-18T03:50:26+00:00\",\"dateModified\":\"2025-12-16T05:11:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/\"},\"wordCount\":1824,\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/crude-palm-oil-hashmicro.webp\",\"articleSection\":[\"Manufacture\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/\",\"name\":\"Optimizing Crude Palm Oil Processing with Manufacturing Software\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/crude-palm-oil-hashmicro.webp\",\"datePublished\":\"2024-09-18T03:50:26+00:00\",\"dateModified\":\"2025-12-16T05:11:00+00:00\",\"description\":\"Crude Palm Oil (CPO) is used in food, cosmetics, and biofuels. Learn what is crude palm oil and how it is processed. Read the article.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/crude-palm-oil-hashmicro.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/crude-palm-oil-hashmicro.webp\",\"width\":1200,\"height\":675,\"caption\":\"crude palm oil\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/my\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Optimizing Crude Palm Oil Processing with Manufacturing Software\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#website\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/\",\"name\":\"HashMicro Malaysia\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.hashmicro.com\/my\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#organization\",\"name\":\"HashMicro Malaysia\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/09\/logo.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/09\/logo.webp\",\"width\":422,\"height\":255,\"caption\":\"HashMicro Malaysia\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/f6667e0b454a9938c0688e22064ff64c\",\"name\":\"Zulkarnain bin Idris\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/10\/cropped-Zulkarnain-bin-Idris-BG-Tangga-1080x1080-1-96x96.webp\",\"contentUrl\":\"http:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/10\/cropped-Zulkarnain-bin-Idris-BG-Tangga-1080x1080-1-96x96.webp\",\"caption\":\"Zulkarnain bin Idris\"},\"description\":\"Zulkarnain bin Idris focuses on writing articles tailored to various industries, including manufacturing, distribution, and construction. He ensures each piece addresses industry-specific challenges and trends, helping readers understand how technology can transform their operations. By staying updated on market shifts, he develops fresh, relevant content that resonates with professionals in diverse sectors.\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/author\/zulkarnain-bin-idris\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Optimizing Crude Palm Oil Processing with Manufacturing Software","description":"Crude Palm Oil (CPO) is used in food, cosmetics, and biofuels. Learn what is crude palm oil and how it is processed. Read the article.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/","og_locale":"en_US","og_type":"article","og_title":"Optimizing Crude Palm Oil Processing with Manufacturing Software","og_description":"Crude Palm Oil (CPO) is used in food, cosmetics, and biofuels. Learn what is crude palm oil and how it is processed. Read the article.","og_url":"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/","og_site_name":"HashMicro Malaysia","article_published_time":"2024-09-18T03:50:26+00:00","article_modified_time":"2025-12-16T05:11:00+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/crude-palm-oil-hashmicro.webp","type":"image\/webp"}],"author":"Zulkarnain bin Idris","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Zulkarnain bin Idris","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/"},"author":{"name":"Zulkarnain bin Idris","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/f6667e0b454a9938c0688e22064ff64c"},"headline":"Optimizing Crude Palm Oil Processing with Manufacturing Software","datePublished":"2024-09-18T03:50:26+00:00","dateModified":"2025-12-16T05:11:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/"},"wordCount":1824,"publisher":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/crude-palm-oil-hashmicro.webp","articleSection":["Manufacture"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/","url":"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/","name":"Optimizing Crude Palm Oil Processing with Manufacturing Software","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/crude-palm-oil-hashmicro.webp","datePublished":"2024-09-18T03:50:26+00:00","dateModified":"2025-12-16T05:11:00+00:00","description":"Crude Palm Oil (CPO) is used in food, cosmetics, and biofuels. Learn what is crude palm oil and how it is processed. Read the article.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/#primaryimage","url":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/crude-palm-oil-hashmicro.webp","contentUrl":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/09\/crude-palm-oil-hashmicro.webp","width":1200,"height":675,"caption":"crude palm oil"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/my\/blog\/crude-palm-oil\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/my\/blog\/"},{"@type":"ListItem","position":2,"name":"Optimizing Crude Palm Oil Processing with Manufacturing Software"}]},{"@type":"WebSite","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#website","url":"https:\/\/www.hashmicro.com\/my\/blog\/","name":"HashMicro Malaysia","description":"","publisher":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hashmicro.com\/my\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#organization","name":"HashMicro Malaysia","url":"https:\/\/www.hashmicro.com\/my\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/09\/logo.webp","contentUrl":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/09\/logo.webp","width":422,"height":255,"caption":"HashMicro Malaysia"},"image":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/f6667e0b454a9938c0688e22064ff64c","name":"Zulkarnain bin Idris","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/image\/","url":"http:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/10\/cropped-Zulkarnain-bin-Idris-BG-Tangga-1080x1080-1-96x96.webp","contentUrl":"http:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/10\/cropped-Zulkarnain-bin-Idris-BG-Tangga-1080x1080-1-96x96.webp","caption":"Zulkarnain bin Idris"},"description":"Zulkarnain bin Idris focuses on writing articles tailored to various industries, including manufacturing, distribution, and construction. He ensures each piece addresses industry-specific challenges and trends, helping readers understand how technology can transform their operations. By staying updated on market shifts, he develops fresh, relevant content that resonates with professionals in diverse sectors.","url":"https:\/\/www.hashmicro.com\/my\/blog\/author\/zulkarnain-bin-idris\/"}]}},"order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/posts\/1519","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/users\/38"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/comments?post=1519"}],"version-history":[{"count":15,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/posts\/1519\/revisions"}],"predecessor-version":[{"id":14068,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/posts\/1519\/revisions\/14068"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/media\/1521"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/media?parent=1519"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/categories?post=1519"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/tags?post=1519"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}