Skip to main content

List Methods 3

Pada materi sebelumnya, kita telah mempelajari berbagai list methods untuk menambahkan, menghapus, mencari, dan memeriksa elemen.

Pada materi ini, kita akan mempelajari cara:

  • Mengurutkan list.
  • Membuat list terurut tanpa mengubah list asli.
  • Menyalin list.
  • Membalikkan urutan elemen.

Beberapa operasi yang akan dipelajari:

sort()
sorted()
copy()
reverse()

1. Mengurutkan List dengan sort()

Method:

sort()

digunakan untuk mengurutkan elemen di dalam list.

Untuk data berupa teks, secara umum pengurutan dilakukan berdasarkan urutan alfabet.

Contohnya:

basket = ["a", "x", "b", "c", "d", "e"]

basket.sort()

print(basket)

Hasil:

['a', 'b', 'c', 'd', 'e', 'x']

2. sort() Bekerja Secara In-Place

Method sort() mengubah list secara langsung.

Contohnya:

basket = ["a", "x", "b", "c", "d", "e"]

basket.sort()

print(basket)

Setelah sort() dijalankan, isi basket sudah berubah menjadi:

['a', 'b', 'c', 'd', 'e', 'x']

List asli tidak dipertahankan dalam urutan sebelumnya.


3. Return Value sort()

Seperti beberapa list methods lainnya, sort() bekerja secara in-place dan menghasilkan:

None

Contohnya:

basket = ["a", "x", "b", "c", "d", "e"]

result = basket.sort()

print(result)

Hasil:

None

Namun list tetap berhasil diurutkan:

print(basket)

Hasil:

['a', 'b', 'c', 'd', 'e', 'x']

Jadi, jangan menulis:

new_basket = basket.sort()

jika tujuan Anda adalah mendapatkan list hasil pengurutan.


4. Mengurutkan Angka dengan sort()

sort() juga dapat digunakan untuk mengurutkan angka.

Contohnya:

numbers = [5, 2, 8, 1, 3]

numbers.sort()

print(numbers)

Hasil:

[1, 2, 3, 5, 8]

Secara default, angka diurutkan dari nilai terkecil ke terbesar.


5. Mengurutkan Tanpa Mengubah List dengan sorted()

Python juga menyediakan built-in function:

sorted()

yang dapat digunakan untuk menghasilkan list baru dalam keadaan terurut.

Contohnya:

basket = ["a", "x", "b", "c", "d", "e"]

new_basket = sorted(basket)

print(new_basket)

Hasil:

['a', 'b', 'c', 'd', 'e', 'x']

6. sorted() Tidak Mengubah List Asli

Berbeda dengan sort(), sorted() tidak mengubah list yang diberikan.

Contohnya:

basket = ["a", "x", "b", "c", "d", "e"]

new_basket = sorted(basket)

print(new_basket)
print(basket)

Hasil:

['a', 'b', 'c', 'd', 'e', 'x']
['a', 'x', 'b', 'c', 'd', 'e']

Dengan demikian:

sort()

Mengubah list asli

sorted()

Menghasilkan list baru

7. Perbandingan sort() dan sorted()

OperasiJenisMengubah List AsliReturn
list.sort()MethodYaNone
sorted(list)Built-in functionTidakList baru

Gunakan:

basket.sort()

jika memang ingin mengubah list asli.

Gunakan:

new_basket = sorted(basket)

jika ingin mempertahankan list asli.


8. Menyalin List dengan copy()

Method:

copy()

digunakan untuk membuat salinan dari sebuah list.

Contohnya:

basket = ["a", "b", "c", "d", "e"]

new_basket = basket.copy()

print(new_basket)

Hasil:

['a', 'b', 'c', 'd', 'e']

new_basket merupakan list baru berdasarkan isi basket.


9. Mengapa copy() Dibutuhkan?

Perhatikan jika kita menggunakan assignment biasa:

basket = ["a", "b", "c"]

new_basket = basket

new_basket[0] = "x"

print(basket)

Hasil:

['x', 'b', 'c']

List basket ikut berubah karena kedua variable merujuk pada list yang sama.

Jika kita menggunakan:

new_basket = basket.copy()

maka kita membuat list baru.

Contohnya:

basket = ["a", "b", "c"]

new_basket = basket.copy()

new_basket[0] = "x"

print(new_basket)
print(basket)

Hasil:

['x', 'b', 'c']
['a', 'b', 'c']

Perubahan pada new_basket tidak mengubah basket.


10. copy() dan Slicing [:]

Ada beberapa cara untuk membuat shallow copy dari list.

Salah satunya:

new_basket = basket.copy()

Cara lainnya menggunakan slicing:

new_basket = basket[:]

Keduanya dapat digunakan untuk membuat salinan list pada level dasar.

Contohnya:

basket = ["a", "b", "c"]

new_basket = basket[:]

atau:

new_basket = basket.copy()

Keduanya menghasilkan list baru.


11. Membalikkan List dengan reverse()

Method:

reverse()

digunakan untuk membalikkan urutan elemen di dalam list.

Contohnya:

basket = ["a", "b", "c", "d", "e"]

basket.reverse()

print(basket)

Hasil:

['e', 'd', 'c', 'b', 'a']

12. reverse() Bukan Sorting

Penting untuk membedakan:

sort()

dan:

reverse()

sort() mengurutkan elemen.

Sedangkan reverse() hanya membalikkan urutan elemen yang sudah ada.

Contohnya:

basket = ["c", "a", "e", "b", "d"]

basket.reverse()

print(basket)

Hasil:

['d', 'b', 'e', 'a', 'c']

Perhatikan bahwa hasilnya bukan urutan alfabet.

Urutan hanya dibalik dari:

c → a → e → b → d

menjadi:

d → b → e → a → c

13. reverse() Bekerja Secara In-Place

Sama seperti sort(), method reverse() mengubah list secara langsung.

Contohnya:

numbers = [1, 2, 3, 4, 5]

numbers.reverse()

print(numbers)

Hasil:

[5, 4, 3, 2, 1]

List asli telah berubah urutannya.


14. Return Value reverse()

reverse() juga tidak menghasilkan list baru.

Contohnya:

numbers = [1, 2, 3, 4, 5]

result = numbers.reverse()

print(result)

Hasil:

None

Namun list telah berubah:

print(numbers)

Hasil:

[5, 4, 3, 2, 1]

15. Mengurutkan dari Terbesar ke Terkecil

Salah satu cara sederhana untuk mendapatkan urutan dari besar ke kecil adalah:

  1. Mengurutkan list.
  2. Membalikkan hasilnya.

Contohnya:

numbers = [5, 2, 8, 1, 3]

numbers.sort()
numbers.reverse()

print(numbers)

Hasil:

[8, 5, 3, 2, 1]

Untuk string:

basket = ["a", "x", "b", "c", "d", "e"]

basket.sort()
basket.reverse()

print(basket)

Hasil:

['x', 'e', 'd', 'c', 'b', 'a']

Pada Python modern, pengurutan descending juga dapat dilakukan langsung menggunakan parameter reverse=True pada sort() atau sorted(). Konsep tersebut dapat dipelajari lebih lanjut ketika membahas parameter function.


16. Perbandingan sort() dan reverse()

Misalnya:

numbers = [5, 2, 8, 1, 3]

Dengan:

numbers.sort()

hasilnya:

[1, 2, 3, 5, 8]

Sedangkan jika:

numbers.reverse()

dijalankan pada list awal:

[5, 2, 8, 1, 3]

hasilnya:

[3, 1, 8, 2, 5]

Jadi:

sort()

Mengurutkan

reverse()

Membalikkan

17. Contoh Penggunaan Bersama

Beberapa method dapat digunakan secara berurutan.

Contohnya:

basket = ["a", "x", "b", "c", "d", "e"]

basket.sort()
basket.reverse()

print(basket)

Hasil:

['x', 'e', 'd', 'c', 'b', 'a']

Prosesnya:

List awal

['a', 'x', 'b', 'c', 'd', 'e']

sort()

['a', 'b', 'c', 'd', 'e', 'x']

reverse()

['x', 'e', 'd', 'c', 'b', 'a']

18. Ringkasan

OperasiFungsiMengubah List AsliReturn
sort()Mengurutkan listYaNone
sorted()Menghasilkan list terurutTidakList baru
copy()Membuat salinan listTidakList baru
reverse()Membalikkan urutan listYaNone

19. Kapan Menggunakan Masing-Masing?

Gunakan:

basket.sort()

ketika ingin mengubah list asli menjadi terurut.

Gunakan:

sorted(basket)

ketika ingin mendapatkan list terurut tanpa mengubah list asli.

Gunakan:

basket.copy()

ketika ingin membuat salinan list.

Gunakan:

basket.reverse()

ketika ingin membalikkan urutan elemen dalam list.


Kesimpulan

Python menyediakan beberapa cara untuk mengelola urutan dan salinan list.

sort() digunakan untuk mengurutkan list secara langsung:

basket.sort()

sorted() menghasilkan list baru yang sudah terurut:

new_basket = sorted(basket)

copy() digunakan untuk membuat salinan list:

new_basket = basket.copy()

Sedangkan reverse() digunakan untuk membalikkan urutan elemen:

basket.reverse()

Hal penting yang perlu diingat:

sort()
→ Mengurutkan dan mengubah list asli

sorted()
→ Menghasilkan list terurut baru

copy()
→ Membuat salinan list

reverse()
→ Membalikkan urutan dan mengubah list asli
info

Perhatikan perbedaan antara method yang memodifikasi list secara in-place dan function yang menghasilkan list baru. Pemahaman ini akan membantu menghindari kesalahan ketika bekerja dengan data dalam Python.