Phonocardiogram (PCG) signal analysis is a common method for evaluating the condition of the heart and detecting possible anomalies such as cardiovascular diseases. This work concentrates on the Physionet challenge database that stores PCG recordings for more than one thousand subjects, including healthy and pathological records. A complete methodology is provided to analyze and classify PCG data. The PCG signals are first filtered and segmented into different parts, then analyzed by applying a feature extraction process, followed by classifying the signal as that of a healthy or unhealthy person. The extracted optimal features subset includes statistical components, such as the mean and standard deviation from different parts of the signal, in addition to wavelet-based features. The classification mainly relies on bagging and boosting algorithms, as well as adequately preparing the data in order to yield an enhanced ensemble classifier. The work further provides the approach to combine multiple classification models to improve accuracy. The effect of segmenting the different beats of the PCG on classification scores is also addressed, and the results are shown to be of high precision with an accuracy score of 86.6% on the hidden test, in comparison with recent and best performing literature that achieved 86%. Also, the proposed methodology is extended to the Pascal heart sounds challenge with accurate results that exceed previous works confirming the performance and robustness of the work since it can be applied to multiple databases and sources. The work further provides important insights regarding analyzing PCG recordings and discusses future work possibilities.