Performa Loop
Termasuk bagian Logika dan Alur dalam perjalanan C# di Coddy. Pelajaran 13 dari 66.
Mengoptimalkan performa perulangan dapat meningkatkan kecepatan aplikasi kamu secara signifikan, terutama dengan kumpulan data yang besar.
Simpan panjang koleksi dalam variabel sebelum perulangan:
int[] numbers = { 1, 2, 3, 4, 5 };
int length = numbers.Length; // Simpan panjangnya sekali saja
for (int i = 0; i < length; i++) // Gunakan nilai yang sudah disimpan
{
Console.WriteLine(numbers[i]);
}Hindari pemanggilan method berulang dalam kondisi perulangan, contohnya:
for (int i = 0; i < GetCount(); i++)
{
// Loop body
}method GetCount() dipanggil pada setiap iterasi perulangan. Artinya, jika perulangan berjalan 1000 kali, GetCount() juga akan dijalankan 1000 kali karena kondisi perulangan dievaluasi sebelum setiap iterasi.
Berikut cara melakukannya dengan benar:
int count = GetCount();
for (int i = 0; i < count; i++)
{
// Isi perulangan
}GetCount() dipanggil hanya sekali sebelum perulangan dimulai, dan nilainya disimpan dalam variabel count. Kemudian, perulangan menggunakan nilai yang tersimpan ini untuk semua iterasi, sehingga tidak perlu memanggil method berulang kali.
Pendekatan ini dapat membuat kodemu berjalan lebih cepat dengan mengurangi operasi yang berulang, terutama saat method yang dipanggil melakukan perhitungan rumit atau mengakses data.
Tantangan
MudahBuat method bernama optimizedSum yang:
- Menerima array bilangan bulat sebagai parameter
- Menghitung jumlah semua elemen
- Menerapkan pendekatan yang dioptimalkan dan tidak dioptimalkan:
- Tidak dioptimalkan: Panggil array.Length di setiap iterasi perulangan
- Dioptimalkan: Simpan panjangnya sebelum perulangan
- Mengembalikan hasil dari pendekatan yang dioptimalkan
Coba sendiri
public class OptimizedSum
{
// Implementasikan method optimizedSum
public static int optimizedSum(int[] numbers)
{
// Tulis kodemu di sini
}
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1array Multidimensi
Dasar-Dasar array 2DMendeklarasikan dan Menginisialisasi array 2DMengakses Elemen array 2DPerulangan Bersarang dengan array 2Darray BergerigiOperasi Matriks UmumRangkuman: array Multidimensi4Teknik Alur Kontrol
Pengembalian DiniKlausa PenjagaPernyataan Lompatan (goto)Break dan ContinueMeratakan Percabangan Bersarang7Operator Logika Lanjutan
Evaluasi Hubung SingkatOperator Logika PercabanganPrioritas OperatorRingkasan Operator Lanjutan2Pengambilan Keputusan Tingkat Lanjut
Beberapa KondisiLogika Boolean yang KompleksPerbandingan If dan SwitchPernyataan Switch BersarangUlasan: Pengambilan Keputusan Tingkat Lanjut5Penanganan Exception
Dasar Try-CatchJenis ExceptionBeberapa Blok CatchBekerja dengan fileBlok FinallyUsing vs. Try-FinallyException KustomRingkasan: Penanganan error3Peningkatan Loop
Performa LoopIterasi yang KompleksSetiap Jenis LoopRefactoring LoopRangkuman: Loop yang Dioptimalkan6Penanganan Null
Dasar Referensi NullTipe Nilai NullablePola Pemeriksaan NullPemrograman DefensifRingkasan: Keamanan NullLatihan sendiri: Compiler C# online