Pengaturan

Gambar

Lainnya

Tentang KASKUS

Pusat Bantuan

Hubungi Kami

KASKUS Plus

© 2024 KASKUS, PT Darta Media Indonesia. All rights reserved

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)
nona212
nona212 memberi reputasi
1
1.6K
9
GuestAvatar border
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Mari bergabung, dapatkan informasi dan teman baru!
Programmer Forum
Programmer ForumKASKUS Official
20.2KThread4.3KAnggota
Urutkan
Terlama
GuestAvatar border
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Ikuti KASKUS di
© 2023 KASKUS, PT Darta Media Indonesia. All rights reserved.