How make a custom search on backend in WordPress without plugin?

pre_get_posts is an action, not a filter. Change this:

add_filter('pre_get_posts','searchfilter');

to this:

add_action('pre_get_posts','searchfilter');

You also don’t need to return $query.

See documentation for pre_get_posts: http://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts