Kamis, 31 Maret 2011

Struktur Bahasa C/C++


Filed Under: Umum
Program Bahasa C/C++ tidak mengenal aturan penulisan di kolom/baris
tertentu, jadi bisa dimulai dari kolom/baris manapun. Namun demikian, untuk
mempermudah pembacaan program dan untuk keperluan dokumentasi,
sebaiknya penulisan program di bahasa C/C++ diatur sedemikian rupa sehingga
mudah dan enak dibaca.
Berikut contoh penulisan Program Bahasa C/C++
#include
void main()
{
deklarasi variabel;
deklarasi konstanta;
perintah âperintah;
//komentar
}
Untuk lebih jelas dan mudah dalam memahami penjelasan di atas, Cobalah contoh program berikut :
#include
#include
void main()
{
clrscr();
cout<<"Hello World"<<endl;
cout<<"Selamat Belajar C/C++ ";
cout<<"enter my World";
getch();
}
Penjelasan :
1. include
Adalah salah satu pengarah prepocessor directive yang tersedia pada C++.
Preprocessor selalu dijalankan terlebih dahulu pada saat proses kompilasi
terjadi. Bentuk umumnya :
# include
tidak diakhiri dengan tanda semicolon, karena bentuk tersebut bukanlah suatu
bentuk pernyataan, tetapi merupakan prepocessor directive. Baris tersebut
menginstrusikan kepada kompiler untuk menyisipkan file lain dalam hal ini file
yang berakhiran .h (file header) yaitu file yang berisi C++ standard library.
contohnya:
- #include <iostream.h> : diperlukan pada program yang melibatkan objek cout dan cin
- #include : diperlukan bila melibatkan clrscr(), yaitu perintah untuk membersihkan layar dan fungsi getch() untuk menerima sembarang input keyboard dari user.
- #include : diperlukan bila melibatkan setw() yang bermanfaat untuk mengatur lebar dari suatu tampilan data.
- #include : diperlukan pada program yang menggunkan operasi sqrt() yang bermanfaat untuk operasi matematika kuadrat.
2.Fungsi main ()
Program C++ terdiri dari satu atau lebih fungsi, dan di antara salah
satunya harus ada fungsi main dan hanya boleh ada satu main pada tiap
program C++. Setiap program C++ akan dan pasti akan memulai eksekusi
programnya pada fungsi main ini, meskipun main bukan fungsi yang pertama
ditulis di program.
Melihat bentuk seperti itu dapat kita ambil kesimpulan bahwa batang
tubuh program utama berada didalam fungsi main(). Berarti dalam setiap
pembuatan program utama, maka dapat dipastikan seorang pemrogram
menggunakan minimal sebuah fungsi.
Tanda { dan pada akhir program terdapat tanda }. Tanda { harus ada pada
setiap awal dari sebuah fungsi dan tentu saja harus diakhiri dengan tanda }.
Tanda ini digunakan untuk menunjukkan cakupan(scope) dari sebuah fungsi,
dimana untuk menunjukkan fungsi ini dimulai dan berakhir.
3. Komentar
Komentar tidak pernah dicompile oleh compiler. Dalam C++ terdapat 2
jenis komentar, yaitu:
Jenis 1 : /* Komentar anda diletakkan di dalam ini
Bisa mengapit lebih dari satu baris */
Jenis 2 : // Komentar anda diletakkan disini ( hanya bisa sebaris )
Programmer sering sekali memasukkan komentar di dalam code agar program
lebih mudah dibaca. Komentar juga membantu orang lain untuk membaca dan
mengerti isi dari code. Komentar tidak menyebabkan komputer melakukan suatu
instruksi ketika program dijalankan.
4.Tanda Semicolon
Tanda semicolon “ ; ” digunakan untuk mengakhiri sebuah pernyataan. Setiap pernyataan harus diakhiri dengan sebuah tanda semicolon.
5. Mengenal Input/Output
Pernyataan cout (dibaca C out) merupakan sebuah objek di dalam C++,
yang digunakan untuk mengarahkan data ke dalam standar output (cetak pada
layar). Sedangkan untuk menginputkan data, dapat digunakan cin (dibaca C in).
Berikutnya adalah operator << Operator ini digunakan sebagai penghubung antara stream dengan kalimat. Operator ini disesuaikan denganfungsional dari cout.
Untuk sementara bayangkan saja operator << sebagai arah dari aliran data. Jadi karena kita ingin mencetak kalimat ke layar, dan yang menghubungkan program kita dengan layar dengan cout, otomatis kita harus mengirimkan kalimat ke cout. Maka operator << digunakan, yang berarti kalimat dialirkan ke arah cout, dan cout akan mencetaknya ke layar.
Sintaks yang digunakan :
cout <> daftar_masukan
endl merupakan suatu fungsi manipulator yang digunakan untuk menyisipkan karakter NewLine atau mengatur pindah baris. Fungsi ini sangat berguna untuk piranti keluaran berupa file di disk. File header yang harus disertakan adalah file header iostream.h
Fungsi getch() (get character and echo) dipakai untuk membaca sebuah karakter dengan sifat karakter yang dimasukkan tidak perlu diakhiri dengan menekan tombol ENTER, dan karakter yang dimasukan tidak akan ditampilkan di layar. File header yang harus disertakan adalah conio.h


Flowchart


Algoritmanya

Are You  Happy ??
 >  If Yes : Keep  doing  whatever you’re doing
 >  If No :  Do you want To be Happy ???
 - If Yes  : Change Something.
 - If No : keep doing whatever you’re doing

PERCABANGAN / KONDISI


Percabangan adalah suatu proses pemilihan aksi diantara beberapa alternative yang
diberikan.
Bentuk umum statemen if :
If ( cond-exp) statement ;
Bentuk umum statement if … else :
If ( cond-exp) statement true
Else statement false ;
Jika ada lebih dari 1 (satu) instruksi yang akan dijalankan maka harus dibuat dalam
bentuk blok instruksi dengan menggunakan tanda kurung kurawal { … }
 
Contoh program :
If ( nilai > 60 )
Cout << “Anda lulus \n” ;
Else
Cout << “Anda tidak lulus \n” ;

Untuk membentuk multiway selection, dapat digunakan nested if-else, hal ini dapat
dilakukan sebanyak yang diinginkan.
Bentuk umum nested if … else :

If ( cond-exp1 )
Statement1 ;
Else if ( cond-exp2 )
Statement2 ;
Else
Statement n ;
 
Contoh program :
If ( x > 0 )
Cout << “ x adalah positif ” ;
Else if ( x < 0 )
Cout << “ x adalah negative “ ;
Else
Cout << “ x adalah nol “ ;
 
PERULANGAN / LOOP
Ada 3 (tiga) cara untuk melakukan perulangan di C++ yaitu :
 
1. for statement
2. while statement
3. do while statement
Loop adalah : perulangan statement dengan jumlah tertentu jika kondisi terpenuhi.
 
FOR STATEMENT
Bentuk umum :
For ( ; ; )
Statement ;
Keterangan :
- init-exp : ekspresi yang digunakan untuk melakukan inisialisasi terhadap
variable-variabel tertentu, terutama variable yang digunakan untuk melakukan
iterasi. Init-exp dapat berupa ekspresi maupun pendefinisian variable.
- Test-exp : ekspresi yang memegang control terhadap proses perulangan tersebut,
pada bagian ini akan ditentukan apakah proses perulangan akan tetap
berlangsung atau tidak.
- Inc/dec-exp : digunakan untuk mengatur perubahan nilai variable. Umumnya
nilai variable tersebut bertambah / berkurang 1 (satu)
 
Contoh program :
# include
Main ( )
{
Int batas ;
Cout << “ Nilai tertinggi = “ ;
Cin >> batas ;
For ( int i = 1 ; i < = batas ; i++ )
Cout << i << ‘ ‘ ;
Return 0 ;
}
 
WHILE STATEMENT
Bentuk umum :
While ( cond-exp) statement ;
Statement akan dilaksanakan terus selama cond-exp bernilai true.
 
Contoh program :
# include
Main ( )
{
Int I = 0 ;
While ( I < 10 )
{
Cout << “ Belajar C++ \n “ ;
I++ ;
}
Return 0 ;
}
 
DO WHILE STATEMENT
Bentuk umum :
Do statement while ( cond-exp ) ;
Perbedaan dengan while statement adalah : pada do while kondisi akan dievaluasi
setelah dilakukan statement/proses. Selain itu pada do while minimal akan dilaksanakan
1 (satu) kali statement/instruksinya.
 
Contoh program :
# include
Main ( )
{
Int I = 0 ;
Do
{
Cout << “ Belajar C++ \n “ ;
I++ ;
}
While ( I < 10 ) ;
Return 0 ;
}

Declaring C++ Class Templates

           Declaration of C++ class template should start with the keyword template. A parameter should be included inside angular brackets. The parameter inside the angular brackets, can be either the keyword class or typename. This is followed by the class body declaration with the member data and member functions. The following is the declaration for a sample Queue class.

//Sample code snippet for C++ Class Template
template <typename T>
class MyQueue
{
         std::vector<T> data;
      public:
         void Add(T const &d);
         void Remove();
         void Print();
};

   The keyword class highlighted in blue color, is not related to the typename. This is a mandatory keyword to be included for declaring a template class.

Defining member functions - C++ Class Templates:

   If the functions are defined outside the template class body, they should always be defined with the full template definition. Other conventions of writing the function in C++ class templates are the same as writing normal c++ functions.
template <typename T> void MyQueue<T> ::Add(T const &d)
{
     data.push_back(d);
}
template <typename T> void MyQueue<T>::Remove()
{
      data.erase(data.begin( ) + 0,data.begin( ) + 1);
}
template <typename T> void MyQueue<T>::Print()
{
     std::vector <int>::iterator It1;
     It1 = data.begin();
     for ( It1 = data.begin( ) ; It1 != data.end( ) ; It1++ )
          cout << " " << *It1<<endl;

}
 

   The Add function adds the data to the end of the vector. The remove function removes the first element. These functionalities make this C++ class Template behave like a normal Queue. The print function prints all the data using the iterator.

Full Program - C++ Class Templates:

//C++_Class_Templates.cpp

#include <iostream.h>
#include <vector>

template <typename T>
class MyQueue
{
     std::vector<T> data;
   public:
     void Add(T const &);
     void Remove();
     void Print();
};
template <typename T> void MyQueue<T> ::Add(T const &d)
{
     data.push_back(d);
}
template <typename T> void MyQueue<T>::Remove()
{
     data.erase(data.begin( ) + 0,data.begin( ) + 1);
}
template <typename T> void MyQueue<T>::Print()
{
     std::vector <int>::iterator It1;
     It1 = data.begin();
     for ( It1 = data.begin( ) ; It1 != data.end( ) ; It1++ )
        cout << " " << *It1<<endl;
}
//Usage for C++ class templates
void main()
{
     MyQueue<int> q;
     q.Add(1);
     q.Add(2);

     cout<<"Before removing data"<<endl;
     q.Print();

     q.Remove();
     cout<<"After removing data"<<endl;
     q.Print();
}