algoritma & pemrograman - WordPress.com

10 downloads 259 Views 519KB Size Report
materi pengajaran algoritma & pemrograman I (IF-185). 1. Pendahuluan. 4. Procedure ... Belajar memprogram tidak sama dengan belajar bahasa pemrograman.
algoritma & pemrograman

materi pengajaran algoritma & pemrograman I (IF-185) 1. Pendahuluan - Bahasa Pemrograman - Membuat program / algoritma Pertemuan : 1x 2. Dasar Algoritma - Tipe data - Ekspresi - Variabel - Constanta dsb Pertemuan : 1x 3. Struktur Program / Struktur Kontrol - Sekuensial - Pencabangan - Pengulangan

Pertemuan : 3x

4. Procedure & Function Pertemuan : 3x

5. UTS 6. Mesin Karakter & Tipe bentukan Pertemuan : 2x 7. Array/Larik Pertemuan : 4x 8. UAS

bobot penilaian • • • •

Kehadiran : min 12x pertemuan Tugas : 30 % Praktikum : 30 % Test : 40 %

latar belakang • Solusi Informatika

Sistem Perangkat Lunak Sistem Informasi Sistem Dunia Nyata

Perspektif Proses

Perspektif Data

Perspektif Interaksi

pemrograman Belajar Memprogram Dan Belajar Bahasa Pemrograman • Belajar memprogram tidak sama dengan belajar bahasa pemrograman • Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. • Belajar bahasa pemrograman berarti belajar memakai suatu bahasa aturan-aturan tata bahasanya, instruksiinstruksinya, tata cara pengoperasian compiler-nya, dan memanfaatkan instruksi-instruksi tersebut untuk membuat program yang ditulis hanya dalam bahasa itu saja.

belajar memprogram • Belajar memprogram ≠ belajar bahasa pemrograman • Belajar memprogram : belajar tentang strategi pemecahan masalah, metodologi dan sistematika pemecahan masalah kemudian menuliskannya dalam notasi yang disepakati bersama • Belajar memprogram : bersifat pemahaman persoalan, analisis dan sintesis

• Belajar memprogram, titik berat : designer program

belajar bahasa pemrograman • Belajar bahasa pemrograman : belajar memakai suatu bahasa pemrograman, aturan sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa • Belajar bahasa pemrograman , titik berat : coder Produk yang dihasilkan pemrogram : • • • • • •

program dengan rancangan yang baik (metodologis, sistematis) dapat dieksekusi oleh mesin berfungsi dengan benar sanggup melayani segala kemungkinan masukan disertai dokumentasi belajar memprogram, titik berat : designer program

bahasa pemrograman • merupakan tool / alat yang dapat digunakan oleh pengguna untuk memerintahkan komputer melakukan sebuah pekerjaan • memiliki aturan dan tata bahasa, instruksi dan tata cara pengoperasian • berdasarkan terapannya, dibagi atas : – bahasa pemrograman bertujuan khusus : cobol, fortran, prolog, dsb – bahasa pemrograman bertujuan umum : pascal, basic, c

bahasa pemrograman • berdasarkan kedekatannya dgn komputer, dibagi atas : – bahasa tingkat rendah – bahasa tingkat tinggi

• memiliki paradigma / tahapan pelaksanaan, misalnya : – – – – – –

prosedural fungsional deklaratif konkuren berorientasi objek dsb

paradigma Programming Language Paradigm

Imperative

Prosedural : C, Pascal, Fortran, Basic

ObjOriented : Ada, Object Pascal, C++, Java, Smalltalk, Eiffel

Declarative

Parallel Processing : Ada, Pascal S, Occam, CLinda

Logic : PROLOG

Functional : LISP, APL, SCHEME

Database : SQL

the evolution of programming language generations

Machine

1st

2nd

3rd

4th

5th

Machine Language

Assembly Language

Procedural Language

NonProcedural Language

Intelligent Language

0-1 Long difficult programming

Assemble repetitive instructions shorter code

Include command shorter code

Application generators, commends specify results

Natural language processing

Human

Natural Language

progress

algoritma : pendahuluan • berasal dari kata Algorithm

• definisi : – Adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis – Adalah urutan logis pengambilan putusan untuk pemecahan masalah (kamus)

• merupakan cara untuk menggambarkan setiap langkahlangkah proses dalam penyelesaian sebuah masalah, bahkan dalam kehidupan sehari-hari ; merupakan bagian dari upaya belajar memprogram / membuat program • memiliki notasi penulisan ; independen terhadap bahasa pemrograman

alur pembuatan perangkat lunak

Data Structure Working Program

Plan

Requirment Spec

Design

Listing

Test Spec

konsep dasar • terdiri dari deskripsi pelaksanaan suatu proses ( ada instruksi dan aksi ) t0

: keadaan sebelum aksi dikerjakan a k s i

t1

: keadaan setelah aksi dikerjakan

• memiliki struktur dasar : – runtutan (sequence) – pemilihan (selection) – pengulangan (repetition)

• aturan penulisan / teks algoritma : – kepala algoritma / judul algoritma – deklarasi – deskripsi

contoh penulisan Algoritma Nama_algoritma { penjelasan tentang algoritma, yang berisi uraian singkat mengenai apa yang akan dilakukan oleh algoritma } DEKLARASI : { nama tetapan } const JumPeg = 100 { nama tipe } type Titik : record < x : integer, y : integer > { nama peubah / var } a : char posisi : Titik b : integer c : integer e : real ada : boolean DESKRIPSI : e← 0 read(c,d) if c < d then e ← a+b else e ← a-b endif write(e)

bagian algoritma •

kepala algoritma – bagian yang terdiri dari nama algoritma dan penjelasan / spesifikasi tentang algoritma tersebut – ditulis singkat namun cukup menggambarkan apa yang akan dilakukan oleh algoritma tersebut – penjelasan di bawah judul algoritma sering dinamakan juga spesifikasi algoritma



deklarasi – bagian untuk mendefinisikan semua nama yang dipakai di dalam algoritma dapat berupa deklarasi nama tetapan, peubah, tipe, prosedur atau fungsi



deskripsi – berisi uraian langkah-langkah penyelesaian masalah – langkah-langkah penyelesaian masalah biasanya ditulis dalam sebuah notasi – penggambaran sebuah notasi dalam deskripsi algoritma biasanya dibuat dengan memberi garis bawah misalnya : • • • • • •

read write if then else Endif

– notasi yang lain misalnya :

lambang ← atau →

tipe data dalam algoritma • tipe dasar – bilangan logika / boolean bernilai : true, fals – bilangan bulat / integer bernilai : rentang tidak terbatas, biasanya didefinisikan – bilangan riil / real bernilai : rentang tidak terbatas, biasanya didefinisikan – karakter / char bernilai : semua huruf alfabet a…z, 0…9, tanda baca, operator aritmatik, karakter khusus

• tipe bentukan – string merupakan deretan karakter – tipe baru hasil bentukan dari tipe dasar sama dengan tipe dasar yang dibentuknya – rekaman / record merupakan tipe terstruktur dengan susunan field

nama objek dalam algoritma • • • • •

peubah (variabel) tetapan (constant) nama tipe bentukan nama fungsi nama prosedur

nilai dalam algoritma 1. Pengisian nilai ke peubah - pengisian langsung (assignment) notasi : ← contoh : x ← 5 - dibaca dari piranti masukan notasi : read contoh : read( M ) read( nama_kota ) read( a1, a2, a3 )

2. Ekspresi - Suatu transformasi nilai menjadi keluaran yang dilakukan melalui suatu perhitungan. - Terdiri atas operand dan operator. Operand adalah nilai yang dioperasikan melalui sebuah operator tertentu. - Operand dapat berupa tetapan, nama peubah, nama tetapan, atau hasil dari suatu fungsi. - Dikenal 3 macam ekspresi : - Ekspresi aritmatik - Ekspresi relational - Ekspresi string

nilai dalam algoritma 3. Menuliskan Nilai ke piranti keluaran Notasi : write Contoh : write(nama1, nama2 ) write(a) write(tetapan)

struktur algoritma • Struktur Runtutan/Sequence – tiap instruksi dikerjakan satu per satu – tiap instruksi dilaksanakan tepat sekali; tidak ada instruksi yang diulang – urutan instruksi yang dilaksanakan pemroses sama dengan urutan aksi yang tertulis di algoritma – akhir dari instruksi terakhir adalah akhir algoritma a1 ↓ a2 ↓ a3 ↓ a4

awal algoritma

akhir algoritma

struktur algoritma • Contoh struktur runtutan deklarasi a, b, c : integer

deskripsi c←1 write( c + 4 ) c←c+5 write( c ) a←c*4 b←a*c write( a )

deklarasi a, b

: integer

kode : char

deskripsi a←5 b←b*2 write( b ) kode ← „A‟ write(kode+‟B‟) kode ← „Ada‟

struktur algoritma • Struktur Pengulangan/Repetition/Loop Struktur While-Do : while do aksi endwhile

Struktur Repeat-Until : repeat aksi until < kondisi >

Struktur For : for peubah ← nilaiawal to nilaiakhir do aksi endfor

struktur algoritma • Implementasi Pengulangan deklarasi

deklarasi a

deskripsi write( „Unpas‟ ) write( „Unpas‟ ) write( „Unpas‟ ) write( „Unpas‟ ) write( „Unpas‟ )

:

integer

deskripsi a←1 while a 5

struktur algoritma • Struktur Pemilihan/Selection Satu kasus :

Dua kasus :

if < kondisi > then aksi endif

if < kondisi > then aksi 1 else aksi 2 endif

struktur algoritma • Struktur Pemilihan/Selection Tiga kasus : if < kondisi1 > then aksi 1 else if < kondisi1 > then aksi 2 else if < kondisi3 > then aksi 3 endif endif endif

Empat kasus : if < kondisi1 > then aksi 1 else if < kondisi1 > then aksi 2 else if < kondisi3 > then aksi 3 else if < kondisi4 > then aksi 4 endif endif endif endif

struktur algoritma • Implementasi struktur pemilihan deklarasi

deklarasi

a

a

: boolean

deskripsi a ← true if a then write( „Unpas‟ ) endif a ← false if not a then write( „Unpas‟ ) else write( „Bukan Unpas‟ ) endif

:

integer

deskripsi a←1 while a : aksi1 < kondisi2 > : aksi2 < kondisi3 > : aksi3 < kondisi4 > : aksi4 . . . . . . < kondisi n > : aksi n [ otherwise aksi x ] endcase

struktur algoritma • Contoh Implementasi Struktur Case :

case (bulan ) bulan = 1 : write( „Januari‟ ) bulan = 2 : write( „Februari‟ ) bulan = 3 : write( „Maret‟ ) bulan = 4 : write( „April‟ ) bulan = 5 : write( „Mei‟ ) bulan = 6 : write( „Juni‟ ) bulan = 7 : write( „Juli‟ ) bulan = 8 : write( „Agustus‟ ) bulan = 9 : write( „September‟ ) bulan = 10 : write( „Oktober‟ ) bulan = 11 : write( „November‟ ) bulan = 12 : write( „Desember‟ ) otherwise write( „Tidak Terdaftar‟ ) endcase

soal-soal 1. Membuat algoritma deret bilangan ganjil, dari 1 sampai 100 2. Membuat algoritma faktorial 3. Memeriksa apakah bilangan bulat positif yang dimasukan melalui piranti masukan adalah terbesar atau terkecil dibandingkan dengan sebelumnya. 4. Menetapkan nilai indeks (A,B,C,D,E) dari sebuah nilai bilangan bulat dengan asumsi : • • • • •

A B C D E

: >= 80 : < 80 dan >= 70 : < 70 dan >= 50 : < 50 dan >= 30 : < 30

prosedur • merupakan bagian program/sub program/modul • memiliki struktur algoritma yang sama dengan struktur algoritma yang telah dipelajari • mempunyai ciri : – mengerjakan pekerjaan yang spesifik – menghasilkan suatu efek netto yang dapat dilihat dari perbedaan keadaan awal dan keadaan akhir – dapat berdiri sendiri/independent dari algoritma utama

• keuntungan : – mempersingkat algoritma dengan menghemat penulisan algoritma yang berulang-ulang – memudahkan dalam melakukan penelusuran kesalahan – memudahkan dalam reorganisasi algoritma dan pemecahan masalah

prosedur • komponen : – header / bagian judul – nama prosedur • dapat ditambahkan komentar • sedapat mungkin merupakan kata kerja

– parameter masukan, keluaran – deklarasi untuk pendefinisian variabel • semua variabel yang didelarasikan hanya dikenali lokal pada prosedur yang bersangkutan

– deskripsi untuk penulisan langkah aksi

prosedur • contoh : procedure HIT_LUAS_SEGITIGA { procedure menghitung luas segitiga dengan rumus L= ½ a x t } { K.Awal : sembarang } { K.Akhir : L berisi luas segitiga. Nilai L dicetak ke piranti keluaran } DEKLARASI : { nama peubah } a : real t : real L : real DESKRIPSI : input( a ) input( t ) L ← a*t/2 output( L )

prosedur • Prosedur bukan program yang berdiri sendiri, sehingga tidak dapat dieksekusi langsung. • Prosedur harus diakses supaya instruksi yang ada didalamnya dapat dilaksanakan. • Cara pemanggilan dari program utama : • NAMA_PROSEDUR • Ketika NAMA_PROSEDUR dipanggil, maka kendali program berpindah secara otomatis ke prosedur tersebut. Sehingga instruksi yang ada dalam prosedur dilaksanakan.

prosedur • Contoh program utama untuk memanggil prosedur HIT_LUAS_SEGITIGA : algoritma LUAS_SEGITIGA_DGN_PROC DEKLARASI : { nama peubah }

procedure HIT_LUAS_SEGITIGA { procedure menghitung luas segitiga dengan rumus L= ½ a x t } DESKRIPSI : output(„Menghitung luas segitiga‟) HIT_LUAS_SEGITIGA output(„Selesai‟)

procedure HIT_LUAS_SEGITIGA { procedure menghitung luas segitiga dengan rumus L= ½ a x t } { K.Awal : sembarang } { K.Akhir : L berisi luas segitiga. Nilai L dicetak ke piranti keluaran } DEKLARASI : { nama peubah } a : real t : real L : real DESKRIPSI : input( a ) input( t ) L ← a*t/2 output( L )

prosedur •

Penggunaan Variabel/Peubah Global

parameter prosedur • Merupakan pertukaran nilai/informasi antara prosedur dengan program yang memanggilnya. • Setiap data dipertukarkan melalui mekanisme parameter formal dan parameter aktual. • Parameter formal adalah parameter yang dideklarasikan di dalam bagian header prosedur • Parameter aktual adalah parameter yang disertakan pada waktu pemanggilan

parameter prosedur • Pendefinisian parameter formal : procedure Nama_Prosedur (daftar parameter formal ) {Spesifikasi prosedur berisi penjelasan tentang apa yang dilakukan oleh prosedur } { K.Awal : keadaan sebelum prosedur dilaksanakan } { K.Akhir : keadaan setelah prosedur dilaksanakan } DEKLARASI : { semua nama peubah yang dipakai dalam prosedur dan hanya berlaku lokal didalam prosedur ini } DESKRIPSI : { badan prosedur, berisi kumpulan instruksi }

• Prosedur dengan parameter diakses dari program dengan cara memanggil namanya disertai dengan parameter aktualnya : Nama_Prosedur ( daftar parameter aktual )

• Catatan penting : – Jumlah parameter aktual pada saat pemanggilan harus sama dengan jumlah parameter formal pada deklarasi prosedurnya – Tiap parameter aktual harus bertipe sama dengan tipe parameter formal yang bersesuaian – Tiap parameter aktual harus diekspresikan dalam cara yang sesuai dengan parameter formal yang bersesuaian, bergantung jenis parameter formal yang digunakan.

parameter masukan • Merupakan parameter yang nilainya berlaku sebagai masukan untuk prosedur, biasanya disebut sebagai “parameter by value”. • Nilai parameter aktual diisikan (assign) ke dalam parameter formal yang bersesuaian. • Nilai yang dinyatakan oleh parameter masukan tidak dapat dikirim kearah sebaliknya. • Perubahan nilai parameter di dalam badan prosedur tidak tidak mengubah nilai parameter aktual. • Boleh dibedakan nama-nama di parameter aktual dengan nama-nama di parameter formal.

procedure Berubah (input x,y : integer) DEKLARASI : { tidak ada }

DESKRIPSI : x ← x+1 y ← y-2 output( x ) output( y )

algoritma PQR DEKLARASI : a , b : integer procedure Berubah(input x,y : integer) DESKRIPSI : Berubah( 4, 10 ) input ( a, b ) Berubah( a, b ) Berubah( a+5, 17 ) b←b+2 Berubah( a, b ) output( a, b )

{ pemanggilan prosedur pertama kali }

{ pemanggilan prosedur kedua kali } { pemanggilan prosedur ketiga kali } { pemanggilan prosedur keempat kali }

parameter keluaran • Merupakan parameter yang menampung keluaran yang dihasilkan oleh prosedur. • Nilai parameter aktual akan menggantikan parameter formal yang bersesuaian dalam prosedur. • Nilai parameter aktual dimemori akan tetap selama prosedur dijalankan dan berubah setelah prosedur selesai dikerjakan.

procedure Berubah (input x : integer, output y : integer) DEKLARASI : { tidak ada } DESKRIPSI : x ← x+1 y ← x*2

algoritma PQR DEKLARASI : a , b : integer c , d : real procedure Berubah(input x : integer, output y : integer) DESKRIPSI : Berubah( 4,b ) output ( b )

{ pemanggilan prosedur pertama kali }

input ( a ) Berubah( a,b ) output ( b )

{ pemanggilan prosedur kedua kali }

Berubah( a+5,b ) output (b )

{ pemanggilan prosedur ketiga kali }

parameter masukan/keluaran • Berfungsi sebagai masukan sekaligus sebagai keluaran bagi prosedur ybs. Biasanya disebut sebagai parameter acuan atau “parameter by reference”. • Nilai parameter aktual di pemanggil akan berubah sesuai dengan perubahan parameter formal di prosedur. procedure Berubah (input/output x,y : integer)

algoritma PQR

DEKLARASI : { tidak ada }

DEKLARASI : a , b : integer c , d : real

DESKRIPSI : x ← x+1 y ← x*2 output ( x ) output ( y )

procedure Berubah(input/output x,y : integer) DESKRIPSI : a ← 15 b ← 10 output (a) output (b) Berubah(a,b) output (a) output (b)

{ pemanggilan prosedur }

konsep fungsi • merupakan bagian program/sub program/modul • memiliki struktur algoritma yang sama dengan struktur algoritma yang telah dipelajari • mempunyai ciri : – mengerjakan pekerjaan yang spesifik – suatu modul yang memberikan/mengembalikan (return sebuah nilai yang bertipe sederhana (integer, real, Boolean dan string). – dapat berdiri sendiri/independent dari algoritma utama

• keuntungan : – mempersingkat algoritma dengan menghemat penulisan algoritma yang berulang-ulang – memudahkan dalam melakukan penelusuran kesalahan – memudahkan dalam reorganisasi algoritma dan pemecahan masalah

pendefinisian fungsi • komponen : – header / bagian judul – nama fugsi • dapat ditambahkan komentar • sedapat mungkin merupakan kata kerja

– parameter masukan, keluaran – deklarasi untuk pendefinisian variabel • semua variabel yang didelarasikan hanya dikenali lokal pada prosedur yang bersangkutan

– deskripsi untuk penulisan langkah aksi

pendefinisian fungsi : function Nama_Fungsi (input daftar parameter formal)  tipe hasil {Spesifikasi function berisi penjelasan tentang apa yang dilakukan oleh function }

DEKLARASI : { semua nama peubah yang dipakai dalam prosedur dan hanya berlaku lokal didalam fungsi ini saja } DESKRIPSI : { badan fungsi, berisi kumpulan instruksi } return hasil { pengembalian nilai yang dihasilkan fungsi }

contoh function HIT_LUAS_SEGITIGA(input a,t : integer)  integer { procedure menghitung luas segitiga dengan rumus L= ½ a x t } { K.Awal : sembarang } { K.Akhir : L berisi luas segitiga. Nilai L dicetak ke piranti keluaran } DEKLARASI : { nama peubah } L : integer DESKRIPSI : L ← a*t/2 return L

• Contoh pemanggilan fungsi : • luas  HIT_LUAS_SEGITIGA( 40, 6 ) • output (HIT_LUAS_SEGITIGA( 40, 6 )) • z  2 * HIT_LUAS_SEGITIGA( 40, 6 ) • if HIT_LUAS_SEGITIGA( 40, 6 ) > 100 then …

pemrosesan teks • mempunyai ciri : – teks didefinisikan sebagai rangkaian karakter, yang memanjang dari kiri ke kanan ( seolah-olah membentuk sebuah pita; sehingga disebut pula sebagai pita karakter) – diakses secara beruntun (sequential) dari awal sampai akhir teks – saat pengaksesan dibantu oleh penunjuk/pointer – ada karakter spesifik yang ditetapkan sebagai akhir teks informatika.

Teks yang terdiri dari 11 karakter, dan diakhiri dengan titik .

Didefiisikan sebagai teks kosong

– biasanya didefinisikan sebuah prosedur universal RESET_TEKS, yang menyebabkan pointer akan menunjuk pada karakter pertama di teks.

pemrosesan teks • deklarasi : DEKLARASI P : text

{ P adalah peubah teks }

• pembacaan teks i n f o r m a t i k a.

pointer

– Pembacaan selalu dari kiri ke kanan – Setiap karakter yang ditunjuk pointer selesai dibaca, pointer akan berpindah otomatis ke karakter berikutnya – Karakter yang sedang ditunjuk oleh pointer dinyatakan dalam sebuah peubah/variable bertipe karakter, dan didefinisikan di DELARASI pada program utama.

menghitung karakter algoritma hitung_karakter DEKLARASI : P : Text C : Char n : integer DESKRIPSI : n ← 1 RESET_TEKS input(P ; C) while C „.‟ do n ← n+1 input(P ; C) endwhile { c = ‘.’ }

{ baca karakter berikutnya }

menghitung karakter B algoritma hitung_karakter_B DEKLARASI : P : Text C : Char n : integer DESKRIPSI : n ← 1 RESET_TEKS input(P ; C) while c „.‟ do if c= „B‟ then n ← n+1 endif input(P ; C) endwhile

{ c = ‘.’ }

{ baca karakter berikutnya }

Record -Adalah tipe data terstruktur -Disusun oleh satu atau lebih field -Tiap field menyimpan data dari tipe dasar tertentu atau tipe bentukan yang lain -Nama rekaman ditentukan oleh pemrogram

Field 1

Field 2

Field 3

Field 4

























Operasi Record Deklarasi :

type DATA_MHS : record < NIM : integer, NAMA : string, USIA : integer > MHS : DATA_MHS Mengisi : MHS.NIM ← 980192 MHS.NAMA ← „AHMAD S‟ MHS.USIA ← 18

Membaca / Menuliskan : a ← MHS.NIM + 100000 OUTPUT ( a ) OUTPUT ( MHS.USIA )

input (MHS.USIA) input (MHS.NIM)

ARRAY/LARIK • merupakan struktur data yang menyimpan sekumpulan elemen bertipe sama • dapat diakses langsung melalui indeksnya • ilustrasi : – misalkan sebuah larik bernama A memiliki 8 buah elemen dimana setiap elemen bertipe integer, dapat digambarkan sebagai berikut : A 1 2 3 4

5 6 7

8

ARRAY/LARIK – setiap elemen larik ditulis dengan notasi : A[1] , A[2] , A[3] , A[4] , A[5] , A[6] , A[7] , A[8]

– setiap elemen larik dapat memiliki dan menyimpan sebuah nilai, dimana nilai tersebut harus bertipe sama dengan tipe elemennya. A 1

100

2

98

3

120

4

115

5

82

6

132

7

115

8

110

ARRAY/LARIK •

pendefinisian larik : – yang perlu didefinisikan adalah : banyaknya elemen larik dan mendefinisikan tipe larik • sebagai peubah DEKLARASI : { nama peubah } L : array [ 1 .. 50 ] of integer nama_mhs : array [ „a‟ .. „j‟] of string nilai : array [0 .. 100] of real

• sebagai tipe baru DEKLARASI : type panjang : array [ 1 .. 100 ] of integer P : panjang

• ukuran larik sebagai sebuah tetapan DEKLARASI : const N = 1000 type panjang : array [ 1 .. N ] of integer P : panjang

inisialisasi larik • •

diperlukan sebagai langkah untuk memberi nilai awal terhadap elemen larik nilai untuk inisialisasi disesuaikan dengan tipe array, dapat diisi dengan nol, spasi kosong, atau angka , huruf tergantung dari kebutuhan pemrogram procedure inisialisasi (output A : larik) DEKLARASI : { peubah } k : integer DESKRIPSI : for k ← 1 to nMaks do A[k] ← 0 { elemen array diisi nol } endfor

procedure inisialisasi (output A : larik) DEKLARASI : { peubah } k : integer DESKRIPSI : for k ← 1 to nMaks do A[k] ← k { elemen array diisi indeks k } endfor

mengisi/mencetak larik procedure mengisi_larik (output A : larik) DEKLARASI : { peubah } k : integer

DESKRIPSI : for k ← 1 to nMaks do input(A[k] ) endfor

{ mengisi elemen array dari piranti masukan }

procedure mencetak_larik (input A : larik)

DEKLARASI : { peubah } k : integer DESKRIPSI : for k ← 1 to nMaks do output(A[k] ) endfor

{ mengisi elemen array dari piranti masukan }

contoh algoritma tanpa_array

algoritma pakai_array

DEKLARASI : k : integer i : integer

DEKLARASI : k : array[ 1.. 6 ] of integer i : integer

DESKRIPSI : for i ← 1 to 6 do input( k ) endfor for i ← 1 to 6 do output( k ) endfor

DESKRIPSI : for i ← 1 to 6 do input(k[ i ] ) endfor for i ← 1 to 6 do output(k[ i ] ) endfor

Misalkan data yang dimasukkan adalah : 20, 30, 40, 50, 60, 70 1. Output dengan algoritma tanpa_array : 70, 70, 70, 70, 70, 70 2. Output dengan algoritma pakai_array : 20, 30, 40, 50, 60, 70

kasus 1. Menyimpan bilangan bulat positif yang dimasukkan dari keyboard ke sebuah aray of integer 2. Menghitung total isi array of integer 3. Mencari berapa buah huruf a dalam array of char 4. Menentukan bilangan terbesar dari seluruh elemen array of integer 5. Mencari ada berapa buah bilangan ganjil pada array of integer

(diket : jumlah elemen array = 100)