Using a domain in the second half of a RewriteRule causes a Redirect to occur, rather than a Rewrite (the same as if you provide the R flag).
A 500 error is nearly always caused by an infinite loop meaning the address never resolves. Your best bet will be to use RewriteLog and see what's actually happening during your request.
I don't see how just the rules you have posted could cause this, but I'm assuming you have other RewriteRules in the file that are causing the problem. One thing that I will mention is the fact that the rule you currently have will send all requests to the exact same page. You are not persisting the REQUEST_URI part of the request, not the QUERY_STRING, so all requests to a sub-domain will end up at /toko-user?toko=subdomain regardless of what page is requested from that subdomain.