selamat datang di blog saya

anda dapat melihat blog saya

Minggu, 23 Januari 2011

Ngeblog bikin sakit hati


Aku hampir saja memutuskan untuk berhenti jadi blogger (Merasanya dah jadi blogger!). Eh, ya iya lah. Blogger kan artinya orang yang membuat blog. Seperti juga kata Slankers untuk para penggemar Slank, lovers untuk para pelaku cinta, teacher untuk para pendidik dan keeper untuk para penjaga (gawang misalnya). Gini-gini aku dah jadi blogger oi ( Kwak .. kwak ..).
Beberapa alasan yang telah kupertimbangkan dengan matang adalah akses internet yang sangat "Lambat loading" yang kini sedang menjadi masalah utama. Tempatku nge-Net yang paling sering adalah Arc**-Net. Spesifikasi komputernya masih sangat rendah, Pentium III, 533MHz. Kadang kalo' warnetnya sepi memang agak cepat sedikit. Tapi kalau pengunjungnya lagi ramai, mati ... buka halaman depan blogger aja hampir sepuluh menit. Apa gak berabe ? Sementara billingnya jalan terus. Mau melakukan kecurangan (jadi hacker dikit-dikit, tapi gak berani! Takut dosa oi! ). Padahal aku termasuk orang yang sangat tidak suka dengan yang namanya menunggu. Sok penting gitu sih. Tapi memang gak enak lho dibuat menunggu. Kalau yang membuat kita menunggu adalah seorang gadis manis sih gak papa, tapi kalo' komputer sekelas Pentium 3 apa gak bikin bete? Kadang aku hanya bisa melepaskan kekesalan dengan memencet sembarang tombol keyboard keras-keras dan dengan durasi yang sangat cepat (kayak orang ngetik gak jelas gitu), atau dengan mengklik kanan kiri mouse pada layar. Dasar si komputer gak tau malu, gak mau juga cepet. Yang paling payah, pas setelah ditunggu hampir selama itu (10 menitan), eeee... malah dia bilang "Could Not Retrieved Connecting!". Ufh, apes bener dah. Makanya, dari dulu cuma ada minat buat bikin warnet sendiri aja. Cape' juga lama-lama mesti sakit hati sama si komputernya Arc**. Kata Habibah sih, lha wong udah tahu kayak gitu kok masih aja dilakoni.
Alasan kedua adalah tentang jam terbang-ku di hadapan komputer yang kini meningkat pesat. Kerjanya utak-atik template. Padahal hasilnya yo cuma gitu-gitu doang. Males aja sebenarnya ngebiarin tampilan di blog hanya seperti itu. Tapi namanya juga masih newbie, yo mesti belajar dari awal. Asta Qauliyah saja belajar sejak tahun 2000an (padahal di posting blognya ada arsip tahun 1996). Akibat terlalu sering utak-atik template blog, beberapa tugas kuliahku terbengkalai (maksudnya diundur-undur pengerjaannya. Meski juga tidak menimbulkan akibat fatal pada kuliahku).
Alasan ke tiga, adalah tentang pendanaan. Katanya ngeblog butuh duit. Apalagi kalau mau jadi blogger yang istiqamah. Tapi yo wes lah!
Tapi beberapa alasan lain mencegahku untuk melakukan ini. Salah satu alasan utama adalah dengan ngeblog aku bisa rajin menulis. Menulis adalah kebiasaan yang mesti dikembangkan. Jika kita tidak mampu menjadi seorang komunikator lewat bahasa lisan, maka kertas, tulisan dan keyboard bisa menjadi sarana yang tepat (jika mampu, dan semoga aku bisa). Dengan menulis, aku bisa berbagi dengan orang lain. Mengeluarkan uneg-uneg yang ada dalam kepalaku. Berbagi cerita kepada sesama-ku (???). Dan juga bisa melatih keterampilan otak dalam mengait-ngaitkan informasi. Kadang dengan menulis mampu menghilangkan stress yang ada di kepalaku. Sering kan orang menjadi stress karena tak berani cerita kepada orang lain? Makanya, disarankan untuk menulis. Diary misalnya. Dengan menulis juga bisa melatih kemampuan berbahasa (Bisa jadi modal buat meyakinkan dan ngegombal anak orang! (",) Dulu sih pernah menjadi penulis diary, menggunakan bahasa Inggris. Kocak kacik sana sini. Bahasanya amburadul. Wets, apalagi kalau lagi jatuh hati. Mmmm... Sudah !!! Semua kata pujangga bisa muncul.
Alasan yang kedua adalah dengan ngblog aku jadi sering ke warnet (meski bukan hanya di Arc**-Net). Dengan ke warnet, aku bisa belajar membaca. Membaca blog milik orang lain. Mencari sesuatu dari Om Gugel, kemudian menyimpannya dalam harddisk si AMD-ku ini. Dengan begitu, aku bisa menggapai salah satu cita-citaku, "Tidak menjadi orang yang gaptek". Asyik kan?
Alasan ketiga. Sejak punya blog sendiri, aku belajar banyak tentang design. Pengennya sih jadi designer. Kemarin malah sempat bikin perusahaan fiktif, namanya ABIED ART DESIGN. Weee, meski hanya dalam mimpi, tapi aku sudah menjadi General Manager-nya lho. Mestinya memang aku masuk ke jurusan Design Grafis, tapi yang ada Tuhan malah nunjukkin aku ke matematika. Yo wes, ntar di akhir hidup biasanya akan sadar, kemudian berkata : "Memang, Inilah Jalan yang ditunjukkan oleh Tuhan buatku!"
Alasan ke empat adalah tentang ilmu dan pengetahuan. Jangan pernah menjadi orang yang malas untuk mencari tahu segala sesuatu. Blog adalah salah satu jalan mencari tahu. Kata Rahmat, yang kita butuhkan sebagai manusia hanyalah rasa ingin tahu. Artinya, tanpa itu kita tidak akan pernah bisa menjadi manusia yang tahu arti diri kita. Begitu kan Mat? Yup ...
Alasan ini juga yang menjadi alasan paling kuat bagiku.
Setelah dipikir-pikir, aku kayaknya gak jadi berhenti ngeblog deh. Yang aku perlukan hanyalah managemen waktu yang lebih baik, managemen duit yang lebih mantap, managemen hati yang lebih sempurna. Lha wong sama warnet aja kok bisa marah-marah. Kalo' gak mau online di warnet yang lambat yo mesti punya duit banyak. Atau, kamu sisakan waktu untuk begadang tengah malam, biasanya tengah malam aksesnya cepet.
Yup ... Semoga semua murni untuk ilmu. Termasuk yang satu ini.

Kamis, 20 Januari 2011

UML

Unified Modeling Language (UML) adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak.
http://upload.wikimedia.org/wikipedia/commons/7/74/Uml_diagr

Pendahuluan

Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya.[1] UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung pengembangan sistem tersebut.[1] UML mulai diperkenalkan oleh Object Management Group, sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an.[1] Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP.[1] UML merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM.[1]
UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi.[2] UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson.[2] Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi.[2] Penggunaan UML dalam industri terus meningkat.[2] Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem.[2]

[sunting] Sejarah UML

Sampai era tahun 1990 puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia.[3] Diantaranya adalah: metodologi booch, metodologi coad, metodologi OOSE, metodologi OMT, metodologi shlaer-mellor, metodologi wirfs-brock, dsb.[3] Masa itu terkenal dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek.[3] Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan kelompok/perusahaan lain yang menggunakan metodologi yang berlainan.[3]
Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek.[3] Pada tahun 1995 direlease draft pertama dari UML (versi 0.8)[3]. Sejak tahun 1996 pengembangan tersebut dikoordinasikan oleh Object Management Group (OMG – http://www.omg.org).[3]

[sunting] Diagram UML

UML menyediakan 10 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu:[4]
  • Use Case Diagram untuk memodelkan proses bisnis.
  • Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.
  • Sequence Diagram untuk memodelkan pengiriman pesan (message) antar objects.
  • Collaboration Diagram untuk memodelkan interaksi antar objects.
  • State Diagram untuk memodelkan perilaku objects di dalam sistem.
  • Activity Diagram untuk memodelkan perilaku Use Cases dan objects di dalam system.
  • Class Diagram untuk memodelkan struktur kelas.
  • Object Diagram untuk memodelkan struktur object.
  • Component Diagram untuk memodelkan komponen object.
  • Deployment Diagram untuk memodelkan distribusi aplikasi.
Berikut akan dijelaskan 4 macam diagram yang paling sering digunakan dalam pembangunan aplikasi berorientasi object, yaitu use case diagram, sequence diagram, collaboration diagram, dan class diagram.[4]

[sunting] Use Case Diagram

Use case diagram digunakan untuk memodelkan bisnis proses berdasarkan perspektif pengguna sistem. [4]Use case diagram terdiri atas diagram untuk use case dan actor.[4] Actor merepresentasikan orang yang akan mengoperasikan atau orang yang berinteraksi dengan sistem aplikasi.[4]
Use case merepresentasikan operasi-operasi yang dilakukan oleh actor.[4] Use case digambarkan berbentuk elips dengan nama operasi dituliskan di dalamnya. Actor yang melakukan operasi dihubungkan dengan garis lurus ke use case.[4]

[sunting] Sequence Diagram

Sequence diagram menjelaskan secara detil urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case: interaksi yang terjadi antar class, operasi apa saja yang terlibat, urutan antar operasi, dan informasi yang diperlukan oleh masing-masing operasi.[5]

[sunting] Collaboration Diagram

Collaboration diagram dipakai untuk memodelkan interaksi antar object di dalam sistem.[4] Berbeda dengan sequence diagram yang lebih menonjolkan kronologis dari operasi-operasi yang dilakukan, collaboration diagram lebih fokus pada pemahaman atas keseluruhan operasi yang dilakukan oleh object.[4]

[sunting] Class Diagram

Class diagram merupakan diagram yang selalu ada di permodelan sistem berorientasi objek.[5] Class diagram menunjukkan hubungan antar class dalam sistem yang sedang dibangun dan bagaimana mereka saling berkolaborasi untuk mencapai suatu tujuan.[5]

POHON KEPUTUSAN

Pada sesi ini akan dibahas secara ringkas konsep salah satu metode data mining yaitu pohon keputusan. Bahasan meliputi:
  • Latar Belakang Pohon Keputusan
  • Pengertian Pohon Keputusan
  • Manfaat Pohon Keputusan
  • Kelebihan Pohon Keputusan
  • Kekurangan Pohon Keputusan
  • Model Pohon Keputusan
  • Algoritman C.45
  • Contoh-contoh aplikasi



Latar Belakang Pohon Keputusan
Di dalam kehidupan manusia sehari-hari, manusia selalu dihadapkan oleh berbagai macam masalah dari berbagai macam bidang. Masalah-masalah ini yang dihadapi oleh manusia tingkat kesulitan dan kompleksitasnya sangat bervariasi, mulai dari yang teramat sederhana dengan sedikit faktor-faktor yang berkaitan dengan masalah tersebut dan perlu diperhitungkan sampai dengan yang sangat rumit dengan banyak sekali faktor-faktor turut serta berkaitan dengan masalah tersebut dan perlu untuk diperhitungkan. Untuk menghadapi masalah-masalah ini, manusia mulai mengembangkan sebuah sistem yang dapat membantu manusia agar dapat dengan mudah mampu untuk menyelesaikan masalah-masalah tersebut. Adapun pohon keputusan ini adalah sebuah jawaban akan sebuah sistem yang manusia kembangkan untuk membantu mencari dan membuat keputusan untuk masalah-masalah tersebut dan dengan memperhitungkan berbagai macam factor yang ada di dalam lingkup masalah tersebut. Dengan pohon keputusan, manusia dapat dengan mudah melihat mengidentifikasi dan melihat hubungan antara faktor-faktor yang mempengaruhi suatu masalah dan dapat mencari penyelesaian terbaik dengan memperhitungkan faktor-faktor tersebut. Pohon keputusan ini juga dapat menganalisa nilai resiko dan nilai suatu informasi yang terdapat dalam suatu alternatif pemecahan masalah. Peranan pohon keputusan ini sebagai alat Bantu dalam mengambil keputusan (decision support tool) telah dikembangkan oleh manusia sejak perkembangan teori pohon yang dilandaskan pada teori graf. Kegunaan pohon keputusan yang sangat banyak ini membuatnya telah dimanfaatkan oleh manusia dalam berbagai macam sistem pengambilan keputusan.

Pengertian Pohon Keputusan

Pohon yang dalam analisis pemecahan masalah pengambilan keputusan adalah pemetaan mengenai alternatif-alternatif pemecahan masalah yang dapat diambil dari masalah tersebut. Pohon tersebut juga memperlihatkan faktor-faktor kemungkinan/probablitas yang akan mempengaruhi alternatif-alternatif keputusan tersebut, disertai dengan estimasi hasil akhir yang akan didapat bila kita mengambil alternatif keputusan tersebut.

Manfaat Pohon Keputusan

Pohon keputusan adalah salah satu metode klasifikasi yang paling populer karena mudah untuk diinterpretasi oleh manusia. Pohon keputusan adalah model prediksi menggunakan struktur pohon atau struktur berhirarki. Konsep dari pohon keputusan adalah mengubah data menjadi pohon keputusan dan aturan-aturan keputusan. Manfaat utama dari penggunaan pohon keputusan adalah kemampuannya untuk mem-break down proses pengambilan keputusan yang kompleks menjadi lebih simpel sehingga pengambil keputusan akan lebih menginterpretasikan solusi dari permasalahan. Pohon Keputusan juga berguna untuk mengeksplorasi data, menemukan hubungan tersembunyi
antara sejumlah calon variabel input dengan sebuah variabel target. Pohon keputusan memadukan antara
eksplorasi data dan pemodelan, sehingga  sangat bagus sebagai langkah awal dalam proses pemodelan bahkan ketika
dijadikan sebagai model akhir dari beberapa teknik lain. Sering terjadi tawar menawar antara keakuratan

model dengan transparansi model. Dalam beberapa aplikasi, akurasi dari sebuah klasifikasi atau prediksi adalah satu-satunya hal yang ditonjolkan, misalnya sebuah perusahaan direct mail membuat sebuah model yang akurat untuk
memprediksi anggota mana yang berpotensi untuk merespon permintaan, tanpa memperhatikan bagaimana atau mengapa model tersebut bekerja.

Kelebihan Pohon Keputusan

Kelebihan dari metode pohon keputusan adalah:
  • Daerah pengambilan keputusan yang sebelumnya kompleks dan sangat global, dapat diubah menjadi lebih simpel dan spesifik.
  • Eliminasi perhitungan-perhitungan yang tidak diperlukan, karena ketika menggunakan metode pohon keputusan maka sample diuji hanya berdasarkan kriteria atau kelas tertentu.
  • Fleksibel untuk memilih fitur dari internal node yang berbeda, fitur yang terpilih akan m

  • embedakan suatu kriteria dibandingkan kriteria yang lain dalam node yang sama. Kefleksibelan metode pohon keputusan ini meningkatkan kualitas keputusan yang dihasilkan jika dibandingkan ketika menggunakan metode penghitungan satu tahap yang lebih konvensional

  • Dalam analisis multivariat, dengan kriteria dan kelas yang jumlahnya sangat banyak, seorang penguji biasanya perlu untuk mengestimasikan baik itu distribusi dimensi tinggi ataupun parameter tertentu dari distribusi kelas tersebut. Metode pohon keputusan dapat menghindari munculnya permasalahan ini dengan menggunakan criteria yang jumlahnya lebih sedikit pada setiap node internal tanpa banyak mengurangi kualitas keputusan yang dihasilkan.

  • Kekurangan Pohon Keputusan

    • Terjadi overlap terutama ketika kelas-kelas dan criteria yang digunakan jumlahnya sangat banyak. Hal tersebut juga dapat menyebabkan meningkatnya waktu pengambilan keputusan dan jumlah memori yang diperlukan.
    • Pengakumulasian jumlah eror dari setiap tingkat dalam sebuah pohon keputusan yang besar.
    • Kesulitan dalam mendesain pohon keputusan yang optimal.
    • Hasil kualitas keputusan yang didapatkan dari metode pohon keputusan sangat tergantung pada bagaimana pohon tersebut didesain.

    Model Pohon Keputusan

    Pohon keputusan adalah model prediksi menggunakan struktur pohon atau struktur berhirarki. Contoh dari pohon keputusan dapat dilihat di Gambar berikut ini.
    Disini setiap percabangan menyatakan kondisi yang harus dipenuhi dan tiap ujung pohon menyatakan kelas data. Contoh di Gambar 1 adalah identifikasi pembeli komputer,dari pohon keputusan tersebut diketahui bahwa salah satu kelompok yang potensial membeli komputer adalah orang yang berusia di bawah 30 tahun dan juga pelajar. Setelah sebuah pohon keputusan dibangun maka dapat digunakan untuk mengklasifikasikan record yang belum ada kelasnya. Dimulai dari node root, menggunakan tes terhadap atribut dari record yang belum ada kelasnya tersebut lalu mengikuti cabang yang sesuai dengan hasil dari tes tersebut, yang akan membawa kepada internal node (node yang memiliki satu cabang masuk dan dua atau lebih cabang yang keluar), dengan cara harus melakukan tes lagi terhadap atribut atau node daun. Record yang kelasnya tidak diketahui kemudian diberikan kelas yang sesuai dengan kelas yang ada pada node daun. Pada pohon keputusan setiap simpul daun menandai label kelas. Proses dalam pohon keputusan yaitu mengubah bentuk data (tabel) menjadi model pohon (tree) kemudian mengubah model pohon tersebut menjadi aturan (rule).

    ALGORITMA C4.5

    Salah satu algoritma induksi pohon keputusan yaitu ID3 (Iterative Dichotomiser 3). ID3 dikembangkan oleh J. Ross Quinlan. Dalam prosedur algoritma ID3, input berupa sampel training, label training dan atribut. Algoritma C4.5 merupakan pengembangan dari ID3. Sedangkan pada perangkat lunak open source WEKA mempunyai versi sendiri C4.5 yang dikenal sebagai J48.
    Algoritma C4.5
    Algoritma C4.5
    Pohon dibangun dengan cara membagi data secara rekursif hingga tiap bagian terdiri dari data yang berasal dari kelas yang sama. Bentuk pemecahan (split) yang digunakan untuk membagi data tergantung dari jenis atribut yang digunakan dalam split. Algoritma C4.5 dapat menangani data numerik (kontinyu) dan diskret. Split untuk atribut numerik yaitu mengurutkan contoh berdasarkan atribut kontiyu A, kemudian membentuk minimum permulaan (threshold) M dari contoh-contoh yang ada dari kelas mayoritas pada setiap partisi yang bersebelahan, lalu menggabungkan partisi-partisi yang bersebelahan tersebut dengan kelas mayoritas yang sama. Split untuk atribut diskret A mempunyai bentuk value (A) ε X dimana X domain(A).
    Jika suatu set data mempunyai beberapa pengamatan dengan missing value yaitu record dengan beberapa nilai variabel tidak ada, Jika jumlah pengamatan terbatas maka atribut dengan missing value dapat diganti dengan nilai rata-rata dari variabel yang bersangkutan.[Santosa,2007]
    Untuk melakukan pemisahan obyek (split) dilakukan tes terhadap atribut dengan mengukur tingkat ketidakmurnian pada sebuah simpul (node). Pada algoritma C.45 menggunakan rasio perolehan (gain ratio). Sebelum menghitung rasio perolehan, perlu menghitung dulu nilai informasi dalam satuan bits dari suatu kumpulan objek. Cara menghitungnya dilakukan dengan menggunakan konsep entropi.
    Entropy
    S adalah ruang (data) sampel yang digunakan untuk pelatihan, p+ adalah jumlah yang bersolusi positif atau mendukung pada data sampel untuk kriteria tertentu dan p- adalah jumlah yang bersolusi negatif atau tidak mendukung pada data sampel untuk kriteria tertentu. ntropi(S) sama dengan 0, jika semua contoh pada S berada dalam kelas yang sama. Entropi(S) sama dengan 1, jika jumlah contoh positif dan negative dalam S adalah sama. Entropi(S) lebih dari 0 tetapi kurang dari 1, jika jumlah contoh positif dan negative dalam S tidak sama [Mitchell,1997].Entropi split yang membagi S dengan n record menjadi himpunan-himpunan S1 dengan n1 baris dan S2 dengan n2 baris adalah :

    Kemudian menghitung perolehan informasi dari output data atau variabel dependent y yang dikelompokkan berdasarkan atribut A, dinotasikan dengan gain (y,A). Perolehan informasi, gain (y,A), dari atribut A relative terhadap output data y adalah:

    nilai (A) adalah semua nilai yang mungkin dari atribut A, dan yc adalah subset dari y dimana A mempunyai nilai c. Term pertama dalam persamaan diatas adalah entropy total y dan term kedua adalah entropy sesudah dilakukan pemisahan data berdasarkan atribut A.
    Untuk menghitung rasio perolehan perlu diketahui suatu term baru yang disebut pemisahan informasi (SplitInfo). Pemisahan informasi dihitung dengan cara :
    split
    bahwa S1 sampai Sc adalah c subset yang dihasilkan dari pemecahan S dengan menggunakan atribut A yang mempunyai sebanyak c nilai. Selanjutnya rasio perolehan (gain ratio) dihitung dengan cara :


    Contoh Aplikasi

    Credit Risk

    Berikut ini merupakan contoh dari salah satu kasus resiko kredit (credit risk) yang menggunakan decision tree untuk menentukan apakah seorang potential customer dengan karakteristik saving, asset dan income tertentu memiliki good credit risk atau bad credit risk.

    Dapat dilihat pada gambar tersebut, bahwa target variable dari decision tree tersebut atau variable yang akan diprediksi adalah credit risk dengan menggunakan predictor variable : saving, asset, dan income. Setiap nilai atribut dari predictor variable akan memiliki cabang menuju predictor variable selanjutnya, dan seterusnya hingga tidak dapat dipecah dan menuju pada target variable.
    Penentuan apakah diteruskan menuju predictor variable (decision node) atau menuju target variable (leaf node) tergantung pada keyakinan (knowledge) apakah potential customer dengan nilai atribut variable keputusan tertentu memiliki keakuratan nilai target variable 100% atau tidak. Misalnya pada kasus di atas untuk saving medium, ternyata knowledge yang dimiliki bahwa untuk seluruh potential customer dengan saving medium memiliki credit risk yang baik dengan keakuratan 100%. Sedangkan untuk nilai low asset terdapat kemungkinan good credit risk dan bad credit risk.
    Jika tidak terdapat pemisahan lagi yang mungkin dilakukan, maka algoritma decision tree akan berhenti membentuk decision node yang baru. Seharusnya setiap branches diakhiri dengan “pure” leaf node, yaitu leaf node dengan target variable yang bersifat unary untuk setiap records pada node tersebut, di mana untuk setiap nilai predictor variable yang sama akan memiliki nilai target variable yang sama. Tetapi, terdapat kemungkinan decision node memiliki “diverse” atributes, yaitu bersifat non‐unary untuk nilai target variablenya, di mana untuk setiap record dengan nilai predictor variable yang sama ternyata memiliki nilai target variable yang berbeda. Kondisi tersebut menyebabkan tidak dapat dilakukan pencabangan lagi berdasarkan nilai predictor variable. Sehingga solusinya adalah membentuk leaf node yang disebut “diverse” leaf node, dengan menyatakan level kepercayaan dari diverse leaf node tersebut. Misalnya untuk contoh data berikut ini :




    Dari training data tersebut kemudian disusunlah alternatif untuk candidate split, sehingga setiap nilai untuk predictor variable di atas hanya membentuk 2 cabang, yaitu sebagai berikut:

    Kemudian untuk setiap candidate split di atas, dihitung variabel‐variabel berikut berdasarkan training data yang dimiliki. Adapun variabel‐variabel tersebut, yaitu :

    ,di mana

    Adapun contoh hasil perhitungannya adalah sebagai berikut :

    Dapat dilihat dari contoh perhitungan di atas, bahwa yang memiliki nilai goodness of split * Φ(s/t) + yang terbesar, yaitu split 4 dengan nilai 0.64275. Oleh karena itu split 4 lah yang akan digunakan pada root node, yaitu split dengan : assets = low dengan assets = {medium, high}.
    Untuk penentuan pencabangan, dapat dilihat bahwa dengan assets=low maka didapatkan pure node leaf, yaitu bad risk (untuk record 2 dan 7). Sedangkan untuk assets = {medium, high} masih terdapat 2 nilai, yaitu good credit risk dan bad credit risk. Sehingga pencabangan untuk assets = {medium, high} memiliki decision node baru. Adapun pemilihan split yang akan digunakan, yaitu dengan menyusun perhitungan nilai Φ(s/t) yang baru tanpa melihat split 4, record 2 dan 7.

    Demikian seterusnya hingga akhirnya dibentuk leaf node dan membentuk decision tree yang utuh (fully grown form) seperti di bawah ini :

    Sistem Pakar Diagnosa Penyakit (Kusrini)

    Dalam aplikasi ini terdapat tabel-tabel sebagai berikut:
    • Tabel Rekam_Medis, berisi data asli rekam medis pasien
    • Tabel Kasus, beisi data variabel yang dapat mempengaruhi kesimpulan diagnosis dari pasien-pasien yang ada, misalnya Jenis Kelamin, Umur, Daerah_Tinggal, Gejala_1 s/d
    • Tabel Aturan, berisi aturan hasil ekstrak dari pohon keputusan.
    Proses akuisisi pengetahuan yang secara biasanya dalam sistem pakar dilakukan oleh sistem pakar, dalam sistem ini akan dillakukan dengan urutan proses ditunjukkan pada gambar berikut:

    Hasil pembentukan pohon keputusan bisa seperti pohon keputusan yang tampak pada gambar:
    Lambang bulat pada pohon keputusan melambangkan sebagai node akar atau cabang (bukan daun) sedangkan kotak
    melambangkan node daun. Jika pengetahuan yang terbentuk beruka kaidah produksi dengan format:
    Jika Premis Maka Konklusi Node-node akar akan menjadi Premis dari aturan sedangkan node daun akan menjadi bagian konklusinya. Dari gambar pohon keputusan pada gambar 4, dapat dibentuk aturan sebagai berikut:
    1. Jika Atr_1 = N_1
      Dan Atr_2 = N_4
      Dan Atr_3 = N_9
      Maka H_1
    2. Jika Atr_1 = N_1
      Dan Atr_2 = N_4
      Dan Atr_3 = N_10
      Dan Atr_4 = N_11
      Maka H_2
    3. Jika Atr_1 = N_1
      Dan Atr_2 = N_4
      Dan Atr_3 = N_10
      Dan Atr_4 = N_12
      Maka H_2
    4. Jika Atr_1 = N_1
      Dan Atr_2 = N_5
      Maka H_4
    5. Jika Atr_1 = N_2
      Maka H_5
    6. Jika Atr_1 = N_3
      Dan Atr_5 = N_6
      Maka H_6
    7. Jika Atr_1 = N_3
      Dan Atr_5 = N_7
      Maka H_7
    8. Jika Atr_1 = N_3
      Dan Atr_5 = N_8
      Maka H_8
    Model case based reasoning dapat digunakan sebagai metode akuisisi pengetahuan dalam aplikasi system pakar diagnosis penyakit. Aturan yagn dihasilkan system ini mampu digunakan untuk mendiagnosis penyakit didasarkan pada data-data pasien. Dalam penentuan diagnosis penyakit belum diimplementasikan derajat kepercayaan terhadap hasil diagnosis tersebut.
    Referensi:
    • Kusrini, Hartati, Penggunaan Penalaran Berbasis Kasus Untuk Membangun Basis Pengetahuan Dalam Sistem Diagnosis Penyakit
    • Teknik Klasifikasi Pohon Keputusan Untuk Memprediksi Kebangkrutan Bank Berdasarkan Rasio Keuangan Bank
    • Pramudiono, Iko. Pengantar Data Mining: Menambang Permata Pengetahuan di Gunung Data. http://www.ilmukomputer.com
    • Kusrini, 2006, Sistem Pakar Teori dan Aplikasi, Penerbit Andi Offset, Yogyakarta.
    • Santosa, Budi. 2007. Data Mining : Teknik Pemanfaatan Data untuk keperluan Bisnis. Graha Ilmu. Yogyakarta.
    • Tan, Pang-Ning, Michael Steinbach, and Vipin Kumar. 2004. Introduction to Data Mining.
    • Website WEKA. http://www.cs.waikato.ac.nz/ml/weka/.
    • Witten, Ian H. dan Eibe Frank. 2005. Data Mining: Practical machine learning tools and techniques,2nd Edition. Morgan Kaufmann. San Francisco.

     yang terkait dengan ini

    RPL

    Minggu, 16 Januari 2011

    pseudo-code

    Kode-palsu atau dalam bahasa inggris lebih dikenal sebagai pseudo-code merupakan deskripsi tingkat tinggi informal dan ringkas atas algoritma pemrograman kputerom yang menggunakan konvensi struktural atas suatu bahasa pemrograman, dan ditujukan untuk dibaca oleh manusia dan bukan oleh mesin. Kode palsu biasanya tidak menggunakan elemen detil yang tidak diperlukan untuk kebutuhan pemahaman manusia atas suatu algoritma, seperti deklarasi variabel, kode ataupun subrutin untuk sistem yang bersifat spesifik. Bahasa pemrograman yang digunakan lebih diperbanyak dengan deskripsi dalam bahasa natural atas sesuatu hal yang bersifat detil, atau dengan menggunakan notasi matematis. Tujuan dari penggunaan kode-palsu adalah untuk mempermudah manusia dalam pemahaman dibandingkan menggunakan bahasa pemrograman yang umum digunakan, terlebih aspeknya yang ringkas serta tidak bergantung pada suatu sistem tertentu merupakan prinsip utama dalam suatu algoritma. Kode-palsu umumnya digunakan dalam buku-buku ataupun publikasi karya ilmiah yang mendokumentasikan suatu algortima, dan juga dalam perencanaan pengembangan program komputer, untuk membuat sketsa atas struktur sebuah program sebelum program yang sesungguhnya ditulis.
    Tidak ada satu pun standar yang berlaku atas kode-palsu, sebuah program yang masih berupa kode-palsu tidak dapat dijalankan. Kode-palsu menyerupai pula kerangka program (skeleton programs), termasuk dummy code, yang bisa dikompilasi tanpa kesalahan. Diagram alur dapat pula dimasukkan sebagai alternatif berbasis grafis sebuah kode-palsu.

    Kamus Data

    Kamus data adalah suatu daftar data elemen yang terorganisir dengan definisi yang tetap dan sesuai dengan sistem, sehingga user dan analis sistem mempunyai pengertian yang sama tentang input, output, dan komponen data strore.
    Kamus data ini sangat membantu analis sistem dalam mendefinisikan data yang mengalir di dalam sistem, sehingga pendefinisian data itu dapat dilakukan dengan lengkap dan terstruktur. Pembentukan kamus data dilaksanakan dalam tahap analisis dan perancangan suatu sistem.
    Pada tahap analisis, kamus data merupakan alat komunikasi antara user dan analis sistem tentang data yang mengalir di dalam sistem, yaitu tentang data yang masuk ke sistem dan tentang informasi yang dibutuhkan oleh user. Sementara itu, pada tahap perancangan sistem kamus data digunakan untuk merancang input, laporan dan database.
    Pembentukan kamus data didasarkan atas alur data yang terdapat pada DFD. Alur data pada DFD ini bersifat global, dalam arti hanya menunjukan nama alur datanya tanpa menunjukan struktur dari alur data itu. Untuk menunjukan struktur dari alur data secara terinci maka dibentuklah kamus data yang didasarkan pada alur data di dalam DFD.
    http://www.ziddu.com/download/13422192/kamusdata.rar.html

    Coding (Pengkodean)

     

    White Box Testing dan Black Box Testing

    Dua macam pendekatan test yaitu :

    1. Black Box Testing 
     Test case ini bertujuan untuk menunjukkan fungsi PL tentang cara
    beroperasinya, apakah pemasukan data keluaran telah berjalan
    sebagaimana yang diharapkan dan apakah informasi yang disimpan
    secara eksternal selalu dijaga kemutakhirannya.
    2. White Box Testing
    Adalah meramalkan cara kerja perangkat lunak secara rinci, karenanya
    logikal path (jalur logika) perangkat lunak akan ditest dengan
    menyediakan test case yang akan mengerjakan kumpulan kondisi dan
    atau pengulangan secara spesifik. Secara sekilas dapat diambil
    kesimpulan white box testing merupakan petunjuk untuk mendapatkan
    program yang benar secara 100%.
    UJI COBA WHITE BOX
    Uji coba white box adalah metode perancangan test case yang
    menggunakan struktur kontrol dari perancangan prosedural untuk
    mendapatkan test case. Dengan rnenggunakan metode white box, analis
    sistem akan dapat memperoleh test case yang:
    · menjamin seluruh independent path di dalam modul yang dikerjakan
    sekurang-kurangnya sekali
    · mengerjakan seluruh keputusan logikal
    · mengerjakan seluruh loop yang sesuai dengan batasannya
    · mengerjakan seluruh struktur data internal yang menjamin validitas
    1. UJI COBA BASIS PATH
    Uji coba basis path adalah teknik uji coba white box yg diusulkan
    Tom McCabe. Metode ini memungkinkan perancang test case mendapatkan
    ukuran kekompleksan logical dari perancangan prosedural dan menggunkan
    ukuran ini sbg petunjuk untuk mendefinisikan basis set dari jalur
    pengerjaan. Test case yg didapat digunakan untuk mengerjakan basis set
    yg menjamin pengerjaan setiap perintah minimal satu kali selama uji coba.

    PENGUJIAN BLACK-BOX
    Pengujian black-box berfokus pada persyaratan fungsional PL. Pengujian
    inimemungkinkan analis system memperoleh kumpulan kondisi input yg
    akan mengerjakan seluruh keperluan fungsional program.
    Tujuan metode ini mencari kesalaman pada:
    · Fungsi yg salah atau hilang
    · Kesalahan pada interface
    · Kesalahan pada struktur data atau akses database
    · Kesalahan performansi
    · Kesalahan inisialisasi dan tujuan akhir
    Metode ini tidak terfokus pada struktur kontrol seperti pengujian whitebox
    tetapi pada domain informasi.
    Pengujian dirancang untuk menjawab pertanyaan sbb:
    · Bagaimana validitas fungsional diuji?
    · Apa kelas input yg terbaik untuk uji coba yg baik?
    · Apakah sistem sangat peka terhadap nilai input tertentu?
    · Bagaimana jika kelas data yang terbatas dipisahkan?
    · Bagaimana volume data yg dapat ditoleransi oleh sistem?
    · Bagaimana pengaruh kombinasi data terhadap pengoperasian
    system?
    1. EQUIVALENCE PARTITIONING
    Equivalence partitioning adalah metode pengujian black-box yg memecah
    atau membagi domain input dari program ke dalam kelas-kelas data
    sehingga test case dapat diperoleh.
    Perancangan test case equivalence partitioning berdasarkan evaluasi kelas
    equivalence untuk kondisi input yg menggambarkan kumpulan keadaan yg
    valid atau tidak. Kondisi input dapat berupa nilai numeric, range nilai,
    kumpulan nilai yg berhubungan atau kondisi Boolean.
    Contoh :
    Pemeliharaan data untuk aplikasi bank yg sudah diotomatisasikan. Pemakai
    dapat memutar nomor telepon bank dengan menggunakan mikro komputer
    yg terhubung dengan password yg telah ditentukan dan diikuti dengan
    perintah-perintah. Data yg diterima adalah :
    Kode area : kosong atau 3 digit
    Prefix : 3 digit atau tidak diawali 0 atau 1
    Suffix : 4 digit
    Password : 6 digit alfanumerik
    Perintah : check, deposit, dll
    Selanjutnya kondisi input digabungkan dengan masing-masing data elemen
    dapat ditentukan sbb :
    Kode area : kondisi input, Boolean – kode area mungkin ada atau tidak
    kondisi input, range – nilai ditentukan antara 200 dan 999
    Prefix : kondisi input range > 200 atau tidak diawali 0 atau 1
    Suffix : kondisi input nilai 4 digit
    Password : kondisi input boolean – pw mungkin diperlukan atau tidak
    kondisi input nilai dengan 6 karakter string
    Perintah : kondisi input set berisi perintah-perintah yang telah
    didefinisikan

    Coding (Pengkodean)

    Penanda (Coding) merupakan unsur yang penting dalam penelitian kuantitatif dan kualitatif. Coding yang akan dikupas dalam sajian artikel saat yang menyangkut tentang penelitian kuantiataif. Dalam penelitian kuantitatif lebih mengarah untuk menetukan rasio data maka perlu adanya coding untuk memudahkan dalam membedakan antara data yang satu dengan lainnya.

    Cara mengcoding dari data yang dikumpulkan dapat berupa angka, kalimat pendek atau panjang atau hanya “ya” atau “tidak”. Untuk memudahkan analisis tersebut maka diperlukan jawaban-jawaban yang memerlukan kode. Pemberian kode kepada jawaban sangat penting artinya, jika pengolahan data dilakukan dengan komputer, mengodekan data artinya menaruh angka dalam setiap jawaban.

    Adapun cara-cara mengodekan data, yaitu:
    Pemberian kode dapat dilakukan dengan jenis pertanyaan, jawaban atau pertanyaan. Dalam hal ini dapat dibedakan:

    1.1. Jawaban Berupa Angka
    Jawaban responden dapat dalam bentuk angka. Pertanyaan tentang pendapatan perbulan, jawabannya sudah jelas dalam bentuk angka. Misalnya, Rp. 149.500,00. Begitu dalam mengukur berat tongkol jagung, maka jawaban sudah jelas dalam bentuk angka. Untuk jawaban dalam bentuk angka ini, maka untuk kode adalah angka jawaban itu sendiri

    Misalnya:

    JawabanKode
    Luas: 4,5 hektar45

    Jika jawaban dalam bentuk interval angka, maka angka-angka tersebut perlu doberi kode tersendiri, misalnya:
      JawabanKode
      Luas antara 0,5 ha-1,0 ha
      Luas antara 1,1 ha-3,0 ha
      Luas diatas 3,0 ha
     15
     16
     17

    1.2. Jawaban Pertanyaan Tertutup
    Jawaban pertanyaan tertutup adanya jawaban yang sudah disediakan lebih dahulu, dan responden hanya tinggal mengecek saja jawaban-jawaban tersebut sesuai dengan intruksi. Responden tidak mempunyai kebebasan untuk memilih jawaban diluar yang telah diberikan.
    Misalnya:
    Apakah bapak seorang petani?
    - Ya
    - Tidak
      Jawaban Kode
      Ya
      Tidak
    0
    1

    Dapat dilihat diatas tidak ada pilihan bagi responden dalam memilih apakah jawaban sesukanya tetapi hanya ada dua pilihan apakah ya atau tidak dengan menggunakan kode 0 atau 1

    1.3. Jawaban Pertanyaan Semi Terbuka
    Pada jawaban semi terbuka, selain dari jawaban yang ditentukan, masih diperkenankan lagi jawaban lain yang dianggap cocok oleh responden. Jawaban yang berada diluar dari yang telah disediakan, perlu diberi angka tersendiri untuk kode. Misalnya:
    Jenis pupuk yang anda gunakan?
      a. Urea
      b. ZA
      c. TSP
      d. Lain-lain
     Jawaban Kode
    Urea
    ZA
    TSP
    Pupuk kandang
    KCL
    Lain-lain
     1
    2
    3
    4
    5
    6

    1.4. Jawaban Pertanyaan Terbuka
    Pada pertanyaan terbuka, jawaban yang diberikan sifatnya, sesuai dengan apa yang dipikirkan oleh penjawab, tanpa ada suatu batasan tertentu. Untuk membuat kode terhadap jawaban pertanyaan terbuka, jawaban-jawaban tersebut harus dikategorikan atau dikelompokkan lebih dahulu, sehingga tiap kelompok-kelompok berisi jawaban yang telah dibuat, tetapi apabila ada jawaban yang tidak termasuk dalam kelompok-kelompok tersebut maka dapat dimasukkan dalam kelompok “lain-lain”. Hanya perlu diingat bahwa jawaban yang dimasukkan dalam kelompok lain-lain janganlah terlalu banyak. Juga perlu diingat bahwa jawaban pertanyaan dalam tiap kategori tidak boleh tumpang tindih.
    Misalnya:
    Apakah alasan Bapak untuk mengikuti program bimas?
      Kelompok jawaban Kode
     Alasan Ekonomi
    Alasan Keilmuan
    Alasan kebutuhan
    Alasan moral
    Alasan Bimas
    Lain-lain
    1
    2
    3
    4
    5
    6

    1.5. Jawaban Kombinasi
    Jawaban pertanyaan kombinasi hampir serupa dengan jawaban pertanyaan tertutup. Selain dari jawaban terpisah secara jelas, responden masih dapat dijawab kombinasi dari beberapa jwaban, misalnya:
    • Apakah bapak menggunakan pupuk
    • Menggunakan insektisida
    • Menanam dengan jarak tanah
    Jawaban pertanyaan ini dapat terdiri dari beberapa kombinasi. Kombinasi tersebut dapat diberi kode tersendiri. Misalnya:
    Jawaban Kode
    Menggunakn pupuk
    Menggunkan Insektisida
    Menanam dengan jarak tanah
    Dan seterusnya
    1
    2
    3
    4

     

    Konversi Huruf – Binary 

    http://andikurnia.web.id/2010/04/konversi-huruf-binary/

    http://bestmanufacturing.blogspot.com/2009/05/tpm-1-apa-itu-preventive-maintenance.html 

    http://www.ittelkom.ac.id/library/index.php?view=article&catid=11%3Asistem-komunikasi&id=533%3Achannel-coding&option=com_content&Itemid=15 


    Minggu, 09 Januari 2011

    Manajemen Proyek

    Muhammad Ridwan
    08095073
    Manajemen Proyek
    PERT/CPM


    Teknik Analisis Kuantitatif Dalam Manajemen Proyek
     - Gantt chart
    -PERT (program evaluation and review technique)
    - CPM (critical path method)
    Serikat pada tahun 1950 untuk mengatur program misil. Sedangkan terdapat metodologi yang sama pada waktu bersamaan yang dikembangkan oleh sektor swasta yang dinamakan CPM atau Critical Path Method.
     
        Pengertian PERT dan CPM

      PERT
    -
    PERT merupakan singkatan dari Program Evaluation and Review Technique (teknik menilai dan meninjau kembali program), Teknik PERT adalah suatu metode yang bertujuan untuk sebanyak mungkin mengurangi adanya penundaan, maupun gangguan produksi, serta mengkoordinasikan berbagai bagian suatu pekerjaan secara menyeluruh dan mempercepat selesainya proyek. Teknik ini memungkinkan dihasilkannya suatu pekerjaan yang terkendali dan teratur, karena jadwal dan anggaran dari suatu pekerjaan telah ditentukan terlebih dahulu sebelum dilaksanakan.
    -
    PERT adalah suatu alat manajemen proyek yang digunakan untuk melakukan penjadwalan, mengatur dan mengkoordinasi bagian-bagian pekerjaan yang ada didalam suatu proyek
    CPM

    CPM
    adalah suatu metode perencanaan dan pengendalian proyek-proyek yang merupakan sistem yang paling banyak digunakan diantara semua sistem yang memakai prinsip pembentukan jaringan. Dengan CPM, jumlah waktu yang dibutuhkan untuk menyelesaikan berbagai tahap suatu proyek dianggap diketahui dengan pasti, demikian pula hubungan antara sumber yang digunakan dan waktu yang diperlukan untuk menyelesaikan proyek. Jadi CPM merupakan analisa jaringan kerja yang berusaha 
    Pengertian PERT dan CPM seperti yang dikemukakan oleh para ahli dikutipkan seperti berikut :
    Teknik PERT adalah suatu metode yang bertujuan untuk sebanyak mungkin mengurangi adanya penundaan maupun konflik dan gangguan produksi, serta mengkoordinasikan dan mengsingkronisasikan berbagai bagian dari keseluruhan pekerjaan dan mempercepat selesainya proyek. Sedangkan CPM adalah suatu teknik perencanaan dan pengendalian yang dipergunakan dalam proyek berdasarkan pada data biaya dari masa lampau (past cost data)”. 
    Langkah Penyelesaian PERT dan CPM
    - Definisikan proyek dan semua aktifitas atau tugas yang     berhubungan dengan penyelesaian proyek tersebut
    -
    Kembangkan hubungan antar aktivitas tersebut. Tentukan aktivitas mana yang lebih dulu diselesaikan kemudian aktivitas lanjutannya
    -
    Gambarkan jaringan yang menghubungkan semua aktivitas tersebut
    -
    Tentukan estimasi waktu dan/atau biaya untuk setiap aktivitas
    -
    Hitung jalur yang memiliki waktu terlama/terpanjang. Jalur ini biasa disebut dengan jalur kritis
    -
    Gunakan jaringan ini untuk membantu perencanaan, skeduling, menitoring, dan mengontrol proyek tersebut
    1. Perbedaan PERT dan CPM
    Pada prinsipnya yang menyangkut perbedaan PERT dan CPM adalah sebagai berikut :

    a. PERT
    digunakan pada perencanaan dan pengendalian proyek yang belum pernah dikerjakan, sedangkan CPM digunakan untuk menjadwalkan dan mengendalikan aktivitas yang sudah pernah dikerjakan sehingga data, waktu dan biaya setiap unsur kegiatan telah diketahui oleh evaluator.

    b.
    Pada PERT digunakan tiga jenis waktu pengerjaan yaitu yang tercepat, terlama serta terlayak, sedangkan pada CPM hanya memiliki satu jenis informasi waktu pengerjaan yaitu waktu yang paling tepat dan layak untuk menyelesaikan suatu proyek.

    c.
    Pada PERT yang ditekankan tepat waktu, sebab dengan penyingkatan waktu maka biaya proyek turut mengecil, sedangkan pada CPM menekankan tepat biaya.

    d.
    Dalam PERT anak panah menunjukkan tata urutan (hubungan presidentil), sedangkan pada CPM tanda panah adalah kegiatan.
    MANFAAT PERT
    Mengetahui ketergantungan dan keterhubungan tiap pekerjaan dalam suatu proyek.
    Dapat mengetahui implikasi dan waktu jika terjadi keterlambatan suatu pekerjaan.
    Dapat mengetahui kemungkinan untuk mencari jalur alternatif lain yang lebih baik untuk kelancaran proyek.
    Dapat mengetahui kemungkinan percepatan dari salah satu atau beberapa jalur kegiatan.
    Dapat mengetahui batas waktu penyelesaian proyek.
    MANFAAT CPM
    CPM
    merupakan analisa jaringan kerja yang berusaha
    mengoptimalkan biaya total proyek melalui pengurangan waktu penyelesaian total proyek yang bersangkutan
    Penggunaan PERT dan CPM:
    - berapa lama
    - kapan aktivitas dimulai dan berakhir
    - kegiatan kritis
    - aktivitas mana yang dapat dipercepat
    NETWORK DIAGRAM
    Setiap aktivitas direpresentasikan dengan panah
        
    start  ------  finish 
      
    PROSEDUR CPM / PERT
    1.
    Daftar semua kegiatan
    2.
    Gambar network
    3. PERT -
    Expektasi waktu penyelesaian
    Variabel:
    - Optimistic time ( a )
    - Most probable time ( m )
    -
    Pesimistic time ( b )

    Expektasi waktu t = (a + 4m + b)/6
    Standard deviasi s = (b - a)/6
    Varians var = s2
    4. Waktu tercepat dimulainya kegiatan dan waktu tercepat diselesaikannya kegiatan
    ES = earliest time

    EF = earliest finish
    Contoh Soal  
    aktivitas                             aktivitas pendahulu                 waktu hari
                                                                                   optimis     realistis         pesimis
    A                                       = = =                                1             2                   3
    B                                       = = =                                2             3                   4
    C                                          A                                   1             2                   3
    D                                          B                                   2             4                   6
    E                                          C                                   1             4                   7
    F                                          C                                   1             2                   9
    G                                         D,E                                3             4                   11
    H                                         F,G                                1             2                    3