You first have to properly read your dataset, which is not a raster file, but a txt. The first lines of the header provide information about "format" and georeferencing:
ncols 1681
nrows 1361
xllcorner 112
yllcorner -44
cellsize 0.025
NODATA_value -9999
to properly read the data and convert it to a raster object, you can therefore do:
infile <- "/home/lb/Temp/buttami/kpngrp.txt"
data <- as.matrix(read.table(infile, skip = 6))
data[data == -9999] = NA
rr <- raster(data, crs = "+init=epsg:4326")
extent(rr) = c(112, 112+0.025*1681, -44, -44+0.025*1361)
> rr
class : RasterLayer
dimensions : 1361, 1681, 2287841 (nrow, ncol, ncell)
resolution : 0.025, 0.025 (x, y)
extent : 112, 154.025, -44, -9.975 (xmin, xmax, ymin, ymax)
coord. ref. : +init=epsg:4326 +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0
data source : in memory
names : layer
values : 0, 42 (min, max)
now, to plot it you can use several approaches. However, to get something nice you'll first have to remove the "ocean" data by masking with a vector shapefile:
adm <- getData("GADM", country="AUS", level=1)
rr = mask(rr, adm)
plot(rr)

NOte that the plot shows more "colors" than your example, since I think they aggregated the Koppen regions by larger "categories". TO obtain a map osimilar to that you will have to "join" several values of the original ASCII in a smaller number of classes.
unique(getValues(r))