Functional testing differs from system testing in that
functional testing "verifies a program by checking it against
design document(s) or specification(s)", while system testing
"validate a program by checking it against the published user
or system requirements".
System testing is done to check the functionality of the
system as a whole, and with the functionality of the system
as well as non-functional attributes are checked like
performance and reliability of the system.
But Functional testing can be in any form of test levels-
In Component testing it verifies the Component functions
properly or not.
In Integration testing it verifies interfaces of
different modules are integrated properly or not.
So we can say Functional testing might be part of System
testing but reverse is not true.