Rabu, 19 Februari 2014

Sorting / Pengurutan (algoritma dan pemprograman)


SORTING /PENGURUTAN 
 NAMA : BELLA CLARA STEPHANY
 NIM      : 09031181320056
Tugas :
1.      Definisi dari sorting/pengurutan ?
2.      Tujuan dari sorting/pengurutan?
3.      Buatlah sebuah program C++ selection sort dan bubble sort.
4.      Buatlah algoritma dari selection sort baik itu flowchat ataupun pseudocode.
Jawabaan :

1.      Definisi sorting / pengurutan
Dalam Bahasa pemograman C++ pengurutan disebut juga dengan “Sorting“. Pengurutan atau “Sorting“ adalah suatu proses menyusun kembali data yang sebelumnya telah disusun dengan suatu pola tertentu, sehingga tersusun secara teratur menurut aturan tertentu ( untuk data yang bertipe numerik atau karakter).Misalkan dalam kehidupan sehari-hari qta dihadapkan dalam memilih pakaian dalam lemari lebih sulit kalau pakaian tersebut berantakan tempatnya tentunya pakaian yang sudah terurut akan lebih cepat untuk dicari.Berdasarkan atas pemilahan warna/jenis pakaian.
Pengurutan data dalam pemograman biasanya dan pada umumnya untuk data yang bertipe data numerik ataupun karakter. Pada bahasa pemograman terdapat 2 macam pengurutan yaitu, ascending (urut naik) dan descending urut turun. Ascending (urut naik) merupakan pengurutan dari angka yang nilainya lebih kecil kemudian menuju ke nilainya yang lebih besar. Sedangkan descending (urut turun) adalah sebaliknya, yaitu pengurutan dari nilainya yang lebih besar kemudian menuju ke nilainya yang lebih kecil.
Contoh:
• Data dipilih secara acak : 14 8 10 12 2 6 4
• Ascending (urut naik) : 2 4 6 8 10 12 14
• Descending (urut turun) : 14 12 10 8 6 4 2


A.     Macam-macam pengurutan (sorting)

1. Bubble Sort
Nah, penjelasan awal adalah Metode bubble sort. Buble Sort merupakan metode yang sangat simpel dan mudah untuk melakukan pengurutan data , namun setiap metode tersebut pasti memiliki kelemahan dan keunggulan. Walaupun sangat sederhana namun, Metode ini mempunyai kelemahan yaitu, pada saat mengurutkan data yang sangat besar akan mengalami kekacuan, atau kinerja nya kurang baik. Mungkin kalian bingung ya, knapa sih namanya Buble, knapa nggak Circle Sort atau Soda sort aja (maav ney bukannya ngubah-ngubah metode). Berikut ini penjelasannya, “Bubble” karena proses pengurutan data nya tersebut secara bertahap bergerak/berpindah ke posisinya sesuai urutannya, misalkan saja anda meniup segelas air dengan menggunakan sedotan , tentunya akan mengeluarkan gelembung yang saling berurutan keluar dalam pipet. Pengurutan data Buble Sort dilakukan dengan cara membandingkan elemen sekarang dengan elemen berikutnya. Penukaran tersebut baru dilakukan kalau kriterianya tersebut sudah terpenuhi.
contoh :
#include <conio.h>
#include <iostream.h>
int n,i,j,k,data[20],simpan;

void main(){
cout<<"NAMA : BELLA CLARA STEPHANY\n";
cout<<"NIM : 09031181320056\n";
cout<<"PENGURUTAN DATA\n\n";

cout<<"Masukkan banyak data = ";cin>>n;
i=1;
do{
 cout<<"Data ke-"<<i<<" = ";cin>>data[i];
 i++;
}while(i<=n);

cout<<endl<<"Data sebelum diurutkan :"<<endl;
i=1;
do{
 cout<<data[i]<<" ";
 i++;
}while(i<=n);

for(i=1;i<=n-1;i++){
 for(j=1;j<=n-1;j++){
 if(data[j]>data[j+1]){
 simpan=data[j];
 data[j]=data[j+1];
 data[j+1]=simpan;
 }
 }
}

cout<<endl<<"Buble Sort :"<<endl;
    i=1;
do{
        cout<<data[i]<<" ";
 i++;
    }while(i<=n);
getch();
}
hasil dari run program :

prom saya jalankan menggunakan TURBO C++

Pengurutan Ascending (urut naik) : Jika elemen sekarang lebih besar dari elemen berikutnya maka kedua elemen tersebut ditukar. Pengurutan Descending ( urut turun): Jika elemen sekarang lebih kecil dari elemen berikutnya, maka kedua elemen tersebut ditukar. Nah, Algoritma ini seolah-olah menggeser satu per satu elemen dari kanan ke kiri atau kiri ke kanan, Sekarang tergantung jenis pengurutannya, ascending (urut naik) atau descending (urut turun). Ketika satu proses telah selesai, maka bubble sort akan mengulangi proses, demikian seterusnya sampai dengan iterasi sebanyak n-1. Bubble Sort berhenti jika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bisa dilakukan, serta tercapai perurutan yang telah diinginkan.

2. Selection Sort

Metode yang ketiga adalah Selection Sort merupakan metode pengurutan data kombinasi antara sorting dan searching. Kinerja metode ini sebagai berikut ini : Mula – mula suatu petunjuk (diberi nama posAwal ) yang menunjuk lokasi awal pengurutan data diatur agar berisi indeks pertama dalam larik. Selanjutnya dicari bilangan terkecil yang terletak antara posisi sesudah yang ditunjuk oleh penunjuk tersebut element yang terakhir dalam larik. Lokasi bilangan ini di tunjuk oleh posMin. Lalu tukarkan nilai bilangan terkecil tersebut dengan nilai yang di tunjukkan posAwal. Proses seperti ini di ulang dari posAwal bernilai 0 hingga n-2 , dengan n menyatakan jumlah element larik

2.      Tujuan dari pengurutan atau sorting
Tujuan dari pada pengurutan (sorting) adalah :
1. untuk membantu proses pencarian (searching)
2. Menyelesaikan masalah-masalah kompleks seperti penjadwalan (scheduling), pengolahan basis data, riset operasi, dan sebagainya.

3.       Contoh program selection sort :
#include <conio.h>
             #include <iostream.h>
             int n,i,j,k,data[20],simpan;

             void main(){
             cout<<"NAMA        : BELLA CLARA STEPHANY\n";
            cout<<"NIM : 09031181320056\n";
            cout<<"PENGURUTAN DATA\n\n";
             cout<<"Masukkan banyak data = ";cin>>n;
             for(i=1;i<=n;i++)
             {
              cout<<"Data ke-"<<i<<" = ";cin>>data[i];
             }

             cout<<endl<<"Eksekusi Program :"<<endl;
             cout<<"awal = \n";
             for(i=1;i<=n;i++)
              cout<<data[i]<<"  ";
             cout<<endl<<endl;

             for(i=2;i<=n;i++)
             {
              j=i;
              while (j>0&&data[j]<data[j-1])
                         {
                        simpan=data[j];
                        data[j]=data[j-1];
                        data[j-1]=simpan;
                        j--;

                                     for(k=1;k<=n;k++)
                         cout<<data[k]<<"  ";
                          cout<<endl;
                         }
             }

             cout<<endl<<"HASIL PENGURUTAN:"<<endl;

             for(i=1;i<=n;i++)
              cout<<data[i]<<"  ";
             getch();
             }
Hasil setelah dirun :
program saya jalankan menggunakan TURBO C++
4.      Algoritma  dari Selection Sort
           ALGORITMA

a.       Pseudcode dari Selection Sort

1)  Terdapat sebuah array data a[0] sampai a[n-1]
      2)  Melakukan perulangan (dengan variable j) dari j = 0 sampai j < (n-1)
                     Lakukan langkah 3 – 6.

         for (int j = 0; j < (n-1); j++) {

      3)  Menjadikan j sebagai nilai min.
      4)  Melakukan perulangan (dengan variable i) dari i = j+1 sampai i < n
      Lakukan langkah 5.

         int min = j;
         for (int i = j+1; i < n; i++) {

      5)  Membandingkan nilai a[i] dengan a[min].
      Kalau a[i] < a[min], jadikan min = i

         if (a[i] < a[min]) {min = i; }

      6)   Melakukan proses swap (tukar) untuk a[j] dengan a[min].

      int temp   = array[y];
      array[y]   = array[min];
      array[min] = temp;

7) SELESAI
PERBANDINGAN ALGORITMA

Untuk kasus-kasus sederhana dengan jumlah data sedikit, Selection Sort dapat diunggulkan bila dibandingkan dengan Bubble Sort atau Gnome Sort. Algoritma pengurutan ini sangat mirip bila dibandingkan dengan Insertion Sort. Perbedaannya, Insertion Sort hanya akan mendeteksi elemen-elemen yang diperlukan; sedangkan Selection Sort akan mendeteksi semua elemen dari awal sampai akhir kemudian baru diurutkan. Untuk jumlah data sedikit, perbandingan kecepatan pengurutan Insertion Sort dan Selection Sort bisa sekitar 1 : 2. Jadi, untuk kebanyakan kasus, Insertion Sort lebih cepat setengah perbandingan. Untuk data-data yang banyak, Selection Sort dapat diandalkan dengan algoritmanya ‘divide and conquer’ seperti pada Merge Sort

Rabu, 12 Februari 2014

Arti Kuliah ?


                Hallo semua  mau share ni tentang kuliah .Pada tau dong artinya kuliah ?
 yup … Kuliah adalah proses pembelajaran tingkat lanjut di mana seseorang telah menentukan pilihan jurusan. Biasanya dalam pemilihan jurusan dilakukan berbagai pertimbangan, salah satunya minat dan bakat.
Terus bedanya dengan SD/SMP/ SMA apa dong ? oke  kalau masuk sekolah jam 06.30 atau 07.00 sampai siang/sore,saat kuliah jamnya jadi acak.Bisa jadi,kita ada kelas di pukul 09.00 – 11.00,kemudian baru lanjut kuliah lagi pukul 14.30. Atau,dalam seminggu kita hanya kuliah empat hari. Karena saat masuk universitas kita sudah memilih jurusan,maka mata kuliahnya pun lebih fokus sesuai bidang tersebut. Tidak ada sistem remedial atau ujian perbaikan.Kalau nilai kita jelek (nilai minimal C),resikonya adalah tidak lulus dan harus mengulang kembali mata kuliah tersebut selama satu semester.Dosen tidak akan repot – repot mengingatkan kita untuk mengumpulkan tugas atau memperhatikan pelajaran.
Di sini kitalah yang tanggung jawab penuh terhadap diri sendiri. Kalau waktu sekolah masih ada geng populer,dan ada orang – orang yang berusaha masuk geng tersebut,maka agak berbeda dengan di kampus.Di bangku kuliah,bisa dibilang siapa saja bisa bersinar dengan keunikan dan kelebihannya masing-masing.Sebaliknya,orang yang pilih – pilih dalam bergaul, akan susah untuk bertahan.Soalnya,di sini kita harus kerjasama dengan banyak teman.Tapi, di saat kuliah pula kita jadi punya kecenderungan untuk lebih individual.
Terus apa dong tujuan kita kuliah ?
Banyak orang yang bertanya-tanya, apa sebenarnya tujuan dari kuliah? 
Dari sekian banyak pendapat dan tujuan kuliah, beragam jawabannya. Biasanya tujuan mahasiswa datang ke kampus dengan beragam alasan, misalnya
- mencari ilmu
- menambah teman
- mencari pacar
- mencari pergaulan
- meningkatkan minat bakat
- mendapat nilai
- mendapat wawasan
-setelah lulus mencari pekerjaan 
 
Kuliah adalah proses pembelajaran tingkat lanjut di mana seseorang telah menentukan pilihan jurusan. Biasanya dalam pemilihan jurusan dilakukan berbagai pertimbangan, salah satunya minat dan bakat.   Untuk memulai kuliah, pengorbanannya tidak sedikit. Mulai dari menghabiskan banyak waktu, biaya, tenaga, dll. Tentu, di balik suatu impian yang ingin kita capai melalui kuliah, ada harga yang harus dibayar.Awal perjalanan memang akan terasa sangat menyenangkan, banyak pengalaman baru dan teman baru yg dirasakan. Tapi, lama kelamaan kita akan tiba masanya kita akan jenuh.
Kuliah itu bukan sekedar rutinitas saja. Kuliah ini adalah proses, proses membentuk diri kita menjadi apa yang kita inginkan di masa mendatang. Di sisi lain mahasiswa dihadapkan pada pilihan antara idealis dan ketatnya persaingan di dunia kerja.
                Berarti kuliah itu penting dong ?
Penting dong tapi sekarang yang menjadi renungan kita sebagai mahasiswa.Banyak mahasiswa yang telah lulus atau sarjana pada ngangur, padahal kuliah bukan cuman memcari ijasa dan titel lulus doang, sekarang udah banyak sarjana yang ngak kerja


Nah loh kenapa bisa ? .. ya bisa aja seperti yang di lansir dari okezone.com Skor Career, Selasa (23/4/2013) merangkum lima alasannya:
1. Ekonomi
Perubahan struktur ekonomi merupakan penyebab kemungkinan meningkatnya pengangguran. Selama bertahun-tahun, manufaktur menjadi sektor terkuat dalam dunia kerja, hingga kemudian digantikan oleh sektor jasa. Nah, perusahaan-perusahaan di sektor jasa membutuhkan orang tidak hanya dengan pengetahuan teknis, tetapi juga yang memiliki soft skill, seperti komunikasi interpersonal, kebijaksanaan, kedewasaan, dan berorientasi bisnis. Sekarang ini, mendapatkan lulusan berkualitas dengan kemampuan soft skill seperti itu cukup susah. Belum lagi menemukan lulusan yang mampu berbahasa Inggris dengan baik.

2. Kualitas pendidikan
Sepertinya tiap tahun perguruan tinggi meluluskan banyak mahasiswa cemerlang, termasuk para penyandang cumlaude. Tentu ini menunjukkan kualitas para sarjana juga kan?
Tetapi, kenyataannya tidaklah demikian.  Saat ini, pencapaian akademik tidak terlalu berpengaruh terhadap kinerja seseorang di dunia kerja.

3. Pencari kerja yang pemilih
Saat ini, para pencari kerja ingin mendapatkan pekerjaan dengan paket lengkap; gaji yang besar, lokasi kerja yang nyaman, tidak menggunakan sistem shift, tidak ada lembur, dsb. 

4. Kurangnya bimbingan
Kita tidak bisa menyalahkan para sarjana sepenuhnya atas kondisi mereka yang masih menganggur. Bagaimanapun juga, mereka adalah produk dari sebuah sistem. Kebanyakan dari para lulusan baru ini tidak sadar harapan dunia kerja terhadap mereka. Ketika lulus, mereka harus memulai dari nol lagi untuk menghadapi dunia nyata. Kesenjangan antara pendidikan dan dunia kerja ini harus segera diatasi.
Para sarjana baru ini tidak cukup dibimbing melalui berbagai ajang bursa kerja. Eksekutif perusahaan juga harus aktif mengunjungi mahasiswa di berbagai kampus untuk memberikan tips-tips praktis seputar dunia kerja dan profesi yang mereka geluti.

5. Perusahaan yang pemilih

Sering kali persyaratan kualifikasi yang dipasang suatu perusahaan dalam sebuah lowongan menjadi penghambat seorang sarjana mendapatkan pekerjaan. Jika perusahaan mencantumkan "pengalaman kerja" sebagai salah satu persyaratan di lowongan kerja mereka, maka bagaimana para fresh? 
Nah itu tadi contoh-contoh polemik mahasiswa/i maupun yang telah menjadi sarjana, nah waktunya kita sebagai mahasiswa/i yang masih bisa dikatakan baru berfikir ulang akan masa depan kita setelah kuliah , memang banyak masalah sosial baru yang baru pula kita jumpai ketika masa kuliah , mulai dari perbedaaan cara mengajar dosen, jam kuliah yang ngak menentu dan banyak lagi lainnya. Tapi inilah titik baliknya kita sebagai seorang remaja kita haru berfikir dewas karna kita telah di katakan matang secara mental maupun fisik , jangan sia-siakan masa kuliah , banyak hal yang bisa kok kita lakuin di masa-masa kuliah ini . bukan cuman kuliah terus balik deh ke kosan atau pun rumah. Kiat harus saling peduli sesama teman sekelas maupun sekampus , jangan mentingin diri sendiri aja.
 Karna di masa kuliah inilah kita bakal mengenal banyak karakter dan sifat manusia. Jangan egois dan memandang orang lain rendah, siapa tau di masa yang akan datang kedudukannya jauh di atas kita , dalam segi sosial dan masyarakat.  Dan bisa jadi dia lah yang akan menolong kita suatu saat nanti .
Oke sekian dulu yah , ^^ disini saya mengajak teman-teman merenungkan kembali tentang masa kuliah, manfaat dan tujuan kata kuliah, ngak cuman itu aja kita juga harus berfikir dari sekarang mau jadi apa kita ketika lulus dari kuliah .jika ada typo atau pun kalimat yang menyinggung saya mohon maaf  .  Selamat Malam. Salam WONDERFUL WORLD OF BIE