Bahan Kuliah Teori :
Pemrograman
Pemrograman
Terstruktur
Terstruktur
Sistematika
Sistematika
Materi
Materi
•
Konsep
Konsep
pemrograman
pemrograman
secara
secara
umum
umum
:
:
Perkembangan pemrograman komputer
Sejarah bahasa pemrograman
Jenis bahasa pemrograman
Perbandingan bahasa pemrograman
•
Ide
Ide
Pemrograman
Pemrograman
terstruktur
terstruktur
:
:
Defenisi, Tujuan, Kriteria
•
Metoda
Metoda
dasar
dasar
pemrograman
pemrograman
terstruktur
terstruktur
GOTOLess : Sekuensial, Selection, Looping
•
Perbandingan
Perbandingan
bahasa
bahasa
pemrograman
pemrograman
(Berdasarkan kriteria pemrograman terstruktur)
•
Metoda
Metoda
desain
desain
pemrograman
pemrograman
terstruktur
terstruktur
Modular, TopDown,…
•
OOP, Pemrograman
OOP,
Pemrograman
berorientasi
berorientasi
objek
objek
(Lebih terstuktur dari ide pemrograman terstruktur ?)
•
Struktur
Struktur
pemrograman
pemrograman
visual
visual
Perkembangan
Perkembangan
(
(
cara
cara
)
)
mem
mem
-
-
program
program
komputer
komputer
:
:
1.
Pemrograman dengan mengatur/menyambung titik jumper di
rangkaian komputer
2.
Pemrograman dengan langsung menulis kode biner ke memory,
direpresentasikan melalui kode hexa,
kode biner disebut juga
bahasa mesin komputer
3.
Pemrograman dengan bahasa assembler :
Perintah-perintahnya
berkaitan langsung dengan struktur internal hardware
4.
Pemrograman dengan bahasa tingkat tinggi/menengah :
Perintah-perintahnya mirip dengan bahasa manusia/english
Konsep Pemrograman
•
•
Mem
Mem
-
-
program
program
komputer
komputer
,
,
secara
secara
teknis
teknis
bertujuan
bertujuan
:
:
Memasukkan/ menyusun sejumlah instruksi dan data ke memory,
yang selanjutnya akan diambil satu persatu oleh CPU/Processor
untuk dilaksanakan
CPU Programmer Instruksi A Instruksi D Data D Instruksi B Data A Instruksi C
Sejumlah Instruksi dan data
00011100 00000101 00111101 00010010 00101101 ………. ………. ………. ………. ………. 0002 0100 0101 ………. 0001 0102 0103
Susunan instruksi dan data dalam memory Mov A,05 Mov B,12 Add A,B Assembly A = 05 + 12 High/Medium Level 3C 05 3D 12 2D Hexa Tool
Ilustrasi
Sejarah
Generasi
Generasi
dan
dan
Jenis
Jenis
Bahasa
Bahasa
Pemrograman
Pemrograman
Generasi bahasa pemrograman:
•
Generasi I :
machine language
•
Generasi II :
assembly language :
Asssembler
•
Generasi III :
high-level programming
language: C, PASCAL, dsb.
•
Generasi IV :
4 GL (fourth-generation
language): Prolog, SQL, Visual tool, dsb
Jenis bahasa pemrograman
berdasarkan metodanya :
• Pemrograman tidak terstruktur :
Basica, Fortran, …
• Pemrograman terstruktur :
Pascal, C/C++, …• Pemrograman berorientasi objek :
C++, Java, …
• Pemrograman visual :
VB, Delphi, …Jenis bahasa pemrograman
berdasarkan bentuk (corak kode) nya :
• Pemrograman prosedural :
Pascal, C, …• Pemrograman fungsional :
Lisp• Pemrograman deklaratif :
Prolog• Pemrograman berorientasi objek :
Java• Pemrograman prosedural sekaligus
berorientasi objek :
C++Jenis bahasa pemrograman
berdasarkan tujuan (hasil) :
• Pemrograman stand-alone
• Pemrograman client/server
• Pemrograman web :
HTML, Script• Pemrograman jaringan
Jenis bahasa pemrograman
berdasarkan cara penterjemahan :
• Interpreter :
Basica, Foxpro, Matlab,…Jenis Program Bahasa Terbaik Bahasa Terburuk
Data terstruktur ADA, C /C++, PASCAL Assembler, BASIC Proyek cepat BASIC PASCAL, ADA, Assembler Eksekusi cepat Assembler, C BASIC, Intrepreter Language Kalkulasi matematika FORTRAN PASCAL
Menggunakan memori dinamis PASCAL, C BASIC Lingkungan bermemori terbatas BASIC, Assembler, C FORTRAN Program real-time ADA, Assembler, C BASIC, FORTRAN Manipulasi string BASIC, PASCAL C
Program mudah dikelola PASCAL, ADA C, FORTRAN
(Mc. Connell)
Bahasa Rasio
Assembler 1: 1 ADA 1 : 4.5 Quick / Turbo / Basic 1 : 5 C 1 : 2.5 FORTRAN 1 : 3 PASCAL 1 : 3.5
Berdasarkan tujuan tertentu :
Berdasarkan jumlah instruksi dibandingkan
dengan assembler
(Mc. Connell)
Perbandingan
Perbandingan
Bahasa
Bahasa
Pemrograman
Pemrograman
(
(
Umum
Umum
)
)
Foxpro C Pascal Basic Bahasa Pemrograman KriteriaBerdasarkan kriteria pemrograman
terstruktur :
Proses
Contoh
Contoh
Proses
Proses
Pembuatan
Pembuatan
Aplikasi
Aplikasi
(1) :
(1) :
Permasalahan 1 :
Si Upik selalu membeli buah apel untuk dibagikan ke beberapa orang anak yatim Ia kesulitan untuk membagi secara adil berapa buah apel setiap anak mendapatkan jika ia beli N buah. Karena sering ia lakukan, ia membutuhkan aplikasi untuk menghitung kebutuhan tersebut.
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 :
Aplikasi pembagian buah apel
Ketik jumlah buah apel yang dibeli : … {ENTER} Ketik jumlah anak yang akan diberi : … {ENTER} Solusi :
Setiap anak mendapatkan : … buah apel
Dari gambaran tersebut dapat ditentukan bahwa program membutuhkan 2 input dan 1 output.
Misal kedua input yang dibutuhkan disebut A dan N dan output disebut C.
Maka secara matematis hubungan input dan output dapat dimodelkan dengan :
C = A / N Contoh data :
Jika A = 25 dan N = 5,
maka secara manual dapat dihitung : C = 25 / 5
C = 5
Urutan perhitungan tersebut (algoritma) jika dilakukan komputer adalah :
-Memasukkan nilai ke A -Memasukkan nilai ke N -Menghitung C = A / N -Mencetak hasil C
Contoh
Contoh
Proses
Proses
Pembuatan
Pembuatan
Aplikasi
Aplikasi
(2) :
(2) :
Permasalahan 2 :
Si Buyung kelas 2 SMU. Oleh guru matematik-nya ia sering diminta menghitung soal-soal
persamaan kuadrat yang jumlahnya lumayan banyak. Si Buyung memang jago matematik, tapi dia juga sedang mendalami pemrograman
komputer. Dia tahu kalau masalah di atas dapat diatasi dengan membuatkan aplikasinya.
Proses pemecahan :
Permasalahan di atas juga dapat disederhanakan dengan menggambarkan bagaimana dialog di layar komputer yang diharapkan terhadap aplikasi tersebut :
Contoh dialog yang diharapkan :
Aplikasi menghitung persamaan kuadrat
Masukkan nilai koefisien A : … {ENTER} Masukkan nilai koefisien B : … {ENTER} Masukkan nilai koefisien C : … {ENTER} Penyelesaian :
Solusi merupakan 2 akar real yang berbeda Solusi 1 (X1) = …
Solusi 2 (X2) = …
Dari dialog tersebut diketahui bahwa program membutuhkan 3 input dan 2 output.
Misal kedua input yang dibutuhkan disebut A, B dan C dan output disebut X1 dan X2.
Maka secara matematis, dengan
menggunakan rumus abc yang telah baku, proses mendapat X1 dan X2 dapat dihitung seperti berikut :
X1 = (-b+√D)/2A X2 = (-b-√D)/2A Dimana D = b2 –4AC
Sebelum menghitung X1 dan X2 perlu
diselidiki apakah nilai A=0 atau tidak, sebab pada persamaan kuadrat nilai A tidak boleh 0 Juga harus dihitung terlebih dahulu nilai D, dan diselidiki :
Jika D>0; Penyelesaian (X1 dan X2) merupakan nilai real dan berbeda Jika D = 0; penyelesaian (X1 dan X2) merupakan nilai real dan sama (X1=X2) Jika D<0; penyelesaian (X1 dan X2) merupakan nilai imajiner
Lanjutan
AWAL :
- Memasukkan nilai ke A - Memasukkan nilai ke B - Memasukkan nilai ke C
- Selidiki apakah A=0, jika YA melompat ke AKHIR - Menghitung nilai D = b2 –4AC
- Menyelidiki nilai D,
- Jika D>0 melompat ke REAL_BEDA - Jika D=0 melompat ke REAL_SAMA - JIKA D<0 melompat ke IMAJINER REAL_BEDA : - X1 = (-b+√D)/2A - X2 = (-b-√D)/2A - Mencetak hasilnya - Melompat ke AKHIR REAL_SAMA : - X1 = -b / 2A - X2 = X1 - Mencetak hasilnya - Melompat ke AKHIR IMAJINER : - D = absolute(D) - X1 = -b/2A + √D/2A i - X2 = -b/2A - √D/2A I - Mencetak hasilnya AKHIR :
- Menanyakan apakah ingin menghitung lagi, jika YA melompat ke AWAL
Proses pemecahan tersebut urutannya (algoritma) adalah :
Pembuatan
Pembuatan
Kode
Kode
Program :
Program :
Setelah kita dapatkan algoritma dari permasalahan, maka langkah selanjutnya adalah membuat kode programnya
Kode program permasalahan 1
Kode program dari permasalahan 1 di atas bersifat sekuensial murni. Artinya tidak
membutuhkan perintah untuk melompat dari satu bagian program ke bagian program lain. Kode program seperti ini sangat mudah untuk membuatnya menggunakan bahasa
pemrograman apa pun
Kode Program permasalahan 2
Kode program dari permasalahan 2 tidak lagi bersifat sekuensial murni, karena membutuhkan perintah untuk melompat ke bagian program tertentu. Untuk melompat ke bagian program tertentu dapat menggunakan perintah GOTO atau dapat juga dengan menggunakan metodametoda PEMROGRAMAN TERSTRUKTUR
Simbol
Simbol-
-
simbol
simbol
untuk
untuk
menggambarkan
menggambarkan
Flow Chart
Flow Chart
Digunakan untuk
menunjukkan awal dan akhir program
Digunakan untuk memberikan nilai awal (inisial) pada suatu variabel atau counter
Digunakan untuk proses, pengolahan arithmatik, dan pemindahan data
Digunakan untuk mewakili operasi perbandingan logika yang dibutuhkan pada
Selection dan Looping
Digunakan untuk proses yang detailnya dijelaskan terpisah, misalkan untuk menyatakan prosedur, atau sub program
Digunakan untuk hubungan arus proses yang terputus masih di halaman yang sama
Digunakan untuk hubungan arus proses yang terputus di halaman yang berbeda
Digunakan untuk menghubungan antar
simbol/elemen yang lain dan sekaligus menyatakan arah aliran
Digunakan untuk menyatakan operasi memasukkan data/input dan menampilkan data/output
Contoh
Contoh
Flow Chart :
Flow Chart :
Start
Masukkan data jumlah apel ke var A Masukkan data jumlah anak ke var N
C = A / N
Tampilkan : Setiap anak mendapat C apel
end
Start
Masukkan nilai koefisien A ke var A Masukkan nilai koefisien B ke var B Masukkan nilai koefisien C ke var C
A=0
Menanyakan apakah ingin menghitung lagi ? LG
end
D = b2 –4AC
D>0
D=0 Hitung penyelesaian real
Dengan akar berbeda
Hitung penyelesaian real Dengan akar sama
Hitung penyelesaian Bilangan imajiner
Permasalahan 1 :
Permasalahan 2 :
Ide
Ide
Pemrograman
Pemrograman
terstruktur
terstruktur
Pemrograman yaitu aktivitas membuat
program, yaitu menyusun sejumlah perintah yang dikenal komputer
Terstruktur dapat berarti terpola, bentuk
yang mengikuti aturan tertentu, juga berarti sesuatu yang sistematis
Pemrograman Terstruktur berarti :
……… ………
Orang pertama yang mencetuskan ide
pemrograman terstruktur adalah Profesor
Edsger W. Dijkstra dari University of Eindhoven, Nederland. Ide utamanya adalah bahwa
statemen GOTO sebaiknya tidak digunakan di dalam pemrograman terstruktur, sebab bisa membuat program menjadi ruwet.
Ide ini ditanggapi oleh HD Milis, yang
beranggapan bahwa pemrograman terstruktur semestinya tidak hanya dihubungkan dengan tanpa penggunaan GOTO, tetapi yang lebih utama adalah struktur program itulah yang menentukan apakah suatu pemrograman terstruktur atau tidak
Kriteria pemrograman terstruktur :
- Struktur programnya; jelas dan tegas
- Fasilitas penulisan kode program; jelas dan tegas
- Statemen untuk kebutuhan Selection dan Looping;
lengkap
- Fasilitas menyatakan berbagai type data (struktur data); lengkap dan tegas
- Fasilitas pemberian komentar; lengkap
- Fasilitas instruksi yang tersedia (operasi arithmatik/matematik, string, …); lengkap
- Fasilitas modular (baik internal maupun eksternal);
lengkap
- Fasilitas debugging, mudah dan jelas
Ide pemrograman terstruktur muncul karena jumlah
baris program semakin lama semakin besar, tentu saja hal ini terjadi karena diinginkan aplikasi yang lengkap dan lebih berkualitas
Dengan ide pemrograman terstruktur diharapkan dapat
membantu manajemen source code (kode
program) sehingga program mudah untuk dikelola bagi kepentingan selanjutnya
Tujuan utama pemrograman terstruktur adalah : agar
program-program besar menjadi lebih mudah ditelusuri alur logikanya, mudah untuk dimodifikasi
(dikembangkan) dan mudah pula untuk ditemukan bagian yang salah ketika program sedang diuji.
Filosofis Terstruktur
a
b
c
d
- Mana yang susunannya terstruktur (teratur, …)
- Mana yang lebih mudah anda hafalkan
- Jika akan ditambah satu batang lagi, dimana harus
diletakkan agar posisinya dapat dinilai benar
- Jika susunannya dirombak, mana yang lebih mudah untuk
disusun kembali
Metoda
Metoda
dasar
dasar
pemrograman
pemrograman
terstruktur
terstruktur
Ide awal penerapan pemrograman terstruktur yaitu dengan menghindari penggunaan GOTO untuk melompat ke bagian program tertentu Kegunaan GOTO untuk melompat ke baris
program tertentu, secara umum dapat dibagi ke dalam 2 kelompok :
1. Melompat ke bagian bawah program dari posisi program saat ini
2. Melompat ke bagian atas program dari posisi program saat ini
Dengan pemrograman terstruktur;
Jika ada kebutuhan melompat ke bagian bawah, dapat digantikan dengan perintah Selection (If,
Case, Select, Switch,…)
Jika ada kebutuhan melompat ke bagian atas, dapat digantikan dengan perintah Looping (for,
While, repeat-until,…)
Prinsip utamanya adalah, program tidak boleh melompat ke atas, kecuali untuk keperluan pengulangan
Untuk itu dalam pemrograman terstruktur hanya dikenal 3 struktur :
1. Sekuensial, yaitu program yang tidak memiliki lompatan. Baris program
dijalankan secara normal (lurus) satu per-satu dari atas ke bawah
2. Selection, yaitu program yang memiliki pilihan apakah harus menjalankan baris program sesuai dengan urutannya atau melompati sejumlah baris program tersebut
3. Looping, yaitu program yang juga mengandung pilihan apakah akan
mengulangi program yang sudah pernah dijalankan sebelumnya atau tidak
Beberapa
Beberapa
bentuk
bentuk
logika
logika
terstruktur
terstruktur
dengan
dengan
flow chart
flow chart
1. Struktur urut sederhana (Simple sequence)
2. Struktur 1 pilihan dengan IF-THEN
3. Struktur 2 pilihan dengan IF-THEN-ELSE
4a. Struktur banyak pilihan dengan IF-THEN-ELSEIF
4b. Struktur banyak pilihan dengan CASE
5. Struktur perulangan FOR
Lanjutan :
For
6. Struktur perulangan WHILE
Statemen
Statemen
kontrol
kontrol
terstruktur
terstruktur
:
:
menyembunyikan
menyembunyikan
goto
goto
Kondisi
Proses 1a
IF-THEN
true falseProses 1
Proses 2
Proses1
If {kondisi } then
Proses1a
End if
Proses2
Proses1
If {kondisi=false } then goto lompat
Proses1a
Lompat:
Proses2
Jika kondisi=true,
urutan pelaksanaan :
Proses1
Proses1a
Proses2
Jika kondisi=false,
urutan pelaksanaan :
Proses1
Proses2
Analisa :
Lanjutan
Lanjutan menyembunykanmenyembunykangotogoto
Kondisi
Proses 1b
IF-THEN-ELSE
true falseProses 1
Proses 2
Proses1
If {kondisi=true } then
Proses1b
else
proses1a
end if
Proses2
Proses1
If {kondisi=true } then goto lompat1 else goto lompat2
Lompat1:
Proses1b
goto lompat3
Lompat2:
Proses1a
Lompat3:
Proses2
Jika kondisi=true,
urutan pelaksanaan :
Proses1
Proses1b
Proses2
Jika kondisi=false,
urutan pelaksanaan :
Proses1
Proses1a
Proses2
Analisa :
Proses 1a
Lanjutan
Lanjutanmenyembunykanmenyembunykangotogoto
Kondisi1
Proses 2a
IF-THEN-ELSE-IF
true falseProses 1
Proses 2d
Proses1 If {kondisi1=true } then Proses2a else if {kondisi2=true } then Proses2b else if {kondisi3=true } then Proses2c else Proses2d end if Proses3 Proses1If {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
Kondisi2
Kondisi3
Proses 2b
Proses 2c
Proses 3
Proses1 Case of var Kondisi1: Proses2a Kondisi2: Proses2b Kondisi3: Proses2c else Proses2d end case Proses3Lanjutan
Lanjutanmenyembunykanmenyembunykangotogoto
Looping : FOR
I=1
Ulang :
Proses1
Proses2
I=I+1
If I<=5 then goto Ulang
Proses3
For I=1 to 5
Proses 1
Proses 2
Next I
Proses 3
Proses1
Proses2
FOR I=1 to 5Proses3
Lanjutan
Lanjutanmenyembunykanmenyembunykangotogoto
Looping : WHILE
Ulang :
If {kondisi=true} then
Proses1
Proses2
goto Ulang
Proses3
While {kondisi=true}
Proses 1
Proses 2
Wend
Proses 3
While {kondisi}Proses1
Proses2
Proses3
Lanjutan
Lanjutanmenyembunykanmenyembunykangotogoto
Looping : UNTIL
Ulang :
Proses1
Proses2
If {kondisi=true} then goto Ulang
Proses3
do
Proses 1
Proses 2
Loop Until {kondisi=true}
Proses 3
Proses1
Proses1
Until {kondisi}
Contoh flow chart dengan kontrol lengkap :
C=2 C=C=1 C>12end
start
Contoh flow chart dengan beberapa lompatan tidak terstruktur :
end
start
Lompatan tidak terstruktur :
a. Melompat ke bagian yang belum tentu dilewati
Struktur
Struktur
Data dan
Data
dan
Pemrograman
Pemrograman
terstruktur
terstruktur
• Bahasa pemrograman dengan kemampuan
meng-ekspresi-kan semua kebutuhan
struktur data akan lebih mendukung
pencapaian tujuan dari pemrograman
terstruktur
• Bahasa pemrograman yang tidak memiliki
fasilitas untuk mengungkapkan struktur
data tertentu cendrung mengarahkan kode
program ke bentuk yang kurang teratur
• Kemampuan struktur data suatu bahasa
pemrograman ditentukan oleh kemampuan
fasilitas type data yang dimilikinya
• Type data secara umum terdiri dari :
- Type data dasar standar : Integer,
real, string, charakter, dan logic
- Type data dasar tidak standar :
sub range, enumerate
- Type data majemuk : set, array,
record, file
- Type data dinamis : pointer
- Type data pada Basic :
……….
……….
- Type data pada Pascal :
……….
……….
- Type data pada C :
……….
……….
- Type data pada Foxpro :
……….
……….
Tabel
Tabel PerbandinganPerbandingan BahasaBahasa PemrogramanPemrograman ((BerdasarkanBerdasarkankriteriakriteriapemrogramanpemrogramanterstrukturterstruktur))
TOTAL
Kelengkapan pesan (Syntex error, Compile error, Run-time error) Modular external (file kode terpisah)
Fungsi-fungsi built-in (string, matematik, grafis, …) Komentar banyak baris
Komentar di tengah baris Pointer
Set, enumerate, array, record, file Ketegasan susunan deklarasi
FOR UNTIL IF-THEN-ELSEIF IF-THEN-ELSE CASE WHILE
Ketegasan penggunaan simbol (case sensitif – non case sensitif)
Kemudahan memahami pesan kesalahan Modular internal (procedure, function)
Operator aritmatik (+,-,*,/,^), operator relasi (<, <=, >, >=, <>),operator logika (AND, OR, NOT),assignment (=)
Komentar 1 baris
Type dasar (integer, real,char, string, boolean) IF-THEN
Kelengkapan simbol untuk penulisan kode Kelengkapan deklarasi elemen program
Sub
Sub kriteriakriteria
Fasilitas debugging, mudah dan jelas Fasilitas modular (baik internal maupun eksternal); lengkap
Fasilitas instruksi/operasi yang tersedia Fasilitas pemberian komentar; lengkap Fasilitas menyatakan berbagai type data Statemen untuk kebutuhan Selection dan Looping; lengkap
Fasilitas penulisan kode program; jelas dan tegas
Struktur programnya; jelas dan tegas
Foxpro C
Pascal Basic
Bahasa
Bahasa PemrogramanPemrograman
Kriteria
Kriteria
Metoda
Metoda
Desain
Desain
Pemrograman
Pemrograman
Terstruktur
Terstruktur
Metode Perancangan Top-down
Metada Perancangan Modular
Implementasi internal : Procedure/Subprogram, Function
Implementasi eksternal : file Unit/Header/Modul
Diagram Nassi-Schneiderman
Tabel Decision
Untuk membantu dan menjamin dihasilkannya program yang
terstruktur, dapat digunakan beberapa metoda/alat berikut :
Metode Perancangan Top-down
Sub Masalah A Sub Masalah B Sub Masalah C
Masalah Besar
Sub Masalah A1 Sub Masalah A2
B
A
C
A1
A2
Masalah
utama
Strategi umum dalam penyelesaian masalah besar; kompleks; rumit
Mahasiswa Dosen Perkuliahan
Sistem Informasi Akademis
Entry data Hapus data Laporan data Entry data Hapus data Laporan data Entry data Hapus data Laporan data
Contoh Top-down :
Metode Modular :
Implementasi Top-down
……..
Call A
……..
Call B
……..
Call C
……..
……. Call A1 ……. Call A2 ……..…….
…….
…….
…….
…….
…….
…….
…….
A
B
C
A1
A2
Bagian Utama
Dapat diterapkan secara :
- Internal :
sub program,procedure, function
- Eksternal :
file unit, header, modulStatemen1
Statemen2
Stateme3
if
ya
tdk
proses1
if
ya
tdk
proses1
proses2
While kondisiproses2
proses2
Until kondisi MulaiMasukkan Nilai koefisien A Masukkan Nilai koefisien B Masukkan Nilai Koefisien C
D = B*B-4*A*C
D<0
Imajiner
Real sama
Real berbeda
D=0
ya
tdk
ya
tdk
Contoh :
Tabel Decision
Aksi
Kondisi
4
3
2
1
Rules
x
x
x
Tidak mendapat bonus
N Y
N Y
Apakah jumlah kehadiran>=90%
x
Mendapat bonus N N Y YApakah nilai rata2>=85
4 3 2 1
Rules
Langkah Pembuatan :
- Menentukan kondisi yang akan diseleksi - Menentukan jumlah kejadian yang mungkin
terjadi untuk di-isi pada bagian kondisi - Menentukan tindakan yang akan dilakukan
untuk di-isi pada bagian aksi
Contoh :
Jika nilai rata-rata >=85 dan jumlah kehadiran mencapai >=90% maka siswa tersebut akan mendapat bonus, jika nilai rata-rata<85 walaupun jumlah kehadiran mencapai >=90% maka siswa tersebut tidak mendapat bonus
Latihan :
Jika unit yang dipesan untuk barang tertentu sama dengan atau melebihi jumlah minimum dan pemesannya adalah agen, maka akan mendapat potongan. Sebaliknya jika kurang dari jumlah minimum, walaupun pemesannya adalah agen, maka tidak mendapat
potongan. Jika persediaan di gudang mencukupi maka unit pesanan dikirim sepenuhnya. Jika persediaan di gudang tidak mencukupi jumlah pesanan, maka unit yang ada akan dikirim sedangkan kekurangannya akan dibuatkan catatan (back order)
Konversi flow chart ini ke bahasa pemrograman : a. Basic atau foxpro
b. Pascal atau C C=2, M=3 C=C+1 C>12 C>M For I=M to C Next I M=M+1 (I*C)>M I > M C<=M C=M+1 M=C+1 P=C+M M=P+2 M=C+5 C=C+M