You can reach karimunjawa from pelabuhan Kartini (a small port) in Jepara, the ferry runs about 3 times a week so make sure that you check the schedule.
The journey took about 6 hour, if you have time better take ferry besides cheaper you also can soak the atmosphere of people surround you and enjoy it!
I stayed in Wisma Apung, it's the only floating accomodation in this island. To get around you can use a small boat, but during my stay there I seldom left this accomodation because everything that I need had sorted out ;-) if I wanted to see sunrise I just need to get out from my room and the sunrise right infront of me, same goes to sunset i just need to walk around this place turned my back and I can see one of the best sunset! This place also has shark farm, so I can swim with shark and feed them as well! And you can also do snorkelling activity around this place too as it has nice coral reef.
And for the meal just like other accomodation you have an option to get it from the hotel (mine is Rp 20.000 for dinner and it's excellent seafood dinner!!) or you can go to Alun-Alun (town centre) where there are lots of food vendor and you can buy from them. If you want western food there is one restaurant calls "cafe Amore" .
Even I'm travelling solo I joined a group for snorkelling tour, it took about 2-3 days if you want to see all the spot. I think we visited 4-5 spot, one of the best one was near menjangan kecil island and the other one was near tengah island, amazing coral reefs and many beautiful fish!
If you have more time, beside snorkelling, diving, sunbathing and swimming another activity that you can do is to explore the mangrove forrest in the mainland.
Karimunjawa is really beautiful place to visit as it's still unspoilt, quiet and not as commercial as Bali or Gili T, infact karimunjawa reminds me of Gili Trawangan 10 years ago, but way much better.
There are lots of accomodation that suits all budget, from homestay style to resort style.
If you don't go with tour for snorkelling you can rent a a boat for about Rp 250.000 - 300.000/ day (depends on your skill to haggling) and the boat will take you to all spot. If renting a boat for your own not an option, alternatively you can talk to the tour operator if you can join their snorkelling trip and I think they'll only charge you about Rp 70.000/ day/person.
Visit Karimunjawa! you'll not regret it and I'm sure just like me you'll have a good time in this beautiful place and for myself it's easily become one of the best holiday spot that I ever been :-)