DIAJUKAN OLEH:
RIFALDI
F55123096
UNIVERSITAS TADULAKO
PALU
2023
DAFTAR ISI
Bab I
PENDAHULUAN
C++ adalah salah satu bahasa pemrograman yang paling populer di dunia. Bahasa ini
digunakan untuk berbagai macam aplikasi, mulai dari sistem operasi, perangkat lunak
embedded, hingga game. C++ memiliki banyak keunggulan, seperti kinerja yang tinggi,
efisiensi memori, dan kemudahan untuk mengintegrasikan dengan bahasa pemrograman
lain.
Namun, C++ juga memiliki beberapa kekurangan, seperti kompleksitasnya dan sulitnya
dipelajari oleh pemula. Hal ini disebabkan oleh banyaknya konsep dan fitur yang harus
dipelajari untuk menguasai C++.
Urgensi Masalah
Kompleksitas C++ menjadi salah satu masalah utama yang dihadapi oleh para pemula yang
ingin mempelajari bahasa pemrograman ini. Hal ini menyebabkan banyak pemula yang
akhirnya menyerah karena tidak mampu memahami konsep dan fitur yang ada di C++.
Relevansi Masalah
Masalah kompleksitas C++ ini relevan dengan bidang ilmu komputer, khususnya ilmu
pemrograman. Hal ini karena C++ merupakan salah satu bahasa pemrograman yang paling
populer dan banyak digunakan dalam bidang ilmu komputer.
Potensi Manfaat
Berikut adalah beberapa contoh latar belakang masalah proposal penelitian tentang C++
yang dapat dikembangkan:
Pemilihan struktur data yang tepat dapat mempengaruhi kompleksitas program C++.
Struktur data yang tidak tepat dapat menyebabkan program menjadi lebih kompleks dan
tidak efisien.
Penelitian tentang pengaruh penggunaan struktur data pada kompleksitas program C++
dapat memberikan pemahaman yang lebih baik tentang cara memilih struktur data yang
tepat untuk meningkatkan kinerja dan efisiensi program C++.
Pemilihan algoritma yang tepat dapat mempengaruhi kompleksitas program C++. Algoritma
yang tidak tepat dapat menyebabkan program menjadi lebih kompleks dan tidak efisien.
Penelitian tentang pengaruh penggunaan algoritma pada kompleksitas program C++ dapat
memberikan pemahaman yang lebih baik tentang cara memilih algoritma yang tepat untuk
meningkatkan kinerja dan efisiensi program C++.
1. Bagaimana pengaruh penggunaan struktur data array, linked list, stack, dan queue
terhadap kompleksitas program C++?
2. pakah ada struktur data tertentu yang lebih efektif untuk mengurangi kompleksitas
program C++?
2.1. ABSTRAK
Bahasa pemrograman C++ telah lama menjadi pilar dunia komputasi, digunakan
untuk membangun berbagai macam aplikasi, mulai dari sistem embedded hingga game
grafis 3D yang kompleks. Kajian ini menganalisis kekuatan, kelemahan, dan relevansi C++ di
era modern, mengevaluasi kegunaannya dalam lanskap teknologi yang terus berkembang.
1. Kekuatan C++:
Performa Tinggi: C++ menawarkan kontrol tingkat rendah terhadap memori dan
sumber daya, memungkinkan pengembang untuk mengoptimalkan kode secara efisien. Ini
membuatnya ideal untuk aplikasi yang membutuhkan kinerja tinggi, seperti game, simulasi,
dan sistem keuangan.
Fleksibel dan Multiparadigma: C++ mendukung paradigma pemrograman prosedural, objek-
oriented, dan generik, memungkinkan pengembang untuk memilih pendekatan terbaik
untuk setiap masalah. Ini juga dilengkapi dengan pustaka standar yang ekstensif dan API
yang memungkinkan integrasi dengan berbagai sistem dan teknologi.
Ekosistem Matang dan Aktif: C++ memiliki komunitas developer yang besar dan aktif, serta
ekosistem tools dan library yang luas. Ini memudahkan pengembang untuk menemukan
bantuan, memecahkan masalah, dan memanfaatkan kode yang sudah ada.
Relevansi Jangka Panjang: C++ telah terbukti bertahan lama, tetap relevan selama beberapa
dekade evolusi teknologi. Ini memastikan kode C++ yang ditulis hari ini dapat dipelihara dan
digunakan untuk waktu yang lama.
2. Kelemahan C++:
Kompleksitas: C++ adalah bahasa yang kompleks, dengan sintaks yang ketat dan
banyak fitur tingkat rendah. Ini dapat membuat pembelajaran dan penguasaan bahasa
menjadi sulit, terutama bagi pemula.
Propensi Kesalahan: Kontrol tingkat rendah terhadap memori dan sumber daya dapat
menyebabkan kesalahan seperti kebocoran memori dan akses memori yang tidak valid.
Menulis kode C++ yang aman dan bebas dari bug membutuhkan kehati-hatian dan disiplin.
Waktu Pengembangan: Abstraksi tingkat rendah C++ dapat memperlambat pengembangan
dibandingkan dengan bahasa lain yang lebih abstrak. Ini mungkin tidak ideal untuk proyek
dengan tenggat waktu ketat atau persyaratan pengembangan yang cepat.
Aplikasi Kritis Kinerja: C++ tetap menjadi pilihan utama untuk aplikasi yang
membutuhkan kinerja tinggi dan efisiensi, seperti game, simulasi ilmiah, dan keuangan.
Sistem Embedded dan IoT: C++ cocok untuk pengembangan sistem embedded dan
perangkat IoT karena kontrol tingkat rendah dan footprint memorinya yang kecil.
High Performance Computing (HPC): C++ banyak digunakan dalam HPC karena
memungkinkan optimasi kode yang ketat untuk memanfaatkan sepenuhnya arsitektur
hardware modern.
Pengembangan Game: C++ adalah bahasa utama untuk pengembangan game AAA karena
kontrol tingkat rendah dan kemampuannya untuk mendorong kinerja grafis dan fisik yang
luar biasa.
4. Kesimpulan:
C++ tetap menjadi bahasa yang relevan dan penting di era modern, meskipun
memiliki kompleksitas dan kurva belajar yang curam. Kekuatannya dalam kinerja,
fleksibilitas, dan ekosistem yang matang membuatnya ideal untuk aplikasi yang
membutuhkan kendali tingkat rendah, efisiensi, dan ketahanan. Namun, pengembang harus
mempertimbangkan trade-off antara kinerja dan kompleksitas saat memilih C++ untuk
proyek mereka.
Program pertama menggunakan struktur data array untuk menyimpan data. Program kedua
menggunakan struktur data linked list untuk menyimpan data.
Program tersebut kemudian diuji dengan menggunakan berbagai ukuran data. Hasil
pengujian dianalisis untuk melihat pengaruh penggunaan struktur data terhadap
kompleksitas program.
Hasil penelitian menunjukkan bahwa penggunaan struktur data yang tepat dapat
mengurangi kompleksitas program C++. Struktur data yang tepat dapat membuat program
menjadi lebih efisien dan mudah dibaca.
Berikut adalah hasil pengujian untuk program yang menggunakan struktur data array:
Ekspor ke Spreadsheet
Berikut adalah hasil pengujian untuk program yang menggunakan struktur data linked list:
Ekspor ke Spreadsheet
Dari hasil pengujian tersebut dapat dilihat bahwa waktu eksekusi program yang
menggunakan struktur data linked list lebih cepat dibandingkan dengan program yang
menggunakan struktur data array. Hal ini menunjukkan bahwa struktur data linked list lebih
efisien dibandingkan dengan struktur data array.