Sistem peringatan dini

Pemrograman R Defensif

Dr. Colin Gillespie

Jumping Rivers

Sistem peringatan dini

  • Hindari masalah bila bisa
  • Tangani isu secara masuk akal saat muncul

Contoh: memakai pintasan T/F untuk TRUE/FALSE

Pemrograman R Defensif

Masalah 1: TRUE dan FALSE

  • TRUE dan FALSE adalah nilai khusus
  • Kita tidak bisa menimpanya
TRUE <- 5
# Error in TRUE <- 5 : invalid (do_set) left-hand side to assignment
Pemrograman R Defensif

Masalah 2: TRUE dan FALSE

Misalkan kita menghitung statistik F. Wajar jika kita punya

# df adalah fungsi densitas F
(F <- df(1, 9, 67))
[1] 0.7798

Namun R menganggap bilangan positif sebagai TRUE, jadi

if(F) message("Yer aff yer heid!")
Yer aff yer heid!

F kini diperlakukan sebagai TRUE!

Pemrograman R Defensif
  • Biasakan gunakan TRUE dan FALSE
    • bukan T dan F
      • Jika menguji TRUE, gunakan isTRUE()
isTRUE(T)
[1] TRUE
isTRUE(2)
[1] FALSE
T <- 10
isTRUE(T)
[1] FALSE
Pemrograman R Defensif

Ayo berlatih!

Pemrograman R Defensif

Preparing Video For Download...