• Tidak ada hasil yang ditemukan

Nama. Fakultas Jurusan Pembimbing. Strata Satu

N/A
N/A
Protected

Academic year: 2021

Membagikan "Nama. Fakultas Jurusan Pembimbing. Strata Satu"

Copied!
111
0
0

Teks penuh

(1)

U

MO Diajuka Nama NPM / N Fakultas Jurusan Pembimb

N I V E

FAKU

OLECULA an Guna M NIRM bing

E R S I T

ULTAS T

AR DYNAM MONOA elengkapi S

J A

: Nurrik : 504974 : Teknolo : Teknik : Dr. rer.

T A S

TEKNO

MICS SIMU ATOMIK A Sebagian Sy Strata Satu

A K A

2 0 0

Disusun o ka Anggrain 450/ 973137 ogi Industri Informatika nat. Dipl. P

G U N

LOGI IN

ULATION ATOM ARG yarat Dalam u (S1)

R T A

2

oleh : ni 7716750331 i a Phys. A. Be

A D A R

NDUSTR

DENGAN GON m Mencapai

A

nny Mutiar

R M A

RI

MODEL Gelar Sarja ra, Ssi., Sko

ana m

(2)

Lembar Pengesahan

Komisi Pembimbing

No. Nama Jabatan

1. Dr. rer.nat. Dipl. Phys. A. Benny Mutiara, Ssi., Skom. Ketua

2. Ernastuti, Ssi., MIKom. Anggota

3. Tubagus Maulana, Skom., Meng.Sc. Anggota

Tanggal Sidang : 23 Januari 2002

Panitia Ujian

No. Nama Jabatan

1. Dr. Ravi Ahmad Salim Ketua

2. Drs. Edi Sukirman, MM. Sekretaris

3. Dr. rer.nat. Dipl. Phys. A. Benny Mutiara, Ssi., Skom. Anggota

4. Ernastuti, Ssi., MIKom. Anggota

5. Tubagus Maulana, Skom., Meng.Sc. Anggota

Tanggal Lulus : 23 Januari 2002

Mengetahui

,

Depok, Januari 2002

Pembimbing, Bagian Sidang Ujian,

(3)

iii

Abstraksi

50497450 . 973137716750331

Nurrika Anggraini

Molecular Dynamics Simulation dengan Model Monoatomik Atom Argon

Skripsi . Fakultas Teknologi Industri, 2001

Kata Kunci : Fisika, Molecular Dynamic, Maxwell-Boltzmann, Lennard-Jones, Energi Kinetik, Kecepatan, Delphi

(x + 51 + Lampiran)

Penulisan kali ini membahas tentang bagaimana memvisualisasikan simulasi Molecular Dynamics (MD) pada sistem 3 dimensi. Sebelum masuk ke proses simulasi Molecular Dynamics, terlebih dahulu diperlukan insialisasi awal, yaitu inisialisasi posisi awal dengan menggunakan Periodic Boundary Condition, dan inisialisasi kecepatan awal dengan distribusi normal Maxwell-Boltzmann. Kemudian dilanjutkan dengan proses simulasi MD untuk mendapatkan besaran-besaran selama waktu iterasi tertentu. Dan menormalisasi gaya tarik partikle dengan metode Lennard-Jones. Penulis menyajikan aplikasi visulisasi ini dengan menggunakan bahasa pemrograman Delphi dengan terlebih dahulu menginisialisasi variable-variable yang dibutuhkan kemudian mengimplementasikan simulasi MD pada program.

Untuk memvisualisasikan nilai data-data numerik yang dihasilkan pada proses simulasi MD, penulis membuat visualisasi dalam 3 bentuk, yaitu visualisasi dalam bentuk chart, tabel, dan kotak pengamatan virtual. Pada kotak pengamatan virtual, dibutuhkan penskalaan yang tepat dan pemetaan dari kotak pengamatan virtual ke layar komputer. Dan untuk membuat aplikasi agar interaktif dibuat form-form. Penulis menggunakan atom Argon untuk menyajikannya pada simulasi MD dan pada aplikasi yang dibuat dengan hasil perubahan besaran sesuai dengan teori yang ada.

(4)

iv

KATA PENGANTAR

Alhamdulillahi Robbil Alamin, puji dan syukur penulis panjatkan kehadirat Allah SWT karena atas limpahan rahmat serta karunuia-Nya sehingga penulis dapat menyelesaikan penulisan ini.

Adapun tujuan dari pembuatan penulisan ini adalah untuk melengkapi sebagian syarat dalam mencapai gelar sarjana (S1) di Universitas Gunadarma

Dalam pembuatan penulisan tugas akhir ini penulis bermaksud untuk menyajikan aplikasi yang dibuat guna menggunakan Molecular Dynamics Simulation dengan Model Monoatomik Atom Argon

Selama pembuatan penulisan tugas akhir ini penulis mendapat dukungan dari beberapa pihak, untuk itu dengan segala kerendahan hati penulis mengucapkan terima kasih kepada :

1. Ibu Prof. E. S. Margianti, SE., MM., selaku Rektor Universitas Gunadarma; 2. Bapak Drs. Soebiyantoro, MMEng., selaku Dekan Fakultas Teknologi

Industri;

3. Bapak Dr. rer. nat. Dipl. Phys. A. Benny Mutiara, Ssi., Skom., selaku Ketua Jurusan Teknik Informatika dan sebagai Dosen pembimbing penulisan, atas segala bimbingan dan perhatiannya dan kesempatannya yang diberikan selama ini;

4. Keluarga, Bapak dan Ibu tercinta atas kesabarannyadan kegigihannya dalam memberikan dorongan moril, dan meteril.

5. Adik-adikku Nia, Yanna, Yanni atas .do’a, dukungan dan semangatnya. 6. AP Nugraha, buat semua dukungan, semangat dan bantuannya selama ini. 7. Sahabat-sahabatku tercinta Nida dan Ela atas persahabatan yang kalian

berikan, do’a, dukungannya kepada penulis.

8. Teman- teman seperjuanganku kak ati, erna, puput, yani dan mba ani, juga buat mba arti buat Ukhuwah Islamiyahnya.

9. Sahabat, teman, dan saudara penulis seluruh anggota IA0197, untuk Tari, Yan, Alinda, Oki, Didien, Ryan buat do’a dan dukungannya.

(5)

v

10. Ibu dewi, mba viva, kak gatot, kak nouviar, kak nanang, mba yuni, wayan, lukman dan rekan-rekan penulis di LAB Informatika, atas pengertiannya dan persahabatan yang kalian ciptakan di LAB ini.

11. Dan yang terakhir untuk semua pihak yang tak dapat penulis sebutkan namanya satu persatu.

Karena merekalah penulis dapat menyelesaikan penulisan tugas akhir ini. Tidak ada sesuatu hal pun yang pantas diberikan penulis atas semua yang telah mereka lakukan, selain “semoga Allah membalas semua kebaikan-kebaikan ini”.

Penulis menyadari bahwa hasil penulisan ini mungkin masih jauh dari kesempurnaan karena keterbatasan ilmu dan pengetahuan yang dimiliki oleh penulis, walaupun usaha untuk meminimalisasi kekurangan telah banyak dilakukan oleh penulis. Oleh sebab itu penulis mengharapkan kritik dan saran-saran yang positif demi ksempurnaannya penulisan ini.

Akhirnya penulis berharap semoga penulisan tugas akhir ini dapat bermanfaat bagi kita semua.

(6)

vi

Daftar Isi

Halaman Judul ... i Lembar Pengesahan ... ii Abstraksi ... iii Kata Pengantar ... iv Daftar Isi ... vi

Daftar Gambar ... viii

Daftar Tabel ... ix Daftar Lampiran ... x Bab I Pendahuluan ... 1 1.1. Latar Belakang ... 1 1.2. Rumusan Masalah ... 2 1.3. Batasan Masalah ... 2 1.4. Tujuan Penulisan ... 3 1.5. Metode Penelitian ... 3 1.6. Sistematika Penulisan ... 3

Bab II Landasan Teori ... 4

2.1. Molecular Dynamics ... 4

2.2. MD pada Sistem Fisik Microcospic ... 4

2.3. Simulasi MD pada Microcanonical Ensambel ... 6

2.3.1. Inisialisasi ... 6

2.3.1.1. Periodic Boundary Condition ... 6

2.3.1.2. Normalisasi Maxwell-Boltzmann ... 7

2.3.2. Kesetimbangan ... 8

2.3.3. Hasil Simulasi dan Properti Dinamik ... 8

2.3.3.1. Skema Integrasi ... 9

2.3.3.2. Algoritma Penjumlahan Verlet ... 10

2.4. Borland Delphi ... 11

2.4.1. IDE (Integrated Development Environment) ... 12

2.4.1.1. Main Window (Jendela Utama) ... 13

2.4.1.2. Form Designer ... 13

2.4.1.3. Object Inspector ... 13

2.4.1.4. Code Editor ... 14

2.4.1.5. Code Explorer ... 14

2.4.2. Visual Component Library ... 14

2.4.3. Pemrograman di Delphi ... 15

2.4.3.1. Konstanta dan Variable ... 15

2.4.3.2. Tipe Data ... 16

2.4.3.3. Pernyataan Kondisi ... 16

(7)

vii

Bab III Implementasi Simulasi MD ... 18

3.1. Transformasi Simulasi MD terhadap Algoritma Program ... 18

3.2. Proses Inisialisasi …... 19

3.2.1. Inisialisasi Parameter ... 19

3.2.2. Inisialisasi Posisi Partikel dengan menggunakan metode Lattice ... 20

3.2.3. Normalisasi Kecepatan Partikel dengan Maxwell-Boltzmann ... 22

3.3. Proses Simulasi MD …... 24

3.3.1. Penentuan nilai posisi pada langkah waktu dasar (H) ... 24

3.3.2. Pengaplikasian PBC terhadap nilai posisi ... 25

3.3.3. Perhitungan nilai kecepatan parsial ... 25

3.3.4. Perhitungan nilai gaya ... 25

3.3.5. Perhitungan nilai kecepatan ... 28

3.3.6. Perhitungan nilai energi kinetik ... 29

3.3.7. Perhitungan nilai kecepatan rata-rata ... 29

3.3.8. Perhitungan nilai kecepatan secara periodik ... 30

3.3.9. Perhitungan besaran-besaran lainnya ... 30

3.4. Visualisasi Simulasi MD pada Aplikasi ... 31

3.4.1. Visualisasi dalam bentuk Chart ... 31

3.4.2. Visualisasi dalam bentuk kotak pengamatan virtual ... 32

3.4.3. Visualisasi dalam bentuk tabel ... 34

3.5. Perancangan Input Output ... 36

3.5.1. Rancangan tampilan utama ... 36

3.5.2. Rancangan Chart ... 38

3.5.3. Rancangan kotak pengamatan virtual ... 39

3.5.4. Rancangan MDParameter ... 41

3.5.5. Rancangan MDBoundary ... 42

3.5.6. Rancangan MDTable ... 43

3.5.7. Rancangan MDColor ... 45

3.5.8. Rancangan untuk penyimpanan ... 45

3.6. Penggunaan Aplikasi MD Simulation untuk Atom Argon ... 45

3.6.1. Inisialisasi untuk atom Argon ... 45

3.6.2. Proses simulasi MD ... 46

3.6.3. Visualisasi atom Argon ... 46

3.6.4. Memulai Aplikasi ... 47

3.6.4.1. Tampilan Utama ... 47

3.6.4.2. Tampilan ketika Aplikasi dijalankan ... 48

3.6.4.3. Hasil MDS dalam bentuk Chart ……... 48

3.6.4.3. Hasil MDS dalam bentuk Tabet ….…... 52

3.6.4.3. Hasil MDS dalam bentuk Kotak Pengamatan Virtual ……... 53 Bab IV Penutup ... 55 4.1. Kesimpulan ... 55 4.2. Saran ... 56 Daftar Pustaka ... 57 Lampiran ... 58

(8)

viii

Daftar Gambar

Gambar 3.1. Kedudukan atom di dalam box ... 32

Gambar 3.2. Pengamatan box 2 dimensi ... 33

Gambar 3.3. a. Koordinat layar komputer; b. Koordinat kotak pengamatan ... 34

Gambar 3.4. Rancangan bagian utama program ... 38

Gambar 3.5. Rancangan MDChart ... 39

Gambar 3.6. Rancangan MDVisualization ... 40

Gambar 3.7. Rancangan MDParameter ... 41

Gambar 3.8. Rancangan MDBoundary ... 42

Gambar 3.9. Rancangan MDTable ... 44

Gambar 3.10. Rancangan MDPartColor ... 44

Gambar 3.11. Tampilan Utama Aplikasi MDS (a) …………... 47

Gambar 3.12. Tampilan Utama Aplikasi MDS (b) …………... 48

Gambar 3.13. Tampilan MDSParameter ... 49

Gambar 3.14. Tampilan MDS Visual Boundary ... 50

Gambar 3.15. Tampilan Aplikasi MDS dengan Page Control Chart ... 50

Gambar 3.16. Energi Kinetik yang dihasilkan ... 51

Gambar 3.17. Energi Potensial yang dihasilkan ... 51

Gambar 3.18. Total Energi yang dihasilkan ... 52

Gambar 3.19. Tampilan hasil simulasi MD dalam bentuk tabel ... 53

Gambar 3.20. Warna dari atom yang diamati ... 53

(9)

ix

Daftar Tabel

Tabel 3.1. Struktur Tabel Utama ... 35

(10)

1

BAB I

PENDAHULUAN

1.1. Latar Belakang

Molecular Dynamics (MD) adalah suatu metode simulasi pergerakan molekul yang berguna mendapatkan pengertian yang lebih dari reaksi kimia, aliran zat cair, fase transisi, dan fenomena fisika lainnya, fenomena tersebut diperoleh dari interaksi molekul. Tidak hanya pergerakan dari banyak molekul di dalam zat cair, tetapi juga pergerakan molekul di dalam satu molekul besar yang terdiri dari ratusan atau ribuan atom, seperti didalam protein. Pergerakan ini tidak bisa dimengerti, jika menggunakan kasat mata. Kebanyakan pergerakan ini menggunakan teknik simple classical newtonian dan menggunakan konsep metematika yang biasa digunakan.

Komputer merupakan alat yang sangat penting untuk metode Molecular Dynamics ini karena tidak ada cara yang lebih mudah untuk mentracing pergerakan dari sejumlah besar interaksi partikel-partikel.

Perhitungan Molecular Dynamics juga menekankan pada pergerakan yang terjadi di dalam molekul itu sendiri, juga di dalam protein dan cairan asam, merupakan bagian yang penting dari sistem biologi. Hasilnya digunakan untuk mendapatkan pengertian yang mendalam dari fungsi molekul ini dalam reaksi biochemical.

Perhitungan dipengaruhi oleh pergerakan dari sejumlah besar partikel yang saling berinteraksi, walaupun partikel adalah atom-atom didalam sebuah molekul atau di dalam zat cair atau zat padat atau keadaan yang lainnya. Semua keadaan tersebut mempengaruhi seri panjang setiap waktu langkah, digunakan hukum Newton’s untuk mendeterminasi posisi dan kecepatan baru dari posisi dan kecepatan lama dan gaya-gaya. Perhitungan cukup mudah tapi untuk mendapatkan kebenaran, waktu langkah harus kecil dan permintaan untuk mensimulasikan secara benar pada panjang interval waktu sesungguhnya.

(11)

2

Visualisasi yang teliti adalah penting untuk mengerti hasil dari Molecular Dynamics Simulation. Ribuan angka disajikan dari posisi dan kecepatan dari partikel-partikel yang tidak mudah menggambarkan pergerakannya. Bagaimana menemukan bentuk dari kumpulan data ini, atau pembelokan dan peregangan alami dari molekul besar. Gambar dan animasi cocok untuk menggambarkan formasi molekul ini, untuk menunjukkan pembelokan yang lebih detail dari fenomena ini. Untuk inilah penulis mencoba menvisualisasikan Molecular Dynamics Simulation, untuk mendapatkan hasil yang baik.

1.2. Rumusan Masalah

Yang menjadi masalah dalam penulisan tugas akhir ini adalah bagaimana menvisualisasikan Molecular Dynamics Simulation pada sistem 3 dimensi untuk atom argon dengan menggunakan bahasa pemrograman Delphi, sehingga mendapatkan hasil yang representatif dengan Molecular Dynamics Simulation sebenarnya.

1.3. Batasan Masalah

Dalam penulisan ini penulis akan dibatasi pada masalah bagaimana memvisualisasikan Molecular Dynamics Simulation pada sistem 3 dimensi untuk atom argon dengan variable–variable awalnya telah ditentukan sebelumnya.

Molecular Dynamics Simulation yang digunakan adalah untuk menghitung rangkaian microcannonical Molecular Dynamics. Untuk menghitung perubahan posisi dan kecepatan menggunakan bentuk penjumlahan kecepatan pada algoritma Verlet.

Untuk mengeliminasi energi potensial antar partikel-partikel menggunakan model Lennard Jones. Juga bagaimana menghitung perubahan energi pada selang waktu tertentu, tanpa dipengaruhi oleh energi di luar atom atau energi atom itu sendiri. Kondisi awal kumpulan atom-atom argon tersebut disajikan dalam box dengan menggunakan Face cubic center Lettice, dan pendistribuasian kecepatan menggunakan normalisasi Boltzman-Maxwell.

(12)

3

Dan bagaimana menvisualisasikan Molecular Dynamics Simulation ini dengan menggunakan kompilator Delphi.

1.4. Tujuan Penulisan

Berdasarkan latar belakang yang telah dipaparkan oleh penulis maka yang menjadi tujuan dari penulisan tugas akhir ini adalah memberikan atau menyajikan informasi yang baik dari simulasi Molecular Dynamics untuk atom argon pada selang waktu tertentu, dengan bantuan komputer.

1.5. Metode Penelitian

Pada penulisan tugas akhir ini, menggunakan metode studi pustaka dimana semua bahan diambil dari buku-buku dan literatur-literatur yang relevan dengan penulisan. Selain itu untuk menyelesaikan program ini penulis menggunakan kompilator Delphi.

1.6. Sistematika Penulisan

Bab I Pendahuluan, pada bab ini akan menjelaskan mengenai latar belakang masalah, batasan masalah, tujuan penulisan dan metode penulisan yang akan disajikan oleh penulis.

Bab II Landasan Teori, pada bab ini akan menguraikan teori Molecular Dynamics dan teori-teori lainnya yang dapat menunjang permasalahan yang akan dibahas oleh penulis.

Bab III Implementasi Simulasi MD, pada bab ini akan menyajikan bagaimana cara mengimplementasikan visualisasi Molecular Dynamics Simulation dengan menggunakan kompilator bahasa pemrograman Delphi. Dan juga akan dijelaskan bagaimana dan alasan penulis membuat rancangannya.

Bab IV Penutup, bab ini merupakan bab terakhir dari penulisan yang disajikan penulis. Pada bab ini berisi kesimpulan dari apa yang telah diterangkan pada bab-bab sebelumnya, dan juga berisi saran-saran perbaikan yang berhubungan dengan masalah yang dibahas oleh penulis.

(13)

4

Bab II

Landasan Teori

2.1. Molecular Dynamics

Molecular Dynamics Simulation (MDS) menggunakan batasan partikel untuk menunjukkan interaksi objek–objek, atom-atom atau molekul-molekul. Ada 3 model yaitu : Hooke Law, Lennard-Jones dan Hard Spare [2]. Dalam model Hooke Law pergerakan gaya bergerak seperti partikel-partikel terhubung dengan partikel disampingnya dengan lompatan. Lennard-Jonnes adalah model dengan gaya yang kuat mempengaruhi pada jarak antar partikel yang sangat dekat, atraktif pada jarak yang jauh dan sangat lemah pada jarak yang sangat jauh. Pada model Hard Spare interaksi partikel seperti bola biliar, mereka saling bertubrukan dengan yang lainnya ketika mereka berada pada jarak tertentu, selain itu mereka tidak berinteraksi. Normalnya model Lennard-Jonnes digunakan untuk sistem 3 dimensi, tetapi dapat juga digunakan untuk sistem 1 dimensi dan 2 dimensi.

Persamaan gerak untuk setiap modelnya, dengan model Hooke law dan Lennard-Jones harus menyelesaikan dengan sistem persamaan yang berbeda menggunakan metode Euler’s dan Verlet’s. Metode Euler’s karena metode ini paling mudah dari berbagai metode lainnya yang cukup beralasan untuk digunakan dan pengenalan termudah untuk beberapa ide dasar dari perhitungan numerik untuk menyelesaikan persamaan gerak. Metode Verlet’s hanya sedikit lebih kompleks namun lebih akurat. Ini adalah metode perhitungan yang termudah yang digunakan untuk perhitungan MDS. [2]

2.2. MD Pada Sistem Fisik Microscopic

Sistem microscopic bisa terdiri dari beberapa atau banyak sistem didalamnya. Pendeskripsiannya dapat menggunakan Hamiltonian, Lagrangian atau diekspresikan langsung melalui persamaan gerak Newtons.

Metode MD digunakan untuk menghitung properti-properti dengan menggunakan persamaan gerak baik properti statis dan dinamis dari sistem. Di

(14)

5 ) ), ( ( ) ( t t u k dt t du

dalam metode MD persamaan gerak diselesaikan secara numerik pada komputer. Juga persamaan yang terkait untuk perhitungan numerik pada komputer.

Simulasi sistem diawali dengan keadaan energi yang konstan. Properti akan dihitung dalam microcanonical ensembel dimana jumlah partikel N, volume V, dan energi E adalah konstan. Akan tetapi didalam banyak situasi ada satu yang menarik yaitu tingkah laku sistem pada temperatur T konstan atau tetap. Ini merupakan bagian dari kenyataan bahwa ensembel dari beberapa jumlah tertentu, bukan microcanonical tapi canonical ensembel.

Persamaan bentuk :

(1)

Dimana u adalah variable yang tidak diketahui, mungkin sebagai kecepatan, jari-jari atau suatu posisi, dan k adalah operator yang telah ditentukan. Variable t mewakili sebagai waktu. Tapi u(t) disajikan dalam variable acak. Penekanan pada monoatomik system adalah interaksi antar molekul yang tidak tergantung pada orientasi dari molekul-molekul. System akan disajikan dengan Hamiltonian.

(2)

Dimana rij adalah jarak antara partikel i dan partikel j untuk setiap referensi menggunakan energi internal konfigurasi sebagai berikut :

(3)

Misalkan sistem tetap dengan N partikel, karena properti dibatasi pada tingkat kerapatan tertentu ρ maka harus memasukkan volume pada Molecular Dynamic cell untuk mendapatkan kerapatan tetap. Jika sistem berada pada suhu

    i i i J ij i u r m p H ( ) 2 1 2

  j i ij r u r U( ) ( )

(15)

6

atau temperatur yang tidak setimbang maka bentuk dari volume tidak setimbang. Hal ini berlaku untuk cairan dan gas yang dibatasi oleh volume yang cukup besar. Untuk sistem dalam kondisi kristal bentuk tersebut tentu saja berubah.

2.3. Simulasi MD Pada Microcanonical Esembel

Pengaktualisasian simulasi komputer pada sistem molecular dapat dibagi menjadi tiga bagian, yaitu :

2.3.1. Inisialisasi

Bagian pertama dari simulasi ini adalah untuk memberikan kondisi awal. Tergantung dari algoritma yang digunakan, berbeda nilai awal yang diberikan. Sebuah algoritma mugkin membutuhkan dua nilai awal koordinat, satu pada saat waktu sama nol dan satu pada waktu berikutnya. Untuk ini diasumsikan bahwa untuk memulai suatu algoritma dibutuhkan posisi dan kecepatan.

2.3.1.1. Periodic Boundary Conditions (PBC)

Untuk bentuk cair dan gas diambil bentuk kubik untuk mempermudah perhitungan. L adalah panjang sisi dari MD cell dengan volume V = L3. Pembuatan box menyebabkan pembentukan 6 permukaan yang tidak diinginkan. Partikel yang membentur permukaan ini akan berbalik kembali kedalam cell. Kecuali untuk sistem dengan jumlah partikel yang kecil, kontribusi penting untuk berbagai properti akan datang dari permukaan tersebut. Untuk mengurangi efek dari permukaan kita menetapkan periodic boundary conditions (pbc), dalam contoh cell dasar diidentikkan berulang kali secara metematis. Untuk penelitian A adalah

dengan

(4)

Untuk semua integer n1,n2,n3. implementasi perhitungannya adalah jika sebuah partikel menyebrangi permukaan dari cell dasar kembali sepanjang luar diding dengan kecepatan yang tidak berubah. Dengan periodic boundary

) ( ) (x A x nL A   ) , (n1,n2 n3 n

(16)

7

2 L rc

conditions permukaan volume dieliminasi sehingga volume terbentuk, disajikan pada pendekatan sistem macroscopic. Diasumsikan bahwa bagian volume kecil melekat atau menempel pada blok yang terdefinisi.

Setiap komponen dari vektor posisi berkisar antara nol dan L. Jika i adalah partikel pada ri, ada pengaturan image partikel pada posisi ri + nL, n adalah vektor

integer. Dari periodic boundary conditions kita mendapatkan energi potential di setiap rn

(5)

Jarak rij antara partikel i pada ri dan partikel j pada rj adalah rij = min (|ri- rj + nl |) dari semua n.

Sebuah partikel dalam cell dasar berinteraksi hanya dengan setiap n – 1 partikel lainnya dalam cell dasar atau gambaran terdekat lainnya. Akibatnya harus ada pemotongan (cut off) potential dengan kondisi

2.3.1.2. Normalisasi Maxwell-Boltzmann

Seperti telah dijelaskan diatas bahwa untuk memulai perhitungan suatu algoritma sebagai nilai awal, dibutuhkan posisi dan kecepatan awal. Dan untuk menentukan posisi awal telah digunakan metode periodic boundary conditions, sedangkan untuk mendapatkan kecepatan kita harus menormalisasi kecepatan dengan menggunakan rumus Maxwell-Boltzmann.

Dimana distribusi kecepatan menurut hukum Maxwell-Boltzmann adalah sebagai berikut [5]:

(6)

k adalah konstanta boltzmann. Analogikan juga untuk komponen y dan z. dan dengan menggunakan standard deviasi Gaussian berkisar nilai sebenarnya , menjadi mendekati keseragaman selama kenaikan

 

      j i n i j j i ij n u r u r r nL r r U(1,..., ) ( ) (| |) x x x x x x kT dv mv kT m n dv v N dv v f          2 exp 2 ) ( ) ( 2

0  x v 2 / 1 ) / (kT m

(17)

8

temperatur. Selama simulasi diizinkan untuk membangun distribusi Maxwell (dan, disini mencapai kesetimbangan) dengan memonitor atau memperhatikan dinamika dari sebuah partikel [5]. Distribusi tersebut dinyatakan sebagai berikut :

(7)

disini fungsi partisi kinetik dari Boltzmann dinyatakan dengan H, dengan waktu

rata –rata adalah .

2.3.2. Kesetimbangan

Pada fase ini, energi bisa ditambah atau dikurangi sampai energi mencapai nilai yang diinginkan. Energi bisa dikeluarkan atau ditambahkan dengan langkah dari energi kinetik naik atau turun. Sistem sekarang mengizinkan untuk mencapai kesetimbangan dengan mengikuti integrasi dari persamaan gerak untuk sejumlah langkah. Kesetimbangan ditetapkan jika telah dibentuk untuk batasan nilai tertentu dari energi kinetik dan energi potensial.

Untuk itu dapat dibatasi sedikitnya dua masalah yang relevan. Yang pertama mengenai waktu relaksasi dari sistem. Waktu dasar langkah h dibatasi waktu sesungguhnya dari simulasi. Jika waktu relaksasi terlalu lama, banyak langkah akan diminta sistem untuk mencapai kesetimbangan. Untuk beberapa sistem banyaknya waktu langkah terlalu besar untuk disajikan untuk kecepatan komputer. Akan tetapi mungkin dilakukan dengan memiliki pertimbangan dari variable.

Masalah lain mungkin saja sistem telah diatur dalam bagian yang tidak relevan pada fase ruang. Masalah ini dapat diatasi dengan cara menjalankan simulasi dengan kondidi awal yang berbeda dan panjang yang berbeda.

2.3.3. Hasil Simulasi dan Properti Dinamik

Selama simulasi berjalan kita dapat menghitung perubahan energi yang terjadi dalamnya dan perubahan–perubahan posisi dari posisi awal. Dengan energi

  x x x x t f v f v dv H ( ) ( )ln ( ) f ln

(18)

9

awal yang tetap, banyaknya partikel yang tetap pula dan dengan volume yang tetap, kemudian dihubungkan dengan suatu batasan-batasan persamaan gerak sehingga yang terjadi adalah suatu simulasi dari suatu temperatur tetap bukan dari suatu energi tetap.

2.3.3.1. Skema Integrasi

Metode MD adalah suatu masalah nilai awal. Secara spesifik asumsikan bahwa persamaan bentuk diturunkan dari Hamiltonian, contoh persamaan gerak tersebut adalah

(8)

Setiap evaluasi pada sisi kanan untuk partikel-partikel N menyebabkan N(N-2)/2 menjadi operasi-operasi yang menghabiskan waktu. Untuk menghindari ini, skema yang lebih sederhana digunakan sehingga lebih memenuhi tingkat ketepatan untuk kebanyakan aplikasi.

Untuk memecahkan persamaan-persamaan gerak pada sistem komputer, dibangun suatu skema finite difference untuk persamaan-persamaan diferensial pada orde tertinggi yang memungkinkan. Dari persamaan-persamaan diferensiasi dapat diturunkan relasi-relasi rekursif untuk posisi dan atau kecepatan-kecepatan (momentum). Algoritma in dijalankan secara bertahap atau langkah demi langkah. Pada setiap langkah, pendekatan-pendekatan untuk posisi-posisi dan kecepatan-kecepatan akan didapat, pertama kali pada waktu t1 lalu pada t2 > t1 dan seterusnya. Dari sini integrasi dijalankan pada arah waktu. Relasi rekursi sepenuhnya memperbolehkan evaluasi efisien. Sebagai tambahan skema harus stabil secara numerik.

Untuk memulai perhitungan seperti yang telah dikemukakan diatas, dideskripsikan interaksi dari N partikel dengan Hamiltonian. Untuk mudahnya, diasumsikan seperti sebelumnya potensial dua partikel dengan bentuk bola yang simetri.

   j i ij i i i F r dt dp p dt dr m , ( )

(19)

10 (9)

Dimana rij didenotasikan sebagai jarak antara partikel i dan partikel j. waktu tidak masuk secara eksplisit kedalam persamaan. Mendasarkan pada sistem dimana H = E adalah gerak konstan. Ditetapkan banyaknya partikel N adalah tetap dan nol total linier momentum (p).

Dalam metode klasik Hamiltonian memperbolehkan berbagai macam bentuk persamaan gerak. Bentuk persamaan tergantung dari pilihan algoritma penyelesaian yang dipilih. Walaupun persamaan gerak secara matematis ekivalen tapi tidak hanya ekivalen terhadap perhitungan. Dimulai dengan bentuk Newtonian

(10)

Posisi awal tetap mengkontribusi energi potensial menjadi energi total dan menentukan kecepatan menjadi energi kinetik. Dengan spesifikasi kondisi awal suatu sistem bergerak sepanjang bagian dari energi konstan dari ruang fase.

2.3.3.2. Algoritma Penjumlahan Verlet

Jika posisi dan kecepatan telah diketahui atau sebagai nilai awal, kemudian dapat dibuat prosedur untuk menghitung posisi pada saat ri1

(11)

Algoritma verlet dapat diformulasikan ulang dengan memberi metode numerik yang lebih stabil.

(12) Algoritma selengkapnya adalah

1. Tentukan posisi awal ri1

   i i j ij i u r p m H 1 ( ) 2 1 2

  j i ij i i F r m dt t r d ) ( 1 ) ( 2 2 0 2 0 0 1 2 1 i i i i h F m hv r r    h r r zin ( in1 in)/

(20)

11 2. Tentukan kecepatan awal vi1

3. Hitung posisi pada setiap waktu langkah sebagai

4. Hitung kecepatan pada setiap waktu langkah sebagai

Untuk mengeliminasi efek kemungkinan sistem harus diberi waktu untuk mencapai kesetimbangan kembali. Algoritma pencapaian kesetimbangan adalah

1. integrasi persamaan gerak untuk beberapa langkah 2. hitung energi kinetik dan potensial

3. jika energi tidak sama dengan energi yang diinginkan kemudian kembali hitung kecepatan

4. ulangi langkah mulai dari langkap pertama sampai sistem mencapai kesetimbangan.

Keberhasilan prosedur tergantung dari pemberian nilai posisi awal dan pendistribusian kecepatan. Pada beberapa kasus, salah satunya memeriksa pendistribusian kecepatan setelah fase kesetimbangan telah dicapai untuk meyakinkan kesetimbangan menggunakan bentuk Maxwell-Boltzmann.

Sistem partikel monoatomik dimana total energinya adalah tetap. Disini diasumsikan bahwa interaksi antara partikel akan disajikan dengan model gaya Lennard-Jones :

Dengan

(nilai potensial) dan

(nilai spesifik dari panjang unit) merupakan nilai yang sesuai untuk atom argon. Rumus gaya di atas dapat hitung dengan cara yang sama untuk memperoleh komponen y dan z. [1]

n i n i n i n i r hv m h F r 1 1 2 2 1   m F F h v v n i n i n i n i 2 ) ( 1 1                                    8 14 2 2 1 ) ( 48 ) ( ij ij j i ij x r r x x r F     [13]

(21)

12

2.4. Borland Delphi

Borland Delphi merupakan aplikasi program yang berbasis objek pascal dari Borland. Selain itu, Delphi juga memberikan fasilitas pembuatan aplikasi .

Pemrograman berorientasi objek adalah pemrograman yang mengutamakan pemakaian ulang program dan enkapsulasi data berdasarkan fungsinya. Objek atau class adalah tipe data yang mengenkapsulasi data dan operasi didalam sebuah unit tunggal. Inti dari setiap aplikasi Delphi adalah form. Form dapat dianggap sebagai sebuah window. Form mempunyai properti dengan adanya properti tersebut tampilan form dapat diubah.

2.4.1. IDE (Integrated Development Environment)

IDE adalah sebuah lingkungan dimana semua alat-alat yang diperlukan untuk merancang, menjalankan atau mencoba sebuah aplikasi disajikan dan terhubung dengan baik sehingga memudahkan pengembangan program. Ketika aplikasi Delphi dibuka pertama kalinya maka akan muncul tampilan

(22)

13 2.4.1.1. Main Window (Jendela Utama)

Jendela utama adalah bagian utama dari IDE yang merupakan semua fungsi-fungsi utama dari program-program windows lainnya. Jendela utama dibagi menjadi 3 bagian yaitu ;

1. Menu Utama

Sama seperti program windows lainnya, dipakai untuk membuka dan menyimpan file, menampilkan jendela lain, mengubah option dan lain sebagainya.

Main Window

Component Palette Toolbar

Object Inspector

(23)

14 2. Toolbar

Pada toolbar dapat dilakukan beberapa operasi pada menu utama dengan klik tunggal. Setiap tombol pada toolbar mempunyai tooltip, yang berisi informasi mengenai kegunaan toolbar tersebut.

3. Component Palette

Adalah toolbar dengan ketinggian ganda. Yang berisi page kontrol dengan semua komponennya. Urutan dan tampilan dari page dan komponen pada component palette dapat diatur.

2.4.1.2. Form Designer

Pada form designer inilah dapat menentukan atau merancang suatu window aplikasi, dan dapat juga menentukan tampilan aplikasi tersebut. Cara berinteraksi dengan form designer adalah dengan memilih komponen dari component palette dan meletakannya di dalam form. Setelah ada komponen didalam formdapat diatur posisinya atau mengubah ukurannya dengan menggunakan mouse. Form designer dapat diubah tamplan dan perilaku komponen dengan menggunakan object inspector dan code editor.

2.4.1.3. Object Inspector

Dengan object inspector dapat diubah properti dari setiap item dengan mudah dan dapat mengontrol tindakan yang diambil jika terjadi event. Object inspector terdiri dari 2 tab, yaitu : Tab properties, untuk melihat dan merubah properti setiap item misalnya : Font, Color. Tab events berisi event-event yang dapat direspon oleh sebuah objek misalnya : OnClose.

2.4.1.4. Code Editor

Code editor atau jendela penyuntingan dipakai untuk menuliskan program-program Delphi. Jendela penyuntingan ini mempunyai fasilitas-fasilitas highlight yang memudahkan untuk menemukan kesalahan program

(24)

Co Code expl property, unit. Dan j 2.4.2. Vi Vi ditulis de Componen pada form Komponen dibangun jenis kom pada saat digunakan 1. bersifa 2. 3. untuk 4. bebera 5. bersifa ode explorer lorer juga b method, va juga untuk isual Comp sual Compo engan obje nt Palette d m dan m n Delphi untuk antar mponen terse aplikasi d n, diantarany Kompon akan mu at nonvisual Kompon form. Ko Kompon teks yan menampilk Kompon apa baris tek

Kompon dipakai at visual. r digunakan berisi struk ariable glob menampilk ponent Liba onent Libra ect pascal dan Object memanipulas dapat bers rmuka deng ebut dapat ijalankan. P ya adalah : nen PopUpM uncul jika m l. nen Label omponen in nen Edit ng merupak kan teks. Ko nen Memo ks. Kompon nen Button untuk mem 15 n untuk me ktur pohon y

bal dan ruti kan semua u ary ary (VCL) a dan terga t Inspector si propertin sifat visua gan pemaka terlihat, tet Pada tab st Menu : mengklik tom : dipaka ni bersifat vi : kan masuka omponen ini : dipakai nen ini bersi : dipaka milih optio

emudahkan yang menam in global y unit yang dip

adalah hier abung dala

dapat men nya tanpa

l dan non ai. Pada saa

api kompon tandard ber untuk m mbol kanan ai untuk m isual. dipakai un an. Kompon i bersifat vi i untuk mem ifat visual. ai untuk m on didalam navigasi di mpilkan se ang didefin pakai pada k arki dari cl am IDE D nempatkan k menuliska nvisual. Ko at pembuata nen nonvisu risi kompon embuat me n dari mouse enempatkan ntuk mener nen ini jug

sual. masukkan a membuat bu m aplikasi. i dalam file mua type, nisikan di d klausa uses lass(object) Delphi. De komponen an program omponen v an aplikasi k ual tidak te nen yang u enu popup e. Kompone n teks di d rima suatu ga dapat di atau menam utton yang Komponen e unit. class, dalam . yang engan VCL mnya. visual kedua erlihat umum yang en ini dalam baris ipakai mpilan akan n ini

(25)

6. Komp 2.4.3. Pe Se pemrogram Program y untuk men 2.4.3.1. K Di merupakan Sedangkan 2.4.3.2. 1. Tipe D desima 2. Tipe D memp 3. Tipe D Kompon dipakai onen ini ber

emrograma perti halny man Delphi yang terstuk ngontrol alg Konstanta D dalam pro n nilai ya n variable a Contoh p Const W : w Var I : C : Tipe Data Data Integer Dipakai u al. Tipe data Data Real Sedangkan unyai desim Data Boolea nen Panel untuk me rsifat visual an Di Delph ya pada b i hampir sam ktur ini dib goritma dari Dan Variab ogram seri ang tidak adalah nilai endeklara word = Siz Intager = Char; r untuk meny a integer ter n tipe data mal. Tipe da an 16 : meru embuat sta l. hi bahasa pem ma dengan p uat pada co i aplikasi ya ble ing diguna dapat diub yang dapat asian kons eOf(Byte) = 8; yatakan bi rdiri dari by real diguna ata integer t upakan con atus bar, to mrograman penulisan b ode editor p ang dibuat. akan nilai bah pada diubah pad tanta dan ; langan yan yte, word, sm akan untuk erdiri dari r ntainer jug ool bar da n Pascal, bahasa pemr pada Delph konstan. saat progr da saat progr n varibale ng tidak m mallint, inte menyataka real, single, ga, panel an tool pa struktur b rograman P i yang berf Nilai ko ram diekse ram dijalan e : mempunyai eger, longin an bilangan double. dapat alette. ahasa ascal. fungsi onstan ekusi. nkan. nilai nt. yang

(26)

17

Dipakai untuk menyatakan nilai logik. Variable tipe ini hanya dapat berisi TRUE atau FALSE.

4. Tipe Data Array

Array merupakan sebuah variable tunggal yang dipakai untuk sekumpulan data. Contoh pendeklarasian array :

Type ArNilai = array[1..5] of real

Pendeklarasian diatas adalah membuat sebuah tipe yang bernama ArNilai yang merupakan array dengan 5 elemen bertipe real.

5. Tipe Data Record

Sama seperti array, record dipakai untuk menyimpan sekumpulan data yang berhubungan. Elemen-elemen record dapat mempunyai tipe yang sama atau tipe yang berlainan. Contoh pendeklarasian record :

Type DataMhas = record

Npm : string[8];

Nama : string[20];

Nilai : real;

End;

Tipe DataMhs mempunyai 3 elemen dengan tipe yang berbeda.

2.4.3.3. Pernyataan kondisi

Pernyataan kondisional digunakan untuk mengambil keputusan berdasarkan masukkan yang ada, yang dilakukan dengan eksekusi kondisonal. Pernyataan If-Then-Else mempunyai kondisi (syarat). Jika syarat benar maka dikerjakan pernyataan-pernyataan dibagian Then, sedangkan jika syarat salah , dikerjakan pernyataan-pernyataan dibagian Else. Bentuk umumnya adalah :

If expresi Then Begin Expresi_1; Expresi_2; Expresi_n; End Else Expresi; 2.4.3.4. Perulangan

(27)

18

Digunakan untuk menjalankan sekumpulan instruksi berulang-ulang sampai kondisi tertentu. Perulangan For…Do merupakan perulangan yang paling sederhana. Perulangan ini dipakai jika kita mengetahui berapa kali perulangan dilakukan. Bentuk umumnya adalah

For Counter:= 1 to 10 Do

Writeln(‘Delphi’);

Pendeklarasian perulangan diatas variabel Counter diinisialisasi dengan satu, pernyataan setelah Do dikerjakan sekali, Counter ditambah satu, jika Counter lebih besar dari nilai akhir (10) perulangan selesai dan dikerjakan pernyataan-pernyataan setelah loop For…Do, jika Counter tidak lebih besar dari nilai akhir (10) pernyataan setelah Do akan dikerjakan lagi.

(28)

18

Bab III

Implementasi Simulasi MD

3.1. Transformasi Teori Simulasi MD terhadap Algoritma Program

Implementasi teori MD terhadap aplikasi yang penulis buat, merupakan ringkasan dari berbagai penjelasan dan pembahasan yang menjelaskan mengenai teori tersebut. Tentunya ada beberapa bagian yang disederhanakan, sehingga lebih mudah untuk dimengerti dan diimplementasikan ke dalam algoritma program. Tetapi hal tersebut tidak mengurangi keberadaan aplikasi tersebut sebagai suatu simulasi yang representatif.

Pada bab sebelumnya telah dijelaskan mengenai langkah-langkah simulasi MD secara teoritis. Pada bagian ini akan dijelaskan mengenai transformasi dari teori tersebut dalam bentuk algoritma program. Secara garis besar, langkah-langkah simulasi MD yang terdapat pada program terdiri dari dua bagian utama yaitu bagian inisialisasi dan proses simulasi. Bagian inisialisasi terbagi lagi menjadi tiga bagian yaitu inisialisasi parameter yang dibutuhkan, penyebaran posisi awal partikel dengan metoda Lattice, serta penormalisasian nilai awal kecepatan dengan menggunakan metode Maxwell-Boltzmann. Sedangkan bagian proses simulasi terdiri dari beberapa bagian lagi yaitu :

1. Memperbaharui nilai posisi dari setiap partikel pada setiap langkah waktu dasar (H);

2. Mengaplikasikan Periodic Boundary Condition (PBC) terhadap nilai posisi dari setiap partikel;

3. Menghitung nilai kecepatan parsial masing-masng partikel; 4. Menghitung nilai gaya yang terdapat pada setiiap partikel; 5. Menghitung nilai kecepatan masing-masng partikel; 6. Menghitung nilai energi kinetik pada satu kali iterasi; 7. Menghitung nilai kecepatan rata-rata;

(29)

19 8. Memperbaharui nilai kecepatan pada setiap kali IRep selama Clock<IStop;

9. Menghitung nilai besaran-besaran lainnya, yaitu : energi kinetik, energi potensial, energi total, suhu, tekanan, kecepatan, dan penurunan potensial.

Berikut ini akan dijelaskan lebih lanjut mengenai langkah-langkah proses yang telah disebutkan di atas.

3.2. Proses Inisialisasi

Untuk lebih mempermudah pengorganisasian variabel serta data yang ada, diperlukan suatu tipe data yang baik. Setiap partikel memiliki tiga properti arah yaitu X, Y, dan Z. Pada setiap arah tersebut terdapat tiga properti lagi yaitu Pos untuk posisi, Velo untuk kecepatan, dan Force untuk gaya. Pendeklarasiannya pada program adalah sebagai berikut :

TPos = record Pos : Real; Velo : Real; Force : Real; End; TPart = record X,Y,Z : TPos; End;

Seperti telah disebutkan sebelumnya bahwa bagian ini terdiri dari tiga sub bagian, berikut penjelasan mengenai sub-sub bagian tersebut. Selanjutnya proses inisialisasi pada program baru bisa dilakukan.

3.2.1. Inisalisasi Parameter

Ada sejumlah parameter utama yang digunakan pada program ini yang merupakan bentuk transformasi dari parameter simulasi MD yang sebenarnya. Parameter-parameter tersebut adalah seperti berikut dibawah ini :

1. NPart : jumlah partikel dalam simulasi (kelipatan 4) 2. Side : panjang sisi dari kubus dalam satuan sigma

3. TRef : nilai penurunan temperatur

(30)

20

5. H : langkah waktu dasar

6. IRep : periode perbaikan kecepatan

7. IStop : kondisi akhir perbaikan kecepatan

8. TimeMX : jumlah iterasi MD 9. ISeed : bibit nilai acak semu

Selain parameter-parameter diatas ada beberapa parameter lain yang merupakan kontrol atau syarat agar hasil simulasi MD didapat dengan akurat.Parameter kontrol ini diberikan nilai awal yang mencerminkan karakteristik aom Argon, yang merupakan atom yang digunakan penulis sebgai contoh untuk penulisan ini. Parameter-parameter tersebut adalah :

A := Side/4; SideH := Side/2; HSQ := SQR(H); HSQ2 := HSQ/2; NPartM := Npart-1; RCOffS := SQR(RCOff); TScale := 16/(NPart-1); VAVER := 1.13*SQRT(TRef/24);

Variable A adalah sisi dibagi 4 atau seperempat sisi, SideH adalah sisi dibagi 2 atau setengah sisi, HSQ adalah kuadrat dari waktu langkah, HSQ2 adalah setengah kuadrat waktu langkah, NPartM adalah jumlah partikel yang diamati dikurang satu, RCoffs adalah kuadrat dari nilai pemotongan energi potensial, TScale adalah waktu sebelum perhitungan yang nilai sesungguhnya akan didapat jika dikalikan dengan energi kinetik, dan VAVER merupakan variable kontrol untuk mengontrol penurunan suhu pada simulasi ini.

Bentuk pendeklarasian variable-variable pada program selengkapnya tercakup dalam prosedur DefaultVal dan MDSInit yang dapat dilihat pada halaman lampiran. 3.2.2. Inisialisasi Posisi Partikel dengan menggunakan metode Lattice

Langkah berikutnya adalah penyebaran nilai posisi partikel dengan menggunakan metode Lattice. Dengan menggunakan metode tersebut setiap partikel

(31)

21 akan tersebar di dalam kotak pembatas secara teratur. Adapun implementasi metode tersebut dalam program seperti terlihat di bawah ini :

var Index,LG,i,j,k : Integer; begin Index := 0; for LG := 0 to 1 do for i := 0 to 3 do for j := 0 to 3 do for k := 0 to 3 do begin Inc(Index); Part[Index].X.Pos := i*A+LG*A*0.5; Part[Index].Y.Pos := j*A+LG*A*0.5; Part[Index].Z.Pos := k*A; end;

Kode program diatas merupakan penyebaran partikel untuk sebagian jumlah partikel dari partikel yang ada. Sedangkan kode program dibawah ini untuk melanjutkan penyebaran partikel berikutnya dengan ukuran kotak pembatas yang masih sama. for LG := 2 to 3 do for i := 0 to 3 do for j := 0 to 3 do for k := 0 to 3 do begin Inc(Index); Part[Index].X.Pos := i*A+(2-LG)*A*0.5; Part[Index].Y.Pos := j*A+(LG-1)*A*0.5; Part[Index].Z.Pos := k*A+A*0.5; end; end;

Pada kode program di atas terlihat bahwa penyebaran nilai posisi setiap partikel tdak akan melebihi panjang sisi kotak pembatas yang telah ditentukan.

Bentuk program selengkapnya tercakup dalam prosedur Lattice yang dapat dilihat pada halaman lampiran.

(32)

22 3.2.3. Normalisasi Kecepatan partikel dengan metode Maxwell-Boltzmann

Telah dijelaskan sebelumnya bahwa Maxwell digunakan untuk menormalisasi kecepatan sebelum memulai perhitungan simulasi MD. Cara penulisannya pada program adalah; RandSeed := ISeed; Counter := 1; while (Counter<=NPart) do begin Boltz(Part[Counter].X.Velo,Part[Counter+1].X.Velo); Boltz(Part[Counter].Y.Velo,Part[Counter+1].Y.Velo); Boltz(Part[Counter].Z.Velo,Part[Counter+1].Z.Velo); Inc(Counter,2); end;

RandSeed mempunyai nilai sama dengan ISeed yang merupakan benih untuk merandom dengan psedo random nilai ISeed ini akan menghasilkan nilai yang merupakan karakteristik dari atom argon. Kemudian dengan nilai random yang telah terbentuk, digunakan untuk memberi nilai kecepatan pada setiap posisi. Disini seperti telah dikemukakan bahwa setiap posisi mempunyai 3 elemen yaitu elemen X, Y, dan Z, pemberian nilai kecepatan pada elemen-elemen tersebut dengan memanggil procedure Boltz(velo1,velo2) yang berisi :

procedure Boltz(var Velo1: Real;var Velo2: Real); var S,R, v1,v2 : Real; begin repeat v1 := 2*Random-1; v2 := 2*Random-1; S := SQR(v1)+SQR(v2); until (S<1); R := -2*Ln(S)/S; Velo1 := v1*SQRT(R); Velo2 := v2*SQRT(R); end;

Pada procedure Boltz(velo1,velo2) ini nilai kecepatan pertama dan kedua didapat dari 2 kali random di kurang 1. Variable S merupakan resultan dari kedua

(33)

23 kecepatan tersebut. Nilai kecepatan tersebut terus dirandom sampai mendapatkan resultan yang lebih kecil dari 1. Dan setelah mendapatkan nilai resultan yang kurang dari 1 kemudian hitung R, dengan mengalikan ln(S) dengan 2 kemudian dibagi dengan S. Dari hasil yang didapat kembalikan nilai kecepatan didalam procedure Boltz ke procedure Maxwell, dengan kecepatan pertama dikali akar dari R dan kecepatan kedua juga dikali dengan akar dari R.

Setelah mendapatkan kecepatan disetiap posisi dengan procedure Boltz tadi, ubah lagi kecepatannya untuk mendapatkan energi kinetik disetiap arah. Cara penulisannya pada program adalah :

EKIN := 0; SP := 0; for i := 1 to NPart do SP := SP+Part[i].X.Velo; SP := SP/NPart; for i := 1 to NPart do begin Part[i].X.Velo := Part[i].X.Velo-SP; EKIN := EKIN+SQR(Part[i].X.Velo); end;

Pertama kali beri nilai awal energi kinetik sama dengan nol, namun hanya didefinisikan sekali, dan juga beri nilai linier momentum arah X sama dengan nol. Hitung nilai linier momentum arah X dengan menjumlahkan selurah kecepatan pada arah X, kemudian bagi nilai linier momentum tersebut dengan banyaknya jumlah partikel. Ubah nilai kecepatan pada arah X dengan mengurangi kecepatan dengan nilai linier momentum untuk setiap partikel. Dan hitung energi kinetik pada arah X, dengan menjumlahkan energi kinetik dengan kuadrat kecepatan pada arah X disetiap partikel. Hal yang sama juga dilakukan untuk arah Y dan Z untuk mendapatkan energi kinetik keseluruhan.

TS := TScale*EKIN; SC := SQRT(TRef/TS);

Kemudian untuk mendapatkan temperatur sebelum perhitungan adalah dengan mengalikan TScale dengan energi kinetik. Dan untuk mendapatkan skala faktornya adalah dengan mengkuadratkan pengurangan temperatur dibagi temparatur.

(34)

24 SC := SC*H; for i := 1 to NPart do begin Part[i].X.Velo := Part[i].X.Velo*SC; Part[i].Y.Velo := Part[i].Y.Velo*SC; Part[i].Z.Velo := Part[i].Z.Velo*SC; end;

Ubah lagi kecepatan disetiap arah dengan mengalikannya dengan skala faktor temperatur untuk semua partikel.

Setelah selesai menormalisasikan kecepatan dengan procedure Maxwell baru disini nilai Clock atau iterasi bertambah.

3.3. Proses Simulasi MD

Bagian ini merupakan proses simulasi MD yang sebenarnya, sesudah selesai melewati bagian inisialisasi. Dibagian ini pula, terdapat beberapa proses yang dilakukan untuk setiap kali waktu iterasi. Proses-proses simulasi MD tersebut sebagai berikut.

3.3.1. Penentuan nilai posisi pada langkah waktu dasar (H)

Pertama kali yang dilakukan adalah menempatkan posisi awal partikel, yang dituliskan pada program sebagai berikut :

for i := 1 to NPart do with Part[i] do begin

X.Pos := X.Pos+X.Velo+X.Force;

Y.Pos := Y.Pos+Y.Velo+Y.Force;

Z.Pos := Z.Pos+Z.Velo+Z.Force;

end;

Pada kode program di atas memberikan nilai posisi awal setiap patikel dengan menjumlah nilai posisi yang terakhir kali didapat ditambah dengan nilai kecepatan, dan ditambah dengan nilai gaya untuk setiap arah X, Y, Z.

(35)

25 3.3.2. Pengaplikasian PBC terhadap nilai posisi

Setelah didapat posisi pada langkah waktu dasar, kemudian sebar kembali posisi-posisi partikel tersebut kedalam box, yang mempunyai panjang sisi yang sama panjangnya. implementasinya pada program adalah :

for i := 1 to NPart do with Part[0+i] do begin

if (X.Pos<0) then X.Pos := X.Pos+Side; if (X.Pos>Side) then X.Pos := X.Pos-Side; if (Y.Pos<0) then Y.Pos := Y.Pos+Side; if (Y.Pos>Side) then Y.Pos := Y.Pos-Side; if (Z.Pos<0) then Z.Pos := Z.Pos+Side; if (Z.Pos>Side) then Z.Pos := Z.Pos-Side; end;

Jika nilainya kurang dari nol atau bernilai negatif, kembalikan ke dalam box dengan ditambah panjang sisi box. Dan jika nilainya lebih besar dari sisi box, kembalikan kedalam box dengan dikurangi panjang sisi box. Pengaplikasian pada kotak pembatas ini dilakukan untuk setiap partikel dan setiap arah X, Y dan Z

3.3.3. Perhitungan nilai kecepatan parsial

Pada Bagian ini, sesudah berhasil menentukan posisi dengan baik, maka dapat dihitung kecepatan parsial setiap partikel, disetiap posisi untuk arah X, Y, dan Z . Cara penulisannya pada program adalah sebagai berikut :

for i := 1 to NPart do with Part[i] do begin

X.Velo := X.Velo+X.Force; Y.Velo := Y.Velo+Y.Force; Z.Velo := Z.Velo+Z.Force; end;

kecepatan sebagian ini dihitung dengan menjumlahkan kecepatan setiap posisi (X, Y, Z) dengan gaya sebanyak jumlah partikel yang ada.

3.3.4. Perhitungan nilai gaya

Implementasi untuk menghitung gaya pada setiap partikel adalah sebagai berikut :

(36)

26

VIR := 0;

EPot := 0;

Merupakan kode untuk pemberian nilai awal untuk kecepatan di dalam partikel sama dengan nol dan energi potensial sama dengan nol.

for i := 1 to NPart do begin Part[i].X.Force := 0; Part[i].Y.Force := 0; Part[i].Z.Force := 0; end;

setelah selesai memberi nilai awal kode program diatas adalah untuk menginisialisasi kembali gaya disetiap arah sama dengan nol, sebanyak jumlah partikel yang ada.

Dibawah ini adalah penulisan kode program untuk mendapatkan nilai posisi pada setiap partikel. Sehingga dapat ditentukan perubahan posisi setiap partikel tersebut apakah memenuhi syarat atau tidak, jika tidak memenuhi syarat maka dilakukan beberapa penugasan seperti mengembalikan posisi ke dalam box, dan menormalisasi potensial yang terjadi antar atom dengan menggunakan metode Lennard-Jones.

XX := Part[i].X.Pos-Part[j].X.Pos; YY := Part[i].Y.Pos-Part[j].Y.Pos; ZZ := Part[i].Z.Pos-Part[j].Z.Pos;

Diatas merupakan cara penulisan program untuk mendapatkan beda posisi setiap partikel dengan partikel sebelahnya untuk setiap arah. Hasil yang didapat dieliminasi untuk menetapkan partikel tetap pada box tersebut, penulisannya adalah sebagai berikut :

if (XX<(-1*SideH)) then XX := XX+Side; if (XX>SideH) then XX := XX-Side;

Jika beda posisi partikel satu dengan partikel di sebelahnya bernilai negative yang berarti keluar sebelah kiri box, tambahkan dengan panjang sisi box. Dan jika nilainya lebih besar dari panjang sisi box positif yang berarti keluar ke sebelah kanan

(37)

27 box, kurangi dengan panjang sisi box. Sama halnya dengan pendeklarasian untuk arah Y dan Z Seperti terlihat dibawah ini :

if (YY<(-1*SideH)) then YY := YY+Side; if (YY>SideH) then YY := YY-Side; if (ZZ<(-1*SideH)) then ZZ := ZZ+Side; if (ZZ>SideH) then ZZ := ZZ-Side;

Setelah selesai memeriksa apakah beda posisi partikel yang bersebelahan negative atau posistif dan mengembalikannya kedalam box, kemudian cari resultannya. Dituliskan pada program sebagai berikut:

RD := SQR(XX)+SQR(YY)+SQR(ZZ);

Dari hasil nilai resultan yang telah didapat, lalu periksa resultan apakah nilainya lebih besar dari nilai pemotongan potensial (Cut-Off). Jika lebih besar lanjutkan untuk memeriksa partikel yang bersebelahan selanjutnya. Jika tidak memenuhi syarat tersebut normalisasi potential antar partikel dengan metode Lennard-Jones, cara penugasannya pada program adalah :

if not (RD>RCOffS) then

EPot := EPot+Power(RD,-6)-Power(RD,-3);

R148 := Power(RD,-7)-Power(RD,-4)/2;

VIR := VIR - RD*R148;

Disini energi potensial dijumlahkan dengan resultan pangkat -6 dikurangi dengan resultan pangkat -3, resultannya didapat dengan mengurangi resultan pangkat -7 dengan resultan pangkat -2 dibagi 2. kemudian hitung kembali gaya pada setiap partikel disetiap arah. Dengan cara sebagai berikut :

KX := XX*R148;

Part[i].X.Force := Part[i].X.Force+KX; Part[j].X.Force := Part[j].X.Force-KX;

Variable KX berisi nilai selisih partikel yang bersebelahan di arah X di kali dengan resultan gaya pada metode Lennard-Jones. Kemudian hitung kembali gaya dengan menjumlahkan nilai gaya lama pada arah X dengan nilai KX, dan hitung nilai gaya partikel disebelahnya dengan mengurangi gaya lama pada arah X dengan KX.

(38)

28 Begitu pula untuk menghitung gaya pada arah Y dan Z yang cara penulisannya adalah sebagai berikut : KY := YY*R148; Part[i].Y.Force := Part[i].Y.Force+KY; Part[j].Y.Force := Part[j].Y.Force-KY; KZ := ZZ*R148; Part[i].Z.Force := Part[i].Z.Force+KZ; Part[j].Z.Force := Part[j].Z.Force-KZ;

Lakukan semua pemeriksaan interksi antar partikel ini sampai semua partikel telah diperiksa.

Setelah seluruh partikel diperiksa beda potensialnya dengan metode Lennard-Jones. Kemudian dapat dihitung kembali gaya setiap partikel untuk setiap arah, yang cara penulisannya pada program adalah sebagai berikut :

for i := 1 to NPart do with Part[i] do begin X.Force := X.Force*HSQ2; Y.Force := Y.Force*HSQ2; Z.Force := Z.Force*HSQ2; end;

Nilai setiap gaya yang dihasilkan dengan menggunakan normalisasi Lennard-Jones dikalikan dengan HSQ2 untuk mendapatkan nilai gaya kembali.

3.3.5. Perhitungan nilai kecepatan

Setelah menghitung gaya antar partikel dengan menggunakan metode Lennard-Jones. Hitung kembali kecepatan setiap partikel dengan menjumlahkan kecepatan dengan gaya yang terakhir kali didapat. Implementasinya pada kode program adalah sebagai berikut :

for i := 1 to NPart do with Part[i] do begin

X.Velo := X.Velo+X.Force;

Y.Velo := Y.Velo+Y.Force;

Z.Velo := Z.Velo+Z.Force;

(39)

29 3.3.6. Perhitungan nilai energi kinetik

Setelah mendapatkan kecepatan baru, kemudian nilai energi kinetik diperbaharui kembali dengan menjumlahkan resultan kecepatan setiap partikel dibagi dengan kuadrat waktu langkah. Cara penulisannya pada program adalah sebagai berikut : EKIN := 0; for i := 1 to NPart do with Part[i] do EKIN := EKIN+SQR(X.Velo)+SQR(Y.Velo)+SQR(Z.Velo); EKIN := EKIN/HSQ;

3.3.7. Perhitungan nilai kecepatan rata-rata

Pada bagian ini sebelum dimulai prosesnya terlebih dahulu harus memberikan nilai awal untuk variable kecepatan dan count, inplementasinya pada kode program dalah sebegai berikut :

Vel := 0; Count := 0;

Setelah selesai menginisialisasi nilai kecepatan dengan sama dengan nol, dan nilai count sama dengan nol. Nilai count berfungsi untuk menghitung banyaknya iterasi yang telah dilakukan. Setelah selesai dengan inisialisasi tadi, periksa seluruh partikel. Kuadrat kecepatan setiap arah X, Y, Z pindahkan ke variable VX, VY, VZ. Kemudian hitung resultan kecepatannya dan hasilnya dibagi dengan waktu langkah (SQ), lalu periksa hasil pembagian resultan kecepatan dengan waktu langkah dengan VAVER, jika lebih besar tambah satu junlah count jika tidak nilai kecepatan sama dengan nilai kecepatan sebelumnya dijumlahkan dengan hasil bagi resultan kecepatan dengan waktu langkah (SQ). Cara mendapatkan nilai tersebut pada program adalah sebagai berikut:

for i := 1 to NPart do with Part[i] do begin

VX := SQR(X.Velo);

VY := SQR(Y.Velo);

VZ := SQR(Z.Velo);

(40)

30

SQT := SQ/H;

if (SQT>VAVER) then Inc(Count); Vel := Vel+SQ;

end;

Setelah itu baru didapat kecepatan rata-rata dengan membagi nilai kecepatan dengan waktu langkah, yang penugasannya dengan cara :

Vel := Vel/H;

3.3.8. Perbaikan nilai kecepatan secara periodik

Jika jumlah waktu iterasi (Clock) masih lebih kecil dari nilai pemberhentian perhitungan kecepatan (IStop), dan sisa hasil bagi waktu iterasi (Clock) dengan perhitungan kecepatan setiap langkah (IRep) sama dengan nol kemudian hitung kembali skala temperatur dan faktor skala. Cara penugasannya pada program :

if (Clock<=IStop) and (Clock mod IRep = 0) then TS := TScale*EKIN;

SC := SQRT(TRef/TS);

Dan hitung kembali kecepatan untuk setiap partikel dan energi kinetiknya dari temperatur dibagi dengan temperatur sebelum perhitungan. Untuk mendapatkan nilai tersebut, maka diprogram ditulis :

for i := 1 to NPart do with Part[i] do begin

X.Velo := X.Velo*SC;

Y.Velo := Y.Velo*SC;

Z.Velo := Z.Velo*SC;

end;

EKIN := TRef/TScale;

3.3.9. Perhitungan besaran-besaran lainnya

Bagian ini merupakan bagian terakhir dari perhitungan simulasi MD untuk satu kali waktu iterasi. Akan didapat nilai-nilai energi kinetik, energi potensial, energi total, temperatur, tekanan, kecepatan dan RP. Pada Program ditulis sebagai berikut :

EK := 24*EKIN;

EPot := 4*EPot;

ETot := EK+EPot;

Temp := TScale*EKIN;

(41)

31

Vel := Vel/NPart;

RP := (Count/NPart)*100;

3.4. Visualisasi Simulasi MD pada Aplikasi

Pada implementasi program simulasi MD diatas, dihasilkan nilai data-data dalam bentuk rangkaian nilai-nilai numerik sesuai dengan jumlah iterasi yang dijalankan. Tentunya data-data numerik tadi sangatlah sulit untuk dicerna apabila disajikan begitu saja. Untuk itu agar data-data yang dihasilkan dari simulasi MD tersebut dapat tervisualisasikan dengan baik, maka pada aplikasi ini disediakan beberapa bentuk visualisasi yang berbeda yaitu dalam bentuk chart, tabel maupun kotak pengamatan virtual. Lebih lanjut mengenai bentuk visualisasi tersebut akan diuraikan di bawah ini.

3.4.1. Visualisasi dalam bentuk chart

Chart yang terbentuk ketika sejumlah iterasi dijalankan adalah chart untuk

memvisualisasikan perubahan energi kinetik, energi potensial, energi total, serta kecepatan dari setiap iterasi. Kode program untuk menampilkan chart, dapat dilihat pada prosedur dibawah ini :

procedure UpdateChart(vEK, vEPot, vETot, vVel: Real); begin with MDSFrm do begin SCKinetic.AddXY(Clock,vEK); SCPotential.AddXY(Clock,vEPot); SCTotal.AddXY(Clock,vETot); SCVelocities.AddXY(Clock,vVel); MDSChart.Update; end; end;

Nilai variable vEK, vEPot, vETot, vVel didapat dari variable-variable nilai energi kinetik, energi potensial ,energi total dan kecepatan pada saat menjalankan program proses simulasi MD. Prosedur ini dipanggil pada setiap kali waktu iterasi.

(42)

32 3.4.2. Visualisasi dalam bentuk kotak pengamatan virtual

Sesuai dengan inisialisasi awal dan ketentuan dari simulasi MD ini, bahwa penyebaran posisi-posisi atom dibatasi hanya dalam batasan tertentu. Menggunakan batasan tertentu agar perubahan-perubahan yang terjadi mudah untuk diamati. Batasan penyebaran posisi atom yang digunakan pada simulasi ini adalah, membuat kotak atau box khayalan. Di dalam box inilah atom-atom disebar dan dapat diamati perubahannya. Disini sistem yang digunakan untuk menentukan posisi atom adalah sistem 3 dimensi, dimana setiap posisi atomnya mempunyai 3 arah X, Y dan Z. Namun disini tidak dibahas untuk menampilkannya benar-benar terlihat seperti sistem 3 dimensi pada layar komputer yang hanya memiliki 2 dimensi.

Karena permasalahan tersebutlah, digunakan suatu solusi. Di mana setiap atom tetap memiliki posisi dengan 3 arah X, Y dan Z, namun dipetakan ke layar komputer dengan gambar 2 dimensi. Diumpamakan melihat box, yang dibagi menjadi beberapa pengamatan. Pengamatan yang terlihat dari depan, atas dan samping kanan. Jika posisi atom sebenarnya digambarkan sebagai berikut :

Sedangkan untuk membuat kotak pengamatan pada aplikasi ini, di umpamakan dilihat dari 3 sisi, yaitu sisi depan, sisi atas dan sisi kanan seperti terlihat pada gambar dibawah ini :

Y

X Z

(43)

33

Pada gambar diatas, bagian yang diarsir adalah bagian yang akan diamati dimana partikel-partikel yang ada didalamnya akan ditampilkan pada kotak pengamatan virtual. Pada aplikasi bagian yang diarsir, disebut dengan slice, dan besar dari slice dapat ditentukan.

Untuk membuat kotak pengamatan virtual pada aplikasi ini digunakan objek panel, sedangkan untuk menggambarkan partikel digunakan objek shape. Panjang dari kotak simulasi untuk atom Argon adalah 6,75284 sigma, tentukan diperlukan pemetaan skala dari ukuran sebenarnya kedalam ukuran yang memungkinkan untuk ditampilkan pada layar komputer. Dikarenakan keadaan tersebut maka ukuran panel harus memiliki skala perbandingan tetap terhadap ukuran kotak pembatas yang sebenarnya. Skala perbandingan tersebut adalah 1 : 25 pixel, sehingga ukuran panel setelah dibulatkan adalah 169 pixel.

Pada layar komputer ujung kiri atas panel bernilai 0 semakin besar nilainya kearah kanan dan bawah, seperti yang akan digambarkan sebagai berikut :

Tampak Atas Z X Y Z X Y Z X Y

Tampak Depan Tampak Kanan

(44)

34

Untuk mengubah koordinat layar menjadi koordinat pengamatan diperlukan pemetaan posisi cukup cermat. Untuk itu digunakan rumus berikut :

Sedangkan untuk menggambarkan posisi partikel pada kotak pengamatan partikel, diperlukan panjang slice. Panjang slice menentukan tampak atau tidaknya suatu partikel pada kotak pengamatan virtual tersebut. Partikel akan tampak atau tidak jika posisinya memenuhi kondisi berikut :

(posisi > slicemin) and (posisi < slicemax)

3.4.3. Visualisasi data dalam bentuk tabel

Data-data numerik yang dihasilkan dari proses simulasi MD, dapat ditampilkan dalam bentuk tabular. Untuk menampilkan dalam bentuk tabular,

diperlukan struktur tabel untuk menampung data-data tersebut. Struktur tabel tersebut adalah sebagai berikut:

Ymax Xmax 0 Ymax Xmax 0 a b

Gambar 3.3. a. Koordinat layar komputer; b. Koordinat kotak pengamatan

*25

169 25 * Ylp Round Ykp Xlk Round Xkp   

(45)

35

Nama Field Tipe Data IdIter Number IterNo Integer EK String EP String ET String Press String Vel String Temp String Rp String

Nama Field Tipe Data IdDetail Number IterNo Integer IdPart Integer X String Y String Z String VX String VY String VZ String FX String FY String FZ String

Dari pendefinisian diatas kemudian didapat bahwa nilai data dari field pada tabel 1 dan tabel 2 didapat dari nilai data numerik hasil proses simulasi MD pada setiap waktu iterasi. Energi kinetik, energi potensial, energi total, tekanan, kecepatan, temperatur dan nilai penururan potensial daidapat setelah menjalankan satu kali waktu iterasi. Sedangkan setiap iterasi, setiap partikelnya memiliki posisi, kecepatan dan gaya pada setiap arah X, Y dan Z. Karena hal tersebut, harus dibuat sedemikian hingga agar visualisasi dalam bentuk tabel ini dapat di sajikan dengan representatif dibuat query untuk menampilkan nilai data posisi, kecepatan dan gaya pada setiap arah X, Y dan z untuk setiap kali iterasi. Pebdefinisian querynya adalah sebagai berikut :

SELECT Rinci.IdPart, Rinci.X, Rinci.Y, Rinci.Z, Rinci.VX, Rinci.VY, Rinci.VZ, Rinci.FX, Rinci.FY, Rinci.FZ

FROM "Rinci.db" Rinci, "Utama.db" Utama WHERE Rinci.IterNo=:NoIter

Tabel 3.1. Struktur Tabel Utama

(46)

36

GROUP BY Rinci.IdPart, Rinci.X, Rinci.Y, Rinci.Z, Rinci.VX, Rinci.VY, Rinci.VZ, Rinci.FX, Rinci.FY, Rinci.FZ

ORDER BY Rinci.IdPart

Pendefinisian query diatas maksudnya adalah tampilkan partikel ke berapa (IdPart), nilai data X, nilai data Y, nilai data Z, nilai data kecepatan pada arah X (VX), nilai data kecepatan pada arah Y (VY), nilai data kecepatan pada arah Z (VZ), nilai data gaya pada arah X (FX), nilai data gaya pada arah Y (FY), dan nilai data gaya pada arah Z (FX) dari tabel 2 yang disimpan pada file “Rinci.db”, dimana jika nilai iterasi tabel 1 sama dengan nilai iterasi pada tabel 1 yang disimpan pada file “Utama.db”. perintah group by digunakan untuk mengelompokkan data, sedangkan perintah order by adalah mengurutkan berdasarkan suatu field.

Jadi ketika query dijalankan untuk menampilkan nilai data untuk setiap fieldnya sebanyak jumlah partikel yang ada pada iterasi waktu yang ditunjuk.

3.5. Perancangan Input Output

Visualisasi simulasi MD, ini dibuat dengan menggunakan bahasa pemrograman Delphi. Untuk memudahkan pemasukkan data (entri data) atau melihat hasil dari perhitungan data, diperlukan perancangan form. Form disini digunakan sebagai tempat pemampungan komponen-komponen atau bahkan kumpulan form. Form juga sebagai interface langsung antara program dan pemakai, maka biasanya form ditekankan pada seni pengaturan dan penampilan layout. Yang bertujuan agar pemakai dapat lebih mengerti dan tidak bosan. Perancangan form tersebut dibagi menjadi beberapa bagian, seperti yang akan diuraikan dibahwa dibawah ini.

3.5.1. Rancangan tampilan utama

Form tampilan utama mempunyai beberapa komponen yaitu : 1. Komponen Button Start Simulation

Dengan property name NmStart. Button ini adalah button awal untuk memulai perhitungan simulasi MD. Ketika diklik pada button ini, akan

(47)

37 menjalankan beberapa prosedur. Penulisannya pada program, untuk event on klik adalah :

procedure TMDSFrm.ToolButton3Click(Sender: TObject); begin Refresh; MultiMDS; eAPStart.ReadOnly := False; eClock.ReadOnly := False; end;

Prosedur yang dijalankan adalah prosedur MultiMDS, didalam procedure ini dihitung simulasi MD sebanyak waktu iterasi yang ditentukan.

2. Komponen button Parameter

Button ini mempunyai property name NmParameter. Jika button ini diklik maka akan membuat form Parameter, dan menampilkannya.

3. Komponen Button Tabel

Ketika button table dijalankan akan membuka form MDTable yang akan dijelaskan perancangannya pada bagian rancangan MDTabel.

4. Komponen PageControl

Pada Komponen yang mempunyai properti name PageControl, memiliki 2 page yaitu Chart sebagai page pertama dan Visualization sebagai page kedua. 5. Komponen memo OutLog

Pada komponen memo ini berfungsi untuk menampilkan informasi-informasi perubahan-perubahan penurunan temperatur pada setiap waktu iterasi tertentu.

6. Komponen Status Bar

Pada komponen sattus bar, juga berfungsi untuk menampilkan informasi-informasi singkat selama program dijalankan.

(48)

38 Rancangan form Tampilan utama seperti terlihat pada gambar berikut ini :

3.5.2. Rancangan Chart

Bagian desain page Control yang pertama ini merupakan, bagian dari desain form utama yaitu client area, yang berfungsi untuk membuat multiple page atau page yang lebih dari satu. Setiap page dapat diisi komponen-komponen yang diinginkan pada daerah klien setiap page. Page ini berfungsi untuk menampilkan perubahan-perubahan energi kinetik, energi potensial, energi total dan kecepatan dalam bentuk grafik. Rancangan bagian page Chart adalah sebagai berikut :

Chart Visualization Client Area OutLog ToolBar StatusBar TitleBar

Parameter Start Simulation Table

(49)

39

3.5.3. Rancangan kotak pengamatan virtual

Pada bagian ini merupakan page kedua dari page control. Pada page ini akan dibuat visualisasi letak atom-atom suatu box dengan panjang sisi tertentu. Rancangan pagenya adalah sebagai berikut :

Page visualizations terdiri dari 3 buah panel untuk mevisualisasikan letak atom pada 3 sisi yaitu, sisi depan, sisi atas dan sisi kanan atau samping. Cara menvisualisasikannya kedalam panel tersebut akan dijelaskan kemudian. Pada page ini terdiri dari beberapa LabelEdit, yaitu :

1. Zmin, untuk memasukkan dan menampilkan nilai Zmin 2. Zmax, untuk memasukkan dan menampilkan nilai Zmax 3. Ymin, untuk memasukkan dan menampilkan nilai Ymin 4. Ymax, untuk memasukkan dan menampilkan nilai Ymax 5. Xmin, untuk memasukkan dan menampilkan nilai Xmin 6. Xmax, untuk memasukkan dan menampilkan nilai Xmax

ChartTitle

ChartArea

LeftAxis

MDStep

Gambar

Gambar 3.1  Kedudukan Atom Di dalam Box
Tabel 3.1.  Struktur Tabel Utama
Gambar 3.4. Rancangan Bagian Utama Program
Gambar 3.5. Rancangan MDChart
+7

Referensi

Dokumen terkait

Dengan demikian dapat disimpulkan bahwa perhitungan ekonomis dari keluaran (output dan outcomes) lembaga pendidikan pada dasarnya dapat digunakan: (1) sebagai dasar

[r]

analisis dalam bentuk tulisan cerita sejarah tentang proses masuk dan perkembangan penjajahan bangsa Eropa, serta strategi perlawanan bangsa Indonesia terhadap penjajahan

Trend peningkatan BOD dari tahun 2002 - 2008 terlihat pada gambar dibawah ini dimana mulai dari hulu sampai hilir terjadi peningkatan untuk baku mutu kelas III hal ini untuk

Terimakasih atas kepercayaan dan dukungan tanpa henti yang telah diberikan kepada penulis.. Bapak Danan Satriyo

Menurut Holthuis, 1991 bahwa s pesies udang barong ( spiny lobster) yang ditemukan pada perairan laut area pesisir yang dipengaruhi oleh aliran massa air dari daratan antara

Prosedur terapi intervensi pada kedua kasus di atas, menunjukkan hasil yang memuaskan dalam mengatasi keluhan nyeri leher kronis, serta memberikan perbaikan klinis

Pengujian simultan yang dilakukan terhadap model penelitian diatas secara signifikan membuktikan adanya pengaruh secara simultan variabel Indeks Harga Saham Global ( Dow