February 15, 2015

Pertemuan 1 | 9 Februari 2015 | TEKNOLOGI .NET





.NET merupakan sebuah teknologi yang diciptakan oleh Microsoft untuk pengembangan program – program yang berorientasi objek. Teknologi ini memungkinkan seorang programmer mengembangkan aplikasi yang dapat berjalan di beberapa operating system, hingga peralatan – peralatan lain seperti handphone, blackberry maupun yang lain sebagainya. Teknologi .Net menyediakan berbagai macam library, modul – modul yang sangat membantu para programmer dalam mempersingkat waktu pembuatan program. Modul – modul yang tersedia tersebut tidak tergantung pada bahasa pemrograman yang digunakan. 

Kelebihan teknologi .NET :

·     Programmer dapat berpindah dari teknologi yang lama ke teknologi .Net dengan mudah karena adanya kompabilitas. (misalnya Visual Basic 6 dengan Visual Basic .Net)
·     Meningkatkan efektivitas kinerja tim karena teknologi ini mampu membuat interaksi antar program walaupun dibuat dengan bahasa pemrograman yang berbeda.
·     Memiliki dukungan penuh terhadap pengembagangan aplikasi internet seperti teknologi HTML, XML, SOAPm dan HTTP.
·     Mendukung banyak bahasa pemrograman, diantaranya C++, C#, Visual Basic, dan Java.
·     Meningkatkan keandalan program dalam menangani error
·     Penanganan masalah memori secara otomatis, dll.


.Net Framework


Framework .NET adalah suatu komponen windows yang terintegrasi dan dibuat dengan tujuan untuk mensupport pengembangan berbagai macam jenis aplikasi serta untuk dapat menjalankan berbagai macam aplikasi generasi mendatang.


Komponen Framework .Net


Beberapa komponen pada Framework .Net, yaitu :

1. Common Language Runtime (CLR)

CLR merupakan komponen .Net Framework yang menyediakan libray – libray yang diperlukan dalam pembuatan program dengan menggunakan visual studio.net tanpa memperhatikan bahasa program yang digunakan.

CLR berfungsi sebagai jembatan antara program aplikasi dengan system operasi. CLR akan menjalankan program aplikasi yang masih berupa intermediate code. Program yang berupa intermediate code ini akan di compile sesuai dengan system operasi yang digunakan.

2. Microsoft Intermediate Language (MSIL)

Pada CLR di atas disebutkan program yang masih berupa intermediate code, hal itu merupakan bentuk dari MSIL. Setiap aplikasi yang dikompilasi dengan menggunakan berbagai compiler di dalam teknologi .Net tidak langsung diterjemahkan ke dalam bahasa mesin (binary) namun terlebih dahulu di kompilasi menjadi bentuk MSIL, atau masih berupa intermediate code. Nantinya MSIL ini akan diterjemahkan oleh CLR dan JITers menjadi bahasa mesin (binary).

3. Just in Time Compilers (JITers)

Saat program yang masih berupa intermediate code dijalankan, maka CLR akan memanggil JITers untuk meng-compile kode tersebut menjadi program yang dapat dijalankan langsung (.exe, atau.dll) tergantung dari hardware dan system operasi komputer tersebut.

4. Base Class Library

Merupakan kumpulan class – class yang dapat digunakan secara langsung oleh para programmer untuk membantu dalam membuat aplikasi. Class – class ini menyediakan akes ke Windows API dan fungsi – fungsi umum seperti struktur data, manipulasi string, IO, stream, string, dll.

5. Common Language Specification (CLS)

CLS merupakan sekumpulan spesifikasi yang harus dipenuhi oleh bahasa pemrograman agar dapat didukung oleh teknologi .Net. Pemenuhan spesifikasi ini tidaklah sulit sehingga banyak bahasa pemrograman berorientasi objek yang dapat didukung oleh .Net.




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.