Minggu, 29 April 2012

Tempat Wisata Kampung Naga

   Menurut saya tempat wisata ini yang paling berkesan untuk saya , teman - teman , dan para guru yang menyertai kami dalam perjalanan kesana. Kami pergi kesana karena ada studytour dari sekolah , dan kami pun juga di pandu oleh 1 team tutor untuk memandu kami dalam perjalanan menuju ke kampung naga. Yang terlintas dalam pikiran saya adalah "apa yang menarik dari tempat ini dan saya menjadi penasaran". Setelah tutornya menjelaskan tentang kampung naga. Barulah saya tau mengenai kampung naga tersebut dari mulai jalan menuju kampung naga, agama , kebudayaannya dan upacara adatnya.
   Kampung ini berada di wilayah Desa Neglasari, Kecamata Salawu, Kabupaten Tasikmalaya, Provinsi Jawa Barat. Lokasi Kampung Naga tidak jauh dari jalan raya yang menghubungkan kota Garut dengan kota Tasikmalaya. Kampung ini berada di lembah yang subur, dengan batas wilayah, di sebelah Barat Kampung Naga dibatasi oleh hutan keramat karena di dalam hutan tersebut terdapat makam leluhur masyarakat Kampung Naga. Di sebelah selatan dibatasi oleh sawah-sawah penduduk, dan di sebelah utara dan timur dibatasi oleh Ci Wulan ( Kali Wulan ) yang sumber airnya berasal dari Gunung Cikuray di daerah Garut. Jarak tempuh dari kota Tasikmalaya ke Kampung Naga kurang lebih 30 kilometer, sedangkan dari kota Garut jaraknya 26 kilometer. Untuk menuju Kampung Naga dari arah jalan raya Garut-Tasikmalaya harus menuruni tangga yang sudah di tembok (Sunda : sengked) sampai ke tepi sungai Ciwulan dengan kemiringan sekitar 45 derajat dengan jarak kira-kira 500 meter. Kemuedian kami melalui jalan setapak menyusuri sungai Ciwulan sampai kedalam Kampung Naga.
   Terlihat oleh kami bentuk permukaan tanah pada Kampung Naga berupa perbukitan dengan produktivitas tanah bisa dikatakan subur. Luas tanah dari Kampung Naga yang ada seluas satu hektar setengah, sebagian besar digunakan untuk perumahan, pekarangan, kolam, dan selebihnya digunakan untuk pertanian sawah yang dipanen satu tahun dua kali. Dan bentuk rumah dari Masyarakat Kampung Naga ini cukup menarik karena harus panggung, bahan rumah dari bambu dan kayu. Atap rumah harus dari daun nipah, ijuk, atau alang-alang, lantai rumah harus terbuat dari bambu atau papan kayu. Rumah harus menghadap kesebelah utara atau ke sebelah selatan dengan memanjang kearah Barat-Timur. Dinding rumah dari bilik atau anyaman bambu dengan anyaman sasag. Rumah nya tersebut tidak boleh dicat, kecuali dikapur atau dimeni. Bahan rumah ini tidak boleh menggunakan tembok, walaupun mampu membuat rumah tembok atau gedung. Rumah tidak boleh dilengkapi dengan perabotan, misalnya kursi, meja, tempat tidur dan listrik. Karena itu sudah tradisi rumah disana dan tidak boleh diubah .
   Penduduk Kampung Naga semuanya mengaku beragama Islam, akan tetapi sebagaimana masyarakat adat lainnya mereka juga sangat taat memegang adat-istiadat dan kepercayaan nenek moyangnya. Artinya, walaupun mereka menyatakan memeluk agama Islam, syariat Islam yang mereka jalankan agak berbeda dengan pemeluk agama Islam lainnya. Bagi masyarakat Kampung Naga dalam menjalankan agamanya sangat patuh pada warisan nenek moyang. Umpanya sembahyang lima waktu: Subuh, Duhur, Asyar, Mahrib, dan salat Isa, hanya dilakukan pada hari Jumat. Pada hari-hari lain mereka tidak melaksanakan sembahyang lima waktu. Pengajaran mengaji bagi anak-anak di Kampung Naga dilaksanakan pada malam Senin dan malam Kamis, sedangkan pengajian bagi orang tua dilaksanakan pada malam Jumat
  Di bidang kesenian masyarakat Kampung Naga mempunyai pantangan atau tabu mengadakan pertunjukan jenis kesenian dari luar Kampung Naga seperti wayang golek, dangdut, pencak silat, dan kesenian yang lain yang mempergunakan waditra goong. Sedangkan kesenian yang merupakan warisan leluhur masyarakat Kampung Naga adalah terbangan, angklung, beluk, dan rengkong. Kesenian beluk kini sudah jarang dilakukan, sedangkan kesenian rengkong sudah tidak dikenal lagi terutama oleh kalangan generasi muda. Namun bagi masyarakat Kampung Naga yang hendak menonton kesenian wayang, pencak silat, dan sebagainya diperbolehkan kesenian tersebut dipertunjukan di luar wilayah Kampung Naga.

Sabtu, 28 April 2012

Contoh dan Logika Dasar C++

Contoh program sederhana C++ untuk hello world dengan menggunakan Dasar C++  dapat dilihat di bawah ini :
#include <iostream>
int main()
{
        std::cout << "hello world\n";
        return 0;
} 
 
Keterangan Logika Program C++ : 

Baris pertama :
#include <iostream.h>
Sebagai bagian dari proses kompilator, dari c++ menjalankan program yang dinamakan preprosesor. Preprosesor memiliki kemampuan menambahkan dan menghapus kode dari sumber, Pada bagian #include memberitahuakan preprosesor untuk menyertakan kode dari iostream, Berkas iostream berisi deklarasi untuk berbagai fungsi yang dibutuhkan oleh perangkat lunak, atau class-class yang dibutuhkan.

Baris kedua :
int main ()
Pernyataan ini mendeklarasikan fungsi utama, bahwa suatu program C++ dapat berisi banyak fungsi, yang harus selalu memiliki sebuah fungsi utama (main function), Fungsi adalah modul yang berisi kode-kode untuk menyelesaikan masalah-masalah tertentu. Kata Void menandakan fungsi main tidak bertipe.

Baris ketiga :
{
Kurung kurawal buka menandakan awal program.

Baris keempat :
std::cout << "Hello world\n";
Cout adalah sebuah object dari standart C++ yang digunakan untuk mencetak string ke piranti output standart, yang biasanya adalah layar komputer, Compiler menghubungkan kode dari pustaka perangkat lunak standar itu dengan kode yang telah ditulis untuk mendapatkan hasil executable, Tanda \n adalah format modifier yang digunakan untuk berganti baris setelah menampilkan string, jika ada cout lain pada program tersebut, maka string yang menyertainya akan dituliskan pada baris bawahnya. 

Baris kelima:
} 
Kurung kurawal tutup menandakan akhir program.

Tipe Data C++


Tipe data merupakan format yang digunakan untuk menginisialisasi sebuah variabel, dimana variabel tersebut mempunyai ukuran, size maupun bertipe string, character ataupun number. Berikut beberapa tipe data dasar dalam C++ :
tipedata 
Karakter Khusus
Karakter khusus merupakan karakter yang mewakili suatu perintah khusus dalam pemrograman, karakter khusus tersebut biasa disebut dengan escape. Escape sendiri memberikan intruksi pada praprosesor tanpa melalui include file header. Berikut karakter-karakter khusus dalam C++ :
tipedata 
Variabel
Variabel merupakan suatu pengenal atau identifier yang digunakan untuk memberikan suatu nilai tertentu didalam pemrograman. Nilai suatu variable bersifat dinamis yang berarti dapat berubah-ubah, lain hal dengan kontanta yang nilai bersifat tetap / mutlak. Aturan dalam pendeklarasian variable :
  1. Variabel dapat dideklarasi dengan menggunakan gabungan huruf dan angka dengan syarat karakter pertama haruslah huruf.
  2. Variabel yang dideklarasi tidak boleh menggunakan spasi, apabila ingin menggunakan spasi lebih baik gunakan garis bawah(underscore).
  3.  Variabel yang dideklarasi tidak boleh menggunakan simbol-simbol khusus seperti : $, &, ?, <, dan sejenisnya.
  4. Dan panjang variable bebas, tetepi yang bisa dikenali hanyalah 31 karakter pertama. Apabila nama variable panjang sebaiknya disingkat, misalnya Nomor induk pegawai disingkat NIP.
 variable

Rabu, 25 April 2012

Presiden yang tidak lebay

Presiden Indonesia pertama yang menjabat pada periode 1945 – 1966. Beliau juga memegang peranan penting untuk memerdekakan bangsa Indonesia dari penjajahan Belanda. Beliau juga adalah penggali Pancasila karena ia yang pertama kali mencetuskan konsep mengenai dasar negara Indonesia itu dan ia sendiri yang menamainya Pancasila. Beliau juga adalah Proklamator Kemerdekaan Indonesia yang terjadi pada tanggal 17 Agustus 1945.

Melihat bagaimana seorang Presiden memimpin di dalam sebuah organisasi maupun pemerintahan, menunjukkan perannya yang sentral sebagai seorang pemimpin sejati, sebagai seorang inspirator , idealis dan sebagai simbol perjuangan rakyat dalam menegakkan negara yang berdaulat yang dapat dijadikan sebagai panutan. Presiden Pertama Republik Indonesia ini memiliki beberapa sifat kepemimpinan yang dibutuhkan oleh pemimpin yang mandiri diantaranya :
  • Kepemimpinan yang transformatif
Beliau mampu mendorong dan menggerakkan rakyat guna memanfaatkan potensi dan kapabilitasnya untuk mencapai kehidupan yang lebih baik. Kepemimpinan yang dibutuhkan adalah kepemimpinan yang tidak banyak berkeluh kesah, melainkan kepemimpinan yang memiliki daya juang dan motivasi tinggi. Sehingga kepemimpinanya mampu memotivasi dan menginspirasi bangsanya.
  • Kepemimpinan visioner
Beliau adalah pemimpin yang visioner yaitu kepemimpinan yang mampu melihat gambaran masa depan. Gambaran masa depan itu adalah cita-cita yang ingin dituju. Dengan visi itu, Beliau dapat mengarahkan dan mengerahkan segala kemampuan (capability) bangsa untuk mewujudkan visi tersebut. Kepemimpinan yang visioner adalah kepemimpinan yang mengetahui arah bangsa dalam setiap kecenderungan dan perubahan zaman.
  • Kepemimpinan yang kuat (strong leadership)
Kepemimpinan yang kuat adalah kepemimpinan yang tegas, jelas, berkarakter, yang menyatukan perkatan dengan perbuataan. Bangsa Indonesia merupakan bangsa yang besar yang besar harus memiliki kepastian. Kepastian itu bisa berupa kepastian tentang arah program dan kebijakan, serta kepastian keadilan dan hukum, maupun kepastian akses mendapatkan pendidikan dan penghidupan yang layak.
  • Kepemimpinan nasional-kerakyatan
Kepemimpinan nasional kerakyatan adalah kepemimpinan yang memiliki sensitivitas kepedulian yang tinggi terhadap kepentingan nasional dan rakyat. Sehingga kebijakan politik atau ekonomi dari kepemimpinan haruslah bermuara dan berorientasi pada kepentingan nasional dan masyarakatnya.

STACK - DB06 - 2012


STACK

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.


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;
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.
Operasi-operasi dasar pada stack :
a. Cek Stack kosong (Isempty)
Fungsi yang melakukan pengecekan apakah stack dalam kondisi kosong.
public int isempty()


if(posisi==0)


System.out.println("Data Kosong");


return 1;


else


System.out.println("Data ada");


return 0;


b. Cek Stack penuh (full)
Fungsi yang melakukan pengecekan apakah stack dalam kondisi penuh atau tidak.
public int full()


if(posisi==MAX)


System.out.println(”Stack Penuh”);


return 0;


else


return 1;


c. Operasi Push
Operasi push dalam stack adalah operasi yang memasukkan elemen yang akan diletakkan pada posisi teratas dari tumpukan.
public void push (int data)


if(posisi
isistack[++posisi] = data;


d. Operasi Pop
Operasi pop dalam stack adalah operasi untuk mengambil/menghapus elemen yang terletak pada posisi paling atas dari sebuah tumpukan.
public void pop()


int y=0;


if(posisi != 0)


isistack[posisi--]=y;


e. Cek posisi Teratas (Peek)
Operasi peek digunakan untuk mengecek posisi teratas dalam stack.
public void peek()


System.out.print("Posisi Atas= ");


if(posisi != 0)


System.out.print(isistack[posisi]);


System.out.println();


Penerapan stack :
Stack digunakan untuk menuliskan ungkapan menggunakan notasi tertentu (Notasi Polish). Biasanya ungkapan yang digunakan adalah ungkapan numeris. Sebagai contoh ungkapan (A + B)*(C – D) apabila ditulis dengan menggunakan notasi Polish menjadi * + A B – C D.


Posted By : Holong Rianto


Minggu, 08 April 2012

Mimpi Tentang INDONESIA

   Mimpi saya buat INDONESIA adalah saya ingin INDONESIA mempunyai seseorang pemimpin yang bersifat adil, bertanggung jawab , dan mau memperhatikan kesejahteraan rakyatnya. Dalam hal ini acap kali rakyat mengeluh tentang kesejahteraan rakyat kedepan sampai mereka bertanya "bagaimana yah kehidupan kita kedepan dan bagaimana kita rakyat kecil ini menjalani hidup kita kedepannya".
  Yang ingin saya lihat adalah pemerintah membangun sebuah  peluang kerja buat rakyatnya dan mampu mengatasi korupsi yang sedang marak akhir - akhir ini, penertiban dalam lalu lintas berkendara, mensejahterahkan buruh, mengurangi angka kriminalitas yang sedang berada di negara ini dan mampu mengembangkan dibidang sandang dan pangan entah dipertanian, perikanan, perkebunan, atau peternakan agar negara ini dapat berkembang dan menjadi negara maju.
   Mimpi yang saya ingin lihat adalah rakyat INDONESIA kedepannya itu menjadi sejahtera , bebas dari rawan kemacetan, mendapatkan peluang kerja buat rakyatnya, dan memperkecil angka kejahatan yang berada saat ini seperti perampokan, pencopetan dan lain-lain.