Senin, 26 Mei 2014

PROGRAM ALGORITMA EUCLIDEAN & ARITMATKA MODULAR

Tujuan: algoritma untuk mencari PBB dari dua buah bilangan bulat.

Pengertian Algoritma Euclid

Salah satu cara mencari FPB adalah dengan algoritma Euclid. Tahun 1950, algoritma pertama kali di gunakan pada “Algoritma Euclidean (Euclid’s algorithm)“.
Euclid, matematikawan Yunani (lahir 350 SM), buku Element menuliskan langkah-langkah untuk menemukan pembagi bersama terbesar (common greatest divisor atau gcd), dari dua buah bilangan bulat, m dan n.
pembagi bersama terbesar dari dua buah bilangan bulat tak negatif adalah bilangan bulat positif terbesar yang habis membagi kedua bilangan tersebut.
Misalnya, m = 45 dan n = 36.Semua faktor pembagi 45 adalah 1, 3, 5, 9, 15,45
Semua faktor pembagi 36 adalah 1, 2, 3, 4, 6, 9,12,18,36
maka PBB(45,36) = 9 
Berikut Output menggunakan aplikasi VB ( Visual Basic) 
Source Code menggunakan Visual Basic


Ø  Private Sub cmdkeluar_Click()
pesan = MsgBox("Anda Yakin Ingin Keluar?", vbYesNo, "KELUAR")
If pesan = vbYes Then
End
End If
End Sub
Ø  Private Sub cmdproses_Click()
Dim a, b, c, i, x As Integer
a = Text1.Text
b = Text2.Text

If Val(a) > Val(b) Then
x = a
ElseIf Val(b) > Val(a) Then
x = b
End If
Print x
For i = 1 To x
If a Mod i = 0 And b Mod i = 0 Then
c = i
Text5.Text = Text5.Text & " " & Str(c)
End If
If a Mod i = 0 And b Mod i = 0 Then
c = i
End If
Next i
Text6.Text = c
vbil = Val(Text1.Text)
vbil1 = Val(Text2.Text)
For i = 1 To vbil
If vbil Mod i = 0 Then
Text3.Text = Text3.Text + Str(i)
End If
Next i
For n = 1 To vbil1
If vbil1 Mod n = 0 Then
Text4.Text = Text4.Text + Str(n)
End If
Next n
End Sub
Ø  Private Sub cmdulangi_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text1.SetFocus
End Sub

ARITMATIKA MODULAR

Aritmatika modular merupakan operasi matematika yang banyak diimplementasikan pada metode kriptografi. Aritmatika modulo mengambil bilangan tak berhingga dan menggulungnya dalam suatu lingkaran terbatas. Semua bilangan yang melintasi point yang sama pada titik lingkaran adalah kongruen.
Satu keistimewaan aritmatika modulo yaitu dapat mengganti bentuk operasi penambahan dan perkalian dengan nilai kongruen, dan masih dapat diperoleh nilai yang benar.

Berikut Output  menggunakan aplikasi VB ( Visual Basic)

 
Source Code menggunakan Visual Basic

Dim a, b As Integer
Function faktor(n, m As Integer)
End Function
Ø  Private Sub Cmdform2_Click()
Form2.Show
End Sub
Ø  Private Sub cmdproses_Click()
a = 0
Call faktor(Val(Text1.Text), Val(Text2.Text))
Text3.Text = Val(Text1.Text) / Val(Text2.Text)
Text4.Text = Val(Text1.Text) Mod Val(Text2.Text)
End Sub
Ø  Private Sub cmdulangi_Click()
Text1 = ""
Text2 = ""
Text3 = ""
Text4 = ""
Text1.SetFocus

Sabtu, 24 Mei 2014

QUEUE (ANTRIAN)


           Queue (antrian) adalah struktur data dimana data yang pertama kali dimasukkan adalah data yang pertama kali bisa dihapus. Atau bisa juga disebut dengan struktur data yang menggunakan mekanisme FIFO (First In First Out).
         Queue dalam kehidupan sehari-hari seperti antrian pada penjualan tiket kereta api, dimana orang yang pertama datang adalah orang yang pertama kali dilayani untuk membeli tiket. Jika ada orang baru yang datang akan membeli tiket, maka posisinya berada pada urutan paling belakang dalam antrian tersebut. Orang yang berada pada posisi terakhir dalam antrian adalah yang terakhir kali dapat dilayani dan memperoleh tiket kereta api dan  nasabah yang antri di teller bank.
 Berikut adalah contoh program queue:

#include<iostream>
#include<cstdlib>
#include<conio.h>
#define n 3
    void INSERT(void);
    void DELETE(void);
    void CETAKLAYAR(void);
    void iisialisasi(void);
int PIL,F,R,COUNTER;
    char PILIHAN[1],HURUF;
    char Q[n];
using namespace std;
int main()
{
    inisialisasi();
    do
    {

        cout<<"                          CIRCULAR QUEUE                             "<<endl;
        cout<<"________________________________________________________________"<<endl;
        cout<<" PROGRAM CIRCULAR QUEUE                                              "<<endl;
        cout<<"========================================================="<<endl;
        cout<<" 1.INSERT                                                              "<<endl;
        cout<<" 2.DELETE                                                             "<<endl;
        cout<<" 3.CETAK ANTRIAN                                            "<<endl;
        cout<<" 4.KELUAR                                                            "<<endl;
        cout<<" * CATATAN : BATAS INPUT = 3 HURUF         "<<endl;
        cout<<"_________________________________________________________________"<<end
        cout<<" SILAHKAN MASUKKAN PILIHAN : ";cin>>PILIHAN;
        PIL=(PILIHAN);
        switch(PIL)
     {
            case 1:
                INSERT();
                break;
            case 2:
                DELETE();
                break;
            case 3:
                CETAKLAYAR();
                break;
            default :
            cout<<"TERIMA KASIH"<<endl;
            break;
      }
        cout<<"Press any key to continue"<<endl;
        getch();
        system("cls");
    }
    while (PIL<4);
    return 0;
}

void INSERT(void)
{
    if(COUNTER<n)
    {
        cout<<endl<<"Masukkan 1 huruf : ";
        cin>>HURUF;
        R = (R + 1) % n;
        Q[R] = HURUF;
        COUNTER++;
    }
    else
        cout<<"Antrian Penuh!"<<endl;

}
void CETAKLAYAR(void)
{
    if(COUNTER>0)
    {
        for(int k = 0; k < COUNTER; k++)
        {
            int i = (F+k) % n;
            cout << "Q["<<k<<"]="<<Q[i] << endl;
        }
    }
    else
        cout<<"Queue kosong!"<<endl;

}
void DELETE(void)
{
    if(COUNTER>0)
    {
        HURUF=Q[F];
        F = (F + 1) %n;
        COUNTER--;

        cout<<"Data yang di ambil :"<<HURUF<<endl;
    }
    else
        cout<<"Antrian Kosong!"<<endl;

}
void inisialisasi(void)
{
    F=0;
    R=-1;
    COUNTER=0;
 return 0;
}


http://uts-sumbawa.ac.id/
http://widiartaimade.blogspot.com/
  


Minggu, 11 Mei 2014

Konversi Bilangan Desimal ke Biner

 Adapun syntax dalam mengkonversi Bilangan desimal ke bilangan Biner yaitu:

#include <iostream>
#include <string>
#include <stack>

using namespace std;

class konversi {
   private :
       stack <int>p;
       int desimal;
   public :
   void proses(){
    cout<<"Masukkan bilangan desimal : ";
    cin>>desimal;
    for (;;){
    p.push(desimal);
    desimal = desimal / 2;
    if (desimal < 1 )
    break;
    }
   }
   void hasil(){
    for (;;)
    {
        cout<<p.top()%2<<" ";
    p.pop();
        if (p.empty())
            break;
    }
   }
};

int main()
{
    konversi bil;

    bil.proses();
    bil.hasil();

    return 0;
}

 http://uts-sumbawa.ac.id/
 http://widiartaimade.blogspot.com/

Sabtu, 03 Mei 2014

Program Kalkulator Berorientasi Object Proggramming dengan C++

OOP (Object oriented Programing)

Pemograman Object Oriented adalah membuat suatu program yang terdiri dari berbagai oject yang saling beriteraksi (dalam beberapa buku di artikan dengan bertukar pesan antar object). Ketika membuat Sebuah program yang ruang lingkupnya luas konsep object oriented akan terasa sangat membantu karna akan terasa lebih mudah untuk menggorganisir program yang telah kita buat,Dalam konsep object oriented terdapat 2 istilah yaitu objeck dan class,class merupakan pola atau template yang menggambarkan kumpulan object yang mempunyai sifat yang sama,perilaku,atau disebut dengan himpunan object sejenis. Sementara object adalah implementasi dari class.


Pemrograman berorientasi Object (OOP)

Pemrograman berorientasi Object merupakan paradigma pemrograman yang menggunakan " objek "- struktur data yang terdiri dari bidang data dan metode bersama dengan interaksi mereka - untuk merancang aplikasi dan program komputer. Programming techniques may include features such as data abstraction , encapsulation , modularity , polymorphism , and inheritance . Pemrograman teknik dapat mencakup fitur seperti data abstraksi , enkapsulasi , modularitas , polimorfisme , dan warisan . Many modern programming languages now support OOP.

Berikut adalah contoh program kalkulator dengan menggunakan C++ 
syntax:
#include <iostream>
#include <string>
using namespace std;
class Kalkulator
{
    protected :
    float Bil1;
    float Bil2;
    float Hasil;
    float Jumlah;
};
class Kalkulator_Science : public Kalkulator
{
private :
    float Bil3;
    public :
    void input()
    {
        cout<<"Kalkulator Science"<<endl;
        cout<<"Masukkan Bilangan Pertama : "; cin>>Bil1;
        cout<<"Masukkan Bilangan Kedua : "; cin>>Bil2;
    }
    void output()
    {
       cout<<"kalkulator science"<<endl;
        Hasil=Bil1 *Bil1 ;
        cout<<"Kuadrat= " <<Bil3<<endl;
        Hasil= Bil1 + Bil2 / 2;
        cout<<"Hitung Rata-Rata= "<<Bil3<<endl;
    }
};

class Kalkulator_Dagang: public Kalkulator
{

    private :
    public:
        void input()
        {
            cout<<"Kalkulator Dagang"<<endl;
            cout<<"Masukkan Bilangan pertama: "; cin>>Bil1;
            cout<<"Masukkan Bilangan Kedua : "; cin>>Bil2;
        }
        void output()
        {
            Hasil=Bil1 - Bil2 ;
            cout<<"Kurang = "<<Hasil<<endl;
            Hasil=Bil1 * Bil2;
            cout<<"Kali = "<<Hasil<<endl;
            Hasil=Bil1 / Bil2;
            cout<<"Bagi = "<<Hasil<<endl;
        }
};
    int main()
    {
        Kalkulator_Science Ks;
        Kalkulator_Dagang Kd;
        int pil;
        cout<<"Kalkulator"<<endl;
        cout<<"1. Kalkulator Science"<<endl;
        cout<<"2. Kalkulator Dagang"<<endl;
        cout<<"pilih : "; cin>>pil;
        if(pil==1)
        {
            Ks.input();
            Ks.output();
            cout<<endl;
        }
        if (pil==2)
        {
            Kd.input();
            Kd.output();
            cout<<endl;
        }
        return 0;
    }
Output:





http://uts-sumbawa.ac.id/  
http://widiartaimade.blogspot.com/