Langsung ke konten utama

[STRUKTUR DATA]

Hallo fyee 😁 ini adalah blog pertama ku. dan kali ini aku akan membantu dan menjelaskan sedikit perihal struktur data itu apa yah fyee. terutama bagi anak teknik nih yang pasti bakal nemu apa itu struktur data 😋

--------------------------------------------------------------------------------------

Salah satu hal penting yang tidak dapat kita tinggalkan dalam pemakaian komputer pastinya adalah data. Data dapat diperoleh dari berbagai sumber, seperti dari hasil pengukuran di laboratorium, hasil survei, angket, dan sebagainya.

Dengan berbagai macam cara, data dapat ditransformasikan menjadi informasi. Informasi sangatlah penting guys, karena memberikan dasar bagi pembuatan keputusan yang mantap dan ilmiah. Dalam suatu lembaga dan organisasi, baik yang bersifat komersial maupun industrial, bahkan organisasi yang bagaimanapun bentuknya, data dipandang sebagai suatu kekayaan yang penting dan mahal. Memang terkadang data sulit diperoleh yah fyee 😆

Di zaman yang sudah semodern ini tentunya sudah banyak berkembang bahasa-bahasa pemrograman tingkat tinggi yang pemakaiannya sudah sangat mudah, dan kita hanya tinggal klik dan drag saja. Meskipun demikian, tetap saja programmer harus menuliskan kode-kode program agar objek-objek yang sudah dibuat dapat bertingkah laku atau bekerja sesuai dengan yang diinginkan. Dalam sebuah program pasti terdapat alur logika yang menyebabkan program tersebut dapat bekerja dengan benar, dan sebagian besar pasti menggunakan pengelolaan data yang terstruktur.

Struktur itu dapat diartikan sebagai suatu susunan, bentuk, pola atau bangunan. Sedangkan data dapat diartikan sebagai suatu fakta, segala sesuatu yang dapat dikodekan atau disimbolkan dengan kode-kode atau lambang-lambang yang telah disediakan di setiap komputer. Dalam mengelola data yang bermacam jenisnya untuk menghasilkan informasi yang baik, maka pengetahuan mengenai struktur data, sungguh itu penting yah guys. Data yang disediakan oleh komputer sendiri terdiri dari berbagai jenis atau type.

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. Setiap baris dari kumpulan kolom-kolom tersebut dinamakan catatan (record). Lebar kolom untuk data dapat berubah dan bervariasi. Ada kolom yang lebarnya berubah secara dinamis sesuai masukan dari pengguna, dan juga ada kolom yang lebarnya tetap. Dengan sifatnya ini, sebuah struktur data dapat diterapkan untuk pengolahan database (misalnya untuk keperluan data keuangan) atau untuk pengolah kata (word processor) yang kolomnya berubah secara dinamis. Contoh struktur data dapat dilihat pada berkas-berkas lembar-sebar (spreadsheet), pangkal-data (database), pengolahan kata, citra yang dipampat (dikompres), juga pemampatan berkas dengan teknik tertentu yang memanfaatkan struktur data.

Struktur data adalah suatu koleksi atau kelompok data (susunan simbol-simbol) yang dapat dikarakterisasikan oleh organisasi serta dapat dioperasikan sesuai dengan definisi yang diberikan terhadapnya dikomputer. Sedangkan 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.

Secara garis besar tipe data dapat dikategorikan menjadi:
§  Tipe data sederhana tunggal, misalnya Integer, real, boolean dan karakter.
§  Tipe data sederhana majemuk, misalnya String

1. Data Sederhana Tunggal
a. Integer
Yang dimaksud dengan integer adalah bilangan bulat .., -3, -2, -1, 0, 1, 2, 3, … Ia tidak mengandung pecahan dan biasanya disajikan dalam memori komputer sebagai angka bulat. Di dalam aritmetika komputer, integer tersebut mudah untuk disajikan dan diproses. Besarnya nilai angka yang dapat diterima komputer adalah : -2N-1 hingga 2N-1-1. Di sini N merupakan jumlah bit di dalam komputer yang bersangkutan. Untuk komputer 32 bit misalnya, batasannya adalah = -2.147.483.648 hingga 2.147.483.647.

Operasi dalam integer :
Pada integer dapat dilaksanakan operasi penambahan, pengurangan, perkalian, dan pembagian integer (DIV), serta pemangkatan. Semua operasi di atas bekerja terhadap inteder (disebut operand), karenanya operasi disebut operasi binar. Selain itu dikenal operator unar, yaitu operator yang hanya mempunyai satu operand. Negasi misalnya, adalah contoh dari operator unar. Hasil dari pembagian integer DIV, adalah sebuah integer, yang diperoleh dengan menghilangkan bagian pecahan dari hasil pembagian. Misalnya 13 DIV 3 = 4. Selain itu dikenal pula operasi modulo (MOD). Operasi ini hasilnya didefinisikan sebagai sisa dari pembagian. Misalnya 17 MOD 7 adalah 3. Jika hasil dari suatu proses aritmetika berada di luar jangkauan kemampuan komputer, maka akan terjadi overflow error dan hasil akan menjadi tidak menentu.

b. Bilangan real
Data numerik yang bukan termasuk integer, seperti bilangan pecahan dan bilangan tak rasional, digolongkan dalam jenis data real. Jenis data real ditulis menggunakan titik (atau koma) desimal. Contohnya 3.26 43.00 -131.128, dan sebagainya. Jika di dalam pemrograman, sebuah variabel dinyatakan sebagai bilangan real, tidaklah tertutup kemungkinan bahwa ia bernilai sebuah integer (misalnya variabel real Q memenuhi Q = Sqrt(X), untuk X = 9, nilai Q adalah 3, suatu nilai real yang sebenarnya adalah integer). Deklarasi suatu variabel secara berlainan, salah satu maksudnya adalah untuk menaikkan lingkup, dan ketepatan komputasi.

c. Boolean
Suatu variabel boolean atau logikal hanya dapat berisikan nilai true atau falseyang kerap kali dinyatakan pula sebagai 1 dan 0. Oleh karena itu sebuah Satuan Data dapat cukup berisi satu bit saja. Operator pada type ini berlainan dengan operator pada type integer, yaitu operator and, or, and not. Disini and dan or adalah operator binar, sedangkan not adalah operator unar. Dalam urutan operasi, not mendapat prioritas pertama dibandingkan and dan or. Kecuali bila diberi tanda kurung. Misalnya ''A and not B''. Di sini ''not B'' dikerjakan lebih dahulu, baru kemudian ''A and'' terhadap hasil ''not B'' tersebut. Berikut ini tabel dari ketiga operator logikal tersebut :
Tabel 1.1. Operator Logika
NOT
AND
OR

Nilai true dan false dapat juga dihasilkan dari apa yang dikenal sebagai operator relasional atau relational operator (relop). Operator relasional tidak mempunyai operand boolean, tetapi menghasilkan tipe boolean. Operator relasional tersebut adalah :
=       sama dengan
<       lebih kecil dari
>       lebih besar dari
<=     lebih kecil atau sama dengan
>=     lebih besar atau sama dengan
<>     tidak sama dengan
Sebagai contoh 6 < 12 adalah true
A <> A adalah false

d. Char (karakter)

Type karater mempunyai elemen sebagai berikut : (0,1,2,3,…,9,A,B,C,…,X,Y,Z,?,*,/,…)

2. Data Sederhana Majemuk
a. String
Data type majemuk yang dibentuk dari karakter disebut STRING. Suatu string adalah barisan hingga simbol yang diambil dari himpunan karakter yang digunakan untuk membentuk string dinamakan Alfabet.
Contoh : Himpunan string {A,A,1} dapat berisi antara lain :
(AB1), (A1B), (1AB),…dst.
Termasuk string Null ( empty / hampa / kosong ) = { }
Secara umum suatu string dinyatakan :
S : a1, a2, a3,… an, Panjang dari string dilambangkan S =N atau Length (S) = N dimana N adalah banyaknya karakter pembentuk string. Untuk string Null = 0, untuk blank (spasi)=1.

Operasi yang berlaku terhadap string :
a)   Length (s) 
Berfungsi untuk menghitung panjang suatu string.
Contoh :     S1 adalah string = a1,a2,a3…an
S2 adalah string = b1, b2, b3,…bk
Len(s2) = n , Len(s1) = k

b. Concat (S1 , S2)
yaitu concatenation (Penyambungan 2 buah string atau lebih. Penggabungan juga dapat dilakukan terhadap dirinya sendiri.
Contoh : concat(s1,s2) = a1, . . . , an , b1 , . . . , bk atau dalam bentuk lain : s1 // s2 , s1 + s2

c. Substr (s, i, j) 
yaitu operasi pengambilan beberapa karakter dari string untuk membentuk string baru.
s :     adalah string
i :     adalah posisi karakter awal yang diambil
j :     adalah banyaknya karakter yang diambil dimana i dan j ber-type
Integer S1(a1,a2,a3,…an) SUBSTR ( s, 3, 2) = a3, a4 S1( a3, a4). Selain dari itu terdapat juga operasi pemenggalan lainnya yaitu : RIGHT(S1, j) dan LEFT(S1, j)

d. Insert ( S1, S2, j)
Operasi ini membutuhkan dua operand string dan sebuah operand Integer.
Contoh : Insert (S1, S2, 3) = a1, a2, b1, b2,…, bk, a3,…, an
Menyisipkan S2 didalam S1 mulai posisi ke 3 dari S1. Bila tidak ada statemen INSERT dalam bahasa pemrograman maka dapat dilakukan dengan cara lain, misal : LEFT(S1, j ) // S2 // RIGHT(S1, j )

e. Delete (S, i, j)
Operasi ini membutuhkan sebuah string dan dua operand integer.
Contoh : S1 : a1, a2, a3,…, an. DELETE (S1 , 4, 3) = a1, a2, a3, a7, a8,…,an. Menghapus string pada posisi awal 4, sebanyak 3. Bila tidak ada statemen DELETE dalam bahasa pemrograman maka dapat dilakukan dengan cara lain, misal : LEFT(S1, j ) // RIGHT(S1, j )

f. Index (S1,’substring’)
Mencari posisi awal (karakter ke berapa) suatu substring pada suatu string.
Contoh : INDEX(S1,’a3,a4,5’) = 3
Dalam bahasa pemrograman untuk membedakan sebuah string atau integer menggunakan tanda kutip. Integer : 34 string : ‘34’.

Jenis Struktur Data:
1.   Struktur Data Sederhana
a.    Array (Larik)
Larik adalah struktur data statik yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks larik harus tipe data yang menyatakan keterurutan misalnya integer atau karakter. Banyaknya elemen larik harus sudah diketahui sebelum program dieksekusi. Tipe elemen larik dapat berupa tipe sederhana, tipe terstruktur, atau tipe larik lain. Nama lain array adalah Larik, tabel, atau vector
Konsep dasar array :
Variabel array dalam bahasa C/C++ dapat digolongkan menjadi tiga dimensi :
1)   Array Berdimensi Satu
Suatu array dapat digambarkan sebagai kotak panjang yang berisi kotak-kotak kecil didalam kotak panjang tersebut.
Contoh 1 :
                                      C++ 

Output

2)   Array Berdimensi Dua
Array tidak hanya dapat dibentuk dalam dimensi satu, juga dapat dibentuk dalam dimensi dua.
Contoh 1 :
                                                  C++
                                                                          Output

                Contoh 2 :
                                                          C++
                                                                         Output


3)   Record (Catatan)
ADT adalah definisi tipe dan sekumpulan primitif (operasi dasar) terhadap tipe tersebut. Tipe diterjemahkan menjadi tipe terdefinisi dalam bahasa pemrograman yang bersangkutan.


2.   Struktur Data Majemuk
a.    Linier

1)   Stack (Tumpukan)
Stack (tumpukan) 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). Karena aturan penyisipan dan penghapusan semacam itu, top adalah satu-satunya alamat tempat terjadi operasi. Elemen yang ditambahkan paling akhir akan menjadi elemen yang akan dihapus. Dikatakan bahwa elemen stack akan tersusun secara LIFO (Last In First Out).

                  Operasi dasar dalam Stack :
·         Create Stack : Membuat Stack Baru
·         Makenull Stack : Mengosongkan Stack
·         Empty Stack : Menguji Stack Kosong
·         Push : Menambah Stack
·         Pop : Menghapus Stack 

2)   Queue (Antrian)
Queue (antrian) adalah list linier yang dikenali elemen pertama (head) dan elemen terakhirnya (tail); Aturan penyisipan dan penghapusan elemennya disefinisikan sebagai penyisipan selalu dilakukan setelah elemen terakhir, penghapusan selalu dilakukan pada elemen pertama; Satu elemen dengan elemen lain dapat diakses melalui informasi next.

Operasi dasar pada Queue :
·         Create Queue : Membuat Queue baru
·         Makenull Queue : Mengosongkan Queue
·         Empty : Menguji Queue kosong
·         Full : Menguji Queue penuh
·         Tambah : Menambah Queue

·         Ambil : Mengambil Queue 

3)   List dan Multi-List (Daftar)

List linier adalah sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya terdiri dari 2 bagian. sebuah list linier dikenali dengan (1) elemen pertamanya, biasanya melalui alamat elemen pertama yang disebut (first); (2) Alamat elemen berikutnya (suksesor), jika kita mengetahui alamat sebuah elemen, yang dapat diakses melalui field next; (3) Setiap elemen mempunyai alamat, yaitu tempat elemen disimpan dapat diacu. Untuk mengacu sebuah elemen, alamat harus terdefinisi. Dengan alamat tersebut informasi yang tersimpan pada elemen list dapat diakses; (4) Elemen terakhirnya.

a.    Non-Linier
1)   Binary Tree (Pohon Biner)
Sebuah pohon biner (binary tree) adalah himpunan terbatas yang mungkin kosong atau terdiri dari sebuah simpul yang disebut sebagai akar dan dua buah himpunan lain yang disjoint yang merupakan pohon biner yang disebut sebagai sub pohon kiri (left) dan sub pohon kanan (right) dari pohon biner tersebut. Pohon biner merupakan tipe yang sangat penting dari struktur data dan banyak dijumpai dalam berbagai terapan. Karakteristik yang dimiliki oleh pohon biner adalah bahwa setiap simpul paling banyak hanya memiliki dua buah anak, dan mungkin tidak punya anak. Istilah-istilah yang digunakan sama dengan istilah pada pohon secara umum.

2)   Graph (Graf)

Graph merupakan struktur data yang paling umum. Jika struktur linier memungkinkan pendefinisian keterhubungan sekuensial antara entitas data, struktur data tree memungkinkan pendefinisian keterhubungan hirarkis, maka struktur graph memungkinkan pendefinisian keterhubungan tak terbatas antara entitas data. Banyak entitas-entitas data dalam masalah-masalah nyata secara alamiah memiliki keterhubungan langsung (adjacency) secara tak terbatas demikian. Contoh: informasi topologi dan jarak antar kota-kota di pulau Jawa. Dalam masalah ini kota X bisa berhubungan langsung dengan hanya satu atau lima kota lainnya. Untuk memeriksa keterhubungan dan jarak tidak langsung antara dua kota dapat diperoleh berdasarkan data keterhubungan-keterhubungan langsung dari kota-kota lainnya yang memperantarainya. Representasi data dengan struktur data linier ataupun hirarkis pada masalah ini masih bisa digunakan namun akan membutuhkan pencarian-pencarian yang kurang efisien. Struktur data graph secara eksplisit menyatakan keterhubungan ini sehingga pencariannya langsung (straightforward) dilakukan pada strukturnya sendiri.

* Algoritma adalah suatu strategi yang mengandalkan kemampuan berpikir secara logis untuk memecahkan suatu masalah.

--------------------------------------------------------------------------------------

Nah itu yah fyee perihal struktur datanya, dan ini ku kumpulkan dari berbagai referensi juga tentunya, hehehe. mohon maaf masih berantakan nih, wkwkwkw. yah maklum baru belajar juga 😁🙈
SEMOGA BERMANFAAT yah fyee 😍

--------------------------------------------------------------------------------------

Referensi :

Komentar

Postingan populer dari blog ini

PENGURUTAN (SORTING

Hallo fyee 😋 Kali ini aku mau bahas tentang materi Pengurutan (Sorting) nih. semoga bisa membantu yah buat kalian ------------------------------------------------------------------------------------------------------------------ Apa sih itu Pengurutan (Sorting) ? 😧 Pengurutan (Sorting) adalah proses untuk menyusun kumpulan data seragam dengan aturan urut menaik ataupun menurun. Terdapat banyak jenis metode pengurutan yang dapat digunakan dan memiliki kelebihan masing masing. Pengurutan sangat penting dalam Teknologi Informasi yang tak lepas dari pengolahan data. Pemecahan permasalahan pengolahan data dapat menjadi lebih efektif dan efisien bila data sudah dalam keadaan terurut. Seperti dalam proses pencarian data (searching), algoritma pencarian tingkat lanjut yang lebih efektif daripada cara konvensional seperti Binary Search ataupun Interpolation Search membutuhkan data yang sudah terurut. Contoh lain di mana data terurut dibutuhkan adalah dalam penggabungan data menggu

metode pengurutan data

1.       Selection Sort Algoritma sorting sederhana yang lain adalahSelection Sort. Ide dasarnya adalah melakukan beberapa kali pass untuk melakukan penyeleksianelemen struktur data. Untuk sorting ascending(menaik), elemen yang paling kecil di antara elemen – elemenyang belum urut, disimpan indeksnya, kemudian dilakukan pertukaran nilai elemen denganindeks yang disimpan tersebut dengan elemen yangpaling depan yang belum urut. Sebaliknya, untuksorting descending (menurun), elemen yang  paling. besar yang disimpan indeksnya kemudian ditukar. Algoritma selection sort dapat dirangkum sebagaiberikut: 1.)     Temukan nilai yang paling minimum (atau sesuaikeinginan) di dalam struktur data. Jika ascending, maka yang harus ditemukan adalah nilai yang paling minimum. Jika descending, maka temukan nilai yang paling maksimum. 2.)     Tukar nilai tersebut dengan nilai pada posisi pertama di bagian struktur data yang  belum diurutkan. 3.)     Ulangi langkah di atas untuk bagian struktur

TEXTURING DAN RENDERING

A. TEXTURING Dalam dunia visual, texturing adalah proses pemberian karakteristik permukaan pada objek. Maksud dari karakteristik adalah termasuk pewarnaan, kilauan, dan lainnya. Pada umumnya teksturing adalah pemberian warna pada permukaan objek atau pengecatan, walaupun ada proses yang mengubah geometri objek. Dalam software seperti 3DSMax dan Blender, untuk menambahkan tekstur pada objek, kita bisa menggunakan tools Map. Teknik teksturing adalah termasuk langkah terakhir dalam pendesaian 3D. Hal ini dikarenakan setelah langkah teksturing ini langkah selanjutnya hanyalah tinggal melakukan rendering jika ingin dijadi objek 2D. Untuk desain tekstur itu sendiri terdiri dari berbagai macam tipe. Secara default biasanya hanya disediakan tekstur sederhana seperti Wood, metal. Sedangkan untuk tekstur tingkat tinggi seperti tekur manusia kita bisa mendesainnya sendiri atau mendownload di website-website. Teksturing sangat penting dalam desain 3D atau animasi, karena denga