02 tipe data dan algoritma dasar

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

Upload: atsila

Post on 17-Jan-2016

28 views

Category:

Documents


0 download

DESCRIPTION

materi

TRANSCRIPT

Page 1: 02 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 LebarProses : Luas = Panjang * LebarOutput : 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.

Page 2: 02 Tipe Data Dan Algoritma Dasar

Konsep Tipe Data (1) Program menerima input dari user, diproses,

hasilnya ditampilkan (output). Contoh: Program Persegipanjang.exe

Input : Panjang dan LebarProses : Luas = Panjang * LebarOutput : 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)

Page 3: 02 Tipe Data Dan Algoritma Dasar

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.

Page 4: 02 Tipe Data Dan Algoritma Dasar

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

Page 5: 02 Tipe Data Dan Algoritma Dasar

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

Page 6: 02 Tipe Data Dan Algoritma Dasar

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}

Page 7: 02 Tipe Data Dan Algoritma Dasar

Tipe Dasar (4) Contoh: Program Persegipanjang.exe

Input : Panjang dan LebarProses : Luas = Panjang * LebarOutput : LuasPanjang, Lebar, Luas : integer

Contoh: Program SegiTiga.exeInput : Alas dan TinggiProses : Luas = ½ Alas * TinggiOutput : LuasAlas,Tinggi :Integer sedangkan Luas : Real.

Page 8: 02 Tipe Data Dan Algoritma Dasar

Contoh 1Program persegipanjang;Var

Luas, P, L : integer;Begin

writeln(‘Masukkan Panjang : ’);read(P);writeln(‘Masukkan Lebar : ’);read(L);Luas := P * L;writeln(‘Luas : ’,Luas);

End.

Page 9: 02 Tipe Data Dan Algoritma Dasar

Contoh 2Program segitiga;Var

Luas : real;A,T : integer;

Beginwriteln(‘Masukkan Alas : ’);read(A);writeln(‘Masukkan Tinggi : ’);read(T);Luas := ½ * A * T;writeln(‘Luas : ’,Luas);

End.

Page 10: 02 Tipe Data Dan Algoritma Dasar

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

Page 11: 02 Tipe Data Dan Algoritma Dasar

Contoh 1{Nama File : cetakjam.pas }{Definisi: menerima masukan jam dan menampilkan }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}

Page 12: 02 Tipe Data Dan Algoritma Dasar

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.

Page 13: 02 Tipe Data Dan Algoritma Dasar

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.

Page 14: 02 Tipe Data Dan Algoritma Dasar

Konsep Algoritma (1) Program menerima input dari user,

diproses, hasilnya ditampilkan (output). Contoh: Program Persegipanjang.exe

Input : Panjang dan LebarProses : Luas = Panjang * LebarOutput : Luas

Jika Proses dilakukan sebelum Input maka Ouput menjadi salah walaupun tipe datanya benar.

Page 15: 02 Tipe Data Dan Algoritma Dasar

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

Page 16: 02 Tipe Data Dan Algoritma Dasar

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!

Page 17: 02 Tipe Data Dan Algoritma Dasar

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.

Page 18: 02 Tipe Data Dan Algoritma Dasar

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.

Page 19: 02 Tipe Data Dan Algoritma Dasar

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.

Page 20: 02 Tipe Data Dan Algoritma Dasar

Conditional (Pilihan)IF Kondisi1 THEN CASE Ekspresi OFBEGIN Nilai1 : Statement1;

Statement 1 Nilai2 : Statement2;END ELSE {Not Kondisi1} Nilai3 : Statement3;BEGIN ELSE Statement4;

Statement 2 END;END;

IF Kondisi THEN CASE Ekspresi OFBEGIN Nilai1 : Statement1;

Statement Nilai2 : Statement2;END; Nilai3 : Statement3;

Nilai4 : Statement4;

END;

Page 21: 02 Tipe Data Dan Algoritma Dasar

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.

Page 22: 02 Tipe Data Dan Algoritma Dasar

Solusi 1

Program persegipanjang;Var

Luas, P, L : integer;Begin

writeln(‘Masukkan Panjang : ’); read(P);writeln(‘Masukkan Lebar : ’); read(L);if (P > L) thenbegin

Luas := P * L;writeln(‘Luas : ’,Luas);

end else begin

writeln(‘Masukan Anda salah, Panjang < Lebar’);end;

End.

Page 23: 02 Tipe Data Dan Algoritma Dasar

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.

Page 24: 02 Tipe Data Dan Algoritma Dasar

Solusi 2

Program persegipanjang;Var

Luas, P, L : integer;Begin

writeln(‘Masukkan Panjang : ’); read(P);writeln(‘Masukkan Lebar : ’); read(L);if (P > L) thenbegin

Luas := P * L;writeln(‘Luas : ’,Luas);

end;End.

Page 25: 02 Tipe Data Dan Algoritma Dasar

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.

Page 26: 02 Tipe Data Dan Algoritma Dasar

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.

Page 27: 02 Tipe Data Dan Algoritma Dasar

Solusi 1

Program persegipanjang;Var

Luas, P, L : integer;Begin

repeatwriteln(‘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.

Page 28: 02 Tipe Data Dan Algoritma Dasar

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.

Page 29: 02 Tipe Data Dan Algoritma Dasar

Solusi 2

Program persegipanjang;Var

Luas, P, L, i : integer;Begin

repeatwriteln(‘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.