All posts by muhammad irfan faisal

About muhammad irfan faisal

MUHAMMAD IRFAN FAISAL 133040216 PASUNDAN UNIVERSITY INFORMATICS ENGINEERING

The basic concept in OOP Programming (OBJECT ORIENTED PROGRAMING)

1. Abstraction

Abstraksi adalah kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.

  • Kelas merupakan deskripsi abstrak informasi dan tingkah laku dari sekumpulan data.
  • Kelas dapat diilustrasikan sebagai suatu cetak biru(blueprint) atau prototipe yang digunakan untuk menciptakan objek.
  • Kelas merupakan tipe data bagi objek yang mengenkapsulasi data dan operasi pada data dalam suatu unit tunggal.
  • Kelas mendefinisikan suatu struktur yang terdiri atas data kelas (data field), prosedur atau fungsi (method), dan sifat kelas (property).

Contoh Source Code Abstraction :

// buat kelas Mobil.java

abstract class Mobil {

abstract public void injakPedal();

public void injakRem(){

System.out.println(“Mobil Berhenti”);

}

}

 

// buat kelas Kijang.java

public class Kijang extends Mobil{

public void injakPedal(){

System.out.println(“Kecepatan 80 km/jam”);

}

}

 

//buat kelas Panther.java

public class Panther extends Mobil{

public void injakPedal(){

System.out.println(“Mobil melambat”);

}

}

 

//buat kelas tesMobil.java

//jalankan program AppMobil.java untuk melihat hasilnya,

public class tesMobil{

public static void main (String args []){

Mobil mob = new Mobil() {

@Override

public void injakPedal() {

// TODO Auto-generated method stub

System.out.println(“Mobil melaju lambat”);

}

};

Kijang kj = new Kijang();

Panther pan = new Panther();

mob.injakPedal();

mob = kj;

kj.injakPedal();

mob = pan;

pan.injakPedal();

}

}

hasil running program :

2. Encapsulation

Definisi enkapsulasi: Pembungkusan variabel dan method dalam sebuah obyek yang terlindungi serta menyediakan interface untuk mengakses variabel tersebut. Variabel dan method yang dimiliki oleh suatu objek, bisa ditentukan hak aksesnya. Dalam OOP, konsep enkapsulasi sebenarnya merupakan perluasan dari struktur dalam bahasa C.

Contoh: jam tangan. Dalam hal ini, penting sekali untuk mengetahui waktu, sedangkan cara jam mencatat waktu dengan baik antara jam bertenaga baterai atau bertenaga gerak tidaklah penting kita ketahui.

Dengan kata lain enkapsulasi berfungsi untuk memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam/dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.

Manfaat Enkapsulation :

1. Modularitas

Source code dari sebuah class dapat dikelola secara independen dari source code class yang lain. Perubahan internal pada sebuah class tidak akan berpengaruh bagi class yang menggunakannya.

2. Information Hiding

Penyembunyian informasi yang tidak perlu diketahui objek lain.

Contoh Source Code Encapsulation :

public class siswa {

private int nrp;

public void setNrp(int n){

nrp = n;

}

}

/* buat kelas baru dengan nama Mahasiswa.java */

public class Mahasiswa {

private int nrp;

private String nama;

public Mahasiswa(int i, String n) {

this.nrp = i;

this.nama = n;

}

public void  setNRP(int nrp) {

this.nrp = nrp;

}

public int getNRP () {

return nrp;

}

public void setNama(String nama) {

this.nama = nama;

}

public String getNama() {

return nama;

}

}//end class

/* buat kelas main untuk menjalankan program dengan nama TesMahasiswa.java */

public class TesMahasiswa {

public static void main (String []args){

int nomer;

String nm;

Mahasiswa siswa = new Mahasiswa(123, “1”);

System.out.println(siswa.getNRP());

System.out.println(siswa.getNama());

siswa.setNama(“SoOn”);

siswa.setNRP(111);

System.out.println(siswa.getNRP());

System.out.println(siswa.getNama());

}

} //end class

output program :

 

3. Inheritance (Pewarisan)

Pewarisan merupakan pewarisan atribut dan method dari sebuah class ke class lainnya. Class yang mewarisi disebut superclass dan Class yang diwarisi disebut subclass. Subclass bisa berlaku sebagai superclass bagi class lainya, disebut sebagai multilevel inheritance.

Contoh : terdapat class sepeda dan sepeda gunung. Sepeda termasuk superclass.  Sepeda gunung termasuk subclass. Hal ini dikarenakan sepeda gunung memiliki variabel dan method yang dimiliki oleh sepeda.

Prinsip dasar inheritance yaitu persamaan-persamaan yang dimiliki oleh beberapa kelas dapat digabungkan dalam sebuah class induk sehingga setiap kelas yang diturunkannya memuat hal-hal yang spesifik untuk kelas yang bersangkutan.

Contoh Pewarisan

Keuntungan Pewarisan

  • Subclass menyediakan state/behaviour yang spesifik yang membedakan dengan superclass, sehingga memungkinkan programmer untuk menggunakan ulang source code dari superclass yang telah ada.
  • Programmer dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class (abstraksi), untuk mendefinisikan class dengan tingkah laku dan state secara umum.

Single & Multiple Inheritance

Bahasa C adalah contoh multiple inheritance. Suatu class diperbolehkan untuk mempunyai lebih dari satu superclass. Variabel dan method yang diwariskan merupakan kombinasi dari superclass-nya. Java adalah contoh single inheritance. Suatu class hanya boleh mempunyai satu superclass.

Multilevel Inheritance

Suatu subclass bisa menjadi superclass bagi class yang lain.

Contoh Source Code Inheritance :

/* Definisi kelas A */

public class A {

}

 

/* Definisi subkelas B turunan kelas A */

public class B extends A {

}

Apa yang diwariskan?

Semua fields bertipe “protected” or “public”.

“private” fields are only visible to the class that declared them *.

“protected” fields are only visible to the class that declared them, and any subclasses

Semua public dan protected methods.

public class list {

protected int[] values;

private   int   size;

}

public class stack extends list {

public void some_method () {

values[i] = myinteger; // legal

size++;  // illegal

}

Kapan kita menerapkan inheritance?

Kita baru perlu menerapkan inheritance pada saat kita jumpai ada suatu class yang dapat diperluas dari class lain.

Sebagai contoh kelas manusia diturunkan menjadi kelas : programer, tentara :

perhatikan contoh berikut :

/* Disimpan dalam file manusia.java */

public class Manusia {

protected String nama;

Manusia(String n){

this.nama = n;

}

}

/* buat kelas lagi dan simpan dalam file Programmer.java dan ketik source code nya */

public class programmer extends Manusia {

public programmer(String a){

super(a);

}

public String tampilkanNama(){

return nama;

}

public void kerja(){

System.out.println(“tak.,.tik.,.tukk,.taakkkkkk”);

}

public void makan(){

System.out.println(“Nyam.,nyam.,nyammm..,.,”);

}

public void bersantai(){

System.out.println(“Time Up., Game Over”);

}

} //end class

/* buat kelas main dengan nama SonArif.java dan ketik source code nya */

 

public class SonArif {

public static void main (String []args){

programmer Soon = new programmer(“Ahmad Son Arif”);

System.out.println(“Nama “+Soon.tampilkanNama());

Soon.makan();

Soon.kerja();

Soon.bersantai();

}

} //end class

hasil running program SonArif.java sebagai berikut:

/* buat kelas tentara.java dan ketik source code nya */

public class tentara extends Manusia {

public String pangkat;

public tentara(String h, String i){

super(h);

this.pangkat = i;

}

public String TampilkanPangkat(){

return pangkat;

}

public String TampilkanNama(){

return nama;

}

public void mengabdi(){

System.out.println(“Dor.,.Dorr.,DOORRRR”);

}

public void maem(){

System.out.println(“Makan Nasi di barengi senpi”);

}

} // end class

 

/* kemudian buat kelas main dengan nama BalaTentara.java untuk menjalankan program dan ketik source code berikut : */

public class balaTentara {

public static void main (String []args){

tentara tt = new tentara(“Badu”, “Kopral”);

System.out.println(“Nama “+tt.TampilkanNama());

System.out.println(“Pangkat “+tt.TampilkanPangkat());

tt.maem();

tt.mengabdi();

}

}//end class

hasil running BalaTentara.java sebagai berikut ;

 

4. Polymorphism

Polimorfisme adalah kemampuan suatu obyek untuk mempunyai lebih dari satu bentuk. Polimorfisme tidak bergantung kepada pemanggilan subrutin. Metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesan tersebut dikirim.

Contohnya, bila sebuah burung menerima pesan “gerak cepat”, dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.

Sebagai Ilustrasiya :
Sebagai contoh adalah sebuah obyek wanita, beberapa peran yang mungkin dimiliki adalah:
Bagi suami maka dia berperan sebagai seorang istri.
Buat anak-anak berperan sebagai ibu.
Di tempat kerja maka dia akan berperan sebagai seorang karyawan.
Di tempat kuliah berperan sebagai mahasiswi.
Di tempat arisan berperan sebagai ketua arisan.

Dari contoh diatas bisa kita lihat bahwa wanita tersebut adalah orang yang sama, tetapi memiliki peran yang berbeda bagi orang yang berinteraksi dengannya.

Contoh Source C0de Polymorphism

/* Disimpan dalam file “sopir.java” */

polimorfisme
Dedi adalah seorang sopir keturunan manusia, untuk menginstantiasi objek dedi

ditunjukkan dalam kode berikut.

/* Disimpan dalam file “dedi.java” */

contoh polimorfisme
Kemudian Andi sang programmer, Badu sang tentara dan Dedi sang sopir diperintahkan untuk bekerja, apa reaksinya?

Untuk melihat reaksi masing-masing, perhatikan kode java berikut!

/* Disimpan dalam file “pekerja.java” */

contoh polimorfisme
Hasil eksekusi para pekerja adalah sebagai berikut:

Tak…Tak…Klik…
Dor… Dor… Dor…
Ngung… Ngung… Ngung…Ciiit.

Kesimpulan :
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bagian administrasi, maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bagian administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah, dapat dilakukan dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

 

 

Referensi :

  1. https://ahmadsonarif.wordpress.com/category/praktikum-pemrograman-berorientasi-objek-java/
  2. http://www.adityarizki.net/2012/06/konsep-dasar-pemrograman-berorientasi-objek/
  3. https://fatihamaliah.wordpress.com/2013/04/02/pengertian-konsep-oop-object-oriented-programming/

OBJECT AND CLASS

1. CLASS PERPUSTAKAAN

Attribute/Variabel :

– Judul_Buku,

-Genre_Buku,

-Harga_sewa ;

Contoh source

irfan_prps

 

Pada class Perpustakaan akan ada akses modifier berupa private pada atribut/variabel ‘Judul_Barang’ bertipe data String, variabel ‘Genre_Buku’ bertipe data String, dan variabel ‘Harga_sewa’ bertipe data int.  Kemudian terdapat juga beberapa method setter dan getter, dimana setter digunakan untuk mengisi nilai pada variabel variabel itu sendiri, sedangkan getter digunakan untuk mengambil nilai pada variabel yang sebelumnya telah diisi oleh method setter. Adapun method toString digunakan untuk merepresentasikan objek ke dalam bentuk string. Lebih jelasnya perhatikan Source Code.

2. Class Main

irfan_main

Penjelasan :

Pada kelas main ini adalah dimana contoh kelas sebelumnya akan dipanggil. Maka deklarasikan terlebih dahulu class Perpustakaan ke dalam variabel bernama “prps1”. Setelah di deklarasikan, maka kita perlu mengisikan nilai terhadap attribute – attribute pada objek tersebut dengan menggunakan method setter. Setelah semuanya dilakukan maka kita bisa menampilkan objek tersebut dengan cara seperti pada gambar. Pada class Perpustakaan, adalah dimana pemanggilan menggunakan method toString sebaliknya pada class Perpustakaan, menggunakan method getter untuk pemanggilannya. Lebih jelasnya perhatikan source code.

Hasil Running :

run_prps

 

Standar Kualitas dan Strategi Pengujian pada Perangkat Lunak

A. Standar Kualitas

Standar Kualitas Perangkat Lunak adalah Penyesuaian kebutuhan fungsional dan performa yang ditetapkan secara eksplisit, standar pengembangan yang terdokumentasi secara eksplisit dan karakteristik implisit yang diharapkan dari seluruh software yang dikembangkan secara professional. Standar Kualitas Perangkat Lunak diaplikasikan secara menyeluruh pada proses pengembangan perangkat Lunak yang meliputi :

  • Analisis, perancangan, pengkodean, dan metode serta peralatan ujicoba.
  • Tinjauan ulang teknikal secara formal yang diaplikasikan pada setiap tahapan pengembangan software.
  • Strategi ujicoba dengan banyak tahapan (multitiered).
  • Pengawasan terhadap dokumentasi software dan perubahan yang dialaminya.
  • Suatu prosedur untuk menjamin pemenuhan standar pengembangan software (jika ada).
  • Mekanisme pengukuran dan laporan

 

Ada dua tolak ukur yang menjadi standar kualitas perangkat lunak yaitu ISO 9000 dan ISO 9126, yang dibuat oleh International Organization for Standardization (ISO) dan International Electrotechnical Commission (IEC).

  • ISO 9001 adalah standar kualitas yang berkalu untuk rekayasa perangkat lunak. Ada 20 syarat yang menjadi standar kualitas perangkat lunak yang digambarkan oleh ISO 9001:
  1. Tanggung jawab manajemen
  2. Sistem kualitas
  3. Kajian kontrak
  4. Kontrol desain
  5. Kontrol data dan dokumen
  6. Pembelian
  7. Kontrol terhadap produk yang disuplai oleh pelanggan
  8. Identifikasi dan kemampuan penelusuran produk
  9. Kontrol proses
  10. Pemeriksaan dan pengujian
  11. Kontrol pemeriksaan, pengukuran, dan perlengkapan pengujian
  12. Pemeriksaan dan status pengujian
  13. Kontrol ketudaksesuaian produk
  14. Tindakan preventif dan korektif
  15. Penanganan, penyimpanan, pengepakan, preservasi, dan penyampaian
  16. Kontrol terhadap catatan kualitas
  17. Audit kualitas internal
  18. Pelatihan
  19. Pelayanan
  20. Teknik statistik
  • ISO 9126 menetapkan 6 karakteristik yang menjadi standar kualitas perangkat lunak, yaitu :
  1. Functionality: Kemampuan menutupi fungsi produk perangkat lunak yang menyediakan kepuasan kebutuhan user.
  2. Reliability: Kemampuan perangkat lunak untuk perawatan dengan level performansi.
  3. Usability: Kemampuan yang berhubungan dengan penggunaan perangkat lunak.
  4. Efficiency: Kemampuan yang berhubungan dengan sumber daya fisik yang digunakan ketika perangkat lunak dijalankan.
  5. Maintainanility: Kemampuan yang dibutuhkan untuk membuat perubahan perangkat lunak.
  6. Portability: Kemampuan yang berhubungan dengan kemampuan perangkat lunak yang dikirim ke lingkungan berbeda.

Dari 6 karakteristik kualitas dibagi menjadi beberapa subbab seperti yang dijelaskan dalam gambar ini :

sqa

 


B. Strategi Pengujian

Strategi Pengujian Perangkat Lunak adalah proses menjalankan suatu program dengan maksud tertentu untuk menemukan error sebelum pengiriman hingga berakhir ke user/pengguna. Berikut  adalah ilustrasi yang ditunjukkan pada saat pengujian software:

testing

Jembtan berayun, dimulai dari errors –>  requirements conformance/kesesuaian –>performance –> indikasi kualitas.

  • Siapa yang menguji software?
    download (1)
    Developer: (pemahaman sistem tetapi, akan di uji “gently/dengan hati-hati” dan di dorong dengan “Delivery/laporan”.
    Independent: Tester (harus belajar sistem,tetapi berusaha untuk istirahat dan di kendalikan oleh kualitas).
  • Gambaran aliran uji informasi:
    download (2)
    Terdiri dari tiga bagian yaitu:
    “Testing” dimana meiliki dua item yakni software dan test konfigurasi. Hasil dari testing(Test result) akan maintance  tetapi juga mengecualikan hasil(Expected result). kemudian aliran terakhir adalah “Debug/mengecek” yang memperoleh input dari error hasil dan menghasilkan output corrections.

Strategi Testing

download (3)

 Ada empat strategi dalam pengujian perangkat lunak:

  1. Testing Unit: Unit testing (uji coba unit) fokusnya pada usahaverifikasi pada unit terkecil dari desain perangkat lunak
  2. Testing Integration: Teknik yg sistematis untuk penyusunan struktur program, pada saat dikerjakan uji coba untuk memeriksakesalahan yg nantinya digabungkan dengan interface
  3. Testing Validation: Proses engujian fungsi yg ada pada perangkat lunak apakah sudah sesuai dengan yg diharapkan pemakai.
  4. Testing System: Rentetan pengujian yg berbeda-beda dengan tujuan utama mengerjakan keseluruhan elemen system yg dikembangkan.

Keempat strategi diatas menuju satu tujuan yang sama.Stategi testing di mulai dari “testing-in-the-small” dan berpindah menuju “testing-in-the-large”.

 

Referensi :

tipe tipe diagram (rekayasa perangkat lunak)

  1. Use Case Diagram

Use case adalah abstraksi dari interaksi antara system dan actor. Use case bekerja dengan cara mendeskripsikan tipe interaksi antara user sebuah system dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah system dipakai. Use case merupakan konstruksi untuk mendeskripsikan bagaimana system akan terlihat di mata user. Sedangkan use case diagram memfasilitasi komunikasi diantara analis dan pengguna serta antara analis dan client.

              Gambar Use Case Diagram

Diagram Use Case berguna dalam tiga hal :

–      Menjelaskan fasilitas yang ada (requirements)

–          Use Case baru selalu menghasilkan fasilitas baru ketika sistem di analisa, dan design menjadi lebih jelas.

–      Komunikas dengan klien

–          Penggunaan notasi dan simbol dalam diagram Use Case membuat pengembang lebih mudah berkomunikasi dengan klien-kliennya.

–      Membuat test dari kasus-kasus secara umum

–          Kumpulan dari kejadian-kejadian untuk Use Case bisa dilakukan test kasus layak untuk kejadian-kejadian tersebut.

  1. Activity Diagram

Pada dasarnya diagram Activity sering digunakan oleh flowchart. Diagram ini berhubungan dengan diagram Statechart. Diagram Statechart berfokus pada obyek yang dalam suatu proses (atau proses menjadi suatu obyek), diagram Activity berfokus pada aktifitas-aktifitas yang terjadi yang terkait dalam suatu proses tunggal. Jadi dengan kata lain, diagram ini menunjukkan bagaimana aktifitas-aktifitas tersebut bergantung satu sama lain. Sebagai contoh, perhatikan proses yang terjadi. “Pengambilan uang dari bank melalui ATM.” Ada tiga aktifitas kelas (orang, dan lainnya) yang terkait yaitu : Customer, ATM, and Bank. Proses berawal dari lingkaran start hitam pada bagian atas dan berakhir di pusat lingkaran stop hitam/putih pada bagian bawah. Aktivitas digambarkan dalam bentuk kotak persegi. Lihat gambar di bawah ini, agar lebih jelas :

Contoh Diagram Activity ‘Pengambilan Uang melalui ATM’.

Gambar

 

Diagram Activity dapat dibagi menjadi beberapa jalur kelompok yang menunjukkan obyek mana yang bertanggung jawab untuk suatu aktifitas. Peralihan tunggal (single transition) timbul dari setiap adanya activity (aktifitas), yang saling menghubungi pada aktifitas berikutnya. Sebuah transition (transisi) dapat membuat cabang ke dua atau lebih percabangan exclusive transition (transisi eksklusif). Label Guard Expression (ada didalam [ ]) yang menerangkan output (keluaran) dari percabangan. Percabangan akan menghasilkan bentuk menyerupai bentuk intan. Transition bisa bercabang menjadi beberapa aktifitas paralel yang disebutFork. Fork beserta join (gabungan dari hasil output fork) dalam diagram berbentuksolid bar (batang penuh).

  1. Sequence Diagram

Diagram Class dan diagram Object merupakan suatu gambaran model statis. Namun ada juga yang bersifat dinamis, seperti Diagram Interaction. Diagram sequence merupakan salah satu diagram Interaction yang menjelaskan bagaimana suatu operasi itu dilakukan; message (pesan) apa yang dikirim dan kapan pelaksanaannya. Diagram ini diatur berdasarkan waktu. Obyek-obyek yang berkaitan dengan proses berjalannya operasi diurutkan dari kiri ke kanan berdasarkan waktu terjadinya dalam pesan yang terurut. Di bawah ini adalah diagram Sequence untuk pembuatan Hotel Reservation. Obyek yang mengawali urutan message adalah ‘aReservation Window’.

Contoh Diagram Sequence ‘Pemesanan kamar di Hotel’.

Gambar

‘Reservation window’ mengirim pesan makeReservation() ke ‘HotelChain’. Kemudian ‘HotelChain’ mengirim pesan yang sama ke ‘Hotel’. Bila ‘Hotel’ punya kamar kosong, maka dibuat ‘Reservation’ dan ‘Confirmation’. Lifeline adalah garis dot (putus-putus) vertikal pada gambar, menerangkan waktu terjadinya suatu obyek. Setiap panah yang ada adalah pemanggilan suatu pesan. Panah berasal dari pengirim ke bagian paling atas dari batang kegiatan (activation bar) dari suatu pesan pada lifeline penerima. Activation bar menerangkan lamanya suatu pesan diproses. Pada gambar diagram , terlihat bahwa ‘Hotel’ telah melakukan pemanggilan diri sendiri untuk pemeriksaan jika ada kamar kosong. Bila benar, maka ‘Hotel’membuat ‘Reservation’ dan ‘Confirmation’. Pemanggilan diri sendiri disebut dengan iterasi. Expression yeng dikurung dengan “[ ]”, adalah condition(keadaan kondisi). Pada diagram dapat dibuat note (catatan). Pada gambar, terlihat seperti selembar kertas yang berisikan teks. Note bisa diletakan dimana saja pada diagram UML.

  1. Communication Diagram (Collaboration diagram in versi 1.x)

Collaboration diagram menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek. Setiapmessage memiliki sequence number, di mana message dari level tertinggi memiliki nomor 1. Messages dari level yang sama memiliki prefiks yang sama. Diagram Collaboration juga merupakan diagram interaction. Diagram membawa informasi yang sama dengan diagram Sequence, tetapi lebih memusatkan atau memfokuskan pada kegiatan obyek dari waktu pesan itu dikirimkan.

Contoh Diagram Collaboration ‘Pemesanan kamar di Hotel’.

Gambar

Kotak kegiatan obyek diberi label dengan nama kelas atau obyek (atau keduanya). Nama kelas dibatasi dengan colons / titik dua ( : ). Setiap pesan pada diagram Collaboration mempunyai angka yang terurut. Pesan yang tingkatannya tertinggi adalah angka 1. Pesan yang berada pada tingkat yang sama memiliki prefix yang sama, namun suffix berbeda bergantung pada posisinya; hanya untuk angka 1, 2, dan seterusnya.

  1. Class Diagram

Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment , pewarisan, asosiasi, dan lain-lain.

Class memiliki tiga area pokok :

  1. Nama (dan stereotype)
  2. Atribut
  3. Metoda

Atribut dan metoda dapat memiliki salah satu sifat berikut :

  • Private, tidak dapat dipanggil dari luar class yang bersangkutan
  • Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya
  • Public, dapat dipanggil oleh siapa saja

Class dapat merupakan implementasi dari sebuah interface, yaitu classabstrak yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class.Dengan demikian interface mendukung resolusi metoda pada saat run-time. Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi package. Kita juga dapat membuat diagram yang terdiri atas package.

Gambar Class Diagram

Hubungan Antar Class

  1. Asosiasi, yaitu hubungan statis antar class . Umumnya menggambarkan classyang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class.
  2. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
  3. Pewarisan, yaitu hubungan hirarkis antar class . Class dapat diturunkan dariclass lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
  4. Hubungan dinamis, yaitu rangkaian pesan ( message ) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian.

 

sumber ; http://noviastutik.blogspot.com/2012/09/diagram-diagram-dalam-uml-unified_24.html

APTIKOM

TIK dinilai oleh sebuah negara untuk kemajuan di masa kini dan mendatang. Kemajuan teknologi informasi dan komunikasi disingkat TIK telah merubah cara pandang kerja manusia di era globalisasi ini seperti singapura misalnnya, mencoba membangun dirinya menjadi the intelligence island.  sementara malaysia mencoba untuk menciptakan kota pertama di dunia berbasis teknologi informasi da komunikasi melalui mega proyek multi media super corridor dimana 7 aplikasi flagship. ada juga salah satu negara termiskin di dunia yaitu India yang telah menyulap bangalore menjadi salah satu pusat inovasi TIK. TIK dinilai

Peranan strategis SDM informatika, keunggulannya kompetitif nasional dari sebuah negara ditentukan oleh dua hal penting yaitu SDA dan SDM. Artinya adalah bahwa pemanfaatan TIK  secara efektif dan efesien merupakan critical succes factor dalam meningkatkan daya saing nasional.

Karekteristik individu informatika , dibagi menjai dua yaitu IT worker dan IT enabled worker.  IT worker (ITW)yaitu keahlian khusus untuk melahirkan karya cipta di bidang informatika seperti : program,aplikasi,algoritma,perangkat keras,metodologi,pendekatan implementasi , dan lain sebagainya. IT enabled worker (IEW) adalah mereka yang memiliki keterampilan dalam menggunakan atau me-utilasi teknologi informasi untuk membantu serta menunjang aktivitas kesehari-harian mereka.

Tipe profesi lulusan informatika berperan sebagai :

1. Karyawan yang akan meniti kariernya dari level staf hingga tingkatan ( manajemen )

karyawan dikenal dgn 3 jenis profesi : 1.sistem analis, programer,dan operator

2. Wiraswastawan biasannya menggunakan kreatifitas dan inovasi

paling tidak ada 3 jenis yang paling sering mengemuka :

– pencipta hardware

– pencipta software , dan

– pencipta atau penyedia jasa jasa (services)

3. Profesional yang akan menjadi freelancer

4. Birokrat biasannya akan menjadi pegawai negeri

5. Akademis memfokuskan diri mejadi pengajar (dosen)