Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Program untuk menghitung sisi - sisinya jika diketahui semua sudutnya
- /* Programmer : William Handi Wijaya Tanggal diselesaikan : 21 November 2019
- NRP : 05111940000087 Kelas : Dasar Pemograman C */
- #define M_PI 3.14159
- #include<stdio.h>
- #include<math.h> //definisi fungsi library math.h
- void getSisi(double *a, double *b, double *c);
- double getCos(double a, double b, double c);
- double getSudut(double cos);
- int main(void)
- {
- double a, //sisi pertama dari segitiga
- b, //sisi kedua dari segitiga
- c, //sisi ketiga dari segitiga
- sudut_a, //besar nilai sudut sisi pertama
- sudut_b, //besar nilai sudut sisi kedua
- sudut_c, //besar nilai sudut sisi ketiga
- cos_a,cos_b,cos_c; //variabel yang menyimpan nilai cos
- printf("----------------------Sudut - sudut pada segitiga----------------------\n\n");
- do
- {
- //Masukkan sisi - sisi dari segitiga
- printf("\n\n------Angka yang dimasukkan harus bernilai positif--------\n\n");
- getSisi(&a, &b, &c);
- }
- while(a <= 0 || b <= 0 || c <= 0); // Jika input bernilai negatif -> ulangi
- //Hitung sudut - sudut yang ada pada segitiga
- //Pertama
- cos_a = getCos(b, c, a);
- //Kedua
- cos_b = getCos(a, c, b);
- //ketiga
- cos_c = getCos(a, b, c);
- //Hitung nilai dari acos dalam satuan derajad
- //pertama
- sudut_a = getSudut(cos_a);
- //kedua
- sudut_b = getSudut(cos_b);
- //ketiga
- sudut_c = getSudut(cos_c);
- //Tampilkan hasilnya pada layar
- printf("Besar nilai sudut antara titik b dan c adalah %0.2f derajat\n", sudut_a);
- printf("Besar nilai sudut antara titik a dan c adalah %0.2f derajat\n", sudut_b);
- printf("Besar nilai sudut antara titik a dan b adalah %0.2f derajat\n", sudut_c);
- return 0;
- }
- double getSudut(double cos)
- {
- double sudut;
- sudut = acos(cos) * (180 / M_PI);
- return sudut;
- }
- double getCos(double a, double b, double c)
- {
- double cos;
- cos = (pow(a,2) + pow(b,2) - pow(c,2) ) / (2 * a * b);
- return cos;
- }
- void getSisi(double *a, double *b, double *c)
- {
- printf("Masukkan sisi pertama dari segitiga dalam satuan cm => ");
- scanf("%lf", a);
- printf("Masukkan sisi kedua dari segitiga dalam satuan cm => ");
- scanf("%lf", b);
- printf("Masukkan sisi ketiga dari segitiga dalam satuan cm => ");
- scanf("%lf", c);
- }
Advertisement
Add Comment
Please, Sign In to add comment