adalah :
a.
Preventive
d.
Adptif
b.
Perfective
e.
Korektif
c.
Efektif
a.
Statis
d.
Dinamis
b.
Portabilitas
e.
Sederhana
c.
User Friendly
Debugging
d.
Testing
b.
Compilling
e.
Running
c.
Coding
Waktu penulisan
d.
Perawatan
b.
Kebenaran logika
e.
Portabilitas
c.
User Friendly
Object Oriented
d.
Interactive Oriented
b.
Program Oriented
e.
Data Orinted
c.
Bussiness Oriented
Int b
d.
Void
b.
&&
e.
default
c.
Long d
d.
Pemprograman Funtional
b.
Pemprograman Prosedural
e.
Pemprograman
c.
Pemprograman
Generik
Tipe data
d.
Reserved word
b.
Komentar
e.
Function
c.
Operator
Object Oriented
d.
Interactive Oriented
b.
Program Oriented
e.
Data Orinted
c.
Bussiness Oriented
Preventive
d.
Adaptif
b.
Perfective
e.
Korektif
c.
Efektif
12. Bahasa program di bawah ini yang termasuk bahasa tingkat menengah adalah :
a.
Pascal
d.
C+
b.
Assembler
e.
c.
C++
13. Pada beberapa point di bawah ini, yang termasuk tipe data
majemuk adalah :
a.
Real/float
d.
Integer
b.
String
e.
Boolean
c.
Character
Assembler
d.
b.
Pascal
c.
PL/1
e.
Fortan
Procedural
d.
Modular
b.
Bottom-up
e.
Top-down
c.
Sequence
Basic
d.
Assembler
b.
Java
e.
Foxpro
c.
17. Berikut ini yang tidak termasuk bahasa pemograman yang berorrientasi pada
procedural (Procedure Oriented Language)
a.
Algol
d.
Basic
b.
RPG
e.
Pascal
c.
Cobol
Loop statement
d.
Sequence statement
b.
Selection statement
e.
Assignment statement
c.
Iteration statement
Penggunaan program
d.
Penulisan intruksi
program
b.
Perancangan program
e.
Pengembangan
program
c.
Perawatan program
Biaya kompilasi
d.
Biaya pemiliharaan
b.
Biaya penciptaan
e.
Biaya eksekusi
c.
Biaya disain
System software
d.
Application software
b.
Program software
e.
Utility software
c.
Package software
6 tahap
d.
7 tahap
b.
4 tahap
e.
8 tahap
c.
5 tahap
Konstanta
d.
Argument
b.
Data
e.
Value
c.
Variable
e.
System software
d.
Application software
b.
Program software
e.
Utility software
c.
Package software
HIPO
d.
Flowchart
b.
Procedure
e.
Struktur Chart
c.
Normalisasi
Cin
d.
Variable
b.
&&
e.
++
c.
Operator
Object Oriented
d.
Interactive Oriented
b.
Program Oriented
e.
Data Orinted
c.
Bussiness Oriented
Design
d.
b.
Implementation
e.
c.
Maintenance
Planning
Analysis
2. Yang tidak termasuk langkah-langkah dalam merancang program dan merancang file adalah :
a. Menentukan banyaknya jumlah kebutuhan
data
b. Menentukan parameter dari program
3. Nama yang di buat pada saat file digambarkan dalam bentuk diagram
(normalisasi) adalah parameter file:
a.
Nama file
b.
Kode file
c.
Akronim file
d.
Organisasi file
e.
Type file
Absensi
Slip gaji
d.
Golongan
e.
Tunjangan
Laporan gaji
a.
Model Prototyping
b.
Model Waterfall
c.
Model Spiral
d.
Model Incremental
e.
Model RAD
6. Di bawah ini yang merupakan Akronim file dari system pengajian adalah:
a.
b.
c.
d.
Parameter gaji
e.
Pegawai.prg
Siswa01
7. Tidak bisa di lakukan pembacaan secara langsung, adalah ciri organisasi file:
a.
Index sequential
d.
Acak
b.
Sequential
e.
Index
c.
Random
8. Dalam model operasi file, pengaksesan sebuah file dengan tujuan untuk
mendapatkan informasi merupakan pengertian dari
a.
Insert
d.
Retrieaval
b.
Creation
e.
Maintenance
c.
Update
Tabel dosen
d.
b.
Tabel nilai
e.
c.
Table mahasiswa
Table matakuliah
Table karyawan
Pegawai.com
Pegawai.myd
d.
Pegawai.exe
e.
Pegawai.doc
Pegawai.xls
11. Pada metode file random,dapat terjadi munculnya alamat lebih dari satu kali
yang dapat di atasi dengan teknik:
a.
d.
Penyimpanan sekunder
b.
Overflow location
e.
Pengalamatan absolute
c.
Pengalamatan relative
12. Yang tidak termasuk kategori tipe file dinamik dalam sistem pengajian adalah:
a.
File gaji
d.
File golongan
b.
File transaksi
e.
File absensi_pegawai
c.
File laporan
13. Tahapan dalam SDLC yang bertujan untuk memastikan bahwa sistem yang
di gunakan oleh pihak pengguna benar-benar telah stabil dan terbebas dari
error dan bug, adalah:
a.
Analysis
d.
b.
Design
e.
c.
Implementation
Maintenance
Planning
14. Table yang digunakan untuk memperbarui table master dengan informasi
yang baru :
a.
Tabel output
d.
b.
Table kerja
e.
c.
Tabel pustaka
Tabel transaksi
Tabel referensi
15. Tahap dalam SDLC di mana sumber daya baru direncanakan dan tanpa dana
di sesuaikan untuk mendukung pengembangan sistem, adalah :
a.
b.
c.
Design
Planning
d.
Maintenance
e.
Implementation
Analysis
Table kerja
d.
b.
Table referensi
e.
c.
Table transaksi
Table dinamik
Table back-up
17. Model dalam SDLC yang di sebut linear sequintail model adalah:
a. Model waterfall
d. Model spiral
b. Model incremental
e. Model RAD
c. Model prototyping
Karakter
d.
Sector
b.
Record
e.
c.
Blok
19. Table yang di gunakan sebagai pelindung atau cadangan apabila table
master hilang adalah :
a.
Table pustaka
d.
b.
Table output
e.
Table history
Table back-up
c.
Table master
penyimpanan (storage)
data
e. Kemudahan peremajaan
(update/insert/delete)
21. Nama yang di buat untuk menyimpan source program adalah parameter
progam:
a.
Nama program
d.
b.
Organisasi program
e.
c.
Kode program
Fungsi program
Akronim
Nomor indeks
d.
Field kunci
b.
Record
e.
Data masukan
c.
Data akses
system)
25. Di bawah ini yang merupakan field key dari suatu table pegawai perusahaan
adalah:
a.
d.
b.
e.
c.
26. Salah satu kekurangan SDLC adalah hasil yang di peroleh sangat tergantung
dari hasil pada tahap
a.
design
d.
planning
b.
maintenance
c.
analysis
e.
implementasikan
27. Dalam system pengajian di kenal istilah batch, maksud dari istilah tersebut yang paling tepat
adalah
a.
d.
b.
e.
interaktif
c.
28. Table yang beri data di masa lalu yang di pakai sebagai bahan pengecekan
dan pencocokan ke validasi an data di masa mendatang adalah:
a.
table history
b.
table back-up
c.
table master
d.
table output
e.
table dinamik
kode file
d.
type file
b.
nama file
e.
organisasi file
c.
akronim file
PERTEMUAN 9
ALGORITMA UNTUK
MASALAH BISNIS
POKOK BAHASAN
1. Struktur Program
2. Struktur Chart
3. Membuat Laporan Dengan Page Break
4. Contoh Algoritma Penyelesaian
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
control_
total
2. MULTIPLE-LEVEL 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
HIERARCHY CHART MULTIPLE-LEVEL BREAK
Print_page
_headings
Reset_
major_control
_ total
Proceduce_
multiple_level
control_break
Process
_this_
records
Initialize
variable
_fields
Print_major
_control_
total
Print_minor
_control_
total
Accumulate_
control
Reset_
minor_control
_ total
Print_
detail_line
Print_
report_
total
CONTOH KASUS
HIERARCHY CHART
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
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
5. Cetak_Detail
Baris = baris +1
Cetak baris, NIP, Nama, Target, Realisasi, Komisi. Gaji_Pokok,
Total_gaji
END
SUBORDINATE MODUL (lanjutan)
6. Accumulate_total
Total = total + total_gaji
END
7. Cetak_total_Report
Cetak Total gaji Sales, total
Tutup File
END
SUBORDINATE MODUL (lanjutan)
TUGAS 6
Buatlah program lengkap dengan pseudocode dan
flowchart untuk menampilkan daftar gaji gaji karyawan,
dengan ketentuan sebagai berikut :
Kode
Jabatan
Jabatan Gaji
Pokok
Kode
Status
Status Tunjangan
1 Administrasi 800.000
M Menikah 200.000
S Single 100.000
2 Operasional 850.000
M Menikah 250.000
S Single 150.000
TUGAS 6 (lanjutan)
Jumlah Karyawan = .... <diinput>
Bulan
= ......... <diinput>
PERTEMUAN 10
PERANCANGAN
PROGRAM UNTUK
MASALAH BISNIS
POKOK BAHASAN
1. Teknik Perancangan Program
Berorientasi Bisnis
Teknik Perancangan File/ Database dalam
bentuk spesifikasi file
Teknik Perancangan Program dalam bentuk
spesifikasi program
2. Contoh kasus dan contoh penggunaan
teknik perancangan file dan program
TEKNIK PERANCANGAN PROGRAM
BERORIENTASI BISNIS
Berikut ini akan dijelaskan beberapa teknik
perancangan program di dalam sebuah
pemrograman terstruktur untuk mendukung
proses pembangunan/pengembangan sistem.
Teknik perancangan file/database dalam bentuk
spesifikasi file
Teknik perancangan program dalam bentuk
spesifikasi program
1. Teknik Perancangan File atau
Database
Adapun mengenai langkah-langkah di dalam perancangan
file tersebut adalah sebagai berikut:
1.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.
2.Menentukan parameter dari file yang akan dibuat.
Parameter yang dimaksud adalah elemen-elemen yang
menjelaskan spesifikasi singkat mengenai file.
Sekilas 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
Proses: Penghitungan Gaji, parameternya:
Tunjangan pegawai (dari status pegawai)
Nama File
: Tabel Anggota
: File Master
: MySQL
Tabel II.1
Tabel Anggota
No Elemen Data Akronim Tipe Panjang Ket
1 Nomor Anggota noang varchar 10 PK
2 Nama Anggota nama varchar 20
3 Jenis Kelamin jk varchar 1
4 Alamat alamat varchar 50
5 Pekerjaan pekerjaan varchar 15
6 Telepon telp varchar 15
7 Alamat Email email varchar 25
8 Tanggal Daftar tgldaftar Date 8
9 Tanggal Berlaku tglberlaku Date 8
10 Status status varchar 9
2. Spesifikasi Tabel Buku
Nama File
: Tabel Buku
Akronim File
Fungsi File
Tipe File
: tbl_buku.myd
: untuk menyimpan data buku perpustakaan
: File Master
Akses File
: Random
Media File
: Harddisk
: kdbuku
: MySQL
SPESIFIKASI FILE/DATABASE
(lanjutan)
No Elemen Data Akronim Tipe Panjang Ket
1 Kode Buku kdbuku varchar 7 PK
2 Judul Buku judul varchar 80
3 Pengarang pengarang varchar 20
4 Penerbit penerbit varchar 25
5 Tahun Terbit thnterbit year 4
6 Kota Terbit kota Varchar 15
7 Stok stok tinyint 2
8 Tanggal Entri tgl_entri Date 8
Tabel II.2
Tabel Buku
PENGKODEAN
Kode yang dibuat dalam pengkodean adalah field-field
yang dijadikan sebagai kunci primer (Primary Key/PK):
1.Nomor Anggota
2.Kode Buku
Catatan: Login tidak
perlu digambarkan di
dalam HIPO
Spesifikasi Program (Diagram
HIPO
Catatan: hanya no.5 yang dijelaskan dalam pertemuan ini
Spesifikasi Program dalam
perancangan program
Berdasarkan HIPO, spesifikasi program diantaranya:
1. Spesifikasi Program Menu Utama
2. Spesifikasi Program Data Anggota
3. Spesifikasi Program Data Buku
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 Transaksi
Peminjaman
Nama program
: Peminjaman
Akronim
: Peminjaman.vbp
Fungsi
Class Mobil
Class Mobil B7471UL B851OK
Variabel Instance
Warna Biru Merah
Tahun 2009 2008
Manufaktur Toyota Mitsubishi
Kecepatan 80 km/jam 60 km/jam
Method Instance Akseleration()
Stop()
Break()
Turn(direction)
STRUKTUR KELAS
Contoh kelas mobil Contoh Objek Mobil
Mobil
Warna
Tahun
Manufaktur
Kecepatan
+Akseleration()
+Turn(direction)
+Stop()
+Break()
Nama
Class
Atribut
Method
/behavior
B7471UL: Mobil
Biru
2009
Toyota
K80 km/jam
+Akseleration()
+Turn(direction)
+Stop()
+Break()
B851OK:Mobil
Merah
2008
Mitsubishi
60 km/jam
+Akseleration()
+Turn(direction)
+Stop()
+Break()
KARAKTERISTIK OBJEK
Attributes :
Warna, Tahun Produksi, Manufaktur,
kecepatan
Behavior/Tingkah Laku :
Akseleration(), Turn(direction),
Stop(), Break() dll
Identitas :
B7471UL
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.
ATRIBUT
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
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.
ATRIBUT (lanjutan)
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
TINGKAH LAKU
Method adalah serangkaian statements dalam
suatu class yang menghandle suatu task
tertentu.
Cara objek berkomunikasi dengan objek lain
adalah dengan menggunakan method.
TINGKAH LAKU (lanjutan)
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.
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()
KONSTRUKTOR (lanjutan)
Kata NEW menunjukkan pembuatan objek baru.
Nama kelas diawali dengan huruf besar . Contoh : Mobil,
Nama
Jabatan
createNew
getSalary
Apakah Mereka Memiliki Gaji
Yang Sama
Tetap
Kontrak
Honorer
Paruh Waktu
Outsourcing
CONTOH POLIMORFISME
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
KELEBIHAN PEMROGRAMAN
BERORIENTASI OBJEK
Menyediakan struktur modular yang jelas untuk program sehingga
bagus digunakan untuk mendefinisikan tipe data abstrak di mana
detil implementasinya tersembunyi.
Mempermudah dalam memelihara dan memodifikasi kode yang
sudah ada. Objek yang baru dapat dibuat tanpa mengubah kode
yang sudah ada.
Menyediakan framework untuk library kode di mana komponen
PERTEMUAN 12
TAHAPAN PERANCANGAN
BERORIENTASI OBJEK
POKOK BAHASAN
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 atau
menjalankan algoritma
IDENTIFIKASI KELAS, ATRIBUT,
RESPONSIBILITY DAN OPERASI
Sama seperti pendekatan topdown,
dicetak dan
+setPayRate()
+setHoursWorked
()
payRate Laporan validasi data +getValidInput(Val
idInput)
hoursWorked Hitung upah mingguan -setPay()
(mutator)
weeklyPay Cetak slip gaji untuk setiap
absen yang valid
+printPaySlip()
Payroll File data
absen
Baca file data absen +runTimeSheet()
+run()
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.
Payroll Payslip
Uses
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.
PERANCANGAN ALGORITMA UNTUK
OPERASI MENGGUNAKAN DESAIN
STRUKTUR (lanjutan)
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
ELSE payRate = inPayRate
END IF
END
PERANCANGAN ALGORITMA UNTUK
OPERASI MENGGUNAKAN DESAIN
STRUKTUR (lanjutan)
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
PERANCANGAN ALGORITMA UNTUK
OPERASI MENGGUNAKAN DESAIN
STRUKTUR (lanjutan)
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
PERANCANGAN ALGORITMA UNTUK
OPERASI MENGGUNAKAN DESAIN
STRUKTUR (lanjutan)
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
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
MENGEMBANGKAN TES ATAU
MENJALANKAN ALGORITMA (lanjutan)
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
Input Proses Output
Data Absen
empNumber
hoursWorked
payRate
Baca data absen
Buat payslip dari data
absen
Cetak paySlip yang valid
Cetak paySlip
Pesan kesalahan
untuk paySlip yang
tidak valid
MENGEMBANGKAN TES ATAU DRIVER
ALGORITMA (lanjutan)
Payroll
-timesheetFile
+run()
Payslip
empNumber
payRate
hoursWorked
validInput
weeklyPay
+setEmpNumber(EmpNumb
er)
+setpayRate(PayRate)
+setHoursWorked(HoursWo
rked)
-setPay()
+getValidInput(validInput)
+printPayslip
Uses
1..*
TUGAS 7
Sebuah sawah berbentuk segitiga dengan sisi-sisinya
sebesar 5 m dan 7 m. Pemilik sawah akan memberi pupuk
pada sawah tersebut. Berapa kebutuhan pupuk apabila
dibutuhkan 3 kg/m2.
Catatan Tugas :
Tugas dibuat pada kertas folio bergaris dengan
menggunakan bolpoint.
Tugas dikumpulkan pada saat pertemuan 13. Bagi
mahasiswa yang tidak mengumpulkan tugas maka tidak
mendapat nilai tugas 7 (tidak ada sistem susulan).
PERTEMUAN 13
PERANCANGAN
BERORIENTASI OBJEK
UNTUK MULTI KELAS
POKOK BAHASAN
1. Pendahuluan
2. Hubungan Antar Kelas
3. Inheritansi
4. Polimorfisme
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.
NOTASI
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.
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.
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.
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.
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.
atau
ASOSIASI (lanjutan)
9
ASOSIASI (lanjutan)
ASSOCIATIONS
class Association
stered Trial Version EA 9.0 Unregistered Trial Version
stered Trial Version EA 9.0 Unregistered Trial Version
stered Trial Version EA 9.0 Unregistered Trial Version
stered Trial Version EA 9.0 Unregistered Trial Version
stered Trial Version EA 9.0 Unregistered Trial Version
stered Trial Version EA 9.0 Unregistered Trial Version
stered Trial Version EA 9.0 Unregistered Trial Version
stered Trial Version EA 9.0 Unregistered Trial Version
stered Trial Version EA 9.0 Unregistered Trial Version
stered Trial Version EA 9.0 Unregistered Trial Version
AB
1
+b
1
public class A {
public B b;
public A(){
}
}
public class B {
public B(){
}
}
AGREGASI
Agregasi adalah hubungan suatu kelas yang
PERTEMUAN 14
IMPLEMENTASI ALGORITMA
KE DALAM BAHASA
PEMROGRAMAN
BERORIENTASI OBJEK
POKOK BAHASAN
1. Bahasa Pemrograman Yang Mendukung
OOP
2. Implementasi OOP dengan C++
3. Implementasi OOP dengan Java
BAHASA PEMROGRAMAN
BERORIENTASI OBJEK
Bahasa pemrograman yang mendukung OOP
antara lain:
1. SmallTalk
2. C++
3. Java, dll
SMAL TALK
Smalltalk adalah bahasa pemrograman
berorientasi objek yang pertama kali populer .
Smalltalk dikembangkan di Xerox PARCAmerika Serikat.
Ide dasar Smalltalk meliputi:
1. Semua adalah objek
: <<merk<<endl;
cout<<Tahun
: <<tahun<<endl;
: <<warna<<endl;}
int main()
{
MOTOR M; //instansiasi thdp kelas MOTOR
M.SetMotor();
M.ShowInfoMotor();
return 0;
}
IMPLEMENTASI ALGORITMA
DENGAN BAHASA C++
class Mobil{
String warna;
int tahunProduksi;
void PrintMobil(){
System.out.println("Warna: " +
warna);
System.out.println("Tahun: " +
tahunProduksi);
}}
public class MobilBeraksi {
public static void main(String[]
args){
// Membuat object
Mobil mobilku = new Mobil();