Jawaban singkatnya: makanan yang mengandung kalori hampir mencakup semua yang kamu makan, bukan cuma gorengan dan nasi. Energi itu hanya datang dari empat komponen utama, yaitu karbohidrat 4 kkal per gram, protein 4 kkal per gram, lemak 9 kkal per gram, dan alkohol 7 kkal per gram, sesuai faktor konversi yang dirangkum FAO. Sisanya, yakni air, vitamin, dan mineral, tidak menyumbang energi sama sekali. Jadi yang menentukan padat atau tidaknya sebuah makanan bukan label sehat di kemasannya, melainkan berapa banyak lemak dan berapa sedikit air di dalamnya.
Artikel ini adalah halaman payung. Di sini kamu akan menemukan kerangka besarnya: kalori itu apa, dari mana angkanya berasal, dan bagaimana kelompok pangan Indonesia berdiri kalau diurutkan dari yang paling padat energi. Untuk urusan yang lebih spesifik, ada pembahasan tersendiri soal makanan rendah kalori, soal pilihan padat energi untuk menaikkan berat badan, dan soal cara menghitung kalori makanan langkah demi langkah. Halaman ini sengaja tidak mengulang isi ketiganya.
Kalori Itu Satuan Energi, Bukan Bahan di Dalam Makanan
Kesalahpahaman paling umum yang saya temui: orang membayangkan kalori sebagai zat yang bisa dicabut dari makanan, seperti mencabut lemak dari daging. Kalori bukan zat. Kalori adalah satuan pengukuran energi, sama seperti kilogram adalah satuan massa dan meter adalah satuan panjang.
Yang tertulis di tabel gizi sebenarnya kilokalori, disingkat kkal, walaupun percakapan sehari-hari menyebutnya kalori saja. Satuan internasionalnya kilojoule. FAO mencatat konversinya sederhana: 1 kkal setara 4,184 kJ, dan 1 kJ setara 0,239 kkal. Itu sebabnya label kemasan impor kadang menulis dua angka sekaligus untuk produk yang sama, misalnya 130 kkal berdampingan dengan 544 kJ.
Karena kalori adalah satuan, pertanyaan "makanan apa yang mengandung kalori" sebenarnya setara dengan "makanan apa yang menyimpan energi". Dan hampir semua bahan pangan menyimpan energi, termasuk yang selama ini kamu anggap netral. Bayam mentah berisi 23 kkal per 100 gram menurut USDA FoodData Central. Timun dengan kulit 15 kkal. Keduanya sering disebut "bebas kalori" dalam percakapan diet, padahal angkanya bukan nol.
Yang benar-benar nol hanya air putih, karena air tidak masuk daftar komponen penyumbang energi. FAO menyebut komponen pangan yang menyediakan energi adalah protein, lemak, karbohidrat, alkohol, poliol, asam organik, dan senyawa baru tertentu. Vitamin dan mineral tidak ada di daftar itu. Mereka penting untuk fungsi tubuh, tapi mereka tidak mengangkut energi.
Kalau kamu ingin memahami definisi dan sejarah satuan ini lebih dalam, kami membahasnya terpisah di kalori adalah. Untuk artikel ini, cukup pegang satu hal: kalori adalah angka hasil hitungan, dan hitungan itu punya rumus yang bisa kamu periksa sendiri.
Empat Sumber Kalori dalam Makanan, Plus Tiga yang Jarang Disebut
Sistem yang dipakai hampir semua database gizi dunia disebut sistem faktor umum Atwater. Cara kerjanya lugas: timbang berapa gram tiap komponen penyumbang energi, kalikan dengan faktornya, lalu jumlahkan.
FAO menuliskan nilainya secara eksplisit. Energi dari protein 17 kJ per gram atau 4,0 kkal, lemak 37 kJ per gram atau 9,0 kkal, dan karbohidrat 17 kJ per gram atau 4,0 kkal. Sistem umum Atwater juga memasukkan alkohol dengan nilai bulat 29 kJ per gram atau 7,0 kkal, sementara nilai tanpa pembulatannya 6,9 kkal per gram.
| Komponen makanan | Faktor umum | Setara kJ/g | Catatan |
|---|---|---|---|
| Karbohidrat | 4,0 kkal/g | 17 kJ/g | Dihitung dengan cara selisih, jadi ikut memuat serat |
| Protein | 4,0 kkal/g | 17 kJ/g | Nilai sistem NME lebih rendah, 3,2 kkal/g |
| Lemak | 9,0 kkal/g | 37 kJ/g | Faktor terbesar, lebih dari dua kali karbohidrat |
| Alkohol | 7,0 kkal/g | 29 kJ/g | Nilai tanpa pembulatan 6,9 kkal/g |
| Serat pangan biasa | 2,0 kkal/g | 8 kJ/g | Asumsi 70 persen serat bisa difermentasi |
| Poliol (pemanis gula alkohol) | 2,4 kkal/g | 10 kJ/g | Dipakai pada produk bebas gula |
| Asam organik | 3,0 kkal/g | 13 kJ/g | Mengacu Codex Alimentarius |
| Serat yang tidak difermentasi | 0 kkal/g | 0 kJ/g | Nilai terendah dalam sistem, tidak pernah negatif |
Tiga baris terakhir yang jarang muncul di artikel diet, padahal berguna. Poliol seperti sorbitol dan maltitol dipakai di permen karet serta cokelat berlabel bebas gula. Nilainya 2,4 kkal per gram, jadi produk itu memang lebih ringan daripada gula pasir, tapi tetap jauh dari nol.
Baris paling bawah menjawab satu mitos yang tidak pernah mati. Klaim soal makanan berkalori negatif, yaitu makanan yang katanya membuat tubuh membakar lebih banyak energi daripada yang disumbangkannya, tidak punya pijakan dalam sistem faktor mana pun. Angka terendah yang pernah dipakai adalah nol, dan itu khusus untuk serat yang tidak bisa difermentasi. Tidak ada faktor bertanda minus.
Tips: Kalau kamu ingin cek cepat apakah sebuah label gizi masuk akal, kalikan gram karbohidrat dengan 4, protein dengan 4, lemak dengan 9, lalu jumlahkan. Hasilnya harus mendekati angka energi yang tertulis, biasanya dengan selisih di bawah 10 persen. Selisih yang jauh lebih besar dari itu artinya ada yang perlu kamu baca ulang, entah takaran sajinya atau kandungan seratnya.
Kenapa Angka 4, 4, dan 9 Sebenarnya Cuma Pembulatan
Bagian ini yang paling sering dilewati, padahal justru menjelaskan kenapa hitungan manualmu sering meleset dari tabel gizi.
Faktor 4, 4, dan 9 berasal dari sistem umum, yang sengaja memakai satu angka untuk tiap makronutrien tanpa peduli makanannya apa. Di sampingnya ada sistem faktor spesifik Atwater, yang memberi faktor berbeda untuk tiap kelompok pangan. FAO mencatat rentangnya lebar sekali: faktor protein bervariasi dari 10,2 kJ per gram (2,44 kkal per gram) pada sebagian protein nabati sampai 18,2 kJ per gram (4,36 kkal per gram) pada telur. Faktor lemak bergerak dari 8,37 kkal sampai 9,02 kkal per gram, dan faktor karbohidrat total dari 2,70 kkal per gram pada air jeruk nipis dan lemon sampai 4,16 kkal per gram pada beras giling. Dalam persentase, rentang itu berturut-turut 44 persen, 7 persen, dan 35 persen.
| Kelompok pangan | Protein (kkal/g) | Lemak (kkal/g) | Karbohidrat total (kkal/g) |
|---|---|---|---|
| Telur | 4,36 | 9,02 | 3,68 |
| Daging dan ikan | 4,27 | 9,02 | tidak berlaku |
| Susu dan produk susu | 4,27 | 8,79 | 3,87 |
| Minyak dan lemak nabati | tidak berlaku | 8,84 | tidak berlaku |
| Beras putih giling | 3,82 | 8,37 | 4,16 |
| Beras merah | 3,41 | 8,37 | 4,12 |
| Kacang-kacangan dan kedelai | 3,47 | 8,37 | 4,07 |
| Umbi berpati | 2,78 | 8,37 | 4,03 |
| Buah selain jeruk nipis dan lemon | 3,36 | 8,37 | 3,60 |
| Sayuran lain | 2,44 | 8,37 | 3,57 |
Sekarang uji tabel itu dengan dua bahan pangan yang tiap hari ada di meja makan Indonesia.
Nasi putih matang, FDC ID 168878, tercatat berisi 2,69 gram protein, 0,28 gram lemak, dan 28,2 gram karbohidrat per 100 gram. Pakai faktor umum: hasilnya sekitar 126 kkal. Pakai faktor spesifik beras giling (3,82 untuk protein, 8,37 untuk lemak, 4,16 untuk karbohidrat): hasilnya 130 kkal. Angka yang tercatat di USDA persis 130 kkal.
Tempe, FDC ID 174272, berisi 20,3 gram protein, 10,8 gram lemak, dan 7,64 gram karbohidrat per 100 gram. Faktor umum memberi angka sekitar 209 kkal, jauh meleset. Faktor spesifik kacang-kacangan (3,47, 8,37, dan 4,07) memberi 192 kkal, dan itulah angka resmi USDA untuk tempe.
Selisih 17 kkal pada tempe bukan kesalahan pengetikan siapa pun. Itu konsekuensi memakai satu faktor bulat untuk protein kedelai yang daya cernanya berbeda dari protein telur. Jadi kalau hitungan manualmu meleset beberapa persen dari tabel, kemungkinan besar kamu tidak salah hitung. Kamu cuma sedang memakai sistem yang lebih kasar dari sistem yang dipakai pembuat tabel. Mekanisme perhitungannya kami bahas tuntas di cara menghitung kalori makanan.
Peringkat Kelompok Makanan Indonesia dari yang Paling Padat Kalori
Berikut daftar 20 bahan pangan yang akrab di dapur Indonesia, diurutkan dari energi tertinggi ke terendah per 100 gram. Semua angka diambil dari USDA FoodData Central dengan nomor FDC dicantumkan supaya kamu bisa menelusurinya sendiri.
| Bahan pangan (FDC ID) | Energi | Lemak | Karbohidrat | Protein | Air |
|---|---|---|---|---|---|
| Minyak sawit (171015) | 884 kkal | 100 g | 0 g | 0 g | 0 g |
| Kacang tanah mentah (172430) | 567 kkal | 49,2 g | 16,1 g | 25,8 g | 6,5 g |
| Kacang mete mentah (170162) | 553 kkal | 43,8 g | 30,2 g | 18,2 g | 5,2 g |
| Gula pasir (169655) | 387 kkal | 0 g | 100 g | 0 g | 0,02 g |
| Ikan makerel matang (175120) | 262 kkal | 17,8 g | 0 g | 23,8 g | 53,3 g |
| Santan kelapa (170172) | 230 kkal | 23,8 g | 5,54 g | 2,29 g | 67,6 g |
| Tempe (174272) | 192 kkal | 10,8 g | 7,64 g | 20,3 g | 59,6 g |
| Dada ayam panggang tanpa kulit (171477) | 165 kkal | 3,57 g | 0 g | 31,0 g | 65,3 g |
| Alpukat (171705) | 160 kkal | 14,7 g | 8,53 g | 2,0 g | 73,2 g |
| Singkong mentah (169985) | 160 kkal | 0,28 g | 38,1 g | 1,36 g | 59,7 g |
| Telur rebus (173424) | 155 kkal | 10,6 g | 1,12 g | 12,6 g | 74,6 g |
| Tahu padat (172475) | 144 kkal | 8,72 g | 2,78 g | 17,3 g | 69,8 g |
| Nasi putih matang (168878) | 130 kkal | 0,28 g | 28,2 g | 2,69 g | 68,4 g |
| Ubi jalar panggang (168483) | 90 kkal | 0,15 g | 20,7 g | 2,01 g | 75,8 g |
| Pisang (173944) | 89 kkal | 0,33 g | 22,8 g | 1,09 g | 74,9 g |
| Susu sapi utuh (172217) | 61 kkal | 3,27 g | 4,78 g | 3,15 g | 88,1 g |
| Bir biasa (168746) | 43 kkal | 0 g | 3,55 g | 0,46 g | 92,0 g |
| Semangka (167765) | 30 kkal | 0,15 g | 7,55 g | 0,61 g | 91,4 g |
| Bayam mentah (168462) | 23 kkal | 0,39 g | 3,63 g | 2,86 g | 91,4 g |
| Timun dengan kulit (168409) | 15 kkal | 0,11 g | 3,63 g | 0,65 g | 95,2 g |
Jarak antara baris pertama dan baris terakhir hampir 59 kali lipat. Minyak sawit 884 kkal, timun 15 kkal, dan keduanya sama-sama makanan.
Ada dua kejutan yang layak kamu perhatikan. Pertama, gula pasir hanya menempati peringkat empat. Gula memang 100 persen karbohidrat, tapi karbohidrat cuma bernilai sekitar 4 kkal per gram, sehingga totalnya 387 kkal. Kacang tanah mentah dengan 567 kkal justru lebih padat, karena hampir separuh isinya lemak. Ini bukan alasan untuk menambah gula, melainkan pengingat bahwa reputasi buruk tidak selalu berjalan seiring dengan angka kepadatan energi.
Kedua, gula pasir yang karbohidratnya 100 gram tercatat 387 kkal, bukan 400 kkal. Bagi 387 dengan 100 dan kamu dapat 3,87 kkal per gram. Sekali lagi, faktor 4 itu pembulatan.
Ketiga, bir adalah satu-satunya baris yang tidak bisa dijelaskan hanya dengan tiga makronutrien. Karbohidrat 3,55 gram dan protein 0,46 gram cuma menyumbang sekitar 16 kkal, padahal totalnya 43 kkal per 100 gram. Selisihnya datang dari 3,9 gram alkohol dikalikan 7 kkal per gram, yaitu sekitar 27 kkal. Alkohol tidak digolongkan sebagai zat gizi karena tubuh tidak membutuhkannya, tetapi sistem faktor Atwater tetap menghitungnya sebagai sumber energi. Itu sebabnya minuman beralkohol bisa terasa ringan di lidah dan tetap menambah angka pada anggaran kalori harian.
Kalau kamu sedang mencari bahan dari paruh bawah tabel untuk mengisi piring tanpa menaikkan total energi, daftar praktisnya sudah kami susun di makanan rendah kalori. Sebaliknya, kalau tujuanmu justru menaikkan berat badan dan paruh atas tabel ini terlihat menarik, urutan prioritasnya ada di makanan tinggi kalori untuk naik berat badan.
Air dan Lemak: Dua Tuas yang Menentukan Kepadatan Kalori
Perhatikan kolom paling kanan pada tabel di atas, lalu bandingkan dengan kolom energi. Polanya konsisten dan hampir mekanis: makin banyak air, makin rendah kalorinya. Timun 95,2 gram air dan 15 kkal. Semangka 91,4 gram air dan 30 kkal. Susu 88,1 gram air dan 61 kkal. Minyak sawit nol gram air dan 884 kkal.
Air memenuhi ruang, menambah berat, memberi rasa kenyang secara fisik, dan tidak menyumbang satu kalori pun. Itu alasan mendasar kenapa sayur dan buah utuh bisa memenuhi piring tanpa membebani total energi harian. Bukan karena ada zat pembakar lemak di dalamnya.
Tuas kedua adalah lemak, dan efeknya berlawanan arah. Karena faktornya 9 kkal per gram, setiap gram lemak yang masuk ke sebuah bahan pangan menaikkan energi lebih dari dua kali lipat dibanding satu gram karbohidrat atau protein. Bandingkan tahu padat (8,72 gram lemak, 144 kkal) dengan nasi putih matang (0,28 gram lemak, 130 kkal). Karbohidrat nasi sepuluh kali lipat karbohidrat tahu, tapi energinya justru lebih rendah.
Dua tuas ini juga menjelaskan kenapa cara memasak sering lebih menentukan daripada bahan mentahnya. Menggoreng bekerja dengan menukar air menjadi minyak: air menguap keluar, minyak meresap masuk. Kamu menurunkan komponen nol kalori sambil menaikkan komponen 9 kkal per gram, dua-duanya sekaligus, pada bahan yang namanya tidak berubah di menu.

Menggoreng dengan minyak banyak di wajan. Saat adonan matang, sebagian airnya menguap dan ruang itu terisi minyak, alasan gorengan jauh lebih padat kalori daripada bahan mentahnya. Foto: Isaac Gyamfi Assumeng / Wikimedia Commons, CC BY-SA 4.0.
Tips: Sebelum menghafal daftar kalori, hafalkan dulu dua pertanyaan ini untuk makanan apa pun: berapa banyak airnya, dan berapa banyak lemaknya. Dua jawaban itu sudah menjelaskan sebagian besar variasi angka pada tabel gizi, dan keduanya bisa kamu tebak kasar tanpa alat ukur. Makanan yang basah dan tidak berminyak hampir selalu rendah energi. Makanan yang kering dan berminyak hampir selalu padat energi.
Santan adalah contoh khas Indonesia yang menarik. Isinya 67,6 gram air per 100 gram, jadi terasa encer dan ringan di mulut. Tapi lemaknya 23,8 gram, dan itu yang mendorong energinya ke 230 kkal per 100 gram. Semangkuk kuah opor bukan air berbumbu. Secara kepadatan energi, kuah itu lebih dekat ke susu kental daripada ke kaldu bening.

Memeras kelapa parut untuk membuat santan. Cairannya tampak encer, tapi lemak kelapa yang ikut terperas inilah yang membuat santan padat kalori. Foto: കാക്കര / Wikimedia Commons, CC BY-SA 3.0.
Makanan Sehat Juga Mengandung Kalori, dan Itu Bukan Cacat
Ini bagian yang paling sering disalahpahami, jadi mari ditulis terang-terangan. Alpukat 160 kkal per 100 gram. Kacang tanah 567 kkal. Ikan makerel 262 kkal. Minyak nabati 884 kkal. Semuanya termasuk pangan bergizi baik, dan semuanya padat energi.
Kepadatan kalori bukan ukuran kualitas gizi. Alpukat membawa 6,7 gram serat per 100 gram, jauh di atas kebanyakan buah lain. Kacang tanah membawa 25,8 gram protein dan 8,5 gram serat. Angka energinya tinggi justru karena membawa banyak lemak, dan lemak sendiri adalah zat gizi yang tubuhmu butuhkan.

Kacang tanah dari kulit sampai biji kupas. Kalorinya tinggi, tapi ia juga membawa protein dan serat yang cukup besar, jadi kepadatan kalori bukan ukuran buruknya sebuah makanan. Foto: Ivar Leidus / Wikimedia Commons, CC BY-SA 4.0.
WHO menyatakan lemak adalah zat gizi esensial untuk fungsi sel yang benar, dan dua asam lemak, yaitu asam linoleat serta asam alfa linolenat, hanya bisa diperoleh dari makanan. Karena itu WHO menetapkan pada orang dewasa minimum 15 persen energi harian sebaiknya berasal dari lemak, sampai batas 30 persen dari total kalori harian. Untuk orang dewasa, membatasi lemak total sampai 30 persen atau kurang dari total asupan energi dapat membantu mencegah kenaikan berat badan yang tidak sehat.
Perhatikan bahwa ada batas bawah, bukan cuma batas atas. Diet yang mengharamkan semua sumber lemak sedang melanggar sisi yang jarang dibicarakan.
Prinsip yang sama berlaku untuk karbohidrat. Harvard T.H. Chan School of Public Health menulis bahwa jumlah karbohidrat dalam pola makan, tinggi maupun rendah, kurang penting dibanding jenis karbohidratnya. Mereka mencontohkan biji-bijian utuh seperti roti gandum utuh, rye, barley, dan quinoa sebagai pilihan yang lebih baik daripada roti putih yang sangat halus atau kentang goreng. Kalori dua jenis karbohidrat itu bisa saja setara, tetapi efeknya pada tubuh tidak setara.
Menurut saya, di sinilah obsesi angka kalori tunggal berhenti berguna. Kalori memberi tahu kamu berapa banyak energi yang masuk. Kalori tidak memberi tahu apa pun soal serat, mikronutrien, kualitas lemak, atau seberapa lama kamu akan kenyang setelahnya. Dua menu dengan total 500 kkal yang sama bisa berakhir sangat berbeda pada jam empat sore.
Menempatkan Angka Kalori dalam Kebutuhan Harianmu
Angka per 100 gram tidak berarti apa-apa sampai kamu punya pembaginya. Untuk konteks Indonesia, acuan resminya adalah Peraturan Menteri Kesehatan Nomor 28 Tahun 2019 tentang Angka Kecukupan Gizi yang Dianjurkan untuk Masyarakat Indonesia. Peraturan itu menetapkan rata-rata angka kecukupan energi bagi masyarakat Indonesia sebesar 2.100 kilokalori per orang per hari pada tingkat konsumsi, dengan rata-rata angka kecukupan protein 57 gram per orang per hari.
Perlu ditegaskan: 2.100 kkal adalah rata-rata nasional yang dipakai pemerintah untuk perencanaan pangan, penyusunan pedoman konsumsi, sampai penetapan acuan label gizi. Itu bukan target pribadi. Kebutuhanmu bergantung pada usia, jenis kelamin, berat badan, tinggi badan, dan tingkat aktivitas fisik, dan cara memperkirakannya kami uraikan di kebutuhan kalori harian. Kalau ingin angka kasar dalam hitungan detik, pakai saja kalkulator kalori.
Setelah punya angka pembagi, tabel kepadatan kalori jadi jauh lebih berguna. Dengan patokan 2.100 kkal, misalnya, batas 30 persen energi dari lemak versi WHO setara sekitar 630 kkal, atau kira-kira 70 gram lemak sehari. Angka itu terdengar longgar sampai kamu ingat bahwa 100 gram kacang tanah saja sudah menyumbang 49,2 gram lemak.
Untuk gula, WHO menganjurkan konsumsi gula bebas dibatasi kurang dari 10 persen total asupan energi harian, setara 50 gram atau sekitar 12 sendok teh peres bagi orang dengan berat badan sehat yang mengonsumsi sekitar 2.000 kalori per hari. Membatasi lebih jauh sampai 5 persen atau kurang dapat memberi manfaat kesehatan tambahan. WHO juga menganjurkan asupan minimal 400 gram buah dan sayur per hari bagi semua orang berusia di atas 10 tahun, serta minimal 25 gram serat pangan alami per hari.
Tips: Berhenti menilai satu makanan sebagai boleh atau tidak boleh. Nilai porsinya terhadap anggaran harianmu. Nasi putih 130 kkal per 100 gram bukan masalah bagi orang dengan kebutuhan 2.100 kkal, dan bisa jadi masalah bagi orang dengan kebutuhan 1.500 kkal yang menyendok tiga kali. Angka yang sama, kesimpulan berbeda, karena pembaginya berbeda.
Arah kesimpulannya kembali ke satu prinsip yang tidak bisa dipintas. Perubahan berat badan mengikuti selisih antara energi masuk dan energi keluar, dan mekanismenya kami bahas di defisit kalori untuk turun berat badan. Tabel kepadatan kalori di artikel ini adalah alat untuk membuat selisih itu lebih mudah dijaga, bukan pengganti prinsipnya.
Satu catatan penutup yang jujur. Semua angka di halaman ini berlaku untuk bahan pangan generik, bukan untuk masakan tertentu di warung tertentu dengan takaran minyak tertentu. Anggap angka-angka ini sebagai peta, bukan sebagai timbangan. Peta cukup untuk membuatmu tahu arah, dan bagi sebagian besar orang itu sudah jauh lebih berguna daripada mencatat setiap gram dengan presisi yang tidak akan bertahan sebulan. Kalau kamu punya kondisi medis seperti diabetes, penyakit ginjal, gangguan makan, atau sedang hamil, susun target energimu bersama dokter atau ahli gizi, bukan dari tabel di internet.
Untuk memperluas konteks nutrisi, kamu bisa melanjutkan ke Kalori per Hari untuk Diet, Minuman Diet, Makanan Diet.



