Contoh Dan Tutorial c - Program Akar

download Contoh Dan Tutorial c - Program Akar

of 5

Transcript of Contoh Dan Tutorial c - Program Akar

Step By Step Contoh Pemrograman CDari Algoritma ke CodePada 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 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 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 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 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 perintahprintf("%f1",x1); printf("%f1",x2);

(baca slide untuk penjelasan mengenai printf)

/* Program mencari akar real persamaan kuadrat ax^2+bx+c=0 */ #include 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 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; }