31
LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN MODUL V ARRAYDisusun Oleh : LABORATORIUM COMMON COMPUTING JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO MADURA 2012 TGL. PRAKTIKUM : 06 November 2012 NAMA : Gabriel Juan Evangeli NRP : 120411100102 KELOMPOK : D1 DOSEN : Arik Kurniawati TELAH DISETUJUI TANGGAL : ........................................... ASISTEN PRAKTIKUM SHOHIB (1004111000101)

LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

  • Upload
    others

  • View
    30

  • Download
    0

Embed Size (px)

Citation preview

Page 1: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

LAPORAN RESMI

PRAKTIKUM ALGORITMA PEMROGRAMAN

MODUL V

“ARRAY”

Disusun Oleh :

LABORATORIUM COMMON COMPUTING

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS TRUNOJOYO MADURA

2012

TGL. PRAKTIKUM : 06 November 2012

NAMA : Gabriel Juan Evangeli NRP : 120411100102

KELOMPOK : D1

DOSEN : Arik Kurniawati

TELAH DISETUJUI TANGGAL : ...........................................

ASISTEN PRAKTIKUM

SHOHIB (1004111000101)

Page 2: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

BAB I

PENDAHULUAN

1.1 Latar Belakang

Mengatasi masalah ketika kita menemukan permasalaahn yang

membtutuhkan sejumlah data yang harus disimpan tetapi memiliki tipe

yang sama, berdasarkan modul – modul sebelumnya bahwa pemrograman

tersebut sangat tidak efektif. Misalkan apabila kita ingin menyimpan

sejumlah 100 data yang bertipe sama dan kita perlu menyimpan sementara,

untuk kemudian dipanggil sewaktu – waktu dan setelah itu digunakan

untuk diproses di algoritma selanjutnya, maka tidak mungkin kita akan

menggunakan 100 buah peubah yang sama.

Untuk itu dalam modul ini akan dibahas mengenai, pemrograman

yang berstruktur array. Array menrupakan pemrograman yang berguna

untuk menyimpan beberapa data yang bertipe sama, disimpan sementara,

dan kita dapat memanggil nilai tersebut untuk kemudian diproses pada

algoritma selanjutnya. Dengan menggunakan array, praktikan dapat

mengetahui fungsi dan keguunaan array untuk memudahkan dan

mempersingkat ketika coding program.

1.2 Tujuan

Tujuan mahasiswa mengikuti praktikum Algortima Pemrograman Modul

IV ini adalah :

1. Mengetahui dan mampu menerapkan pemrograman arrray yang

ada dalam algoritma. Salah satunya yang berjalan dalam pascal.

2. Mengetahui dan mampu menerapkan beberapa teknik

pemrograman array yang digunakan untuk menyimpan nilai

3. Mengetahui teknik kerja yang berbeda dari beberapa struktur

pemrograman array satu dimensi dengan array dua dimensi.

4. Mengetahui dan mampu menerapkan perbedaan penggunaan array

satu dimensi (larik) dan array dua dimensi (matriks).

5. Mengetahui manfaat penggunaan larik maupun matriks.

Page 3: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

BAB II

DASAR TEORI

2.1 Teori

Larik adalah tipe terstruktur yang terdiri dari sejumlah elemen – elemen yang

bertipe sama. Banyaknya elemen dalam suatu larik ditunjukkan oleh suatu

indeks yang harus merupakan tipe data yang menyatakan keterurutan,

misalnya integer atau karakter (karena ia menyatakan posisi data). Tiap – tiap

elemen di larik dapat diakses langsung melalui indeksnya. Suatu larik

memiliki jumlah elemen yang jumlahnya tetap, sehingga jumlah elemen larik

tidak dapat diubah selama pelaksanaan program.

Gambar 5.1. memperlihatkan struktur deklarasi Larik di dalam Bahasa Pascal.

Gambar 5.1. Struktur Deklarasi Bahasa Pascal Untuk Larik

Cara mengacu elemen larik : NamaLarik[indeks]

Larik dapat berupa larik satu dimensi ataupun lebih dari satu dimensi. Matriks

merupakan contoh larik yang memiliki dimensi lebih dari satu. Struktur

penyimpanan matriks di dalam memori utama yang setiap individu elemennya

diakses dengan menggunakan dua buah indeks (yang biasanya dikonotasikan

dengan baris dan kolom). Karena matriks sebenarnya adalah larik, konsep

umum dari larik juga berlaku untuk matriks, yaitu:

Kumpulan elemen yang bertipe sama dapat berupa tipe dasar ( integer,

real,boolean,char, dan string), atau tipe terstruktur seperti record.

Setiap elemen data dapat diakses secara langsung jika indeksnya

(baris dan kolom ) diketahui.

(* DEKLARASI *)

var

NamaLarik : array[1..JumlahElemen] of TipeElemen;

Page 4: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

Merupakan struktu data yang statik, artinya jumlah elemennya sudah

dideklarasikan terlebih dahulu di dalam bagian DEKLARASI dan

tidak bisa diubah selama pelaksanaan program

Elemen matriks diakses melalui indeks baris dan indeks kolomnya, Jika indeks

baris dinyatakan dengan i dan indeks kolom dinyatakan dengan j, maka notasi

algoritmik untuk mangakses elemen pada baris i dan kolom j adalah

nama_matriks[i,j]

Page 5: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

BAB III

TUGAS PENDAHULUAN

Kerjakan tugas – tugas di bawah ini sebelum praktikum dimulai.

1. Sebutkan dan jelaskan keuntungan – keuntungan penggunaan larik dan

matriks!

Jawab:

Keuntungan penggunaan larik dan matriks

Menghemat penggunaan banyak variable

Menghindari penggunaan variable yang banyak

Lebih praktis menggunakan larik dan matriks bila dibandingkan

dengan menggunakan program tanpa larik maupun matriks

Struktur yang lebih praktis,dengan pengaksesan cepat karena

langsung mengakses melalui indeksnnya

2. Kapankah sebaiknya larik dan matriks digunakan Jelaskan!

Jawab:

Kapan penggunaan larik dan matriks

Larik

o Larik digunakan bila sejumlah data yang banyak bertipe

sama

o Menyimpan sejumlah data yang besar tersebut kemudian

mengolahnya

o Data yang telah disimpan dapat diakses bila kita

memerlukannya untuk diproses

Matriks:Penggunaan yang sama dengan larik karena matrik

merupakan konsep yang berasal dari larik

Page 6: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

o Kumpulan elemen yang bertipe sama.

o Setiap elemen yang kita butuhkan untuk diakses langsung

melalui indeks baris dan kolom , kemudian diproses seuai

kebutuhan kita.

o Struktur yang praktis dan bersifat statis, yang setiap

anggotanya dideklarasikan terlebih dahulu, sebelum

program diolah.

3. Buat algoritma untuk nilai min, kuartil bawah, kuartil tengah, kuartil atas da n

nilai max dari sejumlah bilangan bulat yang dimasukkan melalui piranti

masukkan.

Contoh :

Jumlah bilangan yang dimasukkan: 11

Bilangan ke-1: 75

Bilangan ke-2: 60

Bilangan ke-3: 70

Bilangan ke-4: 55

Bilangan ke-5: 85

Bilangan ke-6: 65

Bilangan ke-7: 80

Bilangan ke-8: 90

Bilangan ke-9: 50

Bilangan ke-10: 95

Bilangan ke-11: 100

Nilai Min :50

Kuartil Bawah :60

Kuartil Tengah:75

Kuartil Atas :90

Nilai Max :100

Page 7: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

Jawab:

Algoritma, Coding, Running

Algoritma:

program kuartilminmak {mencari nilai min, kuartil bawah, tengah dan

atas, serta nilai maks }

DEKLARASI

type int : array [1..100] of real {tipe bentukan untuk menentukan

sejumlah larik}

procedure diurutkan(output x,y : real) {untuk mengurutkan / pengurutan

}

DEKLARASI

simpan : real

DESKRIPSI

simpan ← x

x ← y

y ←simpan

procedure tampung(output x:int input n: integer) {menampung sejumlah

data}

DEKLARASI

i,j : integer

DESKRIPSI

for i←1 to n-1 do {menampung sejumlah data}

for j←1 to n-i do

if x[j] > x[j+1] then

diurutkan(x[j],x[j+1])

Page 8: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

procedure ganjil(output x:int input n: integer) {bila data yang dicari

nilai min, kuartil(bawah,tengah,atas), max),mak merupakan data

ganjil}

DEKLARASI

q1,q2,q3:integer

DESKRIPSI

q1 ←(n+1) div 4

q2 ←(n+1) div 2

q3 ←(3*(n+1)) div 4

write('Kuartil bawah : ',x[q1]:2:2)

writeln

write('Kuartil tengah : ',x[q2]:2:2)

writeln

write('Kuartil atas : ',x[q3]:2:2)

writeln

procedure genap(output x:int input n: integer) {bila data yang dicari

nilai min, kuartil(bawah,tengah,atas), max),mak merupakan data

genap}

DEKLARASI

q1,q2,q3:integer

median:real

DESKRIPSI

q1 ←(n+2) div 4

q2←n div 2

median ←((x[q2])+(x[q2+1])) / 2

q3 ←(3*n+2) div 4

write('Kuartil bawah : ',x[q1]:2:2)

writeln

write('Kuartil tengah : ',median:2:2)

writeln

write('Kuartil atas : ',x[q3]:2:2)

Page 9: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

writeln

{PROGRAM UTAMA}

DEKLARASI

n,i : integer

data : int

DESKRIPSI

write('Jumlah bilangan yang dimasukkan : ')

readln(n)

for i←1 to n do

begin

write('Bilangan ke-',i,' = ')

readln(data[i])

endfor

tampung(data,n){memanggil upa program pengurutan }

writeln

write('Nilai Min =', data[1]:0:0)

writeln

if n mod 2 = 1 then ganjil(data,n)

else genap(data,n)

writeln ('Nilai Max =',data[n]:0:0)

Coding:

program kuartilminmak;

uses wincrt;

type

int = array [1..100] of real;

procedure diurutkan(var x,y : real);

var simpan : real;

begin

Page 10: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

simpan := x;

x := y;

y := simpan;

end;

procedure tampung(var x:int ; n: integer);

var i,j : integer;

begin

for i:=1 to n-1 do

for j:=1 to n- i do

if x[j] > x[j+1] then

diurutkan(x[j],x[j+1]);

end;

procedure ganjil(var x:int ; n: integer);

var q1,q2,q3:integer;

begin

q1 :=(n+1) div 4;

q2 :=(n+1) div 2;

q3 :=(3*(n+1)) div 4;

write('Kuartil bawah : ',x[q1]:2:2);

writeln;

write('Kuartil tengah : ',x[q2]:2:2);

writeln;

write('Kuartil atas : ',x[q3]:2:2);

writeln;

end;

procedure genap(var x:int ; n: integer);

var q1,q2,q3:integer;

median:real;

begin

Page 11: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

q1 :=(n+2) div 4;

q2 :=n div 2;

median:= ((x[q2])+(x[q2+1])) / 2;

q3 :=(3*n+2) div 4;

write('Kuartil bawah : ',x[q1]:2:2);

writeln;

write('Kuartil tengah : ',median:2:2);

writeln;

write('Kuartil atas : ',x[q3]:2:2);

writeln;

end;

var

n,i : integer;data : int;

begin

write('Jumlah bilangan yang dimasukkan : ');

readln(n);

for i:= 1 to n do

begin

write('Bilangan ke-',i,' : ');

readln(data[i]);

end;

tampung(data,n);

writeln;

write('Nilai Min :', data[1]:0:0);

writeln;

if n mod 2 = 1 then ganjil(data,n)

else genap(data,n);

writeln ('Nilai Max :',data[n]:0:0);

Page 12: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

end.

Running:

4. Buat algoritma untuk menghitung hasil perkalian antara dua buah matriks.

Masukkan :nilai – nilai dalam dua buah matriks

Keluaran :hasil perkalian dua buah matriks

Jawab : Algoritma , Coding, Running

Algoritma:

program perkalian2Matriks {MENGALIKAN 2 BUAH MATRIKS}

DEKLARASI

type

z: array [1..50,1..50] of integer

DEKLARASI

a,b,c : z

i,j,k,x,y,p : integer

DESKRIPSI

Page 13: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

writeln('Ordo matrik A') {mengisi ukuran matriks A}

write('Baris : ') readln(x)

write('Kolom : ') readln(y)

writeln

writeln

writeln('Ukuran matrix B') {mengisi ukuran matriks B}

writeln('Baris : ',y)

write('Kolom : ') readln(p)

for i←1 to x do

for j←1 to y do

write('Anggota A[',i,',',j,'] : ') {mengisi ANGGOTA matriks A}

readln(a[i,j])

endfor

writeln

for i←1 to y do

for j←1 to x do

begin

write('Anggota B[',i,',',j,'] : ') {mengisi ANGGOTA matriks A}

readln(b[i,j])

endfor

for i←1 to x do {cara mengalikan Matriks A dengan Matriks B}

for j←1 to p do

for k←1 to y do

c[i,j] ← c[i,j] + a[i,k]*b[k,j];

writeln

writeln

writeln('Hasil perkalian Matriks A dengan Matriks B = ')

Writeln

for i←1 to x do { Hasil perkalian Matriks A dengan Matriks B }

begin

for j←1 to p do

write(c[i,j],' ');

Page 14: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

writeln

endfor

writeln

Coding:

program perkalian2Matriks;

uses wincrt;

type

z= array [1..50,1..50] of integer;

var

a,b,c : z;

i,j,k,x,y,p : integer;

begin

writeln('Ordo matrik A');

write('Baris : '); readln(x);

write('Kolom : '); readln(y);

writeln;

writeln;

writeln('Ukuran matrix B');

writeln('Baris : ',y);

write('Kolom : '); readln(p);

clrscr;

for i:=1 to x do

for j:=1 to y do

begin

write('Anggota A[',i,',',j,'] : ');

readln(a[i,j]);

end;

writeln;

for i:=1 to y do

for j:=1 to p do

begin

Page 15: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

write('Anggota B[',i,',',j,'] : ');

readln(b[i,j]);

end;

for i:=1 to x do

for j:=1 to p do

for k:=1 to y do

c[i,j] := c[i,j] + a[i,k]*b[k,j];

writeln;

writeln;

writeln('Hasil perkalian Matriks A dengan Matriks B = ');

Writeln;

for i:=1 to x do

begin

for j:=1 to p do

write(c[i,j],' ');

writeln;

end;

writeln;

end.

Running:

Page 16: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common
Page 17: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

BAB IV

IMPLEMENTASI

4.1 Kegiatan Praktikum

1. Buat program untuk tugas prepraktikum 3!

Jawaban :

Coding :

program kuartilminmak;

type

int = array [1..100] of real;

procedure diurutkan(var x,y : real);

var simpan : real;

begin

simpan := x;

x := y;

y := simpan;

end;

procedure tampung(var x:int ; n: integer);

var i,j : integer;

begin

for i:=1 to n-1 do

for j:=1 to n- i do

if x[j] > x[j+1] then

diurutkan(x[j],x[j+1]);

end;

procedure ganjil(var x:int ; n: integer);

var q1,q2,q3:integer;

begin

q1 :=(n+1) div 4;

q2 :=(n+1) div 2;

Page 18: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

q3 :=(3*(n+1)) div 4;

write('Kuartil bawah : ',x[q1]:2:2);

writeln;

write('Kuartil tengah : ',x[q2]:2:2);

writeln;

write('Kuartil atas : ',x[q3]:2:2);

writeln;

end;

procedure genap(var x:int ; n: integer);

var q1,q2,q3:integer;

median:real;

begin

q1 :=(n+2) div 4;

q2 :=n div 2;

median:= ((x[q2])+(x[q2+1])) / 2;

q3 :=(3*n+2) div 4;

write('Kuartil bawah : ',x[q1]:2:2);

writeln;

write('Kuartil tengah : ',median:2:2);

writeln;

write('Kuartil atas : ',x[q3]:2:2);

writeln;

end;

var

n,i : integer;data : int;

begin

write('Jumlah bilangan yang dimasukkan : ');

readln(n);

Page 19: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

for i:= 1 to n do

begin

write('Bilangan ke-',i,' : ');

readln(data[i]);

end;

tampung(data,n);

writeln;

write('Nilai Min :', data[1]:0:0);

writeln;

if n mod 2 = 1 then ganjil(data,n)

else genap(data,n);

writeln ('Nilai Max :',data[n]:0:0);

end.

Running :

Page 20: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

2. Buat program untuk tugas prepratikum no.4!

Jawaban :

Coding :

program perkalian2Matriks;

uses wincrt;

type

z= array [1..50,1..50] of integer;

var

a,b,c : z;

i,j,k,x,y,p : integer;

begin

writeln('Ordo matrik A');

write('Baris : '); readln(x);

write('Kolom : '); readln(y);

writeln;

writeln;

writeln('Ukuran matrix B');

writeln('Baris : ',y);

write('Kolom : '); readln(p);

clrscr;

for i:=1 to x do

Page 21: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

for j:=1 to y do

begin

write('Anggota A[',i,',',j,'] : ');

readln(a[i,j]);

end;

writeln;

for i:=1 to y do

for j:=1 to p do

begin

write('Anggota B[',i,',',j,'] : ');

readln(b[i,j]);

end;

for i:=1 to x do

for j:=1 to p do

for k:=1 to y do

c[i,j] := c[i,j] + a[i,k]*b[k,j];

writeln;

writeln;

writeln('Hasil perkalian Matriks A dengan Matriks B = ');

Writeln;

for i:=1 to x do

begin

for j:=1 to p do

write(c[i,j],' ');

writeln;

end;

writeln;

end.

Running:

Page 22: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

4.2 Tugas Akhir

Buatlah algoritma dan terjemahkan dalam Bahasa Pascal untuk operasi

invers matriks ordo N!

Jawaban :

Algoritma:

program inversmatriks

type matriks←array [1..50,1..50] of real

DEKLARASI

n,i,j,b,l: integer

a:matriks

DESKRIPSI

writeln ('Program Pencarian Invers Matriks Menggunakan Matriks

Identitas')

writeln ('Masukkan ordo matrik (N x N)')

write ('N : ') readln (n)

for i←1 to n do

write ('Masukkan elemen matriks baris ke-',i)

Page 23: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

for j←1 to n do

write ('Matriks m(',i,',',j,') = ') readln (a[i,j])

endfor

endfor

for i←1 to n do

write ('Elemen matriks yang dimasukkan baris ke-',i)

for j←1 to n do

write ('Matriks m(',i,',',j,')= ',a[i,j]:0:0,' ')

endfor

for j←n+1 to n+n do

i←j-n

a[i,j]←1

endfor

for j←n+1 to n+n do

begin

if (i<>j-n) then a[i,j]:=0

endfor

for i←1 to n do

for j:=1 to n+n do

if i<>j then a[i,j]:=a[i,j]/a[i,i];

endif

for j:=1 to n+n do

if i=j then a[i,i]←1;

endif

for l←1 to n do

if i<>l then

for j←i+1 to n+n do

a[l,j]←a[l,j]-(a[i,j]*a[l,i]);

endfor

endif

endfor

for b←1 to n do

Page 24: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

if i<>b then

a[b,i]←0

endif

endfor

endfor

writeln

writeln('Maka invers dari matrik adalah :')

for i←1 to n do

begin

for j←n+1 to n+n do

write (' m(',i,',',i,') ',a[i,j]:0:2)

endfor

endfor

Coding :

program inversmatriks;

type matriks=array [1..50,1..50] of real;

var

n,i,j,b,l: integer;

a:matriks;

begin

writeln ('Program Pencarian Invers Matriks Menggunakan Matriks

Identitas');

writeln;

writeln ('Masukkan ordo matrik (N x N)');

write ('N : '); readln (n);

writeln;

for i:=1 to n do

begin

write ('Masukkan elemen matriks baris ke-',i);

Page 25: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

writeln;

writeln;

for j:=1 to n do

begin

write ('Matriks m(',i,',',j,') = '); readln (a[i,j]);

end;

end;

writeln;

for i:=1 to n do

begin

write ('Elemen matriks yang dimasukkan baris ke-',i);

writeln;

writeln;

for j:=1 to n do

write ('Matriks m(',i,',',j,')= ',a[i,j]:0:0,' ');

writeln;

end;

for j:=n+1 to n+n do

begin

i:=j-n;

a[i,j]:=1;

end;

for j:=n+1 to n+n do

begin

if (i<>j-n) then a[i,j]:=0;

end;

for i:=1 to n do

begin

Page 26: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

for j:=1 to n+n do

begin

if i<>j then a[i,j]:=a[i,j]/a[i,i];

end;

for j:=1 to n+n do

begin

if i=j then a[i,i]:=1;

end;

for l:=1 to n do

begin

if i<>l then

begin

for j:=i+1 to n+n do

begin

a[l,j]:=a[l,j]-(a[i,j]*a[l,i]);

end;

end;

end;

for b:=1 to n do

begin

if i<>b then

begin

a[b,i]:=0;

end;

end;

end;

writeln;

writeln('Maka invers dari matrik adalah :');

for i:=1 to n do

Page 27: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

begin

for j:=n+1 to n+n do

write (' m(',i,',',i,') ',a[i,j]:0:2);

writeln;

end;

end.

Running :

4.3 Tugas Tambahan

Buatlah algoritma dan terjemahkan dalam Bahasa Pascal untuk operasi

transpose matriks ordo N!

Algoritma:

program matriks_transpose

type matriktranspose = array [1..10,1..10] of integer;

DEKLARASI

n,m,i,j: integer

Page 28: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

a:matriktranspose

writeln ('Program Pencarian TRANSPOSE Matriks ')

writeln ('Masukkan ordo matrik (baris ).') readln (n)

writeln ('Masukkan ordo matrik (kolom ).') readln (m)

for i←1 to n do

for j←1 to m do

write ('masukkan elemen matrik a(',i,',',j,') : ')readln (a[i,j])

endfor

endfor

writeln('MATRIKS ASAL')

for i←1 to n do

for j←1 to m do

write(a[i,j])

endfor

endfor

writeln('MATRIKS TRANPOSENYA')

for i←1 to m do

for j←1 to n do

write (a[j,i])

endfor

endfor

Coding :

program matriks_transpose;

type matriktranspose = array [1..10,1..10] of integer;

var

n,m,i,j: integer;

a:matriktranspose;

begin

writeln ('Program Pencarian TRANSPOSE Matriks ');

writeln;

writeln ('Masukkan ordo matrik (baris ).'); readln (n);

Page 29: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

writeln ('Masukkan ordo matrik (kolom ).'); readln (m);

for i:=1 to n do

begin

for j:=1 to m do

begin

write ('masukkan elemen matrik a(',i,',',j,') : ');readln (a[i,j]);

end;

end;

writeln;

writeln('MATRIKS ASAL');

for i:=1 to n do

begin

for j:=1 to m do

begin

write(a[i,j]);

end;

writeln;

end;

writeln;

writeln('MATRIKS TRANPOSENYA');

for i:=1 to m do

begin

for j:=1 to n do

begin

write (a[j,i]);

end;

writeln;

end;

end.

Page 30: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

Running :

Page 31: LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN … · 2014. 10. 12. · laporan resmi praktikum algoritma pemrograman modul v “array” disusun oleh : nrp shohib laboratorium common

BAB V

PENUTUP

5.1 Kesimpulan

Dari materi dan implementasi diatas dapat disimpulkan bahwa

pemrograman menggunakan larik ataupun matriks sangat berguna untuk

pemrograman yang memiliki sejumlah data yang bertipe sama, tetapi kita

perlu menyimpannya, untuk selanjutnya diproses. Selama pelaksanaan

program , larik maupun matriks tetap menyimpan nilai. Dengan ini, kita

dapat menggunakan larik dan matriks yang telah menyimpan nilai

tersebut, sewaktu –waktu yang artinya kita dapat memproses nilai – nilai

tersebut pada bagian algoritma selanjutnya. Keuntungan menggunakan

larik ataupun matriks adalah bahwa larik ataupun matriks, kita dapat

menggunakan larik atupun matriks untuk menghindari penggunaan nama

peubah yang banyak.

5.2 Saran

Untuk mas Shohib selaku Asisten Praktikum, untuk tetap menambah

durasi praktikum.