Thursday, October 22, 2015

Algoritma dan program untuk Mengurutkan Nama menggunakan Metode Insertion Sort


Nama Kelompok :
1.    Ari Fitriando                          (D03112055)
2.    Eric Nur Romadhon            (D03112009)
3.    Tonny Haryanto                   (D03112043)

·         Soal :

Buatlah algoritma program untuk mengurutkan nama yang di inputkan menggunakan Metode Insertion Sort.

·         Algoritma :

String temp; // variabel temp, array yang bertipe string
Input String array [a]; // a merupakan length array
For (int x = 1 ; x ≤ a ; x++) // mengulang x sebanyak panjangnya length a
For (int y = 0 ; y < x ; y++) // mengulang y sebanyak a yang di eksekusi
If (array(y).compare to Array [y+1]>0) // membandingkan dan      mengurutkan abjad
                        temp = array [y]; // tempat penyimpanan array[y]
                        array[y] = array [y+1]; // array[y+1] menggantikan posisi array[y]
                        array[y+1] = temp; // array[y+1] menempati tempat

·         Contoh Program menggunakan bahasa Java (Netbeans) :
package urutannama;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Scanner;

/**
 *
 *
 */
public class UrutanNama {

    public static void main(String[] args) throws Exception {
        BufferedReader kata = new BufferedReader(new InputStreamReader(System.in)); // menginput nama dari keyboard menggunakan BufferedReader
        int a; // mendeklarasikan variable bernama a yang tipe datanya integer
        System.out.print("Jumlah nama yang ingin di Inputkan: "); //menginput nama dari keyboard menggunakan BufferedReader
        a = Integer.parseInt(kata.readLine()); // mengkonversi variabel a yang bertipe data string menjadi Integer
        String[] Array; // array yang tipe datanya string
        Array = new String[a];
        String temp; // mendeklarasikan variabel temp yang tipe datanya String
        Scanner input = new Scanner(System.in); //menginstansiasi class scanner menjadi variabel yang bernama input
        for (int i = 0; i < a; i++)
        {
            System.out.print("Nama " + (i + 1) + " adalah: ");
            Array[i] = input.next();
        }
        for (int x = 1; x < a; x++) {
            for (int y = 0; y < x; y++) {
                if (Array[y].compareTo(Array[y + 1]) > 0) //membandingkan dan mengurutkan abjad
                {
                    temp = Array[y];
                    Array[y] = Array[y + 1];
                    Array[y + 1] = temp;
                }
            }
        }
        // output mengurutkan nama
        System.out.println("");
        System.out.println("Nama berdasarkan urutannya "); // menampilkan hasil nama yang telah terurut
        for (int i = 0; i < a; i++) {
            System.out.println((i + 1) + ". " + Array[i]);
        }


Output :

No comments:

Post a Comment