Proyek ini dibuat untuk mengilustrasikan penggunaan makro yang dikembangkan menggunakan VBA untuk Excel yang dapat digunakan untuk mengotomatisasi pengumpulan dan visualisasi data dari kelompok stok energi hijau terpilih. Ini digunakan untuk menunjukkan kemampuan penggunaan makro dan bagaimana makro dapat diotomatisasi menggunakan antarmuka grafis seperti tombol untuk memungkinkan penggunaan tugas yang berulang. Untuk proyek ini digunakan data saham dari 12 saham yang dikumpulkan pada tahun 2017 dan 2018. Data yang digunakan antara lain kode ticker, nilai saham pembukaan dan penutupan serta volume perdagangan harian setiap harinya. Dari sini kita dapat menentukan harga saham pertama dan terakhir serta volume perdagangan keseluruhan untuk setiap saham yang dianalisis.
Tujuan lain dari proyek ini adalah untuk melihat bagaimana meningkatkan efisiensi kode menggunakan refactoring untuk mengoptimalkan daya komputasi yang diperlukan untuk menyelesaikan makro. Untuk ini kami menggunakan kode versi awal yang berfungsi tetapi memerlukan program untuk menyelesaikan iterasi seluruh kumpulan data untuk setiap ticker saham yang ingin kami analisis. Tujuannya adalah untuk mengembangkan versi kode asli yang telah difaktorkan ulang yang mengharuskan program hanya menyelesaikan iterasi kumpulan data dan memperoleh data yang sama seperti versi pertama.
Untuk memulai, kami mengembangkan kode fungsional yang memungkinkan pengumpulan total volume stok tahunan dan kinerja tahun demi tahun dari setiap stok yang ingin kami analisis. Seperti yang terlihat pada kode yang kami berikan di bawah ini, data dikumpulkan untuk setiap stok dengan menyelesaikan iterasi kumpulan data dan memasukkan data ke dalam lembar kerja Excel sebelum berpindah ke stok berikutnya.
Tertanam ke dalam kode adalah pengatur waktu yang akan menampilkan waktu yang diperlukan untuk menjalankan program dan menunjukkan hasilnya. Dengan menggunakan ini kita dapat membandingkan waktu yang dibutuhkan untuk menyelesaikan kode awal guna mengumpulkan data untuk kumpulan data setiap tahun. Ini memberi kami waktu eksekusi kode untuk setiap tahun seperti yang terlihat pada gambar di bawah. Terlihat bahwa kode awal membutuhkan waktu 0,6289062 detik untuk menyelesaikan dataset tahun 2017 dan 0,6171875 detik untuk menyelesaikan dataset tahun 2018.
Melalui pemfaktoran ulang kode kerja asli, penggunaan komputasi yang lebih efisien dapat dicapai dengan mengurangi jumlah total iterasi kumpulan data yang menghasilkan peningkatan kecepatan pelaksanaan tugas. Untuk memfaktorkan ulang kode ini, dua komponen perlu ditambahkan ke makro yang sedang dikembangkan. Yang pertama adalah indeks untuk setiap ticker yang akan diulangi untuk setiap baris data dalam kumpulan data yang dianalisis. Pernyataan ini untuk setiap baris data dalam kumpulan data, program akan mengidentifikasi ticker mana yang ada dan menyimpan data relevan terkait dengan nilai indeks. Yang kedua adalah kumpulan array data untuk menyimpan beberapa titik data untuk setiap ticker saham. Karena setiap nilai yang disimpan dalam array dapat diambil berdasarkan urutan pengumpulannya, data ini dapat dihubungkan kembali ke indeks ticker yang digunakan. Penggunaan kedua alat ini memungkinkan pemfaktoran ulang kode seperti yang terlihat pada contoh di bawah.
Dengan menggunakan kode yang sama yang digunakan untuk menentukan waktu eksekusi kode awal, dimungkinkan untuk melihat apakah ada peningkatan dalam waktu eksekusi yang diamati dalam kode yang difaktorkan ulang untuk analisis. Seperti terlihat pada gambar di bawah, waktu yang diperlukan untuk menyelesaikan analisis data tahun 2017 dan 2018 dikompetisikan menggunakan kode baru dan digunakan untuk membandingkan dengan kode awal yang digunakan. Dari sini terlihat bahwa dibutuhkan waktu 0,5273438 detik untuk menyelesaikan dataset tahun 2017 dan 0,516825 detik untuk menyelesaikan dataset tahun 2018.
Dari informasi yang dikumpulkan berdasarkan waktu penyelesaian eksekusi kode awal dan refactored terdapat pengurangan sebesar 0.1015624 detik untuk dataset tahun 2017 dan 0.1103625 detik untuk dataset tahun 2018.
Proses refactoring kode memiliki beberapa kelebihan dan kekurangan dalam penggunaannya. Pertama mari kita lihat beberapa kelebihannya
Beberapa kelemahan penggunaan refactoring kode.
Dalam contoh yang kami tunjukkan di sini, terdapat beberapa pro dan kontra terhadap pemfaktoran ulang yang dilakukan untuk meningkatkan efisiensi kode.
Beberapa dampak positif akibat perubahan kode tersebut adalah sebagai berikut:
Mengurangi waktu yang digunakan untuk menyelesaikan analisis dengan mengurangi jumlah iterasi yang diselesaikan untuk mengumpulkan data.
Menghasilkan kode yang lebih kuat yang dapat dengan mudah diperluas ke kumpulan data yang lebih besar dan kriteria pencarian yang lebih banyak
Array yang digunakan untuk menyimpan data yang dapat digunakan untuk penghitungan atau analisis lain jika diperlukan analisis data yang lebih mendalam
Beberapa faktor negatif penggunaan refactoring pada kode ini antara lain sebagai berikut
https://www.c-sharpcorner.com/article/pros-and-cons-of-code-refactoring/" ↩ ↩ 2