Searching
searching ( pencarian ) adalah menemukan nilai (data) tertentu di dalam sekumpulan data yang bertipe sama (baik bertupe dasar atau bertipe bentukan. Metoe yang di pakai bisa pencarian beruntun ( sequential search) hingga algoritma pencarian yang lebih maju yaitu pencarian bagidua (binary search).
Pengurutan
Pengurutan (sorting) adalah proses mengatur sekumpulan objek menurut urutan dan susunan tertentu. Masalah pengurutan dapat ditulis sebagai berikut:
Diberikan larik L dengan n elemen yang sudah terdefinisi elemen-elemennya.
Urutan larik tersebut sehingga tersusun secara menaik (ascending):
L[1] ≤ L[2] ≤ L[3] ≤....≤ L[n]
Atau secara menurun (descending):
L[1] ≥ L[2] ≥ L[3] ≥ ....≥ L[n]
Data yang diurut dapat berupa data bertipe dasar atau tipe terstruktur (record).
Penjumlahan 2 Buah Matrix
Penjumlahan dua buah matriks A dan B menghasilkan matriks C, atau A+B = C. Penjumlahan dua buah matriks dapat dilakukan bila ukuran matriks A dan ukuran matriks B sama dan kedua matriks sudah terdefinisi nilainya. Matriks C akan berukuran sama dengan matriks A dan B.
Penjumlahan matriks A dan B didefinisikan sebagai berikut :
C [i,j] = A [i,j] + B [i,j] untuk semua i dan j.
Perkalian 2 Buah Matrix
Perkalian dua buah matriks A dan B menghasilkan matriks C, yaitu C = A x B. mengalikan dua buah matriks lebih rumit daripada menjumlahkan keduanya. Syarat perkalian matriks A dan matriks B, jumlah kolom matriks A harus sama dengan jumlah baris matriks B.
Misalkan A [1..m,1..n] dan B [1..n,1..p], yang dalam hal ini,
m adalah jumlah baris matriks A,
n adalah jumlah kolom matriks A dan jumlah baris matriks B,
p adalah jumlah kolom matriks B.
hasil perkalian A dan B menghasilkan matriks c[1..m,1..p]
algoritma perkalian matriks:
inisialisasi C [i,j] dengan 0, untuk i = 1,2,...,m dan j = 1,2,...,p.
untuk setiap baris i = 1,2,...,m pada matriks A lakukan:
untuk setiap baris j = 1,2,...,p pada matriks B lakukan:
untuk setiap baris k = 1,2,...,n pada matriks B lakukan:
C [i,j] = C [i,j] + A [i,k] * B [k,j]
Sumber : Modul Algoritma semester II disusun oleh : Try Ginanjar S.Kom,M.Si
Rabu, 11 Mei 2011
Jumat, 15 April 2011
procedure
KONSEP PEMROGRAMAN PROSEDURAL
Ketika program yang dibuat sudah terlalu panjang, ratusan bahkan puluhan ribu baris,sehingga kita mengalami kesulitan untuk memahami jalannya program secara keseluruhan,maka ada baiknya bila program tersebut dipecah menjadi beberapa bagian yang biasanyadisebut modul, subprogram atau subrutin. Konsep semacam ini biasa disebut dengan pemrograman procedural.
Memecah program menjadi modul-modul tentunya akan lebih memudahkan dalam mencarikesalahan, memperbaiki serta membuat dokumentasinya. Pembuatan modul di TurboPascal dibagi dua jenis yaitu : Prosedur dan Fungsi. Prosedur atau Fungsi adalah suatu modul program yang terpisah dari program utama,diletakan dalam blok tersendiri yang berfungsi sebagai bagian dari program. Setiap prosedur diawali dengan kata cadangan
( reserver word)Procedure, sedangkan Fungsi diawali dengan kata cadangan function.
Prosedur atau Fungsi banyak digunakan pada program terstruktur, karena :
1. Merupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana.
2. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.
KONSEP PEMROGRAMAN PROSEDURAL
Ketika program yang dibuat sudah terlalu panjang, ratusan bahkan puluhan ribu baris,sehingga kita mengalami kesulitan untuk memahami jalannya program secara keseluruhan,maka ada baiknya bila program tersebut dipecah menjadi beberapa bagian yang biasanyadisebut modul, subprogram atau subrutin. Konsep semacam ini biasa disebut dengan pemrograman procedural.
Memecah program menjadi modul-modul tentunya akan lebih memudahkan dalam mencarikesalahan, memperbaiki serta membuat dokumentasinya. Pembuatan modul di TurboPascal dibagi dua jenis yaitu : Prosedur dan Fungsi. Prosedur atau Fungsi adalah suatu modul program yang terpisah dari program utama,diletakan dalam blok tersendiri yang berfungsi sebagai bagian dari program. Setiap prosedur diawali dengan kata cadangan
( reserver word)Procedure, sedangkan Fungsi diawali dengan kata cadangan function.
Prosedur atau Fungsi banyak digunakan pada program terstruktur, karena :
1. Merupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana.
2. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.
Parameter
Secara sederhana parameter merupakan variabel yang dituliskan di dalam kurung setelah nama prosedur atau fungsi. Dalam pembuatan program biasanya diperlukan pertukaraninformasi antara prosedur atau fungsi, serta pada blok progam utama dimana namaprosedur atau fungsi tersebut dipanggil.
Berdasarkan penulisannya terdapat 2 jenis parameter, yaitu :
parameter formal ( formal parameter) dan parameter actual (actual parameter).
Parameter formal adalah parameter yang disertakan/dituliskan pada saat pendefinisianprosedur/fungsi itu sendiri. Sedangkan
Parameter actual adalah parameter yang disertakan pada saat pemanggilanprosedur/fungsi tersebut di blok program utama.
Berdasarkan tujuannya terdapat 3 jenis parameter formal :
1. Parameter masukan( input parameter)
, yaitu : parameter yang nilainya berfungsisebagai masukan untuk prosedur/fungsi, jenis parameter ini kadang disebut jugaparameter nilai (value parameter atau parameter by value ).
2.Parameter keluaran( output parameter)
, yaitu : parameter yang berfungsi untuk menampung keluaran yang dihasilkan oleh prosedur.
3.Parameter masukan/keluaran (input/output parameter )
adalah parameter yangberfungsi sebagai “pintu” masuk dan keluar bagi prosedur tersebut. Parameter keluaran (output parameter )dan parameter masukan/keluaran (input/output parameter )
kadang disebut parameter acuan (reference parameter atau parameter by reference).
Secara sederhana parameter merupakan variabel yang dituliskan di dalam kurung setelah nama prosedur atau fungsi. Dalam pembuatan program biasanya diperlukan pertukaraninformasi antara prosedur atau fungsi, serta pada blok progam utama dimana namaprosedur atau fungsi tersebut dipanggil.
Berdasarkan penulisannya terdapat 2 jenis parameter, yaitu :
parameter formal ( formal parameter) dan parameter actual (actual parameter).
Parameter formal adalah parameter yang disertakan/dituliskan pada saat pendefinisianprosedur/fungsi itu sendiri. Sedangkan
Parameter actual adalah parameter yang disertakan pada saat pemanggilanprosedur/fungsi tersebut di blok program utama.
Berdasarkan tujuannya terdapat 3 jenis parameter formal :
1. Parameter masukan( input parameter)
, yaitu : parameter yang nilainya berfungsisebagai masukan untuk prosedur/fungsi, jenis parameter ini kadang disebut jugaparameter nilai (value parameter atau parameter by value ).
2.Parameter keluaran( output parameter)
, yaitu : parameter yang berfungsi untuk menampung keluaran yang dihasilkan oleh prosedur.
3.Parameter masukan/keluaran (input/output parameter )
adalah parameter yangberfungsi sebagai “pintu” masuk dan keluar bagi prosedur tersebut. Parameter keluaran (output parameter )dan parameter masukan/keluaran (input/output parameter )
kadang disebut parameter acuan (reference parameter atau parameter by reference).
Kamis, 31 Maret 2011
FUNGSI
Algoritma Pemrograman
FUNGSI
• Fungsi adalah modul program yang
memberikan/mengembalikan (return)
sebuah nilai dan tipe tertentu (tipe dasar
atau tipe bentukan)
Pendefinisian Fungsi
• Sebagaimana halnya dengan prosedur, fungsi diakses
dengan memanggil namanya. Selain itu, fungsi juga
dapat mengandung daftar parameter formal
• Parameter pada fungsi selalu merupakan parameter
masukan. Jenis parameter masukan pada fungsi
disebabkan oleh kenyataan bahwa parameter pada
fungsi merupakan masukan yang digunakan oleh fungsi
tersebut untuk menghasilkan nilai
• Struktur fungsi sama dengan struktur algoritma yang
sudah dikenal sebelumnya:
– ada bagian header yang berisi nama fungsi dan spesifikasi
fungsi
– bagian Deklarasi
– badan fungsi
Notasi algoritma untuk mendefinisikan
fungsi
function NamaFungsi(input daftar parameter formal)→ →→ →tipe hasil
{ Spesifikasi fungsi, menjelaskan apa yang dilakukan dan yang
dikembalikan oleh fungsi. }
DEKLARASI
{ semua nama yang dipakai dalam algoritma fungsi
dideklarasikan di sini. Nama yang didefinisikan di dalam
Deklarasi lokal hanya dikenal dan dipakai di dalam fungsi
ini saja }
DESKRIPSI:
{ badan fungsi, berisi kumpulan instruksi untuk menghasilkan
nilai yang akan dikembalikan oleh fungsi }
return hasil { pengembalian nilai yang dihasilkan fungsi }
Perihal fungsi
• Tipe hasil menspesifikasikan tipe nilai yang diberikan
oleh fungsi. Nilai yang diberikan oleh fungsi dapat
bertipe dasar maupun bertipe bentukan. Sebagaimana
halnya pada prosedur, parameter fungsi pada fungsi
tidak selalu harus ada
• Semua nama peubah/konstanta yang hanya berlaku di
dalam fungsi saja dideklarasikan di dalam bagian
Deklarasi (lokal). Nama yang didefinisikan di dalam
bagian Deklarasi fungsi hanya dikenal dan berlaku di
dalam fungsi yang bersangkutan saja, fungsi lain atau
program utama tidak dapat menggunakannya
Pemanggilan Fungsi
• Fungsi diakses dengan cara memanggil
namanya dari program pemanggil, diikuti
dengan daftar parameter aktual (bila ada)
• Karena fungsi menghasilkan nilai, maka nilai
tersebut dapat ditampung dalam sebuah peubah
yang bertipe sama dengan tipe fungsi atau nilai
yang dikembalikan oleh fungsi dapat langsung
dimanipulasi. Parameter aktual dapat berupa
konstanta, nama konstanta, atau nama peubah
Contoh 1: Fungsi untuk menghasilkan
nilai F(x)= x2+2x–3, x R
• F adalah nama fungsi, tipenya real
• x adalah parameter (by value) formal
• Di dalam badan fungsi, nilai yang dihasilkan oleh fungsi
dikembalikan (return) ke titik pemanggilan:
return x*x + 2*x – 3
function F(input x:real) → real
{ Mengembalikan nilai F(x) = x2 + 2x – 3, x Є R }
DEKLARASI
{ tidak ada }
DESKRIPSI:return x*x + 2*x – 3
Contoh 2: Pemanggilan Fungsi F(x)=
x2+2x–3, x R
• Fungsi dapat dipanggil dari program utama atau dari modul program lain. Di
dalam DEKLARASI program pemanggil harus dideklarasikan prototip atau
header fungsi yang digunakan. Pendeklarasian prototip fungsi di dalam
DEKLARASI diperlukan agar fungsi tersebut dikenal oleh program
pemanggil serta cara fungsi dipanggil
• Fungsi dari Contoh 1 dapat dipanggil untuk menampilkan tabel nilai-nilai x
dan F(x) di dalam selang [10,15] dengan Δx = 0.5 seperti contoh berikut:
Algoritma
CONTOH_PEMANGGILAN_FUNGSI
{ Program utama untuk
pemanggilan
fungsi F }
DEKLARASI
x : real
function F(input x:real) → real
{ Mengembalikan nilai F(x) = x2
+
2x – 3, x Є R }
return x*x + 2*x - 3
DESKRIPSI:
write(‘-------------------‘)
write(‘ x F(x) ‘)
write(‘-------------------‘)
x ← 10.0
while x ≤ 15.0 do
write(x,‘ ‘,F(x))
x ← x + 0.5
endwhile
write(‘-------------------‘)
Penggunaan Prosedur atau Fungsi?
• Fungsi lebih tepat digunakan apabila modul program
mengembalikan sebuah nilai, sementara prosedur
digunakan bila modul menghasilkan efek netto dari (satu
atau) sekumpulan aksi. Namun dalam praktek, seringkali
perbedaan antara keduanya tidak jelas, karena sebuah
prosedur dapat juga ditulis sebagai fungsi, demikian pula
sebaliknya. Pemilihan apakah sebuah modul
direalisasikan sebagai fungsi atau prosedur bergantung
pada kebutuhan dan seni memprogram
• Fungsi dapat dikonversikan sebagai prosedur dengan
menyatakan nilai yang dikembalikan oleh fungsi tersebut
sebagai parameter keluaran prosedur. Demikian juga,
prosedur yang mempunyai satu buah parameter
keluaran dapat ditulis sebagai fungsi dengan
menyatakan parameter keluaran sebagai nilai yang
dikembalikan oleh fungsi
Mengubah fungsi menjadi prosedur
Contoh:
fungsi Maks
dan program
utama untuk
menentukan
bilangan
terbesar di
antara dua
buah bilangan
Algoritma MENENTUKAN_MAKSIMUM
{ Program utama yang memanggil fungsi
MAKS
untuk menentukan nilai maksimum dari dua
buah
bilangan buat a dan b. }
DEKLARASI (* Program Utama *)
a, b : integer
function Maks(input a,b : integer)→
integer
{ Mengembalikan harga terbesar dari a dan
b }
DEKLARASI (* Fungsi *)
{ tidak ada }
DESKRIPSI : (* Fungsi *)
if a ≥ b then
return a
else
return b
endif
DESKRIPSI : (* Program Utama *)
read(a,b)
write(Maks(a,b))
Di samping
sebagai fungsi,
fungsi Maks
juga dapat
dituliskan
sebagai
prosedur
TentukanMaks
dan program
utama
Algoritma MENENTUKAN_MAKSIMUM
{ Program utama yang memanggil prosedur
TentukanMaks
untuk menentukan nilai maksimum dua buah
bilangan
bulat a dan b }
DEKLARASI (* Program Utama *)
a, b, m : integer
procedure TentukanMaks(input a,b :
integer, output
maks : integer)
{ Menentukan nilai terbesar dari a dan b
}
{ K.awal: a dan b sudah terdefinisi nilai
}
{ K.akhir: maks berisi nilai terbesar
dari a atau b }
DEKLARASI (* Prosedur *)
{ tidak ada }
DESKRIPSI : (* Prosedur *)
if a ≥ b then
maks ← a
else
maks ← b
endif
DESKRIPSI : (* Program Utama *)
read(a,b)
TentukanMaks(a,b,m)
write(m)
Mengubah
prosedur
menjadi fungsi
Contoh:
prosedur
HitungRataRata
dan program
utama untuk
menghitung nilai
rata-rata dari
sejumlah data
bilangan bulat
Algoritma MENGHITUNG_RATA_RATA
{ Program utama untuk menghitung nilai rata-rata N
buah bilangan bulat yang dibaca dari piranti masukan}
DEKLARASI (* Program Utama *)
Ndata : integer
rerata : real
procedure HitungRataRata(input N : integer, output
rata : real)
{ Menghitung nilai rata-rata N buah bilangan bulat }
{ K.awal: N berisi banyaknya bilangan bulat, N > 0 }
{ K.awal: rata berisi rata-rata seluruh bilangan }
DEKLARASI (* Prosedur *)
x : integer { data bilangan bulat yang dibaca
dari piranti masukan }
k : integer { pencacah banyak bilangan }
jumlah : integer { jumlah seluruh bilangan }
DESKRIPSI : (* Prosedur *)
jumlah ← 0 { inisialisasi penjumlah }
for k ← 1 to N do
read(x)
jumlah ← jumlah + x
endfor
rata ← jumlah/N { rata-rata seluruh bilangan }
DESKRIPSI : (* Program Utama *)
read(Ndata)
HitungRataRata(Ndata,rerata)
write(rerata)
Prosedur
HitungRataRata
memiliki satu
parameter keluaran,
karena itu ia dapat
diubah menjadi fungsi.
Apabila ditulis sebagai
fungsi, maka
parameter keluaran
rata tidak diperlukan
lagi, karena nilai rata
merupakan nilai yang
dihasilkan (return
value) oleh fungsi
Algoritma MENGHITUNG_RATA_RATA
{ Program utama untuk menghitung nilai rata-rata
N buah
bilangan bulat yang dibaca dari piranti masukan
}
DEKLARASI (* Program Utama *)
Ndata : integer
rerata : real
function RataRata(input N : integer) → real
{ Menghitung nilai rata-rata N buah bilangan
bulat yang
dibaca dari piranti masukan. Rata-rata bilangan
merupakan nilai yang dikembalikan oleh fungsi }
DEKLARASI (* Fungsi *)
x : integer {data bilangan bulat}
k : integer {pencacah banyak bilangan}
jumlah : integer {jumlah seluruh bilangan}
DESKRIPSI : (* Fungsi *)
jumlah ← 0 { inisialisasi penjumlah }
for k ← 1 to N do
read(x)
jumlah ← jumlah + x
endfor
return jumlah/N {rata-rata seluruh bilangan}
DESKRIPSI : (* Program Utama *)
read(Ndata)
write(RataRata(Ndata))
Summary
• Fungsi adalah modul program yang memberikan/mengembalikan
(return) sebuah nilai dan tipe tertentu (tipe dasar atau tipe bentukan)
• Struktur fungsi terdiri dari bagian header, bagian Deklarasi dan
badan fungsi
• Semua nama peubah/konstanta yang hanya berlaku di dalam fungsi
saja dideklarasikan di dalam bagian Deklarasi (lokal). Nama yang
didefinisikan di dalam bagian Deklarasi fungsi hanya dikenal dan
berlaku di dalam fungsi yang bersangkutan saja, fungsi lain atau
program utama tidak dapat menggunakannya
• Fungsi diakses dengan cara memanggil namanya dari program
pemanggil, diikuti dengan daftar parameter aktual (bila ada)
• Fungsi dapat dikonversikan sebagai prosedur, demikian juga
prosedur yang mempunyai satu buah parameter keluaran dapat
ditulis sebagai fungsi.
FUNGSI
• Fungsi adalah modul program yang
memberikan/mengembalikan (return)
sebuah nilai dan tipe tertentu (tipe dasar
atau tipe bentukan)
Pendefinisian Fungsi
• Sebagaimana halnya dengan prosedur, fungsi diakses
dengan memanggil namanya. Selain itu, fungsi juga
dapat mengandung daftar parameter formal
• Parameter pada fungsi selalu merupakan parameter
masukan. Jenis parameter masukan pada fungsi
disebabkan oleh kenyataan bahwa parameter pada
fungsi merupakan masukan yang digunakan oleh fungsi
tersebut untuk menghasilkan nilai
• Struktur fungsi sama dengan struktur algoritma yang
sudah dikenal sebelumnya:
– ada bagian header yang berisi nama fungsi dan spesifikasi
fungsi
– bagian Deklarasi
– badan fungsi
Notasi algoritma untuk mendefinisikan
fungsi
function NamaFungsi(input daftar parameter formal)→ →→ →tipe hasil
{ Spesifikasi fungsi, menjelaskan apa yang dilakukan dan yang
dikembalikan oleh fungsi. }
DEKLARASI
{ semua nama yang dipakai dalam algoritma fungsi
dideklarasikan di sini. Nama yang didefinisikan di dalam
Deklarasi lokal hanya dikenal dan dipakai di dalam fungsi
ini saja }
DESKRIPSI:
{ badan fungsi, berisi kumpulan instruksi untuk menghasilkan
nilai yang akan dikembalikan oleh fungsi }
return hasil { pengembalian nilai yang dihasilkan fungsi }
Perihal fungsi
• Tipe hasil menspesifikasikan tipe nilai yang diberikan
oleh fungsi. Nilai yang diberikan oleh fungsi dapat
bertipe dasar maupun bertipe bentukan. Sebagaimana
halnya pada prosedur, parameter fungsi pada fungsi
tidak selalu harus ada
• Semua nama peubah/konstanta yang hanya berlaku di
dalam fungsi saja dideklarasikan di dalam bagian
Deklarasi (lokal). Nama yang didefinisikan di dalam
bagian Deklarasi fungsi hanya dikenal dan berlaku di
dalam fungsi yang bersangkutan saja, fungsi lain atau
program utama tidak dapat menggunakannya
Pemanggilan Fungsi
• Fungsi diakses dengan cara memanggil
namanya dari program pemanggil, diikuti
dengan daftar parameter aktual (bila ada)
• Karena fungsi menghasilkan nilai, maka nilai
tersebut dapat ditampung dalam sebuah peubah
yang bertipe sama dengan tipe fungsi atau nilai
yang dikembalikan oleh fungsi dapat langsung
dimanipulasi. Parameter aktual dapat berupa
konstanta, nama konstanta, atau nama peubah
Contoh 1: Fungsi untuk menghasilkan
nilai F(x)= x2+2x–3, x R
• F adalah nama fungsi, tipenya real
• x adalah parameter (by value) formal
• Di dalam badan fungsi, nilai yang dihasilkan oleh fungsi
dikembalikan (return) ke titik pemanggilan:
return x*x + 2*x – 3
function F(input x:real) → real
{ Mengembalikan nilai F(x) = x2 + 2x – 3, x Є R }
DEKLARASI
{ tidak ada }
DESKRIPSI:return x*x + 2*x – 3
Contoh 2: Pemanggilan Fungsi F(x)=
x2+2x–3, x R
• Fungsi dapat dipanggil dari program utama atau dari modul program lain. Di
dalam DEKLARASI program pemanggil harus dideklarasikan prototip atau
header fungsi yang digunakan. Pendeklarasian prototip fungsi di dalam
DEKLARASI diperlukan agar fungsi tersebut dikenal oleh program
pemanggil serta cara fungsi dipanggil
• Fungsi dari Contoh 1 dapat dipanggil untuk menampilkan tabel nilai-nilai x
dan F(x) di dalam selang [10,15] dengan Δx = 0.5 seperti contoh berikut:
Algoritma
CONTOH_PEMANGGILAN_FUNGSI
{ Program utama untuk
pemanggilan
fungsi F }
DEKLARASI
x : real
function F(input x:real) → real
{ Mengembalikan nilai F(x) = x2
+
2x – 3, x Є R }
return x*x + 2*x - 3
DESKRIPSI:
write(‘-------------------‘)
write(‘ x F(x) ‘)
write(‘-------------------‘)
x ← 10.0
while x ≤ 15.0 do
write(x,‘ ‘,F(x))
x ← x + 0.5
endwhile
write(‘-------------------‘)
Penggunaan Prosedur atau Fungsi?
• Fungsi lebih tepat digunakan apabila modul program
mengembalikan sebuah nilai, sementara prosedur
digunakan bila modul menghasilkan efek netto dari (satu
atau) sekumpulan aksi. Namun dalam praktek, seringkali
perbedaan antara keduanya tidak jelas, karena sebuah
prosedur dapat juga ditulis sebagai fungsi, demikian pula
sebaliknya. Pemilihan apakah sebuah modul
direalisasikan sebagai fungsi atau prosedur bergantung
pada kebutuhan dan seni memprogram
• Fungsi dapat dikonversikan sebagai prosedur dengan
menyatakan nilai yang dikembalikan oleh fungsi tersebut
sebagai parameter keluaran prosedur. Demikian juga,
prosedur yang mempunyai satu buah parameter
keluaran dapat ditulis sebagai fungsi dengan
menyatakan parameter keluaran sebagai nilai yang
dikembalikan oleh fungsi
Mengubah fungsi menjadi prosedur
Contoh:
fungsi Maks
dan program
utama untuk
menentukan
bilangan
terbesar di
antara dua
buah bilangan
Algoritma MENENTUKAN_MAKSIMUM
{ Program utama yang memanggil fungsi
MAKS
untuk menentukan nilai maksimum dari dua
buah
bilangan buat a dan b. }
DEKLARASI (* Program Utama *)
a, b : integer
function Maks(input a,b : integer)→
integer
{ Mengembalikan harga terbesar dari a dan
b }
DEKLARASI (* Fungsi *)
{ tidak ada }
DESKRIPSI : (* Fungsi *)
if a ≥ b then
return a
else
return b
endif
DESKRIPSI : (* Program Utama *)
read(a,b)
write(Maks(a,b))
Di samping
sebagai fungsi,
fungsi Maks
juga dapat
dituliskan
sebagai
prosedur
TentukanMaks
dan program
utama
Algoritma MENENTUKAN_MAKSIMUM
{ Program utama yang memanggil prosedur
TentukanMaks
untuk menentukan nilai maksimum dua buah
bilangan
bulat a dan b }
DEKLARASI (* Program Utama *)
a, b, m : integer
procedure TentukanMaks(input a,b :
integer, output
maks : integer)
{ Menentukan nilai terbesar dari a dan b
}
{ K.awal: a dan b sudah terdefinisi nilai
}
{ K.akhir: maks berisi nilai terbesar
dari a atau b }
DEKLARASI (* Prosedur *)
{ tidak ada }
DESKRIPSI : (* Prosedur *)
if a ≥ b then
maks ← a
else
maks ← b
endif
DESKRIPSI : (* Program Utama *)
read(a,b)
TentukanMaks(a,b,m)
write(m)
Mengubah
prosedur
menjadi fungsi
Contoh:
prosedur
HitungRataRata
dan program
utama untuk
menghitung nilai
rata-rata dari
sejumlah data
bilangan bulat
Algoritma MENGHITUNG_RATA_RATA
{ Program utama untuk menghitung nilai rata-rata N
buah bilangan bulat yang dibaca dari piranti masukan}
DEKLARASI (* Program Utama *)
Ndata : integer
rerata : real
procedure HitungRataRata(input N : integer, output
rata : real)
{ Menghitung nilai rata-rata N buah bilangan bulat }
{ K.awal: N berisi banyaknya bilangan bulat, N > 0 }
{ K.awal: rata berisi rata-rata seluruh bilangan }
DEKLARASI (* Prosedur *)
x : integer { data bilangan bulat yang dibaca
dari piranti masukan }
k : integer { pencacah banyak bilangan }
jumlah : integer { jumlah seluruh bilangan }
DESKRIPSI : (* Prosedur *)
jumlah ← 0 { inisialisasi penjumlah }
for k ← 1 to N do
read(x)
jumlah ← jumlah + x
endfor
rata ← jumlah/N { rata-rata seluruh bilangan }
DESKRIPSI : (* Program Utama *)
read(Ndata)
HitungRataRata(Ndata,rerata)
write(rerata)
Prosedur
HitungRataRata
memiliki satu
parameter keluaran,
karena itu ia dapat
diubah menjadi fungsi.
Apabila ditulis sebagai
fungsi, maka
parameter keluaran
rata tidak diperlukan
lagi, karena nilai rata
merupakan nilai yang
dihasilkan (return
value) oleh fungsi
Algoritma MENGHITUNG_RATA_RATA
{ Program utama untuk menghitung nilai rata-rata
N buah
bilangan bulat yang dibaca dari piranti masukan
}
DEKLARASI (* Program Utama *)
Ndata : integer
rerata : real
function RataRata(input N : integer) → real
{ Menghitung nilai rata-rata N buah bilangan
bulat yang
dibaca dari piranti masukan. Rata-rata bilangan
merupakan nilai yang dikembalikan oleh fungsi }
DEKLARASI (* Fungsi *)
x : integer {data bilangan bulat}
k : integer {pencacah banyak bilangan}
jumlah : integer {jumlah seluruh bilangan}
DESKRIPSI : (* Fungsi *)
jumlah ← 0 { inisialisasi penjumlah }
for k ← 1 to N do
read(x)
jumlah ← jumlah + x
endfor
return jumlah/N {rata-rata seluruh bilangan}
DESKRIPSI : (* Program Utama *)
read(Ndata)
write(RataRata(Ndata))
Summary
• Fungsi adalah modul program yang memberikan/mengembalikan
(return) sebuah nilai dan tipe tertentu (tipe dasar atau tipe bentukan)
• Struktur fungsi terdiri dari bagian header, bagian Deklarasi dan
badan fungsi
• Semua nama peubah/konstanta yang hanya berlaku di dalam fungsi
saja dideklarasikan di dalam bagian Deklarasi (lokal). Nama yang
didefinisikan di dalam bagian Deklarasi fungsi hanya dikenal dan
berlaku di dalam fungsi yang bersangkutan saja, fungsi lain atau
program utama tidak dapat menggunakannya
• Fungsi diakses dengan cara memanggil namanya dari program
pemanggil, diikuti dengan daftar parameter aktual (bila ada)
• Fungsi dapat dikonversikan sebagai prosedur, demikian juga
prosedur yang mempunyai satu buah parameter keluaran dapat
ditulis sebagai fungsi.
VARIABEL GLOBAL DAN LOCAL
Variabel Global dan Variabel Lokal Dalam Algoritma
Variabel Global dan Variabel Lokal
Variabel Global adalah variabel yang dikenal di seluruh badan program dan di definisikan di dalam program utama.
Variabel Lokal adalah variabel yang hanya dikenal di badan program yang mendefinisikannya, di definisikan di prosedure atau fungsi.
Contoh :
Program <Nama Program>
Var A : Tipe variabel {Variabel Global}
Procedure / Fungsi
Var C : Tipe Variabel {Variabel Lokal}
Dari contoh diatas A adalah variabel global karena A didefinisikan di program utama sehingga bisa dikenal oleh seluruh badan program. Sedahg variabel C adalah variabel lokal dan hanya dikenal di tempat didefinisikannya.
http://www.likmi.ac.id/
The "Baudot" Code
Binary | Decimal | Hex | Octal | Letter | U.S. Figures | CCITT No.2 Figures |
00000 | 0 | 0 | 0 | N/A | N/A | N/A |
00001 | 1 | 1 | 1 | E | 3 | 3 |
00010 | 2 | 2 | 2 | LF | LF | LF |
00011 | 3 | 3 | 3 | A | - | - |
00100 | 4 | 4 | 4 | Space | Space | Space |
00101 | 5 | 5 | 5 | S | BELL | ' |
00110 | 6 | 6 | 6 | I | 8 | 8 |
00111 | 7 | 7 | 7 | U | 7 | 7 |
01000 | 8 | 8 | 10 | CR | CR | CR |
01001 | 9 | 9 | 11 | D | $ | WRU |
01010 | 10 | A | 12 | R | 4 | 4 |
01011 | 11 | B | 13 | J | ' | Bell |
01100 | 12 | C | 14 | N | , | , |
01101 | 13 | D | 15 | F | ! | ! |
01110 | 14 | E | 16 | C | : | : |
01111 | 15 | F | 17 | K | ( | ( |
10000 | 16 | 10 | 20 | T | 5 | 5 |
10001 | 17 | 11 | 21 | Z | " | + |
10010 | 18 | 12 | 22 | L | ) | ) |
10011 | 19 | 13 | 23 | W | 2 | 2 |
10100 | 20 | 14 | 24 | H | # | £ |
10101 | 21 | 15 | 25 | Y | 6 | 6 |
10110 | 22 | 16 | 26 | P | 0 | 0 |
10111 | 23 | 17 | 27 | Q | 1 | 1 |
11000 | 24 | 18 | 30 | O | 9 | 9 |
11001 | 25 | 19 | 31 | B | ? | ? |
11010 | 26 | 1A | 32 | G | & | & |
11011 | 27 | 1B | 33 | Figures Shift | Figures Shift | Figures Shift |
11100 | 28 | 1C | 34 | M | . | . |
11101 | 29 | 1D | 35 | X | / | / |
11110 | 30 | 1E | 36 | V | ; | = |
11111 | 31 | 1F | 37 | Letters Shift | Letters Shift | Letters Shift |
http://www.dataip.co.uk/Reference/BaudotTable.php
EBCDIC (Inggris: Extended Binary Coded Decimal Interchange Code) adalah kode 8 - bit untuk huruf yang dipakai pada sistem operasi komputer merk IBM, seperti z/OS, OS/390, VM, VSE, OS/400, dan i5/OS. Kode EBCDIC ini juga dipakai untuk beberapa jenis komputer lain seperti Fujitsu-Siemens BS2000/OSD, HP MPE/iX, dan Unisys MCP. Kode ini merupakan pengembangan dari kode 6-bit yang dipakai untuk kartu berlubang (punched card) pada komputer IBM antara akhir tahun 1950an dan awal tahun 1960an.
Variasi dari kode EBCDIC ini disebut CCSID 500 yang ditampilkan pada tabel di bawah ini dalam format bilangan komputer hexadesimal. Kode 00 sampai 3F dipakai untuk huruf kendali, kode 40 untuk spasi, dll.
Variasi dari kode EBCDIC ini disebut CCSID 500 yang ditampilkan pada tabel di bawah ini dalam format bilangan komputer hexadesimal. Kode 00 sampai 3F dipakai untuk huruf kendali, kode 40 untuk spasi, dll.
-0 | -1 | -2 | -3 | -4 | -5 | -6 | -7 | -8 | -9 | -A | -B | -C | -D | -E | -F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0- | NUL 00 | SOH 01 | STX 02 | ETX 03 | SEL | HT 09 | RNL | DEL 7F | GE | SPS | RPT | VT 0B | FF 0C | CR 0D | SO 0E | SI 0F |
1- | DLE 10 | DC1 11 | DC2 12 | DC3 13 | RES ENP | NL | BS 08 | POC | CAN 18 | EM 19 | UBS | CU1 | IFS 1C | IGS 1D | IRS 1E | IUS ITB 1F |
2- | DS | SOS | FS | WUS | BYP INP | LF 0A | ETB 17 | ESC 1B | SA | SFE | SM SW | CSP | MFA | ENQ 05 | ACK 06 | BEL 07 |
3- | SYN 16 | IR | PP | TRN | NBS | EOT 04 | SBS | IT | RFF | CU3 | DC4 14 | NAK 15 | SUB 1A | |||
4- | SP 20 | RSP A0 | â E2 | ä E4 | à E0 | á E1 | ã E3 | å E5 | ç E7 | ñ F1 | [ 5B | . 2E | < 3C | ( 28 | + 2B | ! 21 |
5- | & 26 | é E9 | ê EA | ë EB | è E8 | í E0 | î EE | ï EF | ì ED | ß DF | ] 5D | $ 24 | * 2A | ) 29 | ; 3B | ^ 5E |
6- | - 2D | / 2F | Â C2 | Ä C4 | À C0 | Á C1 | Ã C3 | Å C5 | Ç C7 | Ñ D1 | ¦ A6 | , 2C | % 25 | _ 5F | > 3E | ? 3F |
7- | ø F8 | É C9 | Ê CA | Ë CB | È C8 | Í CD | Î CE | Ï CF | Ì CC | ` 60 | : 3A | # 23 | @ 40 | ' 27 | = 3D | " 22 |
8- | Ø D8 | a 61w | b 62 | c 63 | d 64 | e 65 | f 66 | g 67 | h 68 | i 69 | « AB | » BB | ð F0 | ý FD | þ FE | ± B1 |
9- | ° B0 | j 6A | k 6B | l 6C | m 6D | n 6E | o 6F | p 70 | q 71 | r 72 | ª AA | º BA | æ E6 | ¸ B8 | Æ C6 | ¤ A4 |
A- | µ B5 | ~ 7E | s 73 | t 74 | u 75 | v 76 | w 77 | x 78 | y 79 | z 7A | ¡ A1 | ¿ BF | Ð D0 | Ý DD | Þ DE | ® AE |
B- | ¢ A2 | £ A3 | ¥ A5 | · B7 | © A9 | § A7 | ¶ B6 | ¼ BC | ½ BD | ¾ BE | ¬ AC | | 7C | ¯ AF | ¨ A8 | ´ B4 | × D7 |
C- | { 7B | A 41 | B 42 | C 43 | D 44 | E 45 | F 46 | G 47 | H 48 | I 49 | SHY AD | ô F4 | ö F6 | ò F2 | ó F3 | õ F5 |
D- | } 7D | J 4A | K 4B | L 4C | M 4D | N 4E | O 4F | P 50 | Q 51 | R 52 | ¹ B9 | û FB | ü FC | ù F9 | ú FA | ÿ FF |
E- | \ 5C | ÷ F7 | S 53 | T 54 | U 55 | V 56 | W 57 | X 58 | Y 59 | Z 5A | ² 82 | Ô D4 | Ö D6 | Ò D2 | Ó D3 | Õ D5 |
F- | 0 30 | 1 31 | 2 32 | 3 33 | 4 34 | 5 35 | 6 36 | 7 37 | 8 38 | 9 39 | ³ 83 | Û D8 | Ü DC | Ù D9 | Ú DA | EO |
http://id.wikipedia.org/wiki/EBCDIC
KODE BCDIC
SBCDIC merupakan kode biner perkembangan dari BCD. BCD dianggap
tanggung, karena masih ada 6 kombinasi yang tidak dipergunakan. SBCDIC
menggunakan kombinasi 6 bit sehingga lebih banyak kombinasi yang bisa
dihasilkan sebanyak 64 kombinasi, yaitu 10 kode untuk digit angka, 26 kode
untuk huruf, dan sisanya karakter-karakter khusus yang dipilih.
imoetzdewirocketmailcom.blogspot.com
KODE ASCII
ASCII
Dari Wikipedia bAhasa Indonesia, ensiklopedia bebaS
(http://id.wikipedia.org/wiki/ASCII)
Tabel Karakter ASCII
Tabel berikut berisi karakter-karakter ASCII . Dalam sistem operasi Windows dan MS-DOS, pengguna dapat menggunakan karakter ASCII dengan menekan tombol Alt+[nomor nilai ANSI (desimal)]. Sebagai contoh, tekan kombinasi tombol Alt+87 untuk karakter huruf latin "W" kapital.Karakter | Nilai Unicode (heksadesimal) | Nilai ANSI ASCII (desimal) | Keterangan |
---|---|---|---|
NUL | 0000 | 0 | Null (tidak tampak) |
SOH | 0001 | 1 | Start of heading (tidak tampak) |
STX | 0002 | 2 | Start of text (tidak tampak) |
ETX | 0003 | 3 | End of text (tidak tampak) |
EOT | 0004 | 4 | End of transmission (tidak tampak) |
ENQ | 0005 | 5 | Enquiry (tidak tampak) |
ACK | 0006 | 6 | Acknowledge (tidak tampak) |
BEL | 0007 | 7 | Bell (tidak tampak) |
BS | 0008 | 8 | Menghapus satu karakter di belakang kursor (Backspace) |
HT | 0009 | 9 | Horizontal tabulation |
LF | 000A | 10 | Pergantian baris (Line feed) |
VT | 000B | 11 | Tabulasi vertikal |
FF | 000C | 12 | Pergantian baris (Form feed) |
CR | 000D | 13 | Pergantian baris (carriage return) |
SO | 000E | 14 | Shift out (tidak tampak) |
SI | 000F | 15 | Shift in (tidak tampak) |
DLE | 0010 | 16 | Data link escape (tidak tampak) |
DC1 | 0011 | 17 | Device control 1 (tidak tampak) |
DC2 | 0012 | 18 | Device control 2 (tidak tampak) |
DC3 | 0013 | 19 | Device control 3 (tidak tampak) |
DC4 | 0014 | 20 | Device control 4 (tidak tampak) |
NAK | 0015 | 21 | Negative acknowledge (tidak tampak) |
SYN | 0016 | 22 | Synchronous idle (tidak tampak) |
ETB | 0017 | 23 | End of transmission block (tidak tampak) |
CAN | 0018 | 24 | Cancel (tidak tampak) |
EM | 0019 | 25 | End of medium (tidak tampak) |
SUB | 001A | 26 | Substitute (tidak tampak) |
ESC | 001B | 27 | Escape (tidak tampak) |
FS | 001C | 28 | File separator |
GS | 001D | 29 | Group separator |
RS | 001E | 30 | Record separator |
US | 001F | 31 | Unit separator |
SP | 0020 | 32 | Spasi |
! | 0021 | 33 | Tanda seru (exclamation) |
" | 0022 | 34 | Tanda kutip dua |
# | 0023 | 35 | Tanda pagar (kres) |
$ | 0024 | 36 | Tanda mata uang dolar |
% | 0025 | 37 | Tanda persen |
& | 0026 | 38 | Karakter ampersand (&) |
‘ | 0027 | 39 | Karakter Apostrof |
( | 0028 | 40 | Tanda kurung buka |
) | 0029 | 41 | Tanda kurung tutup |
* | 002A | 42 | Karakter asterisk (bintang) |
+ | 002B | 43 | Tanda tambah (plus) |
, | 002C | 44 | Karakter koma |
- | 002D | 45 | Karakter hyphen (strip) |
. | 002E | 46 | Tanda titik |
/ | 002F | 47 | Garis miring (slash) |
0 | 0030 | 48 | Angka nol |
1 | 0031 | 49 | Angka satu |
2 | 0032 | 50 | Angka dua |
3 | 0033 | 51 | Angka tiga |
4 | 0034 | 52 | Angka empat |
5 | 0035 | 53 | Angka lima |
6 | 0036 | 54 | Angka enam |
7 | 0037 | 55 | Angka tujuh |
8 | 0038 | 56 | Angka delapan |
9 | 0039 | 57 | Angka sembilan |
: | 003A | 58 | Tanda titik dua |
; | 003B | 59 | Tanda titik koma |
< | 003C | 60 | Tanda lebih kecil |
= | 003D | 61 | Tanda sama dengan |
> | 003E | 62 | Tanda lebih besar |
? | 003F | 63 | Tanda tanya |
@ | 0040 | 64 | A keong (@) |
A | 0041 | 65 | Huruf latin A kapital |
B | 0042 | 66 | Huruf latin B kapital |
C | 0043 | 67 | Huruf latin C kapital |
D | 0044 | 68 | Huruf latin D kapital |
E | 0045 | 69 | Huruf latin E kapital |
F | 0046 | 70 | Huruf latin F kapital |
G | 0047 | 71 | Huruf latin G kapital |
H | 0048 | 72 | Huruf latin H kapital |
I | 0049 | 73 | Huruf latin I kapital |
J | 004A | 74 | Huruf latin J kapital |
K | 004B | 75 | Huruf latin K kapital |
L | 004C | 76 | Huruf latin L kapital |
M | 004D | 77 | Huruf latin M kapital |
N | 004E | 78 | Huruf latin N kapital |
O | 004F | 79 | Huruf latin O kapital |
P | 0050 | 80 | Huruf latin P kapital |
Q | 0051 | 81 | Huruf latin Q kapital |
R | 0052 | 82 | Huruf latin R kapital |
S | 0053 | 83 | Huruf latin S kapital |
T | 0054 | 84 | Huruf latin T kapital |
U | 0055 | 85 | Huruf latin U kapital |
V | 0056 | 86 | Huruf latin V kapital |
W | 0057 | 87 | Huruf latin W kapital |
X | 0058 | 88 | Huruf latin X kapital |
Y | 0059 | 89 | Huruf latin Y kapital |
Z | 005A | 90 | Huruf latin Z kapital |
[ | 005B | 91 | Kurung siku kiri |
\ | 005C | 92 | Garis miring terbalik (backslash) |
] | 005D | 93 | Kurung sikur kanan |
^ | 005E | 94 | Tanda pangkat |
_ | 005F | 95 | Garis bawah (underscore) |
` | 0060 | 96 | Tanda petik satu |
a | 0061 | 97 | Huruf latin a kecil |
b | 0062 | 98 | Huruf latin b kecil |
c | 0063 | 99 | Huruf latin c kecil |
d | 0064 | 100 | Huruf latin d kecil |
e | 0065 | 101 | Huruf latin e kecil |
f | 0066 | 102 | Huruf latin f kecil f |
g | 0067 | 103 | Huruf latin g kecil |
h | 0068 | 104 | Huruf latin h kecil |
i | 0069 | 105 | Huruf latin i kecil |
j | 006A | 106 | Huruf latin j kecil |
k | 006B | 107 | Huruf latin k kecil |
l | 006C | 108 | Huruf latin l kecil |
m | 006D | 109 | Huruf latin m kecil |
n | 006E | 110 | Huruf latin n kecil |
o | 006F | 111 | Huruf latin o kecil |
p | 0070 | 112 | Huruf latin p kecil |
q | 0071 | 113 | Huruf latin q kecil |
r | 0072 | 114 | Huruf latin r kecil |
s | 0073 | 115 | Huruf latin s kecil |
t | 0074 | 116 | Huruf latin t kecil |
u | 0075 | 117 | Huruf latin u kecil |
v | 0076 | 118 | Huruf latin v kecil |
w | 0077 | 119 | Huruf latin w kecil |
x | 0078 | 120 | Huruf latin x kecil |
y | 0079 | 121 | Huruf latin y kecil |
z | 007A | 122 | Huruf latin z kecil |
{ | 007B | 123 | Kurung kurawal buka |
¦ | 007C | 124 | Garis vertikal (pipa) |
} | 007D | 125 | Kurung kurawal tutup |
~ | 007E | 126 | Karakter gelombang (tilde) |
DEL | 007F | 127 | Delete |
0080 | 128 | Dicadangkan | |
0081 | 129 | Dicadangkan | |
0082 | 130 | Dicadangkan | |
0083 | 131 | Dicadangkan | |
IND | 0084 | 132 | Index |
NEL | 0085 | 133 | Next line |
SSA | 0086 | 134 | Start of selected area |
ESA | 0087 | 135 | End of selected area |
0088 | 136 | Character tabulation set | |
0089 | 137 | Character tabulation with justification | |
008A | 138 | Line tabulation set | |
PLD | 008B | 139 | Partial line down |
PLU | 008C | 140 | Partial line up |
008D | 141 | Reverse line feed | |
SS2 | 008E | 142 | Single shift two |
SS3 | 008F | 143 | Single shift three |
DCS | 0090 | 144 | Device control string |
PU1 | 0091 | 145 | Private use one |
PU2 | 0092 | 146 | Private use two |
STS | 0093 | 147 | Set transmit state |
CCH | 0094 | 148 | Cancel character |
MW | 0095 | 149 | Message waiting |
0096 | 150 | Start of guarded area | |
0097 | 151 | End of guarded area | |
0098 | 152 | Start of string | |
0099 | 153 | Dicadangkan | |
009A | 154 | Single character introducer | |
CSI | 009B | 155 | Control sequence introducer |
ST | 009C | 156 | String terminator |
OSC | 009D | 157 | Operating system command |
PM | 009E | 158 | Privacy message |
APC | 009F | 158 | Application program command |
00A0 | 160 | Spasi yang bukan pemisah kata | |
¡ | 00A1 | 161 | Tanda seru terbalik |
¢ | 00A2 | 162 | Tanda sen (Cent) |
£ | 00A3 | 163 | Tanda Poundsterling |
¤ | 00A4 | 164 | Tanda mata uang (Currency) |
¥ | 00A5 | 165 | Tanda Yen |
¦ | 00A6 | 166 | Garis tegak putus-putus (broken bar) |
§ | 00A7 | 167 | Section sign |
¨ | 00A8 | 168 | Diaeresis |
© | 00A9 | 169 | Tanda hak cipta (Copyright) |
ª | 00AA | 170 | Feminine ordinal indicator |
« | 00AB | 171 | Left-pointing double angle quotation mark |
¬ | 00AC | 172 | Not sign |
| 00AD | 173 | Tanda strip (hyphen) |
® | 00AE | 174 | Tanda merk terdaftar |
¯ | 00AF | 175 | Macron |
° | 00B0 | 176 | Tanda derajat |
± | 00B1 | 177 | Tanda kurang lebih (plus-minus) |
² | 00B2 | 178 | Tanda kuadrat (pangkat dua) |
³ | 00B3 | 179 | Tanda kubik (pangkat tiga) |
´ | 00B4 | 180 | Acute accent |
µ | 00B5 | 181 | Micro sign |
¶ | 00B6 | 182 | Pilcrow sign |
· | 00B7 | 183 | Middle dot |
Langganan:
Postingan (Atom)