Posted by : Me Rabu, 29 Juli 2015

INFO: Source Code dalam bahasa C terdapat di bagian paling bawah pos ini ^_^

Yak, ini postingan pertama saya mengenai program untuk mencari akar-akar persamaan kuadrat. Secara umum, persamaan kuadrat berbentuk ax+ bx + c. Persamaan kuadrat memiliki 3 jenis akar, yaitu akar imajiner, real kembar, dan real berbeda. Akar yang saya maksudkan di sini adalah (x + a)(x + b), di mana akar pertama (x1) sama dengan a dan akar kedua (x2) sama dengan b. Nah, inilah bekal awal saya dalam membuat program ini pada Pascal.

By the way, Pascal itu bagi yang pertama kali mendengarnya (red: membacanya), merupakan bahasa pemrograman tingkat tinggi di samping bahasa C/C++, Java, dll. Berbeda dari bahasa pemrograman lainnya, bahasa Pascal tergolong mudah untuk dipahami karena tidak menggunakan simbol-simbol yang 'ribet' namun memang jadi tidak efisien. Walaupun demikian, bagi pemula saya lebih merekomendasikan pelajari Pascal terlebih dahulu untuk lanjut ke tingkat yang lebih sulit.

Yak, agak ngawur dari topik, daripada kebanyakan tulisan lebih baik saya berikan source code dari program yang saya buat. So check it out bro!

Program Akar2PersKuadar;

uses
 crt;

var
 a, b, c: integer;
        D, x1, x2: real;

begin
 writeln('PROGRAM MENCARI AKAR DARI PERSAMAAN KUADRAT'); 
 writeln('Bentuk umum persamaan kuadrat ax^2 + bx + c');
 writeln(' ');
 write('Masukkan konstanta untuk variabel a: ');
 readln(a);
 write('Masukkan konstanta untuk variabel b: ');
 readln(b);
 write('Masukkan konstanta c: ');
 readln(c);

 If a = 1 Then
 begin
  writeln(' ');
  writeln('Bentuk persamaan: x^2 + ', b ,'x + ', c);
  writeln(' ');
 end Else
 begin
  writeln(' ');
  writeln('Bentuk persamaan: ', a, 'x^2 + ', b ,'x + ', c);
  writeln(' ');
 end;

 D := b*b - 4*a*c;
 While D<0 do
 begin
  writeln(' '); 
  writeln('ERROR: Persamaan yang Anda input menghasilkan akar imajiner');
  writeln('Silakan ulangi (tekan enter)');
  readln;
  write('Masukkan konstanta untuk variabel a: ');
  readln(a);
  write('Masukkan konstanta untuk variabel b: ');
  readln(b);
  write('Masukkan konstanta c: ');
  readln(c);
  D := b*b - 4*a*c;
 end;

        If D = 0 Then
 begin
  x1 := b/2*a;
  write('Akar dari persamaan yang Anda minta adalah: ');
  write('Real Kembar bernilai ', x1:0:2);
 end
 Else begin
  x1 := (b - sqrt(D))/2*a;
  x2 := (b + sqrt(D))/2*a;
  write('Akar dari persamaan yang Anda minta adalah: ');
  write('Real berbeda bernilai ', x1:0:2, ' dan ', x2:0:2);
                end;
                readln;
end.

Setelah di-compile, maka inilah hasilnya:

Yak, mungkin masih ada kekurangan dari program yang saya tulis, namun setidaknya berjalan sebagaimana mestinya. Terima kasih sudah membaca posting-an saya, semoga bermanfaat bagi teman-teman sekalian. Masih banyak lagi program-program yang telah saya buat yang belum sempat di-post, ditunggu sajalah. ^_^

UPDATE!
Secara iseng mengisi waktu liburan, saya tidak sengaja membuat versi bahasa C-nya. Secara tampilan tidak ada yang berubah kecuali bahasanya saja. Versi bahasa C ini hanya digunakan sebagai pembanding saja antara bahasa pemrograman yang satu dengan yang lain. So check it out bro!

#include 
#include 

int main()
{
    int a; int b; int c;
    float d; float x1; float x2;

    printf("PROGRAM MENCARI AKAR DARI PERSAMAAN KUADRAT \n");
    printf("Bentuk umum persamaan kuadrat ax^2 + bx + c \n");
    printf("\n");
    printf("Masukkan konstanta untuk variabel a: ");
    scanf("%d", &a);
    printf("Masukkan konstanta untuk variabel b: ");
    scanf("%d", &b);
    printf("Masukkan konstanta c: ");
    scanf("%d", &c);
    d = b*b - 4*a*c;
    printf("\n");

    while (d<0){
        printf("ERROR: Akar Imajiner, silakan ulangi \n");
        printf("Masukkan konstanta untuk variabel a: ");
        scanf("%d", &a);
        printf("Masukkan konstanta untuk variabel b: ");
        scanf("%d", &b);
        printf("Masukkan konstanta c: ");
        scanf("%d", &c);
        d = b*b - 4*a*c;
        printf("\n");
    }
    if (d==0){
        x1= b/2*a;
        printf("Akar dari persamaan yang Anda minta adalah ");
        printf("real kembar yang bernilai %5.2f \n", x1);
    }
    else {
        x1 = (b-sqrt(d))/2*a;
        x2 = (b+sqrt(d))/2*a;
        printf("Akar dari persamaan yang Anda minta adalah ");
        printf("real berbeda bernilai %5.2f dan %5.2f \n", x1, x2);
    }
    return 0;
}

Leave a Reply

Subscribe to Posts | Subscribe to Comments

Welcome to My Blog

Labels

Popular Post

- Copyright © Dunia [masih] bersinar -Robotic Notes- Powered by Blogger - Designed by Johanes Djogan -