Tak Berkategori – HIMTIKA https://himtika.cs.unsika.ac.id Himpunan Mahasiswa Informatika UNSIKA Fri, 03 May 2024 22:36:02 +0000 en-US hourly 1 https://himtika.cs.unsika.ac.id/wp-content/uploads/2024/04/cropped-Logo-New-Himtika-32x32.png Tak Berkategori – HIMTIKA https://himtika.cs.unsika.ac.id 32 32 Belajar C++ #11 : STRUCTURE https://himtika.cs.unsika.ac.id/belajar-c-11-structure/ https://himtika.cs.unsika.ac.id/belajar-c-11-structure/#respond Mon, 11 Mar 2024 06:35:36 +0000 https://himtika.cs.unsika.ac.id/?p=12241 Structure

Struktur adalah kumpulan variabel dari tipe data yang berbeda dalam satu nama. Struktur biasa dipakai untuk mengelompokkan beberapa informasi yang berkaitan menjadi sebuah kesatuan. Struktur bermanfaat untuk mengelompokkan sejumlah data dengan tipe data yang berbeda. Masing-masing tipe elemen struktur dapat berbeda. Adapun variabel struktur menyatakan bahwa variabel struktur yang dideklarasikan bisa lebih dari satu dan dipisahkan dengan tanda titik koma.

Cara mendeklarasikan struktur

Kata kunci struct mendefinisikan tipe struktur kemudian diikuti dengan nama struktur. Kemudian di dalam kurung kurawal dapat mendeklarasikan satu atau lebih anggota. Sebagai contoh:

Copied!
struct Mahasiswa { string nama; int umur; char jk; }; Catatan: Pada saat struktur dibuat, tidak ada memori yang dialokasikan. Definisi struktur hanyalah cetak biru untuk pembuatan variabel.

Cara mendefinisikan variabel struktur

Setelah mendeklarasikan struktur mahasiswa, anda dapat mendefinisikan variabel struktur sebagai berikut:

Copied!
Mahasiswa mhs1;

Perhatikan disitu variabel struktur mhs1 didefinisikan yang bertipe struktur Mahasiswa. Ketiika variabel struktur didefinisikan, barulah memori yang diperlukan dialokasikan oleh compiler.

Cara mengakses anggota struktur

Untuk mengakses anggota variabel struktur menggunakan operator dot (.). Misalkan kita ingin mengakses umur pada struktur mahasiswa dan ingin memberikan nilai. Kita dapat menggunakan cara sebagai berikut:

Copied!
mhs1.umur = 19;

Contoh 1:

#include <iostream>
using namespace std;

struct Mahasiswa
{
    string nama;
    int umur;
    char jk;
};

int main()
{
    Mahasiswa mhs1;
    cout << "Masukkan Nama Lengkap: ";
    getline(cin, mhs1.nama);

    cout << "Masukkan Umur: ";
    cin >> mhs1.umur;
    cout << "Masukkan Jenis Kelamin (p/l): ";
    cin >> mhs1.jk;
    cout << "\nInformasi." << endl;
    cout << "Nama: " << mhs1.nama << endl;
    cout <<"Umur: " << mhs1.umur << endl;

    if(mhs1.jk == 'p' || mhs1.jk == 'P'){
        cout << "Jenis Kelamin: Perempuan" << endl;
    }else if(mhs1.jk == 'l' || mhs1.jk == 'L'){
        cout << "Jenis Kelamin: Laki-Laki" << endl;
    }
    
 return 0;
}

Output :

Copied!
Masukkan Nama Lengkap: Abizar Masukkan Umur: 17 Masukkan Jenis Kelamin (p/l): l Informasi. Nama: Abizar Umur: 17 Jenis Kelamin: Laki-Laki

Structure dan Fungsi

Variabel struktur dapat diteruskan ke fungsi dan dikembalikan dengan cara yang sama seperti argument pada umumnya.

Contoh 2:

#include <iostream>
using namespace std;

struct Warnet {
    string name;
    int hours;
    int price;
};

void displayData(Warnet);

int main() {
    Warnet w;

    int const ONEHOURS = 5000;
    cout << "Masukkan Nama Lengkap: ";

    getline(cin, w.name);
    cout << "Masukkan Jam: ";
    cin >> w.hours;

    w.price = w.hours * ONEHOURS;

    displayData(w);
 return 0;
}
void displayData(Warnet w) {
    cout << "\nInformation" << endl;
    cout << "Nama: " << w.name << endl;
    cout <<"Jam: " << w.hours << endl;
    cout << "Harga: " << w.price;
}

Output :

Copied!
Masukkan Nama Lengkap: Abizar Masukkan Jam: 5 Information Nama: Abizar Jam: 5 Harga: 25000

Contoh 3:

#include <iostream>
using namespace std;

struct Warnet {
 string name;
 int hours;
 int price;
};

Warnet getData(Warnet);

void displayData(Warnet);

int main() {
    Warnet w, temp;
    temp = getData(w);
    w = temp;
    displayData(w);
 return 0;
}

Warnet getData(Warnet w) {
    int const ONEHOURS = 5000;
    cout << "Masukkan Nama Lengkap: ";
    getline(cin, w.name);
    cout << "Masukkan Jam: ";
    cin >> w.hours;
    w.price = w.hours * ONEHOURS;
 return w;
}

void displayData(Warnet w) {
    cout << "\nInformation" << endl;
    cout << "Nama: " << w.name << endl;
    cout <<"Jam: " << w.hours << endl;
    cout << "Harga: " << w.price;
}

Output :

Copied!
Masukkan Nama Lengkap: Abizar Masukkan Jam: 3 Information Nama: Abizar Jam: 3 Harga: 15000

Structure dan Pointer

Variabel pointer dapat dibuat tidak hanya untuk tipe data bawaan seperti (int, float, double, dll) tetapi juga dapat dibuat untuk tipe yang ditentukan pengguna seperti struktur.

Contoh 4:

#include <iostream>
using namespace std;

struct Jarak {
    int kaki;
    float inci;
};

int main() {
    Jarak *ptr, d;
    ptr = &d;

    cout << "Masukkan kaki: ";
    cin >> (*ptr).kaki;
    cout << "Masukkan inci: ";
    cin >> (*ptr).inci;
    cout << "Informasi" << endl;
    cout << "Jarak = " << ptr->kaki << " kaki " << ptr->inci << " kaki";
    
 return 0;
}

Output :

Copied!
Masukkan kaki: 42 Masukkan inci: 12 Informasi Jarak = 42 kaki 12 kaki
]]>
https://himtika.cs.unsika.ac.id/belajar-c-11-structure/feed/ 0
Belajar C++ #10 : POINTER https://himtika.cs.unsika.ac.id/belajar-c-10-pointer/ https://himtika.cs.unsika.ac.id/belajar-c-10-pointer/#respond Mon, 11 Mar 2024 05:41:00 +0000 https://himtika.cs.unsika.ac.id/?p=12228 Pointer

Alamat

Jika kita memiliki variabel nilai dalam program c++ yang kita buat, maka & nilai akan memberitahu alamat memori nya. Sebagai contoh:

Contoh 1:

#include <iostream>
using namespace std;
int main()
{
 int nilai_absen = 85;
 int nilai_tugas = 90;
 int nilai_uts = 70;
 
 cout << "Alamat dari nilai absen: "<< &nilai_absen << endl;
 cout << "Alamat dari nilai tugas: " << &nilai_tugas << endl;
 cout << "Alamat dari nilai uts: " << &nilai_uts << endl;
}

Output :

Copied!
Alamat dari nilai absen: 0x76761ffc8c Alamat dari nilai tugas: 0x76761ffc88 Alamat dari nilai uts: 0x76761ffc84 Catatan: 0x diawal alamat memori mewakili alamat dalam bentuk heksadesima

Pointer

Pointer digunakan untuk menyimpan alamat daripada nilai. Berikut merupakan cara untuk mendeklarasikan pointer:

Copied!
int *variabelPointer; int* variabelPointer; Catatan: operator * digunakan setelah tipe data untuk mendeklarasikan pointer

Menetapkan alamat ke pointer

Untuk menetapkan alamat ke dalam pointer maka gunakan cara seperti berikut:

Copied!
int* variabelPointer, var;
var = 10;
variabelPointer = &var;

Mendapatkan nilai dari alamat menggunakan pointer

Untuk mendapatkan nilai yang ditunjuk oleh pointer, maka kita bisa menggunakan operator * seperti berikut:

Copied!
int* variabelPointer, var; var = 10; variabelPointer = &var; cout << *variabelPointer << endl; Catatan: Pada saat kita menggunakan * dengan pointer, maka hal tersebut dinamakan dengan operator dereference. Ini beropasi pada pointer dan memberikan nilai yang ditunjukkan oleh alamat yang disimpan di pointer yaitu *variabelPointer = var

Contoh 2:

#include <iostream>
using namespace std;
int main() {
    int var = 10;
    int* variabelPointer;
    variabelPointer = &var;
    
    cout << "var = " << var << endl;
    cout << "Alamat dari vari (&var) = " << &var << endl << endl;
    cout << "Variabel Pointer = " << variabelPointer << endl;
    cout << "Isi alamat yang ditunjuk oleh variabelPointer = " << *variabelPointer << endl;
 return 0;
}

Output :

Copied!
var = 10 Alamat dari vari (&var) = 0xeb7c9ff924 Variabel Pointer = 0xeb7c9ff924 Isi alamat yang ditunjuk oleh variabelPointer = 10

Cara mengubah nilai yang ditunjuk oleh pointer

Jika variabelPointer menunjuk ke alamat var, maka kita dapat mengubah nilai dari var dengan menggunakan *variabelPointer. Sebagai contoh:

Copied!
int var = 10; int* variabelPointer; variabelPointer = &var; *variabelPointer = 7; Cout << var;

Contoh 3:

#include <iostream>
using namespace std;
int main() {
    int var = 9;
    int* variabelPointer;
    variabelPointer = &var;

    cout << "var = " << var << endl;
    cout << "*variabelPointer = " << *variabelPointer << endl << endl;
    cout << "Merubah nilai yang ada di variabel var menjadi 7:" << endl;

    var = 7;

    cout << "var = " << var << endl;
    cout << "*variabelPointer = " << *variabelPointer << endl << endl;
    cout << "Merubah nilai *variabelPointer menjadi 3:" << endl;
    
    *variabelPointer = 3;
    cout << "var = " << var << endl;
    cout << "*variabelPointer = " << *variabelPointer << endl;
 return 0;
}

Output :

Copied!
var = 9 *variabelPointer = 9 Merubah nilai yang ada di variabel var menjadi 7: var = 7 *variabelPointer = 7 Merubah nilai *variabelPointer menjadi 3: var = 3 *variabelPointer = 3

Pointer dan Array

Pointer adalah variabel yang menyimpan alamat variabel lain Pointer tidak hanya dapat menyimpan alamat dari satu variabel, tetapi juga dapat menyimpan alamat dari array. Perhatikan contoh berikut:

Copied!
int *ptr; int arr[5]’ ptr = arr;

Perhatikan kode program diatas, ptr merupakan pointer sedangkan arr merupakan array. Kode program ptr = arr; menyimpan alamat memori elemen pertama array dalam variabel ptr.

Mengarahkan pointer ke setiap elemen array

Misalkan kita perlu menunjuk ke elemen dari array menggunakan pointer yang sama. Sebagai contoh:

ptr + 1Sama Dengan&arr[1]
ptr + 2Sama Dengan&arr[2]
ptr + 3Sama Dengan&arr[3]
ptr + 4Sama Dengan&arr[4]

Selain itu kita juga bisa mengakses elemen array dengan menggunakan operator dereference
seperti contoh berikut:

*ptrSama Denganarr[0]
*(ptr+1)Sama Denganarr[1]
*(ptr+2)Sama Denganarr[2]
*(ptr+3)Sama Denganarr[3]
*(ptr+4)Sama Denganarr[4]

Contoh 4:

#include <iostream>
using namespace std;
int main()
{
    float arr[3];
    float *ptr;
    cout << "Menampilkan alamat array: " << endl;
    for (int i = 0; i < 3; ++i)
        {
        cout << "&arr[" << i << "] = " << &arr[i] << endl;
        }
    ptr = arr;
    cout<<"\nMenampilkan alamat dengan menggunakan pointer: "<< endl;
    for (int i = 0; i < 3; ++i)
        {
        cout << "ptr + " << i << " = "<< ptr + i << endl;
        }
 return 0;
}

Output :

Copied!
Menampilkan alamat array: &arr[0] = 0x33d13ffaf4 &arr[1] = 0x33d13ffaf8 &arr[2] = 0x33d13ffafc Menampilkan alamat dengan menggunakan pointer: ptr + 0 = 0x33d13ffaf4 ptr + 1 = 0x33d13ffaf8 ptr + 2 = 0x33d13ffafc

Contoh 5:

#include <iostream>
using namespace std;
int main() {
    float arr[5];
    cout << "Masukkan 5 bilangan: ";
    for (int i = 0; i < 5; ++i) {
        cin >> *(arr + i) ;
    }
    cout << "Menampilkan 5 bilangan: " << endl;
    for (int i = 0; i < 5; ++i) {
        cout << *(arr + i) << endl ;
    }
 return 0;
}

Output :

Copied!
Masukkan 5 bilangan: 1 2 3 4 5 Menampilkan 5 bilangan: 1 2 3 4 5

Pointer dan Fungsi

Pada materi fungsi di pertemuan sebelumnya ketika meneruskan argument ke dalam suatu fungsi metode yang digunakan disebut dengan passing by value karena nilai sebenarnya dilewati. Namun, ada cara lain untuk meneruskan argument ke fungsi dimana nilai sebenarnya dari argument tidak diteruskan. Sebagai gantinya, referensi ke nilai dilewati. Sebagai contoh:

Copied!
// fungsi yang mengambil nilai sebagai parameter void func1(int numVal) { // body } // fungsi yang mengambil referensi sebagai parameter // perhatikan & sebelum parameter void func2(int &numRef) { // body } int main() { int num = 5; // passing dengan nilai func1(num); // passing dengan referensi func2(num); return 0; }

Perhatikan kode program di atas, & di dalam parameter fungsi void func2(int &numRef). Ini menunjukkan bahwa kita menggunakan alamat variabel sebagai parameter. Jadi pada saat memanggil fungsi func2 dan meneruskan variabel num sebagai argument, itu sebenarnya kita sedang meneruskan alamat dari variabel num bukan nilai 5.

Contoh 6:

#include <iostream>
using namespace std;

void swap(int &n1, int &n2) {
    int temp;
    temp = n1;
    n1 = n2;
    n2 = temp;
}

int main()
{
    int a = 1, b = 2;
    cout << "Sebelum ditukar" << endl;
    cout << "a = " << a << endl;
    cout << "b = " << b << endl;

    swap(a, b);

    cout << "\nSetelah ditukar" << endl;
    cout << "a = " << a << endl;
    cout << "b = " << b << endl;
    
 return 0;
}

Output :

Copied!
Sebelum ditukar a = 1 b = 2 Setelah ditukar a = 2 b = 1

Contoh 7:

#include <iostream>
using namespace std;

void swap(int*, int*);

int main()
{
    int a = 1, b = 2;
    cout << "Sebelum ditukar" << endl;
    cout << "a = " << a << endl;
    cout << "b = " << b << endl;
    swap(&a, &b);
    cout << "\nSetelah ditukar" << endl;
    cout << "a = " << a << endl;
    cout << "b = " << b << endl;

 return 0;
}

void swap(int* n1, int* n2) {
    int temp;
    temp = *n1;
    *n1 = *n2;
    *n2 = temp;
}

Output :

Copied!
Sebelum ditukar a = 1 b = 2 Setelah ditukar a = 2 b = 1

Memori Manajemen

Dalam bahasa pemrogram C++ kita dapat mengelola memori secara efektif menggunakan operator new dan delete. C++ memungkinkan kita untuk mengalokasikan memori variabel atau array dalam waktu berjalan ini dikenal dengan alokasi memori dinamis. Dalam bahasa pemrograman yang lain seperti Java atau Python, kompiler secara otomatis mengelola memori yang di alokasikan ke dalam variabel, tetapi di C++ tidak seperti itu. Dalam bahasa pemrograman C++ kita perlu membatalkan alokasi memori yang dialokasikan secara dinamis secara manual setelah kita tidak menggunakan variabel tersebut. Kita dapat mengalokasikan dan kemudian membatalkan alokasi memori secara dinamis menggunakan masing-masing operator new dan delete.

Operator new

Operator ini berfungsi untuk mengalokasikan memori ke variabel. Sebagai contoh:

Copied!
// mendeklarasikan pointer dengan tipe data int int* pointVar; // mengalokasikan memori secara dinamis // menggunakan kata kunci baru pointVar = new int; // tetapkan nilai ke memori yang dialokasikan *pointVar = 45;
]]>
https://himtika.cs.unsika.ac.id/belajar-c-10-pointer/feed/ 0
Belajar C++ #9 : Array https://himtika.cs.unsika.ac.id/belajar-c-9-array/ https://himtika.cs.unsika.ac.id/belajar-c-9-array/#respond Mon, 11 Mar 2024 04:10:19 +0000 https://himtika.cs.unsika.ac.id/?p=12222 Array

Array adalah variabel yang dapat menyimpan beberapa nilai dari tipe data yang sama. Sebagai contoh, misalnya dalam sebuah kelas memiliki 25 mahasiswa dan kita perlu untuk menyimpan semua nilai mahasiswa. Daripada membuat 25 variabel berbeda, kita hanya perlu membuat array seperti berikut:

Deklarasi Array :

Tipedata namaArray[ukuran];

Dalam array, setiap elemen dikaitkan dengan angka. Angka tersebut dikenal sebagai indeksarray. Berikut merupakan cara untuk mengakases elemen array dengan menggunakan indeks:

nilai[3];

Inisialilasi Array

Cara pertama :
int nilai[5] = {85,90,70,55,80};
Cara kedua :
int nilai[] ={85,90,70,55,80};

Contoh 1:

#include <iostream>
using namespace std;
int main() {
    int nilai[5] = {95, 63, 74, 88, 80};
    cout << "Nilai Mahasiswa: ";

    for (const int &n : nilai) {
    cout << n << " ";
    }

    cout << "\nNilai Mahasiswa: ";
    for (int i = 0; i < 5; ++i) {
    cout << nilai[i] << " ";
    }
 return 0;
}

Output :

Copied!
Nilai Mahasiswa: 95 63 74 88 80 Nilai Mahasiswa: 95 63 74 88 80

Contoh 2:

#include <iostream>
using namespace std;
int main() {
    int nilai[5];
    cout << "Masukkan 5 nilai mahasiswa: " << endl;
    for (int i = 0; i < 5; ++i) {
    cin >> nilai[i];
    }
    
    cout << "Nilai Mahasiswa UNSIKA: ";
    for (int n = 0; n < 5; ++n) {
    cout << nilai[n] << " ";
    }
 return 0;
}

Output :

Copied!
Masukkan 5 nilai mahasiswa: 80 90 70 75 80 Nilai Mahasiswa UNSIKA: 80 90 70 75 80

Contoh 3:

#include <iostream>
using namespace std;
int main() {
    double tinggi[5];
    double sum = 0;
    double count = 0;
    double average;

    cout << "Masukkan tinggi 5 mahasiswa: ";

    for (int i = 0; i < 5; ++i) {
    cin >> tinggi[i];
    }

    cout << "Tinggi Mahasiswa: ";

    for (const double &n : tinggi) {
    cout << n << " ";
    sum += n;
    ++count;
    }

    cout << "\nJumlah = " << sum << endl;
    average = sum / count;
    cout << "Rata-rata tinggi mahasiswa = " << average << endl;
    
 return 0;
}

Output :

Copied!
Masukkan tinggi 5 mahasiswa: 178 168 168 190 200 Tinggi Mahasiswa: 178 168 168 190 200 Jumlah = 904 Rata-rata tinggi mahasiswa = 180.8

Array Multidimensi

Array multidimensi merupakan array yang berada di dalam array, berikut merupakan contoh untuk membuat array multidimensi:

int matriks[3][4];

Dan berikut merupakan cara untuk mendeklarasikan array tiga dimensi:

int matriks[2][4][3];

Contoh 4:

#include <iostream>
using namespace std;
int main() {
    int matrik[3][2] = {{2, -5},
    {4, 0},
    {9, 1}};

    for (int i = 0; i < 3; ++i) {
        for (int j = 0; j < 2; ++j) {
        cout << "Matrik[" << i << "][" << j << "] = " << matrik[i][j] << endl;
        }
    }
 return 0;
}

Output :

Copied!
Matrik[0][0] = 2 Matrik[0][1] = -5 Matrik[1][0] = 4 Matrik[1][1] = 0 Matrik[2][0] = 9 Matrik[2][1] = 1

Contoh 5:

#include <iostream>
using namespace std;
int main() {
    int bil[2][3];
    cout << "Masukkan 6 bilangan: " << endl;
    for (int i = 0; i < 2; ++i) {
        for (int j = 0; j < 3; ++j) {
        cin >> bil[i][j];
        }
    }
    cout << "Bilangan: " << endl;
        for (int i = 0; i < 2; ++i) {
        for (int j = 0; j < 3; ++j) {
        cout << "bil[" << i << "][" << j << "]: " << bil[i][j] << endl;
        }
    }
    return 0;
}

Output :

Copied!
Masukkan 6 bilangan: 1 2 3 4 5 6 Bilangan: bil[0][0]: 1 bil[0][1]: 2 bil[0][2]: 3 bil[1][0]: 4 bil[1][1]: 5 bil[1][2]: 6

Contoh 6:

#include <iostream>
using namespace std;
int main() {
    int arr[2][3][2] = {
    {{1, 2},{3, 4},{5, 6}},
    {{7, 8},{9, 10},{11, 12}}
    };
    for (int i = 0; i < 2; ++i) {
        for (int j = 0; j < 3; ++j) {
            for (int k = 0; k < 2; ++k) {
                cout << "arr[" << i << "][" << j << "][" << k << "] = " << arr[i][j][k] << endl;
                        }
            }
    }
 return 0;
}

Output :

Copied!
arr[0][0][0] = 1 arr[0][0][1] = 2 arr[0][1][0] = 3 arr[0][1][1] = 4 arr[0][2][0] = 5 arr[0][2][1] = 6 arr[1][0][0] = 7 arr[1][0][1] = 8 arr[1][1][0] = 9 arr[1][1][1] = 10 arr[1][2][0] = 11 arr[1][2][1] = 12

Fungsi dan Array

Dalam bahasa pemrograman C++ kita bisa meneruskan array sebagai argumen ke dalam sebuah fungsi. Dan kita juga bisa mengembalikan array dari suatu fungsi.

Cara melewati array sebagai parameter

Copied!
returnType functionName(datatype arrayName[size]){ //body }

Contoh 7:

#include <iostream>
using namespace std;
void display(int n[5]) {
    cout << "Tampilkan nilai: " << endl; 
    for (int i = 0; i < 5; ++i) {
    cout << "Mahasiswa " << i + 1 << ": " << n[i] << endl;
    }
}
int main() {
    int nilai[5] = {88, 76, 90, 61, 69};
    display(nilai);
 return 0;
}

Output :

Copied!
Tampilkan nilai: Mahasiswa 1: 88 Mahasiswa 2: 76 Mahasiswa 3: 90 Mahasiswa 4: 61 Mahasiswa 5: 69

Contoh 8:

#include <iostream>
using namespace std;
void display(int n[][2]) {
    cout << "Tampilkan data: " << endl;
    for (int i = 0; i < 3; ++i) {
        for (int j = 0; j < 2; ++j) {
        cout << "bil[" << i << "][" << j << "]: " << n[i][j] << endl;
        }
    }
}
int main() {
    int bil[3][2] = {
    {3, 4},
    {9, 5},
    {7, 1}
    };

    display(bil);
    
 return 0;
}

Output :

Copied!
Tampilkan data: bil[0][0]: 3 bil[0][1]: 4 bil[1][0]: 9 bil[1][1]: 5 bil[2][0]: 7 bil[2][1]: 1
]]>
https://himtika.cs.unsika.ac.id/belajar-c-9-array/feed/ 0
Pilih Belajar C++ #8 : Fungsi https://himtika.cs.unsika.ac.id/pilih-belajar-c-8-fungsi/ https://himtika.cs.unsika.ac.id/pilih-belajar-c-8-fungsi/#respond Mon, 11 Mar 2024 01:31:44 +0000 https://himtika.cs.unsika.ac.id/?p=12214 Halo sobat informatics! Selamat datang dalam perjalanan baru kita ke dalam dunia fungsionalitas dalam pemrograman. Hari ini, kita akan menggali lebih dalam konsep yang sangat penting, yaitu “function” atau fungsi. Fungsi memberikan kemampuan kepada kita untuk mengorganisir dan merapikan kode, serta membuatnya lebih mudah dimengerti dan dapat digunakan kembali.

Bersiaplah untuk memahami berbagai aspek menarik, mulai dari contoh fungsi yang sederhana, penggunaan function overloading untuk kelas fungsi yang lebih kompleks, hingga konsep default parameter, variabel lokal dan global, serta merambah ke dalam keajaiban rekursi. Mari kita mulai petualangan kita dalam memahami kekuatan dan fleksibilitas fungsi dalam pemrograman!

a) Fungsi

Dalam merancang kode program, terkadang kita sering membuat kode untuk melakukan tugas yang sama secara berulang-ulang. Tugas yang sama ini akan jauh lebih efektif jika dipecah dari program utama dan dijadikan sebuah function.

Function atau fungsi merupakan kode program yang dirancang untuk menyelesaikan sebuah tugas tertentu dan merupakan bagian dari program utama. Function diperlukan untuk memecah alur program yang besar menjadi beberapa kode program kecil agar mudah untuk dikelola.

Deklarasi fungsi:

Copied!
returnType nama_fungsi(parameter1, parameter2, ...) { // body }

Parameter dan Argumen:

Parameter adalah sebutan untuk inputan fungsi pada saat pendefinisian fungsi tersebut. Sedangkan argument adalah sebutan untuk inputan fungsi pada saat pemanggilan fungsi.

Return:

Agar lebih fleksibel, sebuah function seharusnya mengembalikan nilai, bukan langsung menampilkan nilai dengan menggunakan perintah cout. Perintah return berfungsi untuk mengembalikan nilai yang ada di dalam function dan jangan lupa ketika kita menggunakan return kita harus menentukan tipe data apa yang akan dikembalikan oleh function tersebut.

Contoh 1:

#include <iostream>
using namespace std;

void salam()
{
    cout << "Selamat Pagi!";
}

int main()
{
    salam();
    return 0;
}

Output:

Copied!
Selamat Pagi!

Contoh 2:

#include <iostream>
using namespace std;

void cekBilangan(int bilangan)
{
    if ((bilangan % 2) == 0)
    {
        cout << bilangan << " Merupakan bilangan genap";
    }
    else
    {
        cout << bilangan << " Merupakan bilangan ganjil";
    }
}

int main()
{
    int bil;

    cout << "Masukkan bilangan: ";
    cin >> bil;

    cekBilangan(bil);
    return 0;
}

Output:

Copied!
Masukkan bilangan: 3 3 Merupakan bilangan ganjil

Contoh 3:

#include <iostream>
using namespace std;

int penjumlahan(int bil1, int bil2)
{
    return (bil1 + bil2);
}

int pengurangan(int bil1, int bil2)
{
    return (bil1 - bil2);
}

int perkalian(int bil1, int bil2)
{
    return (bil1 * bil2);
}

int pembagian(int bil1, int bil2)
{
    return (bil1 / bil2);
}

int main()
{
    int bil1, bil2;

    cout << "Masukkan 2 bilangan: ";
    cin >> bil1 >> bil2;

    cout << "Hasil penjumlahan: " << penjumlahan(bil1, bil2) << endl;
    cout << "Hasil pengurangan: " << pengurangan(bil1, bil2) << endl;
    cout << "Hasil perkalian: " << perkalian(bil1, bil2) << endl;
    cout << "Hasil pembagian: " << pembagian(bil1, bil2) << endl;
    return 0;
}

Output:

Copied!
Masukkan 2 bilangan: 8 4 Hasil penjumlahan: 12 Hasil pengurangan: 4 Hasil perkalian: 32 Hasil pembagian: 2

b) Function Overloading

Function overloading adalah function yang memiliki nama yang sama tetapi memiliki parameter yang berbeda. Function dapat memiliki nama yang sama jika jumlah atau jenis parameter yang dibuat berbeda.

Contoh 4:

#include <iostream>
using namespace std;

int penjumlahan(int, int);
int penjumlahan(int, int, int);
double penjumlahan(double, double);

int main()
{
    cout << "Hasil penjumlahan: " << penjumlahan(2, 4) << endl;
    cout << "Hasil penjumlahan: " << penjumlahan(2, 4, 6) << endl;
    cout << "Hasil penjumlahan: " << penjumlahan(5.5, 2.4) << endl;
    return 0;
}

int penjumlahan(int bil1, int bil2)
{
    return (bil1 + bil2);
}
int penjumlahan(int bil1, int bil2, int bil3)
{
    return (bil1 + bil2 + bil3);
}
double penjumlahan(double bil1, double bil2)
{
    return (bil1 + bil2);
}

Output:

Copied!
Hasil penjumlahan: 6 Hasil penjumlahan: 12 Hasil penjumlahan: 7.9

c) Default Parameter

Dalam membuat sebuah function yang memiliki parameter kita bisa memberikan nilai default untuk parameter. Jika sebuah function yang dibuat dengan argument default dipanggil tanpa meneruskan argument, maka parameter default akan digunakan.

Contoh 5:

#include <iostream>
using namespace std;

void display(char = '*', int = 3);

int main()
{
    int count = 5;
    cout << "Tidak ada argumen: ";
    display();

    cout << "Hanya argumen pertama: ";
    display('#');

    cout << "Dua argumen diisi: ";
    display('$', count);

    return 0;
}

void display(char c, int count)
{
    for (int i = 1; i <= count; ++i)
    {
        cout << c;
    }
    cout << endl;
}

Output:

Copied!
Tidak ada argumen: *** Hanya argumen pertama: ### Dua argumen diisi: $$$$$

d) Variabel Lokal dan Global

Variabel yang didefinisikan didalam function disebut sebagai variabel local. Cakupannya hanya terbatas pada function dimana ia didefinisikan. Sederhananya, variabel local ada dan hanya dapat diakses di dalam suatu function. Sedangkan variabel global adalah jika suatu variabel didefinisikan diluar function, ruang lingkup global adalah keseluruhan program artinya ia dapat digunakan dan diubah di bagian mana pun dari program setelah deklarasi.

Contoh 6:

#include <iostream>
using namespace std;
void test();

int main()
{
    int var = 5;
    test();
    var1 = 9;
}

void test()
{
    int var1;
    var1 = 6;
    cout << var;
}

Contoh 7:

#include <iostream>
using namespace std;
int c = 5;

void test();

int main()
{
    c++;
    cout << c << endl;
    test();
    return 0;
}

void test()
{
    c++;
    cout << c;
}

Output:

Copied!
6 7

Variabel statis hanya ada di dalam function yang dideklarasikan (mirip dengan variabel local) tetapi masa penggunaanya dimulai saat function dipanggil dan berakhir hanya saat program berakhir. Perbedaan utama antara variabel lokal dan variabel statis adalah, nilai variabel statis tetap ada di akhir program.

Contoh 8:

#include <iostream>
using namespace std;

void test()
{
    static int a = 0;
    a += 1;
    cout << "Ini adalah pemanggilan fungsi ke-" << a << endl;
}

int main()
{

    test();
    test();

    return 0;
}

Output:

Copied!
Ini adalah pemanggilan fungsi ke-1 Ini adalah pemanggilan fungsi ke-2

e) Fungsi Rekursi

Sebuah function yang memanggil dirinya sendiri dikenal sebagai fungsi rekursif. Dan, teknik ini dikenal sebagai rekursi.

Contoh 9:

#include <iostream>
using namespace std;

int factorial(int);

int main()
{
    int bil, hasil;
    cout << "Masukkan bilangan: ";
    cin >> bil;
    hasil = factorial(bil);
    cout << "Faktorial dari " << bil << " = " << hasil;
    return 0;
}

int factorial(int bil)
{
    if (bil > 1)
    {
        return bil * factorial(bil - 1);
    }
    else
    {
        return 1;
    }
}

Output:

Copied!
Masukkan bilangan: 5 Faktorial dari 5 = 120


Jadi itu yang bisa kita bahas pada artikel kali ini, dengan ini, kita menutup bab menarik kita mengenai fungsi dalam pemrograman. Telah kita bahas berbagai aspek menarik, mulai dari contoh fungsi sederhana yang merapikan kode, hingga konsep lebih lanjut seperti function overloading, default parameter, dan perbedaan antara variabel lokal dan global. Kita juga menjelajahi keindahan rekursi, di mana sebuah fungsi dapat memanggil dirinya sendiri untuk menyelesaikan tugas yang lebih kompleks.

Semoga perjalanan kita dalam menggali konsep fungsi membawa pemahaman yang lebih mendalam, serta membuka pintu untuk pengembangan program yang lebih terstruktur dan efisien. Teruslah berlatih dan eksplorasi, karena dunia pemrograman senantiasa menawarkan peluang baru untuk dipelajari. Sampai jumpa di bab berikutnya, sobat informatics!

]]>
https://himtika.cs.unsika.ac.id/pilih-belajar-c-8-fungsi/feed/ 0
Belajar C++ #7 : Perulangan https://himtika.cs.unsika.ac.id/__trashed-4/ https://himtika.cs.unsika.ac.id/__trashed-4/#respond Sun, 10 Mar 2024 23:43:36 +0000 https://himtika.cs.unsika.ac.id/?p=12201 Halo sobat informatics! Kali ini, kita akan memasuki wilayah baru dalam pemrograman, yaitu pembahasan mengenai perulangan. Dalam dunia coding, kemampuan untuk mengulang aksi atau serangkaian perintah adalah kunci utama untuk meningkatkan efisiensi dan fleksibilitas program.

Pada kesempatan kali ini, kita akan menjelajahi konsep perulangan menggunakan instruksi “for”, “while”, “do while”, serta memahami kegunaan dari “continue” dan “break”. Bersiaplah untuk memasuki dunia magis di mana kita dapat mengatur alur eksekusi program secara repetitif dan efektif. Mari kita mulai petualangan baru ini menuju penguasaan konsep perulangan dalam pemrograman!

a) Perulangan For

Perulangan for digunakan untuk mengulang pengeksekusian terhadap satu atau sejumlah pernyataan. Bentuk penulisan for:

Copied!
For (inisialisasi; kondisi; iterasi) { // pernyataan }

Keterangan: 

  • Inisialisasi => Menginisialisasi variabel dan hanya dapat dieksekusi satu kali. 
  • Kondisi => Jika kondisi bernilai true maka perulangan akan dijalankan dan jika 
  • Kondisi bernilai false maka perulangan akan berhenti. 
  • Iterasi => Untuk memperbaharui nilai variabel yang diinisialisasi dan kembali memeriksa kondisinya.

Contoh 1:

#include <iostream>
using namespace std;
int main()
{
    for (int i = 1; i <= 5; i++)
    {
        cout << i << ".";
    }

    return 0;
}

Output:

Copied!
1.2.3.4.5.

Contoh 2:

#include <iostream>
using namespace std;
int main()
{
    for (int i = 1; i <= 5; i++)
    {
        cout << "Algoritma dan Pemrograman! " << endl;
    }

    return 0;
}

Output:

Copied!
Algoritma dan Pemrograman! Algoritma dan Pemrograman! Algoritma dan Pemrograman! Algoritma dan Pemrograman! Algoritma dan Pemrograman!

Bisa dilihat, pada output di atas, tulisan “Algoritma dan Pemrograman! ” ditampilkan sebanyak 5 kali karena perulangan for tersebut akan terus berulang hingga kondisi yang telah ditentukan tidak lagi terpenuhi, dan itu adalah i <= 5.

b) Perulangan While

Perulangan while digunakan untuk memproses suatu pernyataan atau beberapa pernyataan beberapa kali. Perulangan pada while ini akan terus terjadi hingga kondisi yang ditentukan pada while statement nya sudah tidak terpenuhi lagi. Berikut bentuk dari penulisan while:

Copied!
while(kondisi){ //pernyataan }

Contoh 3:

#include <iostream>
using namespace std;
int main()
{
    int i = 1;
    while (i <= 5)
    {
        cout << i << " ";
        i++;
    }

    return 0;
}

Output:

Copied!
1 2 3 4 5

Contoh 4

#include <iostream>
using namespace std;
int main()
{

    int bil;
    int sum = 0;
    cout << "Masukan bilangan positif: ";
    cin >> bil;
    while (bil >= 0)
    {
        sum += bil;
        cout << "Masukan bilangan positif: ";
        cin >> bil;
    }
    cout << "\nTotal penjumlahan " << sum << endl;
    return 0;
}

Output:

Copied!
Masukan bilangan positif: 5 Masukan bilangan positif: 3 Masukan bilangan positif: 3 Masukan bilangan positif: -1 Total penjumlahan 11

Pada kedua contoh di atas, dapat dilihat, kita tidak menentukan jumlah iterasi nya secara eksplisit, melainkan hanya menyebutkan kondisi tertentu seperti “i <= 5” & “bil >=0”, yang dimana perulangan while tersebut seperti yang sudah disebutkan sebelumnya, akan terus berulang hingga kondisi yang telah ditentukan tersebut tidak terpenuhi lagi.

c) Perulangan Do While 

Perulangan Do While digunakan untuk mengulang proses dan akan dijalankan minimal satu kali. Berikut bentuk penulisannya:

Copied!
do{ //pernyataan } while(kondisi)

Contoh 5:

#include <iostream>
using namespace std;
int main()
{
    int bil = 0;
    int sum = 0;
    do
    {
        sum += bil;
        cout << "Masukan bilangan bulat: ";
        cin >> bil;
    } while (bil > 0);

    cout << "\nTotal Penjumlahan (Menggunakan do while): " << sum << endl;
    return 0;
}

Output:

Copied!
Masukan bilangan bulat: 1 Masukan bilangan bulat: 2 Masukan bilangan bulat: 3 Masukan bilangan bulat: -1 Total Penjumlahan (Menggunakan do while): 6

Sobat bisa lihat pada contoh di atas, meskipun variable “bil” masih bernilai 0 dan kondisi yang ditentukan pada perulangan do while adalah “bil > 0” (Yang artinya kondisi tidak terpenuhi di awal perulangan). Namun, dengan do while ini, meskipun kondisi pada saat awal perulangan tidak terpenuhi, hal tersebut akan tidak dihiraukan sehingga kode yang di dalam do while akan tetap tereksekusi saat pertama kali, dan do while akan mengevaluasi kondisi tersebut saat perulangan yang kedua kalinya.

d) Break

Break digunakan untuk mengakhiri perulangan.

Contoh 6: 

#include <iostream>
using namespace std;
int main()
{
    for (int i = 1; i <= 5; i++)
    {
        if (i == 3)
        {
            break;
        }
        cout << i << endl;
    }
    return 0;
}

Output:

Copied!
1 2

Dengan melihat contoh di atas, sobat bisa melihat, meskipun kondisi for nya masih memenuhi yaitu “i <= 5” pada saat i bernilai 3, karena kita membuat pengkondisian untuk mengeksekusi “break” pada saat i bernilai 3, maka perulangan akan terhenti saat itu juga.

Contoh 7:

#include <iostream>
using namespace std;
int main()
{
    int bil;
    int sum = 0;
    while (true)
    {
        cout << "Masukan bilangan bulat: ";
        cin >> bil;
        if (bil < 0)
        {
            break;
        }
        sum += bil;
    }
    cout << "Total Penjumlahan " << sum << endl;
    return 0;
}

Output:

Copied!
Masukan bilangan bulat: 9 Masukan bilangan bulat: 8 Masukan bilangan bulat: 3 Masukan bilangan bulat: -1 Total Penjumlahan 20

e) Continue

Continue digunakan untuk melanjutkan iterasi perulangan saat ini 

Contoh 8:

#include <iostream>
using namespace std;
int main()
{
    for (int i = 1; i <= 5; i++)
    {
        if (i == 3)
        {
            continue;
        }
        cout << i << endl;
    }
    return 0;
}

Output:

Copied!
1 2 4 5

Pada contoh di atas, dapat dilihat, yang harusnya program menampilkan output “3”, pada kode di atas, angka 3 tidak ditampilkan. karena pada kode tersebut terdapat pengkondisian jika i bernilai 3, maka “continue” akan tereksekusi, yang dimana itu membuat perulangan melanjutkan iterasinya tanpa harus menyelesaikan sisa kode di bawah nya.

Jadi itu pembahasan mengenai perulangan ya sobat, dengan pengetahuan yang kita temukan hari ini tentang perulangan menggunakan “for”, “while”, “do while”, serta kegunaan istimewa dari “continue” dan “break”, kini kita memiliki kunci ajaib untuk mengulang aksi atau perintah dengan lebih terstruktur dan efisien. Ingatlah, kepiawaian dalam mengimplementasikan perulangan menjadi landasan utama dalam menciptakan program yang handal dan responsif terhadap berbagai situasi. Mari terus eksplorasi dan teruskan semangat belajar, karena dunia pemrograman selalu menyajikan tantangan dan penemuan baru. Sampai jumpa di bab berikutnya, sobat informatics!

]]>
https://himtika.cs.unsika.ac.id/__trashed-4/feed/ 0
Belajar C++ #6 : Percabangan https://himtika.cs.unsika.ac.id/dad/ https://himtika.cs.unsika.ac.id/dad/#respond Sun, 10 Mar 2024 12:47:59 +0000 https://himtika.cs.unsika.ac.id/?p=12186 Halo sobat informatics! Selamat datang kembali di dunia informatika yang penuh dengan keajaiban kode dan logika! Pada kesempatan kali ini, kita akan menjelajahi sebuah konsep yang sangat fundamental dalam pemrograman, yaitu penggunaan kondisi “if”.

Melalui pemahaman yang mendalam terhadap cara “if” digunakan untuk mengatur jalannya program, kita akan memperoleh kekuatan baru dalam mengendalikan alur eksekusi. Mari kita mulai dengan memahami bahwa setiap baris kode memiliki perannya sendiri, dan bersama-sama, kita akan memahami bagaimana logika ini dapat membentuk pondasi yang kokoh dalam pengembangan perangkat lunak. Yuk, mari kita jelajahi lebih lanjut!

a) Kondisi If

If dipakai untuk mengatur kapan sebuah program akan dijalankan. Penulisan kondisi if setidaknya butuh 2 bagian, yakni kondisi dan statement. Statement bisa terdiri dari satu, dua atau ratusan baris perintah, baris ini hanya akan dijalankan selama kondisi bernilai true. Kondisi yang ingin diproses haruslah bertipe data bool atau sesuatu yang menghasilkan bool.

Contoh 1:

#include <iostream>
using namespace std;
int main()
{
    int bilangan;
    cout << "Masukkan bilangan bulat: ";
    cin >> bilangan;
    if (bilangan > 0)
    {
        cout << "Anda memasukkan bilangan positif: " << bilangan << endl;
    }
    return 0;
}

Output:

Copied!
Masukkan bilangan bulat: 1 Anda memasukkan bilangan positif: 1

Contoh 2:

#include <iostream>
using namespace std;
int main()
{
    string username;
    string password;
    cout << "Masukkan username: ";
    cin >> username;
    cout << "Masukkan password: ";
    cin >> password;
    if (username == "admin" && password == "admin123")
    {
        cout << "Login berhasil" << endl;
    }
    return 0;
}

Output:

  • Jika if terpenuhi
Copied!
Masukkan username: admin Masukkan password: admin123 Login berhasil
  • Jika tidak terpenuhi
Copied!
Masukkan username: user Masukkan password: user123

Dapat dilihat, output “Login berhasil” tidak ditampilkan, karena kondisi pada if statement tidak terpenuhi

b) Kondisi If…Else

Kondisi else akan dijalankan ketika kondisi if tidak sesuai atau menghasilkan nilai false.

Contoh 3:

#include <iostream>
using namespace std;
int main()
{
    int bilangan;
    cout << "Masukkan bilangan bulat: ";
    cin >> bilangan;
    if (bilangan > 0)
    {
        cout << "Anda memasukkan bilangan positif: " << bilangan << endl;
    }
    else
    {
        cout << "Anda memasukkan bilangan negatif: " << bilangan << endl;
    }
    return 0;
}

Output:

  • If terpenuhi
Copied!
Masukkan bilangan bulat: 1 Anda memasukkan bilangan positif: 1
  • If tidak terpenuhi (Masuk ke else)
Copied!
Masukkan bilangan bulat: -1 Anda memasukkan bilangan negatif: -1

Contoh 4:

#include <iostream>
using namespace std;
int main()
{
    string username;
    string password;
    cout << "Masukkan username: ";
    cin >> username;
    cout << "Masukkan password: ";
    cin >> password;
    if (username == "admin" && password == "admin123")
    {
        cout << "Login berhasil" << endl;
    }
    else
    {
        cout << "Maaf username atau password anda salah" << endl;
    }
    return 0;
}

Output:

  • If terpenuhi
Copied!
Masukkan username: admin Masukkan password: admin123 Login berhasil
  • If tidak terpenuhi (Masuk ke else)
Copied!
Masukkan username: user Masukkan password: user123 Maaf username atau password anda salah

c) Kondisi If … Else If … Else

Kondisi if, else if, & else bisa kita gunakan apabila kita ingin membuat kondisi lebih dari satu

Contoh 5:

#include <iostream>
using namespace std;
int main()
{
    int a, b;
    cout << "Masukkan bilangan 1: ";
    cin >> a;
    cout << "Masukkan bilangan 2: ";
    cin >> b;
    if (a > b)
    {
        cout << a << " lebih besar dari " << b << endl;
    }
    else if (a < b)
    {
        cout << a << " lebih kecil dari " << b << endl;
    }
    else
    {
        cout << a << " sama dengan " << b << endl;
    }
    return 0;
}

Output:

  • Jika if utama yang terpenuhi (a > b)
Copied!
Masukkan bilangan 1: 5 Masukkan bilangan 2: 3 5 lebih besar dari 3
  • Jika else if yang terpenuhi (a < b)
Copied!
Masukkan bilangan 1: 3 Masukkan bilangan 2: 5 3 lebih kecil dari 5
  • Jika else yang terpenuhi (a = b)
Copied!
Masukkan bilangan 1: 5 Masukkan bilangan 2: 5 5 sama dengan 5

d) Switch Case

Switch merupakan sebuah struktur percabangan yang akan memeriksa satu variabel, lalu menjalankan perintah sesuai dengan kondisi.

Contoh 6

#include <iostream>
using namespace std;

int main()
{
    char oper;
    float num1, num2;
    cout << "Masukan operator (+, -, *, /): ";
    cin >> oper;
    cout << "Masukan 2 bilangan: " << endl;
    cin >> num1 >> num2;

    switch (oper)
    {
    case '+':
        cout << num1 << " + " << num2 << " = " << num1 + num2;
        break;
    case '-':
        cout << num1 << " - " << num2 << " = " << num1 - num2;
        break;
    case '*':
        cout << num1 << " * " << num2 << " = " << num1 * num2;
        break;
    case '/':
        cout << num1 << " / " << num2 << " = " << num1 / num2;
        break;
    default:
        cout << "Error! Operator salah";
        break;
    }

    return 0;
}

Output:

Misalnya kita memilih operator ‘+’ (Pertambahan)

Copied!
Masukan operator (+, -, *, /): + Masukan 2 bilangan: 10 5 10 + 5 = 15

Nahh, jadi itu materi pembahasan seputar percabangan, ada “if”, “else if”, “else”, dan “switch case”. Dengan pemahaman mendalam tentang konsep-konsep ini, sobat informatics kini memiliki alat yang kuat untuk mengontrol alur eksekusi program dengan lebih tepat dan efisien. Ingatlah bahwa kekuatan terletak pada pilihan yang bijak, dan setiap percabangan logika memberikan kemampuan untuk menyesuaikan program dengan kebutuhan spesifik.

Semoga perjalanan kita melalui konsep kondisional ini membawa pencerahan dan kejelasan dalam pengembangan perangkat lunak. Teruslah eksplorasi dan teruskan semangat belajar, karena dunia pemrograman selalu menawarkan tantangan baru yang menarik. Sampai jumpa di bab berikutnya, sobat informatics!

]]>
https://himtika.cs.unsika.ac.id/dad/feed/ 0
Belajar C++ #5 : Operator & Komentar https://himtika.cs.unsika.ac.id/belajar-c-5-operator-komentar/ https://himtika.cs.unsika.ac.id/belajar-c-5-operator-komentar/#respond Fri, 08 Mar 2024 15:44:29 +0000 https://himtika.cs.unsika.ac.id/?p=12143 Operator adalah fungsi yang mengambil satu atau lebih ekspresi sebagai input dan mengembalikan ekspresi yang menggunakan simbol infix khusus, bukannya notasi fungsional biasa. Nilai yang dioperasikan operator disebut operand.

Operator Aritmatika

Operator aritmatika digunakan untuk melakukan operasi aritmatika pada variabel dan data.

OperatorKeteranganContoh
+Penjumlahanx + y
Penguranganx – y
*Perkalianx * y
/Pembagianx / y
%Modulusx % y
Operator Aritmatika
Contoh Program :
#include <iostream>

using namespace std;

int main() {
    int a, b;

    a = 18;
    b = 10;

    cout << "a + b = " << (a + b) << endl;
    cout << "a - b = " << (a - b) << endl;
    cout << "a * b = " << (a * b) << endl;
    cout << "a / b = " << (a / b) << endl;
    cout << "a % b = " << (a % b) << endl;

 return 0;
 
}

Output :

a + b = 28
a – b = 8
a * b = 180
a / b = 1
a % b = 8

Operator Penugasan

Operator penugasan digunakan untuk menetapkan nilai ke dalam variabel.

OperatorContohPersamaan
=x = y;x = y;
+=x += y;x = x + y;
-=x -= y;x = x – y;
*=x *= y;x = x * y;
/=x /= y;x = x / y;
%=x = x % y;
Operator Penugasan
Contoh Program :
#include <iostream>

using namespace std;

int main() {
    int a, b;

    a = 25;
    b = 70;

    cout << "a = " << a << endl;
    cout << "b = " << b << endl;
    cout << "\nSetelah a += b;" << endl;

    a += b; // a = a +b
    cout << "a = " << a << endl;

 return 0;
 
}

Output :

a = 25
b = 70

Setelah a += b;
a = 95

Operator Decrement – Increment

Operator penurunan (decrement) dan operator penaikan (increment) kedua operator ini digunakan pada operand bertipe bilangan bulat. Operator increment digunakan untuk menaikkan nilai variabel sebesar satu. Sedangkan operator decrement dipakai untuk menurunkan nilai variabel sebesar satu. Penempatan operator terhadap variabel dapat dilakukan di depan atau dibelakang.

OperatorKeteranganContohContoh
++Operator Increment++xx++
Operator Decrement–yy–
Operator Decrement – Increment

Contoh Program :

#include <iostream>
using namespace std;
int main() {

    int bilangan = 15;
    // increment operator
    ++bilangan;
    cout << "Bilangan: " << bilangan <<endl;
    // decrement operator
    --bilangan;
    cout << "Bilangan: " << bilangan <<endl;
    
 return 0;
}

Output :

Bilangan: 16
Bilangan: 15

Operator Bitwise (Manipulasi Bit)

Operator bitwise digunakan untuk memanipulasi data dalam bentuk bit. Operator bitwise hanya bisa digunakan pada operand bertipe data integer dan karakter.

OperatorKeterangan
&Bitwise operator AND
|Bitwise operator OR
^Bitwise operator XOR
~Bitwise operator Komplemen
<<Bitwise operator shift kiri
>>Bitwise operator shift kanan
Operator Bitwise (Manipulasi Bit)

Operator Relasi

Operator relasi digunakan untuk memeriksa hubungan antara dua operand. Jika relasinya benar, ia akan mengembalikan 1 sedangkan jika relasi nya salah, ia akan mengembalikan 0

OperatorKeteranganContoh
==Sama denganx == y
!=Tidak sama denganx != y
>Lebih besar darix > y
<Kurang darix < y
>=Lebih dari atau sama denganx >= y
<=Kurang dari atau sama denganx <= y
Operator Relasi

Contoh Program :

#include <iostream>
using namespace std;
int main() {
    int a, b;
    a = 3;
    b = 5;
    bool result;
        result = (a == b); // false
        cout << "3 == 5 is " << result << endl;
        result = (a != b); // true
        cout << "3 != 5 is " << result << endl;
        result = a > b; // false
        cout << "3 > 5 is " << result << endl;
        result = a < b; // true
        cout << "3 < 5 is " << result << endl;
        result = a >= b; // false
        cout << "3 >= 5 is " << result << endl;
        result = a <= b; // true
        cout << "3 <= 5 is " << result << endl;
 return 0;
}

Output :

3 == 5 is 0
3 != 5 is 1
3 > 5 is 0
3 < 5 is 1
3 >= 5 is 0
3 <= 5 is 1

Operator Logika

Operator logika digunakan untuk memeriksa apakah suatu ekspresi benar atau salah. Jika ekspresi benar, ia akan mengembalikan 1 sedangkan jika ekspresi salah ia akan mengembalikan 0

OperatorContohKeterangan
&&x && yBenar hanya jika semua operand benar
||x || yBenar jika setidaknya salah satu operand benar
!!xBenar hanya jika operan salah
Operator Logika

Contoh Program :

#include <iostream>
using namespace std;
int main() {
    bool result;
        result = (3 != 5) && (3 < 5); // true
        cout << "(3 != 5) && (3 < 5) is " << result << endl;
        result = (3 == 5) && (3 < 5); // false
        cout << "(3 == 5) && (3 < 5) is " << result << endl;
        result = (3 == 5) && (3 > 5); // false
        cout << "(3 == 5) && (3 > 5) is " << result << endl;
        result = (3 != 5) || (3 < 5); // true
        cout << "(3 != 5) || (3 < 5) is " << result << endl;
        result = (3 != 5) || (3 > 5); // true
        cout << "(3 != 5) || (3 > 5) is " << result << endl;
        result = (3 == 5) || (3 > 5); // false
        cout << "(3 == 5) || (3 > 5) is " << result << endl;
        result = !(5 == 2); // true
        cout << "!(5 == 2) is " << result << endl;
        result = !(5 == 5); // false
        cout << "!(5 == 5) is " << result << endl;
 return 0;
}

Output :

(3 != 5) && (3 < 5) is 1

(3 == 5) && (3 < 5) is 0

(3 == 5) && (3 > 5) is 0

(3 != 5) || (3 < 5) is 1

(3 != 5) || (3 > 5) is 1

(3 == 5) || (3 > 5) is 0

!(5 == 2) is 1

!(5 == 5) is 0

Operator Kondisi

Operator kondisi bisa dipakai untuk mendapatkan sebuah nilai dari dua buah kemungkinan berdasarkan suatu kondisi.

Syntax : Ungkapan1 ? ungkapan2 : ungkapan3

Komentar

Pada bahasa pemrograman c++ komentar diawali dengan dua tanda garis miring (//). Semua tulisan yang terletak sesudah tanda // hingga akhir baris dengan sendirinya akan diperlakukan sebagai keterangan. Bagi compiler hal ini tidak berguna dan akan diabaikan pada saat kompilasi. Selaim menggunakan (//), komentar pada C++ juga dapat ditulis dalam bentuk /*komentar*/

]]>
https://himtika.cs.unsika.ac.id/belajar-c-5-operator-komentar/feed/ 0