Pernyataan Pengulangan TypeScript

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 menjadi false.

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 bernilai true.
  • Jika kondisi penghentian loop tidak jelas, Anda perlu berhati-hati terhadap loop tak berhingga.
  • Loop do-while berbeda dari loop while 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.

  1. Perkenalkan pengembalian awal: Keluar dari loop lebih awal saat tujuan tercapai untuk menghindari iterasi yang tidak perlu.
  2. Cache variabel loop: Pra-cache nilai variabel yang digunakan di dalam loop (terutama panjang dan jangkauan) untuk mengurangi biaya komputasi setiap kali.
  3. 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.

YouTube Video