Lecturer: Dr. Hakim L. Malasan


๐ŸŒŒ Filosofi Dasar: Modelling & Computation

Inti dari pemodelan dan komputasi adalah bagaimana menyelesaikan masalah-masalah sains yang sesungguhnya dengan menggunakan originalitas kita untuk membangun metode terbaik.

Apa itu Computer Experiment?

Computer experiment atau numerical experiment adalah pendekatan di mana kita menggunakan model matematis untuk mensimulasikan perilaku sistem fisis yang kompleks melalui komputasi.


๐Ÿค” Mengapa Kita Butuh Computer Experiment?

Ada tiga alasan utama mengapa eksperimen numerik sangat penting dalam astrofisika:

1. Desain Sistem Kompleks

Membantu mendesain perangkat atau sistem yang kompleks sebelum menggunakan teknologi mahal untuk membuatnya. Ini menghemat biaya dan waktu dalam tahap pengembangan.

2. Sistem yang Tidak Bisa Dieksperimen Langsung

Mendapatkan informasi tentang sistem fisis yang tidak memungkinkan untuk melakukan eksperimen di laboratoriumโ€”seperti galaksi, black hole, atau evolusi bintang yang memakan waktu jutaan tahun.

3. Memahami Sistem Kompleks

Membantu kita memahami sistem yang sangat kompleks dengan banyak variabel yang saling berinteraksi, seperti dinamika cluster bintang atau interaksi antar galaksi.


๐ŸŒ  Sistem Dinamis dalam Astrofisika

Sistem dinamis adalah sistem yang berevolusi seiring waktu. Contoh klasik adalah galaksi yang memiliki:

  • 3 koordinat posisi (x, y, z) - objek 3D dalam ruang
  • 3 koordinat kecepatan (vx, vy, vz) - karena bisa bergerak ke segala arah

Tantangan Observasi

Ketika kita mengamati objek-objek langit dari Bumi, medan pandang kita terbatas pada sistem 2D karena kita hanya bisa melihat proyeksi objek yang sejajar dengan garis pandang kita.

Inilah mengapa komputer sangat penting: untuk melakukan simulasi dan menghitung struktur 3D yang mendasari alam semesta, yang tidak bisa kita amati langsung.


โš™๏ธ Setting Up a Numerical Experiment

Berikut langkah-langkah umum dalam menyiapkan eksperimen numerik:

1. Fenomena Fisis ๐ŸŒŒ

Memilih sistem fisis yang ingin diobservasi dan dipelajari.

2. Model Matematis ๐Ÿ“

Sistem fisis didekati dengan model matematis. Umumnya menggunakan beberapa asumsi sederhana untuk menggambarkan kerja dari sistem fisis tersebut.

3. Diskritisasi Model ๐Ÿ”ข

Di alam, model matematis bekerja pada sistem kontinu (continuous), sedangkan komputer bekerja pada sistem diskrit (discrete).

Diperlukan konversi model matematis dalam bentuk kontinu (persamaan diferensial) ke bentuk diskrit dengan pendekatan aljabar yang bisa ditangani oleh komputer.

โš ๏ธ Perhatian: Tahap ini harus dilakukan dengan hati-hati untuk meminimalkan kesalahan. Diskritisasi waktu dan ruang dapat menghasilkan error numerik yang besar.

4. Numerical Algorithm ๐Ÿงฎ

Memilih algoritma numerik yang sesuai untuk menyelesaikan masalah yang dibutuhkan.

5. Computer Program ๐Ÿ’ป

Menulis code yang dibutuhkan dengan: - Optimalisasi resources - Mudah digunakan - Mudah dimodifikasi

6. Computer Experiment ๐Ÿš€

Running program dan menganalisis hasil. Penting untuk mengetahui: - Apa yang di-test - Apa yang ingin ditemukan - Bagaimana menganalisis data dari hasil eksperimen


๐Ÿ”ฌ Dynamic Simulation dalam Astronomi

Terdapat banyak sistem astronomi yang dapat dimodelkan menggunakan code komputer. Kita akan fokus pada simulasi dinamis, yaitu mempelajari sistem yang berevolusi dari waktu ke waktu.

Pada banyak sistem astrofisika, properti yang paling fundamental adalah gaya gravitasi.

Contoh Aplikasi:

๐Ÿช Sistem Tata Surya

  • Dinamika dan stabilitas sistem tata surya
  • Pergerakan dan interaksi asteroid pada sabuk asteroid
  • Pemodelan cincin planet
  • Perhitungan orbit planet

โญ Sistem Bintang

  • Formasi bintang melalui keruntuhan awan molekuler raksasa
  • Dinamika sistem binary dan cluster kecil bintang
  • Formasi dan evolusi cluster globular

๐ŸŒŒ Sistem Galaksi

  • Dinamika galaksi spiral
  • Interaksi antar galaksi dan penggabungan (galaxy merger)
  • Evolusi galaksi

๐ŸŒ Studi Kosmologis

  • Formasi struktur di alam semesta
  • Masalah materi gelap (dark matter)
  • Evolusi alam semesta

๐Ÿ“Š Model Matematis: Dua Komponen Utama

Code simulasi astrofisika terdiri dari dua bagian utama:

  1. Kalkulasi Gaya - Menghitung gaya yang bekerja pada setiap objek
  2. Evolusi Waktu - Menghitung bagaimana sistem berubah seiring waktu

Kedua komponen ini dapat dideskripsikan oleh model matematis berupa sekumpulan persamaan matematika untuk memprediksi keadaan masa depan dari sistem ketika diberikan kondisi awal tertentu.


๐ŸŽฏ Gaya Gravitasi: Fondasi Simulasi

Hukum Gravitasi Newton untuk Dua Benda

Hukum universal gravitasi Newton menyatakan bahwa gaya gravitasi antara dua benda adalah:

\[F = G \frac{m_1 m_2}{r^2}\]

Di mana: - \(F\) = gaya gravitasi (Newton) - \(G\) = konstanta gravitasi universal (\(6.674 \times 10^{-11}\) mยณ/kgยทsยฒ) - \(m_1\) = massa benda pertama (kg) - \(m_2\) = massa benda kedua (kg) - \(r\) = jarak antara kedua benda (m)

Sifat Gaya Gravitasi

Dalam bentuk vektor, gaya gravitasi antara dua benda dapat ditulis:

\[\vec{F}_{12} = -\vec{F}_{21}\]

Ini menunjukkan bahwa gaya gravitasi adalah aksi-reaksi dengan besar yang sama tetapi arah berlawanan.

Gaya gravitasi antara dua benda dengan hukum aksi-reaksi Newton
Two-body gravitational interaction

Ilustrasi gaya gravitasi antara dua benda


๐Ÿ”ข N-Body Problem: Sistem dengan Banyak Massa

Bagaimana jika kita memiliki lebih dari dua massa? Misalnya 5 massa yang saling berinteraksi?

dengan 5 massaN-body gravitational forces visualization
Ilustrasi gaya gravitasi dalam sistem N-body dengan 5 massa

Ilustrasi gaya gravitasi dalam sistem N-body dengan 5 massa

Gaya Total pada Satu Benda

Gaya total yang bekerja pada benda ke-1 adalah jumlah vektor dari semua gaya yang diterima dari benda lainnya:

\[\vec{F}_1 = \vec{F}_{12} + \vec{F}_{13} + \vec{F}_{14} + \vec{F}_{15}\]

Formula Umum untuk N Benda

Secara umum, gaya gravitasi total pada benda ke-\(i\) dalam sistem N-body adalah:

\[\vec{F}_i = \sum_{j=1, j \neq i}^{N} G \frac{m_i m_j}{r_{ij}^2} \hat{r}_{ij}\]

Di mana: - \(\vec{F}_i\) = gaya total pada benda ke-\(i\) - \(N\) = jumlah total benda dalam sistem - \(r_{ij}\) = jarak antara benda \(i\) dan \(j\) - \(\hat{r}_{ij}\) = vektor satuan dari benda \(i\) ke benda \(j\)

โš ๏ธ Perhatian: Singularitas Numerik

Masalah: Jika dua benda sangat dekat (\(r \to 0\)), gaya gravitasi akan mendekati tak hingga, dan komputer akan mengalami error (division by zero).

Solusi: Gunakan softening parameter \(\epsilon\):

\[\vec{F}_i = \sum_{j=1, j \neq i}^{N} G \frac{m_i m_j}{(r_{ij}^2 + \epsilon^2)^{3/2}} \vec{r}_{ij}\]

Di mana \(\epsilon\) mewakili nilai yang sangat kecil mendekati nol untuk mencegah singularitas.


๐Ÿƒ Persamaan Gerak: Evolusi Sistem

Evolusi dari sistem digambarkan oleh persamaan gerak yang menjelaskan bagaimana sistem berevolusi seiring waktu.

Definisi Kinematika

Percepatan didefinisikan sebagai laju perubahan kecepatan:

\[\vec{a} = \frac{d\vec{v}}{dt}\]

Kecepatan adalah laju perubahan posisi:

\[\vec{v} = \frac{d\vec{r}}{dt}\]

Diskritisasi untuk Komputer

Untuk implementasi di komputer, persamaan kontinu di atas didiskritisasi menjadi:

\[\vec{a} = \frac{\Delta \vec{v}}{\Delta t}\]
\[\vec{v} = \frac{\Delta \vec{r}}{\Delta t}\]

Di mana \(\Delta\) menggambarkan perubahan kecil namun finite (bukan infinitesimal).

Hukum Kedua Newton

Hukum kedua Newton menghubungkan gaya dengan gerak:

\[\vec{F} = m\vec{a}\]

Kita dapat menggabungkan hukum gravitasi Newton dengan hukum kedua Newton:

\[\vec{a}_i = \frac{\vec{F}_i}{m_i} = \sum_{j=1, j \neq i}^{N} G \frac{m_j}{(r_{ij}^2 + \epsilon^2)^{3/2}} \vec{r}_{ij}\]

Update Posisi dan Kecepatan

Dari percepatan, kita dapat menghitung posisi dan kecepatan baru:

\[\vec{v}_{new} = \vec{v}_{old} + \vec{a} \cdot \Delta t\]
\[\vec{r}_{new} = \vec{r}_{old} + \vec{v} \cdot \Delta t\]

โš–๏ธ Akurasi dan Stabilitas Simulasi

Ada dua hal yang perlu dipilih dengan hati-hati:

1. Timestep (\(\Delta t\)) โฑ๏ธ

Untuk menjaga stabilitas simulasi. Timestep yang terlalu besar dapat menyebabkan simulasi menjadi tidak stabil dan hasil yang tidak akurat.

2. Jumlah Partikel (N) ๐Ÿ”ข

Untuk resolusi simulasi. Semakin banyak partikel, semakin detail simulasi, tetapi semakin berat komputasinya.

Trade-off: Akurasi vs Computational Cost


๐Ÿ”„ The N-Body Algorithm

Berikut adalah algoritma dasar untuk simulasi N-body:

1. SET Kondisi Awal
   - N (jumlah benda)
   - ฮ”t (timestep)
   - m (massa setiap benda)
   - r (posisi awal)
   - v (kecepatan awal)
   - F (gaya awal)

2. LOOP (untuk setiap timestep):
   a. Hitung gaya gravitasi pada setiap benda
      F_i = ฮฃ G * m_i * m_j / r_ijยฒ

   b. Selesaikan persamaan gerak
      a = ฮ”v / ฮ”t
      v = ฮ”r / ฮ”t

   c. Update posisi dan kecepatan
      v_new = v_old + a * ฮ”t
      r_new = r_old + v * ฮ”t

   d. Update time counter
      t_new = t_old + ฮ”t

   e. Output data
      Simpan: r_new, v_new, F_new, t_new

3. REPEAT sampai waktu simulasi selesai

๐Ÿ’ก Improving Algorithm

Your code, your modification = your novelty!

Penelitian komputasi astrofisika bukan hanya tentang menjalankan code yang sudah ada, tetapi meningkatkan dan memodifikasi algoritma untuk masalah spesifik yang Anda hadapi.


๐ŸŒŸ Kapan Komputasi Dibutuhkan dalam Astrofisika?

๐Ÿช Dinamika Tata Surya

Menghitung orbit planet untuk jutaan tahun ke depan membutuhkan metode N-body yang sangat akurat.

โญ Struktur dan Evolusi Bintang

Membutuhkan penyelesaian: - ODE (Ordinary Differential Equations) - Persamaan diferensial parsial - Aljabar linear - Hidrodinamika

๐ŸŒŒ Formasi Bintang dan Planet

Memerlukan kombinasi dari: - Hidrodinamika - MHD (Magnetohydrodynamics) - Metode N-body

โœจ Dinamika Cluster Bintang

Membutuhkan metode N-body yang sangat cepat karena melibatkan ribuan hingga jutaan bintang.

๐ŸŒ  Formasi Galaksi

Kombinasi dari: - Metode N-body yang sangat cepat - Hidrodinamika - Dark matter simulation

๐Ÿ“Š Data Analysis & Image Processing

Memerlukan: - Aljabar linear - Pattern recognition - Data mining - Machine learning


๐Ÿ”ฎ Masa Depan Computational Astrophysics

Yang Pasti Terjadi:

Peningkatan performa hardware akan membuat problem yang lebih besar bisa ditangani secara numerik.

Yang Dibutuhkan:

1. Algoritma yang Lebih Akurat ๐ŸŽฏ

Pengembangan metode numerik dengan error yang lebih kecil dan stabilitas yang lebih baik.

2. Community Code & Visualization ๐Ÿ› ๏ธ

Software open-source yang dapat digunakan dan dikembangkan oleh komunitas peneliti.

3. Fisika yang Lebih Realistis ๐ŸŒŒ

Memasukkan lebih banyak fenomena fisika ke dalam simulasi: - Radiasi - Magnetic fields - Feedback processes - Dark matter dan dark energy

4. Generasi Baru Computational Astrophysicists ๐Ÿ‘จโ€๐Ÿ”ฌ๐Ÿ‘ฉโ€๐Ÿ”ฌ

Ini adalah masa depan yang sesungguhnya!

Mereka yang belajar komputasi sekarang akan menjadi peneliti yang memimpin revolusi dalam pemahaman kita tentang alam semesta.


๐Ÿง  Computational Thinking

Programming Bukan Hal yang Sulit

Programming bukan sesuatu yang susah untuk dipelajari dalam bentuk yang terstruktur, tetapi: - Akan susah jika terlalu bebas bentuknya (unstructured) - Lakukan lebih banyak daripada hanya mempelajari - practice makes perfect!

Belajar Algoritma

Banyak metode numerik relatif straightforward untuk dipelajari. Tentu saja ada pengecualian untuk algoritma yang kompleks, tetapi seringkali kita tidak membutuhkannya untuk penelitian dasar.

Filosofi Penelitian

"Algoritma adalah metode untuk mengerti yang mendasari masalah fisis. Jangan lupakan fakta kita sedang melakukan fisika, bukan hanya coding."

Menjadi peneliti yang baik dan efektif berarti mengetahui apa yang terjadi di belakang algoritma tersebut, bukan hanya menggunakannya sebagai black box.

Cara Terbaik Belajar Programming

Latihan lebih banyak daripada melihat/membaca!

"The best way to learn programming is by doing, not by watching."


๐Ÿ“ก Big Data in Astronomy

Optical Astronomy: LSST

Large Synoptic Survey Telescope

  • Kamera 32 gigapixels (setara 1500 layar HDTV!)
  • Survey seluruh langit setiap tiga hari
  • Data per hari = 3ร— Sloan Digital Sky Survey
  • Total data katalog: 0.4 exabytes

Radio Astronomy: SKA

Square Kilometer Array

Menyimpan semua spectra line cubes membutuhkan 27 exabytes per tahun.

Tantangan: Technology dan cost problem yang sangat besar.

Masalah Analisis Data

Tidak hanya data besar yang bermasalah. Bahkan pada data kecil: - Klaim deteksi exoplanet yang tidak akurat - Perlu pendekatan statistik yang lebih sophisticated (Bayesian vs Frequentist) - Recognition yang melampaui pendekatan statistik sederhana

Tantangan Paradigma Baru: - Tekanan untuk publish membuat peneliti senior tidak punya banyak waktu untuk belajar tool baru - Secara alami, manusia ingin melanjutkan cara yang sudah mereka tahu - Ini adalah issue utama di berbagai field, tidak hanya astronomi


๐ŸŽ“ Kesimpulan

Computational astrophysics adalah bidang yang:

โœ… Menggabungkan fisika, matematika, dan computer science
โœ… Memungkinkan kita mempelajari fenomena yang tidak bisa diobservasi langsung
โœ… Terus berkembang dengan teknologi baru
โœ… Membuka peluang penelitian yang luar biasa

Kunci sukses: 1. Memahami fisika yang mendasari 2. Menguasai metode numerik 3. Kemampuan programming yang baik 4. Kreativitas dalam mengembangkan algoritma baru


๐Ÿ“š Referensi & Further Reading

  • Binney, J., & Tremaine, S. - Galactic Dynamics
  • Press, W. H., et al. - Numerical Recipes
  • Hockney, R. W., & Eastwood, J. W. - Computer Simulation Using Particles
  • Dehnen, W., & Read, J. I. - N-body simulations of gravitational dynamics

Course Notes - Dr. Hakim L. Malasan
IDEASOPHIA Astronomy Series

#Astrophysics #ComputationalAstronomy #NBodySimulation #Gravitation #NumericalMethods