Rabu, 02 Oktober 2019

MATERI PEMOGRAMAN BAHASA C++

      A.   TEORI DASAR C++

1.     Sejarah dan Konsep C++

Pemrograman sudah ada semenjak adanya komputer pertama kali diciptakan. Tapi pada awalnya programmer bekerja dengan bahasa komputer yang sangat sulit untuk di pahami oleh manusia, bahasa itu adalah bahasa mesin.
Karena sangat sulit untuk bekerja dengan bahasa mesin, maka dari itu dibuatlah bahasa Assembly yang merupakan bahasa rakitan, kumpulan dari singkatan kode-kode bahasa.
Bahasa tingkat rendah Assembly pun masih sulit untuk manusia, maka manusia menciptakan bahasa pemrograman tingkat tinggi yang mudah untuk dipahami oleh manusia. 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++.
Bahasa C dikembangken di Bell lab pada tahun 1972 ditulis pertama kali oleh Brian W. Kernighan dan Denies M. Ricthie merupakan bahasa turunan atau pengembangan dari bahasa B yang ditulis oleh Ken Thompson pada tahun 1970, yang juga merupakan bahasa yang diturunkan oleh bahasa sebelumnya, yaitu BCL.
Bahasa C pada awalnya dirancang sebagai bahasa pemrograman yang dioperasikan pada sistem operasi UNIX. Bahasa C merupakan bahasa pemrograman yang tergolong di antara bahasa tinggat rendah dan tingkat tinggi yang biasa disebut dengan Bahasa Tingkat Menengah. Bahasa C mempunyai banyak kemampuan yang sering digunakan diantaranya kemampuan untuk membuat perangkat lunak, misalnya dBASE, Word Star dan lain-lain.
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.


2.     Defenisi Variabel,Konstanta, Library, Operator, Manipulator & Tipe Data

Variabel adalah suatu tempat untuk menampung data yang nilainya selalu berubah.

Konstanta adalah suatu tempat untuk menampung data yang nilainya selalu tetap dan tidak pernah berubah.

Pustaka atau Library adalah kumpulan program atau fungsi yang telah ada pada compiler atau intepreter untuk memudahkan pemrogram membuat program dan tidak perlu mengakses langsung sistem komputer untuk memprogram.

Manipulator adalah fungsi pembantu yang memungkinkan untuk mengontrol input / output stream. Manipulator pada umumnya digunakan untuk mengatur tampilan layar. Contohnya untuk mengatur supaya suatu nilai ditampilkan dengan lebar 8 karakter dan diatur rata kiri terhadap lebar tersebut.

Tipe data adalah himpunan yang dapat anda temui pada semua data. Dengan memahami tipe data, anda juga dapat menentukan suatu nilai dapat dimiliki dari data tersebut ataukah tidak. Salah satu bentuk penerapan tipe data dalam kehidupan sehari – hari adalah pada bilangan bulat. Karena pada hakikatnya penulisan suatu bilangan pada data juga dapat bermacam – macam, seperti 5,5 atau ¾. Bilangan yang kami sebutkan adalah termasuk bilangan tak bulat, tidak seperti bilangan bulat 5, 6, 1, 3 dan masih banyak lagi.
Lebih kongkritnya lagi suatu tipe data dapat ditemui dalam dunia pemrograman komputer. Di dalam tahap awal pembuatan program, anda harus menentukan terlebih dahulu tipe data yang digunakan. Contoh tipe data yang sering digunakan para programmer adalah IntegerRealDoubleCharString dan masih banyak lagi lainnya.

TIPE
KETERANGAN
VOID
Diartikan sebagai tanpa tipe data dan tanpa pengembalian nilai
INT
Bilangan bulat (integer)
FLOAT
Bilangan pecahan (floating point)
DOUBLE
Bilangan pecahan dengan jangkauan data yang lebih luas
CHAR
Karakter
STRING
Tipe data yang bisa menampung banyak karakter sekaligus
VARCHAR
Karakter
TIME
Waktu










Operator merupakan simbol yang biasa dilibatkan dalam pembuatan program untuk melakukan suatu operasi ataupun manipulasi. Pada operator c++ ada yang tergolong sebagai operator binary (yaitu operator yang dikenakan untuk dua buah nilai (operand), dan ada yang tergolong sebagai operator unary (operator yang dikenakan untuk satu buah nilai (operand).

1. Operator Aritmatika
Adalah operator yang digunakan untuk melakukan perhitungan matematika. Pada materi sebelumnya kita telah mengenal pengertian dari Variabel, maka sekarang coba kita asumsikan bahwa variabel a = 30 dan b = 10, maka hasil implementasi dari Operator Aritmatika adalah sebagai berikut:

Operator
Keterangan
Contoh
+
Penjumlahan
a + b hasilnya 40
-
Pengurangan
a – b hasilnya 20
*
Perkalian
a * b hasilnya 300
/
Pembagian
a / b hasilnya 3
%
Sisa Pembagian
a % b hasilnya 0


2. Operator Penaikan dan Penurunan

Operator penaikan adalah operator yang digunakan untuk menaikan nilai variabel sebesar 1. Operator penurunan adalah operator yang digunakan untuk menurunkan nilai variabel sebesar 1.

Contoh:

x = x + 1 ;
y = y - 1 ;

Bisa ditulis menjadi 
++ x ; -- y ;
atau:
x ++ ; y -- ;

3. Menentukan Prioritas Operator Penaikan dan Penurunan

Sekarang kita akan mencoba untuk menentukan prioritas dari operator penaikan dan penurunan, lalu bagaimanakah efek yang ditimbulkan dari hasil percobaan ini? selengkapnya silakan perhatikan contoh program di bawah ini:

#include <iostream.h> 
#include <conio.h>
 
/**
*bundet.com
*Penggunaan operator penaikan di belakang variabel 
*/
 
void main() { 
int r = 10; 
int s; s = 10 + r++ ; 
cout << "r = " << r << '\n' ; 
cout << "s = " << s << '\n' ; 
getch(); 
}

Hasil eksekusi:
r = 11 
s = 20

Penjelasan:

Pada contoh diatas s diisi dengan penjumlahan nilai 10 dan r. Dengan demikian s akan bernilai 20. setelah s diisi dengan 20, nilai r baru dinaikan karena operator ++ ditulis dibelakang r. Disebut post-increment yang artinya dinaikkan dibelakang setelah penjumlahan antara r dan 10 dilaksanakan. 
Contoh lagi:
#include <iostream.h> 
#include <conio.h>
 
/**
*bundet.com
*Penggunaan operator penaikan di depan variabel
*/
 
void main() { 
int r = 10; 
int s; 
s = 10 + ++r ; 
cout << "r = " << r << '\n' ; 
cout << "s = " << s << '\n' ; 
getch(); 
}

Hasil eksekusi:
r = 11 
s = 20

Penjelasan:

Pada contoh ini, nilai r mula-mula dinaikan terlebih dahulu karena operator ++ ditempatkan didepan r. Disebut pre-increment kemudian nilainnya dijumlahkan dengan 10 dan diberikan ke s. Dengan demikian s bernilai 21 dan r sama dengan 11.

4. Operator Penugasan
Operator Penugasan adalah operator yang digunakan untuk memberikan nilai ke dalam variabel tertentu. Asumsikan variabel a bernilai 50 dan variabel b bernilai 30,lalu perhatikan tabel berikut:

Operator
Keterangan
Contoh
=
Memberikan nilai dari operand sisi kanan untuk sisi kiri
c = a + b
hasilnya c diberi nilai 80
c = a = b
Hasilnya c,a,b bernilai 30
+=
Menambahkan operand kiri dengan operand kanan dan menugaskan hasilnya untuk operand kiri
c += a
sama dengan
c = c + a
-=
Mengurangi operand kanan dari operand kiri dan menugaskan hasilnya untuk operand kiri
c -= a
sama dengan
c = c - a
*=
Mengalikan operand kanan dengan operand kiri dan menugaskan hasilnya untuk operand kiri
c *= a
sama dengan
c = c * a
/=
Membagi operand kiri dengan operand kanan dan menugaskan hasil untuk operand kiri
c /= a
sama dengan
c = c / a
%=
Menghitung sisa pembagian menggunakan dua operand dan memberikan hasilnya ke operand kiri
c %= a
sama dengan
c = c %  a

5. Operator Kondisi

Operator Kondisi merupakan penyederhanaan dari bentuk if..else yang setiap blok dari if dan else hanya terdiri dari satu statement/perintah.

Bentuk umum:
(ekspresi)? (jika benar) : (jika salah);

6. Operator Relasi / Perbandingan
Operator Relasi digunakan untuk menguji hubungan antara nilai dan atau variabel. Operator ini digunakan dalam suatu statement bersyarat yang selalu menghasilkan nilai true atau false.

Jenis-jenis operator relasi bisa dilihat dalam tabel berikut:
Operator
Keterangan
==
Sama dengan (bukan penugasan)
!=
Tidak sama dengan
Lebih dari
Kurang dari
>=
Lebih dari atau sama dengan
<=
Kurang dari atau sama dengan

7. Operator Logika
Operator Logika digunakan untuk membandingkan dua nilai variabel atau lebih. Hasil dari operasi ini adalah nilai boolean true atau false. Asumsikan variabel a bernilai true, b bernilai false dan c bernilai true, lalu perhatikan tabel berikut:


Operator
Keterangan
Contoh
&&
Jika semua operand bernilai benar (TRUE) maka kondisi bernilai benar.
a && b hasilnya false
a && c hasilnya true
||
Jika salah satu dari operand bernilai benar (TRUE) maka kondisi bernilai benar.
a || b hasilnya true
a || c hasilnya true
!
Digunakan untuk membalik kondisi. Jika kondisi benar (TRUE) maka akan berubah menjadi salah (FALSE), begitu pula sebaliknya
!a hasilnya false
!b hasilnya true
!( b && a ) hasilnya true


3.     Format variable konstanta

Ketika akan menulis variabel, dalam hampir semua bahasa pemrograman terdapat 2 proses: deklarasi dan inisialisasi.
Deklarasi adalah proses untuk memberitahukan compiler bahasa C++ bahwa kita akan membuat sebuah variabel. Bahasa C++  termasuk bahasa pemrograman yang menggunakan konsep strongly typed programming language, yang artinya untuk setiap variabel harus ditulis akan berisi tipe data apa. Apakah itu angka bulat (integer), angka pecahan (float), huruf (char), atau yang lain.
Sebagai contoh, dalam kode program berikut saya mendeklarasikan 3 buah variabel:

1
2
3
4
5
6
7
8
9
10
#include <iostream>
  
int main(void)
{
  int a;
  char b;
  float c;
  
  return 0;
}





Untuk membuat konstanta dalam bahasa C++, terdapat 2 cara. Yakni menggunakan keyword #define atau menggunakan keyword #const.
Jika ingin membuat konstanta dengan keyword #define, konstanta ini ditulis sebelum main(). Berikut contoh cara pembuatan konstanta menggunakan #define:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>

#define PANJANG 8
#define LEBAR 5

int main(void)
{
 printf("Panjang = %d",PANJANG);
 printf("\n");

 printf("Lebar = %d",LEBAR);
 printf("\n");

 printf("Luas (panjang*lebar) = %d",PANJANG*LEBAR);
 printf("\n");

 return 0;
}

Berikut contoh kode program bahasa C++ untuk membuat konstanta menggunakan keyword const:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>

int main(void)
{
 const char situs[20] = "blogspot.com";
 const float ipk = 4.00;

 printf("Sedang belajar bahasa C++ di %s",situs);
 printf("\n");

 printf("Semoga dapat IPK %f",ipk);
 printf("\n");

 return 0;
}



4.     Input dan Output (Cin, Cout, Komentar)

Output (keluaran) adalah aktifitas program yang mendapatkan perintah untuk memberikan informasi data kepada pengguna (manusia). Data itu biasanya merupakan hasil olahan dari data sebelumnya. Dalam bahasa C++ kita dapat melakukan pengeluaran menggunakan object cout.
Untuk menggunakan object cout kita membutuhkan Insertion Operator dengan tanda << di antara object dengan ekspresi.
Jika kita ingin melakukan keluaran (menampilkan) nilai dari suatu variable kita hanya akan membutuhkan identias dari variable tersebut dan jika kita ingin langsung menampilakan sebaris kalimat (string), kita dapat melakukanya dengan menambahkan sepasang tanda petik dua di awal kalimat dan di akhir kalimat.
Contoh Penulisan
1
2
3
4
5
cout<<variable;
//atau
cout<<"Hallo Semua";
//atau
cout<<variable<<" Hallo Semua";

 Input adalah interaksi pengguna (manusia) dengan program, memungkinkan program dapat menerima data atau informasi dari pengguna, dalam bahasa pemrograman C++ kita dapat melakukanya perintah masukan dengan menggunakan object cin.
Untuk menggunakan cin kita membutuhkan Extraction Operator dengan tanda >> yang diletakan di antara object cin dan ekspresi.

Sebelum kita mencoba fitur masukan (input) pada C++, kita harus mengetahui bahawa setiap data yang diberikan oleh pengguna akan membutuhkan tempat penyimpanan, pada komputer dinamakan sebagai memori dan memori dapat dipesan dengan menggunakan bahasa pemrograman dengan cara mendirikan variable
Maka data yang diberikan oleh pengguna dalam operasi pemasukan (input) akan disimpan di dalam memori variable yang telah kita dirikan.
Contoh Penulisan
1
cin>>variable;

Contoh Program
1
2
3
4
5
6
7
8
9
#include <iostream>
using namespace std;
int main ( ) {
   int x ;
   cout<<"Masukkan sebuah angka : ";
   cin>>x;
   cout<<"Angka yang dimasukkan adalah "<<x<<endl;
   return 0;
}

Di atas adalah contoh program yang mencontohkan bagaimana penggunaan input output dengan object cout dan cin. Pada baris ke empat didirikan variable x dengan tipe data integer yang akan berfungsi untuk penyimpanan data masukan dari pengguna program.
Baris selanjutnya adalah contoh penggunan keluaran dengan object cout mengeluarkan sebuah string dengan kalimat Masukan sebuah angka : .
Baris ke enam adalah contoh penggunaan perintah masukan cin, masukan dari pengguna akan dimasukan dan disimpan dalam memori variable x.
Dan baris ketujuh adalah penggunaan cout, menampilkan string dengan kalimat Angka yang dimasukan adalah : dan menampilkan isi dari variable x yang merupakan data yang pengguna masukan pada baris keenam.

Komentar adalah bagian dari kode program yang tidak ikut dibaca / diterjemahkan pada saat proses kompilasi. dengan kata lain, komentar tidak akan mempengaruhi jalannya program, karena hanya berguna untuk mempermudahkan kita dalam mengingat dan menjelaskan kode / deskripsi program.

Contoh Penulisan 
1
std::cout<<”BelajarC++”<<std::endl;  // pernyataan di samping akan mencetak “BelajarC++” di layar.



Atau 
1
2
//pernyataan di bawah akan mencetak “BelajarC++” di layar.
std::cout<<”BelajarC++”<<std::endl;


5.     Jenis Manipulator

Manipulator
Kegunaan
Operasi
boolalpha
Mengaktifkan flag
Input / Output
dec
Mengaktifkan flag dec
Input / Output
endl
Menampilkan baris baru dan membuat stream
Output
ends
Menampilkan null
Output
fixed
Mengaktifkan flag fixed
Output
flush
Membuang stream
Output
hex
Mengaktifkan flag hex
Input / Output
internal
Mengaktifkan flag internal
Output
left
Mengaktifkan flag left
Output
noboolalpha
Mematikan flag boolalpha
Input / Output
noshowbase
Mematikan flag showbase
Output
noshowpoint
Mematikan flag showpoint
Output
noshowpos
Mematikan flag showpos
Output
noskipws
Mematikan flag skipws
Input
nounitbuf
Mematikan flag unitbuf
Output
nouppercase
Mematikan flag uppercase
Output
oct
Mematikan flag oct
Input / Output
resetiosflags (fmtflags f)
Mematikan flag yang dituliskan (f)
Input / Output
right
Mengaktifkan flag right
Output
scientific
Mengaktifkan flag scientific
Output
setbase (int base)
Mengaktifkan basis base
Input / Output
setfill (int ch)
Mengisi karakter dengan ch
Output
setiodflags (fmtflags f)
Mengaktifkan flag yang dituliskan (f)
Input / Output
setprecision (int p)
Menentukan presisi digit
Output
setw (int w)
Menentukan lebar kolom
Output
showbase
Mengaktifkan flag show base
Output
showpoint
Mengaktifkan flag show point
Output
showpos
Mengaktifkan flag showpos
Output
skipws
Mengaktifkan flag skipws
Input
unitbuf
Mengaktifkan flag unitbuf
Output
uppercase
Mengaktifkan flag uppercase
Output
ws
Mengabaikan karakter white-space
Input

6.     Percabangan (If, else, Switch)

1. Percabangan if

Percabangan if merupakan percabangan yang hanya memiliki satu blok pilihan saat kondisi bernilai benar.
Coba perhatikan flowchart berikut ini:
Flowchart tersebut dapat kita baca seperti ini:
“Jika total belanja lebih besar dari Rp 100.000, Maka tampilkan pesan Selamat, Anda dapat hadiah“
Kalau dibawah Rp 100.000 bagaimana?
Ya pesannya tidak akan ditampilkan.

2. Percabangan if/else

Percabangan if/else merupakan percabangan yang memiliki dua blok pilihan.
Blok pilihan pertama untuk kondisi benar, dan pilihan kedua untuk kondisi salah (else).
Coba perhatikan flowchart ini:
Ini adalah flowchart untuk mengecek password.
Apabila password benar, pesan yang ada pada blok hijau akan ditampilkan: “Selamat datang bos!”
Tapi kalau salah, maka pesan yang ada di blok merah yang akan ditampilkan: “Password salah, coba lagi!”
Kemudian, pesan yang berada di blok abu-abu akan tetap ditampilkan, karena dia bukan bagian dari blok percabangan if/else.
Perhatikan arah panahnya, setiap blok if/else mengarah ke sana…
3. Percabangan if/else/if

Percabangan if/else/if merupakan percabangan yang memiliki lebih dari dua blok pilihan.
Coba perhatikan flowchart berikut:
4. Percabangan Switch/Case

Percabangan switch/case adalah bentuk lain dari percabangan if/else/if.
Kita dapat mermbuat blok kode (case) sebanyak yang diinginkan di dalam blok switch.
Pada <value>, kita bisa isi dengan nilai yang nanti akan dibandingkan dengan varabel.
Setiap case harus diakhiri dengan break. Khusus untuk default, tidak perlu diakhiri dengan break karena dia terletak di bagian akhir.
Pemberian break bertujuan agar program berhenti mengecek case berikutnya saat sebuah case terpenuhi.

7.     Perulangan

Perulangan adalah suatu proses eksekusi statemen-statemen dalam sebuah program secara terus-menerus sampai terdapat kondisi untuk menghentikannya. Operasi perulangan / looping selalu dijumpai didalam berbagai bahasa pemrograman, hal tersebut karena struktur perulangan akan sangat membantu dalam efisiensi program.

Dalam C++ terdapat 3 macam struktur perulangan, yaitu : Struktur For, Struktur While dan Struktur Do While. Pada kesempatan kali ini kita akan membahas mengenai 3 macam struktur perulangan tersebut lengkap dengan contoh program beserta penjelasannya, dimana contoh program kami buat menggunakan IDE Dev-C++.

1 . Perulangan dengan fungsi for
Penulisan dasar format perulangan for dalam C++ adalah sebagai berikut:
for (start; condition; increment)
{
   statement;
}
Start adalah kondisi pada saat awal perulangan.
Biasanya kondisi awal ini digunakan untuk membuat dan memberikan nilai kepada variabel yang digunakan untuk mengontrol perulangan.
Misalkan, kita akan membuat variabel i, maka untuk kondisi start ini, kita juga harus memberikan nilai awal untuk variabel i, misalnya dengan 1, maka i=1.
Misalkan kita ingin menghentikan perulangan jika variabel i telah mencapai nilai 10, maka pada bagian condition ini kita membuat perintah i<=10.
Yang berarti selama nilai i kurang atau sama dengan 10, terus lakukan perulangan.
Increment adalah bagian yang digunakan untuk memproses variabel agar bisa memenuhi kondisi akhir perulangan.
Umumnya nilai variable tersebut bertambah (i++) / berkurang (i--) 1 (satu).
Condition adalah kondisi yang harus dipenuhi agar perulangan dijalankan. Selama kondisi ini terpenuhi, maka C++ akan terus melakukan perulangan.
Statement adalah bagian kode program yang akan diproses secara terus-menerus selama proses perulangan berlangsung.

2. Perulangan dengan fungsi while

Dalam perulangan while, program akan terus melakukan perulangan dengan mengeksekusi pernyataan target selama kondisi tertentu bernilai benar.
Penulisan dasar format perulangan while dalam C++ adalah sebagai berikut:
while(condition){
    statement;
}
Condition adalah kondisi yang harus dipenuhi agar perulangan berlangsung.
Kondisi ini mirip seperti dalam perulangan for.
Condition ini akan diperiksa pada tiap perulangan, dan hanya jika hasilnya FALSE, maka proses perulangan berhenti. Artinya kita tidak tahu berapa banyaknya perulangan.
Karena, selama condition bernilai TRUE, maka perulangan akan terus dilakukan.
Statement adalah kode program yang akan diulang.
Tanda kurung kurawal diperlukan untuk membatasi blok program yang akan diulang. Jika statement hanya terdiri dari 1 baris, maka tidak diperlukan.

3 Perulangan dengan fungsi do while

Perulangan while dan do-while pada dasarnya hampir sama.
do {
    statement;
} while (condition);
Perbedaan terletak pada ’lokasi’ pengecekan kondisi perulangan.
Dalam struktur while, pengecekan untuk kondisi perulangan di lakukan di awal, sehingga jika kondisi tidak terpenuhi, maka perulangan tidak akan pernah dijalankan.
Namun pada perulangan do-while:
Pengecekan kondisi akan dilakukan di akhir perulangan, sehingga walaupun kondisi adalah FALSE, perulangan akan tetap berjalan minimal 1 kali.
Statement adalah kode program yang akan diulang & condition adalah kondisi yang harus dipenuhi agar perulangan berlangsung.

B. CONTOH PROGRAM C++

1   1 .     Contoh Program

a    A.      Variabel
Berikut contoh kode program bahasa C untuk membuat konstanta menggunakan Int:
#include <iostream>
using namespace std;
 
int main(){
   int x,y,z;
   x=3; y=4;
 
   z=x*y;
   cout << "Hasil perkalian: " << z;
}
a    B.      Konstanta

Berikut contoh kode program bahasa C untuk membuat konstanta menggunakan keyword const;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>

int main(void)
{
 const char situs[20] = "blogspot.com";
 const float ipk = 4.00;

 printf("Sedang belajar bahasa C di %s",situs);
 printf("\n");

 printf("Semoga dapat IPK %f",ipk);
 printf("\n");

 return 0;
}

a    C.     Input Output

#include <cstdlib>
#include <iostream>
//program input
using namespace std;
int main(int argc, char *argv[])
{
            char namadepan[50];
            char namabelakang[50];
           
            cout<< "Siapa nama depan anda?"<<endl;
            cin>> namadepan;
            cout<< "Siapa nama belakang anda?"<<endl;
            cin>> namabelakang;
            cout<< "namadepan:"<<namadepan<<endl;
            cout<< "namabelakang: "<<namabelakang<<endl;
            cout<<namadepan<<" "<<namabelakang;
            return 0;
}
1    2.     Contoh Program Untuk Percabangan

#include <cstdlib>                                               
#include <iostream>
using namespace std;

int main(int argc, char *arg)
{
    string a; // inisiasi dua buah variabel
    int z;
    cout << "Masukkan Nama Anda : ";
// menampilkan output teks perintah inputan
    getline(cin, a);
    cout << "Masukkan Nilai Anda (angka 1-100): " ;
 // menampilkan output teks perintah inputan
    cin >> z;
//membaca inputan
    system("cls");
//perintah untuk membersihkan console, fungsi dari headers stdlib.h
    cout << "Halo "<<a<<" Nilai anda adalah : "<<z<< endl;
//Menampilkan output inputan dari vairabel a & b
    if (z>=60)
    {
        cout <<"Anda Lulus";
    }else
    {
        cout <<"Anda tidak lulus"<< endl;
        cout <<"Silahkan coba lagi tahun depan";
    }
    //Baris percabangan if else untuk menguji nilai b
    return 0;
}

1    3.     Contoh Program untuk Perulangan

#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
            int n;
            cout<<"Masukkan angka untuk mulai : ";
            cin>>n;
            while (n>0)
            {
            cout <<n<<",";
            --n;      
            }
cout<<"STOP!";
            return 0;
}

1   4.     Contoh Program Berdasarkan Kasus

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

using namespace std;

int main(int argc, char** argv) {
           
 char nama[40];
 char nim[20];
 char universitas[30];
 char umur[20];
 char alamat[30];
 float ip;

  system("cls");
  cout<<"  ================================="<<endl;
  cout<<"  === PROGRAM BIODATA MAHASISWA ==="<<endl;
  cout<<"  ================================="<<endl;

  cout<<"  Input Nama:";
    gets(nama);
  cout<<"  Input Universitas :";
            cin>>universitas;
  cout<<"  Input Nim :";
            cin>>nim;
  cout<<"  Input umur :";
    cin>>umur;
  cout<<"  Input alamat :";
    cin>>alamat;
  cout<<"  Input Jumlah IP:";
            cin>>ip;

  cout<<endl<<endl;
  cout<<"  =========================================="<<endl;
  cout<<"  ============  BIODATA MAHASISWA =========="<<endl;
  cout<<"  =========================================="<<endl;
  cout<<"  =========================================="<<endl;
  cout<<"  | Nama   :"<<nama<<endl;
  cout<<"  | Nim    :"<<universitas<<endl;
  cout<<"  | Nim    :"<<nim<<endl;
  cout<<"  | Umur   :"<<umur<<endl;
  cout<<"  | alamat :"<<alamat<<endl;
  cout<<"  | IP     :"<<ip<<endl;
  cout<<"  =========================================="<<endl;
  getch();
            return 0;
}