Tampilkan postingan dengan label kuliah. Tampilkan semua postingan
Tampilkan postingan dengan label kuliah. Tampilkan semua postingan

Sabtu, Maret 12, 2011

BUBBLE SORT

setelah kemaren saya bahas soal selection sort, hari ini saya mau bahas tentang bubble sort. Bubble sort disebut juga dengan metode Penukaran (Exchange Sort), yaitu metoda yang
mendasarkan pada penukaran elemen untuk mencapai keadaan urut yang diinginkan.
Algoritma Metode gelembung :
• langkah 0 : Baca vector yang akan diurutkan (dalam program utama)
• langkah 1 : Kerjakan langkah 2 untuk i = 1 sampai N-1
• langkah 2 : Kerjakan langkah 3 untuk j = 1 sampai N- i
• langkah 3 : Tes apakah A[j] > A[j +1] ? Jika ya, tukarkan nilai kedua elemen ini
• langkah 4 : Selesai

berikut adalah contoh program yg saya buat. .
program buble;

uses Crt;
type ArrInt = array [1..100] of integer;

var     data : arrInt;
        i, n : integer; pil : integer;


Procedure TukarData(var a,b : integer);
var c : integer;
Begin
c:=a;
a:=b;
b:=c;
end;


Procedure bubblesort_asc(var data:arrInt; N:word);
Var i,j : word;
Begin
For i:= 1 to N-1 do
For j:= 1 to N-i do
If data[j] > data[j+1] then
Tukardata (data[j], data[j+1]);
end;

Procedure bubblesort_desc(var data:arrInt; N:word);
Var i,j : word;
Begin
For i:= 1 to N-1 do
For j:= 1 to N-i do
If data[j] < data[j+1] then
Tukardata (data[j], data[j+1]);
end;


begin
clrscr;
writeln('====BUBBLE SORT====');
writeln('1.Masukan Data');
writeln('2.Sort ascending');
writeln('3.Sort Descending');
writeln('4.keluar');
while pil <> 4 do begin
    write('masukan pilihan menu 1/2/3/4 '); readln(pil);
    case pil of
    1  : begin
         write('masukan jumlah data : '); readln(n);
         for i:=1 to N do
         begin
         write('data ke ',i, ': '); readln (data[i]);
         end;

         writeln;
         end;
    2  : begin
         writeln('pengurutaaann, , , ,');
         writeln('secara ascending : ');
         Bubblesort_asc(data, n);
         for i:=1 to n do
         writeln(data[i]);
         writeln;
         end;
    3  : begin
         writeln('pengurutaaann, , , ,');
         writeln('secara descending : ');
         bubblesort_desc(data, n);
         for i:=1 to n do
         writeln(data[i]);
         writeln;
         end;

    end;
end;
readln;

end.
 sayangnya running programnya kelupaan, ketinggal di laptop, hohohohoho, ,
run sendiri yak :p

Minggu, Maret 06, 2011

METODE SELEKSI (SELECTION SORT)

Pengurutan atau shorting merupakan proses untuk menyusun kembali kumpulan entri-entri
yang telah dimasukkan dengan suatu aturan tertentu. Secara umum ada 2 macam
pengurutan yaitu pengurutan secara menaik (ascenden) dan pengurutan secara menurun
(descenden).

METODE SELEKSI (SELECTION SORT)

Masukkan dinyatakan sebagai vector misal vector A (belum terurut), dan N (missal
banyak elemen yang akan diurutkan). Keluaran adalah vector A yang telah terurut.

Algoritma metode seleksi :
• langkah 0 : Baca vector yang akan diurutkan (dalam program utama)
• langkah 1 : Kerjakan langkah 2 sampai 4 untuk i = 1 sampai N -1
• langkah 2 : Tentukan awal = i , kerjakan langkah 3 untuk j = i +1 sampai N
• langkah 3 : (Mencari data terkecil)
Tes : apakah A[awal] > A[j], jika ya maka ubah awal = j
• langkah 4 : Tukarkan nilai A[awal] dengan A[i]
• langkah 5 : selesai


implementasinya sebagai berikut :

program contoh_sorting;
uses crt;
type dataItem = integer;
arrInt = array [1..100] of dataItem;




procedure Tukar(var a,b : dataItem);
var temp : dataItem;
begin
temp := a;
a := b;
b := temp;
end;


procedure SelectionSort(var X : ArrInt; n : integer ; awal : integer);
var i,j : integer;
begin


for i:=1 to N-1 do
begin
awal :=i
for j := i+1 to N do
begin
if (x[i] > x[j]) then awal :=j;


end;
Tukar(x[awal],x[i]);
end;




end;



var data:arrInt;
i, n:integer;




begin
clrscr;
write('masukan jumlah data : '); readln(n);
for i:=1 to N do
begin
write('data ke ',i, ': '); readln (data[i]);
end;


begin


SelectionSort(data, n);
for i:=1 to n do
write(data[i],' ');
readln;
end;


end.
 run programnya adalah sebagai berikut :








next saya mau posting tentang Bubble Sort  ,, tunggu yaaaa!

Minggu, Januari 16, 2011

Replikasi 3 Master

semester 5 kemaren, pas matkul BASIS DATA 2, kelompokku dapet tugas buat replikasi SQL. tapi, apa itu replikasi? replikasi merupakan sebuah database terdistribusi di mana beberapa kopian data terletak di beberapa mesin yang berbeda. keuntungannya, ini menjadi solusi atas masalah skalabilitas dan backup serta dapat meningkatkan kinerja dan ketersediaan data.

terdiri atas dua server, yaitu master dan slave
  • master mencatat semua query yang menyebabkan modifikasi data
  • slave menghubungkan diri ke master, membaca query, dan mengeksekusinya terhadap data lokal.
pas praktek kemaren, kita pura2nya pake 3 pc, , berikut adalahkonfigurasinya :

 by -- Server 1 --

create user pc2@10.0.0.2 identified by '1234';
grant replication slave on *.* to pc2@10.0.0.2 identified by '1234';
show master status;

- my.ini:
server-id=1
log-bin=mysql-bin

- restart mysql

-- Server 2 --

create user pc3@10.0.0.3 identified by '1234';
grant replication slave on *.* to pc3@10.0.0.3 identified by '1234';
show master status;

- my.ini:
server-id=2
log-bin=mysql-bin

- restart mysql

-- Server 3 --

create user pc1@10.0.0.1 identified by '1234';
grant replication slave on *.* to pc1@10.0.0.1 identified by '1234';
show master status;

- my.ini:
server-id=3
log-bin=mysql-bin

- restart mysql



-- Server 2 --

change master to master_host='10.0.0.1';
change master to master_user='pc2';
change master to master_password='1234';
change master to master_log_file='mysql-bin.000001';
change master to master_log_pos=220;


-- Server 3 --

change master to master_host='10.0.0.2';
change master to master_user='pc3';
change master to master_password='1234';
change master to master_log_file='mysql-bin.000001';
change master to master_log_pos=220;


-- Server 1 --

change master to master_host='10.0.0.3';
change master to master_user='pc1';
change master to master_password='1234';
change master to master_log_file='mysql-bin.000001';
change master to master_log_pos=220;



start slave;
show slave status;



selamat mencoba, ,

PBO : sedikit ringkasan tentang Objek dan Class

 mencoba menyampaikan materi kuliah yg saya rangkum :D

PBO

Objek
Pada dasarnya semua benda yang ada di dunia nyata dapat dianggap sebagai sebuah objek. Jika perhatikan lebih lanjut, pada dasarnya ada dua karakteristik yang utama pada sebuah objek , yaitu :
Setiap objek memiliki atribut sebagai status yang kemudian akan disebut sebagai state.
Setiap objek memiliki tingkah laku yang kemudian akan disebut sebagai behaviour.
Contoh sederhananya adalah : objek sepeda
Sepeda memiliki atribut ( state ) : pedal, roda, jeruji, dan warna.
Sepeda memiliki tingkah laku ( behaviour ) : kecepatannya menaik, kecepatannya menurun, dan perpindahan gigi sepeda.
Dalam pengembangan perangkat lunak berorientasi objek, objek dalam perangkat lunak akan menyimpan state-nya dalam variabel dan menyimpan informasi tingkah laku ( behaviour ) dalam method-method atau fungsi-fungsi/prosedur.

Class
Class berbeda dengan objek. Class merupakan prototipe yang mendefinisikan variabel-variabel dan method-method secara umum. Sedangkan objek pada sisi yang lain merupakan instansiasi dari suatu kelas.

Enkapsulasi
Dalam sebuah objek yang mengandung variabel-variabel dan method- method, dapat ditentukan hak akses pada sebuah variabel atau method dari objek. Pembungkusan variabel dan method dalam sebuah objek dalam bagian yang terlindungi inilah yang disebut dengan enkapsulasi. Jadi, enkapsulasi dapat diartikan sebagai bungkusan ( wrapper ) pelindung program dan data yang sedang diolah. Pembungkus ini mendefinisikan perilaku dan melindungi program dan data yang sedang diolah agar tidak diakses sembarangan oleh program lain.


Manfaat dari proses enkapsulasi adalah :
Modularitas: Kode sumber dari sebuah objek dapat dikelola secara independen dari kode sumber objek yang lain.

Information Hiding
Karena kita dapat menentukan hak akses sebuah variabel/method dari objek, dengan demikian kita bisa menyembunyikan informasi yang tidak perlu diketahui objek lain.

Inheritance
Class dapat didefinisikan dengan referensi pada class yang lain yang telah terdefinisi. Inheritance merupakan pewarisan atribut dan method pada sebuah class yang diperoleh dari class yang telah terdefinisi tersebut. Setiap subclass akan mewarisi state ( variabel-variabel ) dan behaviour ( methodmethod ) dari superclass-nya. Subclass kemudian dapat menambahkan state dan behaviour baru yang spesifik dan dapat pula memodifikasi ( override ) state dan behaviour yang diturunkan oleh superclass-nya.

Keuntungan dari inheritance adalah :
Subclass menyediakan state/behaviour yang spesifik yang membedakannya dengan superclass, hal ini akan memungkinkan programmer Java untuk menggunakan ulang source code dari superclass yang telah ada. Programmer Java dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan class dengan behaviour dan state secara umum. Istilah dalam inheritance yang perlu diperhatikan : Extends Keyword ini harus kita tambahkan pada definisi class yang menjadi subclass. Superclass, digunakan untuk menunjukkan hirarki class yang berarti class dasar dari subclass/class anak.
Subclass,  class anak atau turunan secara hirarki dari superclass.
Super, Keyword ini digunakan untuk memanggil konstruktor dari superclass atau menjadi variabel yang mengacu pada superclass.
Method Overriding
Pendefinisian ulang method yang sama pada subclass. Dalam inheritance, method overriding berbeda dengan method overloading. Kalau method overriding adalah mendefinisikan kembali
method yang sama, baik nama method maupun signature atau parameter yang diperlukan dalam subclass, kalau method overloading adalah mendefinisikan method yang memiliki nama yang sama, tetapi dengan signature yang berbeda dalam definisi class yang sama.

Polimorfisme
Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda, adalah konsep sederhana dalam bahasa pemrograman berorientasi objek yang berarti kemampuan dari suatu variable referensi objek untuk memiliki aksi berbeda bila method yang sama dipanggil, dimana aksi method tergantung dari tipe objeknya. Kondisi yang harus dipenuhi supaya
polimorfisme dapat diimplementasikan adalah :
-Method yang dipanggil harus melalui variabel dari basis class atau superclass.
-Method yang dipanggil harus juga menjadi method dari basis class.
-Signature method harus sama baik pada superclass maupun subclass.
-Method access attribute pada subclass tidak boleh lebih terbatas dari basis class.

Interface
Pada Java juga dikenal konsep interface, yang merupakan device yang digunakan untuk komunikasi antar objek  berbeda yang tidak memiliki hubungan apapun. Interface bisa dikatakan sebagai protokol komunikasi antar objek tersebut.