Cara Mengurutkan Data Array Secara Ascending atau Descending

Cara Mengurutkan Data Array Secara Ascending atau Descending

DailyBlog.id - Pada artikel kali ini saya akan membahas bagaimana cara mengurutkan data array secara Ascending atau Descending di Java dan PHP. Dalam pembuatan sebuah program, tentu saja kita tidak lupa untuk mengurutkan suatu data, baik itu dari data yang nilainya mulai dari terkecil hingga terbesar ataupun sebaliknya dari terbesar ke terkecil. Untuk menyelesaikan kasus tersebut, tentu saja kita harus memikirkan bagaimana solusi yang tepat untuk mengatasi agar data tersebut menjadi urut.

Sebagai contoh disini saya memiliki data array yang acak:

  • [5, 100, 2, 8, 4, 0, 30, -1]

Lalu saya akan urutkan secara Ascending dan Descending, maka yang dihasilkan akan seperti ini:

  • Ascending = [-1, 0, 2, 4, 5, 8, 30, 100]
  • Descending = [100, 30, 8, 5, 4, 2, 0, -1]

Nah untuk mengurutkannya, disini saya akan memberikan solusi atau cara untuk mengurutkannya dengan menggunakan function buatan sendiri atau function bawaan dari Java dan PHP nya.

Mengurutkan Array Secara Ascending atau Descending

Berikut ini cara mengurutkan data array menggunakan function buatan sendiri atau function bawaan dari Java dan PHP nya.

Java

Menggunakan function buatan sendiri. Mengurutkan data array secara:

- Ascending

import java.util.Arrays;

public class Main
{
    public static void main(String[] args)
    {
        int[] dataArray = {5, 100, 2, 8, 4, 0, 30, -1};
        System.out.println(Arrays.toString(urutkanArray(dataArray, "asc")));
    }

    public static int[] urutkanArray(int[] dataArray, String secara)
    {
        if (secara.equalsIgnoreCase("asc") || secara.equalsIgnoreCase("desc"))
        {
            int sementara;
            for (int i = 0; i < dataArray.length; i++)
            {
                for (int j = (i + 1); j < dataArray.length; j++)
                {
                    boolean urutkan = secara.equalsIgnoreCase("asc") ? dataArray[i] > dataArray[j] :
                            dataArray[i] < dataArray[j];

                    if (urutkan) 
                    {
                        sementara = dataArray[i];
                        dataArray[i] = dataArray[j];
                        dataArray[j] = sementara;
                    }
                }
            }
        }
        
        return dataArray;
    }
}


- Descending

Untuk yang descending, kalian bisa gunakan script yang di atas ini. Cuma ubah pada bagian "asc" menjadi "desc". Jadinya akan seperti ini:

Arrays.toString(urutkanArray(dataArray, "desc"))


Nah untuk function bawaan dari Java sendiri, kalian bisa menggunakan script yang ada di bawah ini.

- Ascending

import java.util.Arrays;

public class Main
{
    public static void main(String[] args)
    {
        int[] dataArray = {5, 100, 2, 8, 4, 0, 30, -1};

        Arrays.sort(dataArray);
        System.out.println(Arrays.toString(dataArray));
    }
}


- Descending

import java.util.Arrays;
import java.util.Collections;

public class Main
{
    public static void main(String[] args)
    {
        Integer[] dataArray = {5, 100, 2, 8, 4, 0, 30, -1};
        
        Arrays.sort(dataArray, Collections.reverseOrder());
        System.out.println(Arrays.toString(dataArray));
    }
}


Dan untuk mengurutkan data array pada PHP dengan function buatan sendiri, sama saja. Cuma penulisan saja yang berbeda, karena bahasa nya juga beda. Untuk cara urutkan data array di PHP ada di bawah ini.

PHP

Menggunakan function buatan sendiri. Mengurutkan data array secara:

- Ascending

<?php

function urutkanArray($dataArray, $secara)
{
    $secara = trim(strtolower($secara));
    
    if ($secara == 'asc' || $secara == 'desc')
    {
        $sementara;
        for ($i = 0; $i < count($dataArray); $i++)
        {
            for ($j = ($i + 1); $j < count($dataArray); $j++)
            {
                $urutkan = $secara == 'asc' ? $dataArray[$i] > $dataArray[$j] :
                        $dataArray[$i] < $dataArray[$j];

                if ($urutkan)
                {
                    $sementara = $dataArray[$i];
                    $dataArray[$i] = $dataArray[$j];
                    $dataArray[$j] = $sementara;
                }
            }
        }
    }

    return $dataArray;
}

$dataArray = [5, 100, 2, 8, 4, 0, 30, -1];

print_r(urutkanArray($dataArray, 'asc'));

?>


- Descending

Untuk yang descending, kalian bisa gunakan script yang di atas ini. Cuma ubah pada bagian 'asc' menjadi 'desc'. Jadinya akan seperti ini:

urutkanArray($dataArray, 'desc')


Untuk function bawaan dari PHP sendiri, kalian bisa menggunakan script yang ada di bawah ini.

- Ascending

<?php

$dataArray = [5, 100, 2, 8, 4, 0, 30, -1];

sort($dataArray);

print_r($dataArray);

?>


- Descending

Untuk yang descending ini, kalian bisa ganti sort($dataArray) menjadi rsort($dataArray). Maka akan seperti ini.

<?php

$dataArray = [5, 100, 2, 8, 4, 0, 30, -1];

rsort($dataArray);

print_r($dataArray);

?>


Saya pribadi lebih suka mengurutkan menggunakan function bawaan, karena tidak perlu membuat fungsi baru lagi. Tinggal panggil saja fungsi yang ada. Tapi tidak ada salahnya juga kita mempelajari bagaimana mengurutkan data array baik itu secara Ascending maupun Descending menggunakan fungsi buatan sendiri.

Mungki cukup sekian artikel dari saya mengenai bagaimana cara mengurutkan data array di Java dan PHP. Semoga artikel yang saya berikan ini dapat bermanfaat bagi kalian semua. Jika saya ada salah pengetikan, saya mohon maaf. Sekian dan terima kasih.

Selamat mencoba!

Posting Komentar (0)
Lebih baru Lebih lama