Template repo untuk menjalankan Systematic Literature Review (SLR) mengikuti PRISMA 2020, dari protokol sampai draft manuskrip siap submit. Diturunkan dari workflow SLR AVSEC yang sudah selesai dijalankan end-to-end.
Didesain untuk dipakai tanpa Claude Code / AI coding assistant apa pun — cukup Python biasa + LLM chat (ChatGPT, Claude.ai, Gemini, dll) untuk bagian yang butuh tulisan/analisis.
- Python 3.10 atau lebih baru direkomendasikan. Script sudah dibuat kompatibel ke Python 3.7+ lewat
from __future__ import annotations, tapi 3.10+ lebih aman kalau ragu. - pandoc — dipakai di fase 8 untuk convert markdown → DOCX/HTML.
- Clone/download repo ini.
pip install -r requirements.txt(hanyamatplotlib+python-docx, wajib). Ada 2 dependency opsional (networkx,cairosvg) yang dikomentari direquirements.txt— baca catatan di file itu sebelum coba install, salah satunya (cairosvg) bisa gagal di Windows tanpa library sistem tambahan, dan itu tidak masalah, semua fase tetap jalan tanpanya.- Install pandoc.
- Kerjakan fase secara berurutan — tiap folder punya
README.md(cara pakai + script) danprompt.md(kalau fase itu butuh LLM).
- Buka
protocol/prompt.md, isi topik SLR-mu, tempel ke ChatGPT/Claude.ai → dapat draft RQ + kriteria inklusi/eksklusi + search string. Simpan hasilnya diprotocol/. - Jalankan search string manual di database, simpan CSV hasilnya di
phase_1_identification/raw_results/<nama_database>/. Kalau ada paper dari hand-search/grey literature (bukan export database), PDF aslinya taruh diraw/(gitignored) dan katalognya diphase_1_identification/raw_results/manual_collection/ataugrey_literature/— lihat README di masing-masing folder itu. cd phase_2_deduplication && python3 scripts/dedup.py ../phase_1_identification/raw_results/→ dapatrecords_after_dedup.csv, tanpa LLM.- Lanjut ke
phase_3_screening/prompt.mduntuk screening, dst. mengikuti tabel di bawah.
Setelah beberapa studi ter-extract di fase 4 dan ternilai kualitasnya di fase 5, kamu sudah bisa coba chart pertama tanpa LLM: phase_7_visuals/scripts/fig_year_distribution.py.
| Folder | Fase | Butuh LLM? |
|---|---|---|
protocol/ |
Rumuskan RQ, kriteria inklusi/eksklusi, search string | Ya |
phase_1_identification/ |
Jalankan search string, kumpulkan hasil mentah | Ya (untuk NOTES) |
phase_2_deduplication/ |
Hapus duplikat lintas database | Tidak — script generic |
phase_3_screening/ |
Screening title/abstract & full-text, hitung κ | Ya (checklist) + script (κ) |
phase_4_extraction/ |
Ekstraksi data terstruktur per RQ | Ya |
phase_5_quality/ |
Quality appraisal (JBI/CASP/dll) | Ya (form) + script (summary) |
phase_6_synthesis/ |
Narrative synthesis per RQ | Ya |
phase_7_visuals/ |
PRISMA flow + figure pendukung | Sebagian — lihat README fase ini |
phase_8_manuscript/ |
Draft manuskrip lengkap + convert DOCX/HTML | Ya (tulisan) + script (convert) |
phase_9_paper/ |
Sesuaikan ke template jurnal tujuan | Ya |
Tiga jenis isi di tiap folder, jangan disamakan perlakuannya:
- Script generic (
scripts/*.pytanpa akhiran_EXAMPLE) — jalan langsung di data kamu, sudah diuji, tidak butuh diubah. Contoh:dedup.py,kappa.py,prisma_flow.py. - Prompt (
prompt.md) — untuk bagian yang butuh tulisan/analisis manusia dibantu LLM. Isi placeholder[SEPERTI_INI], tempel ke LLM chat apa pun. - Contoh referensi (
scripts/reference_examples/*_EXAMPLE.py) — pola kode yang isinya sengaja spesifik topik (taxonomy tema, definisi RQ). Ini BUKAN bug atau kemalasan — taxonomy/RQ adalah hasil analisis SLR itu sendiri, tidak bisa di-generic-kan. Salin polanya, isi ulang dengan hasil analisis topikmu sendiri (pakai prompt terkait untuk minta LLM membuatkannya).
Setiap folder fase mengikuti pola yang sama: README.md (cara pakai + script) + prompt.md (kalau butuh LLM) + scripts/ (kalau ada yang bisa dijalankan langsung). Contoh salah satu fase:
phase_2_deduplication/
├── README.md
└── scripts/
└── dedup.py
Struktur penuh:
slr-template/
├── README.md
├── requirements.txt
├── .gitignore (raw/ tidak di-commit — lihat di bawah)
├── raw/ (dump PDF/DOCX asli hasil manual search & grey lit — GITIGNORED)
├── protocol/ (README.md, prompt.md)
├── phase_1_identification/ (README.md, prompt.md)
│ └── raw_results/
│ ├── grey_literature/ (README.md + grey_raw_template.csv)
│ └── manual_collection/ (README.md + manual_raw_template.csv)
├── phase_2_deduplication/scripts/ (README.md + dedup.py)
├── phase_3_screening/scripts/ (README.md, prompt.md + kappa.py)
├── phase_4_extraction/ (README.md, prompt.md)
├── phase_5_quality/scripts/ (README.md, prompt.md + quality_summary.py + 2 varian)
├── phase_6_synthesis/ (README.md, prompt.md)
├── phase_7_visuals/scripts/reference_examples/ (README.md, prompt.md + 5 script + 3 contoh referensi)
├── phase_8_manuscript/scripts/ (README.md, prompt.md + build_docx.py, build_html.py)
├── phase_9_paper/ (README.md, prompt.md)
└── _dev_notes/ (catatan proses pembuatan template ini — tidak perlu dibaca untuk memakai template)
(belum diputuskan — MIT disarankan untuk kode, CC-BY untuk dokumentasi/prompt)