Minggu, 31 Oktober 2010

Konsep Tipe Data
Nama : Ahmad Majid
NIM : 11102010
Kelas : 11.1B.07

Bahasa Pemrograman PASCAL

Pascal, merupakan bahasa pemrograman tingkat tinggi.
Pascal dirancang oleh Prof. Niklaus Writh (Technical University di Zurich, Switzerland) pada tahun 1971
Nama Pascal diambil sebagai penghargaan kepada Blaise Pascal (ahli matematika dan philosopi dari Peancis).

Pembagian Tipe Data:

1. Tipe Data Sederhana (Simple Type)
Disebut juga sebagai tipe data skalar, yakni bahwa dalam sebuah perubah hanya dimungkinkan untuk menyimpan sebuah nilai data, yakni bahwa tipe data skalar menunjukkan untuk data tersebut nilainya terbentuk menurut suatu urutan tertentu. Tipe data sederhana terbagi menjadi:

A. Tipe Ordinal (berurutan)
adalah sebuah subset dari tipe data sederhana. Semua tipe sederhana disebut sebagai data dengan tipe ordinal kecuali tipe real. Dalam bahasa pascal, tipe data skalar menunjukkan bahwa untuk data tersebut nilainya terbentuk menurut urutan tertentu, yaitu nilainya ada dalam urutan.

Karakteristik tipe Ordinal adalah
• Merupakan Himpunan Berurutan (ordered set) → nilai dari tipe data ordinal memiliki nilai yang berurutan
• Memiliki Fungsi standard ORD/Ordinalitas (digunakan untuk menghasilkan nilai urutannya.)
• Memiliki Fungsi standard PRED/Predecessor (digunakan untuk menghasilkan nilai urutan sebelumnya.). Jika diterapkan pada nilai pertama akan menyebabkan error.
• Memiliki Fungsi standard SUCC/Successor(digunakan untuk menghasilkan nilai urutan sesudahnya). Jika diterapkan pada nilai terakhir akan menyebabkan error.

Contoh Program:

uses crt;type
Colors = (MERAH,BIRU,HIJAU);
begin
clrscr;
Writeln(‘BIRU mempunyai nilai ordinal ‘,Ord(BIRU));
Writeln(‘kode ASCII dari “c” adalah ‘, Ord(‘c’), ‘ desimal’);
writeln;
Writeln(‘predecessor dari 5 adalah ‘,Pred(5));
Writeln(‘successor dari 10 adalah ‘,Succ(10));
if Succ(MERAH) = BIRU then
Writeln(‘DALAM TIPE Colors ,MERAH merupakan ‘,
‘predecessor dari BIRU.’);
readln;
end.
HASIL :BIRU mempunyai nilai ordinal 1
kode ASCII dari “c” adalah 99 desimal
predecessor dari 5 adalah 4
successor dari 10 adalah 11
DALAM TIPE Colors ,MERAH merupakan predecessor dari BIRU.

Macam dari tipe ordinal adalah:
a.Integer → tipe data yang digunakan untuk menyimpan bilangan bulat (tidak memiliki titik desimal).Ada lima tipe data yang termasuk dalam kelompok ini, yaitu integer, short int, long int, byte dan word.

  Tipe                               Jangkauan                                                             Ukuran
Shortint                           128…127                                                          Signed 8 bit
Integer                        -32768…32767                                                   Signed 16 bit
Longint            -2147483648…2147483647                                          Signed 32 bit
Byte                                0…255                                                           UnSigned 8 bit
Word                            0…65535                                                         UnSigned 16 bit

Operator matematika yang digunakan adalah +, -, *, /.Penggunaan tipe data real ini adalah dalam perhitungan matematika, sains dimana derajat ketelitian sangat diperhatikan.

2. Tipe STRING
adalah tipe data yang digunakan untuk menyimpan data yang berupa gabungan dari beberapa karakter, seperti: ‘Pascal’, ‘Logika dan Algoritma’, dsb. Besarnya adalah antara 1 sampai dengan 255 karakter.

Bentuk umum penulisan tipe data ini adalah:

Type
Pengenal = String[panjang];
dengan:
Pengenal = nama tipe data
Panjang = bilangan bulat yang menunjukkan jumlah karakter
Sebagai contoh:
Type
Kata = String[50]
Var
Nama1, Nama2 : Kata;
OPERASI STRING

Operasi string terbagi mencadi dua macam, yaitu:
A. Prosedur Standar
Prosedur-prosedur standar pada operasi string ada beberapa macam, yaitu:

# DELETE

→ Berfungsi menghapus sebagian karakter dari sebuah string.
Sintaks: DELETE (S,Index,Count)
Keterangan:
S = String
Index = Posisi awal karakter yang akan dihapus
Count = Banyaknya karakter yang akan dihapus

Contoh:
S = ‘BINA SARANA INFORMATIKA’
DELETE (S,5,7)
hasilnya adalah: ‘BINA INFORMATIKA’
Perlu diperhatikan bahwa spasi juga dihitung sebagai satu karakter.

# INSERT

→ Berfungsi menyisipkan satu atau beberapa karakter kedalam sebuah string.
Sintaks: INSERT (Source, Var S, Index)
Keterangan:
Source = Sumber string untuk disisipkan (string)
Var S = String tujuan yang akan disisipi oleh string Source (string)
Index = posisi mulai (integer)

Contoh:
S = ‘LOGIKA’
T = ‘ALGORITMA’
INSERT (‘ALGO’,S,3)
INSERT(T,S,1)
# STR

Sintaks: Str (N [:lebar [:desimal]],var S : string);

→ Digunakan untuk merubah nilai numerik (ditunjukkan oleh nilai N) menjadi nilai string (ditunjukkan oleh pengenal variabel S). Nilai N dapat berupa bilangan real atau integer. Nilai lebar menunjukkan format panjang dari nilai utuh dan nilai desimal menunjukkan format dari panjang nilai dibelakang koma.

Keterangan :
N = data tipe integer atau real
S = data tipe string.

Contoh:
N = 1234
STR (N,S)
STR(N:8,S)
# VAL

Sintaks: VAL (S:String,N,PosisiSalah)

→ Digunakan untuk mengkonversi suatu nilai string menjadi nilai numerik. Variabel S harus berisi angka atau tanda plus/minus bila tidak berarti salah dan letak kesalahannya ditunjukkan oleh nilai PosisiSalah. Nilai dari PosisiSalah akan nol jika tidak terjadi kesalahan.

Contoh:
S = ‘-123′
VAL (S,N,PosisiSalah)
S = ‘123.A5′
VAL (S,N,PosisiSalah)

B. Fungsi Standar

# COPY

Sintaks :
COPY (s : string, index : integer, count : integer) : string

Digunakan untuk menyalin sejumlah karakter (jumlah karakter yang disalin ditunjukkan oleh nilai count) mulai dari posisi yang ditunjukkan oleh nilai integer index dari nilai string yang ditunjukkan oleh s.

Contoh:
S = ‘INFORMATIKA’
P = COPY (S,1,4)
Q = COPY (S,6,4)
# CONCAT
Sintaks :
CONCAT (s1 [,s2, ... , sn] : string) : string

Digunakan untuk merangkai beberapa nilai string yang ditunjukkan oleh nilai string s1, s2, …. , sn

Contoh:
S = ‘INFORMATIKA’
P = ‘BINA’
Q = ‘SARANA’
V = CONCAT (P,Q,S)
W = CONCAT(P,’_',Q,’_',S)

# POS

Sintaks :
POS (Substr : string, s: string) : byte

Digunakan untuk mencari posisi letak dari suatu nilai string (ditunjukkan oleh Substr) yang ada didalam nilai string yang lain (ditunjukkan oleh s). Nilai yang dihasilkan adalah berupa nilai byte yang menunjukkan letaknya. Bila bernilai nol berarti nilai string yang dicari tidak ada.

Contoh:
S = ‘INFORMATIKA’
P = POS(‘ATI’,S)
Q = POS(‘FORMASI’,S)

# LENGTH

Sintaks :
LENGTH (s : string) : integer

Digunakan untuk menghitung panjang atau jumlah karakter yang ada dinilai string yang ditunjukkan oleh s. Hasil dari fungsi ini adalah nilai numerik integer positif.

Contoh:
S = ‘INFORMATIKA’
Q = ‘BINA’
P = LENGTH(S)
R = LENGTH(CONCAT(S,Q))

3. Tipe Struktur

Pada tipe ini setiap perubah dapat menyimpan lebih dari sebuah nilai data yang masing-masing nilai data disebut komponen. Karakteristik tipe data terstruktur ini adalah ditentukan berdasarkan cara penstrukturan dan tipe masing-masing komponen. Ukuran tipe terstruktur dalam bahasa pemrograman Turbo Pascal maksimum 65520 byte. Pada tipe ini terdapat empat buah tipe data terstruktur, yaitu larik, rekaman, himpunan, dan berkas

a. Tipe larik(array tipe)
adalah tipe terstruktur yang mempunyai komponen dalam jumlah yang tetap dan setiap komponen mempunyai tipe data yang sama. Posisi masing-masing komponen dalam larik dinyatakan sebagai nomor index.

Bentuk umum penulisan:
Type pengenal = array[tipe index] of tipe;
dengan
Pengenal = nama tipe data
Tipe index = tipe data untuk tiap nomor index
Tipe = tipe data komponen

Parameter tipe index akan menentukan banyaknya komponen larak/array tersebut, sebagai contoh:
Type vek = array[1..100] of integer;

Akan menunjukkan bahwa vek adalah tipe data yang berupa larik/array yang komponennya bertipe integer dan banyaknya adalah 100 buah. Dekalarasi yang disebutkan diatas disebut dengan deklarasi array/larik dimensi satu atau dapat disebut juga dengan vektor, sedangkan untuk larik/array dimensi banyak dapat dilihat pada conoth deklarasi berikut:
Type Tbl = array[1..100 ] of array [1..5] of real; atau
Type Tbl = array[1..100,1..5] of real;

b. Tipe record
 adalah kumpulan data yang setiap elemennya bisa mempunyai tipe data yang berbeda satu sama lainnya. Pada larik, semua elemen harus bertipe sama.

c. Tipe set/himpunan
 adalah kumpulan objek yang mempunyai tipe data yang sama dan urutan penulisannya tidak diperhatikan. Setiap objek dalam suatu set disebut anggota atau elemen himpunan.

d. Tipe file atau berkas
 adalah kumpulan sejumlah komponen yang bertipe sama yang jumlahnya tidak tertentu dan biasanya tersimpan dalam suatu media penyimpanan luar.

e. Tipe pointer
adalah fasilitas yang memungkinkan pemakai menggunakan perubah yang bersifat dinamis

f. Tipe terbilang atau enumerated
disebut demikian karena semua nilai yang ada disebut dengan cara satu persatu.

Contoh:
Type TOKO = (baru,ramai,sukses,rapi);
TypeHARI =(minggu,senin,selasa,rabu,kamis,jum’at,sabtu,minggu);
TypeBULAN =(jan,feb,mar,apr,mei,jun,jul,ags,sep,okt,nop,des);
typeSEKOLAH=(tk,sd,smp,sma,universitas);
Pertemuan 3. Konsep Tipe Data
Bahasa Pemrograman PASCAL
Pascal, merupakan bahasa pemrograman tingkat tinggi.
Pascal dirancang oleh Prof. Niklaus Writh (Technical University di Zurich, Switzerland) pada tahun 1971
Nama Pascal diambil sebagai penghargaan kepada Blaise Pascal (ahli matematika dan philosopi dari Peancis).
Pembagian Tipe Data:
1. Tipe Data Sederhana (Simple Type)
Disebut juga sebagai tipe data skalar, yakni bahwa dalam sebuah perubah hanya dimungkinkan untuk menyimpan sebuah nilai data, yakni bahwa tipe data skalar menunjukkan untuk data tersebut nilainya terbentuk menurut suatu urutan tertentu. Tipe data sederhana terbagi menjadi:
A. Tipe Ordinal (berurutan)
adalah sebuah subset dari tipe data sederhana. Semua tipe sederhana disebut sebagai data dengan tipe ordinal kecuali tipe real. Dalam bahasa pascal, tipe data skalar menunjukkan bahwa untuk data tersebut nilainya terbentuk menurut urutan tertentu, yaitu nilainya ada dalam urutan.
Karakteristik tipe Ordinal adalah
• Merupakan Himpunan Berurutan (ordered set) → nilai dari tipe data ordinal memiliki nilai yang berurutan
• Memiliki Fungsi standard ORD/Ordinalitas (digunakan untuk menghasilkan nilai urutannya.)
• Memiliki Fungsi standard PRED/Predecessor (digunakan untuk menghasilkan nilai urutan sebelumnya.). Jika diterapkan pada nilai pertama akan menyebabkan error.
• Memiliki Fungsi standard SUCC/Successor(digunakan untuk menghasilkan nilai urutan sesudahnya). Jika diterapkan pada nilai terakhir akan menyebabkan error.
Contoh Program:
uses crt;type
Colors = (MERAH,BIRU,HIJAU);
begin
clrscr;
Writeln(‘BIRU mempunyai nilai ordinal ‘,Ord(BIRU));
Writeln(‘kode ASCII dari “c” adalah ‘, Ord(‘c’), ‘ desimal’);
writeln;
Writeln(‘predecessor dari 5 adalah ‘,Pred(5));
Writeln(‘successor dari 10 adalah ‘,Succ(10));
if Succ(MERAH) = BIRU then
Writeln(‘DALAM TIPE Colors ,MERAH merupakan ‘,
‘predecessor dari BIRU.’);
readln;
end.
HASIL :BIRU mempunyai nilai ordinal 1
kode ASCII dari “c” adalah 99 desimal
predecessor dari 5 adalah 4
successor dari 10 adalah 11
DALAM TIPE Colors ,MERAH merupakan predecessor dari BIRU.
Macam dari tipe ordinal adalah:
a.Integer → tipe data yang digunakan untuk menyimpan bilangan bulat (tidak memiliki titik desimal).Ada lima tipe data yang termasuk dalam kelompok ini, yaitu integer, short int, long int, byte dan word.
Tipe Jangkauan Ukuran
Shortint 128…127 Signed 8 bit
Integer -32768…32767 Signed 16 bit
Longint -2147483648…2147483647 Signed 32 bit
Byte 0…255 UnSigned 8 bit
Word 0…65535 UnSigned 16 bit
Operator matematika yang digunakan adalah +, -, *, /.Penggunaan tipe data real ini adalah dalam perhitungan matematika, sains dimana derajat ketelitian sangat diperhatikan.
2. Tipe STRING
adalah tipe data yang digunakan untuk menyimpan data yang berupa gabungan dari beberapa karakter, seperti: ‘Pascal’, ‘Logika dan Algoritma’, dsb. Besarnya adalah antara 1 sampai dengan 255 karakter.
Bentuk umum penulisan tipe data ini adalah:
Type
Pengenal = String[panjang];
dengan:
Pengenal = nama tipe data
Panjang = bilangan bulat yang menunjukkan jumlah karakter
Sebagai contoh:
Type
Kata = String[50]
Var
Nama1, Nama2 : Kata;
OPERASI STRING
Operasi string terbagi mencadi dua macam, yaitu:
A. Prosedur Standar
Prosedur-prosedur standar pada operasi string ada beberapa macam, yaitu:
# DELETE
→ Berfungsi menghapus sebagian karakter dari sebuah string.
Sintaks: DELETE (S,Index,Count)
Keterangan:
S = String
Index = Posisi awal karakter yang akan dihapus
Count = Banyaknya karakter yang akan dihapus
Contoh:
S = ‘BINA SARANA INFORMATIKA’
DELETE (S,5,7)
hasilnya adalah: ‘BINA INFORMATIKA’
Perlu diperhatikan bahwa spasi juga dihitung sebagai satu karakter.
# INSERT
→ Berfungsi menyisipkan satu atau beberapa karakter kedalam sebuah string.
Sintaks: INSERT (Source, Var S, Index)
Keterangan:
Source = Sumber string untuk disisipkan (string)
Var S = String tujuan yang akan disisipi oleh string Source (string)
Index = posisi mulai (integer)
Contoh:
S = ‘LOGIKA’
T = ‘ALGORITMA’
INSERT (‘ALGO’,S,3)
INSERT(T,S,1)
# STR
Sintaks: Str (N [:lebar [:desimal]],var S : string);
→ Digunakan untuk merubah nilai numerik (ditunjukkan oleh nilai N) menjadi nilai string (ditunjukkan oleh pengenal variabel S). Nilai N dapat berupa bilangan real atau integer. Nilai lebar menunjukkan format panjang dari nilai utuh dan nilai desimal menunjukkan format dari panjang nilai dibelakang koma.
Keterangan :
N = data tipe integer atau real
S = data tipe string.
Contoh:
N = 1234
STR (N,S)
STR(N:8,S)
# VAL
Sintaks: VAL (S:String,N,PosisiSalah)
→ Digunakan untuk mengkonversi suatu nilai string menjadi nilai numerik. Variabel S harus berisi angka atau tanda plus/minus bila tidak berarti salah dan letak kesalahannya ditunjukkan oleh nilai PosisiSalah. Nilai dari PosisiSalah akan nol jika tidak terjadi kesalahan.
Contoh:
S = ‘-123′
VAL (S,N,PosisiSalah)
S = ‘123.A5′
VAL (S,N,PosisiSalah)
B. Fungsi Standar
# COPY
Sintaks :
COPY (s : string, index : integer, count : integer) : string
Digunakan untuk menyalin sejumlah karakter (jumlah karakter yang disalin ditunjukkan oleh nilai count) mulai dari posisi yang ditunjukkan oleh nilai integer index dari nilai string yang ditunjukkan oleh s.
Contoh:
S = ‘INFORMATIKA’
P = COPY (S,1,4)
Q = COPY (S,6,4)
# CONCAT
Sintaks :
CONCAT (s1 [,s2, ... , sn] : string) : string
Digunakan untuk merangkai beberapa nilai string yang ditunjukkan oleh nilai string s1, s2, …. , sn
Contoh:
S = ‘INFORMATIKA’
P = ‘BINA’
Q = ‘SARANA’
V = CONCAT (P,Q,S)
W = CONCAT(P,’_',Q,’_',S)
# POS
Sintaks :
POS (Substr : string, s: string) : byte
Digunakan untuk mencari posisi letak dari suatu nilai string (ditunjukkan oleh Substr) yang ada didalam nilai string yang lain (ditunjukkan oleh s). Nilai yang dihasilkan adalah berupa nilai byte yang menunjukkan letaknya. Bila bernilai nol berarti nilai string yang dicari tidak ada.
Contoh:
S = ‘INFORMATIKA’
P = POS(‘ATI’,S)
Q = POS(‘FORMASI’,S)
# LENGTH
Sintaks :
LENGTH (s : string) : integer
Digunakan untuk menghitung panjang atau jumlah karakter yang ada dinilai string yang ditunjukkan oleh s. Hasil dari fungsi ini adalah nilai numerik integer positif.
Contoh:
S = ‘INFORMATIKA’
Q = ‘BINA’
P = LENGTH(S)
R = LENGTH(CONCAT(S,Q))
3. Tipe Struktur
Pada tipe ini setiap perubah dapat menyimpan lebih dari sebuah nilai data yang masing-masing nilai data disebut komponen. Karakteristik tipe data terstruktur ini adalah ditentukan berdasarkan cara penstrukturan dan tipe masing-masing komponen. Ukuran tipe terstruktur dalam bahasa pemrograman Turbo Pascal maksimum 65520 byte. Pada tipe ini terdapat empat buah tipe data terstruktur, yaitu larik, rekaman, himpunan, dan berkas
a. Tipe larik(array tipe)
adalah tipe terstruktur yang mempunyai komponen dalam jumlah yang tetap dan setiap komponen mempunyai tipe data yang sama. Posisi masing-masing komponen dalam larik dinyatakan sebagai nomor index.
Bentuk umum penulisan:
Type pengenal = array[tipe index] of tipe;
dengan
Pengenal = nama tipe data
Tipe index = tipe data untuk tiap nomor index
Tipe = tipe data komponen
Parameter tipe index akan menentukan banyaknya komponen larak/array tersebut, sebagai contoh:
Type vek = array[1..100] of integer;
Akan menunjukkan bahwa vek adalah tipe data yang berupa larik/array yang komponennya bertipe integer dan banyaknya adalah 100 buah. Dekalarasi yang disebutkan diatas disebut dengan deklarasi array/larik dimensi satu atau dapat disebut juga dengan vektor, sedangkan untuk larik/array dimensi banyak dapat dilihat pada conoth deklarasi berikut:
Type Tbl = array[1..100 ] of array [1..5] of real; atau
Type Tbl = array[1..100,1..5] of real;
b. Tipe record
adalah kumpulan data yang setiap elemennya bisa mempunyai tipe data yang berbeda satu sama lainnya. Pada larik, semua elemen harus bertipe sama.
c. Tipe set/himpunan
adalah kumpulan objek yang mempunyai tipe data yang sama dan urutan penulisannya tidak diperhatikan. Setiap objek dalam suatu set disebut anggota atau elemen himpunan.
d. Tipe file atau berkas
adalah kumpulan sejumlah komponen yang bertipe sama yang jumlahnya tidak tertentu dan biasanya tersimpan dalam suatu media penyimpanan luar.
e. Tipe pointer
adalah fasilitas yang memungkinkan pemakai menggunakan perubah yang bersifat dinamis
f. Tipe terbilang atau enumerated, disebut demikian karena semua nilai yang ada disebut dengan cara satu persatu.
Contoh:
Type TOKO = (baru,ramai,sukses,rapi);
TypeHARI =(minggu,senin,selasa,rabu,kamis,jum’at,sabtu,minggu);
TypeBULAN =(jan,feb,mar,apr,mei,jun,jul,ags,sep,okt,nop,des);
typeSEKOLAH=(tk,sd,smp,sma,universitas);





Jumat, 29 Oktober 2010

LARIK ATAU ARRAY

ALGORITMA  DAN PEMOGRAMAN 

Nama               : PRIYATNO
NIM                 :11101098
Kelas               :11.1B.07

LARIK ATAU ARRAY

LARIK ATAU ARRAY adalah tipe struktur yang terdiri dari sebuah komponen yang mempunyai tipe data yang sama.

Variabel Array terdiri dari :
Array berdimensi 1
Array berdimensi 2

1.      Array berdimensi satu

Array berdimensi satu  adalah array yang memiliki satu indeks saja.
Mendefiinisikan array satu dimensi :
Kalau dalam algoritma
Nama_array: array [0..nomorke_x] of tipearray
Kalau dalam pascal
Nama_array: array [nomor_awal..nomorke_x] of tipearray;
Kalau dalam bahasa C;
Tipearray nama_array [kapasitas] ;
Begitulah untuk mendefinisikannya.
Penjelasan :
Nama_array adalah nama dari array yang akan dibuat atau didefinisikan. Tipe array adalah tipe dari larik yang akan didefinikan, misalnya real,integer, char (kalau dalam pascal), float, int (kalau dalam C) ,dll. O.. iya tipe bentukan juga bisa…kalau kapasitas itu merupakan banyaknya nilai yang akan disimpan.
Dalam algoritma [0..nomorke_x], dalam pascal [nomor_awal..nomorke_x], dalam bahasa C [kapasitas].
Untuk membaca array tinggal dipanggil saja array yang ke berapa yang akan dipanggil.
Umpamakan L adalah sebuah larik dari bilangan dengan tipe integer.
Dalam sintax algoritma untuk memanggil array dengan cara
L index
Dalam sintax pascal untuk memanggil array dengan cara
L[index]
Dalam sintax C untuk memanggil array dengan cara
L[index]
Perlu di ingat bahwa dalam bahasa C itu merupakan bahasa yang sensitive case. Jadi antara huruf besar dan kecil itu dibedakan, berbeda dengan bahasa pascal. Kalau dalam pascal huruf besar dan kecil dianggap sama.
Berikut ini adalah contoh program dalam pascal untuk menggunakan array satu dimensi.

Bentuk umum :
Tipe_Data_ Nama_Variabel [ukuran]

Contoh :
Int       nilai     [6];
  |           |         |_______ Jumlah elemen
  |           |____________  Nama array
  |__________________   Tipe data elemen array

2.      Array Berdimensi Dua
3.       
Array multi dimensi itu adalah array yang memiliki dua index atau lebih. Untuk tahap pembelajaran yang sering digunakan adalah dengan dua indeks.
Cara mengaksesnya sama dengan cara mengakses pada array satu dimensi.
Nah, berikut ini adalah cara mendefinisikan array dua dimensi.
Dalam algoritma hampir mirip dengan mendefinisikan array 1 dimensi
Nama_array : array [0..nomorke_x,0..nomorke_y] of tipearray
Dalam bahasa pascal juga hampir mirip dengan array 1 dimensi
Nama_array : array [nomorawal..nomorke_x,nomorawal..nomorke_y] of tipearray ;
Dalam bahasa C hampir mirip dengan array 1 dimensi
Tipearray Nama_array [kapasitas]…[kapasitas];
Catatan sepele tapi penting : dalam pengaksesan array gunakan saja perulangan agar tidak repot sehingga tak perlu mengakses satu persatu array yang dibuat.


Bentuk Umum :
Tipe_Data_ Nama_Varibel [index-1] [index-2]
Contoh :
Int       nilai     [6]        [3];
  |           |           |          |______Jumalah Kolom
  |           |           ____________ Jumlah Baris
  |           |__________________  Nama array
  |_________________________Tipe data elemen array



Contoh 1
Di berikan metrik A sebagai berikut :
1          1          1          1
0          1          1          1
0          0          1          1
0          0          0          1

Perintah pokok Yang di berikan pada pengisian matrik A adalah :
A[i,j]=1,jika i ,=j, A[i,j]=0,jika i > j

Contoh 2 :
Int i,j;
Int tabel [3],[2];
For (i=0; i<=2; i++)
{
            For(j=0; j<=1; j++)
            {
            cout<<”data ke-“<<i<<j<<endl;
            cout<<”nilai=”
            cin>>tabel[i] [j];
            }
                                               
}

Hasil Tabel :
TabelI[0][0]
TabelI[0][1]
TabelI[1][0]
TabelI[1][1]
TabelI[2][0]
TabelI[2][1]









Rabu, 27 Oktober 2010

DIAGRAM ALUR/FLOWCHART

NAMA  : WENNY RIZKI HANIFA
NIM      : 11102180
KELAS : 11.1B.07

 PENGERTIAN BLOG

Seringkali masyarakat umum berbeda pendapat mengenai makna/pengertian blog, sehingga memunculkan berbagai pengertian yang salah kaprah perihal blog. Nah pengertian blog ini akan menjadi semakin menarik untuk dibicarakan ketika "dia" disanding-sandingkan dengan website. Saya berharap dengan tulisan yang sangat singkat ini orang awam yang mengalami kebingungan perihal pengertian blog bisa "bernafas lega" :p

Sebelum kita masuk ke pengertian blog, marilah kita simak beberapa pendapat orang lain yang juga bisa kita jadikan dasar pengertian blog.
• Blog adalah hirarki teks, gambar, objek media dan data, disusun secara berkala(dalam urutan waktu) dan dapat dilihat di browser HTML.
• Blog pada dasarnya adalah sebuah jurnal yang tersedia di web. Kegiatan update blog dinamakan blogging, sedangkan orang yang mempunyai/membuat blog adalah blogger.
• Blog adalah jenis wisata yang terus menerus, dengan pemandunya adalah manusia yang Anda kenal.
• Blog pada dasarnya adalah sebuah jurnal yang tersedia di web. Kegiatan update blog dinamakan blogging, sedangkan orang yang mempunyai/membuat blog adalah blogger. Blog biasanya diperbarui setiap hari dengan menggunakan software bawaan dari penyedia blog yang sangat mudah dalam penggunaannya sehingga memungkinkan orang yang bukan berlatar belakang teknis website bisa melakukannya dengan mudah. Halaman di dalam blog hampir seluruhnya bersifat kronologikal, artinya disusun berdasarkan waktu kejadian atau waktu posting.
• Blog adalah sebuah situs web dimana postingan itemnya dilakukan secara teratur dan ditampilkan dalam urutan kronologis mundur. Istilah blog sebenarnya adalah versi pendek/bentuk singkat dari weblog atau web log. Penulis/pemilik blog yang merawat dan menambahkan artikel baru ke dalam blog miliknya disebut blogging. Pengiriman artikel satu-persatu disebut posting blog(blog post), post, atau entries. Orang yang mengirimkan artikel atau orang yang memiliki blog disebut blogger. Sebuah blog terdiri dari teks, hypertext, gambar, dan beberapa link(ke halaman web lain, video, audio, dan file-file lain). Blog menggunakan gaya bahasa penyampaian dokumentasi. Seringkali blog lebih fokus ke salah satu topik, misalnya Tips Trik, Tutorial, Ponsel, dan lain sebagainya. Beberapa blog juga menceritakan pengalaman-pengalaman pribadi mereka.
Daftar Google

Daftarkan Diri Anda di Google

Lho koq? Koq di Google? Katanya mau ngajarin bikin blog di blogger.com, koq malah di Google? Tidak salah, karena untuk masuk ke blogger, Anda harus memiliki login google.com.

Silahkan kunjungi http://www.blogger.com.Jika Anda sudah memiliki login di Google, Anda tinggal login, maka Anda akan masuk ke Control Panel atau Panel Kontrol.Oh ya, Anda bisa memilih bahasa, apakah Bahasa Indonesia atau bahasa Inggris.Untuk kali ini saya anggap Anda belum memiliki login Google.Klik tanda panah besar yang bertuliskan CIPTAKAN BLOG ANDA.Sejauh ini sangat mudah dan akan terus mudah.

Setelah kita membahas pengertian dan cara membuat blog sekarang kita bahas diagram alur atau flowchart.

DIAGRAM ALUR ATAU FLOWCHART

Definisi
Pemakaian komputer dewasa ini telah demikian pesatnya sejalan dengan kemajuan teknologi komputer itu sendiri.Berbagai bidang seperti Industri,Perdagangan,Pendidikan,Pemerintahan,Sains,dan Ilmu Pengetahuan baik eksakta maupun sosial budaya dan lain-lain lagi memanfaatkan alat canggih yang disebut dengan komputer tersebut.Kebanyakan komputer tersebut digunakan untuk memproses dan menyimpan data serta informasi.Dalam pemrosesan tersebut biasanya akan sangat diperlukan komputasi-komputasi yang cepat,tepat,dan akurat.Untuk melakukan tugas komputasi tersebut,perlu dibuat program sebagai alat bantu proses.
Dikatakan atau disebut suatu program karena program merupakan sederetan instruksi atau statement dalam bahasa yang dimengerti oleh komputer yang bersangkutan.Instruksi tersebut berfungsi untuk mengatur pekerjaan apa saja yang akan dilakukan oleh komputer agar mendapatkan atau menghasilkan suatu hasil/keluaran atau output yang diharapkan.Dalam pembuatan program tersebut,alangkah baiknya kalau lebih dulu dibuatkan logika atau urut-urutan instruksi program tersebut dalam suatu diagram yang disebut diagram alur atau Flowchart.

Berikut ini suatu tahap penyelesaian masalah :

 

Simbol-simbol yang digunakan adalah sebagai berikut :

Diagram Alur untuk Program Komputer
Pada dasarnya suatu program komputer umumnya terdiri atas:
  1. Pembacaan/pemasukan data kedalam komputer
  2. Melakukan komputasi/perhitungan terhadap data tersebut
  3. Mengeluarkan/mencetak/menampilkan hasilnya
Flowchart terdiri dari tiga struktur:
1.Struktur squence/Struktur sederhana
Contoh


2.Struktur Brancing
Contoh


3.Struktur Looping
Contoh



Catatan:
Ketiga struktur diatas dapat digunakan secara bersamaan pada satu diagram alur.

Memberi harga kepada suatu Variabel (Cara I)
Suatu variabel dapat diartikan sebagai suatu nilai yang dapat berubah harganya.
Contoh menggambarkan pemberian harga suatu variabel:

X=5
variabel X diberi harga sebesar 5

Kotak proses/penugasan dapat berfungsi antara lain untuk:

C=P-Q
Variabel C diberi harga var.P dikurangi harga var.Q (dalam hal ini,harga variabel P&Q harus sudah ada)

N=N+1
Harga yang terbaru dari variabel N adalah harga lama dari variabel N ditambah 1 (atau dengan kata lain,harga variabel N bertambah 1)

S=S+T
Harga yang baru dari var.S adalah harga lama S ditambah dengan harga variabel T.

Jenis variabel terbagi atas 2 macam,yaitu:
1.Variabel Numerik/bil
2.Variabel Untai Kata/string

Memberi harga kepada suatu variabel (Cara II)
Dengan menggunakan kotak masukan/baca/input/read.
STRUKTUR SQUENCE/STRUKTUR SEDERHANA
Diagram yang alurnya mengalir secara berurutan dari atas kebawah atau dengan kata lain tidak adanya percabangan atau pengulangan

STRUKTUR BRANCHING (Percabangan)
A.Bersyarat

1. IF
Diagram yang alurnya ada/banyak terjadi alih kontrol berupa percabangan dan terjadi apabila kita dihadapkan pada suatu kondisi dengan dua pilihan BENAR/SALAH.
Bentuk Umum:
                     if (kondisi)
                                pernyataan ;

2. IF.....ELSE
Bentuk umum :
                     if (kondisi)
                                perintah1;
                     else
                                perintah2;

3.Nested IF
Pernyataan if yang berada dalam pernyataan if yang lain.
Bentuk umum :
                     if (syarat)
                         if (syarat)
                           ......perintah;
                         else
                           ......perintah;
                     else
                          if (syarat)
                            ......perintah;
                          else 
                            ......perintah;

IF.....ELSE MAJEMUK(bertingkat)
If else majemuk mirip dengan nested if.Keuntungan penggunaan if-else majemuk adalah bentuk penulisan yang lebih sederhana.
Bentuk Umum :
                       if (syarat)
                       {
                             ......Perintah;
                       }
                       else if (syarat)
                       {
                             ......Perintah;
                       }
                       else
                       {
                              .......Perintah;
                       }


4. Switch Case
untuk menangani pengambilan keputusan yang melibatkan sejumlah atau banyak alternatif.
Bentuk Umum :
                       switch (ekspresi integer atau karakter)
                       {
                       case konstanta1:
                                   ......perintah;
                                   break;
                       case konstanta2:
                                   ......perintah;
                                   break;
                        default:
                                   ......perintah;
                                   break;
                        }


B. Tidak Bersyarat
  • Go To
Bentuk umum :
                 goto label;


    










                                             

      Selasa, 26 Oktober 2010

      Logika dan Algoritma
      Diperkenalkan Oleh Ahli Matematika : Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi.
      Definisi Algoritma
      1. Langkah-langkah yang dilakukan agar solusi masalah dapat diperoleh
      2. Suatu prosedur yang merupakan urutan langkah-langkah yang berintegrasi
      3. Suatu metode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata.(Webster Dictionary)
      Kriteria Pemilihan Algoritma
      1. Ada output: mengacu pada definisi algoritma, suatu algoritma haruslah mempunyai output yang harus merupakan solusi dari masalah yang sedang diselesaikan.
      2. Efektifitas dan Efisiensi :D ikatakan efektif jika algoritma tersebut menghasilkan suatu solusi yang sesuai dengan masalah yang diselesaikan dalam arti algoritma harus tepat guna.Dikatakan efisiensi jika waktu proses suatu algoritma relatif lebih singkat dan penggunaan memori komputernya lebih sedikit.
      3. Jumlah langkahnya berhingga : maksudnya adalah barisan instruksi yang dibuat harus dalam suatu urutan tertentu atau harus berhingga agar masalah yang dihadapi dapat diselesaikan dengan tidak memerlukan waktu relatif lama.
      4. Berakhir à (Semi Algoritma) : proses didalam mencari penyelesaian suatu masalah harus berhenti dan berakhir dengan hasil akhir yang merupakan solusinya atau berupa informasi yang tidak diketemukan solusinya. Artinya baik dalam kondisi solusi ada atau tidak ada, proses akan tetap harus berakhir dan berhenti. Istilah lain dalam algoritma dikenal sebagai SEMI ALGORITMA, yaitu suatu prosedur yang hanya akan berhenti jika mempunyai atau menghasilkan solusi, sedangkan jika tidak menghasilkan solusi, maka prosedur tersebut akan berjalan tanpa henti.
      5. Terstruktur : yaitu urutan barisan langkah-langkah yang digunakan harus disusun sedemikian rupa agar proses penyelesaian tidak berbelit-belit sedemikian sehingga bagian-bagian proses dapat dibedakan dengan jelas mana bagian input, proses dan output sehingga memudahkan user melakukan pemeriksaan ulang.
      Kesimpulannya:
      Suatu Algoritma yang terbaik(The Best) : “Suatu algoritma harus menghasilkan output yan tepat guna(efektif) dalam waktu yang relatif singkat & penggunaan memori yang relatif sedikit(efisien) dengan langkah yang berhingga & prosedurnya berakhir baik dalam keadan diperoleh suatu solusi ataupun tidak ada solusinya”
      Contoh:
      A. Algoritma untuk mengirimkan surat
      1. Tulis surat pada secarik kertas surat
      2. Ambil sampul surat atau amplop
      3. Masukkan surat ke dalam amplop
      4. Tutup amplop surat dengan lem perekat
      5. Tulis alamat surat yang dituju, jika tidak diingat, lebih dahulu ambil buku alamat & cari alamat yang dituju, lalu tulis alamat tersebut pada amplop surat
      6. Tempelkan perangko pada amplop surat
      7. Bawa surat ke kantor pos untuk diserahkan pada pegawai pos atau menuju ke bis surat untuk memasukkan surat ke dalam kotak/bis surat.
      B. Algoritma untuk menentukan bilangan akar kuadrat dari suatu bilangan bulat positif yang diinput.
      1. Baca bilangan bulat positif yang diinput, sebut saja sebagai A.
      2. Dinyatakan Nilai B adalah 0
      3. Jika Nilai C sama dengan Nilai A, maka Nilai B adalah Akar dari Nilai A, lalu stop
      4. Jika tidak, maka nilai B akan bertambah 1
      5. Kembali ke langkah pada No.3
      Tahapan Analisa Algoritma
      1. Bagaimana merencakan suatu algoritma:
      Menentukan beberapa model atau desain sebagai penyelesaian dari suatu masalah untuk mendapat sebuah solusi yan mungkin. Dengan demikian, akan banyak terdapat variasi desain atau model yang dapat diambil yang terbaik.
      2. Bagaimana menyatakan suatu algoritma
      Menentukan model suatu algoritma yang digunakan sehingga dapat membuat barisan langkah secara berurutan guna mendapatkan solusi penyelesaian masalah. Menentukan model tersebut agar dapat digunakan dengan cara:
      - Dengan Bahasa semu(Pseudocode): yaitu dengan menggunakan bahasa sehari-hari, tetapi harus jelas dan terstruktur, seperti telah penulis sebutkan pada contoh-contoh sebelumnya(Contoh prosedur berikirm surat)
      Contoh:
      1. Untuk mengitung Luas Segitiga:
      2. Masukan Nilai Alas
      3. Masukan Nilai Tinggi
      4. Hitung Luas = (Alas * Tinggi)/2
      5. Cetak Luas
      - Dengan diagram alur atau flowchart: yaitu dengan membuat suatu penulisan atau penyajian   algoritma berupa diagram yang menggambarkan susunan alur logika dari suatu permasalahan

      Contoh:
      - Dengan Statement Program/Penggalan Program
      Contoh:
      1. Read Alas
      2. Read Tinggi
      3. Luas=(Alas*Tinggi)/2
      4. Write(luas)
      3. Bagaimana validitas suatu algoritma
      Yakni jika penyelesaian memenuhi solusi yang sebenarnya, artinya solusi yang didapat merupakan penyelesaian suatu masalah dan bukannya membuat masalah baru.
      4. Bagaimana menganalisa suatu algoritma
      Caranya melihat running time atau waktu tempuh yang digunakan dalam menyelesaikan masalah serta jumlah memori yang digunakan dalam penyelesaian masalah tersebut.
      5. Bagaimana menguji program dari suatu algoritma
      Yaitu dengan cara menyajikannya dalam salah satu bahasa pemrogramana, misalnya BASIC, PASCAL, FORTRAN, dBase, atau yang lainnya. Dalam proses, uji program oleh komputer akan melalui beberapa tahap yaitu:
      1. Fase Debugging, yaitu fase dari suatu proses program eksekusi yang akan melakukan koreksi terhadap kesalahan program. Yang dimaksud disni adalah error atau salah dalam penulisan program baik logika maupun sintaksnya.
      2. Fase Profilling, yaitu fase yang akan bekerja jika program tersebut sudah benar atau telah melalui proses pada fase debugging. Fase ini bekerja untuk melihat dan mengukur waktu tempuh atau running time yang diperlukan serta jumlah memori/storage yang digunakan dalam menyelesaikan suatu algoritma.
      ANALISIS SUATU ALGORITMA
      (Untuk melihat faktor efisiensi & efektifitas dari algoritma tersebut), dapat dilakukan terhadap suatu algoritma dengan melihat pada:
      - Waktu tempu(Running Time) dari suatu algoritma: adalah satuan waktu yang ditempuh atau diperlukan oleh suatu algoritma dalam menyelesaikan suatu masalah.
      Hal-hal yang dapat mempengaruhi daripada waktu tempuh adalah:
      1. Banyaknya langkah: Makin banyak langkah atau instruksi yang digunakan dalam menyelesaikan masalah, maka makin lama waktu tempuh yang dibutuhkan dalam proses tersebut
      2. Besar dan jenis input data: Besar dan jenis input data pada suatu algoritma akan sangat berpengaruh pada proses perhitugan yang terjadi. Jika jenis data adalah tingkat ketelitian tunggal(Single precision), maka waktu tempuh akan menjadi relatif lebih cepat dibandingkan dengan tingkat ketelitian ganda(double precesion)
      3. Jenis operasi: Waktu tempuh juga dipengaruhi oleh jenis operasi yang digunakan. Jenis operasi tersebut meliputi operasi matematika, nalar atau logika, atau yang lainnya. Sebagai contoh, operasi perkalian atau pembagian akan memakan waktu lebih lama dibandingkan operasi penjumlahan atau pengurangan.
      4. Komputer dan kompilator: hal terakhir yang mempengaruhi waktu tempuh suatu proses algoritma adalah komputer dan kompilatornya, walaupun sebenarnya faktor ini diluar tahap rancangan atau tahap pembuatan algoritma yang efisien. Algoritma dibuat untuk mencapai waktu tempuh yang seefektif dan seefisien mungkin, tetapi kesemuanya itu akan sangat bergantung pada kemampuan komputer yang tentunya harus sesuai dengan jumlah program atau langkah yang diperlukan oleh algoritma, begitu juga dengan kompilator tersebut, misalnya PC XT 8086 akan kalah cepat dibandingkan 8088 atau dengan AT 80286 atau 80386 atau 80486 dan seterusnya
      - Jumlah Memori Yang digunakan: banyaknya langkah yang digunakan dan jenis variabel data yang dipakai dalam suatu algoritma akan sangat mempengaruhi penggunaan memori. Dalm hal ini, diharapkan dapat memperkirakan seberapa banyak kebutuhan memori yang diperlukan selama proses berlangsung hingga proses selesai dikerjakan. Dengan demikian, dapat disiapkan storage yang memadai agar proses suatu algoritma berjalan tanpa ada hambatan atau kekurangan memori.
      Sifat-Sifat Algoritma
      - Banyaknya langkah instruksi harus berhingga: pelaksanaan sebuah algoritma yang terprogram haruslah dapat diakhiri atau diselesaikan melalui sejumlah langkah operasional yang berhingga. Jika tidak demikian, kita tidak akan dapat mengharapkan bahwa pelaksaan algoritma tersebut dapat menghasilkan suatu solusi yang baik.
      - Langkah atau instruksi harus jelas: artinya bahwa penulisa setiap langkah yang terdapat didalam sebuah algoritma harus memiliki arti yang khusus atau spesifik sehingga dapat dibedakan antara penulisan langkah untuk komputer(program/pemrograman) dengan penulisan langkah bagi manusia(pesudocode). Manusia akan lebih mudah memahami algoritma yang terdiri atas simbol-simbol(Contoh: pembuatan algoritma dengan diagram alur/flowchart) sedangkan komputer hanya membutuhkan sebuah penulisan algoritma dengan kode-kode yang dituangkan dalam bahasa yang dimengerti oleh komputer itu sendiri(bahasa pemrograman).
      - Proses harus jelas dan mempunyai batasan: rangkaian suatu proses yang berisi langkah-langkah instruksi dari suatu algoritma yang akan dilaksanakn harus ditetapkan dengna jelas, baik dan pasti sebab sebuah algoritma harus memiliki instruksi dasar tertentu dimana setiap instruksi harus memiliki unsur pelaksana yang berfungsi sebagai pemroses data yang akan dimasukkan dalam sebuah komputer. Dengan demikian, sebuah algoritma harus ditulis dengan jelas tentang batasa-batasan proses yang akan dilaksanakan oleh komputer.
      - Input dan Output harus mempunyai batasan: input merupakan data yang dimasukkan ke dalam algoritma yang untuk kemudian akan dilaksanakan oleh komputer. Dengan begitu, input yang diberikan harus sesuai dengan jenis dari bahasa pemrograman yang digunakan, sedangkan ouput merupakan hasil yang diperoleh dari pekerjaan yang dilaksanakan komputer untuk kepentingan user yang merupakan pihak diluar komputer. Algoritma harus menghasilkan output karena merupaka solusi yang diharapkan dari suatu masalah yang timbul.
      - Efektifitas: instruksi yang diberikan pada komputer agar hanya menjalankan atau melaksanakan proses yang mampu dilaksanakannya. Yang dimaksud mampu adalah bahwa suatu algoritma atau instruksi-instruksi dalam sebuah program hanya akan dapat dilaksanakan jika informasi yang diberikan oleh instruksi-instruksi tersebut lengkap, benar dan jelas.
      - Adanya batasan ruang lingkup, sebuah algoritma yang baik adalah hanya ditujukan bagi suatu masalah tertentu saja. Susunana input harus ditentukan lebih dulu sebab susunan tersebut enentukan sifat umum dari algoritma yang bersangkutan.
       PENGERTIAN LOGIKA DAN ALGORITMA

       NAMA    : RICKY DUTA PERDANA
       NIM         :11102412
       keLAS     : 11.1B.07

      Logika dan Algoritma
      Diperkenalkan Oleh Ahli Matematika : Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi.
      Definisi Algoritma
      1. Langkah-langkah yang dilakukan agar solusi masalah dapat diperoleh
      2. Suatu prosedur yang merupakan urutan langkah-langkah yang berintegrasi
      3. Suatu metode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata.(Webster Dictionary)
      Kriteria Pemilihan Algoritma
      1. Ada output: mengacu pada definisi algoritma, suatu algoritma haruslah mempunyai output yang harus merupakan solusi dari masalah yang sedang diselesaikan.
      2. Efektifitas dan Efisiensi :D ikatakan efektif jika algoritma tersebut menghasilkan suatu solusi yang sesuai dengan masalah yang diselesaikan dalam arti algoritma harus tepat guna.Dikatakan efisiensi jika waktu proses suatu algoritma relatif lebih singkat dan penggunaan memori komputernya lebih sedikit.
      3. Jumlah langkahnya berhingga : maksudnya adalah barisan instruksi yang dibuat harus dalam suatu urutan tertentu atau harus berhingga agar masalah yang dihadapi dapat diselesaikan dengan tidak memerlukan waktu relatif lama.
      4. Berakhir à (Semi Algoritma) : proses didalam mencari penyelesaian suatu masalah harus berhenti dan berakhir dengan hasil akhir yang merupakan solusinya atau berupa informasi yang tidak diketemukan solusinya. Artinya baik dalam kondisi solusi ada atau tidak ada, proses akan tetap harus berakhir dan berhenti. Istilah lain dalam algoritma dikenal sebagai SEMI ALGORITMA, yaitu suatu prosedur yang hanya akan berhenti jika mempunyai atau menghasilkan solusi, sedangkan jika tidak menghasilkan solusi, maka prosedur tersebut akan berjalan tanpa henti.
      5. Terstruktur : yaitu urutan barisan langkah-langkah yang digunakan harus disusun sedemikian rupa agar proses penyelesaian tidak berbelit-belit sedemikian sehingga bagian-bagian proses dapat dibedakan dengan jelas mana bagian input, proses dan output sehingga memudahkan user melakukan pemeriksaan ulang.
      Kesimpulannya:
      Suatu Algoritma yang terbaik(The Best) : “Suatu algoritma harus menghasilkan output yan tepat guna(efektif) dalam waktu yang relatif singkat & penggunaan memori yang relatif sedikit(efisien) dengan langkah yang berhingga & prosedurnya berakhir baik dalam keadan diperoleh suatu solusi ataupun tidak ada solusinya”
      Contoh:
      A. Algoritma untuk mengirimkan surat
      1. Tulis surat pada secarik kertas surat
      2. Ambil sampul surat atau amplop
      3. Masukkan surat ke dalam amplop
      4. Tutup amplop surat dengan lem perekat
      5. Tulis alamat surat yang dituju, jika tidak diingat, lebih dahulu ambil buku alamat & cari alamat yang dituju, lalu tulis alamat tersebut pada amplop surat
      6. Tempelkan perangko pada amplop surat
      7. Bawa surat ke kantor pos untuk diserahkan pada pegawai pos atau menuju ke bis surat untuk memasukkan surat ke dalam kotak/bis surat.
      B. Algoritma untuk menentukan bilangan akar kuadrat dari suatu bilangan bulat positif yang diinput.
      1. Baca bilangan bulat positif yang diinput, sebut saja sebagai A.
      2. Dinyatakan Nilai B adalah 0
      3. Jika Nilai C sama dengan Nilai A, maka Nilai B adalah Akar dari Nilai A, lalu stop
      4. Jika tidak, maka nilai B akan bertambah 1
      5. Kembali ke langkah pada No.3
      Tahapan Analisa Algoritma
      1. Bagaimana merencakan suatu algoritma:
      Menentukan beberapa model atau desain sebagai penyelesaian dari suatu masalah untuk mendapat sebuah solusi yan mungkin. Dengan demikian, akan banyak terdapat variasi desain atau model yang dapat diambil yang terbaik.
      2. Bagaimana menyatakan suatu algoritma
      Menentukan model suatu algoritma yang digunakan sehingga dapat membuat barisan langkah secara berurutan guna mendapatkan solusi penyelesaian masalah. Menentukan model tersebut agar dapat digunakan dengan cara:
      - Dengan Bahasa semu(Pseudocode): yaitu dengan menggunakan bahasa sehari-hari, tetapi harus jelas dan terstruktur, seperti telah penulis sebutkan pada contoh-contoh sebelumnya(Contoh prosedur berikirm surat)
      Contoh:
      1. Untuk mengitung Luas Segitiga:
      2. Masukan Nilai Alas
      3. Masukan Nilai Tinggi
      4. Hitung Luas = (Alas * Tinggi)/2
      5. Cetak Luas
      - Dengan diagram alur atau flowchart: yaitu dengan membuat suatu penulisan atau penyajian   algoritma berupa diagram yang menggambarkan susunan alur logika dari suatu permasalahan

      Contoh:
      - Dengan Statement Program/Penggalan Program
      Contoh:
      1. Read Alas
      2. Read Tinggi
      3. Luas=(Alas*Tinggi)/2
      4. Write(luas)
      3. Bagaimana validitas suatu algoritma
      Yakni jika penyelesaian memenuhi solusi yang sebenarnya, artinya solusi yang didapat merupakan penyelesaian suatu masalah dan bukannya membuat masalah baru.
      4. Bagaimana menganalisa suatu algoritma
      Caranya melihat running time atau waktu tempuh yang digunakan dalam menyelesaikan masalah serta jumlah memori yang digunakan dalam penyelesaian masalah tersebut.
      5. Bagaimana menguji program dari suatu algoritma
      Yaitu dengan cara menyajikannya dalam salah satu bahasa pemrogramana, misalnya BASIC, PASCAL, FORTRAN, dBase, atau yang lainnya. Dalam proses, uji program oleh komputer akan melalui beberapa tahap yaitu:
      1. Fase Debugging, yaitu fase dari suatu proses program eksekusi yang akan melakukan koreksi terhadap kesalahan program. Yang dimaksud disni adalah error atau salah dalam penulisan program baik logika maupun sintaksnya.
      2. Fase Profilling, yaitu fase yang akan bekerja jika program tersebut sudah benar atau telah melalui proses pada fase debugging. Fase ini bekerja untuk melihat dan mengukur waktu tempuh atau running time yang diperlukan serta jumlah memori/storage yang digunakan dalam menyelesaikan suatu algoritma.
      ANALISIS SUATU ALGORITMA
      (Untuk melihat faktor efisiensi & efektifitas dari algoritma tersebut), dapat dilakukan terhadap suatu algoritma dengan melihat pada:
      - Waktu tempu(Running Time) dari suatu algoritma: adalah satuan waktu yang ditempuh atau diperlukan oleh suatu algoritma dalam menyelesaikan suatu masalah.
      Hal-hal yang dapat mempengaruhi daripada waktu tempuh adalah:
      1. Banyaknya langkah: Makin banyak langkah atau instruksi yang digunakan dalam menyelesaikan masalah, maka makin lama waktu tempuh yang dibutuhkan dalam proses tersebut
      2. Besar dan jenis input data: Besar dan jenis input data pada suatu algoritma akan sangat berpengaruh pada proses perhitugan yang terjadi. Jika jenis data adalah tingkat ketelitian tunggal(Single precision), maka waktu tempuh akan menjadi relatif lebih cepat dibandingkan dengan tingkat ketelitian ganda(double precesion)
      3. Jenis operasi: Waktu tempuh juga dipengaruhi oleh jenis operasi yang digunakan. Jenis operasi tersebut meliputi operasi matematika, nalar atau logika, atau yang lainnya. Sebagai contoh, operasi perkalian atau pembagian akan memakan waktu lebih lama dibandingkan operasi penjumlahan atau pengurangan.
      4. Komputer dan kompilator: hal terakhir yang mempengaruhi waktu tempuh suatu proses algoritma adalah komputer dan kompilatornya, walaupun sebenarnya faktor ini diluar tahap rancangan atau tahap pembuatan algoritma yang efisien. Algoritma dibuat untuk mencapai waktu tempuh yang seefektif dan seefisien mungkin, tetapi kesemuanya itu akan sangat bergantung pada kemampuan komputer yang tentunya harus sesuai dengan jumlah program atau langkah yang diperlukan oleh algoritma, begitu juga dengan kompilator tersebut, misalnya PC XT 8086 akan kalah cepat dibandingkan 8088 atau dengan AT 80286 atau 80386 atau 80486 dan seterusnya
      - Jumlah Memori Yang digunakan: banyaknya langkah yang digunakan dan jenis variabel data yang dipakai dalam suatu algoritma akan sangat mempengaruhi penggunaan memori. Dalm hal ini, diharapkan dapat memperkirakan seberapa banyak kebutuhan memori yang diperlukan selama proses berlangsung hingga proses selesai dikerjakan. Dengan demikian, dapat disiapkan storage yang memadai agar proses suatu algoritma berjalan tanpa ada hambatan atau kekurangan memori.
      Sifat-Sifat Algoritma
      - Banyaknya langkah instruksi harus berhingga: pelaksanaan sebuah algoritma yang terprogram haruslah dapat diakhiri atau diselesaikan melalui sejumlah langkah operasional yang berhingga. Jika tidak demikian, kita tidak akan dapat mengharapkan bahwa pelaksaan algoritma tersebut dapat menghasilkan suatu solusi yang baik.
      - Langkah atau instruksi harus jelas: artinya bahwa penulisa setiap langkah yang terdapat didalam sebuah algoritma harus memiliki arti yang khusus atau spesifik sehingga dapat dibedakan antara penulisan langkah untuk komputer(program/pemrograman) dengan penulisan langkah bagi manusia(pesudocode). Manusia akan lebih mudah memahami algoritma yang terdiri atas simbol-simbol(Contoh: pembuatan algoritma dengan diagram alur/flowchart) sedangkan komputer hanya membutuhkan sebuah penulisan algoritma dengan kode-kode yang dituangkan dalam bahasa yang dimengerti oleh komputer itu sendiri(bahasa pemrograman).
      - Proses harus jelas dan mempunyai batasan: rangkaian suatu proses yang berisi langkah-langkah instruksi dari suatu algoritma yang akan dilaksanakn harus ditetapkan dengna jelas, baik dan pasti sebab sebuah algoritma harus memiliki instruksi dasar tertentu dimana setiap instruksi harus memiliki unsur pelaksana yang berfungsi sebagai pemroses data yang akan dimasukkan dalam sebuah komputer. Dengan demikian, sebuah algoritma harus ditulis dengan jelas tentang batasa-batasan proses yang akan dilaksanakan oleh komputer.
      - Input dan Output harus mempunyai batasan: input merupakan data yang dimasukkan ke dalam algoritma yang untuk kemudian akan dilaksanakan oleh komputer. Dengan begitu, input yang diberikan harus sesuai dengan jenis dari bahasa pemrograman yang digunakan, sedangkan ouput merupakan hasil yang diperoleh dari pekerjaan yang dilaksanakan komputer untuk kepentingan user yang merupakan pihak diluar komputer. Algoritma harus menghasilkan output karena merupaka solusi yang diharapkan dari suatu masalah yang timbul.
      - Efektifitas: instruksi yang diberikan pada komputer agar hanya menjalankan atau melaksanakan proses yang mampu dilaksanakannya. Yang dimaksud mampu adalah bahwa suatu algoritma atau instruksi-instruksi dalam sebuah program hanya akan dapat dilaksanakan jika informasi yang diberikan oleh instruksi-instruksi tersebut lengkap, benar dan jelas.
      - Adanya batasan ruang lingkup, sebuah algoritma yang baik adalah hanya ditujukan bagi suatu masalah tertentu saja. Susunana input harus ditentukan lebih dulu sebab susunan tersebut enentukan sifat umum dari algoritma yang bersangkutan.
      Logika dan Algoritma
      Diperkenalkan Oleh Ahli Matematika : Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi.
      Definisi Algoritma
      1. Langkah-langkah yang dilakukan agar solusi masalah dapat diperoleh
      2. Suatu prosedur yang merupakan urutan langkah-langkah yang berintegrasi
      3. Suatu metode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata.(Webster Dictionary)
      Kriteria Pemilihan Algoritma
      1. Ada output: mengacu pada definisi algoritma, suatu algoritma haruslah mempunyai output yang harus merupakan solusi dari masalah yang sedang diselesaikan.
      2. Efektifitas dan Efisiensi :D ikatakan efektif jika algoritma tersebut menghasilkan suatu solusi yang sesuai dengan masalah yang diselesaikan dalam arti algoritma harus tepat guna.Dikatakan efisiensi jika waktu proses suatu algoritma relatif lebih singkat dan penggunaan memori komputernya lebih sedikit.
      3. Jumlah langkahnya berhingga : maksudnya adalah barisan instruksi yang dibuat harus dalam suatu urutan tertentu atau harus berhingga agar masalah yang dihadapi dapat diselesaikan dengan tidak memerlukan waktu relatif lama.
      4. Berakhir à (Semi Algoritma) : proses didalam mencari penyelesaian suatu masalah harus berhenti dan berakhir dengan hasil akhir yang merupakan solusinya atau berupa informasi yang tidak diketemukan solusinya. Artinya baik dalam kondisi solusi ada atau tidak ada, proses akan tetap harus berakhir dan berhenti. Istilah lain dalam algoritma dikenal sebagai SEMI ALGORITMA, yaitu suatu prosedur yang hanya akan berhenti jika mempunyai atau menghasilkan solusi, sedangkan jika tidak menghasilkan solusi, maka prosedur tersebut akan berjalan tanpa henti.
      5. Terstruktur : yaitu urutan barisan langkah-langkah yang digunakan harus disusun sedemikian rupa agar proses penyelesaian tidak berbelit-belit sedemikian sehingga bagian-bagian proses dapat dibedakan dengan jelas mana bagian input, proses dan output sehingga memudahkan user melakukan pemeriksaan ulang.
      Kesimpulannya:
      Suatu Algoritma yang terbaik(The Best) : “Suatu algoritma harus menghasilkan output yan tepat guna(efektif) dalam waktu yang relatif singkat & penggunaan memori yang relatif sedikit(efisien) dengan langkah yang berhingga & prosedurnya berakhir baik dalam keadan diperoleh suatu solusi ataupun tidak ada solusinya”
      Contoh:
      A. Algoritma untuk mengirimkan surat
      1. Tulis surat pada secarik kertas surat
      2. Ambil sampul surat atau amplop
      3. Masukkan surat ke dalam amplop
      4. Tutup amplop surat dengan lem perekat
      5. Tulis alamat surat yang dituju, jika tidak diingat, lebih dahulu ambil buku alamat & cari alamat yang dituju, lalu tulis alamat tersebut pada amplop surat
      6. Tempelkan perangko pada amplop surat
      7. Bawa surat ke kantor pos untuk diserahkan pada pegawai pos atau menuju ke bis surat untuk memasukkan surat ke dalam kotak/bis surat.
      B. Algoritma untuk menentukan bilangan akar kuadrat dari suatu bilangan bulat positif yang diinput.
      1. Baca bilangan bulat positif yang diinput, sebut saja sebagai A.
      2. Dinyatakan Nilai B adalah 0
      3. Jika Nilai C sama dengan Nilai A, maka Nilai B adalah Akar dari Nilai A, lalu stop
      4. Jika tidak, maka nilai B akan bertambah 1
      5. Kembali ke langkah pada No.3
      Tahapan Analisa Algoritma
      1. Bagaimana merencakan suatu algoritma:
      Menentukan beberapa model atau desain sebagai penyelesaian dari suatu masalah untuk mendapat sebuah solusi yan mungkin. Dengan demikian, akan banyak terdapat variasi desain atau model yang dapat diambil yang terbaik.
      2. Bagaimana menyatakan suatu algoritma
      Menentukan model suatu algoritma yang digunakan sehingga dapat membuat barisan langkah secara berurutan guna mendapatkan solusi penyelesaian masalah. Menentukan model tersebut agar dapat digunakan dengan cara:
      - Dengan Bahasa semu(Pseudocode): yaitu dengan menggunakan bahasa sehari-hari, tetapi harus jelas dan terstruktur, seperti telah penulis sebutkan pada contoh-contoh sebelumnya(Contoh prosedur berikirm surat)
      Contoh:
      1. Untuk mengitung Luas Segitiga:
      2. Masukan Nilai Alas
      3. Masukan Nilai Tinggi
      4. Hitung Luas = (Alas * Tinggi)/2
      5. Cetak Luas
      - Dengan diagram alur atau flowchart: yaitu dengan membuat suatu penulisan atau penyajian   algoritma berupa diagram yang menggambarkan susunan alur logika dari suatu permasalahan

      Contoh:
      - Dengan Statement Program/Penggalan Program
      Contoh:
      1. Read Alas
      2. Read Tinggi
      3. Luas=(Alas*Tinggi)/2
      4. Write(luas)
      3. Bagaimana validitas suatu algoritma
      Yakni jika penyelesaian memenuhi solusi yang sebenarnya, artinya solusi yang didapat merupakan penyelesaian suatu masalah dan bukannya membuat masalah baru.
      4. Bagaimana menganalisa suatu algoritma
      Caranya melihat running time atau waktu tempuh yang digunakan dalam menyelesaikan masalah serta jumlah memori yang digunakan dalam penyelesaian masalah tersebut.
      5. Bagaimana menguji program dari suatu algoritma
      Yaitu dengan cara menyajikannya dalam salah satu bahasa pemrogramana, misalnya BASIC, PASCAL, FORTRAN, dBase, atau yang lainnya. Dalam proses, uji program oleh komputer akan melalui beberapa tahap yaitu:
      1. Fase Debugging, yaitu fase dari suatu proses program eksekusi yang akan melakukan koreksi terhadap kesalahan program. Yang dimaksud disni adalah error atau salah dalam penulisan program baik logika maupun sintaksnya.
      2. Fase Profilling, yaitu fase yang akan bekerja jika program tersebut sudah benar atau telah melalui proses pada fase debugging. Fase ini bekerja untuk melihat dan mengukur waktu tempuh atau running time yang diperlukan serta jumlah memori/storage yang digunakan dalam menyelesaikan suatu algoritma.
      ANALISIS SUATU ALGORITMA
      (Untuk melihat faktor efisiensi & efektifitas dari algoritma tersebut), dapat dilakukan terhadap suatu algoritma dengan melihat pada:
      - Waktu tempu(Running Time) dari suatu algoritma: adalah satuan waktu yang ditempuh atau diperlukan oleh suatu algoritma dalam menyelesaikan suatu masalah.
      Hal-hal yang dapat mempengaruhi daripada waktu tempuh adalah:
      1. Banyaknya langkah: Makin banyak langkah atau instruksi yang digunakan dalam menyelesaikan masalah, maka makin lama waktu tempuh yang dibutuhkan dalam proses tersebut
      2. Besar dan jenis input data: Besar dan jenis input data pada suatu algoritma akan sangat berpengaruh pada proses perhitugan yang terjadi. Jika jenis data adalah tingkat ketelitian tunggal(Single precision), maka waktu tempuh akan menjadi relatif lebih cepat dibandingkan dengan tingkat ketelitian ganda(double precesion)
      3. Jenis operasi: Waktu tempuh juga dipengaruhi oleh jenis operasi yang digunakan. Jenis operasi tersebut meliputi operasi matematika, nalar atau logika, atau yang lainnya. Sebagai contoh, operasi perkalian atau pembagian akan memakan waktu lebih lama dibandingkan operasi penjumlahan atau pengurangan.
      4. Komputer dan kompilator: hal terakhir yang mempengaruhi waktu tempuh suatu proses algoritma adalah komputer dan kompilatornya, walaupun sebenarnya faktor ini diluar tahap rancangan atau tahap pembuatan algoritma yang efisien. Algoritma dibuat untuk mencapai waktu tempuh yang seefektif dan seefisien mungkin, tetapi kesemuanya itu akan sangat bergantung pada kemampuan komputer yang tentunya harus sesuai dengan jumlah program atau langkah yang diperlukan oleh algoritma, begitu juga dengan kompilator tersebut, misalnya PC XT 8086 akan kalah cepat dibandingkan 8088 atau dengan AT 80286 atau 80386 atau 80486 dan seterusnya
      - Jumlah Memori Yang digunakan: banyaknya langkah yang digunakan dan jenis variabel data yang dipakai dalam suatu algoritma akan sangat mempengaruhi penggunaan memori. Dalm hal ini, diharapkan dapat memperkirakan seberapa banyak kebutuhan memori yang diperlukan selama proses berlangsung hingga proses selesai dikerjakan. Dengan demikian, dapat disiapkan storage yang memadai agar proses suatu algoritma berjalan tanpa ada hambatan atau kekurangan memori.
      Sifat-Sifat Algoritma
      - Banyaknya langkah instruksi harus berhingga: pelaksanaan sebuah algoritma yang terprogram haruslah dapat diakhiri atau diselesaikan melalui sejumlah langkah operasional yang berhingga. Jika tidak demikian, kita tidak akan dapat mengharapkan bahwa pelaksaan algoritma tersebut dapat menghasilkan suatu solusi yang baik.
      - Langkah atau instruksi harus jelas: artinya bahwa penulisa setiap langkah yang terdapat didalam sebuah algoritma harus memiliki arti yang khusus atau spesifik sehingga dapat dibedakan antara penulisan langkah untuk komputer(program/pemrograman) dengan penulisan langkah bagi manusia(pesudocode). Manusia akan lebih mudah memahami algoritma yang terdiri atas simbol-simbol(Contoh: pembuatan algoritma dengan diagram alur/flowchart) sedangkan komputer hanya membutuhkan sebuah penulisan algoritma dengan kode-kode yang dituangkan dalam bahasa yang dimengerti oleh komputer itu sendiri(bahasa pemrograman).
      - Proses harus jelas dan mempunyai batasan: rangkaian suatu proses yang berisi langkah-langkah instruksi dari suatu algoritma yang akan dilaksanakn harus ditetapkan dengna jelas, baik dan pasti sebab sebuah algoritma harus memiliki instruksi dasar tertentu dimana setiap instruksi harus memiliki unsur pelaksana yang berfungsi sebagai pemroses data yang akan dimasukkan dalam sebuah komputer. Dengan demikian, sebuah algoritma harus ditulis dengan jelas tentang batasa-batasan proses yang akan dilaksanakan oleh komputer.
      - Input dan Output harus mempunyai batasan: input merupakan data yang dimasukkan ke dalam algoritma yang untuk kemudian akan dilaksanakan oleh komputer. Dengan begitu, input yang diberikan harus sesuai dengan jenis dari bahasa pemrograman yang digunakan, sedangkan ouput merupakan hasil yang diperoleh dari pekerjaan yang dilaksanakan komputer untuk kepentingan user yang merupakan pihak diluar komputer. Algoritma harus menghasilkan output karena merupaka solusi yang diharapkan dari suatu masalah yang timbul.
      - Efektifitas: instruksi yang diberikan pada komputer agar hanya menjalankan atau melaksanakan proses yang mampu dilaksanakannya. Yang dimaksud mampu adalah bahwa suatu algoritma atau instruksi-instruksi dalam sebuah program hanya akan dapat dilaksanakan jika informasi yang diberikan oleh instruksi-instruksi tersebut lengkap, benar dan jelas.
      - Adanya batasan ruang lingkup, sebuah algoritma yang baik adalah hanya ditujukan bagi suatu masalah tertentu saja. Susunana input harus ditentukan lebih dulu sebab susunan tersebut enentukan sifat umum dari algoritma yang bersangkutan.