o #1 Mengenal Bahasa Pemrograman C++
o #2 Download Compiler C++
o #3 Sturktur Program C++
o #4 Header dan Main Program
o #5 Pendeklarasian Variabel dan Konstanta
o #6 Macam-Macam Komentar
o #7 List Panduan Belajar Pemrograman C++
o BONUS: Video Penerapan Bahasa C++
Hai semuanya, selamat datang di seri panduan belajar Bahasa Pemgrograman C++ paling
lengkap dari awal hingga akhir karena disini anda akan belajar dari Nol.
Jadi ceritanya saya pernah melakukan kunjungan industri ke PT Gameloft Indonesia, lalu saya
sempat menanyakan bahasa pemrograman apa yang mereka gunakan.
Dan mereka menjawab: “Pada dasarnya kita menggunakan Bahasa Pemrograman C++, lalu
untuk android kita porting menggunakan Bahasa Java dan Objective C untuk iOS.”
Mendegar jawaban tadi, saya menjadi lebih semangat untuk belajar bahasa c++.
Jujur saya fans dari Gameloft, saya ingat sekali saat hp android belum sepopuler saat ini. Waktu
itu saya bermain games mereka menggunakan hp nokia dengan os simbian.
Dan setelah lama menjadi penikmat games, kini saya tertarik untuk membuat games.
Khusus untuk anda yang belum pernah mengenal bahasa pemrograman, saya sarankan untuk
membaca panduan belajar pascal disini terlebih dahulu untuk pemanasan.
Jika Bahasa C merupakan bahasa prosedural maka Bahasa C++ hadir menggunakan konsep
pemrograman berorientasi objek atau Object Oriented Programming.
Tapi bagaimanapun juga, penggunaan bahasa prosedural seperti C sangat tidak efisien khususnya
untuk pembuatan software berskala menengah ke atas atau project besar.
Terlalu banyak perulangan, percabangan, dan kode yang harus kita ketikan.
Maka dari itu kemudian bahasa c ini dikembangkan ke tingkat lebih lanjut menjadi bahasa c
yang berorientasi object yang kemudian disebut dengan bahasa C++.
Namun saya rasa tidak efisien karena kita akan disibukan dengan masalah teknis.
Saya pribadi semasa belajar di bangku kuliah menggunakan DEV C++ 5.11, kemudian
perusahaan Gameloft menggunakan IDE Visual Studio 2015 (Saat saya tanya).
Meski demikian, ada banyak sekali vendor yang telah menyediakan software lengkap baik
berbayar maupun gratis, silahkan download dan install terlebih dahulu.
int main()
{
std::cout << "Welcome to C++";
return 0;
}
#include <iostream>
using namespace std;
int main()
{
cout << "Welcome to C++";
return 0;
}
Perlu diketahui bahwa kode di atas adalah kode standar C++, kedua kode diatas akan
menampikan hasil data yang sama namun penulisannya saja yang sedikit berbeda.
Jika anda melihat kode pada baris pertama terdapat kode #include <iostream>.
Preprocessor directive adalah perintah – perintah yang diberikan kepada compiler untuk
melakukan definisi, misalnya untuk memasukkan file library, dan lain sebagainya.
Jika kita lihat program diatas kita akan memasukkan (include) library iostream ke dalam
program. iostream adalah header yang dibutuhkan untuk “kegiatan” input dan output.
Jadi intinya penggunaannya untuk memberitahukan kepada kompiler bahwa kita akan
menggunakan semua fungsi, class atau file yang terdapat pada memori namespace std.
Kita tidak perlu mengetikan std::cout untuk mencetak output namun hanya cukup
menggunakan fungsi cout saja, karena telah menggunakan using namespace std;
Selanjuntya kode main() adalah blok program yang berfungsi sebagai badan sebuah alur
kondingan atau disebut sebagai program utama yang ditulis antara kode { hingga }.
Berikut adalah contoh program c++ sederhana untuk menghitung keliling lingkaran:
#include <iostream>
using namespace std;
int main ()
{
double circle;
double r = 5.0; //radius
circle = 2 * pi * r;
cout << circle;
cout << newline;
}
double circle;
double r = 5.0;
Sedangkan untuk mendeklarasikan variabel bernilai konstanta dengan menggunakan fungsi const
diikuti tipe data, nama varibel, dan nilai/value. Contoh:
Bagi anda yang membutuhkan penjelasan lebih lanjut mengenai variabel dan konstanta silahkan
baca: pengertian variabel dan konstanta dalam pemrograman.
Tambahan: anda tidak boleh menggunakan keyword c++ berikut ini sebagai nama identifier
variabel maupun konstanta atau anda akan mendapat error.
Keyword
asm else new this
auto enum operator throw
bool explicit private true
break export protected try
case extern public typedef
catch false register typeid
char float reinterpret_cast typename
class for return union
const friend short unsigned
const_cast goto signed using
continue if sizeof virtual
default inline static void
delete int static_cast volatile
do long struct wchar_t
double mutable switch while
dynamic_cast namespace template
TIPS: Tenang saja karena anda tidak perlu menghafalnya, tips untuk untuk anda dalam
pemberian nama identifier selalu gunakan nama yang mudah anda ingat.
#6 Macam-Macam Komentar
Komentar adalah catatan atau dokumenasi yang ditulis oleh programmer untuk sebagai
pengingat atau penjelasan ketika membaca sebuah baris kode.
Dalam bahasa C++ ada dua tanda yang dapat di gunakan untuk sebuah komentar:
Yang pertama ada tanda yang di gunakan untuk komentar satu baris saja, untuk tanda
komentar satu baris, menggunakan tanda dua garis miring //.
dan yang ke dua tanda yang di gunakan untuk komentar lebih dari satu baris. Sedangkan
untuk komentar lebih dari satu bari, menggunakan tannda /*… */.
/* ini komentar
beberapa baris */
Kata – kata dalam sebuah komentar tidak akan dieksekusi oleh compiler.
Silahkan mulai dari bab 1 atau langsung menuju bab yang ingin anda pelajari.
Pada bab ini anda akan mempelajari beberapa hal dasar yang ada dalam bahasa pemrograman C+
+ mulai dari dasar input hingga operator:
1. Input & Output - Dasar Input & Output pada C++ dengan Fungsi cin dan cout
2. Tipe Data - 7+ Tipe Data C++ Berserta Contoh Program dan Jangkauannya
3. Operator - 10+ Jenis Operator C++ Berserta Fungsi dan Contoh Programnya
Pada bab ini kita akan mulai belajar struktur kontrol mulai dari pengambilan keputusan seperti
(if else dan switch case) hingga perulangan (for dan while loop).
Pada bab ini kita akan belajar lebih lanjut mulai dari function hingga pointers.
Pada bab ini kita akan belajar dasar-dasar pemrograman berorientasi objek dengan bahasa C++.
Mulai dari inheritance, polymorphism, Encapsulation, dan Abstraction.
….
Dasar Input & Output (I/O) pada C++
dengan Fungsi cin dan cout
Ditulis oleh Damas Amirul Karim
o #1 Output pada C++ (sintaks: cout)
o #2 Input pada C++ (sintaks: cin)
o Menarik Kesimpulan
Pada bab ini kita akan mempelajari operasi input output (I/O) paling dasar yang umum
dibutuhkan pada pemrograman C++. Sintaks: cin untuk input dan cout untuk output.
Input adalah aktifitas pengguna dengan program komputer yang memungkinkan kita
memberikan data kedalam program. Misalnya dari keyboard, mouse, dll.
Output adalah aktifiktas program komputer untuk mengeluarkan data kepada pengguna. Data
tersebut dapat berupa text, file, gambar dan lain-lain.
Nah, kali ini kita akan belajar mengenai dasar proses input & output pada C++
Operasi Input dan Output dapat kita lakukan dengan menggunakan fungsi-fungsi yang berada
pada Stream dan salah satunya ada pada library iostream.
Stream adalah nama umum untuk menampung aliran data (contoh : file, keyboard, mouse),
maupun untuk keluaran (contoh : layar, printer).
Dalam C++ input berarti membaca dari stream & output berarti menulis ke stream.
yaitu 2 buah tanda lebih kecil << di antara keyword dengan ekspresi.
#include <iostream>
using namespace std;
int main()
{
string selamat="Welcome to C++"
cout << selamat;
return 0;
}
Pada contoh kode diatas kita mendeklarasikan sebuah variabel bernama ‘selamat’ dengan tipe
data string. Kemudian kita mecetaknya dengan keyword cout.
Namun jika kita ingin langsung menampilakan sebaris kalimat (string), kita dapat menambahkan
sepasang tanda petik dua di awal kalimat dan di akhir kalimat.
#include <iostream>
using namespace std;
int main()
{
cout << "Welcome to C++";
return 0;
}
Seperti yang anda lihat kita hanya perlu membungkus teks didalam dua tanda kutip.
Untuk menggunakan keyword cin kita membutuhkan Extraction Operator dengan 2 buah tanda
lebih dari >> yang diletakan di antara keyword cin dan memori.
Karena nantinya, data yang diberikan oleh pengguna dalam operasi pemasukan (input) akan
disimpan di dalam memori variable yang telah kita deklarasikan.
#include <iostream>
using namespace std;
string nama;
int main()
{
cout << "Masukan Nama: ";
cin >> nama;
Dari contoh program diatas, kita telah mendeklarasikan variabel nama bertipe string.
Sedangkan cin untuk meyimpan nilai masukan dari pengguna ke variabel nama.
Lalu nilai/value dari variabel nama ditampilkan dengan menggunakan fungsi cout.
Menarik Kesimpulan
Baiklah akan saya rangkum kembali untuk kesimpulan, dalam program c++ kita akan mengenal
dua fungsi bernama cin untuk input teks dan cout untuk output teks.
o Tipe Data Primive C++
o Ukuran Memori dan Jangkauannya
o Tipe Data Baru dengan typedef
o Enumerasi dalam C++
o #1 Tipe Data Boolean (bool)
o #2 Tipe Data Character (char)
o #3 Tipe Data Integer (int)
o #4 Tipe Data Floating Point (float)
o #5 Tipe Data Double Floating Point (double)
o #6 Tipe Data String (string)
o #7 Tipe Data Valueless (void)
o Manarik Kesimpulan
Mari kita ingat kembali, tipe data digunakan untuk menentukan jenis nilai atau value yang akan
disimpan ke dalam variabel untuk kemudian di proses dalam program kita.
Ketika anda mendeklarasikan sebuah variabel, pada dasarnya anda sedang memesan sebuah
ruang didalam memori. Lalu besarnya memori dipengaruhi oleh Tipe Data.
Nah tugas besar seorang programmer adalah bisa menentukan tipe data yang tepat, karena kita
dituntut untuk membuat program yang efektif dan tidak boros memori.
Untuk itu, kita akan mengenal beberapa tipe data dalam Bahasa C++.
Untuk penjelasan lebih detail silahkan baca: macam macam tipe data dan fungsinya
Pada dasarnya C++ memiliki beberapa tipe data built-in yang langsung anda gunakan. Dan
berikut 7+ tipe data primitif dalam bahasa pemrograman C++:
signed
unsigned
short
long
Setiap tipe data memiliki besar memori yang berbeda antara satu dengan yang lain. Untuk
membuktikannya, anda bisa memeriksanya dengan fungsi kode sizeof()
#include <iostream>
using namespace std;
int main() {
cout << "Size of char : " << sizeof(char) << endl;
cout << "Size of int : " << sizeof(int) << endl;
cout << "Size of short int : " << sizeof(short int) << endl;
cout << "Size of long int : " << sizeof(long int) << endl;
cout << "Size of float : " << sizeof(float) << endl;
cout << "Size of double : " << sizeof(double) << endl;
cout << "Size of wchar_t : " << sizeof(wchar_t) << endl;
return 0;
}
Ketika kode diatas di complie maka kita akan mendapat output sebagai berikut:
Size of char : 1
Size of int : 4
Size of short int : 2
Size of long int : 4
Size of float : 4
Size of double : 8
Size of wchar_t : 4
Dan disini kami akan merangkum macam-macam tipe variabel, berapa banyak memori yang
digunakan dalam memori, dan berapa jangkauan nilai yang mampu digunakan.
Kita ingin memberi tahu kepada compiler bahwa angka merupakan nama lain dari int.
Maka sekarang anda bisa menggunakan angka sebagai tipe data baru anda:
angka jarak;
Nama hari,
Nama bulan,
Jenis kelamin, dan lainnya.
Secara default, nilai dari nama pertama adalah 0, nama kedua adalah 1, dan seterusnya. Namun
anda bisa memberikan sebuah nilai sepesifik, dengan menambahakn identifier.
Contoh:
Sehingga red bernilai 0 (tanpa identifier, selalu mulai dari nol), gree bernilai 5, dan blue bernilai
6 karena setiap nama akan selalu 1 tingkat lebih besar dari nama sebelumnya.
Besarnya memori yang dibutuhkan tipe data bool yaitu 1 byte atau 8 bit.
#include <iostream>
using namespace std;
int main()
{
int angka;
bool hasil;
cout << "Masukan angka = "; cin >> angka;
hasil = angka > 10;
cout << hasil;
}
Pada contoh program diatas, kita menggunakan 2 buah variabel yaitu variabel angka dengan tipe
data integer, dan variabel hasil dengan tipe data boolean.
Nah, disini saya akan mengambil nilai/value untuk variabel hasil dengan membandingkan nilai
pada variabel angka terhadap bilangan 10.
Apabila nilai pada variabel angka lebih dari 10 maka hasil bernilai 1 (true) dan jika angka lebih
kecil dari 10 maka hasilnya bernilai 0 (false).
Besarnya memori yang dibutuhkan tipe data char yaitu 1 byte atau 8 bit.
#include <iostream>
using namespace std;
int main(){
char nilai;
Perlu diingat bahwa tipe data char hanya dapat menyimpan data berbentuk karakter dan hanya
satu karakter, oleh karena itu apabila anda memasukan lebih dari 1 karakter maka nilai yang akan
tersimpan hanya karakter pertama.
Besarnya memori yang dibutuhkan tipe data int yaitu 4 byte atau 32 bit. Berikut ini contoh
program C++ menggunakan tipe data int:
#include <iostream>
using namespace std;
int main(){
int x,y,z;
x=3; y=4;
z=x*y;
cout << "Hasil perkalian: " << z;
}
Dengan menggunakan tipe data integer hal ini memungkinkan kita untuk melakukan sejumlah
operasi aritmetika seperti perkalian dan lain sebagainya.
Pada contoh diatas, saya menggunakan 3 buah variabel beripe integer sebagai berikut: X bernilai
3, Y bernilai 4, dan Z sebagai hasil hasil perkalian x dan y.
Besarnya memori yang dibutuhkan tipe data float yaitu 4 byte atau 32 bit. Berikut ini contoh
program C++ menggunakan tipe data float:
#include <iostream>
using namespace std;
int main(){
float jari, hasil ;
const float p=3.14;
Bedanya adalah penyimpanan angka masimal lebih besar daripada float dan otomatis double juga
akan membutuhkan memori yang lebih besar.
Besarnya memori yang dibutuhkan tipe data double yaitu 8 byte atau 64 bit. Berikut ini contoh
program C++ menggunakan tipe data double:
#include <iostream>
using namespace std;
int main(){
double jari, hasil ;
const double p=3.1428;
Besarnya memori yang dibutuhkan tipe data string yaitu 4 byte atau 32 bit. Berikut ini contoh
program C++ menggunakan tipe data string:
#include <iostream>
using namespace std;
int main(){
string nohp;
Namun perbedaannya, jika dalam tipe data char kita hanya mampu menyimpan nilai satu
karakter untuk tiap variabel, hal ini tidak berlaku pada tipe data string.
Void termasuk katagori tipe data namun kita tidak bisa menggunakanya pada variabel biasa, void
biasanya digunakan pada function yang tidak mempunyai return value.
Besarnya memori yang dibutuhkan tipe data void yaitu 1 byte atau 8 bit.
Manarik Kesimpulan
Setelah mengetahui bahwa setiap tipe data memiliki fungsi kegunaan dan kebutuhan memori
yang berbeda-beda, kini anda sudah lebih tau bagaimana memilih tipe data.
10+ Jenis Operator C++ Berserta Fungsi dan
Contoh Programnya
Ditulis oleh Damas Amirul Karim
o #1 Assignment Operators
o #2 Arithmetic Operators
o #3 Compound Assignment
o #4 Increment and Decrement Operators
o #5 Relational and Comparison Operators
o #6 Logical Operators
o #7 Conditional Ternary Operator
o #8 Comma Operator
o #9 Bitwise Operators
o #10 Operator Lainnya
o Menarik Kesimpulan
Jika sebelumnya kita telah belajar bagaimana menggunakan variabel dalam program sederhana
kita, pada bab ini kita akan belajar macam-macam operator pada C++.
Operator adalah simbol khusus yang biasa dilibatkan dalam pembuatan program untuk
melakukan suatu operasi matematika maupun manipulasi logika.
- 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.
nama = "Damas";
umur = 22;
#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
a:4 b:7
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.
Dan variabel hanya akan menyimpan data atau nilai terakhir yang diberikan.
#2 Arithmetic Operators
Yang kedua adalah operator aritmetika.
Operator ini digunakan untuk melakukan sebuah opearasi penghitungan atau aritmatika dalam
bahasa pemrograman. Tugasnya untuk memecahkan masalah matematika.
+ untuk penjumlahan
- untuk pengurangan
* untuk perkalian
/ untuk pembagian
% untuk sisa bagi (modulo)
x = 11 % 3;
Dan tentunya hasil opeasi diatas dapat ditebak, ya hasilnya adalah 2, karena disini kita mencari
sisa bagi dimana hasil bagi 11 dan 3 = 3, sedangkan sisa baginya adalah 2.
#3 Compound Assignment
Operator ini memodifikasi nilai variabel saat ini dengan melakukan operasi di atasnya.
Operator Keterangan Contoh Penggunaanya
+= Penjumlahan z += x sama dengan, z = z + x
-= Pengurangan z -= x sama dengan, z = z - x
*= Perkalian z *= x sama dengan, z = z * x
/= Pembagian z /= x sama dengan, z = z / x
>>= Right shift AND z >>= 2 sama dengan, z = z >> 2
<<= Left shift AND z <<= 2 sama dengan, z = z << 2
&= Bitwise AND z &= 2 sama dengan, z = z & 2
^= Bitwise exclusive OR z ^= 2 sama dengan, z = z ^ 2
#include <iostream>
using namespace std;
int main ()
{
int a, b=3;
a = b;
a += 2; // sama dengan a = a + 2
cout << a;
}
Operator Increment (++) dan operator decrement (–) digunakan untuk meningkatkan atau
mengurangi satu nilai yang tersimpan dalam sebuah variabel.
x = x + 1 ;
y = y - 1 ;
++ x ;
-- y ;
//atau
x ++ ;
y -- ;
TIPS: Operator Increment adalah operator yang digunakan untuk menaikan nilai variabel
sebesar 1, sedangkan decrement digunakan untuk menurunkan nilai sebesar 1.
#include <iostream>
using namespace std;
int main ()
{
int a, b;
a = 3;
b = ++a;
Jika anda paham konsepnya anda pasti tahu hasil akhir dari variabel a akan bernilai 4, dan b
bernilai 4 karena nilai dari b adalah nilai a yang telah ditingkatkan.
Jika Pre-increment akan menenambahkan nilai 1 sebelum operasi lain dijalankan, maka Post-
increment akan menambahkan 1 nilai sesudah proses lain dijalankan.
#include <iostream>
int main(){
// Mendeklarasikan Variabel KD
int KD;
// Melakukan Pre-Increment
cout<<"Nilai KD awal : "<<KD<<endl;
cout<<"Nilai ++MD : "<<++KD<<endl;
cout<<"Nilai KD : "<<KD<<endl;
// Melakukan Post-Increment
cout<<"\nNilai KD awal : "<<KD<<endl;
cout<<"Nilai KD++ : "<<KD++<<endl;
cout<<"Nilai KD : "<<KD<<endl;
return 0;
}
Nantinya kita akan sering menggunakan operator ini untuk menentukan kondisi.
Operator Keterangan
== Sama dengan
!= Tidak sama dengan
> Lebih dari
< Kurang dari
>= Lebih dari atau sama dengan
<= Kurang dari atau sama dengan
Operator ini digunakan untuk menguji hubungan antara nilai dan atau variabel.
#include <iostream>
using namespace std;
void main() {
bool nilai;
nilai = 3 > 2 ; // hasil ungkapan : benar
cout << "Nilai = " << nilai;
nilai = 2 > 3 ; // hasil ungkapan : salah
cout << "Nilai = " << nilai;
}
#6 Logical Operators
Operator Logika adalah operator yang digunakan untuk membandingkan dua nilai variabel atau
lebih. Hasil dari operasi ini adalah nilai boolean true atau false.
Operator Keterangan
&& AND - Jika semua operand bernilai benar (TRUE) maka kondisi bernilai benar.
|| OR - Jika salah satu operand bernilai benar (TRUE) maka kondisi bernilai benar.
NOT - Digunakan untuk membalik kondisi. Jika kondisi benar (TRUE) maka akan
!
berubah menjadi salah (FALSE), begitu pula sebaliknya.
#include <iostream>
using namespace std;
int main ()
{
int a,b,c;
a=2;
b=7;
c = (a>b) ? a : b;
cout << c;
}
#8 Comma Operator
Operator koma (,) memiliki beberapa fungsi, yaitu:
#include <iostream>
using namespace std;
int main ()
{
int a,b;
a = (b=3, b+2);
cout << a;
}
Agak rumit namun penjelasanya seperti ini: Pertama variabel b akan diberi nilai 3, kemudian
nilai b (3) akan dijumlahkan dengan 2 sehingga variabel a bernilai 5.
#9 Bitwise Operators
Operator bitwise adalah operator yang digunakan untuk memanipulasi bit-bit nilai data yang ada
di memori. Operator ini hanya dapat digunakan untuk tipe data:
char
int
long int
Untuk operator bitwise dalam bentuk bit, dilakukan dalam bit per bit (binary).
Tabel kebenanaran:
pqp&qp|qp^q
000 0 0
010 1 1
111 1 0
pqp&qp|qp^q
100 1 1
Jika kita asumsikan memiliki nilai A = 63 dan B = 13, mari kita ubah menjadi biner:
A = 0011 1100
B = 0000 1101
~A = 1100 0011
Operator Keterangan
Untuk mengembalikan nilai dari ukuran variabel. Contoh sizeof(a), dimana
sizeof
‘a’ adalah integer maka akan mengembalikan nilai 4
. (dot) and -> Operator member yang digunakan untuk mereferensikan member class,
(arrow) structures, dll.
Untuk mengkonversi suatu data ke tipe data lain. Contohnya int(2.2000) akan
Cast
menjadi 2
* Digunakan sebagai operator pointer
Menarik Kesimpulan
Tenang saja ada tidak perlu menghafal semua operator tersebut, namun anda perlu
mengetahuinya. Karena saya yakin nantinya anda akan membutuhkannya.
2+ Contoh Program Sederhana Percabangan
C++ [Studi Kasus]
Ditulis oleh Damas Amirul Karim
o #1 Contoh Program If Else pada C++
o #2 Contoh Program Switch Case pada C++
o Menarik Kesimpulan
Salah satu strukur kontrol dalam bahasa pemrograman c++ yang akan kita bahas adalah konsep
percabangan. Idenya, kita akan belajar membuat program pengambil keputusan.
Sebelum itu, mari kita lihat pengertian dari percabangan terlebih dahulu:
Percabangan merupakan pemilihan statemen yang akan dieksekusi dimana pilihan tersebut
didasarkan atas kondisi tertentu untuk mengarahkan jalannya program.
Dalam kehidupan sehari-hari terkadang kita dihadapkan pada kondisi dimana kita harus memilih
suatu tindakan. Sebagai contoh ketika anda ingin menonton film di bioskop.
Jika anda memiliki tiket, maka anda boleh masuk untuk menonton film.
Nah, disana ada sebuah kondisi yang harus terpenuhi yaitu memiliki tiket.
Artinya jika anda tidak memiliki tiket (kondisi = FALSE) maka anda tidak diperbolehkan untuk
menonton film di bioskop. Kurang lebih itulah contoh nyata konsep percabangan.
Begitu juga dalam membuat program, kita akan sedikit banyak berurusan dengan pilihan. Disini
kita akan mengenal dua fungsi percabangan yaitu if else dan switch case.
#include <iostream>
using namespace std;
int main(){
int pilih;
pilihan (pilih);
}
Dalam program di atas, saya membuat prosedur bernama pilihan dengan parameter x bertipe
integer. (Silahkan baca: Apa itu prosedur dan fungsi dalam Pemrograman.)
Apabila variabel X bernilai 1 maka program akan mencetak “Anda pesan nasi goreng”, jika tidak
(selain angka 1) maka program akan mencetak “anda memesan nasi kucing”.
Nah, didalam program utama saya hanya menyiapkan varibel pilih bertipe integer untuk
menyimpan nilai inputan yang akan digunakan pada prosedur pilihan.
if (kondisi) {
Statemen1;
//kode yang dijalankan jika bernilai benar
}
else {
Statemen2;
//kode yang dijalankan jika salah
}
Jadi cara kerjanya seperti ini: Jika kondisi bernilai benar (TRUE) maka statement1 akan
dijakanlan, sedangkan jika bernilah salah (FALSE) maka statemen2 yang dieksekusi.
Operator Relasi - Operator ini digunakan untuk membandingkan 2 buah data untuk
mendepatkan kondisi benar (TRUE) atau salah (FALSE). Berikut daftarnya:
Operator Keterangan
== Sama dengan
!= Tidak sama dengan
< Kurang dari
> Lebih dari
<= Kurang dari atau sama dengan
>= Lebih dari atau sama dengan
Operator Logika - Faktanya, terkadang kita dihadapkan kondisi yang memiliki lebih dari satu
syarat. Jika anda mengalami hal yang sama maka gunakan operator berikut:
Operator Keterangan
&& And (Semua kondisi harus bernilai benar)
|| Or (Salah satu harus bernilai benar)
! Not (Kebalikan dari kondisi sebenarnya)
Nested If atau If Bersarang - Seperti yang telah saya singgung diatas, terkadang kita akan
dihadapkan pada kondisi yang sedikit lebih rumit dalam menentukan pilihan.
Jika anda paham struktur percabangan if else maka anda hanya perlu menambahkan fungsi if
dalam sebuah program if tersebut. contohnya seperti bari kode berikut:
#include <iostream>
using namespace std;
int main(){
int umur, kel;
cout << "Masukan Umur Anda (1-100): "; cin >> umur;
Hasil(kel,umur);
}
Pada kasus ditas, kita ingin mengetahui bagaimana seseorang dikatakan gadis, perjaka, wanita
dewasa, dan pria dewasa menggunakan dua syarat yaitu umur dan jenis kelamin.
Switch adalah konsep percabangan yang digunakan untuk menyelesaikan sebuah masalah
dengan sejumlah kemungkinan dengan kondisi konstan.
Namun pada dasarnya memiliki fungsi yang sama dengan percabangan if else.
Lalu apa yang membedakan kedua sintaks tersebut dan kapan anda menggunakan fungsi switch
atau sebaliknya? Mari kita lihat strukur peercabangan switch case.
switch (kondisi)
{
case constant1:
statements-1;
break;
case constant2:
statements-2;
break;
default:
default-statements;
}
Peryataan switch mengevaluasi kondisi dan memeriksa apakah sama dengan constant1. Jika
ya, maka statements-1 akan dieksekusi hingga kode break;
Jika tidak maka switch akan memeriksa terhadap constant2 dan seterusnya hingga kondisi
terpenuhi dan mengeksekusi program sesuai konsisi tersebut.
Namun, jika nilai kondisi tidak sesuai dengan konstanta yang telah ditentukan sebalumnya, maka
program akan mengeksekusi peryataan default.
Catatan: Saat menemukan pernyataan break, maka program akan beralih ke akhir keseluruhan
pernyataan switch (tanda “}” ) tanpa mengeksekusi baris dibawahnya.
Sedangkan keyword default akan bekerja jika semua kondisi tidak terpenuhi.
Berikut contoh sederhana program percabangan pada C++ menggunakan switch case:
#include <iostream>
using namespace std;
int pilihan;
string text;
int main(){
cout << "Daftar bahasa pemrograman:\n";
cout << "1. Java \n2. C++ \n3. PHP\n";
ulangi:
switch(pilihan){
case 1:
text="Anda memilih Pemrograman Java";
break;
case 2:
text="Anda memilih Pemrograman C++";
break;
case 3:
text="Anda memilih Pemrograman PHP";
break;
default:
goto ulangi;
}
Disini saya menggunakan dua variabel, pertama variabel pilihan dengan tipe data integer yang
akan kita gunakan sebagai kondisi pada peryataan switch.
Yang kedua variabel text dengan tipe data string yang akan kita gunakan untuk menyimpan
tulisan sesuai pilihan kita sebelumnya.
Kemudian saya menggunakan input output seperti biasa, masih bingung silahkan baca:
Dasar Input & Output (I/O) pada C++ dengan Fungsi cin dan cout
Masuk ke pokok pembahasan kita kali ini, disini saya akan mengevalusi kondisi (pilihan) dengan
konstanta 1-3 menggunakan fungsi switch case.
Namun apabila kondisi tidak terpenuhi maka fungsi default akan dieksekusi yaitu menuju ke
indetifier ulangi: dan kita akan memasukan pilihan lagi.
Sebagai contoh: apabila anda memasukan angka 2, maka tulisan yang akan muncul adalah “Anda
memilih pemrograman C++”.
Namun jika angka yang anda masukan bukan 1, 2, dan 3 maka program akan menuju identifier
ulangi: karena kondisi default diberi fungsi goto ulangi.
Studi Kasus - Sekarang anda sudah mengetahui apa itu switch case dan bagaimana stuktur
penulisannya, anda juga telah mengetahui apa fungsi break dan default.
Sebagai studi kasus, disini saya akan memberikan contoh program “NPM (Nomor Pokok
Mahasiswa) Generator” menggunakan peryataan switch dalam bahasa c++.
#include <iostream>
using namespace std;
string tahun;
int fakultas,prodi;
string idtahun,idfakultas,idprodi,nomor,npm;
int main(){
npm=idtahun+"."+idfakultas+"."+idprodi+"."+nomor;
cout << "NPM: " << npm;
}
Dalam program diatas saya sengaja tidak menggunakan fungsi default sehingga bisa saja anda
memasukan angka diluar nilai yang tersedia.
Tugas anda adalah memperbaiki program tersebut, sebagai petunjuk silahkan gunakan peryataan
switch didalam switch (nested switch case).
Menarik Kesimpulan
Meskipun kedua peryataan tersebut digunakan untuk menyelesaikan program percabangan atau
pilihan, namun terdapat perbedaan yang mendasar.
Secara penulisan, peryataan switch lebih rapi dan mudah dipahami dibanding peryataan if else
bertingkat terlebih untuk kondisi dengan banyak kemungkinan.
Intinya seperti ini: Peryataan switch biasa digunakan untuk kondisi konstan (contoh: 200, 301),
sedangkan if else untuk konsisi dengan logika (contoh: >10, !=0).
Sekian artikel contoh program percabngan c++ dari saya, semoga jelas.
Contoh Program C++ Perulangan Sederhana
dan Penjelasannya
Ditulis oleh Damas Amirul Karim
o Pengertian Perulangan atau Looping
o #1 Perulangan dengan fungsi for
o #2 Perulangan dengan fungsi while
o #3 Perulangan dengan fungsi do while
o Manarik Kesimpulan
Jika di artikel sebelumnya kita telah belajar tentang percabangan, maka sekarang kita akan
belajar konsep perulangan dalam bahasa C++ dengan contoh programnya.
Mungkin anda juga pernah dihukum guru anda untuk menulis sebuah kalimat perjanjian yang
intinya tidak akan mengulangi perbuatan salah anda sampai papan tulis penuh.
Misalnya menulis:
……………………………………….
……………………………………….
……………………………………….
Seperti yang bisa anda lihat diatas, kita diminta untuk menulis kalimat yang sama sebanyak
(contoh: 50 kali). Tentunya hal ini menjadi pekerjaan yang melelahkan.
Dalam bahasa pemrograman kita akan membutuhkan looping untuk mengerjakan sesuatu yang
sifatnya berulang. Dalam contoh diatas mencetak tulisan 50 kali.
Dengan perulangan, anda bisa menghemat sekian banyak baris kode yang pada dasarnya cukup
diketik satu kali. Untuk itulah program perulangan digunakan.
Perulangan (atau dalam bahasa inggris disebut dengan loop) adalah instruksi program yang
bertujuan untuk mengulang beberapa baris perintah.
Fungsi paling sederhana yaitu untuk mempermudah melakukan suatu proses yang berulang-
ulang, seperti mencetak angka dari 1 – 100.
Ada 3 cara untuk melakukan perulangan di C++ yaitu: for, while, & do while.
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.
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.
Kita membuat blok program di antara tanda kurung kurawal ({ dan }) sebagai penanda bahwa
bagian di dalam kurung kurawal inilah yang akan dikenai proses perulangan.
#include <iostream>
using namespace std;
int main ()
{
CetakAngka (1,10);
}
Penulisan dasar format perulangan while dalam C++ adalah sebagai berikut:
while(condition){
statement;
}
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.
Tanda kurung kurawal diperlukan untuk membatasi blok program yang akan diulang. Jika
statement hanya terdiri dari 1 baris, maka tidak diperlukan.
#include <iostream>
using namespace std;
int main () {
// Local variable declaration:
int a = 1;
return 0;
}
do {
statement;
} while (condition);
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.
#include <iostream>
using namespace std;
int main () {
// Local variable declaration:
int a = 1;
return 0;
}
Manarik Kesimpulan
Meskipun perulangan atau looping memiliki fungsi yang sama, namun ketiga fungsi tersebut
digunakan pada kondisi yang berbeda.
Kesalahan dalam alur logika akan membuat C++ tidak pernah berhenti (infinity loop).
Contoh Program C++ Sederhana
Menggunakan Fungsi & Prosedur
Ditulis oleh Damas Amirul Karim
o Deklasasi Fungsi / Method pada C++
o #1 Method Tanpa Return Value
o #2 Method dengan Return value
o Menarik Kesimpulan
Jika dalam pemrograman pascal kita mengenal prosedur dan fungsi, maka dalam bahasa
pemrograman C++ kita akan menyebut keduanya sebagai method.
Idenya: kita akan mulai membagi program besar kita menjadi program-program kecil dengan
masing-masing tugas dan tanggung jawab sehingga lebih fleksibel.
Method adalah kumpulan statemen atau blok peryataan yang berfungsi untuk menyelesaikan
tugas khusus dari program kita. Berfungsi sebagai subprogram.
Intinya kita ingin membagi-bagi program dari program utama (main program) sehingga program
dapat lebih rapih dan juga lebih terstruktur dan dapat dijalankan berulang kali.
Dalam sebuah program C++ minimal kita memiliki 1 method, karena pada dasarnya main() juga
merupakan sebuah method. Method main adalah program utama kita.
Deklasasi Fungsi / Method pada C++
Berikut cara mendeklarasikan fungsi atau method pada bahasa C++:
Method Return - Memiliki nilai kembali, contoh: int (sama seperti fungsi).
Method Void - Tanpa memiliki nilai kembalian (sama seperti prosedur).
Tujuan dari penggunaan prosedur atau method void salah satunya adalah untuk mendefinisikan
masing – masing tugas. Berikut ini contoh prosedur pada C++:
#include <iostream>
using namespace std;
void LuasPersegi()
{
int panjang,lebar;
int main()
{
LuasPersegi();
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int a,b;
Catatan: penggunaan parameter dalam prosedur boleh dikosongkan, sedangkan dalam sebuah
fungsi kita harus menggunakan parameter dalam penggunaannya.
Menarik Kesimpulan
Inti dari fungsi dan prosedur yaitu berfungsi untuk memecahkan program yang rumit dan besar
menjadi program-program yang lebih sederhana atau kecil.
Pada dasarnya tidak ada perbedaan yang signifikan antara prosedur dan fungsi karena hanya
dibedakan dari return value. Namun dapat kita simpulkan sebagai berikut:
Pada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya (sedangkan
prosedur berada pada parameter yang dikirimkan secara acuan).
Karena nilai balik berada di nama fungsi tersebut, maka fungsi tersebut dapat langsung
digunakan untuk dicetak hasilnya atau dipindahkan ke variable.
Tidak seperti sebuah fungsi, yang dapat langsung digunakan dari sebuah prosedur adalah
parameternya yang mengandung nilai balik.
Namun inti dari semua hal tersebut: Jika suatu sub program tersebut memiliki nilai balik (return
value) maka sub program tersebut disebut Function (Fungsi)…
Jika tidak memiliki nilai balik maka sub program tersebut merupakan prosedur.
Contoh Program Array C++ dan
Penjelasannya [Studi Kasus]
Ditulis oleh Damas Amirul Karim
o Deklarasi & Inisialisasi Array
o #1 Contoh Program C++ Array 1 Dimensi
o #2 Contoh Program C++ Array 2 Dimensi
o Menarik Kesimpulan
Dibandingkan anda harus mendeklarasikan banyak variabel dengan nama yang hampir sama
misalnya nomor1, nomor2, … , nomor10 maka lebih baik menggunakan array.
Secara pengertian: Array atau larik (dalam Bahasa Indonesia) adalah sebuah tipe data bentukan
yang terdiri dari sejumlah komponen dengan tipe yang sama.
Dengan menggunakan array kita dapat menyimpan banyak data dengan satu nama.
Tipe Data - Sebagai catatan, tipe data yang digunakan pada array adalah tipe data
primitif. Silahkan baca: perbedaan tipe data primitif dan komposit.
Nama Array - Anda bebas memberi nama array yang akan digunakan.
Ukuran Array - Digunakan untuk menentukan banyak index, anda dapat menentukan
sesuai kebutuhkan anda. Namun harus lebih dari 0.
Berikut adalah contoh pendeklarasian tipe data array pada program c++:
Faktanya, anda dapat melakukan inisialisasi terhadap array atau memberikan nilai awal:
Dengan catatan, jumlah inisialisasi tidak boleh lebih dari ukuran array.
Namun anda juga dapat mendeklarasikan array sekaligus memberikan inisialisasi tanpa harus
memberikan tambahan deklarasi ukuran array, sebagai berikut:
tipedata [totalindex];
//atau
Jadi, ada dua cara mendeklarasikan sebuah array berdimensi satu cara pertama cukup dengan
menggunakan tipe data dan total index yang diinginkan, contoh:
int umur[5];
Artinya, anda menyediakan varibel array bernama umur dengan tipe data integer yang mampu
menampung 5 data yang sama mulai dari index 0 - 4.
Ingat: Index pada array selalu dimulai dari nol.
Kemudian untuk mengisi nilai untuk tiap index pada array dengan cara:
umur[0] = 18;
umur[1] = 19;
umur[2] = 20;
umur[3] = 21;
umur[4] = 22;
Cara kedua, anda bisa langsung memberi nilai untuk tiap index pada saat pendeklarasian array.
Contoh kodenya sebagai berikut:
Untuk penerapan array dalam program biasanya dipadukan dengan perulangan for, while-do, dan
do-while. Pilih salah satu namun yang paling umum adalah for.
#include <iostream>
using namespace std;
int main ()
{
for ( n=0 ; n<5 ; ++n )
{
hasil+= umur[n];
}
cout << hasil;
return 0;
}
Dalam program diatas, saya ingin menjumlahkan nilai dari tiap index umur dan hasilnya saya
simpan kedalam variabel hasil untuk ditampilkan di akhir program.
Catatan: anda akan menggunakan looping bersarang untuk mengakses array dua dimensi (array
dua dimensi seperti sebuah tabel dengan baris dan kolom).
Berikut ini merupakan contoh program sederhana array 2 dimensi pada c++:
#include <iostream>
using namespace std;
int x,y;
int tabel[3][5] = {
{1, 2, 3, 4, 5},
{2, 4, 6, 8, 10},
{3, 6, 9, 12, 15}
};
int main ()
{
for (x=0; x<3; x++)
for (y=0; y<5; y++)
{
cout << tabel[x][y] << " ";
}
cout << "\n";
}
Lalu kita mendeklarasikan varibel tabel dengan tipe array dua dimensi (jumlah baris = 3,
jumlah kolom = 5). Selain itu, kita langsung melakukan inisialisasi pada array tersebut.
Kemudian dalam program utama kita menggunakan nested loop dengan fungsi for untuk
mengakses baris dan kolom secara otomatis supaya dapat mencetak isi array tabel.
Menarik Kesimpulan
Keunggulan array dibandingkan variabel biasa akan anda rasakan dalam fleksibilitas program,
sebagai contoh ketika anda ingin menampung daftar nama mahasiswa.
Dibandingkan anda membuat banyak variabel misalnya: nama1, nama2, nama2, dan seterusnya.
Akan lebih baik jika kita menggunakan tipe data array.
Karena kita dapat menyimpan data-data tersebut menjadi satu nama variabel.
Contoh Program Sederhana C++
Menggunakan Class dan Object
Ditulis oleh Damas Amirul Karim
o #1 Pengertian Class dan Objek
o #2 Struktur Penulisan Class pada C++
o #3 Contoh Program Class & Objek
Diawal pembahasan kita telah mengetahui bahwa bahasa C++ adalah pengembangan dari bahasa
C. Lalu C++ menggunakan konsep pemrograman berorientasi objek.
Pemrograman Berbasis Objek atau Object Oriented Programming (OOP) adalah sebuah tata
cara pembuatan program dengan menggunakan konsep objek yang memiliki data atau atribut dan
prosedur yang dikenal dengan method.
Misalnya manusia memiliki tinggi, berat badan, dan warna kulit sebagai atribut (variabel) lalu
manusia dapat berjalan, berlari, dan tertawa sebagai method.
Secara sederhana, OOP adalah konsep pembuatan program dengan memecah permasalahan
program menggunakan objek yang berinteraksi satu sama lain.
Objek dapat diumpamakan dengan ‘fungsi khusus’ yang bisa berdiri sendiri. Untuk membuat
aplikasi, berbagai objek saling bertukar data untuk mencapai hasil akhir.
Kelas (sintaks: class) adalah konsep struktur data yang diperluas: seperti struktur data, data
tersebut dapat berisi data anggota, namun juga berisi fungsi sebagai anggota.
Objek sendiri mempunyai indentitas (nama), pada umumnya memiliki pengetahuan baik tentang
dirinya maupun objek lain dan memiliki ketrampilan untuk melakukan sesuatu.
Dalam program, pengetahuan dari suatu objek disebut dengan state atau attribute atau field.
Sedang ketrampilan dan perilakunya disebut dengan behaviour / function / method.
JIka kita ingat variabel, maka kelas akan menjadi tipe data lalu objek akan menjadi nama
variabelnya. Namun intinya: kelas adalah representasi benda(object) dari dunia nyata.
class class_name {
access_specifier_1:
member1;
access_specifier_2:
member2;
...
} object_names;
Dimana class_name adalah identifier yang valid untuk kelas, lalu object_names adalah daftar
nama pilihan untuk objek kelas tersebut.
#include <iostream>
using namespace std;
class Rectangle {
int width, height;
public:
void set_values (int,int);
int area() {return width*height;}
};
int main () {
Rectangle rect;
rect.set_values (3,4);
cout << "area: " << rect.area();
return 0;
}
Jika anda perhatikan kode diatas, kita telah membuat kelas bernama Rectangle. Lalu, didalam
kelas tersebut kita mendeklarasikan variabel dan method.
Itu artinya kita mendefinisikan method bahwa fungsi set_values merupakan anggota kelas
Rectangle meskipun penulisan kodenya di luar kelas itu sendiri.
Kemudian di program utama kita membuat object dengan cara NamaKelas namaObject;
Rectangle rect;
Setelah itu kita akan memberikan nilai 3 dan 4 untuk variabel width dan height menggunakan
method set_value. Berikut caranya: namaObject.namaMethod;
rect.set_values (3,4);
Terakhir kita menampilkan hasil dari perkalian (width dan height) dengan method area.