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)