BAB 3 PERANCANGAN
3.1 Gambaran Umum Instansi 3.1.1
Sejarah Singkat Instansi Balai Penelitian Bioteknologi dan Sumber Daya Genetik Pertanian adalah
suatu instansi dibawah Badan Penelitian dan Pengembangan (BALITBANG) Departemen
Pertanian.
Balai
yang
dahulunya
bernama
Balai
Penelitian
Bioteknologi Tanaman Pangan ini pada tahun 2002 berganti nama menjadi Balai Penelitian Bioteknologi dan Sumber Daya Genetik Pertanian. Balai ini berlokasi di jalan Tentara Pelajar 3A, Cimanggu Bogor. Tugas dari balai ini adalah untuk mengadakan penelitian, pengembangan dan pengumpulan gen atau plasma nutfah tanaman-tanaman pertanian yang ada di seluruh Indonesia. Balai ini menempati luas areal sebesar 10 hektar termasuk didalamnya terdapat kebun percobaan, rumah kaca dan laboratorium-laboratorium tempat diadakannya penelitian pertanian. Adapun visi dari balai ini sampai tahun 2010 adalah menjadikan bioteknologi dan sumberdaya genetik pertanian sebagai pendukung utama dalam mewujudkan ketahanan pangan, sistem dan usaha agribisnis berdaya saing, berkerakyatan, berkelanjutan, dan desentralistis. Sedangkan misi dari balai ini adalah secara spesifik mengembangkan pemanfaatan dan pengelolaan sumberdaya genetik (plasma nutfah) pertanian, diagnostik hama/penyakit, pengelolaan spesies database hama dan musuh alami; pemeliharaan awetan koleksi serangga penting
32
33 pertanian
untuk
referensi
dan
mengembangkan
bioinformatika
untuk
mendesiminasikan hasil penelitian bioteknologi dan sumber daya genetika pertanian dan informasi biodiversitas lainnya.
3.1.2
Struktur Organisasi
Struktur Organisasi dapat dilihat di lampiran L2.
3.2 Objek Penelitian Dalam perancangan program ini yang menjadi objek penelitian adalah program MSTAT. Suatu program yang dikembangkan oleh Michigan State University, dikembangkan pada tahun 1986 oleh Dr. Russell D. Freed dan Dr. Scott P. Eisensmith dari Crop and Soil Sciences Departement, Michigan State University. Program ini berjalan di lingkungan Disk Operating System (DOS) dan bahasa pemrograman yang digunakan adalah Basic.
3.2.1
Gambaran Umum Program MSTAT
Program MSTAT merupakan program yang berjalan di lingkungan Disk Operating System (DOS), sehingga tampilan menu program ini masih sangat sederhana, seperti dapat dilihat pada gambar 3.1. Pada gambar 3.1 ditampilkan menu pembuka program MSTAT.
34
Gambar 3.1 Menu Pembuka MSTAT
Pada gambar 3.2 ditampilkan layar menu utama MSTAT yang terdiri dari berbagai macam fitur. Salah satunya adalah fasilitas pengolahan data faktorial dan fasilitas pengolahan metode pembanding ortogonal.
Gambar 3.2 Menu Utama MSTAT
35 Program ini terdiri dari berbagai macam fasilitas pengolahan data namun yang digunakan oleh balai adalah hanya pada fasilitas pengolahan data faktorial dan fasilitas pengolahan metode pembanding ortogonal.
3.2.2
Kebutuhan Pengembangan
Karena program MSTAT memiliki kelemahan dalam proses input dan pada proses menghasilkan output maka dibutuhkan suatu pengembangan program yang memiliki kemampuan sebagai berikut : -
Tidak membutuhkan input koefisien polinomial ortogonal dari pengguna, sehingga pengguna tidak akan melakukan kesalahan dalam proses input koefisien polinomial ortogonal, sehingga hasil output program menjadi valid.
-
Dapat mengopi data yang telah ada dari program lain, seperti dari program Microsoft Excel. Apabila seorang pengguna memiliki data percobaan yang disimpan dalam program Microsoft Excel atau program spreadsheet lain, maka pengguna dapat langsung mengopi data tersebut untuk diolah. Pengguna tidak perlu mengetik ulang data-data percobaan tersebut, hal ini tentunya sangat menghemat waktu terlebih apabila data-data percobaan tersebut cukup besar.
-
Struktur menu program yang dikelompokkan kedalam sub-sub menu, sehingga memudahkan pengguna untuk mengoperasikan program ini.
-
Data yang telah diinput dan output program dapat disimpan ke semua media penyimpanan, tidak terbatas pada disket..
-
Dapat menghasilkan output grafik permukaan respon dari polinomial ortogonal. Grafik ini sesungguhnya cukup penting bagi pengguna yang ingin mempelajari fungsi respon suatu faktor percobaan.
36 3.3 Gambaran Umum Perancangan Program aplikasi yang dirancang ini akan menerapkan Single Document Interface (SDI), dimana dalam SDI program akan terdiri dari dua komponen utama yaitu halaman induk (parent) dan satu halaman anak (child). Halaman induk adalah halaman utama yang akan mengendalikan halaman anak. Halaman induk dapat membuat (create) halaman anak dan dapat pula menutupnya (destroy) pada saat program berjalan (runtime). Halaman induk memiliki menu yang disusun dalam bentuk menu pull-down maupun tombol-tombol. Masing-masing menu memiliki sub menu yang berisi fungsi yang dapat mengontrol dan mengakses halaman induk dan halaman anak. Pada saat halaman induk membuat halaman anak baru maka halaman anak yang dibuat akan tampil satu halaman bersama halaman induk, sehingga akan memudahkan pengguna mengakses kedua halaman tersebut tanpa perlu berpindah-pindah halaman. Model program aplikasi yang dirancang akan digambarkan dengan menggunakan state transition diagram (STD) dilengkapi dengan rancangan layar dan modul-modul perancangan. Program Aplikasi ini penulis beri nama RANCOB, kependekan dari perancangan percobaan.
37 3.4 Struktur Menu 3.4.1
Struktur Menu Utama
Gambar 3.3 Struktur Menu Utama
3.4.2 Struktur Menu Data
Gambar 3.4 Struktur Menu Data
3.4.3
Struktur Menu Edit
Gambar 3.5 Struktur Menu Edit
38 3.4.4
Struktur Menu Tampilkan
Gambar 3.6 Struktur Menu Tampilkan
3.4.5
Struktur Menu Bantuan
Gambar 3.7 Struktur Menu Bantuan
3.5 State Transition Diagram (STD) 3.5.1
STD Menu Utama
Gambar 3.8 STD Menu Utama
39 3.5.2
STD Menu Data
Gambar 3.9 STD Menu Data
3.5.3
STD Menu Edit
Gambar 3.10 STD Menu Edit
3.5.4
STD Menu Tampilkan
Gambar 3.11 STD Menu Tampilkan
40 3.5.5
STD Menu Bantuan
Gambar 3.12 STD Menu Bantuan
3.5.6
STD Submenu Disain
Gambar 3.13 STD Submenu Disain
41 3.5.7
STD Submenu Input
Gambar 3.14 STD Submenu Input
3.5.8
STD Submenu Output
Gambar 3.15 STD Submenu Output
42 3.5.9
STD Submenu Uji Lanjut
Gambar 3.16 STD Submenu Uji Lanjut
3.6 Rancangan Layar Dalam merancang layar yang akan ditampilkan dalam program aplikasi ini, penulis memperhatikan faktor-faktor yang mendukung program aplikasi ini, seperti kemudahan bagi pengguna, konsisten, sederhana dan adanya fasilitas bantuan. Pada tahap pengkodean, penulis akan menggunakan piranti Borland Delphi versi 6.0 sebagai perangkat pembuat, karena piranti lunak ini memiliki tampilan dengan modus grafik dan antarmuka pemakai yang bersifat interaktif, maka diharapkan dapat meningkatkan minat dan ketertarikan pemakai.
43 3.6.1
Rancangan Layar Menu Pembuka (Splashscreen)
Gambar 3.17 Rancangan Layar Menu Pembuka (Splashscreen)
3.6.2
Rancangan Layar Menu Utama (Halaman Induk)
Gambar 3.18 Rancangan Layar Menu Utama
44 3.6.3
Rancangan Layar Submenu Disain Faktor Pertama
Gambar 3.19 Rancangan Layar Submenu Disain Faktor Pertama
3.6.4
Rancangan Layar Submenu Disain Faktor Kedua
Gambar 3.20 Rancangan Layar Submenu Disain Faktor Kedua
45 3.6.5
Rancangan Layar Submenu Input
Gambar 3.21 Rancangan Layar Submenu Input
46 3.6.6
Rancangan Layar Submenu Output
Gambar 3.22 Rancangan Layar Submenu Output
47 3.6.7
Rancangan Layar Submenu Uji Lanjut
Gambar 3.23 Rancangan Layar Submenu Uji Lanjut
3.6.8
Rancangan Layar Submenu Tentang Program
Gambar 3.24 Rancangan Layar Submenu Tentang Program
48 3.7 Modul-modul Perancangan 3.7.1
Modul Induk (Parent) Modul Induk adalah modul utama yang mengendalikan modul-modul anak dan
modul-modul dibawahnya. Modul ini juga berperan dalam proses pembuatan data baru, pengambilan data dan penyimpanan data. Pseudocode dari modul Induk akan dijabarkan sebagai berikut :
MODULE : Parent; PROCEDURE : Create New File IF ChildCount<>0 THEN CloseFile(child); ENDIF CreateChild(child); ENDPROCEDURE
PROCEDURE : Open File Receive File(Data); Reset File(Data); WHILE Not EOF(Data) DO Read(Data,Text); IF Text = Valid THEN Display(Text); ENDIF ENDWHILE
49 Close File(Data); ENDPROCEDURE
PROCEDURE: Save File IF ChildCount<>0 THEN Receive File(Data); Rewrite File(Data); While Not EOF(Source) DO Writeln(Data,Source); ENDWHILE Close File(Data); ELSE Display(‘Belum ada file yang dibuka’); ENDIF ENDPROCEDURE ENDMODULE
3.7.2
Modul Anak (Child) Modul Anak (child) adalah modul yang pengoperasiannya dikendalikan oleh
modul parent. Modul ini sendiri mengendalikan operasi disain, input, output dan uji lanjut. Berikut adalah pseudocode dari modul anak :
MODULE : Child; PROCEDURE : Disain
50 IF terjadi kesalahan THEN Display(ErrorText); ELSE IF Terdapat data pada grid THEN IF Ask('Terdapat data, Hapus data?') =Yes THEN For b=1 TO MaxRow DO For c=1 TO MaxCol DO ClearSel; ENDFOR ENDFOR DisainSel(Data); ELSE DisainSel(Data); ENDIF ELSE DisainSel(Data); ENDIF ENDIF ENDPROCEDURE
PROCEDURE : Input CekSel; IF Sel=Valid THEN Proses(Data);
51 Display(Halaman Output,Data); Display(Halaman UjiLanjut,Data); Goto(Output); ENDIF ENDPROCEDURE
PROCEDURE : Output IF CekExecute(Proses(Data))=True THEN Display(Halaman Output,Data); PrintPreview(Halaman Output,Data); Print(Halaman Output,Data); ENDIF ENDPROCEDURE
PROCEDURE : Uji Lanjut IF Faktor=Kuantitatif THEN ProsesPolinomialOrtogonal(Data); Goto(Output); ELSE ProsesPembandingOrtogonal(Data); Goto(Output); ENDIF ENDPROCEDURE ENDMODULE
52
3.7.3
Modul Rancangan Acak Kelompok (RAK) Modul RAK ini merupakan modul yang mengolah rancangan acak kelompok
untuk data yang telah diinput oleh pengguna. Modul ini akan diakses oleh modul acak (child) untuk mengolah data RAK. Modul ini terdiri dari beberapa procedure dan function. Berikut adalah pseudocode dari modul ini :
MODULE : RAK PROCEDURE : IsiData(bar,kol,r1,a1,b1:integer;c:real); data[bar][kol] Å c; r Å r1; a Å a1; b Å b1; ENDPROCEDURE
PROCEDURE : SetBarKol(b,k:integer); Baris Å b; Kolom Å k; Dec Å -3; ENDPROCEDURE
FUNCTION : HitFK:real; Count Å 0; FOR i=1 TO baris DO
53 FOR j=1 TO kolom DO Count Å count + data[i][j]; ENDFOR ENDFOR Count Å (sqr(count))/(r*a*b); Result Å Roundto((count),dec); ENDFUNCTION
FUNCTION : HitJKT:real; Count Å 0; FOR i=1 TO baris DO FOR j:=1 TO kolom DO Count Å Count + sqr(data[i][j]); ENDFOR ENDFOR Count Å Count-HitFK; Result Å Roundto((count),dec); ENDFUNCTION
FUNCTION : HitJKK:real; Hit Å 0; FOR j=1 TO kolom DO Count Å 0; FOR i=1 TO baris DO
54 Count Å Count+data[i][j]; ENDFOR Hit Å Hit + ((sqr(count))/(a*b)); ENDFOR Hit Å Hit - HitFK; Result Å Roundto((hit),dec); ENDFUNCTION
FUNCTION : HitJKP:real; Hit Å 0; FOR i=1 TO baris DO Count Å 0; FOR j=1 TO kolom DO Count Å Count+data[i][j]; ENDFOR Hit Å Hit + ((sqr(count))/r); ENDFOR Hit Å Hit - HitFK; ResultÅRoundto((hit),dec); ENDFUNCTION
FUNCTION : HitJKG:real; Result Å Roundto((HitJKT-HitJKK-HitJKP),dec); ENDFUNCTION
55
FUNCTION : HitJKA:real; Hit Å 0; FOR k=0 TO a-1 DO Count Å 0; FOR i=((k*b)+1) TO ((k*b)+b) DO FOR j=1 TO kolom DO Count Å Count+data[i][j]; ENDFOR ENDFOR Hit Å Hit + ((sqr(count))/(r*b)); ENDFOR Hit Å Hit - HitFK; Result Å Roundto((hit),dec); ENDFUNCTION
FUNCTION : HitJKB:real; Hit Å 0; FOR k=0 TO b-1 DO Count Å 0; FOR i=0 TO a-1 DO FOR j=1 TO kolom DO Count Å Count + data[(i*b)+1+k][j]; ENDFOR
56 ENDFOR Hit Å Hit + ((sqr(count))/(r*a)); ENDFOR Hit Å Hit-HitFK; Result Å Roundto((hit),dec); ENDFUNCTION ENDMODULE
3.7.4
Modul Polinomial Ortogonal Modul ini adalah modul yang mengolah data dengan polinomial ortogonal.
Modul ini diakses oleh modul anak (Child) dan terdiri dari beberapa procedure dan function. Berikut adalah pseudocode dari modul ini : MODULE : PolinomialOrtogonal PROCEDURE : isikoef(bar,kol:integer;a:real); koef[bar][kol] Å a; ENDPROCEDURE
FUNCTION : GetJumFak(NmFak,NoPerlak:integer):real; IF Nmfak=1 THEN begin Count Å ((NoPerlak-1)*b)+1; Tamp Å 0; FOR i=1 TO b DO FOR j=1 TO kolom DO Tamp Å tamp+data[count][j];
57 ENDFOR inc(count); ENDFOR Result Å tamp; ELSE Tamp Å 0; FOR i:=1 TO a DO FOR j:=1 TO kolom DO Tamp Å Tamp + data[NoPerlak+((i-1)*b)][j]; ENDFOR ENDFOR Result Å tamp; ENDIF ENDFUNCTION
FUNCTION : HitJKFU(NmFak,D:integer):real; Tamp Å 0; tamp2 Å 0; IF NmFak=1 THEN FOR j:=1 TO a DO Tamp Å Tamp + koef[D][j]*GetJumFak(1,j); ENDFOR Tamp Å sqr(tamp); FOR j:=1 TO a DO
58 Tamp2 Å Tamp2 + sqr(koef[D][j]); ENDFOR Tamp Å Tamp/(r*b*tamp2); Result Å tamp; ELSE FOR j=1 TO b DO Tamp Å Tamp + koef[D][j]*GetJumFak(2,j); ENDFOR Tamp Å sqr(tamp); FOR j=1 TO b Do Tamp2 Å Tamp2 + sqr(koef[D][j]); ENDFOR Tamp Å Tamp/(r*a*tamp2); Result Å Tamp; ENDIF ENDFUNCTION ENDMODULE
3.7.5
Modul Koefisien Modul koefisien adalah modul yang dapat memberikan nilai koefisien polinomial
ortogonal baik untuk selang yang sama maupun untuk selang yang tidak sama. Modul ini diakses oleh modul anak (child).
59 3.7.6
Modul Tabel F Modul Tabel F adalah modul yang dapat memberikan nilai tabel F baik untuk
alpha (α) = 0.05 maupun untuk alpha (α) = 0.01. Modul ini diakses oleh modul anak (child).
3.7.7
Modul Laporan (Report) Modul laporan (Report) merupakan modul yang menampilkan hasil output dari
program aplikasi ini. Modul ini juga dapat mencetak hasil output melalui printer. Modul ini diakses oleh modul anak (child).
3.7.8
Modul Tentang Program Modul ini menginformasikan kepada pengguna tentang informasi seputar
program aplikasi ini, seperti nama program, penulis, judul skripsi dan lain-lain. Modul ini hanya menampilkan layar tunggal yang dapat ditutup dengan menekan tombol Enter atau Escape (ESC), atau dapat pula dengan mengklik label “Tutup” pada program.