Metode Agile pada Pengembangan Perangkat Lunak

Saat bekerja dalam tim untuk mengerjakan suatu proyek sangatlah penting menentukan Metodologi pengembangan perangkat lunak dan Proses pengembangan perangkat lunak yang akan digunakan. Metodologi pengembangan perangkat lunak sendiri adalah sebuah metodologi yang digunakan untuk membuat struktur, rencana, dan kontrol pengerjaan suatu proyek, contoh : agile, waterfall, fountain, spiral, rapid, prototyping, incremental, build & fix, dan synchronize & stabilize. Sedangkan Proses pengembangan perangkat lunak adalah model-model dan metodologi yang digunakan untuk mengembangkan suatu perangkat lunak, contoh : Proses Iteratif (Continuous Integration) , Extreme Programming.

Secara umum terdapat 6 langkah yang digunakan dalam Metodologi pengembangan perangkat lunak yaitu :  Continue reading “Metode Agile pada Pengembangan Perangkat Lunak”

Elasticsearch

Elasticsearch merupakan sebuah Search Engine.

Elasticsearch adalah sebuah search engine yang berorientasi pada full-text atau dokumen, dapat diakses melalui Restful API dan dapat mengembalikan dokumen secara ter-index dalam bentuk JSON  saat diquery.

Berorientasi Dokumen berarti proses penyimpanannya berupa objek dokumen bukan menyimpan data dalam bentuk baris dan kolom (Relational Database). Di Elasticsearch, misalkan dokumen termasuk “Tipe” dan Tipe tersebut termasuk dalam “index”. Perbandingannya sebagai berikut :

Continue reading “Elasticsearch”

Algoritme Genetika [1]

Algoritme genetika merupakan salah satu algoritme yang dapat digunakan dalam penyelesaian masalah optimasi. Dalam prosesnya algoritme genetika mengadopsi teori evolusi. Algoritme genetika dicetuskan oleh John Holland dan teman-temanya pada tahun 1970-an. Dalam dunia biologi terdapat beberapa istilah yang digunakan dalam algoritme genetika, yaitu reproduksi, rekombinasi, dan mutasi.

Dalam dunia IT, Algoritme Genetika dapat diterapkan/diimplementasikan dalam beberapa kasus optimasi, sebagai contoh Continue reading “Algoritme Genetika [1]”

Algoritme Genetika [2]

3. Seleksi
Seleksi dalam algoritme genetika merupakan proses pemilihan kromosom terbaik dari populasi. Skema seleksi dalam algoritme genetika ada 3 macam :

a. Fitness based selection
Skema seleksi yang didasarkan pada nilai relatif fitness suatu kromosom. Pemilihan kromosom terbaik didasarkan pada nilai probabilitas fitness masing-masing kromosom. Salah satu skema yang termasuk ke dalam Fitness based selection adalah Roulette Wheel. Skema ini menggunakan nilai proporsi kemungkinan suatu kromosom terpilih berdasarkan nilai fitness.

Tahapan dari seleksi Roulette Wheel adalah :
1 Hitung nilai fitness eval(vi) untuk tiap kromosom vi ( i = 1, …, population_size).
Continue reading “Algoritme Genetika [2]”

Algoritme Genetika [3]

4. Rekombinasi / pindah silang / crossover
Rekombinasi merupakan proses pemindahan string bit kromosom dari parent untuk menghasilkan child yang baru dengan struktur gen hasil kombinasi dari parent.

Rekombinasi berdasarkan skema pemilihan titik potong dibedakan menjadi :
a. One-point crossover
b. Two-point crossover
c. N-point crossover

5. Mutasi
Mutasi merupakan proses pengubahan string bit dari sebuah kromosom untuk menghasilkan turunan yang lebih baik dari induk / parent-nya. Biasanya proses pemilihan string bit dilakukan secara random / acak. Misalkan terdapat individu yang memiliki susunan kromosom 101011, setelah dilakukan proses mutasi berubah menjadi 111011. Dari contoh tersebut dapat dlihat bahwa nilai 0 dimutasi menjadi 1, sehingga dalam sekian generasi nantinya akan dihasilkan sebuah individu yang terbaik.

 

Algoritme Genetika [2]