A. Teori Dasar
1. Sejarah Bahasa Pemograman C++
         Pemograman sudah ada sejak komputer pertama kali diciptakan. pada awalnya programmer bekerja dengan bahsa pemograman yang sangat sulit untuk dipahami oleh manusia, bahasa itu adalah bahasa mesin.
         karena sangat sulit untuk memahaminya, maka dari itu dibuatlah Assembly yang merupakan bahasa rakitan yang merupakan kumpulan dari singkatan Kode-Kode.Waktu ke waktu semakin banyak pengembang yang berusaha untuk mengembangkan bahasa pemrograman, banyak bahasa tingkat tinggi yang bermunculan dengan fasilitas yang mereka tawarkan, salah satunya adalah C++.


Sejarah Bahasa Pemrograman C++
Bahasa C++ lahir pada tahun 1980, yang dibuat oleh Bjarne Stroustrup di AT&T Bell Laboratories awal tahun 1980-an berdasarkan C ANSI (American National Standard Institute). Pertama kali, prototype C++ muncul sebagai C yang dipercanggih dengan fasilitas kelas, bahasa tersebut disebut “C dengan kelas” (C with Class).

            Pada tahun 1983-1984, C dengan kelas disempurnakan dengan menambahkan fasilitas overloading operator, yang mulanya disebut “a better C” kemudian berganti nama pada tahun 1983 menjadi C++. Simbol ++ merupakan operator penaikan pada C, digunakan untuk menunjukkan bahwa bahasa baru ini merupakan versi yang lebih canggih dari C.

            Borland International merilis kompiler Borland C++ dan Turbo C++. Kedua kompiler ini sama-sama dapat digunakan untuk mengkompilasi kode C++. Bedanya, Borland C++ selain dapat digunakan dibawah lingkungan DOS, juga dapat digunakan untuk pemrograman Windows. Selain Borland International beberapa perusahaan lain juga merilis kompiler C++, seperti Topspeed C++ dan Zortech C++.

            Awal mula Bjarne Stroustrup membuat membuat C++ adalah ketika Bjarne Stroustrup melakukan pekerjaan untuk gelar Ph.D. tesis pada salah satu bahasa pemrograman dan Stroustrup memiliki kesempatan untuk bekerja dengan bahasa tersebut yang disebut Simula,

            Simula merupakan bahasa untuk simulasi. The Simula 67 bahasa yang merupakan varian bekerja dengan Stroustrup. bahasa tersebut dianggap sebagai bahasa pertama untuk mendukung paradigma pemrograman berorientasi obyek. Stroustrup menyadari bahwa paradigma ini sangat berguna untuk pengembangan perangkat lunak, dengan kelebihan bahasa Simula tersebut tetapi bahasa Simula memiliki kekurangan yaitu, bahasa Simula terlalu lambat untuk penggunaan praktis.

            Tak Lama kemudian, ia memulai untuk mengerjakan bahasa pemrograman berdasarkan ide yang telah ia dapatkan. Stroustrup mengerjakan C++ dengan nama awalnya yaitu C With Class. yang dimaksudkan untuk menjadi superset dari bahasa C, dengan menambahkan pemrograman berorientasi obyek ke dalam bahasa C.

            Alasan Kenapa Stroustrup lebih memilih untuk mengembangkan C adalah, karena bahasa pemrograman C merupakan bahasa pemrograman yang sangat popular karena kecepatan, kinerja yang bagus, memungkinkan untuk melakukan pengkodean bahasa tingkat rendah dan lain sebagainya.
            Kompiler Pertama C with class disebut Cfront, yang berasal dari kompiler C disebut CPRE. CFront adalah program yang dirancang untuk menerjemahkan C dengan Kelas ke C. hal menarik yang patut untuk diketahui adalah bahwa Cfront sebagian besar ditulis dalam C with Class, membuatnya menjadi kompiler self hosting (Kompiler yang dapat mengkompilasi diri sendiri).

            Cfront kemudian ditinggalkan pada tahun 1993 setelah dianggap sulit untuk mengintegrasikan fitur baru ke dalamnya. Meskipun demikian, Cfront membuat dampak besar pada implementasi kompiler masa depan dan pada sistem operasi Unix.

            Pada tahun 1985, Stroustrup membuat buku referensi berjudul The C ++ Programming Language diterbitkan. Pada tahun yang sama, C ++ dilaksanakan sebagai produk komersial. Bahasa ini belum secara resmi distandarkan. Bahasa ini diperbarui lagi pada tahun 1989 dan menambahkan fasilitas Protected member, Static member, serta Inheritance.

            Pada tahun 1990, buku The Annotated C ++ Reference dirilis. Pada tahun yang sama Borland dan Turbo C ++ kompiler dirilis sebagai produk komersial. Turbo C ++ menambahkan banyak library tambahan yang akan memiliki dampak yang besar terhadap pengembangan C ++. Meskipun rilis stabil terakhir Turbo C ++ pada tahun 2006, tapi kompiler tersebut sampai saat ini masih banyak digunakan.

            Pada tahun 1998, panitia standar C ++ menerbitkan Standar Internasional pertama untuk C ++ ISO / IEC 14882: 1998. Pada tahun 2003, panitia mendapati beberapa masalah yang dilaporkan dengan C++ Standar mereka pada tahun 1998, karena itu bahasa diperbaharui yang merupakan revisi masalah sebelumnya dan dijuluki C ++ 03.

            Pada tahun 2005, panitia Standarisasi C ++ merilis laporan teknis yang dijuluki TR1, merinci berbagai fitur mereka berencana untuk menambah C ++ standar terbaru. Standar baru itu secara informal dijuluki C ++ 0x seperti yang diharapkan akan dirilis sebelum akhir dekade pertama. Namun, ironisnya, standar baru tidak dirilis sampai pertengahan 2011.


            Pada pertengahan 2011, C ++ 11 selesai dan merupakan C++ standar baru. The Library Project Meningkat, membuat dampak yang besar terhadap standar baru, dan beberapa modul baru berasal langsung dari Boost perpustakaan. Beberapa fitur baru termasuk dukungan ekspresi regular merupakan sebuah perpustakaan pengacakan komprehensif, perpustakaan threading standar , fungsi baru untuk pengulangan, Foreach Loop, kata kunci Auto, Class New Container, dukungan yang lebih baik untuk daftar inisialisasi Array, dan Variadic Template.

1.1 Kelebihan C++

        Mampu mengakses komponen hardware komputer, dengan syntax yang lebih manusiawi dibanding Assembly.
Multi platform (Windows, Linux, Macintosh).
Kecepatan program jika dibanding dengan program yang sama buatan bahasa lain, relatif lebih cepat,
Penanganan kompleksitas C++ menggunakan OOP.
Dan C++ juga merupakan induk dari bahasa pemrograman perl, php, phyton, visual basic, gambas, java, C#.
Kekurangan C++
Banyaknya operator serta fleksibilita spenulisan program kadang-kadang membingungkan pemakai (pemula).
Bagi pemula akan kesulitan menggunakan pointer.
Aplikasi Bahasa C++
Sebagai bahasa pemrograman di Windows, UNIX, Linux.
Bahasa untuk pembuatan system operasi, game, system kendali, pembuatan aplikasi.
Untuk membuat bahasa baru atau membuat compiler bahasa baru, dll.
Beberapa Aturan Dasar Pembuatan Program Dengan C++
Penamaan file mengikuti kaidah penamaan DOS (8 karakter nama+ 3 karakter untuk extention).
Keyword (kata tercadang) harus ditulis dalam huruf kecil.
Penulisan program (penamaan fungsi, penamaan variabel, penamaan konstanta, dll) bersifat case sensitive.
setiap pernyataan/statement/ekspresi dalam program harus diakhiri dengan tanda titik koma (;).
Bahasa C++ membedakan penulisan huruf besar dan kecil.
Awal dan akhir fungsi harus diapit kurung kurawal.


1.2 Definisi variabel
            Variabel adalah suatu tempat yang digunakan untuk menampung data atau konstanta di memori yang mempunyai nilai yang dapat berubah–ubah selama proses program.
Variabel dalam pemrograman mungkin tidak secara langsung sesuai dengan konsep variabel dalam matematika. Yang terakhir ini abstrak, tidak mengacu pada objek fisik seperti lokasi penyimpanan. Nilai variabel komputasi tidak harus merupakan bagian dari persamaan atau rumus seperti dalam matematika. Variabel dalam pemrograman komputer sering diberi nama panjang untuk membuatnya relatif deskriptif penggunaannya, sedangkan variabel dalam matematika sering memiliki nama singkat, satu atau dua karakter untuk keringkasan dalam transkripsi dan manipulasi.
1.3 Library
Library : Dalam istilah komputer, library merupakan sekumpulan subroutine atau class yang biasa digunakan untuk men-develop software. Library menyediakan sejumlah kode dan data yang menyediakan layanan untuk program yang independen. Libarary mengizinkan kode dan data untuk saling berbagi dalam mode yang modular. Beberapa aplikasi executable (dapat dijalankan langsung/ telah berbentuk binary program), telah menyediakan standalone program dan library. Namun, kebanyakan library tidak bersifat executable. Library di suatu sistem operasi sendiri terbagi lagi menjadi dua jenis, yakni static library dan dynamic linking
1.4 PENGERTIAN OPERATOR
Operator merupakan SDM yang tugasnya mengoperasikan menghidupkan hardware, menjalankan software, berinteraksi dengan hardware dan software yang sedang beroprasi, dan menyudahi operasi (menghentikan software dan mematikan hardware). Operator tidak perlu memiliki latar belakang pendidikan IT, selain pelatihan sesuai tugasnya. Dalam melaksanakan tugasnya, tentu memerlukan otoritas yang cukup tinggi karena harus bisa menghidupkan dan mematikan sistem. Mereka memiliki akses penuh atas console sistem dan aplikasi untuk sistem produksi. Oleh karena itu operator harus bekerja di ruang khusus yang tidak boleh dimasuki oleh siapa saja selain yang diijinkan oleh pimpinan operasi. Sebaliknya, console sistem dan aplikasi untuk sistem produksi di setup sedemikian rupa supaya tidak bisa dibuka diluar ruang operator.

1.5 Manipulator
Manipulator adalah bagian mekanik yang dapat difungsikan untuk memindahkan, mengangkat benda kerja. Manipulator merupakan salah satu komponen penting dalam menunjang aktifitas suatu sistem robotika. Manipulator (sistem mekanik) merupakan “tulang” dari sebuah sistem robotika tersebut. Tanpa sistem mekanik maka suatu sistem tidak mampu menjalankan aktifitasnya. Suatu sistem mekanik didesain sesuai dengan kebutuhan dan efisiensinya. Dikarenakan sebuah sistem robot mempunyai bermacam–macam bentuk dan ukuran, sehingga memiliki beragam kemampuan gerakan. Secara klasik konfigurasi manipulator dapat dibagi dalam empat kelompok, yaitu polar, slindris, cartesian, dan sendi lengan (joint – arm). Cartesian dan slindris memiliki tingkat ketelitian yang tinggi akan tetapi ruang gerak terbatas oleh jangkauan lengannya.
Format variabel konstanta





1.6 INPUT OUTPUT
Input adalah aktifitas pengguna dengan program komputer yang memungkinkan kita memberikan data kedalam program. Misalnya dari keyboard, mouse, dll.
Contoh program

     #include <stdio.h>
     #include <conio.h>
     #include <iostream.h>

     main(){
         char karakter;

        cout<<"Masukkan karakter : ";
        karakter = getch();

        cout<<endl;
        cout<<"Masukkan nama : "<<karakter;
        getch();







Sedangkan Output dapat diartikan sebagai berikut:
Output adalah aktifiktas program komputer untuk mengeluarkan data kepada pengguna. Data tersebut dapat berupa text, file, gambar dan lain-lain.

Contoh program

     #include <stdio.h>
     #include <conio.h>
     #include <iostream.h>

     main(){
         float a=8.5;
         int b=11;
         char c = 'C';

         cout<<"Ini adalah data float : "<<a<<endl;
         cout<<"Ini adalah data integer : "<<b<<endl;
         cout<<"Ini adalah data char : "<<c;

        getch();
     }

 Contoh Penulisan komentar
std::cout<<”BelajarC++”<<std::endl;  //ini komentar. pernyataan di

1.7 Jenis Manipulator C++
endl adalah sebuah fungsi manipulator yang berguna untuk memasukkan karakter NewLine atau mengatur pindah baris, dengan kata lain fungsi manipulator ini serupa dengan "\n". Fungsi endl sangat dibutuhkan untuk piranti keluaran berupa file di disk. Untuk menggunakan manipulator ini, sobat harus menyertakan file header <iostream>

Untuk lebih jelasnya, fungsi manipulator endl dapat dilihat pada program dibawah ini:

contoh manipulator endl

#include<iostream>
using namespace std;

int main ()
{
     int nilai1=100, nilai2=80;
     int jumlah = nilai1 + nilai2;

     // Contoh fungsi manipulator endl
     cout<<"Nilai 1 : "<<nilai1<<endl;
     cout<<"Nilai 2 : "<<nilai2<<endl<<endl;

     cout<<"Jumlah Kedua Nilai : "<<jumlah;

     return 0;
}














ends
ends adalah sebuah fungsi manipulator yang berguna untuk menambah karakter null (nilai ASCII NOL) kederetan suatu karakter. Fungsi seperti ini seringkali diperlukan, misalnya untuk mengirim sejumlah karakter ke file di disk atau modem dan mengakhirinya dengan karakter NULL. Untuk menggunakan manipulator ini, sobat harus menyertakan file header <iostream>
Contoh :

cout<<'M'<<'D'<<ends;
Pernyataan di atas mengirimkan 2 buah karakter (M dan D) serta sebuah karakter null. Pada layar, ends akan menimbulkan sebuah karakter kosong.

Untuk lebih jelasnya, fungsi manipulator ends dapat dilihat pada program dibawah ini:


contoh manipulator ends
#include <iostream>

using namespace std;

int main ()
{
     int nilai1=100, nilai2=80;
     int jumlah = nilai1 + nilai2;

     // Contoh fungsi manipulator ends
     cout<<"Nilai 1 : "<<nilai1<<".";
     cout<<"\nNilai 2 : "<<nilai2<<ends<<ends<<".";

     cout<<"\n\nJumlah Kedua Nilai : "<<jumlah;

     return 0;
}



setw( )
setw( ) adalah sebuah fungsi manipulator yang berguna untuk mengatur lebar dari suatu tampilan data. Seandainya sobat akan menggunakan manipulator ini, sobat harus menyertakan file header <iomanip>. Bentuk umum penulisan setw() adalah sebgai berikut:

setw(int n);
n = adalah nilai lebar tampilan data, yang bernilai integer.

Untuk lebih jelasnya, fungsi manipulator setw() dapat dilihat pada program dibawah ini:

contoh manipulator setw

#include <iostream>
#include <iomanip>

using namespace std;

int main ()
{
     int jumbar1 = 1300, jumbar2 = 80, jumbar3 = 520;

     // Contoh fungsi manipulator setw( )
     cout<<"Barang 1 = "<<setw(8)<<jumbar1<<endl;
     cout<<"Barang 2 = "<<setw(8)<<jumbar2<<endl;
     cout<<"Barang 3 = "<<setw(4)<<jumbar3<<endl;

     return 0;
}


dec( ), oct( ) dan hex( )
dec, oct dan hex adalah sebuah fungsi manipulator yang berguna untuk memunculkan data dalam bentuk hexadesimal (bilangan berbasis 16), oktal (bilangan berbasis 8) dan desimal (bilangan berbasis 10). Seandainya sobat akan menggunakan manipulator ini, sobat harus menyertakan file header <iomanip>.

Untuk lebih jelasnya, fungsi manipulator dec(), oct() dan hex() dapat dilihat pada contoh program dibawah ini:
contoh manipulator dec, oct, hex







#include <iostream>
#include <iomanip>

using namespace std;

int main ()
{
     int nilai = 500;

     cout<<"Nilai Awal= "<<nilai<<endl<<endl;

     cout<<"Nilai ke Desimal = "<<dec<<nilai<<endl;
     cout<<"Nilai ke Oktal = "<<oct<<nilai<<endl;
     cout<<"Nilai ke Hexadesimal = "<<hex<<nilai<<endl;

     return 0;
}


setbase( )
setbase( ) adalah sebuah fungsi manipulator yang berguna untuk konversi bilangan desimal, oktal dan hexadesimal. Seandainya sobat akan menggunakan manipulator setbase(), sobat harus menyertakan file header <iomanip>. Bentuk penulisannya setbase() adalah sebgai berikut:

setbase(base bilangan);

Untuk lebih jelasnya, fungsi manipulator setbase( ) dapat dilihat pada contoh program dibawah ini:
#include <iostream>
#include <iomanip>

using namespace std;

int main ()
{
     int MD;

     cout<<"Penerapan Manipulator setbase()"<<"\n\n";
     cout<<"Desimal Oktal Hexadesimal"<<endl;
     cout<<"----------------------------"<<"\n";

     for(MD=180;MD<=190;MD++){
          cout<<setbase(10)<<MD<<"      ";
          cout<<setbase(8)<<MD<<"      ";
          cout<<setbase(16)<<MD<<endl;
     }

     return 0;
}


setfill( )
setfill( ) adalah sebuah fungsi manipulator yang berguna untuk menampilkan suatu karakter yang diletakkan didepan nilai yang diatur oleh fungsi setfill(). Untuk menggunakan manipulator setfill(), sobat harus menyertakan file header <iomanip>. Bentuk penulisannya setfill() adalah sebgai berikut:

setfill(charakter);

Untuk lebih jelasnya, fungsi manipulator setfill( ) dapat dilihat pada contoh program dibawah ini:
#include <iostream>
#include <iomanip>

using namespace std;

int main ()
{
     int MD;

     cout<<"Penggunan Manipulator setfill()"<<"\n\n";

     for(MD=1;MD<=15;MD++)
     {
          cout<<setfill('*');
          cout<<setw(MD)<<MD<<endl;
     }

     return 0;
}

setprecision( )
setprecision( ) adalah sebuah fungsi manipulator yang berguna untuk mengatur jumlah digit desimal yang ingin ditampilkan. biasanya setprecision() digunakan jika sobat bekerja dengan menggunakan bilangan pecahan, dengan setprecision() sobat dapat mengatur jumah digit pecahan yang ingin ditampilkan, Untuk menggunakan manipulator setprecision(), sobat harus menyertakan file header <iomanip>

Untuk lebih jelasnya, fungsi manipulator setprecision( ) dapat dilihat pada contoh program dibawah ini:
contoh manipulator setprecision
#include <iostream>
#include <iomanip>

using namespace std;

int main ()
{
     float M,D,MD;

     M = 12.34;
     D = 38.56;
     MD = M * D;

     cout<<setiosflags(ios::fixed);
     cout<<setprecision(0)<<MD<<endl;
     cout<<setprecision(2)<<MD<<endl;
     cout<<setprecision(4)<<MD<<endl;
     cout<<setprecision(6)<<MD<<endl;
     cout<<setprecision(8)<<MD<<endl;

     return 0;
}
setiosflags( )
setiosflags( ) adalah sebuah fungsi manipulator yang dipakai untuk mengatur berbagai format keluaran data, Untuk menggunakan manipulator setiosflags(), sobat harus menyertakan file header <iomanip>. Terdapat berbagai format keluaran (outout) untuk fungsi setiosflags(), diantaranya adalah sebagai berikut:

Tebel Tanda format untuk menampilkan setiosflags() dan resetiosflags()


Tanda Format
Keterangan
ios::right
Menyetel rata kanan pada lebar field yang diatur melalui setw()
ios::left
Menyetel rata kiri pada lebar field yang diatur melalui setw()
ios::fixed
Memformat keluaran dalam bentuk notasi desimal
ios::scientific
Memformat keluaran pada notasi eksponensial
ios::oct
Memformat keluaran pada basis 8 (oktal)
ios::hex
Memformat keluaran pada basis 16 (heksadesimal)
ios::dec
Memformat keluaran pada basis 10 (desimal)
ios::uppercase
Memformat huruf dalam notasi heksadesimal pada bentuk huruf kapital
ios::showpoint
Menampilkan titik desimal dalam bilangan pecahan yang tidak mempunyai bagian pecahan
ios::showbase
Menampilkan awalan 0x bagi bilangan heksadesimal atau 0 (nol) bagi bilangan oktal
ios::showpos
Untuk menampilkan tanda + pada bilangan positif

Untuk lebih jelasnya, fungsi manipulator setiosflags( ) yang menggunakan tanda format ios::left dan ios::right dapat dilihat pada contoh program dibawah ini:
contoh manipulator setiosflags
#include <iostream>
#include <iomanip>

using namespace std;

int main ()
{
     int M = 20, D = 35;

     // Contoh fungsi manipulator setiosflags()
     cout<<"\nPenggunaan ios::left dan ios::right\n";

     cout<<"\nRata Sebelah Kiri  = ";
     cout<<setiosflags(ios::left)<<setw(8)<<M;
     cout<<setiosflags(ios::left)<<setw(8)<<D;

     cout<<"\nRata Sebelah Kanan = ";
     cout<<setiosflags(ios::right)<<setw(8)<<M;
     cout<<setiosflags(ios::right)<<setw(8)<<D;

     return 0;

PERCABANGAN

Percabangan merupakan pemilihan statemen yang akan dieksekusi dimana pilihan tersebut didasarkan atas kondisi tertentu untuk mengarahkan perjalanan suatu proses. Biasanya program akan dieksekusi baris perbaris setiap saat secara berurutan. Eksekusi baris perbaris sangat baik,sebab tidak akan terdapat saat vacuum pada program. Jika ingin perubahan,dalam hal ini program melompat(tidak berurutan) baik ke baris perintah jauh dibawahnya maupun melompat ke baris perintah diatasnya. Maka kita membutuhkan perintah percabangan , yaitu fungsi yang dapat mengatur program agar melompat ke suatu baris perintah yang ditentukan,sesuai dengan kondisi yang sedang diterima.

1. Percabangan Bersyarat IF
Struktur ini merupakan struktur yang paling sederhana karena hanya melibatkan satu buah ekspresi yang akan diperiksa.Percabangan if akan menagani suatu eksprsi apabila kondisi terpenuhi. Bentuk dasar pernyataan if adalah:
If (ekspresi kondisional)
Statemen ;
//Diatas jika hanya terdiri dari satu statement, Bagaimana Jika lebih dari 1 ? Jika lebih dari satu makan statemennya harus berada dalam { }.
If (ekspresi kondisional)
{
Statemen 1
Statemen_2
Statemen_3
……..
Statemen_n
}
Penjelasannya jika ekspresi kondisional di dalam tanda kurung benar,  maka statemen atau grup statemen dibawahnya akan dieksekusi, sebaliknya jika ekspresi kondisionalnya salah maka statemen/grup statemen di bawahnya tidak akan dieksekusi (fungsi if tidak menghasilkan apa-apa). Ekpresi kondional adalah ekspresi yang menjadi  dasar bagi pernyataan yang berkondisi (selau dipakai pada fungsi if), yang memberikan nilai benar atau salah.
Berikut Contoh program percabangan bersyarat IF :
#include <iostream.h>
#include <conio.h>
main(){
int x;
cout<<“\n================================\n”;
cout<<“\nBELAJAR PERCABANGAN BERSYARAT IF\n”;
cout<<“\n================================\n”;
cout<<“Masukkan Angka: “;
cin>>x;
if (x>0)
cout<<“Angka yang dinputkan bilangan positif”;
getch();
}
dan berikut outputnya :

2. Percabangan IF-ELSE
Percabangan if-else akan menangani salah satu dari dua ekspresi / grup ekspresi sesuai nilai kondisi yang dihasilkan. dan dapat dikatan percabangan ini sedikit lebih komplekjika dibandningan dengan percabangan if diatas. Bentuk percabangan if-else sebagai berikut:
//Struktur 2 kondisi
If(ekspresi kondisional)
Statemen_1;
Else                                                        
Statemen_2;
dan untuk struktur 3 kondisi atau lebih berikut strukturnya :
If(ekspresi kondisional)
{
Statemen_1_1
Statemen_1_2
………………………
Statemen_1_n
}
Else
{
Statemen_2_1
Statemen_2_2
………………………
Statemen_2_n
}
Penjelasan dari bentuk diatas apabila ekspresi kondisional menghasilkan nilai benar maka program akan mengeksekusi statemen_1,namun sebaliknya apabila ekspresi kondisional bernilai salah maka yang akan dieksekusi adalah statemen_2 .
Berikut Contoh Program If – else 2 kondisi:
#include <iostream.h>
#include <conio.h>
main(){
int x;
cout<<“\n======================================\n”;
cout<<“\nBELAJAR PERCABANGAN BERSYARAT IF-ELSE\n”;
cout<<“\n======================================\n”;
cout<<“Masukkan Nilai = “;
cin>>x;
if (x% 2 == 0)
cout<<“Nilai dimasukkan adalah bilangan genap”;
else
cout<<“Nilai dimasukkan adalah bilangan ganjil”;
getch();
}
outputnya :
 


Contoh untuk Program If – else 3 kondisi:
#include <iostream.h>
#include <conio.h>
main ()
{
int x;
char i;
cout<<“\n========================================\n”;
cout<<“\nBELAJAR PERCABANGAN BERSYARAT IF-ELSE-IF\n”;
cout<<“\n========================================\n”;
cout<<“Masukkan Bilangan:”;
cin>>x;
if (x>0)
{
cout<<“Bilangannya adalah Positif(+)”;
}
else if (x<0)
{
cout<<“Bilangannya adalah Negatif(-)”;
}
else
{
cout<<“Bilangannya adalah Nol(0)”;
}
cin>>i;
getch();
}
Dan outputnya :

3. PERCABANGAN SWITCH-CASE-DEFAULT
adalah sebuah pernyataan yang digunakan untuk menjalankan salah satu pernyataan dari beberapa kemungkinan pernyataan, berdasarkan nilai dari sebuah ekspresi dan nilai penyeleksi. secara singkat, pernyataan ini merupakan pernyataan pilihan ganda. Bentuk dari pernyataan switch adalah:
Switch(ekspresi)
{case ekspresi_1
pernyataan_1;
break;
case ekspresi_2
break;
case ekspresi_n;
break;
default;
pernyataan_x
}
Pada pernyataan switch,ekspresi dapat berupa ekspresi,konstanta ataupun variable.Adapaun ekspresi1,ekspresi2,dan seterusnya dapat berupa sembarang konstanta bertipe int atau char. Pencocokan ekspresi dengan ekspresi1,ekpresi2,dan sebagainya dilakukan secara berurutan,dimulai yang pertama. Sekiranya Cocol, pernyataan yang mengikuti case bersangkutan dijalankan. Kalau selanjutnya pernyataan break ditemukan, eksekusi dari pernyataan  switch berakhir. Dan perlu diketahui, untuk bagian default hanya akan dijalankan jika ungkapan pada bagian case tiadak ada yang cocok dengan ungkapan switch.
Berikut contoh program switch :
#include <iostream.h>
#include <conio.h>
main() {
int x;
cout<<“\n==================================================\n”;
cout<<“\nBELAJAR PERCABANGAN BERSYARAT SWITCH-CASE-DEFAULT\n”;
cout<<“\n==================================================\n”;
cout<<“Masukkan angka untuk mengetahui hari apa : “;
cin >>x;
switch (x){
case 1 : cout<<“Hari ke “<<x<<” : Senin”;
break;
case 2 : cout<<“Hari ke “<<x<<” : Selasa”;
break;
case 3 : cout<<“Hari ke “<<x<<” : Rabu”;
break;
case 4 : cout<<“Hari ke “<<x<<” : Kamis”;
break;
case 5 : cout<<“Hari ke “<<x<<” : Jum’at”;
break;
case 6 : cout<<“Hari ke “<<x<<” : Sabtu”;
break;
case 7 : cout<<“Hari ke “<<x<<” : Minggu”;
break;
default :cout<<“Tidak ada hari ke “<<x;}
getch();
}
dan outputnya :
CONTOH PROGRAM UNTUK PERULANGAN
 Perulangan adalah suatu atau serangkaian bentuk kegiatan mengulang suatu statement sampai batas yang diinginkan.
Bentuk umum Perulangan pada bahasa C++ ada  3 antara lain :

1. Perulangan FOR
    Digunakan untuk mengulang suatu proses yang telah diketahui jumlah perulangannya.
Bentuk umumnya:
for( awal ; kondisi ; counter )
{
Statementl;
Statement2;
}
Statement3;



2. Perulangan WHILE
    Digunakan bila jumlah perulangannya belum diketahui.
Bentuk umumnya:

while( expression )
{
Statementl;
Statement2;
}
Statement3;




3. Perulangan DO WHILE
   
Perulangan DO WHILE dan WHILE hampir sama, perbedaannya dengan while, do … while memiliki pengecekan kondisi yang terletak setelah statement perulangan.
Bentuk umumnya:

do
{
Statementl;
Statement2;
}
while( expression )
Statement3;

1.8 CONTOH PROGRAM PERULANGAN
Contoh Program menggunakan Perulangan pada bahasa C++ menggunakan FOR :
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
void main()
{
int i;//deklarasi
for (i=20; i<=120; i++) //  pengulangan data dari 21 sampai dengan 119
{if(i%2==0) // jika i habis dibagi 2 maka tampilkan
{cout<<i<<endl;} //tampilkan
}
getch();
}

1.8 Contoh program untuk variabel
#include <iostream>
using namespace std;
int main(){
  // deklarasi tipe data variabel
  string nama;
  int umur;
  char jenis_kelamin;

  // --- proses input ---
  cout << "Siapakah nama anda?" << endl;
  cout << "jawab: ";
  // menyimpan data ke variabel
  getline(cin,nama);
             cout << "Berapa umurmu?" << endl;
             cout << "jawab: ";
             // menyimpan data ke variabel
  cin >> umur;
  cout << "Jenis kelamin [L/P]: ";
  // menyimpan data ke variabel
  cin >> jenis_kelamin;
             // --- proses output ---
             cout << "Salam kenal, " << nama << " Sekarang dirimu berusia ";
            cout << umur << " dan dirimu berjenis kelamin "<< jenis_kelamin;
 return 0;
}

Library Function Pada C dan C++ dalam Bahasa Pemrograman

Salah satu fungsi library yang telah diperkenalkan yaitu cout yaitu untuk mencetak ke layar monitor. Fungsi dikelompokkan menurut jenis dan sifatnya dan disimpan didalam sebuah file yang berekstensi .h. Sebagai contoh fungsi yang digunakan untuk mencetak ke layar monitor (cout) disimpan pada file iostream.h.


Library iostream.h

Standard Input / Output Streams Library.
Elemen iostream library (char instantion) :

Classes :

| ios_base Base | ios | istream | ostream | iostream | ifstream | ofstream | fstream | istringstream | ostringstream | stringtream | streambuf | filebuf | stringbuf |

Objects :

| cin | cout | cerr | clog |

Types :

| fpos : | streamoff | streampos | streamsize |

Manipulators :

| boolalpha | dec | endl | ends | fixed | flush | hex | internal | left | noboolalpha | noshowbase | noshowpoint | noshowpos | noskipws | nounitbuf | nouppercase | oct | resetiosflags | right | scientific | setbase | setfill | setiosflags | setprecision | setw | showbase | showpoint | showpos | skipws | unitbuf | uppercase | ws |

Objek iostream mewarisi semua anggota yaitu istream dan ostream, sehingga mampu melakukan kedua operasi input dan output.
Library stdio.h

Library stdio.h adalah library pada bahasa C yang digunakan untuk operasi input output (stdio = Standard Input and Output). Tanpa menggunakan library ini maka perintah - perintah input/output tidak dapat dieksekusi atau dijalankan.

Library Functions :

| clearr() | fclose() | fccloseall() | fdopen() | fflush() | fgetc() | fgetchar() | fgetpos() | fgets() | flushall() | fopen() | fprint() | fputc() | fputchar() | fputs() | fread() | free() | freopen() | fscan() | fseek() | fsetpos() | ftell() | fwrite() | gets() | getw() | perror() | printf() | puts() | putw() | rename() | rewind() | scanf() | unlink() |

Library Macroes :

| feof(f) | ferror(f) | fileno(f) | getch(f) | getchar(f) | putchar(f) | remove(path) |

Contoh penggunaan library stdio.h dengan library functions printf() dalam program :

#include <stdio.h>
int main(){
printf("Hello SMKN 9 MALANG!\n");
printf("Selamat Belajar Pemrograman C++.");
return 0;
}


Contoh penggunaan library stdio.h dengan library functions puts() dalam program :
#include <stdio.h>
#include <conio.h>
using namespace std;
int main(){
char x[20]="SMKN 9 MALANG";
puts("Sekolah Siap Kerja Hanya di ");
puts(x);
return 0;
}

Library math.h

Library math.h merupakan sebuah library yang disediakan untuk melakukan perhitungan secara matematika.

Library Functions :

| abs() | acosh() | asin() | atan() | atan2() | atof() | ceil() | cos() | cosh() | exp() | fabs() | floor() | fmod() | labs() | ldexp() | log() | log10() | pow() | sin() | sinh() | sqrt() | tan() | tanh() |

Contoh penggunaan library math.h dengan library functions cos() dan sin() dalam program :

//Penggunaan library math.h
#include <iostream.h>
#include <math.h>
using namespace std;
int main(){
    double kecepatan, jarak, sudut;
    kecepatan=20;
    sudut=25;
jarak = 2*kecepatan*kecepatan*sin(sudut*3.14/180)*cos(sudut*3.14/180)/9.8;
cout<<"Jarak = "<<jarak;
    cout<<"\n";
    system("Pause");
    return 0;
}
Library stdlib.h
Library stdlib.h merupakan library yang hampir sama dengan library math.h, namun isi dari library stdlib.h berbeda dengan library math.h yaitu :
Library Functions :
| abs() | atof() | atoi() | atol() | div() | exit() | free() | ldiv() | malloc() | rand() | srand() | system() |
Library Macroes :
| abs(x) | atoi(s) | random(num) | randomize() |
Contoh penggunaan library stdlib.h dengan library functions atoi() dalam program :
//Penggunaan library stdlib.h
#include <iostream.h>
#include <stdlib.h>
using namespace std;
int main(){
    char karakter[8]="12.3AB";
    int nilai;
    nilai=atoi(karakter);
    cout<<nilai<<endl;
    system("Pause");
    return 0;
}

Library string.h

Suatu library pada bahasa C yang digunakan untuk memberikan nilai suatu karakter string.

Librari Functions :

| strcpy() | strcat() | strchr() | strcmp() | strlen() |

Contoh penggunaan library string.h dengan library functions strcpy() dalam program :

//Penggunaan library string.h
#include <iostream.h>
#include <string.h>
using namespace std;
int main(){
    char info[30];
strcpy(info, "info: SMKN 9 MALANG");
cout<<info;
cout<<"\n";
system("Pause");
return 0;
}

Library conio.h

Library Functions :

| clrscr() | getch() | getche() | gotoxy() | khbit() | putch() |

Contoh penggunaan library conio.h dengan library funtions getche() atau getch() dalam program :

//Penggunaan library conio.h
#include <iostream.h>
#include <conio.h>
using namespace std;
int main(){
cout<<"Hai, Selamat datang siswa baru SMKN 9 MALANG \n";
getche();
}

Library io.h

Library Functions :

| access() | _close() | close() | _creat() | eof() | filelenght() | _open() | open() | _read() | read() | _write() | write() |

Library ctype.h

Library Functions :

| stlower() | toupper() |

Library Macroes :

| isalnum( c) | isalpha( c) | isascii( c) | iscntrl( c) | isdigit( c) | isgraph( c) | islower( c) | isprint( c) | ispunct( c) | isspace( c) | isupper( c) | isxdigit( c) | toascii( c) | _tolower( c) | _toupper( c) |


Contoh Program Operator

- c //Binary
a + b //Unary
(a ? b : c) //Ternary
Namun yang akan kita bahas kali ini bukan itu, kita akan mempelajari macam-macam operator yang ada dalam pemrograman C++ berserta fungsi dan contoh programnya.
Berikut adalah daftar operator yang dapat anda jadikan acuan pembuatan program.
. . .
#1 Assignment Operators
Yang pertama kita akan mengenal Assignment Operator.
Sesuai namanya, operator ini berfungsi untuk memberikan nilai kepada variabel. Kita akan menggunakan = ( tanda sama dengan ) untuk memberi nilai.
Berikut cara penggunaanya:

nama = "wawan";
umur = 19;

 




#include <iostream>
using namespace std;

int main ()
{
  int a, b;         // a:?,  b:?
  a = 10;           // a:10, b:?
  b = 4;            // a:10, b:4
  a = b;            // a:4,  b:4
  b = 7;            // a:4,  b:7

  cout << "a:";
  cout << a;
  cout << " b:";
  cout << b;
}

a:4 b:7

Lalu outputnya adalah:



Mengapa hal itu bisa tdi demikian?

Jika kita perhatkan, kita mendeklarasikan variabel a dan b. Lalu kita memberikan nilai 10 untuk a dan 4 untuk b pada awalnya. Lalu kita memberikan nilai b terhadap variabel a.
Perhatikan bagaimana sebuah variabel tidak terpengaruh oleh modifikasi akhir dari b, meskipun kita menyatakan a = b sebelumnya, anda pasti paham maksud saya.
Karena sebuah operasi akan selalu berlangsung dari kanan ke kiri.
Dan variabel hanya akan menyimpan data atau nilai terakhir yang diberikan.

Contoh program manipulator
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main()
{
float l_segitiga, alas, tinggi;

cout<<"Masukan Nilai Alas = ";cin>>alas;
cout<<"Masukan Nilai Tinggi = ";cin>>tinggi;
l_segitiga = 0.5*(alas*tinggi);
cout<<"Luas Segitiga = "<<l_segitiga<<endl;
getch();
}


CONTOH PROGRAM PERCABANGAN
#include <iostream>
using namespace std;

int main()
{

    cout << "=== Program Pembayaran ===" << endl;
    unsigned int total_belanja;

    cout << "Masukan total belanja: ";
    cin >> total_belanja;

    // menggunakan percabangan if
    if(total_belanja > 100000){
        cout << "Selamat! anda dapat hadiah jam tangan" << endl;
    }
    cout << "Terimakasih sudah membeli di toko kami" << endl;

    return 0;


Contoh pemogram berdasarkan kasus
Program untuk menghitung akar persamaan kuadrat dari sebuah bilangan :


#include <iostream>
#include <conio.h>
#include <math.h>
void main () {
float a,b,c,x1,x2;
cout<<“masukan nilai a : “;
cin>>a;
cout<<“masukan nilai b : “;
cin>>b;
cout<<“masukan nilai c : “;
cin>>c;
cout<<endl<<endl;
x1=(b+sqrt(b*b-4*a*c))/2*a*c;
x2=(b-sqrt(b*b-4*a*c))/2*a*c;
cout<<“x1=”<<x1<<endl<<endl;
cout<<“x2=”<<x2<<endl<<endl;
getch ();
}

Komentar