fork(4) download
  1. Program Matrix
  2.  
  3. CONST N<--100;
  4.  
  5. (-------------DEFINISI MATRIKS---------------)
  6. TYPE Matrix : <array [1..N][1..N] of integer>
  7.  
  8. {-------------DEFINISI METHOD---------------------)
  9.  
  10. #Operasi Relasional
  11. Function isSejenis(Input a,b : Matrix) --> boolean
  12. {Apakah 2 matrix tersebut sejenis, digunakan dalam penjumlahan dan pengurangan matrix}
  13.  
  14. Function isDikali(input a,b : Matrix) --> boolean
  15. {Apakah 2 matrix tersebut sudah sesuai pada aturan perkalian}
  16.  
  17. #Operasi Aritmatika
  18. Procedure penjumlahan(Input a,b : Matrix,Output c:Matrix)
  19. {menjumlahkan 2 buah matrix, dan mengembalikan 1 variabel yang telah dijumlahkan }
  20.  
  21. Procedure pengurangan(Input a,b : Matrix,Output c:Matrix)
  22. {menjumlahkan 2 buah matrix, dan mengembalikan 1 variabel yang telah dikurangi }
  23.  
  24. Procedure perkalian(Input a,b : Matrix, Output c :Matrix)
  25. {Mengalikan 2 buah matrix yang diinput, dan mengembalikan hasilnya}
  26.  
  27. #Operasi Lain terhadap Type
  28.  
  29. Function lengthKolom(Input a,b : Matrix)-->integer,integer;
  30. {menghitung panjang kolom dari sebuah array matriks}
  31.  
  32. Function lengthBaris(Input a,b : Matrix)-->integer,integer;
  33. {menghitung panjang baris dari sebuah array matriks}
  34.  
  35. Procedure search(Input a : integer, Output i:integer)
  36. {mencari suatu bilangan dalam matriks bilangan, dan mengembalikan hasilnya dalam bentuk indeks array matriks}
  37.  
  38. #Operasi I/O
  39. Procedure init(Input/Output a,b :Matrix)
  40. {menginisialisasi baris,kolom sebuah matriks)
  41.  
  42. Kamus
  43. a,b : Matrix;
  44. i,j,Pil : integer;
  45.  
  46. Algoritma
  47.  
  48. output("Selamat datang di program ADT Kami ");
  49. output("1.Penjumlahan Matriks");
  50. output("2.Perkalian Matriks");
  51. output("3.Refleksi Matriks");
  52. output("4.Pengurangan Matriks");
  53. output("5.Exit");
  54.  
  55. output("Silahkan memasukkan Pilihan : ");input(Pil);
  56. case pil of
  57. 1 : init(a,b);
  58. penjumlahan(a,b);
  59. 2 : init(a,b);
  60. perkalian(a,b);
  61. 3 : init(a,b);
  62. penjumlahan(a,b);
  63. 4 : init(a,b);
  64. pengurangan(a,b);
  65. 5 : output("Terimakasih");
  66.  
  67. End.
  68.  
  69. Procedure init (Input/Output a,b : Matrix)
  70. Kamus
  71. i,j,b,k : integer;
  72. Algoritma
  73. Begin
  74. for i<--1 to N do
  75. for j<--1 to N do
  76. begin
  77. a[i][j] <-- 0;b[i][j]<--0;
  78. end
  79.  
  80. //replacing zero value
  81. input(b);input(k);
  82. for i<--1 to baris do
  83. for j<--1 to kolom do
  84. {
  85. input(a[i][j]);
  86. }
  87. input(b);input(k);
  88. for i<--1 to baris do
  89. for j<--1 to kolom do
  90. {
  91. input(b[i][j]);
  92. }
  93. End
  94.  
  95. Function lengthKolom(Input a : Matrix)--> integer
  96. Kamus
  97. i,j : integer;
  98. Algoritma
  99. Begin
  100. while (((a[i][j]) or (b[i][j]))<>0) //asumsi array matriks tidak ada input bilangan 0
  101. begin
  102. lengthKolom <-- lengthKolom+1;
  103. i<--i+1;
  104. j<--j+1;
  105. end
  106.  
  107. return lengthKolom;
  108. End
  109.  
  110. Function lengthBaris(Input a : Matrix)--> integer
  111. Kamus
  112. i,j : integer;
  113. Algoritma
  114. while (((a[i][j]) or (b[i][j]))<>0) //asumsi array matriks tidak ada input bilangan 0
  115. begin
  116. lengthBaris <-- lengthBaris+1;
  117. i<--i+1;
  118. j<--j+1;
  119. end
  120.  
  121. return lengthKolom;
  122. End
  123.  
  124. Procedure penjumlahan (Input a : Matrix,Output c : Matrix)
  125. Kamus
  126. i,j : integer;
  127. Algoritma
  128. if isSejenis then
  129. begin
  130. for i<--1 to lengthBaris(a) do
  131. for j<--1 to lengthKolom(a) do
  132. begin
  133. c[i][j]<--a[i][j]+b[i][j];
  134. end
  135. end
  136. else
  137. output("Matriks tidak sejenis");
  138. End
  139.  
  140. Procedure pengurangan (Input a : Matrix,Output c : Matrix)
  141. Kamus
  142. i,j : integer;
  143. Algoritma
  144. if isSejenis then
  145. begin
  146. for i<--1 to lengthBaris(a) do
  147. for j<--1 to lengthKolom(a) do
  148. begin
  149. c[i][j]<--a[i][j]-b[i][j];
  150. end
  151. end
  152. else
  153. output("Matriks tidak sejenis");
  154. End
  155.  
  156. Procedure search(Input a :integer,m:Matrix, Output b : integer)
  157. Kamus
  158. i,j : integer;
  159. flag : boolean;
  160. Algoritma
  161. flag <-- false;
  162. for i:<--1 to lengthBaris(m) do
  163. for j:<--1 to lengthKolom(m) do
  164. begin
  165. if (a<--m[i][j] then
  166. flag <-- true
  167. else
  168. flag <-- false;
  169. end
  170. End
  171.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.c:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Matrix’
prog.c:5: error: expected identifier or ‘(’ before ‘--’ token
prog.c:6:23: error: too many decimal points in number
prog.c:6:29: error: too many decimal points in number
prog.c:10:2: error: invalid preprocessing directive #Operasi
prog.c:17:2: error: invalid preprocessing directive #Operasi
prog.c:27:2: error: invalid preprocessing directive #Operasi
prog.c:38:2: error: invalid preprocessing directive #Operasi
stdout
Standard output is empty