solusi penyelesaian deret maclaurin dari fungsi sin (x) menggunakan program c++
TRANSCRIPT
Solusi Penyelesaian Deret Maclaurin dari Fungsi Sin (x)
Menggunakan Program C++
Lida Maulida
FISIKA
SAINS DAN TEKNOLOGI
UIN SUNAN GUNUNG DJATI BANDUNG
E-mail: [email protected]
Abstrak: Deret Taylor atau Deret MacLaurin ini sangat bermanfaat dalam metode numerik untuk meng-hitung atau menghampiri nilai-nilai fungsi yang susah dihitung secara manual seperti nilai sin x, cos x,ex, log x atau ln (x + 1). Praktikum fisika komputasi 1 kali ini adalah mencari bentuk solusi penyelesa-ian deret Maclaurin dari fungsi sin (x) dengan menggunakan program C++. Untuk dapat menentukansolusinya kita memerlukan beberapa fungsi yaitu fungsi pemfaktoran, Pemangkatan, Penjumlahan, danfungsi pernyataan for. Hasil yang di dapat untuk nilai fungsu Sin 30 , yaitu 0.4794 dalam metode ana-litik dan 0.499967 dalam metode numerik menggunakan program C++.
Kata kunci: Deret Maclaurin, Deret Taylor, solusi analitik, solusi numerik, program C++
1
2
1 Pendahuluan
1.1 Metode Numerik
Fisika komputasi adalah studi implementasi numerik algoritma untuk memecahkan masa-
lah di bidang fisika di mana teori kuantitatif sudah ada [2].Dalam sejarah, fisika komputasi
adalah aplikasi ilmu komputer modern pertama di bidang sains, dan sekarang menjadi su-
bbagian dari sains komputasi.Dalam fisika, berbagai teori yang berdasarkan permodelan
matematika menyediakan prediksi yang akurat mengenai bagaimana sebuah sistem berge-
rak. Namun seringkali penggunaan permodelam matematika untuk sebuah sistem khusus
yang bertujuan untuk menghasilkan prediksi yang bermanfaat tidak bisa dilakukan keti-
ka itu. Hal ini terjadi karena solusi permasalahan tidak memiliki ekspresi bentuk tertutup
(closed-form expression) atau terlalu rumit. Dalam banyak kasus, perkiraan numerik di-
butuhkan. Fisika komputasi adalah subjek yang berhubungan dengan berbagai perkiraan
numerik; perkiraan solusi yang ditulis sebagai sejumlah besar bilangan terbatas (finite) dari
operasi matematika sederhana (algoritma), dan komputer digunakan untuk melakukan ope-
rasi tersebut dan menghitung solusi dan errornya.[2].
Seperti telah dibahas di atas, metode numeric digunakan untuk menyelesaikan persoalan
dimana perhitungan secara analitik tidak dapat digunakan. Metode numeric ini berangkat
dari pemikiran bahwa permasalahan dapat diselesaikan dengan menggunakan pendekatan-
pendekatan yang dapat dipertanggung-jawabkan secara analitik. Metodenumerik ini disa-
jikan dalam bentuk algoritma-algoritma yang dapat dihitung secara cepat dan mudah.
Pendekatan yang digunakan dalam metode numerik merupakan pendekatan analisis mate-
matis. Sehingga dasar pemikirannya tidak keluar jauh dari dasar pemikiran analitis, hanya
saja pemakaian grafis dan teknik perhitungan yang mudah merupakan pertimbangan dalam
pemakaian metode numerik. Mengingat bahwa algoritma yangdikembangkan dalam meto-
de numerik adalah algoritma pendekatan maka dalamalgoritma tersebut akan muncul istilah
iterasi yaitu pengulangan proses perhitungan. Dengan kata lain perhitungan dalam meto-
de numerik adalah perhitungan yang dilakukansecara berulang-ulang untuk terus-menerus
diperoleh hasil yang main mendekati nilai penyelesaian exact[3].
Lida Maulida (1211703021) Deret Maclaurin Fungsi Sin (x) Menggunakan Program C++
1.2 Deret Maclaurin 3
1.2 Deret Maclaurin
Dalam matematika, deret Taylor adalah representasi fungsi matematika sebagai jumlahan
tak hingga dari suku-suku yang nilainya dihitung dari turunan fungsi tersebut di suatu titik.
Deret ini dapat dianggap sebagai limit polinomial Taylor. Deret Taylor mendapat nama dari
matematikawan Inggris Brook Taylor. Bila deret tersebut terpusat di titik nol, deret tersebut
dinamakan sebagai deret Maclaurin, dari nama matematikawan Skotlandia Colin Maclaurin[7]Deret Maclaurin merupakan deret Taylor pada saat keadaan Z0 = 0. Suatu fungsi f(x)
yang memiliki turunan f′
(x) , f′′
(x) , f′′′
(x) dan seterusnya yang kontinyu dalam interval I
dan a, x ε I maka untuk x disekitar a yaitu |x − a| < R, f(x) dapat di ekspansikan kedalam
Deret Taylor, dalam kasus khusus jika a = 0, maka disebut Deret Maclaurin atau sering di-
sebut Deret Taylor Baku, dan didefinisikan sebagai berikut:
Definisi Deret Maclaurin:
f(x) = f(0) +x
1!f
′(0) + ...+
xn
n!fn(0) + ...Rn(x) (1)
Deret Taylor atau Deret MacLaurin ini sangat bermanfaat dalam metode numerik untuk
menghitung atau menghampiri nilai-nilai fungsi yang susah dihitung secara manual seperti
nilai sin x, cos x, ex, log x atau ln (x + 1). Tentu kita tidak akan bisa menghitung nilai-nilai
fungsi tersebut tanpa menggunakan bantuan kalkulator atau tabel. Dalam tulisan ini saya
akan mencoba untuk mendekati fungsi-fungsi tersebut menggunakan Deret MacLaurin.
1.3 Program C++
C++ adalah bahasa pemrograman komputer yang di buat oleh (Bjarne Stroustrup) meru-
pakan perkembangan dari bahasa C dikembangkan di Bell Labs (Dennis Ritchie) pada awal
tahun 1970-an, Bahasa itu diturunkan dari bahasa sebelumnya, yaitu B, Pada awalnya, ba-
hasa tersebut dirancang sebagai bahasa pemrograman yang dijalankan pada sistem Unix,
Pada perkembangannya, versi ANSI (American National Standart Institute) Bahasa pemro-
Lida Maulida (1211703021) Deret Maclaurin Fungsi Sin (x) Menggunakan Program C++
1.3 Program C++ 4
graman C menjadi versi dominan, Meskipun versi tersebut sekarang jarang dipakai dalam
pengembangan sistem dan jaringan maupun untuk sistem embedded, Bjarne Stroustrup pa-
da Bel labs pertama kali mengembangkan C++ pada awal 1980-an. Untuk mendukung
fitur-fitur pada C++, dibangun efisiensi dan sistem support untuk pemrograman tingkat ren-
dah (low level coding).[4] Pada C++ ditambahkan konsep-konsep baru seperti class dengan
sifat-sifatnya seperti inheritance dan overloading.[butuh rujukan] Salah satu perbedaan yang
paling mendasar dengan bahasa C adalah dukungan terhadap konsep pemrograman berori-
entasi objek (Object Oriented Programming).[5]
Perbedaan Antara Bahasa pemrograman C dan C++ meskipun bahasa-bahasa tersebut
menggunakan sintaks yang sama tetapi mereka memiliki perbedaan, C merupakan bahasa
pemrograman prosedural, dimana penyelesaian suatu masalah dilakukan dengan membagi-
bagi masalah tersebut kedalam su-submasalah yang lebih kecil, Selain itu, C++ merupakan
bahasa pemrograman yang memiliki sifat Pemrograman berorientasi objek, Untuk menye-
lesaikan masalah, C++ melakukan langkah pertama dengan menjelaskan class-class yang
merupakan anak class yang dibuat sebelumnya sebagai abstraksi dari object-object fisik,
Class tersebut berisi keadaan object, anggota-anggotanya dan kemampuan dari objectnya,
Setelah beberapa Class dibuat kemudian masalah dipecahkan dengan Class.[6]
Lida Maulida (1211703021) Deret Maclaurin Fungsi Sin (x) Menggunakan Program C++
5
2 Metode Eksperimen
2.1 Prosedur
Pada praktikum fisika komputasi I , akan mencari solusi penyelesaian mengenai gerak dua
dimensi khususnya untuk gerak parabola atau gerak peluru. Prosedur percobaannya adalah:
1. Membuat solusi untuk menentukan nilai faktorial dari sebuah bilangan.
2. Membuat solusi secara analitik aproksimasi fungsi sin (x) dengan menggunakan deret
maclaurin.
3. Membuat solusi persamaan deret Maclaurin menggunakan program C++.
4. Menentukan nilai dari sin (300) dengan menggunakan program C++ yang sudah di-
buat.
Lida Maulida (1211703021) Deret Maclaurin Fungsi Sin (x) Menggunakan Program C++
2.2 Diagram Alir 6
2.2 Diagram Alir
Mulai
solusi numerik faktorial dengan c++
solusi analitik
solusi numerik deret maclaurin dengan c++
pengolahan data
Selesai
Lida Maulida (1211703021) Deret Maclaurin Fungsi Sin (x) Menggunakan Program C++
7
Gambar 1: Program C++ untuk Faktorial
3 Hasil dan Pembahasan
3.1 Solusi untuk menentukan nilai faktorial dari sebuah bilangan
Untuk menentukan nilai faktorial sebuah bilangan dalam program C++ kita perlu mendefi-
nisikan variabel-variabel yang akan kita gunakan untuk pengeksekusian program.
Berikut merupakan program C++ untuk mencari nilai faktor dari suatu bilangan:
Program diatas menjelaskan bahwa untuk dapat menentukan hasil faktorial dari suatu
bilangan kita dapat menggunakan fungsi ”for”, jika kita memisalkan mencari besar faktorial
dari 3 maka :
”cin=3” yang kita masukan pada terminal compailer program c++ maka program akan
memprosesnya menggunakan gerbang logika for, jika bil=n=3 dan 3 >=1 dan 3 terus ber-
kurang menuju 1 maka hasil yang baru adalah perkalian dari hasil yang lama yang dikalikan
dengan bil=n=3.
Berikut merupakan hasil dari compiler and run dari program C++:
Lida Maulida (1211703021) Deret Maclaurin Fungsi Sin (x) Menggunakan Program C++
3.2 solusi secara analitik aproksimasi fungsi sin (x) dengan menggunakan deretmaclaurin 8
Gambar 2: Hasil Compiler dari Program C++ untuk 3 faktorial
3.2 solusi secara analitik aproksimasi fungsi sin (x) dengan menggunakan
deret maclaurin
Jika kita mengembangkan sin x dalam deret pangkat x, maka kita perlu mencari turunan-
turunan dari fungsi tersebut terlebih dahulu:
fungsi fungsi hasil
f(x) = sin x f(0) = 0
f′(x) = cos x f
′(0) = 1
f′′(x) = -sin x f
′′(0) = 0
f′′′(x) = -cos x f
′′′(0) = -1
... ...
... ...
... ...
Maka,
Sinx = 0 + 1(x) +0
2!x2 +
−13!x3 +
0
4!x4 + ... (2)
Sinx = x−x3
3!+x5
5!−x
7
7!+x9
9!−...+)(−1)n−1 x2n−1
(2n− 1)!+...
lim
n→∼| x2n+!
(2n− 1)!
(2n− 1)!
x2n+!|
(3)
Lida Maulida (1211703021) Deret Maclaurin Fungsi Sin (x) Menggunakan Program C++
3.2 solusi secara analitik aproksimasi fungsi sin (x) dengan menggunakan deretmaclaurin 9
Sinx =lim
n→∼x2
1
2n(2n+ 1)= 0 (4)
Jika Sin 30 = 0.5 kita tinggal mensubsitusikan nilai tersebut kedalam persamaan di atas.
Sinx = x− x3
3!+x5
5!− x7
7!+x9
9!− ... (5)
Sin30 = 0.5− 0.53
3!+
0.55
5!− 0.57
7!+ ... (6)
Sin30 = 0.5− 0.125
6+
0.03125
120− 0.0078125
5040+ ... (7)
Sin30 = 0.4794 (8)
Lida Maulida (1211703021) Deret Maclaurin Fungsi Sin (x) Menggunakan Program C++
3.3 Solusi persamaan deret Maclaurin menggunakan program C++. 10
3.3 Solusi persamaan deret Maclaurin menggunakan program C++.
Untuk menentukan nilai deret dari sebuah fungsi Maclaurin dalam program C++ kita per-
lu mendefinisikan variabel-variabel yang akan kita gunakan untuk pengeksekusian pro-
gram.type data yang di gunakan adalah double karena variabel yang akan ditampung adalah
data pecahan dengan ukuran memori 8 byte. Dalam pembuatan program kali ini kita kem-
bali menggunakan fungsi ”for”, pernyataan for berguna untuk mengulang pengeksekusian
terhadap satu atau sejumlah pernyataan, seperti dalam kasus deret maclaurin ini.
for(ungkapan1;ungkapan2;ungkapan3)
pernyataan tersebut identik dengan:
ungkapan 1;
while (ungkapan 2)
{
pernyataan;
ungkapan 3;
}
Ini sama artinya:
• ungkapan 1 merupakan pernyataan inisialisasi sebelum mesuk ke while
• ungkapan 2 berlaku sebagai kondisi yang menentukan pengulangan terhadap pernya-
taan atau tidak.
• ungkapan 3 digunakan sebagai pengatur variabel yang digunakan didalam ungkap-
an1.
Tampak bisa terlihat penggunaan for, implementasinya akan menjadi lebih sederhana. Pada
program kali ini kita menggunakan pernyataan for yang juga berada didalam pernyataan
for. Berikut merupakan program dalam C++:
Untuk hasil sin 30 kita bisa langsung compiler program sehingga menunjukan besar nilai
Lida Maulida (1211703021) Deret Maclaurin Fungsi Sin (x) Menggunakan Program C++
3.3 Solusi persamaan deret Maclaurin menggunakan program C++. 11
Gambar 3: Program C++ untuk Deret Maclaurin
Gambar 4: Hasil Sin 30 pada Program C++ untuk Deret Maclaurin
untuk sin 30, berikut hasil compiler dari program C++:
Hasilnya mendekati dengan perhitungan analitik, jika dalam perhitukan analitik kita
mendapatkan nilai sebesar 0.4794 dan pada program c++ didapatkan nilai sebesar 0.499967.
Lida Maulida (1211703021) Deret Maclaurin Fungsi Sin (x) Menggunakan Program C++
12
4 Kesimpulan
Untuk mencari Solusi penyelesaian deret maclaurin kita dapat menggunakan dua metode
yaitu secara analitik walaupun kita harus beresiko menurunkan persamaan-persamaan yang
sangat rumit dan secara numerik yang menggunakan program C++ itu lebih sederhana dan
hasilnyapun memiliki keakuratan yang lebih baik dibandingkan metode analitik. Pada per-
cobaan kali ini berhasil didapatkan nilai fungsu Sin 30 , yaitu 0.4794 dalam metode analitik
dan 0.499967 dalam metode numerik menggunakan program C++.
Lida Maulida (1211703021) Deret Maclaurin Fungsi Sin (x) Menggunakan Program C++
Pustaka 13
Pustaka
[1] Suparno, Supriyanto. 2007. Komputasi Untuk Sains dan Teknik. FMIPA. Universitas
Indonesia.
[2] Thijssen, Joseph. 2007. Computational Physics; Cambridge University Press.
[3] https://www.academia.edu/4532357/Metode Numerik Sebagai Algoritma Komputasi.
(Diakses pada 30September 2014).
[4] Hanif al fatta .2006. Dasar Pemrograman C++ disertai dengan Pengenalan Pemro-
graman Berorientasi Objek. ISBN 979-763-582-1.
[5] Bruce Eckel (2000). Thinking in C++. Jilid 1 dari Thinking in C++ Introduction to
Standard C+, Bruce Eckel. ISBN 0139798099, 9780139798092.
[6] Bjarne Stroustrup .2000. The C++ programming language, Prentice Hall, 2000. ISBN
0201889544, 9780201889543.
[7] http : //id.wikipedia.org/wiki/DeretTaylor
Lida Maulida (1211703021) Deret Maclaurin Fungsi Sin (x) Menggunakan Program C++