Kode Huffman

Definisi Pohon

  • Pohon didefinisikan sebagai suatu graf tak berarah terhubungkan (connected undirected graph) yang tidak mengandung sirkuit
  • Dua sifat penting yang dapat digunakan untuk menentukan suatu pohon yaitu terhubung dan tidak mengandung sirkuit

Pohon dan Bukan Pohon

Terminologi dalam Pohon

  • Simpul E, F, dan G disebut anak (child) dari simpul D
  • Simpul D disebut orang tua (parent)
  • B dan C disebut sibling atau saudara kandung
  • Daun adalah simpul paling ujung dalam sebuah pohon. Simpul B, E, F, dan G adalah daun.
  • Aras maksimum dari suatu pohon disebut tinggi atau kedalaman pohon tersebut. Pada pohon disamping aras mak = 3

Pohon Biner

  • Pohon berakar yang setiap simpul cabangnya Mempunyai paling banyak n buah anak disebut pohon n-ary.
  • Jika n sama dengan 2 pohon tersebut disebut pohon biner (binary tree).
  • Untuk membuat pohon biner, terdapat aturan dalam penempatan simpulnya.
  • Berikut ini merupakan algoritma penempatan sebuah simpul dalam pohon biner : “Simpul yang berisi informasi yang nilainya lebih besar dari simpul diatasnya akan ditempatkan sebagai cabang kanan dan jika lebih kecil akan ditempatkan di cabang kiri.

 

Kode Huffman

  • Salah satu algoritma yang biasa digunakan dalam kompresi data adalah algoritma pengkodean Huffman
  • Pada Algoritma pengkodean Huffman simbol yang mempunyai probabilitas paling besar diberi kode paling pendek (jumlah bit kode sedikit) dan simbol dengan probabilitas paling kecil akan memperoleh kode paling panjang (jumlah bit kode banyak).
  • Kode tersebut diperoleh dengan cara memyusun sebuah pohon Huffman untuk masing-masing simbol berdasarkan nilai probabilitasnya

Algoritma Pohon Huffman

  • Berdasarkan daftar simbol dan probabilitas, buatlah dua buah node dengan frekuensi paling kecil.
  • Buatlah node parent dari node tersebut dengan bobot parent merupakan jumlah dari probabilitas kedua node anak tersebut.
  • Masukkan node parent tersebut beserta bobotnya ke dalam daftar, dan kemudian kedua node anak beserta probabilitasnya dihapus dari daftar.
  • Salah satu node anak dijadikan jalur (dilihat dari node parent) untuk pengkodean 0 sedangkan lainnya digunakan untuk jalur pengkodean 1.

Contoh

  • Buatlah kode Huffman untuk “SCIENCE”

Solusi

  • Buatllah daftar frekuensi kemunculan simbol-simbol dalam data tersebut.
  • Urutkan berdsarkan frekuensi dari terkecil ke terbesar, jika ada yang frekuensinya sama maka urutan berdasarkan urutan huruf pada kata yang dimaksud

  • Berdasarkan daftar frekuensi tersebut, kita buat daun-daun yang mewakili setiap simbol serta mengasosiasikan daun tersebut dengan frekuensi kemunculan simbol.

  • Dari daun S dan I kita buat simpul baru SI yang akan menjadi orangtua dari sImpul S dan I dan menyisipkannya ke dalam daftar sesuai dengan urutan frekuensinya.

  • Selanjutnya, kita lakukan hal yang sama secara berulang-ulang sehingga terbentuk satu pohon biner Huffman.
  • Dengan menelusuri pohon biner Huffman yang telah dibuat, kita dapat membuat tabel kode Huffman sebagai berikut:

  • Sehingga kode Huffman untuk string “SCIENCE” adalah 1100111110000110. ‘
  • Dengan menggunakan kode ASCII memori yang dipakai adalah sebesar 56 bit diperoleh dari 1 huruf kode ACSII terdiri dari 8 bit dan jumlah huruf SCIENCE terdiri dari 7 bit maka jika pakai kode ACSII sebesar 8 x 7 = 56 bit, sedangkan dengan menggunakan kode Huffman memori yang dipakai adalah sebesar 16 bit.

Latihan Soal:

Buatlah kode Huffman untuk “TELKOMSEL”

 

Untuk lebih jelasnya silahkan download link berikut ini:

 

 


 

Terimakasih atas perhatiannya.

 

Untuk materi sebelumnya tentang Short Path, silahkan Klik Disini.

Untuk materi selanjutnya tentang Soal Formatif UAS, silahkan Klik Disini.

 

 

Short Path

Graf Berbobot

  • Graf berbobot adalah graf yang setiap sisinya diberi sebuah bobot
  • Contoh:

Aplikasi Graf

Lintasan Terpendek (Shortest Path)

  • Graf berbobot (weighted graph)
  • Lintasan terpendek: lintasan yang memiliki total bobot minimum.

Contoh aplikasi:

  • Menentukan jarak terpendek/waktu tempuh tersingkat/ongkos termurah antara dua buah kota
  • Menentukan waktu tersingkat pengiriman pesan (message) antara dua buah terminal pada jaringan komputer.

Lintasan Terpendek

  • Terdapat beberapa jenis persoalan lintasan terpendek, antara lain:
    • Lintasan terpendek antara dua buah simpul tertentu.
    • Lintasan terpendek antara semua pasangan simpul.
    • Lintasan terpendek dari simpul tertentu ke semua simpul yang lain.
    • Lintasan terpendek antara dua buah simpul yang melalui beberapa simpul tertentu.
  • Di dalam kuliah ini kita memilih jenis persoalan 3
  • Diberikan graf berbobot G = (V, E) dan sebuah simpul a.
  • Tentukan lintasan terpendek dari a ke setiap simpul lainnya di G.
  • Asumsi yang kita buat adalah bahwa semua sisi berbobot positif.
  • Untuk menentukan lintasan terpendek dari suatu graf berbobot dapat digunakan
    • Algoritma Djikstra
    • Algoritma Hapus

Algoritma Djikstra

  • Algoritma Djikstra adalah sebuah prosedur iteratif yang mencari lintasan terpendek antara a dan z dalam graf dengan pembobot.
  • Prosesnya dengan cara mencari panjang lintasan terpendek dari sebuah simpul pendahulu dan menambahkan simpul-simpul tersebut ke set simpul S.
  • Algoritma berhenti setelah mencapai simpul z.

Contoh Algoritma Djikstra

  • Tentukan lintasan terpendek dari a ke z

Solusi

  • Mulai dari simpul A (lingkari) sebagai simpul awal
  • Tentukan jalur dengan bobot terpendek yang menghubungkan A dengan simpul yang lain.
  • Jika jalurnya lebih dari satu, pilih jalur dengan bobot terendah

  • Lingkari Simpul C
  • Tentukan jalur dengan bobot terpendek yang menghubungkan C dengan simpul yang lain.
  • Jika jalurnya lebih dari satu, pilih jalur dengan bobot terendah

  • Lingkari Simpul B
  • Tentukan jalur dengan bobot terpendek yang menghubungkan B dengan simpul yang lain.
  • Jika jalurnya lebih dari satu, pilih jalur dengan bobot terendah

  • Lingkari Simpul D
  • Tentukan jalur dengan bobot terpendek yang menghubungkan D dengan simpul yang lain.
  • Jika jalurnya lebih dari satu, pilih jalur dengan bobot terendah

  • Lingkari Simpul E
  • Tentukan jalur dengan bobot terpendek yang menghubungkan E dengan simpul yang lain.
  • Jika jalurnya lebih dari satu, pilih jalur dengan bobot terendah

     

  • Jadi Lintasan terpendek dari A ke Z adalah

  • ACBDEZ
  • Dengan Bobot = 2 + 1 + 5 + 2 + 3 = 13

Algoritma TKD (Hapus)

  • Algoritma hapus merupakan salah satu algoritma atau cara untuk memperoleh jalur terpendek dari sebuah graf berbobot. Langkah-langkah yang dilakukan untuk menggunakan algoritma hapus adalah sebagai berikut.
    • Tentukan simpul awal
    • Hapus, sisi-sisi dengan bobot paling tinggi dengan syarat jika sisi-sisi ini dihapus graf awal tidak terbagi menjadi dua bagian atau lebih (graf tidak terpisah).
    • Proses penghapusan sisi selesai setelah tidak ada lagi sisi yang dapat di hapus
  • Tentukan Lintasan Terpendek dari A ke F dengan Algoritma “Hapus”

  • Jadi Lintasan terpendek dari A ke Z adalah

  • ACBDEZ
  • Dengan Bobot = 2 + 1 + 5 + 2 + 3 = 13

Soal Latihan

  • Tentukan panjang jalur terpendek dari A ke F dengan menggunakan Algoritma Djikstra dan “Hapus”

Untuk lebih jelasnya silahkan download link berikut ini:

 


 

 

Terimakasih atas perhatiannya.

 

Untuk materi sebelumnya tentang Pewarnaan Graf, silahkan Klik Disini.

Untuk materi selanjutnya tentang Kode Huffman, silahkan Klik Disini.

 

 

Pewarnaan Graf

Sejarah Graf

  • Masalah jembatan Konigsberg (tahun 1736)
  • Bisakah melalui setiap jembatan tepat sekali dan kembali lagi ke tempat semula?

  • Graf yang merepresentasikan jembatan Konigsberg:
  • Simpul (vertex) à menyatakan daratan
  • Busur (edge)    à menyatakan jembatan

 

  • Euler mengungkapkan bahwa tidak mungkin seseorang berjalan melewati tepat satu kali masing-masing jembatan dan kembali lagi ke tempat semula.
  • Hal ini disebabkan pada graf model jembatan Königsberg itu tidak semua simpul berderajat genap

Definisi Graf

  • Graf G didefinisikan sebagai pasangan himpunan (V,E), ditulis dengan notasi G = (V, E), yang dalam hal ini:
  • V = himpunan simpul-simpul (vertices)

= { v1 , v2 , … , vn }

  • E = himpunan busur/sisi (edges) yang menghubungkan sepasang simpul

= {e1 , e2 , … , en }

Contoh


G1 adalah graf dengan

V = { 1, 2, 3, 4 }    

E = { (1, 2), (1, 3), (2,3), (2, 4), (3, 4) }

G2 adalah graf dengan

V = { 1, 2, 3, 4 }

E = { (1, 2), (2, 3), (1, 3), (1, 3), (2, 4),

(3, 4), (3, 4) }


= { e1, e2, e3, e4, e5, e6, e7}

Pada G2, sisi e3 = (1, 3) dan sisi e4 = (1, 3) dinamakan sisi-ganda (multiple edges atau paralel edges) karena kedua sisi ini menghubungi dua buah simpul yang sama, yaitu simpul 1 dan simpul 3.

Jenis-Jenis Graf

  1. Graf sederhana (simple graph)

Graf yang tidak mengandung gelang maupun sisi-ganda

  1. Graf tak-sederhana (unsimple-graph).

Graf yang mengandung sisi ganda atau gelang dinamakan graf tak-sederhana (unsimple graph)

  1. Graf tak-berarah (undirected graph)

    Graf yang sisinya tidak mempunyai orientasi arah disebut graf tak-berarah.

  2. Graf berarah (directed graph atau digraph)

    Graf yang setiap sisinya diberikan orientasi arah dan tidak memiliki sisi ganda.

 

Untuk lebih jelasnya silahkan download link berikut ini:

 


 

Terimakasih atas perhatiannya.

 

Untuk materi sebelumnya tentang Kriptografi, silahkan Klik Disini.

Untuk materi selanjutnya tentang Short Path, silahkan Klik Disini.

 

 

 

 

 

Kriptografi

Sejarah Kriptografi

Kripto dengan Scytale

  • Kriptografi: ilmu atau seni untuk menjaga kerahasiaan pesan dengan cara menyamarkannya menjadi bentuk yang tidak dapat dimengerti.
  • Beberapa contoh dalam kehidupan yang menggunakan kriptografi
    • ATM
    • Email
    • dll
  • Kriptografi berasal dari bahasa Yunani kriptos (“hidden”) dan logos (“written”), adalah ilmu yang mempelajari bagaimana “menyembunyikan” pesan
  • Kriptografi digunakan oleh Sparta untuk keperluan militer
  • Sparta menggunakan alat yang disebut Scytale untuk menyembunyikan pesan

  • Melilitkan pita pesan itu pada silinder sehingga menutupi permukaan silinder dan tidak saling tindih
  • Misalnya pesan “KILL KING TOMORROW MIDNIGHT”
  • Tulis huruf per huruf ke pita itu setelah dililitkan ke silinder
  • Melilitkan pita pesan itu pada silinder sehingga menutupi permukaan silinder dan tidak saling tindih
  • Misalnya pesan “KILL KING TOMORROW MIDNIGHT”
  • Tulis huruf per huruf ke pita itu setelah dililitkan ke silinder

Kripto dengan Scytale

  • Jika pita pesan dibentangkan akan terbaca sebagai berikut
  • “KTMIOILMDLONKRIIRGGWT “

Kripto dengan Scytale

  • Melilitkan pita pesan itu pada silinder sehingga menutupi permukaan silinder dan tidak saling tindih
  • Misalnya pesan “KILL KING TOMORROW MIDNIGHT”
  • Tulis huruf per huruf ke pita itu setelah dililitkan ke silinder

Terminologi Dasar Kriptografi

  • Plainteks : pesan yang dirahasiakan.
  • Chiperteks : pesan hasil penyandian.
  • Enkripsi : proses penyandian dari plainteks ke chiperteks.
  • Dekripsi : proses pembalikan dari chiperteks ke plainteks
  • Algoritma kriptografi : fungsi matematika yang digunakan untuk enkripsi dan dekripsi.

Algoritma Kriptografi Klasik

  • Algoritma kriptografi klasik berbasis karakter
  • Menggunakan pena dan kertas saja, belum ada komputer
  • Termasuk ke dalam kriptografi kunci-simetri
  • Tiga alasan mempelajari algoritma klasik:
    • Memahami konsep dasar kriptografi.
    • Dasar algoritma kriptografi modern.
    • Memahami kelemahan sistem cipher

Cipher Substitusi (Substitution Ciphers)

a. Caesar Cipher

  • Tiap huruf alfabet digeser 3 huruf ke kanan
  • pi
    : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
  • ci : D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
  • Contoh:
  • Plainteks:     AWASI ASTERIX DAN TEMANNYA OBELIX
  • Cipherteks: DZDVL DVWHULA GDQ WHPDQQBA REHOLA

. Vigènere Cipher

  • Termasuk ke dalam cipher abjad-majemuk (polyalpabetic substitution cipher ).
  • Vigènere Cipher menggunakan Bujursangkar Vigènere untuk melakukan enkripsi.
  • Setiap baris di dalam bujursangkar menyatakan huruf-huruf cipherteks yang diperoleh dengan Caesar Cipher (A = 0, B = 1, C = 2, …., Z = 25)

Algoritma Kriptografi Klasik

Contoh:

  • Buatlah sandi (enkripsi) dari kata POLTEK dengan Kunci HRO menggunakan Vigènere Cipher!

Solusi:

  • Proses berikutnya, kita ubah kunci nya jadi index hurufnya, yang nantinya akan kita tambahkan ke index plaintextnya (A=0, Z=25)

  • Jadi, kata “enkripsi” dari POLTEK dengan kunci HRO adalah WFZAVY

Hasilnya seperti ini:

  • Untuk mengecek bawa hasil enkripsinya adalah benar maka lakukan proses Deskripsinya, yaitu

Berikut jawabannya:

Latihan Soal:

  1. Buatlah sandi (enkripsi) dengan dari kata berikut dengan sandi yang telah di tentukan dengan menggunakan Vigènere Cipher!
  • MATEMATIKA dengan Kunci DISKRIT
  • GREEN CAMPUS denga Kunci POLTEK
  • POLITEKNIK TELKOM dengan Kunci AKU                                                                    Pecahkanlah kata sandi berikut ini dengan menggunakan kunci POLTEK:
  • ECWMIUISWDSW
  • VWGBRQPBOVEBXBR
  • HOMTVNJZFWSXV
  • IVPPSBAR
  • ECWMIUISWDSWVWGBRQPBOVEBXBRHOMTVNJZFWSXV

Untuk lebih jelasnya silahkan download link berikut ini:

Terimakasih atas perhatiannya.

Untuk materi sebelumnya tentang Algoritma Euclidean, silahkan Klik Disini.

Untuk materi selanjutnya tentang pewarnaan Graf, silahkan Klik Disini.

 

Algoritma Eucledian

  • Tujuan: algoritma untuk mencari PBB dari dua buah bilangan bulat.
  • Penemu: Euclides, seorang matematikawan Yunani yang menuliskan algoritmanya tersebut dalam buku, Element.

Kombinasi Lanjar

  • PBB(a,b) dapat dinyatakan sebagai kombinasi lanjar (linear combination) a dan b dengan koefisien-koefisennya.
  • Contoh 6: PBB(80, 12) = 4 ,

4 = (-1) × 80 + 7 × 12.

Teorema 3. Misalkan a dan b bilangan bulat positif, maka terdapat bilangan bulat m dan n sedemikian sehingga PBB(a, b) = ma + nb.

Contoh 7: Nyatakan PBB(45, 21) sebagai kombinasi lanjar dari 45 dan 21.

Solusi:

        45 = 2 (21) + 3

        21 = 7 (3) + 0

    Sisa pembagian terakhir sebelum 0 adalah 3, maka PBB(45, 21) = 3

    Substitusi dengan persamaan–persamaan di atas menghasilkan:

        3 = 45 – 2 (21)

    yang merupakan kombinasi lanjar dari 45 dan 21

Contoh 8: Nyatakan PBB (312, 70) sebagai kombinasi lanjar 312 dan 70.

Solusi: Terapkan algoritma Euclidean untuk memperoleh PBB(312, 70):

312 = 4 × 70 + 32        (i)

70 = 2 × 32 + 6        (ii)

32 = 5 × 6 + 2        (iii)

6 = 3 × 2 + 0        (iv)

Sisa pembagian terakhir sebelum 0 adalah 2, maka PBB(312, 70) = 2

Susun pembagian nomor (iii) dan (ii) masing-masing menjadi

(iii) 32 = 5.6 + 2

2 = 32 – 5 × 6    (v)

(ii) 70 = 2 . 32 + 6

6 = 70 – 2 × 32 (vi)

Sulihkan (vi) ke dalam (v) menjadi

2 = 32 – 5×(70 – 2×32)

2 = 1×32 – 5×70 + 10×32

2 = 11 × 32 – 5 × 70     (vii)

Susun pembagian nomor (i) menjadi

(i) 312 = 4 × 70 + 32

32 = 312 – 4 × 70    (viii)

Sulihkan (viii) ke dalam (vii) menjadi

2 = 11 × 32 – 5 × 70

2 = 11 × (312 – 4 × 70) – 5 × 70

2 = 11 . 312 – 49 × 70

Jadi, PBB(312, 70) = 2 = 11 × 312 – 49 × 70

Sehingga diperoleh P(a,b) = ma + n b

dimana m = 11, n = – 49 à Kombinasi Lanjar

PBB(312, 70) = 11 × 312 – 49 × 70

Contoh 9: Nyatakan PBB (128, 13) sebagai kombinasi lanjar 128 dan 13.

Solusi: Terapkan algoritma Euclidean untuk memperoleh PBB (128, 13):

128 = 9 . 13 + 11 (i)

13 = 1 . 11 + 2 (ii)

11 = 5 . 2 + 1      (iii)

2 = 2 . 1 + 0 (iv)

PBB(128, 13) = 1

Susun pembagian nomor (iii) dan (ii) masing-masing menjadi

(iii) 11 = 5 . 2 + 1

1 = 11 – 5 . 2    (v)

(ii) 13 = 1 . 11 + 2

2 = 13 – 1 . 11 (vi)

Sulihkan (vi) ke dalam (v) menjadi

1 = 11 – 5 . 2

1 = 11 – 5 (13 – 1 . 11)

1 = 1 . 11 – 5 . 13 + 5 . 11

1 = 6 . 11 – 5 . 13 (vii)

Susun pembagian nomor (i) menjadi

(i) 128 = 9 . 13 + 11

11 = 128 – 9 . 13     (viii)

Sulihkan (viii) ke dalam (vii) menjadi

(vii) 1 = 6 . 11 – 5 . 13

1 = 6 . (128 – 9 .13) – 5 . 13

1 = 6 . 128 – 54 . 13 – 5 . 13

1 = 6 . 128 – 59 . 13

Jadi, PBB (128, 13) = 1 = 6 . 128 – 59 . 13

Sehingga diperoleh P(a,b) = ma + n b

dimana m = 6, n = – 59 à Kombinasi Lanjar

PBB (128, 13) = 6 . 128 – 59 . 13

TUGAS:

Nyatakan PBB (80, 12) sebagai kombinasi lanjar 80 dan 12.

Solusi: Terapkan algoritma Euclidean untuk memperoleh PBB(80, 12):

Untuk lebih jelasnya silahkan download link berikut ini:

Terimakasih atas perhatiannya.

 

Untuk materi sebelumnya tentang Kombinatorial, silahkan Klik Disini.

Untuk materi selanjutnya tentang Kriptografi, silahkan Klik Disini.

 

 

Teorema Euclidean

Bilangan Bulat

  • Bilangan bulat adalah bilangan yang tidak mempunyai pecahan desimal, misalnya 8, 21, 8765, -34, 0
  • Berlawanan dengan bilangan bulat adalah bilangan riil yang mempunyai titik desimal, seperti 8.0, 34.25, 0.02.

Sifat Pembagian pada Bilangan Bulat

  • Misalkan a dan b bilangan bulat, a
    ¹ 0.

    a habis membagi b (a divides b) jika terdapat bilangan bulat c sedemikian sehingga b = ac.

  • Notasi: a | b jika ba = c, c
    Î Z dan a
    ¹ 0.
  • Contoh 1: 4 | 12 karena 124 = 3 (bilangan bulat) atau 12 = 4 ´ 3. Tetapi 4 | 13 karena 134 = 3.25 (bukan bilangan bulat).

Teorema Euclidean

    Teorema 1 (Teorema Euclidean). Misalkan m dan n bilangan bulat, n > 0. Jika m dibagi dengan n maka terdapat bilangan bulat unik q (quotient) dan r (remainder), sedemikian sehingga

m = nq + r         (1)

    dengan 0 £
r < n.

Contoh 2.

(i) 1987/97 = 20, sisa 47:

        1987 = 97 × 20 + 47

(ii) –22/3 = –8, sisa 2:

     –22 = 3(–8) + 2

    tetapi –22 = 3(–7) – 1 salah

    karena r = –1 (syarat 0 £
r < n)

Pembagi Bersama Terbesar (PBB)

Misalkan a dan b bilangan bulat tidak nol.

Pembagi bersama terbesar (PBB – greatest common divisor atau gcd) dari a dan b adalah bilangan bulat terbesar d sedemikian hingga d | a dan d | b.

Dalam hal ini kita nyatakan bahwa PBB(a, b) = d.

Contoh 3.

     Faktor pembagi 45: 1, 3, 5, 9, 15, 45;

Faktor pembagi 36: 1, 2, 3, 4, 6, 9, 12, 18, 36;

     Faktor pembagi bersama 45 dan 36: 1, 3, 9


à PBB(45, 36) = 9.

Teorema 2. Misalkan m dan n bilangan bulat, dengan syarat n > 0 sedemikian sehingga

m = nq + r    , 0 £
r < n

maka PBB(m, n) = PBB(n, r)

  • Contoh 4: m = 60, n = 18,

            60 = 18 × 3 + 6

maka PBB(60, 18) = PBB(18, 6) = 6

Untuk lebih jelasnya silahkan download link berikut ini:


Terimakasih atas perhatiannya.

Untuk materi sebelumnya tentang Kombinatorial, silahkan Klik Disini.

Untuk materi selanjutnya tentang Algoritma Euclidean, silahkan Klik Disini.


Manajemen Resiko

Resiko

  • Berhubungan dengan kejadian di masa yang akan datang.
  • Melibatkan perubahan seperti perubahan pikiran, pendapat, aksi atau tempat.
  • Melibatkan pilihan yang tak pasti.

Hal-hal Yang Berhubungan Dengan Resiko

  • Resiko apa yang dapat menyebabkan proyek serba salah?
  • Bagaimana perubahan pada persyaratan pelanggan? Yang berhubungan dengan teknologi pengembangan, computer target dll.
  • Masalah pilihan metode, dan piranti yang dipakai , penekanan pada kualitas yang memadai.
  • RResiko sebaiknya kita usahakan untuk diminimalisir.

Strategi Resiko Reaktif dan Proaktif

  • Mayoritas tim software bersandar pada strategi reaktif.
  • Strategi yang benar untuk manajemen Resiko adalah : Strategi PROAKTIF.
  • Strategi Proaktif dimulai sebelum kerja teknis dimulai.
  • Untuk menghindari Resiko à membuat rencana

Resiko Software

  • Ketidak pastian (mungkin/tidak mungkin terjadi Resiko)
  • Rugi/kerugian (kerugian yang dialami bila terjadi Resiko)

Kategori Resiko

  • Resiko Proyek
  • Resiko Bisnis
  • Resiko Teknis

Resiko Proyek

  • Mengancam rencana proyek
  • Ada kemungkinan jadwal proyek menjadi tidak tepat waktu dan biaya proyek menjadi bertambah.
  • Mengidentifikasikan mengenai hal-hal pembiayaan, jadwal. Personil (staffing dan organisasi), sumber-sumber daya, pelanggan dan masalah persyaratan dan pengaruh terhadap proyek.
  • Kompleksitas dan ukuran proyek menjadi faktor Resiko proyek

Resiko Bisnis

  • Mengancam software yang akan dibangun.
  • Membahayakan proyek atau produk.
  • Ada 5 Resiko bisnis yang utama
    • Resiko pasar
    • Resiko strategi
    • Resiko pemasaran
    • Resiko manajemen
    • Resiko biaya

Resiko Teknis

  • Mengancam kualitas dan ketepatan waktu software yang dihasilkan.
  • Mengidentifikasikan desain, implementasi, interfacing, verifikasi dan masalah pemeliharaan.
  • Faktor Resiko teknis adalah ambiguitas, spesifikasi, ketidak pastian teknik, keusangan teknik, dan teknologi.

Identifikasi Resiko

  • Idenfitikasi Resiko adalah usaha sistematis untuk menentukan ancaman terhadap rencana proyek (perkiraan jadwal, pemuatan sumber daya dll).
  • Tom Gilb menyatakan bahwa : “Bila anda tikad aktif menyerang Resiko, maka mereka akan aktif menyerang anda.”
  • Metode untuk mengidentifikasi Resiko adalah dengan membuat checklist item Resiko.

Item-item Resiko berdasarkan:

  1. Ukuran produk

    Resiko sehubungan dengan seluruh ukuran software yang akan dibangun/dimodifikasi

2. Pengaruh bisnis

    Resiko sehubungan dengan batasan yang dibebankan oleh manajemen atau pasar

3. Karakteristik pelanggan

    Resiko sehubungan dengan kepintaran pelanggan dan kemampuan pengembang untuk berkomunikasi dengan pelanggan dengan cara yang tepat.

4. Definisi proses

Resiko sehubungan dengan tingkat dimana proses software telah didefinisikan dan diikuti oleh organisasi pengembangan.

5. Lingkungan pengembangan

    Resiko sehubungan dengan keberadaan dan kualitas piranti yang akan digunakan untuk membangun produk sistem informasi.

6. Teknologi yang dibangun

    Resiko sehubungan dengan kompleksitas sistem yang akan dibangun dan “kebaruan” teknologi yang dikemas oleh sistem.

7. Ukuran dan pengalaman staf.

    Resiko sehubungan dengan keseluruhan teknik dan pengalaman proyek dari orang–orang yang akan melakukan tugas tersebut.

Komponen Resiko

  • Resiko kinerja
  • Resiko biaya
  • Resiko dukungan
  • Resiko jadwal

Strategi

Strategi yang efektif untuk menangani Resiko adalah :

  • menghindari Resiko
  • monitoring Resiko
  • manajemen Resiko dan perencanaan kemungkinan.

Resiko Keselamatan dan Bahaya

  • Resiko tidak dibatasi pada proyek itu sendiri. Resiko dapat terjadi setelah perangkat lunak dikembangkan dengan sukses dan dikirim ke pelanggan.
  • Resiko secara khusus berhubungan dengan konsekuensi kegagalan perangkat lunak di lapangan.
  • Keselamatan perangkat lunak dan analisis bahaya adalah aktifitas jaminan kualitas perangkat lunak yang berfokus pada identifikasi dan perkiraan bahaya potensial yang dapat mempengaruhi perangkat lunak secara negatif, dan menyebabkan keseluruhan sistem menjadi gagal.

RMMM Plan

Langkah manajemen dapat diatur ke dalam Risk Mitigating Monitoring, and Management Plan (RMMM Plan). RMMM plan mendokumentasi semua kegiatan yang dilakukan sebagai bagian dari analisis Resiko dan digunakan oleh manajer proyek sebagai bagian dari keseluruhan Rencana Proyek.

Untuk penjelasan lebih lanjut silahkan download file berikut ini:

Untuk materi selanjutnya tentang Penjadwalan Proyek SI dan Network Diagram, silahkan klik Disini.

Untuk materi sebelumnya tentang Manajemen Biaya, silahkan klik Disini

Manajemen Biaya

Sebuah Proyek memerlukan anggaran untuk menentukan berapa harga uang yang dibutuhkan, yang akan dialokasikan sampai selesainya proyek tersebut sesuai dengan rencana.

Rencana Kebutuhan Proyek

Project Manager harus mampu mengidentifikasi kebutuhan sumber daya dan kapan dibutuhkan.

Sumber daya terdiri dari:

  • Tenaga kerja
  • Materials
  • Peralatan

Input untuk Perencanaan Sumber Daya

  • Work breakdown structure, digunakan sebagai dasar input perencanaan.
  • Historical information, mengambil dari proyek yang pernah dikerjakan.
  • Scope statement, menentukan cakupan pekerjaan
  • Resource pool description, masing‐masing tahap memiliki kebutuhan yang spesifik.
  • Organizational policies, agar perencanaan sumber daya tidak bertentangan dengan aturan perusahaan
  • Activity duration estimates.

Komponen Biaya Proyek

Metodologi adalah suatu cara yang disarankan untuk melakukan suatu hal

  • Tenaga Kerja
    • Karyawan
    • Konsultan
    • Outsourcing
  • Asumsi Perancangan :
    • User Jumlah yang terpengaruh hasil proyek
    • Function Point
    • Standart
    • Tools/Software/Hardware yang digunakan
  1. Politik

Penyebab Estimasi Yang Buruk

  • Orang yang kurang pengalaman
  • Perkiraan teknis yang buruk
  • Perubahan-perubahan pada proyek
  • Faktor-faktor psikologi
  • Penawaran yang rendah
  • Politik

Pendekatan Tradisional untuk Estimasi Biaya

  • Bottom-up
    • Fokusnya mendata semua biaya-biaya yang berhubungan dengan proyek.
    • Total project cost merupakan Penjumlahan dari biaya semua elemen.
    • Caranya menentukan biaya berdasarkan WBS (Work Breakdown Structure).
    • Sebelum menentukan biaya terlebih dahulu menentukan WBS (Work Breakdown Structure).
  • Top-down (Parametric Cost Estimating)
    • Fokusnya adalah memformulasi estimasi biaya berdasarkan relasi parameter-parameter yang digunakan.

Bottom-up cost estimates

Proses membuat detail estimasi untuk masing-masing komponen kerja (WBS) berupa “labor & Material” yang akan dimasukkan pada perhitungan akuntansi sesuai dengan beban biaya.

Contoh Bottom-up

Parametric cost estimating (top-down)

  • Menentukan biaya-biaya project berdasarkan parameter-parameter yang ada.
  • Dalam matematika persamaan sebuah garis lurus adalah Y = mX + b
  • Dimana m dan b adalah parameter
  • Y dan X adalah variabel.
  • Parameter menjelaskan struktur relasi dari setiap variabel.
  • Dengan parametric cost estimating dapat ditentukan parameter-parameter yang memberikan pandangan yang jelas tentang suatu biaya dalam sebuah proyek

    Contoh Parametric Cost Estimates

  • Professional(5 person @$20/hr)            $10,000
  • Technical support(2 /hour @$15,00)         $30,000
  • Total Direct Wages                  $40,000
  • Fringe benefits + overhead             $42,000
  • Total = Fringe benefits + overhead + total direct wages $ 82,400

    Siklus Hidup Estimasi Biaya :

  • Instalasi
  • Training
  • Reparasi
  • Preventive maintenance
  • Backup system/disaster and recovery
  • Salaries and materials

Untuk penjelasan lebih lanjut silahkan download file berikut ini:

Untuk materi sebelumnya tentang Gantt Chart silahkan klik Disini.

Untuk materi selanjutnya tentang Manajemen Resiko, silahkan klik Disini

GANTT Chart

GANTT Chart

Tujuan

  • Memahami pembuatan GANTT Chart.
  • Memahami langkah-langkah pembuatan GANTT Chart.
  • Memahami alat bantu GANTT Chart .

GANTT Chart

  • Merupakan bagan/diagram batang
  • Digunakan untuk mengislustrasikan tugas-tugas proyek terhadap kalender.
  • Dikemukakan pertama kali oleh Henry L. GANTT pada tahun 1917. Seorang Ir di departemen pertahanan Amerika Serikat di Aberdeen Maryland
  • Merupakan peralatan penjadwalan proyek dan evaluasi perkembangan yang paling umum digunakan.

GANTT Chart

  • Bagan GANTT berguna untuk melihat saat mulai dan saat berakhirnya tugas-tugas dan subtugas proyek secara mudah
  • Bagan GANTT lebih efektif untuk mengkomunikasikan jadwal
  • Bagan GANTT berasal dari struktur WBS anda
  • Outline WBS anda dapat digambarkan dengan GANTT Chart
  • GANTT Chart menggambarkan masing-masing tugas secara kronologis
  • Bagan GANTT dengan Balok-balok
  • Bagan GANTT dengan segi tiga –segi tiga
  • Software yang membantu pembuatan GANTT Chart salah satunya adalah Microsoft Project.

Keterangan GANTT Chart

  • Tiap batang mewakili tugas proyek yang diberi nama. Tugas-tugas didaftar secara vertikal pada kolom kiri. Garis horizontal adalah garis waktu kalender.
  • Bagan GANTT menunjukkan dengan jelas tugas-tugas yang overlap, yaitu tugas-tugas yang dapat dikerjakan dalam waktu yang sama.
  • Bagan-bagan tersebut dapat diberi warna untuk mengindikasikan dengan jelas persentase penyelesaian dan perkembangan proyek.

GANTT Chart dengan Microsoft Project

Keterangan Gambar :

  • Batang warna hitam
    • tugas-tugas ringkasan yang menggambarkan fase-fase proyek yang kemudian dipecah-pecah ke dalam tugas-tugas lain.
  • Batang warna merah
    • tugas-tugas yang telah ditentukan sebagai “kritis” pada jadwal, artinya perluasan apapun pada durasi tugas-tugas tersebut akan menunda tugas-tugas lain dan proyek secara keseluruhan.
  • Batang warna biru
    • tugas-tugas yang tidak kritis pada jadwal, artinya mereka memiliki banyak wkatu selama penundaan tidak mempengaruhi tugas-tugas lain dan proyek secara keseluruhan.
  • Panah merah
    • prasyarat antar dua tugas kritis. (biru dua tugas non kritis).
  • Berlian
    • milestone (titik tolak) – kejadian yang tidak memiliki durasi. Ia menunjukkan akhir tugas signifikan atau produk jadi.

Untuk penjelasan lebih lanjut silahkan download file berikut ini:

Untuk materi sebelumnya tentang Gantt Chart silahkan klik Disini.

Untuk materi selanjutnya tentang Manajemen Biaya, silahkan klik Disini

Penjadwalan Proyek SI dan Network Diagram

Tujuan

  • Sebagai pengenal atau identitas peristiwa yang bersangkutan untuk membedakan suatu peristiwa dengan peristiwa lainnya
  • Sebagai pengenal kegiatan atau dummy atau penghubung peristiwa
  • Dipakai sebagai urut urutan proses perhitungan saat paling awal (SPA) dan perhitungan saat paling lambat
  • Untuk mengetahui saat awal dan saat akhir semua kegiatan yang ada dalam sebuah proyek dan untuk mengetahui saat awal dan saat akhir

Syarat nomor peristiwa dalam sebuah network diagram

  • Nomor peristiwa harus berupa angka atau huruf
  • Nomor peristiwa awal sebuah kegiatan atau sebuah dummy harus lebih keil daripada nomor peristiwa akhir
  • Nomor peristiwa awal sebuah network diagram diberi nomor 1

Prosedur pemberian nomor peristiwa

  • Nomor awal network diagram diberi nomor 1
  • Bila sebuah peristiwa dianggap sebagai peristiwa akhir dari sebuah atau beberapa kegiatan dan dummy

Penggambaran network diagram

  • Inventarisasikan seluruh kegiatan
  • Buat daftar semua kegiatan
  • Gambarkan satu posisi awal dengan nomor 1
  • Gambarkan kegiatan kegiatan awal
  • Untuk setiap kegiatan yang telah digambarkan, gambarkan semua seccessornya.
  • Semua kegiatan akhir yaitu kegiatan yang bukan predecessor menuju pada satu posisi akhir
  1. Latihan soal :Tentukan SPA & SPL

  2. Latihan soal :Tentukan SPA & SPL

    PERISTIWA, KEGIATAN, LINTASAN KRITIS

    Peristiwa Kritis

    Peristiwa kritis adalah peristiwa yang tidak mempunyai tenggang waktu atau saat paling awal (SPA) sama dengan sat paling akhir (SPL ) nya atau SPL – SPA =0

    Kegiatan Kritis

    Kegiatan kritis adalah kegiatan yang sangat sensitif terhadap keterlambatan, sehingga bila sebuah kegiatan kritis terlambat satu hari saja maka umur proyek akan mengalami keterlambatan selama satu hari

    Suatu kegiatan dikatakan sebagai kegiatan

    kritis bila :

  • Kegiatan tersebut terletak diantara dua peristiwa kritis
  • Namun antara dua peristiwa kritis belum tentu terdapat kegiatan kritis

    Antara dua peristiwa kritis terdapat kegiatan

    kritis bila

    SPAi + L = SPAj atau SPAi + L = SPLj

    Lintasan Kritis

  • Lintasan kritis adalah lintasan yang terdiri dari kegiatan kritis, peristiwa kritis dan dummy (jika ada)
  • Lintasan kritis ini dimulai dari peristiwa awal network diagram sampai dengan akhir network diagram berbentuk lintasan.
  • Tujuan mengetahui lintasan kritis adalah untuk mengetahui pengaruh keterlambatan pelaksanaan proyek sehingga setiap saat dapat ditentukan tingkat prioritas kebijaksanaan proyek .

    Berdasarkan prosedur dan rumus untuk

    menghitung umur proyek dan lintasan kritis,

    maka dapat disimpulkan bahwa :

  • Umur lintasan kritis sama dengan umur proyek

    Lintasan kritis adalah lintasan yang paling lama umur pelaksanaannya dari semua lintasan yang ada.

Untuk penjelasan lebih lanjut silahkan download file berikut ini:

Untuk materi selanjutnya tentang Gantt Chart, silahkan klik Disini.

Untuk materi sebelumnya tentang PERT, CPM, silahkan klik Disini