Kamis, 04 Juni 2015

Variabel



Variabel 

Variabel adalah komponen penting dalam pemrograman. Variabel digunakan untuk menyimpan suatu nilai, dan nilai tersebut dapat di ubah selama program di eksekusi.



  • Mendeklarasikan Variabel 
Dalam pembuatan program variabel yang akan digunakan haruslah dideklarasikan terlebih dahulu. Pengertian deklarasi disini berarti mengenalkan sebuah pengenal ke program dan menentukan jenis data yang bisa disimpan didalamnya. Dalam pendeklarasian variabel penulisan sintaksnya diawali oleh tipe data yang akan digunakan lalu nama variabelnya (identifier).

Contoh:






Menggunakan tipe data yang sama untuk identifier lebih dari satu dapat dituliskan tanda koma.

Contoh :



Seperti pada contoh diatas ketiga variabel ditulis dengan pemisah berupa tanda koma.

Dalam pemberian nama pada variabel ada beberapa hal yang harus diperhatikan, yaitu:
Diawali dengan : Huruf/abjad, underscore, da karakter mata uang
Tidak menggunakan karakter khusus atau spasi
Terdiri dari huruf/abjad, angka dan atau underscore
Tidak boleh diawali dengan angka

Selain itu dalam pemberian nama pada variabel tidak diperbolehkan menggunakan keyword, karena keyword merupakan pengenal sistem yang mempunyai makna khusus bagi kompiler.
Berikut merupakan keyword yang terdapat pada C++ :




  • Inisialisasi Variabel 
Adakalanya dalam pembuatan program, variabel langsung diberi nilai awal setelah dideklarasikan.

Contoh :





  • Tipe Data Variabel 
Tipe Data berperan penting dalam membuat variabel, karena isi (bilangan/string) dari sebuah variabel tergantung dari tipe data yang digunakan. Ukuran memori yang diperlukan untuk masing-masing tipe data sangat bergantung pada perangkat keras dari komputer yang digunakan. Karena itu jangkauan bilangan dari masing-masing tipe data juga bisa berlainan antara satu jenis mesin dengan mesin lainnya.

Berikut adalah ukuran berbagai tipe data dasar :



Sumber referensi :
Buku Pemrograman C++ Abdul Kadir

Array Berdimensi Satu Dan Array Berdimensi Dua



Array

Array merupakan kumpulan data bertipe sama yang menggunakan nama sama. Dengan menggunakan array, sejumlah variabel dapat memakai nama yang sama. Antara satu variabel dengan variabel lain di dalam array dibedakan berdasarkan subscript. Sebuah subscript berupa bilangan di dalam kurung siku. Melalui subscript inilah masing-masing elemen array dapat diakses.

Array ada beberapa jenis, yaitu array berdimensi satu, array berdimensi dua, dan array berdimensi banyak. Banyaknya suatu dimensi array ditunjukkan berdasarkan banyaknya penunjuk indeks atau posisi.
  • Pendeklarasian Array 
Layaknya variabel, array juga harus dideklarasikan. Dalam pendeklarasian array diperlukan daftar dari tipe data lalu diikuti dengan sepasang kurung siku [ ]. Array yang sudah dideklarasikan harus ditenentukan ukuran / panjangnya dengan sebuah konstruktor.

  • Inisialisasi Array
Seperti halnya variabel biasa, array juga dapat diberi nilai awal.
Contoh :

Pendefinisian array bernama jum_hari yang terdiri dari 7 elemen bertipe int dan secara berurutan (dimulai dari subscript / indeks 0) diberi nilai 31, 28 dan seterusnya. 







  • Array Berdimensi Satu 
Array berdimensi satu merupakan array yang hanya mempunyai 1 baris, data yang ditampung di dalamnya memiliki tipe data yang sama dalam baris dan kolomnya. Akses elemen suatu array bersifat random, artinya dapat dimulai dari mana saja dan tidak harus dari elemen pertamanya.
Contoh program yang menggunakan array:



Hasil Eksekusi Program :





  • Array Berdimensi Dua 
Array berdimensi dua merupakan perluasan dari array berdimensi satu. Array berdimensi dua dapat menyimpan data dalam bentuk 2 dimensi, karena array berdimensi dua memiliki beberapa baris dan kolom dengan tipe data yang sama. Array berdimensi dua digambarkan sebagai sebuah matriks. Dimana indeks pertama menunjukkan baris dan indeks kedua menunjukan kolom. Dalam array berdimensi dua terdapat dua jumlah elemen yang terdapat didalam kurung siku dan keduanya boleh tidak sama.

  • Pendeklarasian Array Berdimensi Dua
Pendeklarasian array berdimensi dua secara umum :
Tipe_Data Nama_Variabel [index1][index2]


  • Inisialisasi Array Berdimensi Dua 


Pada inisialisasi Array berdimensi dua nilai yang diberikan diperjelas dengan pemberian nomor array.

[0] [0] = 2

[0] [1] = 25

[0] [2] = 22

[0] [3] = 50

[1] [0] = 8

[1] [1] = 60

[1] [2] = 1

[1] [3] = 77

[2] [0] = 10

[2] [1] = 15

[2] [2] = 23

[2] [3] = 5

Adapun cara lain untuk memberi nilai seperti di atas :
int x[3][4] = { {2, 25, 22, 50}, { 8, 60, 1, 77 }, { 10, 15, 23, 5 } };

Contoh program Array Dimensi 2 :



Eksekusi Program :







Sumber referensi :
Buku Pemrograman C++ Abdul Kadir


Stack



STACK

Stack merupakan bagian dari list linear dalam struktur data, stack menggunakan konsep Last in First Out (LIFO) dalam menyimpan dan mengambil data. Berdasarkan konsep LIFO maka data yang terakhir kali disimpan dalam stack akan menjadi data yang pertama kali diambil. Sehingga kumpulan data yang masuk diletakkan di atas data yang lain. Untuk memasukkan data ke dalam stack digunakan perintah push. Dan untuk memindahkan data dari tempat tersebut digunakan perintah pop. Stack bisa memakai array atau linked list dalam penyajiannya.

  • OPERASI / FUNGSI PADA STACK
1. Push : digunakan untuk menambah item pada stack pada tumpukan paling atas
2. Pop : digunakan untuk mengambil item pada stack pada tumpukan paling atas
3. IsFull : fungsi yang digunakan untuk mengecek apakah stack sudah penuh
4. IsEmpty : fungsi yang digunakan untuk mengecek apakah stack sudah kosong
5. Clear : digunakan untuk mengosongkan stack
6. View : digunakan untuk melihat data yang ada didalam stack. Caranya menggunakan perulangan sebanyak jumlah data yang disimpan dalam stack. 




  • Deklarasi awal Stack
contoh pendeklarasikan Stack dengan 8 tumpukkan.

Karena awal index pada array C++ dimulai dari 0, dan bukan 1. Maka penunjuk dimulai dari 0, artinya array itu sudah ada isinya pada indeks pertama. Itulah mengapa variabel penunjuk di atas bernilai -1.

Contoh Program Stack C++



Hasil eksekusi program :







Sumber referensi :
Buku Pemrograman C++ Abdul Kadi
Buku Pemrograman C# Abdul Kadir

Queue



Queue

Antrian (Queue) merupakan suatu kumpulan data yang penambahan data atau elemennya hanya dapat dilakukan pada sisi belakang, sedangkan penghapusan atau pengeluaran elemen dilakukan pada sisi depan. Berbeda dengan stack, prinsip yang digunakan dalam antrian adalah FIFO ( First In First Out). Dengan kata lain, urutan keluar elemen akan sama dengan urutan masuknya. Jenis struktur data antrian sering digunakan untuk menstimulasikan keadaan dunia nyata. Namun dalam Queue tidak semuanya menggunakkan konsep FIFO. Contohnya dalam bidang komputer adalah Time-sharing Computer System, dimana ada sejumlah user yg menggunakan sistem tersebut secara bersamaan. Karena sistem ini biasanya menggunakan processor, dan sebuah memory utama. Jika processor sedang dipakai oleh seorang user, maka user yang lain harus antri sampai gilirannya. Antrian ini tidak akan dilayani secara FIFO murni tetapi biasanya didasarkan pada suatu prioritas (Priority Queue) tertentu.

  • Prosedur Queue 
IsEmpty : Mengecek apakah queue kosong atau tidak
IsFull : Mengecek apakah queue sudah penuh atau belum
Enqueue : Menambahkan data di queue
Dequeue : Mengambil data dari queue
Clear : Menghapus data dalam antrian
View : melihat data dalam antrian

  • Deklarasi Awal Queue 
Variabel yang akan digunakan adalah data (array sebagai tempat queue), head, tail. Sama seperti Stack, Nilai dari head dan tail dimulai dari -1 yang menandakan queue kosong. Sebagai contoh kita akan membuat queue dengan data maksimal sebanyak 7 data.



Contoh Program Queue :




Hasil Eksekusi Program :








Sumber referensi :
Buku Pemrograman C# Abdul Kadir



















Sorting (Selection Sort & Insertion Sort)



Sorting

Sorting merupakan proses pengurutan data, dimana data yang sebelumnya tersusun secara acak sehingga menjadi teratur dan tersusun.

Ada 2 jenis sorting, yaitu :
Ascending ( Naik ) :
contoh: Data Acak : 2 6 8 1 3 30 11, jika di ascending akan menjadi 1 2 3 6 8 11 30
Descending ( Turun ) :
contoh: Data Acak : 2 6 8 1 3 30 11, jika di descending akan menjadi 30 11 8 6 3 2 1

  • Selection Sort
Selection sort adalah pengurutan dengan cara mencari data yang terkecil kemudian menukarkannya dengan data yang digunakan sebagai acuan (pivot). Ide dasarnya adalah melakukan beberapa kali pass untuk melakukan penyeleksian elemen struktur data. Untuk sorting ascending (menaik), elemen yang paling kecil di antara elemen-elemen yang belum urut, disimpan indeksnya, kemudian dilakukan pertukaran nilai elemen dengan indeks yang disimpan tersebut dengan elemen yang paling depan yang belum urut. Sebaliknya, untuk sorting descending (menurun), elemen yang paling besar yang disimpan indeksnya kemudian ditukar.

  • Proses pengurutan Selection Sort :
langkah pertama dicari data terkecil dari data pertama sampai data terakhir. Kemudian data terkecil ditukar dengan data pertama. Dengan demikian, data pertama sekarang mempunyai nilai paling kecil dibanding data yang lain. Langkah kedua, data terkecil kita cari mulai dari data kedua sampai terakhir. Data terkecil yang kita peroleh ditukar dengan data kedua dan demikian seterusnya sampai semua elemen dalam keadaan terurutkan.

Algoritma Selection Sort





Contoh Program Selection Sort :




Hasil Eksekusi Program :







  • Insertion Sort
Metode pengurutan Insertion dilakukan dengan cara data dicek satu per satu mulai dari yang kedua sampai dengan yang terakhir. Apabila ditemukan data yang lebih kecil daripada data sebelumnya, maka data tersebut disisipkan pada posisi yang sesuai. Akan lebih mudah apabila membayangkan pengurutan kartu. Pertama-tama anda meletakkan kartu-kartu tersebut di atas meja, kemudian melihatnya dari kiri ke kanan. Apabila kartu di sebelah kanan lebih kecil daripada kartu di sebelah kiri, maka ambil kartu tersebut dan sisipkan di tempat yang sesuai. Dalam pengurutan data, metode ini dipakai bertujuan untuk menjadikan bagian sisi kiri array terurutkan sampai dengan seluruh array diurutkan.

Algoritma Insertion Sort




Contoh Program Insertion Sort :









Hasil Eksekusi Program :









Sumber referensi :
Buku Pemrograman C# Abdul Kadir
Algorithms in C++ by Robert Sedgewick


Searching (Sequential & Binary Search)



Searching

Search merupakan pencarian data dengan cara menelusuri data-data tersebut, tempat pencarian data dapat berupa array dalam memori (pencarian internal), bisa juga pada file pada external storage (pencarian external). Proses mendapatkan (retrieve) information berdasarkan kunci (key) tertentu dari sejumlah informasi yang telah disimpan. Kunci (key) digunakan untuk melakukan pencarian record yang diinginkan didalam suatu list


  • Sequential Search
Proses pencarian data dengan metode ini cukup sederhana dan mudah. Dalam pencarian ini proses dilakukan dengan cara mencocokan data yang akan dicari dengan semua data yang ada dalam kelompok data. Proses pencarian data dilakukan dengan mencocokan data yang dilakukan secara berurut satu demi satu dimulai dari data ke-1 hingga data pada urutan terakhir. Jika data yang dicari mempunyai nilai yang sama dengan data yang ada dalam kelompok data, berarti data telah ditemukan. Tetapi jika data yang dicari tidak ada yang cocok dengan data-data dalam sekelompok data, berarti data tersebut tidak ada dalam sekelompok data. Selanjutnya kita tinggal menampilkan hasil yang diperoleh tersebut.

Contoh Program Sequential Search :




Hasil Eksekusi Program :







  • Binary Search
Algoritma pencarian dengan Binary search dilakukan dengan cara membagi data menjadi dua bagian setiap kali terjadi proses pencarian untuk menemukan nilai tertentu dalam sebuah larik (array) linear. Sebuah pencarian biner mencari nilai tengah (median), melakukan sebuah pembandingan untuk menentukan apakah nilai yang dicari ada sebelum atau sesudahnya, kemudian mencari setengah sisanya dengan cara yang sama.


Prinsip dari binary search dapat dijelaskan sebagai berikut :
1. Mula-mula diambil posisi awal 0 dan posisi akhir = N - 1, kemudian dicari posisi data tengah dengan rumus (posisi awal + posisi akhir) / 2. Kemudian data yang dicari dibandingkan dengan data tengah.
2. Jika lebih kecil, proses dilakukan kembali tetapi posisi akhir dianggap sama dengan posisi tengah -1.
3. Jika lebih besar, proses dilakukan kembali tetapi posisi awal dianggap sama dengan posisi tengah +1. Jika data sama, berarti ketemu.


Contoh Program Binary Search :



Hasil Eksekusi Program :






Sumber referensi :
Algorithms in C++ by Robert Sedgewick
Buku Pemrograman C# Abdul Kadir