180 likes | 548 Views
Struktur Dasar Algoritma. Dasar-dasr Komputer FKIP Pend. Matematika Universitas Muhammadiyah Gresik. Pendahuluan. Suatu program sebenarnya hanya terdiri dari tiga buah struktur dasar saja , yaitu : Struktur Urut (Sequence) Struktur Keputusan (Decision)
E N D
Struktur Dasar Algoritma Dasar-dasrKomputer FKIP Pend. Matematika UniversitasMuhammadiyah Gresik
Pendahuluan • Suatu program sebenarnyahanyaterdiridaritigabuahstrukturdasarsaja, yaitu : • StrukturUrut (Sequence) • StrukturKeputusan (Decision) • StrukturPerulangan (Repetation) • Ketigajenislangkahtersebutmembentukkonstruksisuatualgoritma/program. Jadi, sebuahalgoritma/program dapatdibangundaritigabuahstrukturdasardiatas.
Struktur Urut (Sequence) • Runtunan (sequence) Sebuah runtunan terdiri dari satu atau lebih instruksi. Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya, yakni sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dikerjakan. • Pemilihan (selection) Adakalanya sebuah instruksi dikerjakan jika kondisi tertentu dipenuhi. Tiap–tiap instruksi akan diseleksi oleh kondisi, apabila instruksi memenuhi kondisi yang diminta, maka instruksi akan dijalankan. • Pengulangan (repetition) Salah satu kelebihan komputer adalah kemampuannya untuk mengerjakan pekerjaan yang sama berulang kali tanpa mengenal lelah. Kita tidak perlu menulis instruksi yang sama berulang kali, tetapi cukup melakukan pengulangan dengan instruksi yang tersedia.
Struktur Urut (Sequence) • Struktur program yang paling sederhana • Setiapbaris program dikerjakansecaraurutdariataskebawah; atau Sebuahbaris program akandilaksanakansetelahbaris program sebelumnyaselesaidikerjakan • Tidakadabaris program yang dikerjakanlebihdarisatu kali (ciridarirepetation) • Tidakadabaris program yang tidakdikerjakan/dilewati (ciridari decision)
Struktur Urut (lanjut) Start Judul Program • Program hitung_luas_persegipanjang; • Var • P, L, Luas : integer; • Begin • Write(‘MasukkanPanjang’); • Read(P); • Write(‘MasukkanLebar’); • Read(L); • Luas := P * L; • Write(‘LuasPersegiPanjang =‘,Luas); • Readln; • End. MasukkanPanjang (P) Deklarasivariabel MasukkanLebar (L) Badan Program L uas= P * L TampilkanLuas Start
Struktur Urut (lanjut) • Keterangan : • Setiap baris program diatas akan diproses secara urut, mulai dari baris 1 sampai dengan baris 12 • Setiap baris proses tidak ada yang dikerjakan lebih dari 1 kali atau tidak dikerjakan/dilewati
Struktur Keputusan(Decision) • Tidaksetiapbaris program akandikerjakan • Baris program akandikerjakanjikamemenuhisyarat • Jadi, strukturkeputusanadalah : struktur program yang melakukanprosespengujianuntukmengambilsuatukeputusanapakahsuatubaris program ataublokinstruksiakandiprosesatautidak • Pengambilankeputusanmenggunakanpernyataanboole (true/false) dg menggunakan operator pembanding( >,<,>=,<=,=,<>) yang bisadikombinasikandengan operator boolean (AND, OR dan NOT)
Struktur Keputusan (lanjut) • Contoh : • 5 =5 true, karena 5 sama dengan 5 • 3 = 4 false, karena 3 tidak sama dengan 4 • 3 > 1 ? • 5 <> 2 ? • A = 5 bisa true/false tergantung nilai variabel A • (A>5) AND (B=2) true, jika pernyataan A>5 bernilai true, dan pernyataan B=2 juga bernilai true
Struktur Keputusan (lanjut) • Khusus untuk yang menggunakan opertor boolean (AND, OR dan NOT), harus sesuai dengan tabel kebenaran
Struktur Keputusan(lanjut) Judul Program Start • Program hitung_luas_persegipanjang; • Var • N: integer; • Begin • Write(‘MasukkanNilaiSiswa’); • Read(N); • If N >= 60 Then • Write(‘SiswaDinyatakan Lulus’); • Else • Write(‘SiswaDinyatakanTidak Lulus’); • Readln; • End. Deklarasivariabel MasukkanNilaiSiswa(N) Apakah N >= 60 Tidak Ya TampilkanSiswa Lulus TampilkanSiswaTidak Lulus Start
Struktur Keputusan(lanjut) • Keterangan : • Tidak semua baris program akan diproses • Baris program no.8 akan diproses jika kondisi nilai siswa >= 60 bernilai benar (true) • Baris program no.10 akan diproses jika kondisi nilai siswa >= 60 bernilai salah (false)
Struktur Perulangan(Repetation) • Terdapatbaris program ataublokinstruksi yang dikerjakansecaraberulang-ulang • Sangatbergunajikadibutuhkanblokinstruksi yang harusdikerjakansecaraberulang-ulangtanpaharusmengetikkanperintahlagi (cukupdiketiksatu kali untukdikerjakanberkali-kali) • Selalumemilikibatasanpengerjaanblokinstruksi (adawaktuuntukmemulaidanwaktuuntukberhenti) • Menggunakanstrukturkeputusanuntukmengetahuikapanblokinstruksidikerjakanberulangataukapanblokinstruksitidakdikerjakanlagi
Struktur Urut (lanjut) Start Judul Program MasukkanPanjang (P) • Program hitung_luas_persegipanjang; • Label • Atas; • Var • P, L, Luas : integer; • Lagi : char; • Begin • Atas : • Write(‘Masukkan Panjang’); • Read(P); • Write(‘Masukkan Lebar’); • Read(L); • Luas := P * L; • Write(‘Luas Persegi Panjang =‘,Luas); • Readln; • Write(‘Apakah Anda Ingin Menghitung Luas Lagi?); • Read(Lagi); • If Lagi = ‘Y’ Then • Goto atas; • End. Deklarasivariabel MasukkanLebar (L) L uas= P * L TampilkanLuas HitungLuasLagi ? Ya Tidak Start
Struktur Urut (lanjut) • Keterangan : • Baris program no. 6 sampai no.14 akan diulang terus menerus selama kondisi variabel Lagi bernilai ‘Y’