Pengertian Struktur Data
Struktur
data adalah cara menyimpan atau merepresentasikan data didalam komputer
agar bisa dipakai secara efisien. 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 type data dapat dikategorikan menjadi:
Type data sederhana.
Non Linier : Pohon Biner dan Graph
Pemakaian struktur data yang tepat didalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih efisien dan sederhana.
Struktur data yang standar yang biasanya digunakan dibidang informatika adalah:
* List linier (Linked List) dan variasinya
* Multilist
* Stack (Tumpukan)
* Queue (Antrian)
* Tree ( Pohon)
* Graph ( Graf )
REVIEW RECORD (REKAMAN)
Disusun oleh satu atau lebih field. Tiap field menyimpan data dari tipe dasar tertentu atau dari tipe bentukan lain yang sudah didefinisikan sebelumnya. Nama rekaman ditentukan oleh pemrogram.
Rekaman disebut juga tipe terstruktur.
Secara garis besar type data dapat dikategorikan menjadi:
Type data sederhana.
- Type data sederhana tunggal, misalnya Integer, real, boolean dan karakter.
- Type data sederhana majemuk, misalnyaString
- Struktur data sederhana, misalnya array dan record.
- Struktur data majemuk, yang terdiri dari:
Non Linier : Pohon Biner dan Graph
Pemakaian struktur data yang tepat didalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih efisien dan sederhana.
Struktur data yang standar yang biasanya digunakan dibidang informatika adalah:
* List linier (Linked List) dan variasinya
* Multilist
* Stack (Tumpukan)
* Queue (Antrian)
* Tree ( Pohon)
* Graph ( Graf )
REVIEW RECORD (REKAMAN)
Disusun oleh satu atau lebih field. Tiap field menyimpan data dari tipe dasar tertentu atau dari tipe bentukan lain yang sudah didefinisikan sebelumnya. Nama rekaman ditentukan oleh pemrogram.
Rekaman disebut juga tipe terstruktur.
Kata Kunci
struktur data, Pengertian struktur data, struktur data adalah, definisi struktur data, yhs-mystartdefault, pengertian struktur, manfaat struktur data, arti struktur data, makalah struktur data, apa itu struktur data.- LatarBelakang Matriksadalahstruktur data denganmemoriinternal.Strukturinipraktisuntukdi pakaimemakanmemory !(Matriks integer 100 x 100 memakan 10000 xtempatpenyimpanan integer). Seringdikatakanbahwamatriksadalahtabelatau array berdimensi 2.Tetapipatut di perhatikan,bahwapengertian “dimensi 2”, “barisdankolom”adalahdalampemikirankita.Pengaturanletakelemenmatriksdalammemorikomputerselalutetapsebagaideretansel “linier”.Pengertian 2dimensiinihanyauntukmempermudahpemrogramandalammendesainprogramnya.Makamatriksadalahsalahsatucontohstruktur data “lojik”.Contoh :untukmatriks 3 x 4 sebagaiberikut : 1 2 3 4 5 6 7 8 9 10 11 12Dapatdisimpansecara linier dankontigudenganduaalternatifsebagaiberikut :a. Perbaris1 2 3 4 5 6 7 8 9 10 11 12b. Perkolom1 5 9 2 6 10 3 7 11 4 8 12
- 5. Banyaknyabarisdanbanyaknyakolombiasanyadisebutsebagaiukuranmatriks.Contoh : matriksberukuran 4 x 5 mempunyaibarissebanyak 4 dam kolomsebanyak5,sehingga dapatmenyimpan 20 elemen.Adabeberapabahasapemrograman yangmemintaukuranmatrikspadapendefinisian,ada yang memintapenomoran minimumdanmaksimumdaribarisdankolom.Padanotasialgoritmik yang kitapakai,carakeduayang akan di pakai,sebabukuranmatriksdapat di dedukasidaripenomoran. Matriksadalahstruktur data yang statik,yaituukuranmaksimummemorinyaditentukandariawal.Batasindeksbarisdankolomharusterdefinisidenganpastisaatdideklarasikandantakdapat di ubah-ubah.Seringkalidalampersoalansemacamini,kitamemesan memory secara “berlebihan” untukalasanterjaminnya memory yangtersedia,danhanyamemakaisebagiansaja.Biasanyamemori yang di pakai(selanjutnyasisebutefektif) adalah yang “kiriatas”sepertiilustrasisebagaiberikut,dimanapadasaatdeklarasi,memorimaksimum yang disediakanadalah 10 x 10,dan hanyaakan di pakaiuntuk 3 x 4.B. Tujuan1. Untukdapatmengetahuicaramendeklarasikansuatu program matriks.2. Supayadapatmengetahuicarameng-analogkandenganrumusoperasimatriks.3. Untukdapatmengetahuicaramenjalankan program dalamoperasimatriks.4. Untukdapatmengetahuicaramendeklarasikanmatriks di dalamteksalgoritmayang ditulis di dalambagiandeklarasi.5. Dapatmembuatsuatu program Matriksdenganberbagaioperasihitung.6. SebagaisalahsatuTugasMandiriStruktur Data PadaUniversitasPuteraBatam.PendeklarasianmatriksSebelummatriksdigunakanuntukmenyimpan data,terlebihdahulumatriksharusdideklarasikan.Mendeklarasikanmatriksartinyamenentukannamamatriks, tipedatanyadanukuranmatriks. Pendeklarasianmatriks didalamteksalgoritma di tulis di
- 6. dalambagiandeklarasi.Pendeklarasianmatriksitudapatmemudahkanmembuatsuatuprogram dengancarapendeklarasianmatrikstersebut. BAB II PEMBAHASANA. DefinisiMatriks Matriks atau array dua dimensi adalah struktur data yang mengacu pada sebuah/sekumpulan elemen yang di akses.Berbeda dengan larik,maka pada matriks index terdiri dari dua bagina yaitu index baris dan index kolom.Setiap elemen matriks dapat di akses melalui indeknya,misalanya mengisi elemen matriks yang baris ke 2 dan kolom ke 1 dengan nilai 100,maka cara mengisinya adalah A(2,1) 100.Contoh matriks bernama A dengan ukuran 2 x 3 (yang memiliki indeks baris 2 dan indeks kolom 3) :ElemenMatriks : A[1,1], A[1,2], A[1,3], A[2,1], A[2,2], A[2,3]IndeksbarisdariMatriksA : 1, 2IndekskolomdariMatriks : 1, 2, 3MengisielemenMatriks : A[2,1] 100Keuntunganstruktur data matriks : 1. Paling mudah di operasikan 2. Ekonomis dalam pemakaian memory,bila semua elemen terisi 3. Akses ke setiap elemen memerlukan waktu yang samaKerugiannya :
- 7. 1. Memboroskan tempat jika banyak elemen yang tidak digunakan.B. Kamus Data Matriks Sebelum elemen Matriks dapat di pergunakan,perlu didefinisikan dahulu pada kamus data sebagai berikut : Keterangan : Elemen matriks harus memiliki tipe data yang sama atau sejenis (homogen),seperti integer,real,char,string,boolean,record.Artinya matriks tersebut di definisikan sebagai integer maka nilai yang boleh masuk ke dalam elemen matriks harus bertipe integer. Indeks matriks harus memiliki tipe data yang menyatakan keterurutan,seperti integer dan karakter.C. PemrosesanMatriks Ada beberapapemrosesan yang dapat dilakukanterhadapmatriks.Algoritma yang palingmudahuntukmelakukanpemrosesanyaitudenganmenggunakan For-to-do,denganalasanbahwaelemenmatriksmemilikiindeks yang terurut.Pemrosesanmatriksdapat di lakukandenganduacarayaitu : Matriks di proses baris demi baris (Row Ordering) Matriks di proses kolom demi kolom (Column Ordering)
- 8. Berikutsalahsatupemrosesanmatriks :Matriks Di Proses Kolom Demi KolomPadakeduaalgoritmatersebutmemilkipola yang sama,untukpemrosesanberis demibaris “for baris” lebihdahulu di ikuti “for kolom”,sedangkanpadakolom demikolomkebalikannya.Prosesmatriksbisa di gantidengan proses lainnyamisal : Mengisi elemen matriks dengan 0 (insialisasi) Mengisi elemen matriks dari piranti masukan Mencetak elemen matriks ke piranti keluaranProses Matriksdapat di modifikasi,sebagaiberikut : Menjumlahkan nilai pada setiap baris Membuat rata-rata pada setiap baris atau setiap kolom Mencari nilai tertentu pada matriks Menjumlahkan/mengurangkan dua buah matriks Mengalikan dua bua matriks
- 9. Beberapacontohpemrosesanmatriks1. MenginisialisasiMatriks2. MengalikanduabuahmatriksProgram perkalianduamatriks{MatriksA[M,P],B[P,N] danhasilperkaliandisimpanpadamatriks C [M,N]}
- 10. 3. Menjumlahkanduabuahmatriks :D. MatriksJarang (Sparse Matrix) Matriksjarangadalahmatriks yang elemennyabanyakbernilai 0 (nol) .Seperti dijelaskan diatas,penyimpananelemenmatriksmenjadiborosjikabanyakelemenmatriks yangbernilaikosong,salahsatusolusinyaadalahpenyimpananmatrikstersebut dikonversimenjadisebuahlarik.Berikutbeberapacontohmatriksjarangantara lain : Matriks segitiga (elemen yang bernilai / bukan 0,membentuk segitiga) Matriks tridiagonal (elemen yang bernilai / bukan 0,membentuk tridiagonal Matriks diagonal (elemen yang bernilai / bukan 0,membentuk diagonal)Contohmatriksjarang – segitigadenganukuran 3 x 3 (9elemenmatriksjarangmenjadi 6 elemenlarik) 1 1 0 0 2 3 2 3 0 4 4 5 6 5 6
- 11. Jumlahelemenmatrikssegitiga (yang bukannol) :1 + 2 + 3 = ½ n (n + 1)Yaitupadabaris 1 = 1 elemenPadabaris 2 =2 elemenPadabaris 3 = 3 elemenLokasipadaarray :L= baris( baris – 1) + kolom 2Contohmatrikstridiagonaldenganukuran 4 x 4 : 1 2 3 . . . 10Program ubahmatrikssegitigajadi array{Matriks A adalahmatriksjarangberbentuksegitigadenganukuran M x M,karenabanyakelemenbernilai 0,maka nilaiakan di simpandalam array S}
- 12. E. PengalamatanMatriksPenyimpananelemenmatriks di dalammemorikomputer di susunberurutan(samasepertilarik),sehinggakomputertidakperlumenentukansetiapelemenmatrikstetapicukupmenyimpanalamatawal /pertamanya.Adaduacarapengalamatan /penyimpananelemenmatriks di dalamkomputer,yaitu : Roe major order ( disimpan baris demi baris) Coloumn major order ( disimpan kolom demi kolom )ContohmatrikssegitigaA denganukuran 2 x 3 :A[1,1] A[1,2] A[1,3]A[2,1] A[2,2] A[3,3]Urutanlokasipenyimpananmatriks A dalamkomputeradalah : A [1,1], A [1,2], A [1,3], A [2,1], A [2,2], A [2,3] . . . . . . jika row major A [1,1], A [2,1], A [1,2], A [2,2], A [2,2[, A [2,3]. . . . . . jika coloumn majorUntuklebihjelasnyaperhatikanilustrasipenyimpanan di dalamkomputersecara :Berikutinicaramenentukanlokasi / alamatelemenMatriksdenganindekstertentu : Mencari lokasi memori pada Row-major order Lokasi (A[B,K] = Base (A) + W [N ( B-1) + (K-1)] Mencari memory pada coloumn-major order Lokasi (A [B,K] = Base (A) + W [ M (K-1) + (J-1)]
- 13. Base (a) : lokasi awal di memori (alamat A[1,2]) W : jumlah word / byte untuk menyimpan satu elemen M : jumlah baris pada matriks A N : jumlah baris pada kolom matriks AAda cara lainuntukmenentukanlokasisebuahelemenmatriks,bilarumustersebutsukaruntu diingat.Perhatikancontohberikut :X [1,1] = 400Lebar (W = width) : 1 elemen = 4 byteMakaalamatsetiapelemenjikapengalamatandengan ROW MAJOR adalah :No. 1 2 3 4 5 61 400 404 408 412 416 4202 424 428 ... . Alamatelemenp3 448 ertama4 ....5678 Berapa alamat X [3,5] ? Jawabnya adalah 400 + (16*4) = 400 + 64 = 464.Angka 16 didapat dari jumlah loncatan dari X [1,1] ke X[3,5] Berapa alamat X [8,6] ? Jawabnya adalah 400 + (47 * 4) = 400 + 188 = 588.Angka 47 didapat dari jumlah loncatan dari X[1,1] ke X[8,6]X [1,1] = 400Lebar (W = Width) : 1 elemen = 4 byteMakaalamatsetiapelemenjikapengalamatandengan COLUMN MAJOR adalah :
- 14. No. 1 2 3 4 5 61 400 432 464 .... .... ....2 404 428 ... . Alamatelemenp3 408 .... ertama4 4125 4166 4207 4248 428 Berapa alamat X [3,5] ? Jawabnya adalah 400 + (34*4) = 400 + 136 =536.Angka 34 di dapat dari jumlah loncatan dari X [1,1] ke X [3,5] Berapa alamat X [8,6] ? Jawabnya adalah 400 + (47 *4) = 400 + 188 = 588.Angka 47 didapat dari jumlah loncatan dari X [1,1] ke X [8,6]F. Program Matriks Buatlah program dengan ketentuan di bawah ini : 1. Progam untuk perkalian 2 (dua) Matriks. 2. Program untuk menampilkan Matriks :1. Program perkalian 2 (dua) Matriks : program perkalian_2_matriks; useswincrt; var M1 : array[1..20, 1..20] of longint; M2 : array[1..20, 1..20] of longint; M3 : array[1..20, 1..20] of longint; n : array[1..2] of integer;
- 15. Lanjutan Program . . . writeln(Proses perkalian); y := y + 1; for i := 1 to m[1] do begin x := 2; for j := 1 to n[2] do begin M3[i,j] := 0; for l := 1 to n[1] do begin;
- 16. Hasil Output Program di atas :
- 17. 2. Program untukmenampilkanMatriks : programMenampilkan_Angka_Matriks; useswincrt; var kolom_1,kolom_2,kolom_3,kolom_4,kolom_5:array[1..10]of integer; n,i:integer; baca_t : char; begin gotoxy(25,2);writeln( PROGRAM MATRIKS TAMPILAN);
Tidak ada komentar:
Posting Komentar