BERITA PROGRAMMING Mengenal STL (Standard Template Library) C++

Mengenal STL (Standard Template Library) C++

Oleh Bima Syroth Rizkiawan | Rabu, 11 Agustus 2021

Mengenal STL (Standard Template Library) C++

C++ mempunyai sebuah library standar berbentuk template yang sering digunakan dalam pembuatan aplikasi, seperti vector, list, map dan stack. Ayo kenal lebih mendalam lagi..

Yuk, belajar di GAMELAB ACADEMY, belajar kapan saja, di mana saja. Kurikulum berbasis industri. Dapatkan SERTIFIKAT ketika kamu sudah selesai!

Yuk, ikuti program inovatif MAGANG ONLINE untuk berbagai bidang seperti animasi, coding, 3D, illustrasi, musik dan bisnis hanya di GAMELAB.ID!

Daftar Isi Artikel

C++ merupakan bahasa pemrograman hasil pengembangan dari bahasa pemrograman C.  Pernahkan kamu mempelajari mengenai konsep algoritma pemrograman atau pemrograman terstruktur? Jika pernah, seharusnya kamu juga pernah menggunakan bahasa C untuk membuat programnya. Karena bahasa C bisa dijalankan di compiler C++, maka sebenarnya bahasa C++ sendiri juga bisa digunakan untuk belajar algoritma pemrograman atau pemrograman tersturuktur karena. Tapi, sebaliknya program C++  malahbelum tentu bisa jalan di compiler C.

 

Sejarah singkat C++

C++ sendiri merupakan bahasa pemrograman tingkat menengah yang dikembangkan oleh Bjarne Stroustrup mulai tahun 1979 di Bell Laboratories. C++ sendiri dapat berjalan di berbagi platform, seperti Windows, Mac OS, dan di berbagai versi UNIX.

 

Apa itu Standard Template Library (STL) ?

Standard Template Library (STL), merupakan bagian dari C++ Library Standard, yang berupa kumpulan dari algorithm, container, iterator, serta komponen dasar lainnya yang implementasinya berupa template, kelas-kelas, dan fungsi-fungsi khusus yang berguna untuk memperluas fungsionalitas dan standarisasi dari C++ itu sendiri sehingga untuk penggunaanya menjadi lebih praktis. Tujuan utama dari STL adalah untuk men-standarisasi dan meningkatkan performa kode yang dituliskan dengan tepat.

Semisal, daripada terlalu bingung memikirkan jika kita membuat sebuah array biasa, apakah array tersebut bisa menampung 257 data lebih sekaligus? Nah, di sini kita bisa memanfaatkan vector yang secara otomatis memperluas kapasitas penampungan data tadi. Nah, vector sendiri tidak lain halnya seperti array, akan tetapi kapasitas vector lebih dinamis dibandingkan dengan array biasa karena bisa diperluas untuk menampung lebih banyak data lagi ataupun malah dipersempit kapasitasnya sehingga lebih sesuai dengan kebutuhan.

 

Baca Juga : Perbedaan Web Application dan Website, Emang Beda?

3 komponen acuan C++ Standard Template Library (STL)

Algorithm

Berisi sekumpulan yang digunakan untuk melakukan inisialisasi, pengurutan, pencarian dan transformasi dari sebuah objek yang memiliki kapasitas/jangkauan di dalam container.

Berikut ini contoh penggunaan STL Algorithm Pengurutan di dalam C++

#include <iostream>     
#include <algorithm>

using namespace std;


// deklarasikan ukuran dari array
const int UKURAN = 7;

int main () 
{ 
	int bilangan[UKURAN] = { 20, 1, 500, -120, 12, 50, 7 };

	// tampilkan ke konsole - log sebelum di urutkan
	cout << "array bilangan sebelum diurutakan: " << endl;
	for (int i = 0; i < UKURAN; i++)
	{
		cout << bilangan[i] << " ";
	}

	// panggil fungsi sort
	sort(bilangan, bilangan + UKURAN);

	// tampilkan ke konsole - log sesudah diurutkan
	cout << endl << endl << "array bilangan sesudah diurutakan: " << endl;
	for (int i = 0; i < UKURAN; i++)
	{
		cout << bilangan[i] << " ";
	}

	return 0;
}​

Keluaran yang dihasilkan :

array bilangan sebelum diurutakan: 
20 1 500 -120 12 50 7 

array bilangan sesudah diurutakan: 
-120 1 7 12 20 50 500​

 

Container

Digunakan untuk mengatur sekumpulan objek yang memiliki tipe yang berbeda. Misal: vector, list, map, stack.

Berikut ini contoh penggunaan STL Vector, container yang mirip dengan array yang berisi objek yang mampu mengubah panjangnya secara otomatis.

#include <iostream>
#include <vector>

using namespace std;

int main() 
{
   // membuat object vecTest untuk menyimpan data integer
   vector<int> vecTest; 
   int i;
 
   // menampilkna ukuran awal dari vecTest
   cout << "Ukuran dari vecTest awal adalah = " << vecTest.size() << endl;
 
   // menambahkan 6 nilai baru ke dalam vecTest
   for (i = 0; i < 6; i++)
   {
      vecTest.push_back(i);
   }
 
   // menampilkan perubahan ukuran dari vecTest
   cout << "Ukuran vecTest setelah ditambahkan 6 nilai baru adalah = " << vecTest.size() << endl;
 
   // mengakses semua nilai dari vecTest
   for(unsigned i = 0; i < vecTest.size(); i++)
   {
      cout << "Nilai dari vecTest dengan index " << i << " adalah " << vecTest[i] << endl;
   }
 
   return 0;
}

Keluaran yang dihasilkan :

Ukuran dari vecTest awal adalah = 0
Ukuran vecTest setelah ditambahkan 6 nilai baru adalah = 6
Nilai dari vecTest dengan index 0 adalah 0
Nilai dari vecTest dengan index 1 adalah 1
Nilai dari vecTest dengan index 2 adalah 2
Nilai dari vecTest dengan index 3 adalah 3
Nilai dari vecTest dengan index 4 adalah 4
Nilai dari vecTest dengan index 5 adalah 5

 

Iterator

Digunakan untuk menelusuri/mengakses setiap detail elemen yang ada dalam suatu objek yang dimana objek itu tadi dapat berupa container ataupun sub-bagian dari sebuah container. Algorithm membutuhkan iterator untuk dapat berinteraksi dengan objek yang ada pada container.

Berikut ini contoh penggunaan STL Iterator.

#include <iostream>
#include <vector>

using namespace std;

int main() 
{
   // membuat object vecTest untuk menyimpan data integer
   vector<int> vecTest; 
   int i;
 
   // menampilkna ukuran awal dari vecTest
   cout << "Ukuran dari vecTest awal adalah = " << vecTest.size() << endl;
 
   // menambahkan 10 nilai baru ke dalam vecTest
   for (i = 0; i < 10; i++)
   {
      vecTest.push_back(i);
   }
 
   // menampilkan perubahan ukuran dari vecTest
   cout << "Ukuran vecTest setelah ditambahkan 10 nilai baru adalah = " << vecTest.size() << endl;
 
   // mengakses semua nilai dari vecTest menggunakan iterator
   vector<int>::iterator val = vecTest.begin();
   while(val != vecTest.end()) 
   {
      cout << "Nilai dari val adalah = " << *val << endl;
      val++;
   }
 
   return 0;
}

Keluaran yang dihasilkan : 

Ukuran dari vecTest awal adalah = 0
Ukuran vecTest setelah ditambahkan 10 nilai baru adalah = 10
Nilai dari val adalah = 0
Nilai dari val adalah = 1
Nilai dari val adalah = 2
Nilai dari val adalah = 3
Nilai dari val adalah = 4
Nilai dari val adalah = 5
Nilai dari val adalah = 6
Nilai dari val adalah = 7
Nilai dari val adalah = 8
Nilai dari val adalah = 9

 


Referensi:
- https://en.wikibooks.org/wiki/C%2B%2B_Programming/STL
- https://www.tutorialspoint.com/cplusplus/cpp_stl_tutorial.htm
- https://oopcpp.wordpress.com/2017/05/17/standard-template-library-stl-dalam-c/
- https://www.slideshare.net/KuliahKita/pemrograman-c-standard-templatelibrary
- http://www.cplusplus.com/reference/algorithm/
- https://www.tutorialspoint.com/cpp_standard_library/vector.htm
- http://www.cplusplus.com/reference/iterator/
- https://www.cppreference.com/Cpp_STL_ReferenceManual.pdf


Bima Syroth Rizkiawan

Bima Syroth Rizkiawan

Rabu, 11 Agustus 2021

ARTIKEL TERKAIT

Magang lebih mudah dan bisa dilakukan dari mana saja dengan Program Magang Online Gamelab. Magang Bersertifikat, plus Pelatihan!

DAFTAR MAGANG

ARTIKEL POPULER

KATEGORI