Skip to content

Channel

Chetabahana edited this page Mar 29, 2020 · 394 revisions

Diagram Channel adalah interface Diagram Route yang merupakan pewarisan dari Diagram Grammar, dimana Diagram Grammar adalah pewarisan dari Diagram Sequence.

Table of Contents

Struktur

Pada sesi ini kita akan batasi pembahasan kedalam penggunaan diagram ini saja, mengenai detil paketnya akan dibahas terpisah dibagian dokumentasi repository terkait.

Sesuai dengan karakternya sebagai diagram class maka berdasarkan Konsep Polymorphism diagram ini digunakan untuk visualisasi hubungan antar Class dari Pola Kerja:


Model

Untuk memudahkan dalam visualisasi proses yang sudah dilakukan sampai ke tahap Diagram Channel ini maka bentuk skemanya dapat digambarkan seperti jaring laba-laba berikut ini.

Dengan Diagram Sequence penelusuran dilakukan sesuai urutan pola, sedangkan Diagram Grammar penelusuran dilakukan terhadap struktur jaring yang membentuk pola (Grammar).

Struktur ini terdiri dari bagian berupa benang yang menghubungkan antar setiap struktur saat mengitari pola. Sesuai fungsinya maka kita sebut saja bagian ini sebagai Channel (lihat gambar).

Sebelumnya diduga benang ini adalah tunggal, tetapi rupanya lebih mirip kabel kecil. Secara individu memang lemah. Namun ketika disimpulkan dengan cara khusus, maka benang laba-laba ini bisa menahan lima kali lebih banyak beban dibanding besi berukuran sama.

Dalam project ini kita analogikan simpul² tersebut sebagai bentuk hubungan antar kelas. Dengan Diagram Channel maka kita akan melanjutkan proses penelusuran terhadap bagian ini.

Seperti yang sudah dijelaskan pada topik Type Diagram, Diagram Channel adalah pewarisan dari penelusuran Pola Abstraction yang dilakukan pada Diagram Grammar. Pewarisan ini akan digunakan sebagai interface dari Diagram Route guna penelusuran class dengan Pola Inheritance.

Untuk mengatur identifikasi dari proses penelusuran tersebut maka berdasarkan Konsep Dasar pada Diagram Channel ini dilakukan konfigurasi terhadap instance dari Pola Polymorphism.

Polimorfism merupakan penurunan terhadap objek yang sama namun berbeda kelas tergantung letak objek tersebut pada jenjang pewarisan.

Limit

Metode ini digunakan untuk memutuskan metode mana yang akan diterapkan ke hierarki kelas sehingga memungkinkan korelasi guna pemisahan masalah secara lebih spesifik.

Jenis polymorphism meliputi: Universal dan Ad hoc.


Jenis Universal terbagi menjadi Parametric dan Subtyping. Jenis Subtyping ini yang akan digunakan guna mendukung visualisasi pada Konsep Inheritance untuk hal berikut:

Range

Layout

Chart

Format

Hirarki

Formasi

Digaram

Validasi

Pada bagian ini kita akan masuk ke detil tentang cara penyusunan struktur yang dilakukan untuk menerapkan konsep dan metode yang diuraikan di atas ke dalam bahasa pemrograman.

Realisasi dari uraian berikut ini dapat dilihat pada file script Channel.js. Output berupa visualisasi dari hubungan antar kelas.

Susunan

Viewers

Arsitektur three-tier adalah pola arsitektur perangkat lunak server klien dimana antarmuka pengguna (presentasi), logika proses fungsional, penyimpanan data komputer, dan akses data dikembangkan dan dipelihara sebagai modul independen pada platform terpisah .

Piramida

Integrasi

Delegasi

Pewarisan

Dokumentasi Custom API dapat disimak untuk referensi mendalam tentang properti dan metode semua kelas JavaScript yang dapat digunakan.

Regenerasi

Replikasi

Duplikasi

Algoritma

Pada bagian ini kita akan bahas tentang detil pewarisan dari Diagram Channel berikut dengan instantiation dan implementasinya.


Penelusuran

Sesuai metode di atas maka Diagram Channel berlaku sebagai interface dari Pola Polymorphism. Pewarisan ke Diagram Route dilakukan via identifikasi berdasarkan pola Pola Inheritance:

Sebenarnya inheritance sudah dibahas di bab sebelumnya di karakteristik OOP, namun disini saya akan menjelaskan sekaligus memberi contoh jenis warisan dalam proses inheritance.

Inheritance merupakan sebuah konsep memrograman OOP dimana sebuah Class dapat menurunkan property dan method yang dimilikinya kepada Class lain/Class turunan.

Hal ini dilakukan untuk menghindari terjadinya duplikasi content atau untuk memanfaatkan satu content/fungsi untuk banyak Class.

Kita kembali lagi pada analogi object dalam kehidupan sehari hari, saya ambil contoh parent-nya adalah Barang Elekronik, dalam Class Barang Elekronik itu memiliki property (merek, harga, OS).

Kemudian Child-nya adalah PC dg property (mouse, mother board, keyboard) dan Smartphone dg property (sim card, camera, touchscreen). Nah, Class Barang Elektronik dapat menurunkan property-nya (merek, harga, OS) kepada Class PC dan Smartphone, sehingga Class Child tidak perlu lagi membuat property yang sama secara berulang-ulang.

Explorer

Metode OOP mendukung enam jenis warisan seperti digambarkan di bawah ini:

Single
Dalam warisan ini, kelas turunan dibuat dari kelas basis tunggal.
Dalam contoh yang diberikan, Kelas A adalah kelas induk dan Kelas B adalah kelas anak karena Kelas B mewarisi fitur dan perilaku kelas induk A.
Multilevel
Dalam warisan ini, kelas turunan dibuat dari kelas turunan lainnya. Dalam contoh yang diberikan, kelas c mewarisi sifat dan perilaku kelas B dan kelas B mewarisi sifat dan perilaku kelas B.
Jadi, di sini A adalah kelas induk B dan kelas B adalah kelas induk C. Jadi, di sini kelas C secara implisit mewarisi sifat-sifat dan perilaku kelas A bersama dengan Kelas B yaitu ada multitingkat warisan.
Multiple
Dalam Multiple ini, kelas turunan dibuat dari lebih dari satu kelas dasar. Dalam contoh ini kelas c mewarisi sifat dan perilaku kelas B dan kelas A pada tingkat yang sama. Jadi, di sini A dan Kelas B keduanya adalah kelas induk untuk Kelas C.
Multipath
Dalam warisan ini, kelas turunan dibuat dari kelas turunan lain dan kelas dasar yang sama dari kelas turunan lainnya.
Dalam contoh yang diberikan, kelas D mewarisi sifat dan perilaku kelas C dan kelas B serta Kelas A. Baik kelas C dan kelas B mewarisi Kelas A. Jadi, Kelas A adalah induk untuk Kelas B dan Kelas C juga. sebagai Kelas D. Jadi membuatnya menjadi warisan Multipath.
Hierarchical
Dalam warisan ini, lebih dari satu kelas turunan dibuat dari kelas dasar tunggal dan kelas anak lebih lanjut bertindak sebagai kelas induk untuk lebih dari satu kelas anak.
Dalam contoh yang diberikan, kelas A memiliki dua anak kelas B dan kelas D. Selanjutnya, kelas B dan kelas C keduanya memiliki dua anak - kelas D dan E; kelas F dan G masing-masing.
Hybrid
Ini adalah kombinasi dari lebih dari satu warisan. Oleh karena itu, itu mungkin merupakan kombinasi dari warisan Multilevel dan Multiple atau warisan Hirarki dan Multilevel atau warisan Hirarki dan Multipath atau warisan Hirarki, Multilevel, dan Multiple.

Controller

Inheritance adalah kemampuan untuk menciptakan sebuah kelas baru dari kelas yang ada . Anda dapat menambahkan perangkat tambahan untuk kelas yang ada tanpa memodifikasi kelas yang asli dengan menciptakan kelas baru yang mewarisi dari kelas yang ada.


Kelas yang asli dikenal sebagai kelas dasar, superclass, atau kelas induk. Kelas yang diwarisi disebut subclass, kelas turunan, atau kelas anak. Tentu saja, kelas baru dapat mewarisi dari subclass – subclass yang menjadi superclass.

Kelas-kelas yang berasal dapat memanggil metode dari kelas dasar dan mengandung metode yang unik untuk kelas turunan. di warisan, biasanya kelas pergi dari umum ke yang lebih spesifik

Instantiation

Sesuai Pola Polymorpism yang menekankan penurunan terhadap object yang sama namun berbeda class maka seperti model yang digambarkan di atas, form1,2,3 disetel untuk penurunan dasar (Pola Basic) yaitu: Single, Multilevel dan Multiple.

Simbolisasi

Dengan demikian maka model1,2,3,4 dari Multipath akan menjadi basis untuk semua jenis penurunan (termasuk penurunan terhadap object yang berlainan).

Dimana model4 adalah penurunan dari type Multiple yang tidak lain adalah merupakan representasi dari Paralel Result pada Diagram Flowchart.

Interprerasi

Pola penurunan type Hierarchical dan Hybrid disetel sebagai interface untuk mendukung implementasi dari Metode Subtyping pada Pola Inheritance terhadap pewarisan dari Diagram Grammar.

Masing² difokuskan guna membangun interface dari Interaksi Input (Query) dan Interaksi Output (Result) berdasarkan pola dari Diagram Flowchart.

Karena Diagram Flowchart mempunyai pola dengan menyertakan 10 instance untuk setiap interaksi maka untuk memudahkan identifikasi dari Lexer dengan Parser dan Syntax yang terkait, digunakan basis kelipatan 10 secara bertingkat.

Perhatikan dengan seksama pada baris pertama dari file kelas untuk bentuk :Konsep inheritance ini membuat Class lebih terstruktur. Class yang diturunkan dinamakan Parent Class (induk) sedangkan Class yang menerima turunan disebut Child Class (anak).

Implementasi

Faktorisasi

Piramida data disusun identifikasinya pada file² collections berikut ini:

Path: _feeds/section/skema/channel

├── lexer.md
├── parser.md
├── syntax.md
├── lexer/
   ├── lexer1.md
   ├── lexer2.md
   ├── lexer3.md
   ├── lexer4.md
   ├── lexer5.md
   ├── lexer6.md
   ├── lexer7.md
   └── lexer8.md
├── parser/
   ├── parser1.md
   ├── parser2.md
   ├── parser3.md
   ├── parser4.md
   ├── parser5.md
   ├── parser6.md
   ├── parser7.md
   └── parser8.md
├── syntax/
   ├── syntax1.md
   ├── syntax2.md
   ├── syntax3.md
   ├── syntax4.md
   ├── syntax5.md
   ├── syntax6.md
   ├── syntax7.md
   └── syntax8.md
└── tree.md

Identifikasi

Sesuai pola maka identifikasi dalam realisasi dari instance yang dimodelkan pada implementasi via data' untuk skema dari diagram ini disetel di collections dan disusun dengan konfigurasi berikut:

Inheritance Instance Eksternal Internal Eksternal All
Get Input Interaksi Input (Query) Interaksi Output (Result) Output Set
Fix Let Uji Let Uji Fix*
Start Lexer - 1 - - - - - - - - 1
Parser - 10 - - - - - - - - 10
Syntax - 100 - - - - - - - - 100
Input Lexer1 - - - 2 - - - - - - 2
Parser1 - - - 20 - - - - - - 20
Syntax1 - - - 200 - - - - - - 200
Single Lexer2 - - - - 3 - - - - - 3
Parser2 - - - - 30 - - - - - 30
Syntax2 - - - - 300 - - - - - 300
Multilevel Lexer3 - - - - - 4 - - - - 4
Parser3 - - - - - 40 - - - - 40
Syntax3 - - - - - 400 - - - - 400
Multiple Lexer4 - - - - - - 5 - - - 5
Parser4 - - - - - - 50 - - - 50
Syntax4 - - - - - - 500 - - - 500
Multipath Lexer5 - - - - - - - 6 - - 6
Parser5 - - - - - - - 60 - - 60
Syntax5 - - - - - - - 600 - - 600
Hierarchical Lexer6 - - 7 - - - - - - - 7
Parser6 - - 70 - - - - - - - 70
Syntax6 - - 700 - - - - - - - 700
Hybrid Lexer7 - - - - - - - 8 - - 8
Parser7 - - - - - - - 80 - - 80
Syntax7 - - - - - - - 800 - - 800
Output Lexer8 - - - - - - - - - 9 9
Parser8 - - - - - - - - 90 - 90
Syntax8 - - - - - - - - - 900 900
End Tree - - - - - - - - - 1000 1

Catatan (lihat tanda bintang (*)pada tabel di atas & bagan di bawah):

Anda dapat menambahkan atau memodifikasi variabel kelas dan metode. Misalnya, setiap bentuk yang Anda buat diwariskan dari, atau berasal dari, kelas yang sudah ada.

Berikutnya kita akan melakukan pewarisan ini dengan menggunakan Diagram Route.

Referensi

Clone this wiki locally