Pernyataan Pengulangan TypeScript
Artikel ini menjelaskan pernyataan pengulangan dalam TypeScript.
YouTube Video
Pernyataan for
dalam TypeScript
Pernyataan for
dalam TypeScript adalah struktur perulangan dasar untuk melakukan operasi berulang. Dalam sebuah perulangan for
, blok kode yang sama dapat dieksekusi berulang kali berdasarkan jumlah atau kondisi tertentu.
Sintaks Dasar
1for (initialization; condition; update) {
2 // Code to execute repeatedly while the condition is true
3}
- Login Ini adalah bagian yang dijalankan hanya sekali sebelum memulai loop. Menginisialisasi variabel seperti counter loop.
- **Kondisi ('kondisi') **: Menentukan apakah loop terus. Jika benar, lanjutkan ke loop, dan jika palsu, keluar.
- **Perbarui (perbarui') **: Jalankan pada akhir setiap loop dan memperbarui counter loop.
Contoh 1: Perulangan for
dasar
Pada contoh di bawah, ini menghasilkan angka dari 0
hingga 4
secara berurutan.
1for (let i = 0; i < 5; i++) {
2 console.log("The value of i is: " + i);
3}
4// Outputs:
5// The value of i is: 0
6// The value of i is: 1
7// The value of i is: 2
8// The value of i is: 3
9// The value of i is: 4
Contoh 2: Perulangan for
dengan array
Anda juga dapat menggunakan perulangan for
untuk memproses elemen dalam sebuah array secara berurutan.
1let fruits: string[] = ["apple", "banana", "cherry"];
2
3for (let i = 0; i < fruits.length; i++) {
4 console.log("Fruit: " + fruits[i]);
5}
6// Outputs:
7// Fruit: apple
8// Fruit: banana
9// Fruit: cherry
Contoh 3: Perulangan for-in
Perulangan for-in
digunakan untuk mengiterasi properti sebuah objek atau indeks sebuah array secara berurutan.
1let car = { brand: "Toyota", model: "Corolla", year: 2020 };
2
3for (let key in car) {
4 console.log(key + ": " + car[key]);
5}
6// Outputs:
7// brand: Toyota
8// model: Corolla
9// year: 2020
Contoh 4: Perulangan for-of
Perulangan for-of
digunakan untuk mendapatkan nilai dari setiap elemen secara berurutan dari objek iterable seperti array atau string.
1let colors: string[] = ["red", "green", "blue"];
2
3for (let color of colors) {
4 console.log("Color: " + color);
5}
6// Outputs:
7// Color: red
8// Color: green
9// Color: blue
Contoh 5: Loop for
Tertanam
Anda juga dapat menggunakan perulangan for
di dalam perulangan for
lainnya, yang dikenal sebagai perulangan bersarang. Ini memungkinkan Anda untuk membuat perulangan ganda, dan lain sebagainya.
1for (let i = 0; i < 3; i++) {
2 console.log("Outer loop i: " + i);
3 for (let j = 0; j < 2; j++) {
4 console.log(" Inner loop j: " + j);
5 }
6}
7// Outputs:
8// Outer loop i: 0
9// Inner loop j: 0
10// Inner loop j: 1
11// Outer loop i: 1
12// Inner loop j: 0
13// Inner loop j: 1
14// Outer loop i: 2
15// Inner loop j: 0
16// Inner loop j: 1
Ringkasan
- Pernyataan
for
melakukan pemrosesan berulang berdasarkan jumlah atau kondisi yang ditentukan. for-in
digunakan untuk mengambil properti dari sebuah objek atau indeks dari sebuah array.for-of
mengambil nilai elemen dari objek iterable seperti array.- Pemrosesan berulang yang kompleks juga dimungkinkan dengan loop
for
tertanam.
Pernyataan for
dalam TypeScript menyediakan pemrosesan repetitif yang kuat dan fleksibel, mirip dengan perulangan lainnya.
Pernyataan While dalam TypeScript
Dalam TypeScript, pernyataan while
adalah konstruksi loop yang menjalankan proses berulang selama kondisi yang ditentukan bernilai true
. Serupa dengan loop for
, loop while
cocok untuk kasus di mana jumlah iterasi tidak ditentukan sebelumnya, atau ketika Anda ingin mengontrol pengulangan berdasarkan suatu kondisi.
Sintaks Dasar
1while (condition) {
2 // Code to execute repeatedly while the condition is true
3}
- Kondisi: Kondisi di mana loop dieksekusi. Loop terus berjalan selama kondisi ini bernilai
true
, dan berhenti ketika nilainya menjadifalse
.
Contoh 1: Loop while
Dasar
Dalam contoh di bawah, program terus mencetak nilai i
selama i
kurang dari 5.
1let i: number = 0;
2
3while (i < 5) {
4 console.log("The value of i is: " + i);
5 i++;
6}
7// Outputs:
8// The value of i is: 0
9// The value of i is: 1
10// The value of i is: 2
11// The value of i is: 3
12// The value of i is: 4
Dalam contoh ini, loop berakhir ketika i
menjadi 5 atau lebih karena kondisinya menjadi false
.
Contoh 2: Contoh Loop Tak Berhingga
Jika kondisi dalam loop while
selalu bernilai true
, maka ini dapat menjadi loop tak berhingga. Hal ini biasanya menyebabkan program gagal berhenti seperti yang diharapkan, sehingga perlu berhati-hati.
1let x: number = 0;
2
3while (true) {
4 console.log("The value of x is: " + x);
5 x++;
6 if (x >= 5) {
7 break; // Exit the loop when the condition is met
8 }
9}
10// Outputs:
11// The value of x is: 0
12// The value of x is: 1
13// The value of x is: 2
14// The value of x is: 3
15// The value of x is: 4
Anda dapat menggunakan pernyataan break
untuk keluar secara paksa dari loop saat suatu kondisi terpenuhi.
Contoh 3: Loop do-while
Loop do-while
adalah struktur di mana proses loop dijalankan setidaknya sekali. Karena kondisi dievaluasi setelah proses, proses akan dijalankan setidaknya sekali meskipun kondisinya false
.
1let j: number = 5;
2
3do {
4 console.log("The value of j is: " + j);
5 j++;
6} while (j < 5);
7// Outputs: The value of j is: 5
Dalam contoh ini, j
bernilai 5
sejak awal, dan j < 5
bernilai false
, tetapi dalam loop do-while
, proses dijalankan setidaknya sekali terlepas dari kondisinya.
Ringkasan
- Loop
while
mengulangi proses selama kondisinya bernilaitrue
. - Jika kondisi penghentian loop tidak jelas, Anda perlu berhati-hati terhadap loop tak berhingga.
- Loop
do-while
berbeda dari loopwhile
biasa karena proses dieksekusi setidaknya sekali.
Pernyataan while
dalam TypeScript berguna untuk memproses loop dengan jumlah iterasi yang tidak pasti atau ketika perlu memeriksa kondisi secara dinamis.
break
dan continue
Anda dapat menggunakan break
dan continue
di dalam loop.
break
digunakan untuk menghentikan loop sebelum waktunya.continue
digunakan untuk melewati iterasi saat ini dan berlanjut ke iterasi berikutnya.
Contoh penggunaan break
1for (let i = 0; i < 10; i++) {
2 if (i === 5) {
3 break; // Exits the loop when i is 5
4 }
5 console.log(i);
6}
7// Outputs 0, 1, 2, 3, 4
8
9let i = 0;
10
11while (i < 10) {
12 if (i === 5) {
13 break; // Ends the loop when i is 5
14 }
15 console.log(i++);
16}
17// Outputs 0, 1, 2, 3, 4
Dalam kasus ini, break
dijalankan ketika i
menjadi 5. Akibatnya, angka dari 0
hingga 4
ditampilkan.
Contoh penggunaan continue
1for (let i = 0; i < 5; i++) {
2 if (i === 2) {
3 continue; // Skips when i is 2
4 }
5 console.log(i);
6}
7// Outputs 0, 1, 3, 4
8
9let i = 0;
10
11while (i < 5) {
12 i++;
13 if (i === 3) {
14 continue; // Skips when i is 3
15 }
16 console.log(i);
17}
18// Outputs 1, 2, 4, 5
Dalam kasus ini, continue
dijalankan ketika i
adalah 2
. Akibatnya, angka kecuali 2
ditampilkan.
Loop bersarang dalam TypeScript
Loop bersarang adalah struktur di mana sebuah loop digunakan di dalam loop lainnya. Dalam TypeScript, konstruk loop seperti for
, while
, dan do-while
didukung. Dengan menggunakan loop bersarang, Anda dapat memproses array dua dimensi (matriks) dan menyederhanakan pemrosesan berdasarkan beberapa kondisi.
Sintaks Dasar
Sintaks dasar loop bersarang adalah sebagai berikut.
1for (let i: number = 0; i < n; i++) {
2 for (let j: number = 0; j < m; j++) {
3 // Processing for the inner loop
4 }
5}
Untuk setiap eksekusi loop luar, loop dalam menyelesaikan semua iterasinya. Struktur ini sangat berguna saat menangani beberapa loop atau struktur data.
Contoh loop bersarang dalam TypeScript
Melintasi array dua dimensi
Loop bersarang sering digunakan saat memanipulasi struktur data multidimensi seperti array dua dimensi. Dalam contoh berikut, elemen array dua dimensi dilintasi, dan nilainya ditampilkan di konsol.
1const matrix: number[][] = [
2 [1, 2, 3],
3 [4, 5, 6],
4 [7, 8, 9]
5];
6
7for (let row: number = 0; row < matrix.length; row++) {
8 for (let col: number = 0; col < matrix[row].length; col++) {
9 console.log(`matrix[${row}][${col}] = ${matrix[row][col]}`);
10 }
11}
12// Output
13// matrix[0][0] = 1
14// matrix[0][1] = 2
15// matrix[0][2] = 3
16// matrix[1][0] = 4
17// matrix[1][1] = 5
18// matrix[1][2] = 6
19// matrix[2][0] = 7
20// matrix[2][1] = 8
21// matrix[2][2] = 9
Dalam contoh ini, kita melintasi array dua dimensi matrix
. Loop luar menangani baris, dan loop dalam menangani kolom, menampilkan setiap elemen secara berurutan.
Kombinasi dari dua array
Selanjutnya, kami akan memperkenalkan contoh perhitungan semua kombinasi dari dua array. Sebagai contoh, Anda dapat mengambil satu elemen dari masing-masing dua array dan menghasilkan semua pasangan yang mungkin.
1const array1: string[] = ['A', 'B', 'C'];
2const array2: number[] = [1, 2, 3];
3
4for (let i: number = 0; i < array1.length; i++) {
5 for (let j: number = 0; j < array2.length; j++) {
6 console.log(`Pair: (${array1[i]}, ${array2[j]})`);
7 }
8}
9// Output
10// Pair: (A, 1)
11// Pair: (A, 2)
12// Pair: (A, 3)
13// Pair: (B, 1)
14// Pair: (B, 2)
15// Pair: (B, 3)
16// Pair: (C, 1)
17// Pair: (C, 2)
18// Pair: (C, 3)
Dalam contoh ini, semua pasangan antara array string array1
dan array angka array2
dibuat. Loop luar mengambil elemen dari array1
, dan loop dalam mengambil elemen dari array2
, menampilkan setiap pasangan.
Menghasilkan koordinat dengan triple loop
Dengan menggunakan tiga loop bersarang, Anda dapat menghasilkan koordinat di ruang tiga dimensi, misalnya.
1for (let x: number = 0; x < 3; x++) {
2 for (let y: number = 0; y < 3; y++) {
3 for (let z: number = 0; z < 3; z++) {
4 console.log(`Coordinate: (${x}, ${y}, ${z})`);
5 }
6 }
7}
8// Output
9// Coordinate: (0, 0, 0)
10// Coordinate: (0, 0, 1)
11// Coordinate: (0, 0, 2)
12// ...
13// Coordinate: (2, 2, 1)
14// Coordinate: (2, 2, 2)
Dengan cara ini, menggunakan tiga loop bersarang memungkinkan Anda untuk dengan mudah menghasilkan koordinat di ruang tiga dimensi.
Kinerja dari loop bersarang
Loop bersarang sangat berguna, tapi biaya komputasinya meningkat dengan cepat seiring dengan bertambahnya kedalaman loop. Sebagai contoh, jika ada n
iterasi pada loop luar dan m
iterasi pada loop dalam, jumlah total iterasi akan menjadi n * m
. Ketika ini menjadi lebih bersarang, kompleksitas komputasi meningkat secara eksponensial, yang dapat memengaruhi kinerja program.
Berikut adalah kompleksitas komputasi saat menelusuri tiga array.
1const array1: number[] = [1, 2, 3];
2const array2: number[] = [4, 5, 6];
3const array3: number[] = [7, 8, 9];
4
5for (let i: number = 0; i < array1.length; i++) {
6 for (let j: number = 0; j < array2.length; j++) {
7 for (let k: number = 0; k < array3.length; k++) {
8 console.log(`Combination: (${array1[i]}, ${array2[j]}, ${array3[k]})`);
9 }
10 }
11}
Dalam kasus ini, Anda perlu menghitung array1.length * array2.length * array3.length
, yang menghasilkan 3 * 3 * 3 = 27
iterasi untuk memproses semua kombinasi.
Optimalisasi loop bersarang
Ketika menggunakan loop bersarang, Anda dapat meningkatkan kinerja dengan mempertimbangkan optimalisasi berikut.
- Perkenalkan pengembalian awal: Keluar dari loop lebih awal saat tujuan tercapai untuk menghindari iterasi yang tidak perlu.
- Cache variabel loop: Pra-cache nilai variabel yang digunakan di dalam loop (terutama panjang dan jangkauan) untuk mengurangi biaya komputasi setiap kali.
- Ubah struktur data: Merevisi struktur array dan objek dapat efektif dalam mempercepat proses repetitif tertentu.
Kesimpulan
Loop bersarang adalah alat yang kuat dalam pemrosesan data kompleks dan algoritma. Namun, seiring dengan bertambahnya kedalaman loop dan jumlah iterasi, masalah kinerja dapat muncul. Dengan optimalisasi yang sesuai dan desain yang hati-hati, Anda dapat memanfaatkan loop bersarang secara efektif di TypeScript.
Anda dapat mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Silakan periksa juga saluran YouTube kami.