Friday, 5 June 2015

PENGERTIAN SEARCHING DALAM BAHASA C++

Pengertian Sequential search
    Metode sequential seach/pencarian beruntun  adalah pencarian di dalam linier yang merupakan pencarian dengan mode paling simple. Pencarian beruntun yang digunakan untuk melakukan pencarian data, baik pada array yang sudah terurut urut maupun belum terurut. Proses yang terjadi pada metode in adalah :
1. Membaca array data
2. Menetukan data yang di cari
3. Mulai dari data pertama sampai dengan data terakhir, data yang di cari dibandingkan masing-masing data dalam array.
a. Jika data dicari tidak ditemukan, maka semua data atau elemen array di bandingkan sampai selesai .
b. Jika data yang di cari di temukan maka perbandingan akan dihentikan.
  Contoh kasusnya :
  Terdapat 6 buah data tersimpan yaitu :
    9 7 3 4 6 5
 Pertama lakukan pencarian di dalam data tersebut apakah terdapat data bernilai 5
                   1     2    3   4   5   6                   i= 1 s/d n
A :              9     7    3   5   6   10
X= 5
Ketemu ß fasle
I = 1
A[1]<>{ Ketemu ß fasle}
I= 1+1= 2
A[2]<>{ Ketemu ß fasle}
I= 2+1=3
A[2]<>{ Ketemu ß fasle}
I= 3+1=4
Jadi hasil dari pencarian data bernilai 5 di temukan pada posisi ke 3
Contoh program


 Program Jika dijalankan akan seperti ini



Pengertian Binerry search
   Binerrry search adalah metode pencarian suatu data atau elemen di dalam suatu array dengan kondisi data dalam keadaan urut. Proses pencarian biner dapat dijelaskan sebagai berikut mula-mula diambil dari posisi awal=1 dan posisi akhir =n, kemudian di cari posisi tengah rumus: ( posisi awal + posisi akhir )/2. Setelah itu data yang dicari dibandingakan dengan data yang berada ditengah. Jika hasilnya lebih kecil , maka ulangi proses diatas dalam hal ini posisi akhir=posisi tengah-1. Jika lebih besar hasilnya maka lakukan proses diatas tetapi dalam hal ini posisi akhir =posisi tengah +1.
Contoh kasus
Data :  6, 7 , 9, 11 ,12, 13 , 20
Kemudian carilah data 13 di posisi manakah berada
Pertama carilah posisi awal data.  Pada  contoh di atas data awalnya adalah 6
Langkah ke dua adalah cari posisi akhir. Pada contoh di atas data akhirnya adalah 20
Langkah ke 3 adalah mencari data tengahnya dengan rumus (posisi awal + posisi akhir)/2. Sesuai dengan contoh diatas data tengahnya (1+7)/2=8/2=4. Data yang berada pada posisi ke 4 adalah angka 11
Langkah ke 4 karena data yang kita cari adalah 13 > angka 11 maka rumusnya adalah posisi awal pencarian =posisi tengah+1 =4+1 = 5.
Langkah ke 5 data tengah yang di peroleh yaitu (5+7)/2=6. Bearti data tengah yang terbaru berada pada posisi ke 6 bearti angka 13 .
Langkah ke 6 karena data sudah di temukan maka prosesnya selesai jika data belum di temukan maka ulangi proses tersebut  

Contoh programnya

Tampilan jika dijalankan programnya


Sumber :
ebook 10 langkah belajar logika dan algoritma. menggunakan bahasa c dan c++ di   gnu/linux
ema utami dan sukrisno (amikom yogyakarta)"

Algoritma & Pemrograman dengan C++ oleh Andri Kristanto

PENGERTIAN SORTING DALAM BAHASA PEMROGRAMAN C++

Pengertian selection sort
     Selection sort merupakan metode pengurutan yang membandingkan elemen yang sekarang dengan elemen berikutnya sampai ke elemen yang terakhir. Misalkan data yang ditemukan lebih kecil dibandingkan data sekarang maka dicatat posisinya dan langsung di tukar.
Contoh :  5 , 8 , 12, 10, 15
   Kita ingin mengurutkan bilangan diatas dari kecil sampai ke besar dengan cara :
Langkah 1 :
Posisi :            1          2          3          4         5
Data  :             5          8          12        10        7
Sekarang bandingkan data tersebut kita ambil dulu dari posisi 1
5 < 8
5 < 12
5 < 10
5 < 15
Jadi pada posisi 1 tidak ada data yang lebih kecil dari 5 maka posisinya tetap
Langkah 2
Posisi :            1          2          3          4         5
Data  :             5          8          12        10        7
Sekarang bandingkan lagi dengan data yang berada di posisi  ke 2
8 < 12
8 < 10
8  > 7
Jadi data 8 yang berada di posisi ke 2 di pindahkan ke posisi ke 5 karena data 8 lebih besar dari data 7 hasil sementara 5, 7, 12, 10, 8
Langkah ke 3
Posisi :            1          2          3          4         5
Data  :             5          7          12        10        8
Sekarang bandingkan lagi dengan data yang berada di posisi  ke 3
12 > 10
12 > 8
Jadi data 8 yang berada di posisi ke 5 di pindahkan ke posisi ke 3 dan data 10 di posisi 4 tetap di posisi ke 4  karena data 12 lebih besar dari data 8 dan 10 hasil sementara 5, 7, 8, 10, 12
Proses data di atas memerlukan 3 kali perulangan.

Contoh program

Tampilan program jika dijalankan programnya


Definisi Insertion Sort
    Insertion sort adalah sebuah algoritma pengurutan yang membandingkan dua elemen data pertama kemudian mengecek daga berikutnya satu persatu dan membandingkan dengan elemen data yang telah diurutkan, algoritma ini termasuk pula dalam comparison-based sort. Proses ini kemudian menyisipkan sebuah elemen array yang diproses ke tempat yang seharusnya.Proses pengurutan dengan menggunakan algoritma Insertion Sort dilakukan dengan cara membandingkan data ke-i (dimana i dimulai dari data ke-2 sampai dengan data terakhir) dengan data berikutnya. Jika ditemukan data yang lebih kecil maka data tersebut disisipkan ke depan sesuai dengan posisi yang seharusnya.
Contoh :    10 , 8,  3, 7, 5
      Pada langkah pertama, elemen kedua dibandingkan dengan elemen pertama, 8 bandingkan dengan 10 , karena 8 < 10, maka kedua elemen tersebut saling ditukar tempatnya. Jadi urutannya  8, 10, 3, 7, 5 (dua elemen pertama sudah diurut).
     Pada langkah kedua , elemen ketiga dibandingkan dengan 10, maka 10 di pindahkan ke elemen 3 hasilnya  8,3,10,7,5. Selanjutnya 7 dibandingkan dengan elemen pertama, yaitu 8, maka 7 di pindahkah ke elemen 1 dan 7 di bandingkan dengan elemen ke 2 karena elemen ke2 lebih kecil di bandingkan 7 maka di pindahkan ke elemen 1 jadi hasilnya adalah 3, 7 , 10, 8 , 5
     Pada langkah ketiga , elemen keempat yaitu 8 dibandingkan dengan elemen ketiga. Angka 8 < 10, maka  hasilnya  adalah 3, 7, 8, 10, 5. Angka dibandingkan dengan elemen kedua,5 lebih kecil dari 7, terjadi penukaran tempat, hasilnya adalah 3,5,8,10,7. Selanjutnya angka 7 dibandingkan dengan elemen 3, yaitu 8 maka terjadi penukaran tempat dan selanjutnya angka 8 di bandingkan dengan elemen ke 5 karena 8< dari 10 maka tempatnya di tukar. Jadi hasil akhirnya adalah 3, 5, 7, 8, 10
Contoh program :

Tampilan jika program dijalankan

Sumber :

Asiknya belajar struktur data di planet  C++ Dwi Sanjaya

PENGERTIAN QUEUE DALAM BAHASA C++

Definisi dari QUEUE
    Antrean atau queue adalah  operasi penyisipan (insertion) hanya diperbolehkan pada salah satu sisi, yang disebut sisi belakang (REAR), dan operasi penghapusan (deletion) hanya diperbolehkan pada sisi lainnya, yang disebut sisi depan (FRONT), dari list. pada  antrian prinsip yang digunakan adalah FIFO (Fist In Fist Out) yang aartinya Elemen yang pertama masuk ke antrian akan keluar pertama kalinya .  Sebagai contoh , antrean (X1, X2, X3,...,XN). Kita notasikan bagian depan dari antrean X sebagai FRONT(X) dan bagian belakang sebagai REAR(X). Jadi untuk antrean X = [X1, X2, X3 …, XN] :
FRONT(X) = X1 dan REAR(X) = XN
Kita menggunakan notasi NOEL(X) untuk menyatakan jumlah elemen di dalam antrean X. NOEL(X) mempunyai harga integer. Untuk antrean X = [X1,X2,X3…, XN], maka NOEL(X) = N.
Deklarasi Queue :


Operasi-operasi dalam queue :
1. Create() adalah untuk menciptakan atau menginisialisasikan queue dengan cara membuat Head dan Trail : -1. Contoh liat pada gambar di bawah.



2. IsEmpty() Untuk memeriksa apakah Antrian sudah penuh atau belum Dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty Kita tidak memeriksa Head, karena Head adalah tanda untuk kepala antrian (elemen pertama dalam antrian). Silahkan liah contohnya di bawah ini.:



3. IsFull Untuk mengecek apakah Antrian sudah penuh atau belum Dengan cara mengecek nilai Tail, jika Tail >= MAX-1 (karena MAX-1 adalah batas elemen array pada C) berarti sudah penuh. Contoh liat pada gambar di bawah :




4.  Enqueue Untuk menambahkan elemen ke dalam Antrian, penambahan akan dilakukan pada elemen  paling belakang. Penambahan elemen selalu menggerakan variabel Tail dengan cara increment counter Tail terlebih dahulu. Contonya :



5. Dequeue() berfungsi untuk menghapus elemen di depan atau pertama (head) dari Antrian Dengan menggeser semua elemen antrian kedepan dan mengurangi Tail dengan 1 Penggeseran dilakukan dengan menggunakan looping. Contonya :



6.  Clear() digunakan Untuk penghapusan pada elemen-elemen Antrian dengan membuat Tail dan Head = -1. Penghapusan elemen-elemen Antrian sebenarnya tidak menghapus arraynya, namun hanya mengeset indeks pengaksesan-nya ke nilai -1 sehingga elemen-elemen Antrian tidak lagi terbaca. Contohnya :


7. Tampil() digunakan Untuk menampilkan nilai dari elemen antrian menggunakan looping dari head sampai dengan tail. Contohnya :




contoh programnya 

tampilan program 

Sumber
Cepat dan Mahir belajar pemrograman C++ Frieyadie, S.Kom

PENGERTIAN STACK DALAM BAHASA PEMROGRAMAN C++

Definisi stack
     Stack merupakan suatu tumpukan dari benda dengan konsep utamanya adalah LIFO (Last In Fist Out). Benda yang masuk terakhir dalam stack akan menjadi benda pertama yang di keluarkan dari stack. Ilustrasinya bisa di liat di bawah :
 


                                   

   Pada gambar diatas, jika kita ingin mengambil sesuatu dari tumpukan maka kita harus mengambilnya dari tumpukan yang paling atas dahulu. Misalkan jika kita mengambil yang A terlebih dahulu maka  yang B akan jatuh. Dalam program c++ ada 2 cara penerapan prinsip stack ini yakni dengan array dan linked list . operasi-operasi dalam stack :
1. Push                  : untuk menambahkan item pada tumpukan paling atas
2. Pop                    : untuk mengambil item paling atas
3. Clear                  : untuk mengosongkan stack
4. IsEmpty            : fungsi yang digunakan untuk mengecek apakah stack sudah kosong
5. IsFull                 : fungsi yang digunakan untuk mengecek apakah stack sudah penuh
Stack Dengan Array of Struct
1. Definisikan Stack dengan menggunakan suatu struct
2. Definisikan konstanta MAX_STACK untuk menyimpan maksimum isi stack
3. Elemen struct Stack adalah array data dan top untuk menadakan posisi data teratas
4. Buatlah variabel tumpuk sebagai implementasi dari struct Stack
5. Deklarasikan operasi-operasi/function di atas dan buat implemetasinya
Contoh stack dengan array
Contoh deklarasi MAX_STACK
                              #define MAX_STACK 10               
Contoh deklarasi STACK dengan struct dan array data

                              typedef struct STACK{
                              int top;
                              int data[10];                                                                     
                              };
Deklarasi/buat variabel dari struct
                              STACK tumpuk;


Contoh programnya


Tampilan jika program di jalankan
 Push



Pop





Sumber
 Materi perkuliahan Struktur Data : I WAYAN SUPRIANA, S.Sc., M.C

 Ebook asiknya belajar struktur data di planet C++ Dwi Sanjaya

PENGERTIAN TENTANG ARRAY 1 DIMENSI DAN 2 DIMENSI DI BAHASA PEMROGRAMAN C++

Definisi array berdimensi 1
    Array merupakan  sekelompok data sejenis yang disimpan ke dalam variabel dengan nama yang sama, dengan memberi indeks pada variabel untuk membedakan antara yang satu dengan yang lain. Letak atau posisi dari elemen array ditunjukan oleh index atau posisi.
Deklarasi Array dan  Inisialisasi array
    Variabel array berdimensi 1 dideklarasikan dengan mencantumkan tipe data dan nama variabel di banyak lokasi memori yang ingin dibuat. Bentuk umum pendeklarasian array : Tipe_Data Nama_Variabel [Ukuran];
Contoh :
                        int nil[4];
ket .
int     :  tipe data
nil      : nama variabel yang ada di array
[5]     : jumlah elemen array


Inisialisasi pada array berdimensi 1 secara langsung pada saat mendeklarasikan;
int nil [4] = {2, 4, 8, 10};
Maka di penyimpanan ke dalam array dapat digambarkan sebagai berikut :



 Mengakses nilai array
   Untuk mengakses nilai array, dapat menggunakan sintak seperti berikut :
nama_array [index];
Pada contoh diatas, variabel nil memiliki 4 buah elemen yang masing -  masing berisi data.



Misal untuk memberi nilai 40 pada elemen ke 2 maka pernyataannya adalah :
Nil [1] = 40 ;-------> jadi nil itu dimulai dari 0 dan nilai 40 itu berada di elemen ke 2 maka nil dari nilai 40  berada di nil [1]
Contoh program array 1 demensi ;


Tampilan programnya ;





Definisi array berdimensi 2
  Array 2 dimensi digambarkan atau dialogikan sebagai matriks, di mana pada indeks 1 menunjukan baris dan indeks ke 2 di sebut menunjukan kolom. Beberapa Kolom dan baris pada array 2 dimensi memiliki elemen yang bertipe sama. Array dua dimensi terdapat dua jumlah elemen yang terdapat didalam kurung siku dan keduanya boleh tidak sama.

Bentuk umum deklarasi array dua dimensi :
            Tipe_Data Nama_Variabel [index-1][index-2]
Ilustrasi array 2 dimensi
 Gambar array 2 dimensi dengan matriks (baris x kolom = 2 x 4)


 Keterangannya : pada gambar diatas yang di maksudkan sebagai kolom adalah {2 dan 5} {4 dan -7}{10 dan 9}{12 dan 20 } dan yang di maksud dengan baris adalah { 2,4 ,10, 12 } dan { 5, -7, 9, 20} lebih jelasnya liah contoh pada program array 2 dimensi di bawah.


Contoh program matriks 2 dimensi

Tampilan programnya





Sumber :
Materi perkuliahan praktikum struktur data dosen : IB KETUT SURYA ARNAWA, S.Kom
Ebook Cepat dan Mahir Pemrograman C++ Frieyadie, S.Kom

PENGERTIAN VARIABEL DALAM BAHASA C++

Variabel dan Konstanta
  
     Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu di dalam proses program. Berbeda dengan Konstanta adalah sebuah data yang nilainya tetap dan tidak bisa diubah-ubah . Untuk memperoleh nilai dari suatu variable digunakan pernyataan penugasan (assignment statement), Syntaknya adalah variable = ekspresi
Aturan penamaan variabel (umum) :
     Case sensitive : nim dan NIM itu beda
     Diawali huruf, tidak boleh diawali angka,karakter khusus
     Tidak boleh di awali oleh symbol-symbol khusus kecuali symbol garis bawah (underscore). Symbol yng tidak di perbolehkan antara lain : $, ?, %, #, !, &, *, (, ), -, +, =, dsb.
     Tidak boleh ada spasi
Contohnya :
     Contoh penamaan variabel yang benar :
     NIM, a, x, nama_mhs, f3098, f4, nilai, budi
     Contoh penamaan variable yang salah :
     %nilai_mahasiswa, 80mahasiswa, rata-rata, ada spasi, penting!
Bentuk Deklarasi dari variabel
      Bentuk umumnya :
     Nama_tipe nama_variabel ;
      Contoh :
     int x; // Deklarasi x bertipe integer
     char y, huruf, nim[10]; // Deklarasi variable bertipe char
     float nilai; // Deklarasi variable bertipe float
     double beta; // Deklarasi variable bertipe double
     int array[5][4]; // Deklarasi array bertipe integer



Bentuk Deklarasi dari Konstanta   
1.  Menggunakan keyword const
const float PI = 3.14152965;
Berbeda dengan variable, konstanta bernama tidak dapat diubah jika telah diinisialisasi
2.  Menggunakan #define
       Contoh : #define PI 3.14152965
menggunakan #define apabila dibandingkan dengan const adalah kecepatan kompilasi, karena sebelum kompilasi dilaksanakan, kompiler pertama kali mencari symbol #define (oleh sebab itu mengapa # dikatakan prepocessor directive) dan mengganti semua Phi dengan nilai 3.14152965.
Tipe Data
Di dalam bahasa pemrograman terdapat beberapa tipe data dasar yang telah didefenisikan dan digolongkan :
1. tipe bilangan bulat(integer),
2. bilangan real(floating point),
                        3. tipe logika(boolean) dan
                        4. tipe karakter/teks(character/string)

Contoh Pemrograman C++


Tampilan Programnya


Sumber :
Materi perkulihaan prinsip pemrograman dosen: Ricky Aurelius Nurtanto Diaz, S.kom

Ebook asiknya belajar struktur data di planet C++ Dwi Sanjaya
www.ayeey.com www.resepkuekeringku.com www.desainrumahnya.com www.yayasanbabysitterku.com www.luvne.com www.cicicookies.com www.tipscantiknya.com www.mbepp.com www.kumpulanrumusnya.com www.trikcantik.net