Kamis, 26 Mei 2016

Manager Proyek yang baik

Manajer Proyek (Project Manager)
Manajer Proyek (Project Manager) adalah seseorang yang brtindak sebagai pimpinan dalam suatu proyek. PM (Project Manager) ini sangat berperan penting dalam adanya suatu proyek, karena kegagalan dan keberhasilan dari proyek tersebut di tentukan oleh PM itu sendiri. Untuk menjadi seorang PM yang baik diperlukan beberapa kriteria khusus agar proyek berhasil dengan baik. Kriteria tersebut dilihat dari berapa sisi diantaranya :
  • Karakter dari Kepribadinya
  • Karakteristik dari Kemampuan Terkait dengan Proyek yang Dikelola
  • Karakteristik Kemampuan Terkait dengan Tim yang Dipimpin
  1. Karakter dari Kepribadiannya
  • Harus memahami dan menguasai semua hal baik secara teori maupun teknis terhadap proyek yang sedang di tangani.
  • Memiliki pengalaman dan keahlian yang berkaitan dengan proyek yang sedang dikelola.
  • Sebagai seorang yang mengambil keputusan, maka harus mampu bertindak secara adil dan bertanggung jawab.
  • Memiliki wibawa, mampu beradaptasi dan bergaul dengan bawahan sehingga tidak ada kesenjangan antara atasan dan bawahan.
  1. Karakteristik dari Kemampuan Terkait dengan Proyek yang Dikelola
  • Memiliki komitmen yang tinggi untuk meraih tujuan serta keberhasilan proyek.
  • Mampu menyelesaikan proyek sesuai dengan waktu dan anggaran yang diberikan.
  • Membuat dan melakukan rencana darurat untuk mengantisipasi hal-hal maupun masalah tak terduga.
  • Mampu membuat perencanaan dalam jangka panjang dan jangka pendek.
  • Memiliki kemauan untuk mendefinisikan ulang tujuan, tanggung jawab dan jadwal selama hal tersebut ditujukan untuk mengembalikan arah tujuan dari pelaksanaan proyek jika terjadi jadwal maupun anggaran yang meleset.
  1. Karakteristik Kemampuan Terkait dengan tim yang Dipimpin
  • Mampu bersosialisasi dengan bawahan atau anggota tim.
  • Mampu membangun kedisiplinan secara structural
  • Memiliki kemampuan dan keahlian berkomunikasi serta manjerial.
  • Menghormati para anggota tim kerjanya serta mendapat kepercayaan dan penghormatan dari mereka.
  • Memiliki kepercayaan yang tinggi kepada para profesional terlatih untuk menerima pekerjaan-pekerjaan yang didelegasikan darinya.
  • Berbagi sukses dengan seluruh anggota tim.
  • Mampu menempatkan orang yang tepat di posisi yang sesuai.
  • Memberikan apresiasi yang baik kepada para anggota tim yang bekerja dengan baik.
Kriteria Manager Yang Baik
Ketika datang saatnya untuk menjadi seorang pemimpin, dibutuhkan keahlian khusus untuk mengelola dan mengatur suatu organisasi. Pemimpin harus memberikan yang terbaik kepada organisasinya, tidak peduli akan perbedaan antara setiap anggotanya. Konsep tersebut pun berlaku untuk manajemen proyek. Untuk menjadi manajer proyek yang baik harus memiliki beberapa kriteria yang baik pula. Employment Status Indicator (ESI) International telah menyusun daftar tanggapan dari sumber yang berbeda untuk membuat gambaran suatu kriteria manajer proyek yang baik. Berikut ini adalah 10 kriteria teratas yang disusun oleh ESI.
  1. Menginspirasi dengan Visi Bersama
Semua orang perlu memiliki visi yang sama untuk menyelesaikan suatu proyek. Manajer proyek yang baik membantu semua anggota tim agar mereka merasa seperti memiliki kepentingan yang sama dalam sebuah proyek, dan memberdayakan semua orang untuk berbagi dan mengalami visi kelompok. Warren Bennis, pelopor studi Kepemimpinan, mengatakan tentang jenis pemimpin yang visioner: “Mereka menawarkan kesempatan kepada orang-orang untuk menciptakan visi mereka sendiri, untuk mengeksplorasi apa visi tersebut berarti untuk pekerjaan dan kehidupan mereka, dan untuk membayangkan masa depan mereka sebagai bagian dari organisasi.”
  1. Kominukator yang Baik
Kemampuan untuk berkomunikasi dengan orang-orang di semua tingkatan hampir selalu disebut sebagai keterampilan yang paling penting kedua oleh manajer proyek dan anggota tim. Kepemimpinan proyek panggilan untuk komunikasi yang jelas tentang tujuan, tanggung jawab, kinerja, harapan dan umpan balik. Ada banyak nilai yang ditempatkan pada keterbukaan dan keterusterangan. Pemimpin proyek juga merupakan penghubung terhadap tim untuk organisasi yang lebih baik. Pemimpin harus memiliki kemampuan untuk secara efektif bernegosiasi dan menggunakan persuasi bila diperlukan untuk memastikan keberhasilan tim dan proyek. Melalui komunikasi yang efektif, pimpinan proyek mendukung prestasi individu dan tim dengan menciptakan pedoman yang jelas untuk mencapai hasil dan untuk kemajuan karir anggota tim.
  1. Integritas
Salah satu hal yang paling penting bagi pemimpin proyek adalah tindakan, dan bukan sekedar kata-kata. Kepemimpinan yang baik menuntut komitmen, dan demonstrasi dari etika. Membuat standar perilaku etis bagi diri sendiri dan hidup dengan standar tersebut, serta memberi penghargaan bagi yang memberikan contoh praktek-praktek tersebut, adalah tanggung jawab pimpinan proyek. Kepemimpinan termotivasi oleh kepentingan diri sendiri, bukan untuk melayani kesejahteraan tim.
  1. Antusiasme
Pemimpin negatif dapat menjadi nyata perangkap untuk keberhasilan proyek dan efektivitas keseluruhan tim. Manajer proyek yang baik memiliki keuletan pada langkah mereka dan sikap percaya diri yang menetapkan kecepatan untuk seluruh tim mereka. Memiliki energi yang baik  sangat penting untuk menetapkan contoh positif dan sikap untuk tim. Manajer proyek yang berkomitmen positif dan memiliki tujuan bahkan ketika melakukan kesalahan akan membantu mengilhami orang lain untuk tidak menjadi negatif ketika proyek mengalami keterlambatan atau halangan.
  1. Empati
Empati dan simpati adalah dua hal yang berbeda. Simpati biasanya diproyeksikan, sedangkan empati berarti benar-benar memahami bagaimana orang lain merasakan sesuatu, terutama ketika datang ke hal-hal yang melibatkan kehidupan di luar pekerjaan. Kadang-kadang empati perlu ditunjukkan kepada anggota tim yang sedang berjuang untuk mengatasi masalah karena bisa saja terdapat masalah pribadi yang mungkin dapat mempengaruhi pekerjaan mereka. Dengan demikian, seorang manajer proyek yang kuat akan berempati dengan masalah anggota tim tanpa menunjukkan penyesalan. Memastikan anggota tim dapat tetap produktif pada proyek, tanpa memperburuk masalah pribadi mereka.
  1. Kompetensi
Anggota tim perlu merasa seperti manajer proyek mereka memiliki beberapa tingkat keahlian dalam subyek proyek. Dengan demikian, pemimpin proyek harus memiliki kemampuan untuk memimpin tim mereka dengan keahlian teknis jika suatu saat terjadi masalah teknis yang tidak dapat diatasi oleh tim. Hal ini tidak berarti seorang manajer proyek pada proyek pengembangan perangkat lunak membutuhkan kemampuan untuk membuka Visual Studio dan mulai coding di console, namun itu tidak berarti bahwa manajer proyek memahami implikasi dari tantangan teknis yang berbeda. Pemimpin yang dianggap sebagai kompeten oleh rekan-rekan mereka memiliki kemampuan untuk menginspirasi, mengaktifkan, dan mendorong.
  1. Mendelegasikan Tugas
Kepercayaan adalah bagian terbesar dari manajemen proyek yang efektif, dan berapa banyak manajer proyek percaya tim mereka sering ditunjukkan melalui seberapa besar tanggung jawab mereka bersedia untuk mendelegasikan. Manajer proyek yang baik memahami tingkat pengawasan setiap kebutuhan anggota tim untuk tugas dari masing-masing anggota. Menetapkan tugas yang tepat untuk orang yang tepat dan mempercayai mereka untuk memanfaatkan yang terbaik dari kemampuan mereka adalah kunci dari karakteristik manajer proyek yang baik.
  1. Stay Cool walaupun dalam Under Pressure
Dalam dunia yang sempurna, setiap proyek akan selesai tepat waktu, sesuai anggaran, dan pada lingkupnya. Sayangnya, kita tidak hidup di dunia yang sempurna. Ketika keadaan menjadi sulit, manajer proyek yang baik bisa tetap menjaga sikapnya untuk tenang. Bennis Waran menyatakan: ” Keluar dari ketidakpastian dan kekacauan perubahan, pemimpin bangkit dan mengartikulasikan gambaran baru masa depan yang menarik proyek bersama” Singkatnya, semakin banyak manajer proyek tampak “stres”, semakin banyak tim dan klien akan stres juga. Manajer proyek yang baik akan tetap dingin di bawah tekanan.
  1. Keterampilan Team Building
Sebuah pembangun tim terbaik dapat didefinisikan sebagai orang yang kuat yang memberikan substansi yang memegang tim bersama-sama dalam tujuan yang sama menuju tujuan yang tepat. Agar sebuah tim berkembang dari sekelompok orang asing ke unit kohesif tunggal, pemimpin harus memahami proses dan dinamika yang diperlukan untuk transformasi ini. Dia juga harus tahu gaya kepemimpinan yang sesuai untuk digunakan selama setiap tahap pengembangan tim. Pemimpin juga harus memiliki pemahaman tentang pemain tim yang berbeda gaya dan cara memanfaatkan masing-masing pada waktu yang tepat, untuk masalah yang dihadapi.
  1. Tahu Bagaimana Memecahkan Masalah
Manajer proyek yang baik memecahkan masalah dengan berbagi tanggung jawab dengan para ahli di tim mereka. Mirip dengan item nomor 6 di atas tentang kompetensi, bahkan manajer proyek yang baik tidak akan memiliki solusi untuk setiap masalah yang muncul, hanya saja tidak mungkin. Namun, manajer proyek yang baik akan memahami bagaimana untuk mengatur jalur menuju solusi. Hal ini berarti meningkatkan pengetahuan para anggota tim dan para pemangku kepentingan yang memiliki pengetahuan ahli untuk membantu, dan menetapkan rencana untuk memecahkan masalah yang sulit dengan memanfaatkan pengalaman tim. Sebagian besar karakteristik tersebut di atas mengikat satu sama lain, dan jika seorang manajer proyek yang baik akan menampilkan satu atau dua dari kriteria ini maka kemungkinan mereka dapat bekerja untuk menjadi lebih baik.
Sumber :
http://aromblog.blogspot.co.id/2013/04/kriteria-manager-proyek-yang-baik.html
https://udifq.wordpress.com/kriteria-manajer-proyek-yang-baik/
https://melsaanggita.wordpress.com/2016/04/30/manajer-proyek-project-manager/

Cocomo

Pengertian Cocomo
COCOMO (Constructive Cost Model) merupakan model algoritma estimasi biaya perangkat lunak yang dikembangkan oleh Barry Boehm pada tahun 1981. Model ini menggunakan dasar regresi formula, dengan parameter yang berasal dari data historis dan karakteristik proyek-proyek saat ini.
Pada tahun 1981, Barry Boehm mendesain COCOMO untuk memberikan estimasi jumlah Person-Months untuk mengembangkan suatu produksoftware. Referensi pada model ini dikenal dengan nama COCOMO 81. Pada tahun 1990, muncul suatu model estimasi baru yang disebut dengan COCOMO II. Secara umum referensi COCOMO sebelum 1995 merujuk pada original COCOMO model yaitu COCOMO 81, kemudian setelah itu merujuk pada COCOMO II.
Model estimasi COCOMO telah digunakan oleh ribuan project manager suatu proyek perangkat lunak, dan berdasarkan pengalaman dari ratusan proyek sebelumnya. Tidak seperti model estimasi biaya yang lain, COCOMO adalah model terbuka, sehingga semua detail dipublikasikan, termasuk :
                     Dasar persamaan perkiraan biaya.
                     Setiap asumsi yang dibuat dalam model.
                     Setiap definisi.
                     Biaya yang disertakan dalam perkiraan dinyatakan secara eksplisit
Perhitungan paling fundamental dalam COCOMO model adalah penggunaan Effort Equation (Persamaan Usaha) untuk mengestimasi jumlah dari Person-Months yang dibutuhkan untuk pengembangan proyek. Sebagian besar dari hasil-hasil lain COCOMO, termasuk estimasi untuk Requirement danMaintenance berasal dari persamaan tersebut. 
Jenis-jenis Cocomo
  1. Model COCOMO Dasar (COCOMO I 1981)
Menghitung usaha pengembangan PL (dan biaya) sebagai fungsi dari ukuran program yang diekspresikan dalam baris kode yang diestimasi. Menghitung dari estimasi jumlah FP dan LOC; FP = suatu unit pengukuran untuk keterhubungan dan keterkaitan antar prosedur, fungsi dan lingkungan SW. Dengan menggunakan estimasi parameter persamaan (dibedakan menurut tipe sistem yang berbeda) upaya pengembangan dan pembangunan durasi dihitung berdasarkan perkiraan DSI.
Dengan rincian untuk fase ini diwujudkan dalam persentase. Dalam hubungan ini dibedakan menurut tipe sistem (organik-batch, sebagian bersambung-on-line, embedded-real-time) dan ukuran proyek (kecil, menengah, sedang, besar, sangat besar).
Model COCOMO dapat diaplikasikan dalam tiga tingkatan kelas:
  • Proyek organik (organic mode) Adalah proyek dengan ukuran relatif kecil, dengan anggota tim yang sudah berpengalaman, dan mampu bekerja pada permintaan yang relatif fleksibel.
  • Proyek sedang (semi-detached mode)Merupakan proyek yang memiliki ukuran dan tingkat kerumitan yang sedang, dan tiap anggota tim memiliki tingkat keahlian yang berbeda
  • Proyek terintegrasi (embedded mode)Proyek yang dibangun dengan spesifikasi dan operasi yang ketat
Model COCOMO dasar ditunjukkan dalam persamaan 1, 2, dan 3 berikut ini:
cocomo1
Persamaan COCOMO dasar berbentuk :
          P : jumlah orang yang diperlukan.
Dimana       E adalah usaha yang diaplikasikan dalam person-month,
                   D adalah waktu pengembangan dalam bulan kronologis
                   KLOC adalah jumlah baris penyampaian kode yang diperkirakan untuk proyek tsb.
                   Koefisien ab dan cb  dan eksponen bb dan db ada pada tabel1
sedangkan koefisien ab, bb, cb, dan db diberikan pada Tabel 1 berikut:
Tabel 1. Model COCOMO Dasar
cocomo2
  1. Model COCOMO Intermediate (COCOMO II 1999)
Menghitung usaha pengembangan PL sebagai fungsi ukuran program dan serangkaian “pengendali biaya” yang menyangkut penilaian yang subyektif terhadap produk, perangkat keras personil, dan atribut proyek. Menghitung dari besarnya program dan “cost drivers” (faktor-faktor yang berpengaruh langsung kepada proyek), spt: hardware, personnel, dan atribut-atribut proyek.
Tabel2. Model COCOMO Intermediate
cocomo3
Model COCOMO menengah berbentuk :
E = aiKLOCbi x EAF
Dimana E adalah usaha yang diaplikasikan dalam person-month,
KLOC adalah jumlah baris penyampaian kode yang diperkirakan untuk proyek tsb.
Koefisien ai dan eksponen bi ada pada Tabel2.
  1. Model COCOMO Advanced
Menghubungkan semua karakteristik versi intermediate dengan penilaian terhadap pengaruh pengendali biaya pada setiap langkah (analisis, perancangan, dll) dari proses rekayasa PL.Memperhitungkan semua karakteristik dari “intermediate” di atas dan “cost drivers” dari setiap fase (analisis, design, implementation, etc) dlm SW life cycles;
sumber :
http://yanti91.blogspot.co.id/2013/04/cocomo-dan-jenis-jenisnya.html
http://yhu-dhie.blogspot.co.id/2011/04/definisi-dan-jenis-jenis-cocomo.html
http://ameliacheramu.blogspot.co.id/2014/04/cocomo-dan-jenis-jenisnya.html
https://melsaanggita.wordpress.com/2016/04/30/cocomo/

Open Source

Open source software adalah istilah yang digunakan untuk software yang membuka/membebaskan source codenya untuk dilihat oleh orang lain dan membiarkan orang lain mengetahui cara kerja software tersebut dan sekaligus memperbaiki kelemahan-kelemahan yang ada pada software tersebut. Dan yang menarik dan salah satu keunggulannya adalah bahwa Open source software dapat diperoleh dan digunakan secara gratis tanpa perlu membayar lisensi. Biasanya orang mendapatkan software ini dari internet. Salah satu open source software yang terkenal yaitu Linux.  Keberadaan open source software ini sangat ditunjang oleh internet. Mula-mula Open source software diambil dari internet kemudian digunakan oleh orang dan diperbaiki apabila ada kesalahan. Hasil perbaikan dari open source ini kemudian dipublikasikan kembali melalui internet yang memungkinkan orang lain menggunakan dan memperbaikinya. Dan begitulah seterusnya. Saat ini sangat mudah mendapatkan open source software di internet.
Pengembangan open source software melibatkan banyak orang dari berbagai penjuru dunia yang berinteraksi melalui internet. Maka bermunculanlah berbagai macam software yang dibuat berbasis open source ini yang dipublikasikan melalui internet. Pola open source ini telah melahirkan developer-developer handal dari berbagai penjuru dunia. Dengan pola open source orang dapat membuat dan mengembangkan apa yang disebut dengan free software. Software ini dapat digunakan tanpa perlu membayar lisensi atau hak cipta karena memang dikembangkan dengan pola open source. Jadi, dengan pola open source orang dapat mengembangkan software dan mempublikasikannya dengan bebas melalui internet. Maka tidak heran apabila kita akan banyak menemukan free software ini di internet dan bisa secara bebas mendownloadnya tanpa perlu membayar uang sepeser pun kepada pengembang software tersebut.
Contoh Softwere Open source
Berikut ini merupakan beberapa contoh open source softwere yang populer, diantaranya seperti di bawah:
  • Linux, merupakan software sistem operasi yang gratis dan sangat populer.
  • XAMPP, merupakan paket softwere yang berguna untuk simulasi dan pengembangan web, termasuk juga di dalamnya Apache dan MySQL (database).
  • Mozilla Firefox, merupakan softwere yang berguna untuk menjelajahi halaman web di internet.
  • OpenOffice, merupakan paket softwere perkantoran yang berguna untuk mengolah kata, tabel dan database.
  • osCommerce, merupakan softwere aplikasi web yang digunakan untuk toko online.
  • ClamAV & ClamWin, merupakan softwere antivirus.
  • Audacity, merupakan softwere perekam sekaligus pengolah audio.
  • GIMP, merupakan softwere pengolah foto dan juga gambar digital.
  • VideoLAN, merupakan softwere pemutar file multimedia.
  • Blender, merupakan program untuk pembuatan model 3 (tiga) dimensi, misalnya seperti animasi dan game.
  • Filezilla, merupakan softwere jaringan yang berfungsi untuk transfer file via protokol FTP pada jaringan komputer atau jaringan internet.
  • Mplayer, merupakan ssoftwere pemutar musik yang berbasis open source.
Adapun keuntungan dari penggunaan Open Source antara lain :
  1. Lisensi Gratis, sehingga tidak memerlukan biaya tambahan untuk pembelian lisensi Software. dan kita tidak lagi terikat pada satu vendor Software dan membeli lisensi.
  2. Keberadaan Bug/Error dapat segera terdeteksi dan diperbaiki karena Software tersebut dikembangkan oleh banyak orang ataupun pemakai, karena secara tidak langsung telah dievaluasi oleh banyak pemakai (End-User).
  3. Banyaknya tenaga (SDM) untuk mengerjakan & mengembakan proyek Open Source, karena biasanya proyek Open Source menarik banyak developer. Konsep dalam sebuah proyek Open Source adalah dikembangkan oleh banyak pengembang dan organisasi di seluruh dunia. Melalui komunitas besar dengan banyak konsep-konsep ini Software Open Source tumbuh menjadi standar internasional yang terbuka dan memiliki daya inter-operabilitas yang baik. Dan dalam proyek closed source atau tertutup, pengembangan dilakukan tertutup oleh vendor, sedangkan pada proyek Open Source banyak orang yang berpartisipasi mengembangkan fiturnya dan orang-orang ini bukanlah orang sembarangan melainkan mereka yang ahli dibidangnya. Hal ini memungkinkan peningkatan kualitas fungsional Software Open Source.
  4. Pengguna dapat langsung ikut serta dalam pengembangan Program, karena pengguna memiliki source code.
  5. Software dapat dimodifikasi sesuai dengan kebutuhan dari pengguna tanpa menyalahi EULA.
  6. Cross Platform dan Kompatible, biasanya Software Open Source tersedia di berbagai Sistem Operasi contohnya : XAMPP (Software WebServer & Database Management) tersedia di Windows maupun Linux, NetBeans (Software untuk membuat Software Java & Java Mobile) tersedia di Windows maupun Linux, Eclipse (Software untuk membuat Software Android) tersedia di Windows maupun Linux, Compiere (Software ERP) tersedia di Windows maupun Linux, dan lain-lain.
  7. Legal, dan tidak melanggar undang-undang hak cipta serta aman dari razia penggunaan dan pembajakan Software illegal.
  8. Software Ope nSource bebas dari Malware (Virus/Worm/Trojan) dibanding Software Illegal hasil Crack, Patch ataupun dari Keygen.
  9. Jika Software Open Sourceyang kita gunakan perusahaannya mengalami kebangkrutan, maka tidak menimbulkan kerugian materiil bagi pemakainya, lain halnya pada Software Komersiil, pasti pemakainya harus membeli Software baru.
  10. Terkadang keahlian kita akan terasah dengan memakai Software Open Source.
  11. Dapat menghasilkan produk yang tidak kalah bagus dengan hasil dari Software yang berlisensi. Jika dijual maka keuntungan dari penjualan produk lebih besar.
  12. Sebagian Software Open Source tidak menguras sumber daya pemakaian komputer.
Disamping segudang kelebihan tersebut, juga terselip beberapa kekurangan dari Open Source ini, antara lain :
  1. Memunculkan celah awal ketika sumbe code masih mentah dan pengembangan dasar masih dalam pembangunan.
  2. Masalah yang berhubungan dengan intelektual property. Pada saat ini, beberapa negara menerima Software dan algoritma yang dipatentkan. Hal ini sangat sulit untuk diketahui jika beberapa motede utama untuk menyelesaikan masalah Software di patenkan sehingga beberapa komunitas dapat dianggap bersalah dalam pelanggaran intelektual property.
  3. Kurangnya Sumber Daya Manusia yang dapat menggunakan dan memanfaatkan Open Source. Salah satu keuntungan utama dari gerakan adalah adanya ketersediaan code. Namun ketersediaan ini menjadi sia-sia apabila SDM yang ada tidak dapat menggunakannya, tidak dapat mengerti code tersebut. SDM yang ada ternyata hanya mampu produk saja. Jika demikian, maka tidak ada bedanya produk dan yang proprietary dan tertutup.
  4. Tidak adanya perlindungan terhadap HAKI.
  5. Perkembangan Software tergantug dari sekumpulam manusia itu sendiri.
  6. Tidak ada garansi dari pengembangan, sumber code masih mentah dan pengembangan dasar masih dalam pembangunan.
  7. Kesulitan dalam mengetahui status project : Tidak banyak iklan bagi Open Source Software, biasanya beberapa project secara tidak langsung ditangani oleh perusahaan yang mampu berinvestasi dan melakukan merketing.
  8. Tidak adanya proteksi terhadap Hak atas Kekayaan Intelektual (HaKI)
Kebanyakan orang masih menganggap bahwa code merupakan aset yang harus dijaga kerahasiannya. Hal ini dikaitkan dengan besarnya usaha yang sudah dikeluarkan untuk membuat produk tersebut. Karena sifatnya yang terbuka, dapat di-abuse oleh orang-orang untuk mencuri ide dan karya orang lain.
Sumber :
http://www.organisasi.org/1970/01/penjelasan-pengertian-open-source-software-dan-free-software.html#
http://zaenal-zaeblogs.blogspot.co.id/2013/04/keuntungan-dan-kerugian-menggunakan.html
http://www.pengertianku.net/2015/06/pengertian-open-source-dan-contohnya-lengkap.html
https://melsaanggita.wordpress.com/2016/04/30/open-source-software/