Membuat Fungsi Akar Dalam Bahasa C (sqrt)


 Spesifikasi :
Dengan menggunakan Newton's Method  sebagai acuan dasar dalam membuat fungsi akar.
angka 128 adalah 128 bit = 16 bytes sebagai batas maksimal double.

#include <stdio.h>
#define epsilon 1e-12

double akar(double x) {
    double d = x/128;
    double xn = d;
    double xnmin;
    double temp;

    while (d > epsilon) {
        xnmin = xn;
        xn = xnmin - ((xnmin * xnmin - x)/(2 * xnmin));
        temp = xn - xnmin;
        if (temp < 0) {
            d = temp * (-1);
        } else {
            d = temp;
        }
    }
    return xn;
}


/* Program Utama */
int main() {
    float x;
    printf("Akar dari : ");
    scanf("%f", &x);
    printf("adalah %.4f\n", akar(x));
    return 0;
}




Tidak ada komentar:

Posting Komentar