Skip to content

Commit 00887c2

Browse files
fzn0xtrekhleb
andauthored
[ID] Minor Improvements (trekhleb#742)
* fix: `menghapus` typo should be `menghapus` instead of `mengahpus` * fix: translations Should be `algoritma` instead of `algoritme`. etc is in EN, replace it with `dan lain-lain` (etc in ID) * fix: adding space to z-algorithm since Z is the name of the algorithm. Co-authored-by: Oleksii Trekhleb <[email protected]>
1 parent 7f7e4ea commit 00887c2

File tree

1 file changed

+36
-36
lines changed

1 file changed

+36
-36
lines changed

README.id-ID.md

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
Repositori ini berisi contoh-contoh algoritme dan struktur data yang populer menggunakan JavaScript.
77

8-
Setiap algoritme dan struktur data memiliki README-nya tersendiri dengan penjelasan yang berkaitan dan tautan untuk bacaan lebih lanjut (termasuk tautan menuju video YouTube).
8+
Setiap algoritma dan struktur data memiliki README-nya tersendiri dengan penjelasan yang berkaitan dan tautan untuk bacaan lebih lanjut (termasuk tautan menuju video YouTube).
99

1010
_Baca ini dalam bahasa yang lain:_
1111
[_English_](https://github.com/trekhleb/javascript-algorithms/),
@@ -50,32 +50,32 @@ Struktur data adalah cara tertentu untuk mengatur dan menyimpan data dalam kompu
5050
- `L` [_Disjoint Set_](src/data-structures/disjoint-set)
5151
- `L` [_Bloom Filter_](src/data-structures/bloom-filter)
5252

53-
## Algoritme
53+
## Algoritma
5454

55-
Algoritme adalah sebuah perincian yang jelas tentang cara untuk memecahkan suatu masalah. Ia adalah sekumpulan aturan yang menjelaskan secara tepat urutan-urutan dari sebuah operasi.
55+
Algoritma adalah sebuah perincian yang jelas tentang cara untuk memecahkan suatu masalah. Ia adalah sekumpulan aturan yang menjelaskan secara tepat urutan-urutan dari sebuah operasi.
5656

5757
`P` - Pemula, `L` - Lanjutan
5858

59-
### Algoritme Berdasarkanan Topik
59+
### Algoritma Berdasarkanan Topik
6060

6161
- **Matematika**
62-
- `P` [Manipulasi Bit](src/algorithms/math/bits) - menetapkan/mendapatkan/memperbarui/menghapus bit, perkalian/pembagian dengan angka 2, membuat bilangan negatif dsb.
62+
- `P` [Manipulasi Bit](src/algorithms/math/bits) - menetapkan/mendapatkan/memperbarui/menghapus bit, perkalian/pembagian dengan angka 2, membuat bilangan negatif dan lain-lain.
6363
- `P` [Faktorial](src/algorithms/math/Faktorial)
6464
- `P` [Bilangan Fibonacci](src/algorithms/math/fibonacci) - versi klasik dan bentuk tertutup
6565
- `P` [Faktor Prima](src/algorithms/math/prime-factors) - menemukan faktor prima dan menghitungnya menggunakan teorema Hardy-Ramanujan
6666
- `P` [Pengujian Bilangan Prima](src/algorithms/math/primality-test) (metode _trial division_)
67-
- `P` [Algoritme Euclidean](src/algorithms/math/euclidean-algorithm) - menghitung Faktor Persekutuan Terbesar (FPB)
67+
- `P` [Algoritma Euclidean](src/algorithms/math/euclidean-algorithm) - menghitung Faktor Persekutuan Terbesar (FPB)
6868
- `P` [_Least Common Multiple_](src/algorithms/math/least-common-multiple) (LCM)
6969
- `P` [_Sieve of Eratosthenes_](src/algorithms/math/sieve-of-eratosthenes) - menemukan semua bilangan prima hingga batas yang ditentukan
70-
- `P` [_Is Power of Two_](src/algorithms/math/is-power-of-two) - mengecek apakah sebuah bilangan adalah hasil dari pangkat dua (algoritme _naive_ dan _bitwise_)
70+
- `P` [_Is Power of Two_](src/algorithms/math/is-power-of-two) - mengecek apakah sebuah bilangan adalah hasil dari pangkat dua (algoritma _naive_ dan _bitwise_)
7171
- `P` [Segitiga Pascal](src/algorithms/math/pascal-triangle)
7272
- `P` [Bilangan Kompleks](src/algorithms/math/complex-number) - bilangan kompleks dengan operasi dasarnya
7373
- `P` [Radian & Derajat](src/algorithms/math/radian) - konversi radian ke derajat dan sebaliknya
7474
- `P` [_Fast Powering_](src/algorithms/math/fast-powering)
7575
- `P` [Metode Horner](src/algorithms/math/horner-method) - evaluasi polinomial
7676
- `L` [Partisi Bilangan Bulat](src/algorithms/math/integer-partition)
7777
- `L` [Akar Pangkat Dua](src/algorithms/math/square-root) - metode Newton
78-
- `L` [Algoritme π Liu Hui](src/algorithms/math/liu-hui) - perkiraan perhitungan π berdasarkan segibanyak
78+
- `L` [Algoritma π Liu Hui](src/algorithms/math/liu-hui) - perkiraan perhitungan π berdasarkan segibanyak
7979
- `L` [Transformasi Diskrit Fourier](src/algorithms/math/fourier-transform) - menguraikan fungsi waktu (sinyal) menjadi frekuensi yang menyusunnya
8080
- **Himpunan**
8181
- `P` [Produk Kartesian](src/algorithms/sets/cartesian-product) - hasil dari beberapa himpunan
@@ -91,10 +91,10 @@ Algoritme adalah sebuah perincian yang jelas tentang cara untuk memecahkan suatu
9191
- `L` [_Combination Sum_](src/algorithms/sets/combination-sum) - menemukan semua kombinasi yang membentuk jumlah tertentu
9292
- **String**
9393
- `P` [Jarak Hamming](src/algorithms/string/hamming-distance) - jumlah posisi di mana ditemukan simbol-simbol yang berbeda
94-
- `L` [Algoritme Jarak Levenshtein](src/algorithms/string/levenshtein-distance) - _edit distance_ minimum antara dua urutan
95-
- `L` [Algoritme Knuth–Morris–Pratt](src/algorithms/string/knuth-morris-pratt) (Algoritme KMP) - pencarian substring (pencocokan pola)
96-
- `L` [AlgoritmeZ](src/algorithms/string/z-algorithm) - pencarian substring (pencocokan pola)
97-
- `L` [Algoritme Rabin Karp](src/algorithms/string/rabin-karp) - pencarian substring
94+
- `L` [Algoritma Jarak Levenshtein](src/algorithms/string/levenshtein-distance) - _edit distance_ minimum antara dua urutan
95+
- `L` [Algoritma Knuth–Morris–Pratt](src/algorithms/string/knuth-morris-pratt) (Algoritma KMP) - pencarian substring (pencocokan pola)
96+
- `L` [Algoritma Z](src/algorithms/string/z-algorithm) - pencarian substring (pencocokan pola)
97+
- `L` [Algoritma Rabin Karp](src/algorithms/string/rabin-karp) - pencarian substring
9898
- `L` [_Longest Common Substring_](src/algorithms/string/longest-common-substring)
9999
- `L` [Pencocokan Ekspresi Reguler](src/algorithms/string/regular-expression-matching)
100100
- **Pencarian**
@@ -121,18 +121,18 @@ Algoritme adalah sebuah perincian yang jelas tentang cara untuk memecahkan suatu
121121
- **Graf**
122122
- `P` [Pencarian Kedalaman Pertama](src/algorithms/graph/depth-first-search) (DFS)
123123
- `P` [Pencarian Luas Pertama](src/algorithms/graph/breadth-first-search) (BFS)
124-
- `P` [Algoritme Kruskal](src/algorithms/graph/kruskal) - mencari rentang pohon minimum untuk graf tidak berarah berbobot
125-
- `L` [Algoritme Dijkstra](src/algorithms/graph/dijkstra) - menemukan jalur terpendek ke semua sudut graf dari sudut tunggal
126-
- `L` [Algoritme Bellman-Ford](src/algorithms/graph/bellman-ford) - menemukan jalur terpendek ke semua sudut graf dari sudut tunggal
127-
- `L` [Algoritme Floyd-Warshall](src/algorithms/graph/floyd-warshall) - menemukan jalur terpendek antara semua pasangan sudut
124+
- `P` [Algoritma Kruskal](src/algorithms/graph/kruskal) - mencari rentang pohon minimum untuk graf tidak berarah berbobot
125+
- `L` [Algoritma Dijkstra](src/algorithms/graph/dijkstra) - menemukan jalur terpendek ke semua sudut graf dari sudut tunggal
126+
- `L` [Algoritma Bellman-Ford](src/algorithms/graph/bellman-ford) - menemukan jalur terpendek ke semua sudut graf dari sudut tunggal
127+
- `L` [Algoritma Floyd-Warshall](src/algorithms/graph/floyd-warshall) - menemukan jalur terpendek antara semua pasangan sudut
128128
- `L` [Mendeteksi Siklus](src/algorithms/graph/detect-cycle) - untuk graf berarah dan tidak berarah (berdasarkan versi DFS dan _Disjoint Set_)
129-
- `L` [ALgoritme Prim](src/algorithms/graph/prim) - mencari rentang pohon minimum untuk graf tidak berarah berbobot
129+
- `L` [ALgoritma Prim](src/algorithms/graph/prim) - mencari rentang pohon minimum untuk graf tidak berarah berbobot
130130
- `L` [Sortir Topologi](src/algorithms/graph/topological-sorting) - metode DFS
131-
- `L` [Poin Artikulasi](src/algorithms/graph/articulation-points) - Algoritme Tarjan (berdasarkan DFS)
132-
- `L` [Jembatan](src/algorithms/graph/bridges) - Algoritme berdasarkan DFS
133-
- `L` [Jalur dan Sirkuit Eulerian](src/algorithms/graph/eulerian-path) - Algoritme Fleury - Mengunjungi setiap tepinya tepat satu kali
131+
- `L` [Poin Artikulasi](src/algorithms/graph/articulation-points) - Algoritma Tarjan (berdasarkan DFS)
132+
- `L` [Jembatan](src/algorithms/graph/bridges) - Algoritma berdasarkan DFS
133+
- `L` [Jalur dan Sirkuit Eulerian](src/algorithms/graph/eulerian-path) - Algoritma Fleury - Mengunjungi setiap tepinya tepat satu kali
134134
- `L` [Siklus Hamiltonian](src/algorithms/graph/hamiltonian-cycle) - mengunjungi setiap sudutnya tepat satu kali
135-
- `L` [Komponen yang Terkoneksi dengan Kuat](src/algorithms/graph/strongly-connected-components) - Algoritme Kosaraju
135+
- `L` [Komponen yang Terkoneksi dengan Kuat](src/algorithms/graph/strongly-connected-components) - Algoritma Kosaraju
136136
- `L` [Permasalahan Penjual Keliling](src/algorithms/graph/travelling-salesman) - kemungkinan rute terpendek untuk mengunjungi setiap kota dan kembali lagi ke kota asal
137137
- **Kriptografi**
138138
- `P` [Polinomial Hash](src/algorithms/cryptography/polynomial-hash) - fungsi rolling hash berdasarkan polinomial
@@ -141,17 +141,17 @@ Algoritme adalah sebuah perincian yang jelas tentang cara untuk memecahkan suatu
141141
- `P` [NanoNeuron](https://github.com/trekhleb/nano-neuron) - 7 fungsi JS sederhana yang mengilustrasikan bagaimana mesin-mesin dapat benar-benar belajar (perambatan maju/mundur)
142142
- **Tidak Dikategorikan**
143143
- `P` [Menara Hanoi](src/algorithms/uncategorized/hanoi-tower)
144-
- `P` [Perputaran Matriks Persegi](src/algorithms/uncategorized/square-matrix-rotation) - algoritme _in-place_
144+
- `P` [Perputaran Matriks Persegi](src/algorithms/uncategorized/square-matrix-rotation) - algoritma _in-place_
145145
- `P` [Permainan Melompat](src/algorithms/uncategorized/jump-game) - runut-balik, pemrograman dinamis (atas ke bawah + bawah ke atas) and contoh-contoh _greedy_
146146
- `P` [_Unique Paths_](src/algorithms/uncategorized/unique-paths) - runut-balik, pemrograman dinamis and contoh-contoh beradsarkan Segitiga Pascal
147147
- `P` [_Rain Terraces_](src/algorithms/uncategorized/rain-terraces) - permasalahan _trapping rain water_ (versi pemrograman dinamis and _brute force_)
148148
- `P` [Tangga Rekursif](src/algorithms/uncategorized/recursive-staircase) - menghitung jumlah cara untuk mencapai ke atas tangga (4 solusi)
149149
- `L` [Permainan N-Queen](src/algorithms/uncategorized/n-queens)
150150
- `L` [Permainan Knight's Tour](src/algorithms/uncategorized/knight-tour)
151151

152-
### Algoritme Berdasarkan Paradigma
152+
### Algoritma Berdasarkan Paradigma
153153

154-
Paradigma algoritmik adalah sebuah metode atau pendekatan umum yang mendasari desain sebuah tingkatan algoritme. Paradigma algoritmik merupakan abstraksi yang lebih tinggi dari gagasan sebuah algoritme, seperti halnya sebuah algoritme merupakan abstraksi yang lebih tinggi dari sebuah program komputer.
154+
Paradigma algoritmik adalah sebuah metode atau pendekatan umum yang mendasari desain sebuah tingkatan algoritma. Paradigma algoritmik merupakan abstraksi yang lebih tinggi dari gagasan sebuah algoritma, seperti halnya sebuah algoritma merupakan abstraksi yang lebih tinggi dari sebuah program komputer.
155155

156156
- **_Brute Force_** - melihat ke semua kemungkinan dan memilih solusi yang terbaik
157157
- `P` [Pencarian Linier](src/algorithms/search/linear-search)
@@ -163,14 +163,14 @@ Paradigma algoritmik adalah sebuah metode atau pendekatan umum yang mendasari de
163163
- **_Greedy_** - memilih pilihan terbaik pada saat ini tanpa mempertimbangkan masa yang akan datang
164164
- `P` [Permainan Melompat](src/algorithms/uncategorized/jump-game)
165165
- `L` [Permasalahan Knapsack yang Tidak Dibatasi](src/algorithms/sets/knapsack-problem)
166-
- `L` [Algoritme Dijkstra](src/algorithms/graph/dijkstra) - menemukan jalur terpendek ke semua sudut graf dari sudut tunggal
167-
- `L` [Algoritme Prim](src/algorithms/graph/prim) - mencari rentang pohon minimum untuk graf tidak berarah berbobot
168-
- `L` [Algoritme Kruskal](src/algorithms/graph/kruskal) - mencari rentang pohon minimum untuk graf tidak berarah berbobot
166+
- `L` [Algoritma Dijkstra](src/algorithms/graph/dijkstra) - menemukan jalur terpendek ke semua sudut graf dari sudut tunggal
167+
- `L` [Algoritma Prim](src/algorithms/graph/prim) - mencari rentang pohon minimum untuk graf tidak berarah berbobot
168+
- `L` [Algoritma Kruskal](src/algorithms/graph/kruskal) - mencari rentang pohon minimum untuk graf tidak berarah berbobot
169169
- **Memecah dan Menaklukkan** - membagi masalah menjadi bagian-bagian yang kecil, lalu memcahkan bagian-bagian tersebut
170170
- `P` [Pencarian Biner](src/algorithms/search/binary-search)
171171
- `P` [Menara Hanoi](src/algorithms/uncategorized/hanoi-tower)
172172
- `P` [Segitiga Pascal](src/algorithms/math/pascal-triangle)
173-
- `P` [Algoritme Euclidean](src/algorithms/math/euclidean-algorithm) - menghitung Faktor Persekutuan Terbesar (FPB)
173+
- `P` [Algoritma Euclidean](src/algorithms/math/euclidean-algorithm) - menghitung Faktor Persekutuan Terbesar (FPB)
174174
- `P` [Sortir Gabungan](src/algorithms/sorting/merge-sort)
175175
- `P` [Sortir Cepat](src/algorithms/sorting/quick-sort)
176176
- `P` [Pencarian Kedalaman Pertama untuk Pohon](src/algorithms/tree/depth-first-search) (DFS)
@@ -185,18 +185,18 @@ Paradigma algoritmik adalah sebuah metode atau pendekatan umum yang mendasari de
185185
- `P` [_Unique Paths_](src/algorithms/uncategorized/unique-paths)
186186
- `P` [_Rain Terraces_](src/algorithms/uncategorized/rain-terraces) - permasalahan _trapping rain water_
187187
- `P` [Tangga Rekursif](src/algorithms/uncategorized/recursive-staircase) - menghitung jumlah cara untuk mencapai ke atas tangga
188-
- `L` [Algoritme Jarak Levenshtein](src/algorithms/string/levenshtein-distance) - _edit distance_ minimum antara dua urutan
188+
- `L` [Algoritma Jarak Levenshtein](src/algorithms/string/levenshtein-distance) - _edit distance_ minimum antara dua urutan
189189
- `L` [_Longest Common Subsquence_](src/algorithms/sets/longest-common-subsequence) (LCS)
190190
- `L` [_Longest Common Substring_](src/algorithms/string/longest-common-substring)
191191
- `L` [_Longest Increasing Subsequence_](src/algorithms/sets/longest-increasing-subsequence)
192192
- `L` [_Shortest Common Supersequence_](src/algorithms/sets/shortest-common-supersequence)
193193
- `L` [Permasalahan Knapsack 0/1](src/algorithms/sets/knapsack-problem)
194194
- `L` [Partisi Bilangan Bulat](src/algorithms/math/integer-partition)
195195
- `L` [Upalarik Maksimum](src/algorithms/sets/maximum-subarray)
196-
- `L` [Algoritme Bellman-Ford](src/algorithms/graph/bellman-ford) - menemukan jalur terpendek ke semua sudut graf dari sudut tunggal
197-
- `L` [Algoritme Floyd-Warshall](src/algorithms/graph/floyd-warshall) - menemukan jalur terpendek antara semua pasangan sudut
196+
- `L` [Algoritma Bellman-Ford](src/algorithms/graph/bellman-ford) - menemukan jalur terpendek ke semua sudut graf dari sudut tunggal
197+
- `L` [Algoritma Floyd-Warshall](src/algorithms/graph/floyd-warshall) - menemukan jalur terpendek antara semua pasangan sudut
198198
- `L` [Pencocokan Ekspresi Reguler](src/algorithms/string/regular-expression-matching)
199-
- **Runut-balik** - sama halnya dengan _brute force_, algoritme ini mencoba untuk menghasilkan segala kemungkinan solusi, tetapi setiap kali anda menghasilkan solusi selanjutnya, anda akan menguji apakah solusi tersebut memenuhi semua kondisi dan setelah itu baru akan menghasilkan solusi berikutnya. Apabila tidak, maka akan merunut-balik dan mencari solusi di jalur yang berbeda. Biasanya menggunakan lintas DFS dari ruang keadaan.
199+
- **Runut-balik** - sama halnya dengan _brute force_, algoritma ini mencoba untuk menghasilkan segala kemungkinan solusi, tetapi setiap kali anda menghasilkan solusi selanjutnya, anda akan menguji apakah solusi tersebut memenuhi semua kondisi dan setelah itu baru akan menghasilkan solusi berikutnya. Apabila tidak, maka akan merunut-balik dan mencari solusi di jalur yang berbeda. Biasanya menggunakan lintas DFS dari ruang keadaan.
200200
- `P` [Permainan Melompat](src/algorithms/uncategorized/jump-game)
201201
- `P` [_Unique Paths_](src/algorithms/uncategorized/unique-paths)
202202
- `P` [Himpunan Kuasa](src/algorithms/sets/power-set) - semua himpunan bagian dari sebuah himpunan
@@ -236,7 +236,7 @@ npm test -- 'LinkedList'
236236

237237
**_Playground_**
238238

239-
Anda dapat bermain dengan algoritme dan struktur data di _file_ `./src/playground/playground.js` dan menuliskan tesnya di `./src/playground/__test__/playground.test.js`.
239+
Anda dapat bermain dengan algoritma dan struktur data di _file_ `./src/playground/playground.js` dan menuliskan tesnya di `./src/playground/__test__/playground.test.js`.
240240

241241
Lalu, hanya tinggal menjalankan perintah berikut untuk mengetes apakah kode _playground_ anda bekerja sesuai dengan keinginan:
242242

@@ -248,11 +248,11 @@ npm test -- 'playground'
248248

249249
### Referensi
250250

251-
[Algoritme dan Struktur Data di YouTube](https://www.youtube.com/playlist?list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8)
251+
[Algoritma dan Struktur Data di YouTube](https://www.youtube.com/playlist?list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8)
252252

253253
### Notasi _Big O_
254254

255-
Notasi _Big O_ digunakan untuk mengklasifikasikan algoritme berdasarkan durasi atau ruang yang dibutuhkan seiring bertambahnya _input_. Pada grafik dibawah, anda dapat menemukan urutan pertumbuhan yang paling umum dari algoritme yang ditentukan dalam notasi _Big O_.
255+
Notasi _Big O_ digunakan untuk mengklasifikasikan algoritma berdasarkan durasi atau ruang yang dibutuhkan seiring bertambahnya _input_. Pada grafik dibawah, anda dapat menemukan urutan pertumbuhan yang paling umum dari algoritma yang ditentukan dalam notasi _Big O_.
256256

257257
![Big O graphs](./assets/big-o-graph.png)
258258

@@ -285,7 +285,7 @@ Di bawah ini adalah daftar dari beberapa notasi _Big O_ yang sering digunakan da
285285
| **AVL Tree** | log(n) | log(n) | log(n) | log(n) | |
286286
| **Bloom Filter** | - | 1 | 1 | - | Positif palsu dimungkinkan saat pencarian |
287287

288-
### Kompleksitas Algoritme Sortir Larik
288+
### Kompleksitas Algoritma Sortir Larik
289289

290290
| Nama | Terbaik | Rata-rata | Terburuk | Memori | Stabil | Keterangan |
291291
| -------------------------------------- | :-----------: | :--------------------------: | :-------------------------: | :----: | :----: | :-------------------------------------------------------------------------------- |

0 commit comments

Comments
 (0)