how to program using usbasp and still keep bootloader.
You can't, BTW.
(well, if you're using something outside of Arduino, you can merge the .hex files for the bootloader and your application. Or you can set things up so that you burn the bootloader and then burn the app, or vis-versa, but overwriting an existing application always involves an "Erase all" step that will wipe out the bootloader.)