Showing posts with label OOP. Show all posts
Showing posts with label OOP. Show all posts

Wednesday, October 19, 2016

Alice [3] : Method Panel untuk Memasukan Pemrograman Java

Pembahasan berikutnya berkaitan dengan Alice, yang merupakan perangkat lunak untuk membuat animasi dengan memanfaat bahasa pemrograman java, yaitu Method Panel atau panel metod. Sebelum meneruskan membaca artikel ini, ada baiknya anda membaca tulisan saya sebelumnya tentang meletakkan obyek pada Alice. Panel method ini terletak pada bagian kiri bawah di  code editor seperti terlihat pada gambar 1 (disamping). Pada panel method ini diletakan tab procedures dan functions, kedua tab ini merupakan cerminan dari kajian ilmu Object Oriented Programming(OOP). Prosedur adalah bagian dari kode program yang mendefinisikan bagaimana objek harus melaksanakan tugas. Alice 3 memiliki seperangkat prosedur untuk setiap kelas; Namun, pengguna dapat membuat atau "menyatakan" prosedur baru. Prosedur tab menampilkan metode standar untuk contoh yang dipilih, serta metode yang didefinisikan untuk kelas objek. Begitu juga pada fungsi tab, merupakan bagian dari kode program yang dapat digunakan untuk menggerakkan obyek yang ada, untuk berpindah dari prosedur ke fungsi tab atau sebaliknya dengan cara klik mouse kiri pada tulisan procedures dan fucntions.

Thursday, September 15, 2016

Alice[2] : Meletakan Obyek

Artikel berikut ini merupakan kelanjutan dari artikel sebelumnya (klik) tentang Alice. Pembahasan selanjunya yaitu terkait dengan object atau obyek. Dalam materi Pemrograman Berorientasi Obyek (PBO) ada istilah obyek, untuk membuat obyek (dengan menggunakan bahasa pemrograman java) dibutuhkan tempat atau cetakannya.

Monday, June 20, 2011

UML : Contoh Mengubah Class Diagram Menjadi Source Code dalam Bahasa Pemrograman Java

Seperti artikel yang kami post tentang class diagram, dalam class ( = sebuah spesifikasi yang akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek)ada 2 unsur, yaitu attribut ( = var yang menyimpan data yang membedakan antar objek lainnya dalam kelas, memberi informasi mengenai kelas ) dan method ( = prosedure/fungsi yang tergabung dalam objek bersama-sama dengan atribut, mengakses data dalam kelas ).  

Monday, April 25, 2011

UML : Class Diagram




Seperti yang sudah kami paparkan pada bahan ajar dengan judul Unified Modeling Language, salah satu dari diagram UML yang digunakan untuk, perancangan sistem berbasis iterasi adalah Class Diagram. Dalam penjelasan teori tentang PBO, class diagram paling banyak digunakan, selain itu class diagram menjadi bagian dari static view pada perancangan sistem dengan memanfaatkan konsep forward or reserve.

Pada perancangan sistem yang menggunakan Class Diagram, mempunyai komponen-komponen yang berupa class dan interface beserta atributnya, operasi dari sistem, relasi dan constraint yang menghubungkan antar obyek. Selain itu class diagram memilki 3 unsur yaitu nama, atribut dan metoda. Atribut dan metoda memilik salah sifat public, private atau protected.

Private berarti sebuah class tidak dapat digunakan/ dipanggil dari luar class yang bersangkutan, sifat ini berlawanan dengan sifat public, dimana sebuah class dapat dipanggil oleh siapa saja. sedangkan protected berarti private dan hanya dapat dipanggil oleh kelas yang mewarisinya.
Atribut sebuah class memiliki bentuk umum penulisan visibility name : type multiplicity = default{property-string}
Contoh + nama: String [10] = "Untitled" {readOnly}, memilki arti bahwa atribut tersebut public karena, + berarti public, - berarti private, # berarti protected, “Untitled” adalah nilai yang diberikan secara default jika tidak ditentukan saat objek dibuat, {readOnly} adalah properti tambahan dari atribut, dimana disini berarti tidak bisa dimodifikasi. Multiplicity memilki kemiripan relasi one to one dalam Entity Relathionship Digram yang menjelaskan berapa banyak obyek yang mengisi poperti ( 0,1 atau ...n)
Sedangkan metoda atau operasi memliki bentuk umum visibility name (parameter-list) : return-type {property-string}, dengan parameter pada parameter-list dinotasikan seperti pada atribut yaitu direction name: type = default value dan Direction bisa berupa: in, out, atau in-out.

Class yang dibuat berdasarkan analisa sistem memiliki hubungan dengan class yang lainnnya dalam sebuah class diagram, relasi atau hubungan itu antara lain Asosiasi(hubungan statis antar class), Agregasi(hubungan yang menyatakan bagian dari), Pewarisan(hubungan hirarkies antar class), Hubungan dinamis(rangkaian pesan yang dikrimkan antar class).
Referensi :
  1. http://herowintolo.blogspot.com/2011/04/unified-modeling-language-uml.html
  2. Sri Dharwiyanti , Romi Satria Wahono, Pengantar UML, Ilmukomputer.com

Sunday, April 24, 2011

Unified Modeling Language (UML)


Unified Modeling Language atau yang dikenal sebagai UML merupakan keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu penmdeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi obyek (PBO).

Pendifinisian tentang UML diatas yang diambil dari refernsi No 1, memang terlihat sangat sederhana, dan tidak mewakili secara mutlak tentang UML. Kadang orang yang berkecimpung dalam bidang IT masih salah memahami bahwa UML = PBO = Java Language, padahal tidak demikian. Ada yang mengatakan bahwa UML merupakan bahasa pemrograman yang dapat digunakan untuk mengembangkan aplikasi PBO. Meski L dibagian belakang dari UML berarti language, tetapi jangan diterjemahkan sebagai bahasa pemrograman, melainkan bahasa grafi untuk pemodelan. Sedangkan PBO, merupakan bahasa pemrograman yang digunakan untuk mendukung penyelesaian pembangun sebuah sistem yang dipecah menjadi bagian yang kecil-kecil atau menjadi sebuah fungsi atau dikenal sebagai proses iteratif, hal ini tentu bertolak belakang dengan proses waterfall yang basisnya adalah aktivitas.
Java language sendiri merupakan sebuah bahasa pemrograman yang dapat digunakan untuk berbagai macam platfor sistem operasi, hal ini disebabkan cara kerjanya yang terbagi menjadi bagian yang di compile dan bagian yang di interpretasikan. Java language dikenal 10 tahun setelah orang mengenal PBO sebagai sebuah teknik pembuatan program diera tahun 80-an. Implementasi PBO jaman dulu lebih banyak digunakan untuk bahasa pemrograman C++, hingga akhirnya di era 90-an muncul bahasa pemrograman yang berbasis fungsi yaitu java language.

Kembali ke UML, berikut ini jenis diagram UML yang sering digunakan dalam model perancangan sistem berbasis iterasi :
  1. Use case diagrams
  2. Class diagrams
  3. Object diagrams
  4. Sequence diagrams
  5. Collaboration diagrams
  6. Statechart diagrams
  7. Activity diagrams
  8. Component diagrams
  9. Deployment diagrams
Use Case Diagrams
Use case diagram adalah gambaran graphical dari beberapa atau semua actor, use case, dan interaksi diantara komponen-komponen tersebut yang memperkenalkan suatu sistem yang akan dibangun. Use case diagram menjelaskan manfaat suatu sistem jika dilihat menurut pandangan orang yang berada di luar sistem. Diagram ini menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem tersebut berinteraksi dengan dunia luar. Use case diagram terdiri dari Use case, Actors, Relationship,System boundary boxes (optional) dan Packages (optional)
Use case dibuat berdasar keperluan actor, merupakan “apa” yang dikerjakan system, bukan “bagaimana” system mengerjakannya, diberi nama yang menyatakan apa hal yang dicapai dari hasil interaksinya dengan actor, dinotasikan dengan gambar (horizontal ellipse), dan biasanya menggunakan kata kerja, serta Nama use case boleh terdiri dari beberapa kata dan tidak boleh ada 2 use case yang memiliki nama yang sama










Actor, bukanlah bagian dari use case diagram, namun untuk dapat terciptanya suatu use case diagram diperlukan beberapa actor. Actor tersebut mempresentasikan seseorang atau sesuatu (seperti perangkat, sistem lain) yang berinteraksi dengan sistem. Sebuah actor mungkin hanya memberikan informasi inputan pada sistem, hanya menerima informasi dari sistem atau keduanya menerima, dan memberi informasi pada sistem. Actor hanya berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Actor digambarkan dengan stick man. Actor dapat digambarkan secara secara umum atau spesifik, dimana untuk membedakannya kita dapat menggunakan relationship.








Uses case dan actor dihubungkan dengan relasi dalam diagram uses case, ada beberapa relasi yang terdapat pada use case diagram :
1. Association, menghubungkan link antar element.
2. Generalization, disebut juga inheritance (pewarisan), sebuah elemen dapat merupakan spesialisasi dari elemen lainnya.
3. Dependency, sebuah element bergantung dalam beberapa cara ke element lainnya.
4. Aggregation, bentuk assosiation dimana sebuah elemen berisi elemen lainnya.
Associations bukan menggambarkan aliran data/informasi, tetapi digunakan untuk menggambarkan bagaimana actor terlibat dalam use case. Ujung panah pada association antara actor dan use case mengindikasikan siapa/apa yang meminta interaksi dan bukannya mengindikasikan aliran data. association antara actor dan use case yang menggunakan panah terbuka untuk mengindikasikan bila actor berinteraksi secara pasif dengan system anda. Tipe relasi/ stereotype yang mungkin terjadi pada use case diagram :
  • include, yaitu kelakuan yang harus terpenuhi agar sebuah event dapat terjadi, dimana pada kondisi ini sebuah use case adalah bagian dari use case lainnya.
  • extends, kelakuan yang hanya berjalan di bawah kondisi tertentu seperti menggerakkan alarm.
  • communicates, mungkin ditambahkan untuk asosiasi yang menunjukkan asosiasinya adalah communicates association . Ini merupakan pilihan selama asosiasi hanya tipe relationship yang dibolehkan antara actor dan use case.
Generalization/inheritance digambarkan dengan sebuah garis berpanah tertutup pada salah satu ujungnya yang menunjukkan lebih umum, Generalization/inheritance dipakai ketika ada sebuah keadaan yang lain sendiri/perlakuan khusus (single condition)
Referensi :
  1. Martin Fowler, UML Distilled 3 edition, Pearson Education, 2004
  2. http://www.omg.org/gettingstarted/what_is_uml.htm
  3. http://edn.embarcadero.com/article/31863