DISUSUN OLEH:
RIFALDI
F 551 23 096
FAKULTAS TEKNIK
UNIVERSITAS TADULAKO
2023
DAFTAR ISI
DAFTAR ISI..........................................................................................................................i
BAB I PENDAHULUAN.........................................................................................................1
1.1 Latar Belakang Masalah.....................................................................................................1
1.2 Rumusan Masalah...............................................................................................................2
1.3 Tujuan penelitian................................................................................................................3
1.4 Manfaat penelitian..............................................................................................................3
BAB II KAJIAN ILMIAH.........................................................................................................4
2.1 Abstrak................................................................................................................................4
BAB III METODOLOGI PENELITIAN......................................................................................7
3.1 Metode Penelitian................................................................................................................7
3.2 Hasil Penelitian...................................................................................................................7
i
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.
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++.
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.
Struktur data adalah salah satu konsep penting dalam pemrograman C++. Struktur
data digunakan untuk menyimpan dan mengatur data. Ada berbagai macam struktur data
yang dapat digunakan dalam C++, seperti array, linked list, stack, dan queue.
Pemilihan struktur data yang tepat dapat mempengaruhi kompleksitas program C++.
Struktur data yang tidak tepat dapat menyebabkan program menjadi lebih kompleks dan tidak
efisien.
1
Algoritma adalah serangkaian langkah-langkah yang digunakan untuk menyelesaikan
suatu masalah. Algoritma juga merupakan salah satu konsep penting dalam pemrograman C+
+.
Berdasarkan latar belakang yang dikemukakan di atas, maka rumusan masalah dalam
penelitian ini sebagai berikut:
1. Bagaimana pengaruh penggunaan struktur data array, linked list, stack, dan queue
2
terhadap kompleksitas program C++?
2. Apakah ada struktur data tertentu yang lebih efektif untuk mengurangi kompleksitas
program C++?
3
BAB II
KAJIAN ILMIAH
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.
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.
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.
4
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.
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.
2.1.3. 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
5
harus mempertimbangkan trade-off antara kinerja dan kompleksitas saat memilih C++
untuk proyek mereka.
6
BAB III
METODOLOGI PENELITIAN
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:
100 10
1000 100
10000 1000
7
Berikut adalah hasil pengujian untuk program yang menggunakan struktur data linked
list:
100 5
1000 50
10000 500
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.
8
Alamsyah, F. H., & Iryanto, T. (2019). Analisis Pengaruh Struktur Data terhadap
Kompleksitas Waktu Komputasi Algoritma Selection Sort dan Merge Sort. Jurnal
Informatika dan Komputer (JIK), 6(2), 121-127.
9
https://www.google.co.id/url?
sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwigrPv9z5qDAxXuTmwGH
VDvDdQQFnoECA4QAQ&url=https%3A%2F%2Fwww.petanikode.com%2Ftutorial
%2Fc%2B%2B%2F&usg=AOvVaw0Ye3csEa2vG7pKJIB8ZXTH&opi=89978449
https://www.google.co.id/url?
sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwiXiIeZ0J
qDAxXlQ2cHHSJeDZAQFnoECAkQAQ&url=http%3A%2F%2Fcppreference.com
%2F&usg=AOvVaw1SAv3Ckmsabki-hFTSgzmd&opi=89978449
10