Senin, 23 Mei 2011

BUBLE SORT

Ø  BUBLE SORT

            Bubble sort adalah sederhana algoritma sorting. Bekerja dengan berulang kali melakukan melalui daftar akan di sortir, membandingkan dua item sekaligus dan swapping mereka jika mereka berada di salah pesanan. Yang melewati daftar diulang sampai swap tidak diperlukan, yang menunjukkan bahwa daftar disaring. Algoritma yang mendapatkan namanya dari jalan kecil elemen "gelembung" ke bagian atas daftar. Karena hanya menggunakan perbandingan untuk beroperasi pada elemen, ia adalah perbandingan menyortir. 
Metode Bubble Sort
Perhatikan bahwa jumlah pertukaran dan perbandingan data tidaklah tetap, perbedaan tergantung pada keadaan awal data setelah diacak. Tabel berikut memperlihatkan tabulasi hasil visualisasi menggunakan metode bubble sort.
Pengacakan
Jumlah Total
Pertukaran Data
Perbandingan Data
1
155
279
2
127
272
3
137
245
4
142
297
5
151
294
6
138
285
7
178
300
8
165
272
9
156
285
10
175
300
Rata-rata
152
283
Jumlah rata-rata pertukaran untuk 10 kali pengacakan adalah 152 kali, sedangkan rata-rata jumlah perbandingan adalah sebanyak 283 kali. Tetapi bila data pada awalnya terurut, maka untuk 25 jumlah data, jumlah pertukaran data sebanyak 0 kali dengan jumlah perbandingan sebanyak 24 kali.


contoh program

#include <cstdlib>
#include <iostream>

using namespace std;
void tampilkan_larik(int data[], int n){
     int i;
     for (i = 0; i < n; i++)
     cout << data[i] << " ";
     cout << "\n";
     }
    
 void bubble_sort(int data[], int n){
      int tahap, j, temp;
      int ada_penukaran;
     
      tahap = 1;
      ada_penukaran = 1;
      while (tahap < n-1 && ada_penukaran){
            ada_penukaran = 0;
            for (j = 0; j<n-tahap; j++)
            if (data[j] > data[j+1]){
                        ada_penukaran = 1;
                        temp = data[j];
                        data[j] = data[j+1];
                        data[j+1]=temp;
                        }
                        cout << "Tahap" << tahap << ":";
                        tampilkan_larik(data, n);
                       
                        tahap++;
                        }
                        }
                           
int main()
{
    char JUM_DATA = 6;
    int i;
    int data[] = {6,3,10,2,9,7};
    bubble_sort(data, JUM_DATA);
    cout<<"Tampilan Hasil pengurutan:\n";
    tampilkan_larik(data, JUM_DATA);
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

Algoritma untuk mencari Deret aritmatika dan Deret Fibonacci

a)Algoritma deret aritmatika
Deklarasi:
float a,b,n,un,sn : Integer
int x;

Deskripsi:
For ←(x=a;x<=un;x=x+b) a ← 1.0; b ← 2.0; printf ← ("+%i ",x); endfor write(Deret aritmatika) Program (Deret Aritmatika) #include
#include

using namespace std;

int main(int argc, char *argv[])
{
//deklarasi data
float a,b,n,un,sn;
int x;
//badan program
printf("Program Penghitung Deret Aritmatika");
printf("\nMasukkan:");
printf("\nSuku ke n = ",n);
scanf("%f",&n);

a = 1.0;
b = 2.0;

un = a + (n-1)*b;
sn = (0.5*n)*(a+un);

printf("\nMaka Nilai dari Un = %f\n",un);
printf("\nNilai Sn = %f\n",sn);

printf("\nSelanjutnya\n");
printf("\nUn = %f\n",un);
printf("\nDeret aritmatika untuk %f adalah :\n\n",un);

for(x=a;x<=un;x=x+b) { printf("+%i ",x); } system("PAUSE"); return EXIT_SUCCESS; } b)Deret Fibonacci
1. Inisialisasikan a=0, b=1, c, i
2. Masukkan banyaknya deret bilangan Fibonacci dalam n
3. Cetak nilai b
4. Proses looping
- Untuk i=1 sampai n-1
- Tambahkan a dengan b dalam variable c, c = a + b
- Cetak nilai c
- Nilai b dimasukkan ke dalam nilai a
- Nilai c dimasukkan ke dalam nilai b
- Kembali ke proses 4a
5. Program selesai
Deklarasi:
int s0, s1, s2, fib, nsuku : integer

Deskripsi:

f1 ß f2
f2 ß f3
if (nsuku<=1) while← (s2<=nsuku) endfor write(Deret fibonacci) Program(Deret Fibonacci) #include
#include

main()
{
int s0, s1, s2, fib, nsuku;

clrscr();
printf("Masukkan Suku ke: ");
scanf("%d", &nsuku);

if (nsuku<=1)
fib=nsuku;
else
{
s0=0;
s1=1;
s2=2;
while (s2<=nsuku)
{
fib=s0+s1;
s0=s1;
s1=fib;
s2++;
}
}
printf("Bilangan Fibonacci ke-%d adalah %d\n", nsuku, fib);
getch();
}

Selasa, 17 Mei 2011

CONTOH PROGRAM BUBBLE SORT

#include
#include

using namespace std;
void tampilkan_larik(int data[], int n){
int i;
for (i = 0; i < n; i++) cout << data[i] << " "; cout << "\n"; } void bubble_sort(int data[], int n){ int tahap, j, temp; int ada_penukaran; tahap = 1; ada_penukaran = 1; while (tahap < n-1 && ada_penukaran){ ada_penukaran = 0; for (j = 0; j data[j+1]){
ada_penukaran = 1;
temp = data[j];
data[j] = data[j+1];
data[j+1]=temp;
}
cout << "Tahap" << tahap << ":";
tampilkan_larik(data, n);

tahap++;
}
}

int main()
{
char JUM_DATA = 6;
int i;
int data[] = {6,3,10,2,9,7};
bubble_sort(data, JUM_DATA);
cout<<"Tampilan Hasil pengurutan:\n";
tampilkan_larik(data, JUM_DATA);

system("PAUSE");
return EXIT_SUCCESS;
}

Senin, 16 Mei 2011

Fungsi Enskripsi & Deskripsi

#include <cstdlib>
#include <iostream>
#include <math.h>
#include <string.h>

using namespace std;

int main(int argc, char *argv[])
{
    lagi:
    char plain[100];
    char chiper[100];
    int key;
    int pilih;
    cout << "Masukkan Pillihan  " << endl;
    cout << "1. Enkripsi" << endl;
    cout << "2. deskripsi" << endl;
    cout << "Masukkan sidini : ";
    cin >> pilih;
    if(pilih=1){
    cout << "Enkripsi " << endl       ;
    cout << "Masukkan kata : ";
    cin >> plain;
    cout << "Masukkan Key nya : ";
    cin >> key;
   
    for(int i=0;i<strlen(plain);i++){
            //cout << plain[i] << "(" << int (plain[i]) << ")";
            chiper[i]=((plain[i]+key)%128);
 
            }
           
           
    for(int i=0;i<strlen(chiper);i++){
            cout << endl;
            cout << chiper[i];
            cout << endl;
            }
            }
    else{
           
    cout << "Deskripsi :" << endl       ;
    cout << "Masukkan kata : ";
    cin >> plain;
    cout << "Masukkan Key nya : ";
    cin >> key;
    cout << "Enkripsi :"        ;
    for(int i=0;i<strlen(chiper);i++){
            //cout << chiper[i] << "(" << int (chiper[i]) << ")";
            plain[i]=((chiper[i]-key)%128);

 
            }
           
           
    for(int i=0;i<strlen(plain);i++){
            cout << endl;
            cout << plain[i];
            cout << endl;
            }
}

/*cout << "Pilih lagi?? " << endl;
cout << "tekan y jika Ya, tekan n jika tidak " << endl;
char a;
char y, Y;
cin >> a;

if(a==y||a==Y){
               goto lagi;
               }
               else{
                    cout << "terima kasih" << endl;
                        system("PAUSE");
    return EXIT_SUCCESS;

                   
                    }*/
                   
    system("PAUSE");
    return EXIT_SUCCESS;
}

Kamis, 12 Mei 2011

ARRAY SATU DIMENSI CLASS FAKTOR

#include
#include

using namespace std;

void masukkan(int[100], int);
void penjumlahan(const int[100], const int[100], int, int[100]);
void pengurangan(const int[100], const int[100], int, int[100]);
void cetak_bigInteger(const int A[100],int);

int main(int argc, char *argv[])
{
int n;
int bil1[100], bil2[100];
int jumlah[100];
int kurang[100];


cout<<"Masukkan bilangan : \n"; cin>>n;
cout<<"Bilangan pertama : \n"; masukkan(bil1, n); cetak_bigInteger (bil1, n); cout<< "\nBilangan kedua : \n" <
}
}

Sabtu, 23 April 2011

PENGERTIAN JAVA DAN SEJARAH PERKEMBANGAN JAVA


Pengertian Java
            Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Dikembangkan oleh Sun Microsystems dan dirilis tahun 1995. Java berbeda dengan JavaScript. JavaScript adalah bahasa scripting yang digunakan oleh web browser.

Sejarah perkembangan Java
Bahasa pemrograman Java pertama lahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill Joy, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.
Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program Java Oak pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai "*7" (Star Seven).
Setelah era Star Seven selesai, sebuah anak perusahaan Tv kabel tertarik ditambah beberapa orang dari proyek The Green Project. Mereka memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto.
Perusahaan baru ini bertambah maju: jumlah karyawan meningkat dalam waktu singkat dari 13 menjadi 70 orang. Pada rentang waktu ini juga ditetapkan pemakaian Internet sebagai medium yang menjembatani kerja dan ide di antara mereka. Pada awal tahun 1990-an, Internet masih merupakan rintisan, yang dipakai hanya di kalangan akademisi dan militer.
Mereka menjadikan perambah (browser) Mosaic sebagai landasan awal untuk membuat perambah Java pertama yang dinamai Web Runner, terinsipirasi dari film 1980-an, Blade Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi Hot Java.
Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi 1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemberitaan pertama kali pada surat kabar San Jose Mercury News pada tanggal 23 Mei 1995.
Sayang terjadi perpecahan di antara mereka suatu hari pada pukul 04.00 di sebuah ruangan hotel Sheraton Palace. Tiga dari pimpinan utama proyek, Eric Schmidt dan George Paolini dari Sun Microsystems bersama Marc Andreessen, membentuk Netscape.
Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja "Bapak Java", James Gosling. Nama Oak ini tidak dipakai untuk versi release Java karena sebuah perangkat lunak lain sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi "Java". Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling. Konon kopi ini berasal dari Pulau Jawa. Jadi nama bahasa pemrograman Java tidak lain berasal dari kata Jawa (bahasa Inggris untuk Jawa adalah Java).

Program itertif dan rekursif dalam java

import jeliot.io.*;

public class MyClass {
   
    public static double iteratif(double x){
        double jumlah=0.0;
        for(int i=1; i<=x; i++){
            if(i % 2 == 0) jumlah=jumlah-1.0/i;
            else jumlah=jumlah+1.0/i;
        }
        return jumlah;
    }
   
    public static double rekursif(double x){
        double jumlah=0.0;
        if(x==1) return 1;
        else     if(x % 2 == 0) jumlah= -1.0/x + rekursif(x-1);
                else jumlah= 1.0/x + rekursif(x-1);
           return jumlah;
    }
   
    public static void main() {
    double x;
   
    MyClass a = new MyClass();
    System.out.print("Masukkan batas bilangan : ");
    x=Input.readDouble();
    System.out.println("Hasil iteratif : " + iteratif(x));
    System.out.print("Hasil rekursif : " + rekursif(x));
   
   }
}