Minggu, 21 April 2013

REQUIREMENTS ENGINEERING


            Merupakan sebuah proses menetapkan layanan yang dibutuhkan customer dari sebuah sistem dan adanya batasan-batasan dari operasi dan yang dikembangkan. Biasanya juga disebut pernyataan abstrak tingkat tinggi.
            Menurut Davis (1993) Jika perusahaan mengharapkan proyek besar, kebutuhan harus didefinisikan dengan jelas. Kebutuhan harus ditulis, karena mungkin ada perbedaan jika bertemu lagi dengan klien. Biasanya disebut juga dengan kontrak.

Ø    Tingkatannya :
      a. User Requirements / Kebutuhan User : Pernyataan alami dilengkapi diagram layanan yang disediakan sistem,ada batasan-batasan operasi dan ditulis untuk customer.
Readersnya : Client Managers, System End-Users, Client Engineers, Contractor Managers, dan System Architects.
b. System Requirements / Kebutuhan Sistem : Deskripsi detail dari Software System dan adanya batasan operasi serta merupakan bagian kontrak.
Readersnya : System End-Users, Client Engineers, System Architects, dan Software Developers.

Ø    Macamnya :
      a. Functional Requirements                    : Pernyataan dari layanan yang harus disediakan sistem. Tergantung dari jenis software, yang diharapkan user dari software tersebut dan jenis sistemnya. Requirements sendiri harus komplit dan konsisten.
      b. Non-functional Requirements             : Batasan dari layanan yang dikirimkan melalui sebuah sistem.

\
* Types of Non-functional Requirements






    *Metrics for specifying non-functional requirements


c. Domain Requirements                        : Menjadi kebutuhan functional yang baru.Harus melihat batasan/ranahnya. Bisa menjadi fungsi yang baru.
      d. Agile-method and Requirements        : Metode ini menggunakan increment model. Menurut metode ini membuat dokumen itu membuang waktu karena dokumen biasanya kadaluarsa.

Ø    Spesifikasi Requirements :
         
Cara menulis   :
          a. Menggunakan Bahasa natural
          b. Bahasa naturalnya terstruktur dan standar
          c. Bahasa Desain Deskripsi
             d.  Grafik
          e. Konsep Matematis

 ** Bahasa natural biasanya memiliki kelemahan yaitu kurang jelas,membingungkan karena tercampur, dan kebutuhan berbeda diekspresikan bersama.






Selasa, 26 Maret 2013

KELEBIHAN DAN KEKURANGAN MODEL PROSES




  • Waterfall Model


            Waterfall pada umumnya digunakan untuk rekayasa sistem yang besar dimana proyek dikerjakan di beberapa tempat berbeda dan dibagi menjadi beberapa bagian sub-proyek.
            Kelebihan        :
§  Model ini baik untuk produk dengan kebutuhan yang jelas dipahami atau ketika bekerja dengan technical tools, arsitektur dan infrastruktur yang telah dipahami dengan baik.
§  Sederhana.
§  langkah-secara terurut,fokus,dan mudah diikuti.
Kekurangan     :
§  Tidak fleksibel karena untuk menuju ke fase selanjutnya harus menunggu fase sebelumnya untuk melengkapi tugas yang saling memiliki ketergantungan.
§  Sangat sulit untuk customer  ketika akan melakukan perubahan kebutuhan yang eksplisit.
§  Customer harus memiliki kesabaran sampai dengan produk perangkat lunak selesai di implementasikan.
§  Customer hanya terlibat di awal proyek.

  •  V-Model


            Kelebihan        :
§  V-Model sangat fleksibel.
§  V-Model dikembangkan dan di-maintain oleh publik. User dari V-Model berpartisipasi dalam change control board yang memproses semua change request terhadap V -Model.
Kekurangan     :
§  V-Model adalah model yang project oriented sehingga hanya bisa digunakan sekali dalam suatu proyek.
§  V-Model terlalu fleksibel dalam arti ada beberapa activity dalam V-Model yang digambarkan terlalu abstrak sehingga tidak bisa diketahui dengan jelas apa yang termasuk dalam activity tersebut dan apa yang tidak.

  •                Incremental Model

            Cocok untuk proyek berukuran kecil (tidak lebih dari 200.000 baris coding).
            Kelebihan        :
§  Relatif sedikit jumlah programer atau developer yang digunakan.
§  Memberikan  operasional mutu produk pada tiap stage, tetapi satu yang memuaskan hanya subset kebutuhan klien.
§  Mengurangi efek traumatis dari mengesankan suatu produk sepenuhnya baru pada organisasi klien dengan menyediakan suatu pengenalan berangsur-angsur.
§  Klien bisa melihat sistem dan memberikan feedback.
            Kekurangan     :
§  Semangat melakukan proses membangun dan memperbaiki perangkat lunak bisa menurun.
§  Kesalahan desain menjadi bagian dari sistem dan sulit untuk memperbaikinya
§  Klien melihat kemungkinan-kemungkinan yang ada sehingga ingin mengubah kebutuhan.

  • Evolutionary Model

a.      Prototyping
Cocok untuk proyek yang lamanya 60-90 hari karena cepat prosesnya.
Kelebihan        :
§  Pelanggan dapat menjadi lebih mantap dalam melihat kemajuan.
§  Bermanfaat ketika kebutuhan  sedang berubah dengan cepat, ketika pelanggan enggan untuk mengikat kepada satu set kebutuhan, atau ketika tak seorangpun secara penuh memahami area aplikasi itu.
Kekurangan     :
§  Tidak ada cara untuk mengetahui banyaknya iterasi yang diperlukan.
§  Membuat prototipe / prototyping dapat mendorong ke arah perancangan sistem yang kurang baik. Sebab tujuan utama protoyping adalah perkembangan cepat, perancangan sistem kadang-kadang dapat rusak sebab sistem dibangun pada rangkaian “lapisan” tanpa integrasi pertimbangan global dari semua komponen lain.

b.      Spiral
Model spiral merupakan pendekatan yang realistik untuk software berskala besar.
Kelebihan        :
§  Masing-masing iterasi dari spiral dapat dikhususkan untuk kebutuhan proyek yang sesuai.
Kekurangan     :
§  Rumit dan memerlukan perhatian dan pengetahuan manajemen untuk memulainya.


Rabu, 20 Maret 2013


SOCIAL LEARNING PROCESS

  •   Awalnya software tersebar,tidak diketahui, dan tidak lengkap.
  •   Untuk mengubah pengetahuan ke software butuh dialog, antara user dan designer, dan designer pada toolsnya.
  • Pengembangan software merupakan proses pembelajaran sosial yang berulang-ulang.

PROSES MODEL

  • Sebuah kumpulan tahapan yang sudah bisa diprediksi yang akan membantu membuat hasil yang berkualitas tinggi dan tepat waktu.
  • Melibatkan software engineering(yang membuat), manager(yang mengikuti), client(yang membutuhkan).
  • Proses model berguna untuk kestabilan, mengontrol, mengorganize kegiatan-kegiatan yang bila ditinggalkan akan kacau.
  • Produk kerja dari proses model, yaitu: produk, dokumen, dan data.
  • Langkah-langkahnya sendiri tergantung dengan software apa yang akan kita buat.
  • Sejumlah mekanisme penilaian proses perangkat lunak yang memungkinkan kita menentukan kematangan proses software tersebut digunakan untuk jaminan bahwa yang kita buat benar.

DEFINISI SOFTWARE PROSES

  • Perangkat kerja untuk aktivitas-aktivitas, tugas-tugas, aksi-aksi yang dibutuhkan untuk membuat software yang berkualitas.
  •   Tidak sama dengan Software Engineering. Software Proses meliputi teknologi yang mengisi proses.

PROCESS FLOW

  • Linier Process Flow                : Mengeksekusi lima aktivitas secara berurutan. Bila aktivitas sebelumnya belum selesai tidak bisa dilanjutkan ke aktivitas selanjutnya.

  • Iterative Process Flow           : Mengulang satu atau lebih proses atau aktivitas sebelum melanjutkan ke aktivitas selanjutnya.

  •   Evolutionary Process Flow   : Mengeksekusi aktivitas secara melingkar dan setiap sirkuit dia mengeksekusi ke arah versi yang lebih lengkap(melengkapi).

  • Parallel Process Flow           : Mengeksekusi satu atau lebih aktivitas paralel dengan yang lain (melakukan dua atau lebih aktivitas yang berbeda pada saat yang sama).


Identifying a Task Set

  • Buat list atau daftar tugas yang akan dicapai.
  • Buat list atau daftar produk kerja yang akan dihasilkan.
  • Buat list atau daftar untuk menyaring jaminan kualitas yang akan dijalankan.

Task Set for Requirements Gathering Actions for a Simple Present

  •  Buat daftar stakeholders untuk project.
  • Ajak semua stakeholders dalam pertemuan informal.
  • Tanyakan ke semua stakeholders untuk membuat list fitur-fitur atau fungsi-fungsi yang dibutuhkan.
  • Mendiskusikan apa yang dibutuhkan dan  membuat list final.
  •  Memprioritaskan kebutuhan.
  • Membuat catatan-catatan untuk hal-hal di luar area (tidak terduga).

POLA PROSES

  • Menjelaskan masalah yang terkait dengan proses yang ditemui selama bekerja.
  •  Mengidentifikasi lingkungan dimana masalah telah dihadapi dan  menunjukkan satu atau lebih bukti solusi masalah.

MACAM-MACAM POLA

  •   Stage Patterns       : Mendefinisikan sebuah masalah yang dihubungkan dengan aktivitas framework untuk proses. Terdiri dari Multiple Task Patterns.
  • Task Patterns         : Mendefinisikan masalah yang berhubungan dengan software engineering action.
  • Phase Patterns       : Mendefinisikan urutan dari aktivitas framework.

Minggu, 17 Maret 2013


Di zaman sekarang ini siapa sih yang tidak tahu software? Ya, software adalah perangkat lunak yang dirancang oleh engineer dan digunakan oleh masyarakat luas. 

Software memiliki dua peran yaitu, sebagai produk dan sebagai sarana menyampaikan produk atau informasi. Seiring perkembangan waktu software pun semakin dikembangkan menjadi:
  1.  System software             : Sistem operasi,contohnya Windows,Mac,Linux
  2. Application software     : Untuk membantu pekerjaan manusia,contohnya Office,Corel Draw
  3. Engineering/scientific software
  4. Embedded software
  5. Product-line software
  6. Web-applications Software
  7. Artificial intelligence software
Para Engineer berusaha melakukan pengembangan software dalam 7 kategori diatas. Software pun berevolusi. Engineer berusaha memperbaiki kesalahan yang terjadi sebelumnya pada software dan membuat software sesuai permintaan customer. Software menjadi elemen penting dalam perkembangan sistem komputer. Lebih dari 50 tahun yang lalu software telah dikembangkan hingga mencapai industri seperti saat ini. Walaupun kita masih punya hambatan dalam mengembangkannya terutama dalam hal waktu dan biaya. Selama dikembangkan,ada 2 hal yang harus diperhatikan di Software Engineering yaitu Produk(program,dokumen,data) dan Proses(bagaimana produk itu dibangun).


Software Engineering layers


Kerangka umum dalam Software Process adalah:

a.      Communication
>> Ini adalah langkah awal dalam software process. Komunikasi disini dilakukan dengan customer agar kita bisa memahami apa yang diinginkan customer.
b.     Planning
>>  Langkah selanjutnya adalah membuat rencana. Kita harus merencanakan sumber daya yang akan digunakan, hasil produksi, jadwal kerja dan resiko yang mungkin terjadi.
c.       Modeling
>>  Setelah itu kita harus mendesain perangkat lunak tersebut.
d.     Construction
>>  Menggabungkan langkah-langkah diatas serta melakukan pengujian terhadap perangkat lunak tersebut.
e.      Deployment
>> Software dikirim ke customer untuk nantinya dievaluasi oleh customer tersebut.



Aktifitas Software Engineering:
a.       Pelacakan dan pengontrolan software (tim melakukan penilaian kemajuan dan melakukan koreksi untuk maintain schedule).
b.      Pengelolaan resiko (yang mungkin terjadi).
c.       Jaminan kualitas software (aktifitas untuk memantain kualitas dan software).
d.      Meninjau teknik-teknik yang digunakan.
e.      Pengukuran (mendefinisikan dan mengumpulkan proses,projek,dan produk yang akan ditampilkan kepada customer).
f.        Mengelola konfigurasi software.
g.       Reusability management(mendefinisikan kriteria untuk work product reuse dan membentuk mekanisme untuk mencapai reusable components.
h.      Work product preparation and production(aktifitas untuk membuat model,dokumen,logs,forms,dan lists.

The Essence Of Practice:

  • Mamahami masalah (dengan cara komunikasi dan analisis).
  • Merencanakan solusi (sofware design).
  • Melakukan rencana (code generation).
  • Menjelaskan hasil untuk menguji akurasi (testing and quality assurance)

1  Memahami Masalah
'  Siapa penggunanya atau siapa saja yang terlibat?
'  Fungsi-fungsi apa dan fitur-fitur apa yang dibutuhkan untuk mengerjakan masalah?
'  Apakah mungkin untuk memperkecil masalah agar lebih mudah dipahami?
'  Dapatkah model grafik analisis dibuat?
1  Merencanakan solusi
'  Pernahkan anda melihat masalah yang sama sebelumnya?
'  Apakah masalah yang sama dapat dikerjakan?
'  Dapatkah masalah-masalah tersebut didefinisikan?
'  Dapatkah model desain dibuat?
1  Melaksanakan rencana
'  Apakah solusi dapat diterapkan dalam rencana tersebut?
'  Apakah setiap komponen solusi dapat dibuktikan?
1 Menjelaskan hasil
'  Apakah mungkin untuk menguji setiap bagian komponen dari solusi?
' Apakah hasil solusi sesuai dengan data, fungsi, dan fitur yang telah ada? 

Rabu, 16 Mei 2012

RESUME BUKU : Teknik Mengoptimalkan Password


Judul Buku  : Teknik Mengoptimalkan Password
Karya          :  Feri Sulianta
Penerbit       :  Elex Media Komputindo

                              Setelah membaca buku karya Feri Sulianta ini,saya mendapat pengetahuan lebih tentang Teknik Mengoptimalkan Password. Seperti yang kita ketahui, internet sekarang bagai makanan sehari-hari di masyarakat kita dan ada beberapa situs yang memerlukan account untuk dapat mengaksesnya. Untuk mengakses account tersebut kita perlu ‘password’ . Namun,password saat ini menjadi sasaran bagi orang yang tidak bertanggung jawab untuk mencuri informasi pribadi si pemilik account. Lewat buku ini pun kita menjadi tahu seberapa penting password untuk menopang informasi pribadi kita. Kita juga tahu seberapa rapuh password kita dan apakah ada cara aman agar password kita lebih terlindungi. Tidak itu saja,bahkan buku ini pun membahas tentang sejarah password,generasi password masa kini,bagaimana menciptakan password seunik mungkin sehingga sulit dijebol,kombinasi agar mengurangi kemungkinan hacking,pengantar singkat hacking,cara memanajemen password sebaik mungkin,internet password hack,dan backup password.                
                                Password biasanya terdiri dari kata,untaian karakter,angka atau gabungan angka dan kata. Untuk menciptakan password yang aman triknya antara lain :
1.       Karakter Penyusun Password : Semakin banyak kombinasi angka dan huruf semakin susah dijebol.
2.       Karakter Minimum                 : Setiap karakter dalam password menambah tingkat ketahanannya dari hacking.
3.       Unik                                       : Semakin tidak umum karakter dalam password semakin sulit dijebol.
4.       Kombinasi                              : Kombinasi penyusun password harus dibuat sesulit mungkin untuk diketahui.
5.       Bantuan Password Generator  : Dengan software yang ada sekarang kita dapat membuat password yang kuat dan mudah diingat.
6.       Metode Pemetaan Kreatif       : Membuat password sekreatif mungkin untuk menyulitkan hacker.
7.       Perbandingan Password          : Membandingkan password agar menciptakan password yang lebih baik darbi sebelumnya.
                                Biasanya alasan hacking adalah alasan-alasan kriminal seperti dendam pribadi dan stalking yang bermula dari niat jahat. Untuk info tentang Teknik Mengoptimalkan Password yang selengkap-lengkapnya ada baiknya kalian membeli buku ini . Sangat bermanfaat! Selamat membaca J

Senin, 12 Maret 2012

~PENGARUH TEKNOLOGI TINGGI DALAM KULTUR~

Teknologi tinggi sangat berpengaruh pada kultur kita apalagi masyarakat sekarang yang cenderung mudah menyerap budaya asing. Teknologi tinggi tersebut pengaruhnya dapat kita lihat antara lain pada : film,cerita/buku, dan lirik lagu. Ada yang memanfaatkan teknologi tinggi ini sebagai unsur di dalamnya. Mau tahu apa saja ?

1.FILM

a.    Transformers
Film yang menceritakan tentang kehidupan antara robot dan manusia ini pembuatannya membutuhkan keahlian dan spesifikasi hardware tingkat tinggi. Kecanggihan robot-robot dalam film ini tak luput dari kerja keras sutradaranya, Michael Bay, serta perusahaan visual effect yang didirikan George Lucas, Industrial Light and Magic (ILM). Dan tentu saja ada juga peran dari perusahaan pencipta mainan yang tidak kalah pentingnya. Kerjasama ini menghasilkan mobil, pesawat, dan alat-alat berat yang bisa berubah menjadi robot-robot raksasa yang mampu bergerak lincah. Awalnya robot-robot ini hanya gambar kartun dan dengan teknik digital terciptalah robot yang terlihat seakan benar-benar hidup dengan gerakan lincah. Film ini juga dihiasi ledakan akibat pertarungan robot. Ledakan-ledakan yang muncul pun tak semuanya merupakan animasi. Karena tim produksi juga menggunakan beberapa bahan peledak asli.

b.    Harry Potter
Tidak kalah canggihnya dari Transformers. Film yang bercerita tentang kehidupan penyihir di sekolah sihir yang melawan kejahatan ini pun membutuhkan teknologi tinggi dalam memberi efek pada adegan-adegan seperti pada film Harry Potter Goblet of Fire  diciptakan bulu-bulu berasap yang mistis dengan karakter digital di dalamnya untuk efek tokoh pelahap maut. Tim produksi menggunakan Maya pada efek kali ini. Maya adalah salah satu software yang biasanya digunakan dalam penerapan CGI (Computer Integreted Imagery).

c.    Terminator 2 : Judgement Day
Film yang dibintangi Arnold Schwarzeneger ini bercerita tentang sosok robot manusia (cyborg) yang dikirim dari masa depan. Efek morphing yang digunakan membuat decak kagum penonton. Efek morphing yang digunakan adalah merubah satu wajah/bentuk ke wajah/bentuk yang lain secara halus.

d.    2012
Film yang sempat membuat kontroversi karena mengangkat ide kiamat tahun 2012 sebagai tema cerita ini menggunakan banyak efek visual. Seperti pada adegan ledakan-ledakan,retaknya jalan, dan hancurnya bangunan-bangunan yang bersejarah di dunia.

2.CERITA/BUKU

a.    Harry Potter
Novel yang menjadi salah satu novel terlaris di dunia ini bercerita tentang penyihir dan mantra-mantra sihirnya serta upayanya melawan raja kelegapan. Novel ini akan membuat pembaca berimajinasi tentang efek-efek visual yang digambarkan lewat tulisannya.

b.    Doraemon(Komik)


Komik anak-anak ini bercerita tentang robot kucing dari abad 22 yang datang dengan mesin waktu untuk membantu manusia. Komik ini menceritakan alat-alat canggih dan kehidupan robot di masa depan.

3.LIRIK LAGU

a.  Elton John~ Rocket Man
          “And all this science I don’t understand
             It’s just my job five days a week
             A rocket man, a rocket man”

Lagu ini bercerita tentang seorang penjelajah luar angkasa.

b.  Slightly Stoopid~Leaving on a Jet Plane
           “Cause I am leaving on a jet plane...”
Lagu ini memuat lirik tentang pesawat jet. Teknologi mutakhir saat ini.

c.    Lagu Kebangsaan Amerika Serikat~The Star Spangled Banner
             “And the rocket’s red glare...”
Lagu ini juga memuat lirik tentang roket. Salah satu alat yang tercipta dari pemanfaatan teknologi tinggi.

d.    Autopilot Off~Nothing Frequency
                “That's why
                  This system...it shorted out
                  Programmed restraint before the shutting down
                 This system...it shorted out
                 memory fails during the crashing down”

Lagu ini bercerita tentang gangguan komunikasi yang mengacaukan kehidupan manusia.


Sabtu, 10 Maret 2012

SMARTPHONE, CONTOH TEKNOLOGI YANG KITA GUNAKAN SEHARI-HARI





Salah satu teknologi yang kita gunakan sehari-hari tentu saja adalah smartphone (telepon pintar) seperti yang kita ketahui, kehidupan manusia sekarang sangat tergantung pada teknologi. Smartphone lahir dari adanya permintaan alat-alat canggih yang mudah dibawa kemana-mana. Menurut sumber yang saya baca, Telepon pintar pertama dinamakan Simon dan di rancang oleh IBM pada 1992 dan dipamerkan sebagai produk konsep tahun itu di COMDEX, sebuah pameran komputer di Las Vegas. Telepon pintar tersebut dipasarkan ke publik pada tahun 1993 dan dijual oleh BellSouth. Seiring kemajuan teknologi, ada kemajuan besar dalam prosesor,memori,layar,dan sistem operasi pada smartphone yang membedakannya dari telepon genggam biasa. Smartphone kini dianggap sebagai telepon genggam dengan kemampuan setara komputer mini sehingga tak heran bila kini smartphone menjadi kebutuhan pokok oleh manusia di era globalisasi. Bahkan setiap harinya banyak yang menunggu keluaran terbaru dari produk smartphone seperti : Iphone,Android,Blackberry dsb. Smartphone menawarkan fitur-fitur canggih, smartphone biasanya menggunakan layar sentuh , kamera yang digunakanpun menghasilkan gambar dengan kualitas tinggi, pengaturan daftar nama, penghitung kecepatan, navigasi piranti lunak dan keras, kemampuan membaca dokumen bisnis, pemutar musik, penjelajah foto dan melihat klip video, penjelajah internet dan surat elektronik adalah sebagian kecil dari fitur canggih yang ada di smartphone.