bubble sort

Gusy,,,  ini contoh program bubble sort c++..

#include <iostream.h>
#include <conio.h>
void tampilkan_larik(int data[], int n)
{
int i;
for(i=0;i<n;i++)
cout<<data[i]<<” “;
cout<<“\n”;
}

void buble_sort(int data[],int n)
{
int tahap,j,tmp;
for (tahap=1;tahap<n;tahap++)
{
for (j=0;j<n-tahap;j++)
if (data[j]>data[j+1])
{
//tukarkan
tmp=data[j];
data[j]=data[j+1];
data[j+1]=tmp;
}
cout<<“hasil tahap “<<tahap<<” : “;
tampilkan_larik (data,n);
}
}

int main()
{
const jum_data=8;
int i;
int data[]={25,57,48,37,12,92,80,33};

buble_sort(data, jum_data);

//hasil pengurutan
cout<<endl;
cout<<“Hasil Pengurutan: \n”;
tampilkan_larik(data,jum_data);
getch();

babble sort

Binary Search

Binary adalah sebuah metode yang diterapkan pada sekumpulan data yang sudah terurut (menaik atau menurun). Metode ini lebih cepa di banding pencarian beruntun dan data yang sudah terurut menjadi syarat mutlak untuk menggunakan metode ini.

Konsep Binary 

  • Konsep dasar metode ini adalah membagi 2 jumlah elemen, yang menentukan apakah data yang berada pada elemen paling tengah bernilai sama, lebih dari atau kurang dari nilai data yang akan dicari.
  •  Jika bernilai sama, maka langsung data yang dicari ditemukan.dan jika data di elemen terurut naik, maka data yang berada di tengah kurang dari data yang dicari, maka pencarian selanjutnya berkisar di elemen tengah ke kanan, dan begitu seterusnya sampai ketemu atau tidak sama sekali.
  •  Sebaliknya untuk nilai data yang berada di tengah lebih dari data yang dicari, maka pencarian selanjutnya berkisar di elemen tengah ke kiri, dan begitu seterusnya sampai ketemu atau tidak sama sekali.
  • Dan untuk data yang terurut menurun. Dalam hal ini menentukan indeks paling awal dan indeks paling akhir, untuk membagi 2 elemen yang ada.

Langkah – Langkan Binary

1. Asumsikan data terurut secara horizontal dari indeks 0 sampai n-1, untuk menggunakan istilah kanan dan kiri.
2. Misalkan kumpulan data yang berjumlah n adalah larik L, dan data yang akan dicari adalah X.
3. Tentukan nilai indeks awal i = 0 dan indeks akhir j = n-1.
4. Tentukan apakah data terurut menurun atau menaik dengan menggunakan membandingkan apakah elemen paling kiri L[0]                 lebih dari atau kurang dari elemen paling kanan L[n-1].
Jika data di elemen paling kiri L[0] > data di elemen paling kanan L[n-1], maka data terurut menurun.
Jika data di elemen paling kiri L[0] < data di elemen paling kanan L[n-1], maka data terurut menaik.
5. Asumsikan bahwa data terurut menaik (tergantung hasil dari nomor 3).
6. Misalkan variabel k adalah indeks paling tengah, diperoleh dengan rumus:
k = (i + j) div 2.
7. Periksa, jika L[k] = X, maka data dicari langsung ketemu di elemen k.
8. Jika nomor 7 tidak terpenuhi, periksa jika L[k] < X, maka pencarian berikutnya dilakukan di sisi kanan indeks k, lakukan proses      seperti pada nomor 6, dimana nilai indeks i sekarang sama dengan nilai indeks k sebelumnya.
i = k.
k = (i + j) div 2
Dan seterusnya sampai nilai X dicari ketemu atau tidak sama sekali.
9. Jika nomor 8 tidak terpenuhi, maka tidak pasti nilai L[k] > X, maka pencarian berikutnya dilakukan di sisi kiri indeks k, lakukan      proses seperti pada nomor 6, dimana nilai indeks j sekarang sama dengan nilai indeks k sebelumnya.
j = k.
k = (i + j) div 2.
Dan seterusnya sampai nilai X dicari ketemu atau tidak sama sekali.
10. Jika data terurut menurun, maka tukar kondisi yang ada di nomor 8 dan 9.

Contoh Program Array 

Menghitung banyak bilangan yang muncul

scriptnya:

#include <iostream.h>

int main ()
{
int n, i, j, tot=0, A[50];

cout << “Masukan berapa banyak bilangan :”;
cin >> n;
for (i=0; i<n; i++)
{
cout << “Masukan nilai ke “<< i+1 <<” : “;
cin >> A[i];
}
cout << “Masukan angka yang akan di hitung : “;
cin >> A[i];
for (j=0; j<n; j++)
{
if (A[j]==A[i])
{
tot=tot+1;
}
}
cout << “Maka banyaknya tersebut adalah :” <<tot;
return 0;
}

script search

http://inyomansastra.blogspot.com/

 

Array

Definisi Array 

  •  Array  merupakan  struktur  data  yang sering  digunakan  dalam  pemrograman  untuk  menyimpan data   yang   akan   diolah   kemudian (misalnya  pada  proses  sorting  atau searching).
  • Array  adalah  struktur  data yang terdiri  dari  kumpulan  variabel  yang bertipe sama.
  • Beberapa bahasa pemrograman men-dukung  struktur  array  statis  dan dinamis.   Pada   C/C++,   array   yang didukung adalah array statis.
  • Pada     C/C++,     array     merupakan pointer    yang    mempunyai    alokasi memori tetap (pointer constant).
  • Nilai  (Isi)  dari  elemen-elemen  suatu array    ditempatkan    pada    memori yang berurutan.
  • Akses   elemen   suatu   array   bersifat random,  artinya  dapat  dimulai  dari mana   saja   dan   tidak   harus   dari elemen pertamanya.
  •  kumpulan dari nilai kumpulan dari nilai- -nilai data bertipe sama dalam urutan tertentu  yang menggunakan sebuah nama yang sama.
  •  Nilai- -nilai data di suatu array disebut  dengan elemen- -elemen array.
  •  Suatu array  dapat dideklarasikan dengan menyebutkan jumlah dari elemennya yang ditulis diantara tanda ‘[ ]’.

Mendeklarasikan larik di dalam bagian deklarasi berarti:

1.Mendefinisikan banyaknya elemen larik (ukuran larik), dan

2.Mendefinisikan tipe elemen larik.

Setiap elemen diakses langsung melalui indeksnya. Indeks tersebut haruslah tipe data yang mempunyai keterurutan, misalnya integer atau karakter. Nama lalin array adalah larik, tabel atau vector.

KELEBIHAN

  • Struktur Data paling mudah
  • Memori ekonomis, bila semua elemen terisi
  • Waktu akses sama ke setiap elemen

KEKURANGAN

  • Boros memori jika banyak elemen yang tidak digunakan
  • Struktur Data Statis

Array dapat dibagi menjadi beberapa jenis yaitu:
1. Array 1 Dimensi
2. Array 2 Dimensi
3. Array Multi Dimensi

  1. Array 1 Dimensi
    Array 1 Dimensi sering digunakan untuk memdeklarasikan variabel yang sama tetapi memiliki indeks array yang berbeda.
    Bentuk Penulisan pada Array 1 Dimensi

tipedata variabel[jumlah_array];

Contoh Penulisan :

int proses[4];                           (Untuk data Array kosong)
int proses[4] = {4,3,2,1};        (Untuk data Array dengan isi)

Untuk Contoh Soal-Soal Silakan Dilihat Di tap C++ Area

  1. Array 2 Dimensi
    Array 2 Dimensi sering digunakan untuk mendeklarasikan variabel yang sama tetapi memiliki dua indeks yang berbeda.
    Bentuk Penulisan pada Array 1 Dimensi

tipedata variabel[jumlah_element1][jumlah_element2];

Jumlah elemen 1 sering disebut sebagai baris sedangkan jumlah element 2 sering disebut sebagai kolom.  Contoh Penulisan :

int proses[2][3];                                      (Untuk data Array kosong)
int proses[2][3]={{2,3,4},{7,6,5}};        (Untuk data Array dengan isi)

http://elsaaprini.blogspot.com/2013/04/algoritma-dan-pemrograman-2-c-array.html

Perbedaan Fungsi dan Prosedur Pada Algoritma Pemograman

Prosedur

Prosedur adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram (program bagian). Diawali dengan kata cadangan “Procedure” didalam bagian deklarasi prosedur. Procedure biasanya bersifat suatu aktifitas seperti menghitung luas, meghitung faktorial, mencari nilai maksimum/minimum,dsb.  Prosedur banyak digunakan pada program yang terstruktur karena :

  1. Merupakan penerapan konsep program modular, yaitu memecah-mecah program yang rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur-prosedur.
  2. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.

Notasi Algoritmik

program tukar

kamus : A,R : integer {}

procedure tukar (in/out : A,R : integer)

algoritma : input (A,R)

Tukar (A,R)

Output (A,R)

procedure tukar2(in/out : A,R : integer)

kamus lokal : B : integer

algoritma : B ← A

A ← R

R ← A

FUNGSI 

Fungsi sama seperti halnya dengan procedure, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe variabel yang kita tentukan. Dan cara pemanggilan variabel ada 2 macam dalam pascal. Yaitu :

o Mengoutputkan nilai dari fungsi tersebut Contoh : Writln (namafungsi(parameter));

o Dengan assignment Variabel1 := namafungsi(parameter);

Berbeda dengan procedure yang bisa tidak menggunakan parameter, fungsi harus menggunakan parameter dalam penggunaannya.

algoritmik

program faktorial

kamus : a : integer

function faktor (a : integer) → integer

algoritma

input (a)

output (faktor(a))

function faktor (a:integer) →integer

kamus :

i, hasil : integer

algoritma :

hasil ← 1

i traversal [a..1]

hasil ← hasil * i

faktor ← hasil

FUNCTION identifier (daftar parameter) : type ;

Blok fungsi juga diawali dengan kata cadangan Begin dan di akhiri dengan kata cadangan End dan titik koma.

Perbedaan fungsi dengan prosedur adalah :

  1. Pada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya ( kalau pada prosedur pada parameter yang dikirimkan secara acuan).
  2. Karena nilai balik berada di nama fungsi tersebut, maka fungsi tersebut dapat langsung digunakan untuk dicetak hasilnya. Atau nilai fungsi tersebut dapat juga langsung dipindahkan ke pengenal variable yang lainnya.
  3. Pada prosedur, nama prosedur tidak dapat digunakan lagsung, yang dapat langsung digunakan adalah parameternya yang mengandung nilai balik.

Mengapa menggunakan prosedur dan fungsi ?

  1. Memecahkan program yang rumit dan besar menjadi program-program yang lebih sederhana.
  2. Untuk aktivitas yang dilakukan lebih dari satu kali / sering dilakukan berulang-ulang.