• Tidak ada hasil yang ditemukan

Ciri ciri Program Terstruktur (Good Program) Langkah langkah Pengembangan Program

N/A
N/A
Protected

Academic year: 2021

Membagikan "Ciri ciri Program Terstruktur (Good Program) Langkah langkah Pengembangan Program"

Copied!
26
0
0

Teks penuh

(1)

Sejarah Metodologi Pemrograman

„ Metodologi pengembangan program pertama kali diperkenalkan Î Prof E.W Dykstra tahun 1960.

„ Pemrograman terstruktur Î mengurangi pemakaian instruksi GOTO „ GOTO less programming

Ciri – ciri Program Terstruktur (Good Program)

„ Run correctly „ Run efficiently

„ Be easy to read and understand „ Be easy to debug

„ Be easy to modify

Langkah – langkah Pengembangan Program

1. Definisikan masalah • Keluaran (Output) • Masukan (Input) • Proses (Proces)

2. Rancang outline pemecahan masalah • Buat langkah – langkah proses • Buat rincian/detail Proses • Tentukan Variable dan record

• Tentukan struktur kontrol (pengulangan, kondisi, dsb) • Buat logika ‘Mainline’

3. Buat algoritma berdasarkan outline pemecahan masalah 4. Test algoritma

5. Coding 6. Execute

(2)

Metode Pemrograman Terstruktur

Pemrograman terstruktur memakai metode pengembangan Top-Down. Perancangan program dilakukan secara modular

„ Pengembangan Top-Down

Pengembangan yang dimulai dari langkah yang global lebih dahulu, yang kemudian diperhalus lagi sehingga didapat langkah rinci

„ Modular

Perancangan program dilakukan dalam bentuk modul - modul

Teorema Pada Pemrograman Terstruktur „ Sequence

Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya Contoh :

Perintah A

Perintah B

Perintah C

„ Selection

Instruksi akan dikerjakan jika kondisi tertentu dipenuhi

Contoh :

Penggunaan IF-THEN-ELSE

Penggunaas CASE

„ Repetition

Instruksi dikerjakan berulang – ulang sampai suatu kondisi dicapai.

Contoh :

Penggunaan DO WHILE

(3)

Sifat algoritma

„ Jelas dan tepat atau tidak samar – samar (Definiteness)

„ Memberikan pemecahan yang tepat untuk semua kasus (Effectiveness) „ Memiliki akhir (finiteness)

Pseudocode

„ Statement program ditulis dengan bahasa indonesia/inggris yang sederhana „ Setiap instruksi ditulis pada setiap baris

„ Keywords/kata kunci digunakan khusus untuk menjelaskan control struktur

„ Setiap set/bagian blok instruksi memiliki awal dan akhir dengan “one entry one exit” „ Pengelompokan statement bisa membentuk satu modul yang mempunyai nama.

Contoh algoritma:

1.

Turn on Calculator Clear Calculator

Repeat the following instruction Key in dollar amount

Key in decimal point Key in cent amount

Until all prices were been entered Write down total price

Turn off Calculator

2.

Deklarasi variabel lokal No_bulan : integer (1..12) Deskripsi :

read (no_bulan)

case (no_bulan)

no_bulan = 1 ; write ( ‘Januari’ ) no_bulan = 2 ; write ( ‘Februari’ ) no_bulan = 3 ; write ( ‘Maret’ ) no_bulan = 4 ; write ( ‘April’ ) no_bulan = 5 ; write ( ‘Mei’ ) no_bulan = 6 ; write ( ‘Juni’ ) no_bulan = 7 ; write ( ‘Juli’ ) no_bulan = 8 ; write ( ‘Agustus’ ) no_bulan = 9 ; write ( ‘September’ ) no_bulan = 10 ; write ( ‘Oktober’ ) no_bulan = 11 ; write ( ‘Nopember’ ) no_bulan = 12 ; write ( ‘Desember’ ) endcase

(4)

TEKNIK PENYAJIAN ALGORITMA

„ Teknik Tulisan z Structure English z Pseudocode „ Teknik Gambar z Structured Chart z HIPO z Flowchart

z Nassi Schneiderman Chart

Teknik Tulisan

Structure English

„ Alat yang cukup efisien untuk menggambarkan suatu algoritma „ Basis : bahasa Inggris

„ Dasar penggambaran algoritma: bahasa manusia

Pseudocode

„ Kode mirip dengan kode pemrograman yang sebenarnya. „ Arti pseudo: imitasi atau mirip atau menyerupai

„ Arti code: kode program. „ Basis: bahasa pemrograman

z umumnya PASCAL, atau C++ „ Lebih rinci dari structure English,

z Dapat menyatakan tipe data yang digunakan „ struktur penulisan:

z sequence structure z selection structure z looping structure.

(5)

Contoh pseudocode:

z Komputer mendapatkan data

read nama_mhs get tgl_system

read anggota_1, anggota_2 baca record mhs

baca nilai

z Komputer menyajikan informasi

print “STMIK & AMIK Raharja” write record mahasiswa

display “salah kode”

cetak “STMIK & AMIK Raharja”

z Komputer melakukan aritmatik

Add harga to total Total = total + harga a = a * b

z Komputer memberikan nilai

initialize total to 0 set student_count to 0

z Komputer membandingkan & memilih alternatif tindakan IF mhs is part_time THEN Add ELSE 1 to part_time_count Add 1 to full_time_count ENDIF

z Komputer melakukan pengulangan DO WHILE mhs_total < 50

Read record mhs

Print nama_mhs, alamat to laporan

(6)

Teknik Gambar

Structured Chart

“Organisasi dari sistem secara berjenjang dalam bentuk modul dan submodul.” Structure chart digunakan untuk menggambarkan modul – modul dan hubungannya: „ Hubungan elemen data

„ Hubungan elemen kontrol „ Hubungan antar modulnya.

Teknik pembuatan struktur chart

„ Program dibagi kedalam modul – modul „ Bentuk hirarki/organisasi modul – modul „ Gambarkan Komunikasi antar modul „ Deskripsikan Fungsi modul

Contoh Dasar Penggambaran Structured Chart

1.

A

B

p

q

flag

„ Deskripsi fungsi

Modul A memanggil modul B, dengan mengirim elemen data P ke modul B. Modul B Berfungsi / bekerja.

Modul B Selesai dan mengirimkan elemen data q dan kontrol flag, kembali ke modul A.

(7)

X

A B C

„ Deskripsi fungsi

X Memanggil A

Setelah A bekerja, kemudian kembali ke X X Memanggil B

Setelah B bekerja, kemudian kembali ke X X Memanggil C

Setelah C bekerja, kemudian kembali ke X

3. X A B C

p

q

flag

r

flag

„ Deskripsi fungsi

X Memanggil A, dan mengirim elemen data p ke modul A. Setelah A bekerja,

kemudian kembali ke X dan mengirim kontrol flag.

X Memanggil B , dan mengirim elemen data r ke modul B. Setelah B bekerja,

kemudian kembali ke X dan mengirim elemen data q.

X Memanggil C, dan mengirim kontrol flag ke modul C. Setelah C bekerja,

(8)

HIPO

„ HIPO ( HIERARCHY PLUS INPUT-PROCESS-OUTPUT) „ HIPO Î alat dokumentasi program.

„ HIPO Î dikembangkan dan didukung oleh IBM.

„ HIPO Î digunakan sebagai alat bantu untuk merancang dan mendokumentasikan siklus pengembangan sistem.

„ Sasaran HIPO:

z Untuk menggambarkan suatu struktur bertingkat

z Untuk memahami fungsi-fungsi dari modul-modul suatu sistem. z Untuk menggambarkan modul-modul yang harus diselesaikan oleh

pemrogram.

z Sebagai penjelasan yang lengkap dari input yang akan digunakan, proses yang akan dilakukan serta output yang diinginkan.

„ Terdapat 3 diagram yang digunakan pada HIPO: • Visual Table of Contents

Menggambarkan hubungan dari modul-modul dalam suatu sistem secara berjenjang

• Overview Diagram

Merepresentasikan input, proses dan output secara global • Detail Diagram

Merepresentasikan secara rinci kerja dari fungsi atau modul

Contoh Visual Table of Contents

Sistem Parpus Entry data 1 Pelayanan Sirkulasi Laporan - laporam 3 Anggot a Karyawa n Pustaka 1.3 Pinjaman 2.1 Kembalian 2.2 Lapora n denda 3.1 Lapora n Laporan peminjam 3.3 pustaka Tambah 1.1.1 Tambah 1.2.1 Tambah 1.3.1 Tambah 2.11 Tambah 2.21

(9)

„ Overwiew Diagrams

Over view diagrams merepresentasikan / menggambarkan hubungan dari input, proses dan output.

z Input adalah item – item data yang akan digunakan oleh bagian proses. z Proses adalah langkah – langkah yang menggambarkan kerja dari fungsi atau

modul.

z Output adalah hasil pemrosesan data. „ Detail Diagram

Detail diagram menggambarkan elemen-elemen dasar dari paket secara rinci kerja dari fungsi atau modul.

Contoh over view diagram:

1. Menjumlahkan 3 angka.

Baca 3 bilangan, jumlahkan ketiga bilangan tersebut dan cetak jumlah ketiga bilangan tersebut

Overview diagram

INPUT PROSES OUTPUT

- 3 Bilangan - Baca 3 Bilangan - Jumlah ketiga bilangan tersebut

- Cetak hasil penjumlahan

- Hasil Jumlah

Detail diagram

INPUT PROSES OUTPUT

- Bil_1 - Bil_2 - Bil_3 - Baca Bil_1 - Baca Bil_2 - Baca Bil_3 - Total = Bil_1+Bil_2+Bil_3 - Cetak Total - Total

(10)

Flowchart

1. Sequence Structure (struktur urut)

A B C Instruksi A Instruksi B Instruksi C

2. Selection Structure (Struktur Seleksi)

„ IF Selection ? A= C Y Tida Syntax C++: if (A==5) { instruksi C; }

(11)

„ IF – ELSE Selection B ? A= C Y Tida Syntax C++: if (A==5) { instruksi C; } else { instruksi B; }

(12)

„ CASE Selection w Va x y default A B C D Syntax C++: switch (var) { case ‘w’: instruksi A; break; case ‘x’: instruksi B; break; case ‘y’: instruksi C; break; default: instruksi D; }

(13)

„ ooping/Repetition Structure (Struktur Pengulangan)

z Front Check Repetition

Syntax C++ L A ? Kondi B : ondisi) { while (k instruksi A; } instruksi B; Catatan:

si berisi nilai true atau false lasi - Kondi

- Kondisi dapat berupa persamaan re spt: z < 5

z >= 10 … dsb

(14)

z ear Check Repetition Syntax C++ R A . : do { instruksi A; } while (kondisi) instruksi B; Catatan:

- Kondisi berisi nilai true atau false lasi - Kondisi dapat berupa persamaan re

spt: z < 5 z >= 10 … dsb ? Kondi B

(15)

z ixed Repetition F

For x = 0 to 5

A

B

x

Syntax C++: for (x=0;x<=5;x++) { instruksi A; } instruksi B;

(16)

OPERATOR C++

Mathematical Operator

Name Operator Sample Result

A S M D ddition + 5 + 3 8 ubstraction - 5 - 3 2 ultilpication * 5 * 3 15 ivision / 6 / 3 2 Modulus % 5 % 2 1

Name Operator Sample

Increment ++ y = 2 + x++ ++ y = 2 + ++x + = y += 2 ecrement -- y = 2 + x---- y = 2 + --x - = y -= 2 y=y-2

y=2+x, setelah itu baru decrement x

Keterangan

y=2+x, setelah itu baru increment x y=2+(x+1), setelah itu baru increment x

y=2+(x-1) y=y+2 D

Relational Operator

LOGICAL OPERATOR

Name Operator Sample

AND && y && x

OR || y || x

NOT ! !x

RELATIONALOPERATOR

Name Operator Sample Evaluates

Equals == 100 == 50 FALSE

50 == 50 TRUE

Not Equals != 100 != 50 TRUE

50 != 50 FALSE

Greater Than > 100 > 50 TRUE

50 > 50 FALSE Greater Than >= 100 >= 50 TRUE

or Equals 50 >= 50 TRUE

Less Than < 100 < 50 FALSE

50 < 50 FALSE

Less Than <= 100 <= 50 FALSE

or Equals 50 <= 50 TRUE

TABEL LOGIKA OR

y OR x

TRUE FALSE

TRUE TRUE TRUE

FALSE TRUE FALSE TABEL LOGIKA AND

y A ND

x

TRUE FALSE

TRUE TRUE FALSE

FALSE FALSE FALSE TABEL LOGIKA NOT

NO T

TRUE FALSE

(17)

„ Ekspresi merupakan kombinasi Operand dan Operator.

„ Hasil Evaluasi dari sebuah Ekpresi adalah nilai yang sesuai dengan type operand yang dipakai

MACAM – MACAM EKPRESI

„ Ekspresi aritmatika

Menggunakan Operator Aritmatik „ Ekspresi Numerik

Menggunakan Operand Numerik

„ Contoh: 1. 3.14 * R * R „ Operatornya adalah * „ Operandnya adalah R 2. (9 / 5 * C) + 32 „ Operatornya adalah /, *, + „ Operandnya adalah C 3. A+B*5 „ Operatornya adalah + , * „ Operandnya adalah A, B „ Tingkatan operator dari tinggi ke rendah:

1. /, %, * 2. + , -

(18)

Contoh: 1. #include <iostream.h> Void main() { int usia; char jnskel[6];

cout<< “Jenis Kelamin Anda (pria/wanita)?”; cin>>jnskel;

cout<<“Usia Anda ?”; cin>>usia;

if (jnskel==“pria” && usia>=20) {

cout << “Anda”<< jnskel << “berusia 20th keatas” << endl; cout << “Berhak masuk club ini”;

} else {

if(jnskel==“wanita” && usia>=22) {

cout << “Anda” << jnskel << “berusia 22th keatas” << endl; cout << “Berhak masuk club ini”;

}

else {

cout << “Anda” << jnskel << “berusia” << usia << endl; cout << “Berhak masuk club ini”;

}

} }

(19)

Flowchart Nested Selection

Non Linear Nested IF Statement

Kondisi 1 A Kondisi 2 Kondisi 3 YES YES B NO NO C NO D YES

Contoh Syntax C++, Non Linear Nested IF Statement :

if (Kondisi1) { if (Kondisi2) { if (Kondisi3) { Instruksi D; } else { Instruksi C; } } else { Instruksi B; } } else { Instruksi A; }

(20)

Linear Nested IF Statement

Kondisi 1 A Kondisi 2 Kondisi 3 NO NO B YES YES C YES D NO

Contoh Syntax C++, Linear Nested IF Statement : if (Kondisi1) { Instruksi A; } else { if (Kondisi2) { Instruksi B; } else { if (Kondisi3) { Instruksi C; } else { Instruksi D; } } }

(21)

Contoh Nested if:

#include <iostream.h> void main()

{

int Number1, Number2;

cout << “Masukkan dua angka.\nAngka pertama: "; cin >> Number1;

cout << "\nAngka kedua: "; cin >> Number2;

cout << "\n\n";

if (Number1 >= Number2) {

if ( (Number1 % Number2) == 0) // evenly divisible?

{

if (Number1 == Number2)

cout << “Kedua angka tersebut sama!\n"; else

cout << “Angka pertama adalah kelipatan Angka kedua!\n";

}

else

cout << "They are not evenly divisible!\n"; }

else

cout << "Hey! The second one is larger!\n"; }

(22)

ANALISIS MASALAH

Dalam analisis masalah ini kita melakukan pendefinisian masalah dan mengembangkan pemecahan masalah

„ Definisi masalah . z Masukan / Input

z Menyediakan data masukan untuk pemecahan masalah z Keluaran / Output

z Membuat daftar output / keluaran z Proses

z Menyediakan daftar proses / langkah – langkah yang diperlukan untuk menghasilkan output / keluaran.

Contoh:

1. Menjumlahkan 3 angka

Baca 3 bilangan, jumlahkan ketiga bilangan tersebut dan cetak jumlah ketiga bilangan tersebut

Penyelesaian :

Langkah – langkahnya :

„ Buat daftar output, letakkan pada kolom output (lihat tabel dibawah) „ Buat daftar semua input yang kemudian diletakkan pada kolom input

„ Inventarisir kegiatan yang dilakukan agar dapat menghasilkan output dari input yang tersedia.

Tabel / Daftar Input–Proses–Output (Outline Definisi Masalah) INPUT PROSES OUTPUT

- Bil_1 - Bil_2 - Bil_3 - Baca Bil_1 - Baca Bil_2 - Baca Bil_3 - Total = Bil_1+Bil_2+Bil_3 - Cetak Total - Total

(23)

Pengembangan Outline Definisi Masalah ke Algoritma dgn Flowchart START READ Bil_1 READ Bil_2 READ Bil_3 Total=Bil_1+Bil_2+ Bil_3 WRITE Total END START READ Bil_1 READ Bil_2 READ Bil_3 Total=Bil_1+Bil_2+Bil_3 WRITE Total END WRITE Informasi Membaca Bil_1 WRITE Informasi Membaca Bil_2 WRITE Informasi Membaca Bil_3

(24)

LATIHAN PENGEMBANGAN ALGORITMA

1. Carilah suhu rata – rata dari 2 data suhu yang diketahui.

Baca 2 data suhu (Sr dan St), hitung rata – ratanya (Sa) dan cetak hasil rata – rata Tersebut.

Jawaban:

Tabel / Daftar Input–Proses–Output (Outline Definisi Masalah) INPUT PROSES OUTPUT

Sr St Baca Sr Baca St Sa = (Sr + St) / 2 Cetak Sa Sa

Pengembangan Outline Definisi Masalah ke Algoritma dgn Flowchart

START WRITE Informasi membaca Sr WRITE Informasi membaca Sr WRITE Informasi membaca Sr WRITE Informasi membaca Sr Sa = (Sr + St) / 2 Write Hasil END

(25)

Desk Checking (untuk memeriksa algoritma)

„ Masukkan Data

„ Ikuti cara kerja algoritma dengan data tersebut untuk mendapatkan hasilnya. „ Bandingkan dengan hasil yang dilakukan secara manual

„ Bila benar maka algoritmanya benar dan bila salah maka algoritmanya salah „ Perbaiki algoritmanya jika salah

Contoh Algoritma berupa Flowchart sebagai berikut:

START READ Bil_1 READ Bil_2 READ Bil_3 Total=Bil_1+Bil_2+Bil_3 WRITE Total END WRITE Informasi Membaca Bil_1 WRITE Informasi Membaca Bil_2 WRITE Informasi Membaca Bil_3

(26)

„ Desk Checking

Lakukan checking dengan 2 set data, yaitu : 10, 20, 30 untuk bil_1 dan 40, 41, 42 untuk bil_2

Jawaban: 1. Data input :

Variabel Data_1 Data_2 Bil_1 10 40

Bil_2 20 41

Bil_3 30 42

2. Hasil Penjumlahan Secara Algoritma:

Statement Bil_1 Bil_2 Bil_3 Total Cetak

Baca 10 20 30 Total 60 Data_1 Cetak ya Baca 40 41 42 Total 123 Data_2 Cetak ya

3. Hasil penjumlahan secara manual :

Total Data_1 60

Data_2 123

4. Periksa (check) hasil, apakah sesuai dengan hasil yang diolah algoritma dan secara manual

Gambar

TABEL LOGIKA OR

Referensi

Dokumen terkait

Berdasarkan Pemasukkan Dokumen Penawaran untuk Pekerjaan Pengadaan Mesin Fogging Tahun 2016, maka dengan ini Pokja V UPTD ULP Kota Pontianak

oleh jumlah barang yang diperoleh pada masing-masing harganya. Dalam sistem ini juga menggunakan cara pencatatan perpetual maka pengeluaran-pengeluaran akan dibebankan harga pokok

PENERAPAN MODEL PEMBELAJARAN ROLE PLAYING DALAM PEMBELAJARAN SENI TARI SEBAGAI UPAYA PEMBINAAN KARAKTER SISWA KELAS V SD LABORATORIUM PERCONTOHAN UPI.. Universitas Pendidikan

karena tiap soal mempunyai bobot nilai yang sama yaitu 1.. Sedangkan data gaya belajar siswa yang diperoleh dari angket tertutup.. tentang gaya belajar siswa untuk

Harta bawaan masing-masing suami dan isteri dan harta yang diperoleh masing-masing sebagai hadiah atau warisan adalah dibawah penguasaan masing- masing, sepanjang para pihak

Analisis STP digunakan untuk mengetahui siapa yang akan dijadikan target pemasang iklan setelah dilakukan pengelompokan pasar (segmentasi). Metode STP digunakan untuk

Undang-Undang Nomor 35 Tahun 2009 tentang Narkotika Pasal 127 ayat (3) menyebutkan bahwa penyalahguna sebagaimana yang tertera pada ayat (1) jika penyalahguna

Sesuai judul penelitian, maka Ruang lingkup penelitian ini sesuai dengan judul penelitian “ Studi Kasus Pendekatan Model Konseling Behavioristik Untuk Mengatasi Kesulitan