Rilis OpenBSD 5.1

OpenBSD 5.1 sudah bisa di download sejak hari ini, tanggal 2 Mei 2012. berita lengkap bisa di cek di http://openbsd.org/51.html

untuk download, dialamat ini http://ftp.openbsd.org/pub/OpenBSD/5.1/

Catatan khusus bagi user yang masih menggunakan OpenBSD PF versi 4.8 dan 4.9, yang akan mengupdrade ke OpenBSD PF versi 5.1, untuk membolehkan akses FTP dari user LAN dengan perintah “divert-to” menggantikan perintah “rdr-to” sebagai berikut:

pass in quick on $int_if inet proto tcp to port 21 divert-to 127.0.0.1 port 8021

selengkapnya ada di http://www.openbsd.org/faq/pf/ftp.html

Install Ulang atau Upgrade.
Saya memiliki cara pandang tersendiri tentang upgarade dan install ulang. Saya memilih untuk Install Ulang dalam selang 1 tahun, yaitu di Bulan Desember dengan rilis November. Adapun untuk rilis Mei, saya hanya melakukan update kernel dengan cara di http://muntaza.wordpress.com/2011/01/13/compile-kernel-openbsd-4-8-stable/

setelah muncul rilis November, solusi untuk upgrade dari versi genap (November) misal 4.6 ke versi 4.8, tidak disarankan dan tidak disupport oleh develover. Maka Install Ulang adalah solusinya. Catat semua konfigurasi pada server saat ini, back-up file yang dianggap penting, lalu INSTALL ULANG.

Adapun kalau saat ini server anda telah berada di versi 5.0, tidak masalah untuk melakukan UPGRADE ke versi 5.1, dan saya ucapkan selamat melakukan UPGRADE, he… he…

Bila server anda adalah versi 4.9 kebawah, INSTALL ULANG adalah solusinya, dan saya Ucapkan selamat melakukan INSTALL ULANG, he… he…

Konversi Angka Desimal, Binary, Octal, Hexadesimal dengan Python Programming

Bismillah,

Dibawah ini adalah source kode dalam bahasa Python untuk Konversi Angka ke Desimal, Binary, Octal dan Hexadesimal.

#!c:/Python32/python.exe

# Copyright 2012 @ Muhammad Muntaza bin Hatta
# Lisensi: GPL v3                             
# Program konversi Angka
# web: muntaza.wordpress.com                  
# email: muntaza@binhatta.com                 

print ("Program konversi Desimal, Binary, Octal, Hexadecimal")
print ("Angka Binary diawali 0b, Hexa diawali 0x, Oktal diawali 0o")
print ("Pilih [1] untuk Desimal ke Binary")
print ("Pilih [2] untuk Desimal ke Hexa")
print ("Pilih [3] untuk Desimal ke Octal")
print ("Pilih [4] untuk Binary ke Desimal")
print ("Pilih [5] untuk Binary ke Hexa")
print ("Pilih [6] untuk Binary ke Oktal")
print ("Pilih [7] untuk Hexa ke Binary")
print ("Pilih [8] untuk Hexa ke Desimal")
print ("Pilih [9] untuk Hexa ke Octal")
print ("Pilih [10] untuk octal ke Binary")
print ("Pilih [11] untuk octal ke Desimal")
print ("Pilih [12] untuk octal ke Hexa")

i = int(input("Masukkan pilihan anda: "))
if i == 1:
	x = int(input("masukkan angka Desimal: "))
	print (bin(x))
elif i == 2:
	x = int(input("masukkan angka Desimal: "))
	print (hex(x))
elif i == 3:
	x = int(input("masukkan angka Desimal: "))
	print (oct(x))
elif i == 4:
	x = int(input("masukkan angka Binary: "),2)
	print (x)
elif i == 5:
	x = int(input("masukkan angka Binary: "),2)
	print (hex(x))
elif i == 6:
	x = int(input("masukkan angka Binary: "),2)
	print (oct(x))
elif i == 7:
	x = int(input("masukkan angka Hexa: "),16)
	print (bin(x))
elif i == 8:
	x = int(input("masukkan angka Hexa: "),16)
	print (x)
elif i == 9:
	x = int(input("masukkan angka Hexa: "),16)
	print (oct(x))
elif i == 10:
	x = int(input("masukkan angka Octal: "),8)
	print (bin(x))
elif i == 11:
	x = int(input("masukkan angka Octal: "),8)
	print (x)
elif i == 12:
	x = int(input("masukkan angka Octal: "),8)
	print (hex(x))
else:
	print("Pilihan anda salah");

Dibawah ini screenshoot saat menjalankan program konversi:

Semoga Tulisan ini bermanfaat

Walhamdulillah. Semoga Allah Rabbuna Jalla Wa ‘Ala Memudahkan saya untuk tinggal di Banjarbaru

ditulis oleh: Al faqir ilaa maghfirati rabbihi Abu Husnul Khatimah Muhammad Muntaza bin Hatta

Mudah Belajar Sistem Digital dengan Programming Python

Bismillah,

Dibawah ini adalah Pengoperasian Operator Logika dengan Bahasa Python. Berikut daftar Operator Logika pada Python:
AND –> &
OR –> |
XOR –> ^
NOT –> not

Contoh Pengoperasian:
A AND B –> A & B
A OR B –> A | B
A XOR B –> A ^ B
NOT A –> not A

Dibawah ini contoh source kode python:
1. sd1.py:

#!c:/Python32/python.exe

# Copyright 2012 @ Muhammad Muntaza bin Hatta
# Lisensi: GPL v3                             
# Program dengan Operator LOGIKA
# web: muntaza.wordpress.com                  
# email: muntaza@binhatta.com                 

print ("A  \t| B  \t\t| A.B");
print ("=================================================================");

for i in range(2):
	if i == 0:
		A = False
	else:
		A = True
	for j in range(2):
		if j == 0:
			B = False
		else:
			B = True
		print (A, " \t|", B, "  \t| ", A & B);

1. sd2.py:

#!c:/Python32/python.exe

# Copyright 2012 @ Muhammad Muntaza bin Hatta
# Lisensi: GPL v3                             
# Program dengan Operator LOGIKA
# web: muntaza.wordpress.com                  
# email: muntaza@binhatta.com                 

print ("A  \t| B  \t\t| - A \t\t | - B");
print ("=================================================");

for i in range(2):
	if i == 0:
		A = False
	else:
		A = True
	for j in range(2):
		if j == 0:
			B = False
		else:
			B = True
		print (A, " \t|", B, " \t| ", not A, "  \t | ", not B);

3. sd3.py:

#!c:/Python32/python.exe

# Copyright 2012 @ Muhammad Muntaza bin Hatta
# Lisensi: GPL v3                             
# Program dengan Operator LOGIKA
# web: muntaza.wordpress.com                  
# email: muntaza@binhatta.com                 

print ("A  \t| B  \t\t| - A \t\t | - B \t\t| -A + -B");
print ("=================================================================");

for i in range(2):
	if i == 0:
		A = False
	else:
		A = True
	for j in range(2):
		if j == 0:
			B = False
		else:
			B = True
		print (A, " \t|", B, " \t| ", not A, "  \t | ", not B, "\t| ", (not A) | (not B));

4. sd4.py:

#!c:/Python32/python.exe

# Copyright 2012 @ Muhammad Muntaza bin Hatta
# Lisensi: GPL v3                             
# Program dengan Operator LOGIKA
# web: muntaza.wordpress.com                  
# email: muntaza@binhatta.com                 

print ("A  \t| B  \t\t| -(-A + -B)");
print ("=================================================================");

for i in range(2):
	if i == 0:
		A = False
	else:
		A = True
	for j in range(2):
		if j == 0:
			B = False
		else:
			B = True
		print (A, " \t|", B, "  \t| ", not ((not A) | (not B)));

screnshoot program setelah dijalankan:

5. sd5.py:


#!c:/Python32/python.exe

# Copyright 2012 @ Muhammad Muntaza bin Hatta
# Lisensi: GPL v3                             
# Program dengan Operator LOGIKA
# web: muntaza.wordpress.com                  
# email: muntaza@binhatta.com                 

print ("A  \t| B  \t\t| A XOR B");
print ("=================================================================");

for i in range(2):
	if i == 0:
		A = False
	else:
		A = True
	for j in range(2):
		if j == 0:
			B = False
		else:
			B = True
		print (A, " \t|", B, "  \t| ", A ^ B);

6. sd6.py:

#!c:/Python32/python.exe

# Copyright 2012 @ Muhammad Muntaza bin Hatta
# Lisensi: GPL v3                             
# Program dengan Operator LOGIKA
# web: muntaza.wordpress.com                  
# email: muntaza@binhatta.com                 

print ("A  \t| B  \t\t| C \t\t|\t (A XOR B) XOR C ");
print ("=================================================================");

for i in range(2):
	if i == 0:
		A = False
	else:
		A = True
	for j in range(2):
		if j == 0:
			B = False
		else:
			B = True
		for k in range(2):
			if k == 0:
				C = False
			else:
				C = True
			print (A, " \t|", B, "  \t| ", C, "   \t |"
			, (A ^ B) ^ C);

7. sd7.py:

#!c:/Python32/python.exe

# Copyright 2012 @ Muhammad Muntaza bin Hatta
# Lisensi: GPL v3                             
# Program dengan Operator LOGIKA
# web: muntaza.wordpress.com                  
# email: muntaza@binhatta.com                 

print ("A  \t| B  \t\t| C  \t\t|\t  D \t | (A & B) & (C & D) ");
print ("====================================================================");

for i in range(2):
	if i == 0:
		A = False
	else:
		A = True
	for j in range(2):
		if j == 0:
			B = False
		else:
			B = True
		for k in range(2):
			if k == 0:
				C = False
			else:
				C = True
			for l in range(2):
				if l == 0:
					D = False
				else:
					D = True
				print (A, " \t|", B, "  \t| ", C, "   \t |"
				, D, "   \t| ", (A & B) & (C & D));

Screenshoot dari program diatas:

Dari Contoh-contoh diatas, terlihat betapa mudahnya pengoperasian LOGIKA dengan Python. Namun harus diperhatikan urutan Operasinya dengan menggunakan tanda kurung, Misalnya:

(A AND B) OR (C XOR (NOT D))

Urutan Operasinya adalah:
1. A di AND kan dengan B (A AND B)
2. D di NOT kan (NOT D)
3. (NOT D) di XOR kan dengan C
4. (A AND B) di OR kan dengan (C XOR (NOT D))

Bila diterjemahkan kedalam Python menjadi:
(A & B) | (C ^ (not D))

Semoga Tulisan ini bermanfaat

Walhamdulillah. Semoga Allah Rabbuna Jalla Wa ‘Ala Memudahkan saya untuk tinggal di Banjarbaru

ditulis oleh: Al faqir ilaa maghfirati rabbihi Abu Husnul Khatimah Muhammad Muntaza bin Hatta

Mudah Belajar Kalkulus dengan Programming Bahasa C

Bismillah

ini adalah program dalam Bahasa C yang di tujukan untuk mencari turunan dari suatu fungsi dan anti turunannya. Berikut ini source dari program untuk mencari turunan

/* Copyright 2012 @ Muhammad Muntaza bin Hatta *
 * Lisensi: GPL v3                             *
 * Program mencari Turunan suatu Fungsi        *
 * web: muntaza.wordpress.com                  *
 * email: muntaza@binhatta.com                 */


#include <stdio.h>

int main() {
        float k, n;
        printf("Program untuk menghitung Turunan Fungsi f(x) => f\'(x)\n");
        printf("Masukkan konstanta: ");
        scanf("%f", &k);
        printf("Masukkan pangkat: ");
        scanf("%f", &n);

        printf("f(x) = %.2f x^%.2f\n", k, n);
        printf("f\'(x) = %.2f . %.2f x^(%.2f - 1)\n", k, n, n);
        printf("f\'(x) = %.2f x^%.2f\n", k * n, n - 1);
}

Dibawah ini adalah source code untuk mencari anti turunan suatu fungsi

/* Copyright 2012 @ Muhammad Muntaza bin Hatta *
 * Lisensi: GPL v3                             *
 * Program mencari Anti Turunan suatu Fungsi   *
 * web: muntaza.wordpress.com                  *
 * email: muntaza@binhatta.com                 */


#include <stdio.h>

int main() {
        float k, n;
        printf("Program untuk menghitung Anti Turunan f\'(x) => f(x)\n");
        printf("Masukkan konstanta: ");
        scanf("%f", &k);
        printf("Masukkan pangkat: ");
        scanf("%f", &n);

        printf("f\'(x) = %.2f x^%.2f\n", k, n);
        printf("f(x) = ((%.2f / (%.2f + 1)) . (x^(%.2f + 1))) + C \n", k, n, n);
        printf("f(x) = ((%.2f / (%.2f)) . (x^%.2f))  + C\n", k, n + 1, n + 1);
        printf("f(x) = (%.2f . (x^%.2f)) + C  \n", k / (n + 1), n + 1);
}

Pada kedua program ini, konstanta Harus di isi, bila fungsi itu adalah f(x)=X^3, berarti konstantanya bernilai 1.

Berikut ini screenshoot dari program yang dijalankan:

Walhamdulillah. Semoga Allah Rabbuna Jalla Wa ‘Ala Memudahkan saya untuk tinggal di Banjarbaru

ditulis oleh: Al faqir ilaa maghfirati rabbihi Abu Husnul Khatimah Muhammad Muntaza bin Hatta

Minix 3 dengan Qemu diatas Slackware 13.37

Bismillah

Setelah sebelumnya saya menulis tentang Minix 2, saat ini saya ingin menulis tentang proses instalasi Minix 3 dengan Mesin Virtual Qemu. langkah pertama adalah mendownload iso minix 3, dalam hal ini saya memilih versi 3.1.8, karena masih cukup sederhana, dibanding minix 3.2.0 yang baru rilis.

1. download iso minix 3.1.8

bash-4.1$ wget -c http://www.minix3.org/iso/minix3_1_8_ide_r8165.iso.bz2
.........

2. extrack file bz2

bash-4.1$ ls
minix3_1_8_ide_r8165.iso.bz2
bash-4.1$ bunzip2 minix3_1_8_ide_r8165.iso.bz2 
bash-4.1$ ls
minix3_1_8_ide_r8165.iso

3. buat hardisk virtual ukuran 500M

bash-4.1$ qemu-img create -f qcow2 minix3_1_8.hd 500M       
Formatting 'minix3_1_8.hd', fmt=qcow2 size=524288000 encryption=off cluster_size=65536 

keterangan perintah:
qemu-img create (untuk membuat image hardirsk)
-f qcow2 (type image hardisk)
minix3_1_8.hd (nama file hardisk yang dibuat)
500M (ukuran file virtual hardisk 500 MB)

4. jalankan qemu untuk menginstall minix 3

bash-4.1$ qemu-system-i386 -m 128 -cdrom minix3_1_8_ide_r8165.iso -boot d -monitor stdio minix3_1_8.hd 

QEMU 1.0,1 monitor - type 'help' for more information
(qemu)

keterangan:
-m 128 (memory untuk mesin virtual 128 MB)
-cdrom minix3_1_8_ide_r8165.iso (cdrom menggunakan file iso ini)
-boot d (urutan pertama booting pada cdrom)
-monitor stdio (tampilkan command line dari qemu)
minix3_1_8.hd (nama file virtual hardisk tempat minix akan di install)

berikut ini gambar screen shoot dari minix 3.1.8 yang ada di tempat saya.

untuk login, ketik root pada username, lalu tekan enter (tanpa password). hasil setelah login, seperti gambar diatas.

selanjutnya, proses instalasi minix 3. ketik “setup” untuk memulai instalasi. silakan baca setiap pertanyaan dengan seksama, dan biasanya cuma tekan “enter” beberapa kali, kecuali ada pilihan “yes” atau “no” maka harus mengetik “yes” untuk melanjutkan. Tekan pula “Y” ketika diminta.

setelah proses instalasi selesai, ketik “halt” lalu ketik “q” pada command line qemu untuk keluar dari qemu. contohnya:

QEMU 1.0,1 monitor - type 'help' for more information
(qemu) q
bash-4.1$ 

Baik. saat ini telah diluar qemu. kita jalankan qemu langsung dengan virtual hardisk yang telah terinstall minix 3.1.8 tadi.

bash-4.1$ qemu-system-i386 -monitor stdio minix3_1_8.hd 
QEMU 1.0,1 monitor - type 'help' for more information
(qemu) 

tampilan screen shoot seletah di install ke hardisk

selesai. Walhamdulillah. Semoga Allah Rabbuna Jalla Wa ‘Ala Memudahkan saya untuk tinggal di Banjarbaru

ditulis oleh: Al faqir ilaa maghfirati rabbihi Abu Husnul Khatimah Muhammad Muntaza bin Hatta

daftar pustaka:
http://www.minix3.org/ (diakses tanggal 22 maret 2012)
http://minix1.woodhull.com/ (diakses tanggal 22 maret 2012)

Minix 2 dengan Qemu

Bismillah

Tulisan ini berkenaan dengan keinginan saya untuk belajar Operating System, dan belajar C prograamming, yang mana compiler C yaitu cc terdapat pada minix. Walaupun C compiler minix tersebut sangat sederhana, tapi sudah cukup untuk belajar dasar Bahasa C.

Baik, diawali dengan Instalasi Qemu pada Slackware 13.37 yang saya gunakan. Saya menginstall Qemu dengan scrip yang terdapat di http://slackbuilds.org karena sangat memudahkan dalam proses install dan uninstall dimasa yang akan datang.

Halaman download qemu di slackbuilds ada di http://slackbuilds.org/repository/13.37/system/qemu/

langkah-langkah instalasi qemu secara ringkas dari download source, compile sampai instalasi

bash-4.1$ mkdir virtual
bash-4.1$ cd virtual/
bash-4.1$ wget -c http://slackbuilds.org/slackbuilds/13.37/system/qemu.tar.gz
.................

bash-4.1$
bash-4.1$ tar -xzvf qemu.tar.gz 
qemu/
qemu/qemu.SlackBuild
qemu/README
qemu/qemu.info
qemu/slack-desc

bash-4.1$ cd qemu
bash-4.1$ wget -c http://wiki.qemu.org/download/qemu-1.0.1.tar.gz
...................


bash-4.1$ ls
README  qemu-1.0.1.tar.gz  qemu.SlackBuild  qemu.info  slack-desc
bash-4.1$ sudo sh qemu.SlackBuild
.......................
.......................

bash-4.1$
bash-4.1$ sudo /sbin/installpkg /tmp/qemu-1.0.1-i486-1_SBo.tgz

keterangan:
wget adalah alat untuk mendowload
sudo sh qemu.SlackBuild (compile source qemu)
sudo /sbin/installpkg /tmp/qemu-1.0.1-i486-1_SBo.tgz (install paket qemu)

Alhamdulillah qemu telah terinstall, saatnya mendowload minix2. Halaman yang berkaitan dengan minix2 ini ada di http://minix1.woodhull.com/ dan untuk qemu, telah tersedia image nya dari halaman http://minix1.woodhull.com/pub/demos-2.0/ lalu halaman http://oslab.hpclab.ceid.upatras.gr/software.php
dari situlah saya mendownload minix2 dengan langkah-langkah sebagai berikut:

bash-4.1$ cd
bash-4.1$ cd virtual/
bash-4.1$ ls
qemu  qemu.tar.gz
bash-4.1$ wget -c http://oslab.hpclab.ceid.upatras.gr/files/2006/Minix_over_QEMU.tar
....................

bash-4.1$ ls
Minix_over_QEMU.tar  qemu  qemu.tar.gz
bash-4.1$ du -h Minix_over_QEMU.tar 
4.9M    Minix_over_QEMU.tar
bash-4.1$ tar -xf Minix_over_QEMU.tar 
bash-4.1$ ls
Minix_over_QEMU.run  Minix_over_QEMU.tar  qemu  qemu.tar.gz
bash-4.1$ sh Minix_over_QEMU.run 
.....................
.....................(yes) yes

bash-4.1$ qemu-system-i386 -version
QEMU emulator version 1.0,1, Copyright (c) 2003-2008 Fabrice Bellard
bash-4.1$ ls
Minix_over_QEMU  Minix_over_QEMU.run  Minix_over_QEMU.tar  qemu  qemu.tar.gz
bash-4.1$ qemu-system-i386 -monitor stdio Minix_over_QEMU/virtual_disk/hda.img

keterangan:
wget mendownload Minix_over_QEMU.tar
tar mengextrak Minix_over_QEMU.tar
sh Minix_over_QEMU.run (mengeksekusi Minix_over_QEMU.run, mengetik ‘yes’ tanda setuju lisensi)
qemu-system-i386 -monitor stdio Minix_over_QEMU/virtual_disk/hda.img (menjalankan qemu)

berikut ini gambar screenshoot dari minix diatas qemu.

selesai. Walhamdulillah. Semoga Allah Rabbuna Jalla Wa ‘Ala Memudahkan saya untuk tinggal di Banjarbaru

ditulis oleh: Al faqir ilaa maghfirati rabbihi Abu Husnul Khatimah Muhammad Muntaza bin Hatta

Perkalian matriks dengan Pascal

Bismillah,

Dibawah ini adalah program untuk melakukan operasi pada matriks. Semoga bermanfaat

Perkalian 2 buah matriks menggunakan bahasa Pascal


program perkalian_matriks;
uses crt;
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;
	m	: array[1..2] of integer;
	
	i, j, x, y, k, l	: integer;

begin
	clrscr;
	for k := 1 to 2 do begin
		write('Banyak baris matriks ke-', k, ' : ');
		readln(m[k]);
		write('Banyak kolom matriks ke-', k, ' : ');
		readln(n[k]);
	end;
	if (n[1] <> m[2]) then 
		writeln('Tidak bisa dikalikan!')
	else begin
		writeln('Matriks pertama : ');
		y := 6;
		for i := 1 to m[1] do begin
			x := 8;
			for j := 1 to n[1] do begin
				gotoxy(x,y);
				readln(M1[i,j]);
				x := x + 8;
			end;
			y := y + 1;
		end;

		writeln('Matriks kedua : ');
		y := y + 1;
		for i := 1 to m[2] do begin
			x := 8;
			for j := 1 to n[2] do begin
				gotoxy(x,y);
				readln(M2[i,j]);
				x := x + 8;
			end;
			y := y + 1;
		end;
	
		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;
					M3[i,j] := M3[i,j] + (M1[i,l] * M2[l,j]);
					gotoxy(x,y);
					write(M1[i,l], ' . ',  M2[l,j]);
					if l < n[1] then begin
						write(' + ');
					end;
					x := x + 12;
				end;
				x := x + 15;
			end;
			y := y + 1;
		end;


		y := y + 1;
		for i := 1 to m[1] do begin
			x := 2;
			for j := 1 to n[2] do begin
				for l := 1 to n[1] do begin;
					gotoxy(x,y);
					write(M1[i,l] * M2[l,j]);
					if l < n[1] then begin
						write(' + ');
					end;
					x := x + 12;
				end;
				x := x + 15;
			end;
			y := y + 1;
		end;

		writeln;
		writeln('Perkalian Matriks : ');
		for i := 1 to m[1] do begin
			for j := 1 to n[2] do
				write(M3[i,j]:8);
			writeln;
		end;
	end;
readln;
end.

perkalian matriks dengan skalar menggunakan bahasa pascal

program perkalian_matriks_dg_skalar;
uses crt;
var
	M1	: array[1..20, 1..20] of integer;
	M2	: array[1..20, 1..20] of integer;
	
	i, j, m, n, x, y, s	: integer;

begin
	clrscr;
	write('Banyak baris : ');
	readln(m);
	write('Banyak kolom : ');
	readln(n);

	writeln('Matriks : ');
	y := 4;
	for i := 1 to m do begin
		x := 8;
		for j := 1 to n do begin
			gotoxy(x,y);
			readln(M1[i,j]);
			x := x + 8;
		end;
		y := y + 1;
	end;

	write('Skalar : ');
	readln(s);

	writeln('Proses perkalian dengan skalar');
	y := 6 + m;
	for i := 1 to m do begin
		x := 8;
		for j := 1 to n do begin
			M2[i,j] := s * M1[i,j];
			gotoxy(x,y);
			write(s, ' . ',  M1[i,j]);
			x := x + 15;
		end;
		y := y + 1;
	end;

	writeln;
	writeln('Penjumlahan Matriks : ');
	for i := 1 to m do begin
		for j := 1 to n do
			write(M2[i,j]:8);
		writeln;
	end;
readln;
end.

Penjumlahan 2 buah matriks dengan bahasa pascal

program penjumlahan_matriks2;
uses crt;
var
	M1	: array[1..20, 1..20] of integer;
	M2	: array[1..20, 1..20] of integer;
	M3	: array[1..20, 1..20] of integer;
	
	i, j, m, n, x, y	: integer;

begin
	clrscr;
	write('Banyak baris : ');
	readln(m);
	write('Banyak kolom : ');
	readln(n);

	writeln('Matriks pertama : ');
	y := 4;
	for i := 1 to m do begin
		x := 8;
		for j := 1 to n do begin
			gotoxy(x,y);
			readln(M1[i,j]);
			x := x + 8;
		end;
		y := y + 1;
	end;

	writeln('Matriks kedua : ');
	y := 5 + m;
	for i := 1 to m do begin
		x := 8;
		for j := 1 to n do begin
			gotoxy(x,y);
			readln(M2[i,j]);
			x := x + 8;
		end;
		y := y + 1;
	end;

	writeln('Proses penjumlahan');
	y := 6 + (2 * m);
	for i := 1 to m do begin
		x := 8;
		for j := 1 to n do begin
			M3[i,j] := M1[i,j] + M2[i,j];
			gotoxy(x,y);
			write(M1[i,j], ' + ',  M2[i,j]);
			x := x + 15;
		end;
		y := y + 1;
	end;

	writeln;
	writeln('Penjumlahan Matriks : ');
	for i := 1 to m do begin
		for j := 1 to n do
			write(M3[i,j]:8);
		writeln;
	end;
readln;
end.

Pengurangan 2 buah matriks dengan bahasa pascal

program pengurangan_matriks2;
uses crt;
var
	M1	: array[1..20, 1..20] of integer;
	M2	: array[1..20, 1..20] of integer;
	M3	: array[1..20, 1..20] of integer;
	
	i, j, m, n, x, y	: integer;

begin
	clrscr;
	write('Banyak baris : ');
	readln(m);
	write('Banyak kolom : ');
	readln(n);

	writeln('Matriks pertama : ');
	y := 4;
	for i := 1 to m do begin
		x := 8;
		for j := 1 to n do begin
			gotoxy(x,y);
			readln(M1[i,j]);
			x := x + 8;
		end;
		y := y + 1;
	end;

	writeln('Matriks kedua : ');
	y := 5 + m;
	for i := 1 to m do begin
		x := 8;
		for j := 1 to n do begin
			gotoxy(x,y);
			readln(M2[i,j]);
			x := x + 8;
		end;
		y := y + 1;
	end;

	writeln('Proses pengurangan');
	y := 6 + (2 * m);
	for i := 1 to m do begin
		x := 8;
		for j := 1 to n do begin
			M3[i,j] := M1[i,j] - M2[i,j];
			gotoxy(x,y);
			write(M1[i,j], ' - ',  M2[i,j]);
			x := x + 15;
		end;
		y := y + 1;
	end;

	writeln;
	writeln('Pengurangan Matriks : ');
	for i := 1 to m do begin
		for j := 1 to n do
			write(M3[i,j]:8);
		writeln;
	end;
readln;
end.

Daftar Pustaka:
Utami, Ema, Dan kawan-kawan. 2007. Struktur Data Konsep & Implementasinya dalam Bahasa C & Free Pascal di GNU/LINUX. Jogjakarta: Graha Ilmu.

Salim, Yeffriansjah. 2011. Modul Praktek Pemprograman Pascal. Banjarmasin: STMIK Indonesia Banjarmasin