Struktur Data Menggunakan Bahasa Pemrograman C++
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
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
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
- 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"
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.Ditulis oleh Unknown
Rating Blog 5 dari 5
3 komentar:
makasih sekali agan sangat membantu :))
siap.,. terimakasi juga sudah berkunjung
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