Kaskus

Tech

fwhynAvatar border
TS
fwhyn
Belajar Bahasa C/C++ part 3
Trigonometri
Hallo gan, kali ini ane mau share tentang trigonometri, oke lets cekidotemoticon-Ngakak
Awal mulanya sih ada temen yang nyuruh nayri sin alpha atau cos alpha, tapi gak pake #include <math.h> library. Bingung kan? Katanya pake deret gitu. Dan setelah ane liat-liat dari beberapa sumber, ternyata ada cara nyari sin ato cos alpha dengan menggunakan metode deret bilangan.
Prinsipnya sederhana sih gan,
rumusnya kayak gini:
Belajar Bahasa C/C++ part 3
Cuman, biar hasilnya lebih teliti,rumusnya ane ubah, jadi kayak gini:
Belajar Bahasa C/C++ part 3
Terus ane buat algoritma dalam bentuk C++ nya, dan lumayan membuat otak ane pusing juga gan emoticon-Ngakak. Dan finally, kodenya selesai, bagi agan yang pengen nyoba, kodenya tinggal copas di bawah ini:
Code:

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

double sin,cos,x,n,m,o,p,q,faktor_n,faktor_n1,faktor_n2,bagi_faktor,pangkat,total,sudut;
int i,j;
char a;

double faktorial(double n)
{
faktor_n=n;
for (n--;1<n;n--)
faktor_n=faktor_n*n;
}

double x_pangkat(double x,double e)
{
pangkat=x;
for(i=1;i<e;i++)
pangkat=pangkat*x;
}

double sin_x(double theta)
{
if (sudut>=270)
sudut=-(360-sudut);
if (sudut>=180)
sudut=-(sudut-180);
if (sudut>90)
sudut=180-sudut;
x=sudut*22/(7*180);
n=15;
o=n;
p=n;
q=n;
faktorial(n);
total=x*faktor_n;
m=3;
j=1;
for (o;3<=o;o=o-2)
{
faktorial(p);
faktor_n1=faktor_n;
faktorial(m);
faktor_n2=faktor_n;
bagi_faktor=faktor_n1/faktor_n2;
x_pangkat(x,m);
if (j%2==0)
total=total+pangkat*bagi_faktor;
else
total=total-pangkat*bagi_faktor;
m=m+2;
j++;
}
faktorial(q);
sin=total/faktor_n;
}
double cos_x(double theta)
{
if (sudut>=270)
sudut=360-sudut;
if (sudut>=180)
sudut=sudut-180;
if (sudut>90)
sudut=180-sudut;
x=sudut*22/(7*180);
n=14;
o=n;
p=n;
q=n;
faktorial(n);
total=faktor_n;
m=2;
j=1;
for (o;3<=o;o=o-2)
{
faktorial(p);
faktor_n1=faktor_n;
faktorial(m);
faktor_n2=faktor_n;
bagi_faktor=faktor_n1/faktor_n2;
x_pangkat(x,m);
if (j%2==0)
total=total+pangkat*bagi_faktor;
else
total=total-pangkat*bagi_faktor;
m=m+2;
j++;
}
faktorial(q);
cos=total/faktor_n;
if (sudut==90)
cos=1;
}
main()
{
system("cls");
printf("masukkan sudut : ");
scanf("%lf",&sudut);
printf("a. sin theta\n");
printf("b. cos theta\n");
a=getch();
if (a=='a')
{
while (sudut>=360)
sudut=sudut-360;
sin_x(x);
printf("sin theta = %.3lf\n",sin);
}
else if (a=='b')
{
while (sudut>=360)
sudut=sudut-360;
if (sudut<=90)
{
cos_x(x);
printf("cos theta = %.3lf\n",cos);
}
if (sudut>=270)
{
cos_x(x);
printf("cos theta = %.3lf\n",cos);
}
if (sudut>=180)
{
cos_x(x);
printf("cos theta = %.3lf\n",-cos);
}
if (sudut>90)
{
cos_x(x);
printf("cos theta = %.3lf\n",-cos);
}
}
else
{
printf("pilihan salah!\n");
getch();
return main();
}
getch();
return main();
}

Sebenernya ini kode masih dalam tahap pengembangan, soalnya masih kurang teliti&kodenya menurut ane itu kebanyakan emoticon-Ngakak. So, bagi agan/sisti yang mau bantu, silakan kasih komentar/sarannya biar ane bisa ngembangin itu kode. Semoga bermanfaat. emoticon-I Love Indonesia (S)emoticon-I Love Indonesia (S)emoticon-I Love Indonesia (S)
nona212Avatar border
nona212 memberi reputasi
1
1.6K
9
GuestAvatar border
Komentar yang asik ya
Urutan
Terbaru
Terlama
GuestAvatar border
Komentar yang asik ya
Komunitas Pilihan