P. 1
Modul Rekayasa Perangkat Lunak Jilid2

Modul Rekayasa Perangkat Lunak Jilid2

5.0

|Views: 6,152|Likes:
Published by Slamet Budi Santoso
modul rekayasa perangkat lunak, kelas 11
modul rekayasa perangkat lunak, kelas 11

More info:

Published by: Slamet Budi Santoso on Feb 27, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

07/14/2013

pdf

text

original

Konsep dasar tentang pemrograman berorientasi obyek telah kalian
pelajari pada Bab 8. Sedangkan penerapannya dalam bahasa pemroraman juga
telah kalian pelajari dengan menggunakan Java pada bab 8 dan C++ di bab ini.
Pada bagian ini kita akan mencoba untuk membuat rancangan aplikasi
berorientasi obyek.

Kasus yang kita angkat adalah salah satu bagian dari aplikasi penjualan
pada toko buku, yaitu persediaan barang. Jika kalian cermati ada banyak jenis
barang yang dijual pada sebuah toko buku, antara lain buku-buku bacaan,

Rekayasa Perangkat Lunak 249

majalah, alat tulis kantor, dan lain-lain. Masing-masing barang mempunyai
nama merek, harga, dan karakteristik yang lain. Selain itu masing-masing
barang juga mempunyai ketentuan-ketentuan lain yang berhubungan dengan
penetapan harga, potongan, jumlah pembelian dan tempat penyimpanan.
Persediaan barang pada took buku ditentukan oleh barang yang masuk dari hasil
pemesanan dan barang yang keluar karena terjual. Setiap barang keluar maka
secara otomatis barang di dalam persediaan akan berkurang.

Langkah awal dalam aplikasi berorientasi obyek adalah dengan melakukan
abstraksi pada permasalahan. Kalau kita perhatikan dengan seksama pada
kasus di atas, kita bisa membuat kelas induk dari semua jenis barang yang ada.
Hal ini karena selain karakteristik khusus dari masing-masing jenis barang, juga
ada karakteristik umum yang dipunyai oleh semua barang. Seperti contoh harga
adalah karakteristik umum yang dipunyai oleh semua barang. Tetapi merek
adalah khusus pada jenis item barang tertentu, terutama pada alat tulis.
Demikian juga dengan karakteristi judul hanya dimiliki oleh buku bacaan.
Dengan melihat kondisi tersebut kita dapat membuat abstraksi permasalahan
sebagai berikut.

Gambar 9.10. Abstraksi kasus persediaan barang di toko buku.

250Rekayasa Perangkat Lunak

Pada Gambar 9.10, kita membentuk 6 kelas untuk mempermudah kasus di
atas. Ada dua macam hubungan yang terbentuk pada gambar di atas, yaitu
hubungan pewarisan (inheritance) yang ditandai dengan tanda panah dan
asosiasi (hubungan antara dua atau lebih kelas) yang ditandai garis tanpa tanda
panah. Barang adalah superclass dan bisa kita nyatakan sebagai kelas abstrak.
BahanBacaan dan AlatTulis adalah subclass dari Barang, sedangkan Buku dan
Majalah adalah subclass dari BahanBacaan. Sedangkan Lokasi merupakan kelas
yang menunjukkan tempat menyimpan barang.

Pada kasus di atas kita dapat menerapkan konsep inheritance dan
polimorfisme serta menggunakan fungsi virtual murni pada kelas Barang.
Kemudian fungsi-fungsi ini dapat kita turunkan untuk diimplementasikan pada
subclass-subclassnya. Rancangan kode program akan tampak seperti pada table
9.3.

Dengan melihat diagram dan tabel 9.3, kita dapat menerapkan dalam
kode program. Akan ada 6 kelas yang kita buat kodenya. Masing-masing kelas
bisa dalam satu file sendiri-sendiri atau semua kelas bisa kita letakkan dalam
satu file. Kemudian implementasi dari class-class tersebut kita buat dalam satu
file tersendiri. Untuk menghubungkan antar file dan memanggil class pada file
lain kita menggunakan preprocessor #include diikuti dengan nama filenya.

Tabel 9.3. Kelas, fungsi, dan parameter pada aplikasi persediaan toko buku.

Nama KelasVariabel

Fungsi

Parameter

Keterangan

Barang

KodeBrg

- SisaBarang pAwal, bKeluar,
bMasuk

Harga

- Simpan

kodeLok

SediaanAwal
BrgKeluar
BrgMasuk

Kelas
Abstrak

BahanBacaan Penerbit

Subclass dan
mewarisi
anggota
kelas Barang

Buku

ISBN

- setDiskon

Judul

- getDiskon

Pengarang

- HrgDiskon Hrg, Potongan

Tahun
JumlahHalaman
Diskon

Subclass dari
BahanBacaan
dan mewarisi
anggota
kelas
tersebut

Majalah

Nama
NoEdisi
TglTerbit

Subclass dari
BahanBacaan
dan mewarisi
anggota
kelas
tersebut

AlatTulis

Supplier

Subclass dari

Rekayasa Perangkat Lunak 251

Nama
Merek

BahanBacaan
dan mewarisi
anggota
kelas
tersebut

Lokasi

KodeLokasi

setKodeLok

Deskripsi

getKodeLok

Kelas yang
berasosiasi
dengan kelas
Barang

9.6.

RINGKASAN

Struktur umum program dalam C++ meliputi bagian pendaftaran file,
pendefinisian fungsi, bagian main(), dan blok kode.

Tipe data primitive pada C++ terdiri dari int, long, float, double, char,
bool, dan short. Tipe data composite yang disediakan adalah struct,
enum dan array.

Tipe-tipe operator yang dapat digunakan adalah operator assignment,
operator unary, operator binary, operator relasional, operator bitwise
dan operator ternary.

Struktur control pemilihan dapat dilakukan dengan if (tanpa then) dan
switch ... case. Sedangkan untuk pengulangan, C++ menyediakan
perintah for, while, dan do-while.

Pernyataan input dan output dapat dilakukan dengan perintah cout dan
cin sebagai stream yang termasuk dalam kelas iostream.

Fungsi dapat tidak mengembalikan nilai tetapi juga dapat
mengembalikan nilai. Parameter pada fungsi dapat berupa parameter
input, parameter output atau dua-duanya.

Pointer adalah variabel. Namun berbeda dengan variabel normal,
pointer menyimpan alamat pada memori, bukan nilai yang kita
masukkan.

C++ mendukung konsep pemrograman berorientasi obyek melalui
pembuatan kelas, inheritance, fungsi virtual, overriding, overloading dan
polimorfisme.

252Rekayasa Perangkat Lunak

9.7.

SOAL-SOAL LATIHAN

1.Buatlah program C++ untuk mencari rata-rata 5 buah bilangan 34, 56,
91,11, 22.

2.Buatlah program menggunakan C++ untuk menentukan harga barang
setelah di diskon dengan tampilan sbb:

Masukkan harga barang/unit : Rp. 20000
Jumlah barang yang dibeli : 5
----------------------------------------------
Total Harga sebelum diskon : Rp. 100000
Diskon (10%) : Rp. 10000
------------------ -
Harga bersih : Rp. 90000

3.Seseorang punya rekening tabungan di bank sebesar Rp. 10.000,- (saldo
awal). Selanjutnya ia dapat menyetor atau mengambil tabungannya.
Buatlah program dengan C++ untuk keperluan transaksi di bank tsb.
Tampilan menu utamanya sbb:

--------------------------------------
PT. BANK ABC
--------------------------------------
Saldo : ....
Menu Transaksi
1. Setor Tabungan
2. Ambil Tabungan
3. Exit
Pilihan menu (1/2/3) ? ...
Ketentuan:
Bank membuat kebijakan bahwa saldo minimum yang
harus disisakan di rekening adalah Rp. 10.000,-

Jika nasabah memasukkan angka 1 maka dia akan diminta memasukkan
jumlah rupiah yang akan disetor. Jika nasabah memilih angka 2 maka
nasabah diminta memasukkan jumlah rupiah yang akan ditarik. Jika
jumlah penarikkan mengakibatkan saldo kurang dari Rp. 10000 maka
program akan menolak. (Petunjuk: gunakan pernyataan cin untuk
mendapatkan input dari keyboard)

4.Buatlah program menggunakan function untuk menentukan nilai akhir
suatu pelajaran. Terdapat 2 argumen function yaitu nilai ujian tengah
semester dan nilai ujian akhir semester. Output yang diinginkan adalah
jika nilai rata-rata lebih besar atau sama dengan 80 maka nilai akhirnya
adalah A, jika nilai rata-rata kurang dari 80 dan lebih besar sama dengan
70 maka nilainya B, jika kurang dari 70 maka nilainya C.

5.Perhatikan contoh soal pada Bab 8 no 6. Buatlah diagram abstraksi
sistemnya kemudian buatlah kode programnya dengan menggunakan
bahasa C++.

Rekayasa Perangkat Lunak 253

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->