solusi penyelesaian deret maclaurin dari fungsi sin (x) menggunakan program c++

13
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, e x , 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 menentukan solusinya kita memerlukan beberapa fungsi yaitu fungsi pemfaktoran, Pemangkatan, Penjumlahan, dan fungsi 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

Upload: uinsgd

Post on 06-Apr-2023

0 views

Category:

Documents


0 download

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++