Oke sahabat setia syarif soden, ketemu lagi di blog kesayangan kalian pada kesempatan kali ini kita akan belajar tentang operator pada C++, percabangan pada c++, perulangan pada c++ dan array pada c++.
Operator adalah simbol khusus yang biasa dilibatkan dalam pembuatan program untuk melakukan suatu operasi matematika maupun manipulasi logika.
Operator Unary - operator yang dikenakan untuk satu buah nilai (operand).
Operator Binary - operator yang dikenakan untuk dua buah nilai (operand).
Dengan catatan jika kita hanya melihat dari jumlah operand.
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.
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.
Jika kita perhatkan, kita mendeklarasikan variabel a dan b. Lalu kita memberikan nilai 20 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.
Yang kedua adalah operator aritmetika.
Operator ini digunakan untuk melakukan sebuah opearasi penghitungan atau aritmatika dalam bahasa pemrograman. Tugasnya untuk memecahkan masalah matematika.
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.
Operator ini memodifikasi nilai variabel saat ini dengan melakukan operasi di atasnya.
Operator Logika - Faktanya, terkadang kita dihadapkan kondisi yang memiliki lebih dari satu syarat. Jika anda mengalami hal yang sama maka gunakan operator berikut:
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;
void Hasil (int x, int y){
if (x==1) {
if (y>=17){
cout << "Pria Dewasa";
}
else{
cout << "Perjaka";
}
}
else {
if (y>=17){
cout << "Wanita Dewasa";
}
else{
cout << "Gadis";
}
}
}
int main(){
int umur, kel;
cout << "Jenis Kelamin" << '\n';
cout << "1. Laki-Laki" << '\n';
cout << "2. Perempuan" << '\n';
cout << "Masukan Pilihan Anda (1-2): "; cin >> 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.
Inti dari nested if adalah: Kita memiliki pecabangan didalam percabangan.
2 Contoh Program Switch Case pada C++
Secara pengertian, switch dapat diartikan sebagai berikut:
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.
Secara sederhana peryataan switch dapat ditulis sebagai berikut:
switch (kondisi)
{
case constant1:
statements-1;
break;
case constant2:
statements-2;
break;
default:
default-statements;
}
Mari kita pelajari bagaimana cara kerja program switch.
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:
cout << "Masukan pilihan anda (1-3): ";
cin >> pilihan;
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;
}
cout << text;
}
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.
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(){
cout << "Masukan tahun: "; cin >> tahun;
idtahun = tahun.substr(2,3);
cout << "Fakultas:\n 1. Hukum\n 2. Pendidikan\n 3. Ilmu Kesehatan\n 4. Teknik\n";
cout << "Masukan fakultas anda: "; cin >> fakultas;
switch (fakultas){
case 1:
idfakultas="01";
cout << "Program Studi:\n 1. Ilmu Humum S1\n";
break;
case 2:
idfakultas="02";
cout << "Program Studi:\n 1. Bimbingan Konseling (S-1)\n 2. Pendidikan Guru PAUD (S-1) 3. Pendidikan Guru SD (S-1)\n";
break;
case 3:
idfakultas="03";
cout << "Program Studi:\n 1. Ilmu Keperawatan (S-1)\n 2. Keperawatan (D-3)\n 3. Farmasi (D-3)\n 4. Profesi Ners\n";
break;
case 4:
idfakultas="04";
cout << "Program Studi:\n 1. Teknik Industri (S-1)\n 2. Teknik Informatika (S-1)\n";
break;
}
cout << "Masukan pilihan anda: "; cin >> prodi;
switch (prodi){
case 1:
idprodi = "01";
break;
case 2:
idprodi = "02";
break;
case 3:
idprodi = "03";
break;
case 4:
idprodi = "04";
break;
}
cout << "Masukan Nomor Urut: "; cin >> nomor;
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).
konsep perulangan dalam bahasa C++ dengan contoh programnya.
Mari kita sedikit mengenal apa itu perulangan:
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:
Saya belajar bahsa c++
……………………….
……………………….
……………………….
Saya belajar bahasa c++
Catatan: Anggaplah bagian titik-titik merupakan tulisan yang sama.
Seperti yang bisa anda lihat diatas, kita diminta untuk menulis kalimat yang sama sebanyak (contoh: 50 kali). Tentunya hal ini menjadi pekerjaan yang melelahkan.
Namun kabar baiknya, kita mengenal fungsi perulangan atau looping.
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.
Pengertian Perulangan atau Looping
Perulangan dapat diartikan sebagai berikut:
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.
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.
Kita membuat blok program di antara tanda kurung kurawal ({ dan }) sebagai penanda bahwa bagian di dalam kurung kurawal inilah yang akan dikenai proses perulangan.
Contoh looping dengan fungsi for pada program c++:
#include <iostream>
using namespace std;
void CetakAngka (int i, int j){
for (i = 1; i <= j; i++){
cout << i << '\n';
}
}
int main ()
{
CetakAngka (1,10);
}
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.
Contoh perulangan dengan fungsi while dalam program c++:
#include <iostream>
using namespace std;
int main () {
// Local variable declaration:
int a = 1;
// while loop execution
while( a < 10 ) {
cout << "value of a: " << a << endl;
a++;
}
return 0;
}
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.
Contoh program looping dengan fungsi do while dalam pemrograman c++:
#include <iostream>
using namespace std;
int main () {
// Local variable declaration:
int a = 1;
// while loop execution
do {
cout << "value of a: " << a << endl;
a = a + 1;
} while ( a < 10 );
return 0;
}
Method dapat diartikan sebagai berikut:
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++:
return_type nama_method ( daftar parameter) {
blok pernyataan;
}
Ada dua jenis method dalam pemrograman C+:
Method Return - Memiliki nilai kembali, contoh: int (sama seperti fungsi).
Method Void - Tanpa memiliki nilai kembalian (sama seperti prosedur).
1 Method Tanpa Return Value
Method Void - fungsi yang tidak memiliki nilai kembalian, maka dari itu penggunaan prosedur selalu menggunakan void karena void tidaklah mengembalikan nilai.
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;
cout << "Masukkan panjang: "; cin >> panjang;
cout << "Masukkan lebar: "; cin >> lebar;
cout<<"Luas persegi: " << panjang*lebar;
}
int main()
{
LuasPersegi();
return 0;
}
2 Method dengan Return value
Fungsi adalah subprogram yang akan mengolah data dan mengembalikan nilai (return value). Silahkan perhatikan program fungsi pada kode C++ berikut ini:
#include <iostream>
using namespace std;
int LuasPersegi (int p, int l){
int luas;
luas = p*l;
return luas;
}
int main()
{
int a,b;
cout << "masukkan panjang: "; cin >> a;
cout << "masukkan lebar: "; cin >> b;
cout << "Luas Persegi: " << LuasPersegi(a,b);
return 0;
}
Catatan: penggunaan parameter dalam prosedur boleh dikosongkan, sedangkan dalam sebuah fungsi kita harus menggunakan parameter dalam penggunaannya.
Deklarasi & Inisialisasi Array
Untuk mendeklarasikan sebuah array pada c++ anda hanya perlu menuliskan:
tipe_data nama_array [ ukuran_array ];
Saya akan memberikan sedikit catatan:
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++:
int daftarNilai [20];
Faktanya, anda dapat melakukan inisialisasi terhadap array atau memberikan nilai awal:
int daftarNilai [5] = {10,9,10,8,9};
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:
int daftarNilai [] = {10,9,8,10,9};
1 Contoh Program C++ Array 1 Dimensi
Berikut cara mendeklarasikan array 1 dimensi pada C++:
tipedata [totalindex];
//atau
tipedata [] = { nilai1, nilai2, dst };
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:
int umur[] = {18,19,20,21,22};
Untuk penerapan array dalam program biasanya dipadukan dengan perulangan for, while-do, dan do-while. Pilih salah satu namun yang paling umum adalah for.
Berikut contoh program sederhana array 1 dimensi pada c++:
#include <iostream>
using namespace std;
int umur[] = {18, 19, 20, 21, 22};
int n, hasil=0;
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.
2 Contoh Program C++ Array 2 Dimensi
Sama halnya dengan array 1 dimensi, array 2 dimensi juga memiliki cara yang sama dalam pendeklarasiannya. Berikut contoh array berdimensi 2:
Deklarasi array 2 dimensi:
tipedata [totalbaris][totalkolom];
Pemberian nilai array 2 dimensi:
namatabel [indexbaris][indexkolom] = nilai;
Sehingga untuk memberi nilai secara manual menjadi sebagai berikut:
tabel[0][0]= 1; tabel[0][1]= 2; tabel[0][2]= 3; tabel[0][3]= 4; tabel[0][4]= 5;
tabel[1][0]= 2; tabel[1][1]= 4; tabel[1][2]= 6; tabel[1][3]= 8; tabel[1][4]= 10;
tabel[2][0]= 3; tabel[2][1]= 6; tabel[2][2]= 9; tabel[2][3]= 12; tabel[2][4]= 15;
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";
}
Dalam program diatas kita mendeklarasikan variabel x dan y sebagai iterator.
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.