SlideShare a Scribd company logo
1 of 37
Download to read offline
Dasar Algoritma
PROGRAM STUDI
S1 SISTEM KOMPUTER
UNIVERSITAS DIPONEGORO
Oky Dwi Nurhayati, ST, MT
email: okydn@undip.ac.id
pseudocode
pseudocode
Materi
Masalah analisis algoritma
Masalah komputasi
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.
Komponen yang harus ada dalam merancang algoritma:
1. Komponen masukan : terdiri dari pemilihan variable, jenis variable,
tipe variable, konstanta dan parameter (dalam fungsi).
2. Komponen keluaran: merupakan tujuan dari perancangan algoritma
dan program.
Permasalahan yang diselesaikan dalam algoritma dan program harus
ditampilkan dalam komponen keluaran. Karakteristik keluaran yang
baik adalah menjawab permasalahan dan tampilan yang ramah
3. Komponen proses : merupakan bagian utama dan terpenting dalam
merancang sebuah algoritma. Dalam bagian ini terdapat logika
masalah, logika algoritma (sintaksis dan semantik), rumusan, metode
(rekursi, perbandingan, penggabungan, pengurangan dll).
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 pemro-
graman, artinya dapat dengan mudah diimplementasikan
menggunakan Pascal, C, Fortran, PL atau BASIC.
Diagram alir
Contoh penggunaan program flowchart
Pseudocode
Kode atau tanda yang menyerupai (pseudo) atau merupakan pejelasan cara
menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia
untuk menuliskan algoritma.
Problem: mencari bilangan terbesar dari dua bilangan yang diinputkan.
Contoh Pseudo-code:
1. Masukkan bilangan pertama
2. Masukkan bilangan kedua
3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika
tidak, kerjakan langkah 5.
4. Tampilkan bilangan pertama
5. Tampilkan bilangan kedua
Aturan Algoritma Fundamental
1. Nama/judul algoritma harus ditulis dengan huruf kapital
2. Berikan komentar dan penjelasan pendahuluan.
3. Pernyataan dan struktur Kontrol
4. Nama-nama variabel harus ditulis dengan huruf besar
5. Input dan output
6. Prosedur
7. Fungsi
Masalah : Mencari elemen terbesar dari data dengan n bilangan.
Buatlah algoritma dari masalah ini menggunakan
Kode Semu : Algoritma Maksimum
1. Mula-mula masukkan bilangan dalam register xi ke dalam register
yang dinamakan maks.
2. Untuk i = 2,3,....,n, lakukan : Bandingkan bilangan dalam register xi
dengan bilangan dalam register maks. Jika bilangan dalam register xi
lebih besar daripada bilangan dalam register maks, pindahkan bilangan
dalam register xi ke register maks; jika tidak jangan lakukan apa-apa.
3. Terakhir, bilangan dalam register maks adalah elemen terbesar di
antara n bilangan.
FlowChart (Diagram Alir)
Algoritma Fundamental
Mencari elemen terbesar di dalam data dengan n bilangan.
1. [Inisialisasi]
Maks x1
2. [Mulai Loop]
I 1
3. [Naikkan Pencacah]
I I + 1
4. [Bandingkan]
IF Maks < xi
THEN Maks xi ELSE GOTO 3
5. [Ulangi Loop]
GOTO 3
6. [Selesai]
Exit
Pascal adalah bahasa tingkat tinggi yang berorientasi
pada segala tujuan.
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
Tipe Data
Penentuan tipe data berguna untuk memberi pengenal pada isi data yang
akan diakses, oleh variabel.
a. Tipe Data Integer
Tipe data ini digunakan untuk menyatakan bilangan yang tidak
mempunyai angka desimal. Tipe Integer terdiri dari beberapa tipe lagi,
yang sebagian berbeda rentang nilai dan ukuran memorinya
b. Tipe Real
Tipe real digunakan untuk menyatakan bilangan yang mempunyai
angka desimal. Tipe data real ini terdiri dari beberapa tipe lagi, yang
sebagian rentang nilai dan ukuran penggunaan memorinya :
c. Tipe Boolean
Tipe data boolean untuk menyatakan data logika, yaitu
True ( benar) dan False (salah). Borland Delphi 6.0
mempunyai 4 tipe boolean yaitu seperti berikut ini.
Disarankan penggunaan tipe logika menggunakan tipe
Boolean. Untuk ByteBool, WordBool, dan LongBool
sebaiknya hanya digunakan untuk menjaga
kompabilitas, yaitu jika program akan dihubungkan
dengan program bahasa lain.
d. Tipe Character
Tipe data character digunakan untuk menyatakan karakter
satu huruf.
e. Tipe String
Tipe data string digunakan untuk menyatakan sederetan
karakter yang membentuk satu kesatuan, misalnya nama,
alamat dan sebagainya.
Tipe ShortString disediakan hanya untuk menjaga kompabilitas
dengan versi sebelumnya. AnsiString untuk menyimpan karakter
ANSI dan WideString dapat menyimpan karakter Unicode.
f. g. Tipe Record
Tipe record digunakan untuk menyimpan sekumpulan data yang
mungkin tipenya berbeda, tetapi saling berhubungan.
h. Tipe Terenumerasi dan Subrange
Tipe data terenumerasi dan tipe data subrange dipakai untuk
menyatakan data berurutan yang bertipe sama.
iii.Konstanta
Konstanta adalah nilai yang bersifat tetap, misal angka 1, huruf A, nama
dan lainlain.
Contoh :
Const
Diskon = 0.25;
Univ = ‘Diponegoro’;
Variabel
Variabel adalah suatu pengenal yang menampung data, yang terdapat
pada memori. Setiap variabel pasti mempunyai nama, yang sering
disebut sebagai identifier.
Pendeklarasian variabel pada delphi:
var nama_variabel: tipe_variabel;
Contoh :
var
i, j, k : integer;
a, b, c : char;
Menggunakan tipe bilangan bulat
procedure
TForm1.Button1Click(Sender: TObject);
var
X,Y,Z : byte;
Begin
X := StrToInt(Edit1.Text);
Y := StrToInt(Edit2.Text);
// menjumlahkan X dan Y pada Edit3
Z := X + Y;
Edit3.Text := IntToStr(Z);
// mengalikan X dan Y pada Edit4
Z := X * Y;
Edit4.Text := IntToStr(Z);
end;
Menggunakan tipe bilangan real
procedure TForm1.Button1Click(Sender: TObject);
var
X,Y,Z : real48;
i,j,k : extended;
Begin
X := StrToFloat(Edit1.Text);
Y := StrToFloat(Edit2.Text);
Z := X * Y;
Edit3.Text := FloatToStr(Z);
i:= StrToFloat(Edit1.Text);
j:= StrToFloat(Edit2.Text);
k:= i * j;
Edit4.Text := FloatToStr(k);
end;
Menggunakan tipe bilangan boolean
procedure
TForm1.CheckBox1Click(Sender:
TObject);
begin
Button1.Visible:=
CheckBox1.Checked;
end;
procedure
TForm1.CheckBox2Click(Sender:
TObject);
begin
Edit1.Visible:=CheckBox2.Checked;
end;
Dengan mengubah properti
checked dari kedua kotak cek
diatas menjadi true maka kotak cek
akan memiliki tanda cek
Tipe array
Merupakan kumpulan variabel yang bertipe sama
var a1, a2, a3, a4, a5, a6, a7, a8 : longint;
var a: array [1..8] of longint;
Deklarasi tanpa array
Deklarasi dengan array
procedure
TForm1.Button1Click(Sender:
TObject);
var
A: array [0..20] of integer;
i: integer;
j: integer;
begin
for i:=0 to ListBox1.Items.Count - 1
do
A[i] := StrToInt(ListBox1.Items[i]);
j:=0;
for i:= 0 to ListBox1.Items.Count - 1
do
j:= j + A[i];
Edit1.Text:= IntToStr(j);
end;
array
Tipe Record
Bila dengan array, variabel yang digabung memiliki tipe
Yang sama, sedangkan record berfungsi menggabungkan
beberapa variabel yang tipenya tidak harus sama.
Sintaks :
type
nama_record = record
//anggota record diletakkan disini
end;
Contoh :
type
mahasiswa = record
Nama : string;
Alamat : string;
end;
Operator
a. Operator Aritmetika
g. Operator Relasi
Kontrol program
a. Pengulangan While ... Do
Bentuk umum :
While <ekspresi> Do
Begin
<pernyataan >
End;
b. Pengulangan Repeat ... Until
c. Pencabangan bersyarat If .. Then ... Else
d. Pencabangan bersyarat Case
VISUAL COMPONENT LIBRARY
 Kumpulan dari sejumlah obyek tersedia pada Visual Component Library
(VCL). Sedangkan untuk memilih obyek terdapat pada Componen palette.
 Komponen-komponen dikelompokan seseuai dengan fungsinya.
Pengelompokan ini (pages) dinyatakan tabs. Pages default adalah :
 Standart, Additional, Win32, System, internet, Data Access,
Data Control, Midas, Decision Cube, Qreport, Dialogs,
Win31, Samples, EctiveX dan lain-lain.
 Component pallet menyediakan komponen-komponen yang
diperlukan untuk menyusun program apalikasi.
 Object Inspector merupakan penguhubung antara tampilan aplikasi
dengan kode program, dan melukukan seting terhadap object-object
yang terdapat pada form.
a. Properti Page, untuk menentukan properti dan komponen terpilih.
b. Event Page, untuk menentukan kejadian atau proses yang akan
dilakukan, yang berisi perintah-perintah yang dimiliki masing-masing
komponen.
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, Label, Edit,RadioButton,
CheckBox, dll).
Kontrol mempunyai tiga komponen :
a) Properti : misalnya menentukan warna dan mengatur Font.
b) Kejadian (event)
c) Metode : suatu fungsi untuk melakukan operasi terhadap kontrol.
Masalah analisis algoritma
Terdapat dua tipe analisis algoritma, yaitu :
1. Memeriksa kebenaran algoritma
Dapat dilakukan dengan cara perurutan, memeriksa bentuk logika,
implementasi algoritma, pengujian dengan data dan menggunakan cara
matematika untuk membuktikan kebenaran.
2. Penyederhanaan Algoritma
Membagi algoritma menjadi bentuk yang sederhana.
Dalam analisis sebuah algoritma biasanya yang dijadikan ukuran adalah
operasi aljabar seperti penjumlahan, pengurangan, perkalian dan
pembagian, proses pengula-ngan (looping/Iterasi), proses pengurutan
(sorting) dan proses pencarian (searching).
Analisis Algoritma
 Sebuah algoritma tidak hanya harus benar, tetapi juga harus
mangkus (efficient)
 Ukuran kemangkusan algoritma: waktu dan ruang memori (space)
 Algoritma yang mangkus: algoritma yang meminimumkan
kebutuhan waktu dan ruang
Alat ukur kemangkusan algoritma:
1. Kompleksitas waktu, T(n)
2. Kompleksitas ruang, 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.
S(n): ruang memori yang dibutuhkan algoritma
sebagai fungsi dari ukuran masukan n
Operasi yang dihitung hanyalah operasi dasar
Operasi dasar: operasi khas yang mendasari suatu algoritma
Misalnya:
- operasi perbandingan elemen pada algoritma
pengurutan/pencarian
- operasi penjumlahan dan perkalian pada algoritma perkalian
matriks
Kompleksitas waktu asimptotik:
- perkiraan kasar kebutuhan waktu algoritma dengan meningkatnya
nilai n
- menyatakan laju pertumbuhan waktu, bukan
menyatakan jumlah operasi dasar sesungguhnya.
Tiga cara menyatakan waktu asimptotik:
1. O(f(n)): untuk batas atas laju kebutuhan waktu
2. W(g(n)): untuk batas bawah laju kebutuhan waktu
3. Q(h(n)) : jika f(n) = g(n)
Notasi O (Big O)
Misalkan 4 program yang mensorting n bilangan dengan fungsi
yang menyatakan sejumlah langkah yang dijumlahkan masing-
masing program untuk sorting n bilangan :
f1(n) = n, f2(n) = n2
, f3 (n) = 2n
, f4(n) = n!
Bila n = 4 maka f1 (n) = 4, f2 (n) = f3 (n) = 16 dan f4 (n) =
24
sedangkan apabila n = 100,
program keempat akan memerlukan 2100
langkah.

More Related Content

What's hot

Pertemuan 1 algoritma pemrograman dan flowchart
Pertemuan 1   algoritma pemrograman dan flowchartPertemuan 1   algoritma pemrograman dan flowchart
Pertemuan 1 algoritma pemrograman dan flowchartiphientcomp
 
Algoritma dan flowchart
Algoritma dan flowchartAlgoritma dan flowchart
Algoritma dan flowchartfikrul islamy
 
alpro Chapter02
alpro Chapter02alpro Chapter02
alpro Chapter02Dermawan12
 
Topik 1(pengantar algoritma)
Topik 1(pengantar algoritma)Topik 1(pengantar algoritma)
Topik 1(pengantar algoritma)SyaharullahDisa
 
Sistem informasi flowchart
Sistem informasi   flowchartSistem informasi   flowchart
Sistem informasi flowchartrika85
 
Lampiran materi simkomdig 3.1 4.1
Lampiran materi simkomdig 3.1   4.1Lampiran materi simkomdig 3.1   4.1
Lampiran materi simkomdig 3.1 4.1Adrian Odja
 
Topik 2(notasi flowchart)
Topik 2(notasi flowchart)Topik 2(notasi flowchart)
Topik 2(notasi flowchart)SyaharullahDisa
 
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)Nabil Muhammad Firdaus
 
Bab 3 notasi algoritma
Bab 3 notasi algoritmaBab 3 notasi algoritma
Bab 3 notasi algoritmarisal07
 
M03b algoritma lanjutan
M03b algoritma lanjutanM03b algoritma lanjutan
M03b algoritma lanjutanBilly Alhamra
 
Kaidah yang digunakan flowchart atau struktogram
Kaidah yang digunakan flowchart atau struktogramKaidah yang digunakan flowchart atau struktogram
Kaidah yang digunakan flowchart atau struktogramfenty_febriani
 
Materi simkomdig-pengertian-dasar-logika-dan-algoritma
Materi simkomdig-pengertian-dasar-logika-dan-algoritmaMateri simkomdig-pengertian-dasar-logika-dan-algoritma
Materi simkomdig-pengertian-dasar-logika-dan-algoritmaDonnie Xover
 
Algoritma dan flowchart
Algoritma dan flowchartAlgoritma dan flowchart
Algoritma dan flowchartPT.goLom na
 

What's hot (18)

Pertemuan 1 algoritma pemrograman dan flowchart
Pertemuan 1   algoritma pemrograman dan flowchartPertemuan 1   algoritma pemrograman dan flowchart
Pertemuan 1 algoritma pemrograman dan flowchart
 
Algoritma dan flowchart
Algoritma dan flowchartAlgoritma dan flowchart
Algoritma dan flowchart
 
Algoritma flowchart
Algoritma flowchartAlgoritma flowchart
Algoritma flowchart
 
alpro Chapter02
alpro Chapter02alpro Chapter02
alpro Chapter02
 
Topik 1(pengantar algoritma)
Topik 1(pengantar algoritma)Topik 1(pengantar algoritma)
Topik 1(pengantar algoritma)
 
Sistem informasi flowchart
Sistem informasi   flowchartSistem informasi   flowchart
Sistem informasi flowchart
 
Lampiran materi simkomdig 3.1 4.1
Lampiran materi simkomdig 3.1   4.1Lampiran materi simkomdig 3.1   4.1
Lampiran materi simkomdig 3.1 4.1
 
Topik 2(notasi flowchart)
Topik 2(notasi flowchart)Topik 2(notasi flowchart)
Topik 2(notasi flowchart)
 
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
 
02 flowchart
02 flowchart02 flowchart
02 flowchart
 
Flowchart - Sistem Komputer
Flowchart - Sistem KomputerFlowchart - Sistem Komputer
Flowchart - Sistem Komputer
 
Bab 3 notasi algoritma
Bab 3 notasi algoritmaBab 3 notasi algoritma
Bab 3 notasi algoritma
 
M03b algoritma lanjutan
M03b algoritma lanjutanM03b algoritma lanjutan
M03b algoritma lanjutan
 
Algoritma 1 pertemuan 3
Algoritma 1 pertemuan 3Algoritma 1 pertemuan 3
Algoritma 1 pertemuan 3
 
Kaidah yang digunakan flowchart atau struktogram
Kaidah yang digunakan flowchart atau struktogramKaidah yang digunakan flowchart atau struktogram
Kaidah yang digunakan flowchart atau struktogram
 
Materi simkomdig-pengertian-dasar-logika-dan-algoritma
Materi simkomdig-pengertian-dasar-logika-dan-algoritmaMateri simkomdig-pengertian-dasar-logika-dan-algoritma
Materi simkomdig-pengertian-dasar-logika-dan-algoritma
 
02 algoritma
02 algoritma02 algoritma
02 algoritma
 
Algoritma dan flowchart
Algoritma dan flowchartAlgoritma dan flowchart
Algoritma dan flowchart
 

Similar to Algoritma

Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum AlgoritmaEnvaPya
 
3. variabel-tipe-data-dan-operator-pada-vb.net
3. variabel-tipe-data-dan-operator-pada-vb.net 3. variabel-tipe-data-dan-operator-pada-vb.net
3. variabel-tipe-data-dan-operator-pada-vb.net Aris Saputro
 
ALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMANALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMANBang Jo
 
Intruksi Fundamental
Intruksi FundamentalIntruksi Fundamental
Intruksi FundamentalAkmal Fajar
 
Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemogramanPANJI_ADITYAN
 
m01-struktur-dasar-c.ppt
m01-struktur-dasar-c.pptm01-struktur-dasar-c.ppt
m01-struktur-dasar-c.pptmisrianaputri1
 
Laporan praktikum iii visual basic
Laporan praktikum iii visual basicLaporan praktikum iii visual basic
Laporan praktikum iii visual basicrahmi wahyuni
 
Algoritma dan Struktur Data (Python) - Struktur I/O
Algoritma dan Struktur Data (Python) - Struktur I/OAlgoritma dan Struktur Data (Python) - Struktur I/O
Algoritma dan Struktur Data (Python) - Struktur I/OAndiNurkholis1
 
Algoritma pertemuan 1
Algoritma pertemuan 1Algoritma pertemuan 1
Algoritma pertemuan 1ysvcyber
 
Tugas blog
Tugas blog Tugas blog
Tugas blog ryass
 
Pengenalan pascal asli
Pengenalan pascal asliPengenalan pascal asli
Pengenalan pascal asliNadya Olivia
 
Modul vii dan viii algo
Modul vii dan viii algoModul vii dan viii algo
Modul vii dan viii algoSTMIK AKAKOM
 
Variabel Operator & Ekspresi - dasar visual basic bagian 5
Variabel Operator & Ekspresi - dasar visual basic bagian 5Variabel Operator & Ekspresi - dasar visual basic bagian 5
Variabel Operator & Ekspresi - dasar visual basic bagian 5Isya Ansyari
 
1. variable identifier dan_tipe_data
1. variable identifier dan_tipe_data1. variable identifier dan_tipe_data
1. variable identifier dan_tipe_dataRoziq Bahtiar
 
Algoritma dan Pemrograman Komputer 2A.pptx
Algoritma dan Pemrograman Komputer 2A.pptxAlgoritma dan Pemrograman Komputer 2A.pptx
Algoritma dan Pemrograman Komputer 2A.pptxAgungRegawa
 

Similar to Algoritma (20)

Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum Algoritma
 
3. variabel-tipe-data-dan-operator-pada-vb.net
3. variabel-tipe-data-dan-operator-pada-vb.net 3. variabel-tipe-data-dan-operator-pada-vb.net
3. variabel-tipe-data-dan-operator-pada-vb.net
 
ALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMANALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMAN
 
Intruksi Fundamental
Intruksi FundamentalIntruksi Fundamental
Intruksi Fundamental
 
Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemograman
 
Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemograman
 
m01-struktur-dasar-c.ppt
m01-struktur-dasar-c.pptm01-struktur-dasar-c.ppt
m01-struktur-dasar-c.ppt
 
Laporan praktikum iii visual basic
Laporan praktikum iii visual basicLaporan praktikum iii visual basic
Laporan praktikum iii visual basic
 
Algoritma dan Struktur Data (Python) - Struktur I/O
Algoritma dan Struktur Data (Python) - Struktur I/OAlgoritma dan Struktur Data (Python) - Struktur I/O
Algoritma dan Struktur Data (Python) - Struktur I/O
 
207 p03
207 p03207 p03
207 p03
 
C++
C++C++
C++
 
Algoritma pertemuan 1
Algoritma pertemuan 1Algoritma pertemuan 1
Algoritma pertemuan 1
 
Algo 1 2
Algo 1 2Algo 1 2
Algo 1 2
 
Tugas blog
Tugas blog Tugas blog
Tugas blog
 
Pengenalan pascal asli
Pengenalan pascal asliPengenalan pascal asli
Pengenalan pascal asli
 
Modul vii dan viii algo
Modul vii dan viii algoModul vii dan viii algo
Modul vii dan viii algo
 
Variabel Operator & Ekspresi - dasar visual basic bagian 5
Variabel Operator & Ekspresi - dasar visual basic bagian 5Variabel Operator & Ekspresi - dasar visual basic bagian 5
Variabel Operator & Ekspresi - dasar visual basic bagian 5
 
1. variable identifier dan_tipe_data
1. variable identifier dan_tipe_data1. variable identifier dan_tipe_data
1. variable identifier dan_tipe_data
 
Alpro tutor
Alpro tutorAlpro tutor
Alpro tutor
 
Algoritma dan Pemrograman Komputer 2A.pptx
Algoritma dan Pemrograman Komputer 2A.pptxAlgoritma dan Pemrograman Komputer 2A.pptx
Algoritma dan Pemrograman Komputer 2A.pptx
 

Recently uploaded

AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..ikayogakinasih12
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxnerow98
 
Lembar Catatan Percakapan Pasca observasidocx
Lembar Catatan Percakapan Pasca observasidocxLembar Catatan Percakapan Pasca observasidocx
Lembar Catatan Percakapan Pasca observasidocxbkandrisaputra
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASKurniawan Dirham
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfSitiJulaeha820399
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKirwan461475
 
Aksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptxAksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptxsdn3jatiblora
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfDimanWr1
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptArkhaRega1
 
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxWirionSembiring2
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDmawan5982
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMmulyadia43
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1udin100
 
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptxKONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptxawaldarmawan3
 
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptxGiftaJewela
 
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptxMiftahunnajahTVIBS
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxIrfanAudah1
 
Dinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapDinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapsefrida3
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BAbdiera
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...Kanaidi ken
 

Recently uploaded (20)

AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
 
Lembar Catatan Percakapan Pasca observasidocx
Lembar Catatan Percakapan Pasca observasidocxLembar Catatan Percakapan Pasca observasidocx
Lembar Catatan Percakapan Pasca observasidocx
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
 
Aksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptxAksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptx
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
 
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SD
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1
 
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptxKONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
 
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
 
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
 
Dinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapDinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genap
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
 

Algoritma

  • 1. Dasar Algoritma PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id
  • 3. 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.
  • 4. Komponen yang harus ada dalam merancang algoritma: 1. Komponen masukan : terdiri dari pemilihan variable, jenis variable, tipe variable, konstanta dan parameter (dalam fungsi). 2. Komponen keluaran: merupakan tujuan dari perancangan algoritma dan program. Permasalahan yang diselesaikan dalam algoritma dan program harus ditampilkan dalam komponen keluaran. Karakteristik keluaran yang baik adalah menjawab permasalahan dan tampilan yang ramah 3. Komponen proses : merupakan bagian utama dan terpenting dalam merancang sebuah algoritma. Dalam bagian ini terdapat logika masalah, logika algoritma (sintaksis dan semantik), rumusan, metode (rekursi, perbandingan, penggabungan, pengurangan dll).
  • 5. 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 pemro- graman, artinya dapat dengan mudah diimplementasikan menggunakan Pascal, C, Fortran, PL atau BASIC.
  • 8. Pseudocode Kode atau tanda yang menyerupai (pseudo) atau merupakan pejelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma. Problem: mencari bilangan terbesar dari dua bilangan yang diinputkan. Contoh Pseudo-code: 1. Masukkan bilangan pertama 2. Masukkan bilangan kedua 3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan langkah 5. 4. Tampilkan bilangan pertama 5. Tampilkan bilangan kedua
  • 9. Aturan Algoritma Fundamental 1. Nama/judul algoritma harus ditulis dengan huruf kapital 2. Berikan komentar dan penjelasan pendahuluan. 3. Pernyataan dan struktur Kontrol 4. Nama-nama variabel harus ditulis dengan huruf besar 5. Input dan output 6. Prosedur 7. Fungsi
  • 10. Masalah : Mencari elemen terbesar dari data dengan n bilangan. Buatlah algoritma dari masalah ini menggunakan Kode Semu : Algoritma Maksimum 1. Mula-mula masukkan bilangan dalam register xi ke dalam register yang dinamakan maks. 2. Untuk i = 2,3,....,n, lakukan : Bandingkan bilangan dalam register xi dengan bilangan dalam register maks. Jika bilangan dalam register xi lebih besar daripada bilangan dalam register maks, pindahkan bilangan dalam register xi ke register maks; jika tidak jangan lakukan apa-apa. 3. Terakhir, bilangan dalam register maks adalah elemen terbesar di antara n bilangan.
  • 12. Algoritma Fundamental Mencari elemen terbesar di dalam data dengan n bilangan. 1. [Inisialisasi] Maks x1 2. [Mulai Loop] I 1 3. [Naikkan Pencacah] I I + 1 4. [Bandingkan] IF Maks < xi THEN Maks xi ELSE GOTO 3 5. [Ulangi Loop] GOTO 3 6. [Selesai] Exit
  • 13. Pascal adalah bahasa tingkat tinggi yang berorientasi pada segala tujuan. 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
  • 14. Tipe Data Penentuan tipe data berguna untuk memberi pengenal pada isi data yang akan diakses, oleh variabel. a. Tipe Data Integer Tipe data ini digunakan untuk menyatakan bilangan yang tidak mempunyai angka desimal. Tipe Integer terdiri dari beberapa tipe lagi, yang sebagian berbeda rentang nilai dan ukuran memorinya
  • 15. b. Tipe Real Tipe real digunakan untuk menyatakan bilangan yang mempunyai angka desimal. Tipe data real ini terdiri dari beberapa tipe lagi, yang sebagian rentang nilai dan ukuran penggunaan memorinya :
  • 16. c. Tipe Boolean Tipe data boolean untuk menyatakan data logika, yaitu True ( benar) dan False (salah). Borland Delphi 6.0 mempunyai 4 tipe boolean yaitu seperti berikut ini. Disarankan penggunaan tipe logika menggunakan tipe Boolean. Untuk ByteBool, WordBool, dan LongBool sebaiknya hanya digunakan untuk menjaga kompabilitas, yaitu jika program akan dihubungkan dengan program bahasa lain.
  • 17. d. Tipe Character Tipe data character digunakan untuk menyatakan karakter satu huruf. e. Tipe String Tipe data string digunakan untuk menyatakan sederetan karakter yang membentuk satu kesatuan, misalnya nama, alamat dan sebagainya.
  • 18. Tipe ShortString disediakan hanya untuk menjaga kompabilitas dengan versi sebelumnya. AnsiString untuk menyimpan karakter ANSI dan WideString dapat menyimpan karakter Unicode. f. g. Tipe Record Tipe record digunakan untuk menyimpan sekumpulan data yang mungkin tipenya berbeda, tetapi saling berhubungan.
  • 19. h. Tipe Terenumerasi dan Subrange Tipe data terenumerasi dan tipe data subrange dipakai untuk menyatakan data berurutan yang bertipe sama. iii.Konstanta Konstanta adalah nilai yang bersifat tetap, misal angka 1, huruf A, nama dan lainlain. Contoh : Const Diskon = 0.25; Univ = ‘Diponegoro’;
  • 20. Variabel Variabel adalah suatu pengenal yang menampung data, yang terdapat pada memori. Setiap variabel pasti mempunyai nama, yang sering disebut sebagai identifier. Pendeklarasian variabel pada delphi: var nama_variabel: tipe_variabel; Contoh : var i, j, k : integer; a, b, c : char;
  • 21. Menggunakan tipe bilangan bulat procedure TForm1.Button1Click(Sender: TObject); var X,Y,Z : byte; Begin X := StrToInt(Edit1.Text); Y := StrToInt(Edit2.Text); // menjumlahkan X dan Y pada Edit3 Z := X + Y; Edit3.Text := IntToStr(Z); // mengalikan X dan Y pada Edit4 Z := X * Y; Edit4.Text := IntToStr(Z); end;
  • 22. Menggunakan tipe bilangan real procedure TForm1.Button1Click(Sender: TObject); var X,Y,Z : real48; i,j,k : extended; Begin X := StrToFloat(Edit1.Text); Y := StrToFloat(Edit2.Text); Z := X * Y; Edit3.Text := FloatToStr(Z); i:= StrToFloat(Edit1.Text); j:= StrToFloat(Edit2.Text); k:= i * j; Edit4.Text := FloatToStr(k); end;
  • 23. Menggunakan tipe bilangan boolean procedure TForm1.CheckBox1Click(Sender: TObject); begin Button1.Visible:= CheckBox1.Checked; end; procedure TForm1.CheckBox2Click(Sender: TObject); begin Edit1.Visible:=CheckBox2.Checked; end; Dengan mengubah properti checked dari kedua kotak cek diatas menjadi true maka kotak cek akan memiliki tanda cek
  • 24. Tipe array Merupakan kumpulan variabel yang bertipe sama var a1, a2, a3, a4, a5, a6, a7, a8 : longint; var a: array [1..8] of longint; Deklarasi tanpa array Deklarasi dengan array
  • 25. procedure TForm1.Button1Click(Sender: TObject); var A: array [0..20] of integer; i: integer; j: integer; begin for i:=0 to ListBox1.Items.Count - 1 do A[i] := StrToInt(ListBox1.Items[i]); j:=0; for i:= 0 to ListBox1.Items.Count - 1 do j:= j + A[i]; Edit1.Text:= IntToStr(j); end; array
  • 26. Tipe Record Bila dengan array, variabel yang digabung memiliki tipe Yang sama, sedangkan record berfungsi menggabungkan beberapa variabel yang tipenya tidak harus sama. Sintaks : type nama_record = record //anggota record diletakkan disini end; Contoh : type mahasiswa = record Nama : string; Alamat : string; end;
  • 28. Kontrol program a. Pengulangan While ... Do Bentuk umum : While <ekspresi> Do Begin <pernyataan > End; b. Pengulangan Repeat ... Until c. Pencabangan bersyarat If .. Then ... Else d. Pencabangan bersyarat Case
  • 29. VISUAL COMPONENT LIBRARY  Kumpulan dari sejumlah obyek tersedia pada Visual Component Library (VCL). Sedangkan untuk memilih obyek terdapat pada Componen palette.  Komponen-komponen dikelompokan seseuai dengan fungsinya. Pengelompokan ini (pages) dinyatakan tabs. Pages default adalah :  Standart, Additional, Win32, System, internet, Data Access, Data Control, Midas, Decision Cube, Qreport, Dialogs, Win31, Samples, EctiveX dan lain-lain.
  • 30.  Component pallet menyediakan komponen-komponen yang diperlukan untuk menyusun program apalikasi.  Object Inspector merupakan penguhubung antara tampilan aplikasi dengan kode program, dan melukukan seting terhadap object-object yang terdapat pada form. a. Properti Page, untuk menentukan properti dan komponen terpilih. b. Event Page, untuk menentukan kejadian atau proses yang akan dilakukan, yang berisi perintah-perintah yang dimiliki masing-masing komponen.
  • 31. 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, Label, Edit,RadioButton, CheckBox, dll). Kontrol mempunyai tiga komponen : a) Properti : misalnya menentukan warna dan mengatur Font. b) Kejadian (event) c) Metode : suatu fungsi untuk melakukan operasi terhadap kontrol.
  • 32. Masalah analisis algoritma Terdapat dua tipe analisis algoritma, yaitu : 1. Memeriksa kebenaran algoritma Dapat dilakukan dengan cara perurutan, memeriksa bentuk logika, implementasi algoritma, pengujian dengan data dan menggunakan cara matematika untuk membuktikan kebenaran. 2. Penyederhanaan Algoritma Membagi algoritma menjadi bentuk yang sederhana. Dalam analisis sebuah algoritma biasanya yang dijadikan ukuran adalah operasi aljabar seperti penjumlahan, pengurangan, perkalian dan pembagian, proses pengula-ngan (looping/Iterasi), proses pengurutan (sorting) dan proses pencarian (searching).
  • 33. Analisis Algoritma  Sebuah algoritma tidak hanya harus benar, tetapi juga harus mangkus (efficient)  Ukuran kemangkusan algoritma: waktu dan ruang memori (space)  Algoritma yang mangkus: algoritma yang meminimumkan kebutuhan waktu dan ruang
  • 34. Alat ukur kemangkusan algoritma: 1. Kompleksitas waktu, T(n) 2. Kompleksitas ruang, 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. S(n): ruang memori yang dibutuhkan algoritma sebagai fungsi dari ukuran masukan n
  • 35. Operasi yang dihitung hanyalah operasi dasar Operasi dasar: operasi khas yang mendasari suatu algoritma Misalnya: - operasi perbandingan elemen pada algoritma pengurutan/pencarian - operasi penjumlahan dan perkalian pada algoritma perkalian matriks
  • 36. Kompleksitas waktu asimptotik: - perkiraan kasar kebutuhan waktu algoritma dengan meningkatnya nilai n - menyatakan laju pertumbuhan waktu, bukan menyatakan jumlah operasi dasar sesungguhnya. Tiga cara menyatakan waktu asimptotik: 1. O(f(n)): untuk batas atas laju kebutuhan waktu 2. W(g(n)): untuk batas bawah laju kebutuhan waktu 3. Q(h(n)) : jika f(n) = g(n)
  • 37. Notasi O (Big O) Misalkan 4 program yang mensorting n bilangan dengan fungsi yang menyatakan sejumlah langkah yang dijumlahkan masing- masing program untuk sorting n bilangan : f1(n) = n, f2(n) = n2 , f3 (n) = 2n , f4(n) = n! Bila n = 4 maka f1 (n) = 4, f2 (n) = f3 (n) = 16 dan f4 (n) = 24 sedangkan apabila n = 100, program keempat akan memerlukan 2100 langkah.