About Software Engineering

Important Trends In Software Engineering

(Pentingnya Tren Dalam Rekayasa Perangkat Lunak)

I. Apa itu Software Engineering?
Apakah:
– Pemrograman?
– Ilmu komputer?
– Rekayasa?
– Disiplin nyata?
– Sebuah aktivitas profesional?
– Beberapa Definisi Dasar
Perangkat Lunak – Program komputer, prosedur, dan dokumentasi kemungkinan terkait dan data yang berkaitan dengan pengoperasian sistem komputer. Teknik – Aplikasi sistematis, pendekatan disiplin, diukur untuk beberapa proses. Proses Perangkat Lunak(Siklus Hidup)

  • Pembangunan
  • Operasi
  • Pemeliharaan :
    – Korektif
    – Peningkatan

Definisi Hasil
Rekayasa Perangkat Lunak
Definisi – Penerapan sistematis, disiplin, pendekatan kuantitatif untuk pengembangan perangkat lunak, operasi dan pemeliharaan .*
* – Standar IEEE 610,12-1.990, Standar IEEE Istilah Rekayasa Perangkat Lunak Terminologi, IEEE Standar Koleksi Rekayasa Perangkat Lunak, IEEE (1997).
Mengapa kita membutuhkannya?

“Krisis Perangkat Lunak”
– Pertama kali diidentifikasi di NATO Konferensi, Garmisch, Jerman, 1968
– Ditandai oleh perangkat lunak yang
• kualitas yang buruk
• lebih dari anggaran
• terlambat
• Naur & Randell (1969)

II. Dimana Rekayasa Perangkat Lunak Hari ini?
Meskipun perbaikan yang signifikan telah dibuat dalam bidang tertentu, sifat berkembang pesat dari industri perangkat lunak telah menghasilkan peningkatan kecil dalam keseluruhan situasi keseluruhan – sebenarnya … ..

Krisis Menetap
Lebih dari 30 tahun kemudian, perangkat lunak “krisis” masih bersama kami
masalah utama adalah masih sama:
– Miskin kualitas (kebenaran, bug, kegunaan, pemeliharaan, dll)
– Lebih dari anggaran
– Terlambat dikirimkan, atau tidak sama sekali
Kualitas Perangkat Lunak Masalah
Kebenaran, bug, kegunaan, dll
– Contoh –
• Udara Komando Strategis AS alert (Nov 9, 1979) – berebut waspada dalam menanggapi laporan bahwa Uni Soviet telah meluncurkan serangan rudal
• Therac 25 akselerator linier perawatan perangkat medis – dua pasien meninggal akibat overdosis berat radiasi (1985-1987)
• Perang Teluk (1991) – US Patriot pertahanan rudal gagal mendeteksi rudal SCUD karena time error – 28 Amerika tewas sebagai akibatnya.

Jadwal / Masalah Biaya
Sebuah contoh – U. S. Internal Revenue Service
– Dipekerjakan Sperry Corporation untuk membangun pajak penghasilan bentuk sistem otomatis pengolahan (1980-1985) – sistem yang dihasilkan tidak bisa menangani beban kerja, biaya hampir dua kali lipat apa yang diharapkan, dan harus segera diganti setelah instalasi awal. Pada tahun 1996, situasi tidak membaik.

Tidak Krisis A –
Tapi A kronis Kondisi
Perangkat Lunak “Krisis” telah berlangsung terlalu panjang untuk krisis – bukan, itu kondisi, gigih kronis bisnis perangkat lunak
Rekayasa Perangkat Lunak adalah solusi yang diusulkan untuk masalah ini. Tujuannya adalah:
– Produksi perangkat lunak bebas kesalahan, dikirimkan tepat waktu dan sesuai anggaran, yang memenuhi kebutuhan pengguna, dan mudah untuk mempertahankan.
Sebuah Closer Look At The
Siklus Hidup Perangkat Lunak

  • Pembangunan
  • Operasi
  • Pemeliharaan

Sebagian besar masalah dapat ditelusuri ke tahap Pengembangan dari siklus kehidupan, sehingga sebagian besar upaya untuk meningkatkan kinerja perangkat lunak telah difokuskan pada aspek ini.

Pengembangan Perangkat Lunak (1)
Pada hari-hari awal komputasi, pengembangan perangkat lunak dipandang sebagai hanya terdiri dari “coding”, atau pemrograman komputer
Ini adalah seni hitam, dipraktekkan oleh terampil individu, biasanya bekerja sendirian
Pendekatan ini bekerja relatif baik ketika program masih kecil & sederhana

Pengembangan Perangkat Lunak (2)
Sebagaimana sistem komputer (baik hardware dan software) telah menjadi lebih besar dan lebih kompleks, proses pengembangan perangkat lunak juga telah menjadi lebih dan lebih kompleks – dan seni sederhana “pemrograman dalam kecil” tidak lagi mampu mengatasi dengan tugas .

Pengembangan Perangkat Lunak (3)
Perubahan dalam perangkat lunak dari waktu ke waktu:
– Tumbuh dalam ukuran dari 10 atau 100 dari baris ke 1000 untuk s 1.000.000 ‘baris kode
– Lingkungan operasi berubah dari yang sederhana operasi “batch” untuk sistem multiprogramming kompleks, untuk time-sharing dan didistribusikan komputasi untuk lingkungan jaringan Internet saat ini komputasi.

Pengembangan Perangkat Lunak (4)
Hari ini, proses pengembangan perangkat lunak umumnya dianggap terdiri dari sejumlah kegiatan penting:
– Persyaratan pengumpulan dan analyis
– Desain
– Pelaksanaan (yaitu pemrograman)
– Pengujian, verifikasi, validasi
– Instalasi
– (Diikuti dengan operasi dan pemeliharaan)

Pengembangan Perangkat Lunak (5)
Penting kesimpulan –

– Proyek software pada umumnya saat ini melibatkan besar, program yang kompleks yang terlalu sulit bagi satu orang untuk menangani

– Sejumlah orang harus bekerja dalam tim dalam rangka untuk menyelesaikan setiap proyek tersebut dalam waktu yang wajar

– Keterampilan manajemen adalah sebagai penting sebagai keterampilan teknis

Pengembangan Perangkat Lunak (6)
Rekayasa Perangkat Lunak hari ini

– Mengakui bahwa proses teknis dari pengembangan perangkat lunak tidak dapat berhasil tanpa penerapan prinsip-prinsip manajemen yang baik

– Proyek perangkat lunak dapat gagal untuk alasan baik teknis atau manajerial – tapi paling sering kegagalan proyek akibat dari praktek pengelolaan yang buruk atau tidak ada.

Pengembangan Perangkat Lunak (7)
Mayoritas upaya untuk meningkatkan hasil perangkat lunak

– Rekayasa Perangkat Lunak Institute (SEI) – didirikan oleh Departemen Pertahanan AS, bersama dengan Universitas Carnegie Mellon, Pittsburgh, PA

– SEI Capability Maturity Model dikembangkan (CMM) untuk menilai kemampuan perangkat lunak

SEI Capability Maturity Model
Kematangan Tingkat 1
Kematangan Tingkat 2
Kematangan Tingkat 3
Tingkat Kematangan 4
Tingkat Kematangan 5
Bandingkan ISO 9000 dan SPICE (Perangkat Lunak Proses Peningkatan Kemampuan dan tekad).
Terendah tingkat, ad hoc
Proses Repeatable
Ditetapkan proses
Dikelola proses

Mengoptimalkan proses, dengan umpan balik dan perbaikan terus-menerus
CMM

Perubahan Diperlukan Untuk Pindah dari tingkat ke tingkat
Tingkat 1 Tingkat 2
Tingkat 2 Tingkat 3
Tingkat 3 Tingkat 4
Tingkat 4 sampai Tingkat 5
Proses disiplin, telp Proyek.
Proses definisi, Teknik Manajemen telp.
Proses kontrol, telp Kuantitatif.
perbaikan proses terus-menerus, telp Ubah.

Lain Upaya Untuk Meningkatkan Kualitas Perangkat Lunak
ISO 9000 – (International Standard Organization) – 9000 standar seri, berkaitan dengan perbaikan desain, kegiatan pengembangan, produksi, tidak hanya untuk perangkat lunak
SPICE (Perangkat Lunak Perbaikan Proses penentuan Kemampuan) – sebuah inisiatif perbaikan proses internasional, lebih dari 40 negara yang terlibat
CMM, ISO 9000, SPICE – semua bertujuan untuk meningkatkan proses pengembangan perangkat lunak
Hasil Dari Proses Perbaikan Raytheon Corp * – 1987-1992
Peningkatan upaya:
Diinvestasikan sekitar $ 1 Juta setiap tahun selama lima tahun dalam kegiatan perbaikan proses
* – IEEE Software, Juli 1993
Hasil:
– Kembali $ 7,70 pada setiap dolar yang diinvestasikan
– 130% peningkatan produktivitas
– Evolusi dari CMM Tingkat 1 sampai Tingkat 3

– – Aplikasi Dari CMM *
Penerapan CMM perangkat lunak tidak memfasilitasi perbaikan proses, biaya lebih rendah dan meningkatkan produktivitas
Kemajuan melalui tingkat kematangan CMM adalah memakan waktu dan sulit
Pencapaian Level 3 memerlukan empat tahun rata-rata
* – IEEE Software, Mei / Juni 1999

Hari Industri Perangkat Lunak *
Sebuah laporan 1999 menunjukkan bahwa, pada tahun 1997:
– Hanya 2% dari organisasi perangkat lunak telah mencapai CMM level 4 atau 5
– Hampir 62% masih di Level 1
– Karena memerlukan sekitar 4 tahun untuk mencapai level 3, jumlah organisasi di Tingkat atas (4 & 5) masih belum besar (di 2003)
* – IEEE Software, Mei / Juni 1999

Karakteristik Industri Perangkat Lunak Hari ini
Didorong oleh kekuatan pasar yang kuat, termasuk tekanan terus-menerus untuk memberikan perangkat lunak pada jadwal waktu yang tidak realistis
Melanjutkan Evolusi yang cepat dari metodologi perangkat lunak dan sistem
Tidak dapat mengadopsi dan memanfaatkan metodologi terbukti dalam tepat waktu
Hari Industri Perangkat Lunak (1)
Meskipun banyak yang sekarang dikenal tentang bagaimana untuk meningkatkan produksi perangkat lunak, negara secara keseluruhan tidak jauh lebih baik dari sebelumnya *, karena urgensi pertemuan jadwal pengiriman yang tidak realistis dan evolusi secara cepat industri perangkat lunak
* – Yaitu berkualitas buruk, pengiriman yang terlambat, lebih dari anggaran
Hari Perangkat Lunak Industri (2)
“Perangkat Lunak biaya Glitches ekonomi AS $ 59500000000 setiap tahun …”, menurut US Department Perdagangan studi baru-baru ini – sekitar 50 persen akibat pengguna, dan 50 persen karena vendor dan pengembang …. *
* – ACM TECHNews, 1 Juli 2002

III. Kemana Software Engineering ?
Faktor penting.
Pasar tekanan
– Siklus produksi pendek, tidak realistis tanggal pengiriman
– Kekurangan personil terampil
Baru metodologi / teknologi
transfer teknologi keterbatasan
Pasar Tekanan (1) – Pertimbangan Penjadwalan
Manajemen personel sering setuju untuk jadwal yang tidak realistis, karena tekanan pasar dan keinginan untuk “mengalahkan kompetisi”
Hasil:
– Realistis jadwal
– Belum teruji, produk cacat
– Ketidakpuasan pelanggan

Tekanan Pasar (2) – Biaya Proyek Memperkirakan Perangkat Lunak
organisasi perangkat lunak Tercerahkan membuat peningkatan penggunaan terbukti, teknik kuantitatif untuk memperkirakan ukuran proyek, dan persyaratan yang sesuai untuk usaha dan jadwal.
Peningkatan (kuantitatif) memperkirakan membantu menghindari komitmen awal untuk tidak mungkin tanggal pengiriman yang dijadwalkan.

Pasar Tekanan (3) – Biaya Perangkat Lunak Alat Estimasi
Banyak pendekatan, termasuk:
– Estimasi dengan analogi
– Baris kode teknik (LOC)
– Poin Fungsi metode (IFPUG)
– COCOMO model, Boehm (COCOMO II)
– Walston / Felix Model
– Pada tahun 2002, lebih dari 50 alat-alat estimasi biaya dipasarkan di AS, & 25 di Eropa
* – “Software Estimasi Biaya pada tahun 2002”, crosstalk, Juni 2002

Tekanan Pasar (4) – Kekurangan Dari Personil Terampil
Akhir 90-an hingga 2000 – di AS, kegilaan dot.com menyebabkan kekurangan utama dari personil terampil
Solusi = lebih out-sourcing dan impor pekerja terampil
Dot.com patung 2001 + – kekurangan dihilangkan – persaingan yang meningkat di pasar dunia pengembangan perangkat lunak

Baru Metodologi (1)
metodologi baru terus muncul, lebih cepat daripada mereka dapat secara efektif dimasukkan ke dalam penggunaan
Mayor Masalah: Bagaimana seseorang mengetahui apakah sebuah metodologi baru layak menempatkan ke dalam penggunaan? (Beberapa mungkin tidak.)
Adopsi membutuhkan investasi besar – akan ada ROI yang positif?

baru Metodologi (2)
Pemrograman paradigma
ad hoc
fungsional
prosedural
terstruktur
berorientasi objek
pasangan pemrograman
XP (eXtreme Programming)
selanjutnya??
baru Metodologi (3)
KASUS Alat
(Computer Aided Software Engineering)
lingkungan yang kompleks Hari pemrograman memerlukan kompleks, perangkat lunak yang canggih – yang, sekali lagi, meningkatkan pertanyaan tentang biaya adopsi dan ROI (biasanya positif dalam jangka panjang, tetapi negatif dalam jangka pendek).
baru Metodologi (4)
KASUS Alat Paradoks:
CASE tools, seperti Lingkungan Pengembangan Terpadu (IDE), seperti Visual Basic, dll, membuatnya mudah untuk mengembangkan komponen perangkat lunak – bahkan jika pengguna alat tidak memiliki pemahaman tentang konsep perangkat lunak yang mendasari => alat tersebut dapat berbahaya!

Baru Metodologi (5)
KASUS Alat Paradox (2)
Meskipun alat-alat KASUS mengurangi jumlah usaha yang diperlukan untuk memproduksi komponen perangkat lunak, mereka benar-benar meningkatkan jumlah pengetahuan latar belakang kebutuhan pengguna untuk menggunakan alat ini aman dan efektif.

Baru Metodologi (6)
teknik Perangkat Lunak Manajemen Proyek yang terus membaik, dan sedang diterapkan lebih efektif.
pendekatan Semakin kuantitatif, menggunakan “metrik perangkat lunak”
rencana proyek yang spesifik
kerusakan tugas rinci
perusahaan tonggak – hasil tertentu pada tanggal yang dijadwalkan
teratur ulasan dan penilaian
Masalah Alih Teknologi *
Rekayasa teknologi cenderung mengikuti siklus 15-tahun dari konsep awal untuk aplikasi dalam lingkungan produksi
konsep pembangunan – 5 tahun
prototyping, dan penggunaan awal – 5 tahun
digunakan dalam lingkungan produksi – 5 tahun
* – Rekayasa Perangkat Lunak, Pressman, 4th ed, 835.
Penting Tren
Perangkat Lunak Metodologi
Lingkungan Komputasi
Pendidikan Tren
Perangkat Lunak Metodologi – UML Konferensi Dunia, 11 Juni 2001
Ivar Jacobson, salah satu dari “3 amigos” (pendiri UML) – diidentifikasi 4 tren utama dalam pengembangan perangkat lunak:
1. Komponen reusable – berhenti mengulang pekerjaan
2. Lebih up-depan pengujian – produk dengan cacat yang lebih sedikit
3. Landasan transparansi – mengurangi kompleksitas pemrograman saat ini
4. UML “semua jalan ke bawah” – yaitu otomatis menghasilkan produk akhir dari spesifikasi UML (pemrograman otomatis – tujuan waktu yang lama!)

Metodologi Perangkat Lunak – (2)
Ivar Jacobson – “Tidak ada hambatan teknis – hanya penghalang politik …” untuk mencapai empat tujuan yang tercantum di atas. “Masalah politik adalah karena investasi besar yang telah dibuat dalam bahasa pemrograman saat ini, dan lingkungan pengembangan terintegrasi, penuh dengan compiler, debugger, pembangun GUI, dan lain-meningkatkan fitur produktivitas.”

Metodologi Perangkat Lunak – (3)
Produktivitas / Tingkat Sukses dari pengembang perangkat lunak sangat bervariasi
Lebih pengembang sukses menggunakan cepat-bertahap-berulang teknik dimana tepat – bukan menempel ke salah satu (“air terjun/water fall”) pendekatan klasik
baru teknik dapat diterapkan berhasil dengan baik proyek-proyek kecil & besar

Lingkungan Komputasi
Internet / Web layanan berbasis pasar
– Akan melebihi $ 50 milyar per tahun pada tahun 2005 *
– Persaingan sengit
• Microsoft. Bersih
• vs
• J2EE (Java 2 Enterprise Edition) – sedang dikembangkan dan dipromosikan oleh Hewlett-Packard, IBM, Sun Microsystems, dll
* – “Bersih Rivals ..”, USA Today (07/09/01)
Komputasi Lingkungan (2) – Komputer / Keamanan Informasi
Beberapa laporan baru-baru ini: *

– Sebuah survei terbaru dari 300 perusahaan di Amerika Utara mengungkapkan bahwa mereka mengalami serangan virus komputer 1,2 Juta selama periode 20 bulan terakhir

– Tahun lalu (2001) serangan cyber menyebabkan sekitar $ 12 Miliar di kerusakan dan kerugian, termasuk pelanggaran dari bandara dan bendungan
* – ACMTECHNews, 03/04/02 & 05/07/02

Komputasi Lingkungan (3) – kegiatan berbahaya lain – SPAM
Semua pengguna komputer yang sedang dibanjiri oleh pesan email yang tidak diinginkan = SPAM
Beberapa memperkirakan bahwa sampai 40% dari semua email di Internet adalah SPAM
ancaman Disengaja (virus, dll) dan SPAM yang sangat meningkatkan biaya administrasi sistem komputer
Pendidikan Tren
Rekayasa Perangkat Lunak telah matang sebagai sebuah disiplin pendidikan
Rekayasa Perangkat Lunak -Software Enginering Body of Knowledge (SEBOK)- telah didefinisikan
BS / MS program gelar telah dimulai (1 BS / SE – Rochester Institute of Technology – 1996) – dan akan segera diakreditasi oleh ABET (AS)
Pendidikan Tren (2)
Di masa lalu, siswa mengejar derajat di CS untuk mempersiapkan untuk pekerjaan pengembangan perangkat lunak (software engineering yaitu?)
Di masa depan, siswa mempersiapkan untuk karir dalam rekayasa perangkat lunak akan diharapkan telah mendapatkan gelar dalam SE (bukan CS) – terutama jika terakreditasi

Pendidikan Tren (3)
Prediksi – mendekati periode panjang “penyesuaian” antara akademis “ilmu komputer” program dan akademis “rekayasa perangkat lunak” program – yang mungkin menyakitkan
Ini membawa kita kembali ke pertanyaan awal kita – “Apa itu Software Engineering?”

Pendidikan Tren (4)
Mayoritas masalah?
Meskipun upaya awal kami untuk menyajikan definisi nyenyak berbasis “rekayasa perangkat lunak”, ada pandangan yang berbeda dari “rekayasa perangkat lunak” – seperti yang ditunjukkan dalam diagram berikut.
Oh – dan jangan lupa –
Jadi – apa pandangan Anda?
Jadi – Dimana Software Engineering Pergi?
Kendali uap depan, ke lingkungan perangkat lunak bahkan lebih kompleks, termasuk sistem yang lebih besar dan lebih kompleks, risiko keamanan yang lebih besar dan peningkatan kebutuhan untuk profesional, integritas dan kompetensi pendidikan. Sayangnya, tidak ada peta jalan definitif untuk membantu kami menemukan jalan kami.

Everald E. Mills, Ph.D. – CSSE Dept Universitas Seattle-Software Engineering-

Iklan

Mitos Seputar Software Engineering

Ketika mendengar kata software engineering, yang ada dalam pikiran sebagian orang adalah sederetan proses bernama SDLC (Software Development Life Cycle). Istilah software engineering sendiri pertama kali muncul pada tahun 1968, yaitu pada NATO Software Engineering Conference. Namun sayangnya, sejak saat itu (diperkenalkannya software engineering) sampai sekarang, pekerjaan membuat software masih saja error-prone. Berikut ini beberapa mitos (versi saya pribadi) seputar software engineering:

Code adalah implementasi

Ini mungkin pendapat yang sudah sangat umum, tapi sebenarnya masalah ini tidak dapat dianggap sepele. Ini dapat menjadi awal dari sebuah kehancuran. Ada kesalahpahaman di sini, banyak yang menyalah artikan bahwa implementasi itu ‘tinggal mengerjakan aja, sedikit pakai otak’, mirip seperti (maaf) tukang, padahal kenyataannya di dunia software tidak seperti itu. Sehingga saat ini berkembang pendapat bahwa programming (dalam hal ini coding) adalah pekerjaan yang levelnya paling ‘rendah’, bahkan untuk lulusan S1 dianggap tidak pantas berprofesi sebagai programmer. Konon, programming itu urusan lulusan SMK. Pendapat seperti ini sangat umum di Indonesia. Akan tetapi, jika Anda lihat pekerja di luar negeri, Twitter atau Google misalnya, syarat untuk menjadi programmer (coding), ada yang sampai level Phd. Mitos ini harus dibuang jauh – jauh kalau IT Indonesia mau maju. Dampak lainnya yang dapat kita lihat, gaji programmer di Indonesia tergolong rendah, ini juga akibat dari anggapan bahwa source code adalah implementasi, sehingga programmer dapat disamakan dengan (maaf) tukang, maka programmer dapat dibayar relatif rendah. Coba saja bila anggapan yang beredar dalam masyarakat adalah source code = desain, maka kondisinya akan sangat berbeda.
Pada kenyataannya, sebenarnya source code itu adalah desain, hanya saja dia memeiliki level abstraksi yang beragam (ada yang tinggi dan ada pula yang rendah). Kita bisa saja membuat suatu source code dengan level abstraksi yang lebih tinggi daripada diagram UML sekalipun. Jadi, source code sebenarnya adalah dokumen desain, dia memiliki representasi berupa teks. Sedangkan dokumen desain lainnya yang cukup populer adalah UML, yang memiliki representasi berupa grafis.

Proses analisis kebutuhan dan desain tidak mempedulikan implementasi

Ini anggapan yang dapat berakibat fatal, menyebabkan kegagalan perangkat lunak. Kalau kita bandingkan dengan engineering lain, mungkin dapat dianalogikan seperti merancang alat elektronika tanpa mempedulikan hukum fisika.
Misal, seorang arsitek atau desainer perangkat lunak disuruh membuat aplikasi bioinformatika untuk membuat simulasi DNA. Kalau dia tidak mempedulikan implementasi, bagaimana mungkin dia akan menghasilkan desain suatu perangkat lunak yang dapat bekerja dengan baik pada komputer performa tinggi, baik dengan arsitektur GPU (misal nVidia Tesla), CPU (misal Intel Xeon), maupun campuran keduanya, yang notabene ketiganya memiliki arsitektur dan teknik pemrograman yang sangat berbeda. Karena ketiga arsitektur prosesor tersebut sangat berbeda, maka membutuhkan analisis dan desain yang sangat berbeda juga.
Hal lain yang mungkin terjadi adalah biaya pembuatan software menjadi sangat mahal, termasuk karena software yang dihasilkan tidak efisien sehingga kebutuhan akan hardware meningkat.

Dokumen perangkat lunak hanyalah analisis kebutuhan (spesifikasi) dan desain

Ini adalah salah satu akibat dengan kesalah pahaman dalam memahami bahwa source code adalah implementasi (lihat poin 1). Sejatinya source code juga termasuk dokumen analisis dan desain perangkat lunak, hanya saja pada umumnya dia memiliki level abstraksi yang lebih rendah.
Mempelajari “konsep pemrograman”, otomatis menguasai berbagai bahasa pemrograman

Ini salah satu upaya mencari ’silver bullet’. Seperti matematika, untuk menghitung luas persegi, anda dapat menggunakan perkalian, penjumlahan (sigma), atau integral. Perkalian, penjumlahan, dan integral merupakan bahasa matematika. Dengan mempelajari konsep menghitung luas dengan perkalian, tidak akan menjamin anda dapat menguasai konsep menghitung luas dengan menggunakan metode penjumlahan (sigma) atau integral. Jadi setelah mempelajari konsep menghitung luas dengan perkalian, kita tidak bisa berkata bahwa: “Saya telah menguasai konsep menghitung luas, apapun metodenya”. Demikian pula pada pemrograman, dengan mempelajari suatu bahasa tertentu, tidak ada jaminan dapat mengerti bahasa lainnya. Yang perlu dicatat, dalam pemrograman, konsep pemrograman tidak memonopoli ‘pemberian pengaruh’, justru sering kali bahasa pemrograman-lah yang memengaruhi konsep pemrograman, sehingga melahirkan konsep-konsep baru. Bahasa pemrograman dan konsep pemrograman merupakan dua hal yang tidak terpisahkan.

Perangkat lunak itu abstrak, tidak nyata. Sehingga software engineering berbeda dengan engineering lainnya

Ini biasanya menjadi ‘kambing hitam’ atas payahnya kualitas software engineering saat ini. Kalau kita telusuri, justru software engineering itu berhadapan dengan sesuatu yang sangat nyata. Kita dapat mengetahui perilaku software yang kita buat sampai pada level yang paling kecil, yaitu kode mesin. Kita tidak perlu melakukan prediksi atau eksperimen terhadap perilaku dari kode mesin tersebut, karena itu sudah pasti, kode tersebut akan dieksekusi sesuai desain arsitektur prosesor yang digunakan, kecuali ada kesalahan pada hardware. Justru engineering lainnya (engineering klasik), yang ‘dianggap berhubungan dengan BENDA NYATA’, tidak memiliki kelengkapan informasi seperti ini. Seperti kita tahu bahwa sampai sekarang para ilmuan masih belum menemukan kepastian terhadap bagian terkecil dari materi, ada berbagai teori yang muncul, seperti yang dipelajari dalam fisika kuantum, string theory, dan m-theory. Justru engineering klasik itulah yang sebenarnya bermain dengan hal yang tidak nyata, karena tidak semua informasi yang tersedia telah diketahui. Sehingga engineering klasik lebih sering melakukan eksperimen daripada software engineering. Sedangkan eksperimen pada software engineering mungkin hanya dilakukan saat stress test atau pengukuran kinerja, reliabilitas, dan skalabilitas. Ini semakin memperjelas, bahwa sebenarnya eksperimen dalam software tersebut dilakukan ketika berhubungan dengan hardware, yaitu berkaitan dengan performa prosesor, memory, I/O, dsb. Akan sulit memprediksi secara akurat penurunan kinerja prosesor atau memory pada kondisi tertentu (misal suhu tertentu), kecuali melalui eksperimen. Sedangkan source code, yang menjadi inti dari software, itu sudah sangat nyata, tidak ada yang abstrak, walaupun tidak kasat mata, perilakunya dapat ditentukan secara pasti tanpa perlu melakukan eksperimen.

*http://agilini.us/2011/05/08/mitos-seputar-software-engineering/ini hanya pendapat pribadi, tidak untuk dijadikan referensi

Renungan

janganlah salah seorang di antara kamu mengharapkan kematian karena (tidak tahan dengan) musibah yang menimpanya, dan apabila dia memang harus mengharapkan, sebaiknya dia berkata: Ya Allah! Hidupkanlah aku selama kehidupan itu yang terbaik bagiku, dan matikanlah aku jika kematian itu yang terbaik bagiku. (Shahih Muslim No.4840)

Janganlah kamu saling membenci, saling mendengki dan saling bermusuhan, tetapi jadilah kamu hamba-hamba Allah yang bersaudara. Tidak halal seorang muslim mendiamkan (tidak menyapa) saudaranya lebih dari tiga hari. (Shahih Muslim No.4641)

Hindarilah oleh kamu sekalian berburuk sangka karena buruk sangka adalah ucapan yang paling dusta. Janganlah kamu sekalian saling memata-matai yang lain, janganlah saling mencari-cari aib yang lain, janganlah kamu saling bersaing (kemegahan dunia), janganlah kamu saling mendengki dan janganlah kamu saling membenci dan janganlah kamu saling bermusuhan tetapi jadilah hamba-hamba Allah yang bersaudara. (Shahih Muslim No.4646)

Tidak ada seorang muslim pun yang tertimpa suatu penyakit dan lainnya kecuali Allah akan menghapus dengan penyakit tersebut kesalahan-kesalahannya seperti sebatang pohon yang merontokkan daunnya. (Shahih Muslim No.4663)

Tidak ada seorang muslim pun yang tertusuk duri atau tertimpa bencana yang lebih besar dari itu kecuali akan tercatat baginya dengan bencana itu satu peningkatan derajat serta akan dihapuskan dari dirinya satu dosa kesalahan. (Shahih Muslim No.4664)

Tidak ada satu kepedihan pun atau keletihan atau penyakit atau kesedihan yang menimpa seorang muslim kecuali akan dihapuskan dengan penderitaannya itu sebagian dari dosa kesalahannya. (Shahih Muslim No.4670)

Janganlah kamu sekalian terlalu bersedih dan tetaplah berbuat kebaikan karena dalam setiap musibah yang menimpa seorang muslim terdapat penghapusan dosa bahkan dalam bencana kecil yang menimpanya atau karena sebuah duri yang menusuknya. (Shahih Muslim No.4671)

Seorang muslim itu adalah saudara bagi muslim yang lainnya, dia tidak boleh menzaliminya dan menghinakannya. Barang siapa yang membantu keperluan saudaranya (sesama muslim), maka Allah akan memenuhi keperluannya. Barang siapa yang melapangkan satu kesusahan seorang muslim, maka Allah akan melapangkan untuknya satu kesusahan di antara kesusahan-kesusahan hari kiamat nanti. Dan barang siapa yang menutupi aib seorang muslim, maka Allah akan menutupi aibnya pada hari kiamat. (Shahih Muslim No.4677)

hendaklah seseorang itu menolong saudaranya yang lain baik yang zalim maupun yang dizalimi. Kalau terhadap yang zalim hendaklah dicegah perbuatan zalimnya karena begitulah cara memberikan pertolongan kepadanya, dan terhadap yang dizalimi maka hendaklah ia membelanya. (Shahih Muslim No.4681)

Perumpamaan orang-orang mukmin dalam hal saling kasih, saling menyayangi dan saling cinta adalah seperti sebuah tubuh, jika salah satu anggotanya merasa sakit, maka anggota-anggota tubuh yang lain ikut merasakan sulit tidur dan demam. (Shahih Muslim No.4685)

Sesungguhnya Allah itu Maha Lembut yang menyukai kelembutan. Allah akan memberikan kepada orang yang bersikap lembut sesuatu yang tidak diberikan kepada orang yang bersikap keras dan kepada yang lainnya. (Shahih Muslim No.4697)

Ya Allah! Sesungguhnya aku hanyalah manusia biasa, maka siapa saja dari kaum muslimin yang aku caci atau aku laknat atau aku pukul, maka jadikanlah itu sebagai zakat dan rahmat baginya. (Shahih Muslim No.4706)

Bukanlah termasuk pendusta orang yang berdusta untuk mendamaikan antara manusia. Dia berkata yang baik dan menyampaikan yang baik pula. (Shahih Muslim No.4717)

Rasulullah SAW melarang mengapur kuburan, duduk-duduk di atas kuburan dan membina kuburan (membangun dengan bata atau dengan ubin, dll) tapi (hendaknya kuburan itu) berupa unggukan tanah saja setinggi satu jengkal. (HR. Muslim)

Barangsiapa mencari mati syahid dengan sungguh-sungguh maka akan Aku berikan kepadanya (pahala mati syahid) meskipun dia mati di atas tempat tidurnya. (HR. Muslim)

“Perbanyaklah mengingat kematian maka kamu akan terhibur dari (kelelahan) dunia, dan hendaklah kamu bersyukur. Sesungguhnya bersyukur akan menambah kenikmatan Allah, dan perbanyaklah doa. Sesungguhnya kamu tidak mengetahui kapan doamu akan terkabul.” (HR. Ath-Thabrani)

dunia di awali dengan kesulitan dan di akhiri dengan kebinasaan, yang Halal akan di hisab dan yang Haram akan berujung siksa, yang kaya iman nya akan menghadapi ujian dan fitnah, dan yang miskin iman akan dalam kesusahan …….

Anonymous

Apa kabar cinta?….Masihkah tetap untuk-NYA? Apa kabar rindu?…..Masihkah tetap untuk surgaNYA? Apa kabar hati?…Masihkah sesejuk dan sebening embun pagi….?

unknown

aku ingin mencintaimu dengan sederhana: dengan kata yang tak sempat diucapkan kayu kepada api yang menjadikannya abu, dengan isyarat yang tak sempat disampaikan awan kepada hujan yang menjadikannya tiada (SAPARDI DJOKO DAMONO)

“Lihatlah orang yang hidupnya lebih susah darimu dan jangan melihat orang yang hidupnya lebih enak darimu, karena hal itu lebih patut agar engkau sekalian tidak menganggap rendah nikmat Allah yang telah diberikan kepadamu.” (Muttafaq Alaihi)

di kutip dari ainuamri.wordpress.com

Senin 12-12-11

Ya Allah Hari ini aku blank mau ngapain, gara-gara dari awal masuk ada aja yg error 😦 mau print cover DVD printer deskjetnya error, mau print tanda terima printer Dot matrixnya error, terima tlp mau di transfer ke line yg lain error juga. Jadi berimbas sama mood mau ngerjain use case nyicil penulisan biar cepet selesai harapanku sampai lagi ngetik pun bingung ketik..hapus..ketik..hapus..
Apa ini efek sari hari sabtu yang mau ke tempat studi kasus udah di tengah jalan di cancel, akhirnya ke kuningan cari perpus berguna juga sih nyicil bab 2, keasikan cari-cari literatur lupa klo masuk kuliah jam 2 alhasil telat masuk kuliah. Jam ke 2 ternyata ada jadwal juga TG dikasih tugas gambarin perempatan senen trus dibahas deh Coloring Graphnya, sampai sekarang masih ngebayangin perempatan senen.Pulang kuliah sabtu keujanan juga, untungnya pertandingan yang dimenangkan MU dari Wolves mengobati efek dari keujanan biasanya klo abis keujanan masuk angin.
efek hari minggu, Micro sedikit telat, RPL2 lancar, AP3 bisa ikut biarpun di selingi bimbingan TA ke pembimbing 2.Dan pulangpun langsung tepar ngantuk berat, langsung tidur tidak lupa pesan sama adeku TOLONG BANGUNIN JAM 9 YA SOALNYA BELUM MAKAN MALEM. Setelah mimpi beberapa judul Tepat pada jam 9 adeku bangunin pakai senteran, segala digebrak-gebrak *katanya aku susah bangunnya :((. Dengan mata setengah merem-pun turun dan mencari apa yang bisa ku makan, sembari makan liat spiderman 2 jadi inget mie goreng yg lagi ta makan kok kaya jaring laba-laba si spider akhirnya ga jadi habis tuh mie goreng ga tega makannya :D.Akhirnya mataku ga bisa diajak kompromi lagi masih ngutang tidur kayaknya dan setelah Isya akupun ga mau menunda-nunda bayar utang tidur :D. Kayanya baru merem tau-tau udah pagi aja, udah senen masih ngantuk klo lanjut tidur berarti ga kerja, klo ga kerja tgl 15 udh janji sm dentist klo hari ini izin trus tgl 15 izinnya ga enak. ya sudahlah kerja aja..[ aku ga tau ni tanggal 12-12-12] masih bisa isi blog ini lagi ga ya? semoga Allah memberiku panjang umur yang bermanfaat amin 🙂

Mulai belajar GUI

yey …akhirnya gw memaksa habit jelek gw untuk di alihkan ke yg lebih baik coba-coba belajar programming language. so i’m interested to java…

22 mei 2011

step 1 udah pasti instal jdk + netbeans

step 2 belajar bikin frame :D…

step 3 belajar bikin label

step 4 belajar bikin button

Kenapa ya.. harus seperti ini

Dear Allah,

kenapa ya harus seperti ini jalannya…

kenapa sering sekali hati ini sakit…

yang tampak hanyalah kelemahan dan kelemahan

walau aku berusaha tegar…berusaha mengatasi semua ini

aku berusaha kuat…berdoa

memohon ta ada habisnya

selalu pahit , sampai aku takut untuk berharap

suatu saat aku memberanikan diri untuk berharap

akan tetapi pahit juga yang aku rasa…

namun aku hanya bisa bersabar

walau entah kapan harapan itu akan terwujud…

1 hari

1 bulan

1 tahun

10 tahun

entahlah hanya Allah yang tahu…

#Allah tidak akan memberikan ujian diluar kemampuan hambanya#

akan ku tanam kuat-kuat kalimat itu pada hatiku agar hati ini ta lagi rapuh…

bahagialah mereka yang sudah mencapai harapannya…

berusahalah kita yang belum mencapainya…

sudah di baca???

pagi-pagi cek inbox…ada yang baru dan berupa instruksi. ok langsung kerjakan..!!! 🙂 maklum lagi dalam tahap KAIZEN jadi berusaha menjadi lebih baik setiap hari walaupun hanya sedikit-sedikit. setelah itu gw bales deh tu inbox, saat sender datang bertanyalah sm gw sudah baca emailnya???? dalam hati gw bilang wah berarti dia belum baca balesannya dari gw :))….wkwkwkwk

Menunggu kesembuhan

Ya Allah, tinggal menghitung hari papaku harus operasi batu ginjal. Aku berharap semoga Engkau memberikan kelancaran dan kemudahan untuk papaku melalui proses penyembuhannya. Karena hanya Engkau yang bisa mengabulkan permohonanku. Begitu banyak kesulitan yang kami lalui semoga dengan kesembuhan papa akan mengobati luka sayatan pada hati kami di saat kami melalui kesulitan itu. Jangan biarkan papaku putus asa lagi, aku tak tega melihatnya menahan sakit, frustasi karena sakitnya. Karena papa selalu beranggapan kalau dia adalah penanggung jawab untuk keluarga, memang itu benar tapi disaat sakit biarlah aku dan adik-adikku yang menggantikan tugasmu pa, itu yang aku katakan. Tapi wajah mendungnya selalu menyelimuti wajahnya yang semakin tirus karena sakit, begitu tegas menggambarkan frustasinya karena tidak bisa menjalankan kewajibannya sementara waktu. Papa itu hanya sementara, aku yakin papa akan cepat sembuh dengan Ridho Allah tentunya. Kami tidak pernah berhenti berdoa untuk kesembuhanmu…untuk semangatmu…

Selasa Sore

Emmmm nungguin angkutan yg bisanya gw naik lama bangt, akhinya gw memutuskan untuk naik angkutan lain yg sebenarnya kurang menguntungkan karena jalur tuh angkutan macet berat…akhirnya gw putusin naik aja lah lagian gw dah nunggu lama ga ada pilihan lain lagi. Emang bener macet mana lagi pusing banget gara2 flu ga jelas….masa gara2 makan ice crem 2x sehari bikin gw pilek,huhu…emang kekebalan tubuh lg menurun kali ya… akhirnya setelah 30 menit di angkutan itu sampai jg di pertigaan kopi, emmm dari pada gw nyambung medingan jala kaki aja sambil menikmati sore hari lewat bangunan tua di kota tua,…nyaman banget di liat ,…..lagian gw ngerasa lebih relax….disaat gw merasa nyaman dengan suasana sore itu, pusing udah sedikit ilang samar2 gw liat ada 2 cewek…dalam hati gw bilang ckckck….Masya Allah pakai baju sexy2 amat itu yg menyebabkan kejahatan….belum selesai gw bergumam…tiba..tiba…….HAHAHAHA terdengan suara gahar ketawa ngakak…..setelah gw perhatiin ternyata 2 cewek itu bukan cewek sejati,..melainkan cewek jadi2a alias bencong….lah busett dah makin nyebut gw Masya Allah ternyata tu bencrit Naudzubillah Mindzalik….tapi lucu jg ya gw jd pengen ktawa sediri…ada ce jadi2an…emmhh kenapa ya manusia itu ga ada rasa syukurnya kepada Sang Pencipta Allah SWT, udah di lahirkan sebagai laki2 dia pakai rok, lipstick,dll. Apa dia ga sadar kalau dia udah menyalahi kodrat.Selepas nyebut ternyata gw amatin dibelakang tu cewek jadi2an pada cengar-cengir semua….mereka aja malu yg jadi orang lain ko dia [cewek jadi2an] ga malu ya…Masya Allah

sudah bisa apa???,..apa sudah bisa???

udah semester IV pertanyaan muncul dari benak sendiri ketika teringat pertanyaan teman sekantor,”kamu suka koding ga?”, “trus udah pernah bikin program apa?”, deeerrr udah kaya di samber petir di siang bolong untungnya ga jadi ponari :P, iya gw sudah semester IV malu sekali rasanya ngaku kuliah di TI blom bisa ngapa-ngapain. Program2 yg di pelajari masih sedikit, ga ngerti apa2, hadoh culun banget c….ga hightech klo kata lidya temen sekelas gw.iya ya….mulai saat ini sedikit demi sedikit gw harus merubah habit yg ga jelas.masa bisa level tinggi klo cuma di farm ville hahaha 😀 bener-bener katro ni gw. mungkin klo ada tukul di sebelah gw dia bilang dasar wong deso…katro…, mana di kelas jd anak yg terbelakang (bukan terbelakang mental lho) cuma terbelakang soal programmingnya….yg lain udah ngacir ini masih nyengir2 klo disuruh bikin program…emang c klo di tengok kebelakang (ya iya lah masa nengok ke depan) basicnya gw ga ada nyangkut2nya sama IT,secara tadinya jurusan sekretaris dengan modal nekad gw berusaha masuk TI, gw yakin suatu kesempatan nanti gw bisa.Bukannnya sok tapi optimis….teman-teman dukung aq ya keti reg spasi Ne…hadah ngelantur ya udah gw punya cita2 mau berbenah diri mulai dari sekarang semoga Allah meridhoinya amin.Bismillahirohmani’rahim

« Older entries