31 January, 2010

Pemrograman Grafik dengan Delphi

Beberapa hal dasar yang perlu diketahui terkait pemrograman grafik, di antaranya adalah :


a. Kanvas
b. Piksel
c. Koordinat

kanvas dapat dibayangkan seperti satu lembar kertas atau kain, yang pada lembaran tersebut kita dapat menggambar. Pada form kanvas di implementasikan melalui properti yang disebut Canvas. kanvas tersusun atas sejumlah piksel. Piksel adalah elemen terkecil pada kanvas yang dapat dimanipulasi.

Setiap piksel mempunyai koordinat, yang dinyatakan dengan X,Y. "X" merupakan kolom, sedangkan "Y" merupakan baris. Dengan demikian piksel pojok kiri atas memiliki koordinat (0,0) sedangkan pojok kanan bawah memiliki koordinat berupa(client width, client height).

Canvas memiliki property bernama Pen, atribut ini berguna untuk pengaturan color, style, width dll. Untuk property style pada pen terdapat beberapa macam bentuk garis yang dihasilkan, antaranya dengan perintah: pssolid,psdash,psdot,psdashdot,psdashdotdot.

Canvas juga menyediakan property untuk menggambar kotak (rectangle), lingkaran (ellipse), busur (arc), potongan kue (pie), polygon/polyline dan kurva Bezer (polybezer).

berikut ini adalah contoh gambar program yang telah saya buat, dan silahkan saudara-saudara mempraktekkanya :

1. Pertama-tama kita buka dulu delphi yang sudah terinstall di komputer atau laptop anda.

2. Tambahkan button pada menu bar standard, klik sekali tombol button (lambangnya "ok") lalu klik kan ke form1 dan pada object inspector, caption "button1" ganti dengan menggambar. Sehingga akan tampil seperti gambar dibawah ini :


3. Setelah itu memasukkan program kedalam button "menggambar", klik dua kali button "menggambar" lalu masukkan program dibawah ini :

procedure TForm1.Button1Click(Sender: TObject);
begin
//menggambar lingkaran(ellips)
canvas.Ellipse(200,200,300,100);
//menggambar lingkaran(ellips)
canvas.Ellipse(220,125,250,155);
canvas.Ellipse(240,135,230,145);
//garis kacamata kanan
Canvas.Polyline([point(204,135),point(220,140)]);
//menggambar lingkaran(ellips)
canvas.Ellipse(250,125,280,155);
canvas.Ellipse(260,135,270,145);
//garis kacamata kiri
Canvas.Polyline([point(297,135),point(279,140)]);
//menggambar poligon(polyline)
canvas.Pen.Color:=clblack;
canvas.Polyline([point(250,150),point(260,165),point(240,165),
point(250,150)]);
//menggambar leher poligon(polyline)
canvas.Pen.Color:=clblack;
canvas.Polyline([point(240,198),point(260,198),point(260,208),
point(240,208),point(240,198)]);
//menggambar tubuh poligon(polyline)
canvas.Pen.Color:=clblack;
canvas.Polyline([point(200,208),point(300,208),point(300,350),
point(200,350),point(200,208)]);
//menggambar tangan 1 poligon(polyline)
canvas.Pen.Color:=clblack;
canvas.Polyline([point(300,208),point(340,279),point(300,350),
point(300,320),point(320,279),point(300,228),point(300,208)]);
//menggambar tangan 2 poligon(polyline)
canvas.Pen.Color:=clblack;
canvas.Polyline([point(200,208),point(200,228),point(145,200),
point(190,130),point(200,150),point(165,200),point(200,208)]);
//menggambar kaki 1 poligon(polyline)
canvas.Pen.Color:=clblack;
canvas.Polyline([point(210,350),point(240,350),point(240,500),
point(210,500),point(210,350)]);
canvas.Pen.Color:=clblack;
canvas.Polyline([point(260,350),point(290,350),point(290,500),
point(260,500),point(260,350)]);
//menggambar kaki 2 poligon(polyline)
canvas.Pen.Color:=clblack;
canvas.Polyline([point(235,500),point(235,510),point(200,510),
point(215,505),point(215,500)]);
canvas.Pen.Color:=clblack;
canvas.Polyline([point(285,500),point(285,505),point(300,510),
point(265,510),point(265,500)]);
//menggambar Dasi(kotak)
Canvas.Rectangle(245,208,255,213);
Canvas.Polyline([point(245,213),point(240,289),point(250,299),
point(260,289),point(255,213)]);
//menggambar kotak saku
canvas.Rectangle(210,299,240,340);
canvas.Rectangle(260,299,290,340);
canvas.Pen.Color:=clblack;
canvas.Polyline([point(210,299),point(210,309),point(225,319),
point(239,309),point(239,299)]);
canvas.Pen.Color:=clblack;
canvas.Polyline([point(260,299),point(260,309),point(275,319),
point(289,309),point(289,299)]);
canvas.Ellipse(223,310,227,315);
canvas.Ellipse(273,310,277,315);
//menggambar topi
Canvas.chord(195,28,305,150,275,100,180,120);
//menggambar bibir
Canvas.Chord(240,150,260,190,100,250,300,200);
//menggambar kuping
Canvas.Ellipse(193,130,203,150);
Canvas.Ellipse(297,130,307,150);
end;
end.


4. Jalankan program tersebut, jika tidak ada kesalahan, maka program akan berjalan dengan baik dan akan menampilkan gambar orang lagi hormat seperti gambar dibawah ini :


SELAMAT MENCOBA SEMOGA BERHASIL!!!

Kalau ingin melihat contoh yang saya buat silahkan dowload disini .

[+] ReadMore...

30 January, 2010

Membuat Traffic Lamp (lampu lalulintas) dengan Delphi

Langsung saja tidak usah basa-basi.


1. Pertama-tama kita buka dulu delphi yang sudah terinstall di komputer atau laptop anda.

2. Setelah itu Klik tab Properties pada Object Inspetor. Ubah Caption "Form1" menjadi "Fauzan Traffic Lamp". Terus pada color "clBtnFace" ubah menjadi "clAqua".

3. Klik dua kali pada form1 lalu isikan listing program berikut :

procedure TForm1.FormCreate(Sender: TObject);
begin
shape2.Brush.Color:=clred;
label1.Font.Color:=clred;
label1.Caption :='10';
label2.Caption:='Stop!!!';
label2.font.color:= clred;
end;


4. Pada menu bar additional klik "shape" (gambar segitiga,linkaran,persegi). Tambahkan tujuh buah "shape" pada form1 dan atur sesuai gambar dibawah ini :


5. Untuk mengganti warna pada "shape" tersebut, klik sekali "shape" yang ingin di ubah warnanya, setelah itu pada object inspector, klik tanda "+" pada "brush" sehingga dibawahnya akan muncul "color dan style". Dan pada color tersebut pilih warna yang anda sukai.

6. Selanjutnya tambahkan dua buah "label" dan satu buah "timer". label terdapat pada menu bar "standard" yang lambangya huruf "A". Sedangkan timer terdapat pada menu bar "system" lambangnya bergambar jam.

7. Langkah selanjutnya mengubah tampilan kedua label tersebut agar kelihatan menarik.

a. Label pertama : klik sekali "label1", pada Object Inspetor. Hapus "label1" pada Caption sehingga kosong, pada color "clAqua" ganti dengan "clDefault"

b. Label kedua : klik sekali "label2", pada Object Inspetor. Ubah Caption "label2" menjadi "Fauzan".

c. Mengubah tulisan label: klik sekali "label yang ingin di edit", pada Object Inspetor. klik tombol "..." (terdapat pada font) sehingga akan muncul tampilan seperti dibawah ini:


8. Atur komponen-komponen program yang baru di tambahkan tersebut sesuai gambar di bawah ini :


9. Mengisikan listning program pada timer. klik dua kali komponen timer lalu isikan program seperti di bawah ini :

procedure TForm1.Timer1Timer(Sender: TObject);
var bil1,bil2 :integer;
begin
bil1:=strtoint(label1.caption);
bil2:=bil1-1;
label1.Caption:=inttostr(bil2);
if label1.caption='-1' then
if label1.Font.color=clred then
begin
label1.caption:='7';
shape2.Brush.Color:=clGrayText;
shape3.Brush.Color:=clGrayText;
shape4.Brush.Color:=cllime;
label1.Font.Color:=cllime;
label2.Caption:='Go!!!!!!!!!!';
label2.font.color:= cllime;
end
else
if label1.caption ='-1' then
if label1.Font.Color=cllime then
begin
label1.caption :='3';
shape2.Brush.Color:=clGrayText;
shape3.Brush.Color:=clYellow;
shape4.Brush.Color:=clGrayText;
label1.Font.Color:=clblack;
label2.Caption:='Slow!!!';
label2.font.color:= clyellow;
end
else
if label1.caption ='-1' then
if label1.Font.Color=clBlack then
begin
shape2.Brush.Color:=clRed;
shape3.Brush.Color:=clGrayText;
shape4.Brush.Color:=clGrayText;
label1.Font.Color:=clRed;
label1.Caption :='10';
label2.Caption:='Stop!!!';
label2.font.color:= clred;
end
end;
end.


10. Jalankan Program, jika tidak ada kesalahan maka program akan berjalan dengan baik seperti gambar dibawah ini :


SELAMAT MENCOBA ^_^

atau dowload disini untuk melihat program yang sudah saya buat.


[+] ReadMore...

29 January, 2010

Membuat Audio Player Dengan Delphi

Awal ceritanya seh aku lagi nyari tugas membuat data base dengan delphi di mbah google,tepatnya seh setahun yang lalu dan tidak sengaja dapet tutorial buat Audio player dari mas "NurWahyu H". dan secara tidak sengaja juga, aku baca artikelnya.(baca artikel kok gak sengaja??????????) dari situlah aku mulai tertarik, dan langsung aku praktekkin (gak jadi ngerjain tugas tapi malah main-main,,, wkwkwkwkwk). Jika anda tertarik juga silahkan baca tutorial dibawah ini, atau download program yang sudah saya praktekin disini .


langkah-langkahnya sebagai berikut :

1. Jalankan Borland Delphi. Kemudian klik File | New | VCL Form
Application.

2. Klik tab Properties pada Object Inspetor. Ubah Caption “Form1” menjadi
Wahyu Audio Player”. Lalu pindah ke tab Events, kilk ganda pada Event
OnCreate sehingga tampil Code Editor dan ketikkan kode:

procedure TForm1.FormCreate(Sender: TObject);
var
busur:HRGN;
oke:HBRUSH;
setengah:HDC;
begin

busur:=createellipticrgn(5,25,495,590);
setwindowrgn(handle,busur,true);
deleteobject(busur);
end;


3. Tambahkan komponen TImage1 yang tedapat pada Component Pallete ke
dalam Form Designer. Tambahkan gambar pemandangan dengan
mengklik ganda property Picture. Ubah property Stretch menjadi true dan
visible menjadi true. Klik tab Events, lalu klik ganda pada OnMouseDown
dan tuliskan kode program:

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
sc_dragmove=$F012;
begin
releasecapture;
form1.Perform(wm_syscommand,sc_dragmove,0);
end;


4. Tambahkan 2 buah TButton. Ubah property Captionnya menjadi “Buka”
dan “Tutup”. Klik ganda tombol “Buka”, tuliskan kode:

procedure TForm1.Button1Click(Sender: TObject);
begin
if opendialog1.Execute then
begin
mediaplayer1.filename:=opendialog1.filename;
mediaplayer1.open;
mediaplayer1.play;
mediaplayer1.stop;
end
end;


Klik ganda tombol “Berhenti” lalu tuliskan kode:

procedure TForm1.Button2Click(Sender: TObject);
begin
mediaplayer1.Close;
end;


5. Tambahkan 1 buah TSpeedButton, ubah property Caption menjadi “-“ dan
1 buah TPanel ubah menjadi “Keluar”. Klik ganda “Keluar”, tulis kode:

procedure TForm1.BitBtn3Click(Sender: TObject);
begin
if Application.MessageBox('Terimakasih Telah Menggunakan Software ini',
'informasi',mb_okcancel or mb_iconquestion)=mrok then
Application.Terminate;
end;


6. Tambahkan 2 buah Tlabel. Caption “Label 1” dikosongkan dan “Label 2”
ubah menjadi “Fauyan Audio Player”

7. Tambahkan 2 buah komponen TTimer.Atur property timer 1 dengan
interval 700 dan timer 2 dengan interval 1000. Pada tab Events, klik ganda
OnTimer lalu tuliskan kode program pada timer 1:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if label2.visible = true then
label2.visible := false
else
label2.visible := true;
end;


Dan tuliskan kode untuk timer 2:

procedure TForm1.Timer2Timer(Sender: TObject);
begin
label1.Caption:=timetostr(time);
end;


8. Letakkkan komponen TOpenDialog lalu atur property Filter ketikkan type
*.mp3, *.wav dan *.avi. pada form.

9. Klik komponen TMediaPlayer yang ada di Commponen pallete untuk
ditambahkan pada Form.

10. Untuk membuat pesan teks cursor berada di atas tombol, tuliskan pesan teks pada property hint dan atur property showhint menjadi true.

11. Atur property cursors untuk memberikan efek pada bentuk cursor.


12. Jalankan Program yang telah dibuat dengan menekan run. Apabila program yang ditulis benar, maka akan menghasilkan tampilan program seperti yang terlihat di bawah:

a. Gambar ini contoh program yang saya buat :


b. Gambar ini contoh program yang di buat oleh NurWahyu H :


13. Agar program di atas bisa dijalankan tanpa harus membuka Borland Delphi, maka program WAPlayer yang telah dibuat harus diubah ekstensinya menjadi .exe dengan cara klik Menu Project kemudian klik Compile.

[+] ReadMore...

25 January, 2010

Koneksi Database di Delphi 7 dengan ADO

1. Pertama-tama kita harus membuat database terlebih dahulu dengan menggunakan Ms.Acces,di bawah ini contoh database yang telah saya buat, isikan kolom dan baris pada Ms. Acces seperti gambar di bawah ini:




pastikan databasenya seperti gambar dibawah ini :


2. Simpan access tersebut ke hardisk dan beri nama sesuai kehendak teman-teman.

3. Buka Delphi lalu Buat Form baru dan Siapkan :

a. 5 buah label (Standar)
b. 5 buah DBEdit (Data Control)
c. ADOConection (ADO)
d. ADOTable (ADO)
e. DataSource (Data Access)
f. DBNavigator (Data Control)
g. 2 Buah Button (Standar)
h. DBGrid (Data Control)

Susunlah Komponen-komponen diatas sesuai dengan gambar di bawah ini,atau terserah temen-temen aja yang penting mudah di pahami.


4. Koneksikan ADOConection

a. Klik dua kali komponen ADOConecction,lalu akan muncul tampilan seperti di bawah ini :


b. Klik Build >> lalu muncul tampilan seperti di bawah ini :


c. Klik Next >>Klik Tombol(...) untuk mengoneksikan databasenya,cari Ms.access yang telah temen-temen simpan di hardisk tadi. dan muncul gambar seperti dibawah ini :


d. Klik Test Connection pastikan test koneksinya sukses,seperti gambar di bawah ini :


e. Klik OK >> OK >> OK sehingga kembali ke form1 lagi.


f. Koneksikan komponen-komponen seperti gambar di bawah ini :


Sehingga Form1 tadi akan berubah seperti gambar dibawah ini :


5. Isikan program pada button proses dan Exit.

a. Klik dua kali button proses.
b. Isikan Program seperti dibawah ini :

procedure TForm1.Button1Click(Sender: TObject);
var
Nilai_Matematika,Nilai_Bahasa_Indonesia,Nilai_bahasa_Inggris,
Total_Nilai:real;
kriteria:String;
begin
Nilai_Matematika:=StrToFloat(DBEdit1.Text);
Nilai_Bahasa_Indonesia:=StrToFloat(DBEdit2.Text);
Nilai_bahasa_Inggris:=StrToFloat(DBEdit3.Text);
Total_nilai:=(Nilai_Matematika+Nilai_Bahasa_Indonesia+Nilai_bahasa_Inggris)/3;
dbedit4.text:=floattostr(total_nilai);
if(total_nilai >=85) then kriteria:='A' else
if(total_nilai >=75) and (total_nilai <=84) then kriteria:='B' else if(total_nilai >=60) and (total_nilai <=74) then kriteria:='C' else if(total_nilai >=45) and (total_nilai <=59) then kriteria:='D' else kriteria:='E'; dbedit5.Text:=kriteria; end;


c. Lalu klik dua kali pada button exit.
d. Isikan Program seperti dibawah ini :

procedure TForm1.Button2Click(Sender: TObject);
begin
Application.Terminate;
end;
end.



[+] ReadMore...

24 January, 2010

Program Konversi Uang Dengan Delphi

Pertama-tama wajib mendownload delphi 7, cari aja di mbah google pasti ada banyak banget. Setelah download selesai, install di kompi atau laptop anda, kalau dah punya delphi 7 gak diwajibkan untuk download, siapkan aja ember,gayung dan air, cari dikamar mandi jangan di mbah google.. xixixxi

bingung ya kok pake ember,gayung dan air???? yaiaylah orang aku boongin,,, ckckckck
udah deh bercandanya sekarang serius....

Langkah pembuatan program :

1. Jalankan Delphi 7

2. Pada kotak objek inspector terdapat 2 baris dan banyak kolom. pada kolom color isi dengan warna kesukaan anda. Disini saya contohkan dengan warna "clAqua"

3. Pada kolom caption "Form1" ganti dengan "konversi uang"

4. Tambahkan label,edit,dan button pada form konversi uang, dengan mengeklik simbol "A","OK","AB|" pada bagian atas lalu klik kan ke form konversi uang. lihat gambar dibawah :



5. dan di atur letaknya seperti gambar dibawah ini:


6. Untuk mengganti nama pada label, klik sekali saja label yang ingin diganti namanya, lalu lihat kotak kiri bawah (kotak objek inspector) ganti nama yang anda inginkan pada kolom caption, yang sebelumnya bernama label1. Dan lakukan cara yang sama untuk mengganti nama pada tombol/button.

7. langkah selanjutnya memasukkan listning program pada button "konversi". dengan cara klik dua kali tombol tersebut lalu masukkan listning program dibawah ini:

procedure TForm1.BitBtn1Click(Sender: TObject);
var
masukkan,seratus_ribu,lima_puluh_ribu,sepuluh_puluh_ribu,
lima_ribu,seribu,lima_ratus,seratus,lima_puluh,sepuluh,satu:integer;
begin
{100 ribu}
masukkan:=StrToInt(edit1.Text);
seratus_ribu:=masukkan div 100000;
edit2.Text:=IntToStr(seratus_ribu);
{50 ribu}
masukkan:=StrToInt(edit1.Text);
lima_puluh_ribu:=masukkan div 50000 mod 2;
edit3.Text:=inttostr(lima_puluh_ribu);
{10 ribu}
masukkan:=StrToInt(edit1.Text);
sepuluh_puluh_ribu:=masukkan div 10000 mod 5;
edit4.Text:=inttostr(sepuluh_puluh_ribu);
{5 ribu}
masukkan:=StrToInt(edit1.Text);
Lima_ribu:=masukkan div 5000 mod 2;
edit5.Text:=inttostr(lima_ribu);
{seribu}
masukkan:=StrToInt(edit1.Text);
seribu:=masukkan div 1000 mod 5;
edit6.Text:=inttostr(seribu);
{lima ratus}
masukkan:=StrToInt(edit1.Text);
lima_ratus:=masukkan div 500 mod 2;
edit7.Text:=inttostr(lima_ratus);
{seratus}
masukkan:=StrToInt(edit1.Text);
seratus:=masukkan div 100 mod 5;
edit8.Text:=inttostr(seratus);
{lima puluh}
masukkan:=StrToInt(edit1.Text);
lima_puluh:=masukkan div 50 mod 2;
Edit9.Text:=IntToStr(lima_puluh);
{sepuluh}
masukkan:=StrToInt(edit1.Text);
sepuluh:=masukkan div 10 mod 5;
Edit10.Text:=IntToStr(sepuluh);
{satu}
masukkan:=StrToInt(edit1.Text);
satu:=masukkan div 1 mod 10;
Edit11.Text:=IntToStr(satu);
end;

8. Terus klik dua kali lagi pada button "Exit" dan copas listning program dibawah ini :

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
if Application.MessageBox('Anda Yakin?',
'informasi',mb_okcancel or mb_iconquestion)=mrok then
Application.Terminate;
end;
end.

9. Untuk Menjalankannya klik tombol run , lalu masukkan uang yang ingin anda konversikan, terus klik tombol konversi, lihat apa yang terjadi!! Program akan menampilkan jumlah masing- masing pecahan, jika seluruh pecahan itu di jumlahkan maka hasilnya sama dengan nilai uang yang anda masukkan tadi.



Nah,,, kurang lebihnya seperti itu, Selamat Mencoba. ^_^

[+] ReadMore...

22 January, 2010

Program Konversi Uang dengan C++

Sebagai contoh disini ada program pada POM bensin, Cara kerja program ini adalah :
User akan memasukkan nama terlebih dahulu, selanjutnya memilih 4 menu yang tampil setelah nama diisikan. diantaranya adalah :
1. Solar : Rp.4000.00
2. Premium : Rp.4500.00
3. Pertamax : Rp.5000.00
4. Keluar

Selanjutnya user memasukkan uang yang di bayarkan,maka program akan memberitahukan pecahan uang yang dibayarkan secara detail.

Nah..lihat dan pelajari contoh listing programnya dibawah ini :


#include<iostream.h>
#include<conio.h>
#include<iomanip>
int main()
{
int a, jumlah, rtsnrb, lmplhrb, splhrb, lmrb,
serb, lmrts, srts, lmplh, sisa;
float uang,liter;
char kembali,nama[100];
do {
clrscr();
cout<<endl;
cout<<" ========================================"<<endl;
cout<<" | SELAMAT DATANG DI POM BENSIN FAUYAN |"<<endl;
cout<<" ========================================"<<endl;
cout<<endl;
cout<<"Nama konsumen = ";cin>>nama;
cin.getline(nama,20);
cout<<endl;
cout<<" 1. Solar "<<setw(15)<<" : Rp.4000.00"<<endl;
cout<<" 2. Premium "<<setw(7)<<" : Rp.4500.00"<<endl;
cout<<" 3. Pertamax : Rp.5000.00"<<endl;
cout<<" 4. Keluar "<<endl;
cout<<endl;
cout<<"Masukkan pilihan anda = ";cin>>a;
switch(a)
{
case 1:
cout<<"Uang yang dibayarkan" <<setw(7)<< " = Rp.";cin>>uang;
cout<<endl;
liter=uang/4000;
rtsnrb = uang / 100000;
sisa = uang - (rtsnrb * 100000);
lmplhrb = sisa / 50000;
sisa = sisa - (lmplhrb * 50000);
splhrb = sisa / 10000;
sisa = sisa - (splhrb * 10000);
lmrb = sisa / 5000;
sisa = sisa - (lmrb * 5000);
serb = sisa / 1000;
sisa = sisa - (serb * 1000);
lmrts = sisa / 500;
sisa = sisa - (lmrts * 500);
srts = sisa / 100;
sisa = sisa - (srts * 100);
lmplh = sisa / 50;
sisa = sisa - (lmplh * 50);
if (rtsnrb > 0){
if (uang >= 100000)
cout << "Pecahan 100.000 ada" <<setw(6)<< " = " <<rtsnrb;cout<<" Lembar"<<endl;}
if (lmplhrb > 0){
if (uang >= 50000)
cout << "Pecahan 50.000 ada" <<setw(7)<< " = "<<lmplhrb;cout<<" Lembar"<<endl;}
if (splhrb > 0){
if (uang >= 10000)
cout << "Pecahan 10.000 ada" <<setw(7)<< " = "<<splhrb;cout<<" Lembar"<<endl;}
if (lmrb > 0){
if (uang >= 5000)
cout << "Pecahan 5.000 ada" <<setw(8)<< " = "<<lmrb;cout<<" Lembar"<<endl;}
if (serb > 0){
if (uang >= 1000)
cout << "Pecahan 1.000 ada" <<setw(8)<< " = "<<serb;cout<<" Lembar"<<endl;}
if (lmrts > 0){
if (uang >= 500)
cout << "Pecahan 500 ada" <<setw(10)<< " = "<<lmrts;cout<<" Koin"<<endl;}
if (srts > 0){
if (uang >= 100)
cout << "Pecahan 100 ada" <<setw(10)<< " = "<<srts;cout<<" Koin"<<endl;}
if (lmplh > 0){
if (uang >= 50)
cout << "Pecahan 50 ada" <<setw(11)<< " = "<<lmplh;cout<<" Koin"<<endl;}
if (sisa > 0){
if (uang >= 0)
cout << "Sisa pecahan ada" <<setw(9)<< " = "<<sisa;cout<<" Rupiah"<<endl; }
cout<<endl;
cout<<"Maka premium yang di dapat = "<<liter;cout<<" Liter"<<endl;
cout<<setiosflags(ios::fixed);
cout<<"Maka uang yang dibayarkan " <<setw(4)<< " = Rp."<<setprecision(2)<<uang;
break;

case 2:
cout<<"Uang yang dibayarkan" <<setw(7)<< " = Rp.";cin>>uang;
cout<<endl;
liter=uang/4500;
rtsnrb = uang / 100000;
sisa = uang - (rtsnrb * 100000);
lmplhrb = sisa / 50000;
sisa = sisa - (lmplhrb * 50000);
splhrb = sisa / 10000;
sisa = sisa - (splhrb * 10000);
lmrb = sisa / 5000;
sisa = sisa - (lmrb * 5000);
serb = sisa / 1000;
sisa = sisa - (serb * 1000);
lmrts = sisa / 500;
sisa = sisa - (lmrts * 500);
srts = sisa / 100;
sisa = sisa - (srts * 100);
lmplh = sisa / 50;
sisa = sisa - (lmplh * 50);
if (rtsnrb > 0){
if (uang >= 100000)
cout << "Pecahan 100.000 ada" <<setw(6)<< " = " <<rtsnrb;cout<<" Lembar"<<endl;}
if (lmplhrb > 0){
if (uang >= 50000)
cout << "Pecahan 50.000 ada" <<setw(7)<< " = "<<lmplhrb;cout<<" Lembar"<<endl;}
if (splhrb > 0){
if (uang >= 10000)
cout << "Pecahan 10.000 ada" <<setw(7)<< " = "<<splhrb;cout<<" Lembar"<<endl;}
if (lmrb > 0){
if (uang >= 5000)
cout << "Pecahan 5.000 ada" <<setw(8)<< " = "<<lmrb;cout<<" Lembar"<<endl;}
if (serb > 0){
if (uang >= 1000)
cout << "Pecahan 1.000 ada" <<setw(8)<< " = "<<serb;cout<<" Lembar"<<endl;}
if (lmrts > 0){
if (uang >= 500)
cout << "Pecahan 500 ada" <<setw(10)<< " = "<<lmrts;cout<<" Koin"<<endl;}
if (srts > 0){
if (uang >= 100)
cout << "Pecahan 100 ada" <<setw(10)<< " = "<<srts;cout<<" Koin"<<endl;}
if (lmplh > 0){
if (uang >= 50)
cout << "Pecahan 50 ada" <<setw(11)<< " = "<<lmplh;cout<<" Koin"<<endl;}
if (sisa > 0){
if (uang >= 0)
cout << "Sisa pecahan ada" <<setw(9)<< " = "<<sisa;cout<<" Rupiah"<<endl; }
cout<<endl;
cout<<"Maka solar yang di dapat" <<setw(4)<< " = "<<liter;cout<<" Liter"<<endl;
cout<<setiosflags(ios::fixed);
cout<<"Maka uang yang dibayarkan = Rp."<<setprecision(2)<<uang;
break;


case 3:
cout<<"Uang yang dibayarkan" <<setw(7)<< " = Rp.";cin>>uang;
cout<<endl;
liter=uang/5000;
rtsnrb = uang / 100000;
sisa = uang - (rtsnrb * 100000);
lmplhrb = sisa / 50000;
sisa = sisa - (lmplhrb * 50000);
splhrb = sisa / 10000;
sisa = sisa - (splhrb * 10000);
lmrb = sisa / 5000;
sisa = sisa - (lmrb * 5000);
serb = sisa / 1000;
sisa = sisa - (serb * 1000);
lmrts = sisa / 500;
sisa = sisa - (lmrts * 500);
srts = sisa / 100;
sisa = sisa - (srts * 100);
lmplh = sisa / 50;
sisa = sisa - (lmplh * 50);
if (rtsnrb > 0){
if (uang >= 100000)
cout << "Pecahan 100.000 ada" <<setw(6)<< " = " <<rtsnrb;cout<<" Lembar"<<endl;}
if (lmplhrb > 0){
if (uang >= 50000)
cout << "Pecahan 50.000 ada" <<setw(7)<< " = "<<lmplhrb;cout<<" Lembar"<<endl;}
if (splhrb > 0){
if (uang >= 10000)
cout << "Pecahan 10.000 ada" <<setw(7)<< " = "<<splhrb;cout<<" Lembar"<<endl;}
if (lmrb > 0){
if (uang >= 5000)
cout << "Pecahan 5.000 ada" <<setw(8)<< " = "<<lmrb;cout<<" Lembar"<<endl;}
if (serb > 0){
if (uang >= 1000)
cout << "Pecahan 1.000 ada" <<setw(8)<< " = "<<serb;cout<<" Lembar"<<endl;}
if (lmrts > 0){
if (uang >= 500)
cout << "Pecahan 500 ada" <<setw(10)<< " = "<<lmrts;cout<<" Koin"<<endl;}
if (srts > 0){
if (uang >= 100)
cout << "Pecahan 100 ada" <<setw(10)<< " = "<<srts;cout<<" Koin"<<endl;}
if (lmplh > 0){
if (uang >= 50)
cout << "Pecahan 50 ada" <<setw(11)<< " = "<<lmplh;cout<<" Koin"<<endl;}
if (sisa > 0){
if (uang >= 0)
cout << "Sisa pecahan ada" <<setw(9)<< " = "<<sisa;cout<<" Rupiah"<<endl; }
cout<<endl;
cout<<"Maka pertamax yang di dapat = "<<liter;cout<<" Liter"<<endl;
cout<<setiosflags(ios::fixed);
cout<<"Maka uang yang dibayarkan " <<setw(7)<< " = Rp."<<setprecision(2)<<uang;
break;

case 4:
cout<<endl;
cout<<"Ketik 'Y' untuk kembali ke menu!!!"<<endl;
break;
default :
cout<<endl;
cout<<"Masukkan angka 1 sampai 4 saja!!!"<<endl;
break;
}
cout<<endl;
cout<<endl;
cout<<"Kembali Ke menu (y/n) ?";cin>>kembali;
}while (kembali == 'y');
}


Berikut contoh tampilan programnya :



[+] ReadMore...

17 January, 2010

Operator Perbandingan C++

Contoh 1 :
Di program ini jika anda menginputkan angka 6 maka akan berniai benar, dan jka anda memasukkan angka selain 6 maka bernilai salah.


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

int main ()
{
int a;
cout<<"Masukkan suatu bilangan = ";cin>>a;
if (a==6) {cout<<"Benar";}
// {} berfungsi sebagai "then" (jika terdapat lebih dari satu pernyataan)
else cout<<"Salah";
getch();
}

Contoh 2 :
Di program contoh 2 ini jika anda menginputkan nilai lebih dari dan sama dengan (>=) 80 maka angka tersebut bernilai "A", jika 70 maka bernilai "B", 60 bernilai "C", dan 50 bernilai "D".


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

int main ()
{
int a;
cout<<"Masukkan nilai Mahasiswa = ";cin>>a;
if (a>=80) {cout<<"nilai A";}
else
if (a>=70) {cout<<"nilai B";}
else
if (a>=60) {cout<<"nilai C";}
else
if (a>=50) {cout<<"nilai D";}
else cout<<"nilai E";
getch();
}


Contoh 3 :

Dibawah ini contoh listening program login, inputkan nama "FauzanVegaSaputra" maka login akan berhasil.


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

int main ()
{
char nama[100];
cout<<"Masukkan Nama Anda = ";cin>>nama;
if (strcmp(nama,"FauzanVegaSaputra")==0)
// "strcmp" berfungsi untuk membandingkan nilai variabel bernilai string (string compiler) menjadi nilai integer
{cout<<"Login Berhasil";}
else cout<<"Login Gagal";
getch();
}


program diatas tidak dapat membaca spasi,karena spasi bukan merupakan char, sehingga membutuhkan fungsi cin.getline agar spasi bisa di inputkan. ini contoh programnya :

"inputkan nama "Fauzan Vega Saputra"


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

int main ()
{
char nama[100];
cout<<"Masukkan Nama Anda = ";cin.getline(nama,20);
if (strcmp(nama,"Fauzan Vega Saputra")==0)
{cout<<"Login Berhasil";}
else cout<<"Login Gagal";
getch();
}


[+] ReadMore...

16 January, 2010

Menghitung Bangun Datar Dan Ruang Dengan C++

1. Bangun datar


Rumus Bujur Sangkar
Bujur sangkar adalah bangun datar yang memiliki empat buah sisi sama panjang
- Keliling : Panjang salah satu sisi dikali 4 (4S) (AB + BC + CD + DA)
- Luas : Sisi dikali sisi (S x S)

Rumus Persegi Panjang
Persegi panjang adalah bangun datar mirip bujur sangkar namun dua sisi yang berhadapan lebih pendek atau lebih panjang dari

dua sisi yang lain. Dua sisi yang panjang disebut panjang, sedangkan yang pendek disebut lebar.
- Keliling : Panjang tambah lebar kali 2 ((p+l)x2) (AB + BC + CD + DA)
- Luas : Panjang dikali lebar (pl)

Rumus Segitiga
- Keliling : Sisi pertama + sisi kedua + sisi ketiga (AB + BC + CA)
- Luas : Panjang alas dikali pangjang tinggi dibagi dua (a x t / 2)

Rumus Lingkaran
- Keliling : diameter dikali phi (d x phi) atau phi dikali 2 jari-jari (phi x (r + r)
- Luas : phi dikali jari-jari dikali jari-jari (phi x r x r)
- phi = 22/7 = 3,14

Rumus Jajar Genjang atau Jajaran Genjang
- Keliling : Penjumlahan dari keempat sisi yang ada (AB + BC + CD + DA)
- Luas : alas dikali tinggi (a x t)

Rumus Belah Ketupat
- Keliling : Penjumlahan dari keempat sisi yang ada (AB + BC + CD + DA)
- Luas : alas dikali panjang diagonal dibagi 2 (a x diagonal / 2)
- Diagonal : Garis tengah dua sisi berlawanan

Rumus Trapesium
- Keliling : Penjumlahan dari keempat sisi yang ada (AB + BC + CD + DA)
- Luas : Jumlah sisi sejajar dikali tinggi dibagi 2 ((AB + CD) / 2)


2. Bangun Ruang

Rumus Kubus
- Volume : Sisi pertama dikali sisi kedua dikali sisi ketiga (S pangkat 3)

Rumus Balok
- Volume : Panjang dikali lebar dikali tinggi (p x l x t)

Rumus Bola
- Volume : phi dikali jari-jari dikali tinggi pangkat tiga kali 4/3 (4/3 x phi x r x t x t x t)
- Luas : phi dikali jari-jari kuadrat dikali empat (4 x phi x r x r)

Rumus Limas Segi Empat
- Volume : Panjang dikali lebar dikali tinggi dibagi tiga (p x l x t x 1/3)
- Luas : ((p + l) t) + (p x l)

Rumus Tabung
- Volume : phi dikali jari-jari dikali jari-jari dikali tinggi (phi x r2 x t)
- Luas : (phi x r x 2) x (t x r)

Rumus Kerucut
- Volume : phi dikali jari-jari dikali jari-jari dikali tinggi dibagi tiga (phi x r2 x t x 1/3)
- Luas : (phi x r) x (S x r)
- S : Sisi miring kerucut dari alas ke puncak (bukan tingi)

Rumus Prisma Segitiga Siku-siku
- Volume : alas segitiga kali tinggi segitiga kali tinggi prisma bagi dua (as x ts x tp x


3. Contoh Program :


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

int main ()
{
int a;
float tinggi_segitiga,alas_segitiga,sisi_1,sisi_2,diagonal_1,diagonal_2,
luas_permukaan;

float panjang,jari,sisi_miring,sisi_atas,sisi_bawah,lebar,diagonal,sisi,luas,
keliling
,volume;
float phi=3.14,diameter,alas,tinggi;
char kembali;
do {
clrscr ();
cout<<" Nama = Fauzan Vega Saputra"<<endl;
cout<<" No.mhs = 3085111136"<<endl;;
cout<<" Kelas = TI B"<<endl;;
cout<<endl;
cout<<" BANGUN DATAR "<<endl;
cout<<endl;
cout<<"1. persegi "<<endl;
cout<<"2. Persegi panjang "<<endl;
cout<<"3. Segitiga "<<endl;
cout<<"4. Lingkaran "<<endl;
cout<<"5. Jajar genjang "<<endl;
cout<<"6. Belah ketupat "<<endl;
cout<<"7. Trapesium "<<endl;
cout<<"8. Layang-layang "<<endl;
cout<<endl;
cout<<" BANGUN RUANG "<<endl;
cout<<endl;
cout<<"9. Kubus "<<endl;
cout<<"10. balok "<<endl;
cout<<"11. Bola "<<endl;
cout<<"12. Limas segi empat "<<endl;
cout<<"13. Tabung "<<endl;
cout<<"14. kerucut "<<endl;
cout<<"15. Prisma segitiga siku-siku "<<endl;
cout<<"16. Keluar "<<endl;
cout<<endl;
cout<<"Masukkan pilihan anda = ";cin>>a;
switch(a)
{
case 1:
cout<<" Masukkan sisi persegi ";cin>>sisi;
luas=sisi*sisi;
keliling=4*sisi;
cout<<" Maka Luasnya = "<<luas<<endl;
cout<<" Maka kelilingnnya = "<<keliling;
break;


case 2:
cout<<" Masukkan panjang persegi ";cin>>panjang;
cout<<" Masukkan lebar persegi ";cin>>lebar;
luas=panjang*lebar;
keliling=2*(panjang+lebar);
cout<<" Maka Luasnya = "<<luas<<endl;
cout<<" Maka kelilingnnya = "<<keliling;
break;

case 3:
cout<<" Masukkan alas segitiga ";cin>>alas;
cout<<" Masukkan tinggi segitiga ";cin>>tinggi;
cout<<" Masukkan sisi miring segitiga ";cin>>sisi_miring;
luas=(alas*tinggi)/2;
keliling=alas+tinggi+sisi_miring;
cout<<" Maka Luasnya = "<<luas<<endl;
cout<<" Maka kelilingnnya = "<<keliling;
break;

case 4:
cout<<" Masukkan jari-jari lingkaran ";cin>>jari;
luas=phi*jari*jari;
keliling=2*phi*jari;
cout<<" Maka Luasnya = "<<luas<<endl;
cout<<" Maka kelilingnnya = "<<keliling;
break;

case 5:
cout<<" Masukkan alas jajar genjang ";cin>>alas;
cout<<" Masukkan tinggi jajar genjang ";cin>>tinggi;
cout<<" Masukkan sisi miring jajar genjang ";cin>>sisi_miring;
luas=alas*tinggi;
keliling=alas+tinggi+sisi_miring+sisi_miring;
cout<<" Maka Luasnya = "<<luas<<endl;
cout<<" Maka kelilingnnya = "<<keliling;
break;

case 6:
cout<<" Masukkan sisi belah ketupat ";cin>>sisi;
cout<<" Masukkan diagonal 1 ketupat ";cin>>diagonal_1;
cout<<" Masukkan diagonal 2 belah ketupat ";cin>>diagonal_2;
luas=0.5*diagonal_1*diagonal_2;
keliling=4*sisi;
cout<<" Maka Luasnya = "<<luas<<endl;
cout<<" Maka kelilingnnya = "<<keliling;
break;

case 7:
cout<<" Masukkan sisi atas trapesium ";cin>>sisi_atas;
cout<<" Masukkan sisi bawah trapesium ";cin>>sisi_bawah;
cout<<" Masukkan sisi miring trapesium ";cin>>sisi_miring;
cout<<" Masukkan tinggi trapesium ";cin>>tinggi;
luas=((sisi_atas+sisi_bawah)*tinggi)/2;
keliling=sisi_atas+sisi_bawah+sisi_miring+sisi_miring;
cout<<" Maka Luasnya = "<<luas<<endl;
cout<<" Maka kelilingnnya = "<<keliling;
break;

case 8:
cout<<" Masukkan sisi 1 layang-layang ";cin>>sisi_1;
cout<<" Masukkan sisi 2 layang-layang ";cin>>sisi_2;
cout<<" Masukkan alas diagonal 1 layang-layang ";cin>>diagonal_1;
cout<<" Masukkan diagonal 2 layang-layang ";cin>>diagonal_2;
luas=0.5*diagonal_1*diagonal_2;
keliling=2*sisi_1+2*sisi_2;
cout<<" Maka Luasnya = "<<luas<<endl;
cout<<" Maka kelilingnnya = "<<keliling;
break;


case 9:
cout<<" Masukkan sisi kubus ";cin>>sisi;
volume=sisi*sisi*sisi;
luas_permukaan=6*sisi*sisi;
cout<<" Maka Volume = "<<volume<<endl;
cout<<" Maka Luas permukaan = "<<luas_permukaan;
break;

case 10:
cout<<" Masukkan panjang balok ";cin>>panjang;
cout<<" Masukkan lebar balok ";cin>>lebar;
cout<<" Masukkan tinggi balok ";cin>>tinggi;
volume=panjang*lebar*tinggi;
luas_permukaan=2*(panjang*lebar+panjang*tinggi+lebar*tinggi);
cout<<" Maka Volume = "<<volume<<endl;
cout<<" Maka Luas permukaan = "<<luas_permukaan;
break;

case 11:
cout<<" Masukkan jari-jari bola ";cin>>jari;
cout<<" Masukkan diameter bola ";cin>>diameter;
volume=phi*jari*diameter*diameter*diameter*4/3;
luas_permukaan=4*phi*jari*jari;
cout<<" Maka Volume = "<<volume<<endl;
cout<<" Maka Luas permukaan = "<<luas_permukaan;
break;

case 12:
cout<<" Masukkan panjang limas segi empat ";cin>>panjang;
cout<<" Masukkan lebar limas segi empat ";cin>>lebar;
cout<<" Masukkan tinggi limas segi empat ";cin>>tinggi;
volume=panjang*lebar*tinggi*1/3;
luas_permukaan=((panjang+lebar)*tinggi)+(lebar*panjang);
cout<<" Maka Volume = "<<volume<<endl;
cout<<" Maka Luas permukaan = "<<luas_permukaan;
break;

case 13:
cout<<" Masukkan jari-jari tabung ";cin>>jari;
cout<<" Masukkan tinggi tabung ";cin>>tinggi;
volume=phi*jari*jari*tinggi;
luas_permukaan=(phi*jari*2)*(tinggi*jari);
cout<<" Maka Volume = "<<volume<<endl;
cout<<" Maka Luas permukaan = "<<luas_permukaan;
break;

case 14:
cout<<" Masukkan jari-jari kerucut ";cin>>jari;
cout<<" Masukkan tinggi kerucut ";cin>>tinggi;
cout<<" Masukkan sisi miring kerucut ";cin>>sisi_miring;
volume=phi*jari*jari*tinggi*1/3;
luas_permukaan=phi*jari*jari+phi*jari*sisi_miring;
cout<<" Maka Volume = "<<volume<<endl;
cout<<" Maka Luas permukaan = "<<luas_permukaan;
break;

case 15:
cout<<" Masukkan alas segitiga prisma segitiga siku-siku ";cin>>alas_segitiga;
cout<<" Masukkan tinggi segitiga prisma segitiga siku-siku ";cin>>tinggi_segitiga;
cout<<" Masukkan tinggi prisma segitiga siku-siku ";cin>>tinggi;
volume=panjang*alas_segitiga*tinggi_segitiga*1/2;
luas_permukaan=((panjang+lebar)*tinggi)+(lebar*panjang);
cout<<" Maka Volume = "<<volume<<endl;
cout<<" Maka Luas permukaan = "<<luas_permukaan;
break;

case 16:
cout<<"exit..."<<endl;
break;
default :
cout<<"Program tidak tersedia"<<endl;
break;
}
cout<<endl;
cout<<" Kembali Ke menu (y/n)?";cin>>kembali;
}while (kembali == 'y');
}



[+] ReadMore...

QUEUE ( ANTREAN ) dalam C++

1. PENGERTIAN QUEUE (ANTREAN)

Queue adalah suatu bentuk khusus dari linear list, dengan operasi penyisipan (insertion) hanya diperbolehkan pada salah satu sisi, yang disebut sisi belakang (REAR), dan operasi penghapusan (deletion) hanya diperbolehkan pada sisi lainnya, yang disebut sisi depan (FRONT), dari list. Sebagai contoh dapat kita lihat antrean (Q1, Q2,...,QN). Kita notasikan bagian depan dari antrean Q sebagai FRONT(Q) dan bagian belakang sebagai REAR(Q). Jadi untuk antrean Q = [Q1, Q2, …, QN] : FRONT(Q) = Q1 dan REAR(Q) = QN

Kita menggunakan notasi NOEL(Q) untuk menyatakan jumlah elemen di dalam antrean Q. NOEL(Q) mempunyai harga integer. Untuk antrean Q = [Q1,Q2,…, QN], maka NOEL(Q) = N. Operator penyisipan (insertion) disebut INSERT dan operator penghapusan (deletion) disebut REMOVE.

2. OPERASI DASAR PADA ANTREAN

Ada 4 operasi dasar yang dapat dilakukan pada struktur data antrean, yakni :

1. CREATE (antrean) :

CREATE(Q) adalah suatu operator untuk membentuk dan menunjukkan suatu antrean hampa Q.
Berarti :
NOEL(CREATE(Q)) = 0
FRONT(CREATE(Q)) = tidak terdefinisi
REAR(CREATE(Q)) = tidak terdefinisi

2. ISEMPTY (antrean)


ISEMPTY(Q) adalah operator yang menentukan apakah antrean Q hampa atau tidak. Operand dari operator ini merupakan antrean, sedangkan hasilnya merupakan tipe data boolean.
Di sini :
ISEMPTY(antrean) = true, jika Q hampa, yakni jika NOEL(Q)=0 = false, dalam hal lain. Maka, ISEMPTY(CREATE(Q)) = true.

3. INSERT (elemen, antrean)

INSERT(E,Q) adalah operator yang memasukkan elemen E ke dalam antrean Q. Elemen E ditempatkan di bagian belakang dari antrean. Hasil dari operasi ini adalah antrean yang lebih panjang.
REAR(INSERT(E,Q)) = E
QNOEL adalah E
ISEMPTY(INSERT(E,Q)) = false


4. REMOVE (antrean)

REMOVE(Q) adalah operator yang menghapus elemen bagian depan dari Antrean Q. Hasilnya merupakan antrean yang lebih pendek. Pada setiap operasi ini, harga dari NOEL(Q) berkurang satu, dan elemen kedua dari Q menjadi elemen terdepan. Jika NOEL(Q) = 0, maka REMOVE(Q) memberikan suatu kondisi error, yakni suatu underflow. Jelas bahwa REMOVE(CREATE(Q)) juga memberikan kondisi underflow
error.

Contoh Program :


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

class Linked_list_Queue
{
private:
struct node
{
int data;

node *next;
};

node *rear;
node *entry;
node *print;
node *front;

public:
Linked_list_Queue();

void Delete();
void insert();
void print_list();
void show_working();
};

Linked_list_Queue::Linked_list_Queue()
{
rear=NULL;
front=NULL;
}
//***********************************************
//-------------- Insert() ---------------------
//***********************************************

void Linked_list_Queue::insert()
{
int num;
cout<<"\n\n\n\n\n\t Masukkan angka dalam Queue : ";
cin>>num;

entry=new node;
if (rear==NULL)
{
entry->data=num;
entry->next=NULL;
rear=entry;
front=rear;
}
else
{
entry->data=num;
entry->next=NULL;
rear->next=entry;
rear=entry;
}
cout<<"\n\n\t *** "<<num<<" sudah masuk dalam Queue."<<endl;
cout<<"\n\n\n\t\t Pres any key to return Menu. ";
getch();
}

//***********************************************//
//-------------- Delete() --------------------- //
//***********************************************//

void Linked_list_Queue::Delete()
{
if (front==NULL)
cout<<"\n\n\n\t *** Error : Queue is empty. \n"<<endl;
else
{
int deleted_element=front->data;
node *temp;
temp=front;
front=front->next;
delete temp;

cout<<"\n\n\n\t*** "<<deleted_element<<" dihapus dari Queue."<<endl;
}
cout<<"\n\n\n\t\t Pres any key to return Menu.";
getch();
}

//***********************************************
//-------------- print_list() ---------------------
//***********************************************

void Linked_list_Queue::print_list()
{
print=front;
if(print!=NULL)
cout<<"\n\n\n\n\n\t Angka - angka yang ada dalam queue adalah : \n"<<endl;
else
cout<<"\n\n\n\n\n\t *** Tidak ada yang ditampilkan."<<endl;
while(print!=NULL)
{
cout<<"\t"<<print->data<<endl;
print=print->next;
}
cout<<"\n\n\n\t\t Pres any key to return Menu.";
getch();
}

//***********************************************
//-------------- show_working() ---------------------
//***********************************************

void Linked_list_Queue::show_working()
{
char Key=NULL;
do
{
clrscr();

gotoxy(5,5);
cout<<"****Implementation of Linked List as a Queue****"<<endl;

gotoxy(10,8);
cout<<"Pilih salah satu menu : "<<endl;

gotoxy(15,10);
cout<<"-Press\'I\' to Masukkan data dalam queue"<<endl;

gotoxy(15,12);
cout<<"-Press\'D\' to Hapus data dari queue"<<endl;

gotoxy(15,14);
cout<<"-Press\'T\' to Tampilkan data dari queue"<<endl;

gotoxy(15,16);
cout<<"-Press\'E\' to Exit"<<endl;

input:

gotoxy(10,20);
cout<<" ";

gotoxy(10,20);
cout<<"Masukkan pilihan : ";

Key=getche();
if (int(Key)==27 || Key=='e' || Key=='E')
break;

else if(Key=='i' || Key=='I')
insert();

else if (Key=='d' || Key=='D')
Delete();

else if (Key=='t' || Key=='T')
print_list();

else
goto input;
}
while(1);
}

//********************************************
//--------------- main() --------------------
//********************************************

int main()
{

Linked_list_Queue obj;
obj.show_working();
return 0;
}

[+] ReadMore...

15 January, 2010

Faktorial C++ Dengan Metode Iteratif

Salah satu cara untuk menghitung adalah dengan menggunakan loop, yang mengalikan masing-masing bilangan dengan hasil sebelumnya. Penyelesaian dengan cara ini dinamakan iteratif, yang mana secara umum dapat didefinisikan sebagai berikut:

n! = (n)(n-1)(n-2) … (1)

Contoh Program :


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

int faktorial (int n)
{
int i,fak;
for(i=1;i<=n;i++)
{fak=fak*i;}
return(fak);
}
void main()
{
int faktor;
cout<<"Masukkan beberapa faktorial = ";cin>>faktor;
cout<<"maka hasilnya = "<<faktorial(faktor);
getch();
}




[+] ReadMore...

Faktorial C++ Dengan Metode Rekursif

1. Pengertian


-Rekursif merupakan alat/cara untuk memecahkan masalah dalam suatu fungsi atau procedure yang memanggil dirinya sendiri.
-Prosesnya terjadi secara berulang-ulang
-Yang perlu diperhatikan adalah “stopping role”

2. Kelebihan

-Karena program lebih singkat dan ada beberapa kasus yang lebih mudah menggunakan fungsi yang rekursif

3. Kekurangan

-Memakan memori yang lebih besar, karena setiap kali bagian dirinya dipanggil, dibutuhkan sejumlah ruang memori tambahan.
-Mengorbankan efisiensi dan kecepatan


4. Problem yang sering dijumpai

-Rekursi seringkali tidak bisa “berhenti” sehingga memori akan terpakai habis dan program bisa hang.

5. Penanggulangan

-Jika memang bisa diselesaikan dengan iteratif, gunakanlah iteratif!

6. Contoh Permasalahan :

Penghitungan bilangan faktorial
5! = 5 x 4 x 3 x 2 x 1
4! = 4 x 3 x 2 x 1
Berarti 5! = 5 x 4!

7. Penyelesaian dengan Metode Rekursif

Cara pertama untuk menyelesaikan permasalahan di atas adalah dengan cara rekursif, dimana n! adalah hasil kali dari n dengan (n-1)!. -> dicontohkan bahwa 5! = 5 x 4!
Untuk menyelesaikan (n-1)! adalah sama dengan n!, sehingga (n-1)! adalah n-1 dikalikan dengan (n-2)!, dan (n-2)! adalah n-2 dikalikan dengan (n-3)! dan seterusnya sampai dengan n = 1, kita menghentikan penghitungan n!

8. Contoh Program :


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

int faktorial (int n)
{if (n=0) return 0;
else if (n==0) return 1;
else if (n==1) return 1;
else
return n*faktorial(n-1);
}
void main()
{
int fak;
cout<<"Masukkan beberapa faktorial = ";cin>>fak;
cout<<"maka hasilnya = "<<faktorial(fak);
getch();
}





[+] ReadMore...

14 January, 2010

Dapet Award dari Teman blog

Okelah langsung saja gak usah panjang lebar masalahnya besok aku ujian akhir semester, masuk pagi lagi,,paling males deh aku kuliah pagi. huft,,,

ceritanya begini "di suatu malam hari dapat kabar dari teman kalau blog saya dapet award,terus coba aku cek,,, eh...ternyata bener.

sesuai perintah pemberi award, saya harus memberi award kepada 10 teman blogs saya. Dan award ini saya berikan kepada :


1. Dhani Swastiko’s Official WeBlog
2. Belajar web
3. All About Algoritma
4. Robotic UTY
5. Smaradahana
6. Febri Satria
7. EdiLagi
8. Oonarea
9. Rois Hanafi
10. Fajar Firdaos

Bagi siapa saja yang menerima award ini diharuskan untuk membagikan kembali award ini kepada sepuluh orang temannya. Dan selanjutnya si penerima award harus meletakkan link-link berikut ini di blog atau artikel kamu :

  1. Trik Gratisan
  2. Firmanthok
  3. Aldien Blog
  4. Coretanku
  5. Recycle Bin
  6. Female Brain
  7. nursenapza
  8. Top Secret
  9. Andryan Blog Bux
  10. Dhani Swastiko’s Official WeBlog

Nih ini dia peraturan dalam menerima award ini… Kalo ga mau ngambil ya gapapa…, ANDA TIDAK DAPAT BACK LINK!!!!!!!!

Sebelum kamu meletakkan link di atas, kamu harus menghapus peserta nomor 1 dari daftar. Sehingga semua peserta naik 1 level. Yang tadi nomor 2 jadi nomor 1, nomor 3 jadi 2, dst. Kemudian masukkan link kamu sendiri di bagian paling bawah (nomor 10).

Tapi ingat ya, kalian semua harus fair dalam menjalankannya. Jika tiap penerima award mampu memberikan award ini kepada 5 orang saja dan mereka semua mengerjakannya , maka jumlah backlink yang akan didapat adalah 1.953.125. Nah, silahkan copy paste saja, dan hilangkan peserta nomor 1 lalu tambahkan link blog/website kamu di posisi 10.

Ingat, kamu harus mulai dari posisi 10 agar hasilnya maksimal. Karena jika kamu tiba2 di posisi 1, maka link kamu akan hilang begitu ada yang masuk ke posisi 10.”


  • Ketika posisi kamu 10, jumlah backlink = 1
  • Posisi 9, jml backlink = 5
  • Posisi 8, jml backlink = 25
  • Posisi 7, jml backlink = 125
  • Posisi 6, jml backlink = 625
  • Posisi 5, jml backlink = 3,125
  • Posisi 4, jml backlink = 15,625
  • Posisi 3, jml backlink = 78,125
  • Posisi 2, jml backlink = 390,625
  • Posisi 1, jml backlink = 1,953,125

Dan semuanya menggunakan kata kunci yang kamu inginkan. Dari sisi SEO kamu sudah mendapatkan 1,953,125 backlink dan efek sampingnya jika pengunjung web para downline kamu mengklik link itu, kamu juga mendapatkan traffik tambahan.

Nah begitulah aturan mainnya. Bermainlah dengan fair yahhh :)


[+] ReadMore...

Template by : kendhin x-template.blogspot.com ==> Editor by : BIK