Rabu, 13 Maret 2019

Macam-macam Aplikasi IDE Untuk Pemrograman C++

Saat kita ingin membuat program, kita butuh yang namanya sebuah aplikasi sebagai alat bantu untuk menulis kode-kode bahasa pemrograman, mengkompilasinya menjadi sebuah program, ataupun mendeteksi kesalahan yang mungkin saja bisa terjadi saat koding.

IDE (Integrated Developer Environtment) adalah istilah untuk program komputer yang dibuat untuk memudahkan pekerjaan programmer. Fungsi IDE ini sendiri adalah menyediakan berbagai fasilitas serta utilitas dalam rangka untuk membangun sebuah perangkat lunak. IDE biasanya memiliki fasilitas dasar sebagai berikut.
  • Editor, tempat untuk menulis dan mengedit kode-kode.
  • Compiler, alat penerjemah agar kode-kode yang dituliskan bisa dibaca oleh komputer.
  • Debugger, alat untuk membantu programmer dalam mengoreksi kesalahan penulisan kode.


Kebanyakan IDE modern sekarang, sudah dilengkapi dengan fasilitas Intelligent Code Completion atau bisa diartikan sebagai Pengkoreksi Pintar Kode, yang akan otomatis mengoreksi kesalahan penulisan kode pada saat itu juga. Misal kita ingin mengetik kata "jejak" namun pada saat pengetikan kita malah menulis "jjeak", maka pada saat selesai penulisan kata tersebut, kata "jjeak" tadi akan otomatis berubah jadi "jejak".

Integrated Developer Environtment C++

Pada jaman dahulu, programmer tidaklah dimanjakan seperti sekarang. Dulu para programmer sebelum membuat program mereka membuat rancangan flowchart sematang-matangnya sebelum dimasukkan ke compiler untuk diubah menjadi sebuah program yang bisa dijalankan. Semua proses itu dilakukan dengan manual tanpa ada debugger yang mengoreksi kesalahan yang mungkin saja bisa terjadi saat penulisan kode tadi.

Seiring berjalannya waktu, teknologi semakin berkembang pesat begitu juga dengan IDE. Tujuan diciptakan IDE modern seperti masa sekarang ini adalah untuk memaksimalkan produktifitas programmer. Dengan tersedianya berbagai fasilitas yang mendukung kinerja para programmer, terbukti perkembangan teknologi sangatlah pesat pada jaman sekarang.

Berikut ini adalah daftar macam-macam IDE yang biasa digunakan oleh programmer C++ untuk membuat sebuah program.
 Daftar Aplikasi IDE untuk C++  
 Code::Blocks  
 CodeLite  
 Dev-C++  
 Eclipse  
 Kuzya  
 MonoDevelop  
 Qt Creator  
 SharpDevelop  
 Ultimate++  
 OpenWatcom  
 Pelles C  
 Philasmicos Entwickler Studio  
 Oracle Developer Studio  
 Visual Studio C++  
 Xcode  
 C++ Builder  
 CodeWarrior  
 My Eclipse  
 IntelliJ IDEA  
 AppCode  
 Geany  
 KDevelop  
 NetBeans  
 CLion  


    Dari sekian banyak pilihan IDE yang ada di dalam daftar tersebut, saya sendiri lebih senang menggunakan Dev-C++ karena tampilannya yang simpel serta mudah dipahami cara penggunaannya. Namun bukan berarti aplikasi IDE yang lain tidak bagus, setiap aplikasi punya kelebihannya masing-masing, tinggal kitalah sebagai user yang memilih mana aplikasi IDE yang nyaman dan cocok untuk dipakai.



    Source(http://www.cikhidayat.com/2018/09/macam-aplikasi-ide-untuk-cpp.html)

    Contoh Aplikasi Data Penduduk C++



    Hi, kali ini saya akan membagikan sebuah contoh pembuatan aplikasi sederhana menggunakan bahasa C++. Dalam aplikasi ini saya menggunakan Array, Struct dan Queue(antrian) tanpa basa basi lagi. Oke langsung sedot aja gan


     #include "iostream"  
     #include "conio.h"  
     #include "windows.h"  
     using namespace std;  
     struct daerah {  
       char kel[50];  
       char kec[50];  
       char kota[50];  
     };  
     struct data {  
       int nomor;  
       char nama[50];  
       char agama[20];  
       char status[20];  
       char pekerjaan[20];  
       char tempat[20];  
       char tanggal[20];  
       char almt[20];  
       daerah alamat;  
     };  
     typedef struct {  
      int base[100];  
      char base1[100][20];  
      int depan;  
      int belakang;  
     }queue;  
     queue antrian;  
     queue nama;  
     char base1[20];  
     int base, i, j;  
     int isEmpty () {  
      if (antrian.belakang == -1)  
      return 1;  
      else  
      return 0;  
     }  
     int isFull () {  
      if (antrian.belakang == 100)  
      return 1;  
      else  
      return 0;  
     }  
     void enqueu (int base, char base1[20]) {  
      if (isEmpty() == 1) {  
      antrian.depan = antrian.belakang = 0;  
      nama.depan = nama.belakang = 0;  
      antrian.base[antrian.belakang] = base;  
      for (i=0; i<20; i++) {  
       nama.base1[nama.belakang][i] = base1[i];  
      }  
      cout << " Silahkan menunggu pangilan" << endl;  
      }  
      else if (isFull() == 0) {  
      antrian.belakang++;  
      nama.belakang++;  
      antrian.base[antrian.belakang] = base;  
      for (i=0; i<20; i++) {  
       nama.base1[nama.belakang][i] = base1[i];  
      }  
      cout << " Silahkan menunggu pangilan" << endl;  
      }  
     }  
     int dequeue () {  
      if (isEmpty() == 0) {  
      int i, e;  
      char a[20];  
      e = antrian.base[antrian.depan];  
      for (i=0; i<20; i++) {  
       a[i] = nama.base1[nama.depan][i];  
      }  
      for (i=antrian.depan; i<antrian.belakang; i++) {  
       antrian.base[i] = antrian.base[i+1];  
       for (j=0; j<20; j++) {  
       nama.base1[i][j] = nama.base1[i+1][j];  
       }  
      }  
      antrian.belakang--;  
      nama.belakang--;  
      printf (" Antrian dengan no %i dengan nama %s silahkan masuk", e, a);  
      return e;  
      return a[20];  
      }  
      else {  
      printf (" Antrian kosong");  
      }  
     }  
     void buat () {  
      antrian.depan = antrian.belakang = -1;  
      nama.depan = nama.belakang = -1;  
     }  
     int main() {  
       int menu;  
       int nik=-1,x,y;  
       int n;  
       buat();  
       n=1;  
       int pilih;  
       int namedit;  
       data ktp[20];  
       char get[1];  
       bool ketemu;  
       menuutama:  
       system("cls");  
       system ("color f9");  
      cout << " ---------------- Aplikasi Data Penduduk 2016 ---------------";  
       cout << " \nMENU UTAMA :\n\n";  
       cout << " 1. Registrasi Antrian\n\n";  
       cout << " 2. Panggil Antrian\n\n";  
       cout << " 3. Menambah Data Penduduk\n\n";  
       cout << " 4. Mencari Data Penduduk\n\n";  
       cout << " 5. Menghapus Data Penduduk\n\n";  
       cout << " 6. Menampilkan Data Penduduk\n\n";  
       cout << " 7. Keluar\n\n";  
       cout << " _____________________________\n\n";  
       cout << " Masukan Pilihan Anda (1-7) : "; cin >> menu;  
       if(menu==1) {  
       system("cls");  
        cout << "\n REGISTRASI ANTRIAN \n";  
        cout << " ____________________________\n\n";  
        cout << " Nomor antrian anda adalah : " << n << endl;  
        base = n;  
        printf(" Masukkan nama (*gunakan tanda (_) untuk spasi) : "); scanf("%s", &base1);  
        cout << endl;  
      enqueu(base, base1);  
        n++;  
        cout << endl;  
        cout << " _________________________________________________________________\n\n";  
         cout << " 1.Kembali ke Menu Utama\n\n";  
        cout << " 2.Keluar dari program\n";  
        cout << " _____________________________\n\n";  
         cout << " Masukan Pilihan Anda : "; cin >> pilih;  
        cout << endl;  
        if(pilih == 1) {  
         goto menuutama;  
        }  
        else if(pilih == 2) {  
         goto keluar;  
        }  
       }  
       else if(menu == 2) {  
        system ("cls");  
        cout << "\n PEMANGGILAN ANTRIAN \n";  
        cout << " ____________________________\n\n";  
        dequeue();  
        cout << endl << endl;  
         cout << " _________________________________________________________________\n\n";   
        cout << " 1.Kembali ke Menu Utama\n\n";  
        cout << " 2.Keluar dari program\n";  
        cout << " _____________________________\n\n";  
         cout << " Masukan Pilihan Anda : "; cin >> pilih;  
         if(pilih == 1) {  
         goto menuutama;  
        }  
        else if(pilih == 2) {  
         goto keluar;  
        }  
       }  
      if(menu == 3) {  
       system("cls");  
        nik++;  
        cout << "\n PENAMBAHAN DATABASE DATA PENDUDUK\n";  
        cout << " ________________________________________\n\n";  
        cout << " NIK (max 5 karakter)    : "; cin >> ktp[nik].nomor; cin.getline(get,1);  
        cout << endl;  
        cout << " Nama Lengkap        : "; cin.getline(ktp[nik].nama,50);  
        cout << endl;  
         cout << " Agama           : "; cin.getline(ktp[nik].agama,20);  
        cout << endl;  
         cout << " Status Perkawinan     : "; cin.getline(ktp[nik].status,20);  
         cout << endl;  
         cout << " Pekerjaan         : "; cin.getline(ktp[nik].pekerjaan,20);  
        cout << endl;  
         cout << " Tempat Lahir        : "; cin.getline(ktp[nik].tempat,20);  
         cout << endl;  
         cout << " Tanggal Lahir (DD MM YYYY) : "; cin.getline(ktp[nik].tanggal,20);  
        cout << endl;  
         cout << " Alamat           : "; cin.getline(ktp[nik].almt,20);  
        cout << endl;  
         cout << " Kelurahan         : "; cin.getline(ktp[nik].alamat.kel,20);  
        cout << endl;  
         cout << " Kecamatan         : "; cin.getline(ktp[nik].alamat.kec,20);  
        cout << endl;  
         cout << " Kota            : "; cin.getline(ktp[nik].alamat.kota,20);  
        cout << " _________________________________________________________________\n\n";  
         cout << " 1.Kembali ke Menu Utama\n\n";  
        cout << " 2.Keluar dari program\n";  
        cout << " _____________________________\n\n";  
         cout << " Masukan Pilihan Anda : "; cin >> pilih;  
        cout << endl;  
        if(pilih == 1) {  
         goto menuutama;  
        }  
        else if(pilih == 2) {  
         goto keluar;  
        }  
       }  
       else if(menu == 4) {  
        system ("cls");  
        cout << "\n PENCARIAN DATA PENDUDUK\n";  
      cout << " ____________________________\n\n";  
        cout << " Masukan NIK : "; cin>>namedit;  
        cout << endl;  
        for(x=0;x<=nik;x++) {  
        if(namedit==ktp[x].nomor) {  
         cout << " Data di temukan pada registrasi data penduduk ke-" << x+1 << endl << endl;  
         cout << " Nama Lengkap   : " << ktp[x].nama << endl;  
        cout << endl;  
         cout << " Agama       : " << ktp[x].agama << endl;  
        cout << endl;  
         cout << " Status perkawinan : " << ktp[x].status << endl;  
         cout << endl;  
         cout << " Pekerjaan     : " << ktp[x].pekerjaan << endl;  
         cout << endl;  
         cout << " Tempat Lahir   : " << ktp[x].tempat << endl;  
         cout << endl;  
         cout << " Tanggal Lahir   : "<< ktp[x].tanggal << endl;  
         cout << endl;  
         cout << " Alamat      : "<< ktp[x].almt << endl;  
         cout << endl;  
         cout << " Kelurahan     : "<< ktp[x].alamat.kel << endl;  
         cout << endl;  
         cout << " Kecamatan     : "<< ktp[x].alamat.kec << endl;  
         cout << endl;  
         cout << " Kota       : "<< ktp[x].alamat.kota << endl << endl;  
         cout << " _____________________________________________________\n\n";  
         goto menu0;  
          }  
        }  
        cout << " DATA YANG ANDA CARI TIDAK DI TEMUKAN !!!\n\n";  
        cout << " ________________________________________\n\n";  
         menu0:  
        cout << " 1.Kembali ke Menu Utama\n\n";  
        cout << " 2.Keluar dari program\n";  
        cout << " _____________________________\n\n";  
         cout << " Masukan Pilihan Anda : "; cin >> pilih;  
         if(pilih == 1) {  
         goto menuutama;  
        }  
        else if(pilih == 2) {  
         goto keluar;  
        }  
       }  
      else if(menu == 5) {  
       system ("cls");   
       cout << "\n PENGHAPUSAN DATA PENDUDUK PADA DATABASE\n";  
       cout << " _______________________________________________\n\n";  
       cout << " NIK : "; cin >> namedit;  
        cout << endl;  
        for(x=0;x<=nik;x++) {  
         if(namedit==ktp[x].nomor) {  
         ketemu=true;  
         if(ketemu) {  
          for(y=x;y<=nik+1;y++) {  
           ktp[y]=ktp[y+1];  
          }  
         cout << " DATA BERHASIL DI HAPUS\n\n";  
         nik--;  
         goto menu;  
         }  
        }  
       }  
       cout << " DATA YANG AKAN DI HAPUS TIDAK DITEMUKAN !!!\n";  
       cout << " ____________________________________________\n\n";  
        menu:  
        cout << " 1.Kembali ke Menu Utama\n\n";  
        cout << " 2.Keluar dari program\n";  
        cout << " _____________________________\n\n";  
        cout << " Masukan Pilihan Anda : "; cin >> pilih;  
        if(pilih == 1) {  
        goto menuutama;  
        }  
        else if(pilih == 2) {  
        goto keluar;  
        }  
      }  
      else if(menu == 6) {  
      system ("cls");  
      cout << "\n MENAMPILKAN DATA PENDUDUK (KTP)\n";  
      cout << " _________________________________\n\n";  
      for(x=0;x<=nik;x++) {  
        cout << " Database Data Penduduk ke-" << x+1 << endl << endl;  
        cout << " NIK : " << ktp[x].nomor << endl << endl;  
        cout << " Nama : " << ktp[x].nama << endl << endl;  
        cout << " Agama : " << ktp[x].agama << endl << endl;  
        cout << " Status perkawinan : " << ktp[x].status << endl << endl;  
        cout << " Pekerjaan : " << ktp[x].pekerjaan << endl << endl;  
        cout << " Tempat Lahir : " << ktp[x].tempat << endl << endl;  
        cout << " Tanggal Lahir : " << ktp[x].tanggal << endl << endl;  
        cout << " Alamat : " << ktp[x].almt << endl << endl;  
        cout << " Kelurahan : " << ktp[x].alamat.kel << endl << endl;  
        cout << " Kecamatan : " << ktp[x].alamat.kec << endl << endl;  
        cout << " Kota : " << ktp[x].alamat.kota << endl << endl << endl << endl;  
      }  
      cout << " _____________________________________________\n\n";  
      cout << " 1.Kembali ke menu awal\n\n";  
      cout << " 2.Keluar dari program\n";  
      cout << " _____________________________\n\n";  
      cout << " Masukan Pilihan Anda : "; cin >> pilih;  
        if(pilih == 1) {  
        goto menuutama;  
        }  
      else if(pilih == 2) {  
        goto keluar;  
      }  
       keluar:  
        system("cls");  
        cout<<"\n_____________________ TERIMA KASIH ___________________\n" << endl << endl;  
        getch();  
        return 0;  
      }  
      else if(menu == 7) {  
      system("cls");  
      cout<<"\n_____________________ TERIMA KASIH ___________________\n" << endl << endl;  
        getch();  
        return 0;  
      }  
     }  
    


    Inilah Hasil dari coding diatas : 








    Source(http://anggajufran.blogspot.com/2016/06/contoh-aplikasi-data-penduduk-c.html)

    Sejarah Bahasa Pemrograman C++ dan Contoh Aplikasi C++

    Image result for C++Sejarah Perkembangan Bahasa C++

          Bahasa C dikembangken di Bell lab pada tahun 1972 yang ditulis pertama kali oleh Brian W. Kernighan dan Denies M. Ricthie merupakan bahasa turunan atau pengembangan dari bahasa B yang ditulis oleh Ken Thompson pada tahun 1970 yang diturunkan dari bahasa sebelumnya, yaitu BCL. Bahasa C, pada awalnya dirancang sebagai bahasa pemrograman yang dioperasikan pada sistem operasi UNIX. Bahasa C merupakan bahasa pemrograman yang berada diantara bahasa tingkat rendah dan tingkat tinggi yang biasa disebut dengan Bahasa Tingkat Menengah. Bahasa C mempunyai banyak kemampuan yang sering digunakan diantaranya kemampuan untuk membuat perangkat lunak, misalnya dBASE, Word Star dan lain-lain.

    Sekilas Tentang C++

           Pada tahun 1980 seorang ahli yang bernama Bjarne Stroustrup mengembangkan beberapa hal dari bahasa C yang dinamakan “C with Classes” yang pada mulanya disebut “a better C” dan berganti nama pada tahun 1983 menjadi C++ oleh Rick Mascitti, dibuat di Laboratorium Bell, AT&T.
    Pada C++ ditambahkan konsep-konsep baru seperti class dengan sifat-sifatnya yang disebut dengan Object Oriented Programming (OOP), yang mempunyai tujuan utamanya adalah membantu dan mengelola program yang besar dan kompleks.

    Perbedaan Antara Bahasa C Dengan C++

             Bahasa C merupakan bahasa pemrograman prosedural, di mana penyelesaian atas suatu masalah dilakukan dengan membagi-bagi masalah tersebut ke dalam sub-sub masalah yang lebih kecil. Sedangkan C++ merupakan bahasa pemrograman yang memiliki sifat Object Oriented Programming (OOP). Untuk menyelesaikan masalah, C++ melakukan langkah pertama dengan mendefinisikan class-class yang merupakan a.-class yang dibuat sebelumnya sebagai abstraksi dari objek-objek fisik. Class tersebut berisi keadaan objek, anggota-anggotanya, dan kemampuan dari objeknya. Setelah beberapa class dibuat, masalah dipecahkan menggunakan class.

    Source(http://putrakebumen01.blogspot.com/2016/09/sejarah-bahasa-pemrograman-c_23.html)


    PEMROGRAMAN TERSTRUKTUR

    Image result for PEMROGRAMAN TERSTRUKTUR

    Ide Pemrograman Terstruktur pertama kali di ungkapkan oleh Profesor Edsger Djikstra dari Universitas Eindhoven tahun 1965. Profesor Djikstra mengusulkan yaitu pernyataan GOTO seharusnya tidak dipergunakan di dalam pemrograman terstruktur.
    Pernyataan tersebut ditanggapi oleh HD. Millis bahwa pemrograman terstruktur tidak hanya dihubungkan dengan perintah GOTO tetapi oleh struktur program.
    Dari kesimpulan diatas maka Pemrograman Terstruktur adalah “Pemrograman terstruktur merupakan suatu tindakan untuk mengorganisasikan dan membuat kode-kode program supaya mudah untuk dimengerti, mudah ditest dan mudah dimodifikasi”.
    Adapun kelebihan pemrograman terstruktur yaitu :
    1.    Mengandung teknik pemecahan masalah yang tepat dan benar
    2.    Memiliki algoritma pemecahan masalah yanag sederhana,  standar dan efektif.
    3.    Penulisan program memiliki struktur logika yang benar dan mudah dipahami
    4.    Program hanya terdiri dari 3(tiga) struktur dasar, yaitu  struktur berurutan, struktur seleksi dan struktur perulangan.
    5.    Menghindari penggunaan pernyataan GOTO, yang akan menjadikan program tidak terstruktur dengan baik.
    6.    Biaya pengujian yang dibutuhkan rendah.
    7.    Memliki dokumentasi yang baik.
    8.    Biaya perawatan dan dokumentasi yang dibutuhkan rendah.
    Kemudian kekurangan pemrograman terstruktur yaitu :
    1.    Programs menjadi lebih susah untuk dimaintain.
    2.    Fungsi yang tersedia, susah untuk diubah tanpa harus mempengaruhi fungsi sistem secara keseluruhan.
    3.    Programming tidak baik untuk team development. Programmers harus mengetahui setiap aspek bagaimana program itu bekerja dan tidak menyebabkan terisolasi usaha mereka atas aspek yang lain dari sistem.
    4.    Butuh usaha yang keras untuk menterjemahkan Business Models dalam programming models.
    5.    Mungkin dapat bekerja dengan baik pada saat terisolasi tapi tidak pada saat terintegrasi dengan sistem lain.

    Source(https://wisnuarimurti.wordpress.com/2009/05/04/pemrograman-terstruktur/)
    http://www.resepkuekeringku.com/2014/11/resep-donat-empuk-ala-dunkin-donut.html http://www.resepkuekeringku.com/2015/03/resep-kue-cubit-coklat-enak-dan-sederhana.html http://www.resepkuekeringku.com/2014/10/resep-donat-kentang-empuk-lembut-dan-enak.html http://www.resepkuekeringku.com/2014/07/resep-es-krim-goreng-coklat-kriuk-mudah-dan-sederhana-dengan-saus-strawberry.html http://www.resepkuekeringku.com/2014/06/resep-kue-es-krim-goreng-enak-dan-mudah.html http://www.resepkuekeringku.com/2014/09/resep-bolu-karamel-panggang-sarang-semut-lembut.html