Saturday, 29 March 2014

Binary Tree Search

=> algoritmanya :
1. menetapkan kunci pencarian dan pointer ke akar pohon
2. mengatur negara tidak ditemukan dan membuat arus titik simpul pointer ke akar dan simpul pointer sebelumnya nihil
3. sementara kunci pencarian tidak ditemukan dan tiga masih jalan yang valid untuk mengikuti pohon lakukan
4. menetapkan apakah atau tidak mencari berhasil ditemukan kunci
5. kembali pointer ke node sebelumnya, node saat ini, dan variabel yang menunjukkan apakah atau tidak pencarian berhasil

jika diaplikasikan kedalam c++

#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h> // dibutuhkan untuk system("cls");

struct tree_node
{
tree_node* left;
tree_node* right;
int data;

};

tree_node* root;

bool isEmpty()
{return root==NULL;}

void insert(int d)
{
tree_node* t = new tree_node;
tree_node* parent;
t->data = d;
t->left = NULL;
t->right = NULL;
parent = NULL;
if(isEmpty())root = t;
else
{
tree_node* curr;
curr = root;

while(curr!=NULL)
{
parent = curr;
if(t->data > curr->data) curr = curr->right;
else curr = curr->left;
}

if(t->data < parent->data)
parent->left = t;
else
parent->right = t;
}
}

void inorder(tree_node* p)
{
if(p!=NULL)
{
if(p->left)
inorder(p->left);
cout<<" "<<p->data<<" ";
if(p->right)
inorder(p->right);
}
else
return;
}


void print_inorder()
{
inorder(root);
}

int count(tree_node* p)
{
if(p==NULL)return 0;
return count(p->left) + count(p->right) + 1;
}

int height(tree_node* p)
{
if(p==NULL)return 0;
int u = height(p->left),v = height(p->right);
if(u > v)
return u+1;
else
return v+1;
}

void cari_terbesar(tree_node* p)
{
if(p==NULL)
return;
else
if(p->right==NULL)
{
cout<<" "<<p->data<<" ";
return;
}
else
{
cari_terbesar(p->right);
return;
}
}

int main()
{
root=NULL;
int ch,tmp;


while(1)
{
system("cls"); // Saya mengganti scrclr() karena dicompiler sy tidak ada fungsi tersebut
cout<<endl;
cout<<"Menu Utama Operasi Pohon Biner"<<endl;
cout<<"--------------------"<<endl;
cout<<"1. Insert/Tambah Data"<<endl;
cout<<"2. Kunjungan In-Order"<<endl;
//cout<<"3. Kunjungan Pre-Order"<<endl;
//cout<<"4. Kunjungan Post-Order"<<endl;
//cout<<"5. Hapus Data"<<endl;
cout<<"6. Menghitung Jumlah Node"<<endl;
cout<<"7. Menghitung Tinggi Pohon"<<endl;
//cout<<"8. Mencari Data Terkecil"<<endl;
cout<<"9. Mencari Data Terbesar"<<endl;
cout<<"10. Exit"<<endl;
cout<<"Pilihan Anda : ";
cin>>ch;
cout<<endl;
switch(ch)
{
case 1 : cout<<"Masukan Data : ";
cin>>tmp;
insert(tmp);
break;
case 2 : cout<<endl;
cout<<"Kunjungan In-Order"<<endl;
cout<<"---------------"<<endl;
print_inorder();getch();
break;
case 6 : cout<<"Menghitung Jumlah Node"<<endl;
cout<<"------------------"<<endl;
cout<<"Jumlah Node = "<<count(root);
getch();
break;
case 7 : cout<<"Menghitung Tinggi Pohon"<<endl;
cout<<"------------------"<<endl;
cout<<"Tinggi Pohon = "<<height(root);
getch();
break;
case 9 : cout<<"Mecari Data Terbesar"<<endl;
cout<<"------------------"<<endl;
cout<<"Data Terbesar Adalah = "<<endl;
cari_terbesar(root);
getch();
break;
case 10 : return 0;
break;
default: cout<<"Pilihan yang Anda Masukkan salah!"<<endl;
getch();
break;
}
}
}

Linked List Iinsertion And Deletion

algoritma

1. menetapkan nama yang akan dimasukkan dan pointer ke kepala daftar

2. menginisialisasi simpul sebelumnya nihil dan arus simpul pointer ke kepala daftar

3. daftar pencarian untuk posisi penyisipan nama yang akan dimasukkan dan pointer retrun untuk logis predeccessor dan penggantinya node mereka

4. membuat node baru

5. menyimpan nama yang akan dimasukkan ke dalam simpul baru

6. menyesuaikan pointer yang dimasukkan node sehingga pointer sehingga menunjuk ke penerus logis

7. jika tidak memasukkan nama baru di depan daftar kemudian

8. kembali daftar diperbarui dan listhead

=> program nya :

#include <cstdlib>
#include <iostream>


using namespace std;


class stak
{
public:
stak();
void push();
void pop();
void cetak();
private:
int top;
char stack[6]; // asumsi max stack 100
char x;
};


stak::stak()
{
top=-1;
}
void stak::push()
{
if(top==5) cout<<"stack penuh";
else {
cout << "Masukkan satu karakter ";
cin >> x;
top++;
stack[top] = x;
}}


void stak::pop()
{
if(top < 0)
{
cout << "Stack kosong" << endl;
return;
}
x = stack[top];
top--;


cout << "Karakter yang di 'POP' adalah : " << x << endl;
}


void stak::cetak()
{
if(top < 0)
{
cout << "Stack kosong" << endl;
return;
}

int i = 0;
for(i = top; i >= 0; i--)
cout << stack[i] << endl;
}

int main(int argc, char** argv) {

int input;
stak a;
cout << "MASUKKAN PILIHAN : " << endl;
cout << "\tpush = 1" << endl;
cout << "\tpop = 2" << endl;
cout << "\tcetak = 3" << endl;
cout << "\tquit = 4" << endl;


while(true)
{
cout << "\nMasukkan pilihan: ";


cin>>input;


if(input==1)
{
a.push();
}
else if(input == 2)
{
a.pop();
}
else if(input == 3)
{
a.cetak();
}
else if(input == 4)
{
break;
}
else
{
cout << "Perintah '" << input << "' tidak dikenal" <<endl;
}
}
return 0;
}

Linked List Search

Dalam hal ini tentukan indeks paling awal dan indeks paling akhir, untuk membagi 2 elemen tersebut.
Indeks awal = i, dimana nilai i, pada awalnya bernilai 0;
Indeks akhir = j, dimana nilai j, pada awalnya bernilai sama dengan jumlah elemen.

jika diaplikasikan kedalam program c++

#include <iostream>
#include <stdlib>

int main(int argc , char* argv[])
{
int x,i,k;
int l[10]={20,15,22,30,60,28,17,18,21,22};
printf(“Data yang dicari = “); scanf(“%d”,&x);
k=0;
for(i=0;i<9;i++)
{
if(l[i]==x)
{
printf("Data ditemukan di elemen %d\n",i);
k++;
}
}
if(k==0)
{
printf("Data tidak ditemukan\n");
}
printf("Jumlah data yang ditemukan = %d",k);
getch();
return 0;
}

Queue Addition And Deletion

Pada queue, operasi tersebut dilakukan di tempat yang berbeda. Penambahan elemen selalu
dilakukan melalui salah satu ujung, menempati posisi di belakang elemen-elemen yang
sudah masuk sebelumnya atau menjadi elemen paling belakang. Sedangkan penghapusan
elemen dilakukan di ujung yang berbeda, yaitu pada posisi elemen yang masuk paling
awal atau elemen terdepan. Sifat yang demikian dikenal dengan FIFO.

jika di aplikasikan kedalam program c++

#include
#include
void main()
{
int cek=0, data[20], x, hapus;
char pil;
do {
clrscr();
printf("1. Tambah Antrian\n");
printf("2. Hapus Antrian\n");
printf("3. Lihat Antrian\n");
printf("4. Keluar\n");
printf("Silahkan masukkan pilihan anda... ");
pil=getche();
if(pil!='1' && pil !='2' && pil !='3' && pil!='4' )
printf("\n\nAnda salah mengetikkan inputan...\n");
else
{
if(pil=='1') //PUSH
{
if(cek==20)
printf("\nAntrian Penuh\n\n");
else
{
printf("\nMasukkan nilai--> ");scanf("%i",&x);
data[cek]=x;
cek++;
}
}else
{
if(pil=='2') //POP
{
if(cek==0)
printf("\nAntrian kosong\n\n");
else
{
hapus=data[0];
for(int v=0;v
data[v]=data[v+1];
data[cek-1]=NULL;
cek--;
printf("\nData dgn nilai=%i terhapus.",hapus);
}getch();
}
else
{
if(pil=='3') //CEK DATA
{
if(cek==0)
printf("\nAntrian Kosong.\n\n");
else
{
printf("\n");
for(int z=0;z
{
printf(" | ");
printf("%i",data[z]);
printf(" | ");
}
}getch();
}}
}}
}while(pil!='4');
}

refleksi pertemuan 7

Text Lline Editing

Algoritma

1.establish baris teks, pola pencarian, dan pola penggantian dan panjang terkait dalam karakter
2. menetapkan nilai awal untuk posisi dalam teks teks lama, pola teks dan pencarian baru
3.while semua posisi pola dalam teks belum diperiksa apakah
4. salin karakter sisa di baris teks asli Garis
5.return diedit teks


jika diaplikasikan kedalam program c++

Pada text edit anda dapat memasukan perintah-perintah yang sudah ada dan mengkombinasikannya dengan output yang anda butuhkan/inginkan.
Berikut adalah contoh sederhana/dasar dari penggunaan C++


#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
clrscr();
printf("\t\tHalo Apa Kabar?\n");
cout<<"\tSelamat Belajar C++"<<endl;
printf("\n\tSelamat Mencoba");
getch();
}

refleksi pertemuan 6


1. apa yang anda peroleh?

belajar tentang perulangan loop dengan subrpogram rekursif,
two half=> merupakan titik tengah, berhenti saat nilai kanan dan kiri sama
latihan membuat sigma pangkat dati 5-10

10 kasus rekursif untuk UTS :)) tulis tinta biru, tidak melebihi 1 lembar bolak-balik,
1 lembar catatan sudah pernah di kerjakan sebelumnya :)
polanya menjadi variabel yang belajalan dalam sigma,

2. apa yang tidak dipahami?

menganalisa masalah dan logika dalam pembuatan rapor

3. usaha yang dilakukan untuk mengatasi masalah no 2!!

berlatih berulang-ulang,,

Sorting By insertion

Algoritma

1. membangun sebuah array [1 .. n] elemen n.
2. menemukan minimum dan meletakkannya di tempat untuk bertindak sebagai sentinel :
3. sementara masih ada unsur-unsur yang akan dimasukkan di bagian memerintahkan melakukan
a.Pilih x elemen berikutnya untuk dimasukkan
b.sementara x kurang dari sebelumnya unsur melakukan
c.insert x pada posisi saat ini


for i:=2 to n do

begin {search for x's position then insert it}

j:=1; x:=a[i];

while x>a[j] do j:=j+1

for k:= i down to j+1 do a[k]:= a[k-1];

a[j]:=x

end


jika diaplikasikan kedalam c++

#include <iostream.h>
void main()
{
int data[100];
int a,b,c,d,x;
int temp;


cout<<"PROGRAM SORTING DATA "<<endl;
cout<<"---------------------------------------------"<<endl;
cout<<"Masukkan jumlah data : ? ";cin>>x;


for(d=1;d<=x;d++)
{
cout<<"Data ke-"<<d<<" = ";cin>>data[d];
}
cout<<"\nData Sebelum Diurutkan \n";
for(d=1;d<=x;d++){
cout<<"\t"<<data[d];
}
for(a=0;a<x;a++){
for(b=0;b<x;b++)
if(data[b]>= data[b+1])
{
temp=data[b];
data[b]=data[b+1];
data[b+1]=temp;
}
}
cout<<"\n\nData setelah diurutkan :\n";
for(c=0;c<x;c++)
cout<<"\t"<<data[c];
cout<<"\n\n---------------------------------------------"<<endl
}
 system("PAUSE");
    return EXIT_SUCCESS;
}

sekian dan terimakasih :)))

sorting by exchange

soal

diberikan urutan yang tidak beraturan dari kumpulan nilai n gunakan urutan dengan emnggunakan sorting by exchange

penyelesaian :

Bubble Sort (Gelembung) merupakan metode pertukaran yang alur logikanya mirip dengan gelembung yaitu dengan cara membandingkan indeks Array yang pertama dengan indeks Array berikutnya secara terus menerus dan bergantian. Namun cara ini kurang efektif karena meskipun data sudah terurut proses perulangan yang terjadi akan terus berlangsung sampai batas perulangan itu berakhir. Ini adalah contoh alur alogaritmanya dalam kode program.

for (c=0; c<7; c++)
{ for (x=0; x<7; x++)
{if (menu[x]menu[x+1])
{term=menu[x];
 menu[x]=menu[x+1];
 menu[x+1]=term;
}
else {
      menu[x]=menu[x];
}}}

Selection Sort (Maksimum/Minimum) merupakan metode pertukaran yang mencari nilai Maksimum/Minimum sekelompok data array yang nantinya nilai yang paling ujung akan diisolasikan dan tidak disertakan pada proses selanjutnya. Perhatikan contoh code berikut ini.

for(y=0; y<9; y++)
{max=0;
for (x=1; x<=b; x++)
{ if (A[x]>A[max])
{
  max=x;
} }
if (A[max]>A[b])
{ term=A[b];
  A[b]=A[max];
  A[max]=term;
  b--;
} else
{
b--;
}}


Insertion Sort (Sisip) meripakan metode pengurutan dengan cara menyisipkan nilai pada array pada posisi yang tepat. Untuk lebih jelasnya silakan lihat code dibawah ini.

for (k=1; k<9; k++)
{
term=L[k];
j=k-1;
while (term<=L[j])
{
 L[j+1]=L[j];
 j--;
}
 if ((term >= L[j]) || (j=1))
{
  L[j+1]=term;
}
 else
{
  L[j+1]=L[j];
  L[j]=term;
}
}

sorting by selection

algoritmanya{
}
Selection Sort

Algoritma ini mudah diterjemahkan ke dalam program computer tetapi memiliki kekurangan yaitu sort dengan menggunakan metode Seleksi membutuhkan ruang di memori untuk meyimpan 2 daftar lengkap.
Jika memiliki satu daftar nama dan meletakkan dalam urutan berdasarkan huruf bisa menggunakan pemdekatan umum sebagai berikut :
1. Temukan atau cari nama yang pertama kali datang dalam urutan huruf dan tulis di sheet kedua
2. Tandai nama yang keluar dari daftar asli
3. Lanjutkan perputaran ini sampai semua nama di daftar semula telah di coret dan ditulis di daftar kedua dimana di bagian daftar yang kedua ini nama-nama sudah terurut berdasarkan huruf

jika diaplikasikan kedalam c++

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

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

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

void 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!”<<endl;
}

void exchange_sort()
{
for (int i=0; i<n-1; i++)
{
for(int j = (i+1); j<n; j++)
{
if (data [i] > data[j]) tukar(i,j);
}
}
cout<<”exchange sort selesai!”<<endl;
}

void selection_sort()
{
int pos,i,j;
for(i=0;i<n-1;i++)
{
pos = i;
for(j = i+1;j<n;j++)
{
if(data[j] < data[pos]) pos = j;
}
if(pos != i) tukar(pos,i);
}
cout<<”selection sort selesai!”<<endl;
}

void insertion_sort()
{
int temp,i,j;
for(i=1;i<n;i++)
{
temp = data[i];
j = i -1;
while(data[j]>temp && j>=0)
{
data[j+1] = data[j];
j–;
}
data[j+1] = temp;
}
cout<<”insertion sort selesai!”<<endl;
}

void QuickSort(int L, int R)
{
int i, j;
int mid;

i = L;
j = R;
mid = data[(L+R) / 2];

do
{
while (data[i] < mid) i++;
while (data[j] > mid) j–;

if (i <= j)
{
tukar(i,j);
i++;
j–;
};
} while (i < j);

if (L < j) QuickSort(L, j);
if (i < R) QuickSort(i, R);
}

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];
}
}

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

void AcakLagi()
{
for(int i=0;i<n;i++)
{
data[i] = data2[i];
}
cout<<”Data sudah teracak!”<<endl;
}

void main()
{
int pil;
clrscr();
do
{
clrscr();
cout<<”Program Sorting Komplit!!!”<<endl;
cout<<”*********************************************”<<endl;
cout<<” 1. Input Data”<<endl;
cout<<” 2. Bubble Sort”<<endl;
cout<<” 3. Exchange Sort”<<endl;
cout<<” 4. Selection Sort”<<endl;
cout<<” 5. Insertion Sort”<<endl;
cout<<” 6. Quick Sort”<<endl;
cout<<” 7. Tampilkan Data”<<endl;
cout<<” 8. Acak Data”<<endl;
cout<<” 9. Exit”<<endl;
cout<<” Pilihan Anda = “; cin>>pil;
switch(pil)
{
case 1:Input(); break;
case 2:bubble_sort(); break;
case 3:exchange_sort(); break;
case 4:selection_sort(); break;
case 5:insertion_sort(); break;
case 6:QuickSort(0,n-1);
cout<<”quick sort selesai!”<<endl;
break;
case 7:Tampil(); break;
case 8:AcakLagi(); break;
}
getch();
}while(pil!=9);
}

the two way merge

algoritma {
}
if a[m]<b[n] then a[m+1]:=b[n+1]:=a[m];
i:=1;
j:=1;
nm:= n+m;
for k:= 1 to nm dobegin {merge next element }
if a[i]<b[j] thenbeginc[k]:=a[i];
i:=i+1end elsebeginc[k]:=b[j];
j:=j+1end
end

jika diaplikasikan kedalam bahasa c++

#include <iostream>

int data[100];

void mergeSort(int awal, int mid, int akhir)
{
cout<<endl;
int temp[100], tempAwal = awal, tempMid = mid, i = 0;
while(tempAwal < mid && tempMid < akhir)
{
if(data[tempAwal] < data[tempMid])
temp[i] = data[tempAwal],tempAwal++;
else
temp[i] = data[tempMid],tempMid++;
i++;
}
while(tempAwal < mid)
temp[i] = data[tempAwal],tempAwal++,i++;
while(tempMid < akhir)
temp[i] = data[tempMid],tempMid++,i++;
for(int j=0,k=awal;j<i,k<akhir;j++,k++);
cout<<data[k]<<' '<<temp[j]<<endl, data[k] = temp[j];
}


void merge(int awal, int akhir)
if(akhir-awal != 1)
{
int mid = (awal+akhir)/2;
merge(awal, mid);
merge(mid, akhir);
mergeSort(awal, mid, akhir);
}}

int main()
{
int n;
cout<<"Masukan banya data = ";cin>>n;
cout<<"Masukan data yang akan di susun = ";
for(int i=0;i<n;i++)
cin>>data[i];
merge(0,n);
for(int i=0;i<n;i++)
cout<<data[i]<<' ';
return 0;
}

sekian dan terimakasih :)))

refleksi pertemuan 5


1. Yang saya peroleh minggu ini :

Mempelajari tentang fungsi yang mengembalikan 1 nilai
Fungsi yang mengubah nilai parameter
Overloading Function

2. Yang tidak dipahami minggu ini :
 kurang mengerti tentang Overloading function

3. Waktu untuk belajar Algoritma Pemrograman :
Jam membaca materi
20 jam mengerjakan tugas individu dan diskusi kelompok.

4. Jenis Komputer :
Jenis komputer yang saya miliki adalah Jenis Laptop

5. Apakah sudah mengcopy materi :
Sudah

6. Sudah berapa reptor yang anda buat :
Beberapa Raptor, namun saya menyimpan nya di leptop teman karena leptop saya belum di instal raptor.

Thursday, 27 March 2014

wawancara kakak tingkat :))

kamis 27 maret 2014

by: Anni Kholilah daulay (1300018147)
     Vivin Villiani Rosadi (1300018158)
     Sahdatul umi (1300018154)



 identitas kakak tingkat :
 nama : Afriq Yasin Ramadhan
 nim : 09018222

kami memilih kak afriq sebagai narasumber karena menurut kami dia adalah orang yang bisa memberikan inspirasi dan motivasi untuk kami. berikut adalah tanya jawab antara kami dengan beliau...

narator : mengapa kakak mengambil jurusan ti?

narasumber: menurutnya teknik informatika itu asyik dan kita tidak perlu kotor-kotoran dalam bekerja hanya didepan komputer saja. 

narator : mengapa memilih uad?

narasumber : dia memilih uad karna kurang beruntung saat tes di umy dan akhirnya dia mendaftar jalur pmdk di uad alhamdulillah diterima :) untuk tahun berikutnya dia tidak berencana mengulang karena menurutnya dia sudah nyaman kuliah di uad.

narator : apa yang menarik dari teknik informatika?

narasumber : karena kita belajar tentang teknologi, meskipun kita diperbudak oleh teknologi tapi kita menjadi rantai tertinggi didunia teknoligi itu sendiri, seperti membuat program danlain sebagainya.

narator : berapa ipk tertinggi selama kuliah? dan bagaimana cara belajar yang dilalui?

narasumber : 3.98 ==> jangan terlalu banyak belajar karena yang banyak belajar itu kalah dengan orang yang tidak belajar, karna di informatika kita hanya belajar algoritma dan yang logic jadi tidak usah terlalu banyak belajar.

narator : berapa ipk terendah selama kuliah? dan mengapa?

narasumber : 2.5 saat saya semester 1 ==> karna besic saya bukan di informatika dan saya masih terbawa sifat sma masih yang malas dalam belajar bahkan saya pernah tidak ikut uts sehingga ipk saya 2.5 namun di semester 2 saya bangkit (sudah sadar) :D

narator : disemester 1 ipk kakak 2.5 setelah itu bagaimana grafik ipk kakak? naik turun atau bagaimana?

narasumber : alhamdulillah ipk saya naik namun sempat di semester 5 ipk saya turun.

narator : apa yang terjadi pada saat kakak semester 5? karena menurut saya anak semester 5 itu sudah banyak mendapatkan tugas proyek yang menghasilkan pendapatan.

narasumber : semester 5 itu sudah masuk semester-semester akhir itu sudah memasuki rasa jenuhnya kuliah, dan untuk proyek itu sendiri kita sering begadang malam-malam bersama teman-teman sampai terlambat masuk dalam study, kita juga mengadakan belajar kelompok kita memback up teman-teman yang pintar untuk menjadi tutor sehingga kita bisa.

narator : tadi kakak bilang kalau kakak ngga punya basic di teknik informatika, tapi dengan tidak adanya basic kakak bisa memperoleh ipk yang sangat cemerlang?

narasumber : itu semua memang butuh proses semuanya itu berawal dari semester 2 saya mulai merasakan asyiknya belajar di teknik informatika dan dari itu bisa mengikuti dan mungkin ipk itu merupakan kebetulan :))

narator : okee terim kasih kak atas informasinya :) sukses terus buat kakak :)) 





Nilai Terkecil Terbesar dan Jumlah Semua Bilangan Positif

latihan individu 3

Algoritma Nilai Terkecil Terbesar dan Jumlah Semua Bilangan Positif. menentukan nilai terkecil, terbesar, dan jumlah semua bilangan positif yang dimasukkan.

algoritma
{algoritma menerima inputan sebuah bilangan bulat, menentukan bilangan terkecil, bilangan terbesar, dan menghitung jumlah semua bilangan bulat positif, menampilkan hasil penjumlahan bilangan bulat positif}

Deklarasi :
x,y : integer {data yang dibaca}
n : integer {banyak data masukan, >0}
min : integer {data terkecil/minimum}
maks : integer {data terbesar/maksimum}
i : integer {pencacah pengulangan}
jumlah : real {jumlah bilangan positif}


Deskripsi :
read(n)
read(x) {baca data pertama}
min ← x {asumsikan min adalah data pertama}
maks ← y {asumsikan maks adalah data terakhir}


for i ← 2 to n do {lanjutkan dengan ke-2 sampai ke-n}
read(x)
if x < min then
min ← x
if y > maks then
maks ← y
endif
while (x > 0) do
jumlah ← jumlah + x
read(x)
n ← n + 1
write(‘positif’)
endfor
jumlah ← x + 1
write(min)
write(maks)
write(jumlah)

Algoritma Penjumlahan Deret Pecahan

latihan individu 2
soal:

Algoritma untuk menghitung nilai dari 1 - 1/2 + 1/3 - 1/4 +....+ 1/n

algoritma:
{Menjumlahkan deret dengan bentuk pecahan 1-1/2+1/3-1/4+…1/n. Nilai n  dibaca, ditentukan terlebih dahulu, algoritma menghitung hasil penjumlahan dan mencetak hasil jumlah}


Deklarasi :
jumlah : real {jumlah deret}
n : integer {penyebut pada suku terakhir, n >0}
i : integer {suku ke-i}
p : integer {penyebut suku ke-i}


Deskripsi :
read(n)
jumlah ← 0
i ← 1 {suku pertama}
p ← 1 {penyebut suku pertama}
while p ≤ n do
if i mod 2 = 1 then {suku ke-i ganjil}
jumlah ← jumlah + 1/p
else
jumlah ← jumlah – 1/p
endif
i ← i+1 {tinjau suku berikutnya}
p ← p + 1 {tinjau penyebut suku berikutnya}
endwhile
{p > n}
write(jumlah)

perulangan loop dalam kehidupan sehari-hari

tugas kelompok :

1. saat mencuci pakaian
    hal yang pertama dilakukan adalah mengambil pakaian yang kotor, mengambil ember, mengisi ember dengan air dan memasukkan rinso kedalam ember mengaduk air yang telah di campur dengan rinso, memasukkan pakaian kotor kedalam ember, menunggu hingga 30 menit (direndam), setelah direndam baju akan di kucek, jika pakaian belum bersih juga maka akan di kucek berulang-ulang hingga pakaian itu bersih :)

2. menyapu
    pertama seseorang akan menyapu jika terdapat kotoran atau sampah dillantai, maka orang tersebut akan melakukan perulangan menyapu hingga lantai menjadi bersih.

3. menyetrika pakaian
   pertama ambil pakaian yang akan disetrika, lalu siapkan kain sebagai alas atau tempat menyetrika, panaskan setrikaan lalu setrika akan melakukan perulangan (mondar-mandir) hingga pakaian akan rapi.


Sunday, 23 March 2014

bilangan habis dibagi 3 dan 5

soal

Buatlah algoritma dan program untuk mencetak bilangan yang habis dibagi 3 dan 5 antara 1 sampai dengan 100.

algoritma :
{algoritma menerima inputan bilangan 1-100, melakukan perulangan for, menyeleksi bilangan yang habis dibagi 3 dan 5, mencetak bilangan yang habis dibagi 3 dan 5}

deklarasi :
int proses ();
int total;

deskripsi :
read (a);
total=0;
for(int 1=0;1<100;1++)
{if(i%3=0 && i%5==0)}
{cout<<i<<" ";total+=1;}
cout<<"total bilangannya adalah : ";
cout<<total; return total;
end if; endfor;
write (a);


jika diaplikasikan kedalam bahasa c++

#include <cstdlib>
#include <iostream>

using namespace std;

class ani {
      private :
              int total;
              
      public :
             int proses();
             int output();
             };

int ani::proses(){

                total=0;  
                for(int i=1; i<=100; i++)
                if (i %3==0 && i%5==0)
                {cout<<i<<" " ;
                total+=1;}
                

                cout<<" total dari bilangannya adalah : ";

                cout<<total;
                cout<<endl<<endl;
                return total;
                
                }


int main()

{
    cout<<"bilangan yang habis dibagi 3 dan 5 adalah : "<<endl<<endl;
    ani a;
    a.proses();
    
    system("PAUSE");
    return EXIT_SUCCESS;
}

jika dirun akan tampil seperti dibawah ini :)




semoga bermanfaat :)

refleksi pertemuan 4

21 maret 2014

hari ini kami tanding sokoban, meskipun kelompok saya kurang beruntung dalam permainan itu tapi setidaknya kami sudah berusaha :D

1. apa yang anda peroleh?
    hari ini saya belajar perulangan (loop)
    perulangan for,
    perulangan while,
    perulangan do while.
    mengetahui tentang penyelesaian deret fibonacci.

2. apa yang tidak dipahami?
    jujur saja saya belum mengerti membuat perulangan di raptor, atau membuat flowchatnya, dan masih kurang paham coding dengan menggunakan class.
 
3. usaha apa yang anda lakukan untuk mengatasi no 2?
   mengulang kembali materi tentang perulangan disemester 1, membuka catatan semester satu browsing di google, balajar otodidak dengan lebih rajin dan kalo udah menttok tanya teman atau kakak tinggat yang mengerti

Friday, 21 March 2014

Tilawatil Qur'an

vidio ini akan menyejukkan setiap insan yang mendengarnya, dengan merdu anak ini melantunkan ayat suci al-quran :) suaranya yang indah akan membuat anda yang mendengarkannya dengan ikhlas menitikkan air mata dan dapat meningkatkan iman kita pada sang pencipta :)
subhanallah,,,, semoga kita senantiasa berada dalam lindungan allah SWT



Monday, 17 March 2014

raising a number to a large power

mengurutkan bilangan dari yang terkecil sampai yang terbesar

C++

#include<iostream.h>
#include<conio.h>
int main(int argc, char *argv[])

void main()
{
 int nilai[20];
 int x,temp;
 cout<<"Masukkan Banyak Input = ";cin>>x;
 cout<<"Masukkan Input: "<<endl;
 for(int i=1;i<=x;i++)
    {
     cout<<"Nilai Ke-"<<i<<" : ";cin>>nilai[i];
    }
 cout<<"Input sebelum diurutkan : "<<endl;
 for(i=1;i<=x;i++)
    {
     cout<<"Nilai ke-"<<i<<" : "<<nilai[i]<<endl;
    }
 for(int j=1;j<=x;j++)
    {
     for(int k=j+1;k<=x;k++)
        {
         if(nilai[j]>nilai[k])
            {
             temp=nilai[j];
             nilai[j]=nilai[k];
             nilai[k]=temp;
            }
        }
    }
    cout<<"Input setelah diurutkan : "<<endl;
    for(i=1;i<=x;i++)
        {
         cout<<"Nilai ke-"<<i<<" : "<<nilai[i]<<endl;
        }
        system("PAUSE");
    return EXIT_SUCCESS;
}

computing the prima faktor of an integer

algoritma {
membangun n jumlah faktor utama yang dicari, menghitung sisa r dan q untuk pertama dan berikutnya, tidak ditetapkan bahwa n adalah bilangan prima jika n lebih besar maka tambahkan n daftar sebagai faktor utama kembali}

deklarasi :
bil <= integer (input)
i, j <= integer (output)

deskripsi :
read (bil)
if bil % i == 0;
for (I=2; I<=bil; I++)
else
for (J=2; J<=I-1; J++)
write (i,j)



jika diaplikasikan kedalam bahasa c++

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

void main()
{
clrscr();
int bil, I, J;
cout << "input bilangan = ";
cin >> bil;
for (I=2; I<=bil; I++)
{
if (bil%I==0)
{
if (I==2)
{
cout << I << " ";
}
else
{
for (J=2; J<=I-1; J++)
{
if (I%J==0)
{
goto selesai;
}
}
cout << I << " ";
}
selesai:
}
}
}




generating prime numbers

soal
Setiap integer bisa di ekspresikan ke dalam hasil bilangna atau angka. Prima pola algoritma untuk memperhitungkan semua factor prima dan sebuah integer.

input dan output

A= integer
R= integer
I= integer
X=integer
X=integer

algoritma

A ß x div y
R ß x mod x
I ß 0
While ( r =0) or (a > y) do
If ( I :: 0) then
I= i+1
X [i] ß y
Y ß a
If r > I then
[i] = r
End while

test data

X=16
Y= 2
Q =16/2 =8
R=16%2=6
While (r-o) ll (Q > y) do
If (r ==0) I = [+1]
X [i] =2
X=8

jika diaplikasikan ke dalam c++

Class prima {
Friend ostream& operator << (ostream& prima&);
Friend istream& operator >>(istream& prima7);
Public;
Void prima ();
Prima ();
Private;
Int + [50],I,n;
Int Q,R,S;
};
Void prima :: prima (){
Q= n/5;
R=n%5;
I=0;
While ((r=0) ll(Q >5)0{
If (r==0){
If(r==0){
R= i+1;
F(i)=5;
N= Q; }
Else{
Q = n/5;
R= n % 5 ;}
}
If ( n> 1){
I= I + 1
F [i]=n }
}}

semoga bermanfaat teman-teman :))

the greatest common divisor of two integer

soal

masalah

   Di berikan 2 integer positif tidak atau bukan nol n & m, pola algoritma untuk mencari pembagi yang paling besar.

input dan output
                  M= integer (input)
                  N =integer
                  Gcd= integer (output)
                  R= integer
                  D= integer

algoritma

Read m,n
While (m <0) do
R ß n mod m
N ß m
End while
Gcd ß m
Write = (gcd)

test data

M= 36             n= 28
N= 28            m=8
R=36 % 28      gcd = 8
R= 8


jika diaplikasikan kedalam c++

Class gcd {
Friend ostream& operator << (ostream. Gcd&);
Friend istream& operator >> (istream. Gcd&);
Public;
Int hitung gcd (int ,int);
Private ;
Int x,y;
};
Int gcd :: hitung gcd (int ,(int d)
{ int r;
While ( d> 0);
R = c % d;
D= d;
D= r;
}
Return  ( r );
}
(istream& operation >> (istream& in, gcd& a){
Cout << “ inputkan bilangan petama ;” ;
In >> a.x;
Cout << “ inputkan bilangan kedua ; “ ;
In >> a.x;
Return in; }

Ostream& operation << istream& out , gcd& a){
Out << “gcd ‘ << a.c << “.” << a. x << );”;
Out << a.hitung gcd (a.x, a.y);
Return out;
}
Void main (){
Gcd run;
Cin >> run ;
Cout << run ;
Getch ();
}


semoga bermanfaat :))

the smallest divisor of an integer

masalah

 Di berikan sebuah n integer kemudian memikirkan algoritma untuk menentukan pembagi terkecil selain angka 1.

input dan output

X=integer (input)
R=integer
D= integer
Kpk = integer (output)

algoritma

 Menetukan pembagi terkecil dari sebuah bilangan
Deklarasi
X=integer
R= integer
D=integer
Deskripsi
Read x
R ß sqrt (x);
D ß 3
If (n ! = n) then kpk =2
Else
While (n mod d ≤ 0) and (d < r) do
D ß d + 2
If (n mod :: 0) then kpk. D
Else then kpk=1
End while

test data

X= 25
R= 5
If(x! =x)
Kpk =2
While x mod <> 0 end (d < r)
Kpk = d+2

jika kita aplikasikan kedalam bahasa c++

Friend istream& operator >> (istream&, terkecil&);
Friend ostream& operator >> (ostream&, terkecil&);
Public;
Void kpk ();
Private ;
Int x,n,d,k;
};
Istream& operator >> (istream& in, terkecil& a)}
Cout <<”masukan bilangan “ ; in >> a,x;}
Ostream& operator << (ostream out. Terkecil& b)}
Out << “hasilnya “ << b.k <<endl; }
Terkecil::terkecil (){
Cout <<”mencari kpk “ ; }
Void terkecil :: kpk (){
If (n! =n) k= 3;
Else while (n % d<) 0 && d < r ){
D=d+2
If (n % d :: 0 ) k=d;
Else k = 1;}
Int main (){
terkecil m;
Cin >>m ;
m.FPB ();
cout <<m ;
getch ();
return 0;
}

sekian dan terimakasih :))

finding the square root of a number

soal :

mencari akar persamaan kuadrat ,,,

analisis :
persamaan kuadrat adalah persamaan dengan bentuk umum ax^2 + bx + c dengan a tidak sama dengan 0. jika b^2 - 4ac < 0 maka akan diperoleh akar imajiner.

input : koefien a, b, c bilangan real.
proses : ada tiga alternatif pilihan dari harga b^2 - 4ac yaitu harganya 0 positif atau negatif
output : nilai akar berdasarkan rumus.

algoritma :
{menghitung akar persamaan kuadrat ax^2 + bx + c = 0}

deklarasi :
read (a, b, c)
disk <-b*b - 4*a*c
if (a=0 then write (bukan persamaan kuadrat)
else if disk > 0 then
x1<=  b + sqrt(diks)/2*a
x2<=  b - sqrt(diks)/2*a
else if disk = 0 then
x1<= b/2 *a
x2<=x1
else write (akar imajiner)
end if
write (x1,x2)

jika di aplikasikan kedalam bahasa c++

#include <cstdlib>
#include <iostream>
#include <math.h>

using namespace std;

int main(int argc, char *argv[])
{
    int a,b,c;
    long disk;
    float x1,x2;
    cout<<" koefisien pangkat dua : ";cin>>a;
    cout<<" koefisien pangkat satu : ";cin>>b;
    cout<<" koefisien pangkat nol : ";cin>>c;
    if(a==0){
             cout<<"tentukan persamaan kuadrat|n";
             cout<<"harga akarnya adalah : "<<-c/b;}
          else { 
               disk=b*b-4*a*c;
                 if(disk>0){
                        x1=-b+sqrt(disk)/(2*a);
                        x2=-b-sqrt(disk)/(2*a);
                        cout<<"diskriminan : "<<disk<<endl;
                        cout<<"x1 : "<<x1<<endl;
                        cout<<"x2 : "<<x2<<endl;
                        } else
                        cout<<" akar imajiner"<<endl;
                        }
    
    system("PAUSE");
    return EXIT_SUCCESS;
}


 jika di run akan tampil,,,


flowchat akar persamaan kuadrat,,,



semoga bermanfaat,,

Saturday, 15 March 2014

konversi nilai

soal

konversikan nilai angka menjadi nilai huruf dengan ketentuan sebagai berikut :
0-20 nilai huruf E, 21-40 nilai huruf D, 40-60 nilai huruf C, 61-80 nilai huruf B, 81-100 nilai huruf A...

algoritma :
{mengkonversikan nilai angka menjadi nilai huruf}

deklarasi :
nilai : interger
nilai_huruf : char

deskripsi :
read(nilai)
if (nilai>0) and (nilai <= 20) then nilai huruf <= E
else if (nilai>20) and (nilai <= 40) then nilai huruf <= D
else if (nilai>40) and (nilai <= 60) then nilai huruf <= C
else if (nilai>60) and (nilai <= 80) then nilai huruf <= B
else nilai_huruf <= A end if
write (nilai_huruf)

jika diaplikasikan kedalam bahasa C++

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int nilai;
    char nilai_huruf;
    cout<<"inputkan nilai angka : ";
    cin>>nilai;
    if((nilai>0)&&(nilai<=20))nilai_huruf = 'E';
    else if ((nilai>20)&&(nilai<=40))nilai_huruf = 'D';
    else if ((nilai>40)&&(nilai<=60))nilai_huruf = 'C';
    else if ((nilai>60)&&(nilai<=80))nilai_huruf = 'B';
    else nilai_huruf : 'A';
    cout<<"nilai huruf : "<<nilai_huruf;
    cout<<endl;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}

jika dirun akan tampil seperti dibawah ini,,,,


flowchatnya,,,


semoga bermanfat teman-teman,,,


akar persamaan kuadrat

soal :

carilah akar-akar persamaan kuadrat ,,,

analisis :
persamaan kuadrat adalah persamaan dengan bentuk umum ax^2 + bx + c dengan a tidak sama dengan 0. jika b^2 - 4ac < 0 maka akan diperoleh akar imajiner.

input : koefien a, b, c bilangan real.
proses : ada tiga alternatif pilihan dari harga b^2 - 4ac yaitu harganya 0 positif atau negatif
output : nilai akar berdasarkan rumus.

algoritma :
{menghitung akar persamaan kuadrat ax^2 + bx + c = 0}

deklarasi :
read (a, b, c)
disk <-b*b - 4*a*c
if (a=0 then write (bukan persamaan kuadrat)
else if disk > 0 then
x1<=  b + sqrt(diks)/2*a
x2<=  b - sqrt(diks)/2*a
else if disk = 0 then
x1<= b/2 *a
x2<=x1
else write (akar imajiner)
end if
write (x1,x2)

jika di aplikasikan kedalam bahasa c++

#include <cstdlib>
#include <iostream>
#include <math.h>

using namespace std;

int main(int argc, char *argv[])
{
    int a,b,c;
    long disk;
    float x1,x2;
    cout<<" koefisien pangkat dua : ";cin>>a;
    cout<<" koefisien pangkat satu : ";cin>>b;
    cout<<" koefisien pangkat nol : ";cin>>c;
    if(a==0){
             cout<<"tentukan persamaan kuadrat|n";
             cout<<"harga akarnya adalah : "<<-c/b;}
          else { 
               disk=b*b-4*a*c;
                 if(disk>0){
                        x1=-b+sqrt(disk)/(2*a);
                        x2=-b-sqrt(disk)/(2*a);
                        cout<<"diskriminan : "<<disk<<endl;
                        cout<<"x1 : "<<x1<<endl;
                        cout<<"x2 : "<<x2<<endl;
                        } else
                        cout<<" akar imajiner"<<endl;
                        }
    
    system("PAUSE");
    return EXIT_SUCCESS;
}


 jika di run akan tampil,,,


flowchat akar persamaan kuadrat,,,

semoga bermanfaat,,

bilangan terbesar antara tiga bilangan bulat

soal

tentukan bilangan terbesar antara tiga bilangan bulat

analisis :

input : misalkan a,b dan c semuanya integer
proses : kita harus membandingkan ketiga bilangan bulat tersebut
output : bilangan terbesar

algoritma :
{algoritma menerima inputan bilangan bulat, menentukan bilangan bulat terbesar antara tiga buah bilangan tersebut dan menngeluarkan outputnya}

deklarasi :
a, b, c : integer (input)

deskripsi :
read (a, b, c)
if (a > b) and (a > c) then write (bilangan terbesar adalah : ',a) else if (b > a) and (b > c) then write (bilangan tebesar adalah : 'b) else write (bilangan terbesar adalah : 'c) end if

jika kita aplikasikan kedalam bahasa c++

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int a,b,c;
    cout<<"inputkan bilangan pertama : ";
    cin>>a;
    cout<<"inputkan bilangan kedua : ";
    cin>>b;
    cout<<"inputkan bilangan ketiga : ";
    cin>>c;
    cout<<endl;
    
    if (a>b)
    cout<<" bilangan terbesar : "<<a;
    else if (b>c)
    cout<<" bilangan terbesar : "<<b;
    else 
    cout<<" bilangan terbesar : "<<c;
    cout<<endl; cout<<endl;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}

setelah di run akan tampak seperti dibawah ini,,



flowchat dari bilangan terbesar dari 3 bilangan bulat

thank you ^_^




Thursday, 13 March 2014

refleksi minggu 3 alpro

14 maret 2014

hari ini saya sedikit senang karena hutang saya sudah lunas, namun saya benar-benar merasakan sensasi yang luar biasa karena ini adalah pertama kalinya saya masuk kuliah jam 06:00 pagi dan tidak terlambat, algoritma mengajarkan saya bagaimana caranya agar kita bisa menjadi lebih disiplin dan juga bertanggung jawab dengan waktu.

1. apa yang anda peroleh

 seeperti biasa dipertemuan ketiga saya mendapatkan tugas baru yang lebih menantang dan juga lebih banyak pastinya, soal yang akan membuat otak saya menjadi lebih encer dari sebelum nya, seoerti pisau yang akan selalu diasah dengan jumlah soal yang banyak dan beragam dalam mengerjakan nya, selain itu saja juga mendapatkan bagaimana cara mengambil gambar dengan baik, hasil nya bagus serta dapat dinikamati banyak orang. saya mengetahui trik untuk mengatur kamera dlsr dan juga mendapatkan trik belajar agar lebih semangat lagi.

2. apa yang tidak dipahami

yang tidak saya pahami dipertemuan yang ke tiga ini adalah cara membuat flowchat dengan akar kuadrat dan juga pengkondisian if esle

3. usaha yang dilakukan

saya berusaha mempelajari bagaimana cara membuat flowchat dengan membuka catatan praktikum semester satu dan juga bertanya pada teman yang bisa jika saya sudah tidak bisa lagi mengerjakan nya :))


sekian refleksi saya, semoga alpro makin mudah di mengerti dan juga semakin enjoy blajar nya :))

Wednesday, 12 March 2014

counting

soal

Diberikan satu set tanda pemeriksaan "n" mahasiswa (dalam kisaran 0-100) membuat perhitungan dari sejumlah mahasiswa yang lulus ujian dengan nilai kelulusan >=50.

algoritma :

(Algoritma menerima inputan Perulangan sebanyak ‘n’, inialisasi i adalah 1 dan lulus tidak lulus adalah 0, memasukkan nilai (x), jika nilai x >= 50 (lulus), jika nilai x < 50 ( tidak lulus), menjumlah mahasiswa yang lulus dan tidak lulus, mengulang sebanyak ‘n’ kali). 

deklarasi : 

n, i, lu, tl, x : integer (input)
tl, lu : integer (output)

deskripsi :

read : (n,x)
perulangan sebanyak n kali, x < 50 = tl, x >= 50 = lu, jumlah lulus +1
write (tl, lu)

jika kita buat dalam bahasa c++

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    
    int n, i, x, lu, tl;
    cout<<" banyaknya mahasiswa: ";
    cin>>n;
    lu=0;
    tl=0;
   
    for (i=1;i<=n;i++)
    {
    cout<<" inputkan nilai: ";
    cin>>x;
    if (x>=50)
    {
    lu=lu+1;
}
    else
    {
    tl=tl+1;
}
}
cout<<"Banyak mahasiswa yang lulus : "<<lu<<endl<<endl;
cout<<"Banyak mahasiswa yang tidak lulus : "<<tl<<endl<<endl;

    system("PAUSE");
    return EXIT_SUCCESS;
}

setelah di run,,,


flowchat,,



semoga bermanfaat teman-teman,,,, :)


Generation of the Fibonacci Sequence

soal

menghasilkan dan mencetak persyaratan N pertama dari urutan fibonacci dengan n>=1

algoritma fibonacci
{algoritma menerima inputan angka ke1 dan ke2, menerima batasan angka, menggunakan perulangan jika a <= 0, menghitung f3 dengan  f1+ f2 dengan f1 adalah f2 dan f2 adalah f3, nilai a adalah pengurangan a dengan 1, algoritma mencetak hasil dari f3 }

deklarasi :
f1, f2, a : integer (inputan)
f3 : integer (output)

deskripsi :
read (f1, f2, a)
ulang a <=0
f3 <= f1 + f2
write (f3)

jika kita buat dalam bahasa c++

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int a, b, f=1, f2=1, fib;
    cout<<" inputkankan deret yang akan ditampilkan  : ";
    cin>>b;
    cout<<endl<<"Deret Fibonacci : "<<endl<<endl<<f;
    for(a=1;a<=b-2;a++)
    {
       cout<<" "<<f2;
       fib=f+f2;
       f=f2;
       f2=fib;
    }
    cout<<" "<<fib<<endl;
    cout<<endl;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}

setelah codingan di atas di run ,,



flowchat,,

sekian dan maciii :*

Monday, 10 March 2014

Program membalik angka

soal

algoritma membalik angka

{algoritma menerima inputan angka, kemudian membalik angka tersebut dan mengeluarkan output angkam yang sudah dibalik }

deklarasi :
angka1 : integer (input)
angka2 : integer (onput)

deskripsi :
read : (angka1)
angka <-balik angka
write : (angka2)

=> jika dibuat dalam bahasa c++,,,

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    char string[25];   
   int pjgstring;     

   cout << "  [^_^]  PROGRAM MEMBALIK ANGKA  [^_^]  " <<endl <<endl;

   cout << "Masukkan ANGKA :"; 
   cin  >> string;
   cout << "Angka setelah dibalik : ";

   
   pjgstring = strlen(string) - 1;
   while (pjgstring >= 0)         
   {
    cout << string[pjgstring];
      pjgstring = pjgstring - 1;  
   }
   cout<<endl;


    system("PAUSE");
    return EXIT_SUCCESS;
}

setelah dirun,,,


=> flowchat ,,,