Senin, 14 Juni 2010

Tipe data dan algoritma dasar

Beda Tipe Data & Algoritma

Program menerima input dari user, diproses, hasilnya ditampilkan (output).
Contoh: Program Persegipanjang.exe
Input : Panjang dan Lebar
Proses : Luas = Panjang * Lebar
Output : Luas
Materi Tipe Data fokus pada Variabel Panjang, Lebar dan Luas serta Operator yang berlaku kepadanya misal ‘*’.
Materi Algoritma Dasar fokus pada Urutan pekerjaan yang dilakukan pada Input, Proses & Output.


Konsep Tipe Data (1)

Program menerima input dari user, diproses, hasilnya ditampilkan (output).
Contoh: Program Persegipanjang.exe
Input : Panjang dan Lebar
Proses : Luas = Panjang * Lebar
Output : Luas
Panjang dan Lebar merupakan variabel yang bertipe angka, kalo huruf maka program akan error karena
“e * y” tidak berlaku. Angka merupakan tipe integer sedangkan “e” bertipe char (huruf)


Konsep Tipe Data (2)

Tipe Data masukan dibagi menjadi 2 yaitu Tipe Dasar dan Tipe Bentukan
Tipe Dasar merupakan tipe yang diberikan oleh Bahasa Pemrograman. Misal integer, string, character, real dan boolean.
Tipe Bentukan merupakan tipe yang dibuat oleh Programmer dibentuk dari beberapa tipe dasar atau tipe bentukan yang lain. Misal tipe Jam terdiri atas 3 integer yang berisi Jam, Menit dan Detik.


Tipe Data Dasar (1)

Tipe masukan dari user:
integer : bilangan bulat (2,3,4,67,87)
char : huruf (a,b,b,c,f)
string : kata (“aku”,”kamu”)
real : angka desimal (3,5,4/7)
boolean : benar dan salah


Tipe Data Dasar (2)

Masukan dibedakan dalam berbagai tipe karena setiap tipe mengalami proses yang berbeda.
Misal tipe integer bisa dibagi, dikali, dipangkat. Sedangkan tipe string bisa dipotong, digabungkan dan dituliskan di layar.
Pembagian, perkalian, penggabungan disebut dengan operator


Tipe Data Dasar (3)

Integer * integer = integer
integer/integer = real
String + string = string
Char + char = string
Boolean and boolean = boolean
Boolean or boolean = boolean
Integer > integer = boolean {perbandingan}
real < real = boolean {perbandingan}
Char = char = boolean {perbandingan}



Tipe Dasar (4)


Contoh: Program Persegipanjang.exe
Input : Panjang dan Lebar
Proses : Luas = Panjang * Lebar
Output : Luas
Panjang, Lebar, Luas : integer
Contoh: Program SegiTiga.exe
Input : Alas dan Tinggi
Proses : Luas = ½ Alas * Tinggi
Output : Luas
Alas,Tinggi :Integer sedangkan Luas : Real.



Langsung aja contoh programnya, biar lebih mantab...! cekidot...

Contoh Program Luas Persegipanjang

Program persegipanjang;
Var
Luas, P, L : integer;
Begin
writeln(‘Masukkan Panjang : ’);
read(P);
writeln(‘Masukkan Lebar : ’);
read(L);
Luas := P * L;
writeln(‘Luas : ’,Luas);
End.


nah mudah kan, berikutnya contoh program luas segitiga..! cekidot..


Program segitiga;
Var
Luas : real;
A,T : integer;
Begin
writeln(‘Masukkan Alas : ’);
read(A);
writeln(‘Masukkan Tinggi : ’);
read(T);
Luas := ½ * A * T;
writeln(‘Luas : ’,Luas);
End.


nah itu lah sedikit contoh program tentang luas... sekarang misal program type waktu ato tanggal..

Dibentuk dari berbagai tipe dasar atau tipe bentukan. Isinya bergantung kebutuhan.
Misal tipe Jam terdiri 3 integer (Jam, Menit dan Detik), Tanggal terdiri 3 integer (Tanggal, Bulan, Tahun)
Misal Tipe Waktu terdiri dari sebuah tipe Jam dan sebuah Tipe Tanggal

contoh program.

{Nama File : cetakjam.pas }
{Definisi : menerima masukan jam dan menampilkan }
{Pogramer : M. Taufiq Nuruzzaman}
{Tanggal : 9 Februari 2007}
program cetakjam;
Type {membentuk tipe data baru berupa tipe bentukan}
Jam = record {tipe baru bernama ‘Jam’}
J : integer; {J untuk nilai Jam}
M : integer; {M untuk nilai Menit}
D : integer; {D untuk nilai Detik}
end;
Var {Variabel}
J1,J2 : Jam; {J1 dan J2 bertipe Jam}

begin
write('Masukkan Jam 1 : '); readln(J1.J);
write('Masukkan Menit 1: '); readln(J1.M);
write('Masukkan Detik 1: '); readln(J1.D);
write('Masukkan Jam 2 : '); readln(J2.J);
write('Masukkan Menit 2: '); readln(J2.M);
write('Masukkan Detik 2: '); readln(J2.D);
{writeln(J1); error !!!}
{writeln(J2); error !!!}
{error: Can Not read and Write for this type}
writeln('Jam Pertama:',J1.J,':',J1.M,':',J1.D);
writeln('Jam Kedua :',J2.J,':',J2.M,':',J2.D);
end.



Plus/Minus Tipe Bentukan

Lebih mudah dipahami karena sesuai dengan persepsi manusia bahwa Jam adalah Jam daripada 3 integer yang dipandang sebagai Jam.
Operator, Fungsi & Prosedur Standar tidak berjalan untuk tipe bentukan. Misal write(J2) error!, J1 + J2 error!
Operator, Fungsi dan Prosedur harus dibuat khusus untuk tipe bentukan tertentu.
Memudahkan programer jika akan menambah Variabel bertipe Jam. Kita bisa buat J1,J2,J3 dst tanpa membuat tipe Jam lagi.



Konsep Algoritma (1)

Program menerima input dari user, diproses, hasilnya ditampilkan (output).
Contoh: Program Persegipanjang.exe
Input : Panjang dan Lebar
Proses : Luas = Panjang * Lebar
Output : Luas
Jika Proses dilakukan sebelum Input maka Ouput menjadi salah walaupun tipe datanya benar.


Konsep Algoritma (2)

Algoritma Dasar dibagi menjadi 3 yaitu
1. Sequence (Urutan)
2. Conditional (Pilihan)
3. Looping (Pengulangan)
Dengan 3 senjata itu kita akan menyelesaikan permasalahan di dunia dengan program!



Sequence (Urutan)


Sequence penting karena langkah-langkah program bergantung pada langkah sebelumnya.
Luas = Panjang * Lebar, bisa dilakukan jika Panjang dan Lebar sudah diketahui dari masukan user.
Setiap langkah akan mengubah status program. Ketika program pada posisi “readln(Panjang)”, status program adalah menunggu masukan dari user yang akan disimpan pada variabel Panjang.

Contoh program Sequence (Urutan)

Program persegipanjang;
Var
Luas, P, L : integer;
Begin
Luas := P * L; {P & L belum ada nilainya}
writeln(‘Masukkan Panjang : ’);
read(P);
writeln(‘Masukkan Lebar : ’);
read(L);
writeln(‘Luas : ’,Luas);
End.


Conditional (Pilihan)

IF-THEN-ELSE memberi 2 pilihan jika IF-THEN benar maka statement pertama dijalankan, jika tidak maka statement kedua dijalankan.
IF-THEN bisa tanpa ELSE, Jika IF-THEN benar maka dijalankan jika tidak program berlanjut.
Jika lebih dari 2 pilihan menggunakan NESTED-IF (IF Bersarang), di dalam IF ada IF lagi.
Bisa juga menggunakan CASE-OF-ELSE-END untuk banyak kasus.

( " Buat program yang menerima masukan Panjang dan Lebar kemudian menampilkan Luas dari persegipanjang tersebut. Jika Panjang lebih kecil dari Lebar maka mengirimkan pesan kesalahan." )

contoh :

Program persegipanjang;
Var
Luas, P, L : integer;
Begin
writeln(‘Masukkan Panjang : ’); read(P);
writeln(‘Masukkan Lebar : ’); read(L);
if (P > L) then
begin
Luas := P * L;
writeln(‘Luas : ’,Luas);
end else
begin
writeln(‘Masukan Anda salah, Panjang < Lebar’);
end;
End.

jadi program ini akan muncul pesan ‘Masukan Anda salah, Panjang < Lebar’ , apabila masukan panjang lebih kecil dari masukan lebar.!!!

("Buat program yang menerima masukan Panjang dan Lebar kemudian menampilkan Luas dari persegipanjang tersebut. Jika Panjang lebih kecil dari Lebar program berhenti.")

Program persegipanjang;
Var
Luas, P, L : integer;
Begin
writeln(‘Masukkan Panjang : ’); read(P);
writeln(‘Masukkan Lebar : ’); read(L);
if (P > L) then
begin
Luas := P * L;
writeln(‘Luas : ’,Luas);
end;
End.

jadi program akan berhenti apabila masukan panjang lebih kecil dari masukan lebar..




Looping (Perulangan)


Merupakan algoritma untuk melakukan tindakan yang sama berulang-ulang sampai berhenti.
Looping dibedakan menjadi 2 yaitu conditional dan unconditional.
Conditional, jika looping berhenti karena suatu kondisi tertentu. Versi looping ini adalah REPEAT-UNTIL dan WHILE-DO-END.
Unconditional, jika looping berhenti karena sudah mencapai nilai tertentu yang didefinisikan di awal.Versi ini adalah FOR-TO-DO.

( "Buat program yang menerima masukan Panjang dan Lebar kemudian menampilkan Luas dari persegipanjang tersebut. Jika Panjang lebih kecil dari Lebar maka dilakukan proses input data lagi sampai dengan terpenuhi Panjang lebih besar dari Lebar." )

contoh program :

Program persegipanjang;
Var
Luas, P, L : integer;
Begin
repeat
writeln(‘Masukkan Panjang : ’); read(P);
writeln(‘Masukkan Lebar : ’); read(L);
until (P > L);
{P pasti sudah lebih besar dari L}
Luas := P * L;
writeln(‘Luas : ’,Luas);
End.


( "Buat program yang menerima masukan Panjang dan Lebar kemudian menampilkan Luas dari persegipanjang tersebut. Jika Panjang lebih kecil dari Lebar maka dilakukan proses input data lagi sampai dengan terpenuhi Panjang lebih besar dari Lebar. Luas ditampilkan di layar sebanyak 10 kali." )

contoh :

Program persegipanjang;
Var
Luas, P, L, i : integer;
Begin
repeat
writeln(‘Masukkan Panjang : ’); read(P);
writeln(‘Masukkan Lebar : ’); read(L);
until (P > L);
Luas := P * L;
for i:= 1 to 10 do {dari 1 s/d 10 lakukan!}
begin
writeln(‘Luas : ’,Luas);
end;
End.



oke..
semoga bermanfaat....

1 komentar:

Anonim mengatakan...

thanks gan :)

Posting Komentar