Minggu, 20 Februari 2011

SOFTWARE ENGINEERING


SOFTWARE  ENGINERING


1.PADI     ( PLAN ANALISIS DESIGN IMPLEMENTATION )
                
     PADI adalah Suatu Sistem Sebelum Melakukan Atau membuat  Suatu Program Dengan melakukan 4 tingkatan  yaitu berikut: 


 



















Setelah 4 tingkatan atau Fase ini dilakukan barulah kita bisa membuat suatu program dengan memperimbangkatan aspek –aspek tertentu…jadi dengan kata lain SOFTWARE ENGENERING adalah bidang displin ilmu rekayasa yang terkait dengan aktifitas produksi Software.perekayasa software semestinya mengadopsi pendekatan yang sistematik dan terorganisir dalam menyelesaikan pekerjaanya dengan memanfaatkan tools dan teknik yang tepat tergantung pada permasalahan yang akan dipecahkan ,batasan pengembangan sumber daya yang tersedia.

                                                            



GAMBAR  ATAU  STRUKTUR  DARI  PADI  ATAU PLAN  ANALYSIS DESIGN  IMPLEMENTATION  






2. SDLC ( SYSTEM DEVLOMENT LINE CYCLE )
     Systems Development Life Cycle, atau SDLC (Daur hidup pengembangan sistem) adalah  proses yang digunakan oleh analis sistem untuk menggembangkan sistem informasi, mulai dari penentuan kebutuhan, perancangan, validasi, sampai pelatihan dan penyerahan kepada konsumen.

SDLC merupakan alur kerja baku yang biasa dipakai oleh perusahaan-perusahaan vendor software dalam mengembangkan software aplikasi produksinya. SDLC ini tidak hanya penting untuk proses produksi software saja, namun terlebih juga sangat penting untuk proses maintenance software itu sendiri, karena tanpa pengarsipan data-data development suatu software, maka akan sangat menyulitkan perusahaan dalam maintenance software tersebut dikemudian hari.

SDLC berfungsi untuk menggambarkan tahapan-tahapan utama dan langkah-langkah dari setiap tahapan yang secara garis besar terbagi dalam tiga kegiatan utama, yaitu :
a. Analysis
b. Design
c. Implementation
Setiap kegiatan dalam SDLC dapat dijelaskan melalui tujuan (purpose) dan hasil kegiatannya (deliverable).

Fakator –faktor yang mempengaruhi SDLC

  Para SDLC untuk sistem aplikasi akan tergantung pada perolehan mode pembangunan.Sistem aplikasi dapat diperoleh / dikembangkan melalui berbagai modus, yang meliputi :
a.Custum pengembangn menggunakan sumber daya internal.
b.Pengembangan Custom menggunakan seluruhnya atau sebagian outsourcing.
   Sumber daya lokasinya atau di luar kantor ( local atau di luar lepas pantai).
c.Paket perangkat lunak vendor implementasikan dengan tidak kustomisasi.
d. Vendor perangkat  lunak yang disesuaikan untuk memenuhi persyaratan tertentu.

   Beberapa organisasi menggunakan metologi SDLC dan proses yang spesifik,baik custom atau vendor dikembangkan.Ini umumnya proses stsndart untuk berbagai mode akuisisi dengan fasilitas untuk menyesuaikan desain proses untuk sistem aflikasi spesifik.Ini mungkin didukung oleh alat yang sesuai untuk mengelola SDLC .Dalam kasus tersebut,SDLC akan tergantung pada metologi /alat.
  
   Jika suatu sistem aplikasi yang dikembangkan bukan yang dibeli sebuah paket,yang SDLC akan tergantung pada metologi pengembangan yang digunakan seperti pengembangan air terjun,prototype,pengembangan aplikasi cepat CASE dan pengembangan berorientasi obyek.

 






   Bebagai resiko yang dapat ditemui di dalam sistem aplikasi SDLC  antara lain meliputi:
a .Penerapan tidak sesuai dengan sistem aplikasi.
b. Kontrol yang tidak memadai dalam sistem aplikasi SDLC.
c. Pengguna persyaratan dan tujuan tidak terpenuhi oleh sistem aplikasi.
d. Kurangnya dukungan menejemen.
e. Manajemen proyek yang tidak memadai.
f. Teknologi dan arsitekturnya tidak pantas.
g. Kurangnya perhatian terhadap keamanan dan control ,termasuk validasi dan jejak audit
    Sistem aplikasi.
i. Kurangnya perhatian terhadap ketergantungan pada aplikasi lain dalam memproses.

   Tujuan SYSTEM  DEVLOMENT LINE  CYCLE
1.Sesuatu yang manageable (divide & conquer)
2. Aktifitas dapat dibagi secara jelas (project management)
3.System Development => Model (representasi tahapan pengembangan sampai menjadi sistim yang siap digunakan):
Transformasi dari satu stages ke stages berikutnya model pertama merupakan user   requirement,Model terakhir adalah sistim yang siap untuk uji coba.
4. Proses menghasilkan model yang dapat menjadi jembatan dari satu tahapan ke tahapan
    Yang lain
5.Mudah dimengerti, dokumentasi, standard
6.Telah dikenal berbagai tahapan, contoh sederhana:
  •  analysis, 
  • design,
  • implementation,
  • testing
7.  Model awal sistim                              
·         Lebih abstrak : fungsi eksternal dan faktor luar
·         independent dari teknologi
·         proses kreatif => design
8.  Model lanjut sistim 
      ▪ Menambahkan struktur dari model sebelumnya ke sistim
      ▪  Lebih fokus : fungsi internal, lebih rinci (detail)
      ▪  Dapat menjadi bagian yang bersifat instruksi cara membuat sistem program


            BAGAN ATAU STRUKTUR SYSTEM DEVLOMENT  LINE CYCLE







3. PROTOTYPING
PENGERTIAN
    Menurut Raymond McLeod, prototype didefinisikan sebagai alat yang memberikan ide bagi pembuat maupun pemakai potensial tentang cara system berfungsi dalam bentuk lengkapnya, dan proses untuk menghasilkan sebuah prototype sisebut prototyping.
    Sedangkan menurut Achmad Rasul (http://achmad-rasul.blogspot.com), prototyping merupakan salah satu metode pengembangan perangat lunak yang banyak digunakan. Dengan metode prototyping ini pengembang dan pelanggan dapat saling berinteraksi selama proses pembuatan sistem.
    Dalam tulisannya, Achmad Rasul mengungkapkan bahwa dalam dunia bisnis saat ini sering terjadi kesalahpahaman antara seorang pelanggan dan pengembang. Biasanya, seorang pelanggan dalam memberi masukan hanya sebatas definisi secara umum dari apa yang mereka kehendaki saja tanpa menyebutkan secara detil output apa saja yang dibutuhkan. Sebaliknya, disisi yang lain, pengembang kurang memperhatikan efesiensi algoritma, kemampuan sistem operasi dan interface yang menghubungkan manusia dan komputer.
   Untuk mengatasi masalah ini, baik pihak pelanggan maupun pihak pengembang harus mampu bekerjasama. Hal ini bertujuan agar pengembang dapat mengetahui dengan benar apa yang diinginkan pelanggan dengan tidak mengesampingkan segi-segi teknis. Dan pelanggan akan mengetahui proses- proses dalam menyelasaikan sistem yang diinginkan. Dengan demikian akan menghasilkan suatu prototype yang mana akan dihilangkan sebagian atau seluruhnya dan perangkat lunak aktual direkayasa dengan kualitas dan implementasi yang sudah ditentukan oleh kedua belah pihak.
     Metode protyping sendiri saat ini merupakan suatu paradigma baru dalam pengembangan sistem informasi. Hal ini tidak hanya sekedar suatu evolusi dari metode pengembangan sistem informasi yang sudah ada, tetapi sekaligus merupakan revolusi dalam pengembangan sistem informasi manajemen.
      Menurut Raymond McLeod, terdapat dua jenis prototype, yaitu Prototype Jenis I yang akan menjadi sistem operasional, dan Prototype Jenis II yang merupakan suatu model yang dapat berfungsi sebagai cetak biru bagi sistem operasional.
     Jadi dalam lingup yg luas PROTYPING berarti Salah satu metode  pengembangan perangkat lunak yang banyak digunakan.Dengan metode PROTYPING ini pengembang dan pelanggan dapat saling berintraksi selama pembuatan sistem.
     Untuk mengatasi ketidakserasian antara pelanggan dan pengembang, maka harus dibutuhkan kerja sama yang baik antara pengembang dan pelanggan.sehingga pengembang akan tahu dengan benar apa yang diinginkan pelanggan dan tidak mengesampingkan segi-segi teknis dan pelanggan akan mengetahui proses – proses dalam mengembangkan sistem yang diinginkan.Dengan demikian akan menghasilkan sistem sesuai dengan  jadwal waktu yang telah ditentukan.

    Kunci agar model PROTOTYPING ini berhasil dengan baik adalah dengan mendefinisikan aturan – aturan main pada saat awal, yaitu pelanggan dan pengembang harus setuju bahwa PROTYPING di bangun untuk mendefinisikan kebutuhan. PROTOTYPING akan dihilangkan  sebagian atau seluruhnya dan perangkat lunak actual direkayasa dengan kualitas dan implementasi yang sudah ditentukan.
  KEUNGULAN DAN KELEMAHAN PROTYEPING
 Keungulan protyeping adalah:
1.Adanya komunikasi yang baik antara pengembang dan pelanggan.
2.Pengembang dapat bekerja lebih baik dalam memenuhi kebutuhan pelanggan.
3.Pelanggan berperan aktif dalam pengembangan sistem.
4.Lebih menghemat waktu dalam pengembangan sistem.
5.Penerapan jadi lebih mudah karena pemakai megetahui apa yang diharapkanya.

Kelemahan prototyeping adalah:

1.Pelanggan kadang tidak menyadari bahwa perangkat lunak yang ada belum mencantumkan
   Kualitas perangkat lunak secara keseluruhan dan juga belum memikirkan kemampuan
   Pemiliharaan untuk jangka watu yang lama.
2.Hubungan pelanggan dengan computer yang disediakan mungkin tidak mencerminkan
   Teknik perancangan yang baik.
3.Pengembang biasanya ingin cepat menyelesaikan proyek.Sehingga menggunakan
   Algoritma bahasa pemrograman yang sederhana untuk membuat prototyeping lebih cepat
   Selesai tanpa memikirkan lebih lanjut bahwa program tersebut hanya cetak biru sistem.





4. RAD (  RAPID APPLICATION DEVLOMENT
    METHODOLOGIN )
                                                 
       RAD adalah suatu langkah untuk mengimplementasikan SDLC.Dalam dunia rekayasa
   Perangkat lunak. Terdapat 4 buah metologi dalam menerapkan SDLC,yakni:
1.Wartepal Devloment Methology.
2. Pararel Devloment Methology.
3. Rapid Application Devloment
4.Agille Devloment :exstreme Programing

Wartepal Devloment Methology adalah merupakan suatu cara pengembangan software yang fase-fasenya berurutan.sebuah fase tidak bisa dikerjakan sebelum fase sebelumnya telah selesai dikerjakan.
Kelebihan Wartepal Devloment Methology adalah:
1.proses pengindentifikasian sistem dan memerlukan waktu yang lebih lama sebelum fase
   Programming dimulai.
2.Meminimalisasi pengubahan sistem pada saat proses pengembangan perangkat lunak
Kekurangan Waterpal Devloment Methology adalah:
1.Fase perencanaan /design harus dilakukan pada paper yang khusus sebelum fase dimulai.
2.Terjadi selisih waktu yang cukup lama antara pengajuan sistem dan pembaharuan sistem.

Pararel Devloment Methology adalah merupakan suatu cara pada  SDLC yang memerlukan
Fase design dan implementation secara pararel.
Kelebihan Pararel Devloment Methology adalah:
1.Meminimalisasi waktu penjadwalan.
2.Meminimaslisasi kesempatan untuk dikerjakan ulang.
Kekurangan Pararel Devloment Methology adalah:
1.Masih menggunakan document di kertas.
2.Menggabungkan subproyek memerlukan suatu keahlian yang khusus.Biasanya banyak terjadi kegagalan pada saat pengabunganya.

Rapid Application Devloment adalah merupakan suatu cara penerapan SDLC dengan membuat software terlebih prototype dahulu dan kemudian dipresentasikan ke customer,jika customer menyetujuinya maka software akan dikembangkan lebih lanjut.
Kelebihan Rapid Application Devloment adalah:
1.Pengguna dapat memperoleh / menggunakan sistem lebih awal.
2.pengguna dapat merencanakan beberapa tambahan untuk versi setelahnya.
Kekurangan Rapid Application Devloment adalah:
 Pekerja bekerja dengan sistem yang belum selesai secara keseluruhan.

Agille Devloment:exstrem programming
  Adalah suatu pekerjaan perangkat lunak secara cepat.Metode ini sangat cocok untuk proyek perangkat lunak yang membutuhkan waktu lebih instan dalam pengembanganya.
Kelebihan Agille Devloment exstrem adalah:
1.Hasil bisa didapat dengan waktu yang sangat cepat.
2.Bekerja lebih baik dalam projek dengan tidak ada perubahan yang tak tentu.



Kekurangan Agille Devloment exsterem adalah:
1.Membutuhkam kedisplinan yang tinggi.
2.Tepat hanya dilakukan di proyek yang kecil.
3.Membutuhkan masukan atau input dari pengguna.

Untuk menentukan metode mana yang cocok diterapakan dalam pengembangan sistem proyek perangkat lunak.maka harus memperhatikan hal berikut ini:
● Clear user requitment
● Familiriarty technology
● Complexity of system
● Reabilti of system
● Time schedule
● Schedule visibility


5. SPIRAL (  SPIRAL MODEL )
   
Model spiral (spiral model) adalah model proses software yang evolusioner yang merangkai sifat iteratif dari prototipe dengan cara kontrol dan aspek sistematis dari model sekuensial linier. Model ini berpotensi untuk pengembangan versi pertambahan software secara cepat. Di dalam model spiral, software dikembangkan di dalam suatu deretan pertambahan. Selama awal iterasi, rilis inkremental bisa merupakan sebuah model atau prototipe kertas. Selama iterasi berikutnya, sedikit demi sedikit dihasilkan versi sistem rekayasa yang lebih lengkap. Model spiral dibagi menjadi sejumlah aktifitas kerangka kerja, disebut juga wilayah tugas, di antara tiga sampai enam wilayah tugas, yaitu :

1. Komunikasi Pelanggan
    Tugas – tugas yang dibutuhkan untuk membangun komunikasi yang efektif di antara
     pengembangan dan pelanggan.
2. Perencanaan
    Tugas – tugas yang dibutuhkan untuk mendefinisikan sumber – sumber daya, ketepatan
    waktu, dan proyek informasi lain yang berhubungan.
3. Analisis Risiko
    Tugas – tugas yang dibutuhkan untuk menaksir risiko – risiko, baik manajemen maupun  
    teknis.
4. Perekayasaan
    Tugas – tugas yang dibutuhkan untuk membangun satu atau lebih representasi dari aplikasi
     tersebut.
5. Konstruksi dan peluncuran
    Tugas – trugas yang dibutuhkan untuk mengkonstruksi, menguji, memasang (instal) dan
     memberikan pelayanan kepada pemakai (contohnya pelatihan dan dokumentasi).
6. Evaluasi pelanggan
    Tugas – tugas yang dibutuhkan untuk memperoleh umpan balik dari pelnggan dengan
   didasarkan pada evaluasi representasi software, yang dibuat selama masa perekayasaan, dan
   diimplementasikan selama masa pemasangan.





Kekurangan model spiral adalah sulitnya untuk meyakinkan konsumen (khusunya dalam situasi kontrak) bahwa pendekatan evolusioner bisa dikontrol. Model spiral memerlukan keahlian penaksiran risiko yang msuk akal , dan sangat bertumpu pada keakhlian ini untuk mencapai keberhasilan. Jika resiko mayor tidak ditemukan dan diatur, pasti akan terjadi masalah. Akhirnya model itu sendiri masih baru dan belum dipergunakan secara luas seperti paradigma sekuensial dan prototipe.


6. INCRAMENTAL

    Model incremental ini menglobinasikan elemen-elemen model proses waterfall yang diaplikasikan secara itertif.Ia mengaplikasikan urutan-urutan linier secara bertingkat selaras
Dengan berjalanya waktu.Setiap urutan linier menghasilkan penambahan (increment).pada software yang dikirimkan.Proses model ini menfokuskan  pada pengiriman produk operasional pada setiap penambahanya.Produk ini awalnya adalah versi rendah dari produk akhir namun telah mampu mengakomodir kebutuhan pengguna.

Pengembangan Incramental

● Pelepasan sistem tidak dlam bentuk pelepasan tunggal,tetapi pengembangan dan pelepasan
    Tungal,tetapi pengembangan dan pelepasan terbagi ke dalam’increment’ di mana setiap
   ‘incrment’melepaskan bagian dari fungsionl yang di butuhkan.
●  Kebutuhan user diprioritaskan dan kebutuhan prioritas tertinggi di masukan dalam 
    ‘increment’ awal
●  Bila pengembangan ‘increment’ dimulai,kebutuhan dibekukan lebih dahulu dan setelah itu
     Kebutuhan untuk ‘increment’selanjutnya dapat dilanjutkan.

Kentungan Pengembangan Incremental

● Nilai konsumen dapat diserahkan pada setiap ‘increment’sehingga fungsional sistem
    Tersediah lebih dahulu.
● ‘increment’ awal berfungsi sebagai prototype untuk membantu memperoleh kebutuhan
    ‘increment’ selanjutnya.
●  Resiko lebih rendah dari keseluruhan kegagalan proyek.
●  Layanan sistem prioritas tertinggi cenderung menerima testing terbanyak
●  Pelepasan sistem tidak dalam bentuk pelepasan tunggal,tetapi pengembangan dan
    Pelepasan dibagi ke dalam ‘increment’dimana setiap ‘increment’melepaskan bagian dari
    Fungsional yang dibutuhkan.
●  Kebutuhan user diprioritaskan dan kebutuhan prioritas tertinggi di masukan dalam
    ‘increment’ awal.
●  Bila pengembang ‘increment’di mulai ,kebutuhan dibekukan lebih dahulu dan setelah itu
     kebutuhan untuk ‘ increment ‘ selanjutnya dapat dilanjutkan.

Iterasi Proses

● Kebutuhan sistem selalu berkembang selama proyek berlngsung sehingga iterasi proses di
    Mana level sebelumnya dilakukan rework merupakan bagian dari proses untuk sistem yang
    Besar.
● Iterasi dapat diaplikasikan untuk semua model  proses generic

Masalah Incramental model
▪ cocok untuk proyek berukuran kecil ( tidak lebih dari 200.000 baris coding)
▪ mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana
   Spesifikasi masing-masing hasil increment.



Process model yang digunakan adalah model incremental.
analysis --> design --> code --> test (Delivery of 1st incremental)
analysis --> design --> code --> test (Delivery of 2nd incremental)
analysis --> design --> code --> test (Delivery of 3rd incremental)

Sebelum dipecah - pecah kedalam delivery tersebut, lebih baik ada gambaran besar dulu apa yang diinginkan atau yang dibutuhkan di dalam aplikasi tesebut secara general.
Biasanya untuk 1 kali incremental, harus menunggu sampai test dulu baru lanjut ke incremental selanjutnya.Tetapi karena masalah SDM dan waktu, bisa saja setelah analysis dan design, langsung lanjut ke analysis level 2.

Di dalam incremental, kita memilah - milah cakupannya menjadi modul - modul yang lebih kecil. Misalnya bagian home --> modul sendiri, bagian update & delete --> modul sendiri, dst. Intinya harus sama, jangan sampai berubah dalam hal struktur data. Kalau sampai mengubah, maka mulai dari awal lagi. Dan itu harus dipertanyakan ketika analysis dan design. Oleh karena itu, biasanya analysis dan design membutuhkan waktu lebih lama. Untuk menambah atau mengurangi, tidak apa-apa.

Untuk membuat incremental, harus dibuat dulu framework nya. Contoh: database nya menggunakan apa, JSP nya bagaimana.Tiap incremental harus ada core product atau base productnya.Proses yang ada di incremental itu berupa analysis --> test.
Jika di generic process framework, dari communication --> deployment.
Contoh: di delivery of 1st incremental, membuat login page dari analysis sampai test. Setelah berhasil di TAG dulu yang kemudian menjadi base product dan statusnya menjadi login page v1.0. Apabila ada perubahan, maka statusnya menjadi login page v1.1, dst.
Incremental termasuk di dalam RAD (Rapid Application Development) yang semua prosesnya berdasarkan waktu.
Model incremental (Incremental waterfall model) merupakan perbaikan dari model waterfall dan sebagai standar pendekatan top-down. Ide dasar dari model ini adalah membangun software secara meningkat (increment) berdasarkan kemampuan fungsional. Model incremental ini diaplikasikan pada sistem pakar dengan penambahan rules yang mengakibatkan bertambahnya kemampuan fungsional sistem. Keuntungan dari model ini adalah bahwa penambahan kemampuan fungsional akan lebih mudah diuji, diverifikasi, dan divalidasi dan dapat menurunkan biaya yang dikeluarkan untuk memperbaiki sistem. Model incremental merupakan model continous rapid prototype dengan durasi yang diperpanjang hingga akhir proses pengembangan. Pada model prototipe biasa, prototipe hanya dibuat pada tahap awal untuk mendapatkan kebutuhan user.




7.Extreme Programming (XP) Model

Model proses ini diciptakan dan dikembangkan oleh Kent Beck. Model ini adalah model Proses yang terbaru dalam dunia rekayasa perangkat lunak dan mencoba menjawab kesulitan Dalam pengembangan software yang rumit dan sulit dalam implementasi.Menurut Kent Beck XP adalah : “A lightweight, efficient, low-risk,flexible,predictable, scientific and fun way to develop software”. Suatu model yang menekankan pada:
- keterlibatan  user  secara  langsung
- pengujian
- pay-as-you-go design

empat nilai penting dari XP adalah :

1. Communication/Komunikasi : komunikasi antara developer dan klien sering menjadi
     masalah. Karena itu komunikasi dalam XP dibangun dengan  melakukan pemrograman  
     berpasangan (pair programming). Developer didampingi oleh pihak klien dalam
     melakukan coding dan unit testing sehingga klien bisa terlibat langsung  
     dalam pemrograman sambil berkomunikasi dengan developer. Selain itu perkiraan beban
     tugas juga diperhitungkan
      2.   Simplicity/ sederhana: Menekankan pada kesederhanaan dalam pengkodean:
    “What is the simplest thing that could possibly work?” Lebih baik melakukan  hal yang  
            sederhana dan mengembangkannya besok jika diperlukan .Komunikasi yang lebih banyak
            mempermudah, dan rancangan yang sederhana mengurangi penjelasan.
      3.   Feedback / Masukan/Tanggapan: Setiap feed back ditanggapi dengan melakukan tes, unit
            test atau system integration dan jangan menunda karena biaya akan membengkak (uang,  
            tenaga, waktu).
      4.  Courage / Berani: Banyak ide baru dan berani mencobanya, berani mengerjakan kembali
           dan setiap kali kesalahan ditemukan, langsung diperbaiki.



8.SCRUM

      Pengertian scrum adalah Pada dasarnya Scrum merupakan salah satu komponen dari metodologi pengembangan Agile mengenai pertemuan harian untuk membahas kemajuan.
Scrum menguraikan proses untuk mengidentifikasi dan katalogisasi pekerjaan yang perlu dilakukan, memprioritaskan yang bekerja dengan berkomunikasi dengan pelanggan atau wakil pelanggan, dan pelaksanaan yang bekerja menggunakan rilis iterative dan memiliki tujuan utama untuk mendapatkan perkiraan berapa lama akan pembangunan.

Scrum memiliki prinsip yaitu:

ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan satu sama lain,proses dapat beradaptasi terhadap perubahan teknis dan bisnis.Proses menghasilkan beberapa software increment.Pembangunan dan orang yang membangun dibagi dalam tim yang kecil dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
Scrum memiliki aktifitas yang meliputi :

Backlog
Backlog adalah daftar kebutuhan yang jadi prioritas klien, dan daftar yang dibuat dapat bertambah

Sprints
Aktifitas Sprints merupakanunit pekerjaan yang diperlukan untuk memenuhi kebutuhan yang ditetapkan dalam backlog sesuai dengan waktu yang ditetapkan dalam time-box (biasanya 30hari). Selama proses ini berlangsung backlog tidak ada penambahan.

Scrum Meetings
Aktifitas Scrum Meeting merupakan pertemuan yang rutin dilakukan perhari untuk evaluasi apa yang dikerjakan, hambatan yang ada, dan target penyelesaian untuk bahan meeting selanjutnya.

Demo
Aktifitas Demo adalah penyerahan software increment ke klien didemonstrasikan dan dievaluasi oleh klien.

Scrum diperkenalkan oleh Jeff Suterhland pada awal tahun 1990 dan pekembangkan selanjutnya oleh Schwaber dan Beedle .

GAMABAR STURUKUR PADA SCRUM










Sabtu, 19 Februari 2011

LINUX


                                                        WHAT IS LINUX

Linux adalah nama O/S
Linux sama juga fungsinya seperti windows xp
Linux juga beroperasi di pc


                                   OPERTING SYSTEM CONCEPT     

O/S Terbagi dalam 4 bagian yaitu:
1.SYTEM UTILITIES
2.APP,terbagi dalam 3 bagian:
    a.TYPING
    b.Drawing
    c.Games
3.USERS/PEMAKAI
4.CPU,terbagi dalam 12 bagian:
    a.Mouse
    b.LPT
    c.Ram
    d.Bios
    e.Floppy
    f.Hdd
    g.CDR
    h.Serial
    i.VGA
    j.Sound
    k.USB
    l.Kbd

HISTORY OF O/S

> UNICS pada tahun 1969
> FIFTH EDITION pada tahun 1973
> SIXTH EDITION pada tahun 1976
> SEVENTH EDITION pada tahun 1978
> sysv pada tahun 1983,ditemukan solaris /sunOs 5.0 dipergunakan untuk 1AIX
    2.IRIX
    3.HP-UX
    4.DIGITAL UNIX
    5.UNIX WARE,dan sempurnakan pada tahun 1991

> BSD pada tahun 1979,ditemukan SunOs 4.x dipergunakan untuk
    1.ULTRIX
    2.NEXT STE
   3.FREE BSD
   4.NEXT BSD
   5.OPEN BSD


LINUX NOW AND FUTURE

. Linux mulai dari awal perkembanganya masih sederhana
. Saat ini Linux sudah terdisrtibusikan
.Distribusi Linux di kenal dengan nama Distro


BASIC COMAND

·           Is                  =  melihat daftar file
·           Cd                =  merubah drektori kerja
·           Passwd         =  merubah passwd
·           Cat               =  menampilkan isi file
·           Pwd              =   menampikan direktori saat itu
·           Exit               =  dari login
·           Logut            =   keluar dari sesi login
·            Man             =  membaca halaman petunjuk manual
·            Info              =  membaca halaman informasi  
·            Apropp        =  mencari  definisi dari sebuah string

   PERINTAH DASAR DI LINUX

Berikut ini beberapa perintah dasar yang biasa digunakan untuk mengoperasikan dan mengadministrasi sistem berbasis Linux pada  mode              command- l i ne-int erf ace atau biasa disebut mode KONSOLE.
Pentunjuk pembacaan penulisan :

1. Setiap bagian perintah memiliki 3 bagian, yaitu arti atau kegunaan, syntax                  Dan contoh. Contoh dapat lebih dari satu sesuai dengan kebutuhan.
 2. Kata yangt ebal dan diikuti tanda baca':' adalah nama/judul perintah.
 3. Bagian yang berlatar-belakang gray adalah output dari komputer dan dapat
     Diapliasikan/dipraktekan menggunakan KONSULE .Perlu diingat dalam                     menggunakan KONSULE ,saat mencoba mengunakan KONSULE perhatikan parameter-parameter yang digunakan.

LINUX  SHORTCUT

  • Ctl- Alt-F1 Grafik ke consule
  • Alt-F1 s/d Ctr-f6 terminal ke terminal
  • Ctl F7 dari consul ke garfik
  • Ctl-d exsit login pada terminal consule
  • Ctrl-c force quit 
  • Ctl –z hide process
PENGERTIAN LINUX OLEH Onno .W.Purbo

       Linux pada dasarnya adalah sistem operasi seperti Windows & DOS yang beroperasi di pc.Seperti juga Windows yang mempunyai banyak versi.3.11,3.12,95,98,millennium edition,NT,2000 dll.pada Linux kita juga mengenal banyak sekali disrtibusi Linux ada Redhat,Caldera,SuSE,Merdeka,Best Linux,Easy Linux bahkan ada distribusi Linux versi Indonesia yaitu Linux Merdeka.

Perbedaan yang paling fundamental antara Windows & Linux terutama dimaslah hak ciptanya,Windows adalah illegal/melangar hokum jika kita mengcopy/membajak CDnya untuk diperdagangkan.Pada Linux memang perangkat lunak tersebut bebas /gratis bisa diperoleh di internet,dapat di copy dengan bebas,semua tanpa ada konsekunsinya.Karena Linux memang menggunakan hak cipta public yang di kenal sebagai GNU public license (GPL).Penjelasan lebih detail tentang GPL bisa dibaca di www.gnu.org. Prinsip dasar dari GPL berbeda dengan hak cipta yang biasa oleh banyak orang termasuk Undang-Undang hak cipta yang dikembangkan di Indonesia,GPL pada dasarnya berusaha memberikan kebebasan seluas-luasnya bagi si pencipta perangkat lunak untuk mengembangkan kreasi perangkatnya dan menyebarkanya secara bebas di publik.

Dengan menggunakan GPL software Linux dapat digukan secara Cuma-Cuma di seluruh dunia,bahkan souce code (listing program) Linux terbuka dan dapat diperoleh secara Cuma –Cuma di internet tanpa perlu membajak.Dengan maraknya isu pembajakan software di Indonesia oleh BSA dll,maka ada baiknya dipertimbangkan penggunaan Linux pada PC anda.Dari pada membeli /tepatnya mencuri Windows di pasaran.

Untuk aplikasi jaringan & server seperti Internet sebetulnya Linux mempunyai kemampuan di atas Windows karena memang pada dasarnya Linux berkembang dari komunitas Internet.Banyak sekali aplikasi yang dapat dipergunakan di Linux untuk mendukung jaringan internet baik sebagai pengguna biasa(e-mail,Web,chatting,mendengarkan music MP3 dll),memang pada aplikasi end user internet Windows berusaha keras untuk menyaingi apa yang ada di Linux terlihat sekali dengan media player versi 7 yang ada di Windows ME.

Salah satu kelebihan Linux adalah dukungan dari komunitas Linux yang tersebar dalam berbagai mailing list/tempat diskusi melalui e-mail Internet.melalui miling list tersebuat seseoarang yang mengalami kesulitan dalam menggunakan Linux akan dapat mempermudah memperoleh bantuan dari orang lain.Prinsip gotong royong terasa sangat di komunitas pengguna Linux.Tempat mangkal pengguna Linux di Indonesia terletak di www.linux.or.id, ternyata masih ada tempat mangkal lainya adapun tempat diskusi mereka cukup banyak dan dapat di subscribe menggunakn e-mail seperti di linuxsetup@linux.orid (tempat nongkrong newbie,membahas intalasi dan sebagainya).linux admin@linu.or.id (administerasi sistem,network,users,groups),linux-aktifis@linux.or.id (diskusi mengenai keorganisasian Linux Indonesia dan pemasyarakatan Linux) & kursus-linux@egoups.com (tempat kursus virtual Internet). 

LATAR BELAKANG

Undang-Undang No.19Tahun 2002 tentang “perlindungan Hak Kekayaan Intektual”

            Pemerintah harus jadi contoh untuk hanya menggunakan software Legal di lingkungan kerjanya.
             Penggunaan software Legal di instansi pemerintah adalah tanggung jawab masing-masingm instansi.

●Fatwa MUI,bahwa penggunaan software bajakan itu perbuatan haram


KEBIJAKAN PEMERINTAH TENTANG OSS

INPRES No.6 Tahun 2001 ,tentang Pengembangan dan Pendayagunaan
  Telematika Di  Indonesia
▪ Deklarasi bersama pencanaan program Indonesia,GO Open Source ,oleh lima
   lembaga / Intsansi pemerintah pada tahun 2004
▪Surat edran menteri komunikasi dan Informatika no.05/SE/
  M.KOMINFO/10/2005 kepada seluruh intansi pemerintah pusat dan daerah
  untuk menggunakan software legal dengan  pilihan cerdas menggunakan open
  source software. 
▪SE MENPAN ,Nomer : SE/01/M.PAN / 03/2009 tentang ‘Pemanfaatan
  Perangkat Lunak Legal dan Open Source Sofware ( OSS ) yaitu :

       Seluruh Instansi Pemerintah diwajibkan menggunakan perangkat lunak open source atau legal.
       Melakukan monitoring penggunaan perangkat lunak di instansi.
       Batas waktu migrasi pada akhir 2011


KEBIJAKAN OSS DI BPPT

       Sehubungan kebijakan pemerintah dalam pemanfaatan OSS tersebut derta adanya Reformasi Birokrasi di lingkungan BPPT,maka melalui surat edaran BPPT No.SE/02/KA/BPPT/VI/2009,akan ditetapkan sepenuhnya penggunaan perangkat lunak legal dan pemanfaatan OSS sebagai bagian dari Reformasi Birokkrasi BPPT,yang di mulai dengan deklarasi “PENGGUNAAN PERANGKAT LUNAK LEGAL DAN OSS” pada acara puncak HUT BPPT,16 Agustus 2009.
       Di tahun 2009 lalu ,melalui pembentukan tim dukungan Teknis OSS (Helpdesk OSS) di bawah CIO BPPT,deklarsi tersebut di jalankan secara intensif.dan tahun 2010 kini,melalui oragnisasi kerekayasaan WBS4 OSS di bawah program CIO,dipersiapkan berbagai aktifitas untuk mendukung konsistensi kebijakn OSS di lingkungan BPPT,antara lain berupa pelatihan yang sifatnya TOT maupun regular bagi karyawan BPPT.
      
RESIKO/TINGKAT BAHAYA
       Dalam hal ini, resiko berarti berapa besar kemungkinan keberhasilan para penyusup dalam rangka memperooleh akses ke dalam jaringan computer lokal yang dimiliki melalui konektivtas jaringan lokal ke wide-area network. Secara umum, akses-akses yang diinginkan adalah:
Ø Read Access: Mampu mengetahui keseluruhan sistem jaringan informasi.
Ø Write Access: Mampu melakukan proses menulis ataupun menghancurkan data yang terdapat di sistem tersebut.
Denial Of Service: Menutup penggunaan utilitas-utilitas jaringan normal dengan cara menghabiskan jatah CPU,bandwidth maupun memory.

ANCAMAN
          Dalam hal ini, ancaman berarrti orang yang berusaha memperoleh akses-akses illegal terhadap jaringan komputer yang dimiliki otoritas terhadap akses ke jaringan computer.

KERAPUHAN SISTEM (VULNERABILITY)
       Kerapuhan sistem lebih memiliki arti seberapa jauh proteksi yang bias diterapkan kepada network yang dimiliki dari seseorang dari luarr sistem yang berusaha memperoleh akses illegal terhadap jaringan komputer  tersebut dan kemungkinan orang-orang dari dalam sistem memberikan akses kepada dunia luar yang bersifat merusak sistem jaringan.
          Untuk menganalisa sebuah sistem jaringan informasi global secara keseluruhan tentanng tingkat keandalan dan keamananya bukanlah suatu hal yang mudah dilaksanakan. Analisa terhadap sebuah sistem jaringan informasi tersebut haruslah mendetil mulai dari tingkat kebijaksanaan hinggaa tingkat aplikasi praktisnya.
          Sebagai pemula, ada baiknya kita melihat sebuah sistem jaringan yang telah menjadi titik sasaran utama dari usaha-usaha percobaan pembobolan tersebut. Pada umumnya, jaringan komputer di dunia menggunakan sistem operasi Unix sebagai platform. Unikx telah menjadi sebuah sistem operasi yang memiliki keandalan tinggi dan tingkat performansi yang baik. Tetapi, pada dasarnya Unix tersusun oleh fungsi-fungsi yang cukup rumit dan kompleks. Akibatnya, Unix juga memiliki beberapa kelemahan seperti bug-bug (ketidaksesuaian algoritma pemograman) kecil yang kadang kala tidak disadari oleh para pemogram Unix. Selain itu, utilitas-utilitas yang bermanfaat Unik sebagai platformnya, Seringkali mempunyai bug-bug tersendiri pula. Nah, hal-hal inilah yang sering dieksploitasi oleh para hacker dan intruder di seluruh dunia.
          Guna mencegah berhasilnya eksploitasi para hacker dan intruder tersebut, dikembangkan sebuah konsep yang dikenal dengan UNIX Network Security Architecture. Arsitektur ini mencakup 7 lapis tingkat sekuriti pada jaringan. Ketujuh lapis tersebutadalah sebagai berikut:
·        Lapisan ke-7: Kebijaksanaan
·        Lapisan ke-6: Personil
·        Lapisan ke-5: Local Area Network
·        Lapisan ke-4: Batas Dalam Jaringan
·        Lapisan ke-3: Gateway
·        Lapisan ke-2: Paket Filtering
·        Lapisan ke-1: Batas Luar Jaringan

Kebijaksanaan
          Lapis kebijaksanaan menjadi pelindung terhadap keseluruhan program proteksi dan sekuriti jaringan yang diterapkan. Lapis ini mempunyai funggsi mendefinisi kebijakan-kebijakan organisasi mulai dari resiko yang paling besar yang mungkin didapat hingga bagaimana mengimplementasikan yang di ambil terhadap prosedur-prosedur dasar dan peralatan yang digunakan. Lapis ini menjadi salah satu penentu utama keberhasilan program proteksi dan sekuriti ini.

Personil
          Lapis ini mendefenisikan segi manusia dalam sistem jaringan informasi. Personil yang melakukan instalasi, konfigurasi, pengoperasian hingga orang-orang yang mampu menjalankan akses-akses yang tersedia di sistem adalah termasuk dalam lapis ini. Kebijakan yang diambil pada lapis ini pada dasarnya harus mencerminkan tujuan-tujuan yang ingin dicapai dalam program proteksi dan sekuriti.


Local Area Network
          Lapis selanjutnya mendefenisikan peralatan-peralatan dan data-data yang harus mendapatkan proteksi. Selain itu, lapis ini juga mencakup prosedur-prosedur pengawasan dan control yang sering diterapkan dalam sistem.

Batas Dalam Jaringan
          Batas Dalam Jaringan mendefenisikan lapisan sistem yang terkoneksi secara fisik ke daerah “penyangga” yang menjadi pemisah antara sistem jaringan informasi lokal dengan jaringan luar. Batas ini menjadi penting karena titik ini menjadi sasaran utama usaha-usaha eksploitasi untuk memperoleh akses illegal. Ada baiknya daerah penyangga ini dikonsentrasikan pada satu titik sehingga penerapan prosedur pengawasan dan kontrrol menjadi lebih mudah. Demikian pula bila datang serangan dari luar sistem, hanya akan terdapat satu titik masuk yang paling utama. Dengan demikian, akan lebih mudah menggisolasi sistem yang dimiliki dari konektivitas ke luar bila terjadi gangguan.

Gateway
          Gateway mendefenisikan menjadi pintu utama dari dank e sistem yang dimiliki. Kebijaksanaan proteksi dan sekuriti sebuah sistem yang terkoneksi dengan wide-area network seharusnya lebih mengarahkan usaha-usaaha yang ada untuk mengamankan lapis ini sebaik mungkin. Servis-servis publik ada baiknya diletakkan pada lapis tersebut guna meminimisasi kemungkinan akses yang lebih jauh kedalam sistem.

Paket Filtering
          Lapis ini mendefenisikan platform yang berada di antara network interface lapis 3 (gateway) dengan network interface yang menjadi tempat penerapan metoda Firewall. Lapis tersebut lebih bersifat sebagai program yang menjalankan fungsi pengawasan (monitoring) terhadap paket-paket data yang masuk maupun yang keluar sistem.

Batas Luar Jaringan
          Batas Luar Jaringan mendefinisikan titik dimana sistem terhubung dengan wide-area network dan kita tidak memiliki kontrol langsung terhadap titik tersebut.

          Seperti yang telah dijabarkan di atas, lapis ke-3 menjadi titik utama dan yang paling rawan dalam network security ini. Implementasi kebijaksanaan yang diambil pada layer ini hanya bias dilakukan secara software. Terdapat beberapa jenis security software yang bias digunakan untuk memperkuat usaha proteksi dan sekuriti sistem pada lapis ke-3 ini. Di antaranya adalah:
TCP Wrapper
          Program ini menyediakan layanan monitoring dan kontrol terhadap network services. Pada dasarnya, yang dilakukan oleh pogram ini adalah membuat daftar log mengenai aktivitas-aktivitas hubungan yang terjadi. Program ini dapat diambil secara garis melalui anonymous FTP via ftp.cert.org yang terletak pada direktori pub/tools/tcp_wrappers/tcp_wrappers.*

Swatch
          Program swatch menggabungkan daftar-daftar log yang telah diciptakan oleh program-program utilitas lain di samping kelebihannya yang mampu dikonfigurasi sehingga pada saat melakukan longing, Swatch bias melakukan aksi lain berdasar pada prioritas –prioritas tertentu. Swatch tersedia melalui anonymous FTP dari sierra.stanford.edu pada direktori pub/sources.


SOCKS Library dan sockd

          Program ini menjadi alternatif lain dari implementasi konsep “TCT Wrapper”. Kegunaan utama program ini adalah mengkonsentrasikan semua layanan umum internet pada suatu titik. “sockd” dijalankan oleh “inetd” pada saat permintaan layanan tertentu muncul dan hanya memperbolehkan koneksi dari host-host yang telah terdaftar. Program ini tentu saja juga melakukan aktivitas log yang berkaitan dengan koneksi yang terjadi. Program ini dapat diperoleh melalui anonymous FTP pada host sl.gov pada direktori /pub dengan nama socks.tar.Z.