Pengenalan Lengkap Bahasa Pemrograman C++

Institute It. Training | Kursus Komputer Jakarta Timur | Denny Febiana Nurhidayat | WA. +628978298280 | email : Siner.gi@live.com

Pengenalan Lengkap Bahasa Pemrograman C++



C++ adalah bahasa pemrograman tingkat tinggi yang dikembangkan oleh Bjarne Stroustrup pada awal 1980-an sebagai perpanjangan dari bahasa C. C++ mendukung pemrograman prosedural, berorientasi objek, dan generik, menjadikannya bahasa yang sangat fleksibel dan serbaguna.

1. Sejarah dan Pengembangan

  • Dikembangkan oleh: Bjarne Stroustrup
  • Pertama kali dirilis: 1985
  • Tujuan: Untuk meningkatkan kemampuan bahasa C dengan penambahan konsep pemrograman berorientasi objek.

2. Karakteristik Utama C++

  1. Pemrograman Berorientasi Objek (OOP): Mendukung konsep OOP seperti enkapsulasi, pewarisan, dan polimorfisme.
  2. Pemrograman Generik: Mendukung template, yang memungkinkan pembuatan fungsi dan kelas generik.
  3. Manajemen Memori: Memberikan kontrol langsung terhadap manajemen memori melalui penggunaan pointer dan alokasi dinamis.
  4. Kinerja Tinggi: Karena dekat dengan bahasa rakitan, C++ memberikan kinerja yang sangat tinggi.
  5. Portabilitas: Kode C++ dapat dikompilasi di berbagai platform dengan sedikit atau tanpa modifikasi.

3. Struktur Program Dasar

Hello World

cpp
#include <iostream> int main() { std::cout << "Hello, World!" << std::endl; return 0; }

Penjelasan

  • #include <iostream>: Direktif preprocessor untuk menyertakan header file untuk input dan output.
  • int main(): Fungsi utama di mana eksekusi program dimulai.
  • std::cout: Objek dari pustaka standar yang digunakan untuk menampilkan output.
  • <<: Operator pengiriman output.
  • std::endl: Manipulator untuk memasukkan baris baru.

4. Variabel dan Tipe Data

Deklarasi dan Inisialisasi

cpp
int a = 5; // Integer double b = 3.14; // Floating-point char c = 'A'; // Character bool d = true; // Boolean std::string e = "Hello"; // String (requires #include <string>)

5. Struktur Kontrol

If-Else

cpp
if (a > b) { std::cout << "a is greater than b" << std::endl; } else { std::cout << "a is less than or equal to b" << std::endl; }

Switch

cpp
switch (a) { case 1: std::cout << "a is 1" << std::endl; break; case 2: std::cout << "a is 2" << std::endl; break; default: std::cout << "a is not 1 or 2" << std::endl; }

Looping

cpp
// For Loop for (int i = 0; i < 5; i++) { std::cout << i << std::endl; } // While Loop int i = 0; while (i < 5) { std::cout << i << std::endl; i++; } // Do-While Loop int i = 0; do { std::cout << i << std::endl; i++; } while (i < 5);

6. Fungsi

Deklarasi dan Definisi Fungsi

cpp
int add(int x, int y) { return x + y; } int main() { int sum = add(5, 3); std::cout << "Sum: " << sum << std::endl; return 0; }

Fungsi dengan Template

cpp
template <typename T> T add(T x, T y) { return x + y; } int main() { std::cout << "Sum: " << add<int>(5, 3) << std::endl; std::cout << "Sum: " << add<double>(5.5, 3.3) << std::endl; return 0; }

7. Pemrograman Berorientasi Objek

Kelas dan Objek

cpp
class Person { public: std::string name; int age; void display() { std::cout << "Name: " << name << ", Age: " << age << std::endl; } }; int main() { Person person; person.name = "John"; person.age = 30; person.display(); return 0; }

Pewarisan

cpp
class Person { public: std::string name; int age; void display() { std::cout << "Name: " << name << ", Age: " << age << std::endl; } }; class Employee : public Person { public: std::string position; void display() { Person::display(); std::cout << "Position: " << position << std::endl; } }; int main() { Employee emp; emp.name = "Jane"; emp.age = 28; emp.position = "Manager"; emp.display(); return 0; }

Polimorfisme

cpp
class Animal { public: virtual void sound() { std::cout << "Animal sound" << std::endl; } }; class Dog : public Animal { public: void sound() override { std::cout << "Woof" << std::endl; } }; class Cat : public Animal { public: void sound() override { std::cout << "Meow" << std::endl; } }; int main() { Animal* a; Dog d; Cat c; a = &d; a->sound(); a = &c; a->sound(); return 0; }

8. Manajemen Memori

Alokasi Dinamis

cpp
int* p = new int; // Alokasi memori untuk integer *p = 10; std::cout << *p << std::endl; delete p; // Menghapus memori yang dialokasikan

Alokasi Array Dinamis

cpp
int* arr = new int[5]; for (int i = 0; i < 5; i++) { arr[i] = i * 10; } for (int i = 0; i < 5; i++) { std::cout << arr[i] << std::endl; } delete[] arr;

9. Pemrograman Generik

Penggunaan Template

cpp
template <typename T> class Calculator { public: T add(T x, T y) { return x + y; } T subtract(T x, T y) { return x - y; } }; int main() { Calculator<int> intCalc; std::cout << "Sum: " << intCalc.add(5, 3) << std::endl; std::cout << "Difference: " << intCalc.subtract(5, 3) << std::endl; Calculator<double> doubleCalc; std::cout << "Sum: " << doubleCalc.add(5.5, 3.3) << std::endl; std::cout << "Difference: " << doubleCalc.subtract(5.5, 3.3) << std::endl; return 0; }

10. Kesimpulan

C++ adalah bahasa pemrograman yang kuat dan serbaguna dengan berbagai fitur yang mendukung berbagai paradigma pemrograman. Dari pemrograman prosedural hingga berorientasi objek dan generik, C++ memungkinkan pengembang untuk membuat aplikasi yang efisien dan berperforma tinggi. Dengan memahami dasar-dasar C++ serta fitur-fitur lanjutannya, Anda akan mampu mengembangkan berbagai jenis aplikasi mulai dari perangkat lunak sistem hingga aplikasi bisnis dan game.

Sumber Daya Tambahan

  • Buku: "The C++ Programming Language" oleh Bjarne Stroustrup
  • Dokumentasi: C++ Reference
  • Kursus Online: Udemy, Coursera, edX
  • Komunitas: Stack Overflow, GitHub, Reddit (r/cpp)

Dengan dasar-dasar ini, Anda siap untuk mulai mempelajari dan mengembangkan aplikasi dengan C++.

Institute It. Training | Kursus Komputer Jakarta Timur | Denny Febiana Nurhidayat | WA. +628978298280 | email : Siner.gi@live.com

Pengenalan Lengkap Bahasa Pemrograman C++



C++ adalah bahasa pemrograman tingkat tinggi yang dikembangkan oleh Bjarne Stroustrup pada awal 1980-an sebagai perpanjangan dari bahasa C. C++ mendukung pemrograman prosedural, berorientasi objek, dan generik, menjadikannya bahasa yang sangat fleksibel dan serbaguna.

1. Sejarah dan Pengembangan

  • Dikembangkan oleh: Bjarne Stroustrup
  • Pertama kali dirilis: 1985
  • Tujuan: Untuk meningkatkan kemampuan bahasa C dengan penambahan konsep pemrograman berorientasi objek.

2. Karakteristik Utama C++

  1. Pemrograman Berorientasi Objek (OOP): Mendukung konsep OOP seperti enkapsulasi, pewarisan, dan polimorfisme.
  2. Pemrograman Generik: Mendukung template, yang memungkinkan pembuatan fungsi dan kelas generik.
  3. Manajemen Memori: Memberikan kontrol langsung terhadap manajemen memori melalui penggunaan pointer dan alokasi dinamis.
  4. Kinerja Tinggi: Karena dekat dengan bahasa rakitan, C++ memberikan kinerja yang sangat tinggi.
  5. Portabilitas: Kode C++ dapat dikompilasi di berbagai platform dengan sedikit atau tanpa modifikasi.

3. Struktur Program Dasar

Hello World

cpp
#include <iostream> int main() { std::cout << "Hello, World!" << std::endl; return 0; }

Penjelasan

  • #include <iostream>: Direktif preprocessor untuk menyertakan header file untuk input dan output.
  • int main(): Fungsi utama di mana eksekusi program dimulai.
  • std::cout: Objek dari pustaka standar yang digunakan untuk menampilkan output.
  • <<: Operator pengiriman output.
  • std::endl: Manipulator untuk memasukkan baris baru.

4. Variabel dan Tipe Data

Deklarasi dan Inisialisasi

cpp
int a = 5; // Integer double b = 3.14; // Floating-point char c = 'A'; // Character bool d = true; // Boolean std::string e = "Hello"; // String (requires #include <string>)

5. Struktur Kontrol

If-Else

cpp
if (a > b) { std::cout << "a is greater than b" << std::endl; } else { std::cout << "a is less than or equal to b" << std::endl; }

Switch

cpp
switch (a) { case 1: std::cout << "a is 1" << std::endl; break; case 2: std::cout << "a is 2" << std::endl; break; default: std::cout << "a is not 1 or 2" << std::endl; }

Looping

cpp
// For Loop for (int i = 0; i < 5; i++) { std::cout << i << std::endl; } // While Loop int i = 0; while (i < 5) { std::cout << i << std::endl; i++; } // Do-While Loop int i = 0; do { std::cout << i << std::endl; i++; } while (i < 5);

6. Fungsi

Deklarasi dan Definisi Fungsi

cpp
int add(int x, int y) { return x + y; } int main() { int sum = add(5, 3); std::cout << "Sum: " << sum << std::endl; return 0; }

Fungsi dengan Template

cpp
template <typename T> T add(T x, T y) { return x + y; } int main() { std::cout << "Sum: " << add<int>(5, 3) << std::endl; std::cout << "Sum: " << add<double>(5.5, 3.3) << std::endl; return 0; }

7. Pemrograman Berorientasi Objek

Kelas dan Objek

cpp
class Person { public: std::string name; int age; void display() { std::cout << "Name: " << name << ", Age: " << age << std::endl; } }; int main() { Person person; person.name = "John"; person.age = 30; person.display(); return 0; }

Pewarisan

cpp
class Person { public: std::string name; int age; void display() { std::cout << "Name: " << name << ", Age: " << age << std::endl; } }; class Employee : public Person { public: std::string position; void display() { Person::display(); std::cout << "Position: " << position << std::endl; } }; int main() { Employee emp; emp.name = "Jane"; emp.age = 28; emp.position = "Manager"; emp.display(); return 0; }

Polimorfisme

cpp
class Animal { public: virtual void sound() { std::cout << "Animal sound" << std::endl; } }; class Dog : public Animal { public: void sound() override { std::cout << "Woof" << std::endl; } }; class Cat : public Animal { public: void sound() override { std::cout << "Meow" << std::endl; } }; int main() { Animal* a; Dog d; Cat c; a = &d; a->sound(); a = &c; a->sound(); return 0; }

8. Manajemen Memori

Alokasi Dinamis

cpp
int* p = new int; // Alokasi memori untuk integer *p = 10; std::cout << *p << std::endl; delete p; // Menghapus memori yang dialokasikan

Alokasi Array Dinamis

cpp
int* arr = new int[5]; for (int i = 0; i < 5; i++) { arr[i] = i * 10; } for (int i = 0; i < 5; i++) { std::cout << arr[i] << std::endl; } delete[] arr;

9. Pemrograman Generik

Penggunaan Template

cpp
template <typename T> class Calculator { public: T add(T x, T y) { return x + y; } T subtract(T x, T y) { return x - y; } }; int main() { Calculator<int> intCalc; std::cout << "Sum: " << intCalc.add(5, 3) << std::endl; std::cout << "Difference: " << intCalc.subtract(5, 3) << std::endl; Calculator<double> doubleCalc; std::cout << "Sum: " << doubleCalc.add(5.5, 3.3) << std::endl; std::cout << "Difference: " << doubleCalc.subtract(5.5, 3.3) << std::endl; return 0; }

10. Kesimpulan

C++ adalah bahasa pemrograman yang kuat dan serbaguna dengan berbagai fitur yang mendukung berbagai paradigma pemrograman. Dari pemrograman prosedural hingga berorientasi objek dan generik, C++ memungkinkan pengembang untuk membuat aplikasi yang efisien dan berperforma tinggi. Dengan memahami dasar-dasar C++ serta fitur-fitur lanjutannya, Anda akan mampu mengembangkan berbagai jenis aplikasi mulai dari perangkat lunak sistem hingga aplikasi bisnis dan game.

Sumber Daya Tambahan

  • Buku: "The C++ Programming Language" oleh Bjarne Stroustrup
  • Dokumentasi: C++ Reference
  • Kursus Online: Udemy, Coursera, edX
  • Komunitas: Stack Overflow, GitHub, Reddit (r/cpp)

Dengan dasar-dasar ini, Anda siap untuk mulai mempelajari dan mengembangkan aplikasi dengan C++.

Tidak ada komentar:

Posting Komentar