• Tidak ada hasil yang ditemukan

BAB V. IMPLEMENTASI PERANGKAT LUNAK ARTISt

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB V. IMPLEMENTASI PERANGKAT LUNAK ARTISt"

Copied!
10
0
0

Teks penuh

(1)

BAB V Implementasi Perangkat Lunak ARTISt V-1

IMPLEMENTASI PERANGKAT LUNAK ARTISt

Pada bab ini akan dijelaskan tentang implementasi dari perancangan perangkat lunak ARTISt.

5.1. Batasan Implementasi

Tahap implementasi perangkat lunak ARTISt merupakan kelanjutan dari tahap perancangan, sehingga implementasi ini harus didasarkan pada perancangan yang telah dilaksanakan sebelumnya. Batasan implementasi ini dapat ditinjau dari 2 aspek, yaitu aspek perangkat lunak dan aspek perangkat keras.

5.1.1. Aspek Perangkat Lunak

Agar perangkat lunak yang dibuat dapat diimplementasikan dengan baik, maka dibutuhkan perangkat lunak pendukung :

Operating Sistem DOS minimum ver. 4.00 yang dapat digunakan oleh perangkat lunak lain yang diperlunakan (BorlandC ver3.1). • Perangkat lunak (Software) : BorlandC ver.3.1 yang bekerja

(2)

5.1.2. Aspek Perangkat Keras

Perangkat keras yang dibutuhkan untuk mengimplementasikan perangkat lunak ARTISt secara optimum adalah :

a) Processor minimal 486 dengan memory minimal 16 Mb dilengkapi. b) 1 buah kartu ARTISt

c) 1 buah monitor minimum dengan resolusi EGA/VGA d) 1 buah printer LQ series

e) 1 buah harddisk dengan kapasitas minimum 540 Mb

5.2. Implementasi Perangkat Lunak

Pada bab IV telah dijelaskan bahwa ARTISt mempunyai 8 buah komponen perangkat lunak (CSC), dimana yang dibahas pada tesis ini adalah CSC_Calculator(yang berhubungan dengan pemrosesan data) dan CSC_OutputDevice(yang berhubungan dengan penyajian data). CSC_Calculator diturunkan menjadi 3 unit, yaitu CSU_Calculator, CSU_EngineeringCalculator, dan CSU_ARINCConverter. Sedang CSC_OutputDevice tidak diturunkan lagi, sehingga CSC_OutputDevice juga sebagai CSU_OutputDevice.

Dalam implementasi ini digunakan suatu struktur direktori yang memudahkan dalam mengorganisasi setiap berkas yang digunakan dengan “ARTISt” sebagai direktori induk. Direktori induk ini terdiri dari 4 sub-direktori, yaitu: sub-direktori “Project”, sub-direktori “Include”, sub-direktori “Source”, dan sub-direktori “Execute”.

(3)

Dalam implementasi ini setiap objek CSU, akan terdiri dari berkas spesifikasi (*.h) dan berkas badan (*.c), dimana penamaan dari masing-masing berkas yang digunakan dapat dilihat pada Tabel 5.1.

No. Objek Nama

Berkas Layanan 1. CSU_Calculator calcultr.c calcultr.h CalculateToEngineering Data 2. CSU_EngineeringC alculator enginctr.c enginctr.h CalculateLinear CalculatePolynom CalculateBitMask CalculateExtended 3. CSU_ARINCConve rter arinccvt.c arinccvt.h ConvertLinearARINC ConvertPolynomARINC 4 CSU_OutputDevice outputdv.c outputdv.h DisplayTable DisplayGraphic DisplayMixed DisplayXPlot Tabel 5.1. Daftar Nama Berkas Implementasi

Implementasi yang dilakukan didasarkan pada algoritma yang akan dijelaskan pada bab-bab selanjutnya.sedangkan implementasi dalam bahasa C yang digunakan, secara lebih detil dapat dilihat pada acuan teknis perangkat lunak ARTISt.[8]

Pengendali utama dari perangkat lunak ARTISt dilakukan oleh prosedur/fungsi MMIMS_Main yang terdapat pada objek MMIMS dengan algoritma yang diperlihatkan pada tabel 5.2 berikut:

(4)

ALGORITMA PROSEDUR/FUNGSI MMIMS_Main ()

Status  CheckACARD() If status > 0 then

CSCI will continue in simulation mode Else if status < 0 then

Error 1 Else

InitiateSystemConfiguration()

Provide ARTISt Main_Menu choose  MainMenu

switch(choose)

case 1 : Provide Setting Menu

case 2 : Provide RunMonitoringMenu pilih  RunMenu switch(pilih) case 1 : DisplayTable case 2 : DisplayGraphic case 3 : DisplayMixed case 4 : DisplayXPlot case 3 : Run Editor DOS

case 4 : Exit from program

(5)

5.2.1.

Implementasi CSU_Calculator

CSU_calculator terdiri dari satu fungsi layanan yang digunakan untuk mengintegrasikan perhitungan data elektrik menjadi data enjiniring. Layanan ini tidak mempunyai atribut dan mengembalikan status dari proses perhitungannya.

ALGORITMA PROSEDUR/FUNGSI TStatusEng CalculateToEngineeringData () FOR (i=0; i <neffparset; i++)

param_calcul  GetParam(paramset, i) parcal  GetParCal(param_calcul) IF parcal = 1 eng_data  CalculateLinear(param_calcul, status_eng) ELSE IF parcal = 2 eng_data  CalculatePolynom(param_calcul, status_eng) ELSE IF parcal = 3

eng_data  CalculateBitMask (param_calcul, status_eng) ELSE IF parcul = 4 SearchExtFormula(ext_formulaset, ext_formulaset.Neff, par_name, index_ExtFormula, found) IF (found = TRUE) ext_formula  GetExtFormula(ext_formulaset, index_ExtFormula) eng_data  CalculateExtended(ext_formula, status_eng) ELSE

print message "there is error in translate to engineering”

SetEng(eng_data, paramset, i) RETURN(status_eng)

(6)

5.2.2. Implementasi CSU_EngineeringCalculator

CSU_EngineeringCalculator terdiri dari 4 fungsi layanan yang digunakan untuk menghitung data elektrik menjadi data enjiniring berdasarkan jenis parameternya.

ALGORITMA PROSEDUR/FUNGSI

float CalculateLinear (TParam *param, TStatusEng *status_eng); IF parword = 3

ConvertLinearARINC(param) slope 

(calibval_3–calibval_1)/(calibval_2 – calibval) offset  calibval_1 - (slope * calibval)

phy  elect * slope + offset RETURN (phy)

float CalculatePolynom (TParam *param, TStatusEng *status_eng); IF ADT_Param.GetParWord() = 1

bufdat GetCalibValue(calib_data,rptr+0) raw1 GetElect(param)

bufdat  bufdat + (raw1 *

GetCalibValue(calib_data,rptr + 1)) IF nc = 1 go to hasilnya {polynom orde 1} raw2  raw1 ^ 2

bufdat  bufdat + (raw2 *

GetCalibValue(calib_data,rptr + 2)) IF nc = 2 go to hasilnya {polynom orde 2} raw3  raw2 * raw1

bufdat  bufdat + (raw3 *

GetCalibValue(calib_data,rptr + 3)) IF nc = 3 go to hasilnya {polynom orde 3} raw4  raw3 * raw1

bufdat  bufdat + (raw4 *

GetCalibValue(calib_data,rptr + 4)) IF nc = 4 go to hasilnya {polynom orde 4} raw5  raw4 * raw1

bufdat  bufdat + (raw5 *

GetCalibValue(calib_data,rptr + 5)) IF nc = 5 go to hasilnya {polynom orde 5} raw6  raw5 * raw1

(7)

GetCalibValue(calib_data,rptr + 6)) IF nc = 6 go to hasilnya {polynom orde 6} raw7  raw6 * raw1

bufdat  bufdat + (raw7 *

GetCalibValue(calib_data,rptr + 7)) ELSE {nc > 6}

bufdat  bufdat + (raw7 *

GetCalibValue(calib_data,rptr + 7)) status  Not_OK hasilnya : PutEng(bufdat,param) ELSE {par_word != 1} ConvertPolynomARINC(param) phy  (GetCalibValue(calib_data,rptr+1) * GetElect(param)) + GetCalibValue(calib_data,rptr); PutEng(phy, param); RETURN(status)

float CalculateBitMask (TParam *param, TStatusEng *status_eng); BitMask  GetCalibValue(calib_data,rptr)

BMF  GetCalibValue(calib_data,rptr +1) raw  GetElect(param) AND BitMask

IF raw ≠ 0 IF (BMF) eng  0 ELSE eng  1 ELSE {raw = 0} IF (BMF) eng  1 ELSE eng  0 RETURN (eng)

float CalculateExtended (TExtFormula ext_formula, TParamSet paramset1, TStatusEng *status_eng);

status  OK

phy_ext  Calculate parameter extended based on ExtFormula.

(if there is error in calculate extended parameter, status  Not_Ok)

PutEng(phy_ext,param) RETURN (status)

Tabel 5.4: “Algoritma Prosedur/Fungsi Layanan CSU_EngineeringCalculator”

(8)

5.2.2.

Implementasi CSU_ARINCConverter

CSU_ARINCConverter terdiri dari 2 fungsi layanan yang digunakan untuk mengkonversi data ARINC-429 berdasarkan jenis dari parameternya.

ALGORITMA PROSEDUR/FUNGSI

TStatusConvertARINC ConvertLinearARINC (TParam *param); ARtemp  0

elect  ADT_Param.GetElect(param) Convert the elect for linear

ARtemp  elect converted

ADT_Param.PutElect (param, ARtemp) RETURN (status)

TStatusConvertARINC ConvertPolynomARINC (TParam *param); ARtemp  0

elect  ADT_Param.GetElect(param) Convert the elect for Polynom ARtemp  elect converted

ADT_Param.PutElect (param, ARtemp) RETURN (status)

Tabel 5.5: “Algoritma Prosedur/Fungsi Layanan CSU_ARINCConverter”

5.2.3.

Implementasi CSU_OutputDevice

CSU_OutputDevice digunakan untuk menampilkan data ke layar, menyimpan data di disk, dan mencetak data ke printer. CSU ini terdiri dari 4 fungsi layanan yang digunakan untuk menampilkan data parameter, sedangkan fungsi pencetakan dan penyimpanan merupakan fungsi internal dari CSU.

(9)

ALGORITMA PROSEDUR/FUNGSI void DisplayTable ();

WHILE (not finish)

irigtime  SetupIRIGTIME IF incoming data is real PCM chkdat  CheckPCMData

IF (chkdat = 0) CollectElectricalData ELSE

It use electrical data which has been collected before, and the data is given different color

ELSE {simulation data} GetSimData(simdata)

TranslateToEngineeringData( )

FOR (i = 0; i < tab_loc_selected; i++) IF (display_mode = elect)

Display the electrical data in table mode ELSE

Display the engineering data in table mode DoOnLineAction(&kb) {recording,printing,etc} void DisplayGraphic ();

WHILE (not finish)

irigtime  SetupIRIGTIME IF incoming data is real PCM chkdat  CheckPCMData

IF (chkdat = 0) CollectElectricalData ELSE

It use electrical data which has been collected before, and the data is given different color

ELSE {simulation data} GetSimData(simdata)

TranslateToEngineeringData( )

FOR (i = 0; i < graph_loc_selected; i++) IF (display_mode = elect)

Display electrical data in graphic mode ELSE

Display engineering data in graphic mode DoOnLineAction(&kb) {recording,printing,etc}

(10)

void DisplayMixDis (); WHILE (not finish)

irigtime  SetupIRIGTIME IF incoming data is real PCM chkdat  CheckPCMData

IF (chkdat = 0) CollectElectricalData ELSE

It use electrical data which has been collected before and given different color ELSE {simulation data}

GetSimData(simdata)

TranslateToEngineeringData( )

FOR (i = 0; i < mix_loc_selected; i++) IF (display_mode = elect)

Display electrical data in MixDis mode ELSE

Display engineering data in MixDis mode DoOnLineAction(&kb) {recording,printing,etc} void DisplayXPlot ();

WHILE (not finish)

irigtime  SetupIRIGTIME IF incoming data is real PCM chkdat  CheckPCMData

IF (chkdat = 0) CollectElectricalData ELSE

It use electrical data which has been collected before and given different color ELSE {simulation data}

GetSimData(simdata)

TranslateToEngineeringData( )

FOR (i = 0; i < xplot_loc_selected; i++) IF (display_mode = elect)

Display electrical data in XPlot mode ELSE

Display engineering data in XPlot mode DoOnLineAction(&kb) {recording,printing,etc}

Tabel 5.6: “Algoritma Prosedur/Fungsi Layanan CSU_OutputDevice” Hasil dari implementasi ini harus di uji untuk menjamin bahwa perangkat lunak yang dikembangkan sesuai dengan keinginan. Pengujian dari perangkat lunak ARTISt akan dijelaskan pada bab VI.

Gambar

Tabel 5.2: “Algoritma Prosedur/Fungsi MMIMS_Main”
Tabel 5.3: “Algoritma Prosedur/Fungsi Layanan CSU_Calculator”
Tabel 5.4: “Algoritma Prosedur/Fungsi Layanan  CSU_EngineeringCalculator”
Tabel 5.5: “Algoritma Prosedur/Fungsi Layanan  CSU_ARINCConverter”
+2

Referensi

Dokumen terkait

Keterlibatan Siswa Dalam Pembelajaran Matematika Menggunakan Model Pembelajaran Kooperatif Tipe Numbered Heads Together Pada Pokok Bahasan Luas Gabungan Bangun Datar

Pengujian Marshall untuk campuran tanpa getah pinus dilakukan untuk mendapatkan nilai Kadar Aspal Optimum (KAO) dan nilai KAO tersebut selanjutnya akan digunakan pada

Secara kuantitas air di daerah perkotaan menurut SNI Tahun 2002 Tentang Sumber Daya Air akan kebutuhan air yaitu 100-150L/org/hari dan daerah pedesaan yaitu

KABUPATEN TIMOR TENGAH

Ketiga , menimbang bahwa berdasarkan uraian tersebut di atas maka pasal 43 ayat (1) UU No 1 Tahun 1974 yang menyatakan, “ Anak yang dilahirkan di luar perkawinan

dengan peraturan perundang-undangan yang berlaku di Indonesia, yang tercantum dalam Undang-Undang Nomor 6 Tahun 2011 Tentang Keimigrasian yang terdapat pada pasal 8 ayat

Ransum dengan sumber serat tongkol jagung sebesar 30% dengan kombinasi sumber protein bungkil kelapa dan tepung ikan atau kombinasi sumber protein bungkil kelapa dan

Teori tersebut juga sesuai dengan hasil penelitian yang dilakukan Merry Fanada (2012) yang menyebutkan bahwa ada hubungan yang bermakna antara Status Imunisasi