Cara menggunakan PARTITION pada Python

Mengenal Quick Sort dan Penyelesaiannya Menggunakan Python – pesonainformatika.com pada studi kasus kali ini kita akan belajar tentang salah satu sorting algoritm setelah kitta belajar tentang Merge Sort dan Bubble Sort kali ini kita akan belajar tentang quick sort dan implemenrasinya menggunakan bahasa pemrograman python

Apa itu QuickSort

Quicksort adalah algoritma sorting yang cara kerjanya memilih pivot dari list dan memecah element lainya menjadi 2 bagian sublist

Ada beberapa versi quickSort yang memilih pivot dengan cara yang berbeda.

  1. Selalu Mengambil element pertama sebagai pivot
  2. Selalu mengambil element terakhir sebagai pivot
  3. mengambil item secara acak sebagai pivot
  4. mengambil median (nilai tengah) sebagai pivot

kali ini kita akan menggunakan element terakhir yang akan kita gunakan sebagai pivot (elemen yang akan dihitung)

Membuat Program

kali ini kita akan membuat program untuk mengurutkan suatu list buat file misalnya quicksort.py

sebelum membuat program kita perlu tau prosesnya untuk mengututkan dengan algoritma quicksort kita perlu memecah list nya menjadi beberapa bagian dan diurukan dahulu

disini kita perlu membuat fungsi untuk mengurutkanya misalkan namanya adalah partisi

def partisi(arr: list, low: int, high: int) -> int:
    i = low - 1
    pivot = arr[high]

    for j in range(low, high):
        if arr[j] <= pivot:
            i = i + 1
            arr[i], arr[j] = arr[j], arr[i]
    arr[i + 1], arr[high] = arr[high], arr[i + 1]
    return i + 1

disini akan mengurutkan array (list) yang akan kita input dan ada berbagai parameter

  • arr adalah list yang akan diurutkan
  • low adalah parameter untuk awal index
  • high adalah parameter untuk akhir index

kemudian kita embuat fungsi untuk menerapkan algorima quicksort

def quicksort(arr: list, low: int, high: int):
    if len(arr) == 1:
        return arr
    if low < high:
        p1 = partisi(arr, low, high)
        # mengurutkan dengan quicksort
        quicksort(arr, low, p1 - 1)
        quicksort(arr, p1 + 1, high)

disini kita menggunakan recursive function untuk mengurutkan setiap liat yang tadi kita pecah dan menyatukan kembali di akhir

kemudian kita coba hitung sebuah list contoh

array_list = [10, 7, 8, 9, 1, 5]

maka kita implementasi seperti ini

array_list = [10, 7, 8, 9, 1, 5]
n = len(array_list)
quicksort(array_list, 0, n - 1)
print(f'array yang sedang diurutkan')
for i in range(n):
    print(f'{array_list[i]}')

naka hasilnya

array yang sedang diurutkan
1
5
7
8
9
10

Cara menggunakan PARTITION pada Python
hasilnya

oke itu dia pembahasan studi kasus kali ini semoga bermanfaat, ikuti terus pesonainformatika, dan dapatkan studi kasus bahasa pemrograman lainya seperti  Java, Python  C++ semoga bermanfaat dan selamat mencoba source code dapat dilihat github

5 minutes

Cara menggunakan PARTITION pada Python

Sebenarnya ini adalah adalah bagian lanjutan dari artikel String Dalam Python. Dikarenakan pembahasan tentang string saya rasa masih banyak maka saya membuat bagian kedua berjudul String Method Dalam Python.

Ditutorial sebelumnya telah menyinggung tentang salah satu string method string yaitu format. Lalu apa sih method itu?.

Method adalah fungsi atau prosedur yang dibuat didalam suatu Class. Method dibagi dua kategori yaitu fungsi dan prosedur.

Kita akan mempelajari tentang method lebih dalam lagi diartikel lainnya, untuk sekarang kita hanya perlu fokus cara menggunakan string method yang sudah built-in di dalam python.


String Methods


Berikut adalah beberapa contoh string method yang ada di python :

  • capitalize()

    Mengubah karakter pertama pada huruf pertama menjadi huruf besar.

    judul = "kami semua adalah sama"
    print(judul.capitalize()) # Output : "Kami semua adalah sama"
    

  • title()

    Mengubah karakter pertama pada setiap huruf pada kalimat menjadi kapital. Biasa digunakan untuk judul.

    judul = "kami semua adalah sama"
    print(judul.title()) # Output : "Kami Semua Adalah Sama"
    

  • upper()

    Mengubah semua karakter pada string menjadi huruf besar.

    judul = "kami semua marah"
    print(judul.upper()) # Output : "KAMI SEMUA MARAH"
    

  • lower()

    Mengubah semua karakter pada string menjadi huruf kecil.

    judul = "KAMI SUDAH SABAR"
    print(judul.lower()) # Output : "kami sudah sabar"
    

  • casefold()

    Mengubah semua karakter pada string menjadi huruf kecil. Sama seperti lower() tetapi lebih aggresive dan kuat, yang berarti mengubah karakter apapun menjadi huruf kecil.

    judul = "AnbiDev For U"
    print(judul.casefold())  # Output : 'anbidev for u'
    

  • swapcase()

    Mengubah karakter dengan huruf besar menjadi huruf kecil dan sebaliknya (huruf kecil menjadi huruf besar).

    judul = "AnbiDev For U"
    print(judul.swapcase())  # Output : 'aNBIdEV fOR u'
    

  • center()

    Membuat string berada ditengah sesuai dengan berapa panjang width serta dapat menginputkan karakter.

    txt = "AnbiDev"
    print(txt.center(20))     # Output : '      AnbiDev       '
    
    # Dengan parameter karakter
    print(txt.center(20,'-')) # Output : '------AnbiDev-------'
    

  • replace()

    Mengubah sebuah karakter dengan karakter lain yang diinginkan.

    txt = "AnbiDev With Me"
    print(txt.replace('i','a'))    # Output : 'AnbaDev Wath Me'
    print(txt.replace('Me','You')) # Output : 'AnbiDev With You'
    

  • split()

    Membagi string ke substring(list) jika memiliki separator didalamnya. Separator dapat diganti dengan karakter lain.

    txt = "Aku, kamu + dia"
    print(txt.split())    # Output : ['Aku' , 'kamu + dia']
    
    # Ganti Separator menjadi spasi
    print(txt.split('+')) # Output : ['Aku, kamu', 'dia']
    

  • partition()

    Membagi string menjadi 3 bagian dan meletakannya ke tuple. Bagian itu terdiri dari karakter sebelum parameter, parameter itu sendiri, dan karakter sesudah paramater.

    txt = "saya menang dan anda kalah"
    print(txt.partition("dan"))
    # Output : ('saya menang ', 'dan', ' anda kalah')
    

  • count()

    Menghitung berapa kali karakter pada paramater muncul di kalimat atau huruf string.

    txt = "saya ingin menjadi diri saya sendiri"
    print(txt.count("saya"))  # Output : 2
    

  • encode()

    Mengubah encode pada string yang memiliki encoding yang spesifik. Jika tidak ada karakter yang diencode maka UTF-8 akan digunakan.

    txt = "ånbidev"
    print(txt.encode())  # Output : b'\xc3\xa5nbidev'
    

  • endswith()

    Mengecek apakah string di akhiri dengan karakter tertentu. Jika iya return True, jika tidak maka False.

    txt = "tuntaskan kasus pencurian."
    print(txt.endswith('.'))  # Output : True
    

  • find()

    Mencari karakter pada string dan jika karakter ada, akan memberikan output letak posisi pada string. Jika karakter tidak ada maka return -1.

    txt = "makan mangga memang manis."
    print(txt.find('mangga'))        # Output : 6
    print(txt.find('pedas'))         # Output : -1
    
    # Dengan parameter (start, end)
    print(txt.find('mangga', 5, 20)) # Output : 6
    
    

  • index()

    Mencari karakter pada string dan jika karakter ada, akan memberikan output letak posisi pada string. Jika karakter tidak ada maka return error (raise an exception).

    txt = "makan mangga memang manis."
    print(txt.index('mangga'))        # Output : 6
    print(txt.index('pedas'))         # Output : error
    
    # Dengan parameter (start, end)
    print(txt.index('mangga', 5, 20)) # Output : 6
    
    

  • strip()

    Menghilangkan spasi dikanan kiri karakter atau kalimat.

    txt = " saya adalah mereka "
    print(txt.strip()) # Output : "saya adalah mereka"
    

  • lstrip()

    Menghilangkan spasi dikiri karakter atau kalimat.

    txt = " saya adalah mereka "
    print(txt.lstrip()) # Output : "saya adalah mereka "
    

  • rstrip()

    Menghilangkan spasi dikanan karakter atau kalimat.

    txt = " saya adalah mereka "
    print(txt.rstrip()) # Output : " saya adalah mereka"
    

  • join()

    Menggabungkan iterable data atau sequence data menjadi satu string.

    buah = ("Mangga", "Apel", "Salak")
    gabung = "--"
    print(gabung.join(buah)) # Output : "Mangga--Apel--Salak"
    

  • isalnum()

    Mengecek apakah string ini berisi text dan numeric atau keduanya. Jika iya True.

    var = "AnbiDev101"
    print(var.isalnum())  # Output : True
    

  • isalpha()

    Mengecek apakah string ini berisi text saja tanpa numeric atau simbol lain.

    var = "AnbiDev"
    print(var.isalpha())  # Output : True
    

  • isdecimal()

    Mengecek apakah string ini berisi bilangan decimal tanpa text atau simbol lain.

    var = "123"
    print(var.isdecimal())  # Output : True
    

  • isdigit()

    Mengecek apakah string ini berisi bilangan decimal serta simbol matematika seperti ² dan sebagainya.

    var = "5020120"
    print(var.isdigit())  # Output : True
    

  • var = "varSum_1"
    print(var.isidentifier())  # Output : True
    

  • islower()

    Mengecek apakah string ini berisi karakter dengan huruf kecil semua.

    var = "anbidev"
    print(var.islower())  # Output : True
    

  • isupper()

    Mengecek apakah string ini berisi karakter dengan huruf besar semua.

    var = "ANBIDEV"
    print(var.isupper())  # Output : True
    

  • isnumeric()

    Mengecek apakah string ini berisi karakter numerik semua atau tidak.

    var = "12345"
    print(var.isnumeric())  # Output : True
    

  • isspace()

    Mengecek apakah string ini hanya berisi spasi saja atau tidak.

    var = " "
    print(var.isspace())  # Output : True
    

  • istitle()

    Mengecek apakah string ini sesuai dengan standar penamaan judul atau tidak.

    var = "Harimau Sang Serigala Hutan"
    print(var.istitle())  # Output : True
    


Karakter Escape


Karakter Escape adalah sebuah karakter spesial yang membuat kita dapat memasukkan karakter - karakter illegal pada sebuah string. Contoh karakter illegal pada string :

txt = "Kami semua adalah "Pribumi" dari tanah air Indonesia"
print(txt) # Error

Kode diatas akan menghasilkan ERROR

Untuk memperbaiki kode diatas agar sesuai dengan apa yang kita inginkan, maka kita tambahkan karakter Escape berupa backslash (\).

txt = "Kami semua adalah \"Pribumi\" dari tanah air Indonesia"
print(txt) # Output : "Kamu semua adalah "Pribumi" dari tanah air Indonesia"

Ada beberapa contoh karakter escape yang bisa anda gunakan di python :

SimbolDeskripsi
\' Untuk menyisipkan simbol ' (Single Quote)
\\ Untuk menyisipkan simbol \ (Backslash)
\n Untuk membuat baris baru (New Line)
\r Untuk membuat Carriage Return
\t Untuk menyisipkan tab spasi (Tab)
\b Untuk menghapus satu karakter (Backspace).
\ooo Untuk menyisipkan karakter octal.
\xhh Untuk menyisipkan karakter hexa.


😊 Mungkin Kalian Tertarik! 😊



python

1037 Words

2019-09-09 00:00 +0000

2c2b2a2 @ 2022-07-21