RSS
Facebook
Twitter

Thursday, February 17, 2011

Program java Membalik Kata

import javax.swing.JOptionPane;
public class tugas {
     public static void main(String[] args)
        {
         String input=JOptionPane.showInputDialog("Masukkan kalimat anda");
         String[] kata=input.split(" ");
         String katabaru="";
         for(int i=kata.length-1;i!=-1;i--)
         {
             katabaru=katabaru+kata[i]+" ";
         }
         JOptionPane.showMessageDialog(null,katabaru);
     }

}

penjelesan dari program hanoi

import javax.swing.JOptionPane;
    public class hanoi2
    {
        static int i=0;
        public static int Hanoi(int N,char home, char help, char destination)
        {
            if (N==1)
            {
                i++;
                System.out.println("Move "+i+" plate "+N+" from "+home+" to "+destination);
                return 0;
            }
            Hanoi(N-1, home, destination, help);
            i++;
            System.out.println("Move "+i+ " Plste "+N+" from "+home+" to "+destination);
            Hanoi(N-1, help, home, destination);
            return 0;
        }
        public static void main(String[] args)
        {
            int N;
            String input=JOptionPane.showInputDialog("Input the plate :");
            N=Integer.parseInt(input);
            Hanoi(N,'A','B','C');
        }
    }
For INPUT=2
Hanoi(N,'A','B','C'); -- >  Hanoi(2,'A','B','C');
public static int Hanoi(int N=2,char home=A, char help=B, char destination=C)
            if (N==1)  ---- >  N==1??? no
            Hanoi(N-1, home, destination, help); ---- > call the function
public static int Hanoi(int N=1,char home=home (A), char help=destination (C), char destination=help (B))
if (N==1) --- >  N==1??? yes
                    {
                    i++; ----> i=1
System.out.println("Move "+i+" Plate "+N+" from "+home+" to "+destination); --- > i=1 , N=1 , home = A ,destination = B
                        return 0;
                    }
i++; --- > i=2
            System.out.println("Move "+i+ " Plate "+N+" from "+home+" to "+destination); -- > i=2 , N=2 , home=A, destination = C
            Hanoi(N-1, help, home, destination); --- > call the function
public static int Hanoi(int N=1,char home=help (B), char help=home (A), char destination=destination (C))
if (N==1) --- >  N==1??? yes
                    {
                    i++; ----> i=3
System.out.println("move "+i+" Plate "+N+" from "+home+" to "+destination); --- > i=3 , N=1 , home = B ,destination = C
                        return 0;
                    }




   

For INPUT=3
Hanoi(N,'A','B','C'); -- >  Hanoi(3,'A','B','C');
public static int Hanoi(int N=3,char home=A, char help=B, char destination=C)
            if (N==1)  ---- >  N==1??? No
            Hanoi(N-1, home, destination, help); ---- > call the function
public static int Hanoi(int N=2,char home=home (A), char help=destination (C), char destination=help (B))
if (N==1) --- >  N==1??? no
                   Hanoi(N-1, home, destination, help); ---- > call the function
public static int Hanoi(int N=1,char home=home (A), char help=destination (B), char destination=help (C))
if (N==1) --- >  N==1??? Yes
                    {
                    i++; ----> i=1
System.out.println("Move "+i+" Plate "+N+" from "+home+" to "+destination); --- > i=1 , N=1 , home = A , destination = C
                        return 0;
                    }

i++; --- > i=2
System.out.println("Move "+i+ " Plate "+N+" from "+home+" to "+destination); -- > i=2 , N=2 , home = A, destination = B
Hanoi(N-1, help, home, destination); --- > call the function
public static int Hanoi(int N=1,char home=help (C), char help=home (A), char destination=destination (B))
if (N==1) --- >  N==1??? Yes
                    {
                    i++; ----> i=3
System.out.println("Move "+i+" Plate "+N+" from "+home+" to "+destination); --- > i=3 , N=1 ,home = C , destination = B
                        return 0;
                    }
            i++; -- > i=4
            System.out.println("Move "+i+ " Plate "+N+" from "+home+" to "+destination); -- > i=4 , N = 3 , home= A , destination = C
            Hanoi(N-1, help, home, destination); -- > call the function
public static int Hanoi(int N=2,char home=help (B), char help=home (A), char destination=destination (C))
if (N==1) --- >  N==1??? no
                   Hanoi(N-1, home, destination, help); ---- > call the function
public static int Hanoi(int N=1,char home=home (B), char help=destination (C), char destination=help (A))
if (N==1) --- >  N==1??? Yes
                    {
                    i++; ----> i=5
System.out.println("Move "+i+" Plate "+N+" from "+home+" to "+destination); --- > i=5 , N=1 , home = B , destination = A
                        return 0;
                    }

i++; --- > i=6
System.out.println("Move "+i+ " Plate "+N+" from "+home+" to "+destination); -- > i=6 , N=2 , home = B, destination = C
Hanoi(N-1, help, home, destination); --- > call the function
public static int Hanoi(int N=1,char home=help (A), char help=home (B), char destination=destination (C))
if (N==1) --- >  N==1??? Yes
                    {
                    i++; ----> i=7
System.out.println("Move "+i+" Plate "+N+" from "+home+" to "+destination); --- > i=7 , N=1 ,home = A , destination = C
                        return 0;
                    }
            return 0;
        }

Friday, February 11, 2011

catatan kewarganegaraan_link2's note_

# Skema tentang Ketahanan nasional


ketahanan nasional adalah kondisi dinamis suatu bangsa berisi keuletan & ketangguhan yg mengandung kemampuan mengembangkan kekuatan nasional dalam menghadapi & mengatasi segala tantangan, ancaman, hambatan dan gangguan baik yg datang dari dalam maupun luar negeri, langsung/tidak langsung membahayakan integritas,identitas, & kelangsungan hidup bangsa & negara serta perjuangan mengejar tujuan nasional.
# hak dan kewajiban warga negara
1. hak atas kesamaan kedudukan dalam hukum dan pemerintahan
-> pasal 27(1) menyatakan tentang kesamaan kedudukan WN dalam hukum & pemerintahan tanpa pengecualian.
2. hak atas pekerjaan & penghidupan yg layak
-> pasal 27(2), menunjukkan asas keadilan sosial & kerakyatan.
3. kemerdekaan berserikat dan berkumpul
-> pasal 28 menetapkan hak WN & penduduk u/ berserikat & berkumpul, mengeluarkan pikiran secara lisan maupun tulisan dsb.
4. kemerdekaan memeluk agama
-> pasal 29(1),(2) mengatur kemerdekaan beragama di Indonesia.
5. hak dan kewajiban bela negara
-> pasal 30(1),(2) menyatakan setiap WN u/ ikut serta dalam usaha pembelaan negara & pengaturannya lebih lanjut dilakukan dengan UU.
6. hak mendapatkan pengajaran
-> pasal 31(1),(2)
contoh hak WNI :
- berhak mendapatkan perlindungan hukum
- berhal atas pekerjaan & penghidupan yg layak
- memiliki kedudukan yg sama di mata hukum & pemerintahan
- bebas memilih, memelukk & menjalankan agama & kepercayaan masing2.
- berhak memperoleh pendidikan & pengajaran
contoh kewajiban WNI :
- berkewajiban u/ berperan serta dalam membela, mempertahankan kedaulatan negara Indonesia dari serangan musuh.
- wajib membayar pajak
- wajib mentaati serta menjunjung tinggi dasar negara, hukum dan pemerintahan tanpa terkecuali serta, serta dijalakan sebaik2nya.
- wajib taat,tunduk, & patuh terhadap segala hukum yg berlaku
- wajib turut serta dalam pembangunan.

# implementasi politik strategi nasional
-> di bidang politik
- memperkuat keberdaan & kelangsungan NKRI
- menyempurnakan UUD 1945
- meningkatkan peran MPR & lembaga2 tinggi negara lainnya
- mengembangkan sistem politik nasional yg berkedudukan rakyat demokratis dan terbuka
- meningkatkan kemandirian parpol.
- meningkatkan pendidikan politik
- memasyarakatkan & menerapkan prinsip persamaan & anti diskriminatif
- menyelenggarakan pemilu secara lebih berkualitas
- membangun bangsa & watak bangsa
- menindak lanjuti paradigma Tentara Nasional Indonesia
-> bidang sosial budaya
- merumuskan nilai2 kebudayaan indonesia
- mengembangakan sikap kritis terhadap nilai2 budaya
- mengembangkan kebebasan berkreasi dlm kesenian
- melestarikan apreasiasi nilai kesenian & kebudayaan tradisional
- mengembangkan pariwisata melalui pendekatan sistem yg u/ & terpadu
-> bidang HANKAM
- menata Tentara Nasional Indonesia
- mengembangkan kemampuan sistem pertahanan keamanan rakyat semesta
- meningkatkan kualitas keprofesionalan TNI
- memperluas & meningkatkan kualitas kerjasama bilateral
- menuntaskan upaya memandirikan kepolisian negara RI
# contoh pembangunan Nasional di bidang Ketahanan Nasional
-> dalam aspek ideologi
kalau ada ideologi bangsa lain yg hendak masuk ke negara kita, seperti suatu ideologi yg bertentangan dg ideologi pancasila maka kita tidak boleh goyah dan tetap mempertahankan ideologi kita
-> politik
di bidak politik, kita tidak boleh menjalankan/bekerja sama dn negara lain yg dimana merugikan negara kita. kita harus tetap menjalankan politik bangsa kita kita bangsa Indonesia yaitu politik bebas aktif yang berdasarkan Pancasila.
-> ekonomi
membeli produk dalam negeri, meningkatkan produk dalam negeri agar tidak kalah saing dg produk luar negeri.
-> sosial budaya
- tidak boleh mudah terpengaruh den budaya asing yg negatif, misal bidaya minum2an keras.
- melalui perfilman.
-> Hankam
contohnya seperti yang terjadi di Irak, palestina setiap negara harus mempertahankan daerahnya masing2 dari pihak2 yang ingin merebut kebebasan negara tsb.
# sebab terjadinya negara
1. penaklukan / pendudukan (occupasi)
suatu daerah belum ada yg menguasai kemudian diduduki oleh suatu bangsa.
2. pelepasan diri(proklamasi)
suatu daerah yg semula termasuk daerah negara tertentu melepaskan diri dan menyatakan kemerdekaan
3. peleburan menjadi satu (fusi)
beberapa negara mengadakan peleburan menjadi 1 negara baru.
4. pelenyapan & pembentukan negara baru
suatu negara pecah & lenyap, kemudian di atas wilayah itu muncul negara baru.
Proses terjadinya negara Indonesia
bangsa indonesia telah melalui kisah panjang hingga dpt terbentuk Negara Indonesia yg utuh. indonesia pernah dijajah berbagai bangsa dari Inggris,Portugis, Spanyol,jepang,&Belanda.
perjuangan para pejuang tidaklah mmudah. sebelum proklamasi diploklamirkan, ternyata didahului perdebatan antara Gol.Muda & tua. hingga soekarno-Hatta di bawa ke rengasdengklok oleh sekelompok pemuda, hal ini merupakan aksi "penculikan" agar proklamasi cepat diproklamirkan. dan akhirnya dengan perundingan Soekarno-Hatta di bawa kembali ke Jakarta dan merumuskan proklamasi di rumah Laksamana Tadashi Maeda.
dan pada hari jum'at di bukan Ramadhan pukul 10.00 pagi jalan pengangsaan timur no.56 Jakarta, proklamasi di proklamirkan oleh soekarno.para wartawan indonesia berusaha menyebarkan gema proklamasi ke seluruh dunia sekalipun kantor berita Domei telah disegel.
# Hakikat politik strategis nasional
Politik Strategis adalah kebijaksanaan nasional yg menjadi landasan serta arah bagi penyusunan konsep strategi nasional.
strategi nasional adalah cara melaksanakan politik nasional dalam mencapai sasaran & tujuan yg ditetapkan oleh politik nasional.
tujuanya dalam pembangunan nasional
u/ memajukan kesejahteraan umum, mencerdaskan kehidupan bangsa. u/ meningkatkan kualitas manusia & masyarakat Indonesia.
NB for 2TK : Baca n hapal aja..dijamin ujian pasti bisa..tergantung dari warna pena dan jenis tulisan anda juga..thx.. ^^

Tuesday, February 08, 2011

penjadwalan CPU-SOD-BAB 4-Link2's Note

SOD
Bab 4
PENJADWALAN CPU
penjadwalan CPU ada 2 kategori :
1. preemptive : penggunaan CPU bisa di interrupt oleh proses lain
2. non preemptive : tdk bisa di interrupt / dihentikan paksa oleh proses yg lain.

tujuan penjadwalan CPU :
1. adil -> semua proses harus selesai dikerjakan
2. efisiensi -> memaksimalkan penggunaan CPU

1. FCFS (FIRST COME FIRST SERVED SCHEDULLING) -> non preemptive
kelebihan : mudah diimplementasikan
kekurangan : average waiting time nya lama dan terjadinya convoy effect.

2. SJF (SHORTEST JOB FIRST SCHEDULLER) -> non preemptive/preemptive
kelebihan : AWT nya lebih kecil
kellemahan : cukup sulit u/ melakukan prediksi burst time.

3. ROUND ROBIN SCHEDULLING
kelebihan : paling adil,karna semua proses pasti dikerjakan
kelemahan : algoritma ini terlalu sering melakukan switching.

*dari penggunaan algoritma paling optimal adalah dimana WT nya paling kecil,waktu pengerjaannya lebih byk karna semakin lama waktu pengerjaannya maka kualitas CPU lebih bagus..

proses-proses-SOD-BAB 3-link2 Note

SOD
Bab 3
PROSES-PROSES
proses : program yg aktif / sedang dieksekusi
: setiap kegiatan yang dijalankan / di eksekusi
Status Proses
1. new : proses sedang dibuat
2. running : instruksi sedang di kerjakan
3. waiting : proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah penyelesaian I/O)
4. ready : proses sedang menunggu untuk ditugaskan pada sebuah prosesor. proses berada di memori utama.
5. terminated : proses selesai dieksekusi.

proses : suatu entitas yg aktif
program : sebuah entitas yg pasif
*Gambar status proses nya dapat di lihat di buku masing2. :p
# Interrupt terjadi karna :
1. ada prioritas proses lain yg lebih tinggi.
2. bentrok antar proses.
3. proses yg di eksekusi corrupt
4. dihentikan paksa oleh user
5. batas waktu penggunaan cpu telah habis.

Proses Control Block (PCB) -> detail dari sebuah proses
-> tempat menyimpan properti dari proses
-> tiap proses di gambarkan dalam sistem operasi oleh sebuah PCB
-> PCB berisikan byk bagian dari informasi yg berhunbungan dg sebuah proses
*gambar PCB dapat di lihat di buku masing2.tak ada buku,pinjam dgn teman terdekat.. :p

1. status proses : status dari proses misal new,ready,running,dll.
2. Program register : menunjuk alamat berikutnya yg akan dieksekusi
3. CPU register : selama program counter berjalan, keadaan / status informasi harus disimpan ketika interrupt terjadi, untuk memungkinkan proses tsb berjalan/bekerja dg benar setelahnya.
4. informasi penjadwalan CPU : berisi prioritas proses
5. informasi menejeman memori : informasi tsb termasuk suatu informasi sbg nilai dari dasar & batas register, tabel page/ halaman, atau tabel segmen.
6. informasi pencatatan : informasi ini termasuk jumlah dari CPU dan waktu riil yg digunakan, batas waktu, jumlah akun, jumlah proses/job.
7. informasi status I/O : informasi termasuk daftar dari perangkat I/O yg digunakan pd proses ini, suatu daftar open berkas.

PENJADWALAN PROSES
-> tujuan multiprogramming u/ memiliki sejumlah proses yg berjalan pd sepanjang waktu, untuk memaksimalkan penggunaan CPU
-> tujuan dari pembagian waktu u/ mengganti CPU diantara proses2 yg begitu sering sehingga pengguna dpt berinteraksi dg setiap program sambil CPU bekerja.
PENJADWALAN ANTRIAN (SCHEDULLING QUEUE)
-> proses yg hidup pd memori utama , siap menunggu u/ di eksekusi disimpan pd sbh daftar bernama ready queue.
-> daftar dari proses yg menunggu peralatan I/O dsb device queue

PENJADWAL (SCHEDULLER)
ada 2 bentuk :
1. penjadwal long term : memilih proses dari pool & mengisinya ke dalam memory (ready)
2. penjadwal short term ; memilih proses2 yg ada di memori utama u/ dieksekusi oleh CPU (running)

ALIH KONTEKS (CONTEXT SWITCH)
-> suatu proses dihentikan sementara krn CPU sedang menjalankan proses yg lain.

OPERASI PD PROSES
*pembuatan proses
1. memberi nama proses
2.menyisipkan proses pd tabel proses
3. menentukan prioritas awal proses
*terminasi proses
1. memori tdk tersedia
2. terjadi kesalahn perhitungan
3. proses melebihi jatah waktu yg diberikan
HUBUNGAN ANTAR PROSES
*proses independen apabila proses tsb tidal dapat terpengaruh / dipengaruhi oleh proses lain yg sedang dijalankan pd sistem
*proses kooperatif adalah proses yg dpt dipengaruhi ataupun terpengaruh oleh proses lain yg sedang dijalankan pd sistem.

KOMUNIKASI PROSES DLM SISTEM
*komunikasi langsung
-> simetris = identitas pengirim & penerima jelas
-> asimetris = penerima tdk perlu mengetahui id pengirim
*komunikasi tidak langsung
-> menggunakan perantara mail box.
-> pesan dikirim dan diterima melalui mail box.
KONDISI PENGECUALIAN
sebab terjadi error dlm proses komunikasi
1. proses dihentikan
2. kehilangan pesan

THREADS
-> suatu proses adalah sebuah program menjalankan eksekusi thread tunggal.
-> thread dsb juga proses ringan.

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