Selasa, 30 November 2021

PERANCANGAN APLIKASI WEB

 LANGKAH-LANGKAH WEB DESAIN

  • Perancangan Isi

Dikembangkan selama tahapan analisis, dilakukan sebagai basis untuk penetapan objek-objek

  • Perancangan Estetika (Perancangan Grafis)

Membuat tampilan yang akan dilihat oleh user

  • Perancangan Arsitektural

Fokus pada struktur hypermedia untuk semua objek isi dan untuk semua fungsi pada aplikasi web

  • Perancangan Antarmuka

Menentukan tampilan dan mekanisme interaksi yang mendefinisikan user interface

  • Perancangan Struktur Navigasi

Mendefinisikan bagaimana end user melakukan penelusuran untuk melintasi hypermedia

  • Perancangan Komponen

Merepresentasikan rincian struktur elemen-elemen fungsional aplikasi web


SIFAT-SIFAT APLIKASI WEB

  1. Kepadatan jaringan
  2. Keserempakan
  3. Jumlah pengguna yang tidak dapat diprediksi
  4. Kinerja
  5. Ketersediaan
  6. Digerakkan oleh data
  7. Peka terhadap isi
  8. Evolusi yang berkesinambungan
  9. Kesegeraan
  10. Keamanan
  11. Estetika

KUALITAS PERANCANGAN APLIKASI WEB

Atribut Kualitas:
  • Keamanan
Kemampuan aplikasi web dan lingkungan server untuk mencegah akses yang tidak sah, dan mencegah serangan-serangan yang berasal dari luar.
  • Ketersediaan
Pengukuran atas persentase waktu yang tersedia bagi aplikasi web untuk dapat digunakan oleh user.
  • Skalabilitas
Aplikasi web mampu mengakomodasi kebutuhan terhadap jumlah end user yang semakin bertambah
  • Waktu untuk masuk ke pasar
Ditinjau dari sudut pandang bisnis


KUALITAS APLIKASI WEB
  • Kemudahan Penggunaan
  1. Kemudahan pemahaman situs global
  2. Umpan balik dari user dan fitur-fitur bantuan
  3. User interface dan fitur-fitur estetika
  4. Fitur-fitur khusus
  • Fungsionalitas
  1. Kemampuan pencarian dan penerimaan
  2. Fitur-fitur navigasi dan perambahan (browsing)
  3. Fitur-fitur aplikasi yang berhubungan dengan lingkungan
  • Keandalan
  1. Pembetulan pemrosesan tautan (link)
  2. Pemulihan dari kesalahan
  3. Validasi dan pemulihan pada user
  • Efisiensi
  1. Kinerja waktu tanggap aplikasi web
  2. Kecepatan pembentukan halaman-halaman
  3. Kecepatan penggambaran grafik-grafik
  • Kemudahan Pemeliharaan
  1. Kemudahan untuk dilakukan koreksi
  2. Keamanan aplikasi web untuk beradaptasi
  3. Kemudahan aplikasi web untuk dikembangkan

PERANCANGAN ANTARMUKA

    Salah satu tantangan membuat user interface adalah bagaimana caranya user masuk ke aplikasi. Sasaran-sasaran user interface adalah untuk:
  1. Menetapkan suatu jendela yang konsisten untuk meletakkan isi-isi dan fungsionalitas yang disediakan oleh user interface
  2. Memandu user melalui serangkaian interaksi dengan aplikasi web yang dikembangkan
  3. Mengorganisasikan pilihan-pilihan navigasi dan isi-isi yang dapat dilihat user yang dapat berupa menu navigasi, icon grafis, dan gambar-gambar grafis
PERANCANGAN ESTETIKA

    Sering juga disebut Perancangan Grafis, yang merupakan tambahan artistik yang sering digunakan untuk melengkapi aspek-aspek teknis dari perancangan aplikasi web.

Tata letak yang baik pada perancangan interface:
  1. Jangan mengisi bagian dari halaman web dengan informasi yang akhirnya sulit untuk mengidentifikasi informasi tersebut
  2. Lakukan penekanan pada isi yang merupakan alasan utama bagi user untuk masuk ke aplikasi web
  3. Lakukan pengelompokkan fitur navigasi, isi, dan fungsi
  4. Jangan perluas bagian aplikasi dengan penggunaan scrollbar, sebaiknya kurangi isi yang jumlahnya banyak
  5. Sesuaikan resolusi layar dan ukuran jendela browser

PERANCANGAN ISI

    Hubungan objek isi dengan objek isi lainnya adalah sebagai bagian dari suatu model kebutuhan untuk aplikasi web. Permasalahan yang terjadi pada perancangan isi jika jumlah objek isi yang digabungkan untuk membentuk halaman web tunggal merupakan fungsi dari kebutuhan user, yang dibatasi oleh kecepatan pengunduhan koneksi ke internet, juga dibatasi oleh besarnya ukuran jendela monitor yang digunakan user.

PERANCANGAN ARSITEKTURAL

    Perancangan arsitektur web terkait dengan sasaran untuk aplikasi web, terkait dengan isi yang akan
ditampilkan, user, dan navigasi. Arsitektur isi pada umumnya fokus pada bagaimana objek-objek isi distrukturkan agar layak untuk dipresentasikan kepada user dan menarik untuk ditelusuri. Aplikasi web distrukturkan untuk dapat mengelola interaksi user dengan aplikasi web, bagaimana menangani pekerjaan proses internal bagaimana melakukan pengaturan navigasi, serta bagaimana menampilkan isinya.

  • Arsitektur Isi
  1. Struktur Linier: dilakukan saat interaksi user dengan aplikasi web secara umum memperlihatkan urutan yang dapat diramalkan. Contoh: urutan pemasukan pemesanan produk dimana informasi tertentu harus dalam urutan yang bersifat spesifik.
  2. Struktur Grid: arsitektur yang diterapkan saat isi aplikasi web dapat diorganisasikan menjadi 2 dimensi atau lebih. Dimensi horizontal merepresentasikan jenisjenis produk, dan dimensi vertikal merepresentasikan penawaran yang disediakan oleh penjualnya.
  3. Struktur Hirarki: rancangan dimungkinkan adanya pencabangan hypertext (aliran kendali) secara horizontal bergerak melintasi cabang-cabang vertikal pada struktur aplikasi web.
  4. Struktur Jaringan (Web Murni): struktur ini dapat digabungkan untuk membentuk struktur-struktur yang bersifat komposit.
  • Arsitektur Aplikasi Web
    Mendeskripsikan infrastruktur yang memungkinkan sistem atau aplikasi berbasis web untuk mencapai sasaran-sasaran bisnisnya. Arsitektur aplikasi web dibuat dalam 3 lapisan yang
bertujuan untuk memisahkan antarmuka dari mekanisme navigasi dan dari perilaku yang dimiliki oleh aplikasi. Hal ini akan menyederhanakan implementasi aplikasi web dan akan meningkatkan penggunaan ulang komponen-komponennya.

Aristektur MVC (Model View-Controller) secara fungsional dijelaskan sebagai berikut:
  1. Pengendalian: mengelola akses ke model, ke view dan melakukan koordinasi aliran data di antara model dan view.
  2. Model: memuat semua isi yang bersifat spesifik terhadap aplikasi dan memuat logika pemrosesan, termasuk di dalamnya semua objek isi.
  3. View: memuat semua fungsi yang bersifat spesifik terhadap user interface yang di dalamya termuat presentasi isi dan logika pemrosesan, objek isi, akses ke data dan ke sumber informasi lainnya, dan semua fungsionalitas pemrosesan yang diperlukan end user.

Rabu, 24 November 2021

REKAYASA PERANGKAT LUNAK (DESAIN ARSITEKTUR)

KONSEP DESAIN ARSITEKTUR

    Perancangan arsitektur merupakan tahap pertama dalam proses perancangan PL, yang dimulai dengan perancangan data kemudian berlanjut pada penurunan satu atau lebih struktur arsitektural sistem. Arsitektur sistem/PL adalah struktur sistem/PL yang menggabungkan komponen PL, menggabungkan properti yang tampak dari komponen tersebut, dan mendeskripsikan hubungan antar komponen. Output dari perancangan arsitektur berupa model arsitektur yang menggambarkan bagaimana sistem diatur sebagai satu set komponen yang saling berkomunikasi.

ARSITEKTUR PERANGKAT LUNAK

    Arsitektur perangkat lunak mencakup:

  1. Komponen bangunan yang berbeda dapat diintegrasikan menjadi suatu bentuk keseluruhan yang bersifat kohesif
  2. Bangunan yang dibuat sesuai dengan lingkungannya
  3. Bangunan yang dibangun sesuai dengan kegunaannya
  4. Tekstur, warna dan material pembentuknya dikombinasikan untuk membuat tampilan yang bagus
  5. Perancangan pencahayaan, template, dan garis batas
  6. Merupakan suatu bentuk seni
TAMPILAN ARSITEKTURAL

    Tampilan arsitektural antara lain:

  • Tampilan Logis
Abstraksi dalam sistem sebagai objek atau kelas objek.
  • Tampilan Proses
Menunjukkan bagaimana (pada saat run-time) sistem terdiri dari proses yang saling berinteraksi.
  • Tampilan Pengembangan
PL diuraikan untuk pengembangan, yaitu menunjukkan detail dalam komponen yang akan diimplementasikan oleh pengembang tunggal atau tim pengembang.
  • Tampilan Fisik
Menunjukkan perangkat keras sistem dan bagaimana komponen PL didistribusikan di seluruh sistem.

GAYA ARSITEKTUR

    Gaya arsitektur mendeskripsikan kategori sistem yang mencakup:

  • Kumpulan komponen, seperti sistem basis data dan modul-modul yang melaksanakan fungsi tertentu yang diperlukan oleh sistem
  • Penghubung (konektor) yang memungkinkan komunikasi, koordinasi, dan kerja antar komponen
  • Batasan yang mendefinisikan bagaiman komponen dapat iintegrasikan untuk membentuk suatu sistem/PL
  • Model semantik yang memungkinkan perancang sistem memahami properti keseluruhan sistem
POLA ARSITEKTUR

A. Lapisan Arsitektur (Layered Architecture)

  • Pemahaman tentang pemisahan dan independensisangat penting untuk desain arsitektur karena memungkinkan perubahan secara lokal.
  • Menambahkan tampilan baru atau mengubah tampilan yang ada dapat dilakukan tanpa perubahan apa pun pada data dalam model.
Gambar Generik Arsitektur Lapisan

  1. Lapisan atas menyediakan fasilitas antarmuka pengguna
  2. Lapisan aplikasi: komponen fungsionalitas aplikasi dan komponen utilitas
  3. Lapisan ketiga: manajemen antarmuka pengguna dan menyediakan otentikasi dan otorisasi pengguna
  4. Lapisan terendah: PL pendukung sistem (basis data dan OS)
Pola Arsitektur Berlapis
  1. Deskripsi: mengatur sistem ke dalam lapisan dengan fungsi terkait. Lapisan menyediakan layanan ke lapisan di atasnya sehingga lapisan tingkat terendah mewakili layanan inti yang kemungkinan akan digunakan di seluruh sistem.
  2. Contoh: sebuah model berlapis dari suatu sistem untuk berbagi dokumen hak cipta yang disimpan di media penyimpanan.
  3. Saat digunakan: saat membangun fasilitas baru di atas sistem yang ada, ketika pengembangan tersebar di beberapa tim dengan tanggung jawab masing-masing tim, ketika ada persyaratan untuk keamananmulti-level.
  4. Keuntungan: memungkinkan penggantian seluruh lapisan selama antarmuka dipertahankan. Fasilitas redundan (misal otentikasi) dapat disediakan di setiap lapisan untuk meningkatkan keandalan sistem.
  5. Kerugian: lapisan tingkat tinggi mungkin harus berinteraksi langsungdengan lapisan tingkat yang lebih rendah daripada melalui lapisan tepat dibawahnya. Kinerja dapat menjadi masalah karena beberapa tingkat interpretasi permintaan layanan diproses pada setiap lapisan.
Contoh arsitektur lapisan, dengan lapisan bawah menjadi basis data individual di setiap pustaka pada Sistem Perpustakaan

B. Arsitektur Repositori (Repository Architecture)
  • Bagaimana satu set komponen yang saling berinteraksi dapat berbagi data.
  • Model ini cocok untuk aplikasi di mana data dihasilkan oleh satu komponen dan digunakan oleh yang lain 
  • Tidak perlu mentransmisikan data secara eksplisit dari satu komponen ke komponen lainnya.
  • Tetapi komponen harus beroperasi di sekitar model data repositori yang disepakati.
  • Pola repositori berkaitan dengan struktur statis dari suatu sistem dan tidak menunjukkan organisasi run-time.
Repositori Arsitektur
  1. Deskripsi: semua data dalam sistem dikelola di repositori pusat yang dapat diakses oleh semua komponen sistem
  2. Contoh: contoh dari IDE dimana komponen menggunakan repositori, dan setiap PL menghasilkan informasi yang kemudian tersedia untuk digunakan oleh alat lain.
  3. Saat digunakan Ketika sistem dengan sejumlah besar informasi yang dihasilkan disimpan untuk waktu yang lama.
  4. Keuntungan: komponen dapat mandiri, karena tidak perlu mengetahui keberadaan komponen lain, perubahan yang dilakukan oleh satu komponen dapat disebarkan ke semua komponen, semua data dapat dikelola secara konsisten karena semuanya ada di satu tempat.
  5. Kerugian: masalah dalam repositori mempengaruhi seluruh sistem.
Contoh repositori arsitektur untuk sebuah IDE


Menunjukkan IDE yang mencakup alat yang berbeda untuk mendukung pengembangan berbasis model. Repositori dalam kasus ini adalah lingkungan yang dikendalikan oleh versi yang melacak perubahan pada PL dan memungkinkan rollback ke versi sebelumnya.

C. Client–Server Architecture
  • Sebuah sistem yang mengikuti pola client-server diatur sebagai satu set layanan server, dan client yang mengakses dan menggunakan layanan.
  • Komponen utama dari model ini adalah:
    1. Server memberikan layanan ke komponen lain. Contoh: server menawarkan layanan pencetakan, server file yang menawarkan layanan manajemen file, dan server kompilasi yang menawarkan layanan kompilasi bahasa pemrograman.
    2. Client yang menggunakan layanan yang ditawarkan oleh server.
    3. Jaringan yang memungkinkan client untuk mengakses layanan.
  • Arsitektur client-server dianggap sebagai arsitektur sistem terdistribusi, tetapi model logis dari layanan independen yang berjalan pada server terpisah dapat diimplementasikan pada satu komputer
  • Penggunaan yang efektif dapat dilakukan dari sistem jaringan dengan banyak prosesor terdistribusi.
  • Sangat mudah untuk menambahkan server baru dan mengintegrasikannya dengan seluruh sistem atau mengupgrade server secara transparan tanpa mempengaruhi bagian lain dari sistem.
Arsitektur Client-Server
  1. Deskripsi: fungsionalitas sistem diatur ke dalam layanan, dengan setiap layanan yang dikirim dari server terpisah
  2. Contoh: contoh dari perpustakaan film/video
  3. Saat digunakan: ketika data dalam database harus diakses dari berbagai lokasi.
  4. Keuntungan: server dapat didistribusikan melalui jaringan, fungsi umum dapat tersedia untuk semua client dan tidak perlu diterapkan di semua layanan.
  5. Kerugian: setiap layanan dapat terjadi kegagalan sehingga rentan terhadap penolakan layanan atau kegagalan server., kinerja tidak dapat diprediksi karena tergantung pada jaringan dan juga sistem.
Contoh sistem perpustakaan film/video

Dalam sistem ini, beberapa server mengelola dan menampilkan berbagai jenis media. Server video dapat menangani kompresi dan dekompresi video dalam berbagai format. Katalog harus dapat menangani pertanyaan dan menyediakan tautan ke dalam sistem informasi web yang mencakup data tentang film dan klip video, dan e-commerce mendukung penjualan foto, film, klip video.

D. Pipe and Filter Architecture
  • Model dari sistem run-time di mana transformasi secara fungsional memproses input dan menghasilkan output.
  • Aliran data bergerak secara berurutan (seperti dalam pipa).
  • Setiap langkah pemrosesan diimplementasikan sebagai transformasi.
  • Transformasi dapat dilakukan secara berurutan/paralel.
  • Data diproses oleh transformasi per-item-nya atau dalam satu batch.
  • Pipe digunakan untuk melewati aliran teks dari satu proses ke proses lainnya.
  • Filter digunakan pada transformasi untuk menyaring data.
Pipe and Filter Architecture
  1. Deskripsi: pengolahan data diatur dalam suatu sistem sehingga setiap komponen pemrosesan (filter) bersifat diskrit dan melakukan satu jenis transformasi data.
  2. Contoh: contoh pada sistem untuk memproses faktur.
  3. Saat digunakan: umumnya digunakan dalam aplikasi pemrosesan data (baik batch atau berbasis transaksi) di mana input diproses dalam tahap terpisah untuk menghasilkan output.
  4. Keuntungan: mudah dimengerti dan mendukung transformasi reuse, gaya alur kerja cocok dengan struktur proses bisnis, dapat diimplementasikan sebagai sistem sekuensial/konkuren.
  5. Kerugian: format transfer data harus disepakati di antara transformasi komunikasi, setiap transformasi harus memahami input dan tidak mempublikasikan outputnya ke bentuk yang tidak dipahami, meningkatkan overhead sistem, berarti bahwa tidak mungkin menggunakan kembali transformasi fungsional yang menggunakan struktur data yang tidak kompatibel.
Contoh pada sistem untuk memproses faktur

Suatu organisasi telah menerbitkan faktur kepada pelanggan. Seminggu sekali, pembayaran yang telah dilakukan direkonsiliasi dengan faktur. Untuk faktur yang telah dibayarkan, diberikan tanda terima. Untuk faktur yang belum dibayar dalam waktu pembayaran yang ditentukan, diberikan pesan untuk mengingatkan.

ARSITEKTUR APLIKASI

    Sistem aplikasi dimaksudkan untuk memenuhi kebutuhan bisnis yang memiliki banyak kesamaan dan menggunakan aplikasi tertentu. Arsitektur aplikasi dapat diimplementasikan kembali ketika mengembangkan sistem baru, tetapi untuk banyak sistem bisnis, penggunaan kembali aplikasi dimungkinkan tanpa implementasi ulang

A. Sistem Pemrosesan Transaksi (Transaction Processing Systems)
  • Aplikasi pemrosesan transaksi adalah aplikasi yang berpusat pada database yang memproses permintaan pengguna untuk informasi dan memperbarui informasi dalam basis data.
  • Merupakan jenis sistem bisnis interaktif yang paling umum, di mana pengguna membuat permintaan asynchronous untuk layanan
  • Transaksi basis data adalah urutan operasi yang diperlakukan sebagai unit tunggal, dan semua operasi dalam transaksi harus diselesaikan sebelum perubahan basis data dibuat permanen.
  • Dari perspektif pengguna, transaksi adalah setiap urutan operasi yang koheren yang memenuhi tujuan, seperti menemukan jadwal perkuliahan.
  • Sistem pemrosesan transaksi dapat diatur sebagai arsitektur 'pipe and filter' dengan komponen sistem sebagai input, pemrosesan, dan output.
  • Misal: pelanggan menarik uang tunai dari ATM. Sistem ini terdiri dari dua komponen PL ATM dan PL pemrosesan akun di server basis data bank. Komponen I/O diimplementasikan sebagai PL di ATM dan komponen pemrosesan adalah bagian dari server database bank.
Contoh Aplikasi Pemrosesan Transaksi

Penjelasan:
  1. Pengguna membuat permintaan ke sistem melalui komponen pemrosesan I / O.
  2. Permintaan diproses oleh beberapa aplikasi logika.
  3. Transaksi dibuat dan diteruskan ke manajer transaksi, yang biasanya tertanam dalam sistem manajemen basis data.
  4. Setelah manajer transaksi memastikan bahwa transaksi sudah diselesaikan dengan benar, kemudian memberi sinyal ke aplikasi bahwa proses telah selesai
B. Sistem Informasi
  • Semua sistem yang melibatkan interaksi dengan basis data dapat dianggap sebagai sistem informasi berbasis transaksi.
  • Sistem informasi memungkinkan akses yang terkontrol ke basis informasi yang besar. Seperti katalog perpustakaan, jadwal penerbangan, atau catatan pasien di rumah sakit.
  • Sebagai contoh dari instantiation model berlapis
Contoh Sistem Informasi

  • Sistem dimodelkan menggunakan pendekatan berlapis di mana lapisan atas mendukung antarmuka pengguna dan lapisan bawah adalah database sistem.
  • Lapisan komunikasi pengguna menangani semua I/O dari antarmuka pengguna, dan lapisan pencarian informasi untuk mengakses dan memperbarui database
C. Sistem Pemrosesan Bahasa (Language Processing Systems)
  • Adalah sistem di mana maksud pengguna dinyatakan dalam bahasa formal (seperti Java).
  • Memproses ke dalam bahasa formal, kemudian menafsirkan representasi secara internal.
  • Sistem pemrosesan bahasa dengan compiler, yang menerjemahkan bahasa program tingkat tinggi ke dalam kode mesin.
  • Sistem pemrosesan bahasa juga menerjemahkan bahasa alami atau buatan ke dalam representasi bahasa lain, dan bahasa pemrograman dapat mengeksekusi kode yang dihasilkan.
Contoh Sistem Pemrosesan Bahasa


Senin, 15 November 2021

REKAYASA PERANGKAT LUNAK (PERANCANGAN BERORIENTASI OBJEK)

IDENTIFIKASI KELAS OBJEK

    Tujuan mengidentifikasi kelas objek dalam sistem berorientasi objek:

  1. Gunakan analisis gramatikal dari deskripsi bahasa alami. Objek dan atribut adalah kata benda; operasi atau layanan adalah kata kerja.
  2. Gunakan entitas nyata (benda) dalam domain aplikasi seperti mobil, peran seperti manajer atau dokter, acara seperti permintaan, interaksi seperti pertemuan, lokasi seperti kantor, unit organisasi seperti perusahaan.
  3. Gunakan analisis berbasis skenario dimana berbagai skenario penggunaan sistem diidentifikasi dan dianalisis secara bergantian.

ISTILAH DALAM OBJEK ORIENTED
  • OBJEK (Object)
    Objek adalah konsep atau abstraksi tentang sesuatu yang memiliki arti untuk aplikasi yang akan dikembangkan. Objek diwakili dengan kata benda dan dapat berupa:
  1. Objek orang/manusia: Karyawan, Mahasiswa
  2. Objek tempat: Kantor, Gedung, Toko
  3. Objek abstrak: Transaksi, Jadwal, Peminjaman
  4. Objek organisasi: Divisi-IT, HRD
  5. Objek peralatan/benda: Mobil, Buku, Baju
  • ATRIBUT (Attribute)
    Suatu objek memiliki atribut tertentu yang merupakan karakteristik yang menggambarkan objek. Suatu atribut dapat mengambil sebuah nilai yang ditentukan berdasarkan domain yang dihitung. Domain merupakan satu himpunan nilai-nilai spesifik. Contoh: kelas MOBIL memiliki sebuah atribut WARNA. Domain nilai untuk warna adalah {putih, hitam, perak, abu-abu, biru, merah, kuning, hijau}.
    Objek dapat memiliki atribut khusus yang disebut state. Keadaan suatu objek adalah kata sifat yang menggambarkan status objek saat ini. Misalnya rekening bank dapat aktif, tidak aktif, tertutup, atau dibekukan.
  • METODE (Method)
    Suatu metode mendefinisikan tugas-tugas spesifik yang dapat dilakukan oleh suatu objek. Metode dituliskan dengan kata kerja yang menggambarkan apa dan bagaimana suatu objek melakukan sesuatu. Misalnya: objek PELANGGAN dapat melakukan tugas-tugas tertentu seperti melakukan pemesanan, membayar tagihan, dan mengubah alamatnya.
  • PESAN (Message)
    Pesan (Message) adalah perintah yang memberi tahu suatu objek untuk melakukan metode tertentu. Misalnya: pesan TAMBAHKAN SISWA mengarahkan kelas SISWA untuk menambahkan nomor siswa, nama, dan data lain tentang siswa itu. Demikian pula, pesan bernama HAPUS SISWA memberi tahu kelas SISWA untuk menghapus instance Siswa. Pesan yang sama untuk dua objek berbeda dapat menghasilkan hasil yang berbeda. 


  • KELAS (Class)
    Kelas adalah deskripsi umum yang menggambarkan sebuah kumpulan berisi objek-objek yang sama. Semua objek dalam kelas berbagi atribut dan metode yang sama, sehingga kelas seperti blue print, atau template untuk semua objek di dalam kelas.
    Superclass adalah generalisasi dari satu himpunan kelas-kelas yang berhubungan. Subclass adalah spesialisasi dari superclass. Contoh: superclass kendaraanBermotor adalah generalisasi dari kelas Truk, SUV, Minibus dan Car. Subclass Minibus mewarisi semua atribut kendaraanBermotor, tetapi juga menggabungkan atribut tambahan yang spesifik hanya untuk Minibus.



HUBUNGAN ANTARA OBJEK DAN KELAS

    Hubungan (relationship) memungkinkan objek untuk berkomunikasi dan berinteraksi ketika mereka
melakukan fungsi bisnis dan transaksi yang diperlukan oleh sistem. Hubungan menggambarkan apa yang perlu diketahui objek satu sama lain, bagaimana objek merespon perubahan pada objek lain, dan efek keanggotaan dalam kelas, superclass, dan subclass. Beberapa hubungan lebih kuat daripada yang lain (seperti hubungan antara anggota keluarga lebih kuat dari satu hubungan antara kenalan biasa). Hubungan terkuat disebut warisan.


KARAKTERISTIK OBJEK
  • Enkapsulasi (Encapsulation)
    Data dan prosedur/fungsi dikemas bersama-sama dalam suatu objek, sehingga prosedur/fungsi lain dari luar tidak dapat mengaksesnya. Data terlindung dari prosedur atau objek lain kecuali prosedur yang berada dalam objek tersebut. Merupakan pembatasan ruang lingkup program terhadap data. Enkapsulasi memungkinkan objek untuk digunakan sebagai komponen modular di mana saja dalam sistem, karena objek mengirim dan menerima pesan tetapi tidak mengubah metode internal objek lain.



  • Pewarisan (Inheritance) 
    Pewarisan adalah salah satu pembeda utama antara sistem konvensional dan sistem berbasis objek. Subkelas Y mewarisi semua atribut dan operasi- operasi yang terkait dengan superkelas X. Ini berarti semua struktur dan algoritma data yang secara orisinal dirancang dan diimplementasikan untuk X segera tersedia untuk Y. Perubahan apa pun pada atribut-atribut atau operasi- operasi yang dimuat ke dalam sebuah superkelas, akan diwarisi oleh semua subkelas.


  • Polimorfis (Polymorphism)
    Merupakan konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda. Polimorfis juga mempunyai arti bahwa operasi yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda. Polimorfis sangat mengurangi usaha yang diperlukan
untuk memperluas perancangan sistem berorientasi objek.



KELAS PERANCANGAN

    Model kebutuhan menentukan serangkaian kelas-kelas analisis yang masing-masing kelas menggambarkan beberapa elemen masalah yang fokus pada masalah yang dilihat oleh pengguna.

Kelas perancangan yang merepresentasikan lapisan berbeda dari perancangan arsitektur:

  1. Kelas-kelas antarmuka. Pengguna menentukan semua abstraksi yang diperlukan untuk interaksi manusia dengan komputer.
  2. Kelas-kelas bisnis. Kelas-kelas mengidentifikasi atribut dan operasi/metode yang dibutuhkan untuk mengimplementasikan beberapa elemen ranah bisnis.
  3. Kelas-kelas proses. Mengimplementasikan abstraksi bisnis yang levelnya lebih rendah untuk sepenuhnya mengelola kelas-kelas ranah bisnis.
  4. Kelas-kelas persisten. Merepresentasikan data store yang akan terus ada setelah eksekusi PL.
  5. Kelas-kelas sistem. Mengimplementasikan manajemen PL dan mengendalikan fungsi-fungsi agar mampu mengoperasikan sistem dan berkomunikasi dengan dunia luar
Karakteristik Kelas Perancangan:
  1. Lengkap dan cukup
  2. Sederhana
  3. Kohesi tinggi
  4. Keterhubungan rendah

PENDEKATAN PEMROGRAMAN TERSTRUKTUR

Karakteristik Pendekatan Berorientasi Prosedur/Fungsi:
  1. Penekanan pada sesuatu yang harus dikerjakan (algoritma pemecahan masalah)
  2. Program berukuran besar dipecah menjadi programprogram yang lebih kecil
  3. Kebanyakan fungsi/prosedur berbagi data global
  4. Data bergerak secara bebas dalam sistem dari satu fungsi ke fungsi yang lain yang terkait
  5. Fungsi-fungsi mentransformasi data dari satu bentuk ke bentuk yang lain
  6. Menggunakan pendekatan top-down
Struktur Umum Pemrograman Terstruktur


Hubungan Data dan Fungsi pada Pemrograman Terstruktur



PENDEKATAN BERORIENTASI OBJEK

Karakteristik Pada Pendekatan Berorientasi Objek:
  1. Pendekatan lebih kepada data (bukan fungsi/prosedur)
  2. Program besar dibagi menjadi beberapa objek
  3. Struktur data dirancang dan menjadi karakteristik dari objek-objek
  4. Fungsi-fungsi yang mengoperasikan data tergabung dalam suatu objek yang sama
  5. Data tersembunyi dan terlindung dari fungs/prosedur yang ada di luar
  6. Objek-objek dapat saling berkomunikasi dengan saling mengirim message satu sama lain
  7. Menggunakan pendekatan bottom-up
Pengorganisasian Data dan Metode (Fungsi) pada Pendekatan Berorientasi Objek






DICODING, KELAS GRATIS HINGGA CHALLENGE MENARIK!

Hai semuanya! sebelumnya, kita kenalan dulu yaa. Saya Mala,salah satu mahasiswi IT di salah satu universitas di Indonesia. Saya ingin berbag...