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