Kamis, 17 Maret 2011

APLIKASI STACK PADA STRUKTUR DATA UNTUK MENGKONVERSIKAN NOTASI INFIX MENJADI NOTASI POSTFIX

1. PENDAHULUAN

Stack merupakan bagian dari struktur data yang dikategorikan ke dalam bentuk linear data, dimana operasi pemasukan maupun pengeluaran data selalu dilakukan pada salah satu sisinya[1]. Dalam dunia komputer, penggunaan stack (tumpukan) merupakan suatu hal yang umum digunakan seperti untuk penentuan alamat memory, penempatan ruang data dan aplikasi lain. Sebagai bagian dari struktur data, aplikasi stack juga digunakan untuk berbagai macam keperluan seperti pengujian kalimat palindrome, penguji tanda kurung (matching parentheses), dan juga berfungsi sebagai konversi dari notasi infix menjadi notasi postfix.

Pada perhitungan aritmatika, notasi infix adalah notasi yang menempatkan operator ditengah dua operand sedangkan notasi Postfix adalah notasi yang menempatkan operator setelah dua operand. Penggunaan notasi infix merupakan hal yang lumrah digunakan dalam perhitungan aritmatika dibandingkan dengan penggunaan notasi Postfix, akan tetapi bagi mesin kompilasi notasi Postfix merupakan notasi yang digunakan untuk melakukan suatu perhitungan.

Tulisan ini dibuat untuk memberikan gambaran secara jelas proses simulasi konversi atas dua notasi aritmatika tersebut, berdasarkan studi literatur dari beberapa buku dan dituangkan dengan bantuan bahasa pemrograman Pascal. Adapun proses konversi ini ditujukan untuk menjelaskan bagaimana mesin kompilasi dapat merubah notasi infix yang biasa digunakan oleh berbagai kalangan menjadi notasi Postfix yang dimengerti oleh mesin kompilasi sehingga suatu proses perhitungan aritmatika dapat dilaksanakan oleh komputer. Alasan pemilihan bahasa pemrograman Pascal digunakan karena fleksibilitas bahasa tersebut dalam menerangkan implementasi dan aplikasi dari struktur data dalam bentuk pemrograman [2].

2. TEORI

2.1. Definisi

Dalam dunia komputer, penggunaan stack atau tumpukan merupakan salah satu komponen penting untuk menjamin proses penanganan suatu data disamping hal lain seperti Queue (antrian), linked list, dan tree.

Definisi 1.

Stack adalah suatu koleksi atau kumpulan item data yang teroganisasi dalam bentuk urutan linear, yang operasi pemasukan dan penghapusan datanya dilakukan pada salah satu sisinya[1]

Definisi 2.

Diberikan suatu himpunan yang terurut himpunan sebagai S = {S1, S2, ......., ST}, T pada anggota S merupakan linear order, sehingga stack dari himpunan tersebut memiliki informasi sebagai berikut [1] :

1. Elemen puncak dari stack dalam himpunan S dikatakan sebagai TOPSleep, sehingga :

TOP[S} = ST ............................................................................(1)

2. Banyaknya elemen stack dalam himpunan S dikatakan sebagai NOELSleep, sehingga NOELSleep = T, dimana himpunan dari S tersebut dapat disusun sebagai :

S = {S1, S2, .........., SNOEL} .............................(2)

Dari dua definisi tersebut di atas maka suatu stack dapat digambarkan sebagai berikut :

1. Suatu stack dalam keadaan kosong akan memiliki informasi NOEL(S) = 0 dan TOP(S)= undefined.

clip_image002

S

2. Untuk stack yang bukan kosong, maka akan memiliki informasi seperti yang digambarkan di bawah ini dimana informasi yang ada adalah NOEL(S) = 1 dan TOP(S) = Merah



clip_image006

S

Untuk stack yang berisi lebih dari n jumlah data maka informasi yang ada pada stack tersebut berisikan NOEL(S) = 2 (jika berisi 2 data) dan TOP(S) = Biru seperti ditunjukan pada gambar di bawah ini :

clip_image008

S

Elemen-elemen yang berada dalam stack tersebut di atas, memiliki prinsip dasar dalam pengoperasiannya yaitu prinsip LIFO (Last In First Out) atau yang masuk paling belakang akan memiliki prioritas untuk keluar paling depan.

Suatu stack dapat digambarkan sebagai suatu array (larik) berdimensi satu yang elemen-elemennya berkisar antara 1 sampai n elemen. Dengan demikian jika suatu stack didefinisikan dengan n elemen maka dapat dikatakan jumlah maksimum dari stack atau NOEL(S) nya adalah n, sehingga penambahan elemen stack yang ke n+1 tidak diperkenankan atau stack tersebut dalam kondisi overflow. Hal tersebut juga berlaku untuk stack dengan nilai minimum yaitu NOEL(S) dari stack dalam kondisi 0, jika dilakukan operasi pengambilan elemen atas stack tersebut akan mengakibatkan stack tersebut dalam kondisi underflow. Dua kondisi tersebut merupakan dasar dalam merancang suatu aplikasi pemrograman komputer.
2.2. Operasi-operasi Stack

Dalam penggunaannya suatu stack memiliki beberapa operasi yang dapat diterapkan seperti membuat stack, penambahan eleme ke dalam stack, menghapusan elemen dari dalam stack, dan operasi lain yang berhubungan dengan stack tersebut. Adapun operasi-operasi dasar dari suatu stack adalah :

a) Create(Stack)

Operasi Create(Stack) digunakan untuk membuat suatu stack baru dengan nama stack, yang nilai elemen saat stack tersebut dibuat adalah NOEL(S) = 0, TOP(S) = NULL (tidak terdefinisikan)

b) IsEmpty(Stack)

Operasi ini merupakan operasi untuk mencek isi dari suatu stack dalam keadaan kosong atau berisi. Operasi ini memiliki 2 (dua) kondisi boolean yaitu :

a. True jika stack tersebut kosong atau dapat dikatakan NOEL(S) = 0

b.False jika stack tersebut tidak dalam kondisi kosong atau dapat dikatakan NOEL(S) > 0



c) Push(Stack, Elemen)

Operasi ini merupakan operasi untuk menambahkan satu elemen dengan nilai X pada puncak suatu stack, sehingga posisi TOP(S) akan bernilai X, penerapan operasi push pasa suatu stack S akan berakibat overflow jika NOEL(S) dari stack tersebut telah bernilai maksimum.



d) Pop(Stack)

Operasi ini berfungsi untuk menghapus satu elemen dari stack S, sehingga posisi NOEL(S) akan berkurang satu elemen, dan TOP(S) akan berubah. Operasi pop dapat menyebabkan kondisi underflow jika suatu stack S yang berada dalam kondisi minimum dikenakan operasi pop.


2.3. Notasi Infix dan Postfix

Suatu perhitungan aritmatika biasanya berhubungan dengan operand dan operator. Operand merupakan suatu karakter atau elemen yang nilainya dioperasikan dengan bantuan suatu operator untuik menghasilkan suatu solusi.

Misalkan jika diberikan suatu ekspresi aritmatika 2 * 3, maka elemen ‘dua’ dan elemen ‘tiga’ merupakan operand dari ekspresi tersebut dan elemen ‘*’ merupakan operator perkalian atas dua operand yang menghasilkan suatu solusi. Suatu ekspresi aritmatika dapat dibedakan dalam tiga bentuk notasi perhitungan yaitu :

1) Notasi prefix, jika operator ditempatkan sebelum dua operand

2) Notasi infix, jika operator ditempatkan diantara dua operand

3) Notasi postfix, jika operator ditempatkan setelah dua operand

Dalam penggunaannya, dalam kehidupan sehari-hari notasi infix merupakan notasi aritmatika yang paling banyak digunakan untuk mengekspresikan suatu perhitungan artimatik dibanding dengan dua notasi yang lain, akan tetapi notasi Postfix merupakan notasi yang digunakan oleh mesin kompilasi pada komputer dengan maksud untuk mempermudah proses pengkodean, sehingga mesin kompilasi membutuhkan stack untuk proses translasi ekspresi tersebut.
3. PEMBAHASAN
3.1.Konversi notasi infix ke postfix

Berdasarkan teori yang diterangkan tersebut di atas, proses konversi infix menjadi notasi Postfix dalam implementasinya membutuhkan stack pada proses konversinya, adapun proses tersebut memiliki 4 (empat) aturan yang digunakan, yaitu :

* Jika ditemukan simbol kurung buka “(“

Operasi push pada stack akan digunakan untuk menyimpan simbol tersebut ke dalam stack.

* Jika ditemukan simbol kurung buka “)”

Operasi pop digunakan untuk mengeluarkan operator-operator yang berada di dalam stack.

* Jika terdapat simbol operator

Jika dalam suatu untai notasi infix ditemukan simbol operator maka operasi yang dilakukan pada stack terbagi atas :

1. Jika TOP(S) dari stack tersebut kosong atau berisi simbol “(“ maka operasi push akan digunakan untuk memasukan operator tersebut pada posisi di TOP(S)
2. Jika operator yang berada dipuncak stack merupakan elemen yang memiliki tingkat yang sama atau lebih tinggi maka operasi pop digunakan untuk mengeluarkan operator tersebut diikuti operasi push untuk menyimpan operator hasil scanning untai.
3. Jika operator yang berada di puncak stack memiliki tingkat yang lebih rendah dari operator yang discan, maka operator baru akan langsung dimasukan ke dalam stack dengan operasi push.

Adapun tingkatan operator yang dilacak menurut urutan tingkat adalah :

Tabel 1. Level Operator dalam stack
Operator Level Operator dalam stack
** Tertinggi
* atau / Menengah
+ atau - Rendah

4. Jika ditemukan suatu operand

Nilai operand yang ada langsung dijadikan output dari notasi Postfix.

Dicontohkan dalam suatu aplikasi suatu ekspresi aritmatika dalam notasi infix sebagai berikut

((A * B) + C / D – E ** F) * G;

Ekspresi tersebut di atas, dikonversikan ke dalam bentuk notasi Postfix digambarkan sebagai berikut :
Indeks urutan ke- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Karakter-karakter yang akan dilacak dalam notasi infix
( ( A * B ) + C / D - E ** F ) * G ;
Operator puncak (TOP(S) ( (
( (
( *
(
( *
(
( ( +
( +
( /
+
( /
+
( -
( -
( **
-
( **
-
( * *
Output yg dihasilkan dalam bentuk postfix A B * C D / + F ** - G *

o Karakter-karakter yang akan dilacak dalam notasi infix
o Output yang dihasilkan dalam notasi Postfix

Dari contoh untai tersebut di atas, maka hasil konversi dari notasi infix menjadi notasi Postfix menghasilkan untai : A B * C D /+ E F **- G *
3.2. Implementasi algoritma Stack

Pada bahasa pemrograman PASCAL suatu stack didefinisikan dalam bentuk algoritma, hal ini dimaksudkan untuk mendapatkan hasil yang optimal dan terarah saat program tersebut di rancang dan digunakan. Dari teori tentang penggunaan stack dalam struktur data sebelumnya, suatu stack memiliki dua informasi penting yaitu adanya TOP(S) yang berisikan informasi isi untai dalam bentuk karakter dan NOEL(S) yang berisikan informasi jumlah untai yang bernilai integer dari stack tersebut.

Pada implementasinya, kedua informasi tersebut dikemas dalam bentuk record yang memuat array (larik) untuk membatasi isi dari stack, dan memberikan nilai indeks atas informasi yang masuk dalam stack tersebut pada saat dilakukan operasi. Adapun secara algoritma stack tersebut di bentuk sebagai :

Const

NoelStack = 80;

Type

Eon = Char;

Stack = Record

Top : Array [ 1 .. NoelStack] of Eon;

Noel : 0 .. NoelStack;

End;

Dari algoritma tersebut di atas, isi dari stack dapat menampung 80 karakter yang dikemas dalam bentuk record dengan nama stack.

Setelah algoritma yang memuat informasi dasar dari stack didefinisikan, pembentukan algoritma untuk operasi terhadap stack dapat disusun dalam bentuk prosedur dan fungsi yang dibuat sendiri. Adapun algoritma yang digunakan untuk operasi suatu stack adalah :

1) Algoritma Create(S)

Algoritma ini memuat suatu prosedur untuk membuat stack, yang memberikan kondisi noel dari stack akan bernilai nol dan top dari stack tersebut belum dapat didefinisikan, sehingga implementasi dari algoritma create stack adalah ;

Procedure Create(var S : Stack);

Begin

S.Noel := 0;

End;

2) Algoritma IsEmpty(S)

Algoritma untuk operasi Isempty memberikan informasi Boolean yaitu kondisi benar (true) atau salah (False), sehingga pada implementasinya algoritma ini menggunakan fungsi yang dibuat sendiri, yang terimplementasi sebagai berikut :

Function IsEmpty(Var S : Stack) : Boolean;

Begin

IsEmpty := S.Noel = 0

End;

3) Algoritma Push(S, E)

Dalam merancang algoritma untuk operasi push dimulai dengan melakukan pengecekan atas isi dari stack tersebut dalam keadaan penuh atau tidak. Kondisi stack dalam keadaan maksimum akan mengakibatkan overflow pada stack tersebut sehingga prosedur error trapping perlu didefinisikan untuk mencegah terjadinya overflow condition tersebut. Adapun implementasi dari algoritma push tersebut adalah :

Procedure Push(Var S : Stack; TipeBAru : Eon);

Begin

If S.Noel = NoelStack Then

Stackerror(1)

Else

Begin

S.Noel := S.Noel + 1;

S.Top[S.Noel] := TipeBaru

End

End;

4) Algoritma Pop(S)

Operasi terakhir dari stack adalah operasi pop yang berfungsi untuk mengeluarkan isi dari dalam stack. Seperti halnya operasi push, pada operasi pop penggunaan error trapping dipakai untuk mencek kondisi underflow yaitu kondisi stack kosong yang dikenakan operasi pop. Algoritma dari pop ini adalah :

Procedure Pop(Var S : Stack; Var NilaiStack : Eon);

Begin

If S.Noel = 0 Then

StackError(2)

Else

Begin

NilaiStack := S.Top[s.Noel];

S.Noel := S.Noel -1

End

End;

Penggunaan error trapping untuk operasi push dan pop didefinisikan lebih lanjut dalam algoritma stackerror yang digunakan untuk menentukan kondisi overflow atau underflow suatu stack. Adapun algoritma dari error trapping ini adalah ;

Procedure StackError(TingkatanError : Integer);

Begin

Case TingkatanError of

1 : WriteLn(‘Isi Stack sudah penuh... kondisi overflow’);

2 : WriteLn(‘Isi Stack Kosong ... kondisi underflow’)

End

End;

3.3.Implementasi Proses Konversi Notasi Infix ke Notasi Postfix

Dari operasi dasar yang dapat diterapkan pada suatu stack tersebut, tahap kedua dari pelaksanaan konversi notasi infix ke notasi Postfix adalah merancang bangun algoritma proses konversi, dengan cara melakukan perbandingan isi operator yang berada di dalam stack dengan operator yang dibaca untuk dimasukan dalam stack. Adapun proses perbandingan tersebut di lihat berdasarkan tingkatan operator yang tertuang dalam tabel berikut :

Tabel 3. Perbandingan Operator dalam stack dan operator yang dibaca

Operator


Nilai operator dalam stack


Nilai operator yang dibaca

)





0

(


0


5

+,-


2


1

*,/


4


3



Berdasarkan tabel tersebut suatu operator yang dibaca dan akan dimasukan ke dalam stack, terlebih dahulu melalui proses perbandingan nilai dengan operator yang ada di dalam stack sebelumnya. Dalam arti kata lain jika nilai dari operator yang berada dalam stack lebih besar dari nilai operator yang dibaca maka operator yang berada di dalam stack akan dikeluarkan sampai nilai tersebut sama atau lebih kecil. Implementasi dari algoritmanya dapat dijabarkan dalam bentuk fungsi sebagai berikut :

Function IsiDlmStack(Operator : Char) : Integer;

Begin

Case Operator Of

‘(‘ : IsiDlmStack := 0;

‘+‘,’-‘ : IsiDlmStack := 2;

‘*‘,’/’ : IsiDlmStack := 4;

End

End;

Fungsi Isidlmstack tersebut di atas merupakan fungsi level operator yang posisinya berada dalam suatu stack, adapun fungsi untuk menentukan level operator yang dibaca adalah :

Function Stackyangdibaca(Operator : Char) : Integer;

Begin

Case Operator Of

‘)‘ : Stackyangbaca := 0;

‘+‘,’-‘ : Stackyangbaca := 1;

‘*‘,’/’ : Stackyangbaca := 3;

‘(‘ : Stackyangbaca := 5

End

End;

Setelah fungsi pengecekan dilakukan, proses yang perlu dirancang selanjutnya adalah membentuk suatu prosedur untuk menyimpan operator yang dibaca ke dalam suatu susunan array yang implementasinya dibuat sebagai berikut :

Procedure SimpanChar(Ch : Char;

Var Ekspost : TipeEks;

Var Indekspost : TipeIndex);

Begin

Indekspost :=Indekspost + 1;

Ekspost := ch

End;

Dengan adanya prosedur penyimpanan operator ke dalam suatu array tersebut di atas, maka proses konversi notasi infix ke notasi Postfix disusun dalam bentuk bahasa algoritma sebagai berikut[2] :

Prosedur KonversiInfixKePostfix

1. Read Panjang suatu untai karakter

2. Create Stack

3. Push Operator ‘(‘ ke Puncak Stack

4. n := 0

5. For K := 1 To Panjang suatu untai + 1 do

If untai ke k adalah operand then

Keluarkan untai ke K dalam bentuk Output

Else

While Nilai operator dal;am stack > operator yang dibaca do

Pop Isi operator dari dalam stack

Keluarkan operator tersebut dalam bentuk output

End While

If Operator ke K = ‘)’ then

Pop isi operator dari stack

Else

Push Operator ke dalam stack

End If

End If

Panjang untai ;= n

6. End For

Dengan berpandangan pada algoritma konversi tersebut di atas, rancang bangun algoritma dalam baha pemrograman Pascal disusun sebagai berikut :

Procedure konversi infixkePostfix (eks dlm : Tipe eks;

pjg dlm : Tipe index;

var ekspost: Tipe Eks;

var panjang post : Tipe indeks);

Var

opstack : stack ;

indeksdlm, indeks post: Tipe index;

chdlm, operator, simpan : char ;

Begin

create (Opstack);

Push (Opstack, '(');

eksdlm[pjg dlm +1] := ')';

Indeks post: = 0;

For indeksdlm : = 1 to pjgdlm +1 Do

Begin

chdlm: = Eks Dlm [indeks dlm];

if ch dlm in ['A'....'Z'] then

simpan char (ch Dlm, Ekspost,indekspost)

Else

Begin

While isidlmstack(puncak stack (opstack))> stack yang dibaca (ch dlm) Do

begin

pop(opstack,operator);

simpanchar(operator,ekspost,indekspost)

end;

if chdlm = ')' then

pop(opstack,simpan)

else

push(opstack,simpan)

end

panjang post := indekspost

end;

panjang post := indekspost

end;

Sajian lengkap dari proses konversi notasi infix ke notasi Postfix dalam bahasa Pascal yang siap untuk diterapkan diuraikan di bawah tulisan ini


4. KESIMPULAN

Aplikasi konversi notasi infix ke notasi Postfix merupakan salah satu sarana untuk dapat mengetahui proses perhitungan aritmatika dalam mesin kompilasi. Penggunaan stack tersebut juga dapat dipakai untuk metode lain seperti membuat matching parentheses, maupun uji palindrome disamping penggunaannya dalam proses konversi notasi ini, yang perlu dipahami adalah suatu stack pada dasarnya merupakan array yang memuat 2 informasi penting yaitu NOEL yang berfungsi untuk mengetahui jumlah tumpukan dan TOP yang berfungsi untuk menentukan posisi puncak dari suatu stack. Stack juga memiliki 2 kondisi yang dapat menyebabkan error yaitu kondisi underflow jika stack tersebut dalam keadaan kosong dilakukan operasi ambil data (pop) dan kondisi overflow jika stack dalam keadaan penuh dilakukan operasi penambahan data. Kedua posisi ini dapat menyebabkan stack dalam keadaan tidak valid sehingga penggunaan error trapping untuk menampung kondisi tidak valid perlu diperhatikan.

Notasi infix yang umum digunakan oleh berbagai kalangan dalam melakukan suatu proses perhitungan aritmatika dapat *** disusun ke dalam notasi Postfix yang digunakan oleh mesin kompilasi sehingga pengetahuan tentang penggunaan notasi aritmatika akan lebih luas.


DAFTAR PUSTAKA

[1] LOOMIS, Mary E.S., Data Management and File Processing, Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1985.

[2] HOROWITZ, E and Sahni S.,Fundamental of Computer Algorithms, Computer Science Press, Potomac, Maryland, 1978.

[3] MCCRACKEN, Daniel D.,A Second Course in Computer Science with Pascal, John Willey & Sons, City College, New York, 1989



Listing Program

{ Program Name : Konversi.Pas

Authors : Oke Hendradhy

Version : 1.0

}



Uses crt;

const

Noelstack = 80;

Makschar = 80;



Type

Eon = char;

stack = Record

Top : array[1...Noelstack] of Eon;

Noel : 0... Noelstack;

End;

Tipeindex = 0... makschar;

Typeeks = array[1... Noelstack] of char



Var

lagi : char;

{Bentuk-bentuk operasi stack}



Function isempty(Var s : stack):Boolean;

Begin

IsEmpty : = s. noel = 0

End;



Procedure create (var s. stack);

Begin

S. Noel : = 0;

End;



procedure buatkosong (Var s. stack);

Begin

S. Noel : = 0;

End ;



Procedure stack Error (tingkat Error: integer);

Begin

Case tingkat error of

1 : Writeln (isi stack sudah terlalu penuh);

2 : Writeln (isi stack kosong);

End

End;



Procedure push( var s : stack; tipebaru : Eon);

Begin

If s. Noel = Noel stack then

stack Error(1)

Else

Begin

s.Noel : = s. Noel+1 ;

s.Top[s.Noel] : = tipebaru

End

End;





Procedure pop(var s: stack ;

var nilaistack : Eon);

Begin

If s. Noel = 0 then

Stack error(2)

Else

Begin

Nilaistack : = s.top[s.Noel];

S.Noel : = s. Noel - 1;

End

End;



{proses konversi suatu ekspresi}

Function puncak stack(s : stack) : Eon;

Begin

Puncak stack : = s.top[s.noel]

End;





Function isidlmstack (operator: char); integer;

Begin

case operator of

'(' : isidlmstack : = 0;

'+','-' : isidlmstack : = 2;

'*',','/' : isidlmstack : = 4;

End

End;



Function stackyangdibaca (operator : char): integer

Begin

Case operator of

')' : stackyangdibaca : =0;

'+','-' : stackyangdibaca : = 1;

'*','/' : stackyangdibaca : = 3;

'(' : stackyangdibaca : = 5;

End

End;

Procedure simpanchar(ch:char; Var ekspost : Tipeks;Var indekspost ; Tipeindex);

Begin

Indekspost : = indeks post+1;

ekspost [indekspost]: = ch;

End;



Procedure konversi infixkePostfix (eks dlm : Tipe eks;

pjg dlm : Tipe index;

var ekspost: Tipe Eks;

var panjang post : Tipe indeks);

Var

opstack : stack ;

indeksdlm, indeks post: Tipe index;

chdlm, operator, simpan : char ;



Begin

create (Opstack);

Push (Opstack, '(');

eksdlm[pjg dlm +1] := ')';

Indeks post: = 0;

For indeksdlm : = 1 to pjgdlm +1 Do

Begin

chdlm: = Eks Dlm [indeks dlm];

if ch dlm in ['A'....'Z'] then

simpan char (ch Dlm, Ekspost,indekspost)

Else

Begin

While isidlmstack(puncak stack (opstack))> stack yang dibaca (ch dlm) Do

begin

pop(opstack,operator);

simpanchar(operator,ekspost,indekspost)

end;

if chdlm = ')' then

pop(opstack,simpan)

else

push(opstack,simpan)

end

panjang post := indekspost

end;

panjang post := indekspost

end;





produce konversi ekspresi;

var

indeks panjangdlm, panjang post :tipe index;

eksdlm,ekspot :tipe eks



begin

lagi :='y';

While (upcase(lagi) ='x' do

Begin

clsscr;

panjangdlm := 0

while not eoln do

begin

panjangdlm:=panjangdlm +1;

read(eksdlm[panjangdlm])

end;

readln ;

write('ekspresi infix:');

for index := 1 to panjangdlm do

write(eksdlm[index]);

writeln;

konversiinfixkePostfix(eksdlm, panjangdlm, ekspost, panjang post);

write ('dalam bentuk Postfix')

for indeks := 1 to panjangpost do

write (ekspost [indeks]);

writeln;

writeln;

write ('ada data lagi.'); readln (lagi)

end;

End;



begin

konversi ekspresi;

end

ASTAGA KETAHANAN NASIONAL

Astagatra Ketahanan Nasional
Saya mencoba memberikan penilaian dengan share value 1-10.
1. Geografi
Saya memberikan Nilai 9. Indonesia adalah negara strategis karena dikelilingi oleh 2 benua dan 2 samudera terbesar di dunia. Kondisi geografis ini membuat Indonesia menjadi Negara kepulauan dan maritime. Bahkan di juluki zamrud khatulistiwa. Indonesia juga di percaya oleh PBB sebagai Negara yang menjadi paru-paru dunia dimana banyaknya hutan tropis di Indonesia.
2. Sumber Daya Alam
Saya memberikan nilai 8. Indonesia memiliki kekayaan alam yang sangat melimpah. Baik itu yang ada di darat maupun di laut. Kekayaan itu tersebar secara merata. Dari sabang samapi merauke. Indonesia dijajah pun karena kekayaan alamnya. Akan tetapi karena terbatasnya SDM yang kita miliki menyebabkan proses pengekplorasian sumber daya ala mini banyak dilakukan oleh pihak asing dan Indonesia hanya mendapatkan sebagian kecil dari hasil SDA nya.
3. Penduduk
Saya memberikan nilai 7. Di Indonesia, pertumbuhan penduduk tidak sebanding dengan pertumbuhan ekonomi. Selain itu usaha dari pemerintah untuk meningkatkan kualitas penduduk kurang begitu efektif. Dengan tidak meratanya pembangunan, tidak merata pula penyebaran penduduk sebagai contoh pulau Jawa yang sudah kelebihan penduduk.. Proses transmigrasi pun kurang di galakkan lagi oleh pemerintah.
4. Ideologi
Saya memberikan nilai 7. Ideologi bangsa Indonesia adalah ideologi pancasila. Pancasila sebagai asas tunggal di Indonesia dan menjadi pandangan hidup. Akhir-akhir ini muncul isu adanya pengalihan ideologi bangasa kita dari Pancasila ke Negara Islam. Ini tidak mudah karena Pancasila memuat dan meangakomodir segala golongan baik itu agama, suku, kebudayaan, ras dan lain sebagainya.
5. Politik
Saya memberikan nilai 6. Mungkin hanya di Indonesia pemilan umum di ikuti oleh 42 partai politik dan akhirnya hanya 9 parpol yang duduk di pemerintahan mewakili rakyat. Ini merupakan imbas dari proses demokrasi di Indonesia. Akan tetapi belum sepenuhnya partai politik tersebut yang mengakomodir aspirasi rakyat. Kebanyakan partai politik hanya menjadi kendaraan bagi segelintir orang untuk mencapai kekuasaan. Bisa dikatakan pula orang yang bernaung di partai poltik tersebut semuanya gila kekuasaan dan gila hormat. Kondisi ini tidak bisa di pertahankan karena akan membahayakan proses pemerintahan di Indonesia. Tapi ada fenomena baru pada pemilihan umum 2009 di Indonesia. Muncul Wakil Presiden yang non- partai dan akhirnya menjadi pemenang pada pilpres 2009. Hal ini patut di apresiasikan.
6. Ekonomi
Saya memberikan nilai 9. Keadaan ekonomi di Indonesia saat ini sangat menggembirakan dimana tingkat pertumbuhan ekonomi kita berada pada level 4-5 persen pada 2009 dan di prediksi pada 2014 sekitar 7-9 persen. Dan pada tahun ini pula Indonesia melakukan swasembada beras. Pertama sejak orde lama. Banyak juga program pemerintah yang berhasil meningkatakan kesejahteraan rakyat. Tingkat pengagguran pun menurun walaupaun hutang dalam negri kita sedikit meningkat Akan tetapi Indonesia bias lebih berbangga karena Negara kita tidak terlalu terkena imbas dari global ekonomi. Bhakan pertumbuhan ekonomi kita terbaik se Asia Pasifik.
7. Sosial-Budaya
Saya memberikan nilai 8. Istilah sosial budaya menunjuk kepada dua segi utama kehidupan bersama manusia, yaitu segi kemasyarakatan atau sosial dan segi kebudayaan atau budaya. Untuk adaptasi dengan lingkungan yang merupakan syarat bagi kelangsungan hidup, maka manusia harus mengadakan kerjasama dengan sesama manusia. Karena sudah kodratnya manusia adalah mahluk sosial bukan mahluk individu.
Indonesia terdiri dari beragam kebudayaan yang tersebar di seluruh penjuru Indonesia tetapi mereka dapat hidup berdampingan dan jarang terjadi konflik. Kalau pun terjadi konflik, itu disebabkan oleh orang-orang yang tidak bertanggungjawab.
8. Hankam
Saya memberikan nilai 7. Mengenai masalah pertahanan keamanan, bangsa Indonesia sangat kurang. Masih sering terjadi konflik dimana-mana. Dalam beberapa tahun terakhir, sering terjadi pemboman di Indonesia. Bahkan baru-baru saja Jakarta di bom lagi. Pelakunya pun sudah merilis pertanggung jawabannya di internet. Mabes Polri dan pejabat keamanan terkait masih menganalisis keorisinalitas pernyataan tersebut. Kisruh keamanan ini kian panas manakala terjadi menjelang pengumuman hasil pilpres 2009. Tapi kita juga patut mengapresiasi aparat keamanan yang cukup efektif dan berhasil menangkap satu persatu pelaku teroris dan berhasil pula mengamankan keamanan sekitar 5tahun terakhir ini. Kita doakan saja gembong teroris segera tertangkap dalam waktu dekat ini.
Diposkan oleh Fabiano di 19:13
Kirimkan Ini lewat Email BlogThis! Berbagi ke Twitter Berbagi ke Facebook

keindahan alam yang saya sukai dan tidak

keindahan alam yang saya sukai dan tidak
dimulai dari tempat /keindahan alam indonesia yg saya suka yaitu PANTAI NGURBLOAT/PANTAI PASIR PANJANG yang terletak di tual,maluku tenggara.kenapa saya memilih itu selain maluku sebagai kampung asal sya tepatnya tual , dobo, saya menilai dari aspek keindahan alamnya.langsung saja ke artikelnya !

Pantai Ngurbloat,pantai dengan pasir putih paling halus di dunia atau lebih dikenal oleh penduduk kota Tual dengan Pantai Pasir Panjang, terletak di Desa Ngilngof di bagian barat Pulau Kei Kecil.



Pasir putihnya yang membentang sekitar 5 Km, ribuan pohon kelapa yang terhampar dipinggir pantai, air laut yang jernih membiru dan ombak yang tenang akan membuat anda betah berlama-lama ditempat ini. Kawasan ini masih sangat alami dan merupakan daerah wisata yang mudah di jangkau oleh penduduk di Pulau Kei ini.

Selain itu, warna pasir Pantai Ngurbloat ini putih cerah dan sangat lembut. Dalam kondisi mendung pun, pasir pantai tetap terlihat berkilau dan cukup menyilaukan mata. Pada saat kondisi panas terik, pasir pantai ini tidak ikut menjadi panas seperti pasir-pasir pantai pada umumnya. Kelembutan pasir yang ada di Pantai Ngurbloat diyakini masyarakat hanya dapat ditandingi oleh kelembutan tepung. Kondisi itulah yang membedakan Ngurbloat dengan pantai lainnya.
Bagi wisatawan yang membawa anak balita, jangan lupa membawa peralatan untuk bermain pasir. Butiran pasir pantai yang halus menjadikan kulit terasa nyaman saat bersentuhan dengannya.
Di kawasan itu juga orang bisa berenang. Lokasinya cukup aman dan luas karena Pantai Ngurbloat landai. Pulau–pulau kecil yang terletak berhadapan dengan pantai itu membuat ombak laut di pantai tersebut tidak terlalu besar dan arusnya pun tidak terlalu kuat.
Sejumlah kamar di beberapa penginapan di sekitar situ disediakan untuk wisatawan yang ingin bermalam di tepi pantai. Penginapan–penginapan tersebut umumnya berupa rumah panggung ala tropis yang terbuat dari kayu.
Pantai Ngurbloat yang terletak di pesisir barat Pulau Kei Kecil berjarak sekitar 20 kilometer dari Tual, ibu kota Kabupaten Maluku Tenggara. Daerah itu dapat dicapai dengan menggunakan mobil sewaan ataupun angkutan umum yang berpangkalan di Pasar Ohoijang, Langgur. Perjalanan dari Tual ke Pantai Ngurbloat ditempuh sekitar satu jam. Terdapat sejumlah perkampungan kecil yang letaknya terpencar–pencar di antara hamparan padang belukar.
Tanah di Pulau Kei Kecil yang berupa batu karang menyebabkan hanya tanaman jenis tertentu yang dapat tumbuh di sana. Jarang sekali ditemukan pohon–pohon besar dan rimbun.
Untuk ke Maluku Tenggara sendiri, wisatawan dapat menggunakan pesawat terbang ataupun kapal laut dari Ambon. Perjalanan dari Bandar Udara Pattimura, Ambon, menuju Bandar Udara Dumatubun di Langgur ditempuh sekitar 1,5 jam dengan menggunakan pesawat berbadan kecil. Hampir setiap hari terdapat penerbangan dari Ambon menuju Langgur dengan maskapai yang berbeda–beda.
Bagi yang gemar menggunakan angkutan laut, perjalanan dapat dilakukan dari Pelabuhan Yos Sudarso, Ambon, menuju Pelabuhan Tual. Perjalanan ini berlangsung sekitar 18 jam dengan menggunakan kapal penumpang milik PT Pelni. Waktu tempuh tersebut termasuk singgah sekitar dua jam di Pelabuhan Banda Naira. Namun, perjalanan laut ini biasanya hanya satu kali dalam satu minggu.
RANGKUMANNYA:

Pantai Ngurbloat,pantai dengan pasir putih paling halus di dunia atau lebih dikenal oleh penduduk kota Tual dengan Pantai Pasir Panjang.

terletak di Desa Ngilngof di bagian barat Pulau Kei Kecil.
di sini kita bisa menikmati ribuan pohon kelapa yang terhampar dipinggir pantai, air laut yang jernih membiru dan ombak yang tenang akan membuat anda betah berlama-lama ditempat ini gan,dan tentu saja,hamparan pasir putih yg membentang sejauh 5km.

Pasir pasir di pantai ini putih cerah dan sangat lembut ,bahkan di waktu mendung,dan di saat panas terik,pasir tersebut tidak menjadi panas seperti pasir2 lain pada umumya






Kepadatan Penduduk di Jakarta
Mungkin kalian sudah tidak asing mendengar tentang padatnya penduduk di Jakarta. Ya memang wajar karena Jakarta hingga sekarang adalah ibu kota sekaligus pusat pemerintahan Republik Indonesia, kepadatan ini mungkin disebabkan karena kurang meratanya pembangunan di setiap daerah di Indonesia sehingga warga - warga dari daerah lain akan bermigrasi ke Jakarta, akibat kepadatan ini antara lain
RUMAH DI BANTARAN SUNGAI
Kalau dilihat memang agak sulit menemukan solusinya karena ada faktor tertentu misalnya masalah perekonomian yang belakangan ini menurun di negara kita ini. Namun bukan tidak ada solusinya, misalnya pengendalian jumlah penduduk, transfer penduduk, dan yang mungkin saat ini sedang direncanakan yaitu pemindahan pusat pemerintahan ke kota lain. Yang pertama yaitu pengendalian jumlah penduduk, di Indonesia sendiri sebenarnya sudah menerapkan program untuk mengendalikan jumlah penduduk yaitu dengan adanya PROGRAM KELUARGA BERENCANA, program ini terbukti lumayan ampuh untuk menekan jumlah penduduk di Jakarta walaupun disebagian daerah masih ada warga yang belum menerapkan program ini. Kedua yaitu dengan cara transfer penduduk yaitu dengan memberi penyuluhan dan kerja nyata oleh pemerintah bahasa kasarnya yaitu untuk menyuruh warga - warga pendatang ataupun warga pribumi untuk pindah ke daerah atau kota lain demi memajukan daerah yang bersangkutan tersebut, namun cara ini mungkin tidak efisien karena penduduk di Jakarta mungkin sudah betah dengan kota ini. Ketiga yaitu dengan cara memindahkan pusat pemerintahan dari kota jakarta ke daerah lain, memang program ini agak riskan karena dari awal negara Indonesia merdeka pusat pemerintahannya adalah di Jakarta ini. Namun program ini jika dilaksanakan akan memberikan pengaruh besar bagi penduduk di Jakarta, orang - orang yang bersangkutan dengan pemerintahan juga akan ikut pindah ke daerah tersebut belum lagi warga - warga dari daerah lain mungkin akan tidak ke Jakarta lagi karena daerah yang akan dijadikan pusat pemerintahan itu pasti akan dikembangkan dan dibuat lebih maju seperti Jakarta dan otomatis mereka akan kesana. Memang agak sulit pelaksanaannya dan belum tentu warga yang ada di jakarta akan ikut pindah walau hanya beberapa persen. Itulah mungkin beberapa solusi untuk mengurangi kepadatan penduduk yang membludak di Jakarta walaupun mungkin tidak akan seefisien rencananya.
Mungkin ini hanya opini saya terhadap solusi untuk menangani kepadatan penduduk di Jakarta.

3 unsur dasar wawasan nusantara

1. wadah (contour)


Wadah kehidupan bermayarakat, berbangsa, dan bernegara meliputi seluruh wilayah Indonesia yang memiliki sifat serba nusantara dengan kekayaan alam dan penduduk serta aneka budaya ialah bangsa Indonesia. Setelah menegara dalm negara Kesatuan Republik Indonesia, bangsa Indonesia memiliki organisasi kenegaraan yang merupakan wadah berbagai kegiatan kenegaraan dalam wujud supra struktur politik, sedangkan wadah dalam kehidupan bermasyarakat adalah berbagai kelembagaan dalam wujud infra struktur politik.
Dari Penjelasan di atas, dapatlah dilihat bahwa wadah yang dimaksud dalam unsur pertama ini adalah batas ruang lingkup atau bentuk wujud dari Negara Kesatuan Republik Indonesia yang diumumkan melalui Dekrit Juanda tanggal 13 Desember 1957. Deklarasi ini menyatakan bahwa bentuk geografi Indonesia merupakan negara kepulauan yang terdiri atas ribuan pulau besar dan kecil. Deklarasi ini kemudian disahkan melalui Perpu No. 4 tahun 1960 tentang perairan Indonesia. Bentuk wujud ini tidak dapat dipisahkan dari azaz Archipelago yang telah diperjuangkan pada pertemuan konvensi hukum laut internasional tahun 1982, mengikat semua negara. Oleh karena itu bentuk nusantara batas-batasnya ditentukan oleh laut, sejauh 12 mil dengan di dalamnya terdapat pulau-pulau serta gugusan pulau, berjumlah 17.508 buah pulau (11.808 diantanya belum mempunyai nama), yang satu sama lain dihubungkan, tidak dipisahkan oleh air, baik berupa laut dan selat. Dengan demikian bentuk wujud nusantara sekarang ini terdiri 65% wilayah laut/perairan dan 35% daratan. Luas seluruhnya kira-kira 5 juta km2 luas daratan, dengan panjang pantai 81.000 km. Adapun topografi daratannya merupakan pegunungan dengan gunung-gunung berapi, baik yang masih aktif maupun yang sudah tidak aktif. Nusantara Indonesia disamping bentuk wujud di atas, juga mempunyai letak geografis yang khas, yaitu sebagai inti daripada posisi silang dunia, yang mempunyai pengaruh yang besar dalam tata kehidupan dan sifat perikehidupan nasionalnya.


2. isi (content)


“Isi” adalah inspirasi bangsa yang berkembang di masyarakat dan cita-cita serta tujuan nasional yang terdapat dalam Pembukaan UUD 1945. Menyadari bahwa untuk mencapai aspirasi yang berkembang di masyarakat maupun cita-cita dan tujuan nasional seperti tersebut di atas bangsa Indonesia harus mampu menciptakan persatuan dan kesatuan dalam kebhinekaan dalam kehidupan nasional yang berupa politik, ekonomi, sosial budaya, dan hankam. Oleh karena itu “isi” menyangkut dua hal yang esensial yakni: Pertama, Realisasi aspirasi bangsa sebagai kesepakatan bersama dan perwujudannya, pencapaian cita-cita tujuan nasional, dan Kedua. Persatuan dan kesatuan dalam kebhinekaan yang meliputi semua aspek kehidupan nasional.
Berdasarkan kedua hal yang disebutkan di atas, maka dapat dilihat tujuan nasional yang telah dirumuskan dalam pembukaan undang-undang dasar kita yang, berbunyi “kemudian daripada itu untuk membentuk suatu pemerintahan negara Indonesia yang melindungi segenap bangsa Indonesia dan seluruh tumpah darah Indonesia dan untuk memajukan kesejahteraan umum, mencerdaskan kehidupan bangsa, dan ikut melaksanakan ketertiban dunia berdasarkan kemerdekaan, perdamaian abadi dan keadilan sosial”.
Merupakan bentuk nyata dari isi konsepsi wawasan nusantara yang harus menjadi cita-cita seluruh bangsa Indonesia, yang pada hakekatnya bertujuan unutk mewujudkan kesejahteraan, ketentraman, dan keamanan bagi bangsa Indonesia dan pula untuk kebahagiaan serta perdamaian bagi seluruh umat manusia.

3. tatalaku (conduct)



Tata laku merupakan hasil interaksi antara wadah dan isi, yang terdiri dari tata laku batiniah dan lahiriah. tata laku batiniah mencerminkan jiwa, semangat, dan mentalitas yang baik dari bangsa Indonesia, se¬dangkan tata laku lahiriah tercermin dalam tindakan, perbuatan, dan perilaku dari bangsa Indonesia. Kedua hal tersebut akan mencermin¬kan identitas jati diri atau kepribadian bangsa Indonesia berdasarkan kekeluargaan dan kebersamaan yang memiliki rasa bangga dan cinta kepada bangsa dan tanah air sehingga menimbuhkan nasionalisme yang tinggi dalam semua aspek kehidupm nasional.



Ø Landasan – landasan Kedudukan wawasan nusantara dalam paradigma nasional :


1) Wawasan Nusantara sebagai Wawasan Nasional Indonesia


Sebagai bangsa majemuk yang telah menegara, bangsa Indonesia dalam membina dan membangun atau menyelenggarakan kehidupan na¬sionalnya, baik pada aspek politik, ekonomi, sosbud maupun han¬kamnya, selalu mengutamakan persatuan dan kesatuan bangsa serta kesatuan wilayah. Untuk itu pembinaan dan penyelenggaraan tata ke¬hidupan bangsa dan negara Indonesia disusun atas dasar hubungan timbal balik antara falsafah, cita-cita dan tujuan nasional, serta kondisi sosial budaya dan pengalaman sejarah yang menumbuhkan kesadaran tentang kemajemukan dan kebhinekaannya dengan mengutamakan persatuan dan kesatuan nasional.
Gagasan untuk menjamin persatuan dan kesatuan dalam kebhi¬nekaan tersebut merupakan cara pandang bangsa Indonesia tentang diri dan lingkungannya, yang dikenal dengan istilah Wawasan Ke¬bangsaan atau Wawasan Nasional Indonesia dan diberi nama Wawasan Nusantara, disingkat "Wasantara."Dari pengertian-pengertian seperti di atas, pengertian yang digu¬nakan sebagai acuan pokok ajaran dasar Wawasan Nusantara ialah Wa¬wasan Nusantara sebagai geopolitik Indonesia, yaitu cara pandang dan sikap bangsa Indonesia mengenai diri dan lingkungannya yang serba-beragam dan bemilai strategis dmgan mengutamakan persattsan dan ke¬satuan wilayah dan tetap menghargai serta menghormati kebhinekaan dalam setiap aspek kehidupan nasional untuk mencapai tujuan nasional


2) Landasan Idiil: Pancasila


Pancasila telah diakui sebagai ideologi dan dasar negara yang teru¬muskan dalam Pembukaan UUD 1945. Pada hakikatnya, Pancasila mencerminkan nilai keseimbangan, keserasian, keselarasan, persatuan dan kesatuan, kekeluargaan, kebersamaan dan kearifan dalam mem¬bina kehidupan nasional. Perpaduan nilai-nilai tersebut mampu me¬wadahi kebinekaan seluruh aspirasi bangsa Indonesia. Pancasila me¬rupakan sumber motivasi bagi perjuangan seluruh bangsa Indonesia dalam tekadnya untuk menata kehidupan di dalam Negara Kesatuan Republik Indonesia secara berdaulat dan mandiri. Pancasila sehagai falsafah, ideologi bangsa, dan dasar negara mempunyai, kekuatan hukum yang mengikat para penyelenggara negara, para pimpinan pe¬merintahan, dan selurula rakyat Indonesia
Pancasila dalam kehidupan bemnasyarakat, ber¬bangsa, dan bernegara diaktualisasikan dengan mensyukuri segala anu¬gerah Sang Pencipta baik dalam wujud kanstelasi dan posisi geografi maupun segala isi dan potensi yang dimiliki oleh wiiayah nusantara untuk dimanfaatkan sebesar-besarnya bagi peningkatan harkat,mar¬tabat bangsa dan negara Indonesia dalam pergaulan antarbangsa. Hal¬-hal tersebut menimbulkan rangsangan dan dorongan kepada bangsa Indonesia untuk membina dan mengembangkan segala aspek dan di¬mensi kehidupan nasionalnya secara dinamis, utuh dan menyeluruh agar ia mampu mempertahankan identitas, integritas, dan kelang-sungan hidup serta pertumbuhannya dalam perjuangan mewujudkan cita-cita nasional. Setelah menegara dalam menyelenggarakan kehidu¬pan nasionalnya, bangsa Indonesia menghadapi lingkungan yang terus berubah dan merasa perlu memiliki cara pandang atau Wawasan:Nu¬santara yang akan menghindarkannya dari bahaya penyesatan dan pe¬nyimpangan.
Wawasan Nusantara, pada hakikatnya merupakan pan¬caran dari falsafah Pancasila yang ditempkan dalam kondisi nyata Indo¬nesia.
Dengan demikian, Pancasila sebagai falsafah-bangsa Indonesia telah dijadikan landasan idiil dan dasar negara sesuai dengan yang tercantum pada Pembukaan UUD 1945: Karena itu, Pancasila sudah seharusnya serta sewajarnya menjadi landasan idiil Wawasan Nusantara.


3) Landasan Konstitusional: UUD 1945


UUD 1945 merupakan konstitusi dasar yang menjadi pedoman pokok dalam kehidupan bermasyarakat, berbangsa, dan brnegara. Bangsa In¬donesia bersepakat bahwa Indonesia adalah negara kesatuan yang ber¬bentuk republik dan berkedaulatan rakyat yang dilakukan-sepenuhnya oleh Majelis Permusyawaratan Rakyat. Karena itu, negara mengatasi segala paham golongan, kelompok, dan perseorangan serta meng¬hendaki persatuan dan kesatuan dalam segenap aspek dan dimensi ke¬hidupan nasional. Artinya, kepentingan negara dalam segala aspek dan perwujudannya lebih diutamakan di atas kepentingan golongan, ke¬lompok, dan perseorangan berdasarkan aturan, hukum, dan per¬undangan-undangan yang berlaku yang memperhatikan Hak Asasi Manusia (HAM), aspirasi masyarakat, dan kepentingan daerah yang berkembang saat ini.
Bangsa Indonesia menyadari bahwa bumi, air, dan dirgantara di atasnya serta kekayaan alam yang terkandung di dalamnya dikuasai oleh negara dan dipergunakan sebesar-besamya untuk kemakmuran rakyat. Karena itu, bangsa Indonesia bertekad mendayagunakan se¬genap kekayaan alam, sumber daya, serta seluruh potensi nasionalnya berdasarkan kebijaksanaan yang terpadu, seimbang, serasi, dan selaras nntuk mewujudkan kesejahteraan dan keamanan segenap bangsa dan seluruh tumpah darah dengan tetap memperhatikan kepentingan daerah penghasil secara proporsional dalam ke
Dengan demikian, UUD 1945 seharusnya dan sewajamya menjadi landasan konstitusional dari Wawasan Nusantara yang merupakan cara pandang bangsa Indonesia dalam kehidupan bermasyarakat, berbangsa, dan bernegara.

INDONESIA SEXY

INDONESIA SEXY :)
“ Raja Ampat lies hidden in a remote corner of the sea, surrounded by the world’s most-complicated island geography. It’s a coral universe with enormous currents and tides bathing the reefs in an endless plankton stew. The combination of an infinite range of habitat and rich currents has produced an undersea wilderness dripping in biodiversity. A true Last Place on Earth “ - David Doubilet and Jen Hayes




Suasana hiruk pikuk porter menyambut kami yang baru saja mendarat di bandar udara Domine Eduard Osok, Sorong – Papua Barat. Semuanya menawarkan bantuan mengangkat barang barang bagasi. Perjalanan sepanjang 7 jam ini memang terasa melelahkan. Sejak jam 3 pagi kami sudah berkumpul di Bandara Soekarno Hatta untuk mengejar penerbangan pukul 5 pagi. Namun siapa yang peduli, kalau kita akan menikmati petualangan surga bawah laut yang terkenal di seluruh dunia.
Kepulauan Raja Ampat terletak di barat laut kepala burung Pulau Papua, dengan kurang lebih 1500 pulau kecil dan atoll serta 4 pulau besar yang utama, yakni Misol, Salawati, Bantata dan Waigeo. Luas area ini kurang lebih 4 juta hektar persegi darat dan lautan - termasuk sebagian teluk Cendrawasih - membuatnya sebagai taman laut terbesar di Indonesia.

Kehidupan hayati dan biota laut Raja Ampat paling kaya dan beranekaragam dari seluruh area taman laut di wilayah segitiga koral dunia, Philipina – Indonesia – Papua Nuigini. Segitiga coral ini merupakan jantung kekayaan terumbu karang dunia yang dilindungi dan ditetapkan berdasarkan konservasi perlindungan alam Internasional.
Ini adalah perjalanan ke tiga menyelam di Raja Ampat. Berbeda dengan perjalanan sebelumnya dimana tinggal di sebuah resor di daratan pulau. Kini saya dan sebelas teman lainnya, memutuskan memakai kapal untuk membawa kami berlayar selama seminggu penuh
.
MV Raja Ampat, adalah kapal jenis phinisi yang telah didisain dan dirombak sesuai kebutuhan penyelaman. Kapal ini terdiri kamar berAC, ruang makan, perlengkapan dan kompresor dan fasilitas lainnya. Dengan kecepatan sekitar 10 – 12 knot, kapal ini meninggalkan pelabuhan Sorong menuju selat Dampier di antara Pulau Batanta dan Waigeo. Udara agak berangin dengan permukaan laut yang tenang. Sambil menunggu makan malam kami membongkar peralatan diving dan mempersiapkan kamera photo dan kotak kedap air – housing kamera - di ruang depan.
Memoret bawah air memerlukan ketelitian yang sangat tinggi. Ini terutama memastikan knob pengunci housing kamera atau O-ring terpasang. Sering kali karena keteledoran, kamera dan lensa seharga puluhan juta bisa rusak kemasukan air laut.

Add caption

Dalam penyelaman di Raja Ampat saya membawa 2 kamera, Nikon D 300 dan Nikon D 200. Satu kamera saya pegang sendiri, dan yang lain akan saya titipkan pada dive guide kami. Kebiasaan membawa 2 kamera sekaligus ke bawah air, untuk mengantisipasi menemukan spot spot yang berbeda antara macro photography dan wide angle.
Ini disebabkan begitu kita menyelam, tidak bisa mengganti lensa yang sudah terpasang di dalam housing kamera. Variasi lensa yang saya pakai adalah Nikon 10,5 mm, 12 – 24mm, 18 -70mm, 60mm Macro dan 105mm Macro. Kadang saya menambah diopter atau doubler untuk lensa macro. Sesuai prinsip fisika dan ketebalan air, maka spectrum warna akan berkurang semakin dalam kita menyelam. Pertama warna merah akan hilang di kedalaman 5 meter, lalu warna kuning / oranye hilang di kedalaman 10 meter, disusul warna hijau sampai akhirnya tinggal warna biru yang tersisa di kedalaman 18 meter kebawah.
Sehingga kita membutuhkan flash strobe untuk mengembalikan warna warna yang hilang tadi. Dalam pemotretan wide angle, dengan rentang light arm yang lebar saya memakai 2 buah strobe Ikelite DS 200 dan kadang mengganti – mengkombinasikan - dengan Ikelite DS 125. Lalu untuk macro photography dengan rentang arm yang lebih pendek ,saya pasang Ikelite DS 125 sebagai sumber utama dengan Ikelite DS 51 sebagai fill in cahaya.
Setelah bermalam di sebuah teluk Pulau Mioskon yang tenang, pagi ini kami akan memulai petualangan ini. Langit sangat cerah dan terlihat burung burung berterbangan menuju pucuk pucuk pohon di karang pulau. Memang sebuah awal hari yang indah.
Mike’s point dan Pulau Mioskon salah satu spot penyelaman populer di sekitar selat Dampier. Merupakan pulau karang kecil dikelilingi oleh terumbu karang plateau dengan didominasi soft coral berwarna warni serta table coral yang besar besar.


Di Mike’s point kita benar benar berasa dalam aquarium raksasa. Begitu banyak jumlah ikannya mulai sweetlips, bumphead parrotfish sampai snapper, justru membuat kita sendiri bingung hendak memotret yang mana. Arus yang agak keras memungkinkan hal ini terjadi. Ada pameo No Current No Life. Karena semakin banyak arus justru semakin banyak ikan. Disini juga sering ditemui pigmy seahorse. Kuda laut yang sangat kecil dan mengkamuflase dirinya sesuai lingkungannya. Tentu saja mata kita harus jeli sekaligus memakai lensa makro untuk mendapatkan gambarnya secara detail.









Kawasan Raja Ampat memiliki lebih dari 1,070 jenis species ikan, 600 jenis species terumbu karang, dan 699 jenis molusca. Bandingkan dengan kawasan seluruh Karibia yang hanya memiliki tidak lebih dari 70 jenis terumbu karang. Tidak ada tempat di muka bumi ini yang memiliki begitu banyak keanekaragaman biota laut sebanyak Raja Ampat. Ini bisa jadi disebabkan jumlah populasi penduduk yang sangat sedikit yang masih menggunakan alat pancing tradisional serta akses terbatas antar pulau yang justru melindungi ekosistem alam ini dari kerusakan. Hari hari selanjutnya dipenuhi dengan kegembiraan yang meluap luap, karena semakin sering kita menyelam, semakin sering juga mendapatkan obyek obyek photo yang – bagi underwater photografer – sulit di temui di belahan Indonesia lainnya.
Di Sardine Reef, saya melihat hiu wobegong yang tidur bersandar diatas pasir dipojok sebuah koral. Ini sejenis hiu kecil dengan pola totol totol di seluruh tubuhnya. Umumnya hiu ini hanya berdiam diri saja. Tetapi tidak untuk yang ini, tiba tiba ia melesat melayang menjauh.

Dekat pulau fam, banyak ditemui spot spot penyelaman dengan area terumbu karang, sponges dan soft coral dengan semburat warna menyolok. Berbeda dengan jenis topografi di Kri, disini cenderung dinding karang – walls – walau ada juga karakteristik sloping reef. Banyak ditemui jenis nudibranch atau biasa disebut kelinci laut, bagian dari keluarga Molusca.
Kami menyempatkan berjalan jalan menyusuri pulau pulau kecil tak berpenghuni, dengan batu batu karangnya yang mencuat. Dikelilingi air yang tenang dan jernih kehijauan. Siapa yang bisa meragukan bahwa ada tempat tempat eksotik dan indah di bumi Indonesia ? Menjelang sore kami dibawa oleh guide untuk memburu kehadiran Mandarin Fish. Ikan ikan kecil ini bermotif biru, merah, oranye seperti corak motif budaya Cina. Tidak tahu kenapa, jenis ikan ini hanya muncul sekitar magic hours – jam jam tertentu – yakni sekitar pukul 5 – 6 sore. Setelah beberapa lama menunggu, sejumlah ikan mandarin muncul dan berpose meliuk liuk dari balik fire coral dan karang karang lainnya.
Tentu saja saya sudah mempersiapkan dari atas lensa 60mm macro dan lensa 105mm macro untuk kamera satunya.
Kawasan Raja Ampat juga menyimpan sejarah peninggalan mesin mesin perang – kapal dan pesawat terbang – bekas perang dunia II. Dekat pulau Wai kami mendapati sebuah rongsokan pesawat P 40 bekas milik sekutu. Pesawat ini terbujur di kedalaman 27 meter dan relatif masih utuh sejak ditemukan tahun 1999.
Agak kurang beruntung, saat itu jarak pandang – visibility – tidak terlalu bagus sehingga mempengaruhi hasil pemotretan. Perlu diketahui bahwa dalam penyelaman , kita sangat tergantung dengan jarak pandang bawah air. Jika cuaca bagus bisa saja jarak pandang jernih sampai 40 meter. Tetapi jika buruk karena begitu banyak partikel, kita bisa saja hanya memiliki jarak pandang sejauh 2 meter.
Diam diam seekor stone fish memperhatikan kami dari balik persembunyian, dekat propeller baling baling pesawat. Ia tak peduli ketika lampu srobe saya berkali kali menyinarinya.
Indonesia memamg memiliki surga bawah laut yang mengagumkan. Mengherankan tidak banyak photografer dalam negeri yang tidak menggali potensi ini. Banyak buku buku dan literature under water photography dari luar negeri justru mengambil obyek dan pemandangan alam bawah laut Indonesia.
Raja Ampat mewakili semuanya, daratan pulaunya yang masih perawan, laguna dan teluk yang terlindungi, pantai indah dan laut biru.
Kepulauan ini terlalu luas untuk dijelajahi dalam seminggu. Mungkin butuh waktu sebulan penuh untuk dapat mengunjungi seluruh pulau pulau yang ada. Masih banyak tempat yang menarik seperti di daerah Pulau Misol di selatan atau Wayag di ujung utara.
Saya pasti kembali lagi ke Raja Ampat. Terlalu banyak godaan untuk memotret disini. Dalam perjalanan pulang kembali menuju Sorong, saya memandang sunset yang tiba tiba menyeruak di penghujung senja. Angin bertiup lembut memberikan suasana melankolis. Begitu indahnya Indonesia, dan kita tak pernah menyadari hal ini. Sampai sekarang.
Teriakan panggilan teman teman mengagetkan saya. Sekilas saya menoleh ke laut lepas. Langit itu masih berwarna merah kesumba



Tips Bepergian ke Raja Ampat.

1. Penerbangan setiap hari dengan Lion Air, Merpati dan Express Air dari Jakarta ke Sorong dengan stop over di Makasar. Harga tiket berkisar antara 2,5 juta sampai 4 juta pulang pergi tergantung season.
2. Memilih dive operator yang memiliki pengalaman di kawasan ini. Ada dua cara penginapan yakni tinggal di pulau Kri, Waigeo, Mansuar dan Misol atau cara lain dengan liveaboard memakai kapal. Banyak dive operator liveaboard yang menawarkan jasa ini.
3. Bepergian dengan rombongan bisa menekan budget. Ini berguna ketika melakukan deal penawaran dengan pemilik kapal atau resort. Resor di Pulau Kri lebih mahal, berkisar 900 – 1500 euro per orang untuk 7 hari ( tidak termasuk airfares ). Mereka pada umumnya selalu memberikan harga khusus untuk warga negara Indonesia.
4. Alternatif lain resor milik Pemerintah daerah yang jauh lebih murah dan dipatok dalam rupiah.
5. Biaya charter kapal liveaboard berkapasitas maksimal 14 orang peserta, berkisar 90 – 110 juta untuk selama seminggu pelayaran

Selasa, 01 Maret 2011

PENGERTIAN ARRAY & RECORD

PENGERTIAN ARRAY & RECORD

PENGANTAR

Array merupakan tipe data tersetruktur dimana di dalamnya terdiri dari komponen–komponen yang mempunyai tipe data yang sama. Di dalam suatu array jumlah komponen banyaknya adalah tetap. Di dalam suatu larik atau array setiap kompoenen ditunjukan oleh suatu index yang unik. Index dari setiap komponen array menunjukan urutan data atau identitas yang mewakili data yang ada didalamnya. Logika sederhananya array itu bisa disamakan dengan dua orang dengan nama yang sama didalam suatu komunitas, untuk membedakan antara nama yang satu atau dengan nama yang lain maka diberikan initial tambahan untuk setiap nama.
DEKLARASI ARRAY

Didalam penulisan bahasa pemograman setiap penggunaan array harus dideklarsikan terlebih dahulu. Pendeklarasian array diawali dengan nama variabel array diikuti dengan indeks array yang dituliskan didalam tanda “[]” , diikuti dengan kata cadangan of dan tipe data yang dibutuhkan. Berikut bentuk penulisan;
Nama_Variable : array [..tipe index ..] of tipe data;
Contoh :
Var
A : array[1..4] of integer;
B : array[1..5] of string;
C: array[1..10] of real;


http://cerahati88.wordpress.com



RECORD (REKAMAN)
Sebuah record rekaman disusun oleh beberapa field. Tiap field berisi data dari tipe dasar / bentukan tertentu. Record mempunyai kelebihan untuk menyimpan suatu sekumpulan elemen data yang berbeda-beda tipenya (di banding array). Contoh , sebuah record dengan empat buah field.

Field 1 Field 2 Field 3 Field 4
Cara pendeklarasian dari record adalah sbb:
• Mendefinisikan tipe dari record (jumlah field, jenis tipe data yang dipakai),
• Mendefinisikan variabel untuk dilakukan operasi.
SYNTAX
type
nama_record = record
identifier_1 : tipe_data_1;
:
:
identifier_n : tipe_data_n;
end;
var variabel : nama_record;



Contoh :
type
Data_mahasiswa = record
Nama : string;
Usia : integer;
Kota : String;
Kodepos : integer;
end;
Var
x: Data_mahasiswa;
1. Pengaksesan Elemen Record
Nama variable disertai nama field.
x.Nama
x.Usia
x.Kota
x.Kodepos
Contoh.
program RECORD_INTRO;
type tanggal = record
bulan, hari, tahun : integer;
end;
var waktu : tanggal;
begin
waktu.hari :=25;
waktu.bulan:=09;
waktu.tahun:= 1983;
writeln('hari ini adalah ',waktu.hari,':',waktu.bulan,':', waktu.tahun)
end.

http://materikuliah.blogspot.com