If bitcoin is decentralized then who keeps track of computers in network I keep hearing that bitcoin is decentralized i.e. no single entity owns it. And each computer which is part of bitcoin network keeps the copy of ledger.  

My question is who keeps track of all computers in bitcoin network? For e.g. if a transaction happens, who sends (or broadcasts it) to network so all can keep a copy of it?  

Doesn't it make it centralized?
Nobody keeps track of all the computers in the network, or at least not as part of core network functionality.  There are sites that attempt to track nodes (such as https://bitnodes.21.co/), but they are not needed in order for Bitcoin to function, and are not utilized by nodes.  Each node only knows about the nodes it is connected to.

Therefore, to broadcast a transaction, a node simply sends it to the nodes to which it is currently connected.  Those nodes, in turn, relay the transaction to all their connections who all do likewise.  This means a transaction can reasonably be seen by all nodes in a very short amount of time (a few seconds or less).

For information on how nodes find other nodes to connect to in the first place, there's already some great answers here:

How do Bitcoin clients find each other?