Operasi trigonometri sederhana menggunakan java

Perhitungan trigonometri menggunakan java kadang membingungkan, karena angka atau nilai sudut yang dimasukkan kadang akan menghasilkan output yang berbeda dengan yang seharusnya. Sebagai contoh saat kita mencari nilai sin 3o, hasilnya -0.9880316.

Sin 30 output error

Ini dikarenakan nilai sudut harus diubah dulu menjadi radian dulu dengan method “Math.toRadians(30)”, sehingga setelah di run outputnya menjadi 0.5

Sin 30 output 0.5

Sekarang sebagai contoh kita akan membuat perhitungan kalo dalam teknik elektronika mata kuliah robotika adalah forward kinematic. Contoh soalnya sebagai berikut :

forward kinematic
Contoh soal forward kinematic

Dimana :

a = panjang sisi miring

θ = sudut

Dan untuk penyelesainya adalah sebagai berikut :

x1 = a1 * cos(θ1)

y1 = a1 * sin(θ1)

x2 = a1 * cos(θ1) + a2 * cos(θ1 + θ2)

y2 = a1 * sin(θ1) + a2 * sin(θ1 + θ2)

Jadi kalau dilakukan kalkulasi menggunakan java scriptnya sebagai berikut :

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package kinematic;

/**
 *
 * @author fadlur
 */
public class Trigonometri {
    public static void main(String[] args){
        float a1 = 8;
        float a2 = 10;
        float sudut1 = 30;//θ1
        float sudut2 = 30;//θ2
        float x1,x2,y1,y2;
        /*rumusnya sebagai berikut : 
        x1 = a1 * cos(θ1)

        y1 = a1 * sin(θ1)

        x2 = a1 * cos(θ1) + a2 * cos(θ1 + θ2)

        y2 = a1 * sin(θ1) + a2 * sin(θ1 + θ2)*/
        x1 = (float) (a1 * Math.cos(Math.toRadians(sudut1)));
        y1 = (float) (a1 * Math.sin(Math.toRadians(sudut1)));
        
        x2 = (float) ((a1 * Math.cos(Math.toRadians(sudut1)) + (a2 * Math.cos(Math.toRadians(sudut1+sudut2)))));
        y2 = (float) ((a1 * Math.sin(Math.toRadians(sudut1)) + (a2 * Math.sin(Math.toRadians(sudut1+sudut2)))));
        
        System.out.println("nilai x1 adalah "+x1+"\n");
        System.out.println("nilai y1 adalah "+y1+"\n");
        System.out.println("nilai x2 adalah "+x2+"\n");
        System.out.println("nilai y2 adalah "+y2+"\n");
        
    }
}

Hasilnya setelah di run.

 

Setelah script dirunning

Tinggalkan Balasan

This site uses Akismet to reduce spam. Learn how your comment data is processed.