Kelompok 3 :
1. Andry Kurniawan 3. Iding Jaenal Abidin
2. Dede Mardiana Edhar 4. Rizal Satriawan
Materi Pembahasan
Pemodelan Perangkat Lunak | Basis Data | Pemograman Berorientasi Objek
Pemograman Web dan Perangkat Bergerak
MATERI PEMBELAJARAN KONSEP PEMODELAN
MATA PELAJARAN REKAYASA PERANGKAT LUNAK
B. Pendekatan Objek
Suatu teknik atau cara pendekatan baru dalam melihat
permasalahan dari sistem (sistem perangkat lunak, sistem
informasi, atau sistem lainnya).
Pendekatan berorientasi objek akan memandang sistem yang
akan dikembangkan sebagai suatu kumpulan objek yang
berkorespondensi dengan objek-objek dunia nyata.
Ada banyak cara untuk mengabstraksikan dan memodelkan
objek-objek tersebut, mulai dari abstraksi objek, kelas,
hubungan antar kelas sampai abstraksi sistem.
Saat mengabstraksikan dan memodelkan objek ini, data dan
proses-proses yang dipunyai oleh objek akan dienkapsulasi
(dibungkus) menjadi satu kesatuan.
Contoh:
Tinjau aktivitas kuliah pada suatu sistem akademik sebagai
berikut:
D. Teknik Pemodelan
Teknik pemodelan objek menggunakan tiga macam model untuk
menggambarkan sistem. Ketiga model tersebut sebagai berikut :
1. Model Objek. Model objek menggambarkan struktur statis dari
suatu objek dalam sistem dan relasinya. Contohnya : diagram
objek.
2. Model Dinamik. Model dinamik menggambarkan aspek dari
sistem berubah setiap saat yang digunakan untuk menyatakan
aspek control dari sistem. Contohnya : state diagram
3. Model Fungsional. Model fungsional mengambarkan
transformasi nilai data di dalam sistem. Contohnya : Flow
diagram
E. Property Objek
Sebuah objek pada dasarnya mempunyai property sebagai berikut:
Atribut
Nilai atau elemen-elemen data yang dimiliki oleh objek dalam
kelas objek.
Merupakan ciri dari sebuah objek
Dipunyai secara individual oleh sebuah objek.
Contoh: berat, warna, jenis, nama, dan sebagainya.
Layanan (Service)
Metode atau operasi yang berfungsi untuk memanipulasi objek
itu sendiri.
Fungsi atau transformasi yang dapat dilakukan terhadap objek
atau dilakukan oleh objek.
Dapat berasal dari: - model objek - event - aktivitas atau aksi
keadaan - fungsi - kelakuan dunia nyata
Contoh: Read, Write, Move, Copy dan sebagainya.
C. Artifak UML
UML menyediakan beberapa notasi dan artifak standar yang dapat
digunakan sebagai alat komunikasi bagi para pelaku dalam proses
analisis dan desain sistem. Artifak dalam UML didefinisikan
sebagai informasi dalam berbagai bentuk yang digunakan atau
dihasilkan dalam proses pengembangan software. Terdapat
beberapa artifak utama dalam UML, yaitu :
1. Use Case Diagram. Diagram yang menggambarkan actor, use
case dan relasinya
2. Class Diagram. Diagram untuk menggambarkan kelas dan relasi
diantara kelas-kelas tersebut
3. Behaviour Diagram, yang terdiri dari :
a. Activity Diagram Menggambarkan aktifitas-aktifitas, objek,
state, transisi state dan event
b. Collaboration Diagram Menggambarkan objek dan relasinya,
termasuk struktur perubahannya yang disebabkan oleh
adanya suatu message
c. Sequence Diagram Menggambarkan objek dan relasinya
termasuk kronologi (urutan) perubahan secara logis setelah
menerima sebuah message
d. Statechart Diagram Menggambarkan state, transisi state dan
event
4. Implementation Diagram, terdiri dari :
a. Component Diagram Menggambarkan komponen dan relasi
antara komponen tersebut
b. Deployment DIagram Menggambarkan komponen, titik awal
dan relasi antara komponen tersebut
Operasional dasar
Prinsip terkait parameter pemodelan perangkat lunak
berorientasi obyek.
Pemahaman Awal
Untuk dapat memahami UML, diperlukan pemahaman terkait
konsep bahasa pemodelan dan tiga elemen utama UML, yaitu
sebagai berikut :
A. Building blocks
Building blocks terdapat beberapa bagian seperti objek.
Object /Things merupakan bagian paling statis dari sebuah
model yang menjelaskan elemen-elemen lain sebuah konsep
bentuk dari beberapa objek.
Bentuk dari beberapa objek, yaitu sebagai berikut :
1. Classss, merupakan sekelompok dari objek yang
mempunyai atribu, operasi dan hubungan sematik.
2. Interfaces, antarmuka yang menghubungkan dan
melayani antarclass dan atau elemen, sert mendefinisikan
sebuah kelompok dan spesifikasi pengoperasian.
3. Collaborasion, didefinisikan dengan interaksi dan sebuah
kumpulan/ kelompok dari kelas-kelas/elemen-elemen
yang bekerja secara bersama-sama.
4. Use Case, rangkaian/uraian sekelompok yang saling
terkait dan membentuk sistem secara teratur yang
dilakukan atau diawasi oleh sebuah aktor.
5. Nodes, merupakan fisik dari elemen-elemen yang ada
pada saat dijalankannya sebuah sistem, contohnya
adalaha sebuah komputer, umumnya mempunyai
sedikitnya memory dan processor.
B. Hubungan/ Relasionship
Ada 4 macam hubungan didalam penggunaan UML, yaitu;
1. Dependency, hubungan semantik antara dua object/things
yang mana sebuah benda berubah mengakibatkan benda
satunya akan berubah pula.
2. Association, hubungan antar benda struktural yang
terhubung diantara obyek. Kesatuan obyek yang terhubung
merupakan hubungan khusus, yang menggambarkan sebuah
hubungan struktural diantara seluruh atau sebagian.
3. Generalization, hubungan khusus dalam obyek anak/child
yang menggantikan obyek parent/ induk. Dalam hal ini,
obyek anak memberikan pengaruhnya dalam hal struktur
dan tingkah lakunya kepada obyek induk.
4. Realization. hubungan semantik antara pengelompokkan
yang menjamin adanya ikatan diantaranya. Hubungan ini
dapat diwujudkan diantara interface dan kelas atau
elements, serta antara use cases dan collaborations.
C. Bagan/ Diagram
UML sendiri terdiri atas pengelompokkan diagram-diagram
sistem menurut aspek atau sudut pandang tertentu. Diagram
adalah yang menggambarkan permasalahan maupun solusi
dari permasalahan suatu model. UML mempunyai 9 diagram,
yaitu; use-case, class, object, state, sequence,
collaboration, activity, component, dan deployment
diagram.
Diagram pertama adalah use case menggambarkan
sekelompok use cases dan aktor yang disertai dengan
hubungan diantaranya. Diagram use cases ini menjelaskan
dan menerangkan kebutuhan / requirement yang
diinginkan/ dikehendaki user/pengguna, serta sangat
berguna dalam menentukan struktur organisasi dan model
dari pada sebuah sistem.
BASIS DATA
Basis data merupakan kumpulan data, yang mendeskripsikan aktivitas suatu organisasi
yang saling berhubungan atau lebih. Misalkan sebuah rumah sakit yang mungkin berisi
informasi sebagai berikut: Entitas seperti dokter, suster, pegawai RS, pasien, obat dan
informasi lainnya. Hubungan antara entitas, contohnya adalah relasi periksa antara dokter
dengan pasien, relasi pengobatan antara pasien dengan obat dan relasi lainnya yang
mungkin terjadi dari hubungan antara 2 relasi atau lebih.
Struktur hirarki sebuah database dapat digambarkan dalam diagram hirarki begai berikut :
Berkas
Skema basis data merupakan diskripsi dari basis data yang spesifikasinya ditentukan
dalam tahap perancangan. Skema ini digunakan untuk memisahkan antara fisik basis
data dan program aplikasi pemakai. Penggambaran skema bsisi data biasanya
ditampilkan dalam diagram yang berisi sebagian detail data dari diskripsi basis data.
Secara umum arsitektur basis data menggunakan arsitektur tiga skema yang meliputi
tiga level yaitu:
1. Level Internal atau skema internal. Level ini mendifinisikan secara detail
penyimpanan basis data dan pengaksesan data. Pada level ini memuat diskripsi
struktur penyimpanan basis data, menggunakan model data fisikal.
2. Level Konseptual (skema konseptual), memuat diskripsi struktur basis data seara
keseluruhan untuk semua pemakai. Level ini memuat diskripsi tentang entity,
atribut, relasi dan konstrain tanpa memuat diskripsi data secara detail.
3. Level eksternal (skema eksternal atau view), mendefinisikan pandangan data
terhadap sekelompok pemakai(local view) dengan menyembunyikan data lain yang
tidak diperlukan oleh kelompok pemakai tersebut.
C. Pemodelan Data
Pemodelan data merupakan sarana untuk melakukan abstraksi data. Merupakan
sejumlah konsep untuk membuat diskripsi stuktur basis data. Kebanyakan model data
memuat spesifikasi untuk operasi dasar (basic operation) dalam pengaksesan dan
pembaharuan data. Pada perkembangan terakhir dikenal dengan istilah tabiat data
(data behavior) pada pemrograman berorientasi object. Terdapat sejumlah cara dalam
merepresentasikan model dalam perancangan basis data. Secara umum pemodelan
data dapat dikelompokkan menjadi dua yaitu:
1. Object based logical model. Dalam pemodelan ini struktur atau hirarki basis data
diilustrasikan berdasarkan object. Model ini meliputi: 1) Model keterhubungan
entitas (Entity Relationalship Model atau ERD). 2) Model berorientasi object
(Object-Oriented Model). 3) Model Data Semantik(Semantic Data Model). 2) Model
data Fungsional (Function Data Model).
2. Record-based logical model. Dalam model ini struktur basis data diilustrasikan
berdasarkan record. Model ini meliputi: 1) Model relational (Relational Model). 2)
Model Herarkis (Hierarchical Model) 3) Model Jaringan (Network Model).
Notasi entitas kuat (kotak satu) dan entitas lemah kotak dua
Superkey adalah satu atau gabungan beberapa atribut yang dapat membedakan
setiap baris data dalam sebuah tabel secara unik. Misalnya superkey untuk entitas
pegawai antara lain: 1) NoKTP, Nama, Alamat, JenisKel, Gaji. 2) NoKTP, Nama,
Alamat, JenisKel. 3) NoKTP, Nama, Alamat. 4) NoKTP, Nama. 5) Nama (jika dapat
dijamin kalau tidak ada nama yang sama antara satu baris dengan baris yang lain).
6) NoKTP
Candidat Key adalah merupakan superkey yang jumlah atributnya paling sedikit.
Misalnya candidat key untuk entitas pegawai antara lain:
1) Nama (jika dapat dijamin kalau tidak ada nama yang sama antara satu baris
dengan baris yang lain)
2) NoKTP
Primary key adalah suatu candidat key yang dipilih menjadi kunci utama karena
sering dijadikan acuan untuk mencari informasi, ringkas, menjadi keunikan suatu
baris. Misalnya NoKTP antara satu pegawai dengan pegawai lain pasti berbeda,
dalam hal ini noKTP dapat digunakan sebagai suatu key. Gambar diatas
menjelaskan simbol atau notasi primary key.
Tujuan Pembelajaran
Setelah mengikuti kegiatan belajar satu ini siswa diharapkan dapat:
1) Memahami paradigma pemrograman berorientasi obyek
2) Menganalisis perbandingan pemrograman prosedural dan pemrograman
berorientasi obyek
Ide dasar pada bahasa berorientasi obyek (PBO) adalah mengkombinasikan data dan fungsi
untuk mengakses data menjadi sebuah kesatuan unit. Unit ini di kenal dengan nama obyek.
Obyek sebenarnya mencerminkan pola kerja manusia dalam kehidupan kerja sehari-hari.
Sebuah obyek dapat diibaratkan sebagai departemen di dalam sebuah perusahaan bisnis.
Contoh departemen:
Penjualan
Akuntan
Personalia
Obyek
Has Behavior (because Object has Method), yaitu object itu mempunyai prilaku atau
sifat-sifat yang khusus
Has State (because Object has instance parameter), object mempunyai ukuran yang
baku.
Dalam suatu sistem yang komplek seperti dalam proyek manajemen sering kita jumpai
objek-objek suatu kelas mempunyai relasi/hubungan dengan object-object dikelas yang lain.
Secara umum relasi object dapat dibedakan menjadi tiga dasar hubungan yaitu :
Is-a (Generalization, Realization: Inheritance).
Has-a (Association).
Others (Association , Dependency)
Karakteristik Obyek
Untuk lebih jelasnya karakteristik objek tersebut dijelaskan sebagai berikut :
Suatu contoh: Singa merupakan obyek dari binatang buas, Manusia merupakan
obyek dari makhluk hidup ciptaan Allah SWT, keyboard merupakan objek dari
perangkat keras komputer, mobil merupakan objek dari alat transportasi. Setiap
objek mempunyai sifat yang melekat pada identitasnya, sehingga dua objek dapat
berbeda walaupun bila semua nilai atributnya identik. Lebih jelasnya lihat gambar
3.
Objek didunia nyata sangatlah sederhana, tetapi dalam pemrograman mempunyai
penanganan yang unik dan tidak sederhana di dunia nyata. Penanganannya bisa
saja dinyatakan dengan beberapa cara, seperti alamat, indeks, dari array atau
nilai unik dari atribut. Referensi objek seragam dan independen dari sisi objek,
memperbolehkan campuran kumpulan dari objek yang dibuat, seperti file dalam
direktori yang berisi file dan subdirektori.
Klasifikasi berarti suatu kegiatan mengumpulkan data (atribut) dan prilaku (operasi)
yang mempunyai struktur data sama ke dalam satu grup yang
disebut kelas. Sesuai dengan contoh di atas maka hewan buas, makhluk hidup,
komputer, dan alat transportasi adalah contoh dari kelas.
Kelas menunjukkan abstraksi yang menjelaskan sifat penting pada suatu aplikasi
dan mengabaikan yang lain. Setiap kelas menunjukkan suatu kumpulan infinite
yang mungkin dari objek. Suatu obyek dapat dikatakan sebagai instans dari kelas.
Setiap instans dari kelas mempunyai nilai individu untuk setiap nama atribut dan
operasi, tetapi memiliki bersama atribut dan operasi dengan instans lain dalam
kelas. Gambar di bawah ini menunjukkan dua kelas dengan beberapa instans yang
berhubungan dengannya.
Objek Mobil Kelas Mobil
Attribut
- Bahan Bakar
- Roda
- Kecepatan
Operasi
- Mogok
- Berjalan
- Diperbaiki
Dalam dunia nyata, suatu operasi adalah suatu abstrak dari analogi prilaku
terhadap obyek-obyek yang berbeda. Setiap objek mengetahui bagaimana
melakukan operasinya. Dalam bahasa pemrograman berorientasi objek, secara
otomatis bahasa akan memilih metode yang tepat untuk menjalankan operasinya
berdasarkan nama dimana dilakukan operasi terhadapnya. Pengguna dari operasi
tidak perlu khawatir berapa banyak metoda yang terdapat dalam implementasi.
Kelas baru dapat ditambahkan tanpa mengubah code yang sudah ada, melengkapi
metoda adalah melengkapi operasi yang dapat dilakukan terhadap kelas baru.
2) Perbandingan Pemrograman Berorientasi Obyek dengan Pemrograman
Terstruktur
Paradigma bahasa pemrograman memberikan model untuk programmer dalam
menulis listing program. Paradigma perbedaan dalam bahasa pemrograman
sebagai berikut :
Pemrograman tidak terstruktur
Pemrograman Terstruktur
Program ini dibagi menjadi
modul dan modul tersebut
kemudian dibagi menjadi
fungsi.
Penggunaan Pernyataan go to
dihapus atau dikurangi.
Setiap modul dapat bekerja
independen satu sama lain.
kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur)
tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut.
Sedangkan untuk pemrograman terstruktur, menggunakan prosedur/tata cara yang
teratur untuk mengoperasikan data struktur. Untuk tata nama, keduanya pun memiliki
tatanan yang sama walaupun memiliki pengertian tersendiri.
Pemrograman prosedural akan dikatakan lebih baik apabila dalam segala situasi
melibatkan kompleksitas moderat atau yang memerlukan signifikan kemudahan
maintainability. Manfaat yang dirasakan dalam penggunaan pemrograman prosedural
adalah kemampuan kembali menggunakan kode yang sama tanpa menggunakan
kode yang berbeda ataupun mengkopinya kembali. Dengan menggunakan “goto”,
memudahkan programmer melacak kumpulan data sehingga menghindarkan
pemrograman terstruktur menjadi seperti spagethii code.
KOMPETENSI DASAR:
World Wide Web secara luas lebih dikenal dengan istilah Web. Web pertama kali
diperkenalkan pada tahun 1992. Hal ini sebagai hasil usaha pengembangan yang dilakukan
CERN di Swiss. Internet dan web adalah dua hal yang berbeda. Internet lebih merupakan
perangkat keras, sedangkan web adalah perangkat lunak. Selain itu, protokol yang dipakai
oleh keduanya juga berbeda. Internet menggunakan TCP/IP sebagai protokol
operasionalnya, sedangkan web menggunakan HTTP (Hyper Text Transfer Protocol).
Web disusun dari halaman-halaman yang menggunakan teknologi web dan saling berkaitan
satu sama lain. Suatu standar teknologi web saat ini sudah tersusun, meskipun
penerapannya belum didukung oleh seluruh pengembang web. Standar ini disusun oleh
suatu badan yaitu World Wide Web Consortium (W3C). Standar ini dibutuhkan karena
semakin banyaknya variasi dalam teknologi web sehingga terkadang satu sama lain tidak
kompatibel.
Proses pengaksesan suatu web yaitu klien melakukan permintaan suatu halaman web
kepada server, kemudian server akan mencari halaman yang diminta dan
mengembalikannya dalam bentuk kode kode HTML. Kode-kode HTML ini akan
didownload oleh komputer klien dan kemudian akan diterjemahkan oleh browser
menjadi suatu tampilan halaman web.Aplikasi web dibangun oleh 2 jenis scripting yaitu
sebagai berikut:
1. Server Side Scripting Pemrograman dari sisi server maksudnya adalah membuat
kode-kode program yang hanya dieksekusi di server menjadi bentuk tag-tag HTML
untuk dikirim ke klien. Tag-tag inilah yang akan diterjemahkan oleh browser klien
menjadi halaman web. Kode-kode program ini tidak akan kelihatan di klien.Contoh
bahasa pemrograman dari sisi serveryaitu seperti PHP, ASP, JSP dan
lainnya.Bahasa pemrograman ini digunakan untuk membuat suatu halaman web
menjadi dinamis.
2. Client Side Scripting Pemrograman web dari
sisi klien maksudnya adalah membuat kode-
kode program yang dieksekusi di klien
khususnya oleh browser.Kode-kode
program ini bisa dilihat oleh klien.Contoh
bahasa pemrograman dari sisi klien yaitu HTML, javascript, CSS. HTML adalah tag-
tag yang diterjemahkan oleh browser untuk membentuk secara visual suatu
halaman web. HTML sekarang dikembangkan menjadi eXtensible HyperText
MarkupLanguage (XHTML), sebuah versi yang lebih matang dan stabil. XHTML
datang bersama beberapa cara dan pemikiran yang baru mengenai tag dalam
halaman web. Aturan aturan dalam XHTML lebih ketat dibandingkan HTML dari segi
cara penulisan.XHTML dapat merupakan perpaduan antara HTML dan XML
karenamerupakan formulasi ulang HTML dalambentuk XML.
Sekarang ini, XHTML menjadi standar suatu web berdasarkan rekomendasi. W3C
(World Wide Web Consortium). CSS dan javascript adalah bahasa program untuk
membuat tampilan web menjadi interaktif.CSS dan javascript disisipkan di antara
sintaks HTML.Berbagai contoh aplikasi web yaitu seperti mesin pencari atau search
engine (google, yahoo), took online (amazon), situs berita (detikcom), layanan
akademis perguruan tinggi (website IT Telkom) dan lain-lain.