Ariadee’s words

Never Say GIve Up just work it up

Sejarah desain software dan pengembangannya

26042007
Ariadi Basuki
TK IV Rancang Bangun Peralatan Sandi
STSN

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.

Structured Programming

sturctured programming berurusan dengan penggunaan blok sturktur, state procedure call, dan beragam konstruksi loop yang sesuai. Kita dapatkan mantra baru untuk ini:”go to considered harfull”(kita mencari hal yang diperkirakan salah/merugikan)

Ide yang cukup jelas untuk memberikan pengetahuan/pengertian terhadap flow kontrol program dengan mudah, agar program disusun secara terstruktur dan transparan. Penulis berpendapat bahwa ide dari structured programming telah terintegrasi pada semua metodologi yang muncul setelahnya.

Object oriented Programming

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

Manusia selalu menggunakan pola dalam dunianya. Seperti seorang anak yang berpikir bahwa temannya yang mempunyai kebiasaan pola belajar yang baik akan mendapat nilai yang baik pula. ketika kita belajar memasak, kita mungkin akan berpikir pertamakali seperti kebiasaan pola memasak untuk menyiapkan resep dan bahan sebelum memulai memasak, kemudian kemudian sering mencoba mencicipi makanan setelah ditambahkan bumbu.dan lain sebagainya.

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.

ketika kita belajar UML, kita akan melihat beberapa detail kasus-kasus user yang secara lengkap menerangkan aspek individu bagaimana orang akan menggunakan sistem software. extreme programming menggunakan suatu hal yang dinamakan dengan “Cerita User”(user stories) yang dibuat oleh pelanggan untuk menjelaskan persepsinya terhadap sistem yang akan dibangun. cerita user kemudian digunakan untuk mendefinisikan perkiraan waktu pengembangannya, dan membantu mendefinisikan test yang terotomasi yang akan digunakan serta digunakan baik untuk pengembangan maupun untuk test penerimaan pelanggan (acceptance test).

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 JUnit (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.

Mei 16, 2007 Posted by | Catatan kecil | Tinggalkan komentar

Langkah langkah menyusun karangan

dikutip dari buku pedoman menulis bagi siswa smp dan sma
drs h anwar hasrun penerbit andi

Sebelum kita menuju pada penulisan karya ilmiah ada baiknya jika kita mulai terlebih dahulu dari yang paling sederhana, menyusun karangan. menyusun karangan bukan berarti sekedar menyusun dengan bebas, adakalanya kita perlu langkah-langkah yang berurutan agar terbiasa sehingga mudah dalam mengembangkan tulisan.
Ada 2 macam karangan yaitu karangan yang bersifat fiksi dan karangan yang bersifat nonfiksi. fiksi lebih kearah khayalan sedangkan nonfiksi lebih kearah kejadian nyata (benar-benar terjadi). Penulisan karya tulis merupakan salah satu contoh karangan nonfiksi karena kejadiannya yang benar-benar dialami, atau dikerjakan. sedangkan karangan fiksi contoh realnya adalah cerita pendek yang terkadang berupa cerita yang takmungkin terjadi.
pada dasarnya untuk menyusun karangan dibutuhkan langkah-langkah awal untuk membentuk kebiasaan teratur dan sistematis yang memudahkan kita dalam mengembangkan karangan. kali ini kita coba tinjau terlebih dahulu langkah-langkah menyusun karangan satu per satu.
(wah sepertinya saya harus lebih banyak lagi membaca KBBI, masih banyak tuh kesalahan penulisan2. kalau ada yang lebih mengerti mohon bimbingannya, terimakasih)

1. Menentukan tema dan judul
sebelum anda mau melangkah yang pertamakali dipikirkan adalah mau kemana kita berjalan? lalu bila menulis, apa yang akan kita tulis? Tema adalah pokok persoalan, permasalahan, atau pokok pembicaraan yang mendasari suatu karangan. sedangkan yang dimaksud dengan judul adalah kepala karangan. kalau tema cakupannya lebih besar dan menyangkut pada persoalan yang diangkat sedangkan judul lebih pada penjelasan awal (penunjuk singkat) isi karangan yang akan ditulis.
tema sangat terpengaruh terhadap wawasan penulis. semakin banyak penulis membiasakan membaca buku, semakin banyak aktifitas menulis akan memperlancar penulis memperoleh tema.
namun, bagi pemula (yang belum berpengalaman seperti saya) perlu memperhatikan beberapa hal penting agar tema yang diangkat mudah dikembangkan. diantaranya :

a. jangan mengambil tema yang bahasannya terlalu luas (soalnya ngak bakal selesai)
b. Pilih tema yang kita sukai dan kita yakini dapat kita kembangkan.
c. Pilih tema yang sumber atau bahan-bahannya dapat dengan mudah kita peroleh. (kalo sulit gimana mau ngerjain. jelas?)

kadang memang dalam menentukan tema tidak selamanya selalu sesuai dengan syarat2 diatas. ya contohnya pas lomba mengarang, tema sudah disediakan sebelumnya dan kita hanya bisa memakainya. ya sudahlah takperlu disesali..
ketika tema sudah didapatkan, perlu diuraikan atau membahas tema menjadi suatu bentuk karangan yang terarah dan sistematis. salah satu caranya dengan menentukan judul karangan. judul yang baik adalah judul yang dapat menyiratkan isi keseluruhan karangan kita. cukup!!!…

2. Mengumpulkan bahan
udah punya tujuan, dan mau melangkah, lalu apa bekal anda? sebelum melanjutkan menulis, perlu ada bahan yang menjadi bekal dalam menunjukkan eksistensi tulisan. bagaimana ide, dan inovasi dapat diperhatikan kalau tidak ada hal yang menjadi bahan ide tersebut muncul. buat apa ide muluk2 kalau tidak diperlukan. perlu ada dasar bekal dalam melanjutkan penulisan.
untuk membiasakan, kumpulkanlah kliping-kliping masalah tertentu (biasanya yang menarik penulis) dalam berbagai bidang dengan rapi. hal ini perlu dibiasakan calon penulis agar ketika dibutuhkan dalam tulisan, penulis dapat membuka kembali kliping yang tersimpan sesuai bidangnya. banyak cara memngumpulkannya, masing2 penulis mempunyai cara masing2 sesuai juga dengan tujuan tulisannya.

3. menyeleksi bahan
Udah ada bekal, dan mulai berjalan, tapi bekal mana yang akan dibawa? agar tidak terlalu bias dan abstrak, perlu dipilih bahan2 yang sesuai dengan tema pembahasan. polanya melalui klarifikasi tingkat urgensi bahan yang telah dikumpulkan dengan teliti dan sistematis. berikut ini petunjuk2 berikut ini:
1. catat hal penting semampunya
2. jadikan membaca sebagai kebutuhan (iqra’ !..)
3. Banyak diskusi, dan mengikuti kegiatan2 ilmiah. (bertanya pada orang yang lebih berpengalaman dan wawasan lebih luas sangat membantu dalam mempermudah penulisan yakin.. asli lho…!!)

4. Membuat kerangka
bekal ada, terpilih lagi, terus melangkah yang mana dulu? perlu kita susun selangkah demi selangkah agar tujuan awal kita dalam menulis tidak hilang atau melebar ditengah jalan. kerangka karangan menguraikan tiap topik atau masalah menjadi beberapa bahasan yang lebih fokus dan terukur.
kerangka karangan belum tentu sama dengan daftar isi, atau uraian per bab. kerangka ini merupakan catatan kecil yang sewaktu2 dapat berubah dengan tujuan untuk mencapai tahap yang sempurna.
berikut fungsi kerangka karangan :
a. memudahkan pengelolaan susunan karangan agar teratur dan sistematis
b. memudahkan penulis dalam menguraikan setiap permasalahan
c. membantu menyeleksi materi yang penting maupun yang tidak penting

tahapan dalam menyusun kerangka karangan :
a. mencatat gagasan. Alat yang mudah digunakan adalah pohon pikiran (diagram yang menjelaskan gagasan2 yang timbul)
b. mengatur urutan gagasan.
c. memeriksa kembali yang telah diatur dalam bab dan subbab
d. membuat kerangka yang terperinci dan lengkap

kerangka karangan yang baik adalah kerangka yang urut dan logis. soalnya bila terdapat ide yang bersilangan, akan mempersulit proses pengembangan karangan. (karangan tidak mengalir)

5. mengembangkan kerangka karangan
proses pengembangan karangan tergantung sepenuhnya pada penguasaan kita terhadap materi yang hendak kita tulis. jika benar2 memahami materi dengan baik, permasalahan dapat diangkat dengan kreatif, mengalir dan nyata. terbukti pula kekuatan bahan materi yang kita kumpulkan dalam menyediakan wawasan untuk mengembangkan karangan.
pengembangan karangan juga jangan sampai menumpuk dengan pokok permasalahan yang lain. untuk itu pengembangannya harus sistematis, dan terarah. alur pengembangan juga harus disusun secara teliti dan cermat. semakin sistematis, logis dan relevan pada tema yang ditentukan, semakin berbobot pula tulisan yang dihasilkan.

Demikian sekilas catatan mengenai langkah2 menyusun karangan.
semoga bermanfaat.

Mei 15, 2007 Posted by | Catatan kecil | Tinggalkan komentar