18
RESUME DASAR PEMROGRAMAN ARRAY,RECORD,PROCEDURE AND FUNCTION UNTUK MEMENUHI NILAI TUGAS DASAR PEMROGRAMAN SEMESTER II YANG DI BINA OLEH Ibu. Ika Atsari Dewi, STP, Mp. Oleh: ADERIA BAGUS PRATIWI DEDI ARFIANTO DIANITA YANA RATRI 115100307113017 115100307113002 115100301113001 LEEANANDA GALANG P.P 115100307113013 MARINAYATI SANTOSA 115100307113010 PUTRI INTAN V.S 115100307113024 UNIVERSITAS BRAWIJAYA TEKNOLOGI INDUSTRI PERTANIAN RESUME DASAR PEMOGRAMAN Page 1

 · Web viewDiperlukan metode untuk menyiapkan sejumlah tempat kosong dalam memori komputer yang hanya akan dipakai untuk menyimpan nilai tersebut selama program berjalan, dan nilai

  • Upload
    buicong

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

RESUME DASAR PEMROGRAMAN

ARRAY,RECORD,PROCEDURE AND FUNCTION

UNTUK MEMENUHI NILAI TUGAS DASAR PEMROGRAMAN SEMESTER II YANG DI BINA

OLEH

Ibu. Ika Atsari Dewi, STP, Mp.

Oleh:

ADERIA BAGUS PRATIWI DEDI ARFIANTO

DIANITA YANA RATRI

115100307113017115100307113002115100301113001

LEEANANDA GALANG P.P 115100307113013MARINAYATI SANTOSA 115100307113010

PUTRI INTAN V.S 115100307113024

UNIVERSITAS BRAWIJAYA

TEKNOLOGI INDUSTRI PERTANIAN

2012

RESUME DASAR PEMOGRAMAN Page 1

FOTO ANGGOTA KELOMPOK

RESUME DASAR PEMOGRAMAN Page 2

MARINAYATI SANTOSA

1151003071130

DIANITA YANA RATRI

115100301113001

RESUME DASAR PEMOGRAMAN Page 3

LEEANANDA GALANG P.P

115100307113013

DEDI ARFIANTO

115100307113002

RESUME DASAR PEMOGRAMAN Page 4

PUTRI INTAN V.S

115100397113024

ADERIA BAGUS PRATIWI

115100307113017

1. Array

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 nilai-

nilai dari elemen array dibatasi nilainya dalam suatu jangkauan range tertentu, maka dapat

dideklarasikan dengan tipe array berbentuk 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.

1. 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.

2. Deklarasi.

Bentuk umum deklarasi array adalah:

type tipe_array = array [range_index] of ipe_data;

var var_array : tipe_array; (1.1)

RESUME DASAR PEMOGRAMAN Page 5

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.

Tentang pemilihan model deklarasi, model deklarasi dengan membuat sebuah tipe array seperti

model (1.1) akan lebih jelas dan lebih ringkas yang dapat dirasakan saat variabel-variabel bertipe

array digunakan sebagai parameter sebuah fungsi atau prosedur.

3. Operasi Pada Array

Terdapat beberapa operasi pada tipe data array yang harus diketahui untuk memudahkan

menggunakan array dalam bentuk program,operasi tersebut diantaranya adalah :

Operasi Memasukkan dan Mengambil Nilai

Bila array sudah dideklarasikan dan sudah diberi suatu nama, maka dapat dimanfaatkan

sesuai fungsinya sebagai objek data. Operasi memasukkan nilai adalah operasi untuk memasukkan

nilai data ke dalam elemen-elemen array. Biasanya hal ini dilakukan dengan operasi penugasan

(assignment) dengan objek array terletak sebagai operan di sebelah kiri tanda ‘:=’.

RESUME DASAR PEMOGRAMAN Page 6

Sedangkan operasi mengambil nilai adalah operasi untuk mendapatkan/membaca nilai dari

suatu array. Hal dini dilakukan ketika menggunakan array sebagai operan nada suatu operasi atau

sebagai parameter sebuah fungsi/prosedur.

Operasi Mengakses array

Operasi mengakses suatu objek data merupakan nama yang lebih umum daripada operasi

memasukkan nilai ataupun membaca nilai. Jadi, operasi mengakses array dapat berupa memasukkan

nilai atau membaca nilai array. Operasi ini dapat dilakukan pada array secara keseluruhan ataupun

pada suatu elemen tertentu.

Mengakses Eleman Array Secara Acak (Random)

Setiap elemen array dapat diperlakukan secara individual terlepas dari elemen-elemen

lainnya. Misalnya dalam hal memasukkan data, nilai[7] dapat dimasukkan lebih dulu daripada

elemen lainnya.meskipun akhirnya semua elemen array akan diakses, namun tidak aturan yang pasti

tentang urutan mengaksesnya. Kita bisa saja mengakses nilai[5] tanpa mengakses komponen array

lainnya.

Mengakses Elemen Array Secara Sequensial (Berurutan)

Struktur array yang elemen-elemennya tersusun secara berurutan, memungkinkan kita

mengakses sebagian atau seluruh elemen array secara berurutan. Untuk proses mengunjungi

elemen array (traversal of array) secara berurutan dapat dilakukan dengan proses looping

(perulangan). Pada model-model di atas, elemen-elemen array diakses secara berurutan dengan

selisih satu index. Jadi elemen ke-6 akan diakses sebelum atau sesudah elemen ke-5 ataupun ke-7.

Pergeseran index dilakukan dengan menambah atau mengurangi index sebelumnya dengan 1. Kita

juga dapat membuat model yang lain dengan mengubah selisih indexnya. Misalkan menjadi 2, 3,

atau berapa saja sesuai keperluan, asalkan selalu berada pada range index.

Mengakses Array Secara Keseluruhan

Selain mengakses komponen array, kita juga dapat mengakses array secara keseluruhan

yang akan mempengaruhi semua elemennya sekaligus. Misalkan A dan B adalah dua buah variabel

array yang tipenya sama, dan jumlah elemennya juga sama, maka dalam Pascal dapat dilakukan

operasi penugasan A := B yang berarti memasukkan nilai dari setiap elemen array B ke semua

elemen A pada Index-Index yang bersesuaian.

RESUME DASAR PEMOGRAMAN Page 7

4. Array Multidimensi

Tipe data elemen array tidak harus berupa tipe data elementer, namun juga dapat berupa

tipe data terstruktur, misalnya array. Sebagai contoh, perhatikan deklarasi berikut:

Var Matrix:array[1..3,1..3] of integer;

Bentuk deklarasi mungkin saja dibuat untuk kasus demikian, tipe nilai_ujian adalah berupa

array dengan dua elemen bertipe integer untuk menyimpan nilai ujian midterm dan ujian akhir.

Sedangkan variabel nilai adalah array dengan sepuluh elemen bertipe nilai_ujian, yang digunakan

untuk menyimpan nilai ujian dari 10 mahasiswa. Elemen-elemen array nilai bertipe array integer.

Walaupun terdapat dua buah array, tetapi setiap deklarasi array hanya dibatasi dengna

sebuah range Index saja. Jumlah elemen array nilai adalah 10, walaupun secara keseluruhan

banyaknya bilangan yang dapat disimpan adalah 20 buah. Array demikian dikenal sebagai array

berdimensi 1.

5. Penggunaan Konstanta untuk Batas Index Arrray

Deklarasi konstanta sering digunakan untuk batas bawah dan batas atas pada range Index

array. Setiap kali menggunakan array, kita pasti berharap agar ruang yang kita sediakan sesuai

dengna banyaknya data yang akan disimpan; jangan sampai berlebihan, ataupun kekurangan.

Sering kali kita terpaksa harus mengubah batas-batas range Index untuk menyesuaikan

jumlah data. Penggunaan konstanta akan memudahkan bila ada keperluan untuk mengubah batas-

batas range Index array, yaitu cukup mengganti nilai konstanta tersebut.

2. RECORD

Sama halnya dengan Array, Record merupakan kumpulan dari data yang terstruktur.

Perbedaannya adalah bahwa dalam array semua elemennya harus bertipe sama, sedangkan pada

record setiap elemen bisa mempunyai tipe data yang berbeda satu sama lainnya. Dalam

penerapannya record lebih banyak digunakan selain itu penggunaan record juga dapat

digabungkan/dikombinasikan dengan penggunaan array.

RESUME DASAR PEMOGRAMAN Page 8

Bentuk umum dari deklarasi tipe Record adalah :

Type [nama_variabel] = Record

[field1] : tipe1;

[field2] : tipe2;

………

[fieldN] : tipeN;

End;

Keterangan:

[nama_variabel] : Nama variabel yang akan dideklarasikan.

[field1]...[fieldN] : Nama Field yang akan digunakan.

[tipe1]...[tipeN] : Sembarang Tipe Data untuk tiap field.

Contoh Pendeklarasian :

Type Mahasiswa = Record

Nama : String[25];

NPM : String[8];

Nilai : 0..100;

End;

RESUME DASAR PEMOGRAMAN Page 9

PROCEDURE AND FUNCTION

1. Prosedur

Prosedur merupakan suatu rutin yang melakukan proses tertentu tanpa adanya pengembalian

nilai Prosedur menyediakan suatu metode pengisolasian bagian program secara terpisah yang dapat

dipanggil atau diaktivasi dari bagian manapun didalam program. Dalam bahasa pascal prosedur

didefinisikan dengan kata kunci procedure. Procedure terbagi menjadi dua yakni procedure by value

dan procedure by reference. Procedure by Value mempunyai karakteristik sebagai berikut :

1) Data yang dikirim dari parameter aktual dari blok program utama ke parameter formal di

prosedur adalah nilai dari datanya, bukan alamat memori letak dari datanya.

2) Proseure/fungsi yang menerima nilai ini akan menyimpan data tersebut di alamat memori

yang berbeda dari nilai aslinya yang digunakan oleh bagian program yang memanggil

fungsi/prosedur tersebut di blok utama.

3) Karena terdapat alamt meori yang berbeda, maka perubahan nilai di fungsi tersebut tidak

akn merubah nilai asli di bagian program yang memanggil prosedur/fungsi tersebut.

Sedangkan procedure by reference (acuan) mempunyai karakteristik sebagai berikut :

RESUME DASAR PEMOGRAMAN Page 10

1) Pada saat pengiriman nilai, yang dikirim dari parameter aktual di blok program utama ke

parameter formal di prosedur adalah alamat letak bukan dari nilai datanya .

2) Prosedur/Fungsi yang menerima nilai ini akan menggunakan alamat memori yang sama

dengan nilai aslinya yang digunakan oleh bagian program yang memanggil fungsi/prosedur

tersebut di blok program utama.

3) Karena menggunakan alamat memori yang sama, maka perubahan nilai di prosedur/fungsi

akan merubah nilai asli di bagian program yang memanggil prosedur/fungsi tersebut

2. Function

Pada fungsi terdapat pengembalian nilai, sehingga pada saat pemanggilan, fungsi dapat

langsung digunakan untuk mengisikan sebuah ekspresi. Fungsi didefinisikan dengan kata kunci

function. Blok fungsi hampir sama dengan blok prosedur, hanya fungsi harus dideklarasikan dengan

tipenya atau jenis hasilnya. Tipe deklarasi ini menunjukkan tipe hasil dari fungsi.

Pada bahasa Pascal dikenal beberapa fungsi, misalkan : abs, pred, sqrt, sqr, succ dan

sebagainya. Fungsi-fungsi tersebut biasanya dikenal dengan Built in Function. Sedangkan function

yang akan bicarakan disini adalah fungsi yang kita buat sendiri. Berbeda dengan procedure, function

merupakan modul program yang menghasilkan suatu kuantitas.

Hal ini dapat dilihat dari bentuk header-nya yang menyebutkan jenis data dari kuantitas yang

dihasilkan. Secara umum bentuk header suatu function adalah :

FUNCTION nama : jenis hasil;

atau

FUNCTION nama (formal parameter : jenis ) : jenis_hasil;

Contoh :

Akan dibuat suatu fungsi dengan nama MAX yang dapat menentukan integer terbesar di antara dua

integer.

Function MAX (x,y : integer) : integer;

Begin

RESUME DASAR PEMOGRAMAN Page 11

If x < y then MAX := y ;

Else MAX := x;

End;

Selanjutnya kita dapat menggunakan fungsi di atas dalam suatu program, misalnya dengan

menyatakan sebagai berikut :

P := MAX(a,b);

Z := MAX(a+b,a*b);

Q := MAX(MAX(a,b),c);

dsb.

SOAL

RESUME DASAR PEMOGRAMAN Page 12

Gambar input data program

Gambar hasil running program

RESUME DASAR PEMOGRAMAN Page 13

Gambar input data program

RESUME DASAR PEMOGRAMAN Page 14

Ganbar hasil running program

DAFTAR PUSTAKA

http://satrianasoft.wordpress.com/2009/09/13/prosedur-fungsi-di-pascal/

http://kuliahkomputer.wordpress.com/2007/12/05/mengenal-array-pada-pascal/

http://new-funday.blogspot.com/2012/03/array-dalam-pascal.html

RESUME DASAR PEMOGRAMAN Page 15