P. 1
Alogaritma Program

Alogaritma Program

|Views: 18|Likes:
Dipublikasikan oleh Fransiswan Tonny

More info:

Published by: Fransiswan Tonny on Sep 06, 2012
Hak Cipta:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

12/09/2013

pdf

text

original

PROGRAM STUDI

S1 SISTEM KOMPUTER
UNIVERSITAS DIPONEGORO

Dasar Algoritma

Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id

Materi

pseudocode Masalah komputasi Masalah analisis algoritma

Konsep dasar algoritma
Beberapa metode untuk merancang algoritma dalam program komputer : 1. Diagram Alir (Flow Chart) 2. Kode Semu (Pseudo Code) 3. Algoritma Fundamental Knuth (1973) menyatakan 5 komponen utama dalam algoritma yaitu finiteness, definiteness, input, output dan effectiveness.

Karakteristik keluaran yang baik adalah menjawab permasalahan dan tampilan yang ramah 3. Dalam bagian ini terdapat logika masalah. penggabungan. logika algoritma (sintaksis dan semantik).Komponen yang harus ada dalam merancang algoritma: 1. . Komponen masukan : terdiri dari pemilihan variable. perbandingan. Komponen proses : merupakan bagian utama dan terpenting dalam merancang sebuah algoritma. konstanta dan parameter (dalam fungsi). rumusan. jenis variable. Komponen keluaran: merupakan tujuan dari perancangan algoritma dan program. pengurangan dll). tipe variable. Permasalahan yang diselesaikan dalam algoritma dan program harus ditampilkan dalam komponen keluaran. 2. metode (rekursi.

Fortran. .Struktur Hubungan dan Jenis Algoritma Flowchart : Algoritma ini menggunakan sejumlah simbol untuk menyatakan kegiatan-kegiatan secara keseluruhan. Knuth (1973)menyajikan format algoritma yang dapat digunakan secara bebas untuk berbagai bahasa pemrograman. C. PL atau BASIC. artinya dapat dengan mudah diimplementasikan menggunakan Pascal.

Diagram alir .

Contoh penggunaan program flowchart .

Tampilkan bilangan pertama 5. kerjakan langkah 5. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4. Contoh Pseudo-code: 1.Pseudocode Kode atau tanda yang menyerupai (pseudo) atau merupakan pejelasan cara menyelesaikan suatu masalah. Masukkan bilangan kedua 3. Tampilkan bilangan kedua . Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma. jika tidak. 4. Masukkan bilangan pertama 2. Problem: mencari bilangan terbesar dari dua bilangan yang diinputkan.

7.Aturan Algoritma Fundamental 1. Nama/judul algoritma harus ditulis dengan huruf kapital Berikan komentar dan penjelasan pendahuluan. 6. 4. Pernyataan dan struktur Kontrol Nama-nama variabel harus ditulis dengan huruf besar Input dan output Prosedur Fungsi . 5. 3. 2.

Buatlah algoritma dari masalah ini menggunakan Kode Semu : Algoritma Maksimum 1. pindahkan bilangan dalam register xi ke register maks.3. bilangan dalam register maks adalah elemen terbesar di antara n bilangan.Masalah : Mencari elemen terbesar dari data dengan n bilangan. 3. jika tidak jangan lakukan apa-apa.. lakukan : Bandingkan bilangan dalam register xi dengan bilangan dalam register maks. Jika bilangan dalam register xi lebih besar daripada bilangan dalam register maks. . 2. Terakhir...n. Untuk i = 2... Mula-mula masukkan bilangan dalam register xi ke dalam register yang dinamakan maks.

FlowChart (Diagram Alir) .

[Naikkan Pencacah] I I+1 4. [Ulangi Loop] GOTO 3 6. [Bandingkan] IF Maks < xi THEN Maks xi ELSE GOTO 3 5. 1. [Inisialisasi] Maks x1 2. [Mulai Loop] I 1 3.Algoritma Fundamental Mencari elemen terbesar di dalam data dengan n bilangan. [Selesai] Exit .

struktur program pascal dapat terdiri dari : 1. Judul program 2. Bagian deklarasi • Deklarasi label • Deklarasi konstanta • Deklarasi tipe • Deklarasi variabel • Deklarasi prosedur • Deklarasi fungsi 3. Bagian pernyataan .Bahasa pemrograman pascal Pascal adalah bahasa tingkat tinggi yang berorientasi pada segala tujuan.

a. Tipe Data Integer Tipe data ini digunakan untuk menyatakan bilangan yang tidak mempunyai angka desimal.Tipe Data Penentuan tipe data berguna untuk memberi pengenal pada isi data yang akan diakses. oleh variabel. yang sebagian berbeda rentang nilai dan ukuran memorinya . Tipe Integer terdiri dari beberapa tipe lagi.

Tipe data real ini terdiri dari beberapa tipe lagi.b. yang sebagian rentang nilai dan ukuran penggunaan memorinya : . Tipe Real Tipe real digunakan untuk menyatakan bilangan yang mempunyai angka desimal.

0 mempunyai 4 tipe boolean yaitu seperti berikut ini. yaitu True ( benar) dan False (salah). Tipe Boolean Tipe data boolean untuk menyatakan data logika. WordBool.c. . Untuk ByteBool. yaitu jika program akan dihubungkan dengan program bahasa lain. Borland Delphi 6. dan LongBool sebaiknya hanya digunakan untuk menjaga kompabilitas. Disarankan penggunaan tipe logika menggunakan tipe Boolean.

Tipe String Tipe data string digunakan untuk menyatakan sederetan karakter yang membentuk satu kesatuan. Tipe Character Tipe data character digunakan untuk menyatakan karakter satu huruf. e. . alamat dan sebagainya. misalnya nama.d.

Tipe ShortString disediakan hanya untuk menjaga kompabilitas dengan versi sebelumnya. g. Tipe Record Tipe record digunakan untuk menyimpan sekumpulan data yang mungkin tipenya berbeda. AnsiString untuk menyimpan karakter ANSI dan WideString dapat menyimpan karakter Unicode. . f. tetapi saling berhubungan.

25. misal angka 1. iii. huruf A. Tipe Terenumerasi dan Subrange Tipe data terenumerasi dan tipe data subrange dipakai untuk menyatakan data berurutan yang bertipe sama. Contoh : Const Diskon = 0.h. nama dan lainlain. .Konstanta Konstanta adalah nilai yang bersifat tetap. Univ = ‘Diponegoro’.

Setiap variabel pasti mempunyai nama. j.Variabel Variabel adalah suatu pengenal yang menampung data. yang sering disebut sebagai identifier. Contoh : var i. b. . yang terdapat pada memori. a. c : char. Pendeklarasian variabel pada delphi: var nama_variabel: tipe_variabel. k : integer.

Edit4. // menjumlahkan X dan Y pada Edit3 Z := X + Y. Edit3. end.Text := IntToStr(Z).Text).Y.Z : byte. var X. // mengalikan X dan Y pada Edit4 Z := X * Y.Button1Click(Sender: TObject). Begin X := StrToInt(Edit1.Text).Menggunakan tipe bilangan bulat procedure TForm1. . Y := StrToInt(Edit2.Text := IntToStr(Z).

Text).Button1Click(Sender: TObject). Edit4. i:= StrToFloat(Edit1. Z := X * Y.j.Z : real48.Text := FloatToStr(Z). . Edit3. k:= i * j. j:= StrToFloat(Edit2. var X.k : extended. i.Text).Text := FloatToStr(k).Text).Y.Menggunakan tipe bilangan real procedure TForm1.Text). Begin X := StrToFloat(Edit1. Y := StrToFloat(Edit2. end.

Checked. end. end. procedure TForm1.Menggunakan tipe bilangan boolean procedure TForm1. begin Edit1.Visible:=CheckBox2.Visible:= CheckBox1.Checked.CheckBox1Click(Sender: TObject).CheckBox2Click(Sender: TObject). begin Button1. Dengan mengubah properti checked dari kedua kotak cek diatas menjadi true maka kotak cek akan memiliki tanda cek .

a8 : longint. . a5..8] of longint. a6.Tipe array Merupakan kumpulan variabel yang bertipe sama Deklarasi dengan array var a: array [1. a3. a4. a2. a7. Deklarasi tanpa array var a1.

Items[i]).Count .20] of integer.Button1Click(Sender: TObject). var A: array [0.Items. j:=0. .1 do j:= j + A[i]. end.Count . i: integer.Text:= IntToStr(j). begin for i:=0 to ListBox1..Items. Edit1. j: integer.array procedure TForm1.1 do A[i] := StrToInt(ListBox1. for i:= 0 to ListBox1.

Contoh : type mahasiswa = record Nama : string.Tipe Record Bila dengan array. sedangkan record berfungsi menggabungkan beberapa variabel yang tipenya tidak harus sama. . Sintaks : type nama_record = record //anggota record diletakkan disini end. variabel yang digabung memiliki tipe Yang sama. Alamat : string. end.

Operator Aritmetika g. Operator Relasi .Operator a.

Pencabangan bersyarat Case ... Pencabangan bersyarat If . Pengulangan Repeat .Kontrol program a. Pengulangan While ... Until c.. b.. Then .. Do Bentuk umum : While <ekspresi> Do Begin <pernyataan > End. Else d.

Win32. Midas. EctiveX dan lain-lain. . Samples. Data Access. Qreport. Additional.VISUAL COMPONENT LIBRARY  Kumpulan dari sejumlah obyek tersedia pada Visual Component Library (VCL). internet. Pengelompokan ini (pages) dinyatakan tabs. Dialogs. System. Decision Cube. Data Control. Pages default adalah :  Standart. Win31. Sedangkan untuk memilih obyek terdapat pada Componen palette.  Komponen-komponen dikelompokan seseuai dengan fungsinya.

 Component pallet menyediakan komponen-komponen yang diperlukan untuk menyusun program apalikasi. a. Properti Page. untuk menentukan properti dan komponen terpilih. dan melukukan seting terhadap object-object yang terdapat pada form. .  Object Inspector merupakan penguhubung antara tampilan aplikasi dengan kode program. b. Event Page. untuk menentukan kejadian atau proses yang akan dilakukan. yang berisi perintah-perintah yang dimiliki masing-masing komponen.

Label. . CheckBox.RadioButton. b) Kejadian (event) c) Metode : suatu fungsi untuk melakukan operasi terhadap kontrol. dll). Edit.Pemrograman Visual Pemrograman berorientasi Objek Pemrograman yang dikendalikan oleh kejadian (even drivent) Langkah membuat aplikasi : a) Mambuat user interface b) Menulis kode Form tersusun sejumlah kontrol atau objek (Button. Kontrol mempunyai tiga komponen : a) Properti : misalnya menentukan warna dan mengatur Font.

Dalam analisis sebuah algoritma biasanya yang dijadikan ukuran adalah operasi aljabar seperti penjumlahan. proses pengula-ngan (looping/Iterasi). Penyederhanaan Algoritma Membagi algoritma menjadi bentuk yang sederhana. yaitu : 1. 2. perkalian dan pembagian. proses pengurutan (sorting) dan proses pencarian (searching).Masalah analisis algoritma Terdapat dua tipe analisis algoritma. Memeriksa kebenaran algoritma Dapat dilakukan dengan cara perurutan. implementasi algoritma. memeriksa bentuk logika. pengurangan. . pengujian dengan data dan menggunakan cara matematika untuk membuktikan kebenaran.

tetapi juga harus mangkus (efficient)  Ukuran kemangkusan algoritma: waktu dan ruang memori (space)  Algoritma yang mangkus: algoritma yang meminimumkan kebutuhan waktu dan ruang .Analisis Algoritma  Sebuah algoritma tidak hanya harus benar.

S(n): ruang memori yang dibutuhkan algoritma sebagai fungsi dari ukuran masukan n . S(n) n = ukuran masukan yang diproses oleh algoritma T(n) : jumlah operasi yang dilakukan untuk menjalankan sebuah algoritma sebagai fungsi dari ukuran masukan n. T(n) 2.Alat ukur kemangkusan algoritma: 1. Kompleksitas ruang. Kompleksitas waktu.

operasi perbandingan elemen pada algoritma pengurutan/pencarian .Operasi yang dihitung hanyalah operasi dasar Operasi dasar: operasi khas yang mendasari suatu algoritma Misalnya: .operasi penjumlahan dan perkalian pada algoritma perkalian matriks .

Tiga cara menyatakan waktu asimptotik: 1. W(g(n)): untuk batas bawah laju kebutuhan waktu 3. Q(h(n)) : jika f(n) = g(n) . bukan menyatakan jumlah operasi dasar sesungguhnya.Kompleksitas waktu asimptotik: .menyatakan laju pertumbuhan waktu.perkiraan kasar kebutuhan waktu algoritma dengan meningkatnya nilai n . O(f(n)): untuk batas atas laju kebutuhan waktu 2.

program keempat akan memerlukan 2100 langkah.Notasi O (Big O) Misalkan 4 program yang mensorting n bilangan dengan fungsi yang menyatakan sejumlah langkah yang dijumlahkan masingmasing program untuk sorting n bilangan : f1(n) = n. f2 (n) = f3 (n) = 16 dan f4 (n) = 24 sedangkan apabila n = 100. . f4(n) = n! Bila n = 4 maka f1 (n) = 4. f3 (n) = 2n. f2(n) = n2.

You're Reading a Free Preview

Mengunduh
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->