• Tidak ada hasil yang ditemukan

Pemrograman Terstruktur

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pemrograman Terstruktur"

Copied!
36
0
0

Teks penuh

(1)

Bahan Kuliah Teori :

Pemrograman

Pemrograman

Terstruktur

Terstruktur

(2)

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

(3)

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

(4)

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

(5)

Sejarah

(6)

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,…

(7)

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 Kriteria

Berdasarkan kriteria pemrograman

terstruktur :

(8)

Proses

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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 :

(14)

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.

(15)

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

(16)

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

(17)

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

(18)

4a. Struktur banyak pilihan dengan IF-THEN-ELSEIF

4b. Struktur banyak pilihan dengan CASE

(19)

5. Struktur perulangan FOR

Lanjutan :

For

6. Struktur perulangan WHILE

(20)

Statemen

Statemen

kontrol

kontrol

terstruktur

terstruktur

:

:

menyembunyikan

menyembunyikan

goto

goto

Kondisi

Proses 1a

IF-THEN

true false

Proses 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 :

(21)

Lanjutan

Lanjutan menyembunykanmenyembunykangotogoto

Kondisi

Proses 1b

IF-THEN-ELSE

true false

Proses 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

(22)

Lanjutan

Lanjutanmenyembunykanmenyembunykangotogoto

Kondisi1

Proses 2a

IF-THEN-ELSE-IF

true false

Proses 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 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

Kondisi2

Kondisi3

Proses 2b

Proses 2c

Proses 3

Proses1 Case of var Kondisi1: Proses2a Kondisi2: Proses2b Kondisi3: Proses2c else Proses2d end case Proses3

(23)

Lanjutan

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 5

Proses3

(24)

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

(25)

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}

(26)

Contoh flow chart dengan kontrol lengkap :

C=2 C=C=1 C>12

end

start

(27)

Contoh flow chart dengan beberapa lompatan tidak terstruktur :

end

start

Lompatan tidak terstruktur :

a. Melompat ke bagian yang belum tentu dilewati

(28)

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 :

……….

……….

(29)

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

(30)

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 :

(31)

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

(32)

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 :

(33)

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, modul

(34)

Statemen1

Statemen2

Stateme3

if

ya

tdk

proses1

if

ya

tdk

proses1

proses2

While kondisi

proses2

proses2

Until kondisi Mulai

Masukkan 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 :

(35)

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 Y

Apakah 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)

(36)

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

end

start

C=C-M T F C=C*M Cetak C Cetak M F T F F T F T C = 37 M = 25

Gambar

Ilustrasi Pemrograman Pemrograman Komputer Komputer
Tabel ini akan dilengkapi selama perkuliahan berlangsung
Tabel Perbandingan Perbandingan Bahasa Bahasa Pemrograman Pemrograman (Berdasarkan ( Berdasarkan kriteria kriteria pemrograman pemrograman terstruktur terstruktur) )
Diagram Nassi-Schneiderman Tabel Decision
+3

Referensi

Dokumen terkait

(12) Pihak berkuasa tempatan boleh pada bila-bila masa memberi notis secara bertulis kepada pemunya mana-mana rumah atau bangunan dalam mana sesuatu jamban pam atau apa-apa

Dilatar belakangi dari begitu banyaknya nilai dalam sebuah karya sastra salah satunya adalah novel, dimana novel mengandung nilai pendidikan karakter, pendidikan sosial,

Manakala Item pertama iaitu “Saya mempelbagaikan aktiviti kerohanian agar menarik minat anggota (min= 3.14, SD=0.432)” dan item kedua belas iaitu “Saya melaksanakan ziarah

abelii Lesson, 1827) DI STASIUN PENELITIAN HUTAN BATANG TORU BAGIAN BARAT TAPANULI UTARA” didedikasikan untuk Ayah dan Ibu tercinta yang selalu mendukung

Memahami berbagai kalimat dan ragam wacana tulis sederhana dalam bentuk paparan atau dialog tentang identitas diri, kehidupan sekolah, kehidupan keluarga, kehidupan

Suatu molekul terdiri dari dua atau lebih atom yang terikat satu sama lain.... Perbedaan atom

Kemudian anda dapat membangun reaktor nuklir dengan air berat dan karbon murni.seseorang juga dapat membuat ledakan, jika dapat membuat uranium -235 murni.atau anda membuat

Menjadi hal yang ironis mengingat Candi Prambanan yang termasuk dalam Warisan Budaya Dunia, Obyek Daya Tarik Wisata unggulan bagi Yogyakarta, dan juga