Senin, 03 Januari 2011

tugas prak algoritma Array dan Pascal

BAB I
Pendahuluan

1.    Latarbelakang  
Array dan record merupakan struktur data sederhana yang trdapat pada struktur data suatu koleksi atau kolompok data (susunan simbol-simbol) yang dapat dikarakterisasikan oleh organisasi serta dapat di operasikan sesuai dengan definisi yang diberikan terhadapnya dikomputer.sedangkan Arraydalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama. Komponen-komponen tersebut disebut sebagai komponen type, larik mempunyai jumlah komponen yang jumlahnya tetap. Banyaknya komponen dalam larik ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses dengan menunjukkan nilai indexnya atau subskript. Array dapat bertipe data sederhana seperti byte, word, integer, real, bolean, char, string dan tipe data scalar atau subrange. Tipe larik mengartikan isi dari larik atau komponen- komponenya mempunyai nilai dengan tipe data tersebut. Sedangkan Dalam Pascal terdapat tipe data yang berisi kumpulan data, tipe data ini dikenal dengan nama Tipe Record (rekaman), perbedaan antara record dengan larik adalah bahwa dalam larik semua elemenya harus bertipe sama, tetapi dalam record setiap elemen bisa mempunyai tipe yang berbeda antara satu sama lainnya.
2.    Rumusan Masalah
2.1    Apa yang dimaksud dengan Array ?
2.2    Apa yang dimaksud dengan Record?
3.    Tujuan
3.1    Untuk  mengetahui apa apa yang dimaksud dengan Array!.
3.2    Untuk mengetahui apa yang dimaksud dengan Record!






BAB II
Pembahasan

1.    Pengertian Array Dan Record
1.1    Array adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama. Komponen-komponen tersebut disebut sebagai komponen type, larik mempunyai jumlah komponen yang jumlahnya tetap. Banyaknya komponen dalam larik ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses dengan menunjukkan nilai indexnya atau subskript. Array dapat bertipe data sederhana seperti byte, word, integer, real, bolean, char, string dan tipe data scalar atau subrange. Tipe larik mengartikan isi dari larik atau komponen- komponenya mempunyai nilai dengan tipe data tersebut.
1.2    Deklarasi tipe indeks subrange integer Indeks pada array dapat tipe skalar atau subrange, tetapi tidak bisa real.
Contoh:
Var
Nilai:Array[1..10]ofInteger;
pada contoh ini array nilai mempunyai 10 buah elemen yaitu dari 1 sampai 10. Array tersebut dapat dideklarasikan dengan type seperti berikut ini :

Type
Skala=1..10;
Var
Nilai:Array[skala]ofInteger;
atau:
Type
Skala=1..10;
Y=Array[skala]ofInteger;
Var
Nilai:Y;
atau:
Type
Y=Array[1..10]ofInteger;
Var
Nilai:Y;
atau:
Const
Atas=1;
Bawah=5;
type
Y=Array[Atas..Bawah]ofInteger;
Var
Nilai:Y;

I.DeklarasiTypeIndeksSkalar
Indeksdarilarikdapatberupatipeskalar.
Contoh.:
ProgramDeklarasi_Indeks_Array_Skalar;
UsesCrt;
Var
Jum:Array[(jan,feb,mar,apr,mei)]ofInteger;
Begin
Jum[jan]:=25;
Jum[feb]:=45;
Jum[mar]:=21;
Jum[apr]:=23;
Jum[mei]:=50;
Writeln('Jumlahnilaibulanmaret=',Jum[mar]);
Readln;
End.
dapatjugaditulis:
type
Bln=(jan,feb,mar,apr,mei);
Var
Jum:Array[bln]ofInteger;
atau:
type
Bln=(jan,feb,mar,apr,mei);
Var
Jum:Array[jan..mei]ofInteger;

II.DeklarasiKonstantaArray
Array tidak hanya dapat berupa suatu varibel yang dideklarasikan di bagian deklarasi variabel,tetapidapatjugaberupakonstanta(const).
ContohProgram:
ProgramContoh_Deklarasi_Array_Konstan;
UsesCrt;
Const
Tetap:Array[1..4]ofInteger=(7,10,21,20);
Var
i:Integer;
Begin
Fori:=1to4Do
Writeln('NilaiKonstanarrayke',i:2,'=',Tetap[i]);
Readln;
End.
1.3    Deklarasi konstanta Array
Array tidak hanya dapat berupa suatu varibel yang dideklarasikan di bagian deklarasi variabel, tetapi dapat juga berupa konstanta (const). konstanta array dapat juga berupa ketetapan dalam bentuk karakter
Contoh Program :
Program Contoh_Deklarasi_Array_Konstan;
Uses Crt;
Const
Tetap : Array[1..4] of Integer=(7,10,21,20);
Var
i : Integer;
Begin
For i:= 1 to 4 Do
Writeln('Nilai Konstan array ke ',i:2,' =',Tetap[i]);
Readln;
End.
konstanta array dapat juga berupa ketetapan dalam bentuk karakter seperti berikut.
Contoh Program :
Program Contoh_Konstan_Array_Char_;
Uses Crt;
Const
Huruf : Array[0..5] of Char=('A','B','C','D','E','F');
Var
i : Integer;
Begin
For i:= 0 to 5 Do
Writeln('Nilai konstan array ke',i:2,' = ',Huruf[i]);
Readln;
End.
Konstanta array dapat juga berupa string seperti berikut ini.
Contoh Program :
Program Constanta_Array_String;
Uses Crt;
Type
A = Array [1..5] of String;
Const
Nama : A = ('basic','pascal','cobol','paradox','dbase');
Var
i : Integer;
Begin
For i:= 1 to 5 Do
Writeln('Nilai Array ke-',i:2,'= ',Nama[i]);
readln;
end.

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut :
Contoh Program :
Program String_Adalah_Array_Tipe_Char;
Uses Crt;
Var
Nama : string;
i : Integer;
Begin
Nama:='Turbo Pascal';
For i:= 1 to Length(nama) Do
Writeln('Elemen ',i,' dari ',Nama,'= ',Nama[i]);
Readln;
End.

Dalam pascal string merupakan array dari elemen- elemen karakter.
Contoh Program :
Program String_Adalah_Array_Tipe_Char;
Uses Crt;
Var
Nama : string;
i : Integer;
Begin
Nama:='Turbo Pascal';
For i:= 1 to Length(nama) Do
Writeln('Elemen ',i,' dari ',Nama,'= ',Nama[i]);
Readln;
End.
Contoh pengurutan data dengan metode buble sort, yaitu dengan cara penukaran, dapat dilihat pada contoh dibawah ini :
Contoh Program :
Program Penggunaan_Array_Untuk_Sortir_Buble_Sort;
Uses Crt;
Var
nil1 : Array[1..100] of Integer;
n,i,j,dum : Integer;
Begin
ClrScr;
Write('mau isi berapa data acak (integer) ='); readln(n);
For i := 1 to n Do
Begin
Write('Data Ke ',i,':');Readln(nil1[i]);
End;
{* penyapuan proses}
for i:= 1 to n-1 do
begin
for j:= i to n do
begin
if nil1[j]
begin
dum:=nil1[j];
nil1[j]:=nil1[i];
nil1[i]:=dum;
end;
end;
end;
writeln;
writeln('Hasil Sortir');
for i := 1 to n do
write(nil1[i]:3);
readln;
end.


1.4    Di dalam pascal Array dapat berdimensi lebih dari satu yang disebut dengan array dimensi banyak (Multidimensional array), disini akan dibahas array 2 dimensi saja. Array 2 dimensi dapat mewakili suatu bentuk tabel atau matrik, yaitu indeks pertama menunjukkan baris dan indeks ke dua menunjukkan kolom dari tabel atau matrik.
Untuk mengetahui cara mendeklarasikan dari penggunaan aray dua dimensi dapat dilihat pada listing program dibawah ini .

Contoh Program:
Program Deklarasi_Array_Dua_Dimensi;
Uses Crt;
Var Tabel : Array[1..3,1..2] of Integer;
i,j : Integer;
Begin
ClrScr;
Tabel[1,1]:=1;
Tabel[1,2]:=2;
Tabel[2,1]:=3;
Tabel[2,2]:=4;
Tabel[3,1]:=5;
Tabel[3,2]:=6;
For I := 1 to 3 Do Begin For J:= 1 to 2 Do Begin Writeln('Elemen ',i,',',j,'= ',tabel[i,j]);
End;
End;
Readln;
End.

1.5    Array sebagai parameter
Array dapat digunakan sebagai parameter yang dikirimkan baik secara nilai (by value) atau secara acuan (by reference) ke procedure atau ke function. Procedure yang menggunakan parameter berupa array harus dideklarasikan di dalam judul procedure yang menyebutkan parameternya bertipe array.

Contoh Program :
Program Contoh_Pengiriman_Parameter_Array_Di_Procedure;
Uses Crt;
Const
Garis ='---------------------------------------------------';
Type
Untai = Array[1..10] of String[15];
Bulat = Array[1..10] of Integer;
Huruf = Array[1..10] of Char;
Var
i,Banyak : Integer;
Procedure Proses(Nama:Untai;Nilai:Bulat);
Var
Ket : String;
Abjad : Char;
Begin
Writeln(Garis);
Writeln('Nama Nilai Abjad Keterangan');
Writeln(Garis);
For i := 1 to Banyak Do
Begin
If Nilai[i] > 90 Then
Begin
Abjad:='A';
Ket :='Istimewa';
End;
If (Nilai[i]<90)>70) Then
Begin
Abjad:='B';
Ket :='Memuaskan';
End;
If (Nilai[i]<70)>60) Then
Begin
Abjad:='C';
Ket :='Cukup';
End;
If (Nilai[i]<60)>45) Then
Begin
Abjad:='D';
Ket :='Kurang';
End;
If Nilai[i]< 45 Then
Begin
Abjad:='E';
Ket :='Sangat kurang';
End;
Writeln(Nama[i]:15,' ',Nilai[i]:4,' ',Abjad,' ',Ket:15);
End;
Writeln(Garis);
End;
Procedure Masuk_Data;
Var
Nama : Untai;
Nilai : Bulat;
Begin
Write('Banyak data =');Readln(Banyak);
For i:= 1 to Banyak Do
Begin
ClrScr;
Writeln('Data ke - ',i);
Write('Nama =');readln(Nama[i]);
Write('Nilai =');readln(Nilai[i]);
End;
Proses(Nama,Nilai);
End;
{modul Utama}
Begin
Masuk_Data;
Readln;
End.





2.    Rekord atau Rekaman

Dalam Pascal terdapat tipe data yang berisi kumpulan data, tipe data ini dikenal dengan nama Tipe Record (rekaman), perbedaan antara record dengan larik adalah bahwa dalam larik semua elemenya harus bertipe sama, tetapi dalam record setiap elemen bisa mempunyai tipe yang berbeda antara satu sama lainnya.


2.1    Bentuk Umum penulisan Rekord
Type
   Pengenal = Record
       Namafield-1 : Type
       Namafield-2 : Type
       ……
       Namafield-N : Type
End

Atau dapat juga dideklarasikan sebagai berikut:
Var
   Pengenal = Record
       Namafield-1 : Type
       Namafield-2 : Type
       ……
       Namafield-N : Type
End

2.2     Statement With
Dalam Turbo Pascal telah disediakan sebuah statement yang berfungsi untuk lebih mempersingkat penulisan dalam pembacaan field, statement yang digunakan adalah statement WITH, berikut adalah contoh penggunaannya:

 Uses Crt;
Const
   JumlahSiswa = 3;
  Type Nilai = Record
     Nim : String;
      Nama: String;
      Tugas : Real;
      UTS   : Real;
      UAS   : Real;
     Na    : Real;
             Grade : Char;
  End;
   Var
     Mhs : Array[1..JumlahSiswa] of Nilai;
     I   : Integer;
   Begin
     Clrscr;
     For I := 1 To JumlahSiswa Do
     Begin
       With Mhs[i] Do
       Begin
        Writeln('Mahasiswa ke : ',i:2);
        Write('Nim   : ');Readln(Nim);
        Write('Nama  : ');Readln(Nama);
       Write('Tugas : ');Readln(Tugas);
        Write('UTS   : ');Readln(Uts);
       Write('UAS   : ');Readln(Uas);
      End;
     End;                                    
    For I := 1 To JumlahSiswa Do
     Begin
    With Mhs[i] Do
     Begin
        Na := (Tugas + Uts + Uas) / 3;
        If (Na >= 80) Then Grade := 'A' Else
       If (Na < 80) and (Na>=70) Then Grade := 'B' Else
        If (Na < 70) and (Na>=60) Then Grade := 'C' Else
       If (Na < 60) and (Na>=50) Then Grade := 'D' Else
        Grade :='E';
     End;
     End;
     Writeln('----------------------------------------------------------');
     Writeln('  NO   NIM         NAMA  TUGAS   UTS   UAS     NA   GRADE ');
     Writeln('----------------------------------------------------------');
    For I := 1 To JumlahSiswa Do
    Begin
      With Mhs[i] Do
       Begin
       Writeln(i:3,Nim:10,Nama:10,Tugas:7:2,Uts:7:2,
        Uas:7:2,Na:7:2,Grade:5);
    End;
    End;
   Readln;
   End.
2.3    Cara pendeklarasian dari record adalah sbb:
• Mendefinisikan tipe dari record (jumlah field, jenis tipe data yang dipakai),
• Mendefinisikan variabel untuk dilakukan operasi.
2.4    Array dari Record
Suatu array dapat juga berisi record contoh suatu deklarasi record tanggal.
type tanggal = record
bulan, hari, tahun : integer;
end;
var waktu : tanggal;
kemudian kita membentuk suatu array dari record ini, namakan birthdays.
var birthdays : array[1..10] of tanggal;
pernyataan ini akan membentuk suatu array dengan 10 elemen. Dimana tiap elemen adalah sebuah record tanggal, yaitu, terdiri atas bulan, hari, tahun dengan tipe data Integer.
Digambarkan seperti berikut:

Contoh Pemberian nilai awal dari masing-masing elemen birthdays:
Birthdays[1].hari :=25;
Birthdays[1].bulan:=09;
Birthdays[1].tahun:=1983;
2.5    Record di dalam Record
Record bisa berisi record lain sebagai field. Seperti contoh record tanggal dan jam dikombinasikan menjadi sebuah record saat ini,
type tanggal = record
bulan, hari, tahun : integer;
end;
type waktu =record
jam, menit, detik : integer;
end;
type waktu_ini =record
tanggal_ini : tanggal;
waktu_ini : waktu
end;
Kemudian kita perlu membuat variabel kerja
var saat_ini : waktu_ini;
pemberian nilai akan terjadi seperti di bawah ini:
saat_ini.tanggal.bulan:= 11;
saat_ini.tanggal.hari:= 2;
saat_ini.tanggal.tahun:= 1985;
saat_ini.waktu.jam:= 3;
saat_ini.waktu.menit:= 3;
saat_ini.waktu.detik:= 33;







BAB III
Penutup

III.1    Kesimpulan

Array adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama. Komponen-komponen tersebut disebut sebagai komponen type, larik mempunyai jumlah komponen yang jumlahnya tetap. Banyaknya komponen dalam larik ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses dengan menunjukkan nilai indexnya atau subskript. Array dapat bertipe data sederhana seperti byte, word, integer, real, bolean, char, string dan tipe data scalar atau subrange. Tipe larik mengartikan isi dari larik atau komponen- komponenya mempunyai nilai dengan tipe data tersebut.
Dalam Pascal terdapat tipe data yang berisi kumpulan data, tipe data ini dikenal dengan nama Tipe Record (rekaman), perbedaan antara record dengan larik adalah bahwa dalam larik semua elemenya harus bertipe sama, tetapi dalam record setiap elemen bisa mempunyai tipe yang berbeda antara satu sama lainnya.



BABB IV
Daftar Pustaka
file:///J:/tuasrecord%20pascal.htm
file:///J:/Erika%20Array%20_%20Pascal%20_%20NuSinau%20record.htm
file:///J:/ARRAY%20PADA%20PASCAL%20_%20Pascal%20_%20NuSinau.htm


















Makalah parktikum pascal
   
ARRAY DAN RECORD

Disusun oleh:
SUMARDI
STB : 093002
MANAJEMEN(A)

SEKOLAH TINGGI MANAJEMEN INFORMATIKA
DAN KOMPUTER (STMIK)DIPANEGARA
MAKASSAR
2010



KATA PENGANTAR

Puji  syukur kami  panjatkan  kepada Tuhan Yang Maha Esa atas berkah dan rahmat-Nya kepada penulis sehingga makalah system berkas tentang “ File Berindex”, ini dapat terselesaikan  dengan baik.
    Makalah  ini disusun sebagai tugas mata kuliah Praktikum Pemrograman Algoritma Dan Struktur data(pascal), Jurusan Manajemen Informatika Komputer (D3), STIMIK DIPANEGARA Makassar.                                             
Dalam  penyusunan makalah ini, penulis memperoleh  bimbingan  dan bantuan  dari  berbagai  pihak. Untuk  itu, penulis menyampaikan   banyak  terima  kasih  yang  sebesar-besarnya.
    Penulis menyadari  sepenuhnya  bahwa  tidak  tertutup  kemungkinan  isi  makalah  ini  belum  sesuai  dengan  harapan  berbagai  pihak, karena  potensi  yang  penulis miliki masih sangat  terbatas  oleh  karena  itu  saran  dan  kritikan  yang  sifatnya  konstruktif, sangat penulis harapkan  terutama  dari Bapak Dosen penanggung jawab mata kuliah.
    Semoga Makalah ini  dapat  bermanfaat bagi kita semua dan khususnya  bagi rekan-rekan mahasiswa.
Amin .....!!!!!



Makassar,  24 Desember 2010
    SUMARDI


DAFTAR ISI


Kata Pengantar         i
Daftar Isi          ii

BAB  I. Pendahuluan          1
    1.1 Latar Belakang          1
    1.2 Rumusan Masalah          1
    1.3 Tujuan          1
BAB II Pembahasan          2
    1.Pengertian Array         2
    2.Pengertian Record        12
BAB III Penutup          16
    III.1  Kesimpulan          16
BAB IV Daftar Pustaka         17 BAB I
Pendahuluan

1.    Latarbelakang  
Array dan record merupakan struktur data sederhana yang trdapat pada struktur data suatu koleksi atau kolompok data (susunan simbol-simbol) yang dapat dikarakterisasikan oleh organisasi serta dapat di operasikan sesuai dengan definisi yang diberikan terhadapnya dikomputer.sedangkan Arraydalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama. Komponen-komponen tersebut disebut sebagai komponen type, larik mempunyai jumlah komponen yang jumlahnya tetap. Banyaknya komponen dalam larik ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses dengan menunjukkan nilai indexnya atau subskript. Array dapat bertipe data sederhana seperti byte, word, integer, real, bolean, char, string dan tipe data scalar atau subrange. Tipe larik mengartikan isi dari larik atau komponen- komponenya mempunyai nilai dengan tipe data tersebut. Sedangkan Dalam Pascal terdapat tipe data yang berisi kumpulan data, tipe data ini dikenal dengan nama Tipe Record (rekaman), perbedaan antara record dengan larik adalah bahwa dalam larik semua elemenya harus bertipe sama, tetapi dalam record setiap elemen bisa mempunyai tipe yang berbeda antara satu sama lainnya.
2.    Rumusan Masalah
2.1    Apa yang dimaksud dengan Array ?
2.2    Apa yang dimaksud dengan Record?
3.    Tujuan
3.1    Untuk  mengetahui apa apa yang dimaksud dengan Array!.
3.2    Untuk mengetahui apa yang dimaksud dengan Record!






BAB II
Pembahasan

1.    Pengertian Array Dan Record
1.1    Array adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama. Komponen-komponen tersebut disebut sebagai komponen type, larik mempunyai jumlah komponen yang jumlahnya tetap. Banyaknya komponen dalam larik ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses dengan menunjukkan nilai indexnya atau subskript. Array dapat bertipe data sederhana seperti byte, word, integer, real, bolean, char, string dan tipe data scalar atau subrange. Tipe larik mengartikan isi dari larik atau komponen- komponenya mempunyai nilai dengan tipe data tersebut.
1.2    Deklarasi tipe indeks subrange integer Indeks pada array dapat tipe skalar atau subrange, tetapi tidak bisa real.
Contoh:
Var
Nilai:Array[1..10]ofInteger;
pada contoh ini array nilai mempunyai 10 buah elemen yaitu dari 1 sampai 10. Array tersebut dapat dideklarasikan dengan type seperti berikut ini :

Type
Skala=1..10;
Var
Nilai:Array[skala]ofInteger;
atau:
Type
Skala=1..10;
Y=Array[skala]ofInteger;
Var
Nilai:Y;
atau:
Type
Y=Array[1..10]ofInteger;
Var
Nilai:Y;
atau:
Const
Atas=1;
Bawah=5;
type
Y=Array[Atas..Bawah]ofInteger;
Var
Nilai:Y;

I.DeklarasiTypeIndeksSkalar
Indeksdarilarikdapatberupatipeskalar.
Contoh.:
ProgramDeklarasi_Indeks_Array_Skalar;
UsesCrt;
Var
Jum:Array[(jan,feb,mar,apr,mei)]ofInteger;
Begin
Jum[jan]:=25;
Jum[feb]:=45;
Jum[mar]:=21;
Jum[apr]:=23;
Jum[mei]:=50;
Writeln('Jumlahnilaibulanmaret=',Jum[mar]);
Readln;
End.
dapatjugaditulis:
type
Bln=(jan,feb,mar,apr,mei);
Var
Jum:Array[bln]ofInteger;
atau:
type
Bln=(jan,feb,mar,apr,mei);
Var
Jum:Array[jan..mei]ofInteger;

II.DeklarasiKonstantaArray
Array tidak hanya dapat berupa suatu varibel yang dideklarasikan di bagian deklarasi variabel,tetapidapatjugaberupakonstanta(const).
ContohProgram:
ProgramContoh_Deklarasi_Array_Konstan;
UsesCrt;
Const
Tetap:Array[1..4]ofInteger=(7,10,21,20);
Var
i:Integer;
Begin
Fori:=1to4Do
Writeln('NilaiKonstanarrayke',i:2,'=',Tetap[i]);
Readln;
End.
1.3    Deklarasi konstanta Array
Array tidak hanya dapat berupa suatu varibel yang dideklarasikan di bagian deklarasi variabel, tetapi dapat juga berupa konstanta (const). konstanta array dapat juga berupa ketetapan dalam bentuk karakter
Contoh Program :
Program Contoh_Deklarasi_Array_Konstan;
Uses Crt;
Const
Tetap : Array[1..4] of Integer=(7,10,21,20);
Var
i : Integer;
Begin
For i:= 1 to 4 Do
Writeln('Nilai Konstan array ke ',i:2,' =',Tetap[i]);
Readln;
End.
konstanta array dapat juga berupa ketetapan dalam bentuk karakter seperti berikut.
Contoh Program :
Program Contoh_Konstan_Array_Char_;
Uses Crt;
Const
Huruf : Array[0..5] of Char=('A','B','C','D','E','F');
Var
i : Integer;
Begin
For i:= 0 to 5 Do
Writeln('Nilai konstan array ke',i:2,' = ',Huruf[i]);
Readln;
End.
Konstanta array dapat juga berupa string seperti berikut ini.
Contoh Program :
Program Constanta_Array_String;
Uses Crt;
Type
A = Array [1..5] of String;
Const
Nama : A = ('basic','pascal','cobol','paradox','dbase');
Var
i : Integer;
Begin
For i:= 1 to 5 Do
Writeln('Nilai Array ke-',i:2,'= ',Nama[i]);
readln;
end.

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut :
Contoh Program :
Program String_Adalah_Array_Tipe_Char;
Uses Crt;
Var
Nama : string;
i : Integer;
Begin
Nama:='Turbo Pascal';
For i:= 1 to Length(nama) Do
Writeln('Elemen ',i,' dari ',Nama,'= ',Nama[i]);
Readln;
End.

Dalam pascal string merupakan array dari elemen- elemen karakter.
Contoh Program :
Program String_Adalah_Array_Tipe_Char;
Uses Crt;
Var
Nama : string;
i : Integer;
Begin
Nama:='Turbo Pascal';
For i:= 1 to Length(nama) Do
Writeln('Elemen ',i,' dari ',Nama,'= ',Nama[i]);
Readln;
End.
Contoh pengurutan data dengan metode buble sort, yaitu dengan cara penukaran, dapat dilihat pada contoh dibawah ini :
Contoh Program :
Program Penggunaan_Array_Untuk_Sortir_Buble_Sort;
Uses Crt;
Var
nil1 : Array[1..100] of Integer;
n,i,j,dum : Integer;
Begin
ClrScr;
Write('mau isi berapa data acak (integer) ='); readln(n);
For i := 1 to n Do
Begin
Write('Data Ke ',i,':');Readln(nil1[i]);
End;
{* penyapuan proses}
for i:= 1 to n-1 do
begin
for j:= i to n do
begin
if nil1[j]
begin
dum:=nil1[j];
nil1[j]:=nil1[i];
nil1[i]:=dum;
end;
end;
end;
writeln;
writeln('Hasil Sortir');
for i := 1 to n do
write(nil1[i]:3);
readln;
end.


1.4    Di dalam pascal Array dapat berdimensi lebih dari satu yang disebut dengan array dimensi banyak (Multidimensional array), disini akan dibahas array 2 dimensi saja. Array 2 dimensi dapat mewakili suatu bentuk tabel atau matrik, yaitu indeks pertama menunjukkan baris dan indeks ke dua menunjukkan kolom dari tabel atau matrik.
Untuk mengetahui cara mendeklarasikan dari penggunaan aray dua dimensi dapat dilihat pada listing program dibawah ini .

Contoh Program:
Program Deklarasi_Array_Dua_Dimensi;
Uses Crt;
Var Tabel : Array[1..3,1..2] of Integer;
i,j : Integer;
Begin
ClrScr;
Tabel[1,1]:=1;
Tabel[1,2]:=2;
Tabel[2,1]:=3;
Tabel[2,2]:=4;
Tabel[3,1]:=5;
Tabel[3,2]:=6;
For I := 1 to 3 Do Begin For J:= 1 to 2 Do Begin Writeln('Elemen ',i,',',j,'= ',tabel[i,j]);
End;
End;
Readln;
End.

1.5    Array sebagai parameter
Array dapat digunakan sebagai parameter yang dikirimkan baik secara nilai (by value) atau secara acuan (by reference) ke procedure atau ke function. Procedure yang menggunakan parameter berupa array harus dideklarasikan di dalam judul procedure yang menyebutkan parameternya bertipe array.

Contoh Program :
Program Contoh_Pengiriman_Parameter_Array_Di_Procedure;
Uses Crt;
Const
Garis ='---------------------------------------------------';
Type
Untai = Array[1..10] of String[15];
Bulat = Array[1..10] of Integer;
Huruf = Array[1..10] of Char;
Var
i,Banyak : Integer;
Procedure Proses(Nama:Untai;Nilai:Bulat);
Var
Ket : String;
Abjad : Char;
Begin
Writeln(Garis);
Writeln('Nama Nilai Abjad Keterangan');
Writeln(Garis);
For i := 1 to Banyak Do
Begin
If Nilai[i] > 90 Then
Begin
Abjad:='A';
Ket :='Istimewa';
End;
If (Nilai[i]<90)>70) Then
Begin
Abjad:='B';
Ket :='Memuaskan';
End;
If (Nilai[i]<70)>60) Then
Begin
Abjad:='C';
Ket :='Cukup';
End;
If (Nilai[i]<60)>45) Then
Begin
Abjad:='D';
Ket :='Kurang';
End;
If Nilai[i]< 45 Then
Begin
Abjad:='E';
Ket :='Sangat kurang';
End;
Writeln(Nama[i]:15,' ',Nilai[i]:4,' ',Abjad,' ',Ket:15);
End;
Writeln(Garis);
End;
Procedure Masuk_Data;
Var
Nama : Untai;
Nilai : Bulat;
Begin
Write('Banyak data =');Readln(Banyak);
For i:= 1 to Banyak Do
Begin
ClrScr;
Writeln('Data ke - ',i);
Write('Nama =');readln(Nama[i]);
Write('Nilai =');readln(Nilai[i]);
End;
Proses(Nama,Nilai);
End;
{modul Utama}
Begin
Masuk_Data;
Readln;
End.





2.    Rekord atau Rekaman

Dalam Pascal terdapat tipe data yang berisi kumpulan data, tipe data ini dikenal dengan nama Tipe Record (rekaman), perbedaan antara record dengan larik adalah bahwa dalam larik semua elemenya harus bertipe sama, tetapi dalam record setiap elemen bisa mempunyai tipe yang berbeda antara satu sama lainnya.


2.1    Bentuk Umum penulisan Rekord
Type
   Pengenal = Record
       Namafield-1 : Type
       Namafield-2 : Type
       ……
       Namafield-N : Type
End

Atau dapat juga dideklarasikan sebagai berikut:
Var
   Pengenal = Record
       Namafield-1 : Type
       Namafield-2 : Type
       ……
       Namafield-N : Type
End

2.2     Statement With
Dalam Turbo Pascal telah disediakan sebuah statement yang berfungsi untuk lebih mempersingkat penulisan dalam pembacaan field, statement yang digunakan adalah statement WITH, berikut adalah contoh penggunaannya:

 Uses Crt;
Const
   JumlahSiswa = 3;
  Type Nilai = Record
     Nim : String;
      Nama: String;
      Tugas : Real;
      UTS   : Real;
      UAS   : Real;
     Na    : Real;
             Grade : Char;
  End;
   Var
     Mhs : Array[1..JumlahSiswa] of Nilai;
     I   : Integer;
   Begin
     Clrscr;
     For I := 1 To JumlahSiswa Do
     Begin
       With Mhs[i] Do
       Begin
        Writeln('Mahasiswa ke : ',i:2);
        Write('Nim   : ');Readln(Nim);
        Write('Nama  : ');Readln(Nama);
       Write('Tugas : ');Readln(Tugas);
        Write('UTS   : ');Readln(Uts);
       Write('UAS   : ');Readln(Uas);
      End;
     End;                                    
    For I := 1 To JumlahSiswa Do
     Begin
    With Mhs[i] Do
     Begin
        Na := (Tugas + Uts + Uas) / 3;
        If (Na >= 80) Then Grade := 'A' Else
       If (Na < 80) and (Na>=70) Then Grade := 'B' Else
        If (Na < 70) and (Na>=60) Then Grade := 'C' Else
       If (Na < 60) and (Na>=50) Then Grade := 'D' Else
        Grade :='E';
     End;
     End;
     Writeln('----------------------------------------------------------');
     Writeln('  NO   NIM         NAMA  TUGAS   UTS   UAS     NA   GRADE ');
     Writeln('----------------------------------------------------------');
    For I := 1 To JumlahSiswa Do
    Begin
      With Mhs[i] Do
       Begin
       Writeln(i:3,Nim:10,Nama:10,Tugas:7:2,Uts:7:2,
        Uas:7:2,Na:7:2,Grade:5);
    End;
    End;
   Readln;
   End.
2.3    Cara pendeklarasian dari record adalah sbb:
• Mendefinisikan tipe dari record (jumlah field, jenis tipe data yang dipakai),
• Mendefinisikan variabel untuk dilakukan operasi.
2.4    Array dari Record
Suatu array dapat juga berisi record contoh suatu deklarasi record tanggal.
type tanggal = record
bulan, hari, tahun : integer;
end;
var waktu : tanggal;
kemudian kita membentuk suatu array dari record ini, namakan birthdays.
var birthdays : array[1..10] of tanggal;
pernyataan ini akan membentuk suatu array dengan 10 elemen. Dimana tiap elemen adalah sebuah record tanggal, yaitu, terdiri atas bulan, hari, tahun dengan tipe data Integer.
Digambarkan seperti berikut:

Contoh Pemberian nilai awal dari masing-masing elemen birthdays:
Birthdays[1].hari :=25;
Birthdays[1].bulan:=09;
Birthdays[1].tahun:=1983;
2.5    Record di dalam Record
Record bisa berisi record lain sebagai field. Seperti contoh record tanggal dan jam dikombinasikan menjadi sebuah record saat ini,
type tanggal = record
bulan, hari, tahun : integer;
end;
type waktu =record
jam, menit, detik : integer;
end;
type waktu_ini =record
tanggal_ini : tanggal;
waktu_ini : waktu
end;
Kemudian kita perlu membuat variabel kerja
var saat_ini : waktu_ini;
pemberian nilai akan terjadi seperti di bawah ini:
saat_ini.tanggal.bulan:= 11;
saat_ini.tanggal.hari:= 2;
saat_ini.tanggal.tahun:= 1985;
saat_ini.waktu.jam:= 3;
saat_ini.waktu.menit:= 3;
saat_ini.waktu.detik:= 33;







BAB III
Penutup

III.1    Kesimpulan

Array adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama. Komponen-komponen tersebut disebut sebagai komponen type, larik mempunyai jumlah komponen yang jumlahnya tetap. Banyaknya komponen dalam larik ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses dengan menunjukkan nilai indexnya atau subskript. Array dapat bertipe data sederhana seperti byte, word, integer, real, bolean, char, string dan tipe data scalar atau subrange. Tipe larik mengartikan isi dari larik atau komponen- komponenya mempunyai nilai dengan tipe data tersebut.
Dalam Pascal terdapat tipe data yang berisi kumpulan data, tipe data ini dikenal dengan nama Tipe Record (rekaman), perbedaan antara record dengan larik adalah bahwa dalam larik semua elemenya harus bertipe sama, tetapi dalam record setiap elemen bisa mempunyai tipe yang berbeda antara satu sama lainnya.



BABB IV
Daftar Pustaka
file:///J:/tuasrecord%20pascal.htm
file:///J:/Erika%20Array%20_%20Pascal%20_%20NuSinau%20record.htm
file:///J:/ARRAY%20PADA%20PASCAL%20_%20Pascal%20_%20NuSinau.htm


















Makalah parktikum pascal
   
ARRAY DAN RECORD

Disusun oleh:
SUMARDI
STB : 093002
MANAJEMEN(A)

SEKOLAH TINGGI MANAJEMEN INFORMATIKA
DAN KOMPUTER (STMIK)DIPANEGARA
MAKASSAR
2010



KATA PENGANTAR

Puji  syukur kami  panjatkan  kepada Tuhan Yang Maha Esa atas berkah dan rahmat-Nya kepada penulis sehingga makalah system berkas tentang “ File Berindex”, ini dapat terselesaikan  dengan baik.
    Makalah  ini disusun sebagai tugas mata kuliah Praktikum Pemrograman Algoritma Dan Struktur data(pascal), Jurusan Manajemen Informatika Komputer (D3), STIMIK DIPANEGARA Makassar.                                             
Dalam  penyusunan makalah ini, penulis memperoleh  bimbingan  dan bantuan  dari  berbagai  pihak. Untuk  itu, penulis menyampaikan   banyak  terima  kasih  yang  sebesar-besarnya.
    Penulis menyadari  sepenuhnya  bahwa  tidak  tertutup  kemungkinan  isi  makalah  ini  belum  sesuai  dengan  harapan  berbagai  pihak, karena  potensi  yang  penulis miliki masih sangat  terbatas  oleh  karena  itu  saran  dan  kritikan  yang  sifatnya  konstruktif, sangat penulis harapkan  terutama  dari Bapak Dosen penanggung jawab mata kuliah.
    Semoga Makalah ini  dapat  bermanfaat bagi kita semua dan khususnya  bagi rekan-rekan mahasiswa.
Amin .....!!!!!



Makassar,  24 Desember 2010
    SUMARDI


DAFTAR ISI


Kata Pengantar         i
Daftar Isi          ii

BAB  I. Pendahuluan          1
    1.1 Latar Belakang          1
    1.2 Rumusan Masalah          1
    1.3 Tujuan          1
BAB II Pembahasan          2
    1.Pengertian Array         2
    2.Pengertian Record        12
BAB III Penutup          16
    III.1  Kesimpulan          16
BAB IV Daftar Pustaka         17

Tidak ada komentar:

Posting Komentar