while(Wire.available()){
data[x]=Wire.read();
}
You need to increment x (or something along those lines). Everything is getting stuffed in the first element, with the rest defaulting to int 0.
If the 43 IS supposed to be 430 then there's maybe a "size" issue there too (byte).