Friday, April 20, 2012

Logika Pemrograman Sederhana

Berikut adalah potongan program-program sederhana namun butuh analisis yang tidak asal :)
-------------------------------------------------------------------------

  1. Codingan sederhana tanpa eror:
    void main () {}
  2. for(int i=0;i>11;i++);
    cout<<"*";

    --hasilnya "*" karena setiap baris merupakan statement masing-masing. Hal ini ditandai dengan adanya tanda ";" di akhir statement. Jadi perulangan "for" tidak berlaku pada pencetakan "*". Sehingga program hanya mencetak "*" satu kali tanpa membaca perulangan hingga i<11.--
  3. !false || false && false

    --evaluasi dari potongan program tersebut adalah "true" karena hierarki dari "||" dan "&&" akan membaca "&&" terlebih dahulu. false && false = false. Lalu !false = true. Maka true || false = true. --
  4. double x = 1 / 2 * 3;
    cout<<x;

    --saat di jalankan, program akan menghasilkan output angka "0". Mengapa? Padahal kita sudah mendeklarasikan potongan program tersebut dengan "double" yang artinya memungkinkan melakukan perhitungan desimal. Hal ini karena angka-angka yang di tuliskan bersifat/bertipe "integer" yang artinya int/int*int = int. Maka program akan membaca data dengan tipe integer. Solusinya jika ingin mndapatkan hasil "1.5" sesuai perhitungan biasa adalah tambahkan titik di belakang angka manapun sehingga program membaca dalam bentuk double.
    Misalnya : double x = 1. / 2 * 3;
    SELAMAT MENCOBA.. :) --
Postingan analisis akan segera di lengkapi. :)

Select Case (List)

Contoh Pemrograman Visual (Visual Basic) dengan menggunakan List dan Structure Select .. Case versi saya :)
-----------------------------------------------------------------
Codingan


Private Sub Command1_Click()
Dim harga As Currency, total As Currency
Dim jumlah As Integer
Dim disc As Single
Dim satuan As String


If Text1.Text = "" Or Text1.Text = " " Then
MsgBox "Anda Belum Memilih Barang dan atau Memasukkan Jumlah!!"
List1.ListIndex = 0
Exit Sub
End If

Select Case List1.Text
Case "Flashdisk"
harga = 120000
satuan = "pack"
Case "Modem"
harga = 300000
satuan = "pack"
Case "PC"
harga = 5000000
satuan = "set"
Case "Laptop"
harga = 10000000
satuan = "buah"
Case "Kertas"
harga = 3000
satuan = "rim"
End Select
Label2.Caption = "Barang : " & List1.Text
Label3.Caption = "Harga : " & Format(harga, "currency") & "/" & satuan
jumlah = Text1.Text


Select Case jumlah
Case Is < 10
disc = 0
Case 10 To 20
disc = 0.15
Case Else
disc = 0.2
End Select
Label4.Caption = "Jumlah : " & jumlah & " " & satuan
total = jumlah * (harga * (1 - disc))
Label5.Caption = "Discount : " & Format(disc, "0%")
Label6.Caption = "Total Bayar : " & Format(total, "currency")
End Sub

Private Sub Command2_Click()
Label2.Caption = ""
Label3.Caption = ""
Label4.Caption = ""
Label5.Caption = ""
Label6.Caption = ""
Text1.Text = ""
Text1.SetFocus

End Sub

Private Sub Command3_Click()
MsgBox "Transaksi Selesai .. Terima Kasih.. "
End
End Sub

Private Sub Form_Load()
List1.AddItem "Flashdisk"
List1.AddItem "Modem"
List1.AddItem "PC"
List1.AddItem "Laptop"
List1.AddItem "Kertas"
End Sub

Private Sub List1_Click()

End Sub

Private Sub Text1_Change()
If Not IsNumeric(Text1.Text) Then
MsgBox "Masukkan Angka Pada Jumlah!"
Text1.Text = ""
End If
End Sub

Private Sub Timer1_Timer()
Label8 = Time

End Sub



Kalkulator Sederhana

Ini contoh program Visual Basic Kalkulator Sederhana versi saya :)
-----------------------------------------------------------------
Codingan 

Private Sub Command1_Click()
If Option1.Value = True Then
Label8.Caption = Val(Text1.Text) + Val(Text2.Text)
End If

If Option2.Value = True Then
Label8.Caption = Val(Text1.Text) - Val(Text2.Text)
End If

If Option3.Value = True Then
Label8.Caption = Val(Text1.Text) * Val(Text2.Text)
End If

If Option4.Value = True Then
Label8.Caption = Val(Text1.Text) / Val(Text2.Text)
End If

End Sub

Private Sub Command2_Click()
End
End Sub

Tampilan dan Keterangan





Pemrograman Alay Mengubah "ku" menjadi "q" :D


#include <iostream>
#include <string>
using namespace std;
void main()
{
string a;
int p,q;
cout<<"Masukan Kalimat : ";
getline(cin, a);
p = a.find("ku");
while ( p >= 0 )
{
a.replace(p, 2, "q");
p = a.find ("ku");
}
cout<<a<<endl;
}

Zodiak

#include <iostream>
using namespace std;
main()
{
int a, b;
cout<<"Tanggal Lahir Kamu (1-31) ";
cin>>a;
cout<<"Bulan Lahir Kamu (1-12) ";
cin>>b;
if ( a >= 21 && b == 12 || a <= 19 && b == 1 )
{
cout<<"Bintang Kamu Capricorn";
cout<<endl;
}
if ( a >= 20 && b == 1 || a <= 18 && b == 2 )
{
cout<<"Bintang Kamu Aquarius";
cout<<endl;
}
if ( a >= 19 && b==2 || a <= 20 && b == 3)
{
cout<<"Bintang Kamu Pisces";
cout<<endl;
}
if ( a >= 21 && b == 3 || a <= 20 && b==4)
{
cout<<"Bintang Kamu Aries";
cout<<endl;
}
if ( a >= 21 && b==4 || a <= 20 && b== 5)
{
cout<<"Bintang Kamu Taurus";
cout<<endl;
}
if ( a >= 21 && b==5 || a <= 20 && b==6)
{
cout<<"Bintang Kamu Gemini";
cout<<endl;
}
if ( a >= 21 && b==6 || a <= 20 && b==7)
{
cout<<"Bintang Kamu Cancer";
cout<<endl;
}
if ( a >= 21 && b==7 || a <= 21 && b==8)
{
cout<<"Bintang Kamu Leo";
cout<<endl;
}
if ( a >= 22 && b==8 || a <= 22 && b==9)
{
cout<<"Bintang Kamu Virgo";
cout<<endl;
}
if ( a >= 23 && b==9 || a <= 22 && b==10)
{
cout<<"Bintang Kamu Libra";
cout<<endl;
}
if ( a >= 23 && b==10 || a <= 22 && b==11)
{
cout<<"Bintang Kamu Scorpio";
cout<<endl;
}
if ( a >= 23 && b==11 || a <= 20 && b==12)
{
cout<<"Bintang Kamu Sagitarius";
cout<<endl;
}
}

Selisih Usia (menggunakan absolute)

#include <iostream>
#include <string>


using namespace std;
int main()
{
int tahun, dia;
string nama;
cout<<"Siapa Kamu ? ";


cin>>nama;


cout<<"BerapaUsia mu ? ";



cin>>tahun;


cout<<"Berapa Usia dia ? ";


cin>>dia;

cout<<nama<<" selisih usia kalian "<<abs(tahun-dia)<<" tahun";



}

Bapak - Ibu

#include <iostream>
#include <string>


using namespace std;
void main()


{


string nama;


char cowok;


cout<<"Siapa Kamu : ";


getline (cin, nama);


cout<<"Kamu Cowok (y/n)? ";


cin>>cowok;


cout<<"Halo, "<<(cowok == 'y' ? "Pak " : "Bu ")<<nama;


}




keterangan : menggunakan Microsoft Visual Studio