selamat datang di algoritma pemrograman
My Widget

Minggu, 17 April 2016

tugas tugas terakhir

ini adalah rangkuman tugas dari problem solving hlaman 538,how to solve 414 dan tuga dari referensi referensi yang tidsk bisa saya sebutkan satu persatu

Problem Solving Hal.538



MASALAH
Membentuk string yang berisi huruf kapital semua yang ditemukan dalam string lain.
ANALISIS
Sama seperti dalam masalah menghitung kejadian dari huruf tertentu dalam sebuah string, rekursi akan memungkinkan kita untuk memecahkan masalah ini dengan hanya bekerja apa yang harus dilakukan dengan
huruf pertama string dan kemudian menggabungkan pengolahan ini dengan penanganan panggilan rekursif
sisa string. Misalnya, jika string tersebut adalah "Franklin Delano
Roosevelt ", menemukan huruf di" franklin Delano Roosevelt "akan memberi kita
string "DR". Ini adalah masalah sederhana untuk menggabungkan string ini dengan modal 'F' untuk membentuk
hasil penuh. Tentu saja, string sederhana di mana untuk mencari sesuatu adalah kosong
string, jadi memeriksa kasus sederhana ini memberikan kita kondisi terminating diperlukan



Algoritma
1. jika str adalah string kosong
2. Toko string kosong di topi (string tanpa huruf tidak memiliki ibukota).
lain
3. jika huruf awal dari str adalah huruf kapital
4. Simpan dalam topi surat ini dan huruf kapital dari sisa str.
lain
5. Simpan dalam topi huruf kapital dari sisa str.





Write a program fragment that fills the 2 arrays in self-check exercise 3 with data and then calculates and displays each person’s salary for the week.



Declare an enumerated type m onth_t and rewrite the following if statement, assuming that cur_month is type month_t instead of type int . Also, write the equivalent switch statement. if (cur_month == 1) printf("Happy New Year\n"); else if (cur_month == 6) printf("Summer begins\n"); else if (cur_month == 9) printf("Back to school\n"); else if (cur_month == 12) printf("Happy Holidays\n");

Finding The Kth Smallest Element

Algoritma;
1.n < - bilangan
2.untuk i=0
 Masukkan data [i];
ulang selama i<n;
untuk a= 0
untuk b = n-1
jika data [b]< data [b-1] maka tukar data

.....
  Akhir jika

b--1;

akhir untuk
 tampilan data [i];
a++;
akhir untuk
3. keluar 

Partitioning An Array

Removal Of Duplicates From an Ordered Array 


Finding The Maximum Number In A Set 

Array Counting Or Histogramming

Algoritma :        
       Deklarasi banyak,i,x
           array int nilai [20]
           deklarasi string nama

      inputkan banyak mahasiswa
         for (int i=1;i<=banyak;i++){
         input nama;
         input nilai mahasiswa i
         if (nilai[20]>=80 || nilai[20]<=100)
        cetak nilai = A
        else if (nilai[20]>=60 || nilai[20]<80)
        cetak nilai = B
        else if (nilai[20]>=40 || nilai[20]<60)
        cetak nilai = C
        else if (nilai[20]>=20 || nilai[20]<40)
        cetak nilai = D
        else if (nilai[20]>=0 || nilai[20]<20)
        cetak nilai = E
        end for 

Array Order Reversal

     Algoritma :       
       ·      Array A yang bertipe integer diisi dengan nilai {5, 10, 6, 0, 4}
       ·      Array B yang bertipe integer diisi dengan nilai {0, 0, 0, 0, 0}
       ·      Baris perulangan untuk menampilkan nilai dari array A.
       ·      Proses untuk mengisi array B dengan nilai yang dibalik.
       ·      Menampilkan output nilai dari array B.

 

 



Jumat, 15 April 2016

minggu ke 7 alpro

assalamualaikum akhi wa ukhti fillah...memasuki minggu ke tujuh ini mulai terlihat mata panda nya.ok..di minggu ke tujuh ini kita belajar yang namanya array.yak tentu saja ada algoritmanya..namanya juga kuliah algoritma pemrograman. jadiii array adalah kumpulan data bertipe sama yang menggunakan nama sama.
 Dengan menggunakan array, sejumlah variabel dapat memakai nama yang sama. Antara satu variabel dengan variabel lain di dalam array dibedakan berdasarkan subscript. Sebuah subscript berupa bilangan di dalam kurung siku. Sebuah variabel array adalah sejumlah variabel berbeda dengan nama yang sama tetapi memiliki nomor indeks yang unik untuk membedakan setiap variabel tersebut. Gambaran tentang konsep array seperti strukur data berikut ini:
Penjelasan:
-Indeks adalah sebuah angka yang menyatakan urutan sebuah elemen pada suatu variabel array
- Nomor indeks variabel array selalu dimulai dari 0 (nol), sehingga nomor indeks bagi elemen terakhir sebesar (N-1), dimana N adalah jumlah total elemen.
- Untuk mengakses dapat dilakkan setiap elemen dalam variabel array dengan mengacu pada nomor indeksnya.

Array 1 Dimensi

Array 1 dimensi adalah array yang deretan nilainya adalah linier dan squensial, atau sering disebut sebagai representasi data bentuk row atau 1 dimensi.


Terdapat 3 langkah untuk membuat array:

*Mendeklarasikan variabel array
Contoh :
int [ ] angka;
“ Variabel angka kita deklarasikan sebagai variabel array dimana setiap elemennya akan menyimpan data bertipe int ”.

*Memcreate array beserta ukurannya.
Contoh :
angka = new int[5];
int[] angka = new int[5];
“Berarti kita memesan 5 elemen untuk variabel angka dan array adalah sebuah object, maka
create array dengan operator new.”

*Memberikan sebuah nilai pada setiap element array.
Contoh :
int[ ] angka = {5, 3, 23, 99, 2};
int scores = new int[3];
scores[0] = 75;
scores[1] = 80;
scores[2] = 100;

sekian mungkin untuk minggu ketujuh ini,salam sukses dunia akhirat...!^_^
"Ilmu itu di dapat dari lidah yg gemar bertanya dan akal yg suka berpikir”. – Abdullah bin Abbas

BAB VI

BAB VI
Latihan
Buatlah procedure untuk:
1. Menghitung ganjil dan genap
ALGORITMA :
Deklarasi :
N: integer } Pendeklarasian variabel yang akan digunakan
Deskripsi :
Read (n) => untuk input
If (n mod 2 = 0) then
Write (“bilangan genap”)
Else
Write (“bilangan ganjil”)
End else
End if
tampilkan output
PROGRAM :


2. Menghitung luas persegi panjang
ALGORITMA :
Deklarasi :
P : integer
L : integer
Hasil : integer
Deskripsi :
Read (p) → untuk input
Read (l) → untuk input
Hasil ← p*l
tampilkan output
PROGRAM :
#include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
class persegi {
    public :
        persegi ();
        void input();
        void proses();
   
    private :
        int p;
        int l;
        int hasil;
};
persegi::persegi(){
    cout<<"=================================\n";
    cout<<"Menghitung Luas Persegi Panjang\n";
    cout<<"=================================\n";
}

void persegi::input (){
    cout<<"Masukkan Panjang : ";
    cin>>p;
    cout<<"Masukkan Lebar : ";
    cin>>l;
   
}

void persegi::proses(){
    hasil = p*l;
    cout<<"Luas : "<<hasil;
}


int main(int argc, char** argv) {
   
    persegi Prsg;
    Prsg.input();
    Prsg.proses();
    return 0;
}
3. Menghitung keliling persegi panjang
ALGORITMA :
Deklarasi :
P : integer
L : integer
Hasil : integer
Deskripsi :
Read (p) → untuk input
Read (l) → untuk input
Hasil ← 2*(p+l)
Tampilkan output 
PROGRAM :
#include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
class persegi {
    public :
        persegi ();
        void input();
        void proses();
   
    private :
        int p;
        int l;
        int hasil;
};
persegi::persegi(){
    cout<<"=================================\n";
    cout<<"Menghitung Keliling Persegi Panjang\n";
    cout<<"=================================\n";
}

void persegi::input (){
    cout<<"Masukkan Panjang : ";
    cin>>p;
    cout<<"Masukkan Lebar : ";
    cin>>l;
   
}

void persegi::proses(){
    hasil = 2*(p+l);
    cout<<"Keiling : "<<hasil;
}

int main(int argc, char** argv) {
    persegi Prsg;
    Prsg.input();
    Prsg.proses();
    return 0;
}


 
4. Menghitung volum lingkaran
ALGORITMA :
Deklarasi :
R : integer
Volume : float
Deskripsi :
Read (r) → untuk input
volume← (4/(float)3)*(22/(float)7)*r*r*r
Tampilkan output
PROGRAM :

#include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
class lingkaran {
    public :
        lingkaran ();
        void input();
        void proses();
   
    private :
        int r;
        float volume;
};

lingkaran::lingkaran(){
    cout<<"=================================\n";
    cout<<"Menghitung Volume Lingkaran \n";
    cout<<"=================================\n";
}

void lingkaran::input (){
    cout<<"Masukkan Jari-Jari : ";
    cin>>r;
}

void lingkaran::proses(){
    volume=(4/(float)3)*(22/(float)7)*r*r*r;
    cout<<"Volume : "<<volume;
}

int main(int argc, char** argv) {
    lingkaran Lkrn;
    Lkrn.input();
    Lkrn.proses();

    return 0;
}


 
5. Menhitung keliling lingkaran
ALGORITMA :
Deklarasi : 
R : integer
Volume : float
Deskripsi :
Read (r) → untuk input
Keliling ← 2*(22/(float)7)*r
Tampilkan output
PROGRAM :




6. Menghitung luas segitiga
ALGORITMA :
Deklarasi
A : integer
T : integer
Hasil : integer
Deskripsi
Read (a) → untuk input
Read (t) → untuk input
Hasil ← a*t/2
Tampilkan output 
 

PROGRAM :
#include <iostream>
using namespace std;
class segitiga {
    public :
        segitiga ();
        void input();
        void proses();
   
    private :
        int a;
        int t;
        int hasil;
};
segitiga::segitiga(){
    cout<<"=================================\n";
    cout<<"\n\nLuas Segitiga Siku-siku : \n"<<endl;
    cout<<"=================================\n";
}

void segitiga::input (){
    cout<<"Masukkan Alas : ";
    cin>>a;
    cout<<"Masukkan Tinggi : ";
    cin>>t;
   
}

void segitiga::proses(){
    hasil = (a*t)/2;
    cout<<"Luas : "<<hasil;
}

main ()
{

    segitiga Sgtg;
    Sgtg.input();
    Sgtg.proses();
    return 0;
}


7. Menghitung keliling segitiga
ALGOROTMA :
Deklarasi :
A : integer
B : integer
C: integer
Keliling: integer
Deskripsi :
Read (a) → untuk input
Read (b) → untuk input
Read (c) → untuk input
Keliling ← a+b+c
Tampilkan output

PROGRAM :
#include <cstdlib>
#include <iostream>

using namespace std;
class segitiga {
    public :
        segitiga ();
        void input();
        void proses();
   
    private :
        int a;
        int b;
        int c;
        int keliling;
};
segitiga::segitiga(){
    cout<<"=================================\n";
    cout<<"Menghitung Keliling Segitiga\n";
    cout<<"=================================\n";
}

void segitiga::input (){
    cout<<"Masukkan Panjang Sisi A = ";
    cin>>a;
    cout<<"Masukkan Panjang Sisi B = ";
    cin>>b;
    cout<<"Masukkan Panjang Sisi C = ";
    cin>>c;
   
}

void segitiga::proses(){
    keliling=a+b+c;;
    cout<<"Keliling : "<<keliling;
}


int main(int argc, char *argv[]){
segitiga sgtga;
sgtga.input();
sgtga.proses();
return 0;
}



8. Menghitung tinggi segitiga
ALGORITMA :
Deklarasi :
L : integer
A : integer
Tinggi : integer
Deskripsi :
Read (l) → untuk input
Read (a) → untuk input
Hasil ← 2*l/a
Tampilkan output
PROGRAM :

#include <iostream>
using namespace std;
class segitiga {
    public :
        segitiga ();
        void input();
        void proses();
   
    private :
        int l;
        int a;
        int tinggi;
};
segitiga::segitiga(){
    cout<<"=================================\n";
    cout<<"Menghitung Tinggi Segitiga\n";
    cout<<"=================================\n";
}

void segitiga::input (){
        cout<<"masukkan luas segitiga : ";
        cin>>l;
        cout<<"masukkan nilai alas segitiga : ";
        cin>>a;
   
}

void segitiga::proses(){
    tinggi = 2*l/a;
    cout<<"Tinggi : "<<tinggi;
}

int main(int argc, char** argv) {
   
    segitiga sgtga;
    sgtga.input();
    sgtga.proses();
    return 0;
}

 

9. Menghitung kombinasi
PROGRAM :

10. Menghitung permutasi
PROGRAM :
 //kombinasi dan permutasi 
#include <cstdlib>
#include <iostream>
using namespace std;

class kombinatorial{
      public:
             void permutasi();
             void combinasi();
      private:
             int i,n,r,p,t,a,b,c;
};
void kombinatorial::permutasi(){
    cout<<"PERMUTASI"<<endl;
    cout<<"\nMasukan n:";cin>>n;
    cout<<"\nMasukan r:";cin>>r;
    a=1;
    b=1;
    for(i=n;i>0;i--)
    {
        a *=i;
    }
    t=n-r;
    if(t!=0)
    {
        for(i=t;i>0;i--)
        {
            b *=i;
        }
    }
    if(t!=0)
    {
         p=a/b;
         cout<<"\nHasil:"<<p<<endl;
    }
    else
    {
         cout<<a<<endl;
    }
cout<<"===================================="<<endl;
}

void kombinatorial::combinasi(){
    cout<<"\nCOMBINASI"<<endl;
    cout<<"\nMasukan n:";cin>>n;
    cout<<"\nMasukan r:";cin>>r;
    a=1;
    b=1;
    c=1;
    for(i=n;i>0;i--)
    {
        a *=i;
    }
    t=n-r;
    if(t!=0)
    {
        for(i=t;i>0;i--)
        {
            b *=i;
        }
    }
    for(i=r;i>0;i--)
    {
        c *=i;
    }
    if(t!=0)
    {
         p=a/(b*c);
         cout<<"\nHasil:"<<p<<endl;
    }
    else
    {
         cout<<a<<endl;
    }
}
int main(int argc, char *argv[])
{
    kombinatorial x;
    x.permutasi();
    cout<<endl;
    x.combinasi();
    cout<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}

Berikut adalah program menggunakan combinasi

Jumat, 08 April 2016

minggu ke 5

kami mulai disibukkan dengan tugas proyek dimana itu sangat menguras tenaga.haduuuh semoga bisaa..amiin..semnagat dan belajar juga buat persiapan uts

BAB V

BAB V




BAB IV

BAB IV

1. Buatlah flowchart dan translasi program dari algoritma 3.2.b. di atas.


2. Sempurnakan algoritma 3.3. dengan akar imajiner berbentuk :
a + bi
dengan a dan b bilangan real dan bila harga b2-4ac<0.
Perhatikan bahwa nilai a dan b dihitung terpisah.
Rumus menghitung nilai a :
Rumus menghitung nilai b :
Operator Overloading untuk output :


3. Buatlah program dari algoritma 3.4. menggunakan case … of .


4. Buatlah algoritma, flowchart dan program untuk mengecek apakah pemakai
memasukkan bilangan bulat atau bilangan real.
Lebih dulu, carilah perbedaan dari 1.0 dan 1 kemudian 1 dan 1.23.

5. Buatlah algoritma, flowchart dan program untuk menentukan banyaknya hari
dalam suatu bulan dan tahun yang diberikan. Pertimbangkan pula adanya tahun
kabisat di mana bulan Februari mempunyai jumlah 29 hari. Gunakan case .. of
dan if .. then .. else .. yang tepat untuk setiap kasus.



6. Buatlah algoritma, flowchart dan program untuk mengecek apakah karakter yang
dimasukkan itu merupakan huruf besar, huruf kecil atau digit (bilangan).
Gunakan fungsi ORD(char) untuk menyatakan nomor urut dalam tabel ASCII.
Program :
 #include <iostream>
#include <conio.h>
using namespace std;
class Karakter
{
private:
    char karakter;
public:
  void Proses ();
  void Output ();
};

void Karakter::Proses()
{
cout<<"Masukkan Karakter = ";cin>>karakter;
};

void Karakter::Output(){
if (karakter >='A' && karakter <='Z')
cout<<"Huruf Besar"<<endl;
else if (karakter >= 'a' && karakter <='z')
cout<<"Huruf Kecil"<<endl;
else if (karakter >= '0' && karakter <= '9')
cout<<"Digit (Bilangan)"<<endl;
else
cout<<"Simbol"<<endl;
};
main ()
{
Karakter bilhur;
bilhur.Proses();
bilhur.Output();
getch ();
return 0;
}
7. Seorang dosen ingin mengkonversikan nilai angka hasil ujian mahasiswa
menjadi nilai huruf dengan ketentuan :


8. Diberikan ketentuan pecahan uang di Indonesia. User memasukkan sebuah
bilangan, program harus dapat memecahnya menjadi pecahan sesuai dengan
mata uang di Indonesia.
Misalkan dimasukkan nilai uang 127.675 rupiah. Cobalah memecah secara
manual nilai uang di atas.
Algoritma :
Program :
 #include<iostream>
using namespace std;
int main()
{
    long uang,sisa;
    int u100rb,u50rb,u20rb;
    int u10rb,u5rb,u2rb,u1rb,u5ratus;
    cout<<"    Program Memecah Uang   "<<endl;
    cout<<"----------------------------------------"<<endl;
    cout<<"Input jumlah uang --> ";cin>>uang;
 
    u100rb=uang/100000;
    sisa=uang%100000;
 
    u50rb=sisa/50000;
    sisa=sisa%50000;
 
    u20rb=sisa/20000;
    sisa=sisa%20000;
 
    u10rb=sisa/10000;
    sisa=sisa%10000;
 
    u5rb=sisa/5000;
    sisa=sisa%5000;
 
    u2rb=sisa/2000;
    sisa=sisa%2000;
 
    u1rb=sisa/1000;
    sisa=sisa%1000;
 
    u5ratus=sisa/500;
 
    cout<<"Uang anda Rp. "<<uang<<endl;
    cout<<"Terdiri dari -->"<<endl;
    cout<<"--------------------"<<endl;
    cout<<u100rb<<" lembar Rp.100.000"<<endl;
    cout<<u50rb<<" lembar Rp.50.000"<<endl;
    cout<<u20rb<<" lembar Rp.20.000"<<endl;
    cout<<u10rb<<" lembar Rp.10.000"<<endl;
    cout<<u5rb<<" lembar Rp.5.000"<<endl;
    cout<<u2rb<<" lembar Rp.2.000"<<endl;
    cout<<u1rb<<" lembar Rp.1.000"<<endl;
    cout<<u5ratus<<" lembar Rp.5.00"<<endl;
    cout<<"---------------------"<<endl;
    cout<<"T E R I M A - K A S I H";
} 



9. Seorang pegawai bekerja selama 5 hari kerja, yaitu Senin sampai Jum’at. Setiap
hari dia masuk jam 08.00 dan pulang jam 16.00. Kecuali Jum’at dia pulang jam
11.00. Apabila dia bekerja lebih dari 30 jam per bulan maka setiap 5 jam akan
memperoleh uang lembur sebesar Rp 30.000,- bila kurang dari 5 jam maka akan
dihitung Rp 4.000,-/jam. Buat program dengan masukan bulan yang diinginkan,
dan outputnya berupa besarnya uang lembur pegawai tersebut.