0% menganggap dokumen ini bermanfaat (0 suara)
228 tayangan

Array Dengan Pascal

Laporan ini membahas program dasar pemrograman menggunakan bahasa Pascal dengan fokus pada analisis dan pembahasan beberapa program yang menggunakan array, matriks, prosedur dan operasi aritmatika matriks. Program-program tersebut meliputi pengolahan data, operasi penjumlahan dan pengurangan matriks, serta transpose matriks.

Diunggah oleh

akasantana
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
228 tayangan

Array Dengan Pascal

Laporan ini membahas program dasar pemrograman menggunakan bahasa Pascal dengan fokus pada analisis dan pembahasan beberapa program yang menggunakan array, matriks, prosedur dan operasi aritmatika matriks. Program-program tersebut meliputi pengolahan data, operasi penjumlahan dan pengurangan matriks, serta transpose matriks.

Diunggah oleh

akasantana
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 21

LAPORAN PEMROGRAMAN DASAR MENGULANG

PROGRAM, ANALISA DAN PEMBAHASAN BEBERAPA PROGRAM PASCAL

DI SUSUN :

NAMA NIM KELAS

: Husaen Al Fatah : M3110077 : TIB 2010

I.

PENDAHULUAN
Seringkali dalam pemrograman diperlukan suatu cara untuk dapat menyimpan banyak nilai sekaligus untuk dapat digunakan atau ditampilkan lagi. Nilai tersebut dapat berupa nilai yang dibangkitkan dalam program, atau nilai yang dimasukkan oleh pengguna. Diperlukan metode untuk menyiapkan sejumlah tempat kosong dalam memori komputer yang hanya akan dipakai untuk menyimpan nilai tersebut selama program berjalan, dan nilai tersebut dapat digunakan lagi sewaktu-waktu. Pascal menyediakan kemampuan ini dengan menggunakan kata cadangan array. Array adalah tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe yang sama. Komponen-komponen ini disebut dengan component type atau base type. Suatuarray memiliki jumlah komponen yang banyaknya tetap. Komponen dapat menggunakan tipe data apa saja. Banyaknya komponen dalam suatuarray ditunjukkan oleh suatu indeks yang disebut dengan index type dan harus bertipe ordinal. Tiap komponen array diakses dengan mereferensikan index value. Tipe suatu array haruslah berupa tipe sederhana, tidak boleh bertipe kompleks. Bila nilainilai dari elemen array dibatasi nilainya dalam suatu jangkauan range tertentu, maka dapat dideklarasikan dengan tipe arrayberbentuk subrange. Sedangkan bilai nilai-nilai elemen array dibatasi dengan nilai-nilai tertentu yang tidak dapat ditulis dalam suatu range, tetapi dapat ditentukan secara berurutan, maka dapat digunakan arraytipe skalar.

II.

DASAR TEORI
Array
Definisi Array adalah koleksi data yang tipenya sama, tersusun dalam bentuk barisan linier berurutan (sequence) dan jumlah elemen atau datanya tidak berubah (statis) sesuai dengan deklarasi awal. Semua elemen array diidentifikasi dengan sebuah nama (nama array) dan untuk setiap elemennya diidentifikasi/dibedakan dengan sebuah index. Deklarasi Bentuk umum deklarasi array adalah: type tipe_array = array [range_index] of ipe_data; var var_array : tipe_array; (1.1) Atau dapat langsung dituliskan sebagai berikut: var var_array = array [range_index] of tipe_data; (1.1)

var_array adalah nama variabel array yang dipakai untuk mengidentifikasi array. Pemilihan nama variabel array mengikuti aturan pemberian nama variabel secara umum. Range_index adalah batasan index yang digunakan untuk mengidentifikasi elemen array. Range_index menentukan jumlah elemen array, yang jumlahnya tidak akan berubah (statis) mulai saat awal disediakan (program dijalankan) hingga program selesai dijalankan. Misalnya range 0..9 atau 1..10 atau 1..8 atau A..J akan menentukan jumlah elemen array sebanyak 10 buah. Setiap elemen array diidentifikasi oleh salah satu index yang berada dalam range yang telah ditentukan. Penggunaan index yang berada di luar range Index akan mengakibatkan kesalah, Index ini tidak harus berupa bilangan positif, tetapi harus berupa bilangan bulat atau data-data yang masuk kategori tipe data ordinal (seluruh tipe data dasar selain real dan double), seperti semua varian integer, char, boolean atau tipe data enumerasi yang dibuat sendiri oleh user. Tipe_data adalah tipe data untuk elemen array. Tipe data elemen array tidak harus berupa integer, atau tipe data dasar yang lain, tetapi dapat berupa tipe data terstruktur seperti array.

Matriks
Definisi Matriks adalah struktur penyimpanan data di dalam memori utama yang setiap individu elemennya diacu dengan menggunakan dua buah indeks (yang biasanya dikonotasikan dengan baris dan kolom). Sebagaimana halnya pada larik, pada modul ini kita menggambarkan matriks sebagai kumpulan kotak bujur sangkar yang tersusun berjajar pada setiap baris dan kolom. Karena matriks sebenarnya adalah larik, maka konsep umum dari larik berlaku juga untuk matriks yaitu: 1. Kumpulan elemen yang bertipe sama. Tipe elemen matriks dapat berupa tipe dasar (integer, real, Boolean, char dan string), atau tipe terstruktur seperti record. 2. Setiap elemen data dapat diakses secara acak (random) jika indeksnya diketahui, yang dalam hal ini indeks menyatakan posisi relative di dalam kumpulannya. 3. Merupakan struktur data yang statik. Struktur matriks praktis untuk dipakai (pengaksesannya cepat karena langsung melalui indeksnya) tetapi memakan banyak tempat di memori. Misalnya matriks integer berukuran 100 X 100, membutuhkan 10000 X ukuran integer (2 byte). Elemen matriks diacu dengan indeks baris dan indeks kolom. Jika indeks baris dinyatakan dengan i dan indeks kolom dengan j, maka notasi algoritmatik untuk mengacu elemen pada baris i dan kolom j adalah Nama_matriks[i,j]

Pendeklarasian matriks Sebelum matriks digunakan untuk menyimpan data, terlebih dahulu matriks harus dideklarasikan. Mendeklarasikan matriks artinya menentukan nama matriks, tipe datanya dan ukuran matriks. Pendeklarasian matriks di dalam teks algoritma di tulis di dalam bagian deklarasi. Pendeklarasian matriks itu dapat memudahkan membuat suatu program dengan cara pendeklarasian matriks tersebut. Dimana kita ketahui pada program computer I tentang pendeklarasian pada array tersebut. Ada beberapa cara pendeklarasian matriks: 1. Sebagai peubah. 2. Sebagai tipe baru. 3. Mendefinisikan ukuran maksimum matriks sebagai sebuah tetapan.

Procedure
Program procedure dalam pascal adalah pemprograman dengan menggunakan bahasa pascal dengan menggunakan bantua struktur procedure. Jadi procedure itu sendiri adalah sebuah salah satu struktur penulisan yang ada dalam penulisan program dengan menggunakan bahasa pasca. Penggunaan procedure ini sebenarnya sama dengan penggunaan function pada pascal. Tujuan dari penggunaan procedure dalam pascal adalah untuk mempermudah dan mempersingkat programer dalam membuat program, khususnya untuk program yang membutuhkan analisa tinggi. Jika dalam postingan sebelumnya telah disampaikan mengenai seleksi kondisi sekarang akan disampaikan mengenai procedur dalam pascal.

III.

PEMBAHASAN Mencari Rata-Rata, Standar Deviasi, Nilai Max, Dan Nilai Min

write('Masukkan Banyak Data : '); readln(bada); jum:=0; min:=999; max:=0;

menuliskan masukkan banyak data dengan pembacaan variable (bada). Variable deklarasi awal dari jum adalah 0, min adalah 999 dan max adalah0

for data:= 1 to bada do begin write('data ke -',data,' = '); readln(dake);

perulangan dengan menggunakan for acuan data dimulai 1 hingga var bada, akan dituliskan data ke- =.. dengan pembacaan variable dake.

jum:=jum+dake;

var jum adalah hasil penjumlahan jum + dake untuk proses penjumlahan masukan

k:=k+sqr(dake);

var k ini digunakan untuk pemroses dari standar deviasi nantinya dengan menggunakan sqr

if(dake<min) then min:=dake; if(dake>max) then max:=dake;

inilah kunci algoritma dari pendeklarasian awal variable min=999 dan max=0 digunakan untuk perulangan if then yaitu kalau dake/inputan maximal itu lebih kecil dari variable min maka min adalah dake dan apabila dake ini lebih besar dari max maka dake dituiskan sebagai maximalnya.

rata:= jum/bada;

stdev:=sqrt((k-bada*sqr(rata))/(bada-1));

code ini adalah code rumus untuk mean dan standar deviasi perhitungan rata rata rata:= jum/bada; perhitungan standar deviasi sqrt((k-bada*sqr(rata))/(bada-1));

writeln('Nilai Terkecil : ',min); writeln('Nilai Terbesar : ',max); writeln('Rata-rata : ',rata:0:2); write('standar deviasinya : ',stdev:2:3);

pengeksekusian perintah minimum, maximum, rata-rata dan standar deviasi hasil dari code algoritma diatas.

Source code lengkap


Program Banyak_Data; Uses crt; Var bada,data,dake,jum,min,max:integer; rata,k,stdev:real; Begin clrscr; write('Masukkan Banyak Data : '); readln(bada); jum:=0; min:=999; max:=0;

for data:= 1 to bada do begin write('data ke -',data,' = '); readln(dake);

jum:=jum+dake; k:=k+sqr(dake); if(dake<min) then min:=dake; if(dake>max) then max:=dake; end;

rata:= jum/bada; stdev:=sqrt((k-bada*sqr(rata))/(bada-1)); writeln('Nilai Terkecil : ',min); writeln('Nilai Terbesar : ',max); writeln('Rata-rata : ',rata:0:2); write('standar deviasinya : ',stdev:2:3); readkey; End.

Running program

Mencari Penjumlahan Dan Perkalian Dari 2 Matriks


procedure tambah; begin writeln ('matriks A+B'); if (ka=kb)and(ba=bb) then begin j:=1; for h:=1 to ba do begin k:=1; for i:=1 to ka do begin write (' ',(a[h,i]+b[j,k]),' ');k:=k+1; end; writeln; j:=j+1; end; end; if ka<>kb then writeln('maaf.. jumlah kolom kedua matriks berbeda'); if ba<>bb then writeln('maaf.. jumlah baris kedua matriks berbeda'); end;

penulisan code procedure tambah, yang operasi nya kita letakkan pada procedure agar mudah dalam hal pengoreksian bila terjadi error dan mudah dalam hal pemanggilan bila dikehendaki.

procedure kurang; begin writeln ('matriks A-B'); if (ka=kb)and(ba=bb) then begin j:=1; for h:=1 to ba do begin k:=1; for i:=1 to ka do begin write (' ',(a[h,i]-b[j,k]),' ');k:=k+1; end; writeln; j:=j+1; end; end; if ka<>kb then writeln('maaf.. jumlah kolom kedua matriks berbeda'); if ba<>bb then writeln('maaf.. jumlah baris kedua matriks berbeda'); end;

code ini adalah aplikatif dari algoritma pengurangan namaun coba saya kotakkan dalam sebuah procedure agar mudah mengecek bila terjadi kesalahan pada program.

procedure transpose; begin writeln ('Transpose matriks a'); for i:=1 to ka do begin for h:=1 to ba do write (' ',a[h,i],' '); writeln; end;

writeln; gotoxy(27,y+1);writeln ('Transpose matriks b'); y:=y+2; for k:=1 to kb do begin x:=27; for j:=1 to bb do begin gotoxy(x,y);write (' ',b[j,k],' ');x:=x+3; end;y:=y+1; writeln; end;writeln; end;

code ini adalah aplikatif dari algoritma prosedure transpose yang kalau kita matematika kan perubahan baris menjadi kolom atau kolom menjadi baris.

Procedure cetak; begin clrscr; writeln ('>>>>>>>>>> OPERASI ARITMATIKA 2 BUAH MATRIKS<<<<<<<<<< ') ; writeln; writeln ('Data yang anda masukan adalah :');writeln; writeln ('Matriks a'); for h:=1 to ba do begin for i:=1 to ka do write (' ',a[h,i],' '); writeln; end; writeln; gotoxy (27,5);writeln ('Matriks b'); y:=6; for j:=1 to bb do

begin x:=27; for k:=1 to kb do begin gotoxy(x,y);write (' ',b[j,k],' '); x:=x+3;end; y:=y+1; end;writeln; end;

selanjutnya adalah prosedur cetak, yang saya sendirikan untuk mencetak beberapa hasil dari prosedur-prosedur yang telah ada. Sehingga kita hanya langsung memanggil beberapa prosedur yang telah terpampang sebelumnya.

procedure input; begin writeln (' -= OPERASI ARITMATIKA 2 BUAH MATRIKS =- ') ; writeln; write ('Masukan jumlah baris matriks A: '); readln (ba); write ('Masukan jumlah kolom matriks A: '); readln (ka);writeln; write ('Masukan jumlah baris matriks B: '); readln (bb); write ('Masukan jumlah kolom matriks B: '); readln (kb); writeln; writeln ('Masukan komponen data Matriks A'); for h:=1 to ba do begin for i:=1 to ka do begin write ('Data ke-(',h,',',i,')= '); readln (a[h,i]); end; end; writeln; writeln ('Masukan komponen data matriks B'); for j:=1 to bb do

begin for k:=1 to kb do begin write ('Data ke-(',j,',',k,')= '); readln (b[j,k]); end; end; end;

procedure input ini adalah prosedur penginputan beberapa elemen data matriks untuk digunakan acuan pengoperasian array matriks.

procedure keluar; begin gotoxy(0,10); writeln(' Terima kasih telah menggunakan program ini'); writeln;writeln; exit; end; procedure garis; begin writeln ('-------------------------------------------------------------------------------'); writeln ('==============================================================================='); end;

procedure keluar ini untuk proses keluar dari program matriks penjumlahan dan transpose.

procedure menu; begin writeln; writeln ('Menu Operasi'); writeln ('1. Penambahan Matriks');

writeln ('2. Pengurangan Matriks'); writeln ('3. Transpose Matriks'); writeln ('4. Keluar');writeln; write ('Masukan nomor pilihan anda : '); readln (p); if p= 1 then begin cetak; garis; tambah; garis; menu; end; if p= 2 then begin cetak; garis; kurang; garis; menu; end; if p= 3 then begin cetak; garis; transpose; garis; menu; end; if p= 4 then begin clrscr; keluar; end else begin cetak; writeln('Maaf.. angka yang anda masukan tidak sesuai perintah');menu; end; end; {program Utama} begin input; cetak; garis; writeln;writeln; writeln; garis; menu; end

procedure menu ini adalah procedure penampilan menu-menu yang ada yang disajikan dalam numeric. 1. 2. 3. 4. Tambah Kurang Transpose Keluar

Dan bila kita ingin memanggil 1 berarit otomatis kita memanggil procedure tambah, memanggil 2 untuk procedure kurang, 3 untuk procedure transpose dan 4 untuk procedure keluar.

Source code lengkap


program matriks; uses crt; var a : array [0..100,0..100] of integer; b : array [0..100,0..100] of integer; c : array [0..10,0..10] of integer; p,f,g,ba,ka,bb,kb,i,h,j,k,r,x,y: integer; procedure tambah; begin writeln ('matriks A+B'); if (ka=kb)and(ba=bb) then begin j:=1; for h:=1 to ba do begin k:=1; for i:=1 to ka do begin write (' ',(a[h,i]+b[j,k]),' ');k:=k+1; end; writeln; j:=j+1; end; end; if ka<>kb then writeln('maaf.. jumlah kolom kedua matriks berbeda'); if ba<>bb then writeln('maaf.. jumlah baris kedua matriks berbeda'); end; procedure kurang; begin writeln ('matriks A-B'); if (ka=kb)and(ba=bb) then begin j:=1;

for h:=1 to ba do begin k:=1; for i:=1 to ka do begin write (' ',(a[h,i]-b[j,k]),' ');k:=k+1; end; writeln; j:=j+1; end; end; if ka<>kb then writeln('maaf.. jumlah kolom kedua matriks berbeda'); if ba<>bb then writeln('maaf.. jumlah baris kedua matriks berbeda'); end;

procedure transpose; begin writeln ('Transpose matriks a'); for i:=1 to ka do begin for h:=1 to ba do write (' ',a[h,i],' '); writeln; end; writeln; gotoxy(27,y+1);writeln ('Transpose matriks b'); y:=y+2; for k:=1 to kb do begin x:=27; for j:=1 to bb do begin gotoxy(x,y);write (' ',b[j,k],' ');x:=x+3; end;y:=y+1;

writeln; end;writeln; end; Procedure cetak; begin clrscr; writeln ('>>>>>>>>>> OPERASI ARITMATIKA 2 BUAH MATRIKS<<<<<<<<<< ') ; writeln; writeln ('Data yang anda masukan adalah :');writeln; writeln ('Matriks a'); for h:=1 to ba do begin for i:=1 to ka do write (' ',a[h,i],' '); writeln; end; writeln; gotoxy (27,5);writeln ('Matriks b'); y:=6; for j:=1 to bb do begin x:=27; for k:=1 to kb do begin gotoxy(x,y);write (' ',b[j,k],' '); x:=x+3;end; y:=y+1; end;writeln; end;

procedure input;

begin writeln (' -= OPERASI ARITMATIKA 2 BUAH MATRIKS =- ') ; writeln;

write ('Masukan jumlah baris matriks A: '); readln (ba); write ('Masukan jumlah kolom matriks A: '); readln (ka);writeln; write ('Masukan jumlah baris matriks B: '); readln (bb); write ('Masukan jumlah kolom matriks B: '); readln (kb); writeln; writeln ('Masukan komponen data Matriks A'); for h:=1 to ba do

begin

for i:=1 to ka do begin write ('Data ke-(',h,',',i,')= '); readln (a[h,i]); end; end; writeln; writeln ('Masukan komponen data matriks B'); for j:=1 to bb do begin for k:=1 to kb do begin write ('Data ke-(',j,',',k,')= '); readln (b[j,k]); end; end; end; procedure keluar; begin

gotoxy(0,10); writeln(' Terima kasih telah menggunakan program ini'); writeln;writeln; exit; end; procedure garis; begin writeln ('-------------------------------------------------------------------------------'); writeln ('==============================================================================='); end; procedure menu; begin writeln; writeln ('Menu Operasi'); writeln ('1. Penambahan Matriks'); writeln ('2. Pengurangan Matriks'); writeln ('3. Transpose Matriks'); writeln ('4. Keluar');writeln; write ('Masukan nomor pilihan anda : '); readln (p); if p= 1 then begin cetak; garis; tambah; garis; menu; end; if p= 2 then begin cetak; garis; kurang; garis; menu; end; if p= 3 then begin cetak; garis; transpose; garis; menu; end; if p= 4 then begin clrscr; keluar; end else begin cetak; writeln('Maaf.. angka yang anda masukan tidak sesuai perintah');menu; end; end; {program Utama} begin input; cetak; garis;

writeln;writeln; writeln; garis; menu; end

Running program

IV.

KESIMPULAN
1. Array adalah tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang
mempunyai tipe yang sama. Komponen-komponen ini disebut dengan component type atau base type. 2. Matriks adalah struktur penyimpanan data di dalam memori utama yang setiap individu elemennya diacu dengan menggunakan dua buah indeks (yang biasanya dikonotasikan dengan baris dan kolom). 3. Tujuan dari penggunaan procedure dalam pascal adalah untuk mempermudah dan mempersingkat programer dalam membuat program, khususnya untuk program yang membutuhkan analisa tinggi. 4. Procedure berfungsi untuk mempermudah dalam pemanggilan procedure serta pengoreksian beberapa code yang error dan menuntuk perbaikan.

V.

DAFTAR PUSTAKA
http://sahrulwijaya.blogspot.com/2012/04/matriks-dalam-turbo-pascal.html https://kuliahkomputer.wordpress.com/2007/12/05/mengenal-array-pada-pascal/ http://pmat.uad.ac.id/prosedur-dalam-pascal http://zulfikariz.com/program-procedur-dalam-pascal/

Anda mungkin juga menyukai