Anda di halaman 1dari 30

Tipe data dan

algoritma dasar

Manajemen Informatika | STMIK DCI Tasikmalaya

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.

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

: );
: );

: ,Luas);

Contoh 2
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.

Tipe Bentukan

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 1
{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}

Contoh 1 (lanjutan)
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.

Contoh
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.

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 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 NESTEDIF (IF Bersarang), di dalam IF ada IF lagi.
Bisa juga menggunakan CASE-OF-ELSE-END
untuk banyak kasus.

Conditional (Pilihan)
IF Kondisi1 THEN
BEGIN
Statement 1
END ELSE {Not Kondisi1}
BEGIN
Statement 2
END;

CASE Ekspresi OF
Nilai1 : Statement1;
Nilai2 : Statement2;
Nilai3 : Statement3;
ELSE Statement4;
END;

IF Kondisi THEN
BEGIN
Statement
END;

CASE Ekspresi OF
Nilai1 : Statement1;
Nilai2 : Statement2;
Nilai3 : Statement3;
Nilai4 : Statement4;
END;

Studi Kasus 1

Buat program yang menerima masukan


Panjang dan Lebar kemudian
menampilkan Luas dari persegipanjang
tersebut. Jika Panjang lebih kecil dari
Lebar maka mengirimkan pesan
kesalahan.

Solusi 1
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.

Studi Kasus 2

Buat program yang menerima masukan


Panjang dan Lebar kemudian
menampilkan Luas dari persegipanjang
tersebut. Jika Panjang lebih kecil dari
Lebar program berhenti.

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

: ); read(P);
: ); read(L);

: ,Luas);

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.

Studi Kasus 1

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.

Solusi 1
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.

Studi Kasus 2

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.

Solusi 2
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.

Anda mungkin juga menyukai