-
Notifications
You must be signed in to change notification settings - Fork 5
Diagram
Diagram adalah suatu representasi simbolis informasi dalam bentuk geometri dua dimensi atau visualisasi tiga dimensi yang kemudian diproyeksikan ke permukaan dua dimensi.
Berdasarkan spesifikasinya diagram memiliki banyak jenis.
Pada project ini akan diimplementasikan sejumlah diagram untuk merekonstruksi penelusuran. Diantaranya seperti yang terlihat dalam diagram sintaks di bawah ini.
Diagram ini adalah alat untuk menggambarkan sintaks, juga dikenal sebagai diagram rel, dibangun dari tata bahasa bebas konteks yang ditentukan dalam EBNF.
Fitur yang satu ini adalah
- penggunaan notasi EBNF W3C,
- web-memoing tata bahasa dari spesifikasi W3C,
- pengeditan tata bahasa secara online,
- presentasi diagram dalam SVG,
- sepenuhnya ditulis dalam bahasa web (XQuery, XHTML, CSS, JavaScript).
Saya ambil contoh Pesawat, Pesawat adalah sebuah objek. Pesawat itu sendiri terbentuk dari beberapa objek yang lebih kecil lagi seperti mesin, roda, baling-baling, kursi, dll.
Pesawat sebagai objek yang terbentuk dari objek-objek yang lebih kecil saling berhubungan, berinteraksi, berkomunikasi dan saling mengirim pesan kepada objek-objek yang lainnya.
Begitu juga dengan program, sebuah objek yang besar dibentuk dari beberapa objek yang lebih kecil, objek-objek itu saling berkomunikasi, dan saling berkirim pesan kepada objek yang lain.
OOP (Object Oriented Programming) adalah suatu metode pemrograman yang berorientasi objek.
Tujuan dari OOP diciptakan adalah untuk mempermudah dalam membangun konfigurasi dan pengembangan program dengan cara mengikuti model yang telah ada di kehidupan sehari-hari.
Berdasarkan Metode OOPs maka pola ini dapat disusun sesuai bagan berikut:
Object merupakan perwujudan dari class, setiap object akan mempunyai attribute dan method yang dimiliki oleh class-nya, contohnya: amir, ahmad, yani merupakan object dari class manusia. Setiap object dapat berinteraksi dengan object lainnya meskipun berasal dari class yang berbeda.
Prosedur dalam pemrograman berorientasi objek dikenal sebagai metode; variabel juga dikenal sebagai bidang, anggota, atribut, atau properti. Ini mengarah pada ketentuan berikut:
- Variabel kelas - milik kelas secara keseluruhan; hanya ada satu salinan dari masing-masing
- Variabel instan atau atribut - data yang dimiliki oleh objek individu; setiap objek memiliki salinannya masing-masing
- Variabel anggota - merujuk pada variabel kelas dan contoh yang ditentukan oleh kelas tertentu
- Metode kelas - milik kelas secara keseluruhan dan hanya memiliki akses ke variabel kelas dan input dari pemanggilan prosedur
- Metode instance - milik objek individual, dan memiliki akses ke variabel instan untuk objek spesifik yang dipanggil, input, dan variabel kelas
Misal class berisi data anggota dan fungsi anggota:
Setiap objek dikatakan sebagai instance dari class tertentu (misalnya, objek dengan bidang namanya diatur ke "Mary" mungkin merupakan instance dari class Karyawan).
Hubungan antara Class, Method dan Attribute (property) bisa dijelaskan sbb:
- Method atau yang biasa juga disebut behaviour merupakan bagian yang dimiliki oleh sebuah class yang dapat melakukan operasi, bertindak atau mengerjakan sesuatu.
- Attribute atau yang biasa juga disebut state/properties/field merupakan bagian yang dimiliki oleh sebuah class yang tidak melakukan operasi tetapi kepadanya dilakukan operasi sehingga dapat merubah nilai dari attribute tersebut.
Dalam setiap penurunan dari Metoda OOP kita akan mendapatkan turunan² baru. Guna pewarisan dan perekaman interaksi kita perlu menetapkan identifikasi dari masing² turunan tersebut berdasarkan hirarki dan korelasi nya.
Inheritance merupakan konsep mewariskan attribute dan method yang dimiliki oleh sebuah class kepada class turunannya.
Dengan konsep ini class yang dibuat cukup mendefinisikan attribute dan method yang spesifik didalamnya, sedangkan attribute dan method yang lebih umum akan didapatkan dari class yang menjadi induknya.
- Kita dapat mendefinisikan suatu kelas baru dengan mewarisi sifat dari kelas lain yang sudah ada.
- Penurunan sifat ini bisa dilakukan secara bertingkat-tingkat, sehingga semakin ke bawah kelas tersebut menjadi semakin spesifik.
- Sub kelas memungkinkan kita untuk melakukan spesifikasi detail dan perilaku khusus dari kelas supernya.
- Dengan konsep pewarisan, seorang programmer dapat menggunakan kode yang telah ditulisnya pada kelas super berulang kali pada kelas-kelas turunannya tanpa harus menulis ulang semua kodekode itu.
Polymorphism merupakan konsep yang memungkinkan digunakannya suatu interface yang sama untuk memerintah suatu object agar melakukan suatu tindakan yang mungkin secara prinsip sama tetapi secara proses berbeda.
- Polymorphism merupakan kemampuan objek yang berbeda kelas namun terkait dalam pewarisan untuk merespon secara berbeda terhadap suatu pesan yang sama.
- Polymorphism juga dapat dikatakan kemampuan sebuah objek untuk memutuskan method mana yang akan diterapkan padanya, tergantung letak objek tersebut pada jenjang pewarisan.

Misalnya, objek bertipe Circle dan Square berasal dari kelas umum yang disebut Shape. Fungsi Draw untuk setiap jenis Shape mengimplementasikan apa yang diperlukan untuk menggambar dirinya sendiri sementara kode panggilan dapat tetap dengan tipe Shape tertentu yang sedang digambar.
Ini adalah jenis abstraksi lain yang menyederhanakan kode eksternal ke hierarki kelas dan memungkinkan pemisahan masalah secara lebih jelas.
Tujuan utama dari penelusuran yang akan dilakukan adalah mendapatkan data turunan yang dapat menunjang data yang sudah ada. Object, class dan metode yang sudah diuraikan di atas adalah hanya merupakan bagian dari perangkat berupa Skema yang digunakan untuk meraih tujuan ini.
Bahasa berorientasi objek menyediakan kerangka kerja dan motivasi untuk mengeksplorasi interaksi antara konsep tipe dengan abstraksi data dan polimorfism, karena mereka memperluas gagasan tipe ke abstraksi data dan karena pewarisan tipe merupakan bentuk penting polimorfism.
Abstraction adalah suatu cara untuk melihat suatu object dalam bentuk yang lebih sederhana. Sebagai contoh kita tidak melihat sebuah mobil sebagai ribuan komponen elektronik, sistem mekanik dengan empat buah ban, jok, stir kemudi dan sebagainya.
Dengan Abstraction, suatu sistem yang kompleks dapat dipandang sebagai kumpulan subsistem-subsistem yang lebih sederhana, seperti halnya mobil merupakan suatu sistem yang terdiri atas berbagai subsistem, seperti subsistem kemudi, subsistem pengereman dan sebagainya.
Encapsulation merupakan suatu mekanisme untuk menyembunyikan atau memproteksi suatu proses dari kemungkinan interferensi atau penyalahgunaan dari luar sistem dan sekaligus menyederhanakan penggunaan sistem tersebut.
- Istilah enkapsulasi sebenarnya adalah kombinasi data dan fungsionalitas dalam sebuah unit tunggal sebagai bentuk untuk menyembunyikan detail informasi.
- Proses enkapsulasi memudahkan kita untuk menggunakan sebuah objek dari suatu kelas karena kita tidak perlu mengetahui segala hal secara rinci.
- Enkapsulasi menekankan pada antarmuka suatu kelas, atau dengan kata lain bagaimana menggunakan objek kelas tertentu.


- Struktur dan Hirarki disetel berdasarkan Piramida Data via layout script
- Tipe Diagram dipilih dan dijalankan berdasarkan Output JSON via initial script
- Setiap Diagram dikembangkan secara terpisah dan diintegrasikan via Fitur GitHub
- Piramida data pada repository terkait diupdate dengan Paket NPM via GitHub Actions
- Kendali perubahan (versi) diatur via scripts-field-handle yang ditempatkan sesuai Korelasi
Berdasarkan Konsep di atas, Object akan dikembangkan sebagai pengejawantahan dari etimologi, sedangkan untuk terminologi maka kita akan terapkan metode Encapsulation sampai ke Inheritance dimana pada proses pembentukan Class akan ditelusuri akurasinya terhadap kaidah kognitif.
Pola penelusuran ini akan dilakukan berdasarkan piramida dari setiap pola dengan menggunakan jenis diagram yang dapat mendukung interaksi dalam proses pewarisan. Berikut ini tabulasi antara pola penelusuran dan jenis diagram yang digunakan.
No. | Metode | Penelusuran | Implementasi | Diagram |
---|---|---|---|---|
1. | Object (parent) | - | Attribute (parent) | Flowchart |
2. | Encapsulation | Pola | Artifacts | Sequence |
3. | Abstraction | Hirarki | Method | Grammar |
4. | Polymorphism | Korelasi | Model | Channel |
5. | Inheritance | Repository | Track | Route |
6. | Class | Workflows | Trace | Tree |
7. | Object (child) | Kaidah Kognitif | Attribute (child) | Flowchart |
Catatan:
- Dalam project ini proses penelusuran akan disetel secara berulang dimana targetnya adalah produk turunan (child) dari object yang diuraikan pada Konsep Kerja.
- Diagram Sequence seperti terlihat di bawah ini disetel sebagai titik awal yang diasumsikan sebagai hasil proses penelusuran dari object sebelumnya (parent).

Dengan memodelkan tipe dan struktur modul bahasa pemrograman ke model berbasis-kalkulus memungkinkan untuk mengeksplorasi tentang sifat-sifat abstrak object secara sederhana.
Secara matematis metode ini dapat berfungsi sebagai dasar desain dengan fasilitas yang lebih ekspresif dan tidak tergantung pada bahasa pemrograman dimana modul tersebut disematkan.
Pemodelan ini menjadi dasar untuk diterapkan secara monomorfik dimana selanjutnya mekanisme polimorfik seperti overloading, koersi, subtyping, dan parameterisasi dapat ditinjau.
Untuk project ini tujuan akhir dari penelusuran adalah menentukan metoda CI/CD yang paling efisien dalam melaksanakan Optimasi.
This documentation is mapped under Mapping and licensed under Apache License, Version 2.0.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright (c) 2018-2020 Chetabahana Project