Anda di halaman 1dari 5

Step By Step Contoh Pemrograman C

Dari Algoritma ke Code


Pada perkuliahan sebelumnya telah didapatkan algortima untuk memecahkan permasalahan mencari akar persamaan kuadrat. Algoritma yang disusun adalah sebagai berikut 1. 2. 3. 4. 5. 6. Input a Jika a=0 ulangi langkah 1 Input b Input c Hitung diskriminan=b^2-4ac Jika diskriminan>=0 Maka 6.1 Hitung akar x1=(-b+SQRT(diskriminan))/2/a 6.2 Hitung akar x2=(-b-SQRT(diskriminan))/2/a 6.3 print x1 6.4 print x2 Jika tidak 6.5 print Tidak ada akar real 7. Selesai 1. Buat kerangka dasar penulisan program di C, seperti kode berikut
/* Program mencari akar real persamaan kuadrat ax^2+bx+c=0 */ #include <stdio.h> int main(){ system ("pause"); return 0; }

2. Mungkin akan membantu jika algoritma yang telah kita buat kita tuliskan didalam kode program sebagai komentar.
/* Program mencari akar real persamaan kuadrat ax^2+bx+c=0 */ #include <stdio.h> int main(){ // // // // // Input a, ulangi jika a=0 Input b, 4. Input c Hitung D=b^2-4ac Jika D>=0 Maka Hitung dan tampilkan akar, jika tidak tampilkan Tidak ada akar real

system ("pause"); return 0; }

3. Lakukan deklarasi variable termasuk variable input output Pada kasus ini variable yang akan digunakan adalah a, b, d, diskiriminan, x1, x2. Masing-masing menggunakan type data floating point (karena ada kemungkinan nilainya adalah pecahan) Deklarasi variable pada C menggunakan syntax :
TypeData namaVariable1, namaVariable2,.. , namaVariablen Contoh: float a,b,c, diskriminan float x1, x2

/* Program mencari akar real persamaan kuadrat ax^2+bx+c=0 */ #include <stdio.h> int main(){ //Deklarasi Variable float a,b,c, diskriminan; float x1, x2; // // // // // Input a, ulangi jika a=0 Input b, 4. Input c Hitung D=b^2-4ac Jika D>=0 Maka Hitung dan tampilkan akar, jika tidak tampilkan Tidak ada akar real

system ("pause"); return 0; }

4. Ubah algoritma menjadi kode


// Input a, ulangi jika a=0

Dapat kita implementasikan dengan looping dowhile do { scanf(%f,&a); } while (a==0)


// Input b, 4. Input c

scanf(%f,&b); scanf(%f,&c);
// Hitung diskriminan=b^2-4ac

diskriminan=b*b-4*a*c;
// Jika D>=0 Maka Hitung dan tampilkan akar, // jika tidak tampilkan Tidak ada akar real

(baca slide untuk penjelasan mengenai scanf)

Sampai tahap ini, kode yang telah kita buat adalah sebagai berikut :
/* Program mencari akar real persamaan kuadrat ax^2+bx+c=0 */ #include <stdio.h> int main(){ //Deklarasi Variable float a,b,c, diskriminan; float x1, x2; // do { Input a, ulangi jika a=0

scanf("%f",&a); } while (a=0); // Input b, 4. Input c scanf("%f",&b); scanf("%f",&c); // Hitung diskriminan=b^2-4ac diskriminan=b*b-4*a*c; // Jika D>=0 Maka Hitung dan tampilkan akar, // jika tidak tampilkan Tidak ada akar real if(diskriminan>=0){ //Kondisi true, diskriminan >=0 } else { //Kondisi false, diskriminan >=0 } system ("pause"); return 0; }

Selanjutnya kita lengkapi untuk penghitungan akar x1 dan x2 menggunakan rumus:


X1= (-b + sqrt(diskriminan))/(2*a); X2= (-b - sqrt(diskriminan))/(2*a);

serta menampilkan akar-akarnya dengan perintah


printf("%f1",x1); printf("%f1",x2);

(baca slide untuk penjelasan mengenai printf)

/* Program mencari akar real persamaan kuadrat ax^2+bx+c=0 */ #include <stdio.h> int main(){ //Deklarasi Variable float a,b,c, diskriminan; float x1, x2; // do { Input a, ulangi jika a=0

scanf("%f",&a); } while (a==0); // Input b, 4. Input c scanf("%f",&b); scanf("%f",&c); // Hitung diskriminan=b^2-4ac diskriminan=b*b-4*a*c; // Jika D>=0 Maka Hitung dan tampilkan akar, // jika tidak tampilkan Tidak ada akar real if(diskriminan>=0){ //Kondisi true, diskriminan >=0 x1= (-b + sqrt(diskriminan))/(2*a); x2= (-b - sqrt(diskriminan))/(2*a); printf("%f1",x1); printf("%f1",x2); } else { //Kondisi false, diskriminan >=0 printf("Tidak ada akar real untuk persamaan ini"); } system ("pause"); return 0; }

Simpan dengan nama akar.c Coba compile dan run program yang anda buat. Ketikkan 1 [enter]5 [enter] 6 [enter] Apa yang terjadi? Dan apa yang terlihat. Tampilan perlu diperindah, perhatikan kode berikut ini. Apa yang berbeda? Apakah mengubah urutan algoritma?

/* Program mencari akar real persamaan kuadrat ax^2+bx+c=0 */ #include <stdio.h> int main(){ //Deklarasi Variable float a,b,c, diskriminan; float x1, x2; // do { Input a, ulangi jika a=0

printf("\nMasukkan a, a tidak 0 : "); scanf("%f",&a); } while (a==0); // Input b, 4. Input c printf("\nMasukkan b : "); scanf("%f",&b); printf("\nMasukkan c : "); scanf("%f",&c); // Hitung diskriminan=b^2-4ac diskriminan=b*b-4*a*c; // Jika D>=0 Maka Hitung dan tampilkan akar, // jika tidak tampilkan Tidak ada akar real if(diskriminan>=0){

//Kondisi true, diskriminan >=0 x1= (-b + sqrt(diskriminan))/(2*a); x2= (-b - sqrt(diskriminan))/(2*a); printf("Akar x1= %f1 \n",x1); printf("Akar x2= %f1 \n",x2); } else { //Kondisi false, diskriminan >=0 printf("Tidak ada akar real untuk persamaan ini"); } system ("pause"); return 0; }

Anda mungkin juga menyukai