Return to Video

Apa cara tercepat untuk mengurutkan buku sesuai abjad? - Chand John

  • 0:06 - 0:09
    Kamu bekerja di perpustakaan kampus.
  • 0:09 - 0:11
    Kamu berada di sore yang tenang
  • 0:11 - 0:18
    ketika tiba-tiba datang kiriman
    1.280 buku yang berbeda.
  • 0:18 - 0:22
    Buku-buku itu ditaruh di satu baris lurus,
  • 0:22 - 0:23
    tapi tidak berurutan,
  • 0:23 - 0:27
    dan sistem penyortir otomatisnya rusak.
  • 0:27 - 0:30
    Lebih buruknya lagi,
    kelas-kelas dimulai besok,
  • 0:30 - 0:32
    yang artinya,
    pagi hari nanti,
  • 0:32 - 0:37
    para siswa akan berbondong-bondong
    mencari buku-buku ini.
  • 0:37 - 0:39
    Bagaimana kamu bisa menyortir semuanya
    dalam waktu singkat?
  • 0:39 - 0:45
    Salah satu caranya adalah memulai dari
    sepasang buku di ujung barisan.
  • 0:45 - 0:49
    Jika dua buku pertama sudah urut,
    biarkan apa adanya.
  • 0:49 - 0:51
    Jika tidak, tukar keduanya.
  • 0:51 - 0:53
    Kemudian, lihat buku kedua dan ketiga,
  • 0:53 - 0:55
    ulangi prosesnya,
  • 0:55 - 0:58
    dan lanjutkan hingga kamu mencapai
    ujung baris.
  • 0:58 - 1:01
    Kadang, kamu akan menemukan buku
    yang seharusnya diletakkan di akhir,
  • 1:01 - 1:05
    dan terus tukar dengan buku selanjutnya,
  • 1:05 - 1:09
    pindahkan hingga mencapai ujung
    di mana seharusnya buku ini berada.
  • 1:09 - 1:12
    Kemudian, mulai dari awal
    dan ulangi prosesnya
  • 1:12 - 1:16
    agar buku kedua hingga terakhir
    berada di tempat yang tepat,
  • 1:16 - 1:19
    dan terus lanjutkan hingga semua buku
    diurutkan.
  • 1:19 - 1:22
    Pendekatan ini disebut Bubble Sort.
  • 1:22 - 1:24
    Sederhana tapi lambat.
  • 1:24 - 1:29
    Kamu akan membuat 1.279 perbandingan
    di tahap pertama,
  • 1:29 - 1:34
    kemudian 1.278, dan seterusnya,
  • 1:34 - 1:39
    sehingga menjadi 818.560 perbandingan.
  • 1:39 - 1:44
    Jika tiap proses perlu waktu satu detik,
    maka akan memakan waktu lebih dari 9 hari.
  • 1:44 - 1:49
    Cara kedua adalah mulai dengan
    menyortir dua buku pertama saja.
  • 1:49 - 1:54
    Kemudian, bandingkan buku ketiga
    dengan buku kedua.
  • 1:54 - 1:57
    Jika seharusnya berada
    di sebelum buku kedua, tukar mereka,
  • 1:57 - 2:00
    kemudian bandingkan dengan buku pertama,
  • 2:00 - 2:02
    dan tukar lagi jika diperlukan.
  • 2:02 - 2:04
    Sekarang, tiga buku pertama sudah urut.
  • 2:04 - 2:08
    Terus tambah satu buku
    ke barisan buku yang sudah diurutkan,
  • 2:08 - 2:12
    bandingkan, tukar buku yang baru diambil
    dengan buku sebelumnya
  • 2:12 - 2:16
    hingga berada di tempat yang tepat
    di antara buku-buku yang telah disortir.
  • 2:16 - 2:18
    Ini disebut Insertion Sort.
  • 2:18 - 2:23
    Tidak seperti Bubble Sort, ini tidak perlu
    membandingkan tiap pasang buku.
  • 2:23 - 2:27
    Biasanya, kita berharap hanya
    membandingkan setiap buku
  • 2:27 - 2:29
    dengan separuh buku-buku sebelumnya.
  • 2:29 - 2:36
    Dalam kasus tersebut, total perbandingan
    akan menjadi 409.280,
  • 2:36 - 2:38
    memerlukan waktu hampir lima hari.
  • 2:38 - 2:41
    Kamu masih melakukan
    terlalu banyak perbandingan.
  • 2:41 - 2:43
    Ada cara yang lebih baik.
  • 2:43 - 2:45
    Pertama, ambil satu buku secara acak.
  • 2:45 - 2:50
    Sebut itu sebagai sekat
    dan bandingkan dengan semua buku lainnya.
  • 2:50 - 2:52
    Kemudian, bagi barisannya menjadi dua
  • 2:52 - 2:56
    dengan menaruh semua buku yang ada
    di depan sekat di sebelah kiri
  • 2:56 - 2:59
    dan yang berada di setelahnya di kanannya.
  • 2:59 - 3:00
    Kamu sudah menghemat banyak waktu
  • 3:00 - 3:04
    dengan tidak membandingkan
    semua buku di kiri
  • 3:04 - 3:07
    dengan semua buku di kanan.
  • 3:07 - 3:10
    Sekarang, hanya melihat buku-buku
    di sebelah kiri,
  • 3:10 - 3:13
    kamu bisa memilih buku sekat
    secara acak lagi
  • 3:13 - 3:17
    dan memisahkan buku yang ada di sebelumnya
    dengan yang ada di setelahnya.
  • 3:17 - 3:20
    Kamu bisa terus membuat sub-sekat
    seperti ini
  • 3:20 - 3:22
    hingga membentuk beberapa sub-baris kecil,
  • 3:22 - 3:28
    masing-masing kamu urutkan dengan
    strategi lain, seperti Insertion Sort.
  • 3:28 - 3:33
    Setiap tahap sekat memerlukan
    sekitar 1.280 perbandingan.
  • 3:33 - 3:35
    Jika sekatmu cukup seimbang,
  • 3:35 - 3:41
    buku-buku dapat dibagi menjadi 128 baris
    dengan 10 buku dalam 7 tahap
  • 3:41 - 3:44
    atau 8.960 detik.
  • 3:44 - 3:49
    Mengurutkan sub-baris ini akan menambah
    masing-masing sekitar 22 detik.
  • 3:49 - 3:52
    Metode yang dikenal sebagai QuickSort ini
  • 3:52 - 3:55
    dapat mengurutkan buku-buku
    selama kurang dari 3.5 jam.
  • 3:55 - 3:56
    Tapi ada kendalanya.
  • 3:56 - 4:00
    Kamu tidak bisa menghemat waktu
    jika sekatmu tidak seimbang.
  • 4:00 - 4:01
    Untungnya, ini jarang terjadi.
  • 4:01 - 4:05
    Itulah kenapa QuickSort adalah
    satu dari strategi yang paling efisien
  • 4:05 - 4:07
    yang digunakan para programmer saat ini.
  • 4:07 - 4:11
    Mereka menggunakannya untuk menyortir
    barang di toko online berdasarkan harga,
  • 4:11 - 4:15
    atau membuat daftar semua SPBU
    yang dekat lokasi tertentu
  • 4:15 - 4:16
    diurutkan berdasarkan jarak.
  • 4:16 - 4:20
    Dalam kasusmu, kamu selesai mengurutkan
    dengan waktu yang masih tersisa.
  • 4:20 - 4:23
    Hari seperti ini sering terjadi
    di perpustakaan.
Title:
Apa cara tercepat untuk mengurutkan buku sesuai abjad? - Chand John
Speaker:
Chand John
Description:

Simak materi selengkapnya: http://ed.ted.com/lessons/what-s-the-fastest-way-to-alphabetize-your-bookshelf-chand-john

Kamu bekerja di perpustakaan kampus. Kamu berada di suatu sore yang tenang ketika tiba-tiba datang kiriman 1.280 buku. Buku-buku itu ditaruh di satu baris lurus, tapi tidak berurutan, dan mesin penyortir otomatis rusak. Bagaimana kamu menyortir buku-buku itu dalam waktu singkat? Chand John menunjukkan caranya, menjelaskan bagaimana algoritma membantu pustakawan dan mesin pencari menyortir informasi dengan cepat.

Materi oleh Chand John, animasi oleh Anton Trofimov.

more » « less
Video Language:
English
Team:
closed TED
Project:
TED-Ed
Duration:
04:39

Indonesian subtitles

Revisions