Mirza Nur Hidayat
Fisika Komputasi dengan C++ dan gnuplot (sebuah catatan kecil)
Laboratorium Fisika Gedung C Lt. 2 Ka...
124 downloads
1726 Views
353KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Mirza Nur Hidayat
Fisika Komputasi dengan C++ dan gnuplot (sebuah catatan kecil)
Laboratorium Fisika Gedung C Lt. 2 Kampus FKIP Universitas Muhammadiyah Prof. DR. HAMKA Jakarta
Ramadhan 1436 / Juni 2015
Bismillahirrahmanirrahim
CONTENTS 1
pendahuluan
3
i pengantar c++ 5 2 dasar-dasar c++ 7 2.1 Text Editor 7 2.2 C++ Interpreter/Compiler 7 2.3 Hello World! 8 2.3.1 "Hello World!" dalam Linux 8 2.3.2 "Hello World!" dalam Windows 9 2.4 Variabel dan Tipe Data 9 2.5 Konstanta 10 2.6 Input dan Output Dasar 10 2.7 Kondisional If 11 2.8 Pengulangan For 12 2.9 Pengulangan While 13 2.10 Fungsi 15 2.11 Menulis File 16 2.11.1 Menulis File dalam Linux 16 2.11.2 Menulis File dalam Windows 17 3 dasar-dasar kalkulus dalam c++ 19 3.1 Fungsi Trigonometri 19 3.2 Pangkat 20 3.3 Logaritma 22 3.3.1 Logaritma Natural 22 3.3.2 Logaritma dengan Basis a 22 3.4 Bilangan Kompleks 23 ii pengantar gnuplot 25 4 gnuplot 27 4.1 Analisis Grafis 27 4.2 gnuplot 29 4.3 Instalasi gnuplot 30 4.3.1 Instalasi gnuplot di Linux
30
1
Contents
4.4
4.3.2 Instalasi gnuplot di Windows Plot dengan gnuplot 31 4.4.1 Plot dari File 33
iii pengantar metode numerik 35 5 diferensiasi numerik 37 5.1 Forward Difference 37 5.2 Central Difference 39 5.3 Diferensiasi Orde Dua 40 6 integrasi numerik 43 6.1 Metode Trapezoid 43 6.2 Metode Midpoint 47 6.3 Metode Simpson 51 7 penyelesaian persamaan nonlinier
2
31
53
1 PENDAHULUAN
Ini merupakan sebuah catatan kecil tentang fisika komputasi dengan menggunakan bahasa pemrograman C++ dan gnuplot. Tulisan ini dibuat dengan sasaran pembaca yaitu mahasiswa program studi pendidikan fisika atau fisika tingkat dasar. Tidak ada syarat atau bekal bacaan khusus dalam membaca tulisan ini. Namun demikian, bekal pengantar kalkulus akan lebih mempermudah dalam mempelajari tulisan ini. Secara ringkas, tulisan terdiri atas 3 (tiga) bagian, yaitu pengantar C++, pengantar gnuplot, dan pengantar metode numerik. Bagian pertama membahas tentang dasar-dasar C++. Topiktopik yang dibahas adalah text editor dan C++ interpreter/ compiler, Hello World!, struktur program, tipe data, konstanta, variabel, input dan output dasar, kondisional if, pengulangan for dan while, fungsi, serta menulis data ke file. Selain dasar-dasar C++, bagian pertama juga menyinggung fungsi trigonometri, pangkat, logaritma, dan bilangan kompleks dalam C++. Berikutnya, di bagian kedua dibahas analisis grafis, pengantar gnuplot, instalasi gnuplot, serta plot sederhana dengan gnuplot. Bagian terakhir, bagian ketiga, berisikan pengantar metode numerik. Ada tiga bahasan dalam bagian ketiga ini, yaitu diferensiasi numerik, integrasi numerik, dan penyelesaian persamaan nonlinier. Sistem operasi komputer yang penulis gunakan dalam proses penulisan catatan ini adalah Linux (Debian 7.0). Debian dapat diperoleh dari laman https://www.debian.org. Selain sifatnya yang gratis dan terbuka (free and open), sudah menjadi hal yang lazim bahwa Linux adalah sistem operasi yang sering digunakan oleh banyak universitas dan lembaga riset untuk tujuan pendidi-
3
pendahuluan
kan dan penelitian. Namun demikian, penulis juga menyajikan tulisan ini dalam sistem operasi Windows. Praktis, catatan ini ditulis berdasarkan pengalaman penulis dalam menggunakan C++ dan gnuplot untuk fisika komputasi, baik semenjak masih di bangku kuliah maupun saat mengajar di kampus, serta didasarkan pada beberapa referensi yang penulis gunakan dalam tulisan ini. Last but not the least, catatan ini dapat digunakan dan disebarluaskan secara bebas untuk tujuan pendidikan dan pembelajaran.
Jakarta, Ramadhan 1436 / Juni 2015 –Mirza
4
Part I P E N G A N TA R C + +
2 DASAR-DASAR C++
Dalam sains, dari sejarahnya, FORTRAN adalah bahasa pemrograman yang paling banyak digunakan. Namun demikian, seiring berjalannya waktu, disamping bahasa C, C++ telah menjadi salah satu bahasa pemrograman yang sering digunakan untuk proses komputasi. Pada bab ini, akan disajikan pembahasan secara ringkas tentang bahasa C++, diantaranya yaitu text editor; C++ interpreter/ compiler; Hello World!; variabel dan tipe data; konstanta; input dan output dasar; kondisional if; pengulangan for dan while; fungsi; serta menulis data ke file. 2.1
text editor
Text editor merupakan aplikasi yang digunakan sebagai tempat untuk mengetik kode program. Dalam Linux, salah satu contoh text editor adalah gedit Text Editor. Sedangkan dalam Windows, contoh text editor adalah Notepad atau Notepad++. Notepad++ dapat diperoleh dari laman https://notepad-plus-plus.org. 2.2
c++ interpreter/compiler
Dalam catatan ini, penulis menggunakan GNU C++ compiler sebagai C++ compiler. Dalam Linux, compiler ini dapat diinstal dengan cara yaitu buka aplikasi Terminal, kemudian ketik perintah:
sudo apt-get install g++ Hasil instalasi tersebut dapat dilihat dengan mengetik:
g++ --version
7
dasar-dasar c++
Untuk Windows, penulis menggunakan cint C/C++ interpreter (cint-5.16.19). Cara memperoleh dan menggunakan interpreter ini adalah sebagai berikut: - buka laman https://root.cern.ch/drupal/content/cint - unduh cint-5.16.19-win32.tar.gz - ekstrak file di atas - dari folder cint-5.16.19, dobel klik cint.exe. 2.3
hello world!
Sudah menjadi hal yang lazim bahwa hal yang pertama kali dilakukan dalam dunia pemrograman adalah bagaimana menulis kalimat "Hello World!". 2.3.1
"Hello World!" dalam Linux
Cara yang dilakukan adalah di jendela gedit Text Editor diketik kode program sebagai berikut (Contoh 2.1).
#include using namespace std; int main(){ cout adalah mirza, maka lokasi file tersebut adalah /home/mirza/Documents/hello.cpp. Kemudian buka Terminal, ketik perintah seperti berikut:
mirza@mirza:~\$ cd Documents mirza@mirza:~/Documents\$ g++ hello.cpp -o hello mirza@mirza:~/Documents\$ ./hello Hello World! mirza@mirza:~/Documents\$
8
2.4 variabel dan tipe data
2.3.2
"Hello World!" dalam Windows
Buka aplikasi Notepad atau Notepad++, kemudian ketik kode program seperti Contoh 2.1. Simpan kode tersebut, misal dengan nama hello.cpp, di lokasi C:\hello.cpp. Buka interpreter cint.exe, ketik perintah:
cint.exe> cint C:\hello.cpp Hello World! cint.exe> 2.4
variabel dan tipe data
Sebagai contoh, akan dibuat sebuah program sederhana untuk menghitung gaya F, dengan massa m = 10kg dan percepatan a = 2ms−2 . Kode programnya adalah (Contoh 2.2):
#include using namespace std; int main(){ int m, a, F; m = 10; a = 2; F = m * a ; cout