P. 1
Makalah Struktur Data

Makalah Struktur Data

|Views: 373|Likes:
Published by ellm4n

More info:

Published by: ellm4n on Jul 26, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

05/29/2014

pdf

text

original

BAB I DATA DAN STRUKTUR DATA

1. PENGERTIAN DATA Data adalah representasi dari fakta dunia nyata. Fakta atau keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau simbol. Pengertian data ini menyiratkan suatu nilai yang bisa dinyatakan dalam bentuk konstanta / variable.

Konstanta digunakan untuk menyatakan nilai tetap sedangkan variable digunakan dalam program untuk menyatakan nilai yang dapat berubah-ubah selang eksekusi berlangsung. Ada empat istilah data, yaitu: Tipe data adalah jenis atau macam data di dalam suatu variable dalam bahasa pemrograman. Objek data mengacu kumpulan elemen, D (domain). Representasi data : Suatu mapping dari struktur data „d‟ ke suatu set ke struktur data „e‟ (d===e) misal bolean di representasikan dalam 0 dan 1.

Struktur data biasa dipakai untuk mengelompokan beberapa informasi yang terkait menjadi sebuah kesatuan.

Tipe data sederhana terbagi menjadi dua, yaitu:  Data sederhana tunggal.  Data sederhana majemuk. Misalnya : Integer, real / float, Boolean dan character. Misalnya : String.

1. TIPE DATA SEDERHANA TUNGGAL  INTEGER Anggota dari himpunan bilangan : {..., -(n+1), -n, ..., -2, -1, 0, 1, 2, ..., n, n+1, ...} Operasi dasar yaitu : penjumlahan, pengurangan, perkalian, pembagian dan perpangkatan

1

<.1. OR. American Standard Code for Information Interchange (ASCII) Digunakan kode 7 bit untuk menyatakan sebuah karakter.. +. -.. Operator Relasional. Pada umumnya skema yang paling banyak digunakan adalah : 1. 2 . Y. yaitu : >. <> dan = Contoh : 6 < 8 = True 9 < 8 = False  KARAKTER Elemen dari suatu himpunan yang terdiri atas bilangan.  Operator Logika. Anggota { true atau false}....123 adalah mantissa atau pecahan.. Extended Binary Coded Decimal Interchange (EBCDIC) Digunakan kode 8 bit untuk menyatakan sebuah karakter. B. (0. A. yaitu : AND.. abjad dan simbol khusus. Jika dihitung. sedangkan 6 adalah eksponennya. . 2..123 * 106 di sini 0.. >=. . NOT  Operator AND akan menghasilkan nilai true. jika kedua operand bernilai true. Dalam suatu ekspresi yang tidak menggunakan tanda kurung. kemungkinan kombinasi seluruhnya : 27 = 128.Z. jika salah satu operand bernilai true  Operator NOT merupakan “precedence” dari operator AND dan OR.8.*. <=.} Ada banyak skema yang digunakan untuk merepresentasikan karakter dalam storage. REAL Contoh : Di dalam sistem desimal. 123000 = 0. operator NOT harus dievaluasi sebelum operator AND dan OR. kemungkinan kombinasi seluruhnya : 28 = 256. Secara umum suatu bilangan real X dituliskan M * RE di sini : M dijadikan pecahan.  BOOLEAN Disebut juga jenis data logical.  Operator OR akan menghasilkan nilai true.9. R adalah radixnya dan E merupakan eksponennya. Jika dihitung..

OPERASI Jumlah karakter dalam string Gabungan 2 buah string Sub bagian dari string Menyisipkan string ke dalam string yang lain Menghapus karakter dalam string Operator LENGTH CONCAT SUBSTR INSERT DELETE  LENGTH Nilai dari operasi ini adalah suatu integer yang menunjukkan panjang dari suatu string .. N = integer  CONCAT Operasi ini bekerja terhadap dua string dan hasilnya merupakan resultan dari kedua string tersebut..1}.1}. termasuk “null string” atau “empty string” Himpunan tak hingga dari string yang dibentuk oleh alfabet A disebut VOCABULARY. TIPE DATA MAJEMUK  STRING Contoh : Misal diberikan himpunan alfabet A = {C. S2)= "SistemInformasi" 3 . bM‟ Maka CONCAT(S1.. Jika S1 dan S2 masing-masing adalah suatu string. Notasi : LENGTH(S) = N (integer) di sini S = String.2.. maka string yang terbentuk disebut dengan “Bit String”.. S2)..‟DDC‟. maka bentuk operasi CONCATENATION dinotasikan dengan : CONCAT(S1. Notasi : VA atau A* Jika suatu string dibentuk dari alfabet {0. String yang dapat dibentuk dari alfabet di atas di antaranya : „CD1‟. Contoh : Misal S1 = „a1a2 . dan sebagainya.‟CDC1‟.‟CDD‟....S2) = „a1a2 . aNb1b2 .D. bM‟ String S1 = "Sistem" String S2 = "Informasi" CONCAT(S1.. aN‟ dan S2 =„b1b2 ..

S2)) 6  SUBSTR Operasi ini adalah operasi membentuk string baru.LENGTH(CONCAT(S1. S2)) = 15 LENGTH(S1) + LENGTH(S2) = LENGTH(CONCAT(S1. bM‟ INSERT(S1.. umumnya adalah : INSERT(S1.. mulai dari posisi i dengan panjang j. aN‟ S2 = „b1b2 . yang merupakan bagian dari string yang diketahui. i. j) + 15 9 = = 15 15 di sini : S = string yang diketahui i dan j = integer i = posisi awal substring 1  i  LENGTH(S) j = banyak karakter yang diambil 0  j  LENGTH(S) dan 0  i+j-1  LENGTH(S)  INSERT Operasi ini adalah untuk menyisipkan suatu string ke dalam string lain...4) = “SisInformasitem” INSERT(S2.S2.. 4 Bentuk .j)  menghapuskan sebagian karakter dalam string S.4) = “InfSistemormasi”  DELETE Operasi ini digunakan untuk menghapus sebagian karakter dalam suatu string..3) = „a1a2b1b2 . S1 dan S2 masing-masing adalah suatu string dan i adalah posisi awal S2 pada S1.S2. Bentuk umumnya adalah : DELETE(S..i.. Notasi : SUBSTR(S. aN‟ String S1 = "Sistem" String S2 = "Informasi" INSERT(S1.S1. S2. Contoh : Misalkan : S1 = „a1a2 .i). bMa3a4.

Objek data integer ditambah operasi (+ . Dalam teknik pemrograman. kita harus melakukan dulu aktivitas terhadap objek data.2. PENGERTIAN STRUKTUR DATA Struktur data adalah suatu koleksi / kelompok data yang dapat di karakteristikan oleh organisasi serta operasi yang di definisikan terhadapnya. / . < . .cell . Struktur data standar yang biasanya digunakan dibidang informatika adalah :  ADT .struktur data berarti tata letak yang berisi kolom-kolom data.. yang terdiri :  Linier  Non Linier : Stack. Struktur data majemuk. Menunjukan mekanisme kerja operasi-operasi. sehingga menjadikan program secara keseluruhan lebih efisien dan sederhana.1 PEMBUATAN STRUKTUR DATA Untuk membuat menjadi struktur data. 5 . Struktur data meliputi :  Struktur data sederhana.baik itu kolom yang tampak oleh pengguna (user) ataupun kolom yang hanya digunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna. >) dan operasioperasi lain yang memanipuasi objek data integer menyatakan struktur data. Queue. Struktur data = Objek data + { Operasi manipulasi }. misalnya array dan Record. yaitu : Mendeskkripsikan kumpulan operasi sah yang diterapkan ke elemen-elemen objek data. mod . * . Struk  List linier (Linked List) dan variasinya  Multilist  Stack (Tumpukan)  Queue (Antrian)  Tree ( Pohon )  Graph ( Graf ) 2. Array . floor . serta List dan Multilist : Pohon Biner dan Graph Pemakaian struktur data yang tepat di dalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat.

karena terjadi kerancuan antara struktur data dan representasinya. Maka contoh array diatas dideklarasikan sbb : int billy [5]. Contohnya.BAB II ARRAY 1. PENGERTIAN Array adalah himpunan elemen (variable) dengan tipe yang sama dan disimpan secara berurutan dalam memory yang ditandai dengan memberikan index pada suatu nama variable.definisi ini kurang tepat. 2. Semua elemem array bertipe sama. Array cocok untuk organisasi kumpulan data homogen yang ukuran atau jumlah elemen maksimumnya telah diketahui dari awal. array harus dideklarasikan terlebih dahulu. dengan format sbb : type name [elements]. Memang benar array hampir selalu di implementasikan menggunakan memory berurutan tapi tidak selalu demikian. Array atau larik di definisikan sebagai pemesanan alokasi memory berurutan. Perhatikan contoh dibawah ini : Bagian kosong diatas merepresentasikan elemen array. kita dapat menyimpan 5 nilai dengan tipe int tanpa harus mendeklarasikan 5 identifier variabel yang berbeda. Angka 0 . Seperti penggunaan variable pada umumnya. 6 . Homogen adalah bahwa setiap elemen dari sebuah array tertentu haruslah mempunyai tipe data yang sama. dalam kasus ini adalah nilai integer. KARAKTERISTIK ARRAY Mepunyai batasan dari pemesanan alokasi memori (bersifat statis) Mempunyai tipe data sama (bersifat homogen) Dapat diakses secara acak.4 merupakan index dan selalu dimulai dari 0.

Terdapat dua tipe operasi. Array umumnya disimpan di memori komputer secara kontigu (berurutan). Contoh deklarasi dari array adalah sebagai berikut : int A[5] .1. Nilai di masing-masing posisi elemen dapat diambil dan nilai dapat disimpan tanpa melewati posisi-posisi lain.2. yaitu : Type data array Nama variable array  Subkrip / index array.3. DEKLARASI ARRAY Ada tiga hal yang harus di ketahui dalam mendeklarasikan array. yaitu:  Operasi terhadap satu elemen/posisi dari array  Operasi terhadap array sebagai keseluruhan Dua operasi paling dasar terhadap satu elemen/posisi adalah  Penyimpanan nilai elemen ke posisi tertentu di array  Pengambilan nilai elemen dari posisi tertentu di array 1. berarti pengambilan nilai elemen posisi ke-10 dari array A 7 . Contoh: A[10] = 78. Deklarasi dari array adalah sebagai berikut: int A[5]. artinya variabel A adalah kumpulan data sebanyak 5 bilangan bertipe integer. berarti penyimpanan nilai 78 ke posisi ke-10 dari array A C = A[10]. Operasi terhadap elemen di array dilakukan dengan pengaksesan langsung.1 Penyimpanan dan Pengambilan Nilai Biasanya bahasa pemrograman menyediakan sintaks tertentu untuk penyimpanan dan pengambilan nilai elemen pada posisi tertentu di array. Struktur data Array adalah organisasi kumpulan data homogen yang ukuran atau jumlah elemen maksimumnya telah diketahui dari awal. artinya variabel A adalah kumpulan data sebanyak 5 bilangan bertipe integer.

8 .1.9}.7. for(i=0.3.i<10.4.NAMA cout<<"2.SEMESTER cout<<"4. void main(void) { int x[10]={0. // membaca alamat dari x cout<<x[i] << " " <<*px<<" "<<px<<endl.6.TANGGAL PRAKTIKUM } :SAEPUL IMAN"<<endl.2. int i. JENIS ARRAY 1. int *px.8. PEMETAAN (MAPPING) ARRAY DIMENSI SATU KE STORAGE Rumus Dimana : @A[i] = B + (i – 1) * L : @A[i] B i L : Posisi array yang dicari : Posisi awal index di memori computer : Subkrip atau index array yang di cari : Ukuran atau besar memori suatu tipe data Contoh bentuk Array menggunakan c++ include<iostream> using namespace std. :23-03-2011"<<endl.i++) { px=&x[i].5. } { cout<<"1. :IIIA"<<endl. :0670 11 701"<<endl.NIM cout<<"3.2. ARRAY DIMENSI SATU Deklarasi : Type_Data Nama_Variabel [index] Rumus untuk menentukan jumlah elemen dalam array adalah : n p (Index Array) i=1  = Perkalian dari index sebelumnya (untuk arraybdimensi dua dan tiga).2.

77.2. n<5 . cout<<"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%:"<<endl. cout<<"Nama cout<<"SEMESTER : SAEPUL IMAN:"<<endl. int n. cout<<"Tanggal praktikum : kamis-1/04/2011:"<<endl.40. cout<<result<<endl<<endl. } cout<<"Outputnya:"<<endl. cout<<"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%:"<<endl. } 2.h> using namespace std.12017}. void main(void) { int billy [5] = {16.#include<iostream> #include<conio. : IIIA:"<<endl. n++ ) { result += billy[n]. result=0. getch(). ARRAY DIMENSI DUA Deklarasi : Type_Data Nama_Variabel [index1] [index2] Menentukan jumlah elemen dalam array dimensi dua : n  (Index Array) i=1   = Perkalian dari statemen sebelumnya PEMETAAN (MAPPING) ARRAY DIMENSI DUA KE STORAGE Terbagi dua cara pandang (representasi) yang berbeda : 9 . for( n=0 .

adalah sama seperti pada array dimensi dua. tingkat = 1.17) menyatakan jumlah mahasiswa tingkat 4. 10 . Misal : Kolom = Contoh : Baris = berubah-ubah (*) semua elemen pada kolom ke-4. Secara kolom per kolom (coloumn major order / CMO) @M[i][j] = M[0][0] + {(j – 1) * K + (i – 1)} * L  Secara baris per baris (row major order / RMO) @M[i][j] = M[0][0] + {(i – 1) * N + (j – 1)} * L Keterangan : @M[i][j] = Posisi array yang di cari.. M[0][0 = Posisi alamat awal index array.. CROSS SECTION (Penampang Array Berdimensi-2) Adalah pengambilan salah satu subskrip.2. 20.*) = Pengertian cross-section pada array dimensi banyak. K = Banyaknya elemen per kolom.. berdasarkan tingkat (1 sampai 5). Contoh : Penyajian data mengenai banyaknya mahasiswa dari 20 perguruan tinggi di Jakarta. dan jenis kelamin (pria atau wanita). semua elemen pada baris ke-2. . 3. jenis kelamin (pria = 1. dan subskrip ketiga. tetap/konstan B(*. subskrip kedua. N = Banyaknya elemen per baris. . perguruan tinggi adalah K = 1. Jadi MHS(4. wanita = 2). Misalkan array tersebut dinamakan MHS. L = Ukuran memory type data. Ambil subskrip pertama.. wanita. i = Baris.4) = B(2. ARRAY DIMENSI TIGA Adalah suatu array yang setiap elemennya merupakan tipe data array juga yang merupakan array dimensi dua.. 5. 2. j = Kolom. dari perguruan tinggi 17. 2..

Misal : MHS(4. PENCIPTAAN DAN PENGHANCURAN Operasi penciptaan biasa disebut inisialisasi. 2. Terdapat dua tipe operasi. dari perguruan tinggi 3. 3) = jumlah mahasiswa untuk masing-masing tingkat.3.1. Nilai di masing-masing posisi elemen dapat diambil dan nilai dapat disimpan tanpa melewati posisiposisi lain. OPERASI DASAR PADA ARRAY Operasi terhadap elemen di array dilakukan dengan pengaksesan langsung.17) = jumlah mahasiswa tingkat 4 dari perguruan tinggi 17 (masing-masing untuk pria dan wanita). Operasi ini untuk mempersiapkan struktur data untuk operasi-operasi berikutnya. menyerahkan memory ke manajemen memory agar dapat di pergunakan keperluan lain.*. pria dan wanita. Operasi penghancuran penting terutama bila struktur data di implementasikan secara dinamis menggunakan pointer 11 . yaitu : Operasi terhadap satu elemen / posisi dari array Operasi terhadap array sebagai keseluruhan Dua operasi paling dasar terhadap satu elemen / posisi adalah Penyimpanan nilai elemen ke posisi tertentu di array Pengambilan nilai elemen dari posisi tertentu di array Operasi-operasi dasar terhadap array secara keseluruhan adalah : Operasi penciptaan Operasi penghancuran Operasi pemrosesan traversal Operasi pencarian (table look-up) Operasi sorting 2.3. Operasi penghancuran menyatakan ketidak berlakuan struktur data atau membebaskan memory.*. MHS(*.

2. terbagi:  Tanpa sentinen  Dengan sentine ii.2. 2.3.yaitu: i.4. Pengurutan eksternal Pengurutan data di memory sekunder. PENCARIAN DI ARRAY (Table Look-Up) Pencarian di array (table look-up) adalah proses pencarian suatu nilai di array.2. PEMROSESAN TRANSVERSAL Operasi pemrosesan transversal adalah pemrosesan mengolah seluruh elemen secara sistematik. Klasifikasi pencarian di array adalah : 1) Pencarian sekuen (sequential searching). PENGURUTAN ARRAY Pengurutan atau sorting adalah proses yang paling sering di lakukan dalam pengolahan data.3. berarti pengambilan nilai elemen posisi ke-10 dari array A 2. 12 . b.3. yaitu : a. Contoh : A[10] = 78. Pengurutan internal Pengurutan dilakukan terhadap sekumpulan data di media memory internal komputer dimana data dapat di akses elemennya secara langsung. Menggunakan boolean 2) Pencarian secara biner / dikotom (binary = dichotomy searching). berarti penyimpanan nilai 78 ke posisi ke-10 dari array A C = A[10].4. PENYIMPANAN DAN PENGAMBILAN NILAI Biasanya bahasa pemrograman menyediakan sintaks tertentu untuk penyimpanan dan pengambilan nilai elemen pada posisi tertentu di array. Biasanya data bervolume besar sehingga tidak mampu dimuat semuanya di memori utama.3.pengurutan di bedakan menjadi dua. Tanpa Boolean.

representasi statis tidak dimungkinkan Bila penambahan dan pengurangan terjadi terus menerus. Kelemahan array adalah sebagai berikut : Array mempunyai fleksibilitas rendah. Tidak efisien dalam penggunaan memory 2. dan elemen lain adalah tipe-tipe lain 2. maka representasi statis (array): 1. Pada suatu aplikasi. Bila penambahan dan pengurangan terjadi Terus-menerus. elemen lain bilangan. maka representasi statis  Tidak efisien dalam penggunaan memori  Menyiakan banyak waktu komputasi  Pada suatu aplikasi. baik elemen pendahulu atau elemen penerus 3 3. Array harus bertipe homogen. Kebanyakan bahasa pemrograman mengimplementasikan array statik yang sulit diubah ukurannya di waktu eksekusi. 2. KEUNGGULAN DAN KELEMAHAN ARRAY Keunggulan array adalah sebagai berikut : 1. Jika elemen-elemen array adalah nilai-nilai independen dan seluruhnya harus terjaga. Kita tidak dapat mempunyai array dimana satu elemen adalah karakter. 13 .3. Menyiakan banyak waktu komputasi 3. sehingga tidak cocok untuk berbagai aplikasi karena Array mempunyai batasan sebagai berikut : 1. Sembarang elemen di array dapat diacu secara langsung tanpa melalui elemen-elemen lain. maka penggunaan penyimpanannya sangat efisien. representasi statis tidak di mungkinkan. maka sangat mudah menelusuri ke elemen-elemen tetangga. Jika berada di suatu lokasi elemen. Array sangat cocok untuk pengaksesan acak.

Array merupakan bagian dari struktur data yaitu termasuk kedalam struktur data sederhana yang dapat di definisikan sebagai pemesanan alokasi memory sementara pada komputer. 5. dua dimensi. 4. Array adalah suatu struktur yang terdiri dari sejumlah elemen yang memiliki tipe data yang sama 2. Contoh int matriks[5] Maka setiap elemen array akan diinisialisakan sebagai nol 3. akan menghasilkan algoritma yang jelas dan tepat sehingga menjadikan program secara keseluruhan lebih sederhana. namun apabila datanya belum kita ketahui batasnya maka gunakan pointer (type data dinamis). Apabila kita membuat program dengan data yang sudah kita ketahui batasnyamaka kita menggunakan Array (type data statis).dan array dinamis satu dimensi. karena ordo array dapat ditentukan pada saat program dijalankan. Jika mendeklarasikan array global (diluar semua fungsi ) maka isi dari array diinidialisasikan sebagai 0. Ketika kita mendeklarasikan array local (didalam fungsi) . tiga dimensi ataupun banyak dimensi (multi dimensi).BAB III SARAN DAN KESIMPULAN Struktur data merupakan salah satu bahan dasar pembuatan program. Array dinamis adalah array yang pengalokasi memorinya dapat diubah-ubah. maka isi dari array tidak akan ditentukan sampai nilai diberikan. jika tidak diberikan nilai. Hal ini terjadi karena array dinamis menggunakan pointer sebagai tempat pengalokasian memori. Pemakaian struktur data yang tepat di dalam proses pemrograman. Array dinamis membutuhkan pointer sebagai tempat pengalokasian memori 14 . Jenis array yang digunakan pada program adalah array dinamis dua dimensi. Array dapat berupa satu dimensi. 1.

Bogor. Makalah ini di buat untuk mengganti absensi pada praktikum matakuliah struktur data ketika saya tidak mengikuti kegiatan praktikum di karenakan saya izin. Dan kepada bapak asistent dosen struktur data saya mengucap syukur sebesar besarnya kiranya telah diberikan pelajaran Struktur Data sehingga menambah wawasan saya makalah yang berjudul “Array” ini. 20 Juni 2012 Penulis SAEPUL IMAN i 15 . saya berterimakasih kepada Bapak asisten dosen struktur data beserta teman-teman mahasiswa. jadi saya mohon maaf jika ada kesalahan penulisan atau kurang berkenan dihati saudara kami mohon maaf atas kesalahan tersebut.KATA PENGANTAR Puji syukur kepada Tuhan yang Maha Esa yang kiranya telah memberikan kesehatan dan pembelajaran sehingga penyusunan makalah ini telah selesai berkat pertolongan Tuhan dan kerja keras. Mungkin makalah ini jauh diatas sempurna. Dan semoga makalah ini membuat ilmu kita bertambah. Semoga makalah ini dapat berguna bagi teman-teman mahasiswa tanpa doa teman-teman mungkin makalah ini belum selesai.

.....................................2........................................................................................ 1..... Pengurutan Array................................... Pembuatan Struktur Data .................... 1 1 1 3 5 5 BAB II ARRAY ....... Operasi Dasar Pada Array ...................................................................... Jenis Array ............................................................4...... 2............................................ Pengertian Array ............. 1.......................................................1....... Karakteristik Array ............................................................................................................................................................................................................................................................................ 1............................................1................................5.................... Pengertian Data .............................................1................................................................................. 2.................................................................................. 2........................ Deklarasi Array ....... Tipe Data Majemuk ...........DAFTAR ISI Kata Pengantar................................................................................. Pengertian Struktur Data ... 11 2.................................................................... 12 2.. Tipe Data Sederhana Tunggal ........ 14 16 ii ...............3........................................................................................................ Keunggulan dan Kelemahan Array ......... 6 6 6 7 8 2............................................2..................... Daftar Isi .... i ii BAB I DATA DAN STRUKTUR DATA ........................................................ 1...... 2............................................ 13 BAB III SARAN DAN KESIMPULAN ........................................................................................................................... 2............

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->