fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <chrono> // Untuk mengukur waktu (kecepatan)
  4.  
  5. using namespace std;
  6.  
  7. // Fungsi Utama
  8. int main() {
  9. // 1. Peningkatan Penyimpanan (Menggunakan tipe data yang lebih kecil)
  10. // Tipe 'short' umumnya menggunakan 2 byte, lebih hemat dari 'int' (4 byte).
  11. vector<short> data_hemat_memori;
  12. int jumlah_data = 10000;
  13.  
  14. // Alokasi memori awal untuk 10000 data
  15. data_hemat_memori.reserve(jumlah_data);
  16.  
  17. // Isi data
  18. for (int i = 0; i < jumlah_data; ++i) {
  19. data_hemat_memori.push_back(i % 100); // Nilai kecil
  20. }
  21.  
  22. cout << "✅ Simulasi Peningkatan Penyimpanan & Kecepatan\n";
  23. cout << "-----------------------------------------------\n";
  24. cout << "* Jumlah elemen: " << data_hemat_memori.size() << endl;
  25. // sizeof(short) = 2 byte
  26. cout << "* Perkiraan total memori (bytes): " << data_hemat_memori.size() * sizeof(short) << endl;
  27.  
  28. // 2. Peningkatan Kecepatan (Akses data Array/Vector secara langsung)
  29. // Akses dengan indeks (O(1)) adalah sangat cepat.
  30. int indeks_cari = 5000; // Indeks yang akan diakses
  31. short nilai_ditemukan;
  32.  
  33. // Mulai pengukuran waktu
  34. auto waktu_mulai = chrono::high_resolution_clock::now();
  35.  
  36. // Operasi Akses Cepat (Kecepatan)
  37. nilai_ditemukan = data_hemat_memori[indeks_cari];
  38.  
  39. // Selesai pengukuran waktu
  40. auto waktu_selesai = chrono::high_resolution_clock::now();
  41.  
  42. // Hitung durasi dalam nanosecond
  43. auto durasi = chrono::duration_cast<chrono::nanoseconds>(waktu_selesai - waktu_mulai);
  44.  
  45. cout << "\n--- Hasil Kecepatan Akses ---\n";
  46. cout << "* Data pada indeks " << indeks_cari << ": " << nilai_ditemukan << endl;
  47. cout << "* Waktu Akses (nanoseconds): " << durasi.count() << endl;
  48. cout << "\nDengan menggunakan struktur data yang efisien (seperti array/vector) dan tipe data yang tepat,\n"
  49. << "program dapat **menghemat memori (penyimpanan)** dan **mempercepat akses data (kecepatan)**.\n";
  50.  
  51. return 0;
  52. }
Success #stdin #stdout 0.01s 5312KB
stdin
Standard input is empty
stdout
✅ Simulasi Peningkatan Penyimpanan & Kecepatan
-----------------------------------------------
* Jumlah elemen: 10000
* Perkiraan total memori (bytes): 20000

--- Hasil Kecepatan Akses ---
* Data pada indeks 5000: 0
* Waktu Akses (nanoseconds): 457

Dengan menggunakan struktur data yang efisien (seperti array/vector) dan tipe data yang tepat,
program dapat **menghemat memori (penyimpanan)** dan **mempercepat akses data (kecepatan)**.