What's the fastest way to alphabetize your bookshelf? - Chand John

3,890,933 views ・ 2016-11-28

TED-Ed


Silakan klik dua kali pada teks bahasa Inggris di bawah ini untuk memutar video.

Translator: Rahma Kartika Reviewer: Yolanda Raintina
00:06
You work at the college library.
0
6911
2266
Kamu bekerja di perpustakaan kampus.
00:09
You're in the middle of a quiet afternoon
1
9177
2220
Kamu berada di sore yang tenang
00:11
when suddenly a shipment of 1,280 different books arrives.
2
11397
6614
ketika tiba-tiba datang kiriman 1.280 buku yang berbeda.
00:18
The books have been dropped of in one long straight line,
3
18011
3679
Buku-buku itu ditaruh di satu baris lurus,
00:21
but they're all out of order,
4
21690
1598
tapi tidak berurutan,
00:23
and the automatic sorting system is broken.
5
23288
3743
dan sistem penyortir otomatisnya rusak.
00:27
To make matters worse, classes start tomorrow,
6
27031
2636
Lebih buruknya lagi, kelas-kelas dimulai besok,
00:29
which means that first thing in the morning,
7
29667
2338
yang artinya, pagi hari nanti,
00:32
students will show up in droves looking for these books.
8
32005
4552
para siswa akan berbondong-bondong mencari buku-buku ini.
00:36
How can you get them all sorted in time?
9
36557
2936
Bagaimana kamu bisa menyortir semuanya dalam waktu singkat?
00:39
One way would be to start at one end of the line with the first pair of books.
10
39493
5286
Salah satu caranya adalah memulai dari sepasang buku di ujung barisan.
00:44
If the first two books are in order, then leave them as they are.
11
44779
3847
Jika dua buku pertama sudah urut, biarkan apa adanya.
00:48
Otherwise, swap them.
12
48626
2294
Jika tidak, tukar keduanya.
00:50
Then, look at the second and third books,
13
50920
2296
Kemudian, lihat buku kedua dan ketiga,
00:53
repeat the process,
14
53216
1663
ulangi prosesnya,
00:54
and continue until you reach the end of the line.
15
54879
3056
dan lanjutkan hingga kamu mencapai ujung baris.
00:57
At some point, you'll come across the book that should be last,
16
57935
3250
Kadang, kamu akan menemukan buku yang seharusnya diletakkan di akhir,
01:01
and keep swapping it with every subsequent book,
17
61185
3525
dan terus tukar dengan buku selanjutnya,
01:04
moving it down the line until it reaches the end where it belongs.
18
64710
4570
pindahkan hingga mencapai ujung di mana seharusnya buku ini berada.
01:09
Then, start from the beginning and repeat the process
19
69280
2945
Kemudian, mulai dari awal dan ulangi prosesnya
01:12
to get the second to last book in its proper place,
20
72225
3285
agar buku kedua hingga terakhir berada di tempat yang tepat,
01:15
and keep going until all books are sorted.
21
75510
3311
dan terus lanjutkan hingga semua buku diurutkan.
01:18
This approach is called Bubble Sort.
22
78821
3041
Pendekatan ini disebut Bubble Sort.
01:21
It's simple but slow.
23
81862
2294
Sederhana tapi lambat.
01:24
You'd make 1,279 comparisons in the first round,
24
84156
5175
Kamu akan membuat 1.279 perbandingan di tahap pertama,
01:29
then 1,278, and so on,
25
89331
4292
kemudian 1.278, dan seterusnya,
01:33
adding up to 818,560 comparisons.
26
93623
4919
sehingga menjadi 818.560 perbandingan.
01:38
If each took just one second, the process would take over nine days.
27
98542
5731
Jika tiap proses perlu waktu satu detik, maka akan memakan waktu lebih dari 9 hari.
01:44
A second strategy would be to start by sorting just the first two books.
28
104273
4296
Cara kedua adalah mulai dengan menyortir dua buku pertama saja.
01:48
Then, take the third book and compare it with the book in the second spot.
29
108569
5164
Kemudian, bandingkan buku ketiga dengan buku kedua.
01:53
If it belongs before the second book, swap them,
30
113733
3440
Jika seharusnya berada di sebelum buku kedua, tukar mereka,
01:57
then compare it with the book in the first spot,
31
117173
2468
kemudian bandingkan dengan buku pertama,
01:59
and swap again if needed.
32
119641
2041
dan tukar lagi jika diperlukan.
02:01
Now you've sorted the first three books.
33
121682
2198
Sekarang, tiga buku pertama sudah urut.
02:03
Keep adding one book at a time to the sorted sub-line,
34
123880
3852
Terus tambah satu buku ke barisan buku yang sudah diurutkan,
02:07
comparing and swapping the new book with the one before it
35
127732
4077
bandingkan, tukar buku yang baru diambil dengan buku sebelumnya
02:11
until it's correctly placed among the books sorted so far.
36
131809
4195
hingga berada di tempat yang tepat di antara buku-buku yang telah disortir.
02:16
This is called Insertion Sort.
37
136004
2209
Ini disebut Insertion Sort.
02:18
Unlike Bubble Sort, it usually doesn't require comparing every pair of books.
38
138213
4731
Tidak seperti Bubble Sort, ini tidak perlu membandingkan tiap pasang buku.
02:22
On average, we'd expect to only need to compare each book
39
142944
4010
Biasanya, kita berharap hanya membandingkan setiap buku
02:26
to half of the books that came before it.
40
146954
2460
dengan separuh buku-buku sebelumnya.
02:29
In that case, the total number of comparisons
41
149414
2709
Dalam kasus tersebut, total perbandingan akan menjadi 409.280,
02:32
would be 409,280,
42
152123
3860
02:35
taking almost five days.
43
155983
2152
memerlukan waktu hampir lima hari.
02:38
You're still doing way too many comparisons.
44
158135
2489
Kamu masih melakukan terlalu banyak perbandingan.
02:40
Here's a better idea.
45
160624
1891
Ada cara yang lebih baik.
02:42
First, pick a random book.
46
162515
2370
Pertama, ambil satu buku secara acak.
02:44
Call it the partition and compare it to every other book.
47
164885
4721
Sebut itu sebagai sekat dan bandingkan dengan semua buku lainnya.
02:49
Then, divide the line
48
169606
1909
Kemudian, bagi barisannya menjadi dua
02:51
by placing all the books that come before the partition on its left
49
171515
4151
dengan menaruh semua buku yang ada di depan sekat di sebelah kiri
02:55
and all the ones that come after it on its right.
50
175666
3159
dan yang berada di setelahnya di kanannya.
02:58
You've just saved loads of time
51
178825
1590
Kamu sudah menghemat banyak waktu
03:00
by not having to compare any of the books on the left
52
180415
3430
dengan tidak membandingkan semua buku di kiri
03:03
to any of the ones on the right ever again.
53
183845
3400
dengan semua buku di kanan.
03:07
Now, looking only at the books on the left,
54
187245
2420
Sekarang, hanya melihat buku-buku di sebelah kiri,
03:09
you can again pick a random partition book
55
189665
2877
kamu bisa memilih buku sekat secara acak lagi
03:12
and separate those books that come before it from those that come after it.
56
192542
4724
dan memisahkan buku yang ada di sebelumnya dengan yang ada di setelahnya.
03:17
You can keep creating sub-partitions like this
57
197266
2470
Kamu bisa terus membuat sub-sekat seperti ini
03:19
until you have a bunch of small sub-lines,
58
199736
2648
hingga membentuk beberapa sub-baris kecil,
03:22
each of which you'd sort quickly using another strategy, like Insertion Sort.
59
202384
5380
masing-masing kamu urutkan dengan strategi lain, seperti Insertion Sort.
03:27
Each round of partitioning requires about 1,280 comparisons.
60
207764
5162
Setiap tahap sekat memerlukan sekitar 1.280 perbandingan.
03:32
If your partitions are pretty balanced,
61
212926
2540
Jika sekatmu cukup seimbang,
03:35
dividing the books into 128 sub-lines of ten would take about seven rounds,
62
215466
5790
buku-buku dapat dibagi menjadi 128 baris dengan 10 buku dalam 7 tahap
03:41
or 8,960 seconds.
63
221256
2691
atau 8.960 detik.
03:43
Sorting these sub-lines would add about 22 seconds each.
64
223947
4789
Mengurutkan sub-baris ini akan menambah masing-masing sekitar 22 detik.
03:48
All in all, this method known as QuickSort
65
228736
3081
Metode yang dikenal sebagai QuickSort ini
03:51
could sort the books in under three and a half hours.
66
231817
3066
dapat mengurutkan buku-buku selama kurang dari 3.5 jam.
03:54
But there's a catch.
67
234883
1114
Tapi ada kendalanya.
03:55
Your partitions could end up lopsided, saving no time at all.
68
235997
3578
Kamu tidak bisa menghemat waktu jika sekatmu tidak seimbang.
03:59
Luckily, this rarely happens.
69
239575
1902
Untungnya, ini jarang terjadi.
04:01
That's why QuickSort is one of the most efficient strategies
70
241477
3433
Itulah kenapa QuickSort adalah satu dari strategi yang paling efisien
04:04
used by programmers today.
71
244910
2006
yang digunakan para programmer saat ini.
04:06
They use it for things like sorting items in an online store by price,
72
246916
3931
Mereka menggunakannya untuk menyortir barang di toko online berdasarkan harga,
04:10
or creating a list of all the gas stations close to a given location
73
250847
4011
atau membuat daftar semua SPBU yang dekat lokasi tertentu
04:14
sorted by distance.
74
254858
1521
diurutkan berdasarkan jarak.
04:16
In your case, you're done quick sorting with time to spare.
75
256379
4028
Dalam kasusmu, kamu selesai mengurutkan dengan waktu yang masih tersisa.
04:20
Just another high-stakes day in the library.
76
260407
2261
Hari seperti ini sering terjadi di perpustakaan.
Tentang situs web ini

Situs ini akan memperkenalkan Anda pada video YouTube yang berguna untuk belajar bahasa Inggris. Anda akan melihat pelajaran bahasa Inggris yang diajarkan oleh guru-guru terbaik dari seluruh dunia. Klik dua kali pada subtitle bahasa Inggris yang ditampilkan di setiap halaman video untuk memutar video dari sana. Subtitle bergulir selaras dengan pemutaran video. Jika Anda memiliki komentar atau permintaan, silakan hubungi kami menggunakan formulir kontak ini.

https://forms.gle/WvT1wiN1qDtmnspy7