Makalah Matriks dalam Struktur Data
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
17,777
On Slideshare
17,777
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
407
Comments
3
Likes
7

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. TUGAS MANDIRI MATRIKS Mata Kuliah: Struktur DataNamaMahasiswa : Parningotan PanggabeanNPM : 110210225Fakultas : Teknik InformatikaKode Kelas : 112-IF211-M1Dosen : Heryenzus, S.Kom UNIVERSITAS PUTERA BATAM 2012
  • 2. KATA PENGANTAR PujisyukurkehadiratTuhan YangMahaEsaatasberkatrahmatNYA.SayabisamenyusundanmenyelesaikanmakalahyangberisitentangMatriks.PenulisjugamengucapkanterimakasihkepadaBapakHeryenzus, S.KomselakudosenmatakuliahStruktur Data di UniversitasPuteraBatam yangtelahmemberikanbimbingannyadanmemberikanmaterikepadapenulissehinggapenulisbisamenyusunmakalahinidengansebaik-baiknya..Taklupapenulismengucapkanterimakasihkepadaberbagaipihak yangtelahmemberikandorongandanmotivasidalampembuatanmakalahini. Penulismenyadaribahwadalampenyusunanmakalahinimasihterdapatbanyakkekurangandanjauhdarikesempurnaan.Olehkarenaitu,penulismengharapkankritikserta saran yangmembangungunamenyempurnakanmakalahinidandapatmenjadiacuandalammenyusunmakalah-makalahatautugas-tugasselanjutnya. Penulisjugamemohonmaafapabiladalampenulisanmakalahiniterdapatkesalahanpengetikandankekeliruansehinggamembingungkanpembacadalammemahamimaksudpenulis.Akhir kata penulismengucapkanTerimaKasih. Batam,Juni 2012 Penulis
  • 3. DAFTAR ISIKATA PENGANTAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iDAFTAR ISI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iiBAB I PENDAHULUAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 A. Latar Belakang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 B. Tujuan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2BAB II PEMBAHASAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 A. Definisi Matriks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 B. Kamus Data Matriks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 C. Pemrosesan Matriks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 D. Matriks Jarang (Sparse Matrix) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 E. Pengalamatan Matriks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 F. Program Matriks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11BAB III PENUTUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 A. Kesimpulan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 B. Saran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17DAFTAR PUSTAKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
  • 4. BAB I PENDAHULUAN MATRIKSA. 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);
  • 18. Hasil Output Program di atas :
  • 19. BAB III
  • 20. PENUTUPA. Kesimpulan 1. DenganmemahamiDefinisiMatriksmaka,Mahasiswaakanlebihmudahmembu atsuatu program Matriks. 2. Denganadanyakamus Data Matriks di atas,makakitaakanlebihmudahmemahamilogika-logika yang di pakaidalam program Matriks. 3. Berdasarkanmateri-materi di atas,makakitadapatmembuat program perkalian 2 (dua) Matriks.B. SaranBerdasarkan simpulan maka saran yang dapat disampaikan adalah sebagaiberikut: 1. Mahasiswa perlu mempelajari dan memahami algoritma pemrograman tentangMatriks. 2. Cara belajar algoritma Matriks akan lebih efektif dan efisien jika banyak latihan dan praktek. 3. Mahasiswa harus teliti dalam membuat suatu Program Matriksdanbisamenampilkan Output program sesuaidengan yang kitainginkan. 4. Harapan penulis semoga makalah ini dapat bermanfaat bagi para pembaca dan pengguna makalah. Kurang lebihnya apabila ada kesalahan dan kekurangan dalam pembahasan makalah ini penulis mohon maaf. Akhir kata penulis ucapkan terima kasih.
  • 21. DAFTAR PUSTAKAZakaria,teddymarcus,penerbit : informatika (2006),Konsepdaninplementasistruktur data.SumberLain :www.google.co.idwww.wikipedia.com