ASAL USUL MANDAILING

Beberapa pendapat telah dikemukakan mengenai asal-usul nama Mandailing. Pendapat-pendapat ini berupa andaian-andaian yang bertolak atau didasaarkan pada persamaan bunyi kata. “..ada yang menduga berasal dari kata: Mande Hilang (dalam bahasa Minang), yang berarti ibu yang hilang.”

Ada pula pendapat yang mengatakan bahwa nama Mandailing berasal dari nama satu kerajaan, iaitu Mandala Holing. Kerajaan tersebut, kemungkinan sudah muncul sejak abad ke 12, yang wilayahnya terbentang dari Portibi di Padang Lawas sampai ke Pidoli dekat Panyabungan sekarang.

Dugaan itu dapat dikaitkan dengan perkataan atau istilah h(k)oling yang sejak dahulu mempunyai kedudukan yang penting dalam budaya masyarakat Mandailing. Ia terdapat dalam ungkapan “Munda tartiop haopatna, nipaspas naraco H(K)oling, niungkap buntil ni adat, nisuat dokdok ni hasalaan, ni dabu utang dohot baris…” Dalam kata lain, untuk mengadili seseorang harus ada empat syarat. Jika keempat syarat itu sudah ada, barulah dibersihkan neraca H(K)oling, iaitu lambang pertimbangan yang seadil-adilnya, kemudian dilihat ketentuan adat, diukur beratnya kesalahan dan barulah dijatuhkan hukuman. Perkataan atau istilah h(k)oling terdapat pula dalam ungkapan “Surattumbaga H(K)oling na so ra sasa” yang selalu disebut-sebut dalam kehidupan masyarakat Mandailing. Kalimat tersebut berarti “Surattembaga H(K)oling yang tidak mau hapus”. Yang dimaksudkan ialah aturan-aturan adat yang tidak mau hapus atau yang senantiasa lestari (kekal, tidak berubah). Semua ini tidak membuktikan dengan pasti hubungan asal-usul masyarakat Mandailing dengan kekuasaan kerajaan Hindu yang pernah menguasai wilayah Mandailing pada masa lampau.
ASAL MANDAILING (Dikutip hompage Razaaq Lubis)

Tarombo

Satu-satunya data yang dapat dipergunakan untuk menghitung usia marga-marga yang terdapat di Mandailing ialah tarombo kerana ia mencatat setiap generasi sesuatu marga dari nenek moyang masing-masing. Dalam pada itu, jurai keturunan itu terkadang meragukan kerana beberapa tarombo daripada marga tertentu sering berselisih jumlah generasi yang tercatat di dalamnya.

Kalau diperhitungkan berdasarkan tarombo marga Nasution mempunyai 19 sundut atau keturunan, maka dapat ditaksirkan bahwa marga Nasution sudah bertempat di Mandailing selama kira-kira 475 tahun. Perkiraan ini didasarkan pada taksiran 25 tahun untuk satu generasi. Sejak bila marga Nasution mulai berkuasa di Mandailing Godang, tidak dapat dipastikan.

Sementara tarombo marga Lubis mengandungi 22 sundut. Ini menunjukkan bahwa keturunan Namora Pande Bosi telah bertempat tinggal di Mandailing selama kira-kira 550 tahun, yakni sejak abad ke 15 lagi, yakni kalau diperhitungkan 25 tahun satu generasi. Bagaimanapun sejak bila marga Lubis mula berkuasa di Mandailing Julu tidak diketahui dengan past

Ada orang berpendapat bahwa orang-orang Mandailing marga Lubis dan Nasution berasal dari daerah Toba. Sementara marga-marga kecil seperti Pulungan, Parinduri, Rangkuti, Borotan berasal dari perpindahan penduduk yang pertama dari daerah Toba ke Mandailing. Tetapi orang-orang Mandailing pada umumnya menolak pendapat demikian dan “menyangkal setiap tali persaudaraan dengan orang Batak”.

Sebagai contoh penolakan itu ialah “gambaran yang di sekitar tahun 1890 diberikan oleh seorang kepala kuria (qariah/kariah/khariah) kepada kontrolir Ris, bahwa nama Lubis sebenarnya haruslah Bugis kerana itu asal-usul marga itu seharusnya ditarik dari keturunan Bugis”. Mengikut pendapat Raja Mulia Kuria Aek Nangali pula, Namora Pande Bosi yang menurunkan marga Lubis adalah cucu seorang nakhoda bernama Angin Bugis dari pulau Sulu. Sementara orang-orang Mandailing bermarga Nasution meyakini bahwa mereka adalah keturunan Si Baroar yang pada masa bayinya ditemukan di tengah hutan oleh Sutan Pulungan raja dari Huta Bargot di Mandailing Godang. Versi lain mengatakan bahwa “Nasution yang pertama kiranya adalah putera dari Raja Iskandar Muda dari Pagar Ruyung (pusat dari kerajaan Minangkabau kuno), yang pada gilirannya adalah cucu dari Sultan Iskandar, nama bagi Alexander de Grote (the Great) dalam cerita-cerita Indonesia. Dalam perjalanan menjelajahi pulau Sumatera, Iskandar Muda sampai berhubungan dengan seorang gadis bunian, yang melahirkan seorang anak lelaki untuknya”. Anak tersebutlah kemudiannya ditemukan Sutan Pulungan di tengah hutan sedang ia berburu.

Kisah tentang Si Baroar sangat meyakinkan bagi masyarakat Mandailing kerana sekitar pertengahan abad yang lalu kisah tersebut telah dituliskan oleh Willem Iskander (1840-1876) dalam buku karangannya berjudul Si Bulus-Bulus Si Rumbuk-Rumbuk. (pic of Willem Iskander & his book) Buku tersebut yang ditulis dalam bahasa Mandailing dipakai untuk bahan bacaan di sekolah-sekolah sampai pada masa awal kemerdekaanIndonesia.

 

Petikan dari Buku Cenderamata Lembaga Adat MandailingMalaysia). Orang Mandailing diriwayatkan berasal dari Munda yaitu sebuah daerah di India Tengah. Mereka telah berpindah-pindah pada abad-ke 6, karena terpukul dengan serangan bangsa Arayan dari Irak yang meluaskan pengaruh mereka.

Setelah melintasi Gunung Himalaya mereka menetap sebentar di Mandalay, yaitu ibu negara Burma purba. Besar kemungkinan nama Mandalayitu sendiri datangnya dari perkataan Mandailing yang mengikuti logat Burma.

Sekali lagi mereka terpaksa bepindah karena pergolakan suku kaum di Burma yang sering berperang. Pada waktu itu mereka melintasi Selat Malaka , yang pada masa itu bukan merupakan suatu lautan yang besar, sangat dimaklumi bahwa pada masa itu dibagian tertentu Semenanjung Tanah Melayu dan Sumatera hanya di pisahkan oleh selat kecil saja.

Kaum Munda telah berjaya menyeberangi laut kecil tersebut dan mendirikan sebuah kerajaan di Batang Pane, Portibi, diduga peristiwa ini terjadi di akhir abad ke – 6.

Kerajaan Munda Holing di Portibi ini telah menjadi mashur dan meluaskan wilayah taklukannya hingga kesebahagian besar pantai Sumatera dan Tanah Melayu. Keadaan ini menimbulkan kemarahan kepada Maharaja Rajenderacola lalu beliau menyerang kerajaan Munda Holing dan negara pantai lainnyadi abad ke-9.

Tenteara kerajaan Munda Holing yang di pimpin oleh Raja Odap-Odap telah ditewaskan oleh Rajenderacola dan berkuasa di seluruh daerah Batang Pane. Tunangannya Borudeakparujar telah melintasi Dolok Maela (sempenaHimalayayang didaki oleh nenek moyangnya) dengan menggenggam segumpal tanah di Portibi untuk menempah satu kerajaan baru (Menempah banua).

Kerajaan kedua di Sumatera di didirikan di Pidoli Dolok di kenali sebagai kerajaan Mandala Holing artinya kawasan orang-orang Keling. Pada masa itu mereka masih beragama Hindu memuja Dewa Siva.

Di abad ke 13, Kerajaan Majapahit telah menyerang ke Lamuri, Padang Pariaman dan Mandailing. Sekali lagi kerajaan Mandala Holing ini telah di bumi hangus dan hancur.
Penduduk yang tidak dapat di tawan telah lari kehutan dan bercampur-gaul dengan penduduk asli. Lalu terbentuklah Marga Pulungan artinya yang di kutip-kutip. Di abad ke-14 dan ke 15, Marga Pulungan telah mendirikan tiga buah Bagas Godang di atas tiga puncak Bukit namun kerajaan tersebut bukan lagi sebuah kerajaan yang besar, hanya merupakan kerajaan kampung.

Di pertengah abad ke-14, terdapat legenda tiga anak Yang Dipertuan Pagar Ruyung yang bernama Betara Sinomba, Putri Langgoni dan yang bungsunya Betara Gorga Pinanyungan yang mendirikan dua buah kerajaan baru.

Betara Sinomba telah di usir oleh Yang Dipertuan dari Pagar Ruyung karena kesalahan bermula dengan adiknya Putri Langgoni. Kedua beradik tersebut berserta pengikutnya telah merantau dan mendirikan kerajaan di KotaPinang. Yang di Pertuan Kota Pinang inilah yang menurunkan raja-raja ke Kota Raja, Bilah, Kampung Raja dan Jambi.

Adiknya Betara Gorga Pinanyungan di dapati bersalah belaku adil dengan sepupu sebelah ibunya yaitu Putri Rumandang Bulan. Oleh kerana tidak ada lagi pewaris takhta makanya putri tersebut ditunangkan dengan Raja Gayo.

Sewaktu Putri Rumandang Bulan di bawa pergi ke Gayo beliau telah membawa satu tandan pinang masak lalu ditanamnya sebiji pinang tersebut pada setiap kali rombongan tersebut behenti hinggalah sampai di tebing sebatang sungai.

Di tebing sungei itu baginda telah melahirkan seorang anak laki-laki yang gagah dan perkasa. Ketika rombongan tersebut ingin meneruskan perjalanannya ke Gayo maka datanglah petir dan guntur yang amat dasyat hingga kemah mereka tidak dapat di buka. Begitulah keadaannya sehingga tujuh kali percobaan. Akhirnya seorang Datu telah memberitahu bahawa anak tersebut hendaklah ditinggalkan di atas batu di bawah pohon sena tempat ia dilahirkan kerana putera tersebut akan menjadi seorang raja yang besar di situ.

Putri Rumandang Bulan enggan puteranya ditinggalkan karena dia ingin mati bersama anaknya, apabila Raja Gayo kelak mendapati bahwa dia bukan lagi perawan.

Di dalam keadaan tersebut tepancarlah pelangi maka menitilah tujuh orang bunian di ikuti oleh Dewa Mangala Bulan dari Kayangan. Puteri tersebut di simpan kedalam sungai berdekatan lalu bermandikan dengan bunga-bunga sena yang sedang berkembang. Apabila keluar dari sungai tersebut di dapati perut-perut yang menandakan baginda telah melahirkan tidak lagi kelihatan. Maka nama sungai tersebut di kenali sebagai “Aek Batang Gadis” artinya, air sungai yang memulihkan gadis/perawan.

Anak yang ditinggalkan di bawah pohon sena tersebut telah di temui oleh rombongan Sultan Pulungan yang sedang memburu, lalu dipunggutnya.

Anak yang dibesarkan di dalam kandang di bawah rumah tersebut akhirnya telah berhasil melarikan diri dan mendirikan sebuah kerajaan dan kemudiannya mengalahkan Sultan Pulungan. Anak tersebut yang di kenali sebagai Sibaroar yaitu kandang di bawah rumah akhirnya menjadi raja besar di Penyabungan.

Oleh karena raja di Penyabungan yang tersembunyi diketahui orang akan ibunya maka dipanggilah kerajaannya sebagai kerajaan “MANDE NAN HILANG”, pendeknya Mandailing atau pun Mandehilang. Beliau juga adalah pengasas/penegak Marga Nasution., artinya orang sakti.

Ketika cerita kebesaran Sibaroar yang di gelar Sutan Diaru tersebar jauh ke Pagar Ruyung maka Yang Dipertuan Pagar Ruyung pun terkenang akan Putri Rumandang Bulan yang hamil di bawa ke Gayo. Baginda dan pengiringnya pun berangkatlah mengikuti pohon-pohon pinang yang telah di tanam oleh bekas kekasihnya itu hingga sampailah di tepi sungei yang di namakan “Aek Batang Gadis” lalu di bawa mengadap kepada Sutan Diaru di penyabungan.

Setelah panjang lebar bercerita lalu pengasuh yang bernama Sisauwa telah menunjukkan kain sutera kuning pinang masak yang membalut Sutan Diaru sewaktu baginda dijumpai di bawah pohon sena di Aik Batang Gadis berserta aguk yang dikalungkan oleh ibunya Putri Rumandang Bulan. Maka ketahuanlah akan Yang Di Pertuan Pagar Ruyung, bahwa Raja Sutan Penyabungan tersebut adalah anaknya. Seluruh isi negeri bersukaria dan Sutan Diaru pun di tabalkan secara rasmi sebagai Raja Penyabungan.

Pada masa yang sama juga utusan dari Kota Pinang telah datang ke Penyabungan untuk mengundang Yang Dipertuan Pagar Ruyung kesana untuk bertemu kekandanya yang telah lama tidak berjumpa. Lalu kata Yang Dipertuan, “Beta tetap akan mengunjungi kekanda beta di Kota Pinang.” Maka itu pada hari ini Kota Pinang di kenali sebagai Tanah Abang, dan Penyabungan di kenali sebagai Tanah Adik, sempena peristiwa Betara Sinomba mengundang adiknya Betara Gorga Pinanyungan di Penyabungan supaya baginda datang ke Kota Pinang walaupun adiknya mempunyai kerajaan yang lebih besar di Pagar Ruyung.

Kerajaan Sibaroar @ Sutan Diaru di Penuyabungan akhirnya bekembang luas menguasai seluruh Mandailing Godang yang sangat subur tanahnya.

Diabad ke-19 yaitu sekitar 1916, Tentera Paderi di bawah pimpinan Tuanku Imam Bonjol telah mengutuskan Raja Gadumbang Porang atau lebih di kenali sebagai Tuanku Mandailing untuk mengislamkan Tanah Mandailing.

Tentera Paderi telah masuk ke Mandailing melalui Muara Sipongi dan menakluki Penyambungan pada awal 1816.

Kemudiannya Belanda pula memasuki Mandailing sekitar 1835, ini telah mengakibatkan banyak dari raja-raja Mandailing yang menentang dan terpaksa mundur dan menyeberangi Selat Melaka dan terus menetap di Tanah Melayu.

Orang-orang Mandailing bekas panglima tentera paderi telah memainkan peranan penting di dalam perjalanan sejarah di Tanah Melayu iaitu Tanah Pelarian. Nama seperti Tuanku Tambusai, Raja Asal, Raja Laut dan Sutan Naposo tercatat di dalam sejarah pergolakan perang saudara di Pahang dan Selangor.

Perpindahan orang Mandailing bermula sejak lama, diantaranya adalah disebabkan perselisihan faham keluarga, menjae atau merajuk, kalah perang atau pelarian atau buruan kerana berbagai kesalahan adat atau hukum. Kejatuhan Penyabungan ketangan Tentera Paderi 1816 dan gerakan mengislamkan Tanah Mandailing berikutnya. Ada diantaranya di hantar ke Semenanjung.

Namun perpindahan yang paling ketara bermula sejak beramai-ramai sebagai budak/abdi dan ada di antaranya melarikan diri bersama keluarga mereka untuk mencari tempat tinggal yang lebih aman.

Serangan Raja Gadumbang Porang atau Tuanku Mandailing dengan tentera paderi tidaklah begitu menekan tetapi apabila Tuanku Lelo bertubi-tubi menyerang Penyabungan dan memburu yang Dipertuan Huta Siantar bersama pengikutnya; pembunuhan beramai-ramai telah memaksa sebahagian besar penduduk Mandailing melarikan diri ke Tanah Melayu, sekitar tahun 1816 – 1832.

Ada pula di antara raja-raja Mandailing yang mengikut tentera Paderi seperti Patuan Maga, Baginda Sidursat dan lain-lainnya telah menentang Tuanku Lelo. Di bawah pimpinan Tuanku Mandailing beberapa orang panglima perang paderi akhirnya menyerang Kubu Tuanku Lelo di Padang Sidempuan dan menewaskannya.

Salah seorang anak raja Mandailing bernama Jahurlang yang bergelar Tuanku Bosi yaitu anak kepada Patuan Maga telah menyertai Tuanku Imam Bonjol sebelum jatuhnya benteng Padang Sidempuan. Beliau diamanahkan oleh Tuanku Imam Bonjol untuk menjaga Bentang Bonjol pada tahun 1837 – sewaktu beliau berunding dengan Belanda.

Jahurlang atau Tuanku Bosi diberikan pedang Al-malik kepunyaan Tuanku Rao yang terkurban di Air Bagis sebagai tanda mengambil alih pimpinan di Bonjol. Malang sekali Bentang Bonjol tidak dapat dipertahankan kerana kekuatan tentera Belanda, akhirnya Tuanku Bosi dengan pengikutnya tepaksa mundur ke Benteng Dalu Dalu.

Melihat pedang Al-Malik di tangan Tuanku Bosi, maka Tuanku Tambusai telah merencanakan pengunduran beliau bersama pengikutnya dan Benteng Dalu Dalu diserahkan kepada Tuanku Bosi.

Tuanku Tambusai dengan diiringi oleh Tuanku Raja Asal, Abdullah Zawawi (anak kepada Tuanku Bosi) yang kemudiannya di kenali sebagai Raja Laut berundur bersama pengikut mereka ke Tanah Melayu.

Benteng Dalu-Dalu jatuh ketangan Belanda pada 1838. Tuanku Bosi turut terkurban setelah mendapat luka-luka parah di dalam pertempuran tersebut.

Tuanku Tambusai, Raja Asal dan Raja Laut mendarat di Melaka dan pergi ke Lukut mencari tempat tinggal. Tidak lama kemudian Raja Laut diperintahkan kembali ke Sumatera untuk mencari saki baki tentera paderi bagi mengatur serangan balas terhadap Belanda. Raja Asal meninggalkan Lukut kerana terdapat sedikit kekecuhan di sana, beliau pergi ke Kelang membuka Lombong Bijih Timah sekitar tahun 1843. Tuanku Tambusai mencari tempat tinggal yang terpencil di Negeri Sembilan dan menetap di sana.

Raja laut berulang alik antara Sumatera dan Tanah Melayu sambil menyerang kapal-kapal dagang Belanda, Inggeris, Cina dan India yang melintasi Selat melaka. Maka itu beliau di sebut Raja Laut.

Sekitar tahun 1850, Raja Asal telah meinggalkan Kelang dan berjijrah ke Pahang bersama-sama pengikutnya. Di Pahang Raja Asal telah melibatkan diri di dalam perusahaan melombong bijih timah dan berjual beli bijih timah.

Raja Asal telah dapat menembusi istana Bendahara Tun Ali dan bersahabat baik dengan keluarga pembesar di Pahang. Beliau bersahabat baik dengan Tun Mutahir anak Tun Ali. Tun Ali mangkat pada tahun 1857. Raja Asal telah berkahwin dengan Wan Putih atau dalam bahasa Mandailing di panggil Siputeh.

Perang saudara di Pahang belaku pada tahun 1857 – 1863, Raja Asal terlibat di dalam perang tersebut kerana berkahwin dengan keluarga Tun Mutahir yang menjadi Bendahara Pahang yang baru.

Perang saudara tersebut di menangi oleh Wan Ahmad iaitu adik kepada Tun Mutahir. Sewaktu luka parah Tun Mutahir telah berundur bersama anak-anaknya Wa Da dan Wan Aman serta Raja Asal kesempadan Negeri Selangor. Wan Putih telah di jemput oleh hamba Raja Asal bernama ‘Sipuntung’, lalu di bawa ke Selangor.

Di Selangor Raja Asal kembali menjalankan usaha membeli dan menjual bijih timah. Dana Paderi yang diamanahkan kepadanya dilaburkan sekali lagi untuk membiayai saki-baki tentera Paderi yang menjadi pengikutnya. Oleh itu beliau sentiasa berhubung dengan Raja Laut yang diutuskan untuk mengumpulkan saki-baki tentera Paderi di Sumatera. Tuanku Tambusai yang sudah uzur tidak lagi memainkan peranan penting untuk memulihkan semula kekuatan Paderi di Sumatera.

Apabila Tuanku Raja Asal mengambil keputusan untuk menyokong Raja Mahadi di dalam Perang Kelang untuk menentang Raja Abdullah (dalam tahun 1866) maka beliau telah menghubungi Raja Laut untuk mendapat bantuan bekas tentera Paderi di dalam peperangan tersebut.

Sewaktu Kelang jatuh dan kemudiannya Kuala Lumpur turut jatuh kerangan orang-orang Mandailing, Raja Asal telah memerintahkan hambanya Sipuntung untuk membunuh Dato’ Bandar Yassih yang berketurunan Bugis kerana banyak menindas dan menyeksa orang-oranag Mandailing.

Campurtangan Tengku Kudin sebagai wakil Sultan Abdul Samad yang memerintah Selangor mulai 26hb. June, 1868, telah mengubahkan suasana politik di Selangor. Tengku Kudin mendapat bantuan dan sokongan dari nggeris.

Walaupun pada mulanya Raja Asal, Sutan Na Poso dan kapitan Yap Ah Loy bersahabat baik tetapi pada tahun 1871 mereka berselisih faham dengan Yap Ah Loy atas urusan perniagaan bijih timah.

Pada bulan Mei 1872, Raja Asal bersama Raja Laut telah membawa angkatan perang mereka untuk menyerang Kuala Lumpur. Mereka telah berkubu di Petaling Batu, iaitu di Jalan Cheras sekarang, bersama lebih kurang 2,000 orang bekas tentera Paderi dari Sumatera. Satu pertempuran telah berlaku diantara pasukan Raja Asal/Raja Laut dengan pasukan Kapitan Yap ah Loy yang di bantu oleh Kapten Van Hagen dan Kapten Cavalier yang akhirnya mengalami kekalahan teruk di mana seramai 730 tentera mereka telah terkurban.

Kejayaan Raja Asal dan Raja Laut merebut Kuala Lumpur dari Kapitan Yap Ah Loy dan sekutunya telah mendesak Tengku Kudin meminta bantuan tentera dari Pahang dan Pulau Pinang. Pada pertengahan tahun 1872 Pahang telah bersubahat dengan Tengku Kudin untuk mengalahkan Raja Asal yang di sokong oleh orang-orang Mandailing, Rawa (Rao), Batubara dan orang Minangkabau yang merupakan saki-baki tentera Paderi, Raja Asal tersebut bergelar Tuanku Raja Asal – bukanlah bererti beliau itu Raja yang memerintah tanah Mandailing, gelaran Tuanku itu adalah gelaran Panglima Tetera Paderi. Raja di Tanah Mandailing dipanggil Baginda, bukannya Tuanku.

Pada akhir 1872, tentera Pahang telah menyerang kubu Raja Asal di Ulu Kelang. Tentera Pahang yang di pimpin oleh Imam Perang Raja Rosu (Tok Gajah) telah ditewaskan oleh tentera Raja Asal yang di pimpin oleh Panglima dari Mandailing bernama Jabarumun, yang berkubu di Ulu Kelang.

Isteri Raja Asal yang benama Wan Putih (Siputih), bersama orang-orang Telu gigih pula mempertahankan satu lagi kubu Raja Asal yang kini tempatnya dikenali sebagai Siputeh, sempena nama beliau yang dikagumi oleh orang-orang Mandailing.

Pada bulan Mac, 1873, sekali lagi Raja Rosu bersama tentera dari Pahang menyerang Ulu Kelang dengan kelengkapan yang lebih hebat, oleh kerana bantuan yang dinantikan dari Raja Laut tidak dapat mendarat di Kelang maka mereka telah mendarat di Teluk Mak Intan, maka kubu Raja Asal pun jatuhlan ketangan orang Pahang.

Raja Laut bersama lebih kurang 1,000 orang Batak yang baru di Islamkan telah mendarat di satu kawasan yang kini di kenali sebagai Batak Rabit kerana telinga dan hidung mereka menggunakan subang yang besar hingga terjuntai lubang telinga dan hidung mereka.

Raja Laut telah melintasi sebatang sungai yang mengalir di tengah-tengah lalu di panggil mereka Aik Batang Padang ataupun di kenali sebagai Sungei Batang Padang, sedangkan batang dalam bahasa Mandailing itu adalah sungei.

Didalam perjalanan mereka ke Ulu Selangor, mereka telah menerima berita kekalahan Raja Asal di Bukit Nenas lalu mereka bekemah di Ulu Bernam/Slim menanti Raja Asal yang sedang menuju ke Negeri Perak.

Sebelum bertemu dengan Raja Asal di Slim/Ulu Bernam maka satu persetujuan telah diadakan supaya Jabarumun/Raja Barumun di hantar mendapatkan Sutan Na poso (Sutan Puasa) yang bekubu di Ulu Langat bagi mengatur satu serangan balas ke atas Tengku Kudin dan Raja Bosu. Berikutnya Sutan N Poso tidak begitu yakin keraja Raja Asal tidak menyertai pasukan perang yang hanya di pimpin oleh Jabarumun/Raja Barumun.

Pasukan perang tersebut telah pulang tetapi di tengah jalan mereka sempat juga menyerang orang-orang Cina di Pudu dan juga Ulu Kelang. Kedai mereka di bakar dan pembunuhan pun berlaku di kedua-dua kawasan tersebut.

Raja Laut dan pengikutnya tidak mengikut Raja Asal ke Changkat Piatu, mereka telah berkampung di Air Kuning dan Banir di negeri Perak. Raja Laut meninggalkan anaknya yang sulung benama Basir Nasution atau pun lebih di kenali sebagai Syeh Basir guru agama di Air Kuning.

Raja Laut telah kembali kepada cara hidup lamanya berulang alik di Selat Melaka sehinggalah beliau terkorban di dalam salah satu perempuran laut dengan angkatan perang Belanda di Labuahan Bilik.

Anaknya Syeh Basir Nasution telah kembali ke Sumatera untuk mengumpulkan semula kaum keluarganya tetapi beliau tidak lagi kembali menetap di Air Kuning. Anaknya yang tua benama Ja Akob atau di kenali sebagai Jakub tinggal di Banir dan Air Kuning.

Raja Asal telah di terima mengadap Raja Idris iaitu putera Mahrum Teja yang berkuasa di kawasan Teja, lalu diberikan satu kawasan melombong yang luas di Changkat Piatu. Raja Asal juga telah diberikan kuasa mengutip cukai bijih timah di muara pertemuan Sungai Pinji dan Sungai Kinta. Sebuah Pengkalan mengutip cukai yang teguh telah di bina oleh Raja Asal. Oleh kerana ia sebuah pengkalan yang teguh akhirnya mengikut “telor” orang Perak lalu disebut Pengkalan Pegoh.

Raja Asal juga telah membina sebuah perkampungan orang-orang Mandailing di Changkat Piatu, lalu berkumpullah sebahagian besar orang Mandailing di Changkat Piatu. Orang-orang Rawa pula di tempatkan di Gopeng di bawah pimpinan Panglima Jabarumun atau lebih di kenali sebagai Imam Perang Jabarumun.

Isteri Raja Asal yang mengikutinya setelah tinggal di Bukit Nenas di tawan oleh tentera Pahang telah berjalan kaki mencari suaminya hingga sampai kesuatu tempat berhampiran Pusing, di sana beliau bersama pengikutnya telah berkampung sementara menanti utusan Raja Asal menjemput mereka . Kampung tersebut sehingga hari ini di kenali sebagai Siputeh. Itulah sebabnya terdapat dua tempat yang dinamakan Siputeh, masing-masing di Selangor dan di Perak.

Adalah diberitakan bahawa dalam tahun 1874, apabila perjanjian Pangkor termeteri maka banyaklah pembesa-pembesar Negeri Perak yang tidak puashati. Memandangkan Raja Asal ini seorang yang gagah berani dan banyak pengalamannya di dalam peperangan maka datanglah beberapa orang di antara mereka meminta campurtangan beliau (Raja Asal) untuk mengusir Inggeris dari negeri Perak.

Raja Asal menolak permintaan mereka untuk campurtangan dalam pergolakan di Perak kerana beliau telah uzur dan letih untuk berperang sepanjang usia remaja dan dewasanya. Paktan untuk membunuh J.W.W Birch tidaklah disertainya tetapi Raja Asal telah meminjamkan hambanya Sipuntung yang sangat dipercayai sebagai tanda penyertaannya untuk membersihkan bumi ini dari campurtangan orang-orang kafir yang ditentangnya sejak beliau memeluk agama Islam.

Raja Asal tidak pernah menjadi Penghulu di Mukim Belanja, Penghulu Belanja yang pertama adalah Raja Bilah, iaitu anak saudara kepada Raja Asal.

Sewaktu J.W.W Birch di bunuh pada tahun 1875 Mukim Belanja belum lagi diujudkan. Sila lihat perlantikan Raja Bilah sebagai penghulu Belanja yang pertama.

Semasa J.W.W . Birch di bunuh Raja Asal sudah mula gering dan tidak mampu lagi mengendalikan urusan melombong ataupun mengutip cukai bagi pihak Raja Idris (Sultan Perak). Akibatnya beliau terhutang $3,000.00 kepada pihak yang berkuasa.

Sepanjang keadaannya gering itu Raja Bilahlah yang menguruskan semua urusan Raja Asal. Akhirnya Raja Bilah telah meminta Raja Asal menyerahkan kuasa sepenuhnya kepadanya supaya dapat beliau membayar semua hutang tersebut.

Setelah enam bulan kuasa diserahkan kepada Raja Bilah barulah segala hutang piutang tersebut dapat diselesaikan.

Raja Asal dalam usia yang agak lanjut dan kesan dari kekalahan serta kegagalannya tidak lagi merupakan seorang yang aktif di dalam urusan maka itu semua urusan dikendalikan oleh Raja Bilah.

Tuanku Raja Asal telah meninggal dunia pada 1878 dan di semadikan di Changkat Piatu di antara pertemuan Sungai Pinji dengan Sungei Kinta. Sehingga hari ini makam beliau masih tertegak megah di atas tanah perkuburn Changkat Piatu.

Di Kutip dari http://hppmm.tripod.com/sejarah.html
Silakan lihat di Silakan lihat www.e.com.my/prototype/mandailing/

 

 

 

 

Advertisements
Posted in Uncategorized | Leave a comment

PHP

php→hypertext preposition sebuah bahasa pemrograman untuk membuat web standart.

MENGAKTIFKAN APACHE:

  • Klik start
  • Program
  • Pilih php triad
  • Kemudian pilih apache console
  • Lalu pilih start apache

MENYIMPAN FILE PHP:

  • Pilih drive c:
  • Kemudian pilih polder apache
  • Setelah apache terbuka, pilih HTDOCS
  • Kemudian buat satu folder didalam HTDOCS tersebut
  • Isikanfile name dengan type titik php (.php)

Contoh: latihan.php

CARA MEMBUKA YANG KITA SIMPAN

  • Aktifkan internet explorer
  • http//localhost/nama folder/nama dalam isi folder.php

pengetikan php harus di awali dengan tanda <?php dan diakhiri dengan ?>php

 

PERTEMUAN KE-II

VARIABEL

Untuk menampilkan yang kita ketik : “echo”

Pada php variabel disimbolkan dengan “$” (s dolar).

Penulisan php:

  • Tidak boleh ada spasi
  • Tidak boleh ada tanda titik
  • Tidak boleh ada tanda koma

CONTOH:

<body bgcolor= silver>

<?

echo” latihan pertama Q dalam bahasa php <br>”;

?>

<?

$nama=riski;

$umur=19;

echo” nama saya = $nama <br>

umur saya= $umur”;

?>

<?

echo”<table border=1 width=200>

<tr>

<td> nama saya </td>

<td> $nama </td>

</tr>

<tr>

<td> umur saya </td>

<td> $umur </td>

</tr>

</table>”;

?>

<?

$panjang=5;

$lebar=7;

$luas=$panjang*$lebar;

echo” luasnya=$luas “;

?>

 

Contoh:

<form name=”form” method=”post” action=”coba.php”>

<table border=1 width=300 bgcolor=yellow>

<tr>

<td> panjang </td>

<td><input type=”text” name=”pjg”></td>

</tr>

<tr>

<td> lebar </td>

<td><input type=”text” name=”lbr”></td>

</tr>

<tr>

<td> luas </td>

<td>

<?

$luas=$pjg*$lbr;

?>

<input type=”text” name=”luas” value=<?php echo”$luas”?> </td>

</tr>

<tr>

<td> <input type=”submit” name=”proses” value=”proses”>

</td>

<td> <input type=”reset” name=”batal” value=”batal”>

</td>

</tr>

</table>

</form>

 

 

STRUKTUR KENDALI

  • IF

Digunakan untuk mengeksekusikan suatu statemen secra bersyarat

Bentuk penulisan IF

  • IF (syarat)

{

Statement;

}

  • If (syarat)

{

Statement satu;

}

Else

{

Statement lain;

}

  • IF (syarat pertama)

{

Statement pertama;

}

Else if (syarat dua)

{

Statement dua;

}

Else

{

Statement lain;

}

Contoh:

<body bgcolor=green>

<?

$a=8;

$b=10;

$ket=””;

if ($a<$b)

{

$ket=’A lebih kecil dari B’;

}

else if ($a>$b)

{

$ket=’A lebih besar dari B’;

}

else

{$ket=’A sama dengan B’;

}

?>

</body>

 

Contoh ke-2:

<body bgcolor=cyan>

<form name=”form” method=”post”>

<table bgcolor=silver>

<tr>

<td> kode </td>

<td> <input type=”text” name=”kode”>

</td> </tr>

<tr>

<td> nama </td>

<?

if($kode==”A1″)

{

$nama=”laptop”;

}

else if ($kode==”A2″)

{

$nama=”kulkas”;

}

else

{

$nama=”meja”;

}

?>

<td><input type=”text” name=”nama” value='<?php echo”$nama” ?>’> </td>

</tr>

<tr>

<td> <input type=”submit” name=”proses”

value=”proses”>

</td> </tr>

 

Keterangan:

  • ==(perbandingan)
  • 0(tidak samadengan)

 

 

 

php→hypertext preposition sebuah bahasa pemrograman untuk membuat web standart.

MENGAKTIFKAN APACHE:

  • Klik start
  • Program
  • Pilih php triad
  • Kemudian pilih apache console
  • Lalu pilih start apache

MENYIMPAN FILE PHP:

  • Pilih drive c:
  • Kemudian pilih polder apache
  • Setelah apache terbuka, pilih HTDOCS
  • Kemudian buat satu folder didalam HTDOCS tersebut
  • Isikanfile name dengan type titik php (.php)

Contoh: latihan.php

CARA MEMBUKA YANG KITA SIMPAN

  • Aktifkan internet explorer
  • http//localhost/nama folder/nama dalam isi folder.php

pengetikan php harus di awali dengan tanda <?php dan diakhiri dengan ?>php

 

PERTEMUAN KE-II

VARIABEL

Untuk menampilkan yang kita ketik : “echo”

Pada php variabel disimbolkan dengan “$” (s dolar).

Penulisan php:

  • Tidak boleh ada spasi
  • Tidak boleh ada tanda titik
  • Tidak boleh ada tanda koma

CONTOH:

<body bgcolor= silver>

<?

echo” latihan pertama Q dalam bahasa php <br>”;

?>

<?

$nama=riski;

$umur=19;

echo” nama saya = $nama <br>

umur saya= $umur”;

?>

<?

echo”<table border=1 width=200>

<tr>

<td> nama saya </td>

<td> $nama </td>

</tr>

<tr>

<td> umur saya </td>

<td> $umur </td>

</tr>

</table>”;

?>

<?

$panjang=5;

$lebar=7;

$luas=$panjang*$lebar;

echo” luasnya=$luas “;

?>

 

Contoh:

<form name=”form” method=”post” action=”coba.php”>

<table border=1 width=300 bgcolor=yellow>

<tr>

<td> panjang </td>

<td><input type=”text” name=”pjg”></td>

</tr>

<tr>

<td> lebar </td>

<td><input type=”text” name=”lbr”></td>

</tr>

<tr>

<td> luas </td>

<td>

<?

$luas=$pjg*$lbr;

?>

<input type=”text” name=”luas” value=<?php echo”$luas”?> </td>

</tr>

<tr>

<td> <input type=”submit” name=”proses” value=”proses”>

</td>

<td> <input type=”reset” name=”batal” value=”batal”>

</td>

</tr>

</table>

</form>

 

 

STRUKTUR KENDALI

  • IF

Digunakan untuk mengeksekusikan suatu statemen secra bersyarat

Bentuk penulisan IF

  • IF (syarat)

{

Statement;

}

  • If (syarat)

{

Statement satu;

}

Else

{

Statement lain;

}

  • IF (syarat pertama)

{

Statement pertama;

}

Else if (syarat dua)

{

Statement dua;

}

Else

{

Statement lain;

}

Contoh:

<body bgcolor=green>

<?

$a=8;

$b=10;

$ket=””;

if ($a<$b)

{

$ket=’A lebih kecil dari B’;

}

else if ($a>$b)

{

$ket=’A lebih besar dari B’;

}

else

{$ket=’A sama dengan B’;

}

?>

</body>

 

Contoh ke-2:

<body bgcolor=cyan>

<form name=”form” method=”post”>

<table bgcolor=silver>

<tr>

<td> kode </td>

<td> <input type=”text” name=”kode”>

</td> </tr>

<tr>

<td> nama </td>

<?

if($kode==”A1″)

{

$nama=”laptop”;

}

else if ($kode==”A2″)

{

$nama=”kulkas”;

}

else

{

$nama=”meja”;

}

?>

<td><input type=”text” name=”nama” value='<?php echo”$nama” ?>’> </td>

</tr>

<tr>

<td> <input type=”submit” name=”proses”

value=”proses”>

</td> </tr>

 

Keterangan:

  • ==(perbandingan)
  • 0(tidak samadengan)

 

 

 

php→hypertext preposition sebuah bahasa pemrograman untuk membuat web standart.

MENGAKTIFKAN APACHE:

  • Klik start
  • Program
  • Pilih php triad
  • Kemudian pilih apache console
  • Lalu pilih start apache

MENYIMPAN FILE PHP:

  • Pilih drive c:
  • Kemudian pilih polder apache
  • Setelah apache terbuka, pilih HTDOCS
  • Kemudian buat satu folder didalam HTDOCS tersebut
  • Isikanfile name dengan type titik php (.php)

Contoh: latihan.php

CARA MEMBUKA YANG KITA SIMPAN

  • Aktifkan internet explorer
  • http//localhost/nama folder/nama dalam isi folder.php

pengetikan php harus di awali dengan tanda <?php dan diakhiri dengan ?>php

 

PERTEMUAN KE-II

VARIABEL

Untuk menampilkan yang kita ketik : “echo”

Pada php variabel disimbolkan dengan “$” (s dolar).

Penulisan php:

  • Tidak boleh ada spasi
  • Tidak boleh ada tanda titik
  • Tidak boleh ada tanda koma

CONTOH:

<body bgcolor= silver>

<?

echo” latihan pertama Q dalam bahasa php <br>”;

?>

<?

$nama=riski;

$umur=19;

echo” nama saya = $nama <br>

umur saya= $umur”;

?>

<?

echo”<table border=1 width=200>

<tr>

<td> nama saya </td>

<td> $nama </td>

</tr>

<tr>

<td> umur saya </td>

<td> $umur </td>

</tr>

</table>”;

?>

<?

$panjang=5;

$lebar=7;

$luas=$panjang*$lebar;

echo” luasnya=$luas “;

?>

 

Contoh:

<form name=”form” method=”post” action=”coba.php”>

<table border=1 width=300 bgcolor=yellow>

<tr>

<td> panjang </td>

<td><input type=”text” name=”pjg”></td>

</tr>

<tr>

<td> lebar </td>

<td><input type=”text” name=”lbr”></td>

</tr>

<tr>

<td> luas </td>

<td>

<?

$luas=$pjg*$lbr;

?>

<input type=”text” name=”luas” value=<?php echo”$luas”?> </td>

</tr>

<tr>

<td> <input type=”submit” name=”proses” value=”proses”>

</td>

<td> <input type=”reset” name=”batal” value=”batal”>

</td>

</tr>

</table>

</form>

 

 

STRUKTUR KENDALI

  • IF

Digunakan untuk mengeksekusikan suatu statemen secra bersyarat

Bentuk penulisan IF

  • IF (syarat)

{

Statement;

}

  • If (syarat)

{

Statement satu;

}

Else

{

Statement lain;

}

  • IF (syarat pertama)

{

Statement pertama;

}

Else if (syarat dua)

{

Statement dua;

}

Else

{

Statement lain;

}

Contoh:

<body bgcolor=green>

<?

$a=8;

$b=10;

$ket=””;

if ($a<$b)

{

$ket=’A lebih kecil dari B’;

}

else if ($a>$b)

{

$ket=’A lebih besar dari B’;

}

else

{$ket=’A sama dengan B’;

}

?>

</body>

 

Contoh ke-2:

<body bgcolor=cyan>

<form name=”form” method=”post”>

<table bgcolor=silver>

<tr>

<td> kode </td>

<td> <input type=”text” name=”kode”>

</td> </tr>

<tr>

<td> nama </td>

<?

if($kode==”A1″)

{

$nama=”laptop”;

}

else if ($kode==”A2″)

{

$nama=”kulkas”;

}

else

{

$nama=”meja”;

}

?>

<td><input type=”text” name=”nama” value='<?php echo”$nama” ?>’> </td>

</tr>

<tr>

<td> <input type=”submit” name=”proses”

value=”proses”>

</td> </tr>

 

Keterangan:

  • ==(perbandingan)
  • 0(tidak samadengan)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Posted in Uncategorized | Leave a comment

Membuat ODBC Driver Untuk MySQL

Berikut ini merupakan langkah-langkah membuat Open Database Conectivity Driver. Pastikan MySQL ODBC Driver telah terinstal di komputer anda. Jika belum ada bisa anda download di sini.

 

1.Buka Control Panel | Administrative Tools | Data Source (ODBC), sehingga muncul form di bawah ini.

2.Click Add

3.Click MySQL ODBC 3.51 Driver sehingga muncul dialog berikut ini.

4. Click OK

Posted in Uncategorized | Leave a comment

Pembuatan Database dan Tabel di MySQL

Pada tahap ini kita akan mempelajari pembuatan Database dan Tabel pada database MySQL.

Terlebih dahulu anda harus menjalankan service dari MySQL dengan cara :

 

Click Start | Program | PHPTriad | MySQL |MySQL-D

Akan muncul sekilas dari service MySQL

Kemudian bukalah Windows Explorer, carilah folder ini :

c:\apache\MySql\Bin\ dan double click file mysql.exe

akan muncul seperti ini :

Perintah SQL untuk membuat database “VB2PAGI” :

CREATE DATABASE VB2PAGI : bertujuan untuk membuat database dengan nama VB2PAGI

USE VB2PAGI : bertujuan untuk membuka database tersebut, agar perintah SQL yang berhubungan dengan database bisa di eksekusi.

 

Perintah SQL untuk membuat tabel “Mahasiswa” :

CREATE TABLE MAHASISWA(
NPM VARCHAR (12) NOT NULL,
NAMA VARCHAR(45),
JENJANG VARCHAR(2),
JURUSAN VARCHAR(30),
TAHUN VARCHAR(4),
PRIMARY KEY (NPM) )  ;

Bertujuan untuk membuat tabel MAHASISWA dengan field NPM, Nama, Jenjang, Jurusan, Tahun.

Not Null : bertujuan Field NPM tidak boleh kosong

Varchar : merupakan tipe data yaitu STRING yang panjang

(N) : memberikan Size yang bisa di tampung oleh Field Tersebut

Primary Key (NPM) : menyatakan bahwa NPM sebagai Field Kunci

 

perintah SQL untuk memasukkan 1 record mahasiswa :

INSERT INTO MAHASISWA(NPM, NAMA, JENJANG, JURUSAN, TAHUN)
VALUES (’0811021′,’ANDI H’,’S1′,’TEKNIK INFORMATIKA’,’2008′) ;

Bertujuan untuk memasukkan ke tabel MAHASISWA yang berfield (…….).tersebut, dan data data nya di sertakan setelah VALUES (….).

Diperhatikan bahwa setiap Field dipisahkan , dan setiap data juga demikian, tanda ‘   ‘  menyatakan bahwa datanya berjenis Karakter.

Posted in Uncategorized | Leave a comment

ANDROID

Selamat Sore, ini merupakan Post pertama saya di Blog ini, untuk post pertama ini saya akan membahas android, untuk pembahasan pertama mengenai android, saya akan memberikan contoh program sederhana menampilkan Text kedalam Emulator, aplikasi yang digunakan untuk mendevelop adalah
1. Eclipse Indigo
2. ADT versi 16
3. Android SDK
semua software bisa di download secara gratis dan jika tidak ingin capek mendownload silahkan copy dari saya, untuk proses instalasi tidak saya berikan karena sudah banyak dari internet panduan.
berikut adalah hasil Program Androidnya, dan codingnya bisa diperhatikan pada Gambar
Posted in Uncategorized | Leave a comment

Cara Menginstal Komputer Bagi Pemula

Langkah-langkah dalam menginstal windows xp:
01.Siapkan cd windows xp
02.Siapkan cd motherboard
03.Setting Biosnya untuk membaca cd
A. Tekan del atau F1 atau F2 pilih menu advanced settings kemudian cari ‘Boot Priority’ atau hampir sama       seperti itu.
-> Menu ‘First boot priority’, ‘Second boot priority’ dll: Aturlah ‘First boot priority’ ke ‘CDROM’ dengan menekan tombol PgDn/Pgup (Page Down/Up) atau +/-. Atur juga ‘Second boot priority’nya ke HDD0/HDD1.
-> Jika menunya ‘Boot priority’: atur ke ‘CDROM, C, A’ atau ‘CDROM, A,
-> dengan menekan tombol PgDn/Up.
04.restart komputernya terus tekan f8 atau f10 atau f11
05.tunggu sebentar sampai muncul tulisan press any key to boot from CD
06.Setelah itu tekan enter atau sembarang  tombol
07.kemudian muncul windows setup
08.Tunggu sampai selesai sampai keluar bacaan welcome to setup
09.Tekan enter untuk menginstal R untuk repair windows dan F3 keluar dari windows
10. Lalu keluarnya End User Licese Aggrement lalu tekan F8
11.Kemudian keluar proses instalasi akan membaca partisi hardisk
12.Tekan enter untuk menginstal windows partisi C, kapasitas partisi sesuai kebutuhan anda
      dan ketikan partisi yang anda perlukan “….MB”
13.Tekan enter kemudian pilih format the partition using the NTFS file system (Quick) atau format the partition using the NTFS file system (Quick) lalu tekan enter
14. pilih “format the partition using the NTFS file system (Quick)” atau “format the partition using the NTFS file system (Quick)” lalu tekan “ENTER
15.Kemudian arahkan pointer pada posisi “unpartitioned space”, lalu tekan “C” maka akan muncul gambar seperti gambar sebelumnya, dalam hal ini layar yang akan muncul seperti gambar sebelumnya menunjukan sisa partisi yang telah anda bagi, jika anda cuma membagi 2 partisi saja maka langsung tekan “ENTER” tapi jika anda ingin mempartisi lagi sisa hardisknya maka tinggal di bagi lagi

setelah selesai partisi ketika anda menekan “ENTER” seperti yang di jelaskan di atas, maka akan muncul gambar sperti gambar diatas, setelah itu arahkan poiter di posisi C: partition1 [New Raw], tapi biasanya sudah berada di posisi tersebut, maka anda tinggal menekan “ENTER” saja untuk proses instalasi windows, kemudian akan muncul proses format.

16.Setelah selesai format, kemudian windows akan ,menyalin file untuk proses instalasi, seperti gambar di bawah ini

17.Setelah proses penyalinan selesai, secara otomatis komputer akan melakukan restart seperti gambar di bawah ini, dalam hal ini untuk mempercepat proses restart, anda bisa langsung menekan “ENTER”

18.Setelah itu akan muncul loading windows seperti gambar di bawah ini

19.elanjutnya proses instalasi windows di mulai 1..2..3…GOoooo muncul layar seperti gambar di bawah ini

20.selanjutnya tinggal menunggu, sambil ngopi jg bisa, biar lebih terinspirasi, eitssss, tp jangan kemana mana dulu, karna selanjutnya akan muncul layar seperti gambar di bawah ini

21.Langsung klik “NEXT” aja BOS…!!! lalu mucul lagi bos layar seperti gambar di bawah ini

22. Isi nama dan organisasinya, terserah BOS aja… lalu tekan “NEXT” kemudian akan muncul layar seperti gambar di bawah ini

23.Masukan serial numbernya baru tekan enter
24.Masukan settingan jam dan tanggal, tentukan juga time zone anda, untuk jakarta : pilih GMT+7 Klik “Next”
25.. Silahkan Menunggu sampai muncul layar seperti gambar di bawah ini

26.Selanjutnya akan muncul layar work group or computer Domain,seperti gambar di bawah ini

27.jika komputer anda terhubung dengan sebuah domain, maka isikan nama domainnya, tapi jika komputer anda stand alone, maka pilih radio button yang paling atas, lalu tekan “Next”
28.Selanjutnya akan muncul display setting, seperti gambar di bawah ini, klik “OK”

29.Kemudian windows akan mendeteksi tampilan optimal dari PC anda, seperti terlihat pada gambar di bawah ini, Klik “OK”

30.Proses instalasi hampir selesai BOS….. selanjutnya akan muncul loading jendela windows seperti gambar di bawah ini

31.Selanjutnya anda akan dibawa masuk ke dalam windows untuk pertama kalinya seperti terlihat pada gambar di bawah ini, tekan “Next”

32.Selanjutnya akan muncul layar “Help Protect Your PC”, seperti gambar di bawah ini, kemudian pilih “Not Right Now” lalu tekan “Next”

33.Kemudian komputer akan mengecek koneksi ke internet, seprti terlihat pada gambar di bawah ini, pilih “Yes” lalu tekan “Next”

34.Kemudian akan muncul pilihan aktivasi windows, seperti gambar di bawah ini, lalu tekan “Next”

35.. Setelah itu akan muncul tampilan seperti gambar di bawah ini yang menunjukan pilihan untuk menambah pengguna komputer, Anda bisa memasukkan beberapa pengguna yang akan mengakses komputer Anda, Namun jika satu akun sudah cukup, atau Anda menginstall komputer untuk dipakai bergantian, cukup masukkan satu user kemudian klik “Next”
36.Proses instalasi windows selesai, kemudian akan muncul layar seperti gambar di bawah ini, klik “finish”, maka proses instalasi selesai…..

37.elesailah sudah semua…. kemudian perlahan masuk ke windowsnya seperti telihat pada gambar di bawah ini


38. Kemudian tinggal menginstal CD Driver Motherboad, dan perangkat pendukung lainnya

39.Selesai ^_^
Posted in Uncategorized | Leave a comment

belajar bahasa pascal

PERULANGAN DAN SELEKSI KONDISI

1.1. Pendahuluan
Bahasa Pascal adalah bahasa pemrograman tingkat tinggi (high level language) yang cukup populer, khususnya di Indonesia. Hal ini disebabkan bahasa Pascal lebih mudah dipahami dibanding bahasa pemrograman lainnya, seperti bahasa C, bahasa assembler, dan lain sebagainya. Selain itu, bahasa Pascal adalah bahasa pemrograman yang terstruktur dan lebih mendekati bahasa manusia (bahasa Inggris) sehingga sangat cocok diterapkan dalam dunia pendidikan. Dalam latihan ini, digunakan compiler FreePascal (www.freepascal.org) yang bersifat open source dan tersedia di banyak operating system (DOS, Windows, Linux, Macintosh, FreeBSD, dan lain sebagainya).
Sebelum mempelajari pemrograman dengan bahasa Pascal, sebaiknya mengerti terlebih dahulu tentang konsep dan teknik pemrograman. Konsep pemrograman adalah bentuk dasar dari suatu program yaitu algoritma program. Algoritma adalah urutan proses yang dilakukan oleh sebuah program, umumnya algoritma ini berbentuk flowchart (diagram alir). Teknik pemrograman adalah cara mengubah suatu algoritma menjadi program yang sebenarnya dengan bahasa pemrograman tertentu. Konsep dan teknik pemrograman adalah dasar dari pemrograman komputer, dengan menguasai kedua hal tersebut maka mempelajari pemrograman menjadi lebih mudah.

1.2. Struktur Program
Bahasa Pascal, secara garis besar mempunyai struktur sebagai berikut :
1. Judul program,
2. Blok program yang terdiri dari :
a. Bagian deklarasi, meliputi :
– deklarasi label,
– deklarasi konstanta,
– deklarasi tipe,
– deklarasi variabel,
– deklarasi prosedur dan/atau fungsi.
b. Bagian pernyataan, berisi perintah-perintah.

Untuk lebih jelas memahami struktur program Pascal, perhatikan contoh program
berikut ini :
program Struktur_Pascal; { judul program }
label { deklarasi label }
ulang;
const { deklarasi konstanta }
bahasa = ‘Pascal’;
versi = 1.9;
type { deklarasi tipe }
tipeku = integer;
var { deklarasi variabel }
A : tipeku;
procedure Tulis; { deklarasi prosedur }
begin
Writeln(‘Latihan Pascal 1: Perulangan dan Seleksi Kondisi’);
Writeln(‘————————————————‘);
Writeln;
Writeln(‘Halo,saya sedang belajar bahasa ‘,bahasa,’ versi ‘,versi);
end;
begin { bagian pernyataan }
Tulis;
Readln;
end.

1.3. Perulangan
Perulangan (iterasi) adalah proses yang berulang. Iterasi selalu ada dalam bahasa
pemrograman apapun, karena disinilah letak kelebihan komputer dibanding manusia,
yaitu mampu melakukan hal yang sama berulang kali tanpa kesalahan akibat bosan
atau lelah. Dengan perulangan, program menjadi lebih pendek dan sederhana.
Dalam Pascal dikenal tiga macam perintah (statement) perulangan, yaitu
statement for…do, repeat…until dan while…do. Perulangan for…do adalah
perulangan dengan penghitung (counter), perulangan repeat…until adalah
perulangan dengan syarat akhir sedang perulangan while…do adalah perulangan
dengan syarat awal.
Untuk lebih jelas memahami proses perulangan ini, perhatikan contoh program
di bawah ini :

program Iterasi1;
var
I, Data : integer;
Nilai, Rata : real;
Jumlah : real;
begin
Writeln(‘Latihan Pascal 1: Perulangan dan Seleksi Kondisi’);
Writeln(‘————————————————‘);
Writeln(‘Nama : ____________________’);
Writeln(‘NIM : __________’);
Writeln;
Jumlah := 0;
Writeln;
Write(‘Masukkan jumlah data : ‘);
Readln(Data);
Writeln;
for I := 1 to Data do
begin
Write(‘Masukkan data ke-‘,I,’ : ‘);
Readln(Nilai);
Jumlah := Jumlah + Nilai;
end;
Rata := Jumlah/Data;
Writeln;
Writeln(‘Rata-ratanya = ‘,Rata:6:3);
Readln;
end.

Untuk lebih memahami apa yang dilakukan oleh program, jalankan program dengan tombol F7 dan amati perubahan variabelnya (cara mengamati perubahan variabel dapat ditanyakan pada asisten). Jika telah mengerti, buatlah program yang serupa dengan menggunakan statement perulangan yang lain.

1.4. Seleksi Kondisi
Seleksi kondisi adalah proses penentuan langkah berikutnya berdasarkan proses yang terjadi sebelumnya. Seleksi kondisi ini sangat penting dalam pemrograman sebab dengan adanya seleksi kondisi, program dapat menentukan proses apa yang harus dilakukan selanjutnya berdasarkan keadaan sebelumnya. Sehingga nampak seolaholah program dapat berpikir dan mengambil keputusan. Disinilah letak kekurangan komputer yaitu tidak mampu berpikir sendiri, semua hal yang dilakukan adalah berdasarkan perintah.
Dalam Pascal ada tiga macam perintah seleksi kondisi, yaitu statement

if…then, if…then…else dan case…of. Seleksi kondisi dengan if…then

digunakan untuk mengambil satu keputusan diantara dua pilihan sedang seleksi kondisi dengan
if…then…else dan case…of

digunakan untuk mengambil satu keputusan diantara banyak pilihan.

Untuk lebih memahami tentang seleksi kondisi, perhatikan contoh program di
bawah ini :

program Iterasi2;
var
Nilai : string;
begin
Writeln(‘Latihan Pascal 1: Perulangan dan Seleksi Kondisi’);
Writeln(‘————————————————‘);
Writeln(‘Nama : ____________________’);
Writeln(‘NIM : __________’);
Writeln;
Write(‘Masukkan nilai mata kuliah DKP Anda (huruf) : ‘);
Readln(Nilai);
if Length(Nilai) > 2 then
Writeln(‘Nilai tidak mungkin lebih dari dua karakter !’);
else
begin
if Nilai = ‘A’ then
Writeln(‘Anda berbakat menjadi programer !’)
else if Nilai = ‘B+’ then
Writeln(‘Anda bisa menjadi programer handal.’)
else if Nilai = ‘B’ then
Writeln(‘Anda mampu menjadi programer.’)
else if Nilai = ‘C+’ then
Writeln(‘Anda cukup mampu menjadi programer.’)
else if Nilai = ‘C’ then
Writeln(‘Anda kurang tertarik pada pemrograman.’)
else if Nilai = ‘D+’ then
Writeln(‘Anda tidak suka pemrograman, ya !’)
else if Nilai = ‘D’ then
Writeln(‘Anda pasti benci lihat program !’)
else if Nilai = ‘E’ then
Writeln(‘Anda pasti nggak niat kuliah !’)
else
Writeln(‘Anda salah memasukkan nilai !’);
end;
Readln;
end.

Sebagaimana pada program Iterasi1, jalankan program dengan F7. Kemudian ubah
baris perintah seleksi kondisi
if…then…else setelah
if…then…else yang pertama
menjadi case…of,

tentunya diikuti pula dengan beberapa perubahan yang lain sehingga program tetap dapat dijalankan.

1.5. Latihan
1. Secara umum dalam bahasa pemrograman terdapat tiga macam jenis perulangan. Sebutkan dan jelaskan masing-masing jenis tersebut !
2. Jelaskan apa yang dimaksud dengan pemrograman terstruktur dan jelaskan keuntungan memprogram dengan cara terstruktur !
3. Jelaskan apa yang dimaksud dengan statement atau perintah dalam Pascal dan apa pula bedanya dengan reserved words !
4. Perhatikan program Iterasi2 yang menggunakan perintah seleksi kondisi if…then…else, bandingkan dengan yang menggunakan case…of (yang Anda
buat saat latihan sebelumnya). Bandingkan dan jelaskan perbedaannya !
5. Perhatikan struktur program Pascal ! Diantara bagian-bagian struktur tersebut, manakah yang harus ada ? Jelaskan mengapa demikian ?

LATIHAN II
PROSEDUR DAN FUNGSI

2.1. Pendahuluan
Sebuah program yang baik adalah program yang membagi permasalahan utama
menjadi bagian-bagian kecil dimana setiap bagian kecil ditangani oleh sebuah
subprogram, cara ini disebut dengan modular programming (pemrograman
terbagi/terpecah). Cara ini termasuk pemrograman terstruktur dan sangat didukung
oleh bahasa Pascal. Untuk itu, Pascal telah menyediakan dua jenis subprogram, yaitu
procedure dan function (prosedur dan fungsi).

Dengan modular programming, program lebih mudah dibaca dan dimengerti.
Selain itu, pembenahan program dan penelusuran jalannya program (debugging)
menjadi lebih mudah sebab dapat langsung diketahui subprogram mana yang berjalan
tidak sesuai dengan yang diharapkan.

2.2. P r o s e d u r
Prosedur adalah subprogram yang menerima masukan tetapi tidak mempunyai
keluaran secara langsung. Cara mendeklarasikan sebuah prosedur adalah sebagai
berikut :
procedure A; { nama prosedur adalah A }
begin
{ statement }
end;

Pendeklarasian prosedur di atas adalah untuk prosedur yang tidak memerlukan
parameter. Parameter adalah data masukan untuk subprogram yang nantinya akan
diproses lebih lanjut dalam subprogram tersebut. Dalam Pascal, dikenal dua macam
parameter yaitu :
1. parameter nilai (value parameter), dan
2. parameter referensi (reference parameter).

Cara mendeklarasikan parameter tersebut adalah sebagai berikut :

procedure B(X : integer; var Y : integer);
begin
{ statement }
end;

Pada deklarasi prosedur di atas, parameter X adalah parameter nilai sedang parameter
Y adalah parameter referensi. Jadi, pendeklarasian parameter referensi didahului oleh
reserved word var. Parameter referensi ini nantinya dapat dijadikan sebagai variabel
keluaran dari prosedur.

Untuk lebih memahami penggunaan prosedur dalam Pascal, perhatikan contoh
program di bawah ini :

program Prosedur;
uses CRT;
var
Bil_1, Bil_2, Hasil : integer;
procedure Awal;
begin
Writeln(‘Latihan Pascal 2 : Prosedur dan Fungsi’);
Writeln(‘————————————–‘);
Writeln;
Writeln(‘Nama : ____________________’);
Writeln(‘NIM : __________’);
Writeln;
end;
procedure Baca_Data;
begin
Write(‘Masukkan bilangan pertama : ‘);
Readln(Bil_1);
Write(‘Masukkan bilangan kedua : ‘);
Readln(Bil_2);
Writeln;
end;
procedure Kali(A,B : integer);
var
I : integer;
begin
Hasil := 0;
for I := 1 to B do Hasil := Hasil + A;
end;
procedure Kalikan(A,B : integer; var C : integer);
var
I : integer;
begin
C := 0;
for I := 1 to B do C := C + A;
end;
begin
ClrScr;
Awal;
Baca_Data;
Kali(Bil_1, Bil_2);
Writeln(Bil_1:3,’ x ‘,Bil_2:3,’ = ‘,Hasil:5);
Kalikan(Bil_1, Bil_2, Hasil);
Writeln(Bil_1:3,’ x ‘,Bil_2:3,’ = ‘,Hasil:5);
Writeln;
Write(‘Tekan Enter…’);
Readln;
end.

Perhatikan program di atas. Dua prosedur terakhir memiliki kemiripan, bedanya hanya
pada jumlah parameter dan variabel hasil perkaliannya. Untuk lebih jelas, jalankan program dan perhatikan apa yang dilakukan oleh dua prosedur tersebut maka akan nampak perbedaan keduanya.

2.3. F u n g s i
Fungsi adalah subprogram yang menerima masukan dan mempunyai keluaran secara langsung. Cara mendeklarasikan sebuah fungsi adalah sebagai berikut :

function A : integer; { nama fungsi adalah A dengan }
begin { tipe data keluaran adalah integer }
{ statement }
A := 3; { nilai yang dikeluarkan fungsi }
end;

Sebagaimana dalam prosedur, fungsi juga dapat diberikan parameter. Cara
mendeklarasikan fungsi dengan parameter juga tidak jauh berbeda dengan
pendeklarasian parameter pada prosedur.

function B(X : integer) : integer;
begin
{ statement }
B := X * 2;
end;

Perbedaan utama antara prosedur dan fungsi adalah dalam menghasilkan keluaran.
Walaupun prosedur bisa menghasilkan nilai keluaran, tetapi nilai tersebut tidak dapat
diambil secara langsung, melainkan harus diambil melalui parameter referensi.
Sedangkan keluaran dari fungsi dapat diambil langsung dari fungsi tersebut. Untuk
lebih memahami perbedaan prosedur dan fungsi, perhatikan contoh berikut ini :
program Fungsi;
uses CRT;
var
Bil_1, Bil_2, Hasil : integer;
procedure Awal;
begin
Writeln(‘Latihan Pascal 2 : Prosedur dan Fungsi’);
Writeln(‘————————————–‘);
Writeln;
Writeln(‘Nama : ____________________’);
Writeln(‘NIM : __________’);
Writeln;
end;
procedure Baca_Data;
begin
Write(‘Masukkan bilangan pertama : ‘);
Readln(Bil_1);
Write(‘Masukkan bilangan kedua : ‘);
Readln(Bil_2);
Writeln;
end;
function Kali(A,B : integer) : integer;
var
I,J : integer;
begin
J := 0;
for I := 1 to B do J := J + A;
Kali := J;
end;
procedure Kalikan(A,B : integer; var C : integer);
var
I : integer;
begin
C := 0;
for I := 1 to B do C := C + A;
end;
begin

ClrScr;
Awal;
Baca_Data;
Writeln(Bil_1:3,’ x ‘,Bil_2:3,’ = ‘,Kali(Bil_1,Bil_2):5);
Kalikan(Bil_1, Bil_2, Hasil);
Writeln(Bil_1:3,’ x ‘,Bil_2:3,’ = ‘,Hasil:5);
Writeln;
Write(‘Tekan Enter…’);
Readln;
end.

Perhatikan program di atas. Prosedur Kalikan dan fugsi Kali mempunyai keluaran yang sama, tetapi cara mengambil keluarannya berbeda. Perhatikan dan jelaskan apa yang terjadi jika baris keempat dalam program utama yang semula perintah :

Writeln(Bil_1:3,’ x ‘,Bil_2:3,’ = ‘,Kali(Bil_1,Bil_2):5);
diubah menjadi :

Writeln(Bil_1:3,’ x ‘,Bil_2:3,’ = ‘,Kalikan(Bil_1,Bil_2,Hasil):5);

2.4. Rekursi
Dalam Pascal, ada satu kelebihan dalam cara pemanggilan subprogram. Pascal mengijinkan pemanggilan suatu subprogram dari dalam subprogram itu sendiri. Tidak semua bahasa pemrograman mengijinkan cara pemanggilan subprogram seperti itu karena akan banyak memakan memori. Untuk lebih jelasnya perhatikan potongan program di bawah ini :

procedure Z;
begin
{ statement }
Z;
end;

Pada baris terakhir prosedur Z di atas, terdapat pemanggilan kembali terhadap prosedur Z, sehingga prosedur di atas tidak akan pernah selesai dijalankan sebab begitu sampai pada baris terakhir dari prosedur, program akan kembali lagi ke awal prosedur. Yang terjadi adalah semacam perulangan tanpa perintah perulangan Pascal, dan perulangan dengan cara ini disebut dengan rekursi. Rekursi berlaku terhadap semua subprogram dalam Pascal, yaitu prosedur dan fungsi.

Dengan adanya rekursi ini, banyak algoritma komputer menjadi lebih mudah dibuat programnya. Berikut ini adalah program menghitung suku banyak Legendre, salah satu contoh perhitungan yang dapat diselesaikan dengan menggunakan rekursi :

program Rekursi;
uses CRT;
var
Jum_Suku, I : integer;
Bil_X : real;
function Legendre(X : real; N : integer) : real;
var
Suku_1, Suku_2 : real;
begin
if N = 0 then
Legendre := 1
else if N = 1 then
Legendre := X
else
begin
Suku_1 := ((2*N – 1) * (X * Legendre(X, N-1))) / N;
Suku_2 := ((N-1) * Legendre(X, N-2)) / N;
Legendre := Suku_1 + Suku_2;
end;
end;
procedure Awal;
begin
Writeln(‘Latihan Pascal 2 : Prosedur dan Fungsi’);
Writeln(‘————————————–‘);
Writeln;
Writeln(‘Nama : ____________________’);
Writeln(‘NIM : __________’);
Writeln;
end;
procedure Baca_Data;
begin
Writeln(‘Menghitung Suku Banyak Legendre’);
Writeln;
Write(‘Sampai suku ke : ‘);
Readln(Jum_Suku);
Write(‘Masukkan nilai X : ‘);
Readln(Bil_X);
Writeln;
end;
begin
ClrScr;
Awal;
Baca_Data;
for I := 0 to Jum_Suku do
begin
Writeln(‘Suku ke-‘,I:2,’, Nilainya = ‘,Legendre(Bil_X, I):8:3);
end;
Writeln;
Write(‘Tekan Enter…’);
Readln;
end.

Untuk lebih jelas memahami program, jalankan program dengan F7. Perhatikan pula
apa yang dilakukan oleh fungsi Legendre. Amati perubahan variabel-variabel yang
terlibat dalam fungsi.

2.5. Latihan
1. Apa guna parameter dalam subprogram ?
2. Kapan kita menggunakan fungsi dan kapan pula menggunakan prosedur?
3. Sebutkan dan jelaskan kelemahan rekursi !
4. Buatlah program Rekursi di atas tanpa menggunakan rekursi kemudian bandingkan
antara yang menggunakan rekursi dan yang tidak. Jelaskan perbedaan dan
persamaannya !
5. Buatlah program untuk menghitung perkalian dua bilangan kompleks ! Gunakan
prosedur atau fungsi !

LATIHAN III
ARRAY DAN RECORD
3.1. Pendahuluan
Dalam bahasa Pascal, secara garis besar dikenal dua macam tipe data yaitu tipe data sederhana (primitive type) dan tipe data kompleks (complex type). Contoh tipe data sederhana adalah tipe numerik (integer dan real), tipe data karakter, tipe data boolean dan tipe data enumerasi. Contoh tipe data kompleks adalah string, array (larik), record dan object. Tipe data sederhana adalah tipe data yang hanya mampu menyimpan satu nilai tiap satu variabelnya. Sebaliknya tipe data kompleks adalah tipe data yang mampu menyimpan lebih dari satu nilai dalam tiap satu variabelnya. Dalam latihan ini hanya
akan dibahas dua tipe data kompleks yaitu array dan record.

3.2. A r r a y
Array adalah tipe data kompleks yang elemen-elemennya mempunyai tipe data yang sama. Jumlah elemen array bersifat tetap dan tidak bisa ditambah atau dikurangi setelah pendeklarasiannya. Tiap elemen mempunyai nomer indeks sendiri dan pengaksesan terhadap elemen array dilakukan dengan menunjukkan nomer indeks dari elemen yang akan diakses.
Cara pendeklarasian suatu variabel bertipe array adalah sebagai berikut :

var
A : array[1..10] of integer;

Pada potongan program di atas, maksudnya adalah sebagai berikut : variabel A berupa array dari integer dengan jumlah elemen sebanyak 10, nomer indeks terkecil adalah 1 dan nomer indeks terbesar adalah 10. Untuk mengakses elemen dari variabel A dapat dilakukan dengan menunjukkan nomer indeks elemen A seperti ini :

A[nomer_indeks] contoh : A[1] := 10;

Untuk lebih memahami penggunaan array dalam program, perhatikan contoh
program di bawah ini :

program Fibonacci;
uses CRT;
var
I : integer;
Data : array[1..10] of integer;
procedure Awal;
begin
Writeln(‘Praktikum DKP III : Array dan Record’);
Writeln(‘————————————‘);
Writeln;
Writeln(‘Nama : ____________________’);
Writeln(‘NIM : __________’);
Writeln;
end;
procedure Fibo;
begin
for I := 1 to 10 do
begin
if I < 3 then
Data[I] := I – 1
else
Data[I] := Data[I-1] + Data[I-2];
end;
Writeln(‘Deret Fibonacci suku ke-1 hingga suku ke-10 :’);
for I := 1 to 10 do Write(Data[I]:3);
Writeln;
end;
begin
ClrScr;
Awal;
Fibo;
Writeln;
Write(‘Tekan Enter…’);
Readln;
end.

Perhatikan program di atas, terutama cara mengakses variabel array pada prosedur
Fibo. Untuk lebih memahami jalannya program, jalankan program dengan F7 dan perhatikan perubahan elemen-elemen variabel Data yang berupa array. Jika program di atas telah dimengerti, buatlah program menghitung deret Fibonacci tetapi tidak menggunakan variabel array. Kemudian bandingkan dan perhatikan perbedaan kedua program tersebut. Array yang digunakan pada program di atas adalah array berdimensi tunggal atau array berdimensi satu. Dengan demikian, dapat pula dideklarasikan variabel array dengan dimensi lebih dari satu atau array berdimensi banyak. Berikut adalah cara mendeklarasikan array berdimensi dua :

var
A : array[1..10,1..10] of integer;

Antara dimensi satu dengan dimensi lainnya dipisahkan oleh tanda koma (,), demikian juga untuk mendeklarasikan array berdimensi lebih dari dua. Cara mengakses elemen array juga tidak jauh berbeda dengan cara mengakses elemen array berdimensi satu, yaitu menggunakan nomer indeksnya. Contohnya sebagai berikut : A[2,3] := 10; artinya elemen yang terletak pada nomer 2 dimensi pertama dan nomer 3 dimensi kedua diisi dengan nilai 10. Array berdimensi dua ini banyak digunakan dalam perhitungan matrik, oleh sebab itu array berdimensi dua disebut juga dengan array matrik. Perhatikan contoh program berikut ini :

program Jumlah_Matrik;
uses CRT;
const
Orde = 3;
type
Matrik = array[1..orde,1..orde] of integer;
var
M1, M2, H : matrik;
I, J : integer;
procedure Awal;
begin
Writeln(‘Latihan Pascal 3 : Array dan Record’);
Writeln(‘————————————‘);
Writeln;
Writeln(‘Nama : ____________________’);
Writeln(‘NIM : __________’);
Writeln;
end;
procedure JumlahMatrik(var Mat1, Mat2, MatHasil : matrik);
begin
for I := 1 to orde do
for J := 1 to orde do
MatHasil[I,J] := Mat1[I,J] + Mat2[I,J];
end;
procedure BacaData(var Mat : matrik);
begin
for I := 1 to orde do
for J := 1 to orde do
begin
Write(‘Nilai[‘,I,’,’,J,’] = ‘);
Readln(Mat[I,J]);
end;
end;
procedure TulisMatrik(var Mat : matrik);
begin
for I := 1 to orde do
begin
for J := 1 to orde do
begin
Write(Mat[I,J]:5);
end;
Writeln;
end;
end;
begin

ClrScr;
Awal;
Writeln(‘Isi matrik pertama :’);
BacaData(M1);
Writeln;
Writeln(‘Isi matrik kedua :’);
BacaData(M2);
Writeln;
JumlahMatrik(M1, M2, H);
Writeln(‘Penjumlahan matrik pertama dan kedua :’);
TulisMatrik(H);
Writeln;
Write(‘Tekan Enter…’);
Readln;
end.

Perhatikan program di atas. Terutama cara mengakses isi array dua dimensi secara
berurutan seperti pada tiga prosedur terakhir.

3.3. R e c o r d
Record adalah tipe data kompleks yang elemen-elemennya boleh mempunyai tipe data yang berbeda. Record lebih kompleks daripada array karena record merupakan kumpulan beberapa variabel dengan tipe data yang berbeda. Berbeda dengan array yang tiap elemennya ditandai dengan nomer indeks maka record ditandai dengan nama variabel anggotanya. Cara mengakses elemen dari record dilakukan dengan menyebutkan nama variabel anggota setelah menyebutkan nama record yang akan diakses. Di antara nama record dan nama variabel anggota dipisahkan tanda titik (.).
Cara pendeklarasian record adalah sebagai berikut :

var
B : record
X : integer;
Y : real;
end;

Pada pendeklarasian di atas, maksudnya adalah sebagai berikut : variabel B berupa
record dengan dua elemen yaitu X bertipe integer dan Y bertipe real. Untuk
mengakses elemen dari variabel B seperti berikut : B.nama_variabel
contoh : B.X := 10;

Untuk lebih memahami penggunaan record dalam program, perhatikan contoh
berikut ini :

program Jumlah_Kompleks;
uses CRT;
Type
Kompleks = record
bil_real : integer;
bil_imaj : integer;
end;
var
K1, K2, H : kompleks;
procedure Awal;
begin
Writeln(‘ Latihan Pascal 3 : Array dan Record’);
Writeln(‘————————————‘);
Writeln;
Writeln(‘Nama : ____________________’);
Writeln(‘NIM : __________’);
Writeln;
end;
procedure JumlahKompleks(var Komp1, Komp2, KompHasil : kompleks);
begin
KompHasil.bil_real := Komp1.bil_real + Komp2.bil_real;
KompHasil.bil_imaj := Komp1.bil_imaj + Komp2.bil_imaj;
end;
procedure BacaData(var Komp : kompleks);
begin
Write(‘Bilangan real : ‘);
Readln(Komp.bil_real);
Write(‘Bilangan imajiner : ‘);
Readln(Komp.bil_imaj);
end;
procedure TulisKompleks(var Komp : kompleks);
begin
Write(‘(‘,Komp.bil_real:3,’ + ‘,Komp.bil_imaj:3,’i)’);
end;
begin

ClrScr;
Awal;
Writeln(‘Isi bilangan kompleks pertama :’);
BacaData(K1);
Writeln;
Writeln(‘Isi bilangan kompleks kedua :’);
BacaData(K2);
Writeln;
JumlahKompleks(K1, K2, H);
Writeln(‘Penjumlahan bilangan kompleks pertama dan kedua :’);
TulisKompleks(K1);
Write(‘ + ‘);
TulisKompleks(K2);
Write(‘ = ‘);
TulisKompleks(H);
Writeln;
Writeln;
Write(‘Tekan Enter…’);
Readln;
end.

Perhatikan program di atas. Untuk lebih jelasnya, jalankan program dengan F7
sehingga akan terlihat urutan jalannya program. Perhatikan pula bagaimana cara
mengakses elemen record seperti pada prosedur JumlahKompleks.

3.4. Latihan
1. Buatlah program untuk mengurutkan sekumpulan data !
2. Buatlah program menghitung perkalian matriks !
3. Buatlah program menghitung perkalian bilangan kompleks !
4. Jelaskan guna reserved word with dalam Pascal !
5. Jelaskan perbedaan dan persamaan antara array dan record !

LATIHAN IV
G R A F I K

4.1. Pendahuluan
Layar komputer selain dapat beroperasi pada mode teks, juga dapat beroperasi
pada mode grafik. Dengan adanya kemampuan ini, banyak hal yang semula tidak
dapat dilakukan pada mode teks dapat dilakukan pada mode grafik, seperti membuat
atau menampilkan gambar di layar komputer. Selain itu, mode grafik dapat digunakan
untuk memvisualisasikan grafik persamaan matematika.
Karena mode grafik berbeda dengan mode teks, maka pemrogramannya pun
berbeda pula. FreePascal telah menyediakan prosedur dan fungsi khusus untuk
pemrograman pada mode grafik. Latihan keempat ini akan mempelajari pemrograman
mode grafik dengan FreePascal.

4.2. Mengaktifkan Mode Grafik
Untuk mengaktifkan mode grafik, digunakan prosedur standar Pascal :

InitGraph(var GraphDriver: integer; var GraphMode: integer; DriverPath: string);

Pada prosedur di atas, diperlukan tiga buah parameter :
1. GraphDriver : definisi tingkat kedalaman warna monitor,
2. GraphMode : definisi resolusi monitor,
3. DriverPath : lokasi file driver yang digunakan, jika menggunakan file khusus, biasanya tidak perlu sehingga bisa dikosongkan.

4.3. Prosedur dan Fungsi Grafik Standar Pascal
Untuk penanganan mode grafik, FreePascal telah menyediakan banyak prosedur dan fungsi dalam satu unit khusus untuk pemrograman grafik. Lebih jelasnya, perhatikan program berikut :
program Grafik1;
uses Graph;
var
GDriver, GMode : integer;
C, I, X, Y : integer;
SX, SY, SC : string;
begin
GDriver := d8bit; // kedalaman warna 8 bit (256 warna)
GMode := m640x480; // resolusi monitor 640 lebar x 480 tinggi
InitGraph(GDriver,GMode,”);
Randomize;
C := GetMaxColor;
X := GetMaxX;
Y := GetMaxY;
Str(C+1,SC);
Str(X+1,SX);
Str(Y+1,SY);
for I := 1 to 100 do
begin
PutPixel(random(X),random(Y),random(C));
SetColor(random(C));
Line(random(X),random(Y),random(X),random(Y));
Circle(random(X),random(Y),random(50));
end;
Bar(2,2,637,10);
SetColor(0);
OutTextXY(5,3,Latihan 4 : Grafik’);
OutTextXY(500,3,’Nama : ———‘);
Bar(2,468,637,477);
SetColor(1);
OutTextXY(380,469,’Mode Grafik VGA’+SX+’x’+SY+’ ‘+SC+’ warna’);
SetColor(4);
OutTextXY(5,469,’Tekan Enter…’);
SetColor(C);
Rectangle(0,0,X,Y);
Readln;
CloseGraph;
end.

Perhatikan jalannya program dengan cara menjalankannya perbaris (step over),
gunakan tombol F8. Dengan cara ini dapat dilihat apa yang dilakukan oleh tiap baris
program di atas.

4.4. Aplikasi Grafik
Setelah mengetahui cara pemrograman grafik, hal selanjutnya yang perlu
dipelajari adalah cara mengaplikasikannya untuk menyelesaikan suatu permasalahan.
Percobaan kali ini akan membahas pemanfaatan mode grafik untuk menampilkan
bentuk grafik suatu persamaan matematika. Perhatikan program berikut ini :
program Grafik2;
uses Graph;
var
GDriver, GMode : integer;
A, B, I : integer;
MC, MX, MY : integer;
TX, TY, JX, JY : integer;
K, X1, X2, Y : real;
SX, SY, SC : string;
function F(X : real): real;
begin
F := sin(2*PI*X)/X;
end;
begin
GDriver := d8bit;
GMode := m640x480;
InitGraph(GDriver, GMode, ‘A:\’);
MC := GetMaxColor;
MX := GetMaxX;
MY := GetMaxY;
Str(MC+1,SC);
Str(MX+1,SX);
Str(MY+1,SY);
Bar(2,2,637,10);
SetColor(0);
OutTextXY(5,3,’Latihan 4 : Aplikasi Grafik’);
OutTextXY(500,3,’Nama : ———-‘);
Bar(2,468,637,477);
SetColor(1);
OutTextXY(370,469,’Mode Grafik VGA ‘+SX+’x’+SY+’ ‘+SC+’ warna’);
SetColor(4);
OutTextXY(5,469,’Tekan Enter…’);
SetColor(MC);
Rectangle(0,0,MX,MY);
Rectangle(2,12,637,466);
SetViewPort(3,13,636,465,true);
TX := 320;
TY := 340;
JX := 50;
JY := 50;
X1 := -25;
X2 := 25;
K := 0.001;
SetColor(9);
Line(TX,0,TX,MY);
Line(0,TY,MX,TY);
SetLineStyle(1,0,1);
SetColor(8);
for I := 1 to 25 do
begin
A := TX + I*JX;
B := TX – I*JX;
Line(A,0,A,MY);
Line(B,0,B,MY);
A := TY – I*JY;
B := TY + I*JY;
Line(0,A,MX,A);
Line(0,B,MX,B);
end;
repeat
X1 := X1 + K;
Y := F(X1);
A := round(X1 * JX) + TX;
B := TY – round(Y * JY);
PutPixel(A,B,14);
until X1 > X2;
Readln;
CloseGraph;
end.

Jalankan program di atas dengan menekan tombol F8. Untuk lebih jelas memahami
program lakukan beberapa hal berikut :
Ubah nilai variabel TX menjadi …..….., kemudian jalankan kembali program diatas. Ubah lagi variabel TY menjadi ………., kemudian jalankan lagi programnya.
Ubah nilai variabel JX menjadi ………., kemudian jalankan kembali program diatas. Ubah lagi variabel JY menjadi ………., kemudian jalankan lagi programnya.
Ubah nilai variabel X1 menjadi ………, kemudian jalankan kembali program diatas. Ubah variabel X2 menjadi ………, kemudian jalankan lagi programnya.
Ubah nilai variabel K menjadi ………., kemudian jalankan lagi program di atas. Ubah lagi variabel K menjadi ………., kemudian jalankan lagi programnya.

Dengan melakukan beberapa hal di atas, dapat ditarik kesimpulan mengenai manfaat
masing-masing variabel yang digunakan dalam program.

4.5. Latihan
1. Jelaskan (berikut parameternya) dari fungsi dan prosedur grafik Pascal di bawah
ini:
a. GetPixel
b. ClearDevice
c. Bar3D
d. SetLineStyle
e. SetTextStyle
2. Buatlah flowchart dari program Grafik2, kemudian jelaskanlah jalan programnya !
3. Jelaskan manfaat penggunaan fungsi round dalam perulangan
repeat…until pada program Grafik2 !
4. Jelaskan manfaat dari masing-masing variabel yang telah Anda amati pada saat
menjalankan program Grafik2 di atas !
5. Dengan menggunakan program Grafik2, ubahlah persamaan grafiknya menjadi :
f(x) = exp(x). Jelaskan apa yang terjadi pada program !

LATIHAN V
ANALISA NUMERIK

5.1. Pendahuluan
Setelah mempelajari pemrograman menggunakan bahasa Pascal maka pada latihan terakhir ini akan dipelajari tentang aplikasi pemrograman untuk memecahkan permasalahan dengan metode numerik. Metode numerik adalah teknik yang digunakan untuk memformulasikan masalah matematis sehingga dapat dipecahkan dengan operasi perhitungan. Metode numerik banyak berguna dalam memecahkan masalahmasalah teknik rekayasa yang tidak mungkin dipecahkan secara analitis.
Dalam latihan ini hanya dibahas dua masalah dasar dalam metode numerik, yaitu penentuan akar-akar persamaan dan menyelesaikan sistem persamaan. Selain itu, pembahasan akan lebih ditekankan pada materi pemrogramannya daripada teori numeriknya. Lebih lanjut tentang teori-teori metode numerik dapat dipelajari dalam mata pelajaran Matematika.

5.2. Menentukan Akar-Akar Persamaan
Suatu persamaan matematika dapat ditentukan akar persamaannya dengan beberapa metode. Secara garis besar, ada dua metode yaitu metode pengurung dan metode terbuka. Salah satu metode pengurung adalah metode grafik, metode ini sudah dijelaskan pada latihan keempat tentang aplikasi grafik. Metode ini mengamati secara langsung posisi akar pada grafik persamaannya. Selain metode grafik, ada beberapa macam lagi metode pengurung seperti metode inkremental, metode bagi dua dan metode posisi palsu. Berikut ini adalah program untuk menentukan akar-akar persamaan dengan metode inkremental :

program Akar_Persamaan;
uses CRT;
var
MaxGalat, AkarPers,
BatasAtas, BatasBawah : real;
MaxIterasi : integer;
function F(X : real) : real;
begin
F := X*X*X – 6*X – 7;
end;
procedure Awal;
begin
Writeln(‘Latihan 5 : Analisa Numerik’);
Writeln(‘—————————‘);
Writeln;
Writeln(‘Nama : ____________________’);
Writeln(‘NIM : __________’);
Writeln;
Writeln(‘Program Untuk Menghitung Akar Persamaan’);
Writeln;
end;
procedure BacaData;
begin
Write(‘Masukkan galat maksimum : ‘);
Readln(MaxGalat);
Write(‘Masukkan maksimum iterasi : ‘);
Readln(MaxIterasi);
Write(‘Masukkan perkiraan awal : ‘);
Readln(BatasBawah);
Writeln;
end;
procedure Inkremental;
var
Iterasi : integer;
Kenaikan,
Galat, Uji : real;
begin
Iterasi := 0;
Kenaikan := 1;
Writeln(‘ Iterasi Batas Bawah Akar Persamaan Galat’);
Writeln(‘————————————————-‘);
repeat
Iterasi := Iterasi + 1;
BatasAtas := BatasBawah + Kenaikan;
AkarPers := BatasAtas;
Uji := F(BatasAtas) * F(BatasBawah);
Galat := abs((AkarPers – BatasBawah)/AkarPers);
if Uji > 0 then BatasBawah := BatasAtas
else Kenaikan := Kenaikan/2;
Writeln(Iterasi:5, BatasBawah:17:5, AkarPers:15:5, Galat:13:5);
until (Kenaikan <= MaxGalat) or (Iterasi >= MaxIterasi);
Writeln(‘————————————————-‘);
Writeln;
end;
procedure TampilHasil;
begin
Writeln(‘Akar persamaan dari fungsi adalah ‘,AkarPers:8:5);
end;
begin
ClrScr;
Awal;
BacaData;
Inkremental;
TampilHasil;
Writeln;
Write(‘Tekan Enter…’);
Readln;
end.

Jalankan program di atas dengan menekan tombol F7, perhatikan jalannya program dan pelajari algoritmanya. Jika algoritma program telah dimengerti, temukan kelemahan dan kelebihannya dan perbaikilah kelemahan tersebut.

5.3. Menyelesaikan Sistem Persamaan Linier
Dalam teknik-teknik rekayasa seringkali dijumpai suatu permasalahan yang lebih mudah menyelesaikannya dengan mengubah permasalahan menjadi persamaan matematika. Untuk persamaan tunggal dapat diselesaikan dengan menggunakan metode penentuan akar persamaan, sedang untuk persamaan yang lebih dari satu maka diperlukan metode lain untuk menyelesaikannya. Ada beberapa metode numerik yang seringkali digunakan untuk menyelesaikan suatu sistem persamaan, antara lain dengan metode eliminasi matrik, metode grafik dan metode eliminasi Gauss yang mempunyai beberapa macam jenis. Metode grafik telah dibahas pada latihan sebelumnya, tetapi untuk menyelesaikan suatu sistem persamaan, semua grafik persamaan harus ditampilkan bersamaan, karenanya contoh program dalam latihan keempat harus diperbaiki agar dapat menampilkan beberapa persamaan sekaligus. Berikut ini adalah contoh program menggunakan metode eliminasi matrik :

Program Eliminasi_Matrik;
uses CRT;
const
JmlPers = 3;
type
Matrik = array[1..JmlPers+1, 1..JmlPers+1] of real;
var
Koefs : matrik;
procedure Identitas;
begin
Writeln(‘Latihan 5 : Analisa Numerik’);
Writeln(‘—————————‘);
Writeln;
Writeln(‘Nama : ____________________’);
Writeln(‘NIM : __________’);
Writeln;
end;
procedure Judul;
begin
Writeln(‘Program Penyelesaian 3 Persamaan Linier’);
Writeln;
Writeln(‘Bentuk persamaan : a1 x + b1 y + c1 z = k1’);
Writeln(‘ a2 x + b2 y + c2 z = k2’);
Writeln(‘ a3 x + b3 y + c3 z = k3’);
Writeln;
end;
procedure BacaData;
var
I, J : integer;
begin
for I := 1 to JmlPers do
begin
for J := 1 to JmlPers + 1 do
begin
if J = JmlPers + 1 then
begin
Write(‘Masukkan konstanta k’,I,’ : ‘);
Readln(Koefs[I,J]);
end
else
begin
Write(‘Masukkan nilai ‘,chr(96+J),I,’ : ‘);
Readln(Koefs[I,J]);
end;
end;
Writeln;
end;
end;
function Det3x3(var Mat : matrik) : real;
var
Det3, H : real;
I, J, K, L : integer;
Det2 : array[1..4] of real;
begin
K := 0;
Det3 := 0;
for L := 1 to 4 do Det2[L] := 0;
for I := 1 to 3 do
begin
for L := 2 to 3 do
begin
for J := 1 to 3 do
begin
if I <> J then
begin
K := K + 1;
Det2[K] := Mat[L,J];
end;
end;
end;
H := Mat[1,I];
if I mod 2 = 0 then H := -H;
Det3 := Det3 + (Det2[1]*Det2[4] – Det2[2]*Det2[3]) * H;
for L := 1 to 4 do Det2[L] := 0;
K := 0;
end;
Det3x3 := Det3;
end;
procedure EliminasiMatrik;
var
MatElim : matrik;
I, J : integer;
A, B : real;
begin
MatElim := Koefs;
for J := 1 to JmlPers do
begin
for I := 1 to JmlPers do
MatElim[I,J] := Koefs[I,JmlPers+1];
A := Det3x3(MatElim);
B := Det3x3(Koefs);
Koefs[JmlPers+1,J] := A/B;
MatElim := Koefs;
end;
end;
procedure TampilkanHasil;
var
I : integer;
begin
ClrScr;
Identitas;
Writeln(‘Program Penyelesaian 3 Persamaan Linier’);
Writeln;
Writeln(‘Bentuk persamaan : ‘);
for I := 1 to JmlPers do
begin
Write(Koefs[I,1]:5:2,’x + ‘,Koefs[I,2]:5:2,’y + ‘);
Writeln(Koefs[I,3]:5:2,’z = ‘,Koefs[I,4]:5:2);
end;
Writeln;
Writeln(‘Penyelesaian persamaan :’);
for I := 1 to JmlPers do
Writeln(chr(119+I):5,’ = ‘,Koefs[JmlPers+1,I]:5:2);
end;
begin
ClrScr;
Identitas;
Judul;
BacaData;
EliminasiMatrik;
TampilkanHasil;
Writeln;
Write(‘Tekan Enter…’);
Readln;
end.

Jalankan program di atas dengan tombol F7. Perhatikan terutama pada prosedur Eliminasi Matrik sebab prosedur itulah inti dari program di atas. Fungsi Det3x3 yang menghasilkan nilai determinan dari matrik orde 3×3 juga sangat penting untuk dimengerti. Diharapkan setelah memahami program di atas, bisa lebih mudah untuk mempelajari algoritma penyelesaian sistem persamaan linier lainnya, seperti metode eliminasi Gauss, eliminasi Gauss-Jordan dan lain sebagainya.

5.4. Latihan
1. Buatlah program untuk menghitung perkalian matrik berukuran 3 x 3 !
2. Buatlah program untuk menghitung gaya momentum dua benda yang saling
bertumbukan !

Posted in Uncategorized | Leave a comment