GDP and Economic Growth

Lesson 5 - Economics with R

Author

Irfan Tri Raharjo

GDP dan Pertumbuhan Ekonomi

Setelah membahas pasar, sekarang kita naik level ke skala negara. Di sesi ini, kita akan kenalan sama GDP atau PDB (Produk Domestik Bruto), yaitu ‘rapor’ kesehatan ekonomi suatu negara, dan gimana kita bisa menganalisis Pertumbuhan Ekonomi pakai R.


Apa itu GDP?

Saya yakin kalian sudah paham, tapi ini perlu tetap saya tulis untuk memenuhi halaman lesson, duh.

GDP itu ibarat total nilai belanjaan seluruh penduduk dan entitas di suatu negara selama periode tertentu (misalnya setahun). Secara formal, GDP adalah total nilai moneter dari semua barang dan jasa akhir yang diproduksi di dalam batas wilayah suatu negara dalam periode waktu spesifik.

Intinya: GDP adalah indikator yang paling sering dipakai buat tahu seberapa ‘sehat’ dan aktif ekonomi suatu negara. Semakin tinggi PDB, biasanya semakin besar kue ekonominya.

Komponen GDP

dihitung dari sisi Pengeluaran (Expenditure Approach). Coba lihat ke mana saja uang di negara itu mengalir:

Formula:

\[GDP = C + I + G + (X - M)\]

Keterangan:

  • C (Consumer Spending / Konsumsi):

Pengeluaran kita sehari-hari, dari beli kopi sampai bayar kosan. Ini adalah komponen terbesar, biasanya 60-70% PDB. - I (Investment / Investasi):

Pengeluaran bisnis untuk barang modal (misalnya pabrik baru, mesin, software).

  • G (Government Spending / Belanja Pemerintah):

Pengeluaran pemerintah untuk barang dan jasa (misalnya bangun jalan, bayar gaji PNS).

  • X - M (Net Exports / Ekspor Bersih):

Ekspor (X) (barang yang kita jual ke luar) dikurangi Impor (M) (barang yang kita beli dari luar).

Coba kita simulasikan

# Buat data frame GDP (billions)
years <- 2015:2024
consumption <- c(12000, 12400, 12800, 13100, 13500, 
                 13200, 13800, 14300, 14800, 15200)
investment <- c(3000, 3100, 3200, 3300, 3400, 
                3000, 3300, 3500, 3700, 3900)
government <- c(3500, 3600, 3700, 3800, 3900, 
                4200, 4300, 4400, 4500, 4600)
net_exports <- c(-500, -550, -600, -650, -700, 
                 -600, -550, -500, -450, -400)

gdp <- consumption + investment + government + net_exports

gdp_data <- data.frame(
  Year = years,
  GDP = gdp,
  Consumption = consumption,
  Investment = investment,
  Government = government,
  Net_Exports = net_exports
)

# Hitung growth rate dari GDP
gdp_growth <- c(NA, diff(gdp) / gdp[-length(gdp)] * 100)
gdp_data$Growth_Rate <- gdp_growth

print(gdp_data)
   Year   GDP Consumption Investment Government Net_Exports Growth_Rate
1  2015 18000       12000       3000       3500        -500          NA
2  2016 18550       12400       3100       3600        -550    3.055556
3  2017 19100       12800       3200       3700        -600    2.964960
4  2018 19550       13100       3300       3800        -650    2.356021
5  2019 20100       13500       3400       3900        -700    2.813299
6  2020 19800       13200       3000       4200        -600   -1.492537
7  2021 20850       13800       3300       4300        -550    5.303030
8  2022 21700       14300       3500       4400        -500    4.076739
9  2023 22550       14800       3700       4500        -450    3.917051
10 2024 23300       15200       3900       4600        -400    3.325942

Visualisasi GDP dan pertumbuhan ekonomi

library(ggplot2)

# Bikin data frame
chart_data <- data.frame(
  year = c(2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024),
  GDP_Billions = c(18000, 18550, 19100, 19550, 20100, 19800, 20850, 21700, 22550, 23300)
)

# Tetapkan area plotnya
ggplot(chart_data, aes(x = year)) +
  geom_area(aes(y = GDP_Billions, fill = "GDP Billions"), alpha = 0.6)

  labs(title = "GDP Growth Over Time",
       x = "Year",
       y = "Value",
       fill = "Legend") +
  theme_minimal()
NULL

Menghitung Real vs Nominal GDP

# Nominal vs Real GDP (adjusting for inflation)
nominal_gdp <- c(20000, 21000, 22100, 23300, 24600)
cpi <- c(100, 102, 105, 108, 112)  # Consumer Price Index

# Real GDP (base year = first year)
real_gdp <- (nominal_gdp / cpi) * 100

gdp_comparison <- data.frame(
  Year = 2020:2024,
  Nominal_GDP = nominal_gdp,
  Real_GDP = real_gdp,
  CPI = cpi
)


print(gdp_comparison)
  Year Nominal_GDP Real_GDP CPI
1 2020       20000 20000.00 100
2 2021       21000 20588.24 102
3 2022       22100 21047.62 105
4 2023       23300 21574.07 108
5 2024       24600 21964.29 112