Why is SSL on top of TCP? Why is SSL not under TCP (the Transport layer)?
why the SSL is not under the TCP ( Transport layer ) ? 


Because SSL can use TCP [1] to transport SSL records, and so SSL relies on TCP as a service.

That is, SSL takes the user data stream, and converts it into a series of records; it then gives these records to TCP to transmit.  On the other side, the receiver's TCP stack gets these records and gives it to SSL to decrypt.

Similarly, TCP takes the data it has been given, and converts it into a series of segments; it then gives these segments to IP to transmit (hence TCP is shown on top of IP).



[1] There's no requirement that SSL has to use TCP; it's just what is used in practice.