Sejarah metodologi pengembangan software seperti pencarian peluru perak, yang tujuan utamanya adalah mengatur kompleksitas sistem software dengan suatu cara. Persepsi personal sya(pengarang software developtment book): mengembangkan sistem software yang kompleks,cukup kompleks, membutuhkan waktu dan biaya yang cukup besar. kita akan melihat pada lima metodologi secara garis besar yang biasanya dikembangkan dan digunakan.

Metodologi Object Oriented Programming (OOP) berkembang dari ide structrured programming. OOP mengatur komplesitas software dengan memaketkan kode dan data yang biasa digunakan bersama. Biasanya kita samakan dengan object pada dunia nyata. pada OOP, kita kadang kadang memodelkan object dunia nyata(ex: menulis program simulasi, ketika pertamakali konsep OOP dikembangkan) sebagai object software dan juga sebagai model benda non-material seperti prosess, cara mengorganisasi informasi dan lain sebagainya sebagai object software. Sebuah object software dapat menjaga internal statenya sendiri. Hal ini sangat berbeda dengan program terstruktur yang kodenya bisa terstruktur dan dapat dimengerti dengan mudah, tetapi global data yang dipakai bersama terdapat pada semua bagian sistem software-termasuk didalamnya bagian tanpa kebutuhan untuk akses atau modifikasi data tersebut.

Design Patterns.

Pada pengembangan software, penggunaan design patern didasarkan pada observasi bahwa beberapa proyek software gagal sementara proyek yang mirip berhasil (hal ini dapat berupa pola managemen, pole penjadwalan, pola testing dll). pada desain software, penggunaan pola didasarkan pada observasi lebih lanjut pada pola desain umum untuk tugas yang hampir sama digunakan berulangkali untuk proyek yang berhasil.

Extreme Programming Extreme programming didasarkan pada identifikasi kebutuhan kostumer dan berkonsentrasi pada pengembangan dan pembuatan kebutuhan pelanggan (kostumer) dengan cepat. menggunakan desain sederhana untuk berkomunikasi dengan pelanggan, pengembang extreme secara teratur mengembangkan software dengan prioritas pada keperluan yang paling penting.

Extreme programming merupakan pendekatan yang berbeda dengan skenario tradisional yang memerlukan waktu baik pengembang maupun pelanggan untuk mencoba (biasanya dengan tingkat kesuksesan yang terbatas) mendokumentasikan secara detail software yang telah dikembangkan selama beberapa lama waktu yang dihabiskan. pengembang yang berpengalaman mengerti bahwa implementasi yang ter-stag secara positif berpengaruh pada proses desain. extreme programming secara special efektif ketika kebutuhan kompleks dan tidak memerlukan hal seperti sebelumnya.
Extreme programming biasanya dideskripsikan sebagai sebuah phrase yang cukup berarti bagi penulis: test driven programming. menulis kode test sebelum menulis kode aplikasi. kemudian menulis software cukup untuk memenuhi unit test. tidak diijinkan untuk mengubah kode software sebelum seluruh test unit dilalui. gunakan tools seperti Unit (www.junit.org) untuk menulis test yang terotomasi.

Aspect oriented Programming ide utama dibalik aspect oriented programming (AOP) adalah pemisahan konsentrasi sistem software pada bagian yang berbeda. pada prinsipnya, pilosofi ini mengijinkan pengembangan sistem yang lebih modular, dengan modularitasnya terkontrol oleh konsentrasi pengembangan yang berbeda. untuk programmer java, direkomendasikan untuk mencari AspectJ project (eclipse.org/aspectj). Sebagai kutipan yang didapat dari situs web AspectJ : “AspectJ enables the clean modularization of crosscutting concerns such as:error checking and handling, synchronization, context-sensitive behavior, performance optimizations, monitoring and logging, debugging support, multi-object protocols” Baik free eclipse java IDE (www.eclipse.org) dan IntelliJ Java IDE yang berbayar(www.intellij.com) keduanya mendukung AspectJ.Aspectj adalah sebuah ekstensi (perluasan) bahasa java dan membutuhkan preprocessing. catatan: meskipun telah mengikuti AOP, penulis masih belum menggunakannya pada proyek nyata.

Jika kita amati sekarang ini gerakan Open Source sudah mulai merambah di Indonesia yang identik dengan Sistem Operasi Linux. Open Source yang akrab terdengar di telinga orang-orang TI dapat dikatakan sebagai source code yang terbuka bagi siapa saja yang ingin mempelajari maupun ikut mengembangkan. Source Code ini disertakan dengan distribusi paket software yang sudah jadi (hasil kompilasi) sehingga pembeli ataupun pengguna software dapat membedah software tersebut sesuai dengan keperluanya. Bahkan dapat ikut memperbaiki Bug atau kesalahan logika dalam software tersebut.

Salah satu Open Source yang sangat terkenal yaitu sistem operasi linux, setiap distribusinya vendor selalu menyertai source kode linux. Satu hal yang perlu ditekankan bahwa software open source tidak selalu gratis tetapi ada biaya yang dikeluarkan untuk membeli software tersebut. Sebagai contoh Sistem Operasi RedHat Linux yang dapat dibeli dengan harga yang murah. Lalu apa bedanya Sistem Operasi Open Source dengan Sistem Operasi Close Source seperti yang dipunyai pak Bill Gates? Dalam banyak kasus, bila terjadi Bug dalam software yang Close Source pengguna sangat tergantung kepada vendor yang harus menunggu update untuk memperbaikinya. Seringkali vendor kurang cepat merespons perkembangan terkini dan permintaan pengguna.

Bagaimana dengan Open Source? Ya, Open Source adalah salah satu solusi yang menjanjikan saat ini bagi suatu perusahaan. Perusahaan dapat membelinya dengan biaya yang jauh lebih murah dan perbaikan maupun keperluan software tersebut dapat dilakukan oleh staf TI perusahaan itu sendiri. Sehingga apa yang terjadi? Dengan software yang open source dapat mendorong semangat tenaga-tenaga TI untuk mempelajari source code tersebut, dapat menganalisa dimana kelemahan software, apa sesungguhnya proses yang berlangsung dalam kerja software, dan sekaligus mencari solusi terhadap kelemahan software yang ditemui. Atau yang lebih ekstrim adalah memodifikasi software sedemikian rupa agar lebih ergonomis / pas digunakan sesuai dengan keperluan.

Open Source secara tidak langsung mendorongan tenaga TI tidak hanya menjadi End User yang hanya mampu memanfaatkan hasil kerja orang lain. Dengan demikian jika tenaga TI negeri kita hanya berlaku sebagai End User maka bidang TI negara kita akan tertinggal dengan negara-negara lain. Maka dengan adanya Open Source dapat dipelajari source code software dan dapat menganalisa teknik yang digunakan dalam pembuatan software tersebut yang nantinya pengetahuan tersebut dapat dimanfaatkan untuk merancang aplikasi yang berguna.

Dengan melihat perkembangan Open Source yang melaju dengan pesat beberapa waktu yang lalu pemerintah kita Indonesia telah menerapkan Open Source Software yang dideklarasikan dalam Indonesia Go Open Source (IGOS) yang bertujuan untuk mengurangi kesenjangan negara kita dengan negara maju. Semoga langkah yang baik ini sebagai awal perkembangan software Indonesia dan didukung oleh tenaga TI Indonesia dan seluruh lapisan masyarakat Indonesia.

1. Software "PC Inspector File Recovery 3.0"
2. Software "PrayAlert Personal Edition 1.3.1015
3. Software "RAMBooster 1.6"
4. Software "Subseven: Firewall 1.0"
5. Software "Ad-aware 6.0"
6. Software "Ad Blocker 4Google2 2.3.3"
7. Software "Mozilla Firefox 1.0"
8. Software "FxFoto 2.0.043"
9. Software "Download Manager"



SEJARAH SOFTWARE DAN PERKEMBANGANNYA


Sejarah metodologi pengembangan software seperti pencarian peluru perak, yang tujuan utamanya adalah mengatur kompleksitas sistem software dengan suatu cara. Persepsi personal sya(pengarang software developtment book): mengembangkan sistem software yang kompleks,cukup kompleks, membutuhkan waktu dan biaya yang cukup besar. kita akan melihat pada lima metodologi secara garis besar yang biasanya dikembangkan dan digunakan.

Metodologi Object Oriented Programming (OOP) berkembang dari ide structrured programming. OOP mengatur komplesitas software dengan memaketkan kode dan data yang biasa digunakan bersama. Biasanya kita samakan dengan object pada dunia nyata. pada OOP, kita kadang kadang memodelkan object dunia nyata(ex: menulis program simulasi, ketika pertamakali konsep OOP dikembangkan) sebagai object software dan juga sebagai model benda non-material seperti prosess, cara mengorganisasi informasi dan lain sebagainya sebagai object software. Sebuah object software dapat menjaga internal statenya sendiri. Hal ini sangat berbeda dengan program terstruktur yang kodenya bisa terstruktur dan dapat dimengerti dengan mudah, tetapi global data yang dipakai bersama terdapat pada semua bagian sistem software-termasuk didalamnya bagian tanpa kebutuhan untuk akses atau modifikasi data tersebut.

Design Patterns.

Pada pengembangan software, penggunaan design patern didasarkan pada observasi bahwa beberapa proyek software gagal sementara proyek yang mirip berhasil (hal ini dapat berupa pola managemen, pole penjadwalan, pola testing dll). pada desain software, penggunaan pola didasarkan pada observasi lebih lanjut pada pola desain umum untuk tugas yang hampir sama digunakan berulangkali untuk proyek yang berhasil.

Extreme Programming Extreme programming didasarkan pada identifikasi kebutuhan kostumer dan berkonsentrasi pada pengembangan dan pembuatan kebutuhan pelanggan (kostumer) dengan cepat. menggunakan desain sederhana untuk berkomunikasi dengan pelanggan, pengembang extreme secara teratur mengembangkan software dengan prioritas pada keperluan yang paling penting.

Extreme programming merupakan pendekatan yang berbeda dengan skenario tradisional yang memerlukan waktu baik pengembang maupun pelanggan untuk mencoba (biasanya dengan tingkat kesuksesan yang terbatas) mendokumentasikan secara detail software yang telah dikembangkan selama beberapa lama waktu yang dihabiskan. pengembang yang berpengalaman mengerti bahwa implementasi yang ter-stag secara positif berpengaruh pada proses desain. extreme programming secara special efektif ketika kebutuhan kompleks dan tidak memerlukan hal seperti sebelumnya.
Extreme programming biasanya dideskripsikan sebagai sebuah phrase yang cukup berarti bagi penulis: test driven programming. menulis kode test sebelum menulis kode aplikasi. kemudian menulis software cukup untuk memenuhi unit test. tidak diijinkan untuk mengubah kode software sebelum seluruh test unit dilalui. gunakan tools seperti Unit (www.junit.org) untuk menulis test yang terotomasi.

Aspect oriented Programming ide utama dibalik aspect oriented programming (AOP) adalah pemisahan konsentrasi sistem software pada bagian yang berbeda. pada prinsipnya, pilosofi ini mengijinkan pengembangan sistem yang lebih modular, dengan modularitasnya terkontrol oleh konsentrasi pengembangan yang berbeda. untuk programmer java, direkomendasikan untuk mencari AspectJ project (eclipse.org/aspectj). Sebagai kutipan yang didapat dari situs web AspectJ : “AspectJ enables the clean modularization of crosscutting concerns such as:error checking and handling, synchronization, context-sensitive behavior, performance optimizations, monitoring and logging, debugging support, multi-object protocols” Baik free eclipse java IDE (www.eclipse.org) dan IntelliJ Java IDE yang berbayar(www.intellij.com) keduanya mendukung AspectJ.Aspectj adalah sebuah ekstensi (perluasan) bahasa java dan membutuhkan preprocessing. catatan: meskipun telah mengikuti AOP, penulis masih belum menggunakannya pada proyek nyata.

Jika kita amati sekarang ini gerakan Open Source sudah mulai merambah di Indonesia yang identik dengan Sistem Operasi Linux. Open Source yang akrab terdengar di telinga orang-orang TI dapat dikatakan sebagai source code yang terbuka bagi siapa saja yang ingin mempelajari maupun ikut mengembangkan. Source Code ini disertakan dengan distribusi paket software yang sudah jadi (hasil kompilasi) sehingga pembeli ataupun pengguna software dapat membedah software tersebut sesuai dengan keperluanya. Bahkan dapat ikut memperbaiki Bug atau kesalahan logika dalam software tersebut.

Salah satu Open Source yang sangat terkenal yaitu sistem operasi linux, setiap distribusinya vendor selalu menyertai source kode linux. Satu hal yang perlu ditekankan bahwa software open source tidak selalu gratis tetapi ada biaya yang dikeluarkan untuk membeli software tersebut. Sebagai contoh Sistem Operasi RedHat Linux yang dapat dibeli dengan harga yang murah. Lalu apa bedanya Sistem Operasi Open Source dengan Sistem Operasi Close Source seperti yang dipunyai pak Bill Gates? Dalam banyak kasus, bila terjadi Bug dalam software yang Close Source pengguna sangat tergantung kepada vendor yang harus menunggu update untuk memperbaikinya. Seringkali vendor kurang cepat merespons perkembangan terkini dan permintaan pengguna.

Bagaimana dengan Open Source? Ya, Open Source adalah salah satu solusi yang menjanjikan saat ini bagi suatu perusahaan. Perusahaan dapat membelinya dengan biaya yang jauh lebih murah dan perbaikan maupun keperluan software tersebut dapat dilakukan oleh staf TI perusahaan itu sendiri. Sehingga apa yang terjadi? Dengan software yang open source dapat mendorong semangat tenaga-tenaga TI untuk mempelajari source code tersebut, dapat menganalisa dimana kelemahan software, apa sesungguhnya proses yang berlangsung dalam kerja software, dan sekaligus mencari solusi terhadap kelemahan software yang ditemui. Atau yang lebih ekstrim adalah memodifikasi software sedemikian rupa agar lebih ergonomis / pas digunakan sesuai dengan keperluan.

Open Source secara tidak langsung mendorongan tenaga TI tidak hanya menjadi End User yang hanya mampu memanfaatkan hasil kerja orang lain. Dengan demikian jika tenaga TI negeri kita hanya berlaku sebagai End User maka bidang TI negara kita akan tertinggal dengan negara-negara lain. Maka dengan adanya Open Source dapat dipelajari source code software dan dapat menganalisa teknik yang digunakan dalam pembuatan software tersebut yang nantinya pengetahuan tersebut dapat dimanfaatkan untuk merancang aplikasi yang berguna.

Dengan melihat perkembangan Open Source yang melaju dengan pesat beberapa waktu yang lalu pemerintah kita Indonesia telah menerapkan Open Source Software yang dideklarasikan dalam Indonesia Go Open Source (IGOS) yang bertujuan untuk mengurangi kesenjangan negara kita dengan negara maju. Semoga langkah yang baik ini sebagai awal perkembangan software Indonesia dan didukung oleh tenaga TI Indonesia dan seluruh lapisan masyarakat Indonesia.

1. Software "PC Inspector File Recovery 3.0"
2. Software "PrayAlert Personal Edition 1.3.1015
3. Software "RAMBooster 1.6"
4. Software "Subseven: Firewall 1.0"
5. Software "Ad-aware 6.0"
6. Software "Ad Blocker 4Google2 2.3.3"
7. Software "Mozilla Firefox 1.0"
8. Software "FxFoto 2.0.043"
9. Software "Download Manager"



No comments:

Post a Comment