Upload
builiem
View
261
Download
3
Embed Size (px)
Citation preview
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 1
Pengenalan bahasa pemrograman C++
Tujuan Praktikum :
a. Mahasiswa dapat mengenal bahasa pemrograman C++.
b. Mahasiswa dapat membuat source code, Struktur Program di C++ dan fungsi dari bahasa C++.
c. Mahasiswa dapat mengkompile source code dan memanggil program.
d. Mahasiswa dapat mengetahui input dan output dan menganalisa dari sebuah program.
Dasar Toeri
1. Membuat Source Code
Source code merupakan nama lain dari listing program dari suatu program yang akan dikompile. Source
code ditulis dengan menggunakan text editor atau aplikasi pengolah kata lainnya yang disediakan oleh sistem
operasi. Misal di sistem operasi linux menggunakan text editor vi atau emacs sedangkan di Microsoft
menggunakan notepad. Source code yang dituliskan dengan text editor tesebut harus disimpan dengan nama
yang berekstension *.cpp atau *.c. Karena source code ditulis dalam bahasa pemrograman C/ C++ yang akan
kita gunakan dalam praktikum Algoritma dan Pemrograman.
2. Mengkompilasi Source Code
Source code bukanlah suatu program, tetapi dari source code ini dapat dihasilkan suatu program. Program
merupakan file yang berextensi exe (executable).
3. Struktur Program di C++
Dalam bahasa pemrograman C++ strukturnya adalah sebagai berikut:
a. Header. Ex: #include<iostream.h>
b. Main adalah isi dari program diawali {……. dan diakhiri dengan ……..}
4. Fungsi
Fungsi dalam suatu program sangat berguna untuk membuat source code dari program tersebut menjadi
ringkas dan padat. Suatu fungsi dalam source code akan dipanggil dan dikerjakan sesuai dengan urut-urutan
source code-nya. Fungsi harus mengembalikan suatu nilai, baik isi maupun kosong, yang disebut void.
Latihan: 1. #include <iostream.h>
2. int tambah (int x, int y)
3. {
4. cout <<”Berada di dalam fungsi tambah ( )\n”;
5. cout << “Angka I = “;
6. cin >> a;
7. cout << “Angka II = “;
8. cin >> b;
9. cout << “\nPanggil fungsi tambah ( ) …..\n “;
10. c = tambah(a,b);
11. cout << “\n Kembali ke fungsi main ( )\n “;
12. cout << “Hasil penjumlahan “ << a << “dan “ << b << “adalah “ << c
<< “\n”;
13. cout << “ \nSelesai…\n”;
14. return 0;
15. }
1
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 2
5. Input dan Output
Program komputer berfungsi mengolah dan memroses suatu data yang diinputkan menjadi informasi yang
dioutputkan menjadi informasi yang dioutputkan. Statemen input dalam c++, cin dengan cara penulisannya :
cin >> a;
statemen output dalam c++, cout dengan cara penulisan
cout << “-----------------------“;
6. Analisa Program
Menganalisa bagian perbagian dan menjelaskan dari kegunaan masing-masing bagian program
Contoh:
#include <iostream.h> // mencari (#) preprosesor (include) file iostream.h dalam (<>)
yang digunakan untuk input dan output.
int main () // menjalankan fungsi main yang dipanggil secara otomatis leh
sistem operasi yang akan mengembalikan nilai integer.
{
int nomer;
cout << “Masukkan suatu angka “;
cin >> nomer;
cout << “Angkanya adalah “ << number;
return 0;
}
Tugas
1. Buatlah source code dari program yang memiliki algoritma sebagai berikut :
a. Masukkan suatu kalimat = “Hallo, ini program pertamaku”
b. Tulis/ tampilkan kalimat yang pernah dimasukkan
2. Analisa program tersebut.
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 3
Tipe Data, Variabel dan Konstanta
Tujuan Praktikum:
a. Mahasiswa dapat mengenal beberapa tipe data yang terdapat dalam bahasa C++.
b. Mahasiswa dapat belajar menggunakan variable dalam pembuatan sebuah program.
c. Mahasiswa dapat belajar menggunakan konstanta dalam pembuatan sebuah program.
Dasar teori
1. Tipe Data
Setiap program pada umumnya mempunyai data yang akan diolah menjadi suatu informasi, data
mempunyai tipe tertentu seperti terlihat pada tabel data berikut :
No Tipe Ukuran Nilai
1. Bool 1 byte True atau False
2. Unsigned short int 2 byte 0 – 65.535
3. Short int 2 byte -32.768 – 32.767
4. Unsigned long int 4 byte 0 – 4.294.967.295
5. Long int 4 byte -2.147.483.648 – 2.147.483.647
6. Int (16 bit) 2 byte -32.768 – 32.767
7. Int (32 bit) 4 byte -2.147.483.648 – 2.147.483.647
8. Unsigned int (16 bit) 2 byte 0 – 65.535
9. Unsigned int (32 bit) 4 byte 0 – 4.294.967.295
10. Char 1 byte 256 nilai karakter ASCII
11. Float 4 byte -1.2e-38 – 3.4e+38
12. Double 8 byte -2.2e-308 – 1.8e+308
2. Variable
Variabel merupakan tempat untuk menyimpan data yang digunakan dalam program. Variabel yang telah
di deklarasikan akan dibuatkan tempatnya pada RAM sehingga dapat digunakan untuk menyimpan data yang
suatu saat dapat digunakan kembali.
int a, b, c;
Keterangan:
int : Tipe data
a, b, c : variabel
unsigned short int lebar = 5, panjang;
Keterangan :
Unsigned short int : tipe data
Lebar : variabel
5 : data untuk variable
3. Konstanta
Konstanta merupakan lokasi penyimpanan suatu data, hampir mirip dengan variabel, tetapi konstanta
nilainya tidak dapat diubah ketika program dijalankan
Latihan 1. #include <iostream.h>
2. int main ()
3. {
4. const int minggu = 0;
5. const int senin = 0;
6. const int selasa = 0;
7. const int rabu = 0;
8. const int kamis = 0;
9. const int jumat = 0;
2
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 4
10. const int sabtu = 0;
11. int pilih;
12. cout << “Masukkan hari dalam angka (0-6) = “ ;
13. cin >> pilih;
14. if (pilih = = minggu || pilih = = sabtu)
15. {
16. cout << “\n Sekarang anda berada di akhir minggu ! \n “;
17. cout << “Karena anda dihari ke : “ << pilih << endl;
18. }
19. else
20. {
21. cout << “\n Wah, anda dihari kerja ….“;
22. cout << “Karena anda dihari ke : “ << pilih << endl;
23. }
24. cout << endl;
25. return 0;
Latihan
1. Buat source code dari algoritma di bawah ini
a. Masukkan panjang dan lebar
b. Luas panjang * lebar
c. Tulis luas
2. Analisa program tersebut
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 5
O p e r a t o r
Tujuan Praktikum:
Operator merupakan simbol atau kata yang dapat digunakan dalam program untuk melakukan suatu operasi
atau manipulasi, seperti menjumlahkan 2 buah nilai, memberikan nilai ke variabel dan sebagainya. Sehingga
mahasiswa dapat memahami fungsi atau kegunaan dari operator tersebut.
Dasar Teori
1. Operator Pengerjaan (Assigment Operator)
Suatu operator bertanda sama dengan (=) yang digunakan untuk mengisikan nilai yang berada pada
sebelah kanan variabel.
Contoh
a = 5
a = b = c
Latihan
Buat source code untuk algoritma dibawah ini :
a. Masukkan data untuk variabel a
b. a = b = c
c. Tampilkan nilai a, b dan c
2. Operator Aritmatika
Operator yang digunakan untuk melakukan operasi aritmatika terhadap nilai suatu variabel-variabel.
Ada 2 jenis operator aritmatika yaitu operator binary dan operator unary.
Tabel operatur binary
Operator Keterangan
* Perkalian
/ Pembagian
% Modulus atau sisa pembagian
+ Pertambahan
- Pengurangan
Tabel Operator unary
Operator Keterangan
+ Tanda Plus
- Tanda Minus
++ Prefix : preincrement
Postfix : Postincrement
-- Prefix : predecrement
Postfix : Postdecrement
Latihan
1. Buat source code untuk algoritma dibawah ini
a. Masukkan jari-jari lingkaran
b. Luas * r2
c. Tampilkan jari-jari lingkaran
d. Tampilkan luas lingkaran
2. Analisa luas lingkaran
3. Operator Peningkatan dan Penurunan
Operator peningkatan digunakan untuk menambah nilai 1 dari nilai sebelumnya dan operator penurunan
digunakan untuk mengurangi nilai 1 pada nilai sebelumnya.
Latihan
3
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 6
1. #include <iostream.h>
2. int main()
3. {
4. int x = 10;
5. x = ++x;
6. cout << “Nilai x = “ << x << endl;
7. x = ++x;
8. cout << “Nilai x = “ << x << endl;
9. x = --x;
10. cout << “Nilai x = “ << x << endl;
11. return 0;
12. }
Latihan
1. Buat source code untuk algoritma dibawah ini
a. Masukkan data a dan b
b. C a+b++
c. Tampilkan c
2. Analisa program
3. Buat algoritma dan source code-nya untuk mencari nilai c = a+ ++b
4. Operator Bitwise
Operator dalam bentuk bit dan seluruh operasinya hanya dapat dikenakan pada operand yang bertipe
integer atau karakter
Operator Keterangan
<< Geser ke kiri
>> Geser ke kanan
& Operasi bit AND
| Operasi bit OR
^ Operasi bit XOR
~ Operasi bit NOT
Latihan 1. # include <iostream.h>
2. int main
3. {
4. unsigned x = 93;
5. cout << “Nilai x semula adalah “ << x << endl;
6. x = x << 1;
7. cout << “Nilai x setelah digeser ke kiri adalah << x << endl;
8. x = x >> 2;
9. cout << “Nilai x setelah digeser ke kanan adalah << x << endl;
10. return 0;
11. }
5. Operator Hubungan
Operator ini digunakan untuk membandingkan dua elemen nilai dan akar yang dihasilkan nilai
perbandingannya, yaitu betul (bernilai 1) atau salah (bernilai 0).
Operator Keterangan
> Lebih besar dari
>= Lebih besar sama dengan
< Lebih kecil
<= Lebih kecil sama dengan
= = Sama dengan
!= Tidak sama dengan
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 7
6. Operator Logika
Operator logika bisasanya berpasangan dengan operator hubungan nilai perbandingan dari operator
logikanya menghasilkan 2 nilai yaitu betul (nilai 1) dan salah (nilai 0)
Operator Keterangan
&& Operator logika AND
|| Operator logika OR
! Operator logika NOT
Latihan
1. Buatlah source code untuk algoritma berikut ini
a. Masukkan nilai dan tugas
b. Jika nilai lebih besar dari 70 AND tugas lebih besar sama dengan 75, maka tulis lulus
c. Jika nilai lebih kecil sama dengan 70 AND tugas lebih kecil dari 75, maka tulis tidak lulus
2. Analisa program tersebut.
7. Operator Alamat
Operator ini berhubungan dengan pengunaan pointer
& menunjukkan alamat dari suatu data
* menunjukkan suatu pointer
Latihan 1. # include <iostream.h>
2. int main ()
3. {
4. int a, *b;
5. a = 20;
6. b = &a;
7. cout << “Pointer b menunjuk alamat “ << b << endl;
8. cout << “Alamat tsb bernilai “ << *b << endl;
9. return 0;
10. }
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 8
Percabangan
Tujuan Praktikum:
Mahasiswa dapat belajar dan memahami tentang percabangan dalam bahasa pemrograman C++ sehingga
dapat menggunakan percabangan tersebut dalam membuat sebuah program baik itu if, if else, nested if
maupun percabangan majemuk.
Dasar Teori
1. IF
Statement ini digunakan untuk melakukan pilihan terhadap 2 atau lebih alternatif pilihan dengan bentuk
umumnya sebagai berikut.
If (kondisi)
Pernyataan
Contoh : penggalan program Discount = 0;
If (harga>10000)
{
discount = (10/100)*harga;
bonus = “Kaos Kaki”
}
dari penggalan program diatas percabangan terjadi atas kondisi harga yang lebih besar dari 10000 mendapat
discount sebesar 10% dan juga mendapat bounus Kaos Kaki.
Latihan :
1. Buatlah algoritma yang lengkap dari penggalan program diatas.
2. Buatlah source code-nya.
2. IF… ELSE
Bentuk umumnya :
If (kondisi)
{
pernyataan1
….
}
else
{
Pernyataan
……
}
Dalam bentuk percabangan ini jika kondisi yang ditanyakan benar maka akan mengerjakan pernyataan pertama,
jika kondisi yang ditanyakan salah maka akan mengerjakan pernyataan kedua.
Contoh : 1. #include<iostream.h>
2. int main()
3. {
4. int n,t;
5. cout<<”Masukan sebuah nilai “<<endl;
6. cin>>n;
7. cout<<”Masukan nilai dari Tugas “<<endl;
8. cin>>t;
9. if (nilai>70)
10. cout<<”Lulus”<<endl;
4
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 9
11. else
12. cout<<”Tidak Lulus”<<endl;
13. return 0;
14. }
Bila program dijalankan, akan muncul pertanyaan tentang nilai dan tugas yang harus dimasukan, kondisi yang
dipertanyakan adalah besarnya n atau nilai lebih dari 70, jika benar maka akan muncul pernyataan Lulus, jika
salah maka akan muncul pernyataan Tidak Lulus.
Latihan
1. Buatlah source code dari algoritma berikut ini :
a. Masukan harga barang yang dibeli
b. Jika harga >= 10000, dikenakan diskon 10%
c. Tampilkan harga yang harus dibayarkan
d. Jika harga kurang dari kondisi yang ditetapkan, dikenakan diskon 5%
e. Tampilkan harga yang harus dibayarkan
2. Analisa-lah program yang dihasilkan
3. NESTED IF
ini merupakan suatu bentuk percabangan didalam percabangan dengan bentuk umumnya sebagai berikut :
if (kondisi1)
if (kondisi2)
pernyataan;
else
pernyataan;
else
pernyataan;
Latihan
1. Buatlah source code dari algoritma berikut ini :
a. Masukan Nilai angka
b. Jika 100=>nilai >=81, maka nilai dalam bentuk hurufnya adalah A, jika tidak berarti
81>nilai>=60 dan nilai dalam bentuk hurufnya adalah B, jika tidak berarti 60 >nilai>=40 dan
nilai dalam bentuk hurufnya adalah C, jika tidak berarti 40>nilai>=20 dan nilai dalam bentuk
hurufnya adalah D, jika tidak berarti nilai hurufnya adalah E
c. Tampilkan tulisan “Nilai dalam bentuk hurufnya =”
2. Buatlah flowchart-nya
3. Analisa-lah program tersebut
4. PERCABANGAN MAJEMUK
Percabangan majemuk disini yang dimaksud adalah suatu percabangan yang menyajikan banyak alternatif
pilihan pernyataan yang sesuai dengan kondisi yang dipertanyakan. Dalam bahasa C/C++ percabangan ini
menggunakan perintah SWITCH sedangkan pada pascal menggunakan case…of. Bentuk umumnya
switch(ekspresi)
{
case konstanta1 :
pernyataan1;
break;
case konstanta2 :
pernyataan2;
break;
…..
….
….
Default : pernyataanx;
}
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 10
contoh : 1. #include<stdio.h>
2. main()
3. {
4. int kode;
5. printf(“Masukan Kode Hasri [1-7] : “);
6. scanf(“%d”,&kode);
7. switch(kode)
8. {
9. case 1:
10. printf(“Senin”);
11. break;
12. case 2:
13. printf(“Selasa”);
14. break;
15. case 3:
16. printf(“Rabu”);
17. break;
18. case 4:
19. printf(“Kamis”);
20. break;
21. case 5:
22. printf(“Jumat”);
23. break;
24. case 6:
25. printf(“Sabtu”);
26. break;
27. case 7:
28. printf(“Minggu”);
29. break;
30. default:
31. printf(“Kode tidak ditemukan”);
32. }
33. }
Latihan :
Sebuah program yang dibuat dengan bahasa C/C++ jika dijalankan akan tampak seperti dibawah ini : MENU UTAMA
--------------------
1. Bujursangkar
2. Segitiga
3. Lingkaran
4. Keluar
--------------------
Pilih[1-4] :
Buatlah :
1. Algoritmanya
2. Source Code
3. Penjelasan
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 11
Perulangan
Tujuan praktikum:
Mahasiswa dapat memahami tentang looping pada sebuah program karena pada dasarnya suatu
program ketika dieksekusi sering memunculkan sesuatu yang diulang-ulang, berarti program ini mempunyai
listing dengan menggunakan metode looping. Ada dua cara untuk membuat looping yaitu dengan rekursi atau
iterasi. Cara iterasilah yang akan dibahas pada Bab 5 ini.
Dasar Teori
1. While…do
While sering digunakan untuk melakukan pengulangan, bentuk penulisannya While ( kondisi )
{
statment1 ;
.
.
statment2;
Contoh
1. //Menunjukan looping dengan 'while'
2. //Sebagai pengganti 'goto'
3. #include<iostream.h>
4. int main()
5. {
6. //inisialisasi variabel 'hitung'
7. int hitung = 0;
8. //Mulai looping dengan memeriksa kondisi
9. while (hitung <=5)
10. {
11. hitung++;
12. cout <<"Menghitung : " << hitung << endl;
13. }
14. cout << endl;
15. cout << "Selesai menghitung." << endl;
16. cout << "Perhitungan terakhir : " << hitung;
17. cout << endl;
18. return 0;
19. }
Looping do….while ini mengeksekusi statement yang ada dalam blok looping sebelum mengecek kondisinya.
Cara penulisannya sebagai berikut :
Menghitung : 1
Menghitung : 2
Menghitung : 3
Menghitung : 4
Menghitung : 5
Selesai menghitung
Perhitungan terakhir : 5
5
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 12
Do
{
.
.
statement;
.
.
}
while ( kondisi );
contoh 1. //Menunjukkan looping 'do..while'
2. #include <iostream.h>
3. int main
4. {
5. int hitung, hit;
6. cout << "Berapa kali perulangan ? ";
7. cin >> hitung;
8. //Menyalin isi 'hitung' ke 'hit' untuk perbandingan
9. hit = hitung;
10. cout << "menghitung mundur .. \n" << endl;
11. //Mulai looping (setidaknya satu kali)
12. do
13. {
14. cout << "Mencetak : " << hitung << endl;
15. hitung--;
16. }
17. while (hitung > 0);
18. cout << endl;
19. //Memeriksa apakah input dari user dengan 'hit' yang disalin dari
'hitung'
20. // kurang atau sama dengan nol
21. if (hitung <=0)
22. {
23. cout << "Tidak ada perulangan ... ";
24. cout << endl;
25. }
26. else
27. {
28. cout << "Selesai mengulang." << endl;
29. cout << "Perhitungan terakhir : " << hitung << endl;
30. }
31. return ;
32. }
2. For
Dengan menggunakan loopingdo ini ada tiga langkah yang harus dijalankan yaitu inisialisai ( awalan ),
pengujian kondisi, dan aksi yang dilakukan yang dapat berupa penambahan atau pengurangan suatu variabel.
For ( insialisasi; pengujian; aksi )
{
.
.
statement;
.
.
}
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 13
Contoh 1. #Menunjukkan looping 'for'
2. #include <iostream.h>
3. int main()
4. {
5. int hitung hit;
6. cout <<"Berapa kali perulangan ? ";
7. cin >> hitung;
8. // Menyalin isi 'hitung' ke 'hit' untuk perbandingan
9. hit = hitung;
10. cout << "Menghitung mundur ...\n" << endl;
11. // Mulai looping dengan kondisi 'hitung' lebih besar atau sama
dengan 'hit'
12. // dan akan berakhir ketika 'hitung' sama dengan nol
13. for (hit>= hitung; hitung > 0; hitung--)
14. {
15. cout << "mencetak : " << hitung << endl;
16. }
17. cout >> endl;
18. //Memeriksa apakah input dari user dengan 'hit' yang disalin dari
'hitung' kurang atau sama dengan nol
19. if (hit <= 0)
20. {
21. cout << "tidak ada perulangan ...";
22. cout << endl;
23. }
24. else
25. cout << "Selesai menghitung." << endl;
26. cout << "Perhitungan terakhir : " << hitung;
27. cout << endl;
28. }
29. return 0;
30. }
3. Goto
Perintah ini digunakan untuk mengalihkan proses ke suatu label tertentu.
Contoh : 1. #include<stdio.h> 2. main() 3. { 4. int n=1; 5. cetak : 6. printf(“Praktikum ini terlalu mudah\n”); 7. if(n++<10) 8. goto cetak; 9. }
Latihan :
Buatlah program dalam bentuk menu, yang menampilkan suatu bentuk konversi seperti dibawah ini. MENU UTAMA
--------------------
1. BBM
2. Mata Uang
3. Suhu
4. Keluar
--------------------
Pilih[1-4] :
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 14
Dengan ketentuan
1. BBM meliputi premium, solar, premix dan minyak tanah. Tampilkan pembelian dari 1 liter hingga 10
liter dengan kenaikan per 1 liter dengan rumus :
Premiun = liter*1850
Solar = liter*1650
Premix = liter*2200
Minyak = liter*700
2. Mata uang meliputi rupiah, dolar dan euro
3. Suhu meliputi celcius, reamur dan fahrenheit
Fahrenheit = 9/5*celceius+32
Reamur =4/9*celcius-32
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 15
Fungsi
Tujuan Praktikum:
a. Mahasiswa dapat memahami fungsi dalam sebuah program yaitu subprogram yang akan mengolah data
dan mengembalikan nilai.
b. Mahasiswa dapat memahami fungsi keluaran bukan integer.Prototipe fungsi Parameter formal dan
parameter actual Variabel local file header dan rekursi
Dasar Teori
Fungsi adalah subprogram yang akan mengolah data dan mengembalikan nilai. Setiap program C++
mempunyai minimal satu fungsi, yaitu main(), yang dijalankan otomatis oleh sistem operasi. Suatu fungsi
dapat memanggil fungsi yang lainnya, atau sebaliknya. Setiap fungsi harus dapat mengembalikan suatu nilai, jika
tidak akan menjadi fungsi void. Jadi ketika fungsi dipanggil, ia akan akan mengerjakan sesuatu seperti pada
listing programnya, dan kemudian mengirimkan hasilnya. Nilai yang dikembalikan disebut dengan returnvalue
dan tipenya harus dideklarasikan.
Contoh 1. #include <iostream.h>
2. // fungsi prototype
3. int LuasSegiEmpat(int x, int y);
4. int main()
5. {
6. int panjang, lebar, luas;
7. cout <<"Masukkan Panjang : " ;
8. cin >> panjang;
9. cout <<"Masukkan Lebar : " ;
10. cin >> lebar;
11. cout << endl;
12. // panggil fungsi
13. luas = LuasSegiEmpat(panjang, lebar);
14. cout << "Luas yang didapat adalah = " << luas <<"\n";
15. return 0;
16. }
17. int LuasSegiEmpat(int x, int y)
18. {
19. //nilai hasil perhitungan langsung dikembalikan
20. return (x*y);
21. }
int main ( )
{
statement;
fungsi1( );
.
.
.
.statment;
fungsi2( );
.
.
.
.
Return 0;
}
.
.
.
.
return
.
Fungsi3 ( );
.
.
return
.
.
.
.
return
6
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 16
Fungsi Uraian
Sqrt(x)
exp(x)
log(x)
log10(x)
fabs(x)
ceil(x)
floor(x)
pow(x)
fmod(x,y)
sin(x)
cos(x)
tan(x)
Akar kuadrat dari x
Fungsi eksponen ex
Logaritma alami dari x (dasar e)
Logaritma dari x (dasar 10)
Nilai mutlak dari x
Pembulatan ke bilangan bulat terkecil yang tidak lebih kecil dari x
Pembulatan ke bilangan bulat terbesar yang tidak lebih besar dari x
xy
pembagian x/y sebagai tipe float
sinus dari x (dalam radian)
cos dari x (dalam radian)
tangen dari x(dalam radian)
1. Fungsi dengan nilai keluaran bukan integer
Untuk fungsi dengan nilai keluaran bukan integer, langkah yang diperlukan berupa :
Fungsi harus dideklarasikan di awal program
Fungsi didefinisikan dengan diawali penentu tipe fungsi
Contoh float minimum(x,x)
float x,y;
{
if(x>y)
return(x);
else
return(y);
}
2. Prototipe fungsi
Yang dinamakan prototipe fungsi adalah cara atau gaya dalam mendeklarasikan fungsi. Fungsi ini
digunakan untuk menjelaskan kepada kompiler mengenai :
Tipe keluaran fungsi
Jumlah parameter
Tipe dari masing-masing parameter
Keuntungan pemakaiannya adalah kompiler akan melakukan konversi seandainya antara tipe parameter
dalam definisi dan parameter saat pemanggilan fungsi tidak sama atau akan menunjukan kesalahan kalau jumlah
parameter dalam definisi dan saat pemanggilan berbeda.
Kalau definisi semula berupa : Float jumlah(x,y)
Float x,y ;
Maka menjadi Float jumlah(float x, float y)
3. Parameter formal dan parameter aktual
Parameter formal adalah variabel yang ada pada daftar parameter dalam definisi. Parameter aktual adalah
parameter yang dapat berupa variabel atau konstanta maupun ungkapan yang dipakai dalam pemanggilan fungsi.
Contoh
printf(“%f”, kali(2*3,5*6));
Adapun cara melewatkan parameter adalah :
Pemanggilan dengan nilai
Pemanggilan dengan referensi
Contoh : 1. #include<stdio.h>
2. void tukar(int x, int y);
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 17
3. main()
4. {
5. int a, b;
6. a = 99;
7. b = 11;
8. printf(“Nilai sebelum pemanggilan fungsi : \n”);
9. printf(“Nilai a =%d nilai b =%d\n\n”,a,b);
10. tukar(a,b);
11. printf(“Nilai sesudah pemanggilan fungsi :\n”);
12. printf(“Nilai a =%d nilai b =%d\n\n”,a,b);
13. }
14. void tukar (int px, int py);
15. {
16. int z:
17. z=px;
18. px=py;
19. printf(“Nilai diakhiri fungsi :\n”);
20. printf(“Nilai px=%d nilai py=%d\n\n “, px,py);
21. }
4. Variabel lokal
Variabel lokal adalah variabel yang dideklarasikan didalam fungsi yang bersifat :
Otomatis diciptakan ketika fungsi dipanggil dan hilang ketika fungsi selesai digunakan
Hanya dikenal oleh fungsi tempat variabel berada
Pada waktu diciptakan nilainya tidak tentu
Dalam penulisannya dapat ditambahakan kata “AUTO” didepannya
Contoh : 1. #include <iostream.h>// fungsi prototype
2. void fungsiKu();
3. int x = 5, y = 7;
4. int main()
5. {
6. cout << "x dari fungsi 'main()' : " << x << endl;
7. cout << "y dari fungsi 'main()' : " << y << endl;
8. cout << endl;
9. cout << "*** Panggil fungsi 'fungsiKu()' *** \n\n";
10. fungsiKu();
11. cout << "\nKembali lagi ke 'main()' dari 'fungsiKu()'\n";
12. cout << endl;
13. cout << "x dari fungsi 'main()' : " << x << endl;
14. cout << "y dari fungsi 'main()' : " << y << endl;
15. return 0;
16. }
17. void fungsiKu()
18. {
19. int y = 10; // variabel lokal 'y'
20. cout << "x dari fungsi 'fungsiKu()' : " << x << endl;
21. cout << "y dari fungsi 'fungsiKu()' : " << y << endl;
22. }
5. File header
Setiap pustaka baku mempunyai file header yang mengandung prototipe fungsi untuk semua fungsi yang
ada didalam pustaka dan definisi dari tipe-tipe data maupun konstanta yang diperlukan oleh fungsi tersebut.
assert.h : berisi makro dan informasi untuk diagnosa yang membantu pemeriksaan kesalahan prose
dalam program
ctype.h : mengandung prototipe fungsi untuk menguji properti dari karakter, dan dapat digunakan
untuk mengubah karakter huruf kecil ke besar
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 18
errno.h : mendifinisikan makro untuk melaporkan kondisi kesalahan
float.h : berisi batasan didalam sistem bilangan bertipe float
limits.h : berisi batasan sistem integral
locale.h : berisi prototipe fungsi dan informasi lainnya yang dapat memodifikasi sistem data pada saat
program diproses
math.h : berisi prototipe fungsi untuk pustaka matematika
setjmp.h : berisi prototipe fungsi yang menuntun urutan pemanggilan fungsi
signal.h : berisi prototipe fungsi dan makro untuk menangani kondisi yang bermacam-macam saat
program diproses
stdarg.h : mendifinisikan makro untuk menangani daftar argumen fungsi yang nilai dan tipenya tidak
diketahui
stddef.h : berisi definisi umum dari tipe yang digunakan C untuk membentuk perhitungan tertentu
stdio.h : berisi prototipe fungsi untuk pustaka input/ output
stdlib.h : berisi prototipe fungsi untuk konversi nilai ke teks atau sebaliknya, alokasi memori, bilangan
acak dan utilitas lainnya
strings.h : pemrosesan string
time.h : manipulasi data dan waktu
6. Rekursi
Fungsi rekursif adalah suatu fungsi yang memanggil dirinya sendiri, artinya fungsi tersebut dipanggil di
dalam tubuh fungsi itu sendiri. Fungsi faktorial, yang menghitung nilai faktorial dari suatu bilangan bulat positif,
merupakan pokok bahasan yang memudahkan pemahaman fungsi rekursif.
Contoh : #include<stdio.h>
int faktorial(int n)
{
if (n==1)
return(1);
else
return(n*faktorial(n-1));
}
main()
{
int x ;
printf(“Mencari nilai faktorial\n “);
printf(“Masukan nilai x : “); scan(“%d”,&x);
printf(“Nilai faktorial dari %d=%d\n”,x,faktorial(x));
}
Latihan
Buatlah program dalam bentuk menu, yang menampilkan suatu bentuk konversi seperti dibawah ini.
MENU UTAMA
--------------------
1. Perkalian
2. Pembagian
3. Pengurangan
4. Pengurangan
5. Keluar
--------------------
Pilih[1-5] :
Pernyataan :
Pilihan yang disajikan dibuat menggunakan fungsi
Dan program akan diulang berulang-ulang sampai pilihan pada nomor 5.
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 19
Array, String dan Pointer
Tujuan Praktikum:
a. Mahasiswa dapat memahami, mendeklarasikan dan menggunakan array dimensi dua.
b. Mahasiswa dapat memahami, mendeklarasikan dan menggunakan string.
c. Mahasiswa dapat memahami, mendeklarasikan dan menggunakan pointer.
Dasar Teori
1. Deklarasi array
Array merupakan koleksi data dimana setiap elemen memakai nama yang sama dan bertipe sama dengan
dibedakan setiap elemennya dengan sebuah indeks. Nilai dari indeks dimulai dari 0, dengan cara penulisan Tipe_data nama_array[jumlah_elemen_array]
Contoh 1. #include<stdio.h>
2. int main()
3. {
4. int square[100];
5. int i;
6. int k;
7. for(i=0;i<10;i++)
8. {
9. k=i+1;
10. square[i]=k*k;
11. printf(“\nPangkat dari %d adalah %d “,k,square[i])
12. }
13. return 0;
14. }
2. Array dimensi dua
Contoh : 1. #include <iostream.h>
2. #include <iomanip.h>
3. int jum_kol(int arrIn[] [3], int nilai_kol[]);
4. int jum_bar(int arrIn[] [3], int nilai_bar[]);
5. int main()
6. {
7. static int arr[2][3] = {
8. {10,20,30},
9. {11,21,31}
10. };
11. int bar, kol;
12. int nilai_kol[3];
13. int nilai_bar[2];
14. for (bar = 0; bar < 2; bar ++)
7
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 20
15. {
16. for (kol = 0; kol < 3; kol++)
17. { // Mengatur tampilan matik agar teratu
18. cout << setw(5) << arr[bar][kol];
19. }
20. cout << "\n\n";
21. }
22. jum_kol(arr, nilai_kol);
23. for (kol = 0; kol < 3; kol++)
24. {
25. cout << "Hasil penjumlahan kolom " << kol << " adalah ";
26. cout << nilai_kol[kol] << endl;
27. }
28. jum_bar(arr, nilai_bar);
29. for (bar = 0; bar < 2; bar++)
30. {
31. cout << "Hasil penjumlahan baris " << bar << " adalah ";
32. cout << nilai_bar[bar] << endl;
33. }
34. return 0;
35. }
36. int jum_kol(int arrIn[][3], int nilai_kol[])
37. {
38. int bar, kol;
39. for (kol = 0; kol < 3; kol++)
40. {
41. nilai_kol[kol] = 0;
42. for (bar = 0; bar < 2; bar++)
43. {
44. nilai_kol[kol] += arrIn[bar][kol];
45. }
46. }
47. return 0;
48. }
49. int jum_bar(int arrIn[][3], int nilai_bar[])
50. {
51. int bar, kol;
52. for (bar = 0; bar < 3; bar++)
53. {
54. nilai_bar[bar] = 0;
55. for (kol = 0; kol < 3; kol++)
56. {
57. nilai_bar[bar] += arrIn[bar][kol];
58. }
59. }
60. return 0;
61. }
Latihan
Diketahui sebuah data nilai mahasiswa Teknik Informatika STTA Yogyakarta sebagai berikut
No Nim Nama UTS UAS Tugas Total Nilai
1
2
3
4
5
03000001
03000002
03000003
03000004
03000005
Budi
Ima
Jojon
Bagong
Londo
70
80
60
75
85
50
40
45
55
60
100
90
80
70
60
Buatlah program dengan menggunakan tampilan menu berikut ini
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 21
MENU UTAMA
--------------------
1. Memasukan Data
2. Menampilkan Data
3. Keluar
--------------------
Pilih[1-3] :
Panduan :
a. Tampilan menu untuk memasukan data adalah sebagai berikut : NIM :
Nama :
UTS :
UAS :
Tugas :
Lagi(y/t)?
b. Total diperoleh dengan menggunakan rumus = UTS*0.3+UAS*0.5+Tugas*0.2
c. Nilai dalam bentuk huruf dengan ketentuan :
100>= Nilai>80 = A
80>= Nilai >60 = B
60>= Nilai >40 = C
40>= Nilai >20 = D
20>= Nilai >0 = E
d. Tampilan menu untuk menampilkan data dibuat mirip dengan data yang didapat diatas.
3. String
String merupakan betuk data yang biasa dipakai dalam pemrograman guna menampung dan memanipulasi data
teks, string bukan merupakan tipe data tersensiri tetapi merupakan jenis khusus dari array ( dalam bahasa
pemrograman C/C++ ).
Data string biasanya dimasukan dengan perintah gets atau scanf : gets(namalarik);
Atau scanf(“%s”,namalarik);
contoh : 1. #include<stdio.h> 2. main() 3. { 4. char nama[20]; 5. printf(“masukan nama anda: “);scanf(“%s”,nama); 6. printf(„ Nama yang tadi dimasukan adalah : %s\n”,nama); 7. }
Variabel string dalam bentuk char ini dapat diakses seperti halnya kita mengakses suatu tipe data dalam bentuk
array atau larik dengan contoh sebagai berikut : 1. #include<stdio.h>
2. main()
3. {
4. int a, j;
5. char kata[25];
6. puts(Ketikan Suatu Kalimat : “); gets(kata);
7. j=0;
8. for(a=0;kata[a];a++)
9. j=j++;
10. printf(“Jumlah karakter dari kalimat yang anda ketikan adalah :
%d\n”,j);
11. }
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 22
5. Pointer
Ambil angka di alamat berikutnya :
5
Jumlahkan angka tersebut dengan angka di alamat sebelumnya
6
Simpan hasilnya di alamat berikutnya :
11
Hentikan program
1
2
3
4
5
6
7
alamat
instruksi
data
Pointer adalah sebuah variabel yang menunjuk ke alamat memori komputer. Memori komputer digambarkan
seperti tampak pada gambar diatas sebagai suatu tumpukan penyimpanan dengan lokasi yang berbeda-beda,
untuk memdeakan lokasinya digunakan nomor-nomor yang unik, nomor ini disebut dengan alamat memor. Ada
kebiasaan bahwa seorang programmer tidak tahu tentang alamat-alamat memori yang dipakai untuk variabel-
variabel yang dibuat karena kompiler sudah menangani ini secara detail. Kita dapat mengetahui alamat-alamat
yang dipakai oleh variabel-variabel yang kita buat, dengan menggunakan operator “&“.
Keuntungan meakses memori dengan menggunakan pointer daripada menggunakan variabel global adalah
bahwa fungsi yang dapat mengakses data hanya fungsi yang mempunyai pointer tersebut, dengan demikian
kontrol terhadap pemakaian data dan mengurangi masalah yang timbul ketika sebuah fungsi mengubah data
tersebut secara tidak sengaja.
Contoh : 1. #include<iostream.h>
2. typedef unsigned short int USHORT;
3. int main()
4. {
5. USHORT umurku; //variabel umurku
6. USHORT *umurku = null; // pointer yang menunjuk ke variabel umurku
7. umurku=5;
8. cout<<”umurku = “<<umurku<<endl;
9. *umurku=&umurku; // pointer umurku disi dengan alamat umurku
10. cout<<””Pointer umur ku = “<<*umurku<<endl;
11. cout <<endl;
12. umurku=7;
13. cout<<”umurku = “<<umurku<<endl;
14. *umurku=&umurku; // pointer umurku disi dengan alamat umurku
15. cout<<””Pointer umur ku = “<<*umurku<<endl;
16. cout <<endl;
17. return 0
18. }
bandingkan dengan ini : 1. #include<iostream.h>
2. typedef unsigned short int USHORT;
3. int main()
4. {
5. USHORT umurku; //variabel umurku
data *data
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 23
6. USHORT *umurku = &umurku; // pointer yang menunjuk ke variabel
umurku
7. umurku=5;
8. cout<<”umurku = “<<umurku<<endl;
9. cout<<””Pointer umur ku = “<<*umurku<<endl;
10. cout <<endl;
11. umurku=7;
12. cout<<”umurku = “<<umurku<<endl;
13. cout<<””Pointer umur ku = “<<*umurku<<endl;
14. cout <<endl;
15. return 0
16. }
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 24
Studi Kasus I, Operasi Matrik
Tujuan praktikum:
Mengetahui cara inisialisasi dan memanipulasi data elemen dari sebuah matrix
Dapat melakukan operasi matrix, penambahan, pengurangan, perkalian, inverse dll. dengan program
komputer
Dapat menggunakan array 2D pada C untuk melakukan operasi matrix
Dasar teori:
Sebuah matrix terdiri dari array segiempat dari elemen-elemen yang ditandai dengan simbul [A]. Individual
elemen-elemen dari sebuah matrix [A] dinotasikan dengan ija . Set dari elemen-elemen horizontal disebut baris
dan set dari elemen-elemen vertikal disebut kolom. Dengan demikian sebuah program matrix dapat
diimplementasikan menggunakan array 2D.
Contoh:
int a[2][3];
a[0][0] a[0][1] a[0][2]
a[1][0] a[1][1] a[1][2]
Array 2D adalah array dari arrays, sehingga deklarasi di atas adalah array dari dua array integer. Matrix di atas
mempunyai jumlah baris 2 dan jumlah kolom 3. Berikut adalah contoh program untuk mengisi data elemen-
elemen 1 s/d 6 dan me-print elemen-elemen dalam baris dan kolomnya.
1. #include<iostream.h>
2. #include<conio.h>
3. void main(){
4. clrscr();
5. int a[3][3];
6. int b[3][3];
7. int c[3][3];
8. int i,j;
9. for (i=1;i<3;i++) {
10. for (j=1;j<3;j++) {
11. cout << "Masukkan elemen matrik A " << i << "," << j << " : ";
12. cin >> a[i][j];
13. }
14. }
15. cout << "Matrik A : " <<endl;
16. for (i=1;i<3;i++) {
17. for (j=1;j<3;j++) {
18. cout << a[i][j] << " ";
19. }
20. cout << endl;
21. }
22. }
Penambahan atau pengurangan dua buah matrix [A] dan [B] dapat dilakukan dengan cara menambahkan atau
mengurangkan masing elemen yang bersesuaian dari tiap-tiap matrix [A] dan [B] tersebut.
[C] = [A] + [B] ijijij bac
8
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 25
[C] = [A] – [B] ijijij bac
Program penambahan dua buah matrix 2 x 2. Pada program penambahan matrix di bawah terdapat dua buah
function mat_read (int mat[2][2]) dan function mat_print (int mat[2][2]) belum dibuat. Buatlah sendiri kedua
function tersebut dengan mengacu potongan program di atas dan kemudian selesaikan program penambahan dua
buah matrix di bawah.
Program untuk menambah dua matrix 2 x 2:
1. #include<iostream.h> 2. #include<conio.h> 3. 4. void main(){ 5. clrscr(); 6. int a[3][3]; 7. int b[3][3]; 8. int c[3][3]; 9. int i,j; 10.
11. for (i=1;i<3;i++) {
12. for (j=1;j<3;j++) {
13.
14. cout << "Masukkan elemen matrik A " << i << "," << j << " : ";
15. cin >> a[i][j];
16. }
17. }
18.
19. cout << "Matrik A : " <<endl;
20. for (i=1;i<3;i++) {
21. for (j=1;j<3;j++) {
22.
23. cout << a[i][j] << " ";
24.
25. }
26. cout << endl;
27. }
28.
29. for (i=1;i<3;i++) {
30. for (j=1;j<3;j++) {
31.
32. cout << "Masukkan elemen matrik B " << i << "," << j << " : ";
33. cin >> b[i][j];
34. }
35. }
36.
37. cout << "Matrik B : " <<endl;
38. for (i=1;i<3;i++) {
39. for (j=1;j<3;j++) {
40.
41. cout << b[i][j] << " ";
42.
43. }
44. cout << endl;
45. }
46.
47. for (i=1;i<3;i++) {
48. for (j=1;j<3;j++) {
49. c[i][j]=a[i][j]+b[i][j];
50. }
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 26
51. }
52.
53. cout << "Matrik C : " << endl;
54. for (i=1;i<3;i++) {
55. for (j=1;j<3;j++) {
56. cout << c[i][j] << " ";
57. }
58. cout << endl;
59. }
60. }
Perkalian sebuah matrix [A]: m x n, dengan bilangan skalar c, dapat dihitung sebagai berikut:
c a11 c a12 ... c a1n
[B] = c [A] = c a21 c a22 ... c a2n
c am1 c am2 ... c amm
Sedang perkalian dua buah matrix [C] = [A] [B] dapat dilakukan dengan persamaan sebagai berikut (ingat
jumlah baris-kolom dari matrik [C]).
n
k
kjikij bac1
Inverse dari sebuah matrix [A] adalah [A]-1 yang dapat dihitung sebagai berikut:
[A] [A]-1 = [A]-1 [A] = [I]
dengan [I] adalah matrix identitas.
Untuk matrix inversi dari matrix 2 x 2 inverse matrix dapat dihitung dengan jauh lebih sederhana sebagai
berikut.
1121
1222
21122211
1 1][
aa
aa
aaaaA
Tugas:
Buat program perkalian matrix 2 x 2 dengan bilangan skalar c yang dapat divariasi. Kemudian tentukan
matrix inverse dari matrix 2 x 2 tersebut.
Buat program perkalian matrix persegi m x n dengan m dan n = 4.
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 27
Studi Kasus I, Iterasi Bisection
Tujuan praktikum:
Dapat memahami penyelesaian persamaan f(x) = 0 dan mencari akar-akar persamaannya dengan
metode penggambaran grafis.
Memahami metode trial-and-error dengan metode Bisection untuk mencari akar-akar persamaan f(x) =
0.
Dapat membuat program metode numerik Bisection untuk mencari akar-akar persamaan f(x) = 0.
Dasar teori:
Metode paling sederhana untuk mencari akar-akar persamaan f(x) = 0 adalah dengan me-plot fungsi yang dicari
akar-akarnya. Akar-akar persamaan adalah harga-harga f(x) yang memotong sumbu x. Metode ini biasa disebut
metode grafis.
Contoh:
Gunakan metode grafis untuk menentukan koefisien penurunan parasut c yang turun dengan massa m = 68.1 kg,
kecepatan v = 40 m/s, pada waktu turun t = 10 detik. Grafitasi bumi adalah g = 9.8 m/detik2.
Persamaan: vec
gmcf tmc )/(1)(
c (ordinat) f(c) (absis)
4
8
12
16
20
34.115
17.653
6.067
-2.269
-8.401
Metode Bisection:
Secara umum jika f(x) adalah berharga real dan kontinyu pada interval ul xx dan harga-harga )( lxf dan
)( uxf mempunyai tanda yang berbeda, maka berlaku persamaan 0)()( ul xfxf . Dan paling tidak akan
ada satu persamaan yang berharga di antara ul xx .
Mencari akar-akar persamaan dengan metode Bisection adalah dengan membagi dua interval ul xx kemudian
mencari akar-akarnya pada tiap-tiap interval, lalu membagi dua kembali interval yang memuat akar-akar
persamaannya. Step-step algoritma dari metode Bisection adalah sebagai berikut:
9
1
2
1
6
Akar
persamaan c
f(c)
Modul Praktikum Teknik Pemrograman dengan C/C++,
Teknik Mesin, STTA Yogyakarta 28
Pilih harga rendah lx dan harga tinggi ux di mana akar-akar persamaanya akan termuat di antaranya.
Tentukan estimasi akar persamaan 2
ulr
xxx
Evaluasi hasilnya dengan cara sebagai berikut:
a. Jika 0)()( ul xfxf , maka akar persamaan yang dicari ada pada interval bawah. Maka set
ru xx dan kembali ke step 2.
b. Jika 0)()( ul xfxf , maka akar persamaan yang dicari ada pada interval atas. Maka set
rl xx dan kembali ke step 2.
c. Jika 0)()( ul xfxf , maka akar persamaan yang dicari adalah rx .
Program mencari akar persamaan dengan metode Bisection:
/* User perlu memdefinisikan fungsi yang dicari akarnya sebagai fungsi pada program dengan nama: ffunction.
Contoh diberikan pada program ini. */
1. #include<iostream.h>
2. void main() {
3. float a,b,c,fa,fb,fc,konvergensi;
4. int iterasi;
5.
6. cout << "Masukkan Nilai A : ";
7. cin >> a;
8. cout << "Masukkan Nilai B : ";
9. cin >> b;
10.
11. konvergensi=1;
12. iterasi=0;
13. while (konvergensi > 0.000005)
14. {
15. c=(a+b)/2;
16.
17. fa=(2*a)+3;
18. fb=(2*b)+3;
19. fc=(2*c)+3;
20.
21. if ((fc*fb) > 0)
22. b=c;
23. else
24. a=c;
25.
26. konvergensi=a-b;
27. if (konvergensi < 0)
28. konvergensi=konvergensi*-1;
29.
30. iterasi++;
31. }
32.
33. cout << "Jumlah iterasi : " << iterasi << endl;
34. cout << "Akar persamaan : " << a <<endl;
35.
36. }
Tugas:
Buatlah program untuk mencari akar-akar persamaan pada metode grafis di atas menggunakan metode Bisection.