Baca juga:

    Pengertian Decision (Switch) , Serta Jawaban Tugas-Tugasnya

    Perintah switch ialah pernyataan yang dirancang untuk mengatasi pengambilan keputusan yang melibatkan sejumlah opsi alternatif yang diantaranya untuk mengambil alih pernyataan IF bertingkat.


    Setiap pernyataan 1 , pernyataan 2 , hingga pernyataan n sanggup suatu atau beberapa pernyataan. Pengujian pada switch akan dimulai dari konstanta 1. Apabila nilainya cocok dengan lisan maka pernyataan 1 akan dilakukan , kalau tidak sesuai maka akan beralih ke pernyataan 2 dan seterusnya hingga hasil yang diinginkan.


    Perintah break membuat sanksi diarahkan ke simpulan switch kalau nilai konstanta 1 tidak sama dengan nilai lisan dan lalu gres diteruskan pengujian dengan konstanta 2 dan seterusnya , kalau hingga pada pengujian simpulan tidak ada yang tepat maka default akan dijalankan. Bentuknya yakni selaku berikut:


    SWITCH (ekspresi)
    {
      case konstanta1;
        pernyataan1;
        break;
      case konstanta2;
        pernyataan2;
        break;
      case konstanta3;
        pernyataan3;
        break;
      case konstanta4;
        pernyataan4;
        break;
      ...
      ...
      ...
      case konstanta;
        pernyataan;
        break;
      default;
      pernyataan n;
    }


    Dari bentuk lazim diatas , sanggup diterangkan bahwa lisan sanggup berupa sebutan yang bernilai integer atau bertipe karakter. Setiap konstanta 1 , konstanta 2 , hingga konstanta n sanggup berupa konstanta integer atau konstanta karakter.


    Tugas Praktikum

    a. Buatlah jadwal rujukan jadwal switch (simpan dengan nama lat4_1.cpp)


    #include

    main() {
        int kdhari;
      
        printf("Masukkan instruksi hari [1-7] : "); scanf("%d" , &kdhari);
        printf("\n");
      
        switch (kdhari) {
            case 1:
                printf("Senin"); break;
            case 2:
                printf("Selasa"); break;
            case 3:
                printf("Rabu"); break;
            case 4:
                printf("Kamis"); break;
            case 5:
                printf("Jum'at"); break;
            case 6:
                printf("Sabtu"); break;
            case 7:
                printf("Minggu"); break;
            default:
                printf("Kode tidak ada");
        }
      
        printf("\n");
    }


    b. Buatlah jadwal "Berdasarkan Algoritma Berikut ini" (simpan dengan nama lat4_2.cpp)


    #include

    main() {
        char kode;
        int luas , keliling , panjang , lebar , ganjal , tinggi , sisi1 , sisi2 , sisi3 , jari , pi;
        float luasS , luasL , kelilingL;
          
        printf("Masukkan instruksi santapan [S/P/L] : ");
        kode = getchar();
        printf("\n");
      
        switch (kode) {
            case 'S':      
                printf("Masukkan ganjal : "); scanf("%d" , &alas);
                printf("Masukkan tinggi : "); scanf("%d" , &tinggi);
                printf("Masukkan sisi 1 : "); scanf("%d" , &sisi1);
                printf("Masukkan sisi 2 : "); scanf("%d" , &sisi2);
                printf("Masukkan sisi 3 : "); scanf("%d" , &sisi3);
              
                luasS = 0.5*alas*tinggi;
                keliling = sisi1+sisi2+sisi3;
              
                printf("\n");
                printf("Luas Segitiga : %f\n" , luasS);
                printf("Keliling Segitiga : %d\n" , keliling);
                break;
              
            case 'P':
                printf("Masukkan panjang : "); scanf("%d" , &panjang);
                printf("Masukkan lebar : "); scanf("%d" , &lebar);
              
                luas = panjang*lebar;
                keliling = 2*(panjang+lebar);
              
                printf("\n");
                printf("Luas Persegi Panjang : %d\n" , luas);
                printf("Keliling Persegi Panjang : %d\n" , keliling);
                break;  
              
            case 'L':
                printf("Masukkan jari-jari : "); scanf("%d" , &jari);
              
                luasL = 3.14*jari*jari;
                kelilingL = 3.14*(jari+jari);
              
                printf("\n");
                printf("Luas Lingkaran : %f\n" , luasL);
                printf("Keliling Lingkaran : %f\n" , kelilingL);
                break;
              
            default:
                printf("Kode tidak ada");
        }
        return 0;
    }


    Tugas Pendahuluan

    1. Jelaskan keistimewaan perintah Switch dibandingkan perintah IF!

    • Kelebihan perintah Switch dibanding perintah IF yakni Switch dipakai untuk memutuskan banyak opsi , pernyataan switch tidak perlu memakai {} untuk mengeksekusi , programmer sanggup memutuskan pernyataan mana yang hendak dipakai menurut akomodasi membaca jadwal dan faktor-faktor yang lain.

    2. Mengapa anda selaku programmer mesti memakai perintah Switch dalam program!

    • Sama halnya menyerupai perintah IF yakni setiap jadwal kebanyakan memerlukan algoritma suatu keputusan atau pernyataan. Namun perintah Switch yakni perintah pernyataan yang dirancang untuk mengatasi pengambilan keputusan yang melibatkan sejumlah opsi alternatif yang dirancang diantaranya untuk mengambil alih pernyataan IF bertingkat.

    3. Sebutkan dan jelaskan perintah-perintah penunjang perintah Switch!

    • Switch case ialah salah satu bentuk percabangan yang dipakai untuk opsi berjumlah banyak. Tidak diusulkan pada opsi yang melibatkan jangkauan (range) tapi diusulkan pada opsi berupa konstanta.

    4. Buatlah rujukan algoritma dan jadwal sederhana memakai perintah Switch dengan memakai Flowchart!


    #include

    main() {
        int kode;
      
        printf("Kumpulan rumus-rumus\n");
        printf("Masukkan instruksi [1-3] : "); scanf("%d" , &kode);
        printf("\n");
      
        switch (kode) {
            case 1:
                printf("Rumus Luas dan Keliling Segitiga\n\n");
                printf("Luas = (1/2) x Alas x Tinggi\n");
                printf("Keliling = Sisi + Sisi + Sisi\n");
                break;
            case 2:
                printf("Rumus Luas dan Keliling Persegi Panjang\n\n");
                printf("Luas = Panjang x Lebar\n");
                printf("Keliling = 2 x Panjang x Lebar\n");
                break;
            case 3:
                printf("Rumus Luas dan Keliling Lingkaran\n\n");
                printf("Luas = 3 ,14 x Jari x Jari\n");
                printf("Keliling = 3 ,14 x (Jari + Jari)\n");
                break;
            default:
                printf("Kode tidak ada");
        }
    }


    Tugas Akhir

    1. Buatlah algoritma dan jadwal untuk memutuskan bonus yang hendak diperoleh seorang konsumen kalau diberlakukan ketentuan berikut ini:


    #include
    #include
    #include

    main() {
        int pembelian;
        char bonus[100];
      
        printf("Harga pembelian : "); scanf("%d" , &pembelian);
        printf("\n");
      
        if (pembelian<=100000 && pembelian<200000) {
            strcpy (bonus , "Discount 5%");
        }
        else if (pembelian<=200000 && pembelian<300000) {
            strcpy (bonus , "Tiket ke Yogya");
        }
        else if (pembelian<=300000 && pembelian<400000) {
            strcpy (bonus , "Tiket ke Bali");
        }
        else if (pembelian<=400000 && pembelian<500000) {
            strcpy (bonus , "Jam Tangan Rolex");
        }
        else if (pembelian>=500000) {
            strcpy (bonus , "Tiket ke Swiss");
        }
      
        printf("Pembelian : %d\n" , pembelian);
        printf("Bonus : %s\n" , bonus);
    }