- Sejarah
- Desain dan implementasi
- Peluncuran pertama
- C 2.0
- Versi standar
- Pembaruan terkini
- Fitur C ++
- Bahasa populer
- Berorientasi pada objek
- Prosedural
- Pemrograman terstruktur
- Manajemen memori
- Pointer
- Bahasa yang dikompilasi
- Tipe data di C ++
- - Utama
- Int
- Mengapung
- Arang
- Dua kali lipat
- Kosong (Null)
- Bool
- - Sekunder
- Pengaturan
- Pointer
- fitur
- - Ditetapkan pengguna
- Struktur
- Persatuan
- Untuk apa C ++? Aplikasi
- Aplikasi
- Sistem operasi
- Penyusun
- permainan
- Browser web
- Internet untuk segala
- Cloud / Sistem Terdistribusi
- Akses ke database
- Contoh
- Perpustakaan
- Keuntungan
- Mempercepat
- Dekat dengan perangkat keras
- Efisiensi
- Kebebasan untuk memilih gaya pemrograman
- Kemampuan untuk memecahkan masalah yang kompleks
- Kemampuan untuk mendeteksi kesalahan sebelum eksekusi
- Kekurangan
- Penggunaan pointer
- Masalah keamanan
- Tidak ada pengumpul sampah
- Tidak adanya utas
- Program yang dikompilasi
- Bisa jadi rumit
- Referensi
C ++ adalah versi bahasa pemrograman C yang ditingkatkan dan diperluas, yang dikembangkan oleh Stroustrup pada tahun 1979 sebagai bagian dari proyek Ph.D. Stroustrup merancang apa yang dia sebut "C dengan kelas," yang kemudian disebut C ++, karena dia percaya bahwa bahasa pemrograman yang ada memiliki keterbatasan dan bukan yang terbaik untuk proyek berskala besar.
Itulah mengapa dia menggunakan C untuk mengembangkan bahasa pemrograman yang dia cari, karena C adalah bahasa yang efektif dan cepat dioperasikan.
Sumber: pixabay.com
C ++ adalah bahasa pemrograman tujuan umum yang halus dan kuat. Bahasa bentuk bebas yang terkompilasi ini paling cocok untuk programmer tingkat menengah.
Namun, mereka yang ingin memulai pemrograman dengan C ++ akan menemukan bahwa mereka dapat dengan cepat mempelajari konsep pemrograman yang akan membawa mereka jauh dalam karir mereka.
Ini kompatibel dengan pemrograman berorientasi objek, mengambil semua karakteristiknya. Konsep-konsep ini membuat bahasa C ++ berbeda dan ini terutama digunakan untuk mengembangkan aplikasi dengan cara yang mudah dan terkonsep.
Sejarah
Desain dan implementasi
C ++ dirancang dan diimplementasikan pada tahun 1980 oleh Bjarne Stroustrup di AT&T Bell Labs, yang menggabungkan konsep pemrograman prosedural dan berorientasi objek dengan indah.
Dalam bahasa C, operator ++ digunakan untuk menaikkan variabel, sehingga mewujudkan ide Stroustrup bahwa C ++ akan menjadi generasi berikutnya dari bahasa C.
Peluncuran pertama
C ++ dirilis pada tahun 1985 untuk pertama kalinya di pasaran. Pada tahun 1986, Stroustrup menerbitkan bukunya yang terkenal berjudul The C ++ Programming Language, yang menjadi manual referensi untuk bahasa tersebut.
C 2.0
Rilis paling penting dari C ++ adalah C 2.0 pada tahun 1989, didokumentasikan oleh Ellis dan Stroustrup dalam The C ++ Annotated Reference Manual. Itu adalah bahasa yang sepenuhnya berorientasi objek.
Versi standar
Versi standar pertama, C ++ 98, dirilis pada tahun 1998. Standar internasional untuk C ++ ini dikembangkan oleh American National Standards Institute (ANSI) dan International Standards Organization (ISO).
Pada tahun 2003, standar C ++ 03 berikut diterbitkan dengan tujuan untuk mengoreksi kesalahan yang diidentifikasi dalam C ++ 98 dan memastikan bahwa bahasa tersebut memiliki portabilitas dan konsistensi yang lebih besar.
Pembaruan terkini
Pembaruan besar berikutnya untuk bahasa ini datang pada tahun 2011, dan itu disebut C ++ 11. Beberapa fitur telah ditambahkan untuk meningkatkan kinerja runtime-nya.
Kemudian C ++ 14 dirilis, di mana beberapa perbaikan telah dilakukan dan bug C ++ 11 diperbaiki. Versi berikutnya yang dirilis pada tahun 2017 adalah C ++ 17, yang memiliki beberapa fitur baru dan pustaka standar yang jauh lebih luas.
Fitur C ++
Bahasa populer
C ++ banyak digunakan oleh pengembang, terutama dalam aplikasi. Ini berisi semua bagian penting, seperti bahasa inti yang menyediakan semua blok pengembangan yang diperlukan, seperti variabel, tipe data, literal, dll.
Ini adalah bahasa pemrograman terpopuler keempat, menurut indeks komunitas pemrograman TIOBE.
Penggunaan C ++ menjadikannya bahasa yang paling nyaman, karena karakteristiknya. Ini adalah bahasa startup pertama untuk setiap pengembang yang tertarik bekerja dengan bahasa pemrograman. Mudah dipelajari karena ini adalah bahasa yang murni berbasis konsep.
Sintaksnya sangat sederhana, membuatnya mudah untuk ditulis, dan kesalahan dapat dengan mudah direplikasi. Sebelum menggunakan bahasa lain, programmer lebih suka mempelajari C ++ terlebih dahulu dan kemudian menggunakan bahasa lain.
Namun, sebagian besar pengembang mencoba tetap menggunakan C ++ karena beragam penggunaan dan kompatibilitasnya dengan berbagai platform dan perangkat lunak.
Berorientasi pada objek
Upgrade utama dari C ke C ++ adalah pemrograman berorientasi objek. Artinya, fokusnya ada pada "objek" dan penanganan di sekitar objek tersebut.
Ini mengikuti konsep polimorfisme, pewarisan, enkapsulasi dan abstraksi, memfasilitasi pengembangan dan pemeliharaan.
Prosedural
C ++ mendukung konsep prosedur dan subrutin, yang menyertakan segmen kode dalam blok yang dapat digunakan kembali, yang dapat "dipanggil" untuk melakukan tugas individual.
Prosedur dan subrutin dikenal sebagai fungsi dalam C ++. Suatu fungsi dapat mengambil nol atau lebih parameter, dan mengembalikan nol atau nilai.
Pemrograman terstruktur
Kode C ++ bersifat modular, dengan dukungan fungsi, kelas, dan objek, modul dapat dipasang dengan bebas.
Pernyataan kontrol aliran di C ++ mirip dengan yang ditemukan di banyak bahasa pemrograman terstruktur lainnya. Ini adalah if-else untuk mengimplementasikan logika keputusan, dan for, while, dan do-while untuk mengimplementasikan iterasi atau loop.
Manajemen memori
C ++ mendukung alokasi memori dinamis. Dengan demikian, Anda dapat mengosongkan memori yang dialokasikan kapan saja.
Pointer
Mereka adalah variabel yang menyimpan alamat variabel lain. Pointer menunjuk ke lokasi memori variabel. C ++ mendukung pointer untuk memberikan solusi untuk banyak masalah yang memerlukan akses ke lokasi memori.
Bahasa yang dikompilasi
Sebelum dapat dieksekusi, program C ++ harus diterjemahkan ke dalam instruksi asli mesin target dengan program yang disebut kompilator. Tanpa kompilasi, tidak ada program C ++ yang dapat dijalankan. Kompilator mengkompilasi program C ++ agar dapat dijalankan nanti.
Tipe data di C ++
- Utama
Int
Ini digunakan untuk menyimpan bilangan bulat. Memori yang ditempati tergantung pada kompilernya (32 atau 64 bit). Ini menempati 4 byte memori saat bekerja dengan kompiler 32-bit.
Mengapung
Ini digunakan untuk menyimpan pecahan hingga 7 digit desimal. Ini dikenal sebagai tipe floating point presisi tunggal. Ini menempati 4 byte memori.
Arang
Ini digunakan untuk menyimpan satu set semua karakter. Ini dapat mencakup huruf alfabet, angka, dan juga karakter khusus. Ini menempati 1 byte memori, menjadi unit yang dapat dialamatkan terkecil di mesin.
Dua kali lipat
Digunakan untuk menyimpan pecahan hingga 15-16 digit desimal. Ini umumnya dikenal sebagai tipe floating point presisi ganda.
Kosong (Null)
Menunjukkan nol atau tidak ada nilai kembali. Umumnya digunakan untuk menetapkan nilai null saat mendeklarasikan fungsi.
Bool
Tipe data ini mengacu pada nilai Boolean atau logika. Ini bisa mengambil nilai benar atau salah.
- Sekunder
Pengaturan
Ini adalah sekumpulan data yang memiliki tipe data yang sama, yang diakses dengan nama yang sama.
Pointer
Mereka pada dasarnya adalah variabel yang digunakan untuk menyimpan alamat memori variabel lain.
fitur
Ini adalah sekelompok kalimat yang melakukan tugas tertentu. Fungsi adalah pustaka bawaan atau yang ditentukan pengguna.
- Ditetapkan pengguna
Struktur
Ini adalah jenis data di mana kumpulan berbagai jenis data dapat dibuat dan diakses melalui suatu objek.
Persatuan
Memberikan kemampuan untuk menyimpan berbagai jenis data di lokasi memori yang sama.
Untuk apa C ++? Aplikasi
Aplikasi
Banyak aplikasi pada sistem Adobe dikembangkan dalam C ++, seperti Illustrator, Photoshop, Adobe Premiere, dan Image Ready.
Sistem operasi
C ++ digunakan di semua sistem operasi utama, seperti Linux, Windows, dan macOS, karena ini adalah bahasa pemrograman tingkat rendah.
Penyusun
Sebagian besar kompiler ditulis dalam bahasa C ++. Juga kompiler yang digunakan untuk mengkompilasi bahasa lain, seperti C #, Java, dll.
permainan
Ini berfungsi untuk menghilangkan kompleksitas game 3D, membantu mengoptimalkan sumber daya. Selain itu, ini kompatibel dengan opsi multipemain di jaringan.
Browser web
Ini memungkinkan eksekusi dan representasi grafik yang cepat, yang sangat penting bagi pengguna saat ini, yang menuntut konten yang dapat muncul dengan cepat di browser web. C ++ digunakan untuk membuat browser Internet Google Chrome dan Mozilla Firefox.
Internet untuk segala
Beberapa produk Internet of Things, seperti jam tangan pintar, mobil, mesin cuci, router, dan sakelar, menggunakan C ++ karena mereka membutuhkan kode yang sedekat mungkin dengan perangkat keras.
Cloud / Sistem Terdistribusi
Ini digunakan di cloud dalam sistem penyimpanan dan sistem terdistribusi, di mana sistem file yang dapat diskalakan perlu bekerja sama dengan perangkat keras dan kompatibilitas dengan mesin yang berbeda juga penting.
Akses ke database
Ini digunakan untuk mengembangkan perangkat lunak database open source. Software administrasi database yang sangat populer yang digunakan dalam organisasi, MySQL, ditulis dalam C ++ berkat manfaat yang ditawarkannya.
Ada aplikasi lain berdasarkan akses ke perangkat lunak database, yaitu Wikipedia, Yahoo, YouTube, Quora, dll.
Contoh
Program ini menerima bilangan bulat positif dari pengguna dan menyimpannya di variabel n. Kemudian perulangan for dijalankan, yang memeriksa apakah nomor yang dimasukkan benar-benar habis dibagi oleh io atau tidak.
Perulangan for dimulai dengan nilai awal i sama dengan 2, meningkatkan nilai i dengan setiap iterasi. Jika bilangan yang dimasukkan oleh pengguna habis habisnya oleh i, isPrime disetel ke false dan bilangan tersebut bukan bilangan prima.
Namun, jika bilangan tersebut tidak habis habis dibagi i hingga kondisi uji i <= n / 2 benar, berarti bilangan tersebut hanya habis habis dibagi 1 dan bilangan tersebut sama. Jadi bilangan yang diberikan adalah bilangan prima.
Perpustakaan
Pengembang memiliki akses ke banyak fungsi bawaan yang disediakan oleh bahasa C ++. Ini menghemat waktu dan mempercepat pengembangan. Beberapa file header C ++ dengan fungsionalitas yang disediakan adalah:
- iomanip: berisi penangan aliran yang memformat aliran data.
- iostream: berisi fungsi input dan output standar.
- cstdlib: berisi fungsi untuk mengubah angka menjadi teks dan sebaliknya,
- cmath: berisi fungsi pustaka matematika, alokasi memori, bilangan acak, dan berbagai fungsi berguna lainnya.
- fstream: berisi fungsi yang melakukan input dan output file pada disk.
- ctime: berisi fungsi untuk mengatur waktu dan tanggal.
- memori: berisi kelas dan fungsi yang digunakan oleh C ++ Standard Library untuk mengalokasikan memori.
Keuntungan
Mempercepat
Karena C ++ adalah versi C yang diperluas, yang merupakan bahasa pemrograman tingkat rendah, ini adalah salah satu bahasa tercepat yang tersedia. Ini membuatnya berguna di area di mana kinerja yang dibutuhkan sangat penting.
Dekat dengan perangkat keras
C ++ adalah salah satu bahasa pemrograman yang paling dekat dengan perangkat keras. Ini sangat menguntungkan di ruang-ruang di mana perangkat lunak harus memiliki hubungan yang erat dengan perangkat keras agar dapat melakukan dukungan tingkat rendah secara efisien.
Efisiensi
C ++ memiliki pustaka templat standar yang dapat digunakan secara luas saat membuat kode. Pustaka ini menyediakan algoritme efisien yang memungkinkan pemrogram menghemat waktu dan tenaga, yang jika tidak akan sia-sia membuat kode.
Kebebasan untuk memilih gaya pemrograman
C ++ mendukung sekitar tujuh gaya pengkodean yang berbeda, yang menjadikannya bahasa pemrograman multi-model. Dengan demikian, Anda dapat memilih gaya yang sesuai dengan kasus penggunaan tertentu, tanpa harus menggunakan objek.
Kemampuan untuk memecahkan masalah yang kompleks
C ++ dapat memecahkan masalah kompleks secara intuitif dengan membuat objek. Selain itu, fungsi C ++ memungkinkan Anda membagi kode menjadi blok kode yang jelas, mudah dipahami, serta mudah diuji dan dimodifikasi.
Kemampuan untuk mendeteksi kesalahan sebelum eksekusi
C ++ memiliki tipe statis, yang berarti kompilator tidak membuat asumsi tentang apa yang ditulis oleh programmer. Manfaatnya adalah kompilator dapat menangkap kesalahan dan kegagalan sebelum eksekusi, yang dapat menghemat waktu dalam jangka panjang.
Kekurangan
Penggunaan pointer
Pointer adalah konsep yang relatif sulit untuk dipahami dan juga menghabiskan banyak memori. Penyalahgunaan penunjuk dapat menyebabkan sistem hang atau berperilaku tidak normal.
Masalah utama adalah ketika titik data sama dari dua titik awal yang berbeda, menyebabkan masalah yang signifikan, menghasilkan masalah yang membingungkan dalam pengkodean.
Masalah keamanan
Meskipun pemrograman berorientasi objek memberikan banyak keamanan pada data yang ditangani, masih ada beberapa masalah keamanan karena ketersediaan fungsi teman, variabel global, dan pointer.
Tidak ada pengumpul sampah
C ++ memberi pengguna kendali penuh untuk mengelola memori komputer. Ini tidak memiliki fungsi pengumpul sampah untuk secara otomatis menyaring data yang tidak perlu dan oleh karena itu tidak mendukung alokasi memori dinamis.
Tidak adanya utas
C ++ tidak mendukung utas bawaan. Konsep utas relatif baru di C ++, karena sebelumnya tidak ada. Sekarang C ++ dapat mendukung fungsi lambda.
Program yang dikompilasi
Sebagai bahasa yang dikompilasi, file yang dapat dieksekusi yang dihasilkan oleh kompilator dari kode sumber tidak portabel dan hanya akan berjalan pada platform target (perangkat keras ditambah sistem operasi) yang dikompilasi, atau platform biner yang didukung.
Bisa jadi rumit
C ++ bisa jadi rumit, karena memungkinkan kelas, yang merupakan fungsi dengan nama yang sama. Oleh karena itu, sistem penanganan simbol harus digunakan. Selain itu, ini rumit untuk program tingkat tinggi yang sangat besar. C ++ biasanya digunakan untuk aplikasi khusus platform.
Referensi
- Simplilearn (2020). Pemrograman C ++ untuk Pemula: Sejarah, Manfaat, dan Aplikasi. Diambil dari: simplilearn.com.
- Educba (2020). Penggunaan C ++ di Dunia Nyata. Diambil dari: educba.com.
- Dmitrii Rassokhin (2020). Bahasa pemrograman C ++ dalam kimia kimiawi dan komputasi. Jurnal Kimiawi. Diambil dari: jcheminf.biomedcentral.com.
- Edureka! (2020). Apa 10 fitur teratas C ++? Diambil dari: edureka.co.
- Aman Goel (2020). Bahasa C ++: Fitur, Kegunaan, Aplikasi & Keunggulan. Retas. Diambil dari: hackr.io.
- Steemit (2020). C ++: Belajar kode. Sejarah, kelebihan, kekurangan bahasa C ++. Diambil dari: steemit.com.
- Data Flair (2019). Pelajari Jenis Data dalam C dan C ++ dengan Contoh Hanya dalam 4 menit. Diambil dari: data-flair.training.