Showing posts with label Programmer. Show all posts
Showing posts with label Programmer. Show all posts


Operasi matrik di Delphi 7

Hay sobat,, kini aku pengen bicara tentang matrik nie.. apa yang anda pikirkan pertama kali jika mendengar kata ini,, ya 'MATRIK',, pusing..? mumet..?? puyeng..??? tau malah suka dengan salah satu bahasan dalam ilmu matematika ini..??
tentunya antum sudah pernah mempelajari matrik ini mungkin di SMA tau bahkan SMP ga' mungkin dong di pelajarin di TK..hehhe
oke saya tidak akan membahas tentang bagaimana kita mengoprasikan matrik secara manual ('itung2an'),, karena aku tau antum" semua udach pinter...hehehe (lebih baik husnudzan dari pada suudzan)..
Oke temen2 langsung saja aku pengen kasih tau nie cara bikin program matrik pake delphi 7...
gampang ko'

Bikin  Form ky' gini dulu ya,,,


terus code untuk Form'a kaya' gini nie :

procedure TForm1.Button1Click(Sender: TObject);
var
i,j,k  : integer;
data1  : array [1..10, 1..10] of integer;
data2  : array [1..10, 1..10] of integer;
hasil  : array [1..10, 1..10] of integer;
begin
if RadioButton1.checked then
begin
if (edit1.Text = edit3.Text) and (edit2.Text = edit4.Text) then
begin
for i := 1 to strtoint(edit1.Text) do
begin
StringGrid1.Cells[0,i] := ‘B’ + InttoStr(i);
StringGrid2.Cells[0,i] := ‘B’ + InttoStr(i);
StringGrid3.Cells[0,i] := ‘B’ + InttoStr(i);
for j:= 1 to strtoint(edit2.Text) do
begin
StringGrid1.Cells[i,0] := ‘K’ + InttoStr(i);
StringGrid2.Cells[i,0] := ‘K’ + InttoStr(i);
StringGrid3.Cells[i,0] := ‘K’ + InttoStr(i);
StringGrid3.Cells[i,j] := ”;
data1[i,j] := StrtoInt(StringGrid1.Cells[i,j]);
data2[i,j] := StrtoInt(StringGrid2.Cells[i,j]);
Hasil[i,j] := data1[i,j] + data2[i,j];
stringGrid3.RowCount := strtoint(edit1.Text)+1;
stringGrid3.ColCount := strtoint(edit2.Text)+1;
StringGrid3.Cells[i,j] := inttostr(Hasil[i,j]);
end;
end;
end
else
showmessage(‘Ukuran Matriks Tidak sama’);
edit1.SetFocus;
end;

if RadioButton2.checked then
begin
if ((edit2.Text) = (edit3.Text)) then
begin
for i := 1 to StrtoInt(Edit1.Text) do
for j:= 1 to StrtoInt(Edit4.Text) do
begin
Hasil[i,j] := 0;
for k:= 1 to StrtoInt(Edit2.Text) do
begin
data1[i,k] := StrtoInt(StringGrid1.Cells[k,i]);
data2[k,j] := StrtoInt(StringGrid2.Cells[j,k]);
Hasil [i,j] := Hasil[i,j] + data1[i,k] * data2[k,j];
StringGrid3.RowCount := StrtoInt(edit1.Text) + 1;
StringGrid3.ColCount := StrtoInt(edit4.Text) + 1;
end;
StringGrid3.Cells[j,i] := inttostr(Hasil[i,j]);
end;
end
else
begin
showmessage(‘Ukuran Matriks Tidak Sesuai’);
edit2.SetFocus;
end;
end;

if RadioButton3.checked then
begin
stringGrid3.RowCount := strtoint(edit2.Text)+1;
stringGrid3.ColCount := strtoint(edit1.Text)+1;
for i := 1 to strtoint(edit2.Text) do
begin
for j:= 1 to strtoint(edit1.Text) do
StringGrid3.Cells[j,i] := StringGrid1.Cells[i,j];
end;
end;

if RadioButton4.checked then
begin
stringGrid3.RowCount := strtoint(edit4.Text)+1;
stringGrid3.ColCount := strtoint(edit3.Text)+1;
for i := 1 to strtoint(edit4.Text) do
begin
for j:= 1 to strtoint(edit3.Text) do
StringGrid3.Cells[j,i] := StringGrid2.Cells[i,j];
end;
end;

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid1.Cells[1, 1] := ’1′;
StringGrid1.Cells[1, 2] := ’0′;
StringGrid1.Cells[1, 3] := ’0′;
StringGrid1.Cells[1, 4] := ’0′;
StringGrid1.Cells[1, 5] := ’0′;

StringGrid1.Cells[2, 1] := ’0′;
StringGrid1.Cells[2, 2] := ’1′;
StringGrid1.Cells[2, 3] := ’0′;
StringGrid1.Cells[2, 4] := ’0′;
StringGrid1.Cells[2, 5] := ’0′;

StringGrid1.Cells[3, 1] := ’0′;
StringGrid1.Cells[3, 2] := ’0′;
StringGrid1.Cells[3, 3] := ’1′;
StringGrid1.Cells[3, 4] := ’0′;
StringGrid1.Cells[3, 5] := ’0′;

StringGrid1.Cells[4, 1] := ’0′;
StringGrid1.Cells[4, 2] := ’0′;
StringGrid1.Cells[4, 3] := ’0′;
StringGrid1.Cells[4, 4] := ’1′;
StringGrid1.Cells[4, 5] := ’0′;

StringGrid1.Cells[5, 1] := ’0′;
StringGrid1.Cells[5, 2] := ’0′;
StringGrid1.Cells[5, 3] := ’0′;
StringGrid1.Cells[5, 4] := ’0′;
StringGrid1.Cells[5, 5] := ’1′;

StringGrid2.Cells[1, 1] := ’5′;
StringGrid2.Cells[1, 2] := ’5′;
StringGrid2.Cells[1, 3] := ’5′;
StringGrid2.Cells[1, 4] := ’5′;
StringGrid2.Cells[1, 5] := ’5′;

StringGrid2.Cells[2, 1] := ’4′;
StringGrid2.Cells[2, 2] := ’4′;
StringGrid2.Cells[2, 3] := ’4′;
StringGrid2.Cells[2, 4] := ’4′;
StringGrid2.Cells[2, 5] := ’4′;

StringGrid2.Cells[3, 1] := ’3′;
StringGrid2.Cells[3, 2] := ’3′;
StringGrid2.Cells[3, 3] := ’3′;
StringGrid2.Cells[3, 4] := ’3′;
StringGrid2.Cells[3, 5] := ’3′;

StringGrid2.Cells[4, 1] := ’2′;
StringGrid2.Cells[4, 2] := ’2′;
StringGrid2.Cells[4, 3] := ’2′;
StringGrid2.Cells[4, 4] := ’2′;
StringGrid2.Cells[4, 5] := ’2′;

StringGrid2.Cells[5, 1] := ’1′;
StringGrid2.Cells[5, 2] := ’1′;
StringGrid2.Cells[5, 3] := ’1′;
StringGrid2.Cells[5, 4] := ’1′;
StringGrid2.Cells[5, 5] := ’1′;

end;

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

procedure TForm1.RadioButton1Click(Sender: TObject);
begin
GroupBox2.Caption := ‘  Hasil Penjumlahan Matrik A dan B  ‘;
end;

procedure TForm1.RadioButton2Click(Sender: TObject);
begin
GroupBox2.Caption := ‘  Hasil Perkalian Matrik A dan B  ‘;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
label3.Left := label3.Left – 4;
if label3.Left <= -90 then
label3.Left := 270;
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
stringGrid1.RowCount := strtoint(edit1.Text)+1;
if (strtoint(edit1.Text)) > 6 then
Begin
StringGrid1.DefaultRowHeight := 15;
StringGrid3.DefaultRowHeight := 15;
end;
end;

procedure TForm1.Edit2Change(Sender: TObject);
begin
stringGrid1.ColCount := strtoint(edit2.Text)+1;
if (strtoint(edit2.Text)) > 6 then
begin
StringGrid1.DefaultColWidth := 30;
StringGrid3.DefaultColWidth := 30;
end;
end;

procedure TForm1.Edit3Change(Sender: TObject);
begin
stringGrid2.RowCount := strtoint(edit3.Text)+1;
if (strtoint(edit3.Text)) > 6 then
Begin
StringGrid2.DefaultRowHeight := 15;
StringGrid3.DefaultRowHeight := 15;
end;

end;

procedure TForm1.Edit4Change(Sender: TObject);
begin
stringGrid2.ColCount := strtoint(edit4.Text)+1;
if (strtoint(edit4.Text)) > 6 then
begin
StringGrid2.DefaultColWidth := 30;
StringGrid3.DefaultColWidth := 30;
end;

end;

end.


Gampang kan...?? selamat mencoba & good luck..
thanks to blog.uny.ac.id

STRUKTUR BAHASA C/C++


Program Bahasa C/C++ tidak mengenal aturan penulisan di kolom/baris
tertentu, jadi bisa dimulai dari kolom/baris manapun. Namun demikian, untuk
mempermudah pembacaan program dan untuk keperluan dokumentasi,
sebaiknya penulisan program di bahasa C/C++ diatur sedemikian rupa sehingga
mudah dan enak dibaca.



Berikut contoh penulisan Program Bahasa C/C++


#include <header>
void main()
{
deklarasi variabel;
deklarasi konstanta;
perintah âperintah;
//komentar
}



Untuk lebih jelas dan mudah dalam memahami penjelasan di atas, Cobalah contoh program berikut :


#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
cout<<"Hello World"<<endl;
cout<<"Selamat Belajar C/C++ ";
cout<<"enter my World";
getch();
}




Penjelasan :


1. include

Adalah salah satu pengarah prepocessor directive yang tersedia pada C++.
Preprocessor selalu dijalankan terlebih dahulu pada saat proses kompilasi
terjadi. Bentuk umumnya :


# include <nama_file>

tidak diakhiri dengan tanda semicolon, karena bentuk tersebut bukanlah suatu
bentuk pernyataan, tetapi merupakan prepocessor directive. Baris tersebut
menginstrusikan kepada kompiler untuk menyisipkan file lain dalam hal ini file
yang berakhiran .h (file header) yaitu file yang berisi C++ standard library.
contohnya:



#include <iostream.h&gt; : diperlukan pada program yang melibatkan objek cout dan cin
- #include <conio.h> : diperlukan bila melibatkan clrscr()

  yaitu perintah untuk membersihkan layar dan fungsi  getch() untuk menerima sembarang input keyboard dari user.

#include <iomanip.h> : diperlukan bila melibatkan setw() yang bermanfaat untuk mengatur lebar dari suatu   tampilan data.
#include <math.h> : diperlukan pada program yang menggunkan operasi sqrt()yang bermanfaat untuk operasi matematika kuadrat.



2.Fungsi main ()


Program C++ terdiri dari satu atau lebih fungsi, dan di antara salah
satunya harus ada fungsi main dan hanya boleh ada satu main pada tiap
program C++. Setiap program C++ akan dan pasti akan memulai eksekusi
programnya pada fungsi main ini, meskipun main bukan fungsi yang pertama
ditulis di program.



Melihat bentuk seperti itu dapat kita ambil kesimpulan bahwa batang
tubuh program utama berada didalam fungsi main(). Berarti dalam setiap
pembuatan program utama, maka dapat dipastikan seorang pemrogram
menggunakan minimal sebuah fungsi.



Tanda { dan pada akhir program terdapat tanda }. Tanda { harus ada pada
setiap awal dari sebuah fungsi dan tentu saja harus diakhiri dengan tanda }.
Tanda ini digunakan untuk menunjukkan cakupan(scope) dari sebuah fungsi,
dimana untuk menunjukkan fungsi ini dimulai dan berakhir.



3. Komentar


Komentar tidak pernah dicompile oleh compiler. Dalam C++ terdapat 2
jenis komentar, yaitu:



Jenis 1 : /* Komentar anda diletakkan di dalam ini
Bisa mengapit lebih dari satu baris */
Jenis 2 : // Komentar anda diletakkan disini ( hanya bisa sebaris )




Programmer sering sekali memasukkan komentar di dalam code agar program
lebih mudah dibaca. Komentar juga membantu orang lain untuk membaca dan
mengerti isi dari code. Komentar tidak menyebabkan komputer melakukan suatu
instruksi ketika program dijalankan.



4.Tanda Semicolon
Tanda semicolon “ ; ” digunakan untuk mengakhiri sebuah pernyataan. Setiap pernyataan harus diakhiri dengan sebuah tanda semicolon.



5. Mengenal Input/Output
Pernyataan cout (dibaca C out) merupakan sebuah objek di dalam C++,
yang digunakan untuk mengarahkan data ke dalam standar output (cetak pada
layar). Sedangkan untuk menginputkan data, dapat digunakan cin (dibaca C in).



Berikutnya adalah operator << Operator ini digunakan sebagai penghubung antara stream dengan kalimat. Operator ini disesuaikan denganfungsional dari cout. 
Untuk sementara bayangkan saja operator << sebagai arah dari aliran data. Jadi karena kita ingin mencetak kalimat ke layar, dan yang menghubungkan program kita dengan layar dengan cout, otomatis kita harus mengirimkan kalimat ke cout. Maka operator << digunakan, yang berarti kalimat dialirkan ke arah cout, dan cout akan mencetaknya ke layar.



Sintaks yang digunakan :



cout << daftar_keluaran
cin >> daftar_masukan



endl merupakan suatu fungsi manipulator yang digunakan untuk menyisipkan karakter NewLine atau mengatur pindah baris. Fungsi ini sangat berguna untuk piranti keluaran berupa file di disk. File header yang harus disertakan adalah file header iostream.h




Fungsi getch() (get character and echo) dipakai untuk membaca sebuah karakter dengan sifat karakter yang dimasukkan tidak perlu diakhiri dengan menekan tombol ENTER, dan karakter yang dimasukan tidak akan ditampilkan
di layar. File header yang harus disertakan adalah conio.h




Latihan soal 1:
#include"iostream.h" //prepocessor
#include<conio.h>
void main() //ada 3; void main(), main() & int main()
{
cout<<"Hello world\n"; //cout untuk menampilkan ke layar
//cout<<"Hello world"<<endl;
getch();
}



Latihan 2:
// programku
#include <iostream.h>
int main ()
{
cout << "Selamat Belajar C++";
return 0;
}