(Java) Gambarkan flowchart, tuliskan algoritma, jelaskan Langkah-langkah manualnya dan susunlah

Berikut ini adalah pertanyaan dari acoa43489 pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas

(Java) Gambarkan flowchart, tuliskan algoritma, jelaskan Langkah-langkah manualnya dan susunlah program java (menggunakan method main( )) untuk algoritma Insertion Sort​

Jawaban dan Penjelasan

Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.

Flowchart:

Start

|

|__Input data array

|

|__For i = 1 to n-1 do

| |

| |__key = data[i]

| |__j = i - 1

| |__While j >= 0 and data[j] > key do

| |

| |__data[j+1] = data[j]

| |__j = j - 1

| |

| |__data[j+1] = key

|

|__Output sorted data array

|

End

Algoritma:

1. Input data array

2. For i = 1 to n-1 do

3. key = data[i]

4. j = i - 1

5. While j >= 0 and data[j] > key do

6. data[j+1] = data[j]

7. j = j - 1

8. data[j+1] = key

9. Output sorted data array

Langkah-langkah manual:

  1. Tentukan jumlah data yang akan diurutkan.
  2. Masukkan data ke dalam array.
  3. Mulai iterasi dari indeks 1 sampai n-1.
  4. Tentukan nilai key sebagai data pada indeks ke-i.
  5. Tentukan nilai j sebagai indeks sebelum i (i-1).
  6. Jika j >= 0 dan data[j] > key, maka geser data pada indeks ke-j+1 dengan data pada indeks ke-j.
  7. Kurangi nilai j sebesar 1.
  8. Ulangi langkah 6 dan 7 hingga j < 0 atau data[j] <= key.
  9. Letakkan data dengan nilai key pada indeks ke-j+1.
  10. Ulangi langkah 3 sampai 9 hingga seluruh data terurut.
  11. Tampilkan data terurut.

Program Java:

import java.util.Arrays;

public class InsertionSort {

public static void main(String[] args) {

int[] data = {5, 2, 4, 6, 1, 3};

System.out.println("Data sebelum diurutkan: " + Arrays.toString(data));

for (int i = 1; i < data.length; i++) {

int key = data[i];

int j = i - 1;

while (j >= 0 && data[j] > key) {

data[j+1] = data[j];

j = j - 1;

}

data[j+1] = key;

}

System.out.println("Data setelah diurutkan: " + Arrays.toString(data));

}

}

 \sf \: semoga \: membantu

Semoga dengan pertanyaan yang sudah terjawab oleh yoga2209078 dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.

Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact

Last Update: Fri, 30 Jun 23