Senin, 13 Juli 2009

TREN TERBARU SOFTWARE ENGINEERING

Perangkat lunak komputer (Software) adalah satu dari hanya beberapa teknologi kunci yang akan berpengaruh penting pada hampir setiap aspek masyarakat modern selama tahun 1990-an. Software merupakan suatu mekanisme untuk mengotomatisasi bisnis, industri, dan pemerintahan. Software sangat penting bagi hampir setiap aspek bisnis. Tetapi, dalam banyak hal, software juga merupakan suatu teknologi yang tersembunyi karena tanpa kita sadari dalam setiap kegiatan kita sering menggunakan software misalnya dalam bebelanja di supermarket, menabung di bank, melakukan hubungan telepon dan lainnya.

Karakteristik Software antara lain :

· Software bersifat kompleks yaitu didalam pembuatan suatu software harus didukung oleh banyak hal antara lain sistem kerja, hardware, dan lainnya.

· Software bersifat tidak sama meskipun pada kasus yang sama software yang telah dibuat belum tentu cocok di tempat lain. Misalnya pembuatan software supermarket, belum tentu satu supermarket dengan supermarket yang lain sistemnya sama.

· Software bersifat tidak dapat digunakan diluar dari tujuan yang telah ditetapkan

· Software seperti pabrik yang menghasilkan nilai-nilai tertentu dan sangat membantu segala kegiatan manusia

· Software dibangun dan dikembangkan, tidak dibuat dalam bentuk yang klasik

· Sebagian besar perangkat lunak dibuat secara custom-built, serta tidak dapat dirakit dari komponen yang sudah ada

· Software bersifat pervasif, dan banyak orang di dalam posisi tanggung jawab, kurang atau tidak memahami apa sebenarnya software itu, bagaimana dia dibangun, atau apa yang dimaksudkannya dengan bagian yang dikontrol. Karena sifat pervasif pada software tersebut maka software harus ditangani dengan hati-hati.



Perkembangan Software

Software Engineering adalah suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal requirement capturing (analisa kebutuhan pengguna), specification (menentukan spesifikasi dari kebutuhan pengguna), design, coding, testing sampai pemeliharaan sistem setelah diguna kan.

Software mengalami perkembangan yang pesat dan usang setelah periode tertentu, Software memerlukan review secara berkala untuk mengetahui perubahan yang dinamis terhadap kebutuhan pasar. Sejak pertama kali software diperkenalkan sekitar tahun 60-an telah mengalami perkembangan yang cukup pesat, dan total berbeda disemua spesifikasi seperti struktur program, arsitektur dan Line Of Code (LoC) kini lebih pendek, mudah dan tampilan grafis yang menarik sehingga lebih efisien dibandingkan dengan versi lamanya.

Secara terminologi software engginering pertama kali di gunakan pada sebuah international conference tentang software pada tahun 1968. Pada conference ini dibahas tentang krisis software. Krisis software merupakan akibat dari lahirnya komputer generasi ke 3 yang canggih. Dari hasil conference itu software yang dihasilkan menjadi beberapa kali lebih besar dan kompleks. Seiring dengan itu pendekatan informasi tidak cukup efektif dalam pengembangan software. Dengan perkembangan hardware dan software yang begitu pesat sehingga mengakibatkan biaya perangkat lunak naik lebih cepat dibandingkan dengan software.

Tren software enginering saat ini mengarah pada biaya yang murah, platform bersifat multiuser, dapat digunakan oleh umum, pengembangannya bersifat open source dan cara aksesnya adalah online. Perubahan-perubahan yang akan mempengaruhi software selama dekade selanjutnya akan dipengaruhi oleh beberapa hal yang simultan yaitu :

  1. Manusia yang melakukan pekerjaan tersebut
  2. Proses yang mereka aplikasikan
  3. Sifat Informasi
  4. Teknologi komputer yang mendasar

Semua kegiatan yang telah dilakukan baik pengukuran, disiplin, dan fokus pada kualitas akan menghasilkan perangkat lunak yang bisa dipelihara, perangkat lunak yang lebih baik. Hal tersebut tidak pernah menjanjikan bahwa software yang kita hasilkan tersebut adalah software yang paling manjur, karena selagi kita berjalan menuju abad yang baru, maka perangkat lunak dan sistem teknik tetap menjadi tantangan bagi setiap profesional perangkat lunak dan setiap perusahaan yang membangun sistem berbasis komputer. Perusahaan harus berusaha lebih keras dalam menguasai teknologi hanya untuk bertahan hidup karena perubahan teknologi informasi menjadi begitu cepat dan tidak pernah bisa mengampuni, dan akibat dari ketinggalan tersebut tidak dapat dikembalikan lagi.

Kamis, 02 Juli 2009

Karakteristik Software

Agar lebih memahami tentang software engineering maka perlu juga kita meneliti tentang karakteristik perangkat lunak yang membuat perangkat lunak berbeda dari hal-hal yang dibangun oleh manusia. Perangkat lunak memiliki ciri-ciri yang berbeda dari perangkat keras karena perangkat lunak lebih merupakan elemen logika. Adapun karakteristiknya antara lain:

1. Perangkat Lunak dibangun dan dikembangkan, tidak dibuat dalam bentuk yang klasik
2. Perangkat lunak tidak pernah usang
3. Sebagian besar perangkat lunak dibuat secara custom-built, serta tidak dapat dirakit dari komponen yang sudah ada.

Software Engineering

Software Engineering adalah suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal analisa kebutuhan pengguna, spesifikasi, desain, coding, testing sampai pemeliharaan sistem setelah digunakan.
Dari istilah Software Enginering dapat kita telaah dari pengertian Software adalah perangkat lunak, program komputer dan semua dokumentasi yang berhubungan dengan operasi pada sistem computer

Dalam pembuatan software ada beberapa hal yang harus diperhatikan antara lain:
  1. Tahapan Perencanaan

Yaitu tahapan yang berisikan tentang rencana pembuatan software apa yang mau dibuat, analisa

kebutuuhan software, dan analisa cost benefir

  1. Tahapan Pengembangan

Yaitu tahapan pembuatan program seutuhnya dan melakukan testing terhadap program yang telah dibuat.

  1. Tahapan Pemeliharaan

Yaitu tahapan dalam mengkoreksi setelah dilakukan beberapa tes jika terjadi kesalahan, serta adaptasi terhadap system operasi yang selalu berkembang, RDBMS dan generasi bahasa pemrograman selanjutnya.


Senin, 09 Februari 2009

Contoh Pemrograman dengan Java

Program menghitung Luas dan Keliling Lingkaran

class lingkaran
{
private double jarijari;
public lingkaran()
{
setjarijari (1);
}
public void setjarijari (double r)
{
if(r>0) jarijari=r;

}
public double getjarijari()
{
return (jarijari);
}
public double hitungluas()
{
return (Math.PI*jarijari*jarijari);

}
public double hitungKeliling()
{
return (Math.PI*2.0*jarijari);

}
}

Selasa, 13 Januari 2009

Keuntungan Object Oriented

Ada beberapa keuntungan yang dimiliki oleh Object Oriented Programming antara lain:

• Reusability
• Stability
• Perancang berfikir dalam sudut pandang object
• Objek bisa dikembangkan menjadi sesuatu yang kompleks
• Lebih Reliability
• Perancangan yang lebih cepat
• Kualitas design yang lebih tinggi
• Integrity : suatu struktur data hanya bisa digunakan pada program tertentu saja
• Pemeliharaannya lebih mudah
• Inventability
• Design Independence : tidak tergantung pada platformnya
• Interoperability
• Paralel computing

Minggu, 04 Januari 2009

Konsep Object Oriented Programming

Ada 4 konsep yang harus dipahami dari Object Oriented Programming yaitu:


1. Inheritance.

Inheritance atau pewarisan adalah merupakan konsep dimana suatu object memiliki sejumlah prilaku yang dimiliki oleh object lain dalam suatu hirarki tertentu.


2. Encapsulation (Pengkapsulan)

Encapsulation adalah penyatuan antara proses-proses yang terjadi dalam sejumlah data yang dikelola kedalam suatu bentuk kelompok tertentu. Atau dapat juga juga dikatakan sebagai aplikasi dari suatu modul ke bentuk data, yang merupakan kombinasi dari record-record dengan prosedur-prosedur dan fungsi-fungsi (dinamakan metode) dimana manipulasi data tersebut membentuk tipe data baru yang disebut objek


3. Abstraction

Abstraction memiliki pengertian bahwa dalam mengembangkan perangkat lunak seoarang programmer akan menggunakan atau menciptakan sejumlah object dimana object tersebut akan ada dan berprilaku pda system.


4. Polymorphism

Polymorphism, yaitu suatu cara yang memungkinkan pemrogram untuk menjalankan aksi tertentu dengan cara mengirimkan pesan ke objek tanpa perlu mengetahui bagaimana sistem software mengimplementasikan aksi tersebut, cara ini merupakan tehnik information hiding.