Pemrograman Terstruktur
Cover
Herianto
CopyRight@20
04
Sistematika Materi
Sistematika Materi
Konsep Pemrograman
Mem-program komputer, secara teknis bertujuan :
Memasukkan/ menyusun sejumlah instruksi dan data ke
memory, yang selanjutnya akan diambil satu persatu oleh
CPU/Processor untuk dilaksanakan
Perkembangan (cara) mem-program komputer :
1.
2.
3.
Pemrograman dengan bahasa assembler : Perintahperintahnya berkaitan langsung dengan struktur internal
hardware
4.
Instruksi A
Data D
Instruksi D
Instruksi B
Tool
Instruksi C
Data A
CPU
0001
0002
.
.
Hexa
0100
00011100
0101
00000101
0102
00111101
0103
00010010
3C
05
3D
12
2D
00101101
.
.
.
Assembly
Mov A,05
Mov B,12
Add A,B
High/Medium Level
A = 05 + 12
Pemrograman terstruktur :
Pascal, C/C++,
Jenis
bahasa pemrograman
Pemrograman
prosedural sekaligus
berdasarkan
(hasil) :
berorientasi tujuan
objek : C++
Pemrograman stand-alone
Pemrograman client/server
Pemrograman web : HTML, Script
Pemrograman jaringan
Jenis bahasa pemrograman
berdasarkan cara penterjemahan :
Interpreter : Basica, Foxpro, Matlab,
Compiler : Turbo Basic, Pascal, C/C++,
Bahasa Terbaik
Bahasa Terburuk
Data terstruktur
Assembler, BASIC
Proyek cepat
BASIC
Eksekusi cepat
Assembler, C
Kalkulasi matematika
FORTRAN
PASCAL, C
BASIC
BASIC, Assembler, C
FORTRAN
Program real-time
ADA, Assembler, C
BASIC, FORTRAN
Manipulasi string
BASIC, PASCAL
PASCAL, ADA
C, FORTRAN
PASCAL
(Mc. Connell)
Rasio
Assembler
1: 1
ADA
1 : 4.5
1:5
1 : 2.5
FORTRAN
PASCAL
Bahasa Pemrograman
Basic
Pascal
Foxpro
1:3
1 : 3.5
(Mc. Connell)
Proses pemecahan :
Permasalahan di atas dapat
disederhanakan dengan menggambarkan
bagaimana dialog di layar komputer yang
diharapkan terjadi terhadap aplikasi yang
dibutuhkan tersebut :
Contoh dialog yang diharapkan :
Solusi 1 (X1) =
Solusi 2 (X2) =
Lanjutan
Digunakan untuk
menghubungan antar
simbol/elemen yang lain dan
sekaligus menyatakan arah
aliran
Permasalahan 2 :
Start
Start
A=0
Masukkan data jumlah apel ke var A
Masukkan data jumlah anak ke var N
D = b2 4AC
C=A/N
D>0
Hitung penyelesaian real
Dengan akar berbeda
D=0
Hitung penyelesaian real
Dengan akar sama
end
Hitung penyelesaian
Bilangan imajiner
end
Filosofis Terstruktur
2. Struktur 1 pilihan
dengan IF-THEN
Lanjutan :
Lanjutan :
5. Struktur perulangan
FOR
6. Struktur perulangan
WHILE
For
7. Struktur perulangan
UNTIL
Proses 1
true
Kondisi
false
Proses 1a
Proses 2
Proses1
If {kondisi=false } then goto lompat
Proses1a
Lompat:
Proses2
Proses1
If {kondisi } then
Proses1a
End if
Proses2
Analisa :
Jika kondisi=true,
urutan pelaksanaan :
Jika kondisi=false,
urutan pelaksanaan :
Proses1
Proses1a
Proses2
Proses1
Proses2
Proses1
IF-THENIf {kondisi=true } then goto lompat1 else goto
lompat2
ELSE
Lompat1:
Proses1b
goto lompat3
Proses 1
Lompat2:
Proses1a
true
Lompat3:
Kondisi
Proses2
false
Proses1
Proses 1b
If {kondisi=true } then
Proses 1a
Proses1b
else
proses1a
Proses 2
end if
Proses2
Analisa :
Jika kondisi=true,
urutan pelaksanaan :
Jika kondisi=false,
urutan pelaksanaan :
Proses1
Proses1b
Proses2
Proses1
Proses1a
Proses2
IF-THEN-ELSEIF
Proses 1
Kondisi1
false
true
Proses 2a
Kondisi2
Proses 2b
Kondisi3
Proses 2c
Proses 2d
Proses 3
Proses1
If {kondisi1=true } then goto
lompat1
If {kondisi2=true } then goto
lompat2
If {kondisi3=true } then goto
lompat3
Goto lompat4
Lompat1:
Proses2a
goto habis
Lompat2:
Proses2b
goto habis
Lompat3:
Proses2c
goto habis
Lompat4:
proses2d
Habis:
proses3
Proses1
If {kondisi1=true }
then
Proses2a
else
if {kondisi2=true }
then
Proses2b
else
if {kondisi3=true }
then
Proses2c
else
Proses2d
end if
Proses3
Proses1
Case of var
Kondisi1:
Proses2a
Kondisi2:
Proses2b
Kondisi3:
Proses2c
else
Proses2d
end case
Proses3
Looping : FOR
FOR I=1 to 5
Proses1
For I=1 to 5
Proses 1
Proses 2
Next I
Proses 3
Proses2
Proses3
I=1
Ulang :
Proses1
Proses2
I=I+1
If I<=5 then goto
Ulang
Proses3
Looping :
WHILE
While {kondisi}
While {kondisi=true}
Proses 1
Proses 2
Wend
Proses 3
Proses1
Proses2
Proses3
Ulang :
If {kondisi=true}
then
Proses1
Proses2
goto Ulang
Proses3
Looping :
UNTIL
Proses1
do
Proses 1
Proses 2
Loop Until {kondisi=true}
Proses 3
Proses1
Until {kondisi}
Proses3
Ulang :
Proses1
Proses2
If {kondisi=true} then goto
Ulang
Proses3
end
end
.
- Type data pada C :
.
- Type data pada Foxpro :
Sub kriteria
Kelengkapan deklarasi elemen program
IF-THEN-ELSEIF
CASE
FOR
WHILE
UNTIL
Type dasar (integer, real,char, string, boolean)
4=Baik sekali
3=Baik
2=Cukup
1=Kurang
TOTAL
Bahasa Pemrograman
Basic
Pascal
Foxpro
Diagram Nassi-Schneiderman
Tabel Decision
Sub Masalah A
Sub Masalah A1
Sub Masalah B
Sub Masalah C
Sub Masalah A2
Masalah
utama
B
C
A1
A
Strategi umum dalam penyelesaian
masalah besar; kompleks; rumit
A2
Contoh Top-down :
Mahasiswa
Dosen
Perkuliahan
Entry data
Entry data
Entry data
Hapus data
Hapus data
Hapus data
Laporan data
Laporan data
Laporan data
Metode Modular :
Bagian
Utama
..
Call A
..
A
.
Call A1
.
Call A2
..
B
Call B
..
.
.
Implementasi Top-down
A1
.
.
A2
.
.
C
Call C
..
.
.
Dapat diterapkan
secara :
- Internal : sub
program, procedure,
function
While
kondisi
2
Stateme3
ya
if
proses
2
proses
2
Until kondisi
Contoh :
Mulai
tdk
proses
1
ya
proses
1
if
D = B*B-4*A*C
tdk
proses
2
ya
Imajiner
D<0
ya
Real
sama
tdk
D=0
tdk
Real
berbeda
Tabel Decision
Rules
1
Langkah Pembuatan :
- Menentukan kondisi yang akan diseleksi
Kondisi
Aksi
Contoh :
Rules
1
Apakah jumlah
kehadiran>=90%
Mendapat bonus
x
x
start
C=2, M=3
C=C*M
C=C+1
FF
T
C>12
C=C-M
F
C>M
T
F
For I=M to C
T
I>M
(I*C)>M
F
C<=M
M=C+5
M=M+1
Next I
C=C+M
T
C=M+1
M=C+1
P=C+M
Cetak C
Cetak M
end
M=P+2
C = 37
M = 25