Komputasi Matematis dan Eksperimen yang Dapat Direproduksi

B80 - Bahasa Indonesia

Penulis

Floris

Diterbitkan

22 Agustus 2026

Doi

0.1 Cara menggunakan buku ini

Buku ini mempelajari komputasi sebagai bagian dari kegiatan matematika: merumuskan pertanyaan, merepresentasikan objek, menjalankan eksperimen, memeriksa program, menyimpan bukti kerja, dan menjelaskan apa yang benar-benar ditunjukkan oleh hasilnya.

Prasyarat formalnya hanya kompetensi A30: aljabar, fungsi, dan trigonometri pada tingkat prakalulus. Dua primer wajib memperkenalkan Python dari awal sebelum kedua belas unit utama. Topik kalkulus, aljabar linear, peluang, dan persamaan diferensial akan dipakai setelah pembaca mencapai mata kuliah terkait; topik itu tidak diselundupkan sebagai prasyarat Unit 1.

Setiap eksperimen dalam buku ini harus dapat dijalankan secara lokal dengan perangkat lunak terbuka. Sebuah hasil komputasi belum menjadi bukti hanya karena keluar dari komputer. Sebaliknya, komputasi dapat menemukan contoh penyangkal, menguji implementasi, menuntun dugaan, dan menghasilkan bukti kerja yang dapat diperiksa orang lain.

Edisi ini adalah versi 2026.08.22.1, dengan DOI https://doi.org/10.5281/zenodo.22053905. Rilis 12-unit 2026.08.22 tetap tersedia sebagai versi historis dan tidak ditimpa oleh perluasan ini.

0.2 Penyiapan lokal

Jalankan perintah dari akar paket sumber. Untuk profil Python standar pada Windows PowerShell, buat lingkungan terpisah, aktifkan, pasang seluruh versi yang dibekukan, lalu perlihatkan kernelspec milik proyek kepada Jupyter:

py -3.13 -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r environment/python-lock.txt
$env:JUPYTER_PATH = (Resolve-Path build-support/jupyter).Path
python -m jupyter kernelspec list

Pada Linux atau macOS, padanannya ialah:

python3.13 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements-build.txt
export JUPYTER_PATH="$(pwd)/build-support/jupyter${JUPYTER_PATH:+:$JUPYTER_PATH}"
python -m jupyter kernelspec list

Daftar harus memuat o002-frozen. Berkas requirements-build.txt mendaftar akar dependensi lintas platform; environment/python-lock.txt memuat penutupan 95 paket Windows yang dipakai untuk rilis. Profil POSIX yang dihasilkan dari akar dependensi harus dicatat sebagai profil kompatibel, bukan byte-identik dengan lock Windows. Pada profil Windows, periksa kecocokan runtime dengan:

python scripts/python_environment.py verify --lock environment/python-lock.txt --receipt environment/PYTHON_ENVIRONMENT_RECEIPT.json

Quarto diperlukan untuk membangun pembaca, dan distribusi TeX diperlukan untuk PDF. Periksa keduanya dengan quarto --version dan lualatex --version. Eksperimen Python biasa tidak memerlukan TeX.

Lab SageMath memakai profil terpisah agar paket Sage tidak bercampur dengan lingkungan Python standar. Pada Windows, siapkan WSL Ubuntu 22.04 dan paket SageMath 9.5 dari repositori Ubuntu tersebut:

wsl.exe --install -d Ubuntu-22.04
wsl.exe -d Ubuntu-22.04 -- bash -lc "sudo apt-get update && sudo apt-get install -y sagemath=9.5-4 python3-sage=9.5-4"
wsl.exe -d Ubuntu-22.04 -- /usr/bin/sage --version
python scripts/sage_environment.py verify --lock environment/sage-ubuntu22.04-dpkg-lock.txt --receipt environment/SAGE_ENVIRONMENT_RECEIPT.json

Jika verifikasi lock menolak profil lokal, profil itu boleh dipakai untuk belajar tetapi tidak boleh disebut byte-identik dengan lingkungan rilis. Receipt mencatat Ubuntu 22.04, SageMath 9.5, dan inventaris 1.064 paket yang benar-benar diuji. Tidak ada layanan berbayar atau runtime jarak jauh yang diperlukan.

0.3 Kontrak setiap unit

Setiap unit memuat:

  1. tujuan belajar dan prasyarat lokal;
  2. teks pembaca dengan identitas stabil;
  3. kode yang dapat dijalankan tanpa layanan berbayar;
  4. pengujian otomatis untuk klaim tentang program;
  5. latihan, petunjuk, jawaban, dan solusi, dengan pemeriksaan yang dapat dijalankan pada lima belas latihan penguasaan baru;
  6. catatan tentang batas antara eksperimen, bukti, dan kesimpulan; serta
  7. rekaman versi, lingkungan, dan hash artefak pada batas produksi.

Lingkungan standar direkam dalam lock Python lengkap dan receipt verifikasinya. Praktikum SageMath memakai profil lokal terpisah yang direkam dalam lock Sage dan receipt Sage. Nama paket dan versi di sana merupakan bagian dari eksperimen, bukan sekadar saran pemasangan.

0.4 Lisensi, atribusi, dan batas sumber

Keempat belas unit dalam edisi ini ditulis secara mandiri. Patrick Walls, Mathematical Python; Irving dan rekan-rekan, Research Software Engineering with Python; Scientific Python Lectures; Hans Fangohr, Introduction to Python for Computational Science and Engineering; serta Official Sage Tutorial 10.9 dipakai untuk membandingkan cakupan dan praktik produksi, bukan sebagai sumber prosa, latihan, gambar, data, atau kode yang disalin maupun diadaptasi ke edisi ini. Penyebutan mereka tidak menyiratkan dukungan atau pengesahan.

Teks asli edisi ini berlisensi CC BY-SA 4.0; kode asli berlisensi MIT. Pemakaian ulang harus mempertahankan atribusi, pemberitahuan lisensi, dan catatan perubahan yang diwajibkan.

Berkas lengkap tersedia sebagai lisensi teks, lisensi kode, batas materi pihak ketiga, dan lisensi runtime web.

Materi donor yang mungkin dipakai pada revisi mendatang tetap mengikuti lisensi komponennya sendiri dan tidak otomatis tercakup oleh lisensi edisi ini.