#include <stdio.h>
 
// Fungsi untuk menghitung dan menampilkan persentase
void hitung_persentase_genetika() {
    // Diasumsikan persilangan monohibrid dari dua induk heterozigot (Bb x Bb)
    // Proporsi genotipe F1: 1 BB : 2 Bb : 1 bb
    // Total perbandingan unit: 4.0
 
    const float total_unit = 4.0; 
 
    // Perbandingan Genotipe
    const float unit_homozigot_dominan = 1.0; // BB
    const float unit_heterozigot = 2.0;       // Bb
    const float unit_homozigot_resesif = 1.0; // bb
 
    // Perbandingan Fenotipe
    // Fenotipe Dominan (BB + Bb) -> 3 unit
    const float unit_fenotipe_dominan = unit_homozigot_dominan + unit_heterozigot; 
    // Fenotipe Resesif (bb) -> 1 unit
    const float unit_fenotipe_resesif = unit_homozigot_resesif; 
 
    printf("==========================================================\n");
    printf("       🧪 Program Persentase Sifat Keturunan F1\n");
    printf("         (Asumsi Persilangan Heterozigot: Bb x Bb)\n");
    printf("==========================================================\n");
 
    // Menghitung dan Menampilkan Persentase Genotipe
    float persen_BB = (unit_homozigot_dominan / total_unit) * 100.0;
    float persen_Bb = (unit_heterozigot / total_unit) * 100.0;
    float persen_bb = (unit_homozigot_resesif / total_unit) * 100.0;
 
    printf("\n--- Persentase Genotipe F1 (Rasio 1:2:1) ---\n");
    // Menggunakan "%.2f" untuk menampilkan 2 angka di belakang koma
    printf("1. Homozygot Dominan (BB): %.2f %%\n", persen_BB);
    printf("2. Heterozygot (Bb):       %.2f %%\n", persen_Bb);
    printf("3. Homozygot Resesif (bb): %.2f %%\n", persen_bb);
    printf("----------------------------------------------------------\n");
 
 
    // Menghitung dan Menampilkan Persentase Fenotipe
    float persen_fenotipe_dominan = (unit_fenotipe_dominan / total_unit) * 100.0;
    float persen_fenotipe_resesif = (unit_fenotipe_resesif / total_unit) * 100.0;
 
    printf("\n--- Persentase Fenotipe F1 (Rasio 3:1) ---\n");
    printf("1. Fenotipe Dominan (Sifat B): %.2f %%\n", persen_fenotipe_dominan);
    printf("2. Fenotipe Resesif (Sifat b): %.2f %%\n", persen_fenotipe_resesif);
    printf("----------------------------------------------------------\n");
}
 
// Fungsi utama program
int main() {
    hitung_persentase_genetika();
    return 0;
}