Buscar

RSS

Tips bagi penderita Asma

Kira-kira sepuluh juta penduduk Amerika menderita kesulitan perbafasan, dada nyeri, nafas tersengal-sengal yang merupakan gejala khas asma, para doketer menyebutnya penyakit episodic. Serangan akut yang mengubah periode-periode bebas, gejala asma adalah masalah fisik, bukan emosional (meski stres, kecemasan atau frustasi bisa menyebabkan asma bertambah parah) dan gangguan bisa mengganggu kehidupan si penderita juga orang lain di sekitarnya).

Apa bedanya asma dengan genggguan pernafasan? Sederhana, otot-otot dalam saluran udara kecil paru-paru mengembang ke arah spasme dan memperkecil saluran udara yang menyebabkan nafas tersengal-sengal dan kesulitan pernafasan lainnya. Berbagai macam pemicu yang bisa membangkitkan serangan asma, adalah :
Menghirup alergen seperti asap rokok, asap pabrik atau partikel-pertikel debu
Mengkonsumsi makanan atau obat-obatan tertentu
Mengalami tekanan yang serius
Berolah raga terlalu keras
Menderita infeksi saluran pernafasan atau bronchitis.

Serangan asma bermacam-macam dari yang ringan sampai yang serius, dengan begitu pengobatannyapun harus menyesuaikan dengan tingkat serangan asma. Pada umumnya, asma sangat sulit diatasi jika hanya mengandalkan obat-obat yang dibeli tanpa resep dokter. Diperlukan seorang dokter yang memantau kondisi anda, dan jika perlu, ia akan memberi resep yang tepat.

Namun para penderita asma (asmatik) bisa melakukan banyak hal untuk memperbaiki kondisi fisiknya. Beberapa saran yang bisa dicoba adalah :
Selalu minum air putih sebanyak-banyaknya untuk menjaga agar sekresi tidak menggumpal (2 sampai 3 liter perhari)
Mencari penyebab asma dan menghindari atau menghilangkan alergen atau iritan baik di rumah atau di kantor.
Mengambil langkah-langkah khusus untuk menjaga agar tempat tidur bebas dari alergen.
Tidur dengan menggunakan bantal sintetis, tidak melulu bulu saja.
Tidak merokok dan hindari diri dari polusi udara
Mamakai cadar di mulut dan hidung ketika berjalan atau berolah raga di udara dingin untuk memanaskan udara sebelum udara mencapai saluran udara di dalam tubuh yang sensitif.
Tidak melanjutkan olah raga ketika anda sadar sering bersin-bersin.
Menghindari makanan dan obat-obatan yang mengandung sulfit, yang biasa digunakan sebagai pengawet makanan dan sering dijumpai pada kerang dan anggur. (Sulfit bisa memicu serangan asma, angkanya kira-kira 10 persen dari penderita asma).
Duduklah selama serangan asma, tidak berbaring.
Selalu mengusahakan kotak obat asma tetap terbuka untuk meredahkan serangan asma sedini mungkin.
Selalu berhati-hati dalam menggunakan aspirin, beberapa asmatik sangat alergi terhadap aspirin. Alternatifnya gunakan asetaminopen.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Logaritma : Tipe Data

Di setiap bahasa pemrograman telah disediakan berbagai tipe data dan sebagai programer dipersilakan untuk memilihnya. Tentu saja kita akan memilih tipe data yang sesuai dengan karakteristik data yang akan kita olah.

Pada intinya simbol-simbol yang digunakan di komputer terdiri atas huruf, angka, dan tanda baca lainnya. Simbol-simbol tersebut merupakan elemen dari data dan memiliki tipe data. Umumnya tipe data terdiri atas karakter, teks atau string, dan numerik. Namun sesuai dengan kebutuhan pengguna yang terus bertambah, maka tipe data terus berkembang. Banyak bahasa pemrograman menambahkan tipe data dengan boolean (logical), binary, float, date, memo dan sebagainya.


a. Tipe Data Numerik
Besar angka yang bisa diterima komputer sangat tergantung dengan jumlah bit (N) prosesor komputernya. Umumnya batasan angka yang bisa diterima adalah –(2^(N-1)) sampai dengan 2^(N-1)-1. Untuk komputer 32 bit batasannya adalah -2.147.483.648 sampai dengan 2.147.483.647.

Untuk menampung nilai data ke variabel dalam suatu bahasa pemrograman tertentu, maka kita harus memahami fasilitas apa saja (statements dan jenis variabelnya) yang disediakan oleh bahasa pemrograman yang kita gunakan. Juga kita perhatikan fasilitas operasi untuk tipe data numeriknya, misalnya apakah ada MOD, DIV, AVERAGE, MAX, MIN dan sebagainya.

Adapun jenis numerik (bilangan) yang biasa digunakan terdiri atas :

- bilangan kompleks

- bilangan real

- bilangan rasional

- bilangan irasional

- bilangan bulat

- dan sebagainya

Bilangan real adalah bilangan yang menggunakan nilai pecahan. Bilangan bulat adalah bilangan tanpa pecahan (integer), baik positif maupun negatif. Di luar bilangan-bilangan itu ada juga yang merupakan bagian dari bilangan-bilangan di atas seperti bilangan prima, bilangan cacah, bilangan ganjil, bilangan genap, dan lain-lain.

Untuk keperluan penempatan berapa banyak jumlah digit yang bisa digunakan oleh bilangan-bilangan di dalam variabel dapat menggunakan variabel berpresisi tunggal maupun berpresisi ganda. Misalnya di suatu bahasa pemrograman, untuk bilangan integer single precision (presisi tunggal) disediakan panjang 8 digit, dan untuk double precision (presisi ganda) disediakan panjang 16 digit. Untuk bilangan real sigle precision disediakan 16 digit, dan untuk real double disediakan 32 digit.

Operasi terhadap tipe data numerik sama halnya melakukan perhitungan matematis. Ada penjumlahan, pengurangan, perkalian, perpangkatan, dan sebagainya. Berikut macam-macam operasi (operator) yang ada sesuai urutan pengerjaannya :

^ : perpangkatan

* : perkalian

/ : pembagian

+ : penjumlahan

- : pengurangan

Urutan pengerjaan akan berubah jika terdapat tanda kurung. Tanda kurung menjadi prioritas utama yang dikerjakan.

Contoh :

2 ^ 3 * 4 – 6 / 2 + 5 = ((2 ^ 3 )* 4) – (6 / 2) + 5

= (8 * 4) – (3) + 5

= 32 – 3 + 5

= 34


2 ^ 3 * (4 – 6) / 2 + 5 = (2 ^ 3 )* ((4 – 6) / 2) + 5

= 8 * (-2) / 2 + 5

= -16 / 2 + 5

= -8 + 5

= -3

Ada pula operasi tambahan yang biasanya disediakan bahasa pemrograman, seperti :



Kondisi (disebut juga dengan operator relasional) yang biasa mengikutinya adalah :

= sama dengan

> lebih besar dari

< lebih kecil dari <> tidak sama dengan

>= lebih besar atau sama dengan

<= lebih kecil atau sama dengan b. Tipe Data Logika

Operator logikal (boolean) biasa digunakan untuk melakukan pengecekan suatu kondisi suatu program. Kondisi yang dicek bisa berhubungan dengan variabel numerik maupun variabel string. Nilai data dari variabel boolean adalah kondisi benar atau salah (true or false). Operator logika dasar terdiri atas AND, OR dan NOT.

1. AND
AND adalah operasi yang melakukan pengecekan atas 2 kondisi atau variabel yang ada. Jika kedua kondisi bernilai true, maka hasil operasi AND adalah true, selain itu false. Berikut tabelnya :




2. OR
OR adalah operasi yang melakukan pengecekan atas 2 kondisi atau variabel yang ada. Jika salah satu kondisi bernilai true, maka hasil operasi OR adalah true, selain itu false. Berikut tabelnya :




3. NOT
NOT adalah operasi yang melakukan pengecekan atas 1 kondisi atau variabel yang ada. Jika kondisi bernilai true, maka hasil operasi NOT adalah false, dan sebaliknya. Berikut tabelnya :




Tipe data logikal adalah variabel atau record yang bernilai logikal (true atau false).


Operasi AND, OR dan NOT dapat digabung-gabungkan untuk mendapatkan suatu kondisi yang diinginkan. Berikut contoh dalam salah satu bahasa pemrograman :


c. Tipe Data String

String merupakan salah satu tipe data di komputer, dan merupakan kumpulan dari karakter. Nilai data string tentunya harus ditampung di variabel atau field yang berjenis string pula.

String umumnya digunakan untuk menyimpan data yang tidak perlu diproses secara matematis, namun banyak pula orang yang lebih suka menyimpan data numerik ke dalam tipe data string. Umumnya bahasa pemrograman menyediakan fasilitas untuk mengubah nilai data numerik yang disimpan dalam tipe data string menjadi tipe data numerik. Sehingga nilai data tersebut dapat diproses secara matematis kembali.

Nomor Pokok Mahasiswa (NRP) adalah sebuah contoh yang nilai datanya merupakan kode-kode yang dapat dijabarkan. Misalnya NRP = ‘5198100084’. Nilai tersebut dapat dijabarkan menjadi : karakter pertama menunjukkan fakultas, karakter kedua menunjukkan jurusan, karakter ketiga dan keempat menunjukkan tahun masuk dan sebagainya. Penjabaran kode seperti di atas lebih sulit dilakukan jika menggunakan tipe data numerik.

Bagian dari string disebut dengan substring, seperti pada contoh NRP di atas, tahun masuk (karakter ketiga dan keempat) merupakan substring dari NRP. Macam-macam operasi string adalah: pemenggalan, penggabungan, pencarian posisi, perhitungan banyak karakter, dan kombinasi dari semua operasi.

Sumber: http://riyanwae.wordpress.com/2008/10/24/tipe-data-dan-struktur-data/

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Tipe data boolean pada turbo pascal

Tipe data boolean mempunyai dua buah nilai, yaitu True dan False. Kita dapat mendeklarasikan suatu variabel dan mengisi variabel tersebut dengan nilai data boolean True atau False.

Contoh programnya adalah sebagai berikut:

var
a:boolean;
begin
a:=true;
writeln(a);
writeln(not a);
readln
end.

Jika program ini dijalankan maka hasilnya adalah sebagai berkut:
TRUE
FALSE

Contoh lain dari program yang menggunakan tipe data boolean ini adalah sebagai berikut:
var
a:boolean; b:string; c:integer;
begin
write('ketik "showten" untuk menampilkan 10 bilangan bulat positif pertama! ');
readln(b);
if b='showten' then a:=true;
if a=true then
begin
for c:=1 to 10 do
writeln(c);
end;
readln
end.

Jika program ini dijalankan maka hasilnya adalah sebagai berkut:
ketik "showten" untuk menampilkan 10 bilangan bulat positif pertama! showten
1
2
3
4
5
6
7
8
9
10

Tetapi jika yang kita ketikkan bukan showten, maka tidak akan mencul 10 bilangan bulat pertama tersebut.

Kemudian jika suatu variabel boolean tidak didefinisikan apakah nilai dari variabel boolean tersebut True atau False, maka program akan menganggap atau mendefinisikan bahwa nilai dari variabel boolean tersebut adalah False, contoh:
var
a:boolean; b:integer;
begin
if a then b:=7 else b:=4;
writeln(b);
readln
end.

Jika program ini dijalankan maka hasilnya adalah sebagai berkut:
4

Karena program menganggap atau mendefinisikan bahwa nilai variabel a adalah False, sehingga ketika program dijalankan yang muncul adalah 4. Tetapi jika program tersebut ditambah dengan pendefinisian a sebagai True, sehingga sintaksnya menjadi sebagai berikut,
var
a:boolean; b:integer;
begin
a:=true;
if a then b:=7 else b:=4;
writeln(b);
readln
end.

Maka hasil program jika dijalankan adalah:
7

Sumber : http://sahabat-informasi.blogspot.com/2011/09/tipedata-boolean-diturbopascal.html

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Antara Byte dan bit

Manusia menggunakan komputer untuk membuat, memanipulasi ataupun menyimpan berbagai macam informasi seperti angka, huruf, kalimat, gambar, suara dan juga video. Informasi ini disimpan dalam komputer dalam sebuah format digital (lebih sering kita sebut dengan ‘data digital’).

Data yang tersimpan dalam komputer tersebut sebenarnya merupakan kumpulan dari angka 0 dan 1. Kumpulan angka 1 dan 0 inilah yang sering diterjemahkan sebagai ‘bit’ dari data biner.

Jika didalam kehidupan sehari-hari kita dapat menentukan kecepatan sebuah kendaraan entah itu motor ataupun mobil, begitu pula dengan ketika terjadinya transfer data dalam jaringan komputer.

Beberapa satuan standar transfer data yang sering dipergunakan dalam jaringan komputer adalah :

Bit:
Bit adalah ukuran terkecil data dalam sebuah komputer. Bit biasanya hanyalah merupakan pilihan antara 0 dan 1. Dimana 0 biasanya berarti ‘Off’ dan 1 berarti ‘On’. Pada akhirnya komputer akan mengkombinasikan kedua pilihan tersebut menjadi format digital yang lebih kompleks untuk merepresentasikan data.
istilah Bit mulai diperkenalkan oleh seorang statistik terkenal John Tukey pada tahun 1946 (http://www.danbbs.dk/~erikoest/bb_terms.htm).

bps:
bit per second. Jumlah bit yang ditransfer dalam satu detik.

kbps:
kilo bits per second. Jumlah kilobits yang ditransfer dalam satu detik.
1 kbps = 1 x 10^3 bit/second = 1000 bit/second.

Byte:
Byte adalah merupakan kumpulan beberapa bit (1 Byte = 8 bit *kenapa bisa 8 bit aku cari referensinya masih belum nemu, kalo ada yang tau please let me know *). Byte biasanya merepresentasikan sebuah karakter (Misalkan seperti A, ?, -, dll). Karakter ini bisa berupa huruf, angka ataupun simbol tertentu.

Bps:
Byte per second. Jumlah byte yang ditransfer dalam satu detik.

KBps:
Kilo Byte per second. Jumlah KiloByte yang ditransfer dalam satu detik.
1 KBps = 1 x 2^10 byte/second = 1,024 byte/second

bit mempergunakan satuan desimal oleh sebab itu :

1 kilobit = 1 x 10^3 bit = 1000 bit

sedangkan byte mempergunakan satuan biner, oleh sebab itu :

1 KiloByte = 1 x 2^10 = 1024 Byte.

Berikut ini satuan Byte lainnya:

1 byte = 8 bits
1 kilobyte (K / KB) = 2^10 bytes = 1,024 bytes
1 megabyte (M / MB) = 2^20 bytes = 1,048,576 bytes
1 gigabyte (G / GB) = 2^30 bytes = 1,073,741,824 bytes
1 terabyte (T / TB) = 2^40 bytes = 1,099,511,627,776 bytes
1 petabyte (P / PB) = 2^50 bytes = 1,125,899,906,842,624 bytes
1 exabyte (E / EB) = 2^60 bytes = 1,152,921,504,606,846,976 bytes

Huruf "K" (huruf k besar) dipergunakan untuk satuan KiloByte, sedangkan
huruf "k" (huruf k kecil) untuk satuan kilobit.

Contoh perhitungan Byte dan Bit.
Misalkan anda memiliki sebuah file yang terdiri dari 100.000 kata dan anda ingin tahu berapa lama kita bisa mendownload file tersebut melalui internet yang memiliki koneksi 33.600 bps.

Asumsikan dalam setiap kata terdiri dari 5 huruf/karakter. Berarti jika ada 100.000 kata, maka anda memiliki 500.000 huruf/karakter
Setiap karakter terdiri dari 1 Byte, berarti anda memiliki 500.000 Byte
Setiap Byte terdiri dari 8 bit, berarti 500.000 Byte yang anda miliki bernilai 500.000 x 8 = 4.000.000 bit
Selanjutnya 4.000.000 bit yang anda miliki dibagi dengan 33.600 = 119 detik
Artinya waktu anda untuk mendownload file yang memiliki 100.000 kata kurang lebih 119 detik (2 menit) dengan kecepatan akses 33.600 bps
Dalam jaringan komputer, biasanya Byte dan bit dipakai utk menggambarkan kecepatan transfer/download data.

Satuan KBps (KiloByte/second) dipakai jika data di sini secara umum memakai Byte untuk satuannya (contohnya seperti protokol-protokol yang ada pada level aplikasi seperti http,ftp,smtp,dsb).

Sedangkan kbps (kilobit/second) dipakai jika data yang ditransfer memakai bit untuk satuannya (contohnya adalah protokol-protokol layer 2 ke bawah seperti ethernet yang mentransfer data dalam frame-frame).

Itu sebabnya kecepatan sebuah modem tertulis = 33.6 kb/s (karena modem termasuk dalam protokol layer 2 kebawah seperti halnya ethernet), sedangkan saat kita mendownload sebuah file, maka browser akan memperlihatkan (misal) 3 KB/s (karena browser terkoneksi dengan protokol http/ftp).

Sumber : http://dgk.or.id/archives/2005/06/18/antara-byte-dan-bit/

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Pascal

Pascal adalah bahasa pemrograman yang pertama kali di buat oleh Profesor Niklaus Wirth, seorang anggota International Federation of Information Processing (IFIP) pada tahun 1971. Dengan mengambil nama dari matematikawan Perancis, Blaise Pascal, yang pertama kali menciptakan mesin penghitung, Profesor Niklaus Wirth membuat bahasa Pascal ini sebagai alat bantu untuk mengajarkan konsep pemrograman komputer kepada mahasiswanya. Selain itu, Profesor Niklaus Wirth membuat Pascal juga untuk melengkapi kekurangan-kekurangan bahasa pemrograman yang ada pada saat itu.

Kelebihan
Kelebihan dari bahasa pemrograman Pascal adalah:
 Tipe Data Standar, tipe-tipe data standar yang telah tersedia pada kebanyakan bahasa pemrograman. Pascal memiliki tipe data standar: boolean, integer, real, char, string,
 User defined Data Types, programmer dapat membuat tipe data lain yang diturunkan dari tipe data standar.
 Strongly-typed, programmer harus menentukan tipe data dari suatu variabel, dan variabel tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain dari format yang ditentukan.
 Terstruktur, memiliki sintaks yang memungkinkan penulisan program dipecah menjadi fungsi-fungsi kecil (procedure dan function) yang dapat dipergunakan berulang-ulang.
 Sederhana dan Ekspresif, memiliki struktur yang sederhana dan sangat mendekati bahasa manusia (bahasa Inggris) sehingga mudah dipelajari dan dipahami.
Bahasa PASCAL juga merupakan bahasa yang digunakan sebagai standar bahasa pemrograman bagi tim nasional Olimpiade Komputer Indonesia (TOKI). Selain itu, Bahasa PASCAL masih digunakan dalam IOI (International Olympiad in Informatics).
Tipe Data
Dalam bahasa Pascal terdapat beberapa jenis tipe data yang bisa digunakan untuk sebuah variabel atau konstanta pada program. Tipe Data tersebut antara lain adalah




Sumber : http://id.wikipedia.org/wiki/Pascal_(bahasa_pemrograman)

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Tipe Data Integer

Tipe integer adalah bilangan-bilangan bulat yang boleh bernilai minus sampai tak terhingga. Tempat simpan di dalam komputer adalah terbatas, jadi perhatikan untuk nilai yang terbesar atau terkecil .
Sedangkan lambang operasi-operasi aritmatika yang ada adalah :
penambahan : +
pengurangan : -
perkalian : *
pembagian : div dan mod
Dalam bahasa program Pascal, tanda bagi juga ditulis dengan kata div dan mod.
Div dan Mod adalah hasil bagi dari dua bilangan Integer, maka hasilnya integer pula. Misalkan pembagian 10 dengan 3 ( 10 div 3 ) hasilnya adalah 3. Sedangkan mod adalah hasil sisa pembagiannya. Misalkan 10 mod 3, maka sisanya adalah 1.
Integer dioperasikan dengan integer akan menghasilkan integer.
Assignment atau tanda = dalam algoritma mempergunakan tanda panah ke kiri ().
Perintah ini adalah perintah penugasan artinya nilai yang ada di sebelah kanan akan dipindahkan nilainya ke sebuah tempat yang ditulis di sebelah kiri.
Contoh dalam algoritma : x 10 + 3.
Artinya ada instruksi penjumlahan nilai 10 dan nilai 3 maka akan menghasilkan nilai 13 dan nilai 13 ini akan disimpan pada sebuah tempat yang bernama x. Nama tempat x ini harus dituliskan pada kamus. Karena nilai 13 bertype integer maka tempat x ini harus sesuai maka kita harus pilih bertype integer. Karena itu penulisan dalam kamus menjadi,
Kamus : x : integer {tempat simpan hasil penjumlahan}
x adalah sebuah tempat di dalam komputer yang disediakan untuk menampung sebuah nilai yang bertype integer yang nilai mulanya tidak diketahui atau sembarang dan setelah ada instruksi mengisi tempat ini maka isi tempat ini menjadi tertentu. Ingat bahwa sebuah instruksi selalu mengubah keadaan mula menjadi keadaan akhir yang selalu tidak sama dengan keadaan mula.
Tanda {} / kurawal adalah sebuah tanda komentar. Sebagai pemrogram boleh menambahkan komentar dimana dirasakan perlu untuk menjelaskan kepada orang yang lain yang mau membaca dan mengerti apa yang dilakukan didalam program tersebut. Komentar ini diperlukan karena biasanya tidak semua orang dapat mengerti apa yang dilakukan dalam sebuah program apa lagi bila ukuran program besar (terdiri dari banyak perintah/instruksi) atau sebuah program yang kompleks/susah.
Untuk mengeluarkan isi x agar dapat dilihat dan dibaca oleh manusia maka perintahnya adalah Output (nama tempat). Maka untuk melihat isi x seperti contoh di atas maka perintahnya adalah Output (x), dan hasil kerja pelaksanaan instruksi oleh prosesor adalah menampilkan ke layar isi x yakni nilai 13.
Catatan ingat perintah yang lalu : Output adalah mengeluarkan yang ada di (‘…’) ke layar.
Contoh soal :
Buatlah algoritma dari soal berikut :
1. Panjang = 10, lebar = 7, hitunglah luas persegi panjang.
2. Panjang = 10, lebar = 7, tinggi = 3, hitunglah volume dan luas balok.
3. Diberikan sebuah bilangan integer, mis : 100 detik. Carilah 100 detik itu terdiri
dari berapa menit dan berapa detik.
4. Diberikan detik : 1000. Hitung nilai ini terdiri dari berapa menit dan detik
5. Diberikan detik : 10.000. Hitung nilai ini terdiri dari berapa jam , menit dan
sisa detiknya
Contoh penyelesaian :
Program PP
{ I.S : layar kosong dan diberikan panjang dan lebar oleh pemakai }
{ F.S : menulis keluar luas persegi panjang }
Kamus :
P : integer {tempat simpan nilai panjang}
L : integer {tempat simpan nilai lebar}
Luas : integer{tempat simpan nilai luas}
Algoritma :
P  7
L  5
Luas  P * L
Output(‘Luas persegi panjang adalah : ‘, Luas)
Terlihat di sini ada sebuah instruksi output tetapi tanda petik yang ada di kata Luas. Artinya perintah ini adalah mengeluarkan nilai yang ada di dalam tempat yang bernama luas.
Dalam bahasa pemrograman Pascal perintah assigment ini menggunakan simbol titik dua dan diikuti dengan tanda sama dengan jadi :=
Sehingga program di atas menjadi :
Program PP;
{ I.S : layar kosong dan diberikan panjang dan lebar oleh pemakai }
{ F.S : menulis keluar luas persegi panjang }
uses crt :
var {Kamus :}
P : integer; {tempat simpan nilai panjang}
L : integer; {tempat simpan nilai lebar}
Luas : integer; {tempat simpan nilai luas}
{Algoritma :}
Begin clrcrn;
P := 7;
L := 5 ;
Luas := P * L ;
writeln (‘Luas persegi panjang adalah : ‘, Luas)
end.
Program LV
{ I.S : layar kosong dan diberikan panjang, lebar, dan tinggi oleh pemakai }
{ F.S : menulis keluar volume dan luas balok }
Kamus
P : integer {tempat simpan nilai panjang}
L : integer {tempat simpan nilai lebar}
T : integer {tempat simpan nilai tinggi}
Luas : integer{tempat simpan nilai luas}
Vol : integer {tempat simpan nilai volume balok}
Algoritma
P  10
L  7
T  3
Vol  P*L*T
Luas  P*L
Output(‘Volume balok adalah : ‘, Vol)
Output(‘Luas balok adalah : ‘, Luas)
Program Konversi_Detik
{ I.S : layar kosong dan pemakai memasukkan banyak detik }
{ F.S : menulis keluar hasil konversi detik ke menit dan detik }
Kamus
Detik : integer {yang sudah tertentu nilainya pada program ini bernilai 100}
Menit : integer {yang mau dihasilkan dari program ini}
Sisa detik : integer {sisa dari hasil perhitungan menit}
Algoritma :
Detik  100
Menit  100 div 60
Sisa detik  100 mod 60
Output(‘Jadi, 100 detik terdiri dari : ‘,menit,’ dan ‘,sisa detik)
Program Konversi_Detik2
{ I.S : layar kosong dan pemakai memasukkan banyak detik }
{ F.S : menulis keluar hasil konversi detik ke menit dan detik }
Kamus :
Detik : integer {yang sudah tertentu nilainya pada program ini bernilai 1000}
Menit : integer {yang mau dihasilkan dari program ini}
Sisa detik : integer {sisa dari hasil perhitungan menit}
Algoritma :
Detik  1000
Menit  1000 div 60
Sisa detik  1000 mod 60
Output(‘Jadi, 1000 detik terdiri dari : ‘,menit,’ dan ‘,sisa detik)
Program Konversi_Detik3
{ I.S : layar kosong dan pemakai memasukkan banyak detik }
{ F.S : menulis keluar hasil konversi detik ke hari, jam, menit dan detik }
Kamus :
Detik : integer {yang sudah tertentu nilainya pada program ini bernilai 1000}
Menit : integer { menit yang mau dihasilkan dari program ini}
Jam : integer { jam yang mau dihasilkan dari program ini}
Sisa menit : integer {sisa dari hasil perhitungan jam}
Sisa detik : integer{sisa dari hasil perhitungan menit}
Algoritma :
Detik  10.000
Jam  10.000 div 3600
Sisa menit  10.000 mod 3600
Menit  Sisa jam div 60
Sisa detik  Sisa jam mod 60
Output(‘Jadi, 1000 detik terdiri dari : ‘,jam,’jam’,menit,’menit’,sisa detik,’detik’)

Sumber : http://unnes.info/education/type-data-integer-di-dalam-pascal

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

ARRAY

Array atau larik adalah tipe struktur yang mempunyai komponen dalam jumlah yang tetap dan setiap komponen mempunyai data yang sama. Posisi masing-masing komponen dalam array dinyatakan sebagai nomor index.Elemen-elemen array dapat diakses oleh program menggunakan suatu indeks tertentu. Pengaksesan elemen array dapat dilakukan berurutan atau random berdasarkan indeks tertentu secara langsung.Pengisian dan pengambilan nilai pada indeks tertentu dapat dilakukan dengan mengeset nilai atau menampilkan nilai pada indeks yang dimaksud. Selama ini kita menggunakan satu variabel untuk menyimpan 1 buah nilai dengan tipe data tertentu.

Misalnya :
int a1, a2, a3, a4, a5;
Deklarasi variabel diatas digunakan untuk menyimpan 5 data integer dimana masingmasing variabel diberi nama a1, a2, a3, a4, dan a5.Jika kita memiliki 10 data, 100 data integer bahkan mungkin data yang ingin kita proses tidak kita ketahui atau bersifat dinamis? Kita tidak mungkin menggunakan variabel seperti diatas

Deklarasi Array 1 Dimensi

tipe_data nama_var_array[ukuran];
Tipe_data : menyatakan jenis tipe data elemen larik (int, char, float, dll).
Nama_var_array : menyatakan nama variabel yang dipakai.
Ukuran : menunjukkan jumlah maksimal elemen larik.

Contoh
//Dengan variabel biasa:
int x1=3,x2=5,x3=2,x4=7,x5=9;
//Dengan larik:
int x[5]={3,5,2,7,9}; digunakan subscript sebagai penunjuk array



Dalam sumber lain, Array adalah suatu tipe data terstruktur yang terdapat pada memori yang terdiri dari sejumlah elemen yang mempunyai tipe data yang sama dan merupakan gabungan dari beberapa variabel sejenis serta memiliki jumlah komponen yang jumlahnya tetap. Elemen-elemen dari array tersusun secara sequential dalam memori Komputer.

1. Array suatu dimensi
Array suatu dimensi tidak lain adalah kumpulan elemen-elemen yang identik, yang tersusun dalam satu baris. Elemen-elemen tersebut memiliki type data yang sama, tetapi isi dari elemen tersebut boleh berbeda-beda.
Pendeklarasian array diawali denga kata baku type dan diikuti dengan nama array dan tanda sama dengan (=), lalu kata baku array beserta range indeks dan diakhiri dengan kata baku of beserta type datanya.

Bentuk umum dari deklarasi tipe array adalah :

type pengenal = array [tipe_index] of tipe;

dengan pengenal : nama tipe data
tipe_index : tipe data untuk nomor index
tipe : tipe data komponen

Parameter tipe_index menentukan banyaknya komponen array tersebut. Berikut contoh dari deklarasi :

type vek = array [1…..100] of integer;

menunjukkan bahwa vek adalah nama-pengenal/variabel yang berupa array yang komponennya bertipe integer dan banyaknya 100 buah.
Deklarasi yang demikian ini disebut deklarasi array dimensi satu, yang disebut vektor.




2. Array Dua Dimensi
Array dua dimensi, yang sering digambarkan pada sebuah matrix adalah merupakan sebuah perluasan dari sebuah array satu dimensi. Jika pada array satu dimensi hanya terdiri dari sebuah baris dengan beberapa kolom elemen maka pada array dua dimensi terdiri dari beberapa baris dan beberapa kolom elemen yang bertype sama. Sebagai contoh :
type tabel = array [1..3, 1..4] of real;
tabel(3,4)
artinya terdapat variabel yang bernama tabel yang di deklarasikan sebagai array dimensi dua dengan jumlah maksimal barisnya = 3 dan kolom = 4; serta tipe komponen datanya adalah real. Ilustrasinya sebagai berikut :



Bentuk deklarasi array dimensi dua ini yang sering disebut sebagai tabel atau matrix.


3. Array Tiga Dimensi

Array tiga dimensi dapat digambarkan sebagai suatu benda ruang. Deklarasi pada array tiga dimensi tidak berbeda pada array satu dimensi dan dua dimensi yang telah dijelaskan sebelumnya, kecuali pada indeks array.
type ruang = array [1..8,1..5,1..3] of integer;

menunjukkan bahwa ruang adalah nama-pengenal/variabel yang berupa array yang komponennya bertipe integer dan terdiri atas 8 baris, mempunyai 5 kolom dan 3 halaman.
Deklarasi diatas disebut sebagai deklarasi array dimensi tiga.




4. Array banyak dimensi
Sebenarnya array banyak dimensi tidak terlalu sering dipakai seperti halnya array satu dimensi, dua dimensi, dan tiga dimensi. Namun hal itu bukan berarti pascal tidak membolehkan anda memakainya. Array banyak dimensi ini pada dasarnya sama dengan array sebelumnya kecuali pada jumlah dimensinya saja.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Keistimewaan Surat Yasin

Surat Yasin 1000 Tahun Telah Dibacakan Sebelum Langit Bumi dan Adam Diciptakan

Saudara akan merasa takjub mengenai urusan surat Yaasin ini, jika benar-benar tahu keistimewaanya. Sebelum Allah wahyukan Al Qur’an dan sebelum Allah bacakan Al Qur’an kepada Nabi Muhammad Saw, lebih dahulu Allah Ta’ala telah bacakan surat Thahaa dan Yaasin jauh sebelum Adam diciptakan, bahkan ada keterangan lain menyebutkan, sebelum langit dan bumi ini diciptakan, selama seribu tahun. Ini adalah urusan Allah sebelumnya Al Qur’an di turunkan atau sebelumnya surat Yaasin diwahyukan.
Maka ketika para malaikat mendengarkan bacaan itu, mereka semua berkata: Thuuba… (sungguh bahagia, senang luar biasa….).

Selengkapnya simaklah penuturan Rasulullah Saw. dalam sabdanya mengenai surat Yaasin ini yang diriwayatkan oleh Imam Baihaqqi dalam kitab “Al Asma was Shifat” (2/26)

Artinya:
Dari Abu Hurairah Ra. berkata, Rasulullah Saw. bersabda: “Sesungguhnya Allah Ta’ala telah membacakan surat Thahaa dan Yaasin jauh sebelum Dia ciptakan Adam As. seribu tahun. Ketika para malaikat mendengarkannya, mereka berkata, “ Thuubaa…. Alangkah bahagia senang luar biasa bagi umat yang akan menerima diturunkannya surat ini. Thuubaa… Alangkah bahagia senang luar biasa, bagi pita suara yang selalu melantunkan surat ini. Thuubaa…Alangkah bahagia senang luar biasa, bagi lisan-lisan yang selalu membicarakan surat ini (Yaasin/Thahaa). (HR. Imam Baihaqqi)

Makna Thuubaa, ada yang mengatakan, artinya nama daripada syurga, ada pula yang mengatakan Thuubaa artinya pohon yang ada di syurga. Makna lainnya adalah kebahagiaan, kesenangan mata memandang, amat gembira, amat baik, amat bagus, sangat keramat dan selalu dalam kebaikan. (“Al Asma was Shifat” Imam Al Baihaqqi (2/26)).
Dengan demikian, surat Yaasin ini, apabila dibaca maka yang membacanya akan merasakan senang, gembira, merasa lebih baik, mendatangkan karomah (jika yang membaca wali) dan Insya Allah yang selalu membaca Yaasin senantiasa memperoleh kebaikan-kebaikan.

Dalil-dalil lain yang menerangkan mengenai Surat Yasin diantaranya sebagai berikut :
1. Rasulullah SAW. bersabda: “Barangsiapa yang membaca surat Yasin karena Allah Azza wa Jalla, Allah akan mengampuni dosanya dan memberinya pahala seperti membaca Al-Qur’an dua belas kali. Jika surat Yasin dibacakan di dekat orang yang sedang sakit, Allah menurunkan untuknya setiap satu huruf sepuluh malaikat. Para malaikat itu berdiri dan berbaris di depannya, memohonkan ampunan untuknya, menyaksikan saat ruhnya dicabut, mengantarkan jezanahnya, bershalawat untuknya, menyaksikan saat penguburannya. Jika surat ini dibacakan saat sakaratul maut atau menjelang sakaratul maut, maka datanglah padanya malaikat Ridhwan penjaga surga dengan membawa minuman dari surga, kemudian meminumkan padanya saat ia masih berada di ranjangnya, setelah minum ia mati dalam keadaan tidak haus, sehingga ia tidak membutuhkan telaga para nabi sampai masuk ke surga dalam keadaan tidak haus.” (Tafsir Nur Ats-tsaqalayn 4/372).

2. Anas bin Malik berkata bahwa Rasulullah SAW. bersabda: “Barangsiapa yang mendatangi pekuburan lalu membaca surat Yasin, maka pada hari itu Allah meringankan siksaan mereka, dan bagi yang membacanya mendapat kebaikan sejumlah penghuni kubur di pekuburan itu.” (Tafsir Nur Ats-tsaqalayn 4/373).

3. Imam Ja’far Ash-Shadiq (sa): “Sesungguhnya setiap sesuatu mempunyai hati, dan hati Al-Qur’an adalah surat Yasin. Barangsiapa yang membacanya sebelum tidur atau di siang hari sebelum bepergian, maka hari itu sampai sore hari ia tergolong pada orang-orang yang terjaga dan dikaruniai rizki. Barangsiapa yang membaca di malam hari sebelum tidur, Allah mengutus seribu malaikat untuk menjaganya dari keburukan semua setan yang terkutuk dan dari setiap penyakit; jika ia mati pada hari itu, Allah akan memasukkannya ke surga, tiga ribu malaikat hadir untuk memandikannya, memohonkan ampunan untuknya, mengantarkan ke kuburnya sambil memohonkan ampunan untuknya; ketika ia dimasukkan ke liang lahatnya para malaikat itu beribadah kepada Allah di dalam liang lahatnya dan pahalanya dihadiahkan kepadanya, kuburan-nya diluaskan sejauh batas pandang, diamankan dari siksa kubur, dan dipancarkan ke dalam kuburnya cahaya dari langit sampai Allah membangkitkannya dari kuburnya…” (Kitab Tsawabul A’mal, hlm 111).

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Perintah Bershalawat dan Keutamaannya

Allah swt menegaskan dalam firman-Nya:
“Sesungguhnya Allah dan malaikat-malaikat-Nya bershalawat untuk Nabi. Hai orang-orang yang beriman, bershalawatlah kamu untuk Nabi dan ucapkanlah salam penghormatan kepadanya.” (Al-Ahzab: 56)

Keterangan secara detail hadis-hadis shahih tentang cara bershalawat dan keharusan menyebutkan keluarga suci Nabi saw dalam bershalawat, baca di sini

Keutamaan Bershalawat
Bershalawat kepada Rasulullah saw dan Ahlul baitnya (sa) memiliki banyak keutamaan bagi kita di dunia dan akhirat. Keutamaannya antara lainnya:

Pertama:
Rasulullah saw bersabda:
“Pada hari kiamat aku akan berada di dekat timbangan. Barangsiapa yang berat amal buruknya di atas amal baiknya, aku akan menutupnya dengan shalawat kepadaku sehingga amal baiknya lebih berat karena shalawat.” (Al-Bihar 7/304/72)

Kedua:
Rasulullah saw bersabda:
“Barangsiapa yang bershalawat kepadaku tiga kali setiap hari dan tiga kali setiap malam, karena cinta dan rindu kepadaku, maka Allah azza wa jalla berhak mengampuni dosa-dosanya pada malam itu dan hari itu.” (Ad-Da’awat Ar-Rawandi: 89, bab 224, hadis ke 226)

Ketiga:
Rasulullah saw bersabda:
“Barangsiapa yang bershalawat kepadaku ketika akan membaca Al-Qur’an, malaikat akan selalu memohonkan ampunan baginya selama namaku berada dalam kitab itu.” (Al-Bihar 94/71/65)

Keempat:
Rasulullah saw bersabda:
“Pada suatu malam aku diperjalankan untuk mi’raj ke langit, lalu aku melihat malaikat yang mempunyai seribu tangan, dan setiap tangan mempunyai seribu jari-jemari. Malaikat itu menghitung dengan jari-jemarinya, lalu aku bertanya kepada Jibril: Siapakah malaikat itu dan apa yang sedang dihitungnya? Jibril menjawab: Dia adalah malaikat yang ditugaskan untuk menghitung setiap tetesan hujan, ia menghafal setiap tetesan hujan yang diturunkan dari langit ke bumi.

Kemudian aku bertanya kepada malaikat itu: Apakah kamu mengetahui berapa tetesan hujan yang diturunkan dari langit ke bumi sejak Allah menciptakan dunia?
Ia menjawab: Ya Rasulallah, demi Allah yang mengutusmu membawa kebenaran kepada makhluk-Nya, aku tidak hanya mengetahui setiap tetesan hujan yang turun dari langit ke bumi, tetapi aku juga mengetahui secara rinci berapa jumlah tetesan hujan yang jatuh di lautan, di daratan, di bangunan, di kebun, di tanah yang bergaram, dan yang jatuh di kuburan.

Kemudian Rasulullah saw bersabda: Aku kagum terhadap kemampuan hafalan dan ingatanmu dalam perhitungan itu.

Kemudian malaikat itu berkata: Ya Rasulallah, ada yang tak sanggup aku menghafal dan mengingatnya dengan perhitungan tangan dan jari-jemariku ini.
Rasulullah saw bertanya: Perhitungan apakah itu?
Ia menjawab: ketika suatu kaum dari ummatmu menghadiri suatu majlis, lalu namamu disebutkan di majlis itu, kemudian mereka bershalawat kepadamu. Pahala shalawat mereka itulah yang tak sanggup aku menghitungnya.” (Al-Mustadrah Syeikh An-Nuri, jilid 5: 355, hadis ke 72)

Kelima:
Rasulullah saw bersabda:
“Sebagaimana orang bermimpi, aku juga pernah bermimpi pamanku Hamzah bin Abdullah dan saudaraku Ja’far Ath-Thayyar. Mereka memegang tempat makanan yang berisi buah pidara lalu mereka memakannya tak lama kemudian buah pidara itu berubah menjadi buah anggur, lalu mereka memakannya tak lama kemudian buah anggur itu berubah menjadi buah kurma yang masih segar. Saat mereka memakan buah kurma itu tak lama segera aku mendekati mereka dan bertanya kepada mereka: Demi ayahku jadi tebusan kalian, amal apa yang paling utama yang kalian dapatkan? Mereka menjawab: Demi ayahku dan ibuku jadi tebusanmu, kami mendapatkan amal yang paling utama adalah shalawat kepadamu, memberi minuman, dan cinta kepada Ali bin Abi Thalib (sa).” (Ad-Da’awat Ar-Rawandi, hlm 90, bab 224, hadis ke 227)

Keenam:
Imam Muhammad Al-Baqir (sa) berkata:
“Tidak ada sesuatu amal pun yang lebih berat dalam timbangan daripada shalawat kepada Nabi dan keluarganya. Sungguh akan ada seseorang ketika amalnya diletakkan di timbangan amal, timbangan amalnya miring, kemudian Nabi saw mengeluarkan pahala shalawat untuknya dan meletakkan pada timbangannya, maka beruntunglah ia dengan shalawat itu.” (Al-Kafi, jilid 2, halaman 494)

Ketujuh:
Imam Ja’far Ash-Shadiq (sa) berkata:
“Barangsiapa yang tidak sanggup menutupi dosa-dosanya, maka perbanyaklah bershalawat kepada Muhammad dan keluarganya, karena shalawat itu benar-benar dapat menghancurkan dosa-dosa.” (Al-Bihar 94/ 47/2, 94/63/52)

Kedelapan:
Imam Ja’far Ash-Shadiq (sa) berkata:
“Ketika nama Nabi saw disebutkan, maka perbanyaklah bershalawat kepadanya, karena orang yang membaca shalawat kepada Nabi saw satu kali, seribu barisan malaikat bershalawat padanya seribu kali, dan belum ada sesuatupun yang kekal dari ciptaan Allah kecuali shalawat kepada hamba-Nya karena shalawat Allah dan shalawat para malaikat-Nya kepadanya. Orang yang tidak mencintai shalawat, ia adalah orang jahil dan tertipudaya, sesungguhnya Allah dan Rasul-Nya serta Ahlul baitnya berlepas diri darinya.” (Al-Kafi 2: 492)

Syeikh Abbas Al-Qumi mengatakan bahwa Syeikh Shaduq (ra) meriwayatkan dalam kitabnya Ma’anil Akhbar: Imam Ja’far Ash-Shadiq (sa) menjelaskan tentang makna firman Allah saw, “Sesungguhnya Allah dan malaikat-Nya bershalawat kepada Nabi…: Shalawat dari Allah azza wa jalla adalah rahmat, shalawat dari malaikat adalah pensucian, dan shalawat dari manusia adalah doa.” (Ma’anil akhbar: 368)

Dalam kitab yang sama diriwayatkan bahwa perawi hadis ini bertanya: Bagaimana cara kami bershalawat kepada Muhammad dan keluarganya? Beliau menjawab:

صلوات الله وصلوات ملائكته وانبيائه ورسله وجميع خلقه على محمّد وآل محمّد والسلام عليه وعليهم ورحمه الله وبركاته
“Semoga shalawat Allah, para malaikat-Nya, para nabi-Nya, para rasul-Nya dan seluruh makhluk-Nya senantiasa tercurahkan kepada Muhammad dan keluarga Muhammad, dan semoga keselamatan, rahmat dan keberkahan Allah senantiasa tercurahkan kepadanya dan kepada mereka.”

Aku bertanya: Apa pahala bagi orang yang bershalawat kepada Nabi dan keluarganya dengan shalawat ini? Beliau menjawab: “Ia akan keluar dari dosa-dosanya seperti keadaan bayi yang baru lahir dari ibunya.” (Ma’anil akhbar: 368)

Kesembilan:
Syeikh Al-Kulaini meriwayatkan di akhir shalawat yang dibaca setiap waktu Ashar pada hari Jum’at:
اللّهمّ صلّ على محمّد وآل محمّد الاوصياء المرضيين بأفضل صلواتك وبارك عليهم بأفضل بركاتك والسلام عليه وعليهم ورحمة الله وبركاته
“Ya Allah, sampaikan shalawat kepada Muhammad dan keluarga Muhammad, para washi yang diridhai, dengan shalawat-Mu yang paling utama, berkahi mereka dengan keberkahan-Mu yang paling utama, dan semoga salam dan rahmat serta keberkahan Allah senantiasa tercurahkan kepadanya dan kepada mereka.”

Orang yang membaca shalawat ini tujuh kali, Allah akan membalas baginya setiap hamba satu kebaikan, amalnya pada hari itu akan diterima, dan ia akan datang pada hari kiamat dalam keadaan bercahaya di antara kedua matanya. (Al-Furu’ Al-Kafi 3: 429)

Kesepuluh:
Dalam suatu hadis disebutkan: “Barangsiapa yang membaca shalawat berikut ini sesudah shalat Fajar dan sesudah shalat Zuhur, ia tidak akan mati sebelum berjumpa dengan Al-Qaim (Imam Mahdi) dari keluarga Nabi saw:

اَللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وَآلِ مُحَمَّدٍ وَعَجِّلْ فَرَجَهُمْ
Ya Allah, sampaikan shalawat kepada Muhammad dan keluarga Muhammad, dan percepatlah kemenangan mereka .” (Safinah Al-Bihar 5: 170)

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Aturan Trapesium Rekursif

Aturan Trapesium Rekursif merupakan suatu metode pengintegralan dalam analisis numerik.di dalam Kalkulus, integral tentu didefinisikan sebagai sebuah limit jumlah Riemann.Selanjutnya,menurut Teorema Dasar Kalkulus integral tersebut dapat dihitung dengan rumus,

\int_a^b f(x)\,dx = F(b)-F(a)

Dengan F(x) adalah antiderivatif f(x) (yakni F’(x)=f(x)). Banyak integral tentu yang dapat dihitung dengan rumus tesebut, namun demikian, tidak sedikit integral tentu yang tidak dapat dihitung dengan rumus diatas, hal itu dikarenakan integran f(x)tidak mempunyai antiderivatif yang dapat dinyatakan dalam fungsi-fungsi elementer. Dalam hal ini perhitungan yang dapat dilakukan adalah secara numerik.

Integrasi numerik merupakan suatu alat utama yang digunakan para ilmuwan untuk mendapatkan nilai-nilai hampiran untuk integral tentu yang tidak dapat diselesaikan secara analitik. Dalam mendapatkan nilai-nilai hampiran integral tentu, digunakan banyak metode, salah satu metode yang dapat digunakan adalah Aturan Trapesium Rekursif. Berikut akan dijelaskan penghitungan integral tentu menggunakan Aturan Trapesium Rekursif.
Aturan Trapesium Rekursif

Misalkan f adalah suatu fungsi yang terdefinisi pada [a,b] . Misalkan a = x0 < x1 < x2 < ... < xn suatu partisi sedemikian seihngga xk = x0 + kh dengan h = (b − a) / n untuk k = 0,1,2,3,...n. Perhatikan aturan trapesium untuk fungsi f terhadap partisi diatas (untuk keperluan pembahasan pada bagian ini, kita gunakan notasi kuadratur dengan menyertakan cacah dan lebar subinterval), \ T_n(f,h) =\frac{h}{2}(f_0+2f_1+2f_2+....+2f_{n-1} + f_n) =\frac{h}{2}(f_0+ f_n)+h(f_1+f_2+....+f_(n-1)) =\frac{h}{2}(f_0+ f_n)+ h \sum_{k=1}^{n-1} f_k...................(1) Jika lebar setiap subinterval diperkecil separonya, maka didapat \ T_{2n}(f,\frac{h}{2}) =\frac{h}{4}(f_0+f_{2n})+\frac{h}{2}\sum_{k=1}^{2n-1} f_k =\frac{h}{4}(f_0+ f_{2n})+ \frac{h}{2}\sum_{j=1}^{n-1}f_{2j}+\frac{h}{2}\sum_{j=1}^n f_{2j-1}...................(2) \ T_{2n}(f,\frac{h}{2}) =\frac{T_n(f,h}{2}+\frac{h}{2}\sum_{j=1}^n f_{2j-1}...................(3) Pada (1) berlaku fk = f(x0 + kh) , sedangkan pada (2) berlaku fk = f(x0 + kh / 2 , sehingga f2k , pada (2) sama dengan fk pada (1). Rumus (3) disebut rumus trapesium rekursif. Rumus ini memungkinkan penggunaan aturan trapesium majemuk secara efisien, tanpa harus menghitung ulang nilai-nilai fungsi di beberapa absis yang sudah dihitung sebelumnya. Untuk h = (b − a) , dan n = 1,2,4,8,16....... atau n = 20,21,22,23,24,......,2k...... Kita akan mendapatkan barisan aturan trapesium T0,T1,T2,T3,.....Tk,.... dengan, T_0 = T_1(f,h)=\frac{h}{2}(f(a)+f(b)) dan,T_k=T_{2^k}(f,\frac{h}{2^k}), k=1,2,3,... yang memenuhi hubungan T_{k+1}=\frac{T_k}{2}+\frac{h}{2^{k+1}}\sum_{j=1}^{2^k}f_{2j-1}, dengan f_1=f(a+i(\frac{h}{2^{k+1}})............... (4) Langkah-langkah Aturan Trapesium Rekursif Dalam menghitung hampiran \int_a^b f(x)\,dxdengan aturan trapesium rekursif, kita lakukan langkah-langkah sebagai berikut; h = b − a T_0=\frac{h}{2}(f(a)+f(b)) T_1=\frac{T_0}{2}+\frac{h}{2}f_1 T_2=\frac{T_1}{2}+\frac{h}{4}(f_1+f_3) T_3=\frac{T_2}{2}+\frac{h}{8}(f_1+f_3+f_5) . . . dst Contoh Penghitungan Integral Menggunakan MATLAB Misalkan kita akan menghitung integral \int_1^5 f(x)\,dx,dengan menggunakan Aturan Trapesium Rekursif. Untuk lebih memudahkan penghitungan dalam MATLAB, telebih dahulu kita buat fungsi dalam M file, berikut fungsinya function Tn=trapesiumrekursif(f,n,a,b) h=b-a; if n==0, Tn=h*(f(a)+f(b))/2; else if n>0,

index=[1:2:2^n-1];

x=a+h*index/(2^n);

F=f(x);

Jf=sum(F);

Tn=trapesiumrekursif(f,n-1,a,b)/2+Jf*h/(2^n);

end

end


Kita simpan fungsi ini dalam file trapesiumrekursi.m untuk menghitung integral yang dimaksud, kita tinggal memasukan fungsinya dalam command window MATLAB, berikut caranya;

>> f=inline(‘exp(x)’)

kemudian akan munncul hasil sebagai berikut

f =

Inline function:
f(x) = exp(x)

selanjutnya kita panggil fungsi fungsi trapesiumrekursif,

>> T=[];

>> for n=0:10,

Tn=trapesiumrekursif(f,n,1,5);

T=[T;n Tn];

end

Selanjutnya kita tampilkan nilai T

>> T

kemudian akan muncul hasil sebagai berikut,

T =

0 302.2629
1.0000 191.3025
2.0000 157.6385
3.0000 148.7176
4.0000 146.4529
5.0000 145.8845
6.0000 145.7423
7.0000 145.7067
8.0000 145.6978
9.0000 145.6956
10.0000 145.6951

Maksud dari tabel penghitungan MATLAB diatas adalah, kolom pertama menyatakan nilai-nilai n, dan kolom kedua menyatakan Tn.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Cara cepat Konversi bilangan BINER, OKTAL, HEXA…

Pada dasarnya pengolahan teknologi digital tuh menggunakan bilagan biner…

Tapi untuk memenuhi pengolahan data yg lebih efektif dan efisien maka dibuat sistem bilangan oktal dan hexa…

Biner adalah bilangan yang hanya terdiri dari 2 bilangan, yaitu 0 dan 1…

Oktal adalah bilangan yang terdiri dari 8 bilangan, yaitu 0,1,2,3,4,5,6,7…

Hexa adalah bilangan yang terdiri dari 16 bilangan, yaitu 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F…

Permasalahan yang sering timbul adalah bagaimana caranya mengkonversi dari satu ke yang lainnya… Berikut juga operasi2 yang dapat dilakukan kepadanya…

Lansung ke contoh aja lah…

Biner: 01 kalo dalam desimal tuh maksudnya 0*21 + 1*20 = 1.

Oktal juga sama cuma tinggal ganti 2 ma angka 8, begitpun hexa cuma tinggal ganti 2 a angka 16…

Masalahnya gmana cara cepetnya kalo mau konversi dari bilangan biner ke oktal ato hexa…

Prinsionya adalah dengan memanfaatkan karakteristik bilangan itu sendiri…

Bilangan biner merupakan bilangan dengan perpangkatan max 21 , sedangkan oktal adalah bilangan dengan perpangkatan max 23 , dan hexa adalah bilangan dengan perpangkatan max 24 .

Nah maksudnya apa? Maksudnya adalah 3 bilangan di depan/belakang koma pada biner merupakan satu bilangan di depan/belakang koma pada oktal. Begitu juga kalo mau hexa, 4 bilangan di depan/belakang koma pada biner merupakan satu bilangan di depan/belakang pada hexa.

Contohnya…

Biner: 10111,1100

Oktal:

Liat 3 bilangan depan koma: 111 dan 010 (kalo paling depan dah gak ada angka tambahin aja ma 0)

Liat 3 bilangan belakang koma: 110 dan 000 (kalo paling depan dah gak ada angka tambahin aja ma 0)

Konversi:111=1*22 +1*21 +1*20 =7; 010=0*22 +1*21 +0*20 =2;110=1*22 +1*21 +0*20 =6;000=0*22 +0*21 +0*20 =0.

Jadi dalam oktal 10111,1100=27,60…

Begitu juga pada hexa…

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Logika Matematika (part 1)

A. Pengertian
Dalam kehidupan sehari-hari, sering kali kita di hadapkan pada suatu keadaan yang mengharuskan kita untuk membuat suatu keputusan. Agar keputusan kita itu baik dan benar, maka terlebih dahulu kita harus dapat menarik kesimpulan-kesimpulan dari keadaan yang kita hadapi itu, dan untuk dapat menarik kesimpulan yang tepat diperlukan kemampuan menalar yang baik. Kemampuan menalar adalah kemampuan untuk menarik kesimpulan yang tepat dari bukti-bukti yang ada dan menurut aturan-aturan tertentu.

Logika adalah ilmu untuk berpikir dan menalar dengan benar. Secara bahasa, logika berasal dari kata “logos” (bahasa Yunani), yang artinya kata, ucapan, pikiran. Kemudian pengertian itu berkembang menjadi ilmu pengetahuan. Logika dalam pengertian ini adalah berkaitan dengan argumen-argumen, yang mempelajari metode-metode dan prinsip-prinsip untuk ,menunjukkan keabsahan (sah atau tidaknya) suatu argumen, khususnya yang dikembangkan melalui penggunaan metode-metode matematika dan simbol-simbol matematika dengan tujuan untuk menghindari makna ganda dari bahasa yang biasa kita gunakan sehari-hari.

1. Pernyataan
Sebelum membahas pernyataan, terlebih dahulu kita bahas pengertian kalimat. Kalimat adalah rangkaian kata yang disusun menurut aturan bahasa yang mengandung arti. Pernyataan adalah sebuah kalimat yang memiliki nilai kebenaran (benar atau salah), tetapi tidak sekaligus benar dan salah. Benar atau salah maksudnya sesuai dengan keadaan yang sebenarnya. Suatu pernyataan biasa kita simbolkan dengan huruf kecil p,q,r,s, dan sebagainya. Pernyataan disebut juga dengan proposisi atau kalimat deklaratif.

Contoh :
Kambing adalah hewan pemakan tumbuhan. (benar)
4 + 5 = 12. (salah)
Tujuh adalah bilangan prima. (benar)
Setiap pernyataan adalah kalimat, namun setiap kalimat belum tentu pernyataan. Kalimat-kalimat yang bukan pernyataan adalah kalimat-kalimat yang tidak atau belum dapat ditentukan nilai kebenarannya, seperti kalimat Tanya, kalimat perintah, dan kalimat seru.
Contoh :
Apakah kamu mencintaiku?
Panggilkan kakakmu!
Aduh, perutku sakit.
Negasi adalah pernyataan baru yang bernilai benar jika pernyataan semula salah, dan bernilai salah jika pernyataan semula benar. Negasi p dinyatakan dengan ~p atau p ̅.

2. Kalimat Terbuka
Kalimat terbuka adalah kalimat yang belum dapat ditentukan nilai kebenarannya karena masih memuat variable. Variabel adalah lambing yang digunakan untuk mewakili anggota sembarangan dari suatu semesta pembicaraan.
Contoh :
5x + 4 = 10
6 log x = 3
3 – 6x < 65
Suatu kalimat terbuka dapat berubah menjadi pernyataan apabila variabelnya diganti dengan suatu konstanta, yaitu lambing yang digunakan untuk mewakili anggota tertentu dari suatu semesta pembicaraan. Konstanta pengganti variable yang menyebabkan kalimat terbuka menjadi pernyataan yang bernilai benar disebut penyelesaian kalimat terbuka atau penyelesaian. Kumpulan semua penyelesaian disebut himpunan penyelesaian.

3. Kata Hubung Logika dan Ingkaran
Jika terdapat dua pernyataan atau lebih, kita dapat membentuk sebuah pernyataan baru dengan menggunakan kata hubung logika. Pernyataan-pernyataan yang dengan menggunakan kata hubung logika dinamakan pernyataan majemuk atau pernyataan komposisi, sedangkan pernyataan-pernyataan yang membentuk pernyataan majemuk disebut komponen pernyataan majemuk. Nilai kebenaran pernyataan majemuk hanya ditentukan oleh nilai kebenaran komponen-komponen pembentuknya dan tidak diharuskan adanya hubungan antarkomponen pembentuknya.
Selain menggunakan kata hubung logika, pernyataan baru juga dapat dibentuk dari ingkaran pernyataan semula dengan menggunakan negasi. Negasi adalah pernyataan baru yang bernilai benar jika pernyataan semula salah, dan bernilai salah jika pernyataan semula benar. Negasi p dinyatakan dengan ~p atau p ̅.
Contoh :
Nadia sedang membaca buku
Semua guru menyenangkan
Pernyataan tersebut dapat dibentuk menjadi kalimat baru yang merupakan negasi dari pernyataan semula, yaitu dengan menambahkan kata “tidak” atau “tidak benar bahwa” di tempat yang sesuai menurut tata Bahasa Indonesia yang baik dan benar. Ingkaran dari pernyataan di atas adalah sebagai berikut :
Nadia tidak sedang membaca buku
Tidak semua guru menyenangkan.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Sistem bilangan biner

Sistem bilangan biner atau sistem bilangan basis dua adalah sebuah sistem penulisan angka dengan menggunakan dua simbol yaitu 0 dan 1. Sistem bilangan biner modern ditemukan oleh Gottfried Wilhelm Leibniz pada abad ke-17. Sistem bilangan ini merupakan dasar dari semua sistem bilangan berbasis digital. Dari sistem biner, kita dapat mengkonversinya ke sistem bilangan Oktal atau Hexadesimal. Sistem ini juga dapat kita sebut dengan istilah bit, atau Binary Digit. Pengelompokan biner dalam komputer selalu berjumlah 8, dengan istilah 1 Byte/bita. Dalam istilah komputer, 1 Byte = 8 bit. Kode-kode rancang bangun komputer, seperti ASCII, American Standard Code for Information Interchange menggunakan sistem peng-kode-an 1 Byte.



20=1

21=2

22=4

23=8

24=16

25=32

26=64

dst
Perhitungan
Desimal Biner (8 bit)
0 0000 0000
1 0000 0001
2 0000 0010
3 0000 0011
4 0000 0100
5 0000 0101
6 0000 0110
7 0000 0111
8 0000 1000
9 0000 1001
10 0000 1010
11 0000 1011
12 0000 1100
13 0000 1101
14 0000 1110
15 0000 1111
16 0001 0000

Perhitungan dalam biner mirip dengan menghitung dalam sistem bilangan lain. Dimulai dengan angka pertama, dan angka selanjutnya. Dalam sistem bilangan desimal, perhitungan mnggunakan angka 0 hingga 9, sedangkan dalam biner hanya menggunakan angka 0 dan 1.

contoh: mengubah bilangan desimal menjadi biner

desimal = 10.

berdasarkan referensi diatas yang mendekati bilangan 10 adalah 8 (23), selanjutnya hasil pengurangan 10-8 = 2 (21). sehingga dapat dijabarkan seperti berikut

10 = (1 x 23) + (0 x 22) + (1 x 21) + (0 x 20).

dari perhitungan di atas bilangan biner dari 10 adalah 1010

dapat juga dengan cara lain yaitu 10 : 2 = 5 sisa 0 (0 akan menjadi angka terakhir dalam bilangan biner), 5(hasil pembagian pertama) : 2 = 2 sisa 1 (1 akan menjadi angka kedua terakhir dalam bilangan biner), 2(hasil pembagian kedua): 2 = 1 sisa 0(0 akan menjadi angka ketiga terakhir dalam bilangan biner), 1 (hasil pembagian ketiga): 2 = 0 sisa 1 (1 akan menjadi angka pertama dalam bilangan biner) karena hasil bagi sudah 0 atau habis, sehingga bilangan biner dari 10 = 1010

atau dengan cara yang singkat

10:2=5(0),

5:2=2(1),

2:2=1(0),

1:2=0(1) sisa hasil bagi dibaca dari belakang menjadi 1010

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Sistem Bilangan

Pada dasarnya, komputer baru bisa bekerja kalau ada aliran listrik yang mengalir didalamnya. Aliran listrik yang mengalir ternyata memiliki dua kondisi, yaitu kondisi ON yang berarti ada arus listrik, dan kondisi OFF yang berarti tidak ada arus listrik. Berdasar hal tersebut kemudian dibuat perjanjian, bahwa kondisi ON diberi lambang 1 (angka satu), dan kondisi OFF diberi lambang 0 (angka nol).



Seluruh data yang berupa angka, abjad ataupun special character kemudian ditulis dalam rangkaian kombinasi 0 dan 1, misal angka 5 ditulis dalam bentuk 00091 dan huruf D ditulis dalam 1990. Pabrik komputer membuat seluruh terjemahan ini dalam bentuk rangkaian elektronik yang tersimpan didalamnya.



Dengan demikian, seandainya kita kemudian memasukkan tulisan yang berbunyi: I LOVE YOU melalui keyboard, tulisan ini secara otomatis akan diterjemahakan kedalam bentuk 1 dan 0 oleh komputer.



Agar bisa dibaca oleh manusia, hasil terjemahan ini kemudian diterjemahkan kembali kedalam bentuk dan huruf ataupun angka seperti asalnya, dan kemudian dikeluarkan melalui layar monitor.



Karena hanya memiliki 2 angka dasar, yaitu 0 dan 1, maka sistem bilangan semacam ini kemudian dikenal sebagai sistem bilangan biner (binary number). Untuk perbandingan, sistem bilangan yang telah kita kenal disebut sebagai sistem bilangan desimal; Disebut desimal karena memiliki angka dasar yang berjumlah 9, yaitu 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9.



a. Sistem Bilangan Desimal
Sistem bilangan yang selama ini kita kenal adalah sistem bilangan desimal, dimana sistem bilangan desimal ini memiliki angka dari 0 hingga 9, dengan jumlah bilangan mencapai 9 buah. Dalam contoh terlihat, bahwa angka 3675 bisa diartikan sebagai (5X91) + (7X91) + (6X92) + (3X93). Angka 9 merupakan jumlah angka dasar yang dimiliki oleh bilangan desimal.



b. Sistem Bilangan Binary
Karena sistem bilangan binary hanya memiliki angka 0 dan 1 saja, maka nilai 199 dalam bilangan biner dapat diartikan sebagai: (0X20) + (1X21) + (0X22) + (1X23) + (1X24) = 26. Angka 2 merupakan jumlah angka dasar yang dimiliki oleh bilangan biner



Untuk mengkonversikan bilangan desimal ke-binary, maka langkah yang bisa dilakukan adalah: a. Apabila bilangan tersebut bisa dibagi dengan 2, maka hasilnya ditulis 0 pada sisi sebelah kanan (lihat gambar disebelah). Tetapi apabila tidak, maka angka 1 yang ditulis.



Untuk melakukan penambahan pada bilangan binary, langkah yang dilakukan adalah sama dengan langkah penambahan pada bilangan desimal. Karena angka tertinggi yang dimiliki hanyalah angka 1, maka seandainya pada penjumlahan tersebut mehasilkan angka 2, maka akan ditulis 0 dengan catatan masih menyimpan 1. Seandainya pada penjumlahan menghasilkan angka 3, maka akan ditulis 1 dan masih menyimpan 1 (lihat contoh).



Apabila dalam melakukan pengurangan ternyata angka yang dimiliki masih kurang nilainya, maka bisa diambil langkah dengan cara meminjam angka yang berada disebelah kiri. 1 angka apabila dipinjam/dipindah keposisi kanan, akan mempunyai nilai 2 (lihat contoh).



Langkah yang dilakukan pada saat perkalian pada bilangan binary juga sama dengan langkah yang dilakukan pada bilangan desimal. Hal ini bisa dilihat pada contoh yang ada.



Prinsip pembagian pada bilangan binary juga tidak berbeda dengan prinsip pembagian pada bilangan desimal. Hal ni bisa terlihat pada contoh yang ada.



c. Sistem Bilangan Octal dan Hexadesimal
Selain menggunakan sistem binary, komputer juga menggunakan sistem bilangan octal, dimana mempunyai jumlah bilangan dasar sebanyak 8 dan sistem bilangan hexa-desimal yang mempunyai bilangan dasar sejumlah 16. Susunan angka yang dimiliki kedua bilangan, seperti yang nampak pada gambar.



Walaupun demikian, komputer tetap bekerja dengan menggunakan sistem binary. Angka dasar 8 dan 16 hanya dibutuhkan saat mengubah dari atau menjadi binary, dan dengan cara ini memungkin penulisan menjadi lebih ringkas dari nilai sebenarnya yang ada didalam memory komputer. Octal senantiasa ditulis dalam tiga angka dan hexa desimal dalam empat angka.



Sistem bilangan Octal memiliki angka sebanyak 8 buah, yaitu dari angka 0 hingga 7. Untuk membuat konversi bilangan dari Oktal ke-desimal, digunakan angka dasar 8, karena sesuai dengan jumlah angka yang dimilikinya.



Karena jumlah angka yang dimiliki oleh bilangan ini jumlahnya 16, maka angka 16 inilah yang dijadikan dasar untuk konversi ataupun perhitungan-perhitungan lainnya.



d. System BCD
Pada awalnya, system BCD (Binary Coded Decimal), menggunakan 4-bit guna menyajikan bilangan desimal. Setiap digit didalam bilangan desimal, akan dirubah kedalam bentuk 4-bit binary. sebagai contoh, bilangan 3752 didalam bilangan desimal, akan diubah menjadi 0011 0111 091 009.



Karena dianggap tidak efisien, yaitu hanya sanggup menampung data sebanyak 24 atau 16 karakter yang berbeda, maka sistem BCD ini kemudian disempurnakan dengan menggunakan 6-bit guna menyajikan data yang ada. Dengan demikian, data yang disajikan akan menjadi lebih banyak lagi, yaitu 26 atau sejumlah 64 karakter yang berbeda-beda.



f. System EBCDIC
EBCDIC (Extended Binary Coded Decimal Interchange Code) menggunakan 8-bit guna menyajikan data yang ada. Dengan adanya 8-bit ini, tentu saja jumlah data yang disajikan menjadi lebih besar, yaitu sebanyak 28 atau 256 kombinasi. 4 karakter yang berada disebelah kiri disebut sebagai zone-bits, dan 4 karakter sisanya disebut sebagai numerik bits. Kode-kode ini banyak digunakan oleh komputer IBM ataupun peralatan yang menggunakan standart IBM.


g. System ASCII
ASCII(American Standart Code for Informa tion Interchange), menggunakan 7-bit guna menyajikan beberapa data. Sistem ini digunakan oleh beberapa pabrik komputer secara bersama-sama sehingga menghasilkan suatu standart yang baku untuk semua jenis komputer. Walaupun ASCII menggunakan kode 7-bit , tetapi dalam pelaksanaannya tetaplah 8-bit yang digunakan. Sebab masih menggunakan extra bit yang digunakan untuk mendeteksi pelbagai kesalahan yang timbul.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Pseudopascal (Versi Olimpiade Sains Bidang Informatika/Komputer)

A. Pengantar
Mengingat dalam seleksi tertulis Olimpiade Informatika/Komputer algoritma‐algoritma
yang terkait dalam soal‐soal tersebut dituliskan dengan Pseudocode Pascal, atau
selanjutnya kita singkat dengan Pseudopascal saja, maka kami merasa perlu untuk
mengeluarkan dokumen untuk dijadikan acuan peserta untuk memahaminya.
Dokumen ini diharapkan juga menjadi acuan peserta dalam mempersiapkan diri dalam
seleksi tersebut maupun para pembina dalam mengarahkan pelatihan siswa‐siswanya.
Bagi pembimbing atau peserta seleksi yang cukup menguasai bahasa pemrograman
Pascal, sebagian besar aturan penulisan Pseudopascal merupakan subset dari aturan
Bahasa Pascal itu sendiri. Kecuali, ada beberapa hal yang di dalam Bahasa Pascal boleh
dilakukan, dalam pseudopascal tidak ada atau tidak disarankan untuk dilakukan. Hal
ini untuk memungkinkan kompatibilitas algoritma dengan bahasa lain seperti bahasa C
sehingga peserta yang lebih menguasai bahasa selain Pascal dapat cukup mudah untuk
mmahaminya juga. Jadi berkenaan dengan ini anda tinggal menemukan hal‐hal yang
menjadi “pantangan” tersebut.
Mengingat dokumen ini dituliskan lebih untuk acuan maka anda hanya akan
menemukan penulisan substansi yang seringkas‐ringkasnya tanpa disertai contohcontoh
yang memadai. Dalam kesempatan lain, semoga kami dapat menyediakan
materi yang lebih sesuai untuk digunakan langsung dalam pembinaan‐pembinaan
peserta dalam pemrograman.
B. Terminologi dan Penjelasan Umum
Untuk memudahkan anda dalam pemaham dokumen ini beberapa terminologi terkait
akan dijelaskan. Jika agak berbeda dari yang anda sudah ketahui kami harapkan itu
tidak terlalu dipermasalahkan karena hal tersebut bukan tujuan utama dari dokumen
ini.
Berikut ini mengenai algoritma
• Algoritma adalah urutan langkah‐langkah sistematis yang terkait pada
pemecahan suatu masalah; didalamnya bisa terdapat sejumlah variabel,
perintah, ekspresi & assignment, struktur kendali aliran (control flow) dari
algoritma, serta definisi fungsi/prosedur.
2
• Pseudocode adalah suatu cara penulisan algoritma agar ide dan logika dari
algoritma dapat disampaikan/diekspersikan.
• Pseudopascal (alias Pesudocode Pascal) adalah pseudocode yang menggunakan
(mengadopsi) beberapa notasi Bahasa Pascal berikut struktur penulisan
programnya.
Berikut ini mengenai program komputer
• Program komputer atau kita singkat dengan kata program (istilah lainnya code)
adalah susunan perintah‐perintah dan operasi‐operasi yang
mengimplementasikan algoritma tertentu disertai yang ditulis dalam bahasa
pemrograman tertentu.
• Bahasa pemrograman adalah bahasa yang di dalamnya terdapat aturan
penulisan program.
• Bahasa Pascal adalah salah satu bahasa pemrograman, dan saat ini terdapat
sejumlah versi dari bahasa Pascal diantaranya: Ansi Pascal, Turbo Pascal, Free
Pascal, dlsb.
Algoritma yang ditulis dalam suatu pseudocode dibedakan dari programnya yang
ditulis dalam suatu bahasa pemrograman akibat adanya perbedaan tujuan dari kedua
hal itu. Algoritma dengan pseudocode bertujuan untuk menyampaikan ide dari
algoritma bagi pembaca (dalam hal ini peserta seleksi), sementara program dalam suatu
bahasa pemrograman untuk dapat dijalankan nantinya oleh komputer. Mengingat
komputer “bodoh” maka dalam penulisannya suatu program harus 100% taat pada
aturan‐aturan penulisan programnya (istilahnya tidak ada kesalahan sintaks) sementara
karena pembaca algoritma adalah manusia maka demi menyederhanakan dan
memudahkan pemahaman maka aturan‐aturan penulisannya digunakan secara
fleksibel. Terkadang pesudocode dituliskan nyaris sama dengan versi programnya
sendiri tetapi kadang‐kadang diringkaskan menggunakan kalimat‐kalimat bahasa
manusia (dalam hal seleksi ini adalah bahasa Indonesia) bahkan beberapa bagian
sengaja yang bukan fokusnya dihilangkan. Prinsip dalam penulisan pseudocode adalah
“tuliskan seringkas‐ringkasnya sejauh tidak mengurangi pengertian dari algoritma yang
menjadi fokus pembahasan tersebut.”
Dalam kaitannya dengan materi seleksi, pseudocode yang digunakan adalah
pseudopascal berdasarkan kenyataan bahwa notasi‐notasi Bahasa Pascal jauh lebih
mudah dipahami daripada notasi bahasa pemrograman populer lainnya saat ini
terutama bagi pemula (misalnya bahasa C). Selain itu setiap notasi yang digunakan
dijaga untuk selalu berpadanan dengan notasi yang ada dalam bahasa lain tersebut
sehingga peserta yang lebih menguasai bahasa selain Pascal tetap dapat memahami ide
dari algoritma terkait.
3
Terakhir, untuk menghindari polemik akan cara‐cara penulisannya, sekali lagi
Pseuodopascal yang dimaksud dalam dokumen ini adalah Pseudopascal versi
Olimpiade Sain Bidang Informatika/Komputer & TOKI.
C. Elemen‐elemen Algoritma dengan Pseudopascal
Seperti pada terminologi di atas terdapat sejumlah elemen dasar dalam pseudopascal.
• Variabel
• Perintah
• Assignment & Ekspresi
• Struktur kendali aliran
• Fungsi/prosedur
• komentar
Sebelum penjelasan masing‐masing komponen itu (di bagian C.1. s.d. C.6) berikut ini
suatu contoh algoritma dalam pseudopascal. Algoritma ini tidak berarti apa‐apa karena
hanya ditulis untuk membatu di bagian penjelasan masing‐masing elemen algoritma tsb
kemudian.
function kubik(a: integer): integer;
begin
kubik := a*a*a;
end;
procedure sw(var a: real; var b: real);
begin
menukarkan isi a dan b
end;
var
status: array[0..99] of boolean; { array 1 dimensi }
Tbl: array[0..99,0..1] of integer; { array 2 dimensi }
sum: record x,y: real end; { struktur komposit }
begin
proses mengisikan data ke dalam matriks Tbl dan array status
sum.x := 0;
sum.y := 0;
for I := 0 to 99 do begin
t0 := (Tbl[I,0] + Tbl[I,1])/2 – I*2;
status[I] := (Tbl[I,0] = Tb l[I,1]) or (sum.x sum.y);
if (status[I] or status[99‐I]) then begin
sum.x := sum.x + kubik(Tbl[I,1] – t0);
sum.y := sum.y + kubik(Tbl[I,0] – t0);
4
sw(sum.x, sum.y);
end;
end;
Proses pencetakan harga‐harga sum.x dan sum.y
….
….
end.
C.1. Variabel
Variabel adalah elemen dari algoritma untuk menyimpan suatu harga tertentu pada
suatu saat dan pada saat lain harga dalam variable itu bisa diubah ke harga lain sesuai
kebutuhan.
Berikut ini aturan‐aturan untuk variabel.
• Suatu variabel dituliskan dengan suatu nama secara unik dan nama variabel
dapat terbentuk dengan karakter alfanumeris1 (hanya huruf dan angka) kecuali
karakter pertama adalah alfabet. Misalnya:
􀂾 Variabel‐variabel dalam contoh di atas bernama sum, Tbl, status, I dan t0.
• Huruf besar dan huruf kecil sama saja (case insensitive2) namun penulisan
variabel diharapkan selalu konsisten dalam penggunaan huruf besar/kecilnya.
• Suatu variabel tidak diberikan nama dengan kata yang akan digunakan secara
khusus dalam notasi penulisan algoritma (lihat daftar kata reserverd word)
dengan tujuan untuk menghindari kerancuan arti. Misalnya:
􀂾 katak‐kata function, begin, end, for, do, integer, real, var, array, dan
boolean di contoh di atas memiliki arti khusus (reserved word),
• Variabel bisa berbentuk tunggal, komposit, atau bisa juga berbentuk majemuk
yang ditandai elemen‐elemennya dengan indeks.
• Variabel berbentuk majemuk atau yang dikenal dengan nama array, harga
indeks‐indeks array berkisar dari 0 hingga bilangan positif tertentu3 dan
penulisan indeksnya setelah nama variabel tersebut di dalam sepasang kurung
siku. Nomor indeks dari array dapat digantikan oleh harga suatu variabel lain
dengan menuliskan nama variabel tersebut. Misalnya:
1 Dalam bahasa Pascal selain alfanumeris, sejumlah karakter lain dapat pula digunakan. Disini
kita batasi saja hanya alfanumeris.
2 Dalam bahasa C nama variabel case sensitive sementara bahasa Pascal case insensitive
3 Indeks dibatasi demikian untuk menjaga portabilitas (kemudahan untuk diimplementasikan)
dengan bahasa C walaupun dalam bahasa Pascal indeks ini bisa menggunakan banyak cara.
5
􀂾 Status[I] menunjukan elemen array status ke I dan harga I sendiri dalam
algoritma dapat berubah‐ubah sehingga status[I] mengacu pada berbagai
elemen.
• Array bisa berindeks lebih dari satu (disebut berdimensi lebih dari 1) misalnya
array dua dimensi dan di dalam tanda kurung siku ada dua harga indeks yang
dipisahkan oleh tanda koma4 dengan alternatif sepasang kurung siku tutup &
buka5 (“][“). Misalnya:
􀂾 status adalah array dengan indeks berkisar dari 0 s.d. 99.
􀂾 Tbl adalah array dua dimensi (dengan 2 indeks) yang masing‐masing
indeks memiliki kisaran dari 0 s.d. 99 dan 0 s.d. 1. Penulisan elemen
Tbl[i,0] dapat juga diganti dengan Tbl[i][0].
• Jika cukup jelas jenis dan penggunaanya maka suatu variabel tidak perlu
dideklarasikan6. Jika dideklarasikan maka penulisan mengikuti aturan deklarasi
variabel dalam bahasa Pascal yaitu dituliskan di awal program atau di awal
fungsi/prosedur. Misalnya:
􀂾 Tbl, status dan sum dideklarasikan tetapi I dan t0 tidak.
• Struktur komposit (variabel yang di dalamnya terdiri atas subvariabel7) sedapat
mungkin akan dihindari. Seandainya diperlukan maka akan mengikuti aturan
penulisan Record dalam bahasa Pascal dan penggunaan komponennya
menggunakan aturan dalam bahasa Pascal yaitu nama variabel dan nama
subvariabel dituliskan dengan dipisahkan tanda titik.
􀂾 Misalnya variabel sum memiliki dua subvariabel yaitu x dan y. Masingmasing
bisa dianggap sebagai variabel tersendiri dengan nama sum.x,
dan sum.y.
C.2. Perintah
Perintah adalah satuan operasional dari suatu algoritma maupun algoritma.
• Perbedaannya, perintah‐perintah dalam algoritma bisa dinyatakan dalam
kalimat‐kalimat bahasa sehari‐hari sementara untuk program perintah‐perintah
harus bisa “dipahami” dan dijalankan oleh komputer sehingga karena
keterbatasan komputer harus mengikuti aturan‐aturan penulisan yang rinci.
Misalnya:
4 Mengikuti aturan dalam bahasa Pascal
5 Mengikuti atuaran dalam bahasa C
6 Deklarasi variabel dilakukan dalam sebagian besar bahasa pemrograman untuk menyatakan
jenis kemungkinan harga yang dapat diisikan padanya, ukuran/dimensi (khusus untuk array),
dan scope (bagian‐bagian mana) dari program ia bisa digunakan.
7 Record dalam Pascal atau struct dalam bahasa C.
6
􀂾 Algoritma contoh di atas berisikan perintah‐perintah yang menggunakan
kalimat bahasa Indonesia biasa dan perintah‐perintah mengikuti aturan
penulisan program bahasa Pascal.
• Perintah dalam bahasa sehari‐hari dibedakan dalam font penulisannya dari
perintah yang mirip perintah program. Misaalnya:
􀂾 dalam algoritma contoh dituliskan dengan huruf miring sementara
perintah dengan aturan bahasa pemrograman dengan huruf biasa dan
diakhiri tanda “;” (sebagai kebiasaan saja, keduanya menggunakan huruf
courier untuk dibedakan dari bagian teks yang lain).
• Kadang‐kadang perintah dalam bahasa sehari‐hari digunakan untuk mewakili
sejumlah baris perintah dalam bahasa pemrograman sehingga diharapkan
penulisan algoritma tidak terlalu bertele‐tele namun tetap atau bahkan dapat
lebih mudah untuk dihapami.
􀂾 Misalnya: “Proses mengisikan data ke dalam …..(dst)” menggantikan
sederetan operasi mengenai pengisian Tbl dan”Proses pencetakan ….”
yang menggantikan printah‐perintah untuk mencetak harga variabel tsb.
• Sederetan perintah yang tidak menjadi fokus untuk ditampilkan dalam
algoritma kadang‐kadang diganti dengan sejumlah beris yang berisi titik‐titik
(“.…”). Misalnya pada contoh di atas pada baris terakhir.
• Notasi‐notasi penulisan perintah mengikuti notasi yang digunakan dalam
bahasa Pascal yaitu ada yang bersifat assignment yang diikuti oleh suatu
ekspresi atau hanya satu pemanggilan prosedur tertentu.
C.3. Assignment & ekspresi
Assignment adalah pemberian nilai pada suatu variable yang bisa berupa harga literal8,
harga dari variable lain, atau harga yang dihasilkan dari suatu ekspresi. Sementara
ekspresi adalah operasi yang akan menghasilkan harga untuk diberikan pada variabel
tersebut yang bisa merupakan ekspresi aritmatis maupun atau ekspresi lojik (Lihat C.4.
Ekspresi Aritmatis & logis di bagian berikutnya). Aturan dalam penulisan assignment
adalah sebagai berikut.
• Aturan penulisannya adalah: nama variabel penerima diikuti tanda assignment
“:=” 9 selanjutnya nilai atau ekspresi yang menghasilkan nilai. Misalnya:
􀂾 “sum.x:=0” artinya variabel sum.x diberi nilai literal 0
􀂾 “t0:=(Tbl[I,0]+Tbl[I,1])/2–I*2;” artinya variabel t0 diberi harga hasil
ekspresi yang aritmatis di ruas kanan setelah tanda assignment.
8 Harga literal adalah harga‐harga yang pasti misalnya integer 0, 100, ‐33; bilangan real 29.13, ‐
21.41; string “Indonesia Raya”, “Olimpiade sains”.
9 Dalam bahasa C assignment hanya dengan tanda “=” tetapi dalam pascal tanda “=” digunakan
pada pembandingan kesamaan harga; dalam pseudopascal ini dibahas di bagian C.4. Ekspresi.
7
C.4. Ekspresi Aritmatis
Suatu ekspresi aritmatis berisikan sederetan operasi aritmatis dan jika yang jika
dijalankan akan menghasilkan suatu bilangan (integer atau real). Suatu operasi aritmatis
terjadi antara dua harga yang akan dioperasikan (disebut operand) dan sebuah operator
kecuali untuk operasi unary yang hanya memerlukan satu operand.
• Notasi‐notasi operator arimatis: perkalian (*), pembagian (/), penambahan (+),
pengurangan (‐), sisa pembagian (mod), pembagian dengan pembulatan ke
bawah (div).
• Jika ekspresi berisi beberapa operasi maka operasi dengan orde tertinggi yang
akan dilakukan terlebih dahulu.
• Urutan orde untuk operasi aritmatis mulai dari yang tertinggi hingga terendah
adalah: perkalian/pembagian/modulo/divisi, kemudian
penambahan/pengurangan (tanda / menyatakan berorde sama).
• Untuk yang berorde sama, urutan operasinya dilakukan dari kiri ke kanan
dalam penulisan ekspresi namun jika berpotensi membingungkan kadangkadang
urutan bisa dipertegas dengan bantuan tanda kurung dan penggunaan
tanda kurung memungkinkan bagian operasi yang ada di dalam tanda kurung
dilakukan terlebih dahulu. Misalnya:
􀂾 ”(Tbl[I,0]+Tbl[I,1])/2–I*2“ akan dilakukan penjumlahan Tbl[I,0] + Tbl[I,1]
terlebih dahulu kemudian hasilnya akan dibagi 2 dan dikurangi oleh
hasil perkalian antara I and 2.
• Operand‐operand bisa variabel, literal, atau hasil dari pemanggilan fungsi.
Misalnya:
􀂾 dalam “sum.x+kubik(Tbl[I,1]–t0)” yang terlibat dalam operasi adalah
sum.x, dan hasil dari pemanggilan fungsi kubik(Tbl[I,1]–t0) (Penjelasan
pemanggilan fungsi ada di bagian fungsi).
• Operasi unary adalah operasi yang hanya berlaku sebagai operasi terkiri dalam
ekspresi dengan operator minus (sama dengan pengurangan) dengan cara
penulisan: operator mendahului operand. Efek dari operasi ini adalah
memperhalikan harga operand di sampingnya itu dengan ‐1. Jika operand
berharga positif akan menjadi negatif dan sebaliknya jika berharga negatif
menjadi positif..
• Operasi tidak mengubah isi variabel‐variabel yang menjadi operand tersebut
kecuali jika ia adalah variabel yang akan menerima hasil operasi tersebut di
dalam operasi assignment hasil dari ekspresi (lihat bagian C.3. Assignment &
Ekspresi sebelumnya).
C.4. Ekspresi Lojik
Suatu ekspresi lojik bisa merupakan salah satu dari berikut ini: (1) satu harga literal
lojik, (2) suatu variabel lojik, (3) suatu ekspresi pembandingan harga, (4) operasi lojik
dari dua ekspresi lojik atau (5) negasi suatu ekspresi lojik. Keempat dan kelima
memungkinkan ekspresi kombinasi yang kompleks.
8
• Ekspresi pembandingan terdiri atas dua antitas yang akan dibandingkan dan
kriteria pembandingannya; penulisan berurutan entitas kiri kriteria
pembandingan dan entitas kanan.
• Kriteria pembanding yang dikenali adalah “=” (sama10), “”
(lebih besar), “=” (lebih besar atau sama
dengan), “” (tidak sama11).
• Entitas yang akan dibandingkan bisa berupa variabel biasa atau ekspresi
aritmatis (ekspresi aritmatis harus dituliskan di dalam tanda kurung!) atau suatu
harga literal asalkan kedua entitas yang dibandingkan berjenis harga sama.
• Operasi lojik terjadi antara dua variabel lojik dan atau harga lojik (bisa dari hasil
ekspresi pembandingan atau ekspresi lojik lain) dengan suatu operator kecuali
jika operasi negasi dianggap sebagai operasi lojik maka ia hanya menggunakan
satu operand.
• Operator‐operator lojik yang memerlukan dua operand adalah: and, or, dan xor
sementara operator negasi adalah not.
• Operator‐operator tsb dijalankan dengan urutan sesuai dengan ordenya: dari
yaang tertinggi ke yang terendah, jika sama dari kiri ke kanan dalam ekspresi.
• Urutan orde dari operator‐operator tersebut (dari tertinggi ke terendah): not,
and, or/xor (tanda / menyatakan berorde sama).
• Seperti halnya dalam ekspresi aritmatis, tanda kurung dapat digunakan untuk
mengatur urutan operasinya. Untuk menambah kejelasan algoritma kadangkadang
tanda kurung disertakan.
• Hasil ekspresi bisa diassign ke suatu variabel boolean atau bisa juga digunakan
dalam perintah kendali aliran (Dibahas di C.5. Struktur Kendali Aliran).
􀂾 Misalnya: dalam “status[I] := (Tbl[I,0] = Tb l[I,1]) or (sum.x sum.y)” di
ruas kanan terdapat operasi lojik “or” antara dua hasil pembandingan.
Pembadingan pertama adalah memeriksa kesamaan dan pembandingan
kedua adalah memeriksa ketidaksamaan. Hasil ekspresi ini diberikan ke
dalam variabel status[I] (pada posisi berindeks I dari array status).
C.5. Struktur kendali aliran
Struktur kendali aliran adalah suatu bentuk/struktur yang memiliki peranan khusus
untuk mengatur aliran urutan pengerjaan operasi atau beberapa operasi tertentu.
Terdapat sejumlah bentuk kendali aliran (atau dikenal juga dengan istilah struktur)
sebagai berikut (penjelasannya masing‐masing tedapat pada bagian D.1. s.d. D.7):
• begin‐end
o struktur untuk menjadikan sejumlah perintah atau elemen lain sebagai
satu kesatuan
• if‐then
10 Dalam bahasa C tanda pembandingan kesamaan ini dituliskan ganda (“==”) untuk
membedakannya dengan assignment.
11 Dalam bahasa C tanda pembandingan ketidaksamaan ini dituliskan dengan “!=”.
9
o struktur untuk menjalankan perintah (atau perintah‐perintah jika
disatukan dalam struktur begin‐end) setelah notasi “then” jika ekspresi
yang diperiksa (antara notasi “if” dan notasi “then”) berharga boolean
“true”.
• if‐then‐else
o struktur untuk menjalankan perintah (atau perintah‐perintah jika
disatukan dalam struktur begin‐end) setelah notasi “then” jika ekspresi
yang diperiksa (antara notasi “if” dan notasi “then”) berharga boolean
“true” dan sebaliknya jika “false” menjalankan perintah (atau perintahperintah
jika disatukan dalam struktur begin‐end) setelah notasi “false”.
• for‐do
o pengulangan perintah (atau perintah‐perintah jika disatukan dalam
struktur begin‐end) setelah notasi “do” dengan jumlah pengulangan
sejalan dengan perubahan harga iterator yang dinyatakan di antara
notasi “for” dan notasi “do”.
• while‐do
o pengulangan (iterasi) perintah (atau perintah‐perintah jika disatukan
dalam struktur begin‐end) setelah notasi “do” selama ekspresi yang
diperiksa (antara notasi “while” dan notasi “do”) berharga boolean
“true”. Jika pertama kali diperiksa langsung berharga “false” maka iterasi
sama sekali tidak dilakukan
• repeat‐until
o pengulangan (interasi) perintah atau perintah‐perintah antara notasi
“repeat” dan notasi ”until” hingga ekspresi yang diperiksa (setelah notasi
“until”) berharga boolean “true”. Jadi minimal satu kali dijalankan.
• case‐of‐end
o jika if‐then‐else adalah pencabangan aliran dengan dua cabang maka
struktur ini bisa memiliki pencabangan yang sangat banyak.
• Bentuk‐bentuk kendali tersebut bisa bersarang yaitu suatu bentuk di dalam
bentuk yang lain.
􀂾 Misalnya: di dalam for I := 0 to 99 do ada begin‐end; di dalam begin‐end
tsb ada if‐then dan kemudian di dalamnya ada lagi begin‐end dst.
• Untuk if‐then, if‐then‐else, while‐do, repeat‐until, kriteria pengendalian aliran
adalah suatu ekspresi.
􀂾 Misalnya dalam “if (status[I] or status[99‐I]) then …” sebagai ekspresi
yang diperiksa adalah hasil operasi lojik antara status[I] dengan
status[99‐I] dengan operator lojik “or”.12
12 Dalam Pascal ekspresi tidak harus dibatasi tanda kurung sementara dalam C harus. Dalam
contoh ini ekspresi tsb dibatasi dengan tanda kurung. Walaupun dalam Pseudopascal tidak
diharuskan, untuk situasi tertentu disarankan adanya tanda kurun tsb untuk membantu
memperjelas penulisan algoritma.
10
C.6. Algoritma Utama/Fungsi/prosedur
• Algoritma utama adalah badan utama dari algoritma sebagai analogi program
utama dalam program. Namun berbeda dengan program, algoritma bisa jadi
hanya merupakan bagian tertentu dari suatu program bahkan bagian dari suatu
fungsi/prosedur dari program tsb..
• Fungsi/prosedur adalah sederetan perintah/operasi seperti halnya algoritma itu
sendiri yang dipisahkan dari algoritma utamanya guna menjadikannya sebagai
subfokus dalam algoritma. Dalam suatu algoritma jika apa yang dikerjakan
dalam fungsi/prosedur itu dapat dianggap jelas maka fungsi/prosedur tersebut
tidak dituliskan atau digantikan dengan kalimat bahasa sehari‐hari..
• Pascal menyediakan sejumlah fungsi/prosedur yang siap pakai (tanpa
pemrogram menuliskan lagi fungsi/prosedur itu), dalam Pseudopascal ini
beberapa fungsi/prosedur Pascal tertentu yang sangat umum juga digunakan.
􀂾 Misalnya read (untuk membaca masukan), readln (membaca masukan
termasuk karakter “end of line”), write (untuk mencetak keluaran),
writeln (mencetak keluaran dan suatu “end of line”), eof (untuk
memeriksan apakah masukan sudah mencapai “end of file”).
• Mengikuti definisi Pascal, fungsi dibedakan dari prosedur dari adanya harga
yang dihasilkan oleh fungsi sebagai akibat dari pemanggilan/penggunaan fungsi
tersebut.
• Suatu fungsi/prosedur bisa didefinisikan dengan sejumlah argumen (istilah lain:
parameter). Pada saat pemanggilan fungsi/prosedur yang bersangkutan,
argumen ini jika ada dituliskan di dalam tanda kurung setelah nama
fungsi/prosedur itu.
• Ada dua jenis argumen: argumen bersifat “call by value” dan argumen “call by
reference”. Untuk “call by value” dalam pemanggilannya yang dikirimkan ke
fungsi/prosedur adalah harganya sementara “call by reference” yang dikirimkan
adalah variabel itu sendiri. Perbedaan kedua argumen ini dinyatakan di daftar
argumen di bagian definisi fungsi dengan mengawali nama variabel ybs dengan
notasi “var”.
􀂾 Misalnya: fungsi kubik di atas memerlukan satu argumen ‘call by value”
dan prosedur sw memerlukan dua argumen “call by reference”.
• Untuk “call by value” selain suatu harga literal, harga suatu variabel, bisa juga
hasil dari suatu operasi aritmatis atau ekspresi lojik.
􀂾 Misalnya “kubik(Tbl[I,1] – t0)” memanggil fungsi kubik dengan argumen
adalah harga yang dihasilkan dari operasi “Tbl[I,1] – t0”.
• Khususnya pada pemanggilan fungsi yang akan menghasilkan harga setelah
pemanggilan itu dilaksanakan, harga hasilnya itu kemudian menggantikannya
di dalam operasi/ekspresi yang bersangkutan.
􀂾 Misalnya: dalam “sum.x := sum.x + kubik(Tbl[I,1] – t0)” setelah
pemanggilan “kubik(Tbl[I,1] – t0)”, harga yang dihasilkannya beserta
harga dalam sum.x dijumlahkan dan hasilnya diassign kembali ke sum.x
11
• Untuk “call by reference” argumen di bagian yang melakukan pemanggilan
hanya dapat berupa variabel saja dan ke variabel itu di bagian fungsi/prosedur
jika mengalami perubahan isi (walau dengan nama variabel yang lain), saat
kembali ke pemanggil perubahan itu tetap berlaku.
􀂾 Misalnya: dalam pemanggilan “sw(sum.x, sum.y)” variabel sw.x dan
sw.y saat berada di prosedur sw dengan nama baru a dan b akan
dieprtukarkan, sehingga saat kembali isi sw.x dan sw.y sudah
bertukaran.
D. Aturan‐aturan Penulisan Struktur Kendali Aliran
Secara umum aturan‐aturan penulisan struktur kendali aliran ini mengikuti aturan
bahasa Pascal. Seperti hanya Pascal (dan bahasa‐bahasa lain, penulisan notas‐notasi,
perintah‐perintah atau ekspresi‐ekspresi tidak harus dibaris tersendiri/tertentu; bisa saja
beberapa elemen imi dituliskan bergabung dengan baris yang sama. Namun, demi
kejelasan dalam pembacaan algoritma beberapa kebiasaan dilakukan (tapi tidak harus).
• Perintah yang ditulis dalam bahasa sehari‐hari dituliskan tidak dicampur dalam
satu baris dengan elemen algoritma yang lain.
• Indentasi yang sama untuk blok struktur yang sama sangat disarankan..
D.1 Struktur begin‐end
• Perintah‐perintah dalam satu deret yang menjadi satu kesatuan struktural (satu
blok) dituliskan di antara notasi begin dan notasi end. Perintah yang ditulis
dalam notasi bahasa Pascal dituliskan dengan tanda separator “;” di akhir setiap
perintah sementara perintah dalam bahasa sehari‐hari dituliskan tanpa tanda
separator tsb.
• Jika terdapat struktur lain di antara satu begin‐end, maka struktur itu
diperlakukan sebagaimana perintah yang ditulis dalam bahasa pascal (diakhiri
separator “;”).
D.2 Strktur if‐then
• Kondisi yang akan diperiksa dalam struktur ini adalah ekspresi lojik yang
diletakan di antara notasi if dan notasi then. Perintah (atau perintah‐perintah)
yang akan dilakukan jika ekspresi lojik itu berharga boolean true diletakkan
setelah notasi then.
• Jika lebih dari satu perintah maka perintah‐perintah itu dijadikan satu kesatuan
struktur dengan tambahan notasi begin‐end yang mengapitnya.
D.3 if‐then‐else
12
• Seperti pada if‐then Kondisi yang akan diperiksa dalam struktur ini adalah
ekspresi lojik yang diletakan di antara notasi if dan notasi then. Perintah (atau
perintah‐perintah) yang akan dilakukan jika ekspresi lojik itu berharga boolean
true diletakkan setelah notasi then dan perintah (atau perintah‐perintah) yang
akan dijalankan jika berharga false diletakkan setelah notasi else.
• Baik untuk then maupun untuk else, jika lebih dari satu perintah maka masingmasing
perintah‐perintah itu dijadikan kesatuan‐kesatuan struktur dengan
tambahan notasi begin‐end yang mengapitnya (masing‐masing).
D.4 for‐do
• Di antara notasi for dan notasi do ekspresi iteratif (ekspresi yang menyatakan
bagaimana iterasi itu harus terjadi) dituliskan.
􀂾 Penulisan ekspresi iteratif berisi
􀂾 nama variabel iterator (variabel integer yang harganya akan berubahubah
sejalan dengan iterasi yang terjadi),
􀂾 setelah tanda assignment dituliskan harga awal iterator (yang bisa
merupakan suatu harga literal atau ekspresi aritmatis),
􀂾 notasi to atau downto yang menyatakan arah harga iterator menaik atau
menurun, harga terakhir interasi itu masih akan dilakukan (yang bisa
merupakan suatu harga literal atau suatu ekspresi aritmatis), dan
􀂾 jika kenaikan/penurunan bukan bilangan 1, harga perubahan yang terjadi
pada iterator setiap satu iterasi dilalui dinyatakan dengan notasi step dan
diikuti harga perubahannya (misalnya “step 2”).
• Setelah notasi do perintah (atau perintah‐perintah) yang akan dilakukan pada
setiap kali iterasi dituliskan. Jika lebih dari satu perintah maka perintah‐perintah
itu dijadikan satu kesatuan struktur dengan tambahan notasi begin‐end yang
mengapitnya.
D.5 while‐do
• Kondisi yang akan diperiksa adalah ekspresi lojik yang diltakan di antara notasi
while dan notasi do. Perintah (atau perintah‐perintah) yang akan dilakukan
secara berulang‐ulang selama ekspresi lojik itu berharga boolean true diletakkan
setelah notasi do.
• Jika lebih dari satu perintah maka perintah‐perintah itu dijadikan satu kesatuan
struktur dengan tambahan notasi begin‐end yang mengapitnya.
D.6 repeat‐until
• Kondisi yang akan diperiksa adalah ekspresi lojik yang diltakan setelah notasi
until. Perintah (atau perintah‐perintah) yang akan dilakukan dan kemudian
diulang‐ulang selama ekspresi lojik itu berharga boolean false diletakkan antara
notasi repeat dan notasi until.
D.7 case‐of‐end
13
• Hal yang akan diperiksa adalah variabel atau ekspresi arinmatis yang memiliki
harga‐harga tertentu. Variabel atau ekspresi aritmatis itu diletakkan di antara
notasi case dan notasi of.
• Di antara notasi of dan notasi end terdaftar sejumlah kemungkinan harga/kasus
dan perintah (atau perintah‐perintah) yang akan dijalankan untuk kemungkinan
harga tersebut.
• Satu harga literal13 yang mungkin14 diletakkan di sebelah kiri, diikuti notasi “:”
(titik dua) lalu diikuti oleh perintah yang akan dijalankan selanjutnya sebuah “;”
(titik koma)15.
• Jika ada beberapa perintah yang akan dijalankan maka perintah‐perintah itu
dijadikan satu kesatuan struktur dengan tambahan notasi begin‐end yang
mengapitnya.
E. Aturan‐aturan Penulisan Prosedur dan Fungsi
Secara umum aturan kerangka penulisannya mengikuti aturan dalam bahasa Pascal
kecuali beberapa hal termasuk bahwa badan algoritma di dalam fungsi atau prosedur
sesuai dengan pembahasan algoritma di atas (memungkinkan baris perintah dalam
bahasa sehari‐hari, perintah‐perintah rinci yang bukan fokus diperlihatkan sebagai baris
“….”. Seperti halnya nama variabel nama‐nama prosedur maupun function bersifat case
insentitive namun demi untuk memberikan kejelasan dalam pembacaan, penamaan
prosedur/function maupun variabel direkomendasikan untuk konsisten di setiap bagian
algoritma.
Dalam bahasa Pascal, suatu prosedur/function dapat memiliki prosedur/function
lokalnya sendiri. Dalam pseudocode ini demi kompatibilitas dengan bahasa lain, hal itu
ditiadakan.
E.1 Prosedur
Mengawali suatu prosedur notasi procedure dituliskan dan diikuti nama prosedur. Jika
ada argumen, mana argumen‐argumen didaftarkan di dalam tanda kurung dan setiap
argumen tersebut dituliskan dengan dipisahkan dengan tanda koma (“,”). Dalam
bahasa Pascal jenis variabel harus dispesifikasikan, namun dalam Pseudopascal ini
seandainya cukup jelas maka demi mempersingkat, jenis variabel bisa dihilangkan.
Untuk menunjukkan suatu argumen bersifat pass‐by‐reference maka di depan nama
argumen itu dituliskan notasi var (seperti pada bahasa Pascal).
13 Dalam Bahasa C, sebelum harga literal tsb, ada notasi “case” mendahuluinya.
14 Dalam Pascal harga yang mungkin ini bisa dinyatakan sebagai range harga yang mungkin
misalnya bilangan‐bilangan antara 1 sampai dengan 10 dengan menulisnya sebagai “1..10” atau
beberapa kemungkinan harga dengan dipisahkan koma misalnya “2, 5, 9”. Hal ini tidak ada di bahasa C
sehingga dalam Pseudopascal ini hal itu dihindari.
15 Dalam bahasa C, harus diikuti notasi “break;” karena tanpa itu maka alirannya jadi sangat berbeda.
14
Berikutnya jika ada variabel lokal yang perlu ditonjolkan didaftarkan (beserta jenis
variabel tersebut) setelah notasi var. Badan algoritma prosedur dituliskan di antara
begin dan end dan diikuti tanda “;” (titik koma).
E.2 Fungsi
Mirip seperti pada prosedur kecuali tiga hal berikut ini. Pertama, yang mengawali
fungsi adalah notasi function. Kedua, setelah nama (serta argumen‐argumennya yang
dituliskan di dalam tanda kurung), suatu notasi “:” (titik dua) dan jenis harga yang akan
dihasilkan fungsi dituliskan. Ketiga dalam badan algoritma nama fungsi digunakan
seolah suatu variabel penerima assignment yang apabila algoritma dalam fungsi selesai
dijalankan maka harga terakhir yang diberikan padanya adalah harga yang akan
dikembalikan ke algoritma pemanggil fungsi ini. Jika nama fungsi berada sebagai
operand dari suatu operasi maka yang terjadi adalah pemanggilan fungsi terhadap
disinya sendiri yang dikenal dengan istilah rekursif.

Sumber : http://anakciremai.wordpress.com

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS