Selasa, 04 Desember 2012


pemograman pascal algoritma




“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”.
Kata Logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam Algoritma
harus logis dan harus dapat ditentukan bernilai salah atau benar.
Algoritma Merupakan Jantung Ilmu Informatika
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu computer yang diacu dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-haripun banyak terdapat proses yang dinyatakan dalam suatu algoritma.
Cara-cara membuat kue atau masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu ada urutan langkah-lankah membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca satu per satu langkah-langkah pembuatannya lalu ia mengerjakan proses sesuai yang ia baca. S
ecara umum, pihak (benda) yang mengerjakan proses disebut pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau alatalat elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau “mengeksekusi” algoritma yang menjabarkan proses tersebut. Melaksanakan Algoritma berarti mengerjakan langkah-langkah di dalam Algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Juru masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu berdasarkan papan not balok.
Karena itu suatu Algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses.
Jadi suatu pemroses harus :
1. Mengerti setiap langkah dalam Algoritma
2. Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
Mekanisme Pelaksanan Algoritma Oleh Pemroses
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer,
algoritma hasrus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program.
Jadi program adalah prwujudan atau implementasi teknis Algoritma yang ditulis dalam bahasa pemrogaman tertentu sehingga dapat dilaksanakan oleh komputer.
Ciri penting algoritma
• Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.
• Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (Ambiguitas).
• Algoritma memiliki nol atau lebih masukkan.
• Algoritma memiliki nol atau lebih keluaran.
• algoritma harus efektif (setiap langkah harus sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal).
sumber : kompasiana.com

Pemrograman Pascal
Page 2
Ikhtisar
• Subprogram
• Contoh struktur program
• Fungsi & contohnya
• Prosedur & contohnyaIF-ITB/DA/2005
IF1101–Pengantar Teknologi Informasi
Page 3
Subprogram
• Menyederhanakan persoalan dengan
memecahnya menjadi sub-persoalan
• Membagi program menjadi elemenelemen yang lebih kecil
• Diperlukan mekanisme pemanggilan
subprogram dari program utama
• Jenis: fungsi dan prosedurIF-ITB/DA/2005
IF1101–Pengantar Teknologi Informasi
Page 4
Contoh Struktur Program
main program P
Function F Procedure P1
Procedure P2IF-ITB/DA/2005
IF1101–Pengantar Teknologi Informasi
Page 5
Fungsi (Function)
• Analogi dengan fungsi (matematik):
– Memetakan nilai domain ke nilai range
– Karenanya mempunyai:
• Parameter
• Menghasilkan nilai
• Merupakan subprogram ber-parameter dan
mengembalikan sebuah nilai ke program
pemanggil
• Nama fungsi digunakan sebagai indikasi nilai
yang akan dikembalikan
• Tidak boleh mengubah state variabelIF-ITB/DA/2005
IF1101–Pengantar Teknologi Informasi
Page 6
Contoh Fungsi Pangkat3
function pangkat3 (N:integer):
integer;
(* fungsi yg menghasilkan pangkat3 *)
(* dari sebuah bilangan integer    *)
begin
  pangkat3 := N * N * N;
end (*pangkat3*);IF-ITB/DA/2005
IF1101–Pengantar Teknologi Informasi
Page 7
Contoh Fungsi Pemanggil Pangkat3
program mainP3;
(* program pemanggil pangkat3 *)
function pangkat3 (N:integer): integer;
(* fungsi yg menghasilkan pangkat3 *)
(* dari sebuah bilangan integer    *)
begin
  pangkat3 := N * N * N;
end (*pangkat3*);
var N,P3:integer;
begin
  readln(N);
  writeln(pangkat3(N));
  N := N + 10;
  P3 := pangkat3(N);
  writeln(P3);
end (*mainP3*).IF-ITB/DA/2005
IF1101–Pengantar Teknologi Informasi
Page 8
Contoh Fungsi Kabisat & Pemanggilannya
program PKabisat;
(*program menentukan apakah Y adalah tahun kabisat atau
bukan*)
function kabisat (year:integer):boolean;
begin
  kabisat := (year mod 4 = 0)and((year mod 100 <> 0) or
                (year mod 400 = 0));
end (*kabisat*);
var Y:integer;
begin
  write('Masukkan tahun : ');
readln(Y);
  if (kabisat(Y)) then
    writeln(Y,'tahun kabisat')
  else writeln(Y,' bukan tahun kabisat');
end.IF-ITB/DA/2005
IF1101–Pengantar Teknologi Informasi
Page 9
Prosedur (Procedure)
• Merupakan subprogram yang melakukan
suatu sub-aksi tanpa mengembalikan
nilai
• Dapat disertai parameter (0,1,2,…):
– Input  :  passing by value, passing by name
– Output :  passing by name
– I/O  :  passing by nameIF-ITB/DA/2005
IF1101–Pengantar Teknologi Informasi
Page 10
Prosedur tanpa parameter
procedure tulisP3;
(* proc pemanggil pangkat3 *)
(* tanpa parameter         *)
(* memanggil fungsi pangkat 3 *)
var N:integer;
begin
  write('Masukkan Bilangan: ');
  readln(N);
  writeln('Pangkat 3 dari ',N,'
adalah ',pangkat3(N));
end (*tulisP3*);IF-ITB/DA/2005
IF1101–Pengantar Teknologi Informasi
Page 11
Pemanggilan Prosedur tulisP3
program mainP3;
(* program pemanggil prosedur tulisp3 *)
function pangkat3 (N:integer): integer;
(* fungsi yg menghasilkan pangkat3 dari sebuah bil
integer *)
begin (*pangkat3*)
  pangkat3 := N * N * N;
end (*pangkat3*);
procedure tulisP3;
(* proc pemanggil fungsi pangkat3; tanpa parameter *)
var N:integer;
begin (*tulisP3*)
  write('Masukkan Bilangan: ');
readln(N);
writeln('Pangkat 3 dari ',N,' adalah ',pangkat3(N));
end (*tulisP3*);
begin (* main program *)
  tulisP3;
end (*main program*).IF-ITB/DA/2005
IF1101–Pengantar Teknologi Informasi
Page 12
Prosedur dengan Parameter Input
program asterik;
(* Program menerima input dari user sebesar N, *)
(* lalu menuliskan bintang sejumlah N ke layar *)
procedure cetakBintang(jumlahBintang:integer);
(*I.S. : jumlah bintang terdefinisi              *)
(*F.S. : bintang dicetak sebanyak jumlahBintang  *)
(*proses: mencetak bintang sebanyak jumlahBintang*)
var i:integer;
begin (*procedure*)
for i:=1 to jumlahBintang do write('*');
end;(*procedure*)
var N:integer;
begin (*main program*)
  write('Masukkan bilangan N: ');
  readln(N);
  cetakBintang(N);
end (*main program*).IF-ITB/DA/2005
IF1101–Pengantar Teknologi Informasi
Page 13
Prosedur dengan Parameter Output
procedure bacaBilangan(var bil:integer);
(*I.S.: bil tidak terdefinisi.            *)
(*F.S.: bil berupa input dari user,       *)
(*      bernilai antara 0 < bil < 21.     *)
(*Proses:menerima bilangan bil dari user, *)
(*       dg 0<bil<21 & mengoutputkan bil. *)
begin
 repeat
   write('masukkan bilangan(0<bil<21): ‘);
   readln(bil);
 until ((bil>0) and (bil<21));
end (*bacaBilangan*);IF-ITB/DA/2005
IF1101–Pengantar Teknologi Informasi
Page 14
Prosedur dengan parameter I/O
procedure swap (var a,b:integer);
(*I.S.: a dan b terdefinisi     *)
(*F.S.: nilai a dan b telah bertukar *)
(*Pros: menukar nilai 2 bil a,b      *)
var temp:integer;
begin
  temp := a;
  a := b;
b := temp;
end (*swap*);IF-ITB/DA/2005
IF1101–Pengantar Teknologi Informasi
Page 15
Prosedur dengan Parameter Array(1)
program tabel;
type Tab=array[1..10] of integer;
var TabInt:Tab;
procedure isiArray (var A:Tab);
(* mengisi array of integer, parameter output: array *)
var i:integer;
begin
   for i:=1 to 10 do
   begin
  write ('Masukkan elemen ke-',i,': '); readln(A[i]);
   end;
end(*isiArray*);
procedure tulisArray (A:Tab);
(* menuliskan isi array of integer, parameter input: array *)
var i:integer;
begin
   for i:=1 to 10 do
     writeln('Elemen ke-',i,' adalah ',A[i]);
end(*tulisArray*);
begin
 isiArray(TabInt);
 tulisArray(TabInt);
end.IF-ITB/DA/2005
IF1101–Pengantar Teknologi Informasi
Page 16
Prosedur dengan Parameter Array (2)
• Sebagai parameter, array harus dijadikan tipe
bentukan
– type <nama_type> = array [awal..akhir] of
type_dasar;
– Contoh : type Tab = array[1..10] of integer;
• Sehingga deklarasi prosedur dengan
parameter array menjadi:
– procedure isiArray (var A:Tab);
• Bentuk ini tidak bisa digunakan:
– procedure isiArray(var A:array[1..10] of
integer);IF-ITB/DA/2005
IF1101–Pengantar Teknologi Informasi
Page 17
Scope Variabel
program main;
var i:integer;     (* global *)
procedure P;
var i:integer; (* lokal *)
begin
  i := 5;          (* i lokal *)
end(*P*);
begin
  i := 10;         (* i global *)
  ...
end(*main*).IF-ITB/DA/2005
IF1101–Pengantar Teknologi Informasi
Page 18
Bad Code!!
program Scope;
var Num1,Num2,Sum:integer;
procedure FindSum;
begin
Sum := Num1 + Num2;
end;
begin
  Num1 := 10;
  Num2 := 15;
  FindSum;
writeln('The sum is',Sum);
end(*Scope*).IF-ITB/DA/2005
IF1101–Pengantar Teknologi Informasi
Page 19
Better one….!
program Scope;
var Num1,Num2,Sum:integer;
begin
  Num1 := 10;
  Num2 := 15;
  FindSum(Num1,Num2,Sum);
  writeln('The sum is',Sum)
end(*Scope*).
  procedure FindSum(A,B:integer; var C:integer);
begin
  C := A + B;
end;IF-ITB/DA/2005
IF1101–Pengantar Teknologi Informasi
Page 20
Parameter Formal vs Aktual
program Scope;
var Num1,Num2,Sum:integer;
procedure FindSum (A,B:integer;
                   var C:integer);
begin
A := B + C;
end;
begin
  Num1 := 10;
  Num2 := 15;
  FindSum(Num1,Num2,Sum);
  writeln('The sum is',Sum);
end(*Scope*).
FORMAL
A,B,C
AKTUAL
Num1,Num2,
Sum
Passing by
NameIF-ITB/DA/2005
IF1101–Pengantar Teknologi Informasi
Page 21
Parameter Formal vs Aktual
program Scope;
var Num1,Num2,Sum:integer;
procedure FindSum (A,B:integer;
                   var C:integer);
begin
A := B + C;
end;
begin
  Num1 := 10;
  Num2 := 15;
  FindSum(10,15,Sum);
  writeln('The sum is',Sum);
end(*Scope*).
FORMAL
A,B,C
Passing by
Value
AKTUAL
10,15,SumIF-ITB/DA/2005
IF1101–Pengantar Teknologi Informasi
Page 22
Latihan
Buatlah subprogram X_pangkat_Y
yang menghitung nilai X
Y
, dan sertai
dengan program utama yg
memanggilnya. (nama program:
mainXY)
Buatlah subprogram sumArray yang
menampilkan hasil penjumlahan 2
array: A & B. Buat juga program
utama pemanggilnya.
     (nama program: mainArray)IF-ITB/DA/2005
IF1101–Pengantar Teknologi Informasi
Page 23
Bersiap utk Kuis!
• Lakukan standar persiapan diri untuk
kuis
• Akan segera dilaksanakan kuis 10 menit!
• Kumpulkan kuis dengan tertib sesuai
prosedur yang diajarkan.IF-ITB/DA/2005
IF1101–Pengantar Teknologi Informasi
Page 24
Soal Kuis
• Buatlah sebuah program (maniptabel.pas)
yang:
– Mendefinisikan array A,B,C berukuran 10 sel dan
berisi bilangan integer
– Mengisi array A dan B berdasarkan masukan user
– Menjumlahkan isi kedua array tsb dan
menyimpannya di array C
– Menuliskan isi array A,B dan C
• Catatan: Gunakan sebanyak mungkin
subprogram utk melakukan hal-hal tsb.

sumber : wikipedia.com

Selasa, 30 Oktober 2012









10 DRUMMER TERBAIK DUNIA SEPANJANG MASA

Video of the day




1) Yoshiki Hayashi 'Best drummer ever

'

Attent his concert and see his drums solo is in my "100 things to do before you die"

So glad that I got a chance to accomplished it on Jan. I can die with no regret now!

417d1.blogspot.com - 10 Drummer Terbaik Di Dunia Sepanjang Sejarah

2) Craig MacIntyreCraig

fantastic drummer and fun to watch. Drummers have always fascinated me. Talk about multi-tasking... amazing! Before joining Josh Groban's band, Craig performed with Jackopierce, Toni Lynn Washington, Jess Klein, Johnny A, and the Swinging Steaks, among others. Thanks for sharing your drumkit with you know who Craig. ;

417d1.blogspot.com - 10 Drummer Terbaik Di Dunia Sepanjang Sejarah

3) Neil Peartneil



should be number 1! and why isn't mark portnoy on this list?

417d1.blogspot.com - 10 Drummer Terbaik Di Dunia Sepanjang Sejarah

4) Lars Ulrich - Metallica

seeing travis barker ahead of lars made me sick to my stomach please vote for this man he is a awesome drummer

417d1.blogspot.com - 10 Drummer Terbaik Di Dunia Sepanjang Sejarah

5) Tico Torres - Bon Jovi



bon jovi is one of the best bands.

417d1.blogspot.com - 10 Drummer Terbaik Di Dunia Sepanjang Sejarah


6)Joey Jordison - Slipknot



my favorite and in my opinion #2, Peart is just to great, and Travis Barker isn't good at drumming, he is good at keeping rythm and creating beats. He is a slow drummerTico has done great work

417d1.blogspot.com - 10 Drummer Terbaik Di Dunia Sepanjang Sejarah

7)John Bonham - Led Zeppelin

Hes great, no Neil Peart or Keith Moon, but um all drummers play with their hands...

417d1.blogspot.com - 10 Drummer Terbaik Di Dunia Sepanjang Sejarah

8)Buddy Rich

The swingmaster should not be forgotten. He was definitely instrumental in pushing early jazz to its' popularity.

417d1.blogspot.com - 10 Drummer Terbaik Di Dunia Sepanjang Sejarah

9)James "The Reverend" Sullivan - Avenged Sevenfold

"the rev is simply a beast just listen to blinded in chains or listen to critical acclaim, he's the one singing in the chorus try to tell me what other drummer can play the drums insainly and play the double bass insainly and sing amazingly all at the same time"

417d1.blogspot.com - 10 Drummer Terbaik Di Dunia Sepanjang Sejarah

10)Travis Barker - Blink 182

Blink 182 is the best band ever and travis is the reason I play drums