{"id":1161,"date":"2026-06-14T21:31:12","date_gmt":"2026-06-14T21:31:12","guid":{"rendered":"https:\/\/www.globalhealthmag.com\/?page_id=1161"},"modified":"2026-06-14T21:31:15","modified_gmt":"2026-06-14T21:31:15","slug":"alat-alat-gizi","status":"publish","type":"page","link":"https:\/\/www.globalhealthmag.com\/id\/alat-alat-gizi\/","title":{"rendered":"Alat Penilaian Gizi GlobalHealthMag"},"content":{"rendered":"    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=yes\">\n    <style>\n    .nut-wrap, .nut-wrap *, .nut-wrap *::before, .nut-wrap *::after {\n        box-sizing: border-box; margin: 0; padding: 0;\n    }\n    .nut-wrap {\n        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n        width: 100%; max-width: 100%; overflow-x: hidden;\n        background: #fff; color: #1d1d35; line-height: 1.5; font-size: 16px;\n    }\n    .nut-header {\n        background: linear-gradient(135deg, #2e7d32 0%, #43a047 100%);\n        padding: 24px 16px; text-align: center; color: #fff;\n    }\n    .nut-header h2 { font-size: 22px; font-weight: 700; margin-bottom: 4px; }\n    .nut-header p { font-size: 13px; color: rgba(255,255,255,0.8); }\n    .nut-disclaimer {\n        background: #fff3cd; border: 1px solid #ffc107;\n        padding: 12px 16px; font-size: 13px; color: #856404; line-height: 1.5;\n        display: flex; align-items: flex-start; gap: 8px;\n    }\n    .nut-tabs-outer {\n        background: #fff; border-bottom: 2px solid #e5e7eb;\n        overflow-x: auto; -webkit-overflow-scrolling: touch;\n        scrollbar-width: none; -ms-overflow-style: none;\n    }\n    .nut-tabs-outer::-webkit-scrollbar { display: none; }\n    .nut-tabs {\n        display: flex; min-width: max-content; padding: 0 8px;\n    }\n    .nut-tab {\n        font-size: 13px; font-weight: 600; color: #6b7280;\n        padding: 14px 16px; border: none; background: transparent;\n        cursor: pointer; white-space: nowrap;\n        border-bottom: 3px solid transparent; margin-bottom: -2px;\n        min-height: 48px; display: flex; align-items: center; gap: 6px;\n    }\n    .nut-tab:hover { color: #1d1d35; }\n    .nut-tab.active { color: #2e7d32; border-bottom-color: #2e7d32; }\n    .nut-tab-icon { font-size: 18px; flex-shrink: 0; }\n\n    .nut-body { background: #f7f8fa; padding: 16px; min-height: 300px; }\n    .nut-panel { display: none; }\n    .nut-panel.active { display: block; }\n\n    .nut-card {\n        background: #fff; border-radius: 16px; border: 1px solid #e5e7eb;\n        padding: 20px 16px; box-shadow: 0 1px 3px rgba(0,0,0,0.05);\n    }\n    .nut-card-header {\n        display: flex; align-items: center; gap: 12px; margin-bottom: 16px;\n        padding-bottom: 16px; border-bottom: 2px solid #f3f4f6;\n    }\n    .nut-card-icon {\n        width: 48px; height: 48px; border-radius: 12px;\n        background: #e8f5e9; display: flex; align-items: center; justify-content: center;\n        font-size: 24px; flex-shrink: 0;\n    }\n    .nut-card-title { font-size: 18px; font-weight: 700; color: #1d1d35; }\n    .nut-card-sub { font-size: 12px; color: #9ca3af; font-weight: 500; }\n\n    .nut-input-group { margin-bottom: 16px; }\n    .nut-input-group label {\n        font-size: 12px; font-weight: 700; color: #9ca3af;\n        text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px;\n    }\n    .nut-input-group input, .nut-input-group select {\n        width: 100%; font-size: 16px; padding: 12px; border: 2px solid #e5e7eb;\n        border-radius: 10px; min-height: 48px; outline: none;\n        background: #fff; -webkit-appearance: none; appearance: none;\n    }\n    .nut-input-group select {\n        background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'\/%3E%3C\/svg%3E\");\n        background-repeat: no-repeat; background-position: right 12px center;\n        padding-right: 32px;\n    }\n    .nut-input-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\n    @media (max-width: 400px) { .nut-input-row { grid-template-columns: 1fr; } }\n\n    .nut-btn {\n        width: 100%; padding: 14px; background: #2e7d32; color: #fff;\n        border: none; border-radius: 12px; font-size: 16px; font-weight: 700;\n        cursor: pointer; margin-top: 12px; min-height: 48px;\n    }\n    .nut-result {\n        background: #e8f5e9; border-radius: 16px; padding: 20px;\n        margin-top: 16px; border-left: 4px solid #2e7d32;\n    }\n    .nut-result-title { font-size: 14px; font-weight: 700; color: #1b5e20; text-transform: uppercase; }\n    .nut-result-value { font-size: 36px; font-weight: 800; color: #1b5e20; line-height: 1.1; }\n    .nut-result-label { font-size: 14px; color: #6b7280; margin-top: 4px; }\n    .nut-badge {\n        display: inline-block; padding: 6px 16px; border-radius: 20px;\n        font-size: 13px; font-weight: 700; margin-top: 10px;\n    }\n    .nut-badge.low { background: #d1fae5; color: #065f46; }\n    .nut-badge.moderate { background: #fef3c7; color: #92400e; }\n    .nut-badge.high { background: #fee2e2; color: #991b1b; }\n\n    .nut-list { margin-top: 8px; font-size: 14px; line-height: 1.8; }\n\n    .nut-summary {\n        background: #1b5e20; padding: 20px 16px; color: #fff;\n    }\n    .nut-summary h3 { font-size: 16px; font-weight: 700; margin-bottom: 16px; }\n    .nut-summary-grid {\n        display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));\n        gap: 10px;\n    }\n    .nut-sum-card {\n        background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.12);\n        border-radius: 12px; padding: 14px 12px; text-align: center;\n    }\n    .nut-sum-val { font-size: 20px; font-weight: 800; color: #a5d6a7; }\n    .nut-sum-lbl { font-size: 11px; color: rgba(255,255,255,0.5); text-transform: uppercase; margin-top: 4px; }\n\n    .nut-footer {\n        background: #0a3d0c; padding: 14px 16px;\n        font-size: 11px; color: rgba(255,255,255,0.4); line-height: 1.6;\n    }\n\n    @media (min-width: 768px) {\n        .nut-body { padding: 24px 32px; }\n        .nut-card { padding: 24px 28px; }\n        .nut-tab { padding: 16px 20px; font-size: 14px; }\n    }\n    <\/style>\n\n    <div class=\"nut-wrap\" id=\"nutSuite\">\n        <div class=\"nut-header\">\n            <h2>\ud83e\udd57 Nutrition Tools Suite<\/h2>\n            <p>Understand your food, vitamins, and healthy eating habits<\/p>\n        <\/div>\n        <div class=\"nut-disclaimer\">\n            <span>\u26a0\ufe0f<\/span>\n            <span><strong>Disclaimer:<\/strong> These tools are for educational and informational purposes only. Always consult a registered dietitian or healthcare provider for personalized nutrition advice.<\/span>\n        <\/div>\n\n        <div class=\"nut-tabs-outer\">\n            <div class=\"nut-tabs\" id=\"nutTabRow\">\n                <button class=\"nut-tab active\" data-tab=\"facts\"><span class=\"nut-tab-icon\">\ud83c\udff7\ufe0f<\/span>Nutrition Facts<\/button>\n                <button class=\"nut-tab\" data-tab=\"vitamins\"><span class=\"nut-tab-icon\">\ud83d\udc8a<\/span>Vitamins<\/button>\n                <button class=\"nut-tab\" data-tab=\"sugar\"><span class=\"nut-tab-icon\">\ud83c\udf6c<\/span>Sugar Intake<\/button>\n                <button class=\"nut-tab\" data-tab=\"fiber\"><span class=\"nut-tab-icon\">\ud83c\udf3e<\/span>Fiber<\/button>\n                <button class=\"nut-tab\" data-tab=\"water\"><span class=\"nut-tab-icon\">\ud83d\udca7<\/span>Water<\/button>\n                <button class=\"nut-tab\" data-tab=\"mealcal\"><span class=\"nut-tab-icon\">\ud83c\udf7d\ufe0f<\/span>Meal Calories<\/button>\n                <button class=\"nut-tab\" data-tab=\"portion\"><span class=\"nut-tab-icon\">\ud83e\udd32<\/span>Portions<\/button>\n            <\/div>\n        <\/div>\n\n        <div class=\"nut-body\">\n            <div class=\"nut-panel active\" id=\"nut-panel-facts\"><\/div>\n            <div class=\"nut-panel\" id=\"nut-panel-vitamins\"><\/div>\n            <div class=\"nut-panel\" id=\"nut-panel-sugar\"><\/div>\n            <div class=\"nut-panel\" id=\"nut-panel-fiber\"><\/div>\n            <div class=\"nut-panel\" id=\"nut-panel-water\"><\/div>\n            <div class=\"nut-panel\" id=\"nut-panel-mealcal\"><\/div>\n            <div class=\"nut-panel\" id=\"nut-panel-portion\"><\/div>\n        <\/div>\n\n        <div class=\"nut-summary\" id=\"nutSummary\">\n            <h3>\ud83d\udccb Your Nutrition Dashboard<\/h3>\n            <div class=\"nut-summary-grid\" id=\"nutSummaryGrid\">\n                <div class=\"nut-sum-card\"><div class=\"nut-sum-val\">\u2014<\/div><div class=\"nut-sum-lbl\">Start using tools<\/div><\/div>\n            <\/div>\n        <\/div>\n        <div class=\"nut-footer\">\n            <strong>References:<\/strong> FDA Daily Values, WHO sugar guidelines, Institute of Medicine fiber recommendations, EFSA water intake guidelines. | <strong>GlobalHealthMag.com<\/strong>\n        <\/div>\n    <\/div>\n\n    <script>\n    (function() {\n        var suite = document.getElementById('nutSuite');\n        if (!suite) return;\n        var nutData = {};\n        function $(id) { return document.getElementById(id); }\n\n        \/\/ ---- Nutrition Facts ----\n        $('nut-panel-facts').innerHTML = `\n        <div class=\"nut-card\">\n            <div class=\"nut-card-header\"><div class=\"nut-card-icon\">\ud83c\udff7\ufe0f<\/div><div><div class=\"nut-card-title\">Nutrition Facts Analyzer<\/div><div class=\"nut-card-sub\">Calculate % daily values from a food label<\/div><\/div><\/div>\n            <div class=\"nut-input-row\">\n                <div class=\"nut-input-group\"><label>Serving size (g)<\/label><input type=\"number\" id=\"nf-serving\" value=\"100\" step=\"1\"><\/div>\n                <div class=\"nut-input-group\"><label>Calories<\/label><input type=\"number\" id=\"nf-calories\" value=\"250\" step=\"1\"><\/div>\n            <\/div>\n            <div class=\"nut-input-row\">\n                <div class=\"nut-input-group\"><label>Total Fat (g)<\/label><input type=\"number\" id=\"nf-fat\" value=\"12\" step=\"0.1\"><\/div>\n                <div class=\"nut-input-group\"><label>Saturated Fat (g)<\/label><input type=\"number\" id=\"nf-satfat\" value=\"3\" step=\"0.1\"><\/div>\n            <\/div>\n            <div class=\"nut-input-row\">\n                <div class=\"nut-input-group\"><label>Cholesterol (mg)<\/label><input type=\"number\" id=\"nf-chol\" value=\"30\" step=\"1\"><\/div>\n                <div class=\"nut-input-group\"><label>Sodium (mg)<\/label><input type=\"number\" id=\"nf-sodium\" value=\"400\" step=\"1\"><\/div>\n            <\/div>\n            <div class=\"nut-input-row\">\n                <div class=\"nut-input-group\"><label>Total Carbs (g)<\/label><input type=\"number\" id=\"nf-carbs\" value=\"30\" step=\"0.1\"><\/div>\n                <div class=\"nut-input-group\"><label>Dietary Fiber (g)<\/label><input type=\"number\" id=\"nf-fiber\" value=\"4\" step=\"0.1\"><\/div>\n            <\/div>\n            <div class=\"nut-input-row\">\n                <div class=\"nut-input-group\"><label>Sugars (g)<\/label><input type=\"number\" id=\"nf-sugar\" value=\"5\" step=\"0.1\"><\/div>\n                <div class=\"nut-input-group\"><label>Protein (g)<\/label><input type=\"number\" id=\"nf-protein\" value=\"8\" step=\"0.1\"><\/div>\n            <\/div>\n            <button class=\"nut-btn\" id=\"calcNF\">See % Daily Values<\/button>\n            <div id=\"nf-result\"><\/div>\n        <\/div>`;\n        $('calcNF').addEventListener('click', function() {\n            var dv = { fat:78, satfat:20, cholesterol:300, sodium:2300, carbs:275, fiber:28, sugar:50, protein:50 }; \/\/ per 2000 kcal\n            var get = id => parseFloat($(id).value) || 0;\n            var fat = get('nf-fat'), satfat = get('nf-satfat'), chol = get('nf-chol'), sodium = get('nf-sodium');\n            var carbs = get('nf-carbs'), fiber = get('nf-fiber'), sugar = get('nf-sugar'), protein = get('nf-protein');\n            var cal = get('nf-calories');\n            var pct = (val, dv) => dv ? Math.min(100, Math.round((val\/dv)*100)) : 0;\n            nutData.facts = cal + ' kcal (' + pct(fat, dv.fat) + '% fat DV)';\n            var html = '<div class=\"nut-result\"><div class=\"nut-result-title\">% Daily Values (based on 2,000 kcal)<\/div>';\n            html += '<div class=\"nut-list\">';\n            html += `<div>\ud83d\udd34 Total Fat: ${fat}g (${pct(fat, dv.fat)}% DV)<\/div>`;\n            html += `<div>\ud83d\udd34 Saturated Fat: ${satfat}g (${pct(satfat, dv.satfat)}% DV)<\/div>`;\n            html += `<div>\ud83d\udfe1 Cholesterol: ${chol}mg (${pct(chol, dv.cholesterol)}% DV)<\/div>`;\n            html += `<div>\ud83d\udfe1 Sodium: ${sodium}mg (${pct(sodium, dv.sodium)}% DV)<\/div>`;\n            html += `<div>\ud83d\udfe2 Total Carbs: ${carbs}g (${pct(carbs, dv.carbs)}% DV)<\/div>`;\n            html += `<div>\ud83d\udfe2 Fiber: ${fiber}g (${pct(fiber, dv.fiber)}% DV)<\/div>`;\n            html += `<div>\ud83d\udfe2 Sugars: ${sugar}g<\/div>`;\n            html += `<div>\ud83d\udd35 Protein: ${protein}g (${pct(protein, dv.protein)}% DV)<\/div>`;\n            html += '<\/div><div class=\"nut-result-label\">Calories: '+cal+' kcal per serving<\/div><\/div>';\n            $('nf-result').innerHTML = html;\n            updateSummary();\n        });\n\n        \/\/ ---- Daily Vitamin Intake ----\n        $('nut-panel-vitamins').innerHTML = `\n        <div class=\"nut-card\">\n            <div class=\"nut-card-header\"><div class=\"nut-card-icon\">\ud83d\udc8a<\/div><div><div class=\"nut-card-title\">Daily Vitamin Intake<\/div><div class=\"nut-card-sub\">RDA estimates for key vitamins<\/div><\/div><\/div>\n            <div class=\"nut-input-row\">\n                <div class=\"nut-input-group\"><label>Age<\/label><input type=\"number\" id=\"vit-age\" value=\"30\" min=\"18\"><\/div>\n                <div class=\"nut-input-group\"><label>Sex<\/label><select id=\"vit-sex\"><option value=\"male\">Male<\/option><option value=\"female\">Female<\/option><\/select><\/div>\n            <\/div>\n            <button class=\"nut-btn\" id=\"calcVit\">View Recommendations<\/button>\n            <div id=\"vit-result\"><\/div>\n        <\/div>`;\n        $('calcVit').addEventListener('click', function() {\n            var age = parseInt($('vit-age').value) || 30;\n            var sex = $('vit-sex').value;\n            \/\/ Simplified RDA (adults 19-50)\n            var rda = {\n                vitA: sex==='male'?900:700, \/\/ mcg RAE\n                vitC: sex==='male'?90:75, \/\/ mg\n                vitD: 15, \/\/ mcg (600 IU)\n                vitE: 15, \/\/ mg\n                vitK: sex==='male'?120:90, \/\/ mcg\n                thiamin: sex==='male'?1.2:1.1, \/\/ mg\n                riboflavin: sex==='male'?1.3:1.1, \/\/ mg\n                niacin: sex==='male'?16:14, \/\/ mg NE\n                vitB6: 1.3, \/\/ mg\n                folate: 400, \/\/ mcg DFE\n                vitB12: 2.4, \/\/ mcg\n                calcium: 1000, \/\/ mg\n                iron: sex==='male'?8:18, \/\/ mg\n                magnesium: sex==='male'?420:320, \/\/ mg\n                zinc: sex==='male'?11:8 \/\/ mg\n            };\n            nutData.vitamins = 'Vit D: '+rda.vitD+' mcg';\n            var html = '<div class=\"nut-result\"><div class=\"nut-result-title\">Recommended Daily Intake (Adult '+age+'y '+sex+')<\/div><div class=\"nut-list\">';\n            for (var k in rda) {\n                html += '<div>\u2022 '+k+': <strong>'+rda[k]+'<\/strong><\/div>';\n            }\n            html += '<\/div><div class=\"nut-result-label\">Based on National Academies DRI (simplified).<\/div><\/div>';\n            $('vit-result').innerHTML = html;\n            updateSummary();\n        });\n\n        \/\/ ---- Sugar Intake ----\n        $('nut-panel-sugar').innerHTML = `\n        <div class=\"nut-card\">\n            <div class=\"nut-card-header\"><div class=\"nut-card-icon\">\ud83c\udf6c<\/div><div><div class=\"nut-card-title\">Added Sugar Intake<\/div><div class=\"nut-card-sub\">Compare to WHO limits<\/div><\/div><\/div>\n            <div class=\"nut-input-group\"><label>Added sugar consumed today (g)<\/label><input type=\"number\" id=\"sugar-grams\" value=\"40\" step=\"1\"><\/div>\n            <button class=\"nut-btn\" id=\"calcSugar\">Check Intake<\/button>\n            <div id=\"sugar-result\"><\/div>\n        <\/div>`;\n        $('calcSugar').addEventListener('click', function() {\n            var sugar = parseFloat($('sugar-grams').value) || 0;\n            var limit = 25; \/\/ WHO recommendation for adults (approx)\n            var pct = (sugar \/ limit * 100).toFixed(0);\n            var cls = sugar <= limit ? 'low' : sugar <= 50 ? 'moderate' : 'high';\n            nutData.sugar = sugar + ' g';\n            $('sugar-result').innerHTML = `<div class=\"nut-result\">\n                <div class=\"nut-result-title\">Added Sugar Consumption<\/div>\n                <div class=\"nut-result-value\">${sugar} <span style=\"font-size:0.6em;\">g<\/span><\/div>\n                <div class=\"nut-badge ${cls}\">${sugar<=limit?'Within limits':'Exceeds recommended'}<\/div>\n                <div class=\"nut-result-label\">WHO suggests limiting added sugars to <25g\/day (about 6 teaspoons).<\/div>\n            <\/div>`;\n            updateSummary();\n        });\n\n        \/\/ ---- Fiber Intake ----\n        $('nut-panel-fiber').innerHTML = `\n        <div class=\"nut-card\">\n            <div class=\"nut-card-header\"><div class=\"nut-card-icon\">\ud83c\udf3e<\/div><div><div class=\"nut-card-title\">Fiber Intake Calculator<\/div><div class=\"nut-card-sub\">Are you getting enough?<\/div><\/div><\/div>\n            <div class=\"nut-input-row\">\n                <div class=\"nut-input-group\"><label>Age<\/label><input type=\"number\" id=\"fib-age\" value=\"30\" min=\"1\"><\/div>\n                <div class=\"nut-input-group\"><label>Sex<\/label><select id=\"fib-sex\"><option value=\"male\">Male<\/option><option value=\"female\">Female<\/option><\/select><\/div>\n            <\/div>\n            <button class=\"nut-btn\" id=\"calcFiber\">Get Recommendation<\/button>\n            <div id=\"fiber-result\"><\/div>\n        <\/div>`;\n        $('calcFiber').addEventListener('click', function() {\n            var age = parseInt($('fib-age').value);\n            var sex = $('fib-sex').value;\n            var fiber = (sex === 'male') ? (age<=50?38:30) : (age<=50?25:21);\n            nutData.fiber = fiber + ' g\/day';\n            $('fiber-result').innerHTML = `<div class=\"nut-result\">\n                <div class=\"nut-result-title\">Daily Fiber Target<\/div>\n                <div class=\"nut-result-value\">${fiber} <span style=\"font-size:0.6em;\">g<\/span><\/div>\n                <div class=\"nut-result-label\">Based on IOM guidelines for ${sex}s aged ${age}.<\/div>\n            <\/div>`;\n            updateSummary();\n        });\n\n        \/\/ ---- Water Intake ----\n        $('nut-panel-water').innerHTML = `\n        <div class=\"nut-card\">\n            <div class=\"nut-card-header\"><div class=\"nut-card-icon\">\ud83d\udca7<\/div><div><div class=\"nut-card-title\">Water Intake Calculator<\/div><div class=\"nut-card-sub\">Hydration based on body weight<\/div><\/div><\/div>\n            <div class=\"nut-input-group\"><label>Weight (kg)<\/label><input type=\"number\" id=\"wat-weight\" value=\"68\" step=\"0.1\"><\/div>\n            <button class=\"nut-btn\" id=\"calcWater\">Calculate<\/button>\n            <div id=\"water-result\"><\/div>\n        <\/div>`;\n        $('calcWater').addEventListener('click', function() {\n            var w = parseFloat($('wat-weight').value) || 68;\n            var water = w * 0.033;\n            nutData.water = water.toFixed(1) + ' L';\n            $('water-result').innerHTML = `<div class=\"nut-result\">\n                <div class=\"nut-result-title\">Daily Hydration<\/div>\n                <div class=\"nut-result-value\">${water.toFixed(1)} <span style=\"font-size:0.6em;\">L<\/span><\/div>\n                <div class=\"nut-result-label\">\u2248 ${Math.round(water*33.814)} fl oz | \u2248 ${Math.round(water*4.22)} cups<\/div>\n            <\/div>`;\n            updateSummary();\n        });\n\n        \/\/ ---- Meal Calorie Calculator ----\n        $('nut-panel-mealcal').innerHTML = `\n        <div class=\"nut-card\">\n            <div class=\"nut-card-header\"><div class=\"nut-card-icon\">\ud83c\udf7d\ufe0f<\/div><div><div class=\"nut-card-title\">Meal Calorie Counter<\/div><div class=\"nut-card-sub\">Add up your meal's calories<\/div><\/div><\/div>\n            <div id=\"meal-items\"><\/div>\n            <button class=\"nut-btn\" id=\"addMealItem\">+ Add Food<\/button>\n            <button class=\"nut-btn\" id=\"calcMeal\" style=\"background:#1b5e20;\">Calculate Total<\/button>\n            <div id=\"meal-result\"><\/div>\n        <\/div>`;\n        var mealCounter = 0;\n        function addMealRow() {\n            mealCounter++;\n            var div = document.createElement('div');\n            div.className = 'nut-input-row';\n            div.style.marginBottom = '8px';\n            div.innerHTML = `<div class=\"nut-input-group\"><label>Food #${mealCounter}<\/label><input type=\"text\" class=\"meal-name\" placeholder=\"e.g. Chicken breast\"><\/div>\n            <div class=\"nut-input-group\"><label>Calories<\/label><input type=\"number\" class=\"meal-cal\" value=\"200\" step=\"1\"><\/div>`;\n            $('meal-items').appendChild(div);\n        }\n        addMealRow(); addMealRow(); addMealRow(); \/\/ start with 3 rows\n        $('addMealItem').addEventListener('click', addMealRow);\n        $('calcMeal').addEventListener('click', function() {\n            var cals = document.querySelectorAll('.meal-cal');\n            var total = 0;\n            cals.forEach(el => total += parseFloat(el.value) || 0);\n            nutData.mealcal = Math.round(total) + ' kcal';\n            $('meal-result').innerHTML = `<div class=\"nut-result\">\n                <div class=\"nut-result-title\">Total Meal Calories<\/div>\n                <div class=\"nut-result-value\">${Math.round(total)} <span style=\"font-size:0.6em;\">kcal<\/span><\/div>\n            <\/div>`;\n            updateSummary();\n        });\n\n        \/\/ ---- Food Portion Calculator (hand method) ----\n        $('nut-panel-portion').innerHTML = `\n        <div class=\"nut-card\">\n            <div class=\"nut-card-header\"><div class=\"nut-card-icon\">\ud83e\udd32<\/div><div><div class=\"nut-card-title\">Hand Portion Calculator<\/div><div class=\"nut-card-sub\">Use your hand as a portion guide<\/div><\/div><\/div>\n            <div class=\"nut-input-row\">\n                <div class=\"nut-input-group\"><label>Palm (protein)<\/label><select id=\"port-protein\"><option value=\"1\">1 palm<\/option><option value=\"2\">2 palms<\/option><option value=\"0\">None<\/option><\/select><\/div>\n                <div class=\"nut-input-group\"><label>Fist (veggies)<\/label><select id=\"port-veggies\"><option value=\"1\">1 fist<\/option><option value=\"2\">2 fists<\/option><option value=\"0\">None<\/option><\/select><\/div>\n            <\/div>\n            <div class=\"nut-input-row\">\n                <div class=\"nut-input-group\"><label>Cupped hand (carbs)<\/label><select id=\"port-carbs\"><option value=\"1\">1 cupped hand<\/option><option value=\"2\">2 cupped hands<\/option><option value=\"0\">None<\/option><\/select><\/div>\n                <div class=\"nut-input-group\"><label>Thumb (fats)<\/label><select id=\"port-fats\"><option value=\"1\">1 thumb<\/option><option value=\"2\">2 thumbs<\/option><option value=\"0\">None<\/option><\/select><\/div>\n            <\/div>\n            <button class=\"nut-btn\" id=\"calcPortion\">Estimate Calories<\/button>\n            <div id=\"portion-result\"><\/div>\n        <\/div>`;\n        $('calcPortion').addEventListener('click', function() {\n            var p = parseInt($('port-protein').value);\n            var v = parseInt($('port-veggies').value);\n            var c = parseInt($('port-carbs').value);\n            var f = parseInt($('port-fats').value);\n            \/\/ Approximate calories per hand portion (simplified)\n            var calProtein = p * 130; \/\/ palm ~ 3-4 oz meat\n            var calVeggies = v * 25;\n            var calCarbs = c * 120; \/\/ cupped hand ~ 1\/2 cup grains\n            var calFats = f * 90; \/\/ thumb ~ 1 tbsp oil\/nut butter\n            var total = calProtein + calVeggies + calCarbs + calFats;\n            nutData.portion = total + ' kcal';\n            $('portion-result').innerHTML = `<div class=\"nut-result\">\n                <div class=\"nut-result-title\">Estimated Meal Calories<\/div>\n                <div class=\"nut-result-value\">${total} <span style=\"font-size:0.6em;\">kcal<\/span><\/div>\n                <div class=\"nut-result-label\">Protein: ${calProtein} | Veggies: ${calVeggies} | Carbs: ${calCarbs} | Fats: ${calFats}<\/div>\n                <div class=\"nut-result-label\" style=\"margin-top:8px;\">Hand portions are rough estimates; individual needs vary.<\/div>\n            <\/div>`;\n            updateSummary();\n        });\n\n        function updateSummary() {\n            var items = [\n                {l:'Nutrition Facts', v: nutData.facts || '\u2014'},\n                {l:'Vitamins', v: nutData.vitamins || '\u2014'},\n                {l:'Added Sugar', v: nutData.sugar || '\u2014'},\n                {l:'Fiber', v: nutData.fiber || '\u2014'},\n                {l:'Water', v: nutData.water || '\u2014'},\n                {l:'Meal Calories', v: nutData.mealcal || '\u2014'},\n                {l:'Portion Estimate', v: nutData.portion || '\u2014'}\n            ];\n            var html = '';\n            items.forEach(function(i) {\n                html += '<div class=\"nut-sum-card\"><div class=\"nut-sum-val\">'+i.v+'<\/div><div class=\"nut-sum-lbl\">'+i.l+'<\/div><\/div>';\n            });\n            $('nutSummaryGrid').innerHTML = html;\n        }\n\n        \/\/ Tab switching\n        $('nutTabRow').addEventListener('click', function(e) {\n            var btn = e.target.closest('.nut-tab');\n            if (!btn) return;\n            suite.querySelectorAll('.nut-tab').forEach(b => b.classList.remove('active'));\n            btn.classList.add('active');\n            suite.querySelectorAll('.nut-panel').forEach(p => p.classList.remove('active'));\n            var panel = $('nut-panel-' + btn.dataset.tab);\n            if (panel) panel.classList.add('active');\n        });\n\n\n\/\/ Activate tab based on URL hash\n(function() {\n    var hash = window.location.hash.substring(1); \/\/ remove '#'\n    if (hash) {\n        var targetTab = document.querySelector('.nut-tab[data-tab=\"' + hash + '\"]');\n        if (targetTab) {\n            \/\/ Deactivate all tabs and panels\n            document.querySelectorAll('.nut-tab').forEach(function(b) { b.classList.remove('active'); });\n            document.querySelectorAll('.nut-panel').forEach(function(p) { p.classList.remove('active'); });\n            \/\/ Activate the matched tab\n            targetTab.classList.add('active');\n            var panel = document.getElementById('nut-panel-' + hash);\n            if (panel) panel.classList.add('active');\n        }\n    }\n})();\n\n    })();\n    <\/script>\n    \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1161","page","type-page","status-publish"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>GlobalHealthMag Nutrition Assessment Tools - GlobalHealth Magazine<\/title>\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.globalhealthmag.com\/id\/alat-alat-gizi\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GlobalHealthMag Nutrition Assessment Tools\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.globalhealthmag.com\/id\/alat-alat-gizi\/\" \/>\n<meta property=\"og:site_name\" content=\"GlobalHealth Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/globalhealthmag\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-14T21:31:15+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.globalhealthmag.com\\\/nutrition-tools\\\/\",\"url\":\"https:\\\/\\\/www.globalhealthmag.com\\\/nutrition-tools\\\/\",\"name\":\"GlobalHealthMag Nutrition Assessment Tools - GlobalHealth Magazine\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.globalhealthmag.com\\\/#website\"},\"datePublished\":\"2026-06-14T21:31:12+00:00\",\"dateModified\":\"2026-06-14T21:31:15+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.globalhealthmag.com\\\/nutrition-tools\\\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.globalhealthmag.com\\\/nutrition-tools\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.globalhealthmag.com\\\/nutrition-tools\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.globalhealthmag.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GlobalHealthMag Nutrition Assessment Tools\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.globalhealthmag.com\\\/#website\",\"url\":\"https:\\\/\\\/www.globalhealthmag.com\\\/\",\"name\":\"GlobalHealth Magazine\",\"description\":\"Health and Fitness Tips and Advice\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.globalhealthmag.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.globalhealthmag.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.globalhealthmag.com\\\/#organization\",\"name\":\"GlobalHealth Magazine\",\"url\":\"https:\\\/\\\/www.globalhealthmag.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/www.globalhealthmag.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.globalhealthmag.com\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/globalhealthmag-favicon.png\",\"contentUrl\":\"https:\\\/\\\/www.globalhealthmag.com\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/globalhealthmag-favicon.png\",\"width\":512,\"height\":512,\"caption\":\"GlobalHealth Magazine\"},\"image\":{\"@id\":\"https:\\\/\\\/www.globalhealthmag.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/globalhealthmag\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Alat Penilaian Gizi GlobalHealthMag - Majalah GlobalHealth","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.globalhealthmag.com\/id\/alat-alat-gizi\/","og_locale":"id_ID","og_type":"article","og_title":"GlobalHealthMag Nutrition Assessment Tools","og_url":"https:\/\/www.globalhealthmag.com\/id\/alat-alat-gizi\/","og_site_name":"GlobalHealth Magazine","article_publisher":"https:\/\/www.facebook.com\/globalhealthmag","article_modified_time":"2026-06-14T21:31:15+00:00","twitter_card":"summary_large_image","twitter_misc":{"Estimasi waktu membaca":"1 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.globalhealthmag.com\/nutrition-tools\/","url":"https:\/\/www.globalhealthmag.com\/nutrition-tools\/","name":"Alat Penilaian Gizi GlobalHealthMag - Majalah GlobalHealth","isPartOf":{"@id":"https:\/\/www.globalhealthmag.com\/#website"},"datePublished":"2026-06-14T21:31:12+00:00","dateModified":"2026-06-14T21:31:15+00:00","breadcrumb":{"@id":"https:\/\/www.globalhealthmag.com\/nutrition-tools\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.globalhealthmag.com\/nutrition-tools\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.globalhealthmag.com\/nutrition-tools\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.globalhealthmag.com\/"},{"@type":"ListItem","position":2,"name":"GlobalHealthMag Nutrition Assessment Tools"}]},{"@type":"WebSite","@id":"https:\/\/www.globalhealthmag.com\/#website","url":"https:\/\/www.globalhealthmag.com\/","name":"Majalah GlobalHealth","description":"Kiat dan Saran Kesehatan dan Kebugaran","publisher":{"@id":"https:\/\/www.globalhealthmag.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.globalhealthmag.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":"Organization","@id":"https:\/\/www.globalhealthmag.com\/#organization","name":"Majalah GlobalHealth","url":"https:\/\/www.globalhealthmag.com\/","logo":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.globalhealthmag.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.globalhealthmag.com\/wp-content\/uploads\/2023\/04\/globalhealthmag-favicon.png","contentUrl":"https:\/\/www.globalhealthmag.com\/wp-content\/uploads\/2023\/04\/globalhealthmag-favicon.png","width":512,"height":512,"caption":"GlobalHealth Magazine"},"image":{"@id":"https:\/\/www.globalhealthmag.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/globalhealthmag"]}]}},"_links":{"self":[{"href":"https:\/\/www.globalhealthmag.com\/id\/wp-json\/wp\/v2\/pages\/1161","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.globalhealthmag.com\/id\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.globalhealthmag.com\/id\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.globalhealthmag.com\/id\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.globalhealthmag.com\/id\/wp-json\/wp\/v2\/comments?post=1161"}],"version-history":[{"count":1,"href":"https:\/\/www.globalhealthmag.com\/id\/wp-json\/wp\/v2\/pages\/1161\/revisions"}],"predecessor-version":[{"id":1162,"href":"https:\/\/www.globalhealthmag.com\/id\/wp-json\/wp\/v2\/pages\/1161\/revisions\/1162"}],"wp:attachment":[{"href":"https:\/\/www.globalhealthmag.com\/id\/wp-json\/wp\/v2\/media?parent=1161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}