September 2012 | Error Code | be a true student

Pages

Subscribe:
No.ProdukBeli
1. Beli... klik di sini

Minggu, 30 September 2012

Manipulation Sinyal


Lanjutan dari Manipulation signal yang kemarin yaitu signal addition (penambahan sinyal) untuk selanjutnya adalah sebagai berikut :
1.      Signal multiplication
Meruakan fungsi untuk memanipulasi sinyal diskrit, fungsinya adalah untuk mengalikan sinyal menjadi sinyal yang baru. Fungsinya seperti penambahan sinyal kemarin. Berikut ini adalah fungsinya :
function [y,n] = sigmult(x1,n1,x2,n2)
n=min(min(n1),min(n2)):max(max(n1),max(n2));
y1 = zeros(1,length(n)); y2 = y1;
y1(find((n>=min(n1))&(n<=max(n1))==1))=x1;
y2(find((n>=min(n2))&(n<=max(n2))==1))=x2;
y=y1 .* y2;
figure;subplot(3,1,1);stem(n,y1);subplot(3,1,2);stem(n,y2);subplot(3,1,3);stem(n,y);
           
source code diatas dapat disimpan dengan nama sgmult. Untuk memanggil fungsi ini tinggal kita panggil nama fungsinya kemudian kita kasih paramater yang ada di dalam kurung
contoh :
a=[1:13]
b=[2:14]
c=ones(1,9)
d=[-3:5]
kemudian kita panggil fungsinya caranya :
sigmult(a,b,c,d)    -> lalu [enter]


2.      Shiftiing (pergeseran)
Yang dimaksud pergeseran disini adalah indeksnya yang bisa digeser namu memiliki nilai y yang sama sebelum terjad pergeseran. Pergeseran dapat dilakukan kekanan (+) dan kekiri (-). Fungsi yang digunakan adalah sebagai berikut :
function [y,n] = sigshift(x,m,k)
n=m+k; y= x;
figure;subplot(2,1,1);stem(m,x);subplot(2,1,2);stem(n,y);
penjelasan :
x adalah tinggi sinyal, m adalah panjang indeksnya, k adalah besar pergeseran + jika kekanan – jika kekiri
source code diatas disimpan dengan nama sigshift. Kemudian untuk menggunakannya kita panggil kembali
contoh      :
kita punya x=[1:9]
kemudian kita punya indeks n=[-3:5]
kemudian kita geser kekiri sebanyak 5 atau ditulis -5, penggunaan fungsinya adalah
sigshift(x,n,-5)

tambahan :
dengan menggunakan fungsi di atas pergeseren tidak terlihat karena gambarnya sama seperti sebelumnya. Yang berbeda adalah angka yang ada pada indeksnya.
Nah agar terlihat sama kita tambahkan fungsi yang kita buat tadi sama seperti yang kita lakukan pada multiplication dan addition yang itu menjadi seperti berikut :

function [y,n] = sigshift(x,m,k)
n=m+k; y= x;
n2=min(min(m),min(n)):max(max(m),max(n));
y1=zeros(1,length(n2));
y2=y1;
y1(find((n2>=min(m))&(n2<=max(m))==1))= x;
y2(find((n2>=min(n))&(n2<=max(n))==1))= y;
figure;subplot(2,1,1);stem(n2,y1);subplot(2,1,2);stem(n2,y2);

penjelasan :
n2=min(min(m),min(n)):max(max(m),max(n));
artinya nilai n2 adalah nilai minimal dari minimal indeks m dan n sampai nilai maximal dari maksimal indeks m dan n
y1=zeros(1,length(n2));
y1 bernilai 0 sepanjang n2
y1(find((n2>=min(m))&(n2<=max(m))==1))= x;
y2(find((n2>=min(n))&(n2<=max(n))==1))= y;
kemudian digunakan fungsi find untuk menempatkan kembali indeks dari x yang berisi elemen m (elemen yang pertaman) disimpan di y1. Dan menempatkan kembali nlai dari n disimpan ke y2.

Lanjut baca - Manipulation Sinyal

Tipe Deret Diskrit


Setelah kita mengetahui tipe deret diskrit yaitu unit sample squence, dan step squence. Pada kali ini kita melanjutkan membahas tipe deret diskrit. Berikut adalah beberapa tipe deret yang telah dibahas pada praktikum ini.

1. Deretan real value eksponensial (Real Value Exponential Squence)
Merupakan sebuah deret yang terbentuk dari bilangan real
Contoh: 
X(n)=a^n

Di matlab dapat di gunakan tanda “.^” untuk menentukan deret ini. Contohnya adalah deret exponensial yang di peroleh dari 0,9 pangkat n. n sendiri bernilai dari 0 s/d 10.  Berikut ini adalah scriptnya.

n=[0:10];
>> x=(0.9).^n;
>> figure();stem(n,x);

2. Deretan complex value eksponensial (complex value exponential squence)

Yaitu deret yang terbentuk dari bilangan kompleks (bilangan yang terdiri dari bilangan real dan imajiner).
Contoh :
Berikut ini adalah script untuk contoh deret kompleks eksponensial : 

n=[0:100];
x=(0.9*exp(j*pi/10)).^n;
>> real(x);
>> imag(x);
>> figure;subplot(2,1,1);stem(n,real(x));subplot(2,1,2);stem(n,imag(x))
>> abs(x);
>> angle(x);
>>figure;subplot(2,1,1);stem(n,abs(x));subplot(2,1,2);stem(n,angle(x))
>>figure;subplot(2,2,1);stem(n,real(x));subplot(2,2,2);stem(n,imag(x));subplot(2,2,3);stem(n,abs(x));subplot(2,2,4);stem(n,angle(x))

Penjelasan fungsi-fungsi yang digunakan :
Real = untuk mengambil figure dari realnya
Imag     = untuk mengambil figur yang bilangan imaginer
Abs  = untuk memperlihatkan magnitudenya
Angle          = untuk memperlihatkan sudutnya (fasa)
Subplot   = fungsi untuk menentukan tata letaknya contoh subplot(2,1,1) angka 2 menunjukkan baris, 1 (pertama) menunjukkan kolom, 1 (kedua) menunjukkan urutan gambarnya.

3. Deret  Sinusoidal (sinusoidal squence)
Deret  yang menggunakan bilangan kompleks menggunakan sudut. Dengan matlab sudut yang dihasilkan dalam bentuk radian. Untuk itu kita harus merubah dalam bentuk drajat. Ada dua cara untuk membuatnya menjadi drajat yang pertama kita menggunakan rumus (x=a/360*2pi) atau menggunakan fungsi convang untuk mengkonversi dari radian ke degree atau sebalinya. Fungsi cos atau sin digunakan untuk menghasilkan deret sinusoidal.  Berikut ini adalah contoh implementasinya dalam matlab.
Contoh :

Konversi sudut
>>A=convang([pi/2, 3*pi/2, 2*pi],’rad’,’deg’)

Contoh sudut :
>> n=[0:500];
>>a=3*cos(0,1*pi*n+pi/3);
>>sudut_rad=convang(a,'deg','rad')
Untuk menampilkan kedalam grafik kita menggunakan fungsi 
>>figure;stem(n,sudut_rad);

4. Random deret (random squence)
Untuk membentuk deret ini kita membutuhkan dua fungsi yaitu rand untuk membentuk angka random antar 0 s/d 1 secara seragam, dan randn untuk membentuk nilai random antara 1 s/d N.
Contoh :
>> b=randn(1,80)
>> a=rand(1,80)
>> figure;subplot(2,1,1);stem(0:79,a);subplot(2,1,2);stem(0:79,b);
5. Periodic squence
Deret periodik adalah deret yang memiliki periode periode tertentu dengan syarat jika x(n)=x(n+N).
Contoh implementasinya menggunakan matlab adalah seperti berikut :

x=[1:5]
>> xtilde=[x,x,x,x]
>> xtilde2=x'*ones(1,4)
>> xtilde2=xtilde2(:)
>> xtilde2=xtilde2'
>> figure; subplot(2,1,1);stem(0:length(xtilde)-1,xtilde);subplot(2,1,2);stem(0:length(xtilde2)-1,xtilde2)

Setelah kita mengetahui tipe deretean diskrit kita belajar tenteng bagaimana manipulasi pada deret diskrit tersebut.

1. Signal addition (penambahan sinyal)
Contoh penambahan berikut {x1(n)}+{x2(n)}={x1(n)+x2(n)}. Pada matlab penjumlahan disebut dengan operasi aritmatika dengan menggunakan simbol “+”. Namun deretan sinyal yang dijumlahkan harus memiliki panjang yang sama yakni x1 dan x2.
Berikut adalah script yang digunakan untuk implementasi dalam matlab : 
Pertama kita buat fungsi penjumlahannya
Berikut source code-nya:
function [y,n] = sigadd(x1,n1,x2,n2)
n=min(min(n1),min(n2)):max(max(n1),max(n2)); 
y1=zeros(1,length(n));
y2=y1;
y1(find((n>=min(n1))&(n<=max(n1))==1))= x1
y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; 
y=y1+y2;
figure;subplot(3,1,1);stem(n,y1);subplot(3,1,2);stem(n,y2);subplot(3,1,3);stem(n,y);

kemudian kita simpan pada file editor dengan nama sigadd
setelah itu kita panggil fungsi yang telah kita simpan tadi dan memberikan inputan sebagai berikut :
>> x1=[3:9]
>> x2=ones(1,8)
>>n1=[-2:4];
>>n2=[-6:1];
Kemudian kita panggil fungsinya
>> sigadd(x1,n1,x2,n2)
Lanjut baca - Tipe Deret Diskrit

Sinyal Waktu Diskrit


Pada praktikum kedua kali ini kita mendapatkan ilmu baru lagi yang terdapat pada MATLAB yaitu bagaimana cara merepresentasikan bentk gelombang melalui deretan angka.

Pertama digunakan fungsi plot(), fungsi ini digunakan untuk menghasilkan gambar yang menghubungkan titik-titik dimana titik tersebut disetiap x memiliki nilai y sehingga menghasilkan gambar yang continue. Hal ini disebut dengan sinyal analog

Yang kedua adalah digunakan fungsi stem(), fungsi ini digunakan untuk merepresentasikan sebuah gambar sinyal digital dimana setiap indeks memiliki nilai tertentu.
Contoh penggunannya sebagai berikut

t=0:0.01:2;
x=sin(2*pi*t);
plot(t,x,’b’);
xlabel(’t in sec’);ylabel(’x(t)’);
title(’Plot of sin(2\pit)’);
figure;stem(t,x)

t=0:0.01:2; adalah mendeklarasikan waktu ini berart t= 0 sampai dengan 2
x= sin(2*pi*t) adalah untuk menentukan batas y
plot(t,x,’b’); adalah untuk merepresentasikan deretan x terhadap waktu menjadi sebuah grafik sinyal analog
xlabel(’t in sec’);ylabel(’x(t)’); untuk memberi label pada sumbu x dan sumbu y
title(’Plot of sin(2\pit)’); untuk memberi nama pada grafik yang terbentuk
figure;stem(t,x); untuk merepresentasikan deretan tersebut menjadi sebuah grafik digital yakni indeks tertentu memiliki nilai tertentu.

Contoh, terdapat deret x(n)= {2, 1,−1, 0, 1, 4, 3, 7} dari deret tersebut ingin kita representasikan grafiknya, cara yang pertama adalah karena sampel tersebut belum memiliki indeks n maka kita dapat mencarinya secara manual, carnya dengan membuat permulaan deret dari deret di atas. Misalnya deret n = 0 dimulai dari posisi angka 0 maka deret n dimulai dari n+3=0, n=-3 untuk batas awal sedangkan untuk batas akhirnya adalah n-4=0, n=4. Jadi deret dimulai dari angka -3 s/d 4 atau dapat ditulis n={-3,-2,-1,0,1,2,3,4}. Setelah kita tahu sampel n nya kita dapat memasukkannya ke MATLAB dengan formula

x(n)= [2, 1,−1, 0, 1, 4, 3, 7]

x=[-3:4]
[ketika di enter akan muncul seperti berikut]

x =
    -3    -2    -1     0     1     2     3     4

y= [2, 1,−1, 0, 1, 4, 3, 7]
[ketika di enter akan muncul seperti berikut]

y =
     2     1    -1     0     1     4     3     7
figure;stem(x,y);
[ketika di enter akan muncul grafiknya]

maka ketika dienter akan menghasilkan grafik yang indeks n=0 memiliki x[n]=0.

Kita juga dapat merubah nilai awal dari n tersebut, Misalnya deret n = 0 dimulai dari posisi angka 1 (x(n)= [2, 1,−1, 0, 1, 4, 3, 7]) maka deret n dimulai dari n+4=0, n=-4 untuk batas awal sedangkan untuk batas akhirnya adalah n-3=0, n=3. Jadi deret dimulai dari angka -4 s/d 3 atau dapat ditulis n={-4,-3,-2,-1,0,1,2,3}.

x(n)= [2, 1,−1, 0, 1, 4, 3, 7]

x=[-4:3]
[ketika di enter akan muncul seperti berikut]

x =
    -4 -3    -2    -1     0     1     2     3 
   
y= [2, 1,−1, 0, 1, 4, 3, 7]
[ketika di enter akan muncul seperti berikut]

y =
     2     1    -1     0     1     4     3     7
figure;stem(x,y);

maka ketika dienter akan menghasilkan grafik yang indeks n=0 memiliki x[n]=1.

Tipe deret 

1. Deret unti sampel (Unit Sample Sequence)
Kalau saya yang mengatakan deret ini terbentuk dari matrix 0. Yakni dengan menggunakan fungsi zeros(1,N) digunakan untuk membuat sebuah vektor baris dengan data 0 sebanyak N.
Untuk membuat deret ini kita buat batasnya dari -7 s/d 7 adalah sebagai berikut
>> c=zeros(1,15)
c =
     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
>> c(1,8)=1
c =
     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0
>> figure;stem(-7,7,d)

Atau kita membuat fungsi dengan formula sebagai berikut 

function [x,n]=impseq(n0,n1,n2);
n=[n1:n2]; x=[(n-n0)==0];
figure;stem(n,x);

cara memanggil fungsi ini adalah [x,n]= impseq (n0,n1,n2); jika fungsi ini digunakan kembali alangkah baiknya disimpan dengan nama fungsinya sendiri, agar lebih mudah untuk melakukan pemanggilan fungsi, yang perlu di ingat adalah kita harus merubah workspace atau current folder kita menjadi dimana tempat kita menyimpan fungsi yang telah kita buat tadi

2. Deret unit step (Unit Step Sequence)
Deret ini terbentuk dari kombinas dari matrix 0 dan matrix 1, yakni dengan menggunakan fungsi zeros(1,N) dan ones(1,N). Untuk membentuk deret dengan baris 0 sebanyak N dan baris bernilai 1 sebanyak N. Misalnya sebagai berikut

f=[zeros(1,6),ones(1,7)]
stem(-6:6,f)
f =
     0     0     0     0     0     0     1     1     1     1     1     1     1

Atau kita dapat membuat fungsi sebagai berikut

function [x,n] = stepseq(n0,n1,n2)
n=[n1:n2]; x = [(n-n0) >= 0];
figure;stem(n,x);

untuk menggunakan fungsi ini adalah [x,n] = stepseq(n0,n1,n2), jika fungsi ini digunakan kembali alangkah baiknya disimpan dengan nama fungsinya sendiri, agar lebih mudah untuk melakukan pemanggilan fungsi, yang perlu di ingat adalah kita harus merubah workspace atau current folder kita menjadi dimana tempat kita menyimpan fungsi yang telah kita buat tadi
Lanjut baca - Sinyal Waktu Diskrit

Pengenalan MATLAB

Pada hari pertama kita praktikum kita mengenal lebih dekat dengan software MATLAB, dengan software ini kita dapat melakukan komputasi maupun membuat sebuah program untuk memecahkan masalah matematika. Dengan menggunakan MATLAB dengan catatan tahu cara menggunakannya untuk melakukan tugas-tugas komputasi akan lebih cepat dibandingkan dengan menggunakan bahasa pemrograman seperti C, C++ dan fortran. Pada pengenalan pertama kita mengenal tampilan pertama pada saat program MATLAB terbuka yaitu ada command window adalah kolom untuk menuliskan code perintah yang dimengerti oleh MATLAB, current folder yaitu untuk mengetahui di folder mana kita bekerja, command history adalah untuk mengetahui perintah apa saja yang telah kita ketikkan di command window.
Setelah mengetahui tampilannya kita mencoba untuk membuat variabel dan melakukan beberapa operasi aritmatika, misalnya penjumalahan. Kita membuat sebuah variabel misalnya adalah variabel A dan B.
A= 1
B= 3
Kita menjumlah isi variabel A dan B dan di simpan di C command-nya sebagai berikut
C=A+B
Hasilnya adalah seperti di bawah ini
C=A+B
C =
4

Jika kita tidak membuat sebuah variabel untuk menyimpan dari hasil penjumlahan tersebut maka akan terdapat tulisan ans kependekan dari answer.
>> A+B
ans =
     4
MATLAB itu singkatan dari matrix laboratory. Untuk membuat array atau matrix adalah sebagai berikut:
Sama seperti sebelumnya kita membuat variabel kemudian kita beri nilai
A = [1 2 3 4] atau A = [1,2,3,4]
Di atas adalah code untuk membentuk matrix berordo 1 x 3, 1 menunjukkan baris dan 3 menunjukkan kolom. Untuk menambahkan baris kita hanya perlu menambahkan semicolon atau tanda (;) contohnya seperti berikut
A = [1 2 3 4;5 6 7 8] atau A = [1,2,3,4;5,6,7,8]
Jadinya akan seperti berikut
>> A=[1,2,3,4;5,6,7,8]

A =

     1     2     3     4
     5     6     7     8

Di MATLAB juga terdapat beberapa fungsi dasar untuk matrix misalnya, sum untuk menjumlah, transpose, diag, magic, ones, zeros dll
Fungsi magic digunakan untuk membuat matrix persegi ajaib dimana jika baris dijumlahkan akan sama dengan hasil penjumlahan kolom serta sama dengan hasil penjumlahan diagonalnya. Contohnya seperti berikut

>> B = magic(4)

B =

    16     2     3    13
     5    11    10     8
     9     7      6     12
     4    14    15     1

Diatas merupakan contoh yang matrix 4x4, untuk membuat kolom dan barisnya lebih banyak kita tinggal mengubah parameter fungsi yang semula magic (4) menjadi magic (n) dengan n bilangan bulat. Contoh
>> Z = magic (5)

Z =

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9
Setelah fungsi magic ada juga fungsi zeros dan ones, zeros digunakan untuk membuat matrix yang bernilai 0 semua. Sedangkan ones digunakan untuk membuat matrix yang bernilai 1 semua. Untuk lebih jelasnya di bawah ini adalah contoh code command-nya dan hasilnya.
>> c = ones(3,4)

c =

     1     1     1     1
     1     1     1     1
     1     1     1     1
Ones (3,4) berarti matrix yang akan dihasilkan adalah berordo 3x4 3 (baris dan 4 kolom).
>> C= zeros (3,4)

C =

     0     0     0     0
     0     0     0     0
     0     0     0     0
Caranya untuk yang zeros sama dengan fungsi ones contohnya di atas.
Selain fungsi di atas juga masih ada sum, sum digunakan untuk menjumlah kolom, baris ataupun diagonal matrix. Caranya juga sama dengan mengetikkan sum(parameternya) contohnya adalah sebagai berikut
Misalnya kita mempunyai matrix A dengan ordo 2x4 seperti berikut
>> A = [1 2 3 4; 5 6 7 8]

A =

     1     2     3     4
     5     6     7     8
Kemudian kita mencoba menggunakan fungsi sum dengan cara sum(A) hasilnya adalah dibawah ini
>> B=sum(A)

B =

     6     8    10    12
kita juga dapat membuat transpose matrix dengan cara memberi tanda ( ‘ ) pada variabel centohnya.
>> b = A'

b =

     1     5
     2     6
     3     7
     4     8
Ada fungsi diag untuk mengetahui diagonal dari sebuah matrix seperti contoh berikut. Kita punya matrix persegi berikut
>> A=[1:4;5:8;9:12;13:16]

A =

     1        2      3     4
     5        6      7     8
     9     10     11    12
    13    14    15    16
Kita cari diagonalnya dengan cara menggunakan fungsi diag(A) hasilnya seperti berikut
>> diag(A)

ans =
     1
     6
    11
    16
Untuk menjumlahkan diagonal tersebut dapat menggunakan sum, dengan cara sum(diag(A) hasilnya berikut ini
>> sum(diag(A))

ans =

    34
Selain fungsi-fungsi tersebut terdapat fungsi penjumlahan matrix, pembagian matrix, pengurangan, dan perkalian matrix.
Yang pertama yaitu penjumlahan matrix, syarat dari penjumlahan matrix itu sendiri adalah kedua matrix tersebut memiliki ordo yang sama contoh matrix berordo 2x3 dijumlahkan dengan ordo 2x3. Tanda operatornya adalah (+) contohnya seperti berikut
>> A = [1 2 3;4 5 6]

A =

     1     2     3
     4     5     6
Dijumlahkan dengan
>> B = ones(2,3)

B =

     1     1     1
     1     1     1
Hasilnya adalah seperti berikut
>> C= A+B

C =

     2     3     4
     5     6     7
Yang kedua adalah pengurangan, konsepnya sama dengan penjumlahan yang membedakan adalah tanda operatornya yakni menggunakan (-)
>> A = [1 2 3;4 5 6]

A =

     1     2     3
     4     5     6
Dikuranghkan dengan
>> B = ones(2,3)

B =

     1     1     1
     1     1     1
Hasilnya seperti berikut ini
>> C=A-B

C =

     0     1     2
     3     4     5
Yang ketiga adalah pembagian. Terdapat 2 tanda yakni slash (/) dan back slash (\) gunanya adalah sama yang mebedakan adalah jika menggunakan slash yang membagi adalah sebelah kanan sedangkan jika menggunakan back slash pembaginya sebelah kiri. Contoh :
C= A/2 dengan C=2\A hasilnya sama saja
>> C=A/2

C =

    0.5000    1.0000    1.5000
    2.0000    2.5000    3.0000
>> C=2\A

C =

    0.5000    1.0000    1.5000
    2.0000    2.5000    3.0000
Yang ke empat adalah perkalian. Syaratnya adalah berordo berbeda jika berordo sama tidak dapat dikalikan. Contoh :
>> A= [1 2 3; 4 5 6]

A =

     1     2     3
     4     5     6
Dijumlahkan dengan
>> B= ones (3,2)

B =
     1     1
     1     1
     1     1
Hasilnya :
>> A*B

ans =

     6     6
    15    15
Lanjut baca - Pengenalan MATLAB

Jumat, 28 September 2012

Pencarian Persamaan Kuadrat dengan Rumus abc


KOMPETENSI

Setelah melakukan praktik, mahasiswa mampu membuat program dengan bahasa C untuk mengimplementasikan rumus abc untuk mencari akar-akar daru suatu persamaan kuadrat

TEORI DASAR

Ada beberapa cara yang dapat digunakan untuk mencari suku/faktor nilai xpada persamaan kuadrat, misalnya pemfaktoran, melengkapkan bentuk kuadrat, maupun menggunakan rumus kuadrat atau bisa juga disebut rumus abc. Untuk persamaan kuadrat ax^2 + bx + c = 0 dengan nilai a > 1 ataupun bentuk persamaan kuadrat yang sulit difaktorkan, biasanya akan lebih mudah diselesaikan jika menggunakan rumus kuadrat. Untuk penyelesaiannya diberikan ketentuan sebagai berikut :

Carilah detriminan dari persamaan tersebut dengan rumus :

D=b^2 - 4ac
Setelah mendapatkan nilai determinan (D) kemudian carilan akar-akarnya dengan ketentuan :
Jika D=0 maka
x= - (b/2a)

Jika D>0 maka
x1=(-b+√(b^2-4ac))/2a
x2=(-b-√(b^2-4ac))/2a

ALAT dan BAHAN

  1. Perangkat komputer
  2. Sistem operasi windows xp/linux/mac
  3. Program turbo C/Borland C/C++ Builder/Code Block, dll.

TUGAS

Buatlh program untuk mengimplementasikan algoritama pencarian akar-akar persamaan kuadrat dengan rumus abc di atas

Jawaban dan SOURCE CODE Program

Berikut ini adalah source code program untuk menyelesaikan persamaan di atas

  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <math.h>
  4. void AkarKuadrat(int a, int b, int c){
  5. float x1,x2;
  6. int D;
  7. D=(b*b)-(4*a*c);
  8. if (D==0) x1=-1*(b/(2*a));
  9. else if(D>0){
  10. x1=(-b+(sqrt(D)))/(2*a);
  11. x2=(-b-(sqrt(D)))/(2*a);
  12. }
  13. printf("D = %d\n",D);
  14. printf("x1 = %.2f\n",x1);
  15. printf("x2 = %.2f",x2);
  16. }
  17. int main()
  18. {
  19. int a,b,c;
  20. printf("Masukkan nilai a : \n");scanf("%d",&a);
  21. printf("Masukkan nilai b : \n");scanf("%d",&b);
  22. printf("Masukkan nilai c : \n");scanf("%d",&c);
  23. AkarKuadrat(a,b,c);
  24. return 0;
  25. }
Lanjut baca - Pencarian Persamaan Kuadrat dengan Rumus abc