Python - Urutkan Array

Halo para pemrogram Python yang aspiratif! Hari ini, kita akan memasuki dunia yang menakjubkan tentang pengurutan array di Python. Jangan khawatir jika kamu masih baru di dunia pemrograman – saya akan memandu kamu melalui setiap langkah dengan banyak contoh dan penjelasan. Pada akhir tutorial ini, kamu akan dapat mengurutkan array seperti seorang profesianal!

Python - Sort Arrays

Apa itu Array di Python?

Sebelum kita melompat ke pengurutan, mari kita bicarakan secara singkat tentang apa itu array di Python. Di Python, kita biasanya menggunakan daftar (list) untuk mewakili array. Sebuah daftar adalah koleksi item yang dapat memiliki jenis yang berbeda. Misalnya:

fruits = ["apel", "pisang", "ceri", "kurma"]
numbers = [42, 8, 15, 16, 23]

Urutkan Array Menggunakan Algoritma Pengurutan

Mari kita mulai dengan algoritma pengurutan dasar yang disebut Bubble Sort. Itu bukan yang paling efisien, tetapi mudah untuk dipahami oleh pemula.

Bubble Sort

Berikut adalah implementasi sederhana dari Bubble Sort:

def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr

# Contoh penggunaan
numbers = [64, 34, 25, 12, 22, 11, 90]
sorted_numbers = bubble_sort(numbers)
print("Array yang diurutkan:", sorted_numbers)

Mari kita pecahkan ini:

  1. Kita mendefinisikan sebuah fungsi bernama bubble_sort yang mengambil sebuah array (daftar) sebagai input.
  2. Kita mendapatkan panjang array dan menyimpannya di n.
  3. Kita menggunakan dua loop bersarang untuk membandingkan elemen-elemen yang berdekatan.
  4. Jika sebuah elemen lebih besar daripada yang berikutnya, kita menukar mereka.
  5. Kita mengulangi proses ini sampai seluruh array terurut.

Ketika kamu menjalankan kode ini, kamu akan melihat:

Array yang diurutkan: [11, 12, 22, 25, 34, 64, 90]

Fakta menarik: Bubble Sort disebut demikian karena elemen yang lebih kecil "kembang" ke atas daftar dengan setiap iterasi!

Urutkan Array Menggunakan Metode sort() Daftar

Daftar di Python memiliki metode built-in sort() yang membuat pengurutan menjadi jauh lebih mudah. Mari kita lihat bagaimana cara kerjanya:

# Mengurutkan angka
numbers = [64, 34, 25, 12, 22, 11, 90]
numbers.sort()
print("Angka yang diurutkan:", numbers)

# Mengurutkan string
fruits = ["pisang", "ceri", "apel", "kurma"]
fruits.sort()
print("Buah yang diurutkan:", fruits)

Output:

Angka yang diurutkan: [11, 12, 22, 25, 34, 64, 90]
Buah yang diurutkan: ['apel', 'pisang', 'ceri', 'kurma']

Metode sort() mengubah daftar asli. Itu seperti mengatur ulang ruangan kamu – semua akhirnya berada dalam urutan, tetapi itu masih ruangan kamu!

Mengurutkan dalam Urutan Terbalik

Kamu juga dapat mengurutkan dalam urutan menurun dengan menambahkan parameter reverse=True:

numbers = [64, 34, 25, 12, 22, 11, 90]
numbers.sort(reverse=True)
print("Angka yang diurutkan (menurun):", numbers)

Output:

Angka yang diurutkan (menurun): [90, 64, 34, 25, 22, 12, 11]

Urutkan Array Menggunakan Fungsi sorted()

Fungsi sorted() adalah alat yang kuat lainnya di Python untuk pengurutan. Tidak seperti sort(), itu tidak mengubah daftar asli tetapi mengembalikan daftar baru yang terurut.

# Mengurutkan angka
numbers = [64, 34, 25, 12, 22, 11, 90]
sorted_numbers = sorted(numbers)
print("Angka asli:", numbers)
print("Angka yang diurutkan:", sorted_numbers)

# Mengurutkan string
fruits = ["pisang", "ceri", "apel", "kurma"]
sorted_fruits = sorted(fruits)
print("Buah asli:", fruits)
print("Buah yang diurutkan:", sorted_fruits)

Output:

Angka asli: [64, 34, 25, 12, 22, 11, 90]
Angka yang diurutkan: [11, 12, 22, 25, 34, 64, 90]
Buah asli: ['pisang', 'ceri', 'apel', 'kurma']
Buah yang diurutkan: ['apel', 'pisang', 'ceri', 'kurma']

Pikirkan sorted() sebagai membuat salinan dari daftar kamu dan mengurutkan salinan itu, meninggalkan yang asli tak terganggu. Itu seperti mengambil foto dari ruangan kotor kamu, lalu mengatur semua secara rapi di foto sementara ruangan kamu sebenarnya tetap sama!

Mengurutkan dengan Kunci Kostum

Salah satu fitur terbaik dari sorted() adalah kemampuan untuk menggunakan kunci pengurutan kostum. Misalnya, jika kita ingin mengurutkan daftar kata berdasarkan panjangnya:

words = ["python", "adalah", "hebat", "dan", "menyenangkan"]
sorted_words = sorted(words, key=len)
print("Diurutkan berdasarkan panjang:", sorted_words)

Output:

Diurutkan berdasarkan panjang: ['dan', 'adalah', 'hebat', 'python', 'menyenangkan']

Di sini, kita menggunakan len sebagai fungsi kunci. Python menerapkan fungsi ini ke setiap item dan mengurutkan berdasarkan hasilnya.

Perbandingan Metode Pengurutan

Mari kita ringkaskan metode pengurutan yang telah kita pelajari dalam tabel yang mudah diakses:

Metode Mengubah Asli Mengembalikan Daftar Baru Dapat Menggunakan Kunci Kostum
Bubble Sort Ya Tidak Tidak
list.sort() Ya Tidak Ya
sorted() Tidak Ya Ya

Kesimpulan

Selamat! Kamu baru saja mempelajari beberapa cara untuk mengurutkan array di Python. Dari mengimplementasikan algoritma pengurutan kamu sendiri hingga menggunakan metode built-in Python, kamu sekarang memiliki alat untuk menjaga data kamu tetap terorganisir.

Ingat, pengurutan adalah seperti mengatur buku di rak – ada banyak cara untuk melakukannya, dan metode terbaik tergantung pada apa yang kamu ingin capai. Latihanlah dengan jenis data dan metode pengurutan yang berbeda untuk menjadi seorang master pengurutan Python!

Selamat coding, dan semoga array kamu selalu terurut sempurna! ??

Credits: Image by storyset