Jurnal Struktur Data [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

JURNAL STRUKTUR DATA



DATA & STRUKTUR DATA Lambas Perdana Naibaho 1, Maya Pangaribuan 2, Kumara Bakti Sinaga 3, Kinanti Putri Lestari 4, Indra Gunawan, M. Kom 5 Mahasiswa S1 Struktur Data, Jurusan Teknik Informatika, SEKOLAH TINGGI ILMU KOMPUTER STIKOM TUNAS BANGSA PEMATANGSIANTAR Jln. Jend. Sudirman Blok A No. 1-3 Pematangsiantar - 21127



ABSTRAK Struktur Data adalah cara penyimpanan dan pengorganisasian data-data pada memori komputer maupun file secara efektif sehingga dapat digunakan secara efisien,termasuk operasioperasi di dalam nya. 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 berubahubah selang eksekusi berlangsung. ABSTRACT



Data structure is a way of storing and organizing data in computer memory and files effectively so that it can be used efficiently, including the operations in it. Data is a representation of real world facts. Facts or information about facts that are stored, recorded or represented in the form of writing, sound, pictures, signals or symbols. The definition of this data implies a value that can be expressed in the form of a constant / variable. Constants are used to express a fixed value, while variables are used in the program to represent a value that can vary between execution.



PENDAHULUAN



Mata kuliah struktur data merupakan salah satu mata kuliah yang di ajarkan pada banyak program studi ilmu komputer.Materi struktur data merupakan materi konsepkonsep abstrak, sehingga sulit di fahami mahasiswa. Dalam istilah ilmu komputer,



Struktur data adalah cara penyimpana, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secata efisien.



Pemograman dalam struktur data ada beberapa macam. Salah satu nya adalah pemograman C++. Dalam pemograman ini biasanya menggunakan variabel ARRAY, struktur dan linked list.



atau Pascal namun perbedaan juga tidak begitu signifikan pada pemograman pasca .



Penelitian ini membahas tentang tiga variabel tersebut dimana ketiga variabel mempunyai ciri dan umum yang berbeda sesuai dengan tipe file yang digunakan pembaca. Seperti array yang menggunakan satu dimensi dan dua dimensi serta 3 dimensi dimana sangat berbeda dengan struktur Yang menggunakan tingkatan prosedur. Pemograman ini merupakan pemograman yang berbeda dari pemograman lainnya misalnya VB, Delphi



Pemograman dalam struktur data ada beberapa macam. Salah satunyaadalah pemograman C++. Dalam pemograman ini biasanya menggunakan berbagaivariable misalnya Struktur data, pointer, Array, Linked List, stack, queue, tree,pohon biner (binari tree) dan graph / matrik penjajian data. Jurnal ini akan membahas variabel tersebut dimana variable mempunyaiciri dan umum yang berbeda sesuai dengan tipe file yang di gunakan pembaca.Pemograman ini merupakan pemograman yang berbeda dari pemograman lainnyamisalnya VB, Delphi atau Pascal namun perbedaan juga tidak begitu signifikanpada pemograman pascal



METODOLOGI PENELITIAN



Alat yang digunakan pada penelitian ini adalah laptop.



Bahan yang digunakan adalah aplikasi Dev C++.



HASIL DAN PEMBAHASAN STRUKTUR DATA



2. Struktur Data Majemuk Terdiri dari : a. Linier Misalnya : pohon ( Tree ), Pohon Biner ( Binery Tree ), Pohon Cari Biner (Binaray Search Tree),General Tree Serta Graph. b. Non Liner Misalnya : Pohon (Tree ), Pohon Biner ( Binary Tree ), Pohon Cari Biner ( Binary Search Tree ), General Tree serta Graph.



Struktur Data adalah suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian Struktur Data yang tepat didalam proses pemrograman, akan menghasilkan Algoritma yang lebih jelas dan tepat sehingga menjadikan program secara keseluruhan lebih sederhana. Pada garis besarnya, data dapat dikategorikan menjadi: A. Type Data Sederhana / Data Sederhana Terdiri dari: 1. Data Sederhana Tunggal Misalnya : Integer, Real/float, boolean dan charcter. 2. Data Sederhana Majemuk



1. INTEGER Integer merupakan Bilangan Bulat Dan Tidak Mengandung Pecahan Seperti : ... -3,-2,-1,2,3,... Type data Integer



Misalnya : String



Type



Range



B. Struktur Data Terdiri dari : 1. Struktur Data Sederhana Misalnya : Array dan Record.



Ukuran( Byte)



Integer



- 32768..32767



2



Long



- 2147483648..2147483647



4



2.FLOAT



Type data yang merupakan bilangan pecahan. Jenis data float di tulis dengan menggunakan titik (koma) desimal. Misalnya : 0.32



4,35



-131. 128



Type Real dapat juga ditulis dengan rumus :



M * Re = X input



M = Pecahan,R = Radix, e = Exponen, X = Hasil Bilangan, Misalnya : 3.2 * 10 -1 = 0,32 4.35 * 102 = 435



TYPE DAT SEDERHANA (Dalam Program C++)



Type data FLOAT



Type



Range



NOT (!) AND (&&) !A !B



!C A&&B&& C 1 0



OR(||)



A



B



C



A||B||C



0



0



0



1



1



0



0



1



1



1



0



0



1



0



1



0



1



0



1



0



1



0



1



1



1



0



0



0



1



1



0



0



0



1



1



0



1



1



0



1



0



1



0



0



1



1



1



0



0



0



1



0



1



1



1



1



0



0



0



1



1



Ukuran (Byte)



Float



3.4x10-38 +38 s/d3.4x10



4



Double



1.7x10-308 +308 s/d1.7x10



8



LongDouble



3.4x10-4932 +4932 s/d1.1x10



10



3. BOOL ATAU LOGICAL Type data yang hanya mempunyai dua bentuk keluaran yaitu nilai True dan False (Benar dan Salah) yang dinyatakan dengan 1 dan 0, Sehingga satuan data yang terpakai cukup satu bits aja. Operator yang digunakan adalah: And, Or dan Not.



CHARACTER Type data yang terdiri dari aksara (simbol) yang meliputi digit numerik, character alfabetik dan spesial character. Untuk menuliskan tipe char, karakter perlu di tulis di dalam tanda petik tunggal (‘ ) Contoh :



BOOL atau Logical



‘A’ -> karakter berupa huruf A



0



‘1’ -> karakter berupa angka 1 ‘*’ -> karaktersimbol *



STRING Fungsi Pada Operasi STRING Keterangan 1.Strcpy ()



Operator Aritmatika



Untuk menyalin nilai string. pow



Pangkat 2.Strcpy ()



sqrt



Untuk menggabungkan nilai string. Menghitungakar



%



3.Strcpy () Sisahasilbagi(modulus) Untuk membandingkan 2 nilai string.



*,/



Perkalian, Pembagian 4.Strcpy ()



+,-



Untuk mengetahui panjang nilai string. Penjumlahan, Pengurangan 5.Strcpy ()



Merupakan type data majemuk yang terbentuk dari kumpulan character sebanyak 256 (default) dengan jangkauan niai 0- 255. Kumpulan character yang digunakan untuk membentuk String dinamakan alfabet. Pemberian nilai String diapt dengan tanda petik ganda (“) Bentuk umum penulisan tipe data ini adalah: tipe_data pengenal [panjangl]; pengenal = nama variabel panjang = bilangan bulat yg menunjukan jumlah karakter. Contoh : char nama[15] ;



Untuk mencari nilai karakter dalam string.



JENIS-JENIS OPERATOR DALAM BAHASA C++



Operator Relasi Operator Pemberi Nilai Aritmatika =



Keterangan Keterangan Sama dengan (assignment)



*=



=



Tidak sama dengan Perkalian



/=



>



%=




=



Lebih besarPengurangan atau sama dengan



Pengurang



Lebih kecil atau sama dengan Keterangan Keterangan Dan (AND) Tanda Plus Keterangan Tanda Minus Atau (OR) NOT Bukan (NOT) Shift Left Keterangan Shift Right



^



AND Penambahan XOR



| --



OR Pengurangan



& ++



TYPE TERSTRUKTUR (Dalam program C++) Bermanfaat untuk mengelompokkan sejumlah data yang berlainan.



Contoh : Struct data_pengawai { Int nip ; Char name [25]; Char name [40]; } ARRAY DIMENSI 1 & 2 DefinisiArray ❖Array / Larik : Struktur Data Sederhana yang dapat didefinisikan sebagai pemesanan lokasi memory sementara pada komputer. ❖Array dapat didefinisikan sebagai suatu himpunan hingga elemen yang terurut dan homogen. ❖Terurut : Dapat diartikan bahwa elemen tersebut dapat diidentifikasi sebagai elemen pertama, elemen kedua dan seterusnya sampai elemen ke-n. ❖Homogen : Adalah bahwa setiap elemen dari sebuah Array tertentu haruslah mempunyai type data yang sama. ❖Sebuah Array dapat mempunyai elemen yang seluruhnya berupa integer atau character atau String bahkan dapat pula terjadi suatu Array mempunyai elemen berupa Array. ❖Karakteristik Array : 1.Mempunyai batasan dari pemesanan alokasi memory (Bersifat Statis) 2. Mempunyai Type Data Sama (Bersifat Homogen) 3.Dapat Diakses Secara Acak



Definisi Array ❖3 Hal yang harus diketahui dalam mendeklarasikan array : a. Type data array b. Nama variabel array c. Subskrip / index array ❖Jenis Array (yang akan dipelajari) adalah : a.Array Dimensi Satu (One Dimensional Array). b. Array Dimensi Dua (Two Dimensional Array). c. Array Dimensi Tiga (Three Dimensional Array).



Array Dimensi Satu ARRAY DIMENSI SATU (One Dimensional Array) Dapat disebut juga dengan istilah vector yang menggambarkan data dalam suatu urutan. Deklarasi :Type_Data Nama_Variabel [index] Misalnya :int A[5]; Penggambaran secara Logika: Elemen Array A[1]A[2]A[3]A[4]A[5] 0 12 3 4 Subscript / Index



Array Dimensi Satu void main() { intbil [5]; clrscr; coutnext; deletehapus; } head = NULL; }



Fungsi IsFull



STACK atau TUMPUKAN  STACK (TUMPUKAN)







Merupakan bentuk khusus dari Linier List yang pemasukan dan penghapusan elemennya hanya dapat dilakukan pada satu posisi, yaitu posisi akhir dari List (Top). Prinsip Stack adalah LAST-IN-FIRST-OUT (LIFO).



OPERASI STACK



Fungsi PUSH 



  







 



ISEMPTY Untuk memeriksa apakah stack kosong ISFULL Untuk memeriksa apakah stack sudah penuh PUSH Untuk menambahkan item pada posisi paling atas(TOP) POP Untuk menghapus item paling atas (TOP) CLEAR Untuk mengosongkan stack



Fungsi IsEmpty  



Digunakan untuk memeriksa apakah stack masih dalam kondisi kosong. Dengan cara memeriksa TOP of STACK. Jika TOP masih = -1 maka berarti stack masih kosong.



Digunakan untuk memeriksa apakah kondisi stack sudah penuh. Dengan cara memeriksa TOP of Stack. Jika TOP of STACK = MAX_STACK-1 maka FULL (Penuh). Jika TOP of STACK < MAX_STACK-1 maka belum penuh.



Digunakan untuk memasukkan elemen ke dalam stack dan selalu menjadi elemen teratas stack Dengan cara : 1. Menambah satu (increment) nilai TOP of STACK setiap ada penambahan elemen stack selama stack masih belum penuh. 2. Isikan nilai baruke stack berdasarkan indeks TOP of STACK setelah ditambah satu (diincrement).



Fungsi POP 







Digunakan untuk menghapus elemen yang berada pada posisi paling atasdari stack. Dengan cara : 1. Ambil dahulu nilai elemen teratas stack dengan mengakses TOP of STACK. 2. Tampilkan nilai yang akan diambil. 3. Lakukan decrement nilai TOP of STACK sehingga jumlah elemen stack berkurang 1.



Fungsi CLEAR 



Digunakan untuk mengosongkan stack / membuat stack hampa sehingga Top pada Stack berada kembali di posisi Top = -1 Queue (Antrean)



Pengertian Queue (Antrean) Struktur Data Antrean (Queue) adalah suatu bentuk khusus dari List Linier dengan operasi pemasukan data hanya diperbolehkan pada salah satu sisi, yang disebut sisi Belakang / ekor (Tail) dan operasi penghapusan hanya diperbolehkan pada sisi lainnya yang disebut sisi Depan / kepala (Head) dari LinkedList. Queue berdisiplin FIFO (First In, First Out). Queue merupakan kasus khusus ordered list. Dengan karakteristik terbatas itu maka kita dapat melakukan optimasi representasi ADT Queue untuk memperoleh kerja paling optimal.



Karakteristik penting Queue antrian sebagai berikut 1. Elemen antrian yaitu item-item data yang terdapat di elemen antrian. 2. Head / front (elemen terdepan dari antrian ). 3. Tail/rear (elemen terakhir dari antrian ). 4. Jumlah elemen pada antrian (count). 5. Status / kondisi antrian.



Kemudian kondisi antrian (queue) yang perlu diperhatikan adalah : 1. Penuh Bila elemen di antrian  mencapai  kapasitas  maksimum  antrian. Pada kondisi ini, tidak mungkin dilakukan penambahan ke antrian. Penambahan elemen menyebabkan kondisi kesalahan Overflow. 2. Kosong bila tidak ada elemen di antrian. Pada kondisi ini, tidak mungkin dilakukan pengambilan elemen dari antrian. Pengambilan elemen menyebabkan kondisi kesalahan Underflow.



Misalnya Queue  Q= (a1,a2,a3…,an), maka: 1. Elemen a1 adalah elemen paling depan 2. Elemen ai adalah diatas elemen ai-1, di mana 1