Angga Noviar Cipta Pahlevi UMSIDA | Rangkuman Praktikum Algoritma dan Pemrograman

Assalamu’alaikum Wr. Wb.


Perkenalkan sobat pembaca saya Angga Noviar Cipta Pahlevi, saya merupakan mahasiswa semester 1 Program Studi Informatika, Fakultas Sains dan Teknologi dari Universitas Muhammadiyah Sidoarjo. Membuat resume ini merupakan salah satu dari penilaian yang diberikan demi menyelesaikan Praktikum Algoritma dan Pemrogram di Program Studi InformatikaFakultas Sains dan Teknologi dari Universitas Muhammadiyah Sidoarjo.

Pada Praktikum Algoritma dan Pemrogram ini bahasa yang digunakan adalah Bahasa C++. Dan dalam proses praktikum menggunakan Dev C++ dan Visual C++ sebagai IDE (Integrated Development Environment) yang mana adalah program komputer yang memiliki fasilitas yang diperlukan dalam pembangunan perangkat lunak, tetapi tidak hanya kedua program tersebut masih ada IDE lain yang dapat digunakan seperti Code::Blocks, Eclipse, Netbean, Atom.




--------------------------------------------------

Resume Laporan Praktikum Algoritma dan Pemrograman

--------------------------------------------------

Pokok Bahasan 1 : Input/Output Dan Jenis Data


Setiap program c++ mempunyai bentuk umum seperti dibawah, yaitu :

   #include <iostream>      // prepocessor directive
   using namespace std;     // prepocessor directive
   int main() {             // batang tubuh program utama
   cout << "Hello World!";  // batang tubuh program utama
   }                        // batang tubuh program utama

Penjelasan :

#Include 

Adalah salah satu pengarah prepocessor directive yang tersedia pada c++ prepocessor selalu dijalankan terlebih dahulu pada saat proses kompilasi terjadi . bentuk umumnya : 



    #include < nama file> 



Tidak diakhiri tanda semicolon ( " ; " ) karena bentuk tersebut bukanlah suatu bentuk pernyataan tetapi merupakan bentuk preprocessor directive baris tersebut mengintrusikan kepada kompiler yang menyisipkan file lain dalam hal ini file yang berakhiraran .h file header yaitu file yang berisi sebagai deklrasi contohnya : 

  • #include <iostream.h> : diperlukan pada program yang menggunakan cout 
  • #include<conio.h> : diperlukan bila melibatkan clrscr() yaitu perintah untuk membersihkan layar
  • # include<iomanip.h> :diperlukan bila melibatkan set w(). yang bermanfaat untuk mengatur lebar dari suatu tampilan data 

Fungsi main ()

Fungsi ini menjadi awal dan akhir eksekusi program c++.main adalah nama judul fungsi.melihat bentuk seprti itu dapat kita ambil kesimpulan bahwa batang tubuh program utama , utama, maka dapat dipastikan seorang pemrogram menggunakan minimal sebuah fungsi. Pembahasan lebih lanjut mengenai fungsi akan di terangkan kemudian. Yang sekarang coba ditekankan adalah kita menuliskan program utama kita di dalam sebuah fungsi main(). 

Komentar

Komentar tidak pernah di compiler. Dalam C++ terdapat 2 jenis komentar, yaitu : 
  • Jenis 1 : /* Komentar anda di letakkan di dalam ini bisa mengapit lebih dari satu baris */
  • Jenis 2 : // Komentar anda diletakkan disini (hanya bisa perbaris) 

Tanda Semicolon

Tanda semicolon “ : “ digunakan untuk mengakhiri sebuah peryataan. Setiap pernyataan harus diakhiri dengan sebuah tanda semicolon. 

Mengenal Cout ( dibaca : C out)

Pernyataan cout merupakan sebuah objek di dalam C++, yang digunakan untuk mengarahkan data ke dalam standar output (cetak pada layar) dengan diberikan komperator "<<" setelahnya.

Mengenal Cin ( dibaca : C in)

Pernyataan cin merupakan sebuah objek di dalam C++, yang digunakan untuk menginputkan data ke dalam standar input dengan diberikan komperator ">>" setelahnya.

Mengenal Puts dan Gets
  • Puts berfungsi untuk menampilkan suatu keluaran ke layar tetapi fungsi puts hanya digunakan untuk menampilkan nilai string
  • Gets digunakan untuk mendefinisikan string yang dimasukkan ke program
Mengenal Printf dan Scanf

  • Printf berfungsi untuk menampilkan suatu keluaran pada layar dan menampilkan semua jenis data
  • Scanf digunakan untuk mendefinisikan setiap input yang dimasukkan ke dalam progam.

Variabel


Variabel adalah suatu tempat yang digunakan untuk menampung data atau konstanta di memori yang mempunyai nilai yang dapat berubah–ubah selama proses program.

Tipe Data
  • int - Tipe data yang berisi bilangan bulat
  • float - Bilangan floating point atau koma (desimal)
  • double - Sama dengan float namun memiliki jangkauan dua kali dari float
  • char - Menamping tipe data karakter
  • bool - Tipe data untuk menampung nilai kebenaran (true or false)
Karakter Escape


\a : untuk bunyi bell (alert)
\b : mundur satu spasi (backspace)
\f : ganti halaman (form feed)
\n : ganti baris baru (new line)
\r : ke kolom pertama, baris yang sama (carriage return)
\t : tabulasi horizontal
\v : tabulasi vertical
    : nilai kosong (null)
\’ : karakter petik tunggal
\” : karakter petik ganda
\\ : karakter garis miring

Contoh Program

#include <stdio.h>
main()
{
char nama[50],matkul[15],NIM[15];
int hadir,tugas,uts,uas,akhir;
/* mengisikan data */
printf("Nama\t\t: "); gets(nama);
printf("Mata Kuliah\t: "); gets(matkul);
printf("Nilai Kehadiran\t: "); scanf("%d",&hadir);
printf("Nilai Tugas\t: "); scanf("%d",&tugas);
printf("Nilai UTS\t: "); scanf("%d",&uts);
printf("Nilai UAS\t: "); scanf("%d",&uas);
printf("NIM\t\t: "); scanf("%s",&NIM);
/* menampilkan data */
printf("\nNilai Akhir\n");
printf("Nama\t\t: "); printf("%s\n", nama);
printf("NIM\t\t: "); printf("%s\n", NIM);
printf("Mata Kuliah\t: "); printf("%s\n", matkul);
printf("Nilai Akhir\t: ");
akhir = (hadir*10/100)+(tugas*20/100)+(uts*30/100)+(uas*40/100);
printf("%d\n", akhir);
}




Pokok Bahasan 2 : Struktur Pemrograman Pencabangan


Percabangan merupakan cara yang digunakan dalam sebuah program untuk mengambil keputusan ke satu kemungkinan True atau False berdasarkan operator yang telah diberikan dari beberapa kondisi dengan menghasilkan pilihan program yang kondisinya tepat.



Didalam pemrograman kita harus dapat menentukan aksi apa yang harus dikerjakan oleh pemroses (processor) ketika sebuah kondisi terpenuhi, dengan menggunakan operasi logik.

Macam - macam Percabangan :


1. If-else



Pernyataan Percabangan If-Else digunakan untuk memecahkan persoalan untuk mengambil suatu keputusan diantara banyak pernyataan yang ada. Statement if digunakan untuk melakukan proses percabangan di dalam program.
  • Pencabangan Tunggal : if
    if (condition) {
      // area program yang dijalankan jika kondisi terpenuhi
    }

  • Pencabangan Ganda : if – else
    if (condition) {
      // area program yang dijalankan jika kondisi  if terpenuhi
    }else {
    // area program yang dijalankan jika kondisi if tidak terpenuhi
    }
    
  • Pencabangan Bertingkat : if-else-if

    if (condition) {
      // area program yang dijalankan jika kondisi  if terpenuhi

    }else if{

    // program yang dijalankan jika kondisi else if tidak terpenuhi
    } else {
    // program yang dijalankan jika kondisi kedua if tidak terpenuhi
    }

penggunaan if else :

     #include <iostream.h>
     main(
     {
        int N;
        cout<<"Masukan nilai = "; 
        cin>>N; 
        cout <<"Nilai huruf= "; 
        if (N>=80){ 
           cout <<"A"; 
        }else if(N>=60){
           cout<<"B"; 
        }else if(N>=40){
           cout<<"C"; 
        }else(N<40){
           cout<<"D"; 
     }







2. Switch-case

Bentuk dari switch – case merupakan pernyataan yang dirancangan khusus untuk menangani pengambilan keputusan yang melibatkan sejumlah atau banyak alternatif penyelesaian tanpa perlu suatu perbandingan dalam pengambilan keputusannya

     switch(expression) {
     case x:
     // Area program dengan kondisi x
     break;
     case y:
     // Area program dengan kondisi y
     break;
     default:
     // Area program dengan kondisi bukan x atau y
     }.
Penggunaan Switch-Case

     #include <iostream.h>
     main()
     {
     char kategori;
     float diskon;
     cout <<"kategori pelanggan (A/B/C/D) = ";
     cin >> kategori;
     switch(kategori){
          case 'A':
             diskon=40;break;
          case 'B':
             diskon=25;break;
             case 'C':
          case 'D':
             diskon=10;break;
          default:
          diskon=0;
     }
     cout<<"Diskon = "<<diskon<<"%";
     }


Pokok Bahasan 3 : Struktur Pemrograman : Lompatan dan Kalang

Sebuah / kelompok intruksi diulang untuk jumlah pengulangan tertentu. Baik yang terdifinisikan sebelumnya ataupun tidak. 

Struktur pengulangan terdiri atas dua bagian :
  • Kondisi pengulangan yaitu ekspresi Boolean yang harus di penuhi untuk melaksanakan pengulangan.
  • Isi atau badan pengulangan yaitu satu atau lebih pernyataan (aksi) yang akan diulang.
Perintah atau notasi dalam struktur pengulangan adalah :
  • Pernyataan while
  • Pernyataan do…while
  • Pernyataan for
  • Pernyataan continue dan break
  • Pernyataan go to


Penjelasan

1. Pernyataan WHILE

Pernyataan while merupakan salah satu pernyataan yang berguna untuk memproses suatu pernyataan atau beberapa pernyataan beberapa kali. Pernyataan while memungkinkan statemen-statemen yang ada didalamnya tidak dilakukan sama sekali. Bentuk Umumnya : 

while (kondisi){
Pernyataan ;}

2. Pernyataan DO…WHILE

Pernyataan do while mirip seperti pernyataan while hanya saja pada do while pernyataan yang terdapat didalamnya minimal akan sekali dieksekusi. Bentuk Umumnya : 

do {
pernyataan; 
} while (kondisi); 

3. Pernyataan FOR

Pernyataan for digunakan untuk menghasilkan pengulangan(looping) beberapa kali tanpa penggunaan kondisi apapun. Pada umumnya looping yang dilakukan oleh for telah diketahui batas awal, syarat looping dan perubahannya. Pernyataan for digunakan untuk melakukan looping. Pada umumnya looping yang dilakukan oleh for telah diketahui batas awal, syarat looping dan perubahannya. Selama kondisi terpenuhi, maka pernyataan akan terus dieksekusi.

Bentuk Umumnya : 

for (inisialisasi ; kondisi ; perubahan) 
{ Statement; }

4. Pernyataan Continue dan Break

Pernyataan break akan selalu terlihat digunakan bila menggunakan pernyataan switch. Pernyataan ini juga digunakan dalam loop. Bila pernyataan ini dieksekusi, maka akan mengakhiri loop dan akan menghentikan itrasi pada saat tersebut.

5. Pernyataan goto

Pernyataan goto diperlukan untuk melakukan suatu lompatan ke suatu pernyataan berlabel yang ditandai dengan tanda " : ". Bentuk Umumnya : 

Go to bawah;
pernyataan 1;
pernyataan 2;
bawah : pernyataan 3;

Penggunaan looping :


#include <iostream.h>

#include <conio.h>

main()

{
int tombol;
char nama[80];
while((tombol =='Y')||(tombol =='y'))
{
cout <<"masukan nama anda = ";
cin >> nama;
cout <<"Hai " << nama << endl << endl;
cout << "Apakah mau mengulang (Y/T) ?";
tombol = getch(); cin >> tombol;
cout << endl << endl;
}
cout <<"Selesai";
}


Pokok Bahasan 4 : Struktur Pemrograman : Kalang


Tabel Kuadrat




SCRIPT :
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
   int x = 0;
   cout << "x x kuadrat\n";
   while (x <= 20)
   {
   cout << setw(3) << x << setw(8) << (x * x) << endl;
   x++;
   }
}


Jalankan program diatas. Jika, terjadi error, bagaimana yang benar ?
Jawab : tidak ada error waktu program di compile.
Apa guna fungsi setw( ) berfungsi membuat tampilan dalam rata kanan dengan lebar ditentukan oleh nilai yang ada dalam kurung


Memutus Kalang : Break & Continue

SCRIPT :
#include <iostream>
using namespace std;
int main()
{
         int i = 0;
         cout << i;
         do
         {
         i++;
         cout << "-";
         //if (i==4)
         //break;
         cout << i;
         } while (i<10);
         cout << "\nSelesai\n";
}

Fungsi simbol  // Berfungsi sebagai komentar dalam program / keterangan Fungsi dari keyword break, Break berfungsi mengeluarkan eksekusi compiler dari struktur program setelah suatu kondisi tertentu dipenuhi
Gantilah break dengan continue, dan jalankan !

SCRIPT :
#include<iostream>
using namespace std;
int main(){
 int i=0;
 cout<<i;
 do{
 i++;
 cout<<"-";
 // if (i==4)
 // continue;
  cout<<i;
 }while(i<12);
 cout<<"\nSelesai\n";}

Apa fungsi Continue ?
Jawab : Continue berfungsi untuk melanjutkan suatu kompile setelah suatu perintah sudah terpenuhi.


Tabel Sinus
Fungsi dari Oerator += untuk menambahkan nilai x dengan nilai 10

Metode numeris : Bisection
Apakah guna dari fungsi setprecision()?

  • setprecision() berfungsi mengatur jumlah digit pecahan yang akan ditampilkan/ banyaknya angka decimal
Apa beda antara ios::fixed dan ios::scientific ?
  • ios::fixed berfungsi memformat keluaran dalam bentuk notasi desimal
  • ios::scientific berfungsi memformat keluaran dalam bentuk notasi eksponensial
Apafungsi dari fabs() ?
  • fabs() berfungsi menghentikan iterasi yC setelah memenuhi kondisi yang ditetapkan.

Kalang FOR untuk perulangan
#include <iostream>
#include <iomanip>
using namespace std;
main () {
for (int i=1; i<=10; i++){
     for (int j=1; j<=i; j++) {
      cout << setw (5) << i*j;
     }cout << endl;
} }



Pokok Bahasan 5 : Variabel Larik : Matriks & Strings


Array
Array atau larik (dalam Bahasa Indonesia) adalah sebuah tipe data bentukan yang terdiri dari sejumlah komponen dengan tipe yang sama.

string cars[4];
atau
int myNum[3] = {10, 20, 30};

Strings
String adalah sekumpulan dari karakter, baik itu berupa karakter huruf, angka, spasi atau karakter lain. Dalam C++ nilai string harus diapit dalam tanda petik satu (" ").

Operasi Pada String : Kutak-Katik Nama



SCRIPT :

#include <stdio.h>
#include <iostream>
#include <string.h>
int main ()
{
            char nama [80], nama2[80], tulisan[80];
            int panjang, posisi;
            cout <<"Input nama = ";
            gets (nama);
            strcpy (tulisan, "Halo ");
            cout << strcat(tulisan, nama)<<endl;
            if (strcmp (nama, "Keyla") == 0){
                 cout << "Namamu Keyla kan" << endl;}
            else {
                 cout << "Namamu bukan keyla"<<endl;}
            panjang = strlen (nama);
            cout << "panjang namamu " <<panjang<<endl;
            posisi = strcspn (nama,"z");
            if (posisi<panjang){
                 cout <<"Huruf z pada posisi " <<posisi<<endl;}
            else {
                        cout <<"Tidak ada huruf z nya"<<endl;}
            strcpy (nama2,nama);
            cout << strupr (nama2) <<endl;
            cout << strlwr (nama2) <<endl;
            cout << strrev (nama2) <<endl;
            cout << strset (nama2,'x') <<endl;
}

Jalankan program di atas dan jelaskan kegunaan dari fungsi berikut ini: strlen(), strcpy(), strcat(), strcmp(),strlen(), strcspn(), strupr(), strlwr(), strrev(), dan strset()(5).

- strlen() = Bentuk format strlen(const char *s)  Fungsi menghitung panjang string s
- strcpy() = Bentuk format strcpy(char *dest, const char *src) Fungsi mengkopi string src ke dest
- strcat() = Bentuk format strcat (char*dest, const char*src) Fungsi menambahkan kopian src ke bagian akhir dest 
- strcmp() = Bentuk format strcmp(const char*s1, const char*s2) Fungsi melakukan perbandingan s1 dengan s2
- strcspn() = Bentuk format strcspn (const char *s1, const char *s2) Fungsi menemukan bagian awal string s1 yang mengandung s2
- strupr() = Bentuk format strupr(const char *s) Fungsi mengubah string menjadi huruf KAPITAL (uppercase) 
- strlwr() = Bentuk format strlwr(const char *s) Fungsi mengubah string menjadi huruf biasa/kecil (lowercase)
- strrev() = Bentuk format strrev(const char *s) Fungsi membalik semua karakter string, jadi huruf terakhir menjadi awal 
- strset() = Bentuk format strset(const char *s, int ch) Fungsi menset semua karakter dalam s ke ch

Gantilah baris : gets(nama); 
menjadi : cin >> nama;


Apakah efeknya pada waktu program dijalankan?
tidak memberikan efek saat program dijalankan, artinya keduanya memiliki fungsi yang sama. Perbedaannya gets hanya bisa digunakan untuk operasi string, tetapi cin dapat digunakan secara umum.

String Sebagai Larik Karakter : Caesar Chiper

SCRIPT :
#include <stdio.h>
#include <iostream>
#include <string.h>
using namespace std;
int main ()
{
            char tulisan [100], terenkripsi[100];
            int kunci, panjang, kode;

            cout <<"Masukkan Tulisan = ";
            cin >> tulisan;
            cout <<"Masukkan nilai kunci = ";
            cin >> kunci;

            panjang = strlen(tulisan);
            strcpy (terenkripsi,tulisan);
            for (int i=0; i<panjang; i++){
                        kode = int (tulisan[i])+kunci;
                        if (kode < 32)
                                    kode = kode + 95;
                        if (kode > 126)
                                    kode = kode - 95;
                        terenkripsi[i] = char(kode);
            }
            cout <<"Terenkripsi = "<<terenkripsi<<endl;

}

Menjalankan program tersebut, masukkan sebuah tulisan dan juga kunci untuk mengenkripsi (bil bulat positif atau negatif). Sifat operasinya adalah dapat-balik (reversible). Untuk mendekripsi gunakan nilai lawan dari kunci tersebut.

Bagaimana bentuk terenkripsi dari “Teknik Fisika” dengan kunci 10 ?

Bentuk terenkripsi dari “Teknik Fisika ” dengan kunci 10 adalah ~ouxsu*ps}suk Apa tulisan asli dari pesan berikut ini serta berapa nilai kunci yang dipakai untuk mengenkripsi tulisan aslinya ? tulisan asli dari Ru|qzq#0!u}# w#q}q~0rqxq$q0S tidak dapat saya temukan!

Hilangkan baris strcpy(... di atas, apa yang terjadi ?

strcpy(terenkripsi,tulisan); dihilangkan maka saat program dijalankan muncul baris Teknik Fisika setelah baris Terenkripsi = ^ouxsuPs}suk jika inputnya Teknik Fisika.


Pokok Bahasan 6 : Sorting (Pengurutan)

Pengertian Algoritma Sorting adalah kumpulan langkah sistematis atau secara berutan untuk memperoleh hasil yang diinginkan.

Salah satu contoh dari algoritma untuk langkah ini adalah Sorting (pengurutan). Sorting dapat didefinisikan sebagai pengurutan sejumlah data berdasarkan nilai tertentu.
Pengurutan dapat dilakukan dari nilai terkecil ke nilai terbesar (ascending) atau sebaliknya.

Fungsi Untuk Memotong - Motong Program

Menjalankan program, lalu ubah dan tambahkan perhitungan standar deviasi.

SCRIPT :
#include <iostream>
#include <math.h>
using namespace std;
int N;
float jumlah, rerata, peny, stdrdev, data[100];
void Masukkan_Data()
{
        cout <<”Banyaknya nilai = “;
        cin >> N;
        for (int i=0; i<N; i++){
            cout <<”Nilai ke-“ << (i+1) << “=”;
            cin >> data[i];
         }}
void Hitung_Rerata(){
         jumlah = 0;
         for (int i=0; i<N; i++){
            jumlah = jumlah+data[i];
         }
rerata = jumlah/N;
}
void Hitung_Standar_Deviasi(){
         peny = 0;
         for (int i=0; i<N; i++){
           peny += (data[i] – rerata)*(data[i] – rerata);
         }
         stdrdev = sqrt(peny/(N-1));
}
void Tampilkan_Hasil (){
         cout << “Jumlah = “ <<jumlah<<endl;
         cout << “Rerata = “ <<rerata<<endl;
         cout << “Standar Deviasi = “ <<stdrdev<<endl;}
int main()
{
         Masukkan_Data();
         Hitung_Rerata ();
         Tampilkan_Hasil();
}

Fungsi Untuk Mengisi Dan Menampilkan Matriks

Memodifikasi program untuk dapat mengisi dan menampilkan matriks B dengan ukuran yang sama, serta matriks C yang merupakan penjumlahan antara A dan B.

SCRIPT :
#include <iostream>
using namespace std;
int N=2;
float A[5][5], B[5][5], C[5][5];
void MengisiMatriksA (float A[5][5])
{
            for (int i=0; i<N; i++){
                for (int j=0; j<N; j++){
                 cout <<"elemen" <<i<< "," <<j<< "=";
                 cin >> A[i][j];
}}}
void MengisiMatriksB (float B[5][5])
{
            for (int i=0; i<N; i++){
                for (int j=0; j<N; j++){
                 cout <<"elemen" <<i<< "," <<j<< "=";
                 cin >> B[i][j];
}}}
void MenjumlahMatriks (float C[5][5])
{
            for (int i=0; i<N; i++){
                for (int j=0; j<N; j++){
                 C[i][j] = A[i][j] + B[i][j];
}}}
void MenampilkanMatriksA (float A[5][5])
{
            for (int i=0; i<N; i++){
                for (int j=0; j<N; j++){
                 cout <<"\t" <<A[i][j];
                }
            cout << endl;
}}
void MenampilkanMatriksB (float B[5][5])
{
            for (int i=0; i<N; i++){
                for (int j=0; j<N; j++){
                  cout <<"\t" <<B[i][j];
                }
                cout << endl;
}}
void MenampilkanMatriksC (float C[5][5])
{
            for (int i=0; i<N; i++){
                        for (int j=0; j<N; j++){
                                    cout <<"\t" <<C[i][j];
                        }
                        cout << endl;
}}
int main ()
{
            cout <<"Masukkan elemen matriks A\n";
            MengisiMatriksA(A);
            cout <<"Masukkan elemen matriks B\n";
            MengisiMatriksB(B);
            cout <<"Matriks A = \n";
            MenampilkanMatriksA(A);
            cout <<"Matriks B = \n";
            MenampilkanMatriksB(B);
            cout <<"Jumlah kedua matriks adalah\n";
            MenjumlahMatriks(C); //jk tdk ada hslnya 0 semua
            MenampilkanMatriksC(C);
}

Fungsi Dengan Nilai Kembalian (Return Value ) : Bisection

Review kembali program bisection pada modul 5, modifikasi program tersebut dengan menggunakan fungsi, yaitu dengan menambahkan fungsi berikut sebelum main().

Double y(double x)
{
  return ::*x-2*x-3;
}

Kemudian gantilah intruksi yang digunakan untuk menghitung nilai-nilai yL,yC,yU menjadi:

yL = y(xL);
yC = y(xC);
yU = y(xU);

jalankan dan periksa hasilnya. Apabila program tersebut digunakan untuk persamaan yang lain yaitu exp(x)-2*x-2=0, apakah yang harus diubah dalam program tersebut.

SCRIPT :
#include <iostream>
#include <iomanip>
#include <math.h>
using namespace std;
double y(double x){
         return exp (x)-2*x-2;
}
int main ()
{
         int iterasi = 0;
                 double xL, xC, xU, yL, yC, yU;
         cout << "Mencari akar persamaan x*x-2*x-3=0\n"
              <<"dengan metode bisection\n"
              <<"Masukkan tebakan awal bawah = ";
         cin >> xL;
         cout <<"Masukkan tebakan awal atas = ";
         cin >> xU;
         cout <<"iterasi      xL         xC"
              << "      xU         yL"
              << "      yC           yU\n";
         do {
                 xC = ( xL+xU)/2;
                 yL = y(xL);
                 yU = y(xU);
                 yC = y(xC);
                 cout << setw(5) << iterasi
                      << setiosflags (ios::fixed)
                      << setprecision (5)
                      << setw (12) << xL
                      << setw (12) << xC
                      << setw (12) << xU
                      << setw (12) << yL
                      << setw (12) << yC
                      << setw (12) << yU << endl;
         if (yL*yC <= 0)
                 xU = xC;
         else
                 xL = xC;
         iterasi ++;
         }
         while ((iterasi <= 50) && (fabs(yC)>1e-5));
         cout << "Jadi akarnya adalah " <<xC;
}

Overloading, Pendefinisian Fungsi Dengan Nama Sama

SCRIPT :
#include <iostream>
using namespace std;
float HitungLuas (float R)
{
            return 3.14159*R*R;
}
float HitungLuas (float P, float L)
{
            return P*L;
}
main ()
{
            float Radius, Luas, Panjang, Lebar;
            cout <<"Radius Lingkaran = ";
            cin >> Radius;
            cout <<"Panjang Segi Empat = ";
            cin >> Panjang;
            cout <<"Lebar Segi Empat = ";
            cin >> Lebar;
            Luas = HitungLuas (Radius);
            cout <<"Luas Lingkaran = "<<Luas<<endl;
            Luas = HitungLuas (Panjang, Lebar);
            cout <<"Luas Segi Empat = "<<Luas<<endl;
}

Apakah yang menyebabkan terjadinya error pada program diatas ?
“Tidak terjadi error”
Mengapa tidak terjadi error ketika 2 buah fungsi menggunakan nama yang sama?
Tidak terjadi error, karena 2 fungsi yang digunakan meskipun menggunakan nama yang sama tetapi memiliki parameter yang berbeda

Di atas merupakan penjelasan atau rangkuman dari tiap pokok bahasan untuk Tugas Praktikum Algoritma dan Pemrograman, sekian dari saya mohon maaf jika terdapat kurangnya. Terimakasih untuk yang telah meluangkan waktu untuk membaca semuanya dan atas apresiasinya.

Comments

Popular posts from this blog

Angga Noviar Cipta Pahlevi UMSIDA | Rangkuman Praktikum Pemrograman Berorientasi Objek

Angga Noviar Cipta Pahlevi UMSIDA | Rangkuman Praktikum Jaringan Komputer

Angga Noviar Cipta Pahlevi UMSIDA | Rangkuman Praktikum Rekayasa Perangkat Lunak