MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode...

113
MODUL METODE PERANCANGAN PROGRAM Disusun Oleh : Nur Hidayati, M.Kom (200309005) Program Studi Sistem Informasi Fakultas Teknik dan Informatika Universitas Bina Sarana Informatika 2018

Transcript of MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode...

Page 1: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

MODUL

METODE PERANCANGAN PROGRAM

Disusun Oleh :

Nur Hidayati, M.Kom (200309005)

Program Studi Sistem Informasi

Fakultas Teknik dan Informatika

Universitas Bina Sarana Informatika

2018

Page 2: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

ii

KATA PENGANTAR

Alhamdulillah, pertama penulis mengucapkan rasa syukur dan segala puji kepada

Allah SWT yang telah melimpahkan segala Rahmat dan KaruniaNYA, sehingga modul

Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan

Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

Struktur Data. Modul ini dibuat berdasarkan sumber-sumber yang sudah banyak

digunakan. Pada modul ini membahas mengenai konsep Metode Perancangan Program

secara umum. Modul ini membahas mengenai Konsep Perancangan Program,

Algortiman dan Pemrograman, Tahap Pembangunan Program, Pengembangan

Pseudocode Struktur Kontrol Pemilihan, Pengembangan Pseudocode Struktur Kontrol

Pengulangan, Modularisasi dan Komunikasi antar Modul, Algoritma Untuk Masalah

Bisnis, Perancangan Program Untuk Masalah Bisnis, Konsep Pemrograman

Berorientasi Objek, Tahapan Perancangan Berorientasi Objek, Perancangan

Berorientasi Onjek Untuk Multikelas, dan Implementasi Algoritma Ke Dalam Bahasa

Pemrograman Berorientasi Objek . Akhir kata, penulis menyampaikan terimakasih

yang tulus kepada pihak-pihak yang telah memberikan bantuan dan dukungannya

sehingga penulis dapat menyelesaikan penulisan modul ini. Pada akhir kata, penulis

memohon maaf yang sebesar-besarnya jika dalam penulisan modul ini masih banyak

kekurangan dan kelemahannya. Penulis memohon adanya sumbangan ide, kritik dan

saran untuk perbaikan penulisan modul ini supaya lebih baik ke depannya.

Page 3: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

iii

DAFTAR ISI

KATA PENGANTAR ............................................................................................................. ii

DAFTAR ISI............................................................................................................................iii

BAB I KONSEP PERANCANGAN PROGRAM ............................................................... 1

1.1 Pendahuluan ............................................................................................................ 1

1.2 Permasalahan Terkait Perangkat Lunak ............................................................. 1

1.3 Program dan Faktor Kualitas Program ............................................................... 2

1.4 Software Development Life Cycle ......................................................................... 3

1.5 Fakta Dalam Pembangunan Program .................................................................. 3

1.6 Metodologi Perancangan Program ........................................................................ 3

1.7 Teknik Pemrograman ............................................................................................. 5

1.8 Paradigma Bahasa Pemrograman ......................................................................... 7

1.9 Kriteria Bahasa Pemrograman .............................................................................. 9

BAB II ALGORITMA & PEMROGRAMAN ................................................................... 11

2.1 Pendahuluan .......................................................................................................... 11

2.2 Tahapan Pembuatan Program ............................................................................ 11

2.3 Pengenalan Algoritma .......................................................................................... 12

2.4 Cara Menyajikan Algoritma ................................................................................ 13

2.5 Data Program ........................................................................................................ 16

2.6 Elemen-Elemen Program ..................................................................................... 16

BAB III TAHAPAN PEMBANGUNAN PROGRAM ....................................................... 23

3.1 Definisi Masalah .................................................................................................... 23

3.2 Outline Solusi ........................................................................................................ 23

3.3 Pengembangan Outline Ke Dalam Algoritma .................................................... 24

3.4 Melakukan Test Terhadap Algoritma ................................................................ 25

3.5 Pemerikasaan Algoritma ...................................................................................... 25

3.6 Memindahkan Algoritma Ke Dalam Bahasa Pemrograman ............................ 26

BAB IV PENGEMBANGAN PSEUDOCODE STRUKTUR KONTROL PEMILIHAN

................................................................................................................................................ 28

4.1 Struktur Kontrol Pemilihan ................................................................................. 28

Page 4: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

iv

4.2 Variasi Dari Struktur Komtrol Selection ........................................................... 29

BAB V PENGEMBANGAN PSEUDOCODE STRUKTUR KONTROL

PENGULANGAN ................................................................................................................. 37

5.1 Struktur Kontrol Pengulangan ............................................................................ 37

5.2 Jenis-Jenis Penempatan Pengulangan ................................................................ 37

BAB VI MODULARISASI DAN KOMUNIKASI ANTAR MODUL ............................. 46

6.1 Konsep Pemrograman Modular .......................................................................... 46

6.2 Komunikasi Antar Modul .................................................................................... 49

6.3 Kohesi dan Kopling ............................................................................................... 52

2. Kopling ....................................................................................................................... 57

BAB VII ALGORITMA UNTUK MASALAH BISNIS .................................................... 62

7.1 Struktur Program ................................................................................................. 62

7.2 Struktur Chart ...................................................................................................... 62

7.3 Membuat Laporan Dengan Page Break ............................................................. 63

7.4 Contoh Algoritma Penyelesaian .......................................................................... 65

BAB VIII PERANCANGAN PROGRAM UNTUK MASALAH BISNIS ....................... 69

8.1 Teknik Perancangan Program Berorientasi Bisnis ........................................... 69

8.2 Contoh Kasus Penggunaan Teknik Perancangan File dan Program ............... 73

BAB IX KONSEP PEMROGRAMAN BERORIENTASI OBJEK ................................. 80

9.1 Pendahuluan .......................................................................................................... 80

9.2 Pengenalan Pemrograman Berorientasi Objek .................................................. 80

9.3 Pengenalan Objek & Class ................................................................................... 81

9.4 Karakteristik OOP ................................................................................................ 86

9.5 Kelebihan OOP ..................................................................................................... 89

9.6 Pemrograman Terstruktur Versus Pemrograman Berorientasi Objek .......... 90

BAB X TAHAPAN PERANCANGAN BERORIENTASI OBJEK ................................. 91

BAB XI PERANCANGAN BERORIENTASI OBJEK UNTUK MULTI KELAS ........ 97

11.1 Pendahuluan .......................................................................................................... 97

11.2 Hubungan Antar Kelas ......................................................................................... 97

11.3 Polimorfisme ........................................................................................................ 102

BAB XII IMPLEMENTASI ALGORITMA KE DALAM BAHASA PEMROGRAMAN

BERORIENTASI OBJEK ................................................................................................. 104

12.1 Bahasa Pemrograman Yang Mendukung OOP ............................................... 104

Page 5: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

v

12.2 Implementasi OOP Dengan C++ ....................................................................... 105

12.3 Implementasi OOP Dengan Java ....................................................................... 106

DAFTAR PUSTAKA .......................................................................................................... 108

Page 6: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

1

BAB I

KONSEP PERANCANGAN PROGRAM

1.1 Pendahuluan

Kebutuhan informasi menjadi unsur utama dalam bisnis sehingga mendorong

pertumbuhan industri software. Nilai industri software di Indonesia sampai akhir tahun

2013 antara Rp 3.5 –5 Trilyun dengan nilai pertumbuhan 18-20% per tahun (Pratama,

2013). Produk perangkat lunak dikembangkan (developed) atau direkayasa

(engineered) sesuai dengan kebutuhan pemakai akhir (end user).

1.2 Permasalahan Terkait Perangkat Lunak

Adapun permasalahan terkait dengan perangkat lunak, dapat digambarkan

sebagai berikut :

Gambar 1.1 Permasalahan terkait Perangkat Lunak

Page 7: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

2

1.3 Program dan Faktor Kualitas Program

Program adalah Kumpulan instruksi / perintah yang dirangkaian sehingga

membentuk suatu proses untuk mengolah data. Faktor-faktor yang berhubungan

dengan kualitas program, sebagai berikut :

1. Correctness : besarnya program dapat memuaskan spesifikasi dan objektivitas

dari misi pelanggan.

2. Reliability : besarnya program dapat diharapkan memenuhi fungsi-fungsi yang

dikehendaki.

3. Efficiency : jumlah sumber-sumber dan kode yang dibutuhkan program untuk

menjalankan fungsi-fungsinya.

4. Integrity : besarnya pengontrolan pengaksesan oleh seorang yang tidak

mempunyai otorisasi terhadap program dan data.

5. Usability : usaha yang dibutuhkan untuk mempelajari, mengoperasikan,

menyiapkan input & menginterpretasikan output program

6. Maintability : usaha yang dibutuhkan untuk menempatkan & menetapkan

kesalahan pada program.

7. Flexibility : usaha yang dibutuhkan untuk memodifikasi program yang

dibutuhkan.

8. Testability : usaha yang dibutuhkan untuk menguji program untuk menjamin

program sesuai yang diharapkan.

9. Portability : usaha yang dibutuhkan untuk mnetransfer program dari lingkungan

ke lingkungan lain.

10. Reusability : besarnya program dapat digunakan oleh aplikasi lain.

Page 8: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

3

1.4 Software Development Life Cycle

SDLC adalah serangkaian aktivitas yang dilaksanakan oleh profesional dan

pemakai sistem informasi untuk mengembangkan dan mengimplementasikan software

(program). Aktivitas atau proses standar yang digunakan untuk membangun program,

yaitu : Analisa kebutuhan (spesifikasi), Desain, Coding dan Pengujian

1.5 Fakta Dalam Pembangunan Program

Dibawah ini merupakan beberapa fakta di dalam pembangunan Program, yang

digambarkan sebagai berkut :

Gambar 1.2 Fakta dalam Pembangunan Program

Prinsip dasar dalam pembangunan program berdasarkan input data, proses dan

output.

1.6 Metodologi Perancangan Program

Beberapa pendekatan perancangan program :

1. Procedure-Driven

Procedure-Driven untuk perancangan program berdasarkan pada apa yang akan

dilakukan program (proses atau fungsi). Strateginya adalah dengan memecahkan

Page 9: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

4

setiap fungsi menjadi lebih kecil dan lebih spesifik. Contoh : Program untuk

persegi panjang dibagi menjadi fungsi : hitung keliling dan hitung luas persegi

panjang.

2. Event-Driven

Event-Driven untuk perancangan program berdasarkan pada kejadian atau

interaksi dari luar dapat menyebabkan perubahan dari satu kondisi ke kondisi

lain. Keadaan awal dari sebuah program mengidentifikasikan seluruh pemicu

yang mewakili kejadian untuk kondisi yang akan dihasilkan. Contoh : apabila

tombol mulai pada program stopwatch di klik maka program akan menghitung

waktu yang berjalan sampai tombol stop di klik.

3. Data-Driven

Data-Driven untuk perancangan program berdasarkan struktur data. Dimulai

dengan analisis data dan hubungan antara data, untuk menentukan struktur data

dasar. Setelah struktur data telah ditetapkan, output data yang diperlukan

diperiksa dalam rangka menentukan proses apa yang diperlukan untuk

mengkonversi data input ke output. Untuk membuat program menghitung bonus

karyawan. Besar bonus masing-masing karyawan tergantung gaji pokok dan

jenis tanggung-jawabnya. Data Input : Data Profil Karyawan (seperti : nik,

nama, jabatan, gaji pokok). Data Output : Bonus karyawan. Proses :

a. Ambil tanggung_jawab dari profil_karyawan

b. If tanggung_jawab = “Sales manager”

c. Then bonus = gaji_pokok * 0.10

d. Else

Page 10: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

5

e. If tanggung_jawab = “Senior salesman”

f. Then bonus = gaji_pokok * 0.08

g. Else … dan seterusnya …

1.7 Teknik Pemrograman

Pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan

memelihara kode yang membangun sebuah program komputer. Belajar pemrograman

adalah belajar tentang metodologi pemecahan masalah kemudian menuangkannya

dalam suatu notasi yang mudah dibaca dan dipahami. Permasalahan bisnis yang

semakin kompleks dan rumit sedangkan waktu yang diberikan untuk pengembangan

program semakin cepat. Dibutuhkan teknik pemrograman untuk mengembangkan

program yang kompleks dan rumit dalam waktu yang cepat.

Beberapa Teknik Pemrograman sebagai berikut:

1. PEMROGRAMAN TIDAK TERSTRUKTUR

Pemrograman tidak terstruktur adalah suatu teknik pemrograman dimana

penulisan instruksi tidak teratur dan sistematis sehingga sulit untuk dipahami.

Contoh : Penggunaan perintah GOTO yang banyak dalam program.

2. PEMROGRAMAN TERSTRUKTUR

Pemrograman terstruktur adalah suatu teknik pemrograman dimana penulisan

instruksi secara sistematis, logis dan tersusun berdasarkan algoritma yang

sederhana dan mudah dipahami. Prinsip pada pemrograman terstruktur jika

suatu proses sudah sampai pada titik tertentu, maka proses selanjutnya tidak

bisa melakukan proses pada baris sebelumnya.

Page 11: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

6

Gambar 1.3 Pemrograman Terstruktur

3. PEMROGRAMAN PROSEDURAL

Pemrograman prosedural adalah suatu teknik pemrograman dimana penulisan

instruksi yang sama dibuat dalam sub program tersendiri sehingga pembuatan

program lebih cepat dan memudahkan perbaikan apabila terjadi kesalahan.

Gambar 1.4 Pemrograman Prosedural

4. PEMROGRAMAN MODULAR

Pemrograman modular adalah suatu teknik pemrograman dimana prosedur dari

fungsi umum dikelompokkan dalam modul-modul dan setiap modul

menunjukkan fungsi dan tugas tunggal.

Gambar 1.5 Pemrograman Modular

Page 12: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

7

5. PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman berbasis obyek (OOP) mendasarkan pada konsep objek dan

interaksinya. Objek berasal dari tipe data abstrak. Objek dapat menerima

pesan (message), mengolah data, dan mengirimkan pesan ke object lain.

Membentuk interaksi antar object. Objek bersifat independen: tiap object dapat

dipandang sebagai sebuah entitas mandiri yang memiliki peran atau tanggung

jawab tertentu.

Gambar 1.6 Pemrograman Berorientasi Objek

1.8 Paradigma Bahasa Pemrograman

Bahasa pemrograman merupakan suatu himpunan dari aturan sintaks dan

semantik yang dipakai untuk mendefinisikan program komputer. Belajar bahasa

pemrograman adalah belajar memakai suatu bahasa pemrograman sesuai dengan aturan

tata bahasanya. Beberapa aturan dalam bahasa pemrograman:

1. Sintaks

Sintaks adalah aturan penulisan suatu bahasa pemograman (tata bahasanya).

Contoh :

#include<file-include>

Page 13: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

8

main()

{ pernyataan; }

Apabila terjadi kesalahan dalam penulisan sintaks maka akan terjadi error pada

saat kompilasi.

2. Semantik

Semantik adalah arti atau maksud yang terkandung didalam statement tersebut.

Contoh :

\n; arti semantiknya baris baru.

Printf(); arti semantiknya mencetak string ke layar.

Getch(); arti semantiknya membaca sebuah karakter.

3. Kebenaran Logika

Kebenaran logika adalah berhubungan dengan benar tidaknya urutan statement.

Contoh :

main()

{int bil=1;

while(bil<=5)

printf(" %d ",bil);

getch();}

Output dari program di atas terjadi perulangan terus menerus yang tidak

berakhir. Jenis-jenis bahasa pemrograman

a. Bahasa Tingkat Rendah

Dirancang agar setiap instruksi langsung dikerjakan oleh komputer tanpa

translator. Contoh : Assembler

Page 14: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

9

b. Bahasa Tingkat Tinggi

Bahasa Pemrograman yang dalam penulisan pernyataannya mudah

dipahami secara langsung. Perlu diterjamahkan oleh translator bahasa.

Contoh : Algol, Fortran, Pascal, Visual Basic, Oracle, dll.

Gambar 1.7 Paradigma Bahasa Pemrograman

1.9 Kriteria Bahasa Pemrograman

1. Clarity, simplicity dan unity

Kemudahan, kesederhanaan dan kesatuan merupakan suatu kombinasi yang

membantu programer mengembangkan suatu algoritma.

2. Orthogonality

Merupakan suatu atribut yang dapat dikombinasikan dengan beragam fitur

bahasa pemrograman sehingga setiap kombinasinya mempunyai arti dan dapat

digunakan.

3. Kewajaran untuk aplikasi

Bahasa pemrograman harus mempunyai struktur data, operasi-operasi, struktur

control dan sintaks yang tepat untuk memecahkan suatu masalah.

Page 15: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

10

4. Mendukung Abstraksi

Abstraksi merupakan suatu hal yang substansial bagi programer untuk

membuat suatu solusi dari masalah yang dihadapi.

5. Kemudahan untuk verifikasi program

Dengan verifikasi data yang mudah, maka suatu program akan dengan mudah

dibangun dan dikembangkan.

6. Lingkungan pemrograman

Lingkungan pemrograman dapat berarti editor yang digunakan, dokumentasi

yang baik, fasilitas debugging, user interface yang baik ataupun tools lain yang

dapat digunakan untuk memudahkan pekerjaan programer.

7. Portabilitas program

Kemudahan program untuk dipakai di berbagai jenis komputer.

8. Biaya penggunaan

a. Biaya eksekusi program

b. Biaya kompilasi program

c. Biaya penciptaan, testing dan penggunaan program

d. Biaya pemeliharaan program

Page 16: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

11

BAB II

ALGORITMA & PEMROGRAMAN

2.1 Pendahuluan

Perancangan program merupakan pengembangan solusi terhadap identifikasi

masalah dan menghasilkan serangkaian instruksi yang membangun sebuah program

komputer untuk menghasilkan output. Sebuah program harus dirancang secara

sistematis dan benar sebelumnya memulai coding. Perancangan program dihasilkan

dalam pembangunan algoritma.

Gambar 2.1 Contoh Perancangan Program

2.2 Tahapan Pembuatan Program

Gambar berikut ini merupakan tahapan di dalam pembuatan Program, yaitu

dengan adanya Algoritma, yang kemudian dibuatkan dalam Bahasa Pemrograman, dan

kemudian akan dikompilasi Program tersebut.

Gambar 2.2 Tahapan Pembuatan Program

Page 17: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

12

2.3 Pengenalan Algoritma

Algoritma berisi langkah-langkah yang dibutuhkan untuk menyelesaikan

sebuah tugas. Sebuah algoritma harus:

1. Memiliki masukkan (input)

2. Menghasilkan keluaran (output)

3. Terdefinisi jelas (definiteness)

4. Memiliki kondisi akhir (finiteness)

5. Memberi solusi yang diharapkan (effectiveness)

6. Berlaku untuk setiap himpunan input sesuai dengan masalah yang diberikan

(generality).

Berikut merupakan contoh Algoritma yang baik:

Program Hitung_Kembali

{menghitung uang kembali apabila input data tersebut diberikan}

Deklarasi

long sisa, uang_bayar, total_bayar

Deskripsi

Baca total_bayar

Hitung sisa = uang_bayar - total_bayar

Cetak sisa

END

Berikut merupakan contoh Algoritma yang Tidak baik:

Program Cetak_Berulang

{Mencetak kata sebanyak i }

Page 18: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

13

Deklarasi

integer i

Deskripsi

i = 0

While (i <= 5)

cetak ”Bina Sarana Informatika”

END

2.4 Cara Menyajikan Algoritma

Ada dua cara dalam menyajikan Algortima, yaitu :

1. Pseudocode

Pseudocode merupakan salah satu cara untuk menuliskan algoritma

Karakteristik Pseudocode:

a. Statement / Perintah di tulis dalam bahasa Inggris / Indonesia sederhana.

b. Setiap perintah di tulis dalam baris terpisah

c. Keyword digunakan untuk menjelaskan control structure tertentu.

d. Setiap set/bagian instruksi memiliki awal dan akhir

e. Pengelompokkan statement bisa membentuk satu modul yang mempunyai

nama.

Struktur Pseudocode :

Algoritma terdiri dari tiga bagian yaitu :

a. Judul (Header) : mendefinisikan nama dengan menentukan apakah teks

tersebut adalah program, prosedur, fungsi.

Page 19: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

14

b. Deklarasi : mendefinisikan nama variabel, nama konstanta, nama prosedur,

nama fungsi yang akan digunakan dalam algoritma.

c. Deskripsi : mendefinisikan langkah-langkah penyelesaian masalah mulai

dari input, proses dan ouput.

Pada setiap bagian tersebut apabila akan dituliskan komentar mengenai

setiap bagian tersebut dituliskan diantara tanda kurung kurawal. Contoh : {

Komentar }. Berikut ini merupakan contoh dari Pseudocode :

Program Luas_Lingkaran

{menghitung luas sebuah lingkaran apabila jari-jari lingkaran tersebut

diberikan}

Deklarasi

inisialisasi konstanta phi = 3.14

inisialisasi r, luas_lingkaran

Deskripsi

Baca data r

luas_lingkaran = phi * r * r

cetak luas_lingkaran

2. Flowchart

Flowchart adalah suatu alat yang menunjukkan langkah-langkah yang harus

dilaksanakan dalam menyelesaikan suatu permasalahan untuk komputasi dengan cara

mengekspresikan ke dalam serangkaian simbol-simbol grafis. Contoh Flowchart

sebagai berikut :

Page 20: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

15

Gambar 2.3 Contoh Flowchart

Adapun Simbol-simbol Flowchart Program, sebagai berikut :

Tabel 2.1 Simbol-Simbol Flowchart Program

Page 21: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

16

2.5 Data Program

Program ditulis untuk memproses data, dibutuhkan pemahaman yang baik

terhadap sifat dan struktur dari data yang sedang diproses. Data dalam program

mungkin dapat berupa variabel tunggal (seperti : integer, karakter), atau kelompok

(seperti : array, file)

1. Variabel adalah nama yang diberikan kepada kumpulan sel memori untuk

menyimpan item data tertentu yang nilainya dapat berubah pada program

dieksekusi. Contoh : namamhs, tgl_lahir, alamat1, dll.

2. Konstanta adalah item data dengan nama dan nilai yang tetap sama selama

program di eksekusi. Contoh : define phi 3.14 atau phi = 3.14.

2.6 Elemen-Elemen Program

Elemen-elemen Program dapat diklasifikasikan menjadi 4, yaitu :

1. Aturan Leksikal

Page 22: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

17

Adapun dalam Aturan Leksikal, yang perlu diperhatikan, antara lain :

a. Token

Token (Kata) yaitu elemen terkecil pada bahasa pemrograman yang

memiliki arti penting bagi compiler. Yang termasuk token antara lain:

identifier, keywords(reserved words), operator, dan sebagainya. Token

yang satu dengan yang lain dipisahkan dengan satu atau lebih spasi,

tabulasi, baris baru, atau komentar.

1) Komentar

Digunakan untuk memberikan suatu keterangan yang akan menjelaskan

isi dari program secara singkat. Komentar hanya sebuah tulisan pada

program dan tidak akan diproses oleh komputer. Bertindak sebagai

dokumentasi. Notasi komentar pada setiap bahasa pemrograman

berbeda-beda. Contoh :

a) {komentar pada pascal}

b) //komentar pada c++

c) ‘komentar pada visual basic

2) Identifier

Identifier adalah token yang merepresentasikan nama sesuatu seperti :

variabel/konstanta, field/atribut, prosedur/fungsi, dan lain-lain. Aturan

pemberian nama identifier:

a) Karakter pertama harus berupa huruf.

b) Karakter kedua dan selanjutnya dapat berupa

huruf/angka/underscore.

Page 23: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

18

c) Tidak boleh menggunakan karakter simbol (@ # $ % & *, dll)

kecuali underscore.

d) Tidak boleh menggunakan kata kunci (keywords/ reserved words).

e) Huruf besar/kecil dianggap berbeda (khusus C++)

f) Tidak boleh ada spasi.

g) Nama identifier sebaiknya disesuaikan dengan kebutuhan atau

sesuai objek yang akan diberi nama.

Contoh penamaan identifier yang benar : idcust, tgl_lahir, telp1,

dll. Contoh penamaan identifier yang tidak benar : @kdbrg, double,

nama-depan, 3erat_badan, dll.

3) Keywords atau Reserved Words

Keywords atau reserved words merupakan kata-kata yang telah

ada/didefinisikan oleh bahasa pemrograman yang bersangkutan. Kata-

kata tersebut telah memiliki definisi yang sudah tetap dan tidak dapat

diubah. Karena telah memiliki definisi tertentu, maka kata-kata ini tidak

dapat digunakan sebagai identifier. Contoh Keyword : break, switch,

continue, repeat, until, function dll

4) Operator

Merupakan simbol-simbol khusus yang digunakan untuk

mengoperasikan suatu nilai data (operand). Operator yang digunakan

dalam pemrograman:

a) Arithmetic operator

b) Assignment operator

Page 24: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

19

c) Logical operator

d) Relational operator

e) Pointer operator

f) Bitwise operator

2. Tipe Data

Tipe data digunakan untuk menentukan jenis nilai yang dapat ditampung oleh

suatu variabel. Pada suatu bahasa pemrograman umumnya telah menyediakan tipe-tipe

data yang sederhana (simple) maupun yang terstruktur dan apabila kita membutuhkan

tipe data yang belum tersedia, kita dapat mendefinisikan sendiri tipe data baru, yang

disebut enumerated type.

Tabel 2.2 Contoh Tipe Data

Tipe data terstruktur yaitu tipe data yang dapat menampung lebih dari satu nilai,

sebagai berikut:

a. Array adalah tipe data berindeks yang terdiri dari satu atau lebih

elemen/komponen yang memiliki tipe data yang sama.

b. Record adalah tipe data yang digunakanuntuk merepresentasikan

kumpulan (set) elemen/komponen yang memiliki satu jenis atau lebih tipe

data. Tiap element disebut juga field atau property atau attribute.

Page 25: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

20

3. Expression

Expression (ekspresi) yaitu suatu pernyataan yang menghasilkan suatu nilai.

Expression tersusun dari operator dan operand yang digunakan untuk menghitung atau

memberi suatu nilai suatu variable atau identifier. Expression yang paling sederhana

yaitu nama variable. Expression yang lebih kompleks akan melibatkan operator-

operator, maupun pemanggilan function atau procedure.

4. Statement

Statement merupakan bagian program yang berisi perintah yang akan

dieksekusi / dijalankan. Karena itu, statement-statement ini menentukan bagaimana

jalannya program dan bagaimana suatu nilai variable dimanipulasi/berubah. Statement

dapat dikelompokan menjadi antara lain:

a. Simple Statement

Yang digolongkan ke dalam simple statement (statement sederhana) yaitu

statement yang tidak berisi statement lainnya, sebagai berikut :

1) Assignment Statement yaitu statement yang digunakan untuk

memberikan nilai ke suatu variable, contohnya :

a := 10;

b := a * 2;

c := c * b;

Page 26: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

21

2) Statement untuk pemanggilan function atau procedure yaitu statement

yang memanggil function atau procedure yang telah didefinisikan pada

program. Contoh :

Calculate (a,b);

Cetak (a,b);

3) Jump Statement yaitu statement yang digunakan untuk melompati

statement-statement lain. Contoh :

Melompat ke statement tertentu goto

Keluar dari iterative statement break

b. Compound Statement

Compound statement (kumpulan statement) adalah sekumpulan statement

yang terdiri dari statement-statement lain, termasuk juga selection

statement dan interaction.

1) Selection statement digunakan untuk melakukan pemilihan

sekumpulan statement (compound statement). Contoh :

a) If ……Then

b) Perintah Case

2) Iteration statement digunakan untuk melakukan perulangan

sekumpulan statement (compound statement). Contoh :

a) Do While

b) Repeat …….Until

c) For……EndFor

Page 27: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

22

5. Function & Procedure

Procedure dan Function disebut juga subroutine, merupakan blok statement

yang dapat dipanggil dari lokasi yang berbeda di dalam program. Yang membedakan

antara function dan procedure yaitu: suatu function jika dijalankan/dipanggil akan

mengembalikan suatu nilai. Ketika procedure atau function dipanggil, kita dapat

melewatkan suatu nilai ke dalam function atau procedure tersebut. Nilai yang

dilewatkan disebut juga argument atau parameter.

Page 28: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

23

BAB III

TAHAPAN PEMBANGUNAN PROGRAM

3.1 Definisi Masalah

Pada tahap ini memerlukan pemahaman terhadap permasalah dengan membaca

berulang kali sampai dengan mengerti apa yang dibutuhkan. Permasalahan dibagi

kedalam tiga komponen:

1. Input / Masukan

2. Output / Keluaran

3. Proses

Contoh kasus : Sebuah toko peralatan mandi menjual bak mandi plastik.

Banyak customer yang bertanya volume air yang dapat ditampung pada bak mandi

tersebut. Oleh karena itu dibutuhkan program untuk menghitung volume air bak mandi

sesuai dengan ukuran yang diinput.

Definisi Masalah :

Input : panjang, lebar dan tinggi.

Output : volume bak mandi.

Proses : volume bak mandi = panjang x lebar x tinggi.

3.2 Outline Solusi

Setelah permasalahan didefinisikan, permasalahan dapat di bagi ke dalam

tugas-tugas atau langkah langkah yang lebih kecil dan menghasilkan outline solusi

Outline solusi awal dapat terdiri dari:

Page 29: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

24

1. Proses utama

2. Subtask utama

3. Struktur Kontrol

4. Variabel dan struktur record

5. Logic utama (mainline)

3.3 Pengembangan Outline Ke Dalam Algoritma

Outline solusi pada langkah kedua dikembangkan menjadi algoritma yaitu

sebuah set langkah yang menggambarkan tugas yang akan dikerjakan dan urutan

pengerjaannya.

Page 30: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

25

3.4 Melakukan Test Terhadap Algoritma

Tujuan utama dari melakukan test terhadap algoritma adalah adalah untuk

menemukan kesalahan utama logik sejak awal, sehingga akan lebih mudah diperbaiki.

Data test diperlukan untuk melakukan test terhadap algoritma ini.

DESK CHECKS VS TEST PLANS

1. Test Plan, fokus pada nilai input dan output yang dibutuhkan untuk menguji

program tanpa memperdulikan kinerja internal. Contoh : Apa output yang benar

dari sebuah input ?

2. Desk Check, menekankan pada nilai variable dan logika. Contoh : Berapakah

nilai variabel x setelah pernyataan; Apa pernyataan berikutnya yang akan

dieksekusi ?

3.5 Pemerikasaan Algoritma

Langkah-langkah dalam Pemeriksaan algortima, sebagai berikut :

1. Pilih data sederhana yang valid. Dua atau tiga data biasanya sudah mencukupi.

2. Tentukan hasil output yang diharapkan untuk setiap set data.

3. Buatlah tabel yang nama variabel yang ada pada algoritma di sebuah kertas

4. Jalankan test satu persatu mengikuti algoritma yang ada, mulai dari perintah /

statement pertama sampai dengan selesai

5. Ulangi langkah tersebut menggunakan set data yang lain.

6. Cek apakah hasil dari langkah 5, sesuai dengan hasil yang diharapkan di

langkah kedua

Page 31: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

26

TABEL DESK CHECK

3.6 Memindahkan Algoritma Ke Dalam Bahasa Pemrograman

Setelah ke-empat langkah sebelumnya dilakukan, maka pencodingan dapat

dimulai dengan menggunakan bahasa pemrograman yang dipilih.

//Program Volume Bak

include<stdio.h>

include<conio.h>

include<iostream.h>

Main() {

float p, l, t, volume_bak;

printf(”panjang :”);scanf (”%f”,p);

printf(”lebar :”);scanf (”%f”,l);

printf(”tinggi :”);scanf (”%f”,t);

Volume_bak = p* l * t;

Printf(”volume bak : %5.2f”,volume_bak); }

Page 32: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

27

Setelah pengcodingan, maka program dapat dijalankan pada komputer. Jika

program sudah didesain dengan baik, maka akan mengurangi tingkat kesalahan dalam

melakukan testing program. Langkah ini perlu dilakukan beberapa kali, sehingga

program yang dijalankan dapat berfungsi dengan benar

Dokumentasi melibatkan eksternal dokumentasi (hierarchy chart, algoritma

solusi, dan hasil data test) dan internal dokumentasi (coding program). Pemeliharaan

program meliputi perubahan yang dialami oleh program (perbaikan ataupun

penambahan modul, dll)

Page 33: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

28

BAB IV

PENGEMBANGAN PSEUDOCODE STRUKTUR KONTROL

PEMILIHAN

4.1 Struktur Kontrol Pemilihan

Struktur kontrol pemilihan dalam pseudocode digunakan untuk

menggambarkan:

1. Pilihan antara dua atau lebih tindakan, tergantung pada apakah kondisi yang

diberikan.

Contoh :

IF jumlah orang > 10 THEN pintu dibuka, ELSE dibatalkan karena kurang

peminatnya.

2. Untuk kondisi bernilai True atau False

Contoh : IF member THEN Diskon = 20% * Harga.

3. Kondisi berdasarkan perbandingan 2 item yang dinyatakan dengan salah satu

operator relasi berikut :

a. < lebih kecil dari

b. > lebih besar dari

c. = sama dengan

d. <= lebih kecil sama dengan

e. >= lebih besar sama dengan

f. <> tidak sama dengan

Page 34: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

29

4.2 Variasi Dari Struktur Komtrol Selection

Ada beberapa variasi dari struktur control selection yaitu:

1. Simple Selection

Simple selection terjadi jika harus memilih diantara dua alternatif yang ada,

tergantung dari hasil kondisi apakah True atau false. Keyword yang digunakan adalah

: IF, THEN, ELSE, dan ENDIF. Simple Selection ada 2 macam, yaitu

a. SIMPLE SELECTION BERCABANG

Simple selection bercabang terjadi ketika pilihan dibuat dua jalur alternatif,

tergantung pada hasil dari suatu kondisi bernilai benar atau salah. Format

Struktur Simple Selection Bercabang, sebagai berikut :

IF syarat THEN

instruksi1

ELSE

instruksi2

ENDIF

Contoh :

IF Saldo > 3000000 THEN

bunga = 0.05 * Saldo

ELSE

B unga = 0.01 * Saldo

ENDIF

Page 35: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

30

Gambar 4.1 Simple Selection Bercabang

b. SIMPLE SELECTION TANPA CABANG

Simple selection tanpa cabang digunakan ketika instruksi yang dilakukan

hanya ada kondisi benar saja. Format Struktur Simple Selection Tanpa

Cabang, yaitu :

IF syarat THEN

instruksi

Contoh:

Diskon = 0

IF Subtotal > 100000 THEN

diskon = 0.1 * Subtotal

ENDIF

Total = Subtotal - Diskon

Gambar 4.2 Simple Selection Tanpa Cabang

Page 36: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

31

CONTOH KASUS SIMPLE SELECTION

Buatlah pseudocode & flowchart untuk menentukan apakah penghasilan

per bulan yang dimasukkan kena pajak atau tidak. (kena pajak jika

penghasilan setahun lebih besar sama dengan Rp. 15.600.000)

JAWABAN KASUS SIMPLE SELECTION

Input : penghasilan per bulan

Output : keterangan

Proses :

1) total_penghasilan = penghasilan x 12 bulan

2) Jika total_penghasilan >= 15600000 maka keterangan kena pajak.

OUTLINE SOLUSI

PENGEMBANGAN OUTLINE KE DALAM ALGORITMA

Page 37: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

32

PEMERIKSAAN ALGORITMA

TABEL DESK CHECK

2. Combined / Multiple Selection

Combined Selection terjadi jika kondisi yang harus diperiksa lebih dari satu.

Kondisi tersebut dapat dihubungkan dengan menggunakan AND atau OR. Format

Struktur Combined Selection, yaitu :

IF syarat1 operator logika syarat2 THEN

instruksi1

Else

instruksi2

ENDIF

Contoh :

IF ormik AND semot THEN

ket = ”LULUS”

ELSE

Page 38: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

33

ket = ”GAGAL”

ENDIF

3. Nested Selection

Nested selection terjadi, jika di dalam IF terdapat statement IF yang lain. Ada

dua jenis nested selection, yaitu :

a. Linear Nested IF

Linear Nested IF terjadi jika satu kondisi di cek untuk beberapa nilai.

Format Struktur Linear Nested IF Statement, yaitu :

IF syarat1 THEN

instruksi1

ELSE IF syarat2 THEN

instruksi2

ELSE

instruksi3

ENDIF

Gambar 4.3 Linier Nested If

Page 39: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

34

Contoh Struktur Linear Nested IF Statement :

IF ukuran = ’s’ THEN

harga = 35000

ELSE IF ukuran = ’m’ THEN

harga = 50000

ELSE

harga = 70000

ENDIF

b. Non-Linear Nested IF

Non-Linear Nested IF terjadi jika beberapa kondisi harus diperiksa

sebelum suatu statement dikerjakan. Format Struktur Non Linear Nested

IF Statement, yaitu :

IF syarat1 THEN

IF syarat2 THEN

instruksi2a

ELSE

instruksi2b

ENDIF

ELSE

Instruksi 1b

ENDIF

Page 40: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

35

Gambar 4.4 Non Linier Nested If

4. Perintah Case

Perintah case digunakan sebagai instruksi pemilihan dimana aksi yang akan

dilakukan hanya tergantung pada nilai dari satu macam variabel. Perintah case

memungkinkan memiliki banyak nilai dan setiap nilainya berkaitan dengan satu

macam aksi.

Page 41: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

36

Gambar 4.5 Switch Case

Format Struktur Perintah Case pada bahasa C

switch (variabel_syarat)

case nilai-1 : aksi-1

case nilai-2 : aksi-2

default : aksi n

Contoh :

switch (gol)

case ’A’: terapi =” jus strawbery”; break;

case ’B’ : terapi =”jus sirsak”; break;

case ’C’ : terapi =”jus wortel ”;break;

case ’D’ : terapi =”jus tomat” ;break;

default : terapi =”Terapi untuk golongan tersebut tidak ditemukan”;

Page 42: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

37

BAB V

PENGEMBANGAN PSEUDOCODE STRUKTUR KONTROL

PENGULANGAN

5.1 Struktur Kontrol Pengulangan

Struktur kontrol pengulangan digunakan untuk melaksanakan sederetan

instruksi berulang-ulang sesuai dengan persyaratan yang ditetapkan.

5.2 Jenis-Jenis Penempatan Pengulangan

Ada tiga cara penempatan keputusan pengulangan :

1. Pada awal pengulangan (Leading decision loop)

a. Kondisi diuji sebelum beberapa instruksi dieksekusi.

b. Perintah leading decision loop adalah struktur Do WHILE.

c. Format Struktur Kontrol pengulangan DO WHILE

DO WHILE kondisi k bernilai true

instruksi_1

instruksi_2

……………

instruksi_n

counter

ENDDO

Page 43: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

38

Gambar 5.1 Leading decision loop

Contoh Kasus :

Sebuah hotel membuat penomoran kamar yang dikelompokkan

berdasarkan bilangan genap. Jumlah kamar yang tersedia adalah 5 kamar.

Berikan bilangan genap sesuai dengan banyaknya kamar

1) Definisi Masalah

Input : jumlah kamar

Output : 5 deret bilangan genap

Proses :

Jika I <= jumlah kamar lakukan pengulangan berikut

a = a+ 2

cetak a

2) Outline Solusi

Page 44: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

39

3) Desk Checking

a) Data Masukan

b) Hasil yang diharapkan

2 4 6 8 10

4) Tabel Desk Checking

2. Pada akhir pengulangan (trailing the decision loop)

a. Beberapa instruksi dieksekusi sekali sebelum kondisi diuji. Jika kondisi

False, instruksi akan diulang sampai kondisi bernilai TRUE.

b. Perintah trailing decision loop adalah struktur REPEAT …. UNTIL.

c. Format Struktur Kontrol pengulangan REPEAT….UNTIL

REPEAT

instruksi_1

instruksi_2

…….

instruksi_n

counter

UNTIL kondisi k true

Page 45: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

40

Gambar 5.2 trailing the decision loop

Contoh Kasus :

Sebuah Bank membuat nomor antrian berdasarkan bilangan ganjil.

Jumlah antrian maksimal 5. Berikan bilangan ganjil sesuai jumlah antrian

1) Definisi Masalah

Input : jumlah antrian

Output : 5 deret bilangan ganjil

Proses :

Jika i <= jumlah antrian lakukan pengulangan berikut

cetak a

a = a+ 2

2) Outline Solusi

Page 46: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

41

3) Desk Checking

a) Data Masukan

b) Hasil yang diharapkan

1 3 5 7 9

4) Tabel Desk Checking

3. Menjumlahkan angka pada suatu waktu(counted loop)

a. Pencacah pengulangan digunakan jika jumlah iterasi pengulangan sudah

diketahui. Pelaksanaan loop dikendalikan oleh indeks pengulangan.

b. Perintah counted loop adalah struktur FOR

c. Format Struktur Kontrol pengulangan FOR

FOR loop_index=nilai_awal to nilai_akhir Step n

statement_1

statement_2

……………

statement_n

ENDFOR

Page 47: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

42

Gambar 5.3 counted loop

Contoh Kasus :

Buatlah sebuah deret bilangan sebanyak 5 yang menampilkan angka 1, 4,

9, 14, 25

1) Definisi Masalah

Input : jumlah bilangan

Output : 5 deret bilangan akar kuadrat

Proses :

Jika i <= jumlah bilangan lakukan pengulangan berikut

cetak a

a = sqr(a)

2) Outline Solusi

Page 48: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

43

3) Desk Checking

a) Data Masukan

b) Hasil yang diharapkan

1 4 9 16 25

4) Tabel Desk Checking

5.3 Nested Repitition

1. Nested Repetion terjadi, jika di dalam pengulangan terdapat statement

pengulangan yang lain.

2. Format Nested DO WHILE

DO WHILE kondisi k1 bernilai true

DO WHILE kondis k2 bernilai true

statement_1

statement_2

……………

statement_n2

ENDDO

Page 49: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

44

statement_n1

ENDDO

3. Contoh Nested Repitition

Buatlah pseudocode untuk menampilkan output seperti berikut :

1 1 1

2 2 2

3 3 3

Jawaban :

a. Definisi Masalah

Input : jumlah baris dan jumlah kolom

Output : menampilkan angka sesuai baris dan kolom

Proses :

DO WHILE k <= 3

cetak k

k=k+ 1

Enddo

cetak

b=b+1

Enddo

b. Outline Solusi

Page 50: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

45

c. Tabel Desk Checking

Page 51: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

46

BAB VI

MODULARISASI DAN KOMUNIKASI ANTAR MODUL

6.1 Konsep Pemrograman Modular

1. Modularisasi

Modularisasi digunakan bila ada suatu permasalahan yang kompleks, sehingga

langkah pertama adalah mengidentifikasikan tugas utama, setelah itu baru di bagi

kedalam tugas yang lebih rinci. Proses ini disebut juga dengan Top Down Design

2. Pemrograman Modular

Memecahkan algoritma ke dalam algoritma yang lebih kecil/modul. Modul

yang dibentuk mempunyai kesatuan tugas/fungsi maupun kesatuan proses/prosedur.

Setiap modul harus mempunyai single entry dan single exit secara beruntun dari atas

ke bawah atau dari awal ke akhir modul. Memiliki main program dan sub program atau

modul. Enam langkah dalam modular sebagai berikut:

a. Definisi masalah: klasifikasikan dalam input, proses dan output

b. Kelompokkan aktivitas ke dalam modul. Definisikan kegiatan dari modul-

modul yang ada

c. Buat bagan susun untuk menjelaskan hirarki dan hubungan antar modul

d. Buat logika dari main program dengan pseudocode. Terlebih dahulu

inventarisasi apa saja yang dikerjakan dalam main program

e. Buat logika untuk tiap tiap modul dengan pseudocode

f. Desk checking algoritma: mencek kebenaran algoritma dengan data

Page 52: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

47

3. Jangkauan Data

a. Global Data adalah variabel yang dikenal diseluruh program tersebut, dan

dapat diakses dari setiap modul di program tersebut.

b. Local Data adalah variabel yang didefinisikan disebuah modul. Variabel

ini hanya dikenal di modul dimana variabel tersebut didefinisikan.

4. Side Effect

Side effect adalah sebuah bentuk komunikasi antar modul dengan bagian lain

dalam program.

a. Global Data (Data Global)

Perubahan nilai global data berdampak terhadap nilai data tersebut di

semua modul.

b. Local Data (Data Lokal)

Perubahan nilai local data hanya berdampak terhadap nilai data pada

modul secara lokal.

5. Contoh Pemrograman Modular

Program Hitung_luasPP

{menentukan luas persegi panjang berdasarkan data yang diinput}

Deklarasi

integer p, l {global data}

Deskripsi

Baca p

Baca L

Hitung luaspp(p,l)

Page 53: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

48

END

Sub luaspp(integer pj,

integer lb)

integer luas {local data}

luas = pj * lb

Cetak luas

EndSub

6. Parameter

a. Parameter Data

b. Parameter Status flag/Boolean

c. Dalam merancang modul sebaiknya lebih banyak menggunakan parameter

data

d. Hindari menggunakan parameter status sebanyak mungkin

7. Parameter Passing

Menyampaikan data dari modul pemanggil ke modul yang dipanggil

(subordinate). Menyampaikan informasi dari subordinate ke modul pemanggil.

Informasi/data yang dikirim atau diterima di passing 2 arah dari modul pemanggil ke

subordinate maupun sebaliknya.

Gambar 6.1 Penggunaan Parameter Passing

Page 54: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

49

6.2 Komunikasi Antar Modul

1. Jenis Parameter

a. Parameter Aktual

Parameter yang disertakan pada saat prosedur dipanggil untuk

dilaksanakan. Contoh : tukar (a,b); //a dan b adalah parameter aktual

b. Parameter Formal

Parameter yang dituliskan pada definisi suatu prosedur atau fungsi. Contoh

: Prosedur tukar(x, y);

2. Jenis Pemanggilan

a. Pemanggilan Dengan Nilai (Call By Value)

Pemanggilan dengan nilai, nilai dari parameter actual akan ditulis ke

parameter formal. Dengan cara ini nilai parameter aktual tidak bisa

berubah, walaupun nilai parameter formal berubah.

b. Pemanggilan Dengan Acuan

Pemanggilan dengan reference merupakan upaya untuk melewatkan

alamat dari suatu variabel kedalam fungsi. Cara ini dapat dipakai untuk

mengubah isi suatu variable diluar fungsi dengan melaksanakan

pengubahan dilakukan didalam fungsi.

3. Contoh Kasus Modularisasi

Susunlah algoritma untuk mengurutkan beberapa bilangan dengan urutan

menaik (ascending) dan tampilkan bilangan hasil sort tersebut.

a. Definisi Masalah

Input : banyaknya data, bilangan yang akan diurutkan

Page 55: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

50

Output : Bilangan yang terurut

Proses :

Baca data_1, data_2…data_n

Sort data bilangan tersebut

b. Outline Solusi

c. Hierarchy Chart

Gambar 6.2 Bagan Sortimg Bilangan

d. Hasil Modularisasi

SUB SORTING_DATA

FOR I = 1 TO N

FOR J = N TO J>=I STEP -1

IF DATA[J] < DATA[J-1] THEN

TUKAR_DATA(J,J-1)

ENDIF

END FOR

Page 56: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

51

END FOR

ENDSUB

SUB TUKAR_DATA(int a, int b)

INT TEMP

TEMP = DATA[B];

DATA[B] = DATA[A];

DATA[A] = TEMP

ENDSUB

SUB INPUT_DATA

FOR I = 1 TO N

BACA DATA[I]

END FOR

ENDSUB

SUB CETAK_DATA

FOR I = 1 TO N

BACA DATA[I]

END FOR

ENDSUB

PROGRAM SORTING

MAIN_SORTING

INT N, J, DATA[10]

BACA N

INPUT_DATA

Page 57: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

52

SORTING_DATA

CETAK_DATA

END

6.3 Kohesi dan Kopling

Cohesion dan Coupling merupakan konsep dasar dalam perancangan dan

rekayasa perangkat lunak. Membagi software/perangkat lunak menjadi modul-modul

yang kecil bukan sekedar memisahkan kumpulan kode dari kumpulan kode lainnya.

Tetapi memastikan bahwa modul yang dirancang menganut prinsip "Loose Coupling,

High Cohesion"

1. Kohesi

Kohesi adalah keeratan hubungan elemenelemen di dalam suatu modul.

Macam-macam Kohesi sebagai berikut :

a. Functional

b. Sequential

c. Communicational

d. Procedural

e. Temporal

f. Logical

g. Coincidental

Perubahan pada modul dengan tingkat kohesi tinggi tidak terlalu membawa

dampak perubahan terhadap modul lain. Sehingga lebih mudah dalam pemrograman,

pengujian dan perawatan. Modul dengan tingkat kohesi tinggi, lebih mudah dipahami

Page 58: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

53

dan didokumentasi. Pada modul dengan tingkat kohesi tinggi, informasi lebih mudah

disembunyikan, karena komunikasi antar modul diminimalkan.

a. Kohesi Functional

1) Mempunyai satu tugas

2) Menghasilkan satu hasil/satu parameter output

3) Bisa satu atau lebih parameter input

b. Kohesi Sequential

1) Mempunyai pekerjaan yang beruntun

2) Kegiatan yang dilakukan lebih dari satu

3) Hasil dari kegiatan sebelumnya menjadi masukan bagi kegiatan

selanjutnya

4) Dapat dipecah menjadi Functional

Page 59: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

54

c. Kohesi Komunikasional

1) Kegiatan lebih dari satu

2) Menggunakan data yang sama

3) Dapat dijadikan Functional

Contoh:

Sub Proses_perhitungan

C = A + B

D = A – 1

E = A * B

F = A / B

G = A mod B

EndSub

d. Kohesi Procedural

1) Satu kegiatan dengan kegiatan lain tidak berhubungan

2) Hubungan antara elemen yang satu dengan yang lainnya karena

urutan statement

3) Dapat dipecahkan menjadi Functional

Contoh:

Sub Baca_record_mhs_dan_total_usia_mhs

set no_record to 0

set total_usia to 0

baca record_mhs

DO WHILE not EOF

Page 60: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

55

total_usia = usia + total_usia

no_record = no_record + 1

ENDDO

print no_record, total_usia

EndSub

e. Kohesi Temporal

1) Elemen-elemen terlibat dalam berbagai kegiatan yang mempunyai

hubungan dalam waktu

2) Urutan tidak penting

Contoh:

Sub Initialisasi

buka file transaksi

total_transaksi = 0

total_pen = 0

baris = 30

no = 0

hal = 0

EndSub

f. Kohesi Logical

1) ELemen-elemen melakukan kegiatan dengan kategori yang sama

2) Parameter masukan menentukan kegiatan yang dilaksanakan

3) Tidak semua kegiatan dikerjakan

Contoh:

Page 61: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

56

Read_all_files(file_code)

CASE if file_code

1 : read customer_transaction record

IF not EOF THEN

increment cust_trans_count

2 : read customer_master record

IF not EOF THEN

increment cust_master_count

3 : read product_master record

IF not EOF THEN

increment product_master_count

ENDIF

ENDCASE

END

g. Kohesi Koinsidental

Elemen-elemen tidak mempunyai hubungan

Contoh:

Sub File_Processing

Open employee updates file

read employee record

print_page heading

open employee master file

set page_count to one

Page 62: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

57

set error_flag to false

EndSub

2. Kopling

Kopling adalah keeratan hubungan antar modul. Tingkat saling ketergantungan

di antara dua modul. Faktor yang mempengaruhi kopling:

a. Jumlah data yang disalurkan

b. Jumlah kontrol data yang disalurkan

c. Jumlah elemen data global yang digunakan bersama-sama oleh beberapa

modul

Jenis-Jenis Kopling

a. Data

b. Stamp

c. Kontrol

d. External

e. Common

Keterangan:

Makin baik kopling, makin rendah ketergantungan suatu modul terhadap

modul lain. Modul dengan kopling yang baik adalah modul independence

a. Kopling Data

1) Komunikasi diantara modul menggunakan data. Diinginkan jumlah

data minimal

2) Parameter data yang disalurkan semakin sedikit semakin baik

Page 63: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

58

Contoh Kopling Data

A. Process_record_pelanggan

hitung_pajak_penjualan (total_harga, pajak_penjualan)

END

B. Hitung_pajak_penjualan (long total, pajak)

IF total> 5000 THEN

pajak = total * 0.25

Else If total > 4000 THEN

pajak = total * 0.2

Else

pajak = total * 0.15

ENDIF

END

b. KOPLING STAMP

1) Dua modul melakukan pass struktur data non global yang sama

Page 64: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

59

2) Struktur data: record, array

3) Timbul bahaya bila modul memeriksa struktur data tetapi hanya

menggunakan sebagian

current_record hanya berupa penunjuk nomor record sekarang

c. Kopling Kontrol

Dua modul melakukan passing parameter menggunakan data kontrol

(flag/switch).

Page 65: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

60

input_code berfungsi sebagai switch (berupa switch)

d. Kopling External

1) Dua modul atau lebih menggunakan data global yang sama

2) Tidak ada parameter yang digunakan dari modul pemanggil ke

subordinate dan sebaliknya

pajak_pen adalah variabel data global

Page 66: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

61

e. Kopling Common

Dua modul atau lebih menggunakan struktur data global yang sama

record_pelanggan adalah struktur data global

Page 67: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

62

BAB VII

ALGORITMA UNTUK MASALAH BISNIS

7.1 Struktur Program

Secara umum program yang dilakukan untuk memproses data yang dibaca dari

file dapat digambarkan sbb:

Sub Proses_record

Proses_inisialisasi

Baca record pertama

Do while not EOF

process_record_ini

Baca next record

ENDDO

Proses_final

END

7.2 Struktur Chart

Algoritma di atas digambarkan dengan struktur chart berikut:

1. Tiga modul di atas dapat berisi statement yang dibutuhkan untuk memproses

data yang dibaca dari file

2. Main program dari struktur chart sudah ada sehingga dapat dikembangkan

proses dari ketiga modul tersebut

Page 68: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

63

Gambar 7.1 Contoh Struktur Chart

7.3 Membuat Laporan Dengan Page Break

Suatu laporan membutuhkan:

1. Judul

2. Baris judul

3. Kolom judul

4. Detail

5. Total

Di samping itu suatu halaman laporan hanya menampung beberapa baris

record, sehingga harus mengatur pemindahan ke halaman baru. Untuk itu dibutuhkan

sebuah control break untuk memeriksa kapan harus pindah ke halaman baru (page

break)

1. Single-Level Control Break

Single-Level Control Break adalah pemberhentian dalam logika program

(berhenti atau mengulang untuk mencetak judul baru) berdasarkan nilai sebuah

variabel. Contoh : no departemen.

Page 69: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

64

Gambar 7.2 Contoh Bentuk Laporan Single Level Control Break

Berikut ini adalah Hierarchy Chart Singlelevel Break :

Gambar 7.3 Contoh Hierarchy Chart Singlelevel Break

2. Multiple-Level Control Break

Multiple-Level Control Break adalah pemberhentian dalam logika program

(berhenti atau mengulang untuk mencetak judul baru) berdasarkan beberapa nilai

variabel. Contoh : total penjualan per sales dan total penjualan per departemen

Gambar 7.4 Contoh Bentuk Laporan Multiple-Level Control Break

Page 70: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

65

Hierarchy Chart Multiplelevel Break

Gambar 7.5 Contoh Hierarchy Chart Multiplelevel Break

7.4 Contoh Algoritma Penyelesaian

Contoh Studi Kasus :

Gambar 7.6 Contoh Studi kasus

Hierarchy Chart

Gambar 7.7 Hierarchy Chart dari Studi Kasus

Page 71: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

66

Algoritma Pemecahan

Laporan_Penyewaan

Inisialisasi

Cetak_Judul

Baca Record Pertama

DO WHILE NOT EOF

If baris > 30 THEN

Cetak_Judul

Baris = 0

ENDIF

Process_Record

Baca Record Selanjutnya

ENDDO

Cetak_Total_Report

END

SUBORDINATE MODUL

1. Inisialisasi

Buka File

Total = 0

Hal = 0

Baris = 0

END

Page 72: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

67

2. Cetak_Judul

Hal = hal + 1

Cetak “PT. Semesta Makmur Abadi ”

Cetak “Jalan Bahari Biru ”

Cetak “Jakarta”

Cetak “Laporan Gaji ”

Cetak “Tanggal Cetak “, date(), “Hal =”, hal

Cetak “No. NIP Nama Target Realisasi Komisi Gaji Pokok Total Gaji ”

END

3. Process_Record

komisi = (realisasi – target ) * 10000

Total_gaji = komisi + gaji_pokok

Cetak_Detail

accumulate_total

END

4. Cetak_Detail

Baris = baris +1

Cetak baris, NIP, Nama, Target, Realisasi, Komisi. Gaji_Pokok,

Total_gaji

END

5. Accumulate_total

Total = total + total_gaji

END

Page 73: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

68

6. Cetak_total_Report

Cetak “Total gaji Sales”, total

Tutup File

END

Page 74: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

69

BAB VIII

PERANCANGAN PROGRAM UNTUK MASALAH BISNIS

8.1 Teknik Perancangan Program Berorientasi Bisnis

Berikut ini akan dijelaskan beberapa teknik perancangan program di dalam

sebuah pemrograman terstruktur untuk mendukung proses pembangunan atau

pengembangan sistem.

1. Teknik Perancangan File atau Database Dalam Bentuk Spesifikasi File

Adapun mengenai langkah-langkah di dalam perancangan file tersebut

adalah :

a. Menentukan banyaknya jumlah kebutuhan file yang nanti akan digunakan

di dalam program. Banyaknya file yang dibutuhkan oleh sistem diperoleh

dari hasil perancangan database menggunakan Normalisasi. Dari hasil

Normalisasi terbentuk tabel-tabel atau file-file yang akan dijelaskan di

dalam spesifikasi file.

b. Menentukan parameter dari file yang akan dibuat. Parameter yang

dimaksud adalah elemen-elemen yang menjelaskan spesifikasi singkat

mengenai file.

Contoh Studi Kasus Analisa Program Penggajian :

Program Penggajian adalah sebuah aplikasi yang melakukan proses

penghitungan gaji pegawai, dengan dasar input absen dan proses yang

dilakukan secara batch atau tunda (satu kali dalam sebulan).

Input : Data absen harian

Page 75: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

70

Proses : Penghitungan Gaji, parameternya:

a. Tunjangan pegawai (dari status pegawai)

b. Gaji Pokok (dari golongan pegawai)

c. Lembur (dari kehadiran pegawai)

d. Potongan (jika pegawai mempunyai potongan yang dibebankan pada gaji)

Output: Laporan Gaji Bulanan dan Slip Gaji pegawai

Contoh Tabel Pegawai

Misal jika dijumlahkan panjang record pegawai 180 karakter, dari tabel diatas.

Parameter File

Untuk membuat spesifikasi file, dibutuhkan beberapa parameter, dibawah ini:

a. NAMA FILE

Nama yang dibuat untuk menunjukkan nama file yang digunakan.

Dituliskan di dalam source program. Contoh: File_Pegawai, File_Lembur,

dll.

b. AKRONIM FILE

Nama yang dibuat untuk menunjukkan file disimpan dalam tabel/database,

dituliskan dengan extension-nya. Contoh: Pegawai.mdb, Lembur.dbf,

Absensi.myd

Page 76: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

71

c. KODE FILE

Nama yang dibuat pada saat file digambarkan dalam bentuk diagram

(Normalisasi). Contoh: Tabel Pegawai, Tabel Lembur, Tabel Absen

d. TYPE FILE

Tipe dari tabel yang digunakan dalam program. Contoh: File Master, File

Transaksi, File Laporan, File Histori, File Backup, File Kerja dan File

Library

e. Panjang Record (RECORD-SIZE)

Jumlah karakter yang digunakan dalam satu record. Contoh: 180

Characters

f. ORGANISASI FILE

Organisasi yang digunakan pada saat menyimpan data ke dalam tabel.

Contoh: Index Sequential

g. ACCESS FILE

Cara mengakses data yang disimpan pada tabel. Contoh: Random

h. MEDIA FILE

Media yang digunakan untuk menyimpan file (tabel). Contoh : Harddisk

i. FIELD KEY

Kunci field yang dipakai dalam program pada saat program mengakses

database. Contoh : Nomor Induk Pegawai (NIP)

j. SOFTWARE

Software yang digunakan untuk membuat tabel. Contoh : Microsoft

Access 2007, MySQL

Page 77: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

72

2. Teknik Perancangan Program Dalam Bentuk Spesifikasi Program

Adapun mengenai langkah-langkah di dalam perancangan program adalah :

a. Menentukan banyaknya jumlah kebutuhan program yang akan dibuat.

Jumlah program yang dibutuhkan oleh sistem dibuat dalam bentuk modul

yang nantinya akan digambarkan dalam diagram HIPO. Dalam HIPO

dapat diketahui dengan jelas hirarki program. Program mana yang

memanggil program lainnya, dan kemana program akan kembali setelah

selesai melakukan eksekusi.

b. Menentukan Parameter dari Program yang akan dibuat. Parameter yang.

dimaksud adalah elemen-elemen yang menjelaskan spesifikasi singkat

mengenai program. Parameter Program meliputi hal-hal sebagai berikut:

1) NAMA PROGRAM

Nama yang dibuat untuk menunjukkan identitas program. Contoh:

Program HitungGaji

2) AKRONIM PROGRAM

Nama yang dibuat untuk menyimpan source program. Contoh:

HitGaji.vbp

3) KODE PROGRAM

Nama yang dibuat pada saat file digambarkan dalam bentuk diagram

(HIPO). Contoh: Gj01

4) FUNGSI PROGRAM

Page 78: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

73

Menjelaskan fungsi atau kegunaan dari program yang dibuat. Contoh:

Untuk program Gaji, maka fungsi program dituliskan: Program untuk

perhitungan gaji karyawan.

5) BAHASA PEMROGRAMAN

Menentukan bahasa pemrograman yang digunakan pada saat

pembuatan souce program, biasanya berhubungan dengan point (b)

untuk menyatakan extension file. Contoh: Visual Basic 6.0

6) PROGRAM FLOWCHART

Menggambarkan logika atau proses program dalam bentuk flowchart.

7) PROSES PROGRAM

Menjelaskan secara rinci mengenai isi dan proses program, termasuk

penjelasan dari command button apabila dijalankan.

8.2 Contoh Kasus Penggunaan Teknik Perancangan File dan Program

Contoh Program Bisnis pada Sistem Perpustakaan

Tabel pada sistem informasi perpustakaan sebagai berikut :

1. Tabel Anggota

2. Tabel Buku

3. Tabel User

4. Status

5. Tabel Peminjaman

6. Tabel Pengembalian dan

7. Tabel Detail Peminjaman

Page 79: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

74

Spesifikasi File

Contoh pembuatan spesifikasi file dari tabel diatas, sebagai berikut : (untuk tabel

Anggota dan tabel Buku).

1. Spesifikasi Tabel Anggota

Nama File : Tabel Anggota

Akronim File : tbl_anggota.myd

Fungsi File : untuk menyimpan data anggota perpustakaan

Tipe File : File Master

Organisasi File : Index Sequential

Akses File : Random

Media File : Harddisk

Panjang Record : 160 karakter

Kunci Field : noang

Software : MySQL

Tabel II.1 Tabel Anggota

Page 80: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

75

2. Spesifikasi Tabel Buku

Nama File : Tabel Buku

Akronim File : tbl_buku.myd

Fungsi File : untuk menyimpan data buku perpustakaan

Tipe File : File Master

Organisasi File : Index Sequential

Akses File : Random

Media File : Harddisk

Panjang Record : 161 karakter

Kunci Field : kdbuku

Software : MySQL

Tabel II.2 Tabel Buku

Pengkodean

Kode yang dibuat dalam pengkodean adalah field-field yang dijadikan sebagai

kunci primer (Primary Key/PK), sebagai contoh disini adalah Nomor Anggota dan

Kode Buku.

Page 81: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

76

Nomor Anggota

Kode Buku

Spesifikasi Program (Diagram HIPO)

Gambar 8.1 HIPO

Spesifikasi Program

Berdasarkan HIPO, spesifikasi program diantaranya:

1. Spesifikasi Program Menu Utama

2. Spesifikasi Program Data Anggota

3. Spesifikasi Program Data Buku

Page 82: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

77

4. Spesifikasi Program Data User

5. Spesifikasi Program Transaksi Peminjaman

6. Spesifikasi Program Transaksi Pengembalian

7. Spesifikasi Program Laporan Data Anggota

8. Spesifikasi Program Laporan Data Buku

9. Spesifikasi Program Laporan Peminjaman

10. Spesifikasi Program Laporan Pengembalian

11. Spesifikasi Program Pencetakan Kartu Anggota

12. Spesifikasi Program Pencetakan Laporan

Spesifikasi Program yang akan dibuatkan disini sebagai contoh, adalah

spesifikasi program transaksi peminjaman. Berikut ini spesifikasi program transakso

peminjaman :

Nama program : Peminjaman

Akronim : Peminjaman.vbp

Fungsi : Untuk melakukan peminjaman buku

Bahasa program : Visual Basic 6.0

Bentuk tampilan : Lihat Lampiran C.6

Proses Program :

a. Klik Tambah untuk meminjam buku dan nomor peminjaman muncul

otomatis. Isikan data anggota dan data buku yang dipinjam, jika

peminjaman melebihi batas jumlah peminjaman maka muncul pesan

“peminjaman lebih dari 2 buku”.

b. Klik Simpan untuk menyimpan data peminjaman

Page 83: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

78

c. Klik Batal untuk pembatalan peminjaman

d. Klik Cetak untuk mencetak bukti transaksi peminjaman

e. Klik Tutup untuk keluar dari menu transaksi peminjaman

Program Flowchart

Flowchart yang dibuat diantaranya:

1. Flowchart Login

2. Flowchart Menu Utama

3. Flowchart Anggota

4. Flowchart Buku

5. Flowchart User

6. Flowchart Peminjaman

7. Flowchart Pengembalian

8. Flowchart Laporan Peminjaman

9. Flowchart Laporan Pengembalian

Page 84: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

79

Gambar 8.2 Flowchart Menu Utama

Page 85: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

80

BAB IX

KONSEP PEMROGRAMAN BERORIENTASI OBJEK

9.1 Pendahuluan

Perancangan prosedural memiliki keterbatasan dalam pengembangan sistem

yang besar, jaringan dan sistem multi user. Meskipun disusun secara terstruktur dan

modular, tetap menjadi sangat rumit dan sulit dipahami. Kurangnya menyadari

pekerjaan yang dilakukan dengan tim pengembang sehingga terjadi duplikasi pada

beberapa bagian. Teknologi berorientasi objek dapat mengatasi permasalahan di atas

serta memberikan fleksibilitas dan ekonomis untuk program sistem jaringan dan multi

user.

9.2 Pengenalan Pemrograman Berorientasi Objek

Pemrograman berbasis objek (OOP) berdasarkan pada konsep objek dan

interaksinya. Objek dapat menerima pesan (message), mengolah data, dan

mengirimkan pesan ke objek lain dan membentuk interaksi antar objek. Objek bersifat

independen: tiap objek dapat dipandang sebagai sebuah entitas mandiri yang memiliki

peran atau tanggung jawab tertentu.

Gambar 9.1 Pengenalan OOP

Page 86: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

81

9.3 Pengenalan Objek & Class

1. Objek

Objek adalah representasi sebuah entitas yang memiliki makna tertentu yang

menjadi perhatian si pemandang. Segala sesuatu yang ada di dunia adalah objek.

Contoh : Manusia, Bunga, Hewan, Mobil, Meja, Kursi, Sepeda, Kereta, Pesawat

terbang, dan lain sebagainya. Setiap sistem terdiri dari objek-objek (sistem juga

termasuk objek). Evaluasi & pengembangan sistem disebabkan oleh interaksi antara

objek-objek di dalam atau di luar sistem.

2. Kelas

Merupakan template untuk membuat obyek. merupakan prototipe/blue prints

yang mendefinisikan variable-variabel dan method –method secara umum. Objek

(instances) merupakan hasil instansiasi dari suatu kelas, proses pembentukan obyek

dari suatu class disebut dengan instantiation.

Gambar 9.2 Gambaran Kelas

Contoh Kelas :

Page 87: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

82

Struktur Kelas

Karakteristik Objek

Attributes :

Warna, Tahun Produksi, Manufaktur, kecepatan

Behavior/Tingkah Laku :

Akseleration(), Turn(direction), Stop(), Break() dll

Identitas :

B7471UL

Page 88: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

83

a. Atribut

Atribut adalah data yang membedakan antara objek satu dengan yang lain.

Contoh atribut mobil : manufaktur, model, warna, jumlah pintu, ukuran

engine, kecepatan dll. Dalam class, atribut disebut sebagai variabel.

1) Instance variable

Instance variable adalah atribut untuk tiap obyek dari class yang sama.

Tiap obyek mempunyai dan menyimpan nilai atributnya sendiri. Jadi

tiap obyek dari class yang sama boleh mempunyai nilai yang sama atau

beda

2) Class variable:

Class variable adalah atribut untuk semua obyek yang dibuat dari class

yang sama. Semua obyek mempunyai nilai atribut yang sama. Jadi

semua obyek dari class yang sama mempunyai hanya satu nilai yang

value nya sama.

b. Tingkah Laku

Tingkah laku/behavior adalah hal-hal yang bisa dilakukan oleh objek dari

suatu class. Behavior dapat digunakan untuk mengubah nilai atribut suatu

objek, menerima informasi dari objek lain, dan mengirim informasi ke

obyek lain untuk melakukan suatu task. Dalam class, behavior disebut juga

sebagai methods. Contoh: mobil (akseleration, stop, turn, break). Method

adalah serangkaian statements dalam suatu class yang menghandle suatu

task tertentu. Cara objek berkomunikasi dengan objek lain adalah dengan

menggunakan method.

Page 89: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

84

c. Responsibility

Responsibility adalah sebuah kontrak atau sebuah obligasi dari sebuah

class. Saat sebuah class dibuat, semua objek dalam class tersebut memiliki

keadaan dan tingkah laku yang sama. Saat sebuah class dimodelkan, awal

yang baik adalah menspesifikasikan responsibilities sesuatu dalam sebuah

kamus. Teknik seperti CRC card (Class Responsibility Collaboration) dan

use case dapat membantu.

d. Konstruktor

Konstruktor adalah proses instansiasi objek dari kelas dilakukan pada

operasi khusus atau sekumpulan instruksi. Konstruktor menetapkan nilai

awal untuk atribut objek baru. Konstruktor biasanya memiliki nama yang

sama dengan kelasnya. Pseudocode untuk instansiasi objek baru : Create

nama-objek as new nama-Class(). Contoh : Create mobil as new

Mobil().

1) Kata NEW menunjukkan pembuatan objek baru.

2) Nama kelas diawali dengan huruf besar. Contoh : Mobil, Siswa,

Pendaftaran, dll.

3) Nama objek diawali dengan huruf kecil. Contoh : mobil, siswa,

pendaftaran, dll

Konstruktor memungkinkan :

1) Memiliki parameter yang menginisilisasi atribut dengan nilai spesifik.

Contoh : Create mobil as new Car (”Ford”, ”Falcon”, 4, 300, 6, ”Biru”,

0); atau

Page 90: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

85

2) Tidak memiliki parameter. Objek baru dengan nilai default untuk semua

atributnya.

e. Aksesor & Mutator

Nilai variabel dari objek tersedia untuk semua operasi di dalam objek

tersebut, tetapi tersembunyi dari objek luar. Untuk keamanan, operasi

publik dikenal istilah aksesor dan mutator, yang membolehkan objek luar

untuk mengakses nilai pada atribut. Aksesor adalah nama operasi yang

mengakses nilai. Nama aksesor dimulai dengan kata GET seperti

getPaySlip(). Mutator adalah nama operasi yang merubah nilai atribut.

Operasi mutator memungkinkan objek eksternal untuk mengubah nilai yang

tersimpan dalam atribut. Nama mutator diawali dengan kata SET seperti

setPayRate().

f. Visibility

Visibility merupakan kemampuan suatu obyek untuk melihat atau

berhubungan dengan obyek lain. Atribut dan metoda dapat memiliki salah

satu sifat visibility berikut :

1) Private (-), tidak dapat dipanggil dari luar class yang bersangkutan

2) Protected (#), hanya dapat dipanggil oleh class yang bersangkutan dan

anak-anak yang mewarisinya

3) Public (+), dapat dipanggil oleh siapa saja

g. Pengiriman Pesan/Messaging

Objek-objek bekerjasama dengan mengirimkan pesan dari satu objek ke

objek lainnya. Suatu obyek mengirimkan pesan ke objek lain untuk

Page 91: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

86

melakukan sebuah operasi. Suatu objek juga dapat menerima pesan dari

objek lain untuk melakukan operasi lainnya. Kunci dalam pemrograman

berorientasi objek adalah bahwa setiap objek itu sendiri bertanggung jawab

untuk melaksanakan tugas. Ini termasuk interaksi dan komunikasi dengan

benda-benda lainnya. Objek mengirim pesan ke objek lainnya. Pesan

mungkin menyampaikan informasi tambahan melalui parameter untuk

benda-benda penerima.

Contoh Messaging :

Mobil yang diparkir di depan rumah hanya sepotong logam yang dengan

sendirinya tidak mampu melakukan aktivitas apapun. Pengemudi harus

menyalakan mobil, menggunakan rem, dll. Objek "pengetik" dapat

mengirim pesan "mengubah ukuran (20)" ke objek huruf untuk mengubah

ukuran font.

9.4 Karakteristik OOP

Karakteristik OOP antara lain :

1. Abstraksi

Abstraksi adalah proses penyembunyian kerumitan dari suatu proses untuk

permasalahan yang dihadapi. Contoh : Orang hanya perlu berpikir bahwa mobil

adalah sebuah objek yang telah memiliki prilaku spesifik, yang dapat digunakan

sebagai alat transportasi, sehingga dia/mereka tinggal menggunakannya atau

mengendarainya tanpa harus mengetahui kerumitan proses yang terdapat di

dalam mobil tersebut.

Page 92: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

87

Apa yang anda ingin segitiga lakukan ?

Gambar 9.3 Contoh Abstraksi

2. Enkapsulasi

Enkapsulasi atau pembungkusan berfungsi untuk melindungi suatu objek dari

dunia luar, sehingga seseorang tidak akan mampu merusak objek yang

terbungkus. Objek yang terbungkus dalam suatu kelas baik data maupun

fungsinya tidak bisa terlihat apalagi dirubah pada saat objek digunakan.

Gambar 9.4 Contoh Enkapsulasi

Disini terjadi penyembunyian informasi tentang bagaimana cara kerja

pengecekan validitas kartu, kecocokan pin yang dimasukkan, koneksi ke

database server, dll, dimana hal-hal tersebut tidak perlu diketahui oleh pengguna

tentang bagaimana cara kerjanya.

Page 93: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

88

3. Inheritansi

Kelas dapat menurunkan metode-metode dan properti-properti yang

dimilikinya pada kelas lain. Kelas yang mewarisi metode dan properti dari

objek lain dinamakan kelas turunan. Kelas turunan ini mampu mengembangkan

metode sendiri.

Gambar 9.5 Contoh Inheritansi

4. Polimorfisme

Polimorfisme dapat diartikan sebagai kemampuan suatu bahasa pemrograman

untuk memiliki fungsi-fungsi atau metode yang bernama sama tetapi berbeda

dalam parameter dan implementasi kodenya (overloading). Kelas turunan dapat

menggunakan fungsi yang ada pada kelas pewarisnya dan dapat

mengimplementasikan kode yang berbeda dari fungsi pewarisnya ini

dinamakan overriding.

Gambar 9.6 Contoh Polimorfisme

Page 94: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

89

Tahapan Perancangan Program Berorientasi Objek

1. Identifikasi kelas, atribut, responsibility dan operasi

2. Menentukan hubungan antar objek dan kelas

3. Perancangan algoritma untuk operasi menggunakan desain struktur

4. Mengembangkan tes algoritma

9.5 Kelebihan OOP

Berikut ini merupakan kelebihan pemrograman Berorientasi objek :

1. Menyediakan struktur modular yang jelas untuk program sehingga bagus

digunakan untuk mendefinisikan tipe data abstrak di mana detil

implementasinya tersembunyi.

2. Mempermudah dalam memelihara dan memodifikasi kode yang sudah ada.

Objek yang baru dapat dibuat tanpa mengubah kode yang sudah ada.

3. Menyediakan framework untuk library kode di mana komponen software yang

tersedia dapat dengan mudah diadaptasi dan dimodifikasi oleh programmer.

Hal ini sangat berguna untuk mengembangkan GUI.

4. Resiko kesalahan relative kecil (lebih sedikit mengetik), sintaks juga tidak perlu

dihafalkan, karena semuanya sudah disediakan.

5. Waktu debugging lebih singkat, karena setiap objek tidak perlu didebug setiap

kali digunakan

Page 95: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

90

9.6 Pemrograman Terstruktur Versus Pemrograman Berorientasi Objek

Tabel 9.1 Pemrogramana Terstuktur Vs Pemrograman Berorientasi Objek

Page 96: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

91

BAB X

TAHAPAN PERANCANGAN BERORIENTASI OBJEK

1. Identifikasi kelas, atribut, responsibility dan operasi

Sama seperti pendekatan topdown, untuk mendefinisikan garisbawahi kata

benda dan sifat yang relevan dengan masalah. Contoh :

a. Dibutuhkan program untuk membaca file karyawan yang berisikan berisi

nomor karyawan, tingkat upah, dan jumlah jam kerja per minggu.

b. Program kemudian memvalidasi upah dan jam kerja. Jika benar, hitung

upah mingguan pegawai dan cetak payslip. Validasi : menurut aturan

perusahaan, maksimal seorang pegawai bekerja 60 jam seminggu dan

maksimum 250,000 per jam. Jika jam bekerja atau tingkat upah melebihi

aturan, input data dan pesan yang sesuai akan dicetak dan upah mingguan

karyawan tidak dihitung. Hitung upah mingguan : upah mingguan

dihitung jam kerja dikali tingkat upah. Jika lebih dari 35 jam kerja,

pembayaran untuk lembur jam kerja dihitung setengahnya.

Tabel 10.1 Kelas, Atribut, Responsibility dan Operasi

Page 97: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

92

2. Menentukan hubungan antar objek dan Kelas

Berdasarkan pernyataan masalah diperoleh dua kelas yaitu penggajian dan

payslip. Objek dari kelas penggajian menggunakan objek dari kelas payslip. Hubungan

antar kelas digambarkan dengan notasi UML.

Gambar 10.1 Contoh Hubungan Antar Objek dan Kelas

3. Perancangan algoritma untuk operasi menggunakan desain struktur

Setiap operasi dalam kelas memerlukan penjelasan langkah-demi langkah

instruksi yang menghasilkan perilaku yang diperlukan. Masing-masing algoritma

dimulai dengan nama operasi dan diakhiri dengan pernyataan END. Data yang

dibutuhkan objek payslip dikirim dari penggajian segera setelah diciptakan. Nilai

atribut tersedia untuk semua operasi di dalam kelas dan empNumber, weeklyPay,

validInput, hoursWorked dan payRate dapat dilihat untuk setiap operasi.

setEmpNumber(inEmpNumber)

empNumber = inEmpNumber

END

setPayRate(inPayRate)

set errorMessage to blank

IF inPayRate>MAX_PAY THEN

errorMessage = ”Rate upah melebihi 250,000”

Print empNumber, inPayRate, errorMessage

validInput = false

Page 98: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

93

ELSE payRate = inPayRate

END IF

END

setHoursWorked(inHoursWorked)

Set errorMessage to blank

IF inHoursWorked > MAX_HOURS THEN

errorMessage = ”Jam kerja melebihi 60”

Print empNumber, inHoursWorked, errorMessage

validInput = false

ELSE

hoursWorked = inHoursWorked

ENDIF

END

setPay()

IF hoursWorked <= NORM_HOURS THEN

weeklyPay = payRate * hoursWorked

ELSE

overtimeHours = hoursWorked – NORM_HOURS

overtimePay = overtimeHours * payRate * 1.5

weeklyPay = (payRate * NORM_HOURS) +

overtimePay

ENDIF

END

Page 99: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

94

Konstruktor paySlip dapat menggunakan mutator untuk diperbaharui nilai-nilai

atribut. Namun, jika data tidak valid, nilai tidak akan diperbaharui, mungkin

diperbaharui dengan data yang tidak valid. Oleh karena itu, standar konstruktor harus

memperbaharui seluruh atribut.

Payslip()

Set empNumber to ”Uknown”

Set payRate to 0.0

Set hoursWorked to 0

Set validInput to true

Set weeklyPay to 0.0

END

Konstruktor menerima input yang dapat memanggil standar konstruktor

sebelum pengaturan nilai atribut

Payslip(inEmpNumber, inPayRate, inHoursWorked)

Payslip()

setEmpNumber(inEmpNumber)

setPayRate(inPayRate)

SetHoursWorked(inHoursWorked)

IF validInput THEN

setPay()

ENDIF

END

Page 100: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

95

Objek eksternal perlu mengetahui tentang validitas payslip dan upah mingguan yang

dihitung. Aksesor menginformasikan objek lain tentang validitas payslip

getValidInput(validInput)

END

printPayslip()

IF validInput THEN

Print empNumber, payRate, hoursWorked, weeklypay

ENDIF

END

4. Mengembangkan tes algoritma atau menjalankan algoritma

Langkah terakhir adalah mengembangkan kelas yang memiliki operasi dengan

algoritma seperti baris utama pada program prosedural. Menjalankan algoritma dengan

membuat kelas yang berisikan algoritma utama. Tes atau menjalankan kelas

menyediakan interface antara objek payslip dan lingkungan luar termasuk pengguna.

File data absen merupakan bagian dari interface antara lingkungan luar dan objek

payslip. Data absen akan menjadi atribut pada driver kelas dan driver konstruktor akan

membuka file.

Payroll()

timeSheetFile = ”timesheet.dat”

END

Page 101: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

96

Algoritma untuk driver class Payslip

run()

Baca empNumber, hoursWorked, payRate

DoWhile more records

Create paySlip as New Payslip(empNumber, payRate, hoursWorked)

payslip.printPayslip()

Baca Payslip(empNumber, payRate, hoursWorked

Enddo

END

Page 102: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

97

BAB XI

PERANCANGAN BERORIENTASI OBJEK UNTUK MULTI

KELAS

11.1 Pendahuluan

Keunggulan utama bahasa pemrograman berorientasi objek adalah pada

kemampuan dalam membangun program yang besar. Dalam merancang program yang

menggunakan beberapa kelas perlu mempertimbangkan hubungan antar kelas.

Pendekatan perancangan berorientasi objek dan pemrograman berorientasi objek telah

menjadi metodologi yang stabil. Notasi yang digunakan untuk perancangan

berorientasi objek adalah UML (Unified Modelling Language) dari Rumbaugh, Booch,

dan jacobsen.

11.2 Hubungan Antar Kelas

Berikut ini hubungan antar kelas :

1. Hubungan yang paling sederhana adalah hubungan antar dua kelas yang

independen satu sama lain. Sebuah kelas dapat menggunakan layanan yang lain

disebut dengan asosiasi.

Asosiasi menggambarkan interaksi yang mungkin terjadi antara suatu objek

dengan objek yang lain. Asosiasi memungkinkan suatu kelas untuk

menggunakan atau mengetahui atribut atau operasi yang dimiliki oleh kelas

lain. Ada 2 jenis asosiasi :

Page 103: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

98

a. Asosiasi dua arah atau

b. Asosiasi satu arah (pasif)

Contoh : kelas mobil dan kelas garasi merupakan kelas independen. Mobil

kadang menggunakan layanan kelas garasi seperti parkir. Objek yang

diinstansiasi dari kedua kelas dapat saling berinteraksi melalui pengiriman atau

penerimaan pesan

Gambar 11.1 Contoh penggnaan Asosiasi

Pada asosiasi terdapat muliplisitas. Multiplisitas adalah jumlah banyaknya

obyek sebuah kelas yang berelasi dengan sebuah obyek lain pada kelas lain

yang berasosiasi dengan klass tersebut

Tabel 11.1 Multiplisitas

Page 104: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

99

Gambar 11.2 Contoh Asosiasi

public class A {

public B b;

public A(){

}

}

public class B {

public B(){

}

}

2. Sebuah kelas mungkin dibuat oleh kelas lain atau mengandung kelas lain yang

merupakan bagian dari dirinya sendiri. Hubungan kolektif dapat berupa

agregasi atau komposisi.

Page 105: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

100

Agregasi adalah hubungan suatu kelas yang merupakan bagian dari kelas lain

namun bersifat tidak wajib.

Simbol :

Contoh ;

Gambar 11.3 Contoh Agregasi

Komposisi adalah hubungan suatu kelas yang merupakan bagian yang wajib

dari kelas lain.

Simbol :

Contoh :

Contoh 11.4 Conoth Komposisi

3. Kelas memungkinkan mewarisi seluruh atribut dan operasi dari kelas induk,

memiliki nama yang unik, atribut dan operasi yang berbeda dengan kelas induk.

Bentuk hubungan antara kelas induk dan anak adalah generalisasi. Generalisasi

diperlukan untuk memperlihatkan hubungan pewarisan antar objek atau kelas.

Simbol :

Page 106: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

101

Contoh :

Gambar 11.5 Contoh Generalisasi

public class Person {

public Person(){

}

}

public class Employee

extends Person {

public Employee(){

}

}

Page 107: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

102

11.3 Polimorfisme

Polymorphism adalah kemampuan untuk mempunyai beberapa bentuk yang

berbeda. Polymorphism diimplementasikan dengan mekanisme inheritance dan

overriding.

Gambar 11.6 Contoh Polimorfisme

1. Overriding

Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari

superclass. Tujuan: subclass memiliki tingkah laku yang lebih spesifik.

Dilakukan dengan cara mendeklarasikan kembali method milik parent class di

subclass. Contoh :

Page 108: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

103

2. Overloading

Menuliskan kembali method dengan nama yang sama pada suatu class. Tujuan

: memudahkan penggunaan/pemanggilan method dengan fungsionalitas yang

mirip. Contoh :

BangunDatar {

static double PHI = 3.14;

static double luas (double r){

double Hasil = PHI * r * r;

return Hasil;

}

static int luas (int s){

int Hasil = s * s;

return Hasil;

}

}

Page 109: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

104

BAB XII

IMPLEMENTASI ALGORITMA KE DALAM BAHASA

PEMROGRAMAN BERORIENTASI OBJEK

12.1 Bahasa Pemrograman Yang Mendukung OOP

Bahasa pemrograman yang mendukung OOP antara lain: SmallTalk, C++,

Java, dan lain sebagainya.

1. Smalltalk

Smalltalk adalah bahasa pemrograman berorientasi objek yang pertama kali

populer. Smalltalk dikembangkan di Xerox PARCAmerika Serikat. Ide dasar Smalltalk

meliputi:

a. Semua adalah objek

b. Objek bisa saling berkomunikasi melalui messages atau berita

c. Semua tersedia untuk dimodifikasi

2. Bahasa C++

C++ dibuat pada tahun 1980an oleh Bell Labs sebagai pengembangan dari

Bahasa Pemrograman C (yang dibuat oleh Brian W. Kernighan dan Denies M. Ricthie

pada tahun 1972). Salah satu perbedaan yang paling mendasar dengan bahasa C adalah

C++ medukung konsep pemrograman berorientasi objek (Object Oriented Language).

Tahun 1980 seorang ahli yang bernama Bjarne Stroustrup mengembangkan beberapa

hal dari bahasa C yang dinamakan “C with Classes” yang berganti nama pada tahun

1983 menjadi C++. C++ merupakan bahasa pemrograman yang case sensitive.

Page 110: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

105

3. Java

Java adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh

Sun Microsystems sejak tahun 1991. Bahasa Pemrograman Java pertama lahir dari The

Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim

panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek

ini dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill Joy, beserta

sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah

maskot Duke yang dibuat oleh Joe Palrang. Java adalah bahasa pemrograman yang

mirip dengan C/C++. Keunggulanya adalah Java dapat berjalan di banyak platform

perangkat keras (Multy-Platform).

12.2 Implementasi OOP Dengan C++

void ShowInfoMotor()

{

cout<<”Merk : “<<merk<<endl;

cout<<”Tahun : “<<tahun<<endl;

cout<<”Nomor Polisi : “<<nopol<<endl;

cout<<”Warna : “<<warna<<endl;}

int main()

{

MOTOR M; //instansiasi thdp kelas MOTOR

M.SetMotor();

M.ShowInfoMotor();

Page 111: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

106

return 0;

}

12.3 Implementasi OOP Dengan Java

Mobil.java

class Mobil{

String warna;

int tahunProduksi;

void PrintMobil(){

System.out.println("Warna: " +

warna);

System.out.println("Tahun: " +

tahunProduksi);

}}

MobilBeraksi.java

public class MobilBeraksi {

public static void main(String[]

args){

// Membuat object

Mobil mobilku = new Mobil();

/* memanggil atribut dan memberi

nilai */

mobilku.warna = "Biru";

Page 112: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

107

mobilku.tahunProduksi = 2009;

mobilku.PrintMobil();

}}

Page 113: MODUL METODE PERANCANGAN PROGRAM...Metode Perancangan Program ini dapat diselesaikan. Modul Metode Perancangan Program ini diharapkan dapat mendukung mahasiswa dalam memahami matakuliah

108

DAFTAR PUSTAKA

.

Binarto, Iwan. 2005. Konsep Bahasa Pemrograman. Yogyakarta: ANDI.

Kadir, Abdul. 2002. Pemrograman C++. Yogyakarta: ANDI.

Raharjo, Budi. 2009. Pemrograman C++. Bandung: Informatika.

Robertson, Lesley Anne. 2003. Simple Program Design: a Step by Step Approach.

Edisi ke-4. Course Technology Inc

Sutanta, Edhy. 2004. Algoritma : Teknik Penyelesaian Masalah Komputasi.

Yogyakarta:Graha Ilmu.

Suarga. 2006. Algoritma Pemrograman. Yogyakarta : ANDI.

Sutopo, Ariesto Hadi. 2002. Analisis dan Desain Berorientasi Objek. Yogyakarta: J&J

Learning