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

Bubble Sort & Sequential Search Menu


#include <iostream>
#include <conio.h>


using namespace std;


int data[100],data2[100];
int n;


int tukar(int a,int b)
{
int t;
t = data[b];
data[b] = data[a];
data[a] = t;
}


int bubble_sort()
{
for(int i=1;i<n;i++)
{
for(int j=n-1;j>=i;j--)
{
if(data[j]<data[j-1]) tukar(j,j-1);
}
}
cout<<"bubble sort selesai!\n";
}


int Sequen_search()
{
int cari,index;
int ketemu=0;
cout<<"masukkan data yang ingin dicari = ";
cin>>cari;
for(int i=0;i<n;i++)
{
if(data[i] == cari)
{
ketemu=1;
index = i;
break;
}
}
if(ketemu == 1)
{
cout<<"Data ada"<<endl;
cout<<"Data terletak di index ke  "<<index;
}
else cout<<"Data Tidak ada"<<endl;
getch();
}


void Input()
{
cout<<"Masukkan jumlah data = "; cin>>n;
for(int i=0;i<n;i++)
{
cout<<"Masukkan data ke-"<<(i+1)<<" = "; cin>>data[i];
data2[i] = data[i];
}
}


int Tampil()
{
cout<<"Data : "<<endl;
for(int i=0;i<n;i++)
{
cout<<data[i]<<" ";
}
cout<<endl;
}


int main()
{
int pil;
system("cls");
do
{
system("cls");
cout<<"Program Sorting Searching"<<endl;
cout<<"**************************************"<<endl;
cout<<" 1. Input Data"<<endl;
cout<<" 2. Bubble Sort"<<endl;
cout<<" 3. Sequential Search"<<endl;
cout<<" 4. Tampilkan Data"<<endl;
cout<<" 5. Exit"<<endl;
cout<<"Pilihan Anda = ";  cin>>pil;
switch(pil)
{
case 1:Input(); break;
case 2:bubble_sort(); break;
case 3:Sequen_search();break;
case 4:Tampil(); break;
}
getch();
}
while(pil!=5);
}

Program Jodoh Shio :D

#include <iostream>
#include <string>
using namespace std;

void main()
{
string input, input2; 
string sio[] = {"tikus", "kerbau", "macan", "kelinci", "naga", "ular", "kuda", "kambing", "monyet", "ayam", "anjing", "babi"};
int x, sio1, sio2;

cout<<"Masukan Sio Pertama : "; cin>>input;
cout<<"Masukan SIo Kedua : "; cin>>input2;

for ( x = 0; x < 12; x++ )
{
if ( input == sio[x] )
{
sio1 = x;
}

if ( input2 == sio[x] )
{
sio2 = x;
}
}

cout<<sio1<<endl;
cout<<sio2<<endl;
if ( abs (sio1-sio2) == 4 || abs (sio1-sio2) == 8 )
{
cout<<"Berjodoh";
}
else{
    cout<<"Tidak Berjodoh"; }
}

Monday, April 16, 2012

SEQUENTIAL SEARCHING


#include <iostream.h>
#include <conio.h>




void main()
{
int i;
int cari,ketemu;
  int A[100]  ;


cout<<"* PROGRAM SEQUENTIAL SEARCHING *\n";
cout<<"--------------------------------\n";
cout<<"Inputlah 7 buah data!\n\n";


for (i=1;i<=7;i++)
{
cout<<"Data ke-"<<i<<" = ";
cin>>A[i] ;
}
cout<<endl;
cout<<"Input bilangan yang dicari : ";
cin>>cari;


ketemu=0;
for(i=0;i<=7;i++)
{
 if (A[i]==cari)
 {
ketemu=1;
cout<<"Data ada pada indeks ke-"<<i<<endl;
 }
}


if (ketemu==0){
cout<<"Data tidak ditemukan";
}


 getch();
}

TABEL PANGKAT


#include <iomanip.h>
#include <iostream.h>
#include <conio.h>


void main()
{
int kubik[10],pangkat[10],k,total,jumlah,jp,jk,jj;
jumlah=0;
jk=0;
jp=0;
jj=0;


cout<<"Bilangan"<<setw(13)<<"Pangkat"<<setw(11)<<"Kubik"<<setw(13)<<"Total"<<endl;
for(int i=0;i<10;i++)
{
k=i+1;
pangkat[i]=k*k;
kubik[i]=k*k*k;
total=k+pangkat[i]+kubik[i];


jumlah=jumlah+k;


jp=jp+pangkat[i];


jk=jk+kubik[i];


jj=jj+total;


cout<<setw(7)<<k<<setw(12)<<pangkat[i]<<setw(12)<<kubik[i]<<setw(13)<<total<<endl;
}
cout<<"-------------------------------------------------------------------------- +\n";
cout<<setw(7)<<jumlah<<setw(12)<<jp<<setw(12)<<jk<<setw(13)<<jj<<endl;
}

MAX,MIN,AVERAGE


#include <conio.h>
#include <iostream.h>


void main ()
{


int a,b,c,max,min;
float jumlah, pembagi, rata;


b=0;
jumlah=0;
pembagi=0;


for (int i=0;i<100;i++)
{
cout<<"Masukan bilangan = ";
cin>>a;


if (a==999)
{break;}


jumlah=jumlah+a;


if (a<b)
{
max = b;
b=max;
}


if (a>b)
{
max=a;
b=max;
}


if (a<c)
{
min=a;
c=min;
}


if (a>c)
{
min=c;
c=min;
}


pembagi++;
}


rata=jumlah/pembagi;
cout<<"\nRata = "<<rata;
cout<<"\nMax = "<<max;
cout<<"\nMin = "<<min;




}

PENGANTAR ARRAY


#include <iostream.h>
#include <conio.h>


void main ()
{


int a[5];
for (int i=0;i<5;i++)
{
cout<<"Masukkan array ke "<<i<<" =";
cin>>a[i];
}
for (int b=0;b<i;b++)
{
cout<<"a["<<b<<"] = "<<a[b]<<endl;
}
}

PENJUMALAHAN MATRIKS


#include<iostream.h>
#include <conio.h>
#include <iomanip.h>
int i, j, baris, kolom, m1[10]
[10], m2[10]
[10], hasil[10]
[10];
void main()
{
  clrscr();
  cout << "Operasi Penjumlahan Matrix\n";
  do
  {
   cout << "Jumlah Baris = "; cin>>baris;
   cout << "Jumlah Kolom = "; cin>>kolom;
  }
  while((baris>10)||(kolom>10));
/*  do
  while(kolom>10);*/
  cout << "\nMatrix A" << endl;
  for(i=0;i<baris;i++)
for(j=0;j<kolom;j++)
{
 cout <<"data [" << i << "," << j << "] = ";
 cin>>m1[i][j];
}
  cout << "\nMatrix B" << endl;
  for(i=0;i<baris;i++)
for(j=0;j<kolom;j++)
{
 cout <<"data [" << i << "," << j << "] = ";
 cin>>m2[i][j];
}
  for(i=0; i<baris;i++)
for(j=0; j<kolom; j++)
hasil[i][j] = m1[i][j] + m2[i][j];
  cout << "\nHasilnya..." << endl;
  cout << "Matrix A  +  Matrix B  =  Matrix C";
  for(i=0; i< baris; i++)
{
cout<<'\n';
for(j=0; j<kolom; j++)
 cout << setw(4) << m1[i][j];
 cout << "     ";
for(j=0; j<kolom; j++)
 cout << setw(4) << m2[i][j];
 cout << "     ";
for(j=0; j<kolom; j++)
 cout << setw(4) << hasil[i][j];
    cout << endl;
   }
  getch();
}