Search Here

Tuesday, February 5, 2013

Tantang IF [C++]


    Kali ini kita akan membahas Tentang IF, yaitu salah satu cara percabangan di C++.
Percabangan yang gimana? Hmm, sabar... kita ikuti tulisan ini sampai selesai dulu.

    Hmm... gimana ya, masalahnya sejauh ini, materi yang paling sulit bagiku itu ya Tentang IF ini. Dan materi inilah satu satunya yang ada dibuku catatanku, karena sebelumnya aku emang nggak pernah nyatet (Ehem... penulis adalah seorang pemalas) mau liat catetanku? oke! nih liat...


    Emmh... emang terkesan agak nggak ikhlas buat nyatet, dan catetannya juga asal asalan, ga tau bener apa nggak... tapi ya emang beginilah adanya... dan ini pun catetan hasil nyontek dari punya temenku #payaah.

    Catetan diatas adalah salah satu bentuk dari Nested IF (akan dijelaskan nanti). Jadi, sebaiknya kita langsung menuju contohnya aja ya...
Perhatikan contoh mudah dibawah.

#include<iostream>
using namespace std;

void main(){

    int a;
   
    cout<<"Masukin angka 1, 2, atau 3: ";
    cin>>a;

    if (a==1){
        cout<<"Satu"<<endl;
    } else if (a==2){
        cout<<"Dua"<<endl;
    } else if (a==3){
        cout<<"Tiga"<<endl;
    } else {
        cout<<"Kamu hanya boleh memasukan angka 1, 2, atau 3!"<<endl;
    }

}

Contoh diatas akan diperjelas dengan ini:

  • Jika kita memasukan 1, maka akan keluar 'Satu'.
  • Begitu juga dengan 2 dan 3
  • Jika kita memasukan selain 1, 2, atau tiga, maka akan muncul tulisan 'Kamu hanya boleh memasukan angka 1, 2, atau 3!'
  • Jika syarat If terpenuhi (dalam kasus diatas, syarat nya adalah apabila a==1), maka akan dijalankan perintah yang ada didalamnya, (dalam kasus diatas, perintahnya adalah cout<<"Satu"<<endl;)
  • Else if berguna jika syarat pada If nggak terpenuhi, Else if bisa ditambahkan sebanyak yang kita perlukan
  • Dan Else berguna apabila syarat pada If atau Else if nggak ada yang terpenuhi.

    Tanda sama dengan harus 2 (==)
Selain tanda sama dengan, ada juga tanda lain seperti: tanda lebih dari (>), lebih dari atau sama dengan (>=), kurang dari (<), kurang dari atau sama dengan (<=), tidak sama dengan (!=)

    Oke, Contoh If yang sederhana sudah ada diatas. Sesuai dengan janjiku tadi, aku bakal ngejelasin tentang Nested If juga. Kalo aku sih sering ngomongnya ada If didalem If...
Nah, ini dia yang bikin aku sedikit pusing...

    Oh iya, If juga bisa dikombinasiin sama AND (&&) dan OR (||), jadi mereka ini berperan di dalam syarat If, kalau misalnya syaratnya ada 2, dan memakai AND, maka kedua syaratnya harus terpenuhi, baru bisa menjalankan perintah yang ada di dalam If nya.
Kalau memakai OR, maka jika salah satu saja syarat terpenuhi, maka perintah didalam If nya akan dijalankan.

Kita langsung kecontoh aja kali ya... Perhatikan!

#include<iostream>
using namespace std;

void main(){

    int a;

    cout<<"Masukin nilai kamu ";
    cin>>a;

    if (a>0 && a<70){
        cout<<a<<" itu nilai yang jelek! Dasar kunyuk! Hari ini nggak boleh main bola lagi!"<<endl;
    } else if(a>=70){
        if(a<=80){
            cout<<"Hmmm nilai kamu adalah "<<a<<"... nilai kamu lumayan juga ternyata"<<endl;
        } else if(a<90){
            cout<<"Hmmm nilai kamu adalah "<<a<<" Ternyata nilai kamu bagus juga..."<<endl;
        } else {
            cout<<a<<"! Nilai kamu sangat bagus!!"<<endl;
        }
    } else {
        cout<<a<<" adalah nilai yang sangat buruk!"<<endl;
    }
}

Hmm, kita akan menerjemahkan contoh diatas kedalam bahasa sehari hari...

    Begini, misalkan seorang anak yang bernama Monyong baru saja menerima hasil ujiannya, kemudian dia memberitaukan orang tuanya tentang hasil ujiannya, orang tuanya memiliki kriteria yang menentukan komentarnya.
    Jika si Monyong mendapatkan nilai diatas 0 dan dibawah 70, maka orang tuanya akan ngomong "itu nilai yang jelek! Dasar kunyuk! Hari ini nggak boleh main bola lagi!" setelah menyebutkan nilai si Monyong.
    Jika si Monyong mendapatkan nilai lebih dari atau sama dengan 70, munculah beberapa kemungkinan.
    Kemungkinan pertama, Jika dia mendapat nila lebih dari atau sama dengan 70, dan masih dibawah 81, maka dia akan mendapat kritikan "Hmmm nilai kamu adalah xxx... nilai kamu lumayan juga ternyata"
    Kemungkinan kedua, Jika nilainya diatas 69, dan dibawah 90, maka dia akan mendapatkan komentar "Hmmm nilai kamu adalah xxx Ternyata nilai kamu bagus juga..."
    Kemungkinan ketiga, Jika nilainya diatas 69, dan tidak berada dibawahnya 81 atau 90, dia akan mendapatkan komentar "xxx! Nilai kamu sangat bagus!!"
    Dan komentar yang terakhir, jika nilai si Monyong nggak ada diantara 0 sampai70, dan tidak juga lebih besar atau sama dengan 70, maka dia akan mendapatkan komentar "xxx adalah nilai yang sangat buruk!" karena sudah dapat dipastikan bahwa si Monyong mendapatkan nilai 0.


    Ahhh, Oke lah... itu sudah semua yang aku pahami, kalo ada kekurangan ya nggak tau juga sih hehe... dan semoga apa yang ada diatas dapat dipahami dan berguna... hehe sekian dulu ya, byee!