October 05, 2014

USECASE DIAGRAM

Usecase Diagram beserta Usecase Scenario perancangan aplikasi kamus berbasis android.

Gambar1 : Usecase Diagram


Gambar2



Gambar3



Gambar4


Gambar5



Gambar6

September 27, 2014

SOFTWARE REQUIREMENTS SPECIFICATION (SRS)

1. Introduce SRS

Software Requirements Specification (SRS) atau dapat diartikan Spesifikasi Kebutuhan Perangkat Lunak (SKPL), adalah suatu dokumen yang menjelaskan tentang berbagai kebutuhan yang harus dipenuhi oleh suatu software. Pada dasarnya SRS adalah suatu dokumen yang menyatakan kebutuhan perangkat lunak sebagai hasil dari proses analisis yang dilakukan dalam konteks pengembangan perangkat lunak. Dokumen ini dibuat oleh developer (pembuat software) setelah menggali informasi dari calon pemakai software. Pembuatannya pun seharusnya mengikuti standar yang ada dan paling diakui oleh para praktisi rekayasa software di dunia. Oleh karena itu, standar yang akan dibahas di sini adalah standar dari IEEE. Dokumen ini dibuat untuk membantu membuat spesifikasi perangkat lunak yang akan dikembangkan. Isi dari dokumen ini sebagian besar adalah terjemahan dari dokumen IEEE Std 830-1993.

IEEE membuat standar SRS agar dokumen penting itu tidak ambigu dan tentu saja komplit. Dengan standar itu, user dapat mencurahkan semua keinginannya terkait software tersebut dengan jelas dan akurat sehingga sang developer pun dapat memahami apa yang diinginkan pengguna dengan tepat. Bahkan, bagi perorangan, standar ini dapat membantunya dalam mengembangkan outline SRS yang baku khusus untuk perusahaannya, membantunya membuat dokumen SRS dengan format dan isi yang standar (minimal), serta membantunya mengembangkan rincian-rincian pendukung lainnya. Ada beberapa istilah yang digunakan dan harus diketahui untuk memahami standar SRS yang dibuat IEEE ini. Istilah-istilah tersebut adalah:

  • Kontrak: dokumen yang mengikat secara hukum dan disepakati oleh customer dan supplier, termasuk syarat-syarat teknologi dan organisasi, biaya, serta jadwal pengerjaan. Kontrak bisa mengandung sesuatu yang kurang formal tetapi bermanfaat, seperti komitmen atau harapan dari pihak yang terlibat.
  • Customer (pelanggan) : Pihak yang membayar untuk produk dan biasanya yang menentukan persyaratan (requirements).
  • Supplier (pemasok): Pihak yang membuat produk software untuk customer.
  • Pengguna: Pihak yang mengoperasikan atau berinteraksi langsung dengan software. Pengguna dan customer biasanya bukan orang yang sama.

 2. Manfaat SRS

  1. Sebagai bentuk perjanjian antara customer dan supplier tentang software apa yang akan dibuat.
  2. Mengurangi beban dalam proses pengembangan software.
  3. Sebagai bahan perkiraan biaya dan rencana penjadwalan.
  4. Sebagai dasar validasi dan verifikasi software di ujung penyelesaian proyek nantinya.
  5. Memfasilitasi transfer, semisal software tersebut ingin ditransfer ke pengguna atau mesin-mesin yang lain. Customer pun merasa mudah jika ingin mentransfer software ke bagian-bagian lain dalam organisasinya. Bahkan, jika terjadi pergantian personil developer, proyek dapat mudah ditransfer ke personil baru dengan memahami SRS ini.
  6. Mendasari perbaikan produk software di kemudian hari. Jadi, kadang SRS boleh diperbaiki dengan alasan dan mekanisme tertentu serta atas kesepakatan antara customer dan developer.

3. Hal yang perlu dipertimbangkan dalam menyusun SRS

  • Sifat SRS

  1. Fungsionalitas : Untuk apa suatu perangkat lunak dibuat.
  2. Antar muka eksternal (External Interface) : Dengan apa perangkat lunak berinteraksi dengan user, system hardware, perangkat keras di luar sistem dan perangkat lunak lain.
  3. Performansi : Sejauh apa kecepatan, ketersediaan (availability), waktu tanggap (response time),waktu recovery dari berbagai fungsi perangkat lunak yang dibuat.
  4. Atribut : Seberapa tingkat portabilitas, tingkat kebenaran (correctness), tingkatpemeliharaan (maintainability), dan tingkat keamanan yang ingin dicapai.
  5. Batasan perancangan : Apakah diperlukan suatu standar, bahasa yang khusus, kebijaksanaan integritasbasisdata, batasan sumberdaya, lingkungan operasi, dan lain-lain yang membatasi pilihan-pilihan yang bisa digunakan atau keputusan-keputusan yang bisa diambilketika perancangan.
  • Lingkungan SRS

Mengingat SKPL pada akhirnya akan menjadi dasar bagi kontrak antara developer dan customer , maka suatu dokumen SKPL harus memenui syarat-syarat berikut:

1. Mendefinisikan kebutuhan software dengan benar. Kebutuhan software muncul karena ada pekerjaan yang harus diselesaikan atau karena ada karakteristik khusus dari proyek.

2. Tidak menjelaskan rancangan atau implementasi dengan rinci. Penjelasan tersebut tidak diperlukan karena bagi pengguna hal tersebut lebih teknis dan tidak perlu.

3. Tidak memaksakan penambahan suatu batasan dari perangkat lunak

  • Karakteristik dari SRS yang baik, yaitu:

    1. Correct (benar)
    2. Unambiguous (tidak ambigu, tapi jelas)
    3. Complete (lengkap)
    4. Consistent (konsisten)
    5. Ranked for importance and/or stability (prioritas penting dan atau stabilitas)
    6. Verifiable (dapat diverifikasi)
    7. Modifiable (bisa dimodifikasi)
    8. Traceable (bisa dilacak)

September 20, 2014

CONTOH OBJECT ORIENTED PROGRAMMING PADA JAVA

Setelah Sebelumnya kita mengetahui apa itu Object Oriented Programing (bisa dilihat di sini) Pada postingan sebelumnya telah kita ketahui bahwa ada 3 karakteristik OOP, yaitu :
  1. Polymorphism
  2. Encapsulation
  3. Inheritance
Dalam Pemrograman Java, Object Oriented Programming sangat lumrah digunakan. Oleh karenanya pada kesempatan kali ini saya akan share bagaimana OOP di dalam program java.


POLYMORPHISM
Polimorfisme merupakan suatu konsep yang menyatakan sesuatu yang sama dapat memiliki berbagai bentuk dan perilaku yang berbeda. Ada 2 method yang digunakan dalam polymorphism, yaitu Overloading dan Overriding. Saya akan mengambil Overriding sebagai contoh dalam java.

Aturan override metode:
  1. Hanya berlaku untuk metode Inheritance
  2. Jenis objek (tidak mengacu pada jenis variabel) menentukan metode overriden mana yang akan digunakan pada saat runtime
  3. Metode Overriding harus memiliki jenis return yang sama
  4. Metode Overriding tidak harus memiliki akses modifier yang ketat
  5. Metode abstrak harus ditimpa
  6. Metode statis dan Final tidak dapat diganti
  7. Konstruktor tidak dapat diganti
  8. Hal ini juga dikenal sebagai Runtime Polymorphism
Ketika menjalankan superclass versi metode overriden, digunakan kata kunci super.
Overiding Polymorphism
Output
  
ENCAPSULATION
Enkapsulation seringkali dianggap sebagai “penyembunyian informasi”, dapat diartikan juga pengemasan data dan fungsi dalam wadah bernama objek. Konsep public dan private akan senantiasa dipakai dalam pengkapsulan.Encapsulation membuat orang lain tidak mengetahui bagaiman detil inplementasi (listing program) dari modul tersebut. Mereka hanya perlu mengetahui variabel-variabel apa saja yang menjadi input dan output, serta bagaiamana interaksi modul tersebut dengan variabel, method, interface atau package lain dengan modul tersebut. Dalam pemrograman, menyembunyikan detail ini dikenal dengan istilah information hiding.
·        Dilakukan dengan cara memberikan modifier private pada suatu method dan pada variabel.
·        Method untuk memberikan nilai pada suatu atribut private biasanya diawali dengan kata “set” sedangkan method untuk mengambil nilai dari suatu atribut private biasanya diawali dengan kata “get”.
 
Contoh pengimplementasian pada program
Class Persegi





Class Main
Output

INHERITANCE
Inheritance merupakan sifat dalam bahasa berorientasi objek yang memungkinkan sifat-sifat dari suatu kelas diturunkan ke kelas lain. Dengan memanfaatkan inheritance kode yang kita buat bisa digunakan lagi pada aplikasi lain maupun pada aplikasi itu sendiri. Class baru disebut Derived Class sedangkan class awal disebut Based Class.

Berikut contoh programnya :
Class Keluarga
ClassAnak
Output


Sumber:
http://ndaru742.wordpress.com/2012/12/20/inheritance/
http://evhilscome.blogspot.com/2010/12/encapsulation.html
http://beginnersbook.com/2013/03/polymorphism-in-java/

September 09, 2014

OBJECT ORIENTED PROGRAMMING ( O O P )

Object Oriented Programming atau yang biasa disingkat OOP.


Object Oriented Programming (OOP) merupakan suatu metode dalam pembuatan program, yang bertujuan untuk  menyelesaikan kompleksnya berbagai masalah program yang terus meningkat. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag 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.

Ide dasar pada OOP adalah mengkombinasikan data dan fungsi untuk mengakses data menjadi sebuah kesatuan unit yang dikenal dengan nama objek. Kelas adalah kumpulan dari beberapa objek yang sama.


 

Ada 3 jenis konsep dasar OOP: 
  1. Pengkapsulan (Encapsulation)
  2. Pewarisan (Inheritance)
  3. Polimorfisme

Pengkapsulan

Enkapsulation seringkali dianggap sebagai “penyembunyian informasi”, dapat diartikan juga pengemasan data dan fungsi dalam wadah bernama objek. Konsep public dan private akan senantiasa dipakai dalam pengkapsulan. Enkapsulation memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak, hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya.

Inheritance


Inheritance merupakan sifat dalam bahasa berorientasi objek yang memungkinkan sifat-sifat dari suatu kelas diturunkan ke kelas lain.

Polimorfisme

Polimorfisme merupakan suatu konsep yang menyatakan sesuatu yang sama dapat memiliki berbagai bentuk dan perilaku yang berbeda. Istilah ini sendiri berasal dari Bahasa Yunani, yang berarti “mempunyai banyak bentuk”. 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.