Struktur Data Menggunakan Bahasa Pemrograman C++

Posted by Unknown Kamis, 04 Juni 2015 3 komentar


Nama : I Putu Gede Darma Yoga
NIM : 140010094
Kelas : AB141
Mata Kuliah : Praktikum Struktur Data
Dosen : IB. Ketut Surya Arnawa, S.Kom
Ass. Dosen : Steven Anthoni


STRUKTUR DATA

Sebelum mengenal lebih dalam dalam tentang struktur data, baiknya kita mengenal lebih dahulu apa itu Sistem Informasi karena nanti akan berhubungan erat dengan struktur data.
Pendekatan sistem yang lebih menekankan pada prosedur menurut Jogiyanto Hartono adalah :
“Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran yang tertentu”. (Jogiyanto Hartono, 2005, 1).

            Sedangkan pendekatan lain yang lebih menekankan pada komponen atau elemennya menurut Jogiyanto Hartono mendefinisikan sebagai berikut :
“Sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk mencapai tujuan tertentu”. (Jogiyanto Hartono, 2005, 2).
            Jadi dapat disimpulkan sistem itu adalah suatu cara atau metode yang saling berhubungan dan saling melengkapi satu sama lainnya untuk menyelesaikan masalah agar memudahkan dalam pencapaian tujuan.
Struktur data nantinya pasti akan menghasilkan sebuah informasi bagi kita dan Informasi  merupakan suatu komponen yang sangat penting dalam sistem karena tanpa informasi kegiatan yang akan dijalankan akan mengalami kesulitan.
            Pengertian informasi  menurut Jogiyanto Hartono adalah:
“Informasi adalah data yang telah diolah menjadi sedemikian rupa sehingga fungsi dan kegunaannya lebih berguna dan berarti bagi pengguna yang lainnya sebagai dasar pengambilan keputusan”. (Jogiyanto Hartono, 2005, 8).

Pada saat yang tidak menentu, informasi dapat mengurangi ketidakpastian, informasi mengubah kemungkinan-kemungkinan hasil yang diharapkan dalam situasi keputusan dan kerena itu mempunyai nilai dalam proses pengambilan keputusan. Sumber dari informasi adalah data. Data adalah kenyataan yang menggambarkan suatu kejadian-kejadian dan kesatuan nyata data merupakan bentuk yang masih mentah belum memberikan arti banyak bagi pemakai.
Dalam istilah ilmu komputer, sebuah struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien.

Dalam teknik pemrograman, struktur data berarti tata letak data yang berisi kolom-kolom data, baik itu kolom yang tampak oleh pengguna (user) atau pun kolom yang hanya digunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna.
Struktur data di bagi lagi menjadi beberapa bagian yaitu : 
1. Menurut Tia Mutiara, Variabel adalah sesuatu yang menjadi fokus perhatian (center of attention) atau pusat yang memberikan pengaruh (effect) dan mempunyai nilai (value). Hal ini membuat variabel dapat berubah.Variabel dapat disebut juga sebagai peubah.

2. Array
Array adalah sekumpulan variabel yang memiliki tipe data yang sama dan dinyatakan dengan nama yang sama. Array merupakan konsep yang penting dalam pemrograman, karna array memungkinkan untuk menyimpan data maupun referensi objek dalam jumlah banyak dan terindeks. Array menggunakan indeks integer untuk menentukan urutan elemen-elemennya, dimana elemen pertamanya dimulai dari indeks 0,elemen kedua memiliki indeks 1, dan seterusnya.
Contoh :
- Angka untuk menyimpan sederetan bilangan
- Buku untuk menyimpan sekumpulan data buku
- Mahasiswa untuk menyimpan beberapa data mahasiswa
- Sebagai contoh jika A merupakan sebuah array dengan tipe integer, maka notasi dari array A adalah: A[n], dengan n merupakan angka index dari array tersebut misal:
 A[0]=100 A[1]=200 A[2]=300 A[3]=400

A. Mendeklarasikan Variabel Array
Mendeklarasikan variabel array dengan tipe data yang diinginkan dengan cara yang hampir sama dengan variabel biasa. Misalnya untuk mendeklarasikan variabel bertipe integer, dapat dilakukan dengan cara :
int [ ] bilangan; atau int bilangan [ ];
Jadi perbedaan utama pendeklarasian variabel array dengan variabel biasa adalah adanya tanda kurung [ ] di akhir tipe data atau di akhir nama variabel array. Pada tahap pendeklarasian variabel array ini belum ada alokasi memory untuk menyimpan data.

B. Mendefenisikan Array
Setelah mendeklarasikan array, kita perlu mendefenisikan array, dalam arti menentukan besar array yang diinginkan. Misalnya dengan cara :
Bilangan = new int [5];
Array memiliki ukuran yang tetap dalam arti tidak dapat membesar atau mengecil ukurannya setelah didefenisikan. Setelah didefenisikan, maka variabel dengan nama bilangan dapat menyimpan 5 nilai integer yang dapat diakses melalui indeks 0 sampai indeks 4. Setelah pendefenisian array, maka memori akan dialokasikan untuk menyimpan data dari array. Besar memori yang dialokasikan tergantung dari tipe data variabel array dan jumlah elemen array yang didefenisikan.
Contoh studi kasus beserta coding yang bisa di pakai :

Buatlah sebuah program yang bisa mencari rata-rata dan total dari nilai satu semester seorang mahasiswa.

        
3. Array Dua Dimensi
Pada bahasa C++ juga di sediakan fasilitas untuk membuat array dua dimensi yang dapat membantu dalam pemrograman apabila array datu dimensi tidak mencukupi dalam menghasilkan suatu solusi. Array dua dimensi sebenarnya adalah array yang berisi array.
Contoh studi kasus :

Buatlah sebuah array 2 dimensi yang berputar 90 derajat ke kiri


4. Stack
Stack: adalah list linier yang dikenali elemen puncaknya (top), aturan penyisipan dan penghapusan elemennya tertentu (penyisipan selalu dilakukan “di atas” (top), penghapusan selalu dilakukan pada top)
Contoh studi kasus : 
Buatlah sebuah tumpukan data.
berikut adalah contoh code yang bisa di pakai.

5. Queue
Queue (antrian) adalah salah satu list linier dari struktur data yang beroperasi dengan cara First In First Out (FIFO) yaitu elemen pertama yang masuk merupakan elemen yang pertama keluar. Contohnya, ialah dalam sebuah antrian pembelian tiket bagi yang pertama masuk maka dia pulalah yang pertama keluar/selesai. Untuk penyisipan (INSERT) hanya dapat dilakukan pada satu sisi yaitu sisi belakang (REAR), sedangkan untuk penghapusan (REMOVE) pada sisi depan (FRONT) dari list.

Akan terjadi ketidakefisienan bila penambahan elemen sudah pada posisi index N (Rear = N) maka tidak dapat lagi dilakukan penambahan elemen, sedangkan dilokasi memori yang lain (nilai di bawah N) masih terdapat memori array yang kosong. Untuk mengatasi hal tersebut maka kita bayangkan bahwa memori dari queue tersebut berbentuk melingkar dimana kedua ujungnya saling bertemu atau disebut juga dengan Circular Queue.
b. Circular Queue
• Anggap Queue ini mempunyai ukuran m elemen. Karena sisip elemen di lakukan pada satu sisi dan hapus elemen dilakukan pada sisi yang lain, maka Q(m) disatukan dengan Q(1) {adjacent}.

• Jika digambarkan, elemen-elemen queue menduduki tempat Q(f) sampai dengan Q(r) dimana pointer Front menunjuk ke Q(f) dan pointer REAR menunjuk ke Q(r). Kondisi overflow terjadi jika (r+1) mod m = f dan kondisi underflow terjadi jika r = f = 0
Contoh Studi kasus beserta coding yang bisa di pakai :
Buatlah sebuah code yang mengimplementasikan sebuah antrian (queue).
6. Sorting
Dalam arti bahasa sorting adalah penyortiran atau memilih-milih. Pada struktur data Sorting adalah sebuahmetode untuk pengurutan data, misalnya dari data yang terbesar ke data yang terkecil. Dengan cara program yang dibuat harus dapat membandingkan antar data yang di inputkan.
Artinya jika ada deretan data, maka data yang pertama akan membandingkan dengan data yang kedua. Jika data yang pertama lebih besar dari pada data yang kedua maka data yang pertama akan bertukar posisi dengan data yang kedua, begitu seterusnya sampai benar-benar data terurut dari yang terbesar hingga yang terkecil.

Metode sorting sangat banyak dan berkembang ada Bubble sort, Selection Sort, Insertion sort, Merge sort, Quick sort. Metode-metode ini menggunakan caranya sendiri untuk membandingkan, memeriksa dan menukar posisi data. Namun tidak semua metode sorting ini efektif. Karena metode sorting yang paling efektif adalah ketika metode tersebut dapat melakukan pengurutan data dengan cepat dan tidak memerlukan banyak memori.
         A.     Pengertian Metode Selection Sort
Selection Sort berbeda dengan Bubble sort. Selection Sort pada dasarnya memilih data yang akan diurutkan menjadi dua bagian, yaitu bagaian yang sudah diurutkan dan bagian yang belum di urutkan.
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. Metode ini lebih efektif dari pada metode bubble karena tidak memerlukan banyak pertukaran dan pengalokasian memori.
Studi Kasus:
Buatlah sebuah code yang bisa mengimplementasikan metode selection sort.
Berikut contoh code yang bisa di pakai


      B. Insertion sort adalah metode pengurutan dengan cara menyisipkan elemen data pada posisi yang tepat memiliki kelebihan yaitu  Sederhana dalam penerapannya tapi kekurangannya untuk data yang jumlahnya besar ini tidak praktis.
Contoh studi kasus :
buatlah sebuah program yang mengimplementasikan metode Insertion sort.

Berikut contoh code yang sudah di kombinasikan beserta selection sort sehingga bisa di lihat perbedaannya dengan yang di atas


7.Searching
Pencarian (Searching) merupakan proses yang fundamental dalam pemrograman, guna menemukan data (nilai) tertentu di dalam sekumpulan data yang bertipe sama. Fungsi pencarian itu sendiri adalah untuk memvalidasi (mencocokkan) data, searching juga bisad di lakukan dengan 2 metode yang berbeda yaitu :

-  Sequential Search

Sequential Search adalah teknik pencarian data dimana data dicari secara urut dari depan ke belakang atau dari awal sampai akhir. berdasarkan key yang di cari Kelebihan dari proses pencarian secara sequential ini, jika data yang dicari terletak didepan, maka data akan ditemukan dengan cepat. Teknik ini juga memiliki kekurangan, jika data yang dicari terletak dibelakang atau paling akhir, maka akan membutuhkan waktu yang lama dalam proses pencariannya. Beban komputer akan semakin bertambah jika jumlah data dalam array sangat banyak.
Contoh studi kasus dan coding yang bisa di pakai :
Buatlah sebuah syntak yang bisa mencari data yang inputannya maksimal 15.

-  Binary Search

Binary Search adalah algoritma pencarian yang lebih efisien daripada algorima Sequential Search. Hal ini dikarenakan algoritma ini tidak perlu menjelajahi setiap elemen dari tabel. Kerugiannya adalah algoritma ini hanya bisa digunakan pada tabel yang elemennya sudah terurut baik menaik maupun menurun. Pencarian Biner (Binary Search) dilakukan untuk :
memperkecil jumlah operasi pembandingan yang harus dilakukan antara data yang dicari dengan data yang ada di dalam tabel, khususnya untuk jumlah data yang sangat besar ukurannya.
Contoh studi kasus beserta syntaknya :

Buatlah sebuah program sederhana yang bisa menerapkan metode binary search yang inputan data di lakukan bebas oleh user.



Referensi :
http://chris-extraordinary05.blogspot.com/2013/01/struktur-data.html
Hendra, Dharma. feb 2014, "Makalah Struktur Data"
http://sikenarok.blogspot.com/2011/06/metode-sorting-pada-pemrograman-c.html
http://ricadamayantiputri12.blogspot.com/2014/01/insertion-sort.html
https://lusiajah.wordpress.com/2009/05/30/searching-dan-sorting-di-c/
Ayusma, Indra, 2012, "Rangkuman Tentang Sequential Search dan Binary Search"


Teman - teman, di sini saya juga menyediakan sebuah aplikasi compiler yang bisa di pakai untuk mencoba coding C++ yang sudah saya sediakan di atas,

Download Borland C++ Via :

Google Drive (83MB)                                    MediaFire (83MB)

Cara install :
1. Unrar file yang sudah di download.
2. klik file setup.exe
3. Lakukan instalasi seperti biasa
4. Done
Work on windows xp, 7(32 & 64bit), 8 (32 & 64 bit), 8.1
Password .rar (if needed) : yoganewbie

TERIMA KASIH ATAS KUNJUNGAN SAUDARA
Judul: Struktur Data Menggunakan Bahasa Pemrograman C++
Ditulis oleh Unknown
Rating Blog 5 dari 5
Semoga artikel ini bermanfaat bagi saudara. Jika ingin mengutip, baik itu sebagian atau keseluruhan dari isi artikel ini harap menyertakan link dofollow ke http://naghamatir.blogspot.com/2015/06/struktur-data-menggunakan-bahasa-c.html. Terima kasih sudah singgah membaca artikel ini.

3 komentar:

Unknown mengatakan...

makasih sekali agan sangat membantu :))

Unknown mengatakan...

siap.,. terimakasi juga sudah berkunjung

selimut mengatakan...

thanks gan, tapi akan lebih baik dibahas satu per satu lebih detil lagi.

Posting Komentar

Peraturan Dalam Berkomentar :
1. Berkomentar yang sopan dan berbobot
2. Jangan menulis link aktif maupun yang tidak aktif karena nanti akan Admin hapus
3. Tidak mengandung unsur SARA
4. Jangan sungkan jika ingin meminta sebuah file yang ingin kamu download dari blog ini karena akan saya usahakan untuk di post

Belajar SEO dan Blog support Blogger neWBie12 - Original design by Bamz | Copyright of neWBie | Free Download .