Metode
Pengurutan
Pengurutan (Sorting) adalah proses mengatur kumpulan data menjadi urutan tertentu, biasanya dalam urutan
numerik atau abjad. Python menyediakan beberapa metode dan fungsi bawaan untuk melakukan pengurutan
data.
Berikut adalah contoh implementasi pengurutan secara manual (tanpa menggunakan metode bawaan) di Python menggunakan
algoritma pengurutan gelembung (bubble sort)
def bubble_sort(arr):
n = len(arr)
for i in range(n - 1):
for j in range(n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
# Contoh penggunaan:
numbers = [5, 2, 9, 1, 6]
bubble_sort(numbers)
print(numbers)
[1, 2, 5, 6, 9]
Di bawah ini adalah beberapa metode pengurutan yang umum digunakan di Python :
1. Metode sort() pada List:
List adalah struktur data yang umum digunakan di Python, dan metode sort() dapat digunakan untuk mengurutkan elemen dalam List.
Contoh penggunaannya sebagai berikut:
Contoh 1 : sort()
numbers = [5, 2, 9, 1, 6]
[Link]()
print(numbers)
[1, 2, 5, 6, 9]
2. Fungsi sorted():
Python juga menyediakan fungsi bawaan sorted() yang mengambil sebuah iterable dan mengembalikan versi terurut dari iterable
tersebut sebagai list baru. Contoh penggunaannya sebagai berikut:
Urutan harus dalam keadaan terurut.
Jika elemen ditemukan, kembalikan indeks elemen tersebut.
Jika elemen tidak ditemukan, kembalikan nilai -1 atau tampilkan pesan bahwa elemen tidak ditemukan.
Contoh 2: Pengurutan dengan sorted()
numbers = [20, 10, 15, 85, 30, 27, 49, 29]
sorted_numbers = sorted(numbers)
print(sorted_numbers)
[10, 15, 20, 27, 29, 30, 49, 85]
3. Metode sort() pada Tuple:
Tuple adalah struktur data lainnya di Python, namun karena sifatnya yang tidak dapat diubah (immutable), tidak ada metode sort() yang
tersedia. Namun, Kita dapat menggunakan fungsi sorted() untuk mengurutkan tuple dan mengembalikan list terurut. Contoh
penggunaannya sebagai berikut:
Contoh 3 : sort() pada Tuple
tuple_numbers = (5, 2, 9, 1, 6)
sorted_numbers = sorted(tuple_numbers)
print(sorted_numbers)
[1, 2, 5, 6, 9]
4. Metode sort() pada String:
String juga merupakan iterable di Python, dan kita dapat menggunakan metode sort() atau fungsi sorted() untuk mengurutkan karakter
dalam string. Contoh penggunaannya sebagai berikut:
Contoh 4 : sort() pada String
word = "openai"
sorted_word = sorted(word)
print(sorted_word)
['a', 'e', 'i', 'n', 'o', 'p']
5. Mengurutkan dengan Kunci Khusus:
Baik metode sort() maupun fungsi sorted() mendukung argumen kunci opsional yang memungkinkan kita untuk menentukan fungsi
khusus yang digunakan untuk menghasilkan nilai kunci untuk setiap elemen yang akan digunakan dalam proses pengurutan. Contoh
penggunaannya sebagai berikut:
Contoh 5 : sorting dengan key
students = [
{"name": "Andika", "usia": 20},
{"name": "Budi", "usia": 19},
{"name": "Sudarsono", "usia": 21}
]
sorted_students = sorted(students, key=lambda student: student["usia"])
print(sorted_students)
[{'name': 'Budi', 'usia': 19}, {'name': 'Andika', 'usia': 20}, {'name': 'Sudarsono', 'usia': 21}]
Contoh implementasi pengurutan data tabel berdasarkan kolom tertentu menggunakan library Pandas dalam Python
import pandas as pd
# Membuat data tabel dalam bentuk DataFrame
data = {
'Nama': ['Alif', 'Ba', 'Ta'],
'Usia': [20, 19, 21],
'Nilai': [85, 92, 78]
}
df = [Link](data)
# Mengurutkan data tabel berdasarkan kolom 'Usia' secara naik (ascending)
sorted_df = df.sort_values(by='Usia')
# Menampilkan data tabel yang sudah diurutkan
print(sorted_df)
Nama Usia Nilai
1 Ba 19 92
0 Alif 20 85
2 Ta 21 78
import pandas as pd
data = {
'Nama': ['Alif', 'Ba', 'Ta'],
'Usia': [20, 19, 21],
'Nilai': [85, 92, 78]
}
df = [Link](data)
# Mengurutkan data tabel berdasarkan kolom 'Usia' secara menurun (descending)
sorted_df = df.sort_values(by='Usia',ascending=False)
# Menampilkan data tabel yang sudah diurutkan
print(sorted_df)
Nama Usia Nilai
2 Ta 21 78
0 Alif 20 85
1 Ba 19 92
Loading [MathJax]/jax/output/CommonHTML/fonts/TeX/[Link]