RSS
Facebook
Twitter

Sunday, February 06, 2011

share_metode bubble sort dan merge sort...

Nama : Yulyanti
Kelas : 2TK
NIM : 0910117260006
1. Metode Merge Sort
Merge Sort merupakan pengurutan untuk data yang jumlahnya besar, dimana data tidak semuanya dapat dimuat dalam memori utama (main memory), sehingga harus disimpan dalam penyimpanan sekunder (secondary storage) berupa berkas (file). Proses penggabungan sedikitnya dua buah file ke dalam file lain dalam kondisi terurut.
Konsep dari merge sort sendiri adalah sebagai berikut :
1.) Bagi list besar menjadi setengahnya
2.) Lakukan hal ini secara rekursif sampai diperoleh list dengan satu elemen saja
3.) List tersebut digabung lagi menjadi sebuah list besar yang sudah terurut.

Contoh pseudocode untuk merge sort :
function mergesort(m)
var
kiri, kanan, hasil :list
tengah: integer
algoritma
if length(m) _ 1 then
return m
else
tengah = length(m) div 2
for x = m to tengah do
add x to kiri
end for
for x = m after tengah do
add x to kanan
end for
kiri = mergesort(kiri)
kanan = mergesort(kanan)
hasil = merge(kiri, kanan)
end if
return hasil

Kelebihan dari merge sort :

Dibanding dengan algoritma lain, merge sort ini termasuk algoritma yang sangat efisien dalam penggunaannya sebab setiap list selalu dibagi bagi menjadi list yang lebih kecil, kemudian digabungkan lagi sehingga tidak perlu melakukan banyak perbandingan.


2. Metode Bubble Sort

Ada beberapa yang perlu diketahui mengenai Bubble Sort :
- Metode sorting termudah
- Diberi nama “Bubble” karena proses pengurutan secara berangsur-angsur bergerak/berpindah ke posisinya yang tepat, seperti gelembung yang keluar dari sebuah gelas bersoda.
- Bubble Sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya.
- Jika elemen sekarang lebih besar dari elemen berikutnya maka kedua elemen tersebut ditukar, jika pengurutan ascending.
- Jika elemen sekarang lebih kecil dari elemen berikutnya, maka kedua elemen tersebut ditukar, jika pengurutan descending.
- Algoritma ini seolah-olah menggeser satu per satu elemen dari kanan ke kiri atau kiri ke kanan, tergantung jenis pengurutannya.
- Ketika satu proses telah selesai, maka bubble sort akan mengulangi proses, demikian seterusnya.
- Kapan berhentinya? Bubble sort berhenti jika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bisa dilakukan, serta tercapai perurutan yang telah diinginkan.


Kelebihan dan Kelemahan dari Bubble Sort
Setiap algoritma memiliki kelebihan dan kekurang masing-masing. Berikut kelebihan dan kelemahan dari algoritma bubble sort.

Beberapa kelebihan dari Bubble Sort :
- Algoritma yang simpel.
- Mudah untuk diubah menjadi kode.
- Definisi terurut terdapat dengan jelas dalam algoritma.
- Cocok untuk pengurutan data dengan elemen kecil telah terurut.

Beberapa kelemahan dari Bubble Sort :
- Tidak efektif dalam pengurutan data berskala besar.
- Langkah pengurutan yang terlalu panjang.

catatan teori java's link2_inheritance,method dan constructor

Overriding (penumpukan method pada subclass)
-> subclass yang berusaha memodifikasi tingkah laku yang mewarisi dari superclass
-> tujuan : subclass memiliki tingkah laku yang lebih spesifik.
-> dilakukan dgn cara mendeklarasikan kembali method milik parent class di subclass
-> deklarasi method pd subclass harus sama dg yang terdapat di superclass. kesamaan pada:
- nama
- return type
- daftar paramater (jumlah.type, dan urutan)
-> method pd parent class dsb overriden method
-> method pada subclass dsb overriden method
Aturan Overriding
-> mode akses overriding method harus sama / lebih luas daripada overriden method
-> subclass hanya boleh meng-overriden method superclass 1x saja, tidak boleh ada lebih dari 1 method pd kelas yang sama yang sama persis
overloading
-> menuliskan method dg nama yang sama pd suatu class
-> tujuan : memudahkan penggunaan / pemanggilan method dg fungsionalitas yang mirip
aturan overloading
-> nama method harus sama
-> daftar parameter harus berbeda
-> return type boleh sama, juga boleh berbeda

-> overloading juga bisa terjadi antara parent class dg subclass jika memenuhi ketiga syarat overload.



Single Inheritance
-> konsep single inheritance hanya memperbolehkan suatu subclass mempunyai 1 parent class
Multilevel inheritance
-> konsep multilevel inheritance memperbolehkan suatu subclass mempunyai subclass lagi.

kapan kita menerapkan inheritance?
-> kita baru perlu menerapkan inheritance pd saat kita menjumpai ada suatu class yg perlu memperluas class lain yg sudah ada.

Modifier Class yang sama -package yang sama -subclass -class manapun
private ok
default ok ok
protected ok ok ok
public ok ok ok ok

kontruktor tidak diwariskan
->konstruktor dari parent class tidak dapat diwariskan ke subclass nya.
method
-> ada nilai balikan
-> nilai balik hanya sebuah data integer,float, string dll
-> nama method tidak sama dengan nama class
-> bisa overloading

kemampuan public-protected-default-private
dari kelas yg sama ok ok ok ok
dari kelas yg berbeda dlm package yg sama ok ok ok
dari kelas yg berbeda dlm package yg berbeda ok
dari subclass dlm package yg sama ok ok ok
dari subclass di luar package ok ok

Thursday, February 03, 2011

Sorting_metode Bubble Sort

Ada beberapa yang perlu diketahui mengenai Bubble Sort :
- Metode sorting termudah
- Diberi nama “Bubble” karena proses pengurutan secara berangsur-angsur bergerak/berpindah ke posisinya yang tepat, seperti gelembung yang keluar dari sebuah gelas bersoda.
- Bubble Sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya.
- Jika elemen sekarang lebih besar dari elemen berikutnya maka kedua elemen tersebut ditukar, jika pengurutan ascending.
- Jika elemen sekarang lebih kecil dari elemen berikutnya, maka kedua elemen tersebut ditukar, jika pengurutan descending.
- Algoritma ini seolah-olah menggeser satu per satu elemen dari kanan ke kiri atau kiri ke kanan, tergantung jenis pengurutannya.
- Ketika satu proses telah selesai, maka bubble sort akan mengulangi proses, demikian seterusnya.
- Kapan berhentinya? Bubble sort berhenti jika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bisa dilakukan, serta tercapai perurutan yang telah diinginkan.

Algoritma bubble sort adalah salah satu algoritma pengurutan yang paling simple, baik dalam hal pengertian maupun penerapannya. Ide dari algoritma ini adalah mengulang proses pembandingan antara tiap-tiap elemen array dan menukarnya apabila urutannya salah. Pembandingan elemen-elemen ini akan terus diulang hingga tidak perlu dilakukan penukaran lagi. Algoritma ini termasuk dalam golongan algoritma comparison sort, karena menggunakan perbandingan dalam operasi antar elemennya.

Dalam algoritma Bubble Sort ini, terdapat beberapa ciri khas yang cukup menonjol, Ciri khas dari algoritma Bubble Sort ini adalah cepatnya elemen-elemen besar menempati posisi yang tepat dan lambatnya elemen-elemen yang lebih kecil dalam menempati posisi yang tepat.

Kelebihan dan Kelemahan dari Bubble Sort
Setiap algoritma memiliki kelebihan dan kekurang masing-masing. Berikut kelebihan dan kelemahan dari algoritma bubble sort.

Beberapa kelebihan dari Bubble Sort :
- Algoritma yang simpel.
- Mudah untuk diubah menjadi kode.
- Definisi terurut terdapat dengan jelas dalam algoritma.
- Cocok untuk pengurutan data dengan elemen kecil telah terurut.

Beberapa kelemahan dari Bubble Sort :
- Tidak efektif dalam pengurutan data berskala besar.
- Langkah pengurutan yang terlalu panjang.

Wednesday, February 02, 2011

Kisi-kisi kewarganegaraan

Kisi-kisi kewarganegaraan
1. Skema tentang ketahanan nasional
2. Contoh-contoh pembangunan nasional di bidang ketahanan nasional
3. sejarah berdirinya negara
4. hak dan kewajiban WN menurut UUD

5. Contoh politik strategis nasional dan pembangunan nasional (min 10)
6. hakikat politik strategis nasional
7. poleksosbud dan hankam dalam hubungannya dengan ketahanan nasional
8. asal mula adanya negara
9. bentuk2 pembangunan nasional
10. kaitan antara politik strategis nasional dengan pembangunan nasional

Tuesday, February 01, 2011

algoritma round robin_SOD_Penjadwalan CPU

ALGORITMA ROUND-ROBIN
Konsep dasar dari algoritma ini adalah dengan menggunakan time-sharing. Pada dasarnya algoritma ini sama dengan FCFS, hanya saja bersifat preemptive. Setiap proses mendapatkan waktu CPU yang disebut dengan waktu quantum (quantum time) untuk membatasi waktu proses, biasanya 1-100 milidetik. Setelah waktu habis, proses ditunda dan ditambahkan pada ready queue. Jika suatu proses memiliki CPU burst lebih kecil dibandingkan dengan waktu quantum, maka proses tersebut akan melepaskan CPU jika telah selesai bekerja, sehingga CPU dapat segera digunakan oleh proses selanjutnya. Sebaliknya, jika suatu proses memiliki CPU burst yang lebih besar dibandingkan dengan waktu quantum, maka proses tersebut akan dihentikan sementara jika sudah mencapai waktu quantum, dan selanjutnya mengantri kembali pada posisi ekor dari ready queue, CPU kemudian menjalankan proses berikutnya.
Jika terdapat n proses pada ready queue dan waktu quantum q, maka setiap proses mendapatkan 1/n dari waktu CPU paling banyak q unit waktu pada sekali penjadwalan CPU. Tidak ada proses yang menunggu lebih dari (n-1)q unit waktu. Performansi algoritma round robin dapat dijelaskan sebagai berikut, jika q besar, maka yang digunakan adalah algoritma FIFO, tetapi jika q kecil maka sering terjadi context switch.
Berikut algritma untuk penjadual Round Robin:
• Setiap proses mendapat jatah waktu CPU (time slice/ quantum) tertentu Time slice/quantum umumnya antara 10 - 100 milidetik.
1. Setelah time slice/ quantum maka proses akan di-preempt dan dipindahkan ke antrian ready.
2. Proses ini adil dan sangat sederhana.
• Jika terdapat n proses di "antrian ready" dan waktu quantum q (milidetik), maka:
1. Maka setiap proses akan mendapatkan 1/n dari waktu CPU.
2. Proses tidak akan menunggu lebih lama dari: (n-1)q time units.
• Kinerja dari algoritma ini tergantung dari ukuran time quantum
1. Time Quantum dengan ukuran yang besar maka akan sama dengan FCFS
2. Time Quantum dengan ukuran yang kecil maka time quantum harus diubah ukurannya lebih besar dengan respek pada alih konteks sebaliknya akan memerlukan ongkos yang besar.


Kesimpulan
 Algoritma ini menggilir proses yang ada di antrian. Proses akan mendapat jatah sebesar time quantum.
 Jika time quantum-nya habis atau proses sudah selesai CPU akan dialokasikan ke proses berikutnya.
 Tak ada proses yang diprioritaskan
 Jika time quantum terlalu besar, sama saja dengan algoritma first-come first-served, jika terlalu kecil akan semakin banyak peralihan proses sehingga banyak waktu terbuang