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
Mari bergabung, dapatkan informasi dan teman baru!
Programmer Forum
Programmer Forum
KASKUS Official
20.2KThread5KAnggota
Urutkan
Terlama
GuestAvatar border
Komentar yang asik ya
Ikuti KASKUS di
© 2025 KASKUS, PT Darta Media Indonesia. All rights reserved.