Sabtu, 12 Oktober 2019

Dasar Pemograman C++

A. Sejarah C++

Bahasa pemrograman C ++ memiliki sejarah kembali ke tahun 1979, ketika Bjarne Stroustrup melakukan pekerjaan untuk gelar Ph.D. tesis. Salah satu bahasa Stroustrup memiliki kesempatan untuk bekerja dengan adalah bahasa yang disebut Simula, yang seperti namanya adalah bahasa yang terutama dirancang untuk simulasi. Bahasa Simula 67 - yang merupakan varian yang bekerja dengan Stroustrup - dianggap sebagai bahasa pertama yang mendukung paradigma pemrograman berorientasi objek. Stroustrup menemukan bahwa paradigma ini sangat berguna untuk pengembangan perangkat lunak, namun bahasa Simula terlalu lambat untuk penggunaan praktis.

Tak lama kemudian, ia mulai mengerjakan "C with Classes", yang seperti namanya dimaksudkan untuk menjadi superset dari bahasa C. Tujuannya adalah untuk menambahkan pemrograman berorientasi objek ke dalam bahasa C, yang dulu dan masih merupakan bahasa yang dihormati karena portabilitasnya tanpa mengorbankan kecepatan atau fungsionalitas tingkat rendah. Bahasanya termasuk kelas, pewarisan dasar, inlining, argumen fungsi default, dan pemeriksaan tipe yang kuat selain semua fitur bahasa C.

Kompiler C dengan Kelas pertama disebut Cfront, yang diturunkan dari kompiler C yang disebut CPre. Itu adalah program yang dirancang untuk menerjemahkan C dengan kode Kelas ke C. Hal yang cukup menarik untuk dicatat adalah bahwa Cfront sebagian besar ditulis dalam C dengan Kelas, menjadikannya kompiler self-hosting (kompiler yang dapat mengkompilasi sendiri). Cfront kemudian akan ditinggalkan pada tahun 1993 setelah menjadi sulit untuk mengintegrasikan fitur-fitur baru ke dalamnya, yaitu pengecualian C ++. Meskipun demikian, Cfront membuat dampak besar pada implementasi kompiler masa depan dan pada sistem operasi Unix.

Pada tahun 1983, nama bahasa diubah dari C dengan Kelas menjadi C ++. Operator ++ dalam bahasa C adalah operator untuk menambah variabel, yang memberikan beberapa wawasan tentang bagaimana Stroustrup memandang bahasa. Banyak fitur baru ditambahkan sekitar waktu ini, yang paling menonjol di antaranya adalah fungsi virtual, fungsi yang berlebihan, referensi dengan simbol &, kata kunci const, dan komentar baris tunggal menggunakan dua garis miring (yang merupakan fitur yang diambil dari bahasa BCPL ).

Pada tahun 1985, referensi Stroustrup ke bahasa yang berjudul Bahasa Pemrograman C ++ diterbitkan. Pada tahun yang sama, C ++ diimplementasikan sebagai produk komersial. Bahasa ini belum distandarisasi secara resmi, menjadikan buku ini referensi yang sangat penting. Bahasa ini diperbarui lagi pada tahun 1989 untuk memasukkan anggota yang dilindungi dan statis, serta pewarisan dari beberapa kelas.

Pada tahun 1990, Manual Referensi C ++ Beranotasi dirilis. Pada tahun yang sama, kompiler Turbo C ++ Borland akan dirilis sebagai produk komersial. Turbo C ++ menambahkan sejumlah perpustakaan tambahan yang akan memiliki dampak yang cukup besar pada pengembangan C ++. Meskipun rilis stabil terakhir Turbo C ++ adalah pada tahun 2006, kompiler masih digunakan secara luas.

Pada tahun 1998, komite standar C ++ menerbitkan standar internasional pertama untuk C ++ ISO / IEC 14882: 1998, yang secara informal dikenal sebagai C ++ 98. Manual Referensi C ++ Beranotasi dikatakan memiliki pengaruh besar dalam pengembangan standar. Perpustakaan Templat Standar, yang memulai pengembangan konseptualnya pada tahun 1979, juga dimasukkan. Pada tahun 2003, komite menanggapi berbagai masalah yang dilaporkan dengan standar 1998 mereka, dan merevisinya. Bahasa yang diubah dijuluki C ++ 03.

Pada tahun 2005, komite standar C ++ merilis laporan teknis (dijuluki TR1) yang merinci berbagai fitur yang mereka rencanakan untuk ditambahkan ke standar C ++ terbaru. Standar baru ini secara informal dijuluki C ++ 0x karena diharapkan akan dirilis beberapa saat sebelum akhir dekade pertama. Namun ironisnya, standar baru tidak akan dirilis sampai pertengahan 2011. Beberapa laporan teknis dirilis hingga saat itu, dan beberapa penyusun mulai menambahkan dukungan eksperimental untuk fitur-fitur baru.

Pada pertengahan 2011, standar C ++ baru (dijuluki C ++ 11) telah selesai. Proyek perpustakaan Boost membuat dampak yang cukup besar pada standar baru, dan beberapa modul baru berasal langsung dari perpustakaan Boost yang sesuai. Beberapa fitur baru termasuk dukungan ekspresi reguler (rincian tentang ekspresi reguler dapat ditemukan di sini), pustaka pengacakan yang komprehensif, pustaka waktu C ++ baru, dukungan atomik, pustaka threading standar (yang hingga 2011 kurang C dan C ++ kurang) , sintaks loop baru untuk menyediakan fungsionalitas yang mirip dengan loop foreach dalam bahasa lain tertentu, kata kunci otomatis, kelas kontainer baru, dukungan yang lebih baik untuk serikat dan daftar inisialisasi array, dan template variadic.

B. Dasar Teori C++

     C++ adalah salah satu bahasa pemrograman komputer. Yang dibuat pada tahun 1980-an oleh Bell Labs (Bjarne Stroustrup) sebagai pengembangan dari Bahasa pemrograman C. Salah satu perbedaan yang paling mendasar dengan bahasa C adalah dukungan terhadap konsep pemrograman berorientasi objek (Object Oriented Programming). C++ adalah sebuah bahasa pemrograman yang memiliki banyak dialek, bahasa ini memiliki beberapa kompiler yang berbeda.
Ada empat kompiler umum yaitu :
  1. C++ Borland,C++
  2. Microsoft Visual
  3. C/386 Watcom
  4. DJGPP
     Anda dapat mendownload DJGPP atau mungkin saja anda telah memiliki kompiler lain. Setiap kompiler ini agak berbeda. Setiap kompiler akan dapat menjalankan fungsi fungsi standar C++ ANSI/ISO, tetapi masing-masing kompiler juga akan dapat menjalankan fungsi fungsi non standard (fungsi fungsi ini,agak mirip dengan ucapan yang tidak standar yang diucapkan orang diberbagai pelosok negeri. Sebagai contoh, di New Orleans kata median disebut neutral ground). Kadang kadang pemakaian fungsi non standard akan menimbulkan masalah pada saat anda hendak mengkompilasi kode sumber data (source code) (yaitu program berbahasa C++ yang ditulisoleh seorang programer) mempergunakan kompiler yang berbeda.
     Bahasa programan C++ adalah bahasa yang amat berbeda. Untuk kompiler C++ berbasis DOS,akan memerlukan beberapa kata kunci (keywords); keyword ini cukup untuk difungsikan sebagai input dan output. Walaupun hampir dari semua fungsi dalam file library tampaknya biasa diakses oleh header filenya.

C. Definisi variabel, library, operator, manipulator, input dan  ouput
  • Variabel
      Variabel adalah suatu tempat yang berfungsi untuk menyimpan nilai atau konstanta. nilai tersebut biasanya di dapat dari masukan pengguna, programmer, lingkungan, atau merupakan hasil dari proses program. Variabel yang telah kita buat merupakan sebuah memori pada komputer. Di dalam komputer, tepatnya pada memori komputer, sebenarnya terdapat banyak sekali memori yang tersusun yang memiliki alamat sebagai penanda memori. Alamat memori diwakili dengan bilangan hexadecimal dan setiap alamat mewakili satu bit.

         Aturan-aturan dalam penulisan variabel:

         1. penulisan variabel di awali dengan huruf, tidak boleh dengan angka
         2. penulisan variabel jika nama variabel ada 2 kata maka gunakan penghubung
             underscore ( _ )

         3. penulisan variabel dalam c++ bersifat casesensitve jadi antara huruf besar dan huruf
            kecil itu tidak sama.

         4. tidak mengandung keyword dalam sebuah variabel
         Deklarasi Variabel
  • Library
      Library C++ merupakan suatu pustaka yang disediakan oleh C++ untuk mempermudah programmer dalam membuat program. Library awal yang biasa digunakan:
    1. iostream.h    library ini digunakan untuk input dan output sederhana.
        cin>> untuk menginputkan suatu data melalui variabel
        cout<< untuk menampilkan teks/data dari suatu variabel
    2. conio.h    getch(); supaya program tidak menutup secara otomatis. 
  • Operator-Operator
      merupakan simbol yang biasa dilibatkan dalam pembuatan program untuk melakukan suatu operasi ataupun manipulasi. Pada operator c++ ada yang tergolong sebagai operator binary (yaitu operator yang dikenakan untuk dua buah nilai (operand), dan ada yang tergolong sebagai operator unary (operator yang dikenakan untuk satu buah nilai (operand).
  • Manipulator

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

    endl

    endl adalah sebuah fungsi manipulator yang berguna untuk memasukkan karakter NewLine atau mengatur pindah baris, dengan kata lain fungsi manipulator ini serupa dengan "\n". Fungsi endl sangat dibutuhkan untuk piranti keluaran berupa file di disk. Untuk menggunakan manipulator ini, sobat harus menyertakan file header <iostream>

    ends

    ends adalah sebuah fungsi manipulator yang berguna untuk menambah karakter null (nilai ASCII NOL) kederetan suatu karakter. Fungsi seperti ini seringkali diperlukan, misalnya untuk mengirim sejumlah karakter ke file di disk atau modem dan mengakhirinya dengan karakter NULL. Untuk menggunakan manipulator ini, sobat harus menyertakan file header <iostream>

    setw( )

    setw( ) adalah sebuah fungsi manipulator yang berguna untuk mengatur lebar dari suatu tampilan data. Seandainya sobat akan menggunakan manipulator ini, sobat harus menyertakan file header <iomanip>. Bentuk umum penulisan setw() adalah sebgai berikut:setw(int n);
    n = adalah nilai lebar tampilan data, yang bernilai integer.

    dec( ), oct( ) dan hex( )

    dec, oct dan hex adalah sebuah fungsi manipulator yang berguna untuk memunculkan data dalam bentuk hexadesimal (bilangan berbasis 16), oktal (bilangan berbasis 8) dan desimal (bilangan berbasis 10). Seandainya sobat akan menggunakan manipulator ini, sobat harus menyertakan file header <iomanip>.

    setbase( )

    setbase( ) adalah sebuah fungsi manipulator yang berguna untuk konversi bilangan desimal, oktal dan hexadesimal. Seandainya sobat akan menggunakan manipulator setbase(), sobat harus menyertakan file header <iomanip>. Bentuk penulisannya setbase() adalah sebgai berikut:
    setbase(base bilangan);

    setfill( )

    setfill( ) adalah sebuah fungsi manipulator yang berguna untuk menampilkan suatu karakter yang diletakkan didepan nilai yang diatur oleh fungsi setfill(). Untuk menggunakan manipulator setfill(), sobat harus menyertakan file header <iomanip>. Bentuk penulisannya setfill() adalah sebgai berikut:
    setfill(charakter);

    setprecision( )

    setprecision( ) adalah sebuah fungsi manipulator yang berguna untuk mengatur jumlah digit desimal yang ingin ditampilkan. biasanya setprecision() digunakan jika sobat bekerja dengan menggunakan bilangan pecahan, dengan setprecision() sobat dapat mengatur jumah digit pecahan yang ingin ditampilkan, Untuk menggunakan manipulator setprecision(), sobat harus menyertakan file header <iomanip>

    setiosflags( )

    setiosflags( ) adalah sebuah fungsi manipulator yang dipakai untuk mengatur berbagai format keluaran data, Untuk menggunakan manipulator setiosflags(), sobat harus menyertakan file header <iomanip>. Terdapat berbagai format keluaran (outout) untuk fungsi setiosflags(),
     Input Dan Output

        Input Dan Output pada C++ - Pada bahasa C operasi input dan output dilakukan dengan memakai fungsi-fungsi yang ada di header file "stdio.h". contohnya untuk input dan output ke layar monitor digunakan perintah seperti scanf, printf, putch, dll. Untuk input dan output ke file digunakan perintah seperti fwrite, fread, fputc, dll.

       Sedangkan bahasa pemrograman C++ memiliki teknik input dan output (I/O) yang baru, yaitu : menggunakan stream. Header file untuk input dan output stream adalah "iostream.h" dan beberapa file lain, seperti fstreamm.h, strstream.h dan constream.h.


       Apa itu Stream ? Stream adalah suatu perintah logika  (logikal device) yang berguna untuk mendapatkan atau memberikan informasi.Stream akan dihubungkan dengan perangkat fisik (misalnya keyboard, screen / layar, maupun printer) melalui sistem input dan output (I/O). Semua stream mempunyai perilaku yang sama, sehingga suatu fungsi I/O dapat dioperasikan ke peralatan fisik yang berbeda. Sebagai contoh, jika kita akan melakukan penulisan data, maka cara yang digunakan untuk menuliskan ke layar maupun ke printer adalah sama. Dalam bahasa C++ untuk melakukan hal-hal yang berhubungan dengan proses input dan output data digunakan file header "iostream.h" (dalam bahasa C digunakan file header stdio.h)
    Pada saat program C++ memulai proses eksekusi, terdapat empat buah stream yang secara otomatis akan terbuka, yaitu seperti yang terlihat pada tabel dibawah ini.
    Nama Stream
    Kegunaan
    Peralatan Standar
    cin
    Input standar
    Keyboard
    cout
    Output standar
    Layar (Screen)
    cerr
    Kesalahan output standar
    Layar (Screen)
    clog
    Cerr yang ter-buffer melalui file log
    Layar (Screen)
    Atau Stream dapat diartikan sebagai nama umum untuk menampung aliran data (contoh : file, mouse, keyboard), maupun untuk keluaran (contoh : printer, layer). Dalam C++ input berarti membaca dari stream dan output berarti menulis ke stream.
D. Kelebihan dan Kekurangan Bahasaa C++
  
Kelebihan Bahasa C++ :
  • Bahasa C++ tersedia hampir di semua jenis computer.
  • Kode bahasa C++ sifatnya adalah portable dan fleksibel untuk semua jenis computer.
  • Bahasa C++ hanya menyediakan sedikit kata-kata kunci. hanya terdapat 32 kata kunci.
  • Proses executable program bahasa C++ lebih cepat
  • Dukungan pustaka yang banyak.
  • C++ adalah bahasa yang terstruktur
     Bahasa C++ termasuk bahasa tingkat menengah penempatan ini hanya menegaskan bahwa C++ bukan bahasa pemrograman yang berorientasi pada mesin. yang merupakan ciri bahasa tingkat rendah. melainkan berorientasi pada obyek tetapi dapat dinterprestasikan oleh mesin dengan cepat. secepat bahasa mesin. inilah salah satu kelebihan C++ yaitu memiliki kemudahan dalam menyusun programnya semudah bahasa tingkat tinggi namun dalam mengesekusi program secepat bahasa tingkat rendah.
Kekurangan Bahasa C++ :
  • Bagi pemula pada umumnya akan kesulitan menggunakan pointer.
  • Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan para pengguna.
E.  FUNGSI-FUNGSI NUMERIK

  Turbo C mempunyai kurang lebih 450 fungsi dan makro yang dapat dipanggil dari program yang telah dibuat. Fungsi-fungsi tersebut meliputi berbagai hal, misalnya :

- Proses Input Output tingkat tinggi dan tingkat rendah
- Manipulasi string dan file
- Alokasi memori
- Kontrol Proses
- Konversi data
- Perhitungan matematik
   Fungsi-fungsi tersebut ada di dalam file library-nya (Cx.LIB, Mathx.LIB dan Graphics.LIB). Huruf x diganti dengan model memori yang dipakai.
Fungsi-fungsi tersebut disimpan di dalam file header (*.H). Fungsi tersebut dapat digabungkan ke dalam program dengan menyertakan file header yang mengandung fungsi atau rutin yang dipakai.

FUNGSI SQRT
Fungsi : Menghitung akar positif dari sebuah bilangan bulat
Include : #include

FUNGSI POW

Fungsi : Menghitung xy
Include : #include

FUNGSI TAN
Fungsi : Menghitung nilai tangent dari sebuah sudut
Include : #include
Fungsi tan menghitung nilai tangent dari sudut x. Sudut x dalam satuan radian. Jika sudut x yang diberikan dekat dengan phi/2 atau –phi/2, hasilnya adalah 0.

FUNGSI DIV
Fungsi : Membagi dua bilangan bulat, memberikan hasil bagi dan sisanya
Include : #include

FUNGSI CEIL
Fungsi : Membulatkan ke atas
Include : #include

FUNGSI FLOOR
Fungsi : Membulatkan ke bawah
Include : #include
Fungsi floor menghasilkan bilangan bulat terbesar yang tidak lebih dari x

FUNGSI EXP
Fungsi : Menghitung ex
Include : #include

FUNGSI MAX
Fungsi : Memberikan bilangan yang lebih besar dari 2 bilangan yang diberikan
Include : #include

FUNGSI MIN
Fungsi : Memberikan bilangan yang lebih kecil dari 2 bilangan yang diberikan
Include : #include

F. Daftar Lengkap Tipe data C++

Tipe Data Bentuk Penulisan Ukuran Memori
Integer int 4 byte = 32 bit

signed int 4 byte = 32 bit

signed short int 2 byte = 16 bit

signed long int 4 byte = 32 bit

signed long long int 4 byte = 32 bit

unsigned int 4 byte = 32 bit

unsigned short int 2 byte = 16 bit

unsigned long int 4 byte = 32 bit

unsigned long long int 4 byte = 32 bit
Floating Point float 4 byte = 32 bit
Double Floating Point double 8 byte = 64 bit

long double 12 byte = 96 bit
Boolean bool 1 byte = 8 bit
Character char 1 byte = 8 bit
(C++ 11) char16_t 2 byte = 16 bit
(C++ 11) char32_t 4 byte = 32 bit

wchar_t 2 byte = 16 bit

unsigned char 1 byte = 8 bit

signed char 1 byte = 8 bit
String string 4 byte = 32 bit
Pointer Null (C++ 11) decltype(nullptr) 4 byte = 32 bit
Valueless void 1 byte = 8 bit


G. Fungsi dan Cara penggunaan macam-macam dasar Tipe Data

Boolean bool
Boolean adalah salah satu tipe data yang dapat memiliki nilai dari dua pilihan yaitu True 1 atau False 0 . Tipe data ini biasanya digunakan untuk memberikan dan memastikan kebenaran dari sebuah operasi atau kondisi program.

Bentuk penulisan
bool daftar_variabel = inisialisasi;
Contoh penulisan
bool pilihan=0; // Contoh mendirikan variable Boolean dengan inisialisasi 0 = false
Contoh program
#include <iostream>
using namespace std;

int main()
{
 int angka; //Tipe data Integer untuk menyimpan data bersifat bilangan bulat
 bool hasil = true; //Tipe data Boolean yang mempunyai nilai awal true ( 1 )

 cout<<"Masukan angka = ";cin>>angka; //Input Bilangan bulat ke variabel "angka"

 hasil = angka > 10;
 //variabel "hasil" akan menyimpan nilai kondisi dari variabel "angka" > 10.
 cout<<hasil; //jika kondisi True maka akan tertulis angka 1 atau 0 jika kondisi False.
 return 0;
}
Character char
Char adalah salah satu tipe data sembarang huruf, angka, dan simbol. Yang memungkinkan kita untuk memesan memori yang dapat menyimpan nilai dalam bentuk karakter tunggal seperti ‘a’, ‘$’ dan lain-lain.
Bentuk penulisan
char nama_variabel = inisialisasi ;
Contoh penulisan
char grade = 'a';
Contoh program
#include <iostream>
using namespace std;

int main(){
    char x='A'; //Variabel Char hanya dapat memuat satu karakter.

    cout<<"Masukan kelas = ";cin>>x; //Jika anda memasukan karakter lebih dari satu maka variabel "x" hanya akan mengambil satu karakter pertama.
    cout<<endl<<"Yang anda masukan adalah "<<endl<<x;

    return 0;
}
Integer int
Integer adalah salah satu tipe data numerik yang memungkinakn kita untuk menyimpan data dalam bentuk bilangan bulat.
Bentuk penulisan
int daftar_variabel = inisialisasi;
Contoh penulisan
int bilangan = 10;
Contoh program
#include <iostream>
using namespace std;

int main(){
 int bilangan = 0, hasil=0;

 cout<<"Masukan angka = ";cin>>bilangan;
 hasil = bilangan * 2;
 cout<<"Hasil dari "<<bilangan<<" X 2 adalah "<<hasil;

 return 0;
}
Float Point float
Float adalah salah satu tipe data Numerik yang memungkinkan untuk menyimpan nilai dalam memori bersifat bilangan pecahan atau real, maupun eksponensial.
Bentuk penulisan
float daftar_variabel = inisialisasi;
Contoh penulisan
float p=3,14;
Contoh Program
#include <iostream>
using namespace std;

int main(){
 float jari, hasil ;
 const float p=3.14; //variabel konstanta

 cout<<"Masukan Jumlah jari-jari = ";cin>>jari;
 hasil = (jari * p)*2; //disini kita menggunakan variabel float
 //karena hasil dari penghitungan lingkaran biasanya berbentuk bilangan pecahan
 cout<<"Keliling dari Lingkaran adalah "<<hasil;

 return 0;
}
Double Floating Point double
Double sama seperti float adalah salah satu tipe data yang bersifat menyatakan bilangan pecahan atau real, maupun eksponensial. Bedanya adalah penyimpanan angka masimal lebih besar daripada float, otomatis double juga akan membutuhkan memori yang lebih besar.

Bentuk penulisan
double daftar_variabel = inisialisasi;
Contoh penulisan
double angka = 3.14;
Contoh program
#include <iostream>
using namespace std;

int main(){
 double jari, hasil ;
 const double p=3.14;

 cout<<"Masukan Jumlah jari-jari = ";cin>>jari;
 hasil = jari*(jari * p);
 cout<<"Luas dari lingkaran 3.14 X "<<jari<<" X "<<jari<<" adalah "<<hasil;

 return 0;
}
String string
Merupakan tipe data Text yang memungkinkan kita menyimpan nilai dengan bentuk text, kumpulan dari karakter.
Bentuk penulisan
string daftar_variabel = inisialisasi;
Bentuk penulisan
string kalimat = ”Selamat Belajar Di belajarcpp.com” ;
Contoh Program
#include <iostream>
using namespace std;

int main(){
 string pesan = "Selamat Belajar Di belajarcpp.com", kalimat = "";

 cout<<pesan<<endl;
 getline(cin,kalimat); //Fungsi input agar dapat membaca kalimat panjang dan yang menggunakan spasi.
 cout<<kalimat<<endl;

 return 0;
}
Valueless void
void adalah salah satu tipe data yang berarti “tidak ada” atau “tidak mempunyai tipe data”. Void masih di dalam katagori tipe data tetapi kita tidak bisa menggunakanya pada variabel biasa.
void biasanya digunakan pada function yang tidak mempunyai return value void myFunction(), pada function parameter yang tidak mempunyai parameter void myfunction(void) dan pada pointer void *myPointer;.



     
tipe data nama_variabel; 

contoh : 
int xy; // variabel yang tidak di beri inputan langsung 
int xy=30; //variabel yang di beri tugas/inputan langsung
    Dalam C++ kita dapat mendefinisikan sebuah konstanta dengan menggunakan kata
    kunci const. Berikut ini adalah bentuk umumnya:

    
const  tipe_data  nama_konstanta = nilai_tetapan;

    
Perlu diketahui konstanta yang terdiri dari satu karakter (char) atau dikenal sebagai konstanta karakter harus diawali dan diakhiri dengan tanda petik tunggal(') sedangkan konstanta yang terdiri dari beberapa karakter (string) atau dikenal dengan konstanta string harus diawali dan diakhiri dengan tanda petik ganda(").
    
Untuk dapat lebih memahaminya, berikut kami sajikan beberapa contoh program yang merupakan implementasi dari pendeklarasian konstanta dengan kata kunci const.

#include <iostream>

using namespace std;

int main ()
{
     const float PI = 3.14;
     float LuarLingkaran, Jari2;

     cout <<"\n === Program Luas Lingkaran === \n\n";

     cout <<"Masukkan nilai Jari-jari : "; cin>>Jari2;
     // PI = 10; seandainya PI dirubah 10 maka akan error
     // silakan dicoba
     LuarLingkaran = PI * Jari2 * Jari2;
     cout <<"Luas Lingkaran : " <<LuarLingkaran<<endl;

     return 0;
}

  
H. Percabangan (if, else, & switch)

1. Percabangan if

Percabangan if merupakan percabangan yang hanya memiliki satu blok pilihan saat kondisi bernilai benar.

“Jika total belanja lebih besar dari Rp 100.000, Maka tampilkan pesan Selamat, Anda dapat hadiah
Kalau dibawah Rp 100.000 bagaimana?
Ya pesannya tidak akan ditampilkan.
Mari kita coba dalam program C++.
Buatlah file bernama if.cpp, kemudian isi dengan kode berikut.
#include <iostream>
using namespace std;

int main(){

    cout << "=== Program Pembayaran ===" << endl;
    unsigned int total_belanja;

    cout << "Masukan total belanja: ";
    cin >> total_belanja;

    // menggunakan percabangan if
    if(total_belanja > 100000){
        cout << "Selamat! anda dapat hadiah" << endl;
    }

    cout << "Terimakasih sudah berbelanja di toko kami" << endl;

    return 0;
}

2. Percabangan if/else

Percabangan if/else merupakan percabangan yang memiliki dua blok pilihan.
Blok pilihan pertama untuk kondisi benar, dan pilihan kedua untuk kondisi salah (else).
Untuk lebih jelasnya, mari kita coba dalam program.
Buatlah file beru bernama if_else.cpp, kemudian isi dengan kode berikut:
#include <iostream>
using namespace std;

int main(){

    string password;

    cout << "========= Login =========" << endl;
    cout << "Masukan password: ";
    cin >> password;

    // percabangan if/else
    if (password == "kopi"){
        cout << "Selamat datang bos!" << endl;
    } else {
        cout << "Password salah, coba lagi!"  << endl;
    }

    cout << "Terimakasih sudah menggunakan aplikasi ini!" << endl;

    return 0;

3. Percabangan Switch/Case

Percabangan switch/case adalah bentuk lain dari percabangan if/else/if.
Strukturnya seperti ini:

Contoh:
#include <iostream>
using namespace std;

int main(){

    char grade;

    cout << "Inputkan grade: ";
    cin >> grade;

    switch (toupper(grade)){
        case 'A':
            cout << "Luar biasa!" << endl;
            break;
        case 'B':
        case 'C':
            cout << "Bagus!" << endl;
            break;
        case 'D':
            cout << "Anda lulus" << endl;
            break;
        case 'E':
        case 'F':
            cout << "Anda remidi" << endl;
            break;
        default:
            cout << "Grade Salah!" << endl;
    }

    return 0;
}
 I. Perulangan

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

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

Sebelum kita membahas 3 macam perulangan, pertama-tama kita pelajari terlebih dahulu konsep perulangan secara mendasar dengan memperhatikan program dibawah ini:

#include <iostream>

using namespace std;

int main(){

     cout<<"Belajar C++ Bareng MateriDosen.Com\n";
     cout<<"Belajar C++ Bareng MateriDosen.Com\n";
     cout<<"Belajar C++ Bareng MateriDosen.Com\n";
     cout<<"Belajar C++ Bareng MateriDosen.Com\n";
     cout<<"Belajar C++ Bareng MateriDosen.Com\n";
     cout<<"Belajar C++ Bareng MateriDosen.Com\n";
     cout<<"Belajar C++ Bareng MateriDosen.Com\n";
     cout<<"Belajar C++ Bareng MateriDosen.Com\n";
     cout<<"Belajar C++ Bareng MateriDosen.Com\n";
     cout<<"Belajar C++ Bareng MateriDosen.Com\n";

     return 0;
}

   Maksud dari program diatas adalah untuk menampilkan teks "Belajar C++ Bareng MateriDosen.Com" sebanyak sepuluh kali. Apabila ditinjau dari hasilnya, program diatas memang benar tetapi secara algoritma hal tersebut jelas salah karena tidak efisien, terutama dari segi besarnya ukuran program yang dibuat. Mungkin untuk 10 kali perulangan kita belum melihat bahwa program tersebut tidak efisien, namun bagaimana jika kita ingin menampilkan teks diatas sebanyak 1000 kali? Jika kita menggunakan cara diatas, tentu waktu dan tenaga kita akan terbuang sia-sia. Maka dari itu, dalam menghadapi kasus-kasus seperti ini, kita harus menggunakan struktur perulangan.

   Namun untuk melakukan perulangan statemen kita harus mengenal dengan baik aturan-aturan yang terdapat di dalam setiap jenis perulangan sehingga kita dapat terhindar dari kesalahan-kesalahan yang tidak diinginkan,  berikut penjelasan dari 3 macam struktur perulangan yang terdapat dalam bahasa C++.


 Contoh Program

  1.) Contoh Program Untuk Variabel


#include <iostream>

using namespace std;

int main(){
 
  // deklarasi tipe data variabel
  string nama;
  int umur;
  char jenis_kelamin;
 
  // --- proses input ---
  cout << "Siapakah namamu?" << endl;
  cout << "jawab: ";
  // menyimpan data ke variabel
  getline(cin,nama);
 
  cout << "Berapa umurmu?" << endl;
  cout << "jawab: ";
  // menyimpan data ke variabel
  cin >> umur;
 
  cout << "Jenis kelamin [L/P]: ";
  // menyimpan data ke variabel
  cin >> jenis_kelamin;
 
  // --- proses output ---
  cout << "Salam kenal, " << nama << " Sekarang engkau berusia ";
  cout << umur << " dan kau berjenis kelamin "<< jenis_kelamin;
 
  return 0;

}
   2.) Contoh Program Untuk Percabangan

#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);

    3.) Contoh Program Untuk Perulangan

#1 Perulangan dengan fungsi for

#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

#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

#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;
}

J. CONTOH PROGRAM BERDASARKAN KASUS

Berikut contoh Program Sederhana ‘array di dalam struct’. Disini saya menggunakan tools Borland C++ 5.02.

Script :
/*contoh program sederhana ‘array di dalam struct’*/
#include “stdio.h”
#include “conio.h”
#include “string.h”
#define maks 3
struct TMhs
{
char NIM[9];
char Nama[21];
int NilaiUTS,NilaiUAS,NilaiQuis;
float NilaiAkhir;
char index;
};
main ()
{
TMhs mhs[maks];
int i;
for(i=0;i<maks;i++)
{
printf(“Pengisian Data Mahasiswa Ke-%i \n”, i+1);
printf(“NIM : “);fflush(stdin);gets(mhs[i].NIM);
printf(“NAMA : “);fflush(stdin);gets(mhs[i].Nama);
printf(“Nilai Quiz : “);scanf(“%d”,&mhs[i].NilaiQuis);
printf(“Nilai UTS : “);scanf(“%d”,&mhs[i].NilaiUTS);
printf(“Nilai UAS : “);scanf(“%d”,&mhs[i].NilaiUAS); mhs[i].NilaiAkhir=0.2*mhs[i].NilaiQuis+0.3*mhs[i].NilaiUTS+0.5*mhs[i].NilaiUAS;
if(mhs[i].NilaiAkhir>=80) mhs[i].index=’A‘;else
if(mhs[i].NilaiAkhir>=60) mhs[i].index=’B‘;else
if(mhs[i].NilaiAkhir>=40) mhs[i].index=’C‘;else
if(mhs[i].NilaiAkhir>=20) mhs[i].index=’D‘;else
if(mhs[i].NilaiAkhir>=0) mhs[i].index=’E‘;
};
clrscr();
printf(“Data yang telah dimasukkan adalah : \n”);
printf(“————————————————– \n”);
printf(“| NIM | NAMA | QUIS | UTS | UAS | NA | INDEX | \n”);
printf(“————————————————– \n”);
for(i=0;i<maks;i++)
{
printf(“| %-8s | %-20s | %3i | %3i | %3i | %6.2f | %c | \n”,
mhs[i].NIM,mhs[i].Nama,mhs[i].NilaiQuis,mhs[i].NilaiUTS,mhs[i].NilaiUAS,mhs[i].NilaiAkhir,mhs[i].index);
}
printf(“————————————————– \n”);
getch();
return 0;
}
Output :
output-program-array-dalam-struct

Sekian Terima kasih.
Read more