PagePertumbuhan.xaml.cs Sistem Informasi Pengkajian Stok Ikan (Studi Kasus : Ikan Kurisi Nemipterus japonicus, Bloch 1791 di Perairan Selat Sunda yang Didaratkan Di PPP Labuan, Pandeglang, Banten)

Lampiran 3. Listing Program CIAFISH lanjutan StackPanel StackPanel GroupBox StackPanel Image Height=1198 Source=pack:siteoforigin:,,,Imagespen.png Stretch=Fill Width=755 StackPanel StackPanel Grid Page

4. PagePertumbuhan.xaml.cs

using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using Microsoft.Windows.Controls.Primitives; using Skripsi.Entity; using Skripsi.Config; using System.Windows.Controls.DataVisualization.Charting; using System.Xml.Linq; using System.Xml; using System.Data; namespace Skripsi.Page { summary Interaction logic for PagePertumbuhan.xaml summary public partial class PagePertumbuhan : System.Windows.Controls.Page { private XmlWriter writer; int IdBulan = 0; int jenisK = 3; int[] Lt = new int [12]; private double[] X; private double[] Y; private double[] Lgrafik; private double[] Wgrafik; string[] nilaiX = new string[30]; double[] nilaiRATA2 = new double[30]; double[] nilaiTIapSelang = new double[30]; private double NilaiJumlahSelang; int[] nilaiY = new int[30]; private bool status = true; private int jumlahData; private string cmbJenisKelamin; ListTrack _tempDataPertumbuhan = new ListTrack; public PagePertumbuhan { InitializeComponent; this.Loaded += new RoutedEventHandlerPagePertumbuhan_Loaded; } void PagePertumbuhan_Loadedobject sender, RoutedEventArgs e { LoadData; } private void btnAdd_Clickobject sender, RoutedEventArgs e { try { if status == true { txtpeneliti.IsEnabled = false; txtikan.IsEnabled = false; status = false; AddItem; LoadData; MyDataGrid.ItemsSource = _tempDataPertumbuhan; } else { AddItem; LoadData; MyDataGrid.ItemsSource = _tempDataPertumbuhan; } } catch Exception { MessageBox.ShowInput data not valid, please try again..; } } public void LoadDataFilterAllstring tgl, string jk { if tgl == string.Empty { LoadDataFilterJKjk; } else if jk == string.Empty { LoadDataFiltertgl; } else if jk = string.Empty tgl = string.Empty { LoadFilterJkTgltgl, jk; } else { LoadData; } } public void LoadFilterJkTglstring tgl, string jk { var filter = from z in DataAll.listDataPertumbuhan where z.Waktu == tgl z.Jenis_Kelamin == jk select new Track { ID = z.ID NamaIkan = z.NamaIkan NamaPeneliti = z.NamaPeneliti, Berat = z.Berat, Waktu = z.Waktu, Panjang = z.Panjang, Jenis_Kelamin = z.Jenis_Kelamin }; _tempDataPertumbuhan = filter.ToList; Lampiran 3. Listing Program CIAFISH lanjutan MyDataGrid.ItemsSource = _tempDataPertumbuhan; } public void LoadDataFilterstring input { var filter = from z in DataAll.listDataPertumbuhan where z.Waktu == input select new Track { ID = z.ID, NamaIkan = z.NamaIkan, NamaPeneliti = z.NamaPeneliti, Berat = z.Berat, Waktu = z.Waktu, Panjang = z.Panjang, Jenis_Kelamin = z.Jenis_Kelamin }; _tempDataPertumbuhan = filter.ToList; MyDataGrid.ItemsSource = _tempDataPertumbuhan; } public void LoadDataFilterJKstring input { var filter = from z in DataAll.listDataPertumbuhan where z.Jenis_Kelamin == input select new Track { ID = z.ID, NamaIkan = z.NamaIkan, NamaPeneliti = z.NamaPeneliti, Berat = z.Berat, Waktu = z.Waktu, Panjang = z.Panjang, Jenis_Kelamin = z.Jenis_Kelamin }; _tempDataPertumbuhan = filter.ToList; MyDataGrid.ItemsSource = _tempDataPertumbuhan; } public void LoadData { try { ListKeyValuePairstring, int nilaiAwal = new ListKeyValuePairstring, int; nilaiAwal.Addnew KeyValuePairstring, intEmpty, 0; columnChart.DataContext = nilaiAwal; ListKeyValuePairdouble, double nilaiAwal1 = new ListKeyValuePairdouble, double; nilaiAwal1.Addnew KeyValuePairdouble, double0, 0; LineSeriesChartHubPanjangBerat.Series[0].ItemsSource = nilaiAwal1; ScatterSeriesChartHubPanjangBerat.Series[1].ItemsSour ce = nilaiAwal1; _tempDataPertumbuhan = DataAll.listDataPertumbuhan; MyDataGrid.ItemsSource = _tempDataPertumbuhan.OrderByx = x.waktuDate; } catchException { } } public void AddItem { int jumlah = DataAll.listDataPertumbuhan.Count + 1; DataAll.listDataPertumbuhan.Addnew Trackjumlah, DPWaktu.Text, double.ParsetxtPanjang.Text, double.ParsetxtBerat.Text, cmbJenisKelamin, txtpeneliti.Text, txtikan.Text ; LoadDataFilterAllDPFilter.Text, jenisKelamin; } public void ProsesPjgdanBerat { textBoxLogA.Text = logA.ToStringN4; textBoxB.Text = bHubPnB.ToStringN4; PenentuanB; textBoxRkuadrat.Text = R2.ToStringN4; } private double[] nilaiLt; public void LoadNilaiLt { string[] tanggalLt; cari jumlah bulan pada data string bulanTemp = 0; string tahunTemp = 0; string bulanTempLt = 0; string tahunTempLt = 0; int jumlah = 0; double max = 0; double min = 0; foreach Track s in _tempDataPertumbuhan.OrderByx=x.waktuDate { tahunTemp = s.Waktu.Split[2]; if s.Waktu.Split[0] = bulanTemp s.Waktu.Split[2] == tahunTemp { jumlah += 1; } bulanTemp = s.Waktu.Split[0]; tahunTemp = s.Waktu.Split[2]; } int i = 0; nilaiLt = new double[jumlah]; tanggalLt = new string[jumlah]; double modus = 0; foreach Track s in _tempDataPertumbuhan.OrderByx = x.waktuDate { tahunTemp = s.Waktu.Split[2]; if s.Waktu.Split[0] = bulanTemp s.Waktu.Split[2] == tahunTemp { tanggalLt[i] = s.Waktu; i++; } bulanTemp = s.Waktu.Split[0]; tahunTemp = s.Waktu.Split[2]; } forint z=0; zjumlah; z++ { bulanTempLt = tanggalLt[z].Split[0]; tahunTempLt = tanggalLt[z].Split[2]; var nilai = from p in _tempDataPertumbuhan where p.Waktu.Split[0] == bulanTempLt p.Waktu.Split[2] == tahunTempLt select p; max = nilai.First.Panjang; min = nilai.First.Panjang; double[] NilaiModus; NilaiModus = new double[nilai.Count]; double[] Nmodus = new double[nilai.Count]; int temp = 0; foreach var track in nilai { NilaiModus[temp] = track.Panjang; if max track.Panjang Lampiran 3. Listing Program CIAFISH lanjutan { max = track.Panjang; } if min track.Panjang { min = track.Panjang; } temp++; } double x; double f = MostFreqNilaiModus, out x; nilaiLt[z] = x; MessageBox.ShownilaiLt[z].ToString; } } fungsi cari modus public static int MostFreqdouble[] _M, out double x { First I need to sort the array in ascending order int Max_Freq, No_Freq, i; double k; Array.Sort_M; k = _M[0]; Max_Freq = 0; i = 0; x = 0; while i _M.Length { No_Freq= the frequency of the current number No_Freq = 0; X here is the number which is appear in the array Frequently while k == _M[i] { No_Freq++; i++; if i == _M.Length break; } if No_Freq Max_Freq { so it will be printed the same Max_Freq = No_Freq; x = k; } if i _M.Length k = _M[i]; } return Max_Freq; } public double loadNilaiLtBulandouble min, double max { return min + max2; } public void Sebaran_frekuensi_panjang { Mencari selang kelas Batas Kelas Bawah BKB dan Batas Kelas Atas BKA try { double[] BKB = new double[30]; double[] BKA = new double[30]; int Batas_Minimum = Convert.ToInt16textBoxBatasMinimum.Text; int Selang_Kelas = Convert.ToInt16textBoxSelangKelas.Text; int LamaPenelitian = Convert.ToInt16textBoxLamaPenelitian.Text; for int p = 0; p LamaPenelitian; p++ { BKB[p] = Batas_Minimum + p Selang_Kelas; BKA[p] = Batas_Minimum + p + 1 Selang_Kelas; nilaiX[p] = BKB[p] + - + BKA[p]; nilaiRATA2[p] = BKB[p] + BKA[p]2; } int[] freqPanjang = new int[30]; for int i = 0; i _tempDataPertumbuhan.Count; i++ { for int p = 0; p LamaPenelitian; p++ { if p == 0 { if _tempDataPertumbuhan[i].Panjang = BKB[p] _tempDataPertumbuhan[i].Panjang = BKA[p] freqPanjang[p]++; } else { if _tempDataPertumbuhan[i].Panjang BKB[p] _tempDataPertumbuhan[i].Panjang = BKA[p] freqPanjang[p]++; } } } for int p = 0; p LamaPenelitian; p++ { MessageBox.ShowFrekuensi Selang + p + : + freqPanjang[p]; nilaiY[p] = freqPanjang[p]; } double Nilai_tengah = 0; Nilai_tengah = BKB[0] + BKA[LamaPenelitian - 1] 2; for int i = 0; i LamaPenelitian; i++ { nilaiTIapSelang[i] = nilaiY[i] nilaiRATA2[i]; NilaiJumlahSelang += nilaiTIapSelang[i]; } } catch { MessageBox.Showsilahkan Maskkan Data; } } private double Z { double[] BKB = new double[30]; double L, Z; L = NilaiJumlahSelang _tempDataPertumbuhan.Count; Z = K Linf - L L - BKB[0]; return Z; } private double M { double M, logM = 0; double t; t = Convert.ToDoubletextBoxT.Text; logM = -0.0066 - -0.0279 Math.Log10Linf - 0.6543 Math.Log10K + 0.4634 Math.Log10t; M = Math.Pow10, Math.Log10logM; return M; } private double F { double F; F = Z - M; Lampiran 3. Listing Program CIAFISH lanjutan return F; } private double E { double E; E = F Z; return E; } public void LoadGrafSebaranFrekPanjang { ListKeyValuePairstring, int nilaiSebaranFrekuensiPanjang = new ListKeyValuePairstring, int; for int p = 0; p 30; p++ { nilaiSebaranFrekuensiPanjang.Addnew KeyValuePairstring, intnilaiX[p], nilaiY[p]; } columnChart.DataContext = nilaiSebaranFrekuensiPanjang; } private double[] X_panjang; public void grafikHubPnL1 { X_panjang = new double[_tempDataPertumbuhan.Count]; Y = new double[_tempDataPertumbuhan.Count]; int i = 0; foreach var item in _tempDataPertumbuhan { X_panjang[i] = item.Panjang; Y[i] = item.Berat; i++; } } public void grafikHUBPNL2 { Wgrafik = new double[_tempDataPertumbuhan.Count]; for int a = 0; a _tempDataPertumbuhan.Count; a++ { Wgrafik[a] = agrafikPnL Math.PowX_panjang[a], bHubPnB; } } public void LoadGrafHubPnL { ListKeyValuePairdouble,double HubunganPnL1=new ListKeyValuePairdouble, double; for int p= 0; p _tempDataPertumbuhan.Count; p++ { HubunganPnL1.Addnew KeyValuePairdouble, doubleX_panjang[p], Y[p]; MessageBox.ShowX[p] + - + Y[p]; } ListKeyValuePairdouble, double HubunganPnL2 = new ListKeyValuePairdouble, double; for int K = 0; K _tempDataPertumbuhan.Count; K++ { HubunganPnL2.Addnew KeyValuePairdouble, doubleX_panjang[K], Wgrafik[K]; } LineSeriesChartHubPanjangBerat.Series[0].ItemsSource = HubunganPnL2; ScatterSeriesChartHubPanjangBerat.Series[1].ItemsSour ce = HubunganPnL1; } public void ProsesAll { listPertumbuhan = pt.selectJenisKelaminjenisK, IdBulan; } Mencari Jumlah Log W public double Jumlah_Log_W { double Jumlah_Log_W = 0; for int i = 0; i _tempDataPertumbuhan.Count; i++ Jumlah_Log_W = Jumlah_Log_W + Math.Log10_tempDataPertumbuhan[i].Berat; return Jumlah_Log_W; } Mencari Jumlah [Log L2] public double Jumlah_Kuadrat_Log_L { double Jumlah_Kuadrat_Log_L = 0; for int i = 0; i _tempDataPertumbuhan.Count; i++ Jumlah_Kuadrat_Log_L = Jumlah_Kuadrat_Log_L + Math.PowMath.Log10_tempDataPertumbuhan[i].Panjang , 2; return Jumlah_Kuadrat_Log_L; } Mencari Jumlah Log L public double Jumlah_Log_L { double Jumlah_Log_L = 0; MessageBox.Show_tempDataPertumbuhan.Count.ToStr ing; for int i = 0; i _tempDataPertumbuhan.Count; i++ Jumlah_Log_L = Jumlah_Log_L + Math.Log10_tempDataPertumbuhan[i].Panjang; return Jumlah_Log_L; } Mencari Jumlah Log L Log W public double Jumlah_LogL_dikali_LogW { double Jumlah_LogL_dikali_LogW = 0; for int i = 0; i _tempDataPertumbuhan.Count; i++ Jumlah_LogL_dikali_LogW = Jumlah_LogL_dikali_LogW + Math.Log10_tempDataPertumbuhan[i].Panjang Math.Log10_tempDataPertumbuhan[i].Berat; return Jumlah_LogL_dikali_LogW; } Mencari Jumlah Log L2 public double Jumlah_Log_L_Kuadrat { double Jumlah_Log_L_Kuadrat = 0; Jumlah_Log_L_Kuadrat = Math.PowJumlah_Log_L, 2; return Jumlah_Log_L_Kuadrat; } 7. MENCARI LOG A public double logA { double logA = 0; double LogA1 = 0; double LogA2 = 0; LogA1 = Jumlah_Log_W Jumlah_Kuadrat_Log_L - Jumlah_Log_L Jumlah_LogL_dikali_LogW; LogA2 = _tempDataPertumbuhan.Count Jumlah_Kuadrat_Log_L - Jumlah_Log_L_Kuadrat; Lampiran 3. Listing Program CIAFISH lanjutan logA = LogA1 LogA2; return logA; } public double agrafikPnL { double agrafikPnL = 0; agrafikPnL = Math.Pow10, logA; return agrafikPnL; } 8. Mencari b HUBUNGAN PANJANG BERAT public double bHubPnB { double bHubPnB = 0; bHubPnB = Jumlah_Log_W - _tempDataPertumbuhan.Count logA Jumlah_Log_L; return bHubPnB; } public void PenentuanB { if bHubPnB == 3 textBoxPenentuanB.Text = Isometrik; else if bHubPnB = 3 textBoxPenentuanB.Text = Allometrik Negatif; else if bHubPnB = 3 textBoxPenentuanB.Text = Allometrik Positif; } public double SX2 { double SX2 = 0; SX2 = Convert.ToDouble1 _tempDataPertumbuhan.Count - Convert.ToDouble1 Jumlah_Kuadrat_Log_L - Jumlah_Log_L_Kuadrat _tempDataPertumbuhan.Count; return SX2; } public double SX { double SX = 0; SX = Math.SqrtSX2; return SX; } public double Jumlah_Kuadrat_LogW { double Jumlah_Kuadrat_LogW = 0; for int i = 0; i _tempDataPertumbuhan.Count; i++ Jumlah_Kuadrat_LogW = Jumlah_Kuadrat_LogW + Math.PowMath.Log10_tempDataPertumbuhan[i].Berat,2 ; return Jumlah_Kuadrat_LogW; } public double Jumlah_LogW_Kuadrat { double Jumlah_LogW_Kuadrat = 0; Jumlah_LogW_Kuadrat = Math.PowJumlah_Log_W, 2; return Jumlah_LogW_Kuadrat; } public double SY2 { double SY2 = 0; double SY_tahap1; double SY_tahap2; SY_tahap1=Convert.ToDouble1 _tempDataPertumbuhan.Count - Convert.ToDouble1; SY_tahap2=Jumlah_LogW_Kuadrat _tempDataPertumbuhan.Count; SY2 = SY_tahap1 Jumlah_Kuadrat_LogW - SY_tahap2; return SY2; MessageBox.ShowSY2.ToString; } public double SY { double SY = 0; SY = Math.SqrtSY2; return SY; } public double SXY { double SXY = 0; SXY = Convert.ToDouble1 _tempDataPertumbuhan.Count - Convert.ToDouble1 Jumlah_LogL_dikali_LogW - Jumlah_Log_L Jumlah_Log_W _tempDataPertumbuhan.Count; return SXY; } public double R { double R = 0; R = SXY SX SY; return R; } public double R2 { double R2 = 0; R2 = Math.PowR, 2100; return R2; } Grafik Hubungan Panjang Berat Grafik SCATER . X= Panjang Y= Berat public void grafikscaterHPB { } public void Data_Loaded { PertumbuhanDAOImpl pt = new PertumbuhanDAOImpl; MyDataGrid.ItemsSource = pt.selectAll; } private void btnHapus_Clickobject sender, RoutedEventArgs e { if MyDataGrid.SelectedIndex == -1 { MessageBox.ShowTidak ada data yang dipilih, Tidak ada data, MessageBoxButton.OK, MessageBoxImage.Warning; } else { string a = MessageBox.ShowYakin data akan di hapus?, Delete, MessageBoxButton.OKCancel, MessageBoxImage.Information.ToString; if a == OK { Pertumbuhan p = MyDataGrid.SelectedItem as Pertumbuhan; PertumbuhanDAOImpl kt = new PertumbuhanDAOImpl; kt.deletep; } } } Lampiran 3. Listing Program CIAFISH lanjutan private void btnTambah_Clickobject sender, RoutedEventArgs e { WindowPertumbuhan wp = new WindowPertumbuhan; Application.Current.MainWindow = wp; wp.Title = Tambah :: Pertumbuhan; wp.txtpeneliti.Text = txtpeneliti.Text; wp.txtikan.Text = txtikan.Text; wp.btn.Content = Tambah; wp.Show; } HUBUNGAN PANJANG BERAT private void btnProses_Click_1object sender, RoutedEventArgs e { LoadNilaiLt; ProsesPjgdanBerat; Sebaran_frekuensi_panjang; ParameterPertumbuhanDanMortalitas; grafikHubPnL1; grafikHUBPNL2; LoadGrafSebaranFrekPanjang; LoadGrafHubPnL; } PARAMETER PERTUMBUHAN Mencari nilai Lt Jumlah panjang L = X public double Jumlah_panjang_X { double Jumlah_panjang_X = 0; for int i = 0; i nilaiLt.Count - 1; i++ Jumlah_panjang_X = Jumlah_panjang_X + nilaiLt[i]; MessageBox.ShowJumlah_panjang_X: + Jumlah_panjang_X.ToString; return Jumlah_panjang_X; } Jumlah L+1 = Y public double Jumlah_L_plus1_Y { double Jumlah_L_plus1_Y = 0; for int i = 1; i nilaiLt.Count; i++ Jumlah_L_plus1_Y = Jumlah_L_plus1_Y + nilaiLt[i]; return Jumlah_L_plus1_Y; MessageBox.ShowJumlah_L_plus1_Y.ToString; } Jumlah [LL+1] public double Jumlah_X_Kali_Y { int k = 0; double Jumlah_X_Kali_Y = 0; double Temp; for k = 0; k nilaiLt.Count - 1; k++ { int j = k + 1; Temp = 0; Temp = nilaiLt[k] nilaiLt[j]; Jumlah_X_Kali_Y += Temp; } return Jumlah_X_Kali_Y; } Jumlah Kuadrat Panjang public double Jumlah_Kuadrat_panjang { double Jumlah_Kuadrat_panjang = 0; for int i = 0; i nilaiLt.Count - 1; i++ Jumlah_Kuadrat_panjang = Jumlah_Kuadrat_panjang + Math.PownilaiLt[i], 2; return Jumlah_Kuadrat_panjang; } Jumlah panjang yang dikuadratkan public double Jumlah_panjang_dikuadratkan { double Jumlah_panjang_dikuadratkan = 0; Jumlah_panjang_dikuadratkan = Math.PowJumlah_panjang_X, 2; return Jumlah_panjang_dikuadratkan; } Rata2 X public double Rata2_X { double Rata2_X = 0; Rata2_X = Jumlah_panjang_X nilaiLt.Count - Convert.ToDouble1; return Rata2_X; } Rata2 Y public double Rata2_Y { double Rata2_Y = 0; Rata2_Y = Jumlah_L_plus1_Y nilaiLt.Count - Convert.ToDouble1; return Rata2_Y; } REGRESI 1 == B,a, Linf, K BPP public double BPP { double BPP1 = 0; double BPP2 = 0; double BPP = 0; BPP1 = Jumlah_X_Kali_Y - Jumlah_panjang_X Jumlah_L_plus1_Y nilaiLt.Count; BPP2 = Jumlah_Kuadrat_panjang - Jumlah_panjang_dikuadratkan nilaiLt.Count; BPP = BPP1 BPP2; return BPP; } APP public double APP { double APP = 0; APP = Rata2_Y - Rata2_X BPP; return APP; } Linf public double Linf { double Linf = 0; Linf = APP Convert.ToDouble1 - BPP; return Linf; } K public double K { Lampiran 3. Listing Program CIAFISH lanjutan double K = 0; K = -Math.LogBPP; return K; } t0 public double t0 { double logMinT0=0; double t0=0; logMinT0= -0.3922-0.2752Math.LogLinf- 1.038Math.LogK; t0 = -Math.Pow10, logMinT0; return t0; } public void ParameterPertumbuhanDanMortalitas { textBoxNilaiK.Text = K.ToStringN4; textBoxNilaiLinf.Text = Linf.ToStringN4; textBoxNilait0.Text = t0.ToStringN4; textBoxNilaiMortalitasAlami.Text = M.ToStringN4; textBoxNilaiMortalitasPenangkapan.Text = F.ToStringN4; textBoxNilaiMortalitasTotal.Text = Z.ToStringN4; textBoxNilailajuEksploitasi.Text = E.ToStringN4; } private void btnRefresh_Clickobject sender, RoutedEventArgs e { LoadData; } private void textBoxB_TextChangedobject sender, TextChangedEventArgs e { } private void textBoxPenentuanB_TextChangedobject sender, TextChangedEventArgs e { } private string tanggal = string.Empty; private string jenisKelamin = string.Empty; private void comboBox1_SelectionChanged_1object sender, SelectionChangedEventArgs e { ifcomboBox1.SelectedIndex == 0 { _tempDataPertumbuhan = DataAll.listDataPertumbuhan; MyDataGrid.ItemsSource = DataAll.listDataPertumbuhan; } else ifcomboBox1.SelectedIndex == 1 { jenisKelamin = JANTAN; LoadDataFilterAlltanggal, JANTAN; } else if comboBox1.SelectedIndex == 2 { jenisKelamin = BETINA; LoadDataFilterAlltanggal, BETINA; } } private void ColumnSeries_Loadedobject sender, RoutedEventArgs e { } private void button1_Clickobject sender, RoutedEventArgs e { ProsesPjgdanBerat; LoadGrafSebaranFrekPanjang; LoadGrafHubPnL; } private void Page_Loadedobject sender, RoutedEventArgs e { } private void comboBoxPilihtanggal_SelectionChangedobject sender, SelectionChangedEventArgs e { } private void cmbPilihantanggal_Scrollobject sender, System.Windows.Controls.Primitives.ScrollEventArgs e { } private void cmbPilihantanggal_SelectionChangedobject sender, SelectionChangedEventArgs e { } private void DPFilter_SelectedDateChangedobject sender, SelectionChangedEventArgs e { tanggal = DPFilter.Text; LoadDataFilterAllDPFilter.Text, jenisKelamin; } private void DPWaktu_SelectedDateChangedobject sender, SelectionChangedEventArgs e { } private void txtJenisKelamin_SelectionChangedobject sender, SelectionChangedEventArgs e { iftxtJenisKelamin.SelectedIndex == 0 { cmbJenisKelamin = JANTAN; } else if txtJenisKelamin.SelectedIndex == 1 { cmbJenisKelamin = BETINA; } { } } public int cekJKstring Input { int nilai = 0; ifInput == BETINA { nilai = 1; } else if Input == JANTAN { nilai = 0; } return nilai; public string ambilJK int input { string nilai =; ifinput == 0 { nilai = JANTAN; } else ifinput==1 { nilai = BETINA; } Lampiran 3. Listing Program CIAFISH lanjutan return nilai; } private void MyDataGrid_SelectionChangedobject sender, SelectionChangedEventArgs e { cxMenu = new ContextMenu; Track tedit = null; foreach Track item in MyDataGrid.SelectedItems { txtWaktutemp.Text = item.Waktu; txtPanjangTemp.Text = item.Panjang.ToStringCultureInfo.InvariantCulture; txtBeratTemp.Text = item.Berat.ToStringCultureInfo.InstalledUICulture; txtIDTemp.Text = item.ID.ToStringCultureInfo.InvariantCulture; cmbJenisKelaminTemp.SelectedIndex = cekJKitem.Jenis_Kelamin; txtTKGTemp.Text = item.Tkg.ToStringCultureInfo.InstalledUICulture; } } private void btnSaveUpdate_Clickobject sender, RoutedEventArgs e { foreach Track item in DataAll.listDataPertumbuhan { ifitem.ID == int.ParsetxtIDTemp.Text { item.Berat = double.ParsetxtBeratTemp.Text; item.Panjang = double.ParsetxtPanjangTemp.Text; item.Waktu = txtWaktutemp.Text; item.Jenis_Kelamin = ambilJKcmbJenisKelaminTemp.SelectedIndex; } } MyDataGrid.ItemsSource = DataAll.listDataPertumbuhan; } private void btnDeleteRow_Clickobject sender, RoutedEventArgs e { if MessageBox.ShowYakin data akan dihapus?, Delete, MessageBoxButton.YesNo == MessageBoxResult.Yes { foreach Track item in MyDataGrid.SelectedItems { DataAll.listDataPertumbuhan.Removeitem; } MyDataGrid.ItemsSource = DataAll.listDataPertumbuhan; MyDataGrid.SelectedIndex = -1; } else { } private void MyDataGrid_MouseRightButtonUpobject sender, MouseButtonEventArgs e { } private void btnSaveAll_Clickobject sender, RoutedEventArgs e { } } }

5. Xaml PageModelSurplusProduksi