Backsound

Backsound

Minggu, 15 Mei 2016

Array dan Record


PENGANTAR

Array merupakan tipe data tersetruktur dimana di dalamnya terdiri dari komponen–komponen yang mempunyai tipe data yang sama. Di dalam suatu array jumlah komponen banyaknya adalah tetap. Di dalam suatu larik atau array setiap kompoenen ditunjukan oleh suatu index yang unik. Index dari setiap komponen array menunjukan urutan data atau identitas yang mewakili data yang ada didalamnya. Logika sederhananya array itu bisa disamakan dengan dua orang dengan nama yang sama didalam suatu komunitas, untuk membedakan antara nama yang satu atau dengan nama yang lain maka diberikan initial tambahan untuk setiap nama.
DEKLARASI ARRAY

Didalam penulisan bahasa pemograman setiap penggunaan array harus dideklarsikan terlebih dahulu. Pendeklarasian array diawali dengan nama variabel array diikuti dengan indeks array yang dituliskan didalam tanda “[]” , diikuti dengan kata cadangan of dan tipe data yang dibutuhkan. Berikut bentuk penulisan;
Nama_Variable : array [..tipe index ..] of tipe data;
Contoh :
Var
A : array[1..4] of integer;
B : array[1..5] of string;
C: array[1..10] of real;


http://cerahati88.wordpress.com



RECORD (REKAMAN)
Sebuah record rekaman disusun oleh beberapa field. Tiap field berisi data dari tipe dasar / bentukan tertentu. Record mempunyai kelebihan untuk menyimpan suatu sekumpulan elemen data yang berbeda-beda tipenya (di banding array). Contoh , sebuah record dengan empat buah field.

Field 1 Field 2 Field 3 Field 4
Cara pendeklarasian dari record adalah sbb:
• Mendefinisikan tipe dari record (jumlah field, jenis tipe data yang dipakai),
• Mendefinisikan variabel untuk dilakukan operasi.
SYNTAX
type
nama_record = record
identifier_1 : tipe_data_1;
:
:
identifier_n : tipe_data_n;
end;
var variabel : nama_record;



Contoh :
type
Data_mahasiswa = record
Nama : string;
Usia : integer;
Kota : String;
Kodepos : integer;
end;
Var
x: Data_mahasiswa;
1. Pengaksesan Elemen Record
Nama variable disertai nama field.
x.Nama
x.Usia
x.Kota
x.Kodepos
Contoh.
program RECORD_INTRO;
type tanggal = record
bulan, hari, tahun : integer;
end;
var waktu : tanggal;
begin
waktu.hari :=25;
waktu.bulan:=09;
waktu.tahun:= 1983;
writeln('hari ini adalah ',waktu.hari,':',waktu.bulan,':', waktu.tahun)
end.

1. PENGERTIAN ARRAY
Array (larik) merupakan tipe data tersetruktur dimana didalamnya terdiri dari komponen – komponen yang mempunyai tipe data yang sama. Didalam suatu array jumlah komponen banyaknya adalah tetap. Didalam suatu larik atau array setiap kompoenen ditunjukan oleh suatu index yang unik. Index dari setiap komponen array menunjukan urutan data atau identitas yang mewakili data yang ada didalamnya.
Logika sederhananya array itu bisa disamakan dengan dua orang dengan nama yang sama didalam suatu komunitas, untuk membedakan antara nama yang satu atau dengan nama yang lain maka diberikan initial tambahan untuk setiap nama. 2. DEKLARASI ARRAY DALAM BAHASA PEMROGRAMAN
Misalkan kita hendak mendeklarasikan array TEMP yang merupakan array dimensi
satu dengan nilai subscript 1 sampai 24, dan masing-masing elemen bertipe data integer
(nilainya antara 0 hingga 99 derajat).
Dalam Bahasa COBOL dapat ditulis:
01 TABEL-TEMP
02 TEMP OCCURS 24 TIMES PIC 99.
Dalam bahasa Pascal:
var temp: array l..24) of integer
Dalam Bahasa BASIC, kita dapat mendefinisikan array TEMP tersebut dengan statement:
DIM TEMP(24)
Tiga hal harus dikemukakan dalam mendeklarasikan suatu array, yakni:
1. nama array
2. range dari subscript
3. tipe data dari elemen array
Bahasa Pascal memperkenankan batas bawah subscript yang bukan =1, contohnya
adalah:
var grafik : array [-100 ..100] of integer
Dalam COBOL subscript harus dimulai dari 1.
Untuk menyatakan elemen ke-I dari array, COBOL dan BASIC menggunakan kurung
biasa, yakni TEMP(I), sedangkan Pascal menggunakan kurung siku, yakni temp[i].
Untuk mendeklarasikan sebuah array nilai dari 500 mahasiswa untuk 8 mata kuliah,
dalam COBOL ditulis:
01 TABEL-NILAI
02 MHS OCCURS 500 TIMES
03 NILAI OCCURS 8 TIMES
PIC 99V9.
Dalam Pascal ditulis:
var nilai : Array[1..500,1..8] of real
dan dalam BASIC dapat ditulis
DIM NILAI(500,8)
Dalam COBOL maksimum dimensi yang dapat diterima adalah 3 (three dimensional),
contohnya:
01 MHS-TABEL
02 TINGKAT OCCURS 5 TIMES
03 SEX OCCURS 2 TIMES
04 MHS OCCURS 20 TIMES
PIC 9(5).
dan dalam Pascal:
var mhs : Array[1..5, 1..2, 1..20] of integer
Dalam bahasa pemrograman seperti FORTRAN dan COBOL, alokasi untuk array
dalam storage memerlukan waktu dalam proses kompilasi, karenanya batas bawah dan
batas atas harus dikemukakan ketika mendefinisikan array.
COBOL dan Pascal (juga bahasa lain yang memungkinkan pendeklarasian array) mempunyaifasilitas untuk melakukan manipulasi antarelemen array. Operasi yang sesuai dengantipe data array tersebut dapat dikerjakan dengan mudah, contohnya dalam COBOL.
COMPUTE TOTAL_UPAH(I) = UPAH_PER_JAM(I) * JUMLAH-JAM(l)
Terlihat bahwa ketiga variabel di atas adalah array.
3. PEMETAAN ARRAY KE STORAGE
Seperti halnya struktur data yang lain, ada beberapa cara untuk menyajikan array di dalammemori. Skema penyajian dapat dievaluasi berdasarkan 4 karakteristik, yakni:
1. kesederhanaan dari akses elemen
2. mudah untuk ditelusuri
3. efisiensi dari utilitasi storage
4. mudah dikembangkan
Umumnya tidaklah mungkin untuk mengoptimalkan keempat faktor tersebut
sekaligus. Pandang array satu dimensi NOPEG dengan batas bawah subscript 1, dan batas atas subscript = N. Salah satu cara untuk menyimpan array ini adalah sedemikian sehingga urutan fisik dari elemen sama dengan urutan logik dari elemen. Storage untuk elemenNOPEG(I+1) adalah berdampingan dengan storage untuk elemen NOPEG(I), untuksetiap I = 1, 2, 3,…, N-1. Untuk menghitung alamat (address) awal dari elemen NOPEG(I), diperlukan untuk mengetahui 2 hal yakni:
1. address awal dari ruang storage yang dialokasikan bagi array tersebut.
2. ukuran dari masing-masing elemen array.
Address awal dari array, kita nyatakan dengan B, disebut juga base-location. Misalkan
bahwa masing-masing elemen dari array menduduki S byte. Maka, address awal dari elemenke-I adalah:
B + (I-1) * S
Sekarang kita perluas persamaan di atas untuk mendapat address dari elemen ke-I dari
array yang mempunyai batas bawah subscript tidak sama dengan 1. Perhatikan array Z(4:10),
maka address awal dari Z(6) adalah:
B + (64) * S
Untuk array Z2 (-2:2) misalnya, address awal dari Z2(l) adalah:
B + (I -(-2)) * S
Maka secara umum, untuk array:
ARRAY(L:U),
elemen ARRAY(I) mempunyai address awal
B + (U-L) *
4. TRINGULAR ARRAY
Akan kita tinjau beberapa aspek pelinearan suatu array yang khusus, yakni tringular array. Tringular array dapat merupakan upper tringular (seluruh elemen di bawah diagonal utama = 0) ataupun lower tringular (seluruh elemen di atas diagonal utama = 0).
Dalam array lower triangular dengan N baris, jumlah maksimum elemen <> 0 pada
baris ke-I adalah 1, karenanya total elemen <> 0, tidak lebih dari:
N
Σ I = N ( N+1) / 2
I =I
Rumus ini berlaku pula untuk array upper tringular dengan N baris. Kalau N besar,
alangkah baiknya kalau elemen nol tidak usah kita simpan dalam memori. Suatu pendekatanterhadap problema ini adalah dengan pelinearan array, dan dengan hanya menyimpanbagian array yang tidak nol.
Misalkan kita menyimpan array upper tringular T secara baris dalam array satu dimensi
S, dengan batas subscript I sampai N(N+I)/2. Elemen T(1,1) disimpan sebagai S(1), elemenT(1,2) sebagai S(2) dan seterusnya, sehingga elemen T(1,N) disimpan sebagai S(N). Maka elemen T(2,2) disimpan sebagai S(N+1) (karena T(2,1) = 0). Terakhir sekali, elemenT(N,N) akan disimpan sebagai S(N(N+1)/2).
Kadang-kadang suatu program menggunakan lebih dari satu array tringular. Untuk
itu kita dapat menyimpan 2 array sekaligus. Misalnya array A upper triangular berorder Nx N dan array B lower triangular berorder (N-1) x (N-1). Mereka dapat kita simpan
sebagai array C berorder N x N. Di sini C(l,J) = A(l,J) untuk I <= J dan C(I+1,J) = B(I,J)
untuk I >= J. Sekarang apabila array A upper tringular berorder N x N sedangkan array B lower tringular, juga berorder N x N, maka array C yang mengandung keduanya harus berorder N x (N+1). Di sini elemen A(I,J) disimpan sebagai C(I,J+1) untuk I <= J, dan B(I,J) disimpan sebagai C(I,J) untuk I >= J.
5. DEFINISI RECORD
Sebuah record merupakan koleksi satuan data yang heterogen, yakni terdiri dari berbagai
type. Satuan data tersebut sering disebut sebagai field dari record. Field dipanggil dengan
menggunakan namanya masing-masing. Suatu field dapat terdiri atas beberapa subfield.
Sebagai Contoh, data personalia dari seorang pegawai suatu perusahaan di Amerika Serikat,merupakan sebuah record yang dapat terdiri dari berbagai field, dan subfield seperti berikut ini:
1. NOMOR-JAMINAN-SOSIAL
2. NAMA, yang terdiri atas:
NAMA-BELAKANG
NAMA-DEPAN
NAMA-TENGAH
3. ALAMAT, terdiri atas:
JALAN
NOMOR RUMAH
NAMA-JALAN
KOTA
NEGARA-BAGIAN
KODE-POS
4. MENIKAH
dan sebagainya lagi.
Pada record tersebut di atas, satuan data seperti NAMA BELAKANG ataupun KOTA
merupakan tipe data string, sedangkan data lain seperti GAJI POKOK, TUNJANGAN
JABATAN dan berbagai data yang akan diolah secara matematis akan disimpan dengan
tipe data numerik, bisa integer maupun real. Data MENIKAH bisa digunakan tipe data
boolean atau logikal.
Seperti telah kita paparkan terdahulu, array berbeda dengan record, yakni array bersifat
homogen (terdiri dari tipe data yang sama), dan komponen array tidak memiliki nama
sendiri, dan hanya diberi identifikasi oleh posisi mereka di dalam array. Penggunaan
keduanya di dalam program juga berbeda, jika penggunaan array pada umumnya akan
disimpan di memori utama komputer (bersifat sementara), sedangkan record biasanya
digunakan dalam filing yang akan disimpan di memori sekunder komputer, seperti hard
disk, disket, dan lainnya.
Sebuah record memberi informasi tentang berbagai kondisi dari obyek padapermasalahan yang nyata sehari-hari. Setiap field memberi uraian tentang satu atribut dari
obyeknya. Sebuah record biasanya diberi identifikasi oleh key-nya. Key atau kunci adalah
salah satu atau lebih field yang dipilih untuk tujuan penyampaian informasi yang terjadi
di dalam record yang bersangkutan.
Koleksi dari record yang sama struktur fieldnya disebut suatu file atau berkas. Jadi, koleksi
dari record semua pegawai perusahaan membentuk sebuah file personalia. Pada umumnya
record disimpan membentuk file, dalam urutan sesuai dengan nilai dari key masing-masing.
Di dalam suatu file PERSONALIA, field NOMOR JAMINAN SOSIAL dari seorang pegawai
dapat digunakan sebagai key. Di dalam bahasa pemrograman tingkat tinggi, record dapat
dinyatakan sebagai struktur data (COBOL dan PL/1) dapat diadakan spesifikasi tentang
nama record, field dan subfield yang bersangkutan.
 
 
Reaksi: 

Sabtu, 27 Februari 2010


Array

 
Array adalah sekelompok data sejenis yang disimpan ke dalam variabel dengan nama yang sama, dengan memberi indeks pada variabel untuk membedakan antara yang satu dengan yang lain. Array memiliki elemen-elemen, elemen array ditunjukkan oleh subscrip
Array pada basic terdiri atas :
1. array dimensi Satu (vektor)
Elemennya di tunjukan oleh sebuah scrip
BU :
DIM ({cacah/awal to akhir}) as tipe_variabel
Contoh 1
Cls
Dim A (5)
Let A (1)=5 : A (2)=10 : A(3)=15 : A (4) =20 A(5)=25
Let C = A(1) + A(2) + A(3) + A(4) + A(5)
Print “hasil penjumlahan nilai A ;”,C
End
Contoh 2
Cls
Data “ inuyasha”,”sesomaru”,”kagome”,”kikio”,”sango”
X=1
10 read y $ (x)
If x = 5 then 20
X=x+1
Goto 10
Print y $ (3) : print y $ (2)
End
2.array dua dimensi (matrik / table)
BU :
DIM nama_var (baris,kolom) as tipe data
Contoh :
DIM p (2,3)
DIM Q (1to2, 1to3)
Contoh 2 :
DIM p (2,3)
P (1,1) = 10 : P (1,2) = 20 : P (1,3) = 30 P (2,1) =15 : P (2,2) = 25 : P (2,3) = 35
Print P (1,3) + P (2,1)
End
Contoh 2 :
DIM P (3,2)
For Q = 1TO3
For R = 1TO2
Read P (Q,R)
Print P (Q,R)
Next R
Print Next Q
Print
Data 5,4,7,3,2,5,6,3
Print P (2,1) + P (3,1)
End

RECORD (REKAMAN)
Sebuah record rekaman disusun oleh beberapa field. Tiap field berisi data dari tipe dasar / bentukan tertentu. Record mempunyai kelebihan untuk menyimpan suatu sekumpulan elemen data yang berbeda-beda tipenya (di banding array). Contoh , sebuah record dengan empat buah field.
Field 1
Field 2
Field 3
Field 4
Cara pendeklarasian dari record adalah sbb:
• Mendefinisikan tipe dari record (jumlah field, jenis tipe data yang dipakai),
• Mendefinisikan variabel untuk dilakukan operasi.
SYNTAX
type
nama_record = record
identifier_1 : tipe_data_1;
:
:
identifier_n : tipe_data_n;
end;
var variabel : nama_record;
Contoh.
type
Data_mahasiswa = record
Nama : string;
Usia : integer;
Kota : String;
Kodepos : integer;
end;
Var
x: Data_mahasiswa;
1. Pengaksesan Elemen RecordNama variable disertai nama field.
x.Nama
x.Usia
x.Kota
x.Kodepos
Contoh.
program RECORD_INTRO;
type tanggal = record
bulan, hari, tahun : integer;
end;
var waktu : tanggal;
begin
waktu.hari :=25;
waktu.bulan:=09;
waktu.tahun:= 1983;
writeln('hari ini adalah ',waktu.hari,':',waktu.bulan,':', waktu.tahun)
end.
2. Pengunaan With … doPernyataan with untuk lebih menyederhanakan pengaksesan field-field pada record. Pemrograman dapat mengakses field cukup dengan menyebutkan nama field-nya saja. Misalkan pernyataan :
x.Nama
x.Usia
x.Kota
x.Kodepos
menjadi
with x do
Begin
Nama
Usia
Kota
Kodepos
end
Contoh.
program RECORD_INTRO;
type tanggal = record
bulan, hari, tahun : integer;
end;
var waktu : tanggal;
begin {program utama}
with waktu do {mulai with}
begin
hari :=25;
bulan:=09;
tahun:=1983;
writeln('hari ini adalah ',hari,':',bulan,':', tahun)
end {akhir with}
end.
3. Array dari RecordSuatu 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;
4. Record di dalam RecordRecord 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; 



   No : integer;
   Kode : char;
   Juml : integer;
   Harga : real;
   END;
 VAR  p,q : x;
Untuk membaca variabel p dan q di atas dengan memanfaatkan statement WITH bentuknya menjadi :  
WITH  p,q  DO read (no, kode, juml, harga);
Bandingkan jika digunakan cara sebelumnya :
Read(p.no, p.kode, p.juml,p.harga,q.no,q.kode,q.juml,q.harga);
Pernyataan seperti : 
Data.npm :=‘22297566’
Data.Nama:=‘Abdul Kadir’
Data.Fakultas:=‘Teknik’ 
Dapat diganti dengan :
WITH Data Do
Begin
npm :=‘22297566’
Nama:=‘Abdul Kadir’
Fakultas:=‘Teknik’
end;

Contoh program record sederhana:
Type
Hasil = record
Jari-jari = real;
Keliling = real;
Luas = real;
End.
Var
Lingkarang = hasil;
Begin
Write (jari-jari lingkaran?); real readln (lingkaran.jari-jari);
Lingkaran.keliling :=2 * Pi * lingkaran.jari-jari;
Lingkaran.luas := Pi * sqr (lingkaran jari-jari);
Writeln;
Writeln (‘keliling lingkaran =’, lingkaran.keliling:7:2);
Writeln (‘luas lingkaran =’, lingkaran luas :7:2);
End.

program record;
uses crt;
type
TSiswa = record
nim : string[8];
nama : string[25];
agama : string[10];
ktp : string[25];
end;
var
s : TSiswa;
umur,ts,tl : integer;
begin
clrscr;
write (’Masukkan tahun sekarang: ‘); readln (ts);
writeln (’Isikan data anda dalam Form ini’);
write (’NIM : ‘); readln (s.nim);
write (’NAMA : ‘); readln (s.nama);
write (’TAHUN LAHIR : ‘); readln (tl);
umur := (ts-tl);
write (’AGAMA : ‘);readln (s.agama);
write (’NO.KTP : ‘); readln (s.ktp);
writeln;
writeln (’Berikut ini informasi yang anda berikan: ‘);
writeln (’NIM : ‘, s.nim);
writeln (’NAMA : ‘, s.nama);
writeln (’Umur : ‘,umur);
writeln (’AGAMA : ‘, s.agama);
writeln (’NO.KTP : ‘, s.ktp);
READLN;
end.

  • Array (Larik)
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.
Array didefinisikan sebagai suatu kumpulan dimana elemen-elemennya berjenis data sama. (homogeny) Suatu array dapat dibedakan atas 2 (dua) bagian, yaitu :
a.      Array Berdimensi Satu
Array berdimensi satu dapat dikatakan sebagai suatu daftar yang linier atau sebuah kolom. Bentuk deklarasi dari array jenis ini dalam bahasa Pascal adalah:
VAR nama_array : ARRAY [index] OF jenis_elemen;
Contoh Program :

Program Contoh_Array_Input; 
Uses Crt; 
Var 
Bilangan : array[1..50] of Integer; 
Begin 
ClrScr; 
Bilangan[1]:=3; 
Bilangan[2]:=29; 
Bilangan[3]:=30; 
Bilangan[4]:=31; 
Bilangan[5]:=23; 
Writeln('nilai varibel bilangan ke 3 =',Bilangan[3]); 
Readln; 
End.

Array tidak hanya dapat berupa suatu varibel yang dideklarasikan di bagian deklarasi variabel, tetapi dapat juga berupa konstanta (const). 
Contoh Program :

Program;
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.

b.      Array Multi Dimensi
Array dimensi dua ini dapat dianggap sebagai sebuah matriks yang jumlah kolomnya  lebih dari satu. Bentuk deklarasi :
VAR nama_array : ARRAY  [indeks_baris,indeks_kolom] OF jenis;
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.

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.

Contoh program Array dalam record:
Type barang= RECORD
nmbrg:string[20];
jmlbrg:array[1..3]of byte;
hrgbrg:real;
total:real;
end;
var  jual:barang;
tbarang, i:integer;
Begin
clrscr;
write(‘Nama Barang :’);readln(jual.nmbrg);
for i:=1to 3 do
begin
write(‘Jumlah barang ’,I,’ : ’);readln(jual.jmlbrg[i]);
tbarang:=tbarang+jual.jmlbrg[i];
end;
write(‘Harga barang  :’);readln(jual.hrgbrg);
jual.total:=tbarang*jual.hrgbrg;
writeln(‘Total Harga Barang = ‘, jual.total:10:2);
end.
Coba lihat sendiri perbedaan antara array tipe record dan array dalam record dari dua contoh program di atas !
Program Penjumlahan_matrik;
uses crt;
var
matrik1, matrik2 , hasil : array[1..3,1..2] of integer; 
i , j : integer;
begin
clrscr;
{ input matrik ke satu }
writeln(' Elemen matrik satu');
for i := 1 to 3 do
     begin
     for j := 1 to 2 do
          begin
          write('Elemen baris -',i,' kolom -',j,'= ');
          readln(matrik1[i,j]);
     end;
end;
{input matrik ke dua}
writeln('input elemen matrik dua');
for i:= 1 to 3 do
     begin
     for j:= 1 to 2 do
          begin
          write('Elemen baris -',i,' kolom -',j,'= ');
          readln(matrik2[i,j]);
    end;
end;
{proses penjumlahan tiap elemen}
for i := 1 to 3 do
     begin
     for j:= 1 to 2 do
          begin
          hasil[i,j]:=matrik1[i,j]+matrik2[i,j];
     end;
end;
{proses cetak hasil}
writeln(' ');
for i:= 1 to 3 do
    begin
    for j:= 1 to 2 do
         begin
write(matrik1[i,j]:4);
         end;
         writeln;
    end;
writeln('+');
for i:= 1 to 3 do
    begin
    for j:= 1 to 2 do
         begin
         write(matrik2[i,j]:4);
         end;
         writeln;
    end;
writeln('=');
for i:= 1 to 3 do
    begin
    for j:= 1 to 2 do
         begin
         write(hasil[i,j]:4);
         end;
         writeln;
    end;
readln;
end.

ARRAY
Suatu array adalah sebuah struktur data
yang terdiri atas banyak variabel dengan
tipe data sama, dimana masing-masing
elemen variabel mempunyai nilai indeks.
Setiap elemen array mampu untuk
menyimpan satu jenis data (yaitu:
variabel).Cara Pendefinisian
• contoh type
A = array [1..6] of integer;
• Secara logika pendefinisian array di atas
merupakan sekumpulan kotak , dimana tiap
kotak mempunyai nilai indeks integer 1, 2, 3, ...,6
tiap elemen array ditandai dengan:
A[1], A[2], A[3], A[4], A[5], A[6]
untuk mengisi elemen array misal A[1]:=4;.Sifat Array
Array merupakan struktur data yang statis, yaitu
jumlah elemen yang ada harus ditentukan
terlebih dahulu dan tak bisa di ubah saat
program berjalan.

Record
Record adalah sebuah tipe data yang mengumpulkan beberapa item data di mana masing-masing tipe data dari item data ini berbeda-beda. Masing-masing item data ini bisa disebut dengan field.
Mendeklarasikan Record
Masih ingat kuliah mengenai tipe data? Dalam Pascal, semua variabel harus dideklarasikan sebelum bisa dipakai. Sebagai contoh, kitaingin memakai variabel dengan nama Nama untuk dimasukkan nilai nama-nama mahasiswa. Kita akan mendefinisikannya menjadi:var Nama: String[80];
Dari kode di atas kita memberitahukan ke Pascal bahwa kita akan memakai variabel Nama yang tipe datanya string dan kita alokasikan panjang stringnya 80 karakter.
Nah, dalam Pascal, kita dimungkinkan untuk memiliki judul tipe data yang kita definisikan sendiri. Misalkan kita ingin mengganti judul tipe data integer dengan bilanganBulat. Dalam Pascal, kita definisikan ini dengan:
type bilanganBulat = integer;
Perhatikan beda pendefinisian variabel dan pendefinisian type. Untuk pendefinisian variabel kita menggunakan titik dua (:), sedangkan pendefinisian type kita menggunakan sama dengan (=).
 Untuk mendeklarasikan record, kita memakai reserved word record, diikuti dengan daftar field dan diakhiri dengan end. Berikut adalah contoh dari deklarasi sebuah record.
type recMhs = record;
  nama : string[80];
  NPM : string[8];
  nilai : integer;
  end;
Untuk bisa memakai record ini, kita mendeklarasikan record ke dalam variabel seperti ini:
var recordMahasiswa: recMhs;
Menggunakan Record
Menggunakan/ mengakses nilai field dari record adalah menggunakan nama variabel yang sudah dideklarasikan, diikuti dengan tanda titik (.) dan nama field. Dari contoh di atas, apabila kita ingin mengakses nilai field nama dari record recordMahasiswa, kode dalam Pascal adalah sebagai berikut:record
Mahasiswa.nama:=’mark anthony’;

Sebuah array dapat dikatakan sebagai suatu himpunan terurut dengan elemen-elemen homogen. Terurut, dimaksudkan bahwa elemen pertama, elemen kedua, dst masing-masing dapat diidentifikasi. Sedangkan homogen berarti masing-masing elemen tersebut mempunyai tipe data yang sama.
Array dapat dikelompokkan atas 2 bagian, yaitu :
      1. Array satu dimensi.
      2. Array multi dimensi.
1.1        ARRAY SATU DIMENSI
Bentuk array yang paling sederhana adalah array satu dimensi. Array jenis ini dapat dianggap sebagai sebuah vektor. Suatu array A berdimensi satu dengan N buah elemen, secara fisik dapat digambarkan sebagai berikut :
A(1)
A(2)
.....
A(I)
.....
A(n)
Indeks dari elemen suatu array menyatakan posisinya dalam urutan secara umum suatu array A berdimensi satu dengan elemen berjenis data T yang mempunyai indeks dari L s/d U dituliskan sbb: A(L:U) = {A(I)}
Untuk I = L, L+1, L+2, ................., U-1, U, dimana masing-masing  A(I) berjenis data T.
L disebut sebagai batas bawah dari indeks A dan U sebagai batas atas dari A.
Jumlah elemen dalam suatu array disebut sebagai range.
Range dari array A(L:U) adalah U - L + 1.
Range dari array B(1:N) adalah N - l + 1= N.

1.2        ARRAY MULTI DIMENSI
Array dua dimensi adalah salah satu contoh dari array jenis multi dimensi (dimensi banyak). Array ini elemen-elemennya merupakan array pula. Bentuk yang dianggap dapat mewakili array dua dimensi ini adalah matriks.  Suatu array B yang terdiri atas M elemen dimana masing-masing elemennya berupa array dengan N elemen, dapat digambarkan sebagai suatu tabel MxN, dengan bentuk sbb:   
1
2
3
...
J
...
N
1
2
3
...
I
...
M
Array ini dituliskan :   B(1:M,1:N) = {B(I,J)},
                                                Untuk  I = 1,2,...,M
                                                            J = 1,2,...,N
Jumlah elemen (range) dari array B ini adalah M x N.
Secara umum, array 2 dimensi B dengan batas bawah indeks pertama L1, batas atas indeks pertama U1, batas bawah indeks kedua L2 batas atas indeks kedua U2, dituliskan:
            B(L1 : U1, L2 : U2) = {B(I,J)}
            Untuk L1 < I < U1 dan L2 < J < U2
Jumlah elemen baris dari array B adalah : ( U2 – L2 + 1 )
Jumlah elemen kolom dari array B adalah : ( U1 - L1 + 1)
Jumlah total elemen array B adalah : (U2 – L2 + 1 )(U1 - L1 + 1)
1.2.1  CROSS SECTION
Yang dimaksud dengan Cross section dari array 2 dimensi adalah suatu himpunan yang anggotanya adalah elemen-elemen dalam satu baris saja atau satu kolom saja. Notasinya menggunakan *.
Contoh : Misal diberikan array B(1:M,1:N).
        B(4,*) = {B(4,1), B(4,2), ...,B(4,N)}
                        B(*,4) = {B(1,4), B(2,4), ...,B(M,4)}
1.2.2  TRANSPOSE
Transpose dari suatu array dua dimensi, adalah suatu array dua dimensi pula dengan menukar posisi indeksnya. Transpose dari array berukuran M x N adalah suatu array berukuran N x M. Transpose dari suatu array dari B dinotasikan dengan BT, dan didefinisikan:     B(I,J) = BT (J,I)
Selanjutnya secara umum, suatu array A berdimensi N dapat dituliskan sbb:
                        A(L1:U1,L2:U2,...,LN:UN)
Jumlah elemen array ini adalah :                                                                                                                                                                                                N
(U1 - L1 + 1)(U2- L2+ 1)... (UN - LN + 1) (UK - LK + 1)
                                                                                                  k=1
Sebagai contoh perhatikan sebuah array berdimensi 3 yang menggambarkan (berisi) jumlah mahasiswa STMIK Asia untuk kelas reguler dan eksekutif.
Array ini dapat digambarkan sbb :
Jika array ini diberi nama Asia, maka bentuknya dapat dituliskan sbb:
            Asia(1:2,1:2, A:E) = {Asia(i,j,k)}
            dimana            I = 1,2 (1 = pria, 2 = wanita)
                                    J = 1,2 (1 = reguler, 2 = eksekutif)
                                    K = A,B,C,D,E (kelas A s/d E)
Seluruh mahasiswa reguler dapat ditunjukkan dengan Asia (*,1,*)
sedangkan seluruh mahasiswa eksekutif dapat ditunjukkan dengan Asia (*,2,*)
1.3        DEKLARASI ARRAY DALAM BAHASA PEMROGRAMAN.
Misal diberikan array dengan nama A yang mempunyai 24 elemen dengan masing-masing elemen berjenis data integer, maka deklarasinya dalam bahasa pemrograman adalah sbb:     VAR A : ARRAY [1..24] OF INTEGER;
Dalam mendeklarasikan suatu array ada 3 hal yang harus ada pada deklarasi tersebut, yaitu:
1.      Nama array
2.      Range dari indeksnya
3.      Tipe elemen-elemen datanya
1.4        PEMETAAN ARRAY KE STORAGE
Ada beberapa cara untuk menyatakan suatu array pada storage, tetapi konsepnya hampir sama dengan apa yang ada pada data fungsi.
1.4.1        ARRAY SATU DIMENSI
Misal diberikan array satu dimensi dengan nama A yang mempunyai indeks 1 s/d N, yaitu A(1:N). Secara fisik array A(1:N) dapat digambarkan sbb:
A(1)
A(2)
A(3)
...
A(I)
...
A(N)
Yang perlu kita ketahui disini adalah letak elemen ke I dari array A(1:N), atau letak masing-masing elemen array pada storage. Letak suatu elemen biasanya disebut sebagai starting address atau starting location atau base location. Untuk mengetahui starting address suatu elemen array, perlu diketahui lebih dulu antara lain :
  1. Starting address dari array yang bersangkutan.
  2. Ukuran masing-masing elemen array atau ruang yang digunakan masing-masing elemen array.
Misal starting address dari array A(1:N) adalah B dan masing-masing elemennya menggunakan ruang sebanyak  S bit. Maka starting address elemen ke I dari array A(1:N) adalah           : B + ( I - 1 ) * S
Hal ini disebabkan ada (I - 1) elemen array A, masing-masing dengan ukuran atau panjang S secara fisik mendahului elemen ke I pada array tersebut.
Secara umum dapat dikatakan bahwa :
      Starting address elemen ke I dari array A(L:U) adalah (B +( I – L ) * S jika starting address array A adalah B dan masing-masing elemenya menggunakan ruangan sebanyak S bit.
1.4.2        ARRAY MULTI DIMENSI
Prinsip yang digunakan disini tetap didasarkan pada array satu dimensi. Oleh karena itu untuk array multi dimensi, linierisasi-nya dapat dilakukan berdasarkan baris atau kolom.
Contoh : Misal diberikan array  A(1:3,1:4). Array ini secara fisik dapat digambarkan sbb :
1
2
3
4
1
2
3
Linierisasi menurut baris akan mengakibatkan bentuk diatas menjadi :
1
2
3
Jika B adalah starting address array A(1:3,1:4) dan S adalah ruang yang digunakan oleh masing-masing elemennya, maka starting address dari elemen A(I,J) adalah :  B + (I-1) * 4 * S + (J-1) * S
Hal ini karena ada ( I - 1) baris, masing-masing dengan panjang 4 * S yang mendahului baris dimana elemen A(I,J) berada dan ada (J-1) elemen masing-masing dengan panjang S yang mendahului elemen A(I,J) pada baris ke I.
Contoh  Dari array A(1:3,1:4) akan dicari starting adress elemen A(2,4).
baris
1
baris
2
baris
3
                                                                                    A(2,4)
Starting address A(2,4)           = B + (2 - 1) * 4 * S + (4 - 1) * S
                                                = B + 7 * S
Secara umum elemen A(I,J) dari array A(l:U,L:U) mempunyai starting address :
                                    B + (I-L1) * (U2-L2+1) * S + (J-L2) * S
Alternatif lain untuk linierisasi adalah dengan menggunakan cara kolom jika diberikan array A(1:3,1:4) diatas, maka bentuk linierisasinya :
           
Jika B adalah starting address dari array A(1:4,1:6) dan S adalah ruang digunakan untuk masing-masing elemennya, maka starting address dari A(I,J) adalah :
                                    B + (J - 1) * 4 * S + (I - 1) * S
Hal ini disebabkan ada (J - I) kolom masing-masing dengan 4 elemen yang panjangnya s yang mendahului kolom tempat elemen A(I,J) berada dan ada (I-1) elemen masing-masing dengan panjang S yang mendahului elemen A(I,J) pada kolom ke J.
Secara umum dapat dikatakan bahwa elemen A(I,J) dari array A(L1:U1,L2:U2), menurut kolom mempunyai starting address : B + (J-L2) * (U1-L1+1) * S + (I-L1) * S
Jika starting adress array tersebut adalah B dan masing-masing elemenya menggunakan ruang sebanyak S bit.
Contoh : Misal diberikan array K(1:4,1:6) dengan starting address B dan masing-masing elemenya menggunakan ruang S bit. Maka starting adress dari elemen k(2,4) adalah :
                                    = B + (4 - 1) * (4-1+1)  * S + (2 - 1) * S
                                    = B + 3 * 4* S + 1 * S
                                    = B + 13 * S


1.5        RECORD
Record adalah himpunan dari elemen-elemen yang heterogen. Heterogen adalah elemen-elemennya dapat mempunyai tipe data yang berbeda.
Beberapa hal yang perlu diketahui dalam record sbb:
1.      ELEMENTARY ITEM adalah suatu field yang tidak mempunyai subfield.
2.      GROUP ITEM adalah suatu field yang mempunyai subfield.
3.      TUPEL adalah gabungan atribut yang menjadi suatu informasi dari proses                       basis data.
Contoh RECORD :
      PEGAWAI
Job Tittle
Emp. No
Pay Rate
Name
Telp. No
Analys
00012724
1.000.000
Bob Geldof
7801725
Programmer
00023451
   800.000
Ceu Rika
7521475
( String(20) )
( String(8) )
( Real(9,2) )
( String(25) )
( String(7) )
      Record-record yang tipenya sama : FILE.
Untuk menyatakan suatu data dalam record yang mempunyai identifikasi yang khusus, maka harus punya 1 field khusus yang disebut KEY (kunci field).
1.6        DEKLARASI RECORD DALAM BAHASA PEMROGRAMAN
            PROGRAM DALAM PASCAL
      Type
            Pegawai = Record;
                                          Job_Tittle : String[20];
                                          Emp_No  : String[8];
                                          Pay_Rate : Real;
                                          Name       : String[25];
                                          Telp_No   : String[7];
                                   End;           
 
* RECORD Sebuah record merupakan koleksi satuan data yang heterogen, yakni terdiri dari berbagai type. Satuan data tersebut sering disebut sebagai field dari record. Field dipanggil dengan menggunakan namanya masing-masing. Suatu field dapat terdiri atas beberapa subfield. Sebagai Contoh, data personalia dari seorang pegawai suatu perusahaan di Amerika Serikat, merupakan sebuah record yang dapat terdiri dari berbagai field, dan subfield seperti berikut ini :
1 NOMOR-JAMINAN-SOSIAL
2 NAMA, yang terdiri atas : NAMA-BELAKANG NAMA-DEPAN NAMA-TENGAH
3 ALAMAT, terdiri atas : JALAN NOMOR RUMAH NAMA-JALAN KOTA NEGARA-BAGIAN KODE-POS
4 MENIKAH

Pada record tersebut di atas, satuan data seperti NAMA BELAKANG ataupun KOTA merupakan tipe data string, sedangkan data lain seperti GAJI POKOK, TUNJANGAN JABATAN dan berbagai data yang akan diolah secara matematis akan disimpan dengan tipe data numerik, bisa integer maupun real. Data MENIKAH bisa digunakan tipe data boolean atau logikal. Seperti telah kita paparkan terdahulu, array berbeda dengan record, yakni array bersifat homogen (terdiri dari tipe data yang sama), dan komponen array tidak memiliki nama sendiri, dan hanya diberi identifikasi oleh posisi mereka di dalam array.

Penggunaan keduanya di dalam program juga berbeda, jika penggunaan array pada umumnya akan disimpan di memori utama komputer (bersifat sementara), sedangkan record biasanya digunakan dalam filing yang akan disimpan di memori sekunder komputer, seperti hard disk, disket, dan lainnya. Sebuah record memberi informasi tentang berbagai kondisi dari obyek pada permasalahan yang nyata sehari-hari. Setiap field memberi uraian tentang satu atribut dari obyeknya. Sebuah record biasanya diberi identifikasi oleh key-nya. Key atau kunci adalah salah satu atau lebih field yang dipilih untuk tujuan penyampaian informasi yang terjadi di dalam record yang bersangkutan. Koleksi dari record yang sama struktur fieldnya disebut suatu file atau berkas.

Jadi, koleksi dari record semua pegawai perusahaan membentuk sebuah file personalia. Pada umumnya record disimpan membentuk file, dalam urutan sesuai dengan nilai dari key masing-masing. Di dalam suatu file PERSONALIA, field NOMOR JAMINAN SOSIAL dari seorang pegawai dapat digunakan sebagai key. Di dalam bahasa pemrograman tingkat tinggi, record dapat dinyatakan sebagai struktur data (COBOL dan PL/1) dapat diadakan spesifikasi tentang nama record, field dan subfield yang bersangkutan.

Bentuk umum deklarasi Record Algoritma :
namaVar : record < namaField1 : tipeField1 , namaField2 : tipeField2 , namaFieldn : tipeFieldn , > Atau namavar dapat dipisah dari deklarasi tiperecordnya, sehingga menjadi : Type namaTipeRecord : record < namaField1 : tipeField1 , namaField2 : tipeField2 , … … namaFieldn : tipeFieldn , > namaVar : namaTipeRecord Bahasa C++ : struct namaTipeStruct { tipeField1 namaField1; tipeField2 namaField2; … … tipeFieldn namaFieldn; } namaVar; Atau namavar dapat dipisah dari deklarasi tiperecordnya, sehingga menjadi : typedef struct { tipefield1 namafield1; tipefield2 namafield2; … … tipefieldn namafieldn; } namatipestruct; namatipestruct namavar; Catatan : namaVar bisa lebih dari satu Contoh record :

Algoritma : Deklarasi Type Mahasiswa : Record < NIM : integer, Nama : string, KodeMK : string, NilaiHuruf : char > Mhs1,Mhs2 : Mahasiswa Bahasa C++ : //deklarasi typedef struct { int NIM; char Nama[20]; char KodeMK[10]; char NilaiHuruf; } Mahasiswa; Mahasiswa Mhs1,Mhs2; Cara mengakses elemen record : namavar.namafield Contoh Program :
#include(iostream)
#include(string.h)
typedef struct { int tanggal, bulan, tahun; }
data_tanggal tgl_lahir; typedef struct { char nama[30];
data_tanggal tgl_lahir;
{ data_rekan;
data_rekan info_rekan;
Main()
{ strcpy(info_rekan.nama,”Budi”);
info_rekan.tgl-lahir.tanggal = 30; info_rekan.tgl_lahir.bulan = 4; info_rekan.tgl_lahir.tahun = 2002;
cout << “Nama : “ < cout << “\nTanggal Lahir :”;
cout << “-“ << info_rekan.tgl_lahir.bulan;
cout << “-“ << info_rekan.tgl_lahir.tahun;
}

Contoh Variasi program Cara Mendeklarasikan Structur :
#include(iostream.h)
#include(string.h)
main()
{ struct data_tanggal { int tanggal, bulan, tahun; };
struct data_rekan { char nama[30]; struct data_tanggal tgl_lahir; };
struct data_rekan info_rekan;
strcpy(info_rekan.nama,”Hanif”);
info_rekan.tgl_lahir.tanggal = 30;
info_rekan.tgl_lahir.bulan = 4;
info_rekan.tgl_lahir.tahun = 2002;
cout<<”Nama : “< cout<<”\nTanggal lahir :”;
cout< cout<<”-”< cout<<”-”< }



ARRAY

Array merupakan tipe data terstruktur yang berguna untuk menyimpan sejumlah data yang bertipe sama. Bagian yang menyusun array disebut elemen array, yang masing-masing elemen dapat diakses tersendiri melalui indeks array.

Membuat Array
Suatu array dapat dibuat dengan menggunakan konstruksi array. Sebagai contoh array jurusan diatas dapat dibentuk dengan menggunakan pernyataan sebagai berikut ini :
$jurusan = array (“Elektronika”,
“Telekomunikasi”,
“Elektro Industri”,
“Teknologi Informasi”,
“Teknik Kimia”);
Cara yang lain, anda bisa menggunakan cara sebagai berikut :
$jurusan[] = “Elektronika”
$jurusan[] = “Telekomunikasi”
$jurusan[] = “Elektro Industri”
$jurusan[] = “Teknologi Informasi”
$jurusan[] = “Teknik Kimia”
Angka yang diletakkan di dalam tanda [] biasanya disebut kunci atau indeks. PHP, secara bawaan menggunakan indeks dimulai dengan nol.

Mengambil isi Array
Untuk mengambil isi array, anda bias menggunakan notasi :
$nama_array[indeks]
Contoh :
Print ($jurusan[0]);
Akan menampilkan isi elemen pertama array jurusan.
Mengetahui Jumlah elemen Array
PHP menyediakan fungsi bernama count yang berguna untuk mendapatkan jumlah elemen array. Fungsi ini memerlukan argument berupa array bersangkutan. Sebagai contoh :
Index
$jurusan
$musik = array (“Jazz”, “Blues”, “Fusion”);
Printf(“Jumlah elemen : %d”, count($musik));
Akan menampilkan :
Jumlah elemen = 3

Pada contoh diatas,
• Elemen berindeks “Sunday” berisi string “Minggu”;
• Elemen berindeks “Sunday” berisi string “Senin”;
• Elemen berindeks “Tuesday” berisi string “Selasa”;
• Elemen berindeks “Wednesday” berisi string “Rabu”;

Array Multidimensi
PHP memungkinkan sebuah elemen array mengandung array dan bahkan jumlah elemen array yang dikandung oleh elemen array bisa berbeda.
 
Selamat Sore Bertemu lagi dengan gua di blog pendacarrion,kemarin gua sudah posting Contoh Program Tipe Data Array kali ini gua mau posting contoh Tipe Data  Record di dalam Array menggunakan Turbo Pascal. mumpung lagi di kasih tugas terus menurus sama si dosen dan tugasnya di suruh kumpulin lewat blog, nah ambil kesempatan juga untuk sharing ilmu.
 Oke Langsung aja Ke TKP !!

1. Pertama Kalian Buka Turbo Pascal Kalian.
2. Kemudian Buat Projek Baru.
3. Copy Coding Di Bawah ini
      

program tugas2;         {judul program bisa di tulis apa saja}
uses crt;

type
      mahasiswa = record
                           nim        :string[8];
                           nama     :string[30];
                           jurusan :string[20];
                           tgl          :string[10];
                           alamat  :string[30];
                           notelp   :string[12];
     end;
var
     mhs :array[1..10] of mahasiswa;
     byk :byte;
     i,j :integer;

begin
clrscr;

txtcolor(10);
writeln('           TUGAS STRUKTUR DATA          ');        {boleh tidak di tulis}
writeln('===========================');
writeln('===========================');
textcolor(15);
write(Masukkan Jumlah Mahasiswa: ');readln(byk);
for i:= 1 to byk do
begin
write('NIM                :');readln(mhs[i].nim);
write('Nama              :');readln(mhs[i].nama);
write('Jurusan          :');readln(mhs[i].jurusan);
write('Tanggal Lahir:');readln(mhs[i].tgl);
write('Alamat            :');readln(mhs[i].alamat);
write('No Telpon      :');readln(mhs[i].notelp);
writeln;
end;
textcolor(10);
for j:= 1 to byk do
begin
writeln('NIM                :',mhs[j].nim);
writeln('Nama              :',mhs[j].nama);
writeln('Jurusan          :',mhs[j].jurusan);
writeln('Tanggal Lahir:',mhs[j].tgl);
writeln('Alamat            :',mhs[j].alamat);
writeln('No Telpon      :',mhs[j].notelp);
writeln;
end;
writeln;
writeln;
write(*****STIKI INDONESIA*****);
readln;
end.


4. Jika sudah Mengcopy Coding di Atas kemudian Coba di Run menggunakan Ctrl+f9. Maka Prosesnya input dan outpunya sperti di bawah ini..


gambar 1.1



















gambar 1.2

Keterangan:
gambar 1.1 menjelaskan inputan data yang akan di proses
gambae 1.2 menjelaskan output data yang telah di proses oleh user