Bookmarks

Minggu, 18 Agustus 2013

Tugas 10. Pemeliharaan Software (Software Maintenance)

Pendahuluan 
Istilah pemeliharaan perangkat lunak digunakan untuk menjabarkan aktivitas dari analis sistem (software engineering) yang terjadi pada saat hasil produk perangkat lunak sudah dipergunakan oleh pemakai (user). Biasanya pengembangan produk perangkat lunak memerlukan waktu antara 1 sampai dengan 2 tahun, tetapi pada pase pemeliharaan perangkat lunak menghabiskan 5 sampai dengan 10 tahun. Aktivitas yang terjadi pada pase pemeliharaan antara lain :

Penambahan atau peningkatan atau juga perbaikan untuk produk perangkat lunak, meliputi :
       1. penambahan fungsi-fungsi baru

       2. perbaikan tampilan dan modus interaktif

       3. perbaharui dokumen ekstemal

       4. perbaharui dokumentasi internal
       5. perbaharui karakteristik perfomansi dari sistem


              Adaptasi produk dengan lingkungan mesin yang baru, meliputi :
       1. pemindahan perangkat lunak ke mesin yang berlainan
       2. modifikasi untuk dapat mempergunakan protokol atau disk drive tambahan.

              Pembetulan permasalahan yang timbul, meliputi :         
    1. pembenaran kesalahan yang timbul setelah produk perangkat lunak dipergunakan oleh user (pemakai).   
Aktivitas pemeliharaan menghabiskan biaya terbesar dari seluruh anggaran pengembangan atau pembuatan perangkat lunak. Hal ini merupakan yang sering kali terjadi jika pemeliharaan menghabiskan 70% Bari seluruh biaya pengembangan perangkat lunak. Sedangkan pada pase pemeliharaan sekitar 60% digunakan untuk anggaran penambahan atau perbaikan perangkat lunak, sisanya untuk adaptasi atau pembetulan. Dari besarnya biava yang dihabiskan untuk pase pemeliharaan maka tidak heran apabila tujuan dari pengembangan atau pembuatan perangkat lunak adalah menghasilkan sistem perangkat lunak yang dapat diandalkan dan mudah dalam pemeliharaannya. Atribut utama dari perangkat lunak yang mudah dalam pemeliharaan adalah:
-          perangkat lunak dikerjakan per modul
-          perangkat lunak mempunyai kejelasan
-          dokumentasi internal yang baik dan jelas
-          dokumen-dokumen pendukung lainnya

Alasan biaya pemeliharaan lebih tinggi dari pada biaya pengembangan, berikut adalah beberapa faktor yang menyebabkannya :
  1. Stabilitas Tim, biasanya tim pengembang dan tim pemelihara adalah orang yang berbeda karena tim pengembang biasanya sudah lari ke proyek baru sehingga tim pemeliharanya tidak begitu paham atas sistem yang dikembangkan.
  2. Tanggung Jawab Kontrak, kontrak bagi pengembang dan pemelihara kebanyakan terpisah atau diberikan kepada perusahaan yang berbeda dan bahkan bukan pengembang sistem aslinya, akibatnya tidak ada insentif bagi pengembang untuk membuat sistem yang mudah untuk diubah.
  3. Keahlian Staff, staff pemelihara kebanyakan tidak berpengalaman dalam hal pemeliharaan software dan staff pemelihara sering diaangap tidak memerlukan keahlian yang mendalam di bidang software.
  4. Umur dan Struktur Program, program yang sudah tua biasanya strukturnya sudah terdegradasi oleh perkembangan jaman sehingga sangat sulih dipahami oleh pemelihara.
Pemeliharaan perangkat lunak jika ditinjau dari daur siklus pengembangan perangkat lunak dapat dikelompokkan sebagai herikut: 
-    perluasan dan analisis merupakan perwujudan kembali dari fase analisis pada daur siklus pengembangan.
-    pembenaran merupakan perwujudan kembali dari fase analisis, perancangan dan penerapan.

Selain itu juga seluruh alat bantu yang digunakan pada pengembangan perangkat lunak dapat digunakan pada pemeliharaan perangkat lunak.

Aktivitas analisis selama pemeliharaan perangkat lunak meliputi: Pengertian skope dan pengaruh yang ditimbulkan akibat dari perubahan, selain itu juga batasan (kendala) yang terjadi akibat perubahan. Sedangkan pada perancangan dan fase pemeliharaan meliputi perancangan kembali dari perubahan-perubahan yang diinginkan, dimana perubahan ini akan diterapkan sehingga menyebabkan dokumentasi internal dan program sumber juga harus diperbaharui, dan test case yang baru harus dirancang untuk memulai keakuratan hasil modifikasi, Selama itu juga dokumen pendukung (keperluan, spesifikasi perancangan, rencana uji coba, prinsip pengoperasian, petunjuk pemakaian) harus diperbaharui untuk memperlihatkan hasil perubahan. 

Pemeliharaan Perangkat Lunak adalah proses umum pengubahan/pengembangan perangkat lunak setelah diserahkan ke konsumen. Perubahan mungkin berupa perubahan sederhana untuk membetulkan error koding atau perubahan yg lebih ekstensif untuk membetulkan error perancangan/perbaikan signifikan untuk membetulkan error spesifikasi/akomodasi persyaratan baru.

Jenis-Jenis Pemeliharaan Software

1. Corrective (perubahan yang dilakukan guna memperbaiki kesalahan)

       Perawatan perangkat lunak korektif melibatkan mengembangkan dan menyebarkan solusi untuk masalah ("bug") yang timbul selama penggunaan program perangkat lunak. Pengguna komputer akan melihat masalah kinerja dengan perangkat lunak, seperti pesan error yang datang pada layar atau program pembekuan atau menabrak, berarti perawatan perangkat lunak perbaikan perlu dilakukan. Seringkali perbaikan ini secara permanen memecahkan masalah, tetapi tidak selalu. Beberapa perbaikan bertindak sebagai solusi sementara sambil pemrogram komputer bekerja pada solusi yang lebih permanen. 

2. Perfective (perubahan untuk meningkatkan kualitas sistem tanpa merubah fungsinya)

        Tidak ada program perangkat lunak yang berisi nol kekurangan atau area yang perlu diperbaiki. Perawatan perangkat lunak perfektif melibatkan pemrogram komputer bekerja untuk meningkatkan cara fungsi program perangkat lunak atau seberapa cepat proses permintaan. Programmer juga dapat terlibat dalam perawatan perangkat lunak perfektif untuk meningkatkan tata letak menu perangkat lunak dan antarmuka perintah. Terkadang programmer perlu melakukan pemeliharaan perfektif pada perangkat lunak karena pengaruh luar, seperti peraturan pemerintah baru yang mempengaruhi bagaimana bisnis beroperasi.

3. Adaptive (perawatan berdasarkan perubahan lingkungan)

          Bidang teknologi terus berubah melalui hardware dan pengembangan perangkat lunak. Perawatan perangkat lunak Adaptive mengatasi perubahan ini. Perubahan dalam kecepatan prosesor, misalnya, akan mempengaruhi bagaimana perangkat lunak melakukan pada sebuah komputer. Software berinteraksi dengan program perangkat lunak lain pada komputer atau jaringan, yang berarti perubahan dalam satu program dapat memerlukan perubahan dalam program lain. Seorang pengguna akhirnya akan memperkenalkan perangkat lunak baru ke komputer atau jaringan, yang juga dapat mempengaruhi bagaimana perangkat lunak lain yang sudah ada beroperasi.

4. Preventative (Meningkatkan reliability, future maintainability, future enhancement  (reverse engineering dan re-engineering))

            Ketika pemrogram komputer terlibat dalam perawatan perangkat lunak preventif mereka mencoba untuk mencegah masalah dengan program perangkat lunak sebelum terjadi. Programmer berusaha mencegah pemeliharaan korektif sebanyak mungkin, sementara juga mengantisipasi kebutuhan pemeliharaan adaptif sebelum pengguna mengalami masalah. Programer komputer yang pengujian perangkat lunak, sebagai perusahaan otomotif menguji kendaraan yang mereka buat, untuk memastikan perangkat lunak dapat menangani beban data yang tinggi dan operasi stres lain tanpa masalah. Programmer komputer juga menguji perangkat lunak dengan pengguna program lain kemungkinan akan digunakan pada komputer mereka, membuat masalah kompatibilitas yakin tidak muncul.

Manfaat Pemeliharaan Software
Ada beberapa manfaat dari pemeliharaan software, yaitu sebagai berikut :
1. Dapat memastikan kesesuaian dengan kebutuhan fungsionalitas teknis software.
2. Dapat memastikan kesesuaian kebutuhan pihak manajerial mengenai jadwal dan budget.
3. Dapat meningkatkan efisiensi software berikut juga aktifitas pemeliharaannya.

Referensi :
http://www.ehow.com/list_6632907_types-software-maintenance.html
http://aandaru.wordpress.com/2011/11/10/pengertin-pemeliharaan-perangkat-lunak/
http://rangkuman-pengetahuan.blogspot.com/2013/02/pemeliharaan-perangkat-lunak-software.html


Jumat, 16 Agustus 2013

Tugas I. Paradigma Pengembangan Perangkat Lunak (Prototyping Model)

Pendahuluan      
         Pengembangan perangkat lunak (juga disebut pengembangan aplikasi, desain perangkat lunak, merancang perangkat lunak, pengembangan aplikasi perangkat lunak, pengembangan aplikasi perusahaan, atau pengembangan platform) adalah pengembangan suatu produk perangkat lunak. Istilah "pengembangan perangkat lunak" bisa dipakai untuk menyebut aktivitas pemrograman komputer, yaitu proses menulis dan mengelola kode sumber, namun dalam artian luas istilah ini mencakup semua hal yang terlibat antara penciptaan perangkat lunak yang diinginkan melalui pewujudan akhir perangkat lunak, idealnya dalam proses yang terencana dan terstruktur. Karena itu, pengembangan perangkat lunak bisa mencakup penelitian, pengembangan baru, purwarupa, modifikasi, pemakaian kembali, rekayasa ulang, pengelolaan, atau aktivitas lain yang menghasilkan produk perangkat lunak.

Perangkat lunak bisa dikembangkan untuk berbagai tujuan, tiga tujuan paling umum adalah memenuhi kebutuhan klien/bisnis tertentu (perangkat lunak kustom), memenuhi persepsi kebutuhan sejumlah pengguna potensial (perangkat lunak komersial dan terbuka), atau memenuhi kebutuhan pribadi (misalnya seorang ilmuwan menulis perangkat lunak untuk mengotomasikan sebuah tugas yang rumit). Pengembangan perangkat lunak tertanam adalah pengembangan perangkat lunak tertanam seperti yang dipakai untuk mengontrol produk konsumen, membutuhkan proses pengembangan yang terintegrasikan dengan pengembangan produk fisik yang dikontrol.

Perlunya pengawasan kualitas yang lebih baik pada proses pengembangan perangkat lunak menciptakan disiplin teknik perangkat lunak, yang bertujuan menerapkan pendekatan sistematis yang tercantum dalam paradigma teknik hingga proses pengembangan perangkat lunak.

Model Prototyping pada Rekayasa Perangkat Lunak
   Sebuah prototipe adalah bagian dari produk yang mengekspresikan logika maupun fisik antarmuka eksternal yang ditampilkan. Konsumen potensial menggunakan prototipe dan menyediakan masukan untuk tim pengembang sebelum pengembangan skal besar dimulai. Melihat dan mempercayai menjadi hal yang diharapkan untuk dicapai dalam prototipe. Dengan menggunakan pendekatan ini, konsumen dan tim pengembang dapat mengklarifikasi kebutuhan dan interpretasi mereka.

      Prototyping perangkat lunak (software prototyping) atau siklus hidup menggunakan protoyping (life cycle using prototyping) adalah salah satu metode siklus hidup sistem yang didasarkan pada konsep model bekerja (working model). Tujuannya adalah mengembangkan model menjadi sistem final. Artinya sistem akan dikembangkan lebih cepat dari pada metode tradisional dan biayanya menjadi lebih rendah. Ada banyak cara untuk memprotoyping, begitu pula dengan penggunaannya. Ciri khas dari metodologi ini adalah pengembang sistem (system developer), klien, dan pengguna dapat melihat dan melakukan eksperimen dengan bagian dari sistem komputer dari sejak awal proses pengembangan.

Dengan prototype yang terbuka, model sebuah sistem (atau bagiannya) dikembangkan secara cepat dan dipoles dalam diskusi yang berkali-kali dengan klien. Model tersebut menunjukkan kepada klien apa yang akan dilakukan oleh sistem, namun tidak didukung oleh rancangan desain struktur yang mendetil. Pada saat perancang dan klien melakukan percobaan dengan berbagai ide pada suatu model dan setuju dengan desain final, rancangan yang sesungguhnya dibuat tepat seperti model dengan kualitas yang lebih bagus.

Protoyping membantu dalam menemukan kebutuhan di tahap awal pengembangan,terutama jika klien tidak yakin dimana masalah berasal. Selain itu protoyping juga berguna sebagai alat untuk mendesain dan memperbaiki user interface – bagaimana sistem akan terlihat oleh orang-orang yang menggunakannya.

Salah satu hal terpenting mengenai metodologi ini, cepat atau lambat akan disingkirkan dan hanya digunakan untuk tujuan dokumentasi. Kelemahannya adalah metode ini tidak memiliki analisa dan rancangan yang mendalam yang merupakan hal penting bagi sistem yang sudah kokoh, terpercaya dan bisa dikelola. Jika seorang pengembang memutuskan untuk membangun jenis prototipe ini, penting untuk memutuskan kapan dan bagaimana ia akan disingkirkan dan selanjutnya menjamin bahwa hal tersebut telah diselesaikan tepat pada waktunya. 

Tahapan-Tahapan Prototyping dan Kelebihannya
Tahapan-tahapan dalam Prototyping adalah sebagai berikut:

1. Pengumpulan kebutuhan
Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.

2. Membangun prototyping
Membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input dan format output).

3. Evaluasi protoptyping
Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah sesuai dengan keinginann pelanggan. Jika sudah sesuai maka langkah 4 akan diambil. Jika tidak prototyping direvisi dengan mengulang langkah 1, 2 , dan 3.

4. Mengkodekan sistem
Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai.

5. Menguji sistem
Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu sebelum digunakan. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path, pengujian arsitektur dan lain-lain.

6. Evaluasi Sistem
Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang diharapkan. Jika ya, langkah 7 dilakukan; jika tidak, ulangi langkah 4 dan 5.

7. Menggunakan sistem
Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.

Model pengembangan ini (Prototyping Model) memiliki beberapa kelebihan, diantaranya :
  • Adanya komunikasi yang baik antara pengembang dan pelanggan
  • Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
  • Pelanggan berperan aktif dalam pengembangan system
  • Lebih menghemat waktu dalam pengembangan system
  • Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya
  • membuat klien mendapat gambaran awal dari prototype
  • Membantu mendapatkan kebutuhan detil lebih baik

Implementasi Prototyping Model
            Metode prototyping sebagai suatu paradigma baru dalam pengembangan sistem informasi manajemen, tidak hanya sekedar suatu efolusi dari metode pengembangan sistem informasi yang sudah ada, tetapi sekaligus merupakan refolusi dalam pengembangan sistem informasi manajemen. Metode ini dikjatakan refolusi karena merubah proses pengembangan sistem informasi yang lama (SDLC).

Menurut literatur, yang dimaksud dengan prototipe (prototype) adalah ”model pertama”, yang sering digunakan oleh perusahaan industri yang memproduksi barang secara masa. Tetapi dalam kaitannya dengan sistem informasi definisi kedua dari Webster yang menyebutkan bahwa ”prototype is an individual that exhibits the essential peatures of later type”, yang bila diaplikasikan dalam pengembangan sistem informasi manajemen dapat berarti bahwa Prototipe tersebut adalah sistem informasi yang menggambarkan hal-hal penting dari sistem informasi yang akan datang. Prototipe sistem informasi bukanlah merupakan sesuatu yang lengkap, tetapi sesuatu yang harus dimodifikasi kembali, dikembangkan, ditambahkan atau digabungkan dengan sistem informasi yang lain bila perlu.

Dalam beberapa hal pengembangan software berbeda dengan produk-produk manufaktur, setiap tahap atau fase pengembangan sistem informasi merupakan bagian yang tidak terpisahkan dari seluruh proses yang harus dilakukan. Proses ini umumnya hanya untuk satu produk dan karakteristik dari produk tersebut tidak dapat ditentukan secara pasti seperti produk manufaktur, sehingga penggunaan ”model pertama” bagi pengembangan software tidaklah tepat. Istilah prototyping dalam hubungannya dengan pengembangan software sistem informasi manajemen lebih merupakan suatu proses bukan prototipe sebagai suatu produk.

Sebagai contoh, pembuat mobil dapat mengembangkan sebuah purwarupa yang dapat digunakan dalam lintasan pengujuan khusus dan kemudian ditampilkan dalam showroom. Informasi yang diperoleh dari perlakuan seperti itu dapat digunakan untuk meningkatkan desain sebelum implementasi/produksi dilakukan secara massal.

Karakteristik metode prototyping
Ada empat langkah yang menjadi karakteristik metode prototyping yaitu :
1.    Pemilahan Fungsi
        Mengacu pada pemilahan fungsi yang harus ditampilkan oelh prototyping. Pemilahan harus selalu dilakukan berdasarkan pada tugas-tugas yang relevan yang sesuai dengan contoh kasus yang akan dipergakan.
2.    Penyusunan Sistem Informasi
       Bertujuan untuk memenuhi permintaan akan tersedianya prototype
3.    Evaluasi
4.    Penggunaan Selanjutnya


Referensi :








Jumat, 21 Juni 2013

TECHNOEDUPRENEUR 2013 “MEMBANGUN MODAL INSANI INDONESIA MELALUI TEKNOLOGI, PENDIDIKAN DAN KEWIRAUSAHAAN”

Assalamu'alaikum Wr. Wb.

Dalam postingan kali ini, saya mencoba menceritakan acara kegiatan acara di Gd. Seba Guna (GSG) Masjid Salman ITB pada hari Sabtu, 1 Juni 2013.

Saat itu, saya mengecek salah satu grup di facebook yang saya ikuti dan ada postingan tentang seminar ini. pada saat itu saya dapat pesan obrolan teman dan ngasih link acara ini langsung ke saya. setelah itu saya lagsung mengajak teman-teman yang lainnya untuk ikut acara tersebut dan membuat kesepakatan lewat grup saat itu juga di mana kita berkumpul dulu sebelum ke lokasi acara tersebut. dari rangkaian acara itu, yang membuat saya penasaran dengan kegiatannnya yaitu tentang "Matematika Gasing". Acara tersebut membuat saya penasaran karena istilah tersebut asing menurut saya. Jadilah sya mendaftar lewat online untuk acara tersebut.

Tibalah hari itu, saya dan teman-teman lainnya berangkat menuju ke lokasi acara tersebut. Saat kami tiba di sana, kami bingung karena kampus tersebut luas dan tak tahu harus kemana kami nyari ruang seminarnya. akhirnya kami memutuskan untuk bertanya ke satpam. Setelah itu, kami pun telah berada dalam ruangan seminar, dan ternyata peserta seminar dominan dari kalangan guru-guru SD. ya kami pun ikut dalam acara tersebut dan banyak ilmu yang bisa dapat dalam seminar di sesi pertama tersebut terutama dalam proses menghitung dan perkalian. setelah beberapa saat kemudian saya dan teman memutuskan untuk keluar dan menunggu buat sesi berikutnya

saat sesi kedua berlangsung, ternyata peserta masih guru-guru yang sama di saat sesi pertama tadi. hampir tidak ada mahasiswa lain selain kami berlima di dalam ruang tersebut. dalam seminar di sesi kedua tersebut ada beberapa hal dan informasi yang bisa menambah pengetahuan saya. 

Inti yang bisa saya ambil dari ketiga pembicara tersebut yaitu ,

1. metode pembelajaran jika kita konsolidasikan dengan teknologi dapat dengan mudah dalam proses belajar mengajar.

2. Indonesia dalam beberapa tahun ke depan  bisa termasuk dalam 20 besar di dunia dengan kekuatan ekonomi.

3. dalam mewujudkan impian, kita mesti punya motivasi yang kuat untuk meraih impian kita.

mohon maaf jika postingan ini ada kekeliruan, harap masukan buat ke depannya yang lebih baik. :)

Terima Kasih kepada pembicara di seminar kemarin dan juga terutama kepada Bapak Djadja Achmad Sardjana, S.T., M.M. semoga ini bisa bermanfaat bagi kita semua. aamiin...

kalau ada acara sperti lagi, mohon diberitahu lagi :) hehehe...












Senin, 15 Oktober 2012

Perbedaan Process State dan thread State

 PROCESS STATE
Proses State merupakan model yang menggambarkan status process, ada lima tahap proses untuk mengolah data pada Proses state ini, di bawah ini contoh diagram alir proses state.

state_diagram
Keterangan :
TASK_RUNNINGproses ini berupa runnable maksudnya proses berjalan baik atau di sebut juga proses stanby menunggu untuk menjalakan proses. Pada proses ini satu-satunya proses yang bisa mengeksekusi pada user -space tetapi jiga dapat di terapkan pada proses di kernel-ruang yang aktif berjalan.
TASK_INTERRUPTIBLE di sebut juga proses sleeping, pada proses ini menunggu beberapa kondisi yang ada, ketika kondisi ini aktif maka statusnya menjadi TASK_RUNNING. Proses ini juga akan aktif prematur dan runnable jika menerima sinyal.
TASK_UNINTERRUPTIBLE stuatus ini identik di sebut TASK_INTERRUPTIBLE kecuali tidak aktif dan status menjadi runnable jika menerima sinyal. Proses Ini digunakan dalam situasi di mana proses tersebut harus menunggu tanpa interupsi atau ketika diharapkan terjadi cukup cepat.Karena tugas tidak merespon sinyal di state ini, TASK_UNINTERRUPTIBLE kurang sering digunakan dari TASK_INTERRUPTIBLE.
TASK_ZOMBIE pada proses ini proses akan dihentikan, namun induknya belum mengeluarkan system call.deskriptor proses ini harus tetap induknya yang mengaksesnya.Jika induk memangil, maka deskriptor proses deallocated.
TASK_STOPPED Proses eksekusi telah berhenti; tugas tersebut tidak berjalan juga tidak memenuhi syarat untuk berjalan.Hal ini terjadi jika tugas menerima sinyal SIGSTOP, SIGTSTP, SIGTTIN, atau SIGTTOU atau jika menerima sinyal apapun ketika sedang debug.



THREAD STATES

Pada setiap saat, thread dikatakan dalam satu atau lebih oleh beberapa thread seperti yang ditunjukkan oleh properti Thread.Thread diilustrasikan pada diagram alir di bawah ini:



ThreadStates
Keterangan :
Unstarted : Ketika sebuah thread baru dibuat oleh runtime, ia akan memulai hidup di state Unstarted.Sebuah thread tetap dalam keadaan ini sampai program memanggil metode Thread Start.
Running : Thread baru dibuat tetap dalam keadaan Unstarted sampai program panggilan Thread Start, pada saat thread memasuki state,proses akan berjalankan dan segera kontrol kembali ke program panggilan.Sebuah thread di state ini sebenarnya mulai berjalan pada saat OS memberikan prosesor ke benang.Pada titik ini, thread akan mulai menjalankan mendelegasikan ThreadStart nya (fungsi thread dalam terminologi Win32).
AbortRequested : Fungsi Thread ini adalah Thread Abort telah dipanggil tetapi thread belum menerima pengecualian Thread AbortException yang akan mencoba untuk menghentikannya.Perhatikan bahwa jika thread sudah diblokir dari panggilan sebelumnya untuk Tunggu dan thread lain panggilan Thread Abort di thread diblokir, thread akan di kedua state AbortRequested dan WaitSleepJoin.
Stopped : Sebuah thread aktif memasuki state Berhenti ketika delegasi ThreadStart tersebut berakhir.Hal ini dapat terjadi baik karena mendelegasikan selesai apa yang seharusnya untuk melakukan atau karena metode Thread Abort disebut, dalam hal ThreadAbortException adalah dilempar.Jika tidak ada referensi ke thread berhenti, pengumpul sampah dapat menghapus objek thread dari memori.
WaitSleepJoin : Jika kode thread pertemuan tidak dapat mengeksekusi (karena beberapa kondisi tidak selesai), proses bisa memanggil Monitor Wait untuk memasuki state WaitJoinSleep.Setelah di state ini, thread diblokir dapat kembali ke state yang aktif saat thread lain panggilan Monitor Pulse atau Monitor PulseAll. thread ini juga dapat menghubungi Thread Sleep untuk memasukkan WaitSleepJoin untuk periode waktu tertentu. Jika thread panggilan Thread Sleep atau Monitor Wait untuk memasuki state WaitSleepJoin, maka juga kembali ke state aktif jika tidur atau menunggu thread metode Thread Interrupt disebut dengan thread lain.Jika thread tidak dapat melanjutkan proses eksekusi sampai thread lain berakhir, maka jalur tergantung dapat memanggil metode thread.
Suspended : Jika thread aktif menjalankan Thread Suspend, thread akan memasuki kondisi Suspended.Sebuah state Suspended kembali ke keadaan aktif jika thread lain dalam program memanggil thread ditangguhkans Thread Resume.


Sumber : http://ahmadfaza.com/perbedaan-process-state-dan-thread-state.html

Senin, 01 Oktober 2012

Diskusi Ke 2 (I, II, dan III)



III. STRUKTUR DASAR SISTEM OPERASI

1. Sistem Monolitik
Sistem operasi sebagai kumpulan prosedur dimana prosedur dapat saling dipanggil oleh prosedur lain di sistem bila diperlukan. Kernel (inti sistem operasi) berisi semua layanan yang disediakan sistem operasi oleh pemakai (user). Menggunakan konsep kernel loadable modules guna pengembangan, pengujian dan fleksibilitas sistem operasi. 

Kelemahan 
  • Pengujian dan penghilangan kesalahan sulit karena tak dapat dipisahkan dan dilokalisasi.
  • Sulit dalam menyediakan fasilitas pengamanan.
  • Merupakan pemborosan bila setiap komputer harus menjalankan kernel monolitik sangat besar sementara sebenarnya tidak memerlukan seluruh layanan yang disediakan kernel. 
  • Tidak fleksibel.
  • Kesalahan pemrograman satu bagian dari kernel menyebabkan matinya seluruh system.
Keunggulan
  • Layanan dapat dilakukan sangat cepat karena terdapat di satu ruang alamat. 

Resources

About

Featured Posts Coolbthemes