NAMA        : Adi Nugraha Y
NPM         : 50414234
KELAS       : 1ia17
MATA KULIAH : Algoritma dan Pemrograman A
DOSEN       : Kunto Bayu A, S.T.



Sorting? perlukah kita tau tentang hal ini? Maksudnya jika tidak perlu, jangan baca artikel ini ya .. hahaha..

Sorting itu bahasa inggris gan,. (ya iyalah jelas!, artikel macam apa ini?!) Maksudnya.... (terlalu banyak maksud) :v

Oke oke, sebelum kita mengetahui jenis-jenisnya, terlebih dahulu kita mencari arti dari kata "sorting" ini. Kata kakak kelas yang bernama Wikipedia :

Sorting adalah sebuah proses merangkai benda dalam urutan tertentu dan/atau dalam himpunan yang berbeda, dan oleh karena itu dia memiliki dua arti umum yang berbeda:
  • Pengurutan: merangkai benda yang sejenis, sekelas, dll, dalam urutan yang teratur,
  • Kategorisasi: pengelompokan dan pemberian label kepada benda dengan sifat yang serupa.
linkout

Setelah mengerti maksud dari kata ini, sekarang kita masuk ke pembagian jenis Sorting sendiri.

1. Bubble Sort

Bubble Sort merupakan metode pengurutan yang sering digunakan dengan metode yang paling sederhana. pada metode ini, Pengurutan dilakukan dengan cara membandingkan masing-masing item / data dalam suatu list secara berpasangan, lalu menukar data tersebut jika diperlukan, dan mengulanginya sampai akhir list secara berurutan dengan sempurna, sehingga tidak ada lagi data yang dapat ditukar.

2. Selection Sort

Selection Sort merupakan metode pengurutan dengan cara membaca seluruh elemen secara berurutan dan mencari nilai terendah. Kemudian membandingkan dan menukar elemen yang terpilih tersebut dengan elemen ke-a. Nilai dari a dimulai dari 1 ke n. Dimana n adalah jumlah total elemen dikurangi 1.

3. Quick Sort

Quick Sort merupakan metode pengurutan dengan algoritma berdasarkan pola divide-and-conquer.
penyortiran ini hanya memiliki 2 langkah :

  1. Divide bisa dikatakan Memilah rangkaian data menjadi dua sub-rangkaian A[p…q-1] dan A[q+1…r] dimana setiap elemen A[p…q-1] adalah kurang dari atau sama dengan A[q] dan setiap elemen pada A[q+1…r] adalah lebih besar atau sama dengan elemen pada A[q]. A[q] disebut sebagai elemen pivot. Perhitungan pada elemen q merupakan salah satu bagian dari prosedur pemisahan.
  2. Conquer dengan cara Mengurutkan elemen pada sub-rangkaian secara rekursif. Pada algoritma quicksort, langkah ”kombinasi” tidak di lakukan karena telah terjadi pengurutan elemen – elemen pada sub-array.

4. Insertion Sort

Insertion sort merupakan salah satu metode sorting dengan cara menyisipkan (insert). Pada dasarnya insertion sort memilah data yang akan diurutkan menjadi dua bagian: yang belum diurutkan dan yang sudah diurutkan. Elemen pertama diambil dari bagian array yang belum diurutkan dan kemudian diletakkan sesuai posisinya pada bagian lain dari array yang telah diurutkan. Langkah ini dilakukan secara berulang hingga tidak ada lagi elemen yang tersisa pada bagian array yang belum diurutkan tersebut.

5. Merge Sort

Merge Sort merupakan jenis pengurutan yang dirumuskan dalam 3 tahap berpola, yaitu divide and conquer.

berikut tahapan Merge Sort :

  1. Divide = Memilah elemen – elemen dari rangkaian data menjadi dua bagian.
  2. Conquer = Setiap bagian dengan memanggil prosedur merge sort secara rekursif
  3. Kombinasi = Mengkombinasikan dua bagian tersebut secara rekursif untuk mendapatkan rangkaian data yang berurutan.
Proses rekursi berhenti jika mencapai elemen dasar. Hal ini terjadi jika bagian yang akan diurutkan menyisakan tepat satu elemen. Sisa pengurutan satu elemen tersebut menandakan bahwa bagian tersebut telah terurut sesuai rangkaian yagn dikehendaki.

6. Shell Sort

Metode ini disebut juga dengan metode pertambahan menurun (diminishing increment). Metode ini dikembangkan oleh Donald L. Shell pada tahun 1959, sehingga sering disebut dengan Metode Shell Sort. Metode ini mengurutkan data dengan cara membandingkan suatu data dengan data lain yang memiliki jarak tertentu, kemudian dilakukan penukaran bila diperlukan.

7. Heap Sort

Heap sort merupakan metode sorting yang menggunakan struktur data heap, dengan nilai parent selalu lebih besar dari pada nilai childnya.

langkah-langkah metoder sortnya sebagai berikut :
  1. Buat suatu Heap
  2. Ambil isi dari root, lalu masukkan kedalam sebuah array.
  3. Hapus element root dengan mempertahankan properti heap.
  4. Ulangi sampai tree menjadi kosong

8. Bucket Sort

Bucket Sort merupakan metode sorting yang mempartisi deret angka menjadi beberapa deret yang kemudian dianalogikan menjadi ember.

Algoritma nya sebagai berikut :

  1. Cari nilai maksimum dan minimum di dalam array.
  2. Inisialisasi array bucket Daftar <> unsur (ukuran maxValue – minValue + 1)
  3. Pindahkan elemen dalam array untuk bucket
  4. Write bucket keluar (dalam rangka) ke array yang asli

9. Radix Sort

Radix Sort adalah metode sorting yang ajaib yang mana mengatur pengurutan nilainya tanpa melakukan beberapa perbandingan pada data yang dimasukkan. Secara umum yang proses yang dilakukan dalam metode ini adalah mengklasifikasikan data sesuai dengan kategori terurut yang tertentu dan dalam tiap kategorinya dilakukan pengklasifikasian lagi dan seterusnya sesuai dengan kebutuhan.
Secara kompleksitas waktu, radix sort termasuk ke dalam Divide and Conquer.Namun dari segi algoritma untuk melakukan proses pengurutan, radix sort tidak termasuk dalam Divide and Conquer.

Perhatian
Semua gambar dalam posting ini berasal dari luar, dengan kata lain saya tidak menggambarnya.
http://id.wikipedia.org/wiki/Sorting
http://id.wikipedia.org/wiki/Quicksort
http://en.wikipedia.org/wiki/Radix_sort
http://dodik99.blogspot.com.tr/2014/03/macam-macam-jenis-metode-sorting.html
http://agusjembung.blogspot.com.tr/2012/02/macam-macam-sorting.html
http://dotgeoteam.wordpress.com/2013/05/05/radix-sort/
NAMA        : Adi Nugraha Y
NPM         : 50414234
KELAS       : 1ia17
MATA KULIAH : Algoritma dan Pemrograman A
DOSEN       : Kunto Bayu A, S.T.






Coba perhatikan beberapa contoh berikut :
Dan contoh kode berikut (PHP)

$panjang = 10;
$lebar = 20;
$operasi = $panjang * $lebar;

if($operasi == 200){
print ‘hasilnya benar’;
}
Else
{
print ‘hasilnya salah’;
}


Dari beberapa contoh diatas, dapat kita simpulkan bahwa arti umum algoritma adalah urutan langkah-langkah penyelesaian masalah yang disusun secara sistematis, terperinci, dan logis. Sedangkan Dalam matematika dan ilmu komputer, algoritma adalah prosedur langkah-demi-langkah untuk penghitungan. Algoritma digunakan untuk penghitungan, pemrosesan data, dan penalaran otomatis.

Algoritma adalah metode efektif diekspresikan sebagai rangkaian terbatas dari instruksi-instruksi yang telah didefinisikan dengan baik untuk menghitung sebuah fungsi. Dimulai dari sebuah kondisi awal dan input awal (mungkinkan kosong), instruksi-instruksi tersebut menjelaskan sebuah komputasi yang bila dieksekusi, diproses lewat sejumlah urutan kondisi terbatas yang terdefinisi dengan baik, yang pada akhirnya menghasilkan "keluaran" dan berhenti di kondisi akhir.

Pernyataan tentang Algoritma:

  1. Algoritma adalah inti dari ilmu komputer
  2. Algoritma adalah urutan-urutan dari instruksi atau langkah-langkah untuk menyelesaikan suatu masalah
  3. Algoritma adalah blueprint dari program
  4. Sebaiknya disusun sebelum membuat program

Kriteria suatu Algoritma:

  • Ada input dan output
  • Efektifitas dan efisien
  • Tertata/Terstruktur

Ciri Penting Algoritma:

  1. Algoritma harus berhenti setelah menjalankan sejumlah langkah terbatas.
  2. Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguitas).
  3. Algortima memiliki nol atau lebih masukan.
  4. Algoritma memiliki nol atau lebih keluaran.
  5. Algoritma harus efektif (setiap langkah sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal).

Memprogram dan Bahasa Pemrograman:

  • Belajar memprogram adalah belajar tentang metode pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang masuk akal, mudah dibaca, dan mudah dipahami.
  • Belajar bahasa pemrograman adalah memakai suatu bahasa, aturan, tata bahasa, instruksi-instruksi, dan tata cara pengoperasian compiler untuk membuat program yang ditulis dalam bahasa tersebut.

Notasi Algoritma:

  1. Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemrograman dan komputer yang mengeksekusinya. Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
  2. Notasi algoritma dapat berupa raian kalimat deskriptif (narasi):
Contoh:

Algoritma hasil penjualan warung ucokDiberikan bulan dan presentase penjualan warung ucok, jika nilai presentase tersebut lebih besar atau sama dengan 100% maka penjualan dinyatakan untung banyak, jika nilai presentase lebih kecil dari 100% maka dinyatakan rugi bandar.

Deskripsi:

  1. Baca bulan dan presentase penjualan
  2. Jika presentase penjualan >= 100% maka
  3. Penjualan = untung banyak
  4. Tetapi jika salah
  5. Penjualan = rugi bandar
  6. Tulis bulan dan Penjualan.

Struktur Dasar Algoritma

Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration) atau kombinasi dari ketiganya. Jadi struktur dasar pembangunan algoritma ada tiga, yaitu:

  1. Struktur Runtunan
  2. Digunakan untuk program yang pernyataannya sequential atau urutan.
  3. Struktur Pemilihan
  4. Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi.
  5. Struktur Perulangan (loop)
  6. Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang.


Dalam Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman manapun.

Definisi Pseudo-code

Kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma.


Flowchart



  • Flowchart adalah bagan-bagan yang mempunyai arus menggambarkan langkah-langkah penyelesaian suatu masalah.
  • Flowchart merupakan cara penyajian dari suatu algoritma.

Simbol Flowchart


Ada 2 macam flowchart:

  1. System flowchart
  2. Urutan proses dalam system dengan menunjukkan alat media input, output serta jenis penyimpanan dalam proses pengolahan data.
  3. Program flowchart
  4. Urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah dalam suatu program.

Pembuatan Flowchart

  • Tidak ada kaidah yang baku untuk membuat flowchart
  • Flowchart = gambaran hasil analisa suatu masalah
  • Flowchart dapat bervariasi antara satu pemrograman dengan pemrograman lainnya.

Secara garis besar ada 3 bagian utama:

  • Input
  • Proses
  • Output

Tips membuat flowchart

  • Hindari pengulangan yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat
  • Jalannnya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
  • Sebuah Flowchart diawali dari satu titik START dan diakhiri dengan END.


Sumber
http://id.wikipedia.org/wiki/Algoritma&hl=en&gl=id&strip=0
http://andikafisma.wordpress.com/algoritma-dan-pemrograman/
http://blognapibelog.blogspot.com/2010/07/algoritma-dan-flowchart-dasar.html


Sebelum menuju arti dari Ilmu Sosial Dasar, perlu diketahui bahwa berdasarkan sumber filsafat yang dianggap sebagai ibu dari ilmu pengetahuan, ilmu pengetahuan dibagi menjadi 3 kelompok, yaitu:
  1. Natural Sciences (Ilmu-ilmu Alamiah) { Fisika, Kimia, Astronomi, Biologi dan lain-lain.}
  2. bertujuan mengetahui keteraturan-keteraturan yang terdapat dalam alam semesta. Untuk membahas hal ini digunakan metode ilmiah. Caranya adalah dengan menentukan hukum yang berlaku mengenai keteraturan-keteraturan itu, lalu dianalisis untuk menentukan suatu kualitas. Hasil analisis ini kemudian digeneralisasikan. Atas dasar ini lalu dibuat prediksi. Hasil penelitian 1005 benar dan 1005 salah.
  3. Sosial Sciences (Ilmu-ilmu Sosial) { Sosiologi, Ekonomi, Politik Antropologi, Sejarah, Psikologi, Geografi dan lain-lain.}
  4. bertujuan untuk membahas keteraturan-keteraturan yang terdapat dalam hubungan antara manusia. Untuk membahas hal ini digunakan metode ilmiah sebagai pinjaman dari ilmu-ilmu alamiah. Tapi hasil penelitiannya tidak 1005 benar, hanya mendekati kebenaran. Sebab, keteraturan dalam hubungan antara manusia ini tidak dapat berubah dari saat ke saat.
  5. Humanities (Ilmu-ilmu Budaya) { Bahasa, Agama, Kesusastraan, Kesenian dan lain-lain.}
  6. bertujuan untuk memahami dan mencari arti kenyataan-kenyataan yang bersifat manusiawi. Untuk membahas hal ini digunakan metode pengungkapan peristiwa-peristiwa dan kenyataan-kenyataan yang bersifat unik, kemudian diberi arti.
Berdasarkan pembagian kelompok diatas, maka Ilmu Sosial Dasar dan Ilmu Budaya Dasar adalah satuan pengetahuan yang dikembangkan sebagai usaha pendidikan.

Ilmu Sosial Dasar adalah ilmu yang mempelajari tentang masalah-masalah sosial dengan menggunakan pengertian-pengertian (fakta, konsep, teori) yang berasal dari berbagai bidang pengetahuan keahlian dalam lapangan ilmu-ilmu sosial, seperti sejarah, ekonomi, geografi sosial, sosiologi, antropologi, dan psikologi sosial.

Tujuan dari Ilmu Sosial Dasar adalah :
  • Memahami dan menyadari adanya kenyataan-kenyataan sosial dan masalah-masalah sosial yang ada dalam masyarakat.
  • Peka terhadap masalah sosial dan tanggap untuk ikut serta dalam usaha menanggulanginya.
  • Menyadari bahwa setiap masalah sosial yang timbul dalam masyarakat selalu bersifat kompleks.
  • memahami jalan pikiran para ahli dari bidang ilmu pengetahuan lain dan dapat berkomunikasi dengan mereka dalam rangka penanggulangan masalah sosial yang timbul dalam masyarakat.
Materi Ilmu Sosial Dasar terdiri atas masalah-masalah sosial. Untuk dapat mempelajari masalah-masalah sosial, hendaknya terlebih dahulu kita dapat mengindentifikasi kenyataan-kenyataan sosial dan memahami sejumlah konsep sosial tertentu. Sehingga dengan demikian bahan pelajaran Ilmu Sosial Dasar dapat dibedakan atas 3 golongan, yaitu :
  1. Kenyataan-kenyataan sosial yang ada dalam masyarakat, yang secara bersama-sama merupakan masalah sosial tertentu.
  2. Kenyataan-kenyataan sosial tersebut sering ditanggapi secara berbeda oleh para ahli ilmu sosial, karena adanya perbedaan latar belakang disiplin ilmu atau sudut pandangannya. Dalam Ilmu Sosial Dasar kita menggunakan pendekatan interdisiplin/multidisiplin.
  3. Konsep-konsep sosial atau pengertian-pengertian tentang kenyataan­kenyataan sosial dibatasi pada konsep dasar atau elementer saja yang sangat diperlukan untuk mempelajari masalah-masalah sosial yang dibahas dalam Ilmu Pengetahuan sosial.
  4. Sebagai contoh dari konsep dasar semacam itu misalnya konsep "keanekaragaman" dan kosep "Kesatuan sosial". Bertolak dari kedua konsep tersebut di atas, maka dapat kita pahami dan sadari bahwa di dalam masyarakat selalu terdapat :
    • Persamaan dan perbedaan pola pemikiran dan pola tingkah laku baik secara individual atau kelompok/golongan.
    • Persamaan dan perbedaan kepentingan.
    Persamaan dan perbedaan itulah yang menyebabkan sering timbulnya pertentangan/konflik, kerja-sama, kesetiakawanan antar individu dan golongan.
  5. Masalah-masalah sosial yang timbul dalam masyarakat, biasanya terlibat dalam berbagai kenyataan-kenyataan sosial yang antara satu dengan lainnya saling berkaitan.
Berdasarkan bahan kajian di atas, dapat dijabarkan lebih lanjut ke dalam pokok bahasan dan sub pokok bahasan untuk dapat di operasionalkan.
Konsorsium Antar Bidang telah menetapkan bahwa perkuliahan Ilmu Sosial Dasar terdiri dari 8 (delapan) pokok bahasan. Dari ke delapan Pokok Bahasan tersebut maka ruang lingkup perkuliahan Ilmu Sosial Dasar diharapkan mempelajari dan memahami adanya :
  1. Berbagai masalah kependudukan dalam hubungannya dengan perkembangan masyarakat dan kebudayaan.
  2. Masalah individu, keluarga dan masyarakat.
  3. Masalah pemuda dan sosialisasi.
  4. Masalah hubungan antara warga negara dan negara.
  5. Masalah pelapisan sosial dan kesamaan derajat.
  6. Masalah masyarakat perkotaan dan masyarakat pedesaan.
  7. Masalah pertentangan sosial dan integrasi.
  8. Pemanfaatan ilmu pengetahuan dan teknologi bagi kesejahteraan masyarakat.

Sumber :
http://id.wikipedia.org/
http://akhman.wordpress.com/2011/10/04/hakikat-dan-fungsi-isd-dalam-perguruan-tinggi/
http://prabowo-womanizer.blogspot.com/2012/10/pengertian-ilmu-sosial-dasar.html

Lain-lain

Followers

About Me

Foto Saya

Hi, my name is adi nugraha. I was in school at SMK 9 Bekasi. Nice to meet you :)
Desain template oleh Adi Nugraha Diberdayakan oleh Blogger