algoritma & pemrograman

dokumen-dokumen yang mirip
Algoritma Pemrograman

Algoritma Pemrograman

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

Algoritma dan Struktur Data

@copyright by Emy PENGANTAR ALGORITMA & PROGRAM & PROGRAM PENGERTIAN ALGORITMA NOTASI UNTUK ALGORITMA

Algoritma Pemrograman

Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom

ALGORTIMA DAN PEMROGRAMAN

FUNGSI MINGGU KE: 4 TUJUAN: Mahasiswa dapat memahami definisi fungsi. Mahasiswa dapat mendefinisikan fungsi. Mahasiswa dapat menggunakan fungsi.

Alex Budiyanto.

Prosedur merupakan modul program yang mengerjakan instruksi spesifik dan menghasilkan efek netto. Efek netto diketahui dengan membandingkan keadan awa

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia

Pengenalan Algoritma & Pemrograman

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

ALGORITMA DAN STRUKTUR DATA 1

Algoritma dan Struktur Data

Pendahuluan. Algoritma

Algoritma Pemrograman

STRUKTUR DASAR ALGORITMA

PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING)

TIPE, NAMA, DAN NILAI

Algoritma Pemrograman

PERTEMUAN 2 ALGORITMA & PEMROGRAMAN

Konstruksi Dasar Algoritma

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA

Algoritma Pemrograman

ALGORITMA DAN PEMROGRAMAN

Tipe Data, Nama, Nilai. Chapter 4

Kata Pengantar... Daftar Isi... Daftar Padan Kata Inggris - Indonesia Pengantar ke Algoritma... 1

STRUKTUR DASAR ALGORITMA

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

MODUL PRAKTIKUM ALGORITMA PEMROGRAMAN TEKNIK INFORMATIKA

Nama, Tipe, Ekspresi, dan Nilai

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

Modul 1 Mesin Karakter 1

Aturan Penulisan Algoritma Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu : Judul (Header) Kamus Algoritma

Bahasa Pemrograman- TIS SKS

Pemrograman dan Bahasa Pemrograman

LOOPING. Brigida Arie Minartiningtyas, M.Kom

Algoritma & Pemrograman

Pert 3: Algoritma Pemrograman 1 (Alpro1) 4 sks. By. Rita Wiryasaputra, ST., M. Cs.

Prosedur dan Fungsi ALGORITMA DAN PEMROGRAMAN [IS ] Dosen: Yudha Saintika, S.T., M.T.I

Procedure. Pertemuan 10 Algoritma Pemrograman

CCH1A4 / Dasar Algoritma & Pemrogramanan

Brigida Arie Minartiningtyas, M.Kom

Algoritma dan Struktur Data

Tinjau algoritma dibawah ini

Algoritma Pemrograman

MATERI KULIAH ALGORITMA DAN PEMROGRAMAN I (2 SKS)

Implementasi OOP Pada Perangkat Lunak Pemrograman

Algoritma Pemrograman

ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN. Disusun Oleh : Sakina Mawardah Teknik Informatika. Dosen : Asep M. Yusuf, S.

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

Modul Ke-1 Pertemuan ke-1 Deskripsi: Pemrosesan Sekuensial Larik Nama File: P01-XXX (XXX adalah 3 digit terakhir NPM)

Pendahuluan. Apakah Algoritma itu?

Struktur Program. Rinta Kridalukmana

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

Algoritma Pemrograman

POKOK BAHASAN - 2 PEMROGRAMAN MODULAR

Algoritma dan Struktur Data

PENGULANGAN Bagian 1 : Notasi. Tim Pengajar KU1071 Sem

Algoritma Pemrograman

Bab 1 Algoritma dan Pemrograman Tersruktur

2 ATURAN PENULISAN TEKS ALGORITMA

Algoritma Pemrograman

MATERI KULIAH ALGORITMA DAN PEMROGRAMAN I

Algoritma. Menurut Kamus Besar Bahasa Indonesia Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah.

04/03/2013. Absensi : 10% UTS : 30% UAS : 40% Tugas & Kuis : 20% By: Vilia Eka Meyana, M.Kom Institute Bisnis dan Informatika Indonesia

PROSEDUR (Lanjutan) Parameter. Mahasiswa dapat memahami penggunaan prosedur dengan parameter. Mahasiswa dapat membuat prosedur dengan parameter.

Algoritma Pemrograman

Algoritma Pemrograman I

MODUL IV PENCARIAN DAN PENGURUTAN

c. Hasil pencarian berupa nilai Boolean yang menyatakan status hasil pencarian. Versi 1 (Pembandingan elemen dilakukan sebagai kondisi pengulangan)

.::BAB II.::MENGENAL PASCAL

ALGORITMA, PEMROGRAMAN DAN BAGAN ALIR. Pertemuan Ke-1

ALGORITHM. 6 Algoritma, Flowchart & Program. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.

MODUL 3 ALGORITMA PEMROGRAMAN

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA

ALGORITMA & PEMROGRAMAN

Algoritma Pemrograman

RENCANA PEMBELAJARAN SEMESTER (RPS)

PENGANTAR ALGORITMA DAN PEMROGRAMAN

1. Algoritma & Pemrograman

Larik/Array ALGORITMA DAN PEMROGRAMAN [IS ] Dosen: Yudha Saintika, S.T., M.T.I

Teori Algoritma TIPE DATA

Algoritma Pemrograman

Pengantar dalam Bahasa Pemrograman Turbo Pascal

Teori Algoritma. Struktur Algoritma

MATERI 2 JENIS-JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

PERTEMUAN - 3 PEMROGRAMAN MODULAR

PENGANTAR ALGORITMA & PEMROGRAMAN C/C++ Analisis Algoritma dan Struktur Data (TKE 670)

ALGORITMA, PEMROGRAMAN DAN BAGAN ALIR

Algoritma Pemrograman

ALGORITMA PERULANGAN

Definisi Percabangan

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

- KONSEP MODULAR Pengertian Konsep Modular memecah program ke dalam modul-modul. Contoh modul yang sering digunakan adalah : Prosedur & Fungsi

1 Pencarian. 1.1 Tinjauan Singkat Larik

Transkripsi:

algoritma & pemrograman

materi pengajaran algoritma & pemrograman I (IF-185) 1. Pendahuluan 4. Procedure & Function - Bahasa Pemrograman Pertemuan : 3x - Membuat program / algoritma Pertemuan : 1x 5. UTS 2. Dasar Algoritma 6. Mesin Karakter & Tipe bentukan - Tipe data - Ekspresi Pertemuan : 2x - Variabel - Constanta dsb 7. Array/Larik Pertemuan : 1x Pertemuan : 4x 3. Struktur Program / Struktur Kontrol 8. UAS - Sekuensial - Pencabangan - Pengulangan Pertemuan : 3x

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 Declarative Prosedural : C, Pascal, Fortran, Basic ObjOriented : Ada, Object Pascal, C++, Java, Smalltalk, Eiffel 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 Non- Procedural Language Intelligent Language Human 0-1 Long difficult programming Assemble repetitive instructions shorter code Include command shorter code Application generators, commends specify results Natural language processing 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 ) t 0 t 1 a k s i : keadaan sebelum aksi dikerjakan : 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 deklarasi a, b, c : integer a, b : integer deskripsi kode : char c 1 deskripsi write( c + 4 ) a 5 c c + 5 b b * 2 write( c ) write( b ) a c * 4 kode A b a * c write(kode+ B ) write( a ) kode Ada

struktur algoritma Struktur Pengulangan/Repetition/Loop Struktur While-Do : Struktur Repeat-Until : while <kondisi> do repeat aksi aksi endwhile until < kondisi > Struktur For : for peubah nilaiawal to aksi endfor nilaiakhir do

struktur algoritma Implementasi Pengulangan deklarasi deklarasi a : integer deskripsi deskripsi write( Unpas ) a 1 write( Unpas ) while a <= 5 do write( Unpas ) write( Unpas ) write( Unpas ) a a + 1 write( Unpas ) endwhile

struktur algoritma Implementasi Pengulangan deklarasi deklarasi a : integer a : integer deskripsi deskripsi for a 1 to 5 do a 1 write( Unpas ) repeat endfor write( Unpas ) a a + 1 until a > 5

struktur algoritma Struktur Pemilihan/Selection Satu kasus : Dua kasus : if < kondisi > then if < kondisi > then aksi aksi 1 endif 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 : boolean a : integer deskripsi deskripsi a true a 1 if a then while a <= 5 do write( Unpas ) if a mod 2 = 0 then endif write( Unpas ) a false endif if not a then a a + 1 write( Unpas ) endwhile else write( Bukan Unpas ) endif

struktur algoritma Struktur Case : case (nama ) < kondisi1 > : 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 : >= 80 B : < 80 dan >= 70 C : < 70 dan >= 50 D : < 50 dan >= 30 E : < 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 )

Penggunaan Variabel/Peubah Global prosedur

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 ) { pemanggilan prosedur pertama kali } input ( a, b ) Berubah( a, b ) { pemanggilan prosedur kedua kali } Berubah( a+5, 17 ) { pemanggilan prosedur ketiga kali } b b + 2 Berubah( a, b ) { pemanggilan prosedur keempat kali } output( a, b )

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 ) { pemanggilan prosedur pertama kali } output ( b ) input ( a ) Berubah( a,b ) { pemanggilan prosedur kedua kali } output ( b ) Berubah( a+5,b ) { pemanggilan prosedur ketiga kali } output (b )

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) DEKLARASI : { tidak ada } DESKRIPSI : x x + 1 y x * 2 output ( x ) output ( y ) algoritma PQR DEKLARASI : a, b : integer c, d : real DESKRIPSI : a 15 b 10 output (a) output (b) procedure Berubah(input/output x,y : integer) Berubah(a,b) { pemanggilan prosedur } output (a) output (b)

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) { baca karakter berikutnya } endwhile { c =. }

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) { baca karakter berikutnya } endwhile { c =. }

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 input (MHS.USIA) input (MHS.NIM) Membaca / Menuliskan : a MHS.NIM + 100000 OUTPUT ( a ) OUTPUT ( MHS.USIA )

A R R A Y / L A R I K 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 : 1 2 3 4 5 6 7 8 A

A R R A Y / L A R I K 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

A R R A Y / L A R I K 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] ) { mengisi elemen array dari piranti masukan } endfor procedure mencetak_larik (input A : larik) DEKLARASI : { peubah } k : integer DESKRIPSI : for k 1 to nmaks do output(a[k] ) { mengisi elemen array dari piranti masukan } endfor

contoh algoritma tanpa_array DEKLARASI : k : integer i : integer DESKRIPSI : for i 1 to 6 do input( k ) endfor for i 1 to 6 do output( k ) endfor algoritma pakai_array DEKLARASI : k : array[ 1.. 6 ] of integer i : integer 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)