Senin, 30 Oktober 2017
Penjelasan Program Verilog
Encoder
// Design Name : encoder_using_if
// File Name : encoder_using_if.v
// Function : Encoder using If
// Coder : Deepak Kumar Tala
=> Dia berfungsi sebagai menjadi hanya sebuah kolom komentar pada program encoder_using_if.
module encoder_using_if(
binary_out , // 4 bit binary output
encoder_in , // 16-bit input
enable // Enable for the encoder
);
=> membuat module dengan nama encoder_using_if, dan didalamnya terdapat variable binary_out 4 bit sebagai output, encoder_in 16 bit sebagai input, dan enable sebagai input.
//-----------Output Ports---------------
output [3:0] binary_out ;
=> Mendeklarasikan sebuah port output dari binary_out yang keluaranya menjadi 4bit.
//-----------Input Ports---------------
input enable ;
input [15:0] encoder_in ;
=> Mendeklarasikan sebuah variable masukkan yaitu enable dan encoder_in dengan encoder_in menjadi 16bit masukkan.
//------------Internal Variables--------
reg [3:0] binary_out ;
=> Mendeklarasikann sebuah register yang terdapat pada binary_out dengan alamat 4 bit.
//-------------Code Start-----------------
always @ (enable or encoder_in)
=> Berfungsi sebagai program yang dimana memerlukan clock terus untuk mengantarkan nilai masukkan. Kemudian variable enable digabungkan dengan variable encoder_in.
begin
binary_out = 0;
if (enable) begin
if (encoder_in == 16'h0002) begin
binary_out = 1;
end if (encoder_in == 16'h0004) begin
binary_out = 2;
end if (encoder_in == 16'h0008) begin
binary_out = 3;
end if (encoder_in == 16'h0010) begin
binary_out = 4;
end if (encoder_in == 16'h0020) begin
binary_out = 5;
end if (encoder_in == 16'h0040) begin
binary_out = 6;
end if (encoder_in == 16'h0080) begin
binary_out = 7;
end if (encoder_in == 16'h0100) begin
binary_out = 8;
end if (encoder_in == 16'h0200) begin
binary_out = 9;
end if (encoder_in == 16'h0400) begin
binary_out = 10;
end if (encoder_in == 16'h0800) begin
binary_out = 11;
end if (encoder_in == 16'h1000) begin
binary_out = 12;
end if (encoder_in == 16'h2000) begin
binary_out = 13;
end if (encoder_in == 16'h4000) begin
binary_out = 14;
end if (encoder_in == 16'h8000) begin
binary_out = 15;
==> Fungsi script diatas adalah terdapat kondisi awal dimana binary_out=0, lalu jika enable maka dia akan lenjut ke state berikutnya yaitu encoder_in==16'h0002) dimana nilai bianry_out yang keluar adalah 1, lalu jika encoder_in==16'h0004) maka nilai binary_out yang keluar adalah, begitu pun seterusnya hinga semua kondisi terpenuhi hingga nilai binary_out menghasilkan angka 15. ini sama saja seperti kita memainkan sebuah switch secara berurut hingga menghasilkan sebuah nyala led berurut sesuai yang kita masukan kode binnernya dalam bentuk hexa.
end
end
end
endmodule
=> Berfungsi untuk mengakhiri sebuah statement yang dibuat dan endmodule adalah untuk mengakhiri sebuah program pada module yang telah dibuat tadi.
MUX(Multiplekser)
//Design Name : mux_using_if
//File Name : mov_using_if.v
//Function : 2:1 mux using if
//Coder : Deepak Kumar Tala
=> Berfungsi sebagai komentar dalam membuat program mux_using_if.
module mux_using_if(
din_0 , // mux first input
din_1 , // mux second input
sel , // select input
mux_out // mux output
);
=>Berfungsi untuk membuat sebuah module dengan nama file mux_using_if dan didalamnya terdapat 4 variable yaitu di_0, din_1, dan select sebagai input dan mux_out sebagai outputnya.
//---------- input ports ---------
input din_0, din_1, sel;
=> Mendeklarasikan sebuah port input yaitu din_0, din_1, sel pada program.
//---------- output ports ---------
Output mux_out ;
=> Mendeklarasikan sebuah port output yaitu mux_out.
//---------- internal variables ---------
reg mux_out ;
=> Mendeklarasikan sebuah register dengan variable mux_out.
//---------- Code Start Here ---------
Always @ ( sel or din_0 or din_1)
=> Harus memerlukan clock secara terus-menerus karena clock berfungsi untuk menghantarkan nilai masukkan pin-pin keluaran. Kemudian variable sel digabungkan dengan variable masukkan lainnya yaitu din_0 dan din_1.
Begin : mux
=> Berfungsi untuk memulai subprogram mux.
If (sel == 1’b0) begin
Mux_out = din_0);
End else begin
Mux_out = din_1);
=> Berfungsi jika variable sel == 1 maka hasil keluaranya adalah mux_out yaitu din_0 jika tidak maka dia akan ke end else yaitu keluaran din_!.
End
End
Endmodule //End Of Module mux
=> Berfungsi sebagai akhir dari isi statment dan juga akhir dari sebuah program module yang telah dibuat tadi.
Flip-Flop And Latches
//Design Name : dff_async_reset
//File Name : dff_async_reset.v
//Function : D Flip Flop async reset
//Coder : Deepak Kumar Tala
=> Berfungsi hanya sebagai komentar saja dalam membuat program async reset D-FF.
module dff_async_reset(
data , // data input
clk , // clock input
reset , // reset input
q // q output
);
=> Berfungsi untuk membuat sebuah module dengan nama file dff_async_reset dan didalamnya terdapat 4 variable yaitu data,clk,dan reset sebagai input dan q sebagai outputnya.
//---------- input ports ---------
input data, clk, reset;
=> Mendeklarasikan sebuah port input yaitu data, clock, dan reset pada program.
//---------- output ports ---------
Output q ;
=> Mendeklarasikan sebuah port output yaitu q.
//---------- internal variables ---------
reg q ;
=> Mendeklarasikan sebuah register pada variable q.
//---------- Code Start Here ---------
Always @ (posedge clk or negedge reset)
=> Berfungsi sebagai dff ini yang sangat memerlukan clock secara terus-menerus untuk menghantarkan nilai masukkan pin-pin keluaran. posedge clk or nededge reset yang merupakan gabungan clock yang aktif pada sisi naik positif sedangkan nededge adalah sisi clock yang aktif dari sisi turun-negatif dan menghasilkan sebuah kondisi reset yang ada pada dff itu sendiri.
If (~reset) begin
Q <= 1’b0;
End else begin
Q <= data;
=> Berfungsi jika ada negasi dari variable reset maka mulai ke program selnajutnya yaitu 1<=1'bo jika tidak atau terpenuhi maka program lanjut ke q<=data.
End
=> Berfungsi untuk mengakhiri sebuah statment.
Endmodule //End Of Module dff_aync_reset
=> Berfungai untuk mengakhiri sebuah program module.
Minggu, 08 Oktober 2017
Review Komparasi Metode Machine Learning dan Non Machine Learning untuk Estimasi Usaha Perangkat Lunak.
TUGAS REVIEW JURNAL
Nama : Langgeng Pambudhy
Kelas :
3KB07
NPM :
23115781
Judul : Komparasi Metode Machine Learning dan Non
Machine Learning untuk Estimasi Usaha Perangkat Lunak.
Review Jurnal: Komparasi
Metode Machine Learning dan Non Machine Learning untuk Estimasi Usaha Perangkat
Lunak.
Identitas
Judul : Komparasi Metode Machine
Learning dan Non Machine Learning untuk Estimasi Usaha Perangkat
Lunak.
Penulis : Ega Kartika Adhitya,
Romi Satria Wahono dan Hendro Subagyo
Tahun : December 2015
Halaman : 109-113
PENDAHULUAN
Dalam pendahuluan dijelaskan latar belakang penulisan
jurnal ini. Dapat di lihat bahwa jurnal ini mengungkit bahasan tentang
perangkat lunak, karena jika tidak ada perangkat lunak maka tidak dapat
menjalankan perangkat keras yang ada. Untuk estimasi pengembangan perankga
lunak dibagi menjadi dua metode, yaitu. Metode Non Machine Learning yang
merupakan metode konvesinal dengan tingkat keakuratan rendah dan metode Matching
Learning yang tealah digunakan untuk pengembangan perangkat lunak.
Proyek perangkat lunak bersifat dinamis sehingga sulit
untuk menemukan metode estimasi yang cocok untuk proyek perangkat lunak
misalnya, kinerja yang lebih baik dapat dicapai dengan menghilangkan beberapa
atribut, yang dengan ini dapat menghilangkan atribut yang tidak relevan dimana
hal ini dapat meningkatkan akurasi estimasi. Untuk meningkatkan akurasi
diperlukan algoritma seleksi atribut. Yang dibagi 2 tipe yaitu filter
dan wrappting namun Hasil precision
dari tipe wrapper lebih tinggi daripada tipe filter
TUJUAN
Tujuan jurnal ini untuk menseleksi fitur, baru-baru ini
digunakan di bidang rekayasa perangkat lunak untuk meningkatkan akurasi, model
biaya perangkat lunak. Ide di balik memilih subset paling informatif fitur yang
tersedia berasal dari hipotesis bahwa mengurangi dimensi dataset secara
signifikan akan mengurangi kompleksitas dan waktu yang diperlukan untuk
mencapai perkiraan menggunakan teknik pemodelan tertentu.
METODE
PENELITIAN
1. Model
dan variabel penelitian. Variabel yang digunakan yaitu variabel eksogen
(variabel bebas), intervening (variabel antara) dan variabel endogen
(variabel terikat).
2. Metode Pengukuran. Pada metode
pengukuranyang digunagkan yaitu dengan memberikan pertanyaan (kuesioner) kepada
para sampel.
3. Metode Analisis. Metode ini yaitu metode
dengan menitikberatkan kuantitatif (perhitungan) maka hasil yang didapatkan
berupa angka.
HASIL DAN PEMBAHASAN
K-NN mempunyai nilai RSME yang paling baik,
dengan nilai RMSE 6.2 untuk dataset Albercth dan 9.4 untuk dataset Desherhanis.
NN menghasilkan RMSE 11.7 poin untuk dataset Albercth dan 10.8 untuk dataset
Desherhanis . SVM menghasilkan RMSE 11.1 untuk dataset Albercth dan 11 untuk
dataset Desherhanis. Dari hasil tersebut, maka dapat kita simpulkan kNN
merupakan metode machine learning yang baik.
Gambar ini dapat
ketahui bahwa FP mempunyai nilai RSME yang paling baik, dengan nilai RMSE 4.6
poin untuk dataset Albercth dan 21.3 poin untuk dataset Desherhanis. UCP
menghasilkan RMSE 8.8 poin untuk dataset Albercth dan 64.3 poin untuk dataset
Desherhanis. Dari hasil tersebut, maka dapat kita simpulkan FP merupakan metode
non-machine learning yang baik. Gambar ini merupakan grafik komparasi RMSE
metode non- machine learning
Perbandingan
Hasil Metode Machine Learning dan Non-Machine Learning
pada penelitian
ketiga ini dikomparasikan antara kNN dan FP dan menghasilkan kNN sebagai metode
terbaik untuk estimasi perangkat lunak. Gambar 4 merupakan hasil komparasi
metode machine learning dan non machine learning terbaik untuk estimasi
perangkat lunak
kNN untuk dua dataset baik dataset Albercth dan dataset
Deshernanis, algoritma seleksi atribut FS mendapatkan hasil yang paling baik
untuk digunakan pada estimasi usaha perangkat lunak.
KESIMPULAN
SVM didapatkan
kNN dengan hasil terbaik dengan nilai RMSE yang paling baik, dengan nilai RMSE
6.2 untuk dataset Albercth dan 9.4 untuk dataset Desherhanis. Hasil dari metode
non ML antara FP dan UCP didapatkan FP mempunyai nilai RSME yang paling baik,
dengan nilai RMSE 4.6 untuk dataset Albercth dan 21.3 untuk dataset
Desherhanis. Dapat disimpulkan hasil dari komparasi antara kNN dan FP dan
menghasilkan kNN sebagai metode terbaik untuk estimasi perangkat lunak.
Seleksi atribut FS mendapatkan hasil yang terbaik. Dengan
menggunakan kNN untuk dua dataset baik dataset Albercth dan dataset
Deshernanis, algoritma Seleksi Atribut FS mendapatkan hasil yang paling baik
untuk digunakan pada estimasi usaha perangkat lunak.menghasilkan kNN dengan
Seleksi Atribut FS sebagai metode terbaik untuk estimasi perangkat lunak.
DAFTAR PUSTAKA
Langganan:
Postingan (Atom)