Minggu, 11 Oktober 2015

Mahasiswa Ideal

Mahasiswa Ideal? apakah anda orangnya??!!

sabtu, 3 oktober 2015 saat itu min lagi ada kelas, kebetulan karena itu adalah pertemuan yang pertama dengan mata kuliahnya plus dosennya so pasti belum masuk ke pembelajaran. dan itu merupakan hal yang paling membahagiakan.. hhaa
setelah melewati berbagai obrolan santai tentang sedikit perkenalan dosen matkul masuklah ke sebuah obrolan yang sangat serius.
dosen tersebut say, dalam perkuliahan ada yang namanya Mahasiswa Ideal. kita bingung apa itu mahasiswa ideal itu, apa yang pintar? apa yang tampan/cantik, atau apa itu mahasiswa pariwisata atau mungkin juga mahasiswa yang kuliahnya lebih dari 4 tahun (bukannya itu mahasiswa abadi yaa??) ..
dan ternyata dosen tersebut melanjutkan lagi obrolan, mahasiswa ideal itu terbagi menjadi 3 point.. apa ajakah ituu?? oke min jelasin dengan sejelas-jelasnya dengan secara seksama dalam tempo yang singkat (hahha seperti proklamasi aja!!)
1. Lulus Kuliah tepat waktu atau kurang dari waktunya
kuliah itu maksimalnya 4 tahun untuk S1, atau bahkan bisa kurang bisa 3,5 tahun dengan cara mengambil SP. itu syarat penting untuk menjadi mahasiswa, kalo kuliahnya lebih dari 4 tahun?? itu sih bukan mahasiswa ideal tapi mahasiswa abadi.. ckckkc
2. IPK >3,00
wihh begitu cerdasnya mahasiswa yang bisa mencapai IPK 3,00 bahkan lebih dan yang lebih baiknya bisa mendapatkan IPK 4,00 itu sangat sangat luar biasa. karena diluar sana banyak perusahaan yang mencari dan membuka lowongan pekerjaan dengan syarat IPK harus lebih dari 3.
3. Gaul
ini nihh sist/gan point ketiga yang sangat menentukan. mahasiswa itu harus gaul tapi gaul disini perlu digaris bawahi bahwa gaul  di sini harus dalam hal yang positif. harus bisa berorganisasi dan banyak relasi. jadi saat kalian lulus nanti bisa langsung dapet kerjaan. percuam aja kalo kalian lulus tepat waktu dan mendapat IPK >3,00 tapi loe loe gak gaul, karena dengan gaul kita banyak mendapatkan relasi yang bisa membantu kita di masa depan.
nah, itu tuh point-point dari mahasiswa ideal, segitu aja dulu deh, semoga bisa bermanfaat buat semuanya dan bisa menjadi inspirasi..

Sabtu, 13 Juni 2015

Pengurutan Pada Java



MAKALAH ALGORITMA DAN DASAR PEMROGRAMAN
PENGURUTAN DATA DALAM JAVA”

diajukan untuk memenuhi salah satu tugas kelompok Algoritma dan Dasar Pemrograman
Jurusan Sistem Informasi












disusun oleh :
Kelompok 2
            Novela Putri Dhanty Kusmawan    (A3.1400021)             
Dini Widiastuti Firmawati                (A3.1400012)
Yuwen Tyas Indarwati                     (A3.1400033)
Muhadi Nadi Jaya                            (A3.1400020)
Wahyudin                                          (A3.1400038)

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER (STMIK) SUMEDANG
2015/2016




KATA PENGANTAR

Assalamua’laikum Wr Wb
Puji dan syukur kami panjatkan kehadirat Allah SWT yang sudah melimpahkan rahmat dan karunia-Nya sehingga kami dapat menyelesaikan tugas kelompok Algoritma dan Pemrograman Dasar ini dengan tepat waktu. Karena tanpa pertolongan-Nya kami tidak dapat menyelesaikan Makalah ini. Sholawat serta salam terlimpah curah kepada Nabi Muhammad SAW.
Adapun tujuan pembuatan makalah dengan judul ”PENGURUTAN DATA DALAM JAVA“ adalah untuk memenuhi salah satu tugas kelompok Mata Kuliah Algoritma dan Pemrograman Dasar dan dengan adanya makalah ini bisa menambah pengetahuan kita tentang metode – metode yang dapat digunakan dalam hal mencari data dengan cara mengurutkan data.
            Tak lupa kami ucapkan banyak terima kasih kepada Dosen yang sudah memberikan tugas kelompok makalah ini dan kami mohon maaf bila banyak kekurangan dalam penyusunan makalah ini harap Bapak dapat memakluminya.
Akhir kata kami ucapkan terima kasih.
Wassalamua’laikum Wr Wb

Sumedang,  Februari 2015



Penyusun







DAFTAR ISI

KATA PENGANTAR...................................................................................................... i
DAFTAR ISI..................................................................................................................... ii
BAB I             PENDAHULUAN
1.1 Latar Belakang...................................................................................... 1
1.2 Tujuan.................................................................................................... 1
1.3 Rumusan Masalah.................................................................................. 2
BAB II            PEMBAHASAN
2.1 Pengurutan............................................................................................. 3
2.2 Metode Pengurutan............................................................................... 4
2.3 Source Code  dan Output dari tiap Program......................................... 8                 
BAB III          PENUTUP
3.1 Kesimpulan............................................................................................ 19
DAFTAR PUSTAKA....................................................................................................... 20
BIODATA ANGGOTA.................................................................................................... 21







BAB I
PENDAHULUAN

1.1         Latar Belakang

Java adalah  bahasa pemrograman multi platform dan merupakan bahasa pemrograman tingkat tinggi yang diciptakan berdasarkan turunan dari  C++. Target utama dari penggunaan bahasa Java adalah pengkodingan berarah objek yang simpel (tidak memerlukan header), menghindari pemanipulasian pointer secara manual(otomatis), dan lainnya. Kini, penggunaan Java sudah sangat banyak di perusahaan mengingat Java adalah cross-platform dan bahkan cross-device. Dalam Java terdapat banyak bagian dan yang akan kami jelaskan pada makalah ini adalah bagian pengurutan (sorting), di bagian pengurutan ini pun masih banyak jenis atau macam-macam pengurutan namun dalam makalah ini kami hanya menjelaskan tentang pengurutan Insertion Sort, Binary Sort, dan Quick Sort. Pengurutan(sorting) adalah proses menyusun elemen – elemen dengan tata urut tertentu dan proses tersebut terimplementasi dalam bermacam aplikasi. Hampir seluruh pengguna pada sistem akan memilih tampilan daftar berurutan secara ascending demi kenyamanan dalam penelusuran data. Dalam artian sorting digunakan untuk mengurutkan sesuatu ( misalnya : kata, buku telepon , dll ).


1.2         Tujuan
Adapun tujuan dari pembuatan makalah ini yaitu:
  1. Untuk memenuhi salah satu  tugas Algoritma dan Dasar Pemrograman
  2. Untuk lebih memahami materi Algoritma dan Dasar Pemrograman khususnya materi Pengurutan (Sorting).



1.3         Rumusan Permasalahan
  1. Menjelaskan pengertian pengurutan (sorting)
  2. Menjelaskan macam-macam/ Algoritma dari pengurutan (sorting) jelasnya tentang Insertion Sort, Binary Sort dan Quick Sort
  3. Source Code dan output  untuk  tiap pengurutan(sorting)






BAB II
PEMBAHASAN
2.1         PENGURUTAN (SORTING)
Pengurutan (sorting) adalah  proses menyusun elemen – elemen dengan tata urut tertentu dan proses tersebut terimplementasi dalam bermacam aplikasi. Dalam artian sorting digunakan untuk mengurutkan sesuatu ( misalnya : kata, buku telepon , dll ). Proses pengurutan banyak ditemukan dalam computer. Hal itu karena data yang sudah urut akan lebih cepat untuk dicari. Untuk membentuk data yang tidak urut menjadi data yang urut terdapat berbagai algoritma yang bisa digunakan. Pengurutan dapat dilakukan terhadap data yang secara keseluruhan diletakkan dalam memori ataupun terhadap data yang tersimpan pada pengingat eksternal.
Didalam pengurutan data terdapat istilah pengurutan menaik(Ascending) dan pengurutan menurun(Descending). Pengurutan menaik yaitu menyusun elemen larik sedemikian rupa sehingga L[1]≤L[2]≤L[3]≤…≤L[N] . Sedangkan pengurutan menurun yaitu menyusun elemen larik sedemikian rupa sehingga L[1]≥L[2]≥L[3]≥…≥L[N] .daata yang diurutkan dapat bertipe Dasar ataupun tipe Rekaman. Jika bertipe Rekaman, maka field yang harus diurutkan. Field yang dijadkan dasar pengurutan dikenal dengan key field.
Contohnya :
Adapun keuntungan data terurut baik Ascending maupun Descending yaitu:
1.      Dapat lebih mudah mengetahui data max dan min
2.      Mempercepat pencarian (metode bagi dua).
Berdasarkan media penyimpanannya pengurutan data dibagi menjadi dua:
1.      Pengurutan Internal
Pengurutan terhadap sekumpulan data yang disimpan didalam memori utama komputer. Umumnya struktur internal yang dipakai untuk pengurutan internal adalah ARRAY/LARIK,sehingga pengurutan Internal disebut juga pengurutan ARRAY/LARIK.
2.      Pengurutan Eksternal
Pengurutan data yang disimpan didalam memori sekunder, biasanya data bervolume besar sehingga tidak mampu dimuat semuanya didalam emori computer, struktur eksternal yang dipakai adalah file/arsip, sehingga pengurutan external disebut juga pengurutan ARSIP.
Karena akses memori utama lebih cepat daripada memori sekunder, maka pengurutan internal lebih cepat daripada pengurutan External.

2.2 METODE PENGURUTAN
Adapun metode dari pengurutan yaitu sebagai berikut:
1.      Insertion Sort
Suatu metode yang melakukan pengurutan dengan cara menyisipkan data yang belum urut ke dalam bagian data yang telah diurutkan.
Algoritma :
SUBRUTIN insertionSort(L,n)
UNTUK k              1 S/D n – 1
x                 L [k]
// Sisipkan x ke dalam L [0..k-1]
I                  k    1
ketemu                 SALAH
ULANG SELAMA I ≥ 0 DAN TIDAK ketemu
       JIKA x < L [i] MAKA
              L [i+1]               L [i]
               i                i + 1
            SEBALIKNYA
                  ketemu                  BENAR
             AKHIR-JIKA
            L [i+1]                x
           AKHIR-ULANG
           AKHIR-UNTUK
      AKHIR-SUBRUTIN
2.      Binary Sort
Suatu metode yang melakukan pengurutan data dengan cara mengurutkan data dengan menyisipkan bilangan biner.
Algoritma :
SUBRUTIN binaryInsertion(L,n)
      UNTUK k             1 S/D n – 1
              x                    L [k]
// Sisipkan x ke dalam L [0..k-1]
  kiri                0
  kanan            k – 1

ULANG
             tengah                  (kiri+ kanan) / 2 // Pembagian bulat
             JIKA x < L [tengah] MAKA
                        kanan               tengah – 1
                        SEBALIKNYA
                                  kiri            tengah + 1
                        AKHIR – ULANG
                        // Melakukan penggeseran
                        UNTUK j             k-1 S/D kiri
                               L[j+1]              L [j]
                         AKHIR-UNTUK
                     AKHIR-UNTUK
                 AKHIR- SUBRUTIN

3.      Quick Sort
Metode pengurutan data yang ditemukan pertama kali oleh C.A.R. Hoare pada tahun 1962. Metode ini menggunakan strategi “pecah-belah” dengan mekanisme seperti berikut : Larik L [p..r] (dengan indeks terkecil adalah p dan indeks terbesar yaitu r), disusun ulang (dipartisi) menjadi dua larik A[q+1..r] sehingga setiap elemen pada A[q+1..r]. Selanjutnya, kedua larik tersebut diurutkan secara rekursif. Dengan sendirinya kombinasi kedua larik tersebut membentuk larik dengan data yang telah urut.
Algoritma :
SUBRUTIN quicksort(L, p, r)
           JIKA p < r MAKA
                  q             partisi (L, p, r)
                   quickSort (L, p, q)
                   quickSort (L, q+1, r)
                AKHIR-JIKA
          AKHIR-SUBRUTIN
Untuk mengurutkan isi keseluruhan larik L , diperlukan pemanggilan seperti berikut :
      quicksort(L, O, jumlah-elemen(L)-1)
Subrutin partisi sendiri seperti berikut :
     SUBRUTIN partisi(L, p, r)
         x         L[p]
          i         p
          j         r
          ULANGAN SELAMA BENAR
                ULANG SELAMA L [j] > x
                    j          j – 1
                    AKHIR-ULANG

                    ULANG SELAMA L[j] < x
                               i        i – 1
                    AKHIR – ULANG
                    JIKA i < j MAKA
                       // Tukarkan L[i] dengan L[j]
                       tmp           L[j]
                       L[i]            L[j]
                       L[j]          tmp
                    SEBALIKNYA
                        NILAI-BALIK j
                    AKHIR-JIKA
              AKHIR-ULANG
         AKHIR-SUBRUTIN

2.3         Source Code  dan Output dari tiap Program dari Algoritma Pengurutan
1.     Insertion Sort
Source Code
package presentasi;
public class Insertion_Sort {
    public static void main (String[] args){
        int i ;
        int [] data = {25, 57, 48, 37, 12, 92, 80, 33};
         urutkan(data, data.length);
     System.out.println("Hasil Pengurutan Data:");
     tampilkanLarik (data, data.length);
 }
 public static void tampilkanLarik(int[] data, int n) {
     for(int i = 0; i < n; i++)
         System.out.printf("\n%d", data [i]);
     System.out.println();
 }
 public static void urutkan (int[] data, int n){
     int i, k;
     int x;
     boolean ketemu;
     for (k = 1; k < n; k++){
         x = data[k];
         //sisipkan x ke dalam data [0..k-1]
         i = k - 1;
         ketemu=false;
         while ((i >= 0 ) && (!ketemu)){
             if (x < data [i]){
                 data[i+1]=data[i];
                 i--;
             }
             else
                 ketemu=true;
             data[i+1]= x;
         }
     }
    }
}
Output

2.     Binary Sort
Source code
package presentasi;

import static presentasi.Insertion_Sort.urutkan;
public class Binary_Sort {
    public static void main (String[] args){
        int i ;
        int [] data = {25, 57, 48, 37, 12, 92, 80, 33};
         urutkan(data, data.length);
     System.out.println("Hasil Pengurutan Data:");
     tampilkanLarik (data, data.length);
 }
 public static void tampilkanLarik(int[] data, int n) {
     for(int i = 0; i < n; i++)
         System.out.printf("\n%d", data [i]);
     System.out.println();
 }
 public static void urutkan(int[] data, int n) {
     int j, k;
     int x;
     int kiri, kanan, tengah;
     for (k = 1; k < n; k++){
       x= data[k];
       //sisipkan x ke dalam data [0..k-1

     kiri=0;
     kanan=k - 1;
     while (kiri <= kanan){
         //pencarian biner
         tengah=(kiri+kanan)/2;
         if (x < data [tengah])
             kanan = tengah - 1;
         else
             kiri= tengah + 1;
     }
     //melakukan pergeseran
     for (j=k-1;j >= kiri; j--)
         data[j+1]= data[j];
     //tempatkan x kedata [kiri]
     data[kiri]=x;
     System.out.printf("k %d:", k);
     tampilkanLarik(data, data.length);
     }
             }
 }

Output

                         
3.     Quick Sort
Source Code
package presentasi;
public class Quick_Sort {
    public static void main (String[] args){
        int i ;
        int [] data = {25, 57, 48, 37, 12, 92, 80, 33};
        quickSort(data, 0, data.length - 1);
        System.out.println("Hasil Pengurutan Data:");
        TampilkanLarik(data, data.length);
    }
    public static void TampilkanLarik(int[] data, int n) {
     for(int i = 0; i < n; i++)
         System.out.printf("\n%d", data [i]);
     System.out.println();
 }
    public static int partisi(int[] data, int p, int r){
        int x, i, j, tmp;
         x = data[p];
         i = p;
         j = r;
         while (true){
             while (data[j] > x)
                 j--;
             while (data[i] < x)
                 i++;
             if (i < j) {
                 //tukarkan data
                 tmp = data[i];
                 data[i] = data[j];
                 data[j] = tmp;
             }
             else
                 return j;
         }
    }
    public static void quickSort(int[] data, int p, int r){
        int q;
        if (p < r);
        {
        q = partisi(data, p, r);
        partisi (data, p, q);
        partisi (data, q+1, r);
    }
} 
}    
Output

















BAB III
PENUTUP

3.1         Kesimpulan
Dalam java ada beberapa metode yang digunakan untuk mengurutkan data. Metode ini bertujuan untuk memudahkan pencarian data dalam sebuah aplikasi.

















Daftar Pustaka
Handout dari universitas narotama
Melly Ameliyawaty. Sorting Pada JAVA.html
Fotocopy materi pengurutan java



















BIODATA ANGGOTA

Nama Lengkap                        : Novela Putri Dhanty Kusmawan
Nama Panggilan                      : Ovel, Vela
Alamat                                                : Ds. Gunasari Kec. Sumedang Selatan
Hobby                                     : Baca Buku, Mendengarkan music, nonton anime/kartun
Motto Hidup                           : Teruslah menggapai mimpi. Jangan menyerah, tetap
                                                   semangat. BBT (Berusaha, Berdo’a, Tawakal)
No. Telp                                  : 085320128019 / 085603087211


Nama Lengkap                        : Yuwen Tyas Indarwati
Nama Panggilan                      : Tyas
Alamat                                                : Ds.Cikareo selatan  Kec.Wado
Hobby                                     : Mendengarkan music , shopping
Motto Hidup                           : Maju terus pantang mundur
No. Telp                                  : 082126600571






Nama Lengkap                        : Dini Widiastuti Firmawati
Nama Panggilan                      : Dini, Ndut, Odong
Alamat                                                : Perum Mekarsari Regency Jl.Gondang D 15 RT 07 RW
                                                  Desa Mekarjaya Sumedang Utara
Hobby                                     : Mendengarkan musik, membaca, nonton Persib
Motto Hidup                           : Hadapi tantangan , Berani sukses
No. Telp                                  : 08980092239/089610368928

Nama Lengkap                        : Muhadi Nadijaya
Nama Panggilan                      :Muhadi
Alamat                                                :Kec jati gede, dusun mekarasih rt 04/03
Hobby                                     :Bermain bola
Motto Hidup                           :Berjuang di setiap kehidupan

No. Telp                                  :082216421646

Nama Lengkap                        : Wahyudin
Nama Panggilan                      : Yudi’z
Alamat                                                : Darmaraja
Hobby                                     : Olahraga
Motto Hidup                           : Tetap Semangat!!!
No. Telp                                  : 087726163340