(P 10) IMK10 Error Handling
(P 10) IMK10 Error Handling
sempurnasebelummelewatiberbagai rentetankesalahan
l Semakinbesaraplikasiyangdibuat,semakin l dibuat
banyakkesalahanyangdapattimbul. timbul .
PenyebabKesalahanProgram
1.Kesalahansintaksisyangbisadideteksikompiler biasadisebutcompiletimeerror, compile dimanaperintahataustatemenmenyalahiaturan pengkodeanyangdimilikiolehbahasa pemrogramanyangdigunakan. digunakan Beberapabahasapemrograman,disediakan pemrograman fasilitasAutoSyntaxCheck,dimanamuncul sebuahpesanperingatanketikaAnda mengetikkansintaksyangsalah. salah .
Contoh
bahasapemrogramanJava,setiapstatemen diwajibkandiakhiridengantandatitikkoma (). Kesalahanpenulisankeyword,seperti:for,if Padaoperasiaritmatikakekuranganjumlah paranthesis(kurung). ( kurung contoh:A=X+(B*(C+D) :A=X+(B*(C+D)
PenyebabKesalahanProgram
Contoh
Tipedatayangsalah,misaltipedatainteger salah digunakanutkstring. Variabelygbelumdidefinisikantapi digunakandlmoperasi operasi
PenyebabKesalahanProgram
3.KesalahanLogika,aplikasiberjalantanpa Logika pesankesalahan,tetapimengeluarkanhasil kesalahan yangtidakdiharapkan Misalnya jikaaplikasiAndamenghasilkan Misalnya perhitunganyangsalah. salah A=A+(B/C) A=(A+B)/C A=(A+B)/C
BentukbentukpenangananKesalahan Bentuk
l l
Validasipemasukan,misalnyajikapenggunaharus pemasukan memasukkanbilanganpositif,sementaraia positif memasukkandatanegatifataunol,makaharusada nol mekanismeuntukmengulangpemasukandata tersebut. tersebut Proteksipengguna:programmemberiperingatan pengguna ketikapenggunamelakukansuatutindakansecara tidaksengaja,misalnyapenghapusanberkas. sengaja berkas .
l l
BentukbentukPenanganan Kesalahan
l Pemulihandarikesalahan:tersedianya l kesalahan
ErrorMessage
ErrorMessagedapatdilihatpadaproses penyimpanandata. KetikaandamenekantombolSimpan,makasistem Simpan akanmemintauntukmengisikantextboxpadanrp. nrp Apabilatextboxtersebutbelumterisitetapianda sudahmenjalankanprosespenyimpanan,maka penyimpanan errormessageakanmunculseketikauntuk memberikaninformasibahwanrpharusdiisiterlebih dahulu. dahulu .
misalintjari_jari misal jari_jari charA l KenaliJenisBug,Bugyangtimbulpada l sebuahaplikasimemilikikarateristik.Karena karateristik ituselalubacadanperhatikanbaikbaik baik pesankesalahanyangtimbul. timbul .
BeberapaJenisBug
DivideByZero. Jikapadasebuahpembagian,pembagibernilai0,makaprogram pembagian akanterhentidanmengalamierror. InfiniteLoop,menjalankanprogramtanpahenti voidmain() { for() printf(Tanpahenti.\n) ( \ .n } }
1.
2.
Beberapajenisbug
3.ArithmaticoverfloworUnderflow. Overflowterjadisaatsebuahperhitungan menghasilkannilaiyanglebihbesardaripadanilai yangdapatditampungolehmedia/variabel media/ penyimpan. penyimpan Underflowmerupakankebalikannya. kebalikannya misalintmenyimpan2byte(32768hingga+32767) misal 2byte( jika>gunakanlong
HelpDokumentasi
l Sifatsifat l Sifat
availability
accuracy&completeness consistency robustness flexibility unobtrusiveness
SifatsifatHelp Sifat
l Availability,Userdapatmenggunakan l Availability
SifatsifatHelp Sifat
l Consistency,konsistenpadasistemyangada, l Consistency p
SifatsifatHelp Sifat
l Flexibility,membantusetiapuserberinteraksi l
sesuaidengankeinginannya.
l Unobtrusiveness,seharusnyatidak l Unobtrusiveness
JenisHelp
l Paperbased(dukungantercetak) l
kelebihan: kelebihan
penggunadapatmenggunakanprogram pendukunginidiluarmasapengerjaantugas penggunadptmenuliskancatatantertentuyang diperolehsaatmenjalankansistem. diperolehsaatmenjalankansistem.
PaperBased
Kekurangan: Kekurangan l agaksulitmendeskripsikansesuatuyang l bergerak l sulitmenyesuaikanantarasesuatuyang l dibacadengankenyataansebenarnyadi dalamsistem l penggunaakankesulitanmembacasaat l pen menjalankansistem,karenakurangpraktis menjalankansistem,karenakurangpraktis
JenisHelp
l ComputerBased l
Jenisnyadapatberupa: berupa CommandassistanceditemuipadasistemDOSdanUNIX. C Penggunadapatmenggunakanbantuandenganmengetikkan parametertertentu. Commandpromptsyaitujenisbantuanyangbiasanyatampil C bilapenggunamelakukankesalahansederhanamisalnya kesalahansintaks,biasanyaberupapromptsperbaikan sehinggamengarahkanpenggunauntukmemperbaiki. sehinggamengarahkanpenggunauntukmemperbaiki.
JenisHelp
1.
contextsensitivehelp,Jenisiniberbentukmenubased contextsensitivehelp systemyangmenyediakanbantuanpadamenuoption. Mulaidariyangmemilikipengetahuankhususdariuser khusushinggatersedianyakuncibantuansederhana yangdiinterpretasikansesuaidengankonteksyang akandipanggildanakanditampilkan. onlinedocumentation/tutorial,Jenisinitersediasecara onlinedocumentation/tutorial onlinediinternet/intranet,khususnyauntukaplikasi yangdiproduksisecaramassal.Tersediapulaupdate bantuanbilamunculversiterbaru. bantuanbilamunculversiterbaru.
2.
MerancangHelp
l Bagaimanasystemhelpdipanggil? l dipanggil
MerancangHelp
l BagaimanasystemHelpditampilkan? l ditampilkan
Bagaimanabantuanakandapatdilihatoleh user.Dalamsystemwindowakan ditampilkandalamwindowyangbaru.Dalam baru sistemlainmungkindalamlayaryangpenuh ataubagiandarilayar.Alternatiflaindapat layar berbentukpopupboxatautingkatcommand pop line. line.