11  Interpretasi & Pelaporan

Cara menginterpretasikan hasil, menulis narasi ilmiah, dan menyusun laporan

Tujuan Pembelajaran
  1. Merangkai semua hasil analisis menjadi narasi ilmiah yang koheren
  2. Mengidentifikasi research gap secara sistematis
  3. Menulis bagian Metodologi yang lengkap
  4. Menyusun struktur laporan bibliometrika yang baik
  5. Menggunakan template prompt AI untuk membantu penulisan

11.1 Kerangka Laporan Bibliometrika

Laporan bibliometrika yang baik memiliki struktur yang sistematis:

Bagian Utama Isi / Sub-bagian
1. Pendahuluan • Latar belakang dan urgensi topik
• Tujuan analisis bibliometrika
• Pertanyaan penelitian (research questions)
2. Metodologi • Database dan sumber data (Scopus/WoS)
• Strategi pencarian (query dan filter)
• Proses seleksi dan screening dokumen
• Perangkat lunak analisis (R + bibliometrix)
• Jenis analisis yang dilakukan
3. Hasil dan Pembahasan • 3.1 Gambaran umum corpus (Main Information)
• 3.2 Tren produksi ilmiah tahunan
• 3.3 Penulis dan jurnal paling produktif
• 3.4 Analisis jaringan co-authorship
• 3.5 Analisis co-occurrence kata kunci
• 3.6 Peta tematik (Thematic Map)
• 3.7 Kolaborasi internasional dan institusi
4. Penelitian Berpengaruh • Top 10 artikel paling banyak disitasi
• Analisis konten artikel terpenting
5. Research Gap & Rekomendasi • Topik yang masih terbuka (emerging themes)
• Kombinasi tema yang belum dieksplorasi
• Rekomendasi arah penelitian berikutnya
6. Kesimpulan • Ringkasan temuan utama
• Kontribusi analisis ini
• Keterbatasan penelitian
7. Referensi • Aria & Cuccurullo (2017) untuk bibliometrix
• Referensi metodologi bibliometrika lainnya

11.4 Ringkasan: Alur Kerja Bibliometrika Lengkap

Langkah Tahap Fungsi Utama
1 Tentukan Topik Rumuskan topik + kata kunci utama
2 Bangun Query Query Scopus: TITLE-ABS-KEY(...)
3 Unduh Data Ekspor CSV dari Scopus (semua field)
4 Impor ke R convert2df() → bibliometrixDB
5 Cleaning Hapus duplikat, tangani nilai NA
6 Analisis Deskriptif biblioAnalysis() → statistik dasar
7 Visualisasi ggplot2 → grafik APA-style
8 Analisis Jaringan biblioNetwork() + networkPlot()
9 Peta Tematik thematicMap() → 4 kuadran
10 Interpretasi Narasi ilmiah + identifikasi research gap
11 Susun Laporan Dokumen final (Word / PDF / Quarto)

11.5 Script R Lengkap: Template Siap Pakai

Sebagai alternatif dari script R murni di bawah ini, Anda sangat disarankan untuk mengunduh versi R Markdown (.Rmd). File R Markdown berisi kustomisasi grafik, rendering ke HTML yang interaktif, dan format pelaporan yang lebih matang (tinggal Knit).


Download Script R Markdown (analisis_bibliometrika.Rmd)

Berikut adalah versi murni (R Script) dari file analisis_bibliometrika.Rmd untuk Anda yang hanya ingin menggunakan konsol R:

# =====================================================================
# SCRIPT ANALISIS BIBLIOMETRIKA OTOMATIS (Versi R Murni)
# =====================================================================

# 1. Konfigurasi Awal
FILE_DATA <- "scopus_export.csv" # Ganti dengan path file data Anda
SUMBER_DB <- "scopus"           # Pilihan: "scopus", "dimensions", "isi"
NAMA_TOPIK <- "Topik_Penelitian"
DIR_OUTPUT <- "output_analisis"

if (!dir.exists(DIR_OUTPUT)) dir.create(DIR_OUTPUT, recursive = TRUE)

# 2. Load Library dan Konfigurasi Tema
pkgs <- c("bibliometrix", "dplyr", "ggplot2", "igraph", "writexl")
for (p in pkgs) { 
  if (!requireNamespace(p, quietly = TRUE)) install.packages(p) 
}
invisible(lapply(pkgs, library, character.only = TRUE))

theme_apa <- function(base_size = 11, base_family = "Helvetica") {
  theme_classic(base_size = base_size, base_family = base_family) +
    theme(
      text             = element_text(family = base_family),
      axis.text        = element_text(color = "black", family = base_family),
      panel.background = element_rect(fill = "white", colour = NA),
      plot.background  = element_rect(fill = "white", colour = NA),
      panel.border     = element_blank(),
      axis.line        = element_line(color = "black")
    )
}
theme_set(theme_apa())

# 3. Import Data & Cleaning
# Importing data...
M <- convert2df(FILE_DATA, dbsource = SUMBER_DB, format = "csv")
M <- as.data.frame(M)
n_awal <- nrow(M)

# Membersihkan Duplikat (Berdasarkan DOI dan Judul)
if ("DI" %in% names(M)) {
  M$DI_clean <- tolower(trimws(M$DI))
  M <- M[!(duplicated(M$DI_clean) & !is.na(M$DI_clean) & M$DI_clean != ""), ]
  M$DI_clean <- NULL
}
if ("TI" %in% names(M)) {
  M$TI_clean <- tolower(trimws(M$TI))
  M <- M[!duplicated(M$TI_clean), ]
  M$TI_clean <- NULL
}

# Penanganan Missing Values
if ("AU" %in% names(M)) M$AU[is.na(M$AU) | trimws(M$AU) == ""] <- "UNKNOWN"
if ("PY" %in% names(M)) M$PY[is.na(M$PY)] <- as.integer(format(Sys.Date(), "%Y"))
if ("TC" %in% names(M)) M$TC[is.na(M$TC)] <- 0

class(M) <- c("bibliometrixDB", "data.frame")
# Cleaning complete

# 4. Analisis Deskriptif Utama
results <- biblioAnalysis(M, sep = ";")
summary_results <- summary(object = results, k = 10, pause = FALSE)

list_tabel <- list()

# Menyusun Tabel
main_info <- as.data.frame(summary_results$MainInformationDF, stringsAsFactors = FALSE)
names(main_info) <- c("Indicator", "Value")
list_tabel[["Main Information"]] <- main_info

annual_prod <- as.data.frame(summary_results$AnnualProduction, stringsAsFactors = FALSE)
names(annual_prod) <- c("Year", "Articles")
annual_prod$Articles <- as.numeric(as.character(annual_prod$Articles))
list_tabel[["Annual Production"]] <- annual_prod

top_authors <- as.data.frame(summary_results$MostProdAuthors, stringsAsFactors = FALSE)
names(top_authors) <- c("Author", "Articles", "Fractional_Articles")
list_tabel[["Most Productive Authors"]] <- top_authors

if (!is.null(summary_results$MostRelSources)) {
  top_sources <- as.data.frame(summary_results$MostRelSources, stringsAsFactors = FALSE)
  names(top_sources) <- c("Journal", "Articles")
  list_tabel[["Most Relevant Sources"]] <- top_sources
}

if (!is.null(summary_results$MostCitedPapers)) {
  top_cited <- as.data.frame(summary_results$MostCitedPapers, stringsAsFactors = FALSE)
  list_tabel[["Most Cited Articles"]] <- top_cited
}

# 5. Visualisasi Hasil
# A. Tren Publikasi Tahunan
p_annual <- ggplot(annual_prod, aes(x = as.numeric(as.character(Year)), y = Articles)) +
  geom_line(color = "#007398", linewidth = 1.2) +
  geom_point(color = "#e9711c", size = 3) +
  geom_area(fill = "#007398", alpha = 0.1) +
  labs(x = "Year", y = "Number of Articles")
ggsave(file.path(DIR_OUTPUT, paste0("01_Annual_Production.png")), plot = p_annual, width = 8, height = 4.5, dpi = 300)

# B. Peta Tematik (Thematic Map)
if ("DE" %in% names(M) && !all(is.na(M$DE))) {
  TM <- thematicMap(M, field = "DE", n = 150, minfreq = 3, size = 0.5, repel = TRUE)
  p_thematic <- TM$map
  p_thematic$labels$title <- NULL
  ggsave(file.path(DIR_OUTPUT, paste0("02_Thematic_Map.png")), plot = p_thematic, width = 8, height = 4.5, dpi = 300)
}

# C. Jaringan Co-occurrence Keyword
if ("DE" %in% names(M) && !all(is.na(M$DE))) {
  NetKW <- biblioNetwork(M, analysis = "co-occurrences", network = "author_keywords", sep = ";")
  png(file.path(DIR_OUTPUT, paste0("03_Keyword_Network.png")), width = 8, height = 4.5, units = "in", res = 300, family = "Helvetica")
  par(family = "Helvetica")
  invisible(networkPlot(NetKW, n = 40, type = "fruchterman", size = TRUE, edgesize = 3, labelsize = 0.7, remove.isolates = TRUE, Title = ""))
  invisible(dev.off())
}

# 6. Ekspor Data ke Excel
file_excel <- file.path(DIR_OUTPUT, paste0("All_Data_Analysis.xlsx"))
write_xlsx(list_tabel, path = file_excel)

# 🎉 ANALYSIS COMPLETE! All outputs saved to: DIR_OUTPUT

Penutup: Yang Membuat Bibliometrika Bernilai

Bibliometrika bukan sekadar menghasilkan grafik yang indah. Nilainya terletak pada kemampuan menceritakan kisah di balik data literatur — tentang bagaimana pengetahuan berkembang, siapa yang memimpinnya, dan kemana arah riset berikutnya.

Keunggulan lulusan yang menguasai bibliometrika:

  • Mampu memilih topik penelitian yang berdasarkan evidence
  • Menulis tinjauan pustaka yang lebih sistematis dan terpercaya
  • Mengidentifikasi peluang publikasi di jurnal yang tepat
  • Membangun argumen metodologis yang kuat