Perkembangan Ekonomi di Sector Pertanian
Pembangunan ekonomi pada sector pertanian dimaksudkan untuk meningkatkan pendapatan petani dan mensukseskan pemerataan pembangunan pedesaan. Hal ini didasarkan pada fakta bahwa dalam struktur perekonomian Jawa Barat sektor pertanian merupakan sector dominan ke tiga terbesar setelah industri dan perdagangan.
Upaya yang sudah dijalankan pemerintah kearah itu adalah dengan menerapkan program intensifikasi, ekstensifikasi, diversifikasi dan rehabilitasi. Ulasan pada bab ini akan dikelompokkan dalam sub sektor sebagai berikut:
5.1 Pertanian Tanaman Pangan
5.2 Perkebunan
5.3 Kehutanan
5.4 Peternakan
5.5 Perikanan
5.1 Pertanian Tanaman Pangan
Tanaman pangan meliputi tanaman bahan makanan, sayur-sayuran dan buah-buahan. Tanaman Bahan Makanan terdiri dari jenis padi-padian, jagung, umbi-umbian dan kacang-kacangan. Data tanaman bahan makanan dirinci menurut luas panen, hasil per hektar dan produksi. Luas lahan dengan menggunakan irigasi teknis terus meningkat dibanding tahun sebelumnya dan mencapai angka 383 261 Ha atau sekitar 41.20 persen dari luas sawah lahan total.
Sedangkan luas lahan kering bila dilihat menurut penggunaannya, yang utama adalah jenis tegal/kebun mencapai 612 151 Ha atau 23,35 persen dari jumlah lahan kering, disusul oleh Hutan Negara 577 110 Ha (22,41 persen) sedangkan yang paling kecil adalah lahan yang sementara tidak diusahakan yaitu 10 534 Ha ( persen).
Pada tahun 2004 luas panen padi mengalami kenaikan yang signifikan dibanding tahun 2003 demikian pula hasil produksinya. Untuk padi sawah luas panen dan produksinya mengalami kenaikan masing-masing sebesar 15,2 dan 11,62 persen. Sementara itu padi lading luas panennya dan produksinya mengalami penurunan masing–masing sebesar 7,73 dan 12,38 persen. Sedangkan hasil per hektar mengalami penurunan yaitu sebesar 2,15 kuintal per hektar untuk padi sawah dan 1,34 kuintal per hektar untuk padi ladang.
Pada tahun 2004 rata-rata terjadi peningkatan pada luas panen sayursayuran di Jawa Barat terutama pada bawang daun, bawang merah, kentang, kubis, petsai, wortel, bayam, tomat dan kacang merah. Kenaikan luas panen berimbas pada kenaikan jumlah produksinya. Produksi sayur-sayuran yang meningkat ini dimungkinkan oleh meningkatnya pengetahuan petani tentang teknik bercocok tanam, yaitu dengan mengembangkan pola tanam intensifikasi dan diversifikasi.
Sedangkan produksi sayur-sayuran yang mengalami penurunan adalah kacang panjang, bayam, ketimun, cabe, tomat, terong, kangkung, bawang putih, melinjo, dan petai.
5.2 P e r k e b u n a n
Sub sektor perkebunan mempunyai peranan yang cukup besar dalam pengembangan sektor pertanian. Sejalan dengan peningkatan pembangunan di sektor pertanian maka pembangunan sub sektor perkebunan juga mengalami peningkatan. Salah satu tujuan utama pembangunan di sub sektor ini adalah meningkatkan mutu dan produksi.
Propinsi Jawa Barat memiliki perkebunan yang dikelola oleh Perkebunan Besar Milik Negara dan Swasta serta Perkebunan Rakyat. Komoditi potensialnya adalah teh, kelapa, kopi, cengkeh dan karet.
Untuk Tahun 2004 areal Perkebunan Besar Milik Negara mengalami sedikit kenaikan tetapi produksinya mengalami penurunan. Sedangkan areal Perkebunan Swasta dan Perkebunan Rakyat mengalami sedikit penurunan tetapi produksinya mengalami kenaikan.
5.3 K e h u t a n a n
Stabilitas sumber daya alam terjaga dengan baik dikarenakan adanya peranan yang sangat penting dari kawasan hutan. Selain itu ditunjang pula oleh fungsi hutan sebagai hutan lindung, hutan produksi, hutan suaka dan wisata serta hutan cadangan.
Berdasarkan data dari Perum Perhutani Unit III Jawa Barat, pada tahun 2004 luas kawasan hutan sebesar 638 802 Ha. Dibandingkan tahun yang lalu jumlah ini berkurang sebesar 10 305,3 Ha atau sebesar 1.59 persen. Jumlah ini terus mengalami penurunan setiap tahun tahunnya. Adapun produksi kayu tebangan sebesar 196 350 m3 dengan luas areal sebesar 9 425,04 Ha. Adapun jenis kayu tebangan yang paling banyak produksinya
adalah kayu jati sebesar 101 397 m3. Sementara itu, produksi hasil hutan bukan kayu yang paling banyak di Jawa Barat adalah getah pinus dengan jumlah produksi 5 970 531 ton, dan luas areal sebesar 12 598,42 Ha.
5.4. P e t e r n a k a n
Peranan sub sektor peternakan dalam bidang pertanian cukup besar menempati posisi kedua terbesar setelah tanaman bahan makanan. Salah satu tujuan di sub sektor ini adalah meningkatkan populasi dan produksi ternak dalam usaha memperbaiki ternak dalam usaha memperbaiki gizi masyarakat. Hal yang pokok tentu saja adalah untuk menghasilkan pendapatan peternak terutama yang berdomisili di pedesaan. Jenis ternak yang diusahakan di Jawa Barat berupa ternak besar, kecil dan unggas.
Pada tahun 2004 jumlah ternak sapi sebesar 331 907 ekor, kerbau 149 960 ekor, kuda 14 242 ekor, kambing 1 144 102 ekor, domba 3 529 456 ekor dan babi 8 092 ekor. Sementara itu, jumlah ternak yang dipotong adalah ternak sapi 282 353 ekor, kerbau 11 994 ekor, kambing 101 157 ekor, domba 542 693 ekor dan babi 25 581 ekor.
Unggas yang dipelihara adalah jenis ayam buras, ras petelur, ras potong dan itik. Dibandingkan tahun sebelumnya, jumlah unggas dan hasil produksi unggas di Jawa Barat mengalami sedikit penurunan dibanding tahun sebelumnya.
Produksi kulit ternak pada tahun 2004 engalami penurunan seperti kerbau, kambing dan domba. Produksi kulit sapi dan produksi susu mengalami kenaikan dibanding tahun sebelumnya.
5.5. P e r i k an a n
Di Jawa barat prospek perikanan tiap tahunnya hampir memperlihatkan angka yang cukup menjanjikan. Pada tahun 2004, total produksi ikan hasil penangkapan dan budidaya sebesar 441 584,22 ton, dengan nilai produksi sebesar 1 232 848 836 juta rupiah. Luas areal tambak ikan adalah 51 765,64 Ha, luas kolam ikan adalah 19 444,32 Ha, luas keramba adalah 134 567 Ha dan luas area sawah yang dijadikan tempat pemeliharaan ikan adalah 21 950,85 Ha.
Pada tahun 2004, jumlah perahu/kapal penangkapan ikan sebanyak 17 901 buah, dimana 93,65 persen adalah jenis motor tempel. Sedangkan rumah tangga perikanan di Jawa Barat sebesar 427 371 rumah tangga. Rumah tangga terbanyak mengusahakan budidaya kolam sebesar 63,96 persen. Rumah tangga yang melakukan penangkapan ikan di laut sebesar 7,02 persen, dan melakukan penangkapan di perairan umum sebesar 11,43 persen.
Sumber: http://www.bapeda-jabar.go.id/docs/jabarangka/20080402_110048.pdf
Minggu, 28 Maret 2010
Rabu, 17 Maret 2010
Wewenang Delegasi
WEWENANG, DELEDASI DESENTRALISASI
A. Latar Belakang
Saat ini penting bagi kita untuk mengetahui lebih jauh tentang wewenang, delegasi dan desentralisasi. Hal ini disebabkan dalam suatu organisasi kita diharuskan untuk beradaptasi dan menghadapi berbagai macam watak dan tingkah laku seseorang. Untuk itu, pemahaman dalam masalah di atas diperlukan untuk menjalin kerjasama dalam menjalankan suatu organisasi secara efektif dan efisien.
Terkadang banyak orang salah mengartikan posisi atau jabatannya dalam suatu organisasi yang tentunya dapat merugikan orang lain. Hal ini dapat menimbulkan masalah antar individu ataupun antar organisasi. Tentunya hal tersebut tidak diinginkan oleh kita, sehingga kita dapat mengetahui batasan-batasan yang tidak dapat dilanggar serta cara berkomunikasi dengan baik. Sehingga penyusun menyuguhkan berbagai macam hal dalam berinteraksi dengan orangorang di dalam suatu organisasi, serta hal-hal seputar wewenang dan kekuasaan yang dimiliki oleh setiap orang atau pemimpin yang tentunya berbeda-beda cakupan luasnya.
B. Perumusan Masalah
1. Di mana letak perbedaan dari wewenang dan kekuasaan?
2. Apa fungsi dari lini dan staf?
3. Mengapa delegasi sangat penting dalam organisasi?
4. Apa yang menyebabkan hambatan dalam melaksanakan delegasi?
5. Bagaimana cara mewujudkan delegasi yang efektif?
6. Apa yang dapat mempengaruhi berkembangnya desentralisasi?
A. Wewenang (authority)
Adalah hak untuk melakukan sesuatu atau memerintah orang lain untuk melakukan atau tidak melakukan sesuatu agar tercapai tujuan tertentu. Wewenang merupakan hasil delegasi atau pelimpahan wewenang dari atasan ke bawahan dalam suatu organisasi. Dua pandangan yang saling berlawanan tentang sumber wewenang, yaitu:
1. Teori formal (pandangan klasik)
Wewenang merupakan anugrah, ada karena seseorang diberi atau dilimpahi hal tersebut. Beranggapan bahwa wewenang berasal dari tingkat masyarakat yang tinggi. Jadi pandangan ini menelusuri sumber tertinggi dari wewenang ke atas sampai sumber terakhir, dimana untuk organisasi perusahaan adalah pemilik atau pemegang saham.
2. Teori penerimaan (acceptance theory of authority)
Wewenang timbul hanya jika dapat diterima oleh kelompok atau individu kepada siapa wewenang tersebut dijalankan. Pandangan ini menyatakan kunci dasar wewenang oleh yang dipengaruhi (influencee) bukan yang mempengaruhi (influencer). Jadi, wewenang tergantung pada penerima (receiver), yang memutuskan untuk menerima atau menolak. Kekuasaan sering dicampur adukkan dengan wewenang, padahal keduanya berbeda. Bila wewenang adalah hak untuk melakukan sesuatu, maka kekuasaan adalah kemampuan untuk melakukan hak tersebut. Kekuasaan adalah kemampuan untuk mempengaruhi individu, kelompok, keputusan atau kejadian. Wewenang tanpa kekuasaan atau kekuasaan tanpa wewenang akan menyebabkan konflik dalam organisasi.
WEWENANG LINI DAN STAF
Lini mempunyai fungsi untuk bertanggung jawab langsung atas tercapainya tujuan-tujuan
perusahaan. Staf adalah individu atau kelompok (terdiri para ahli) dalam struktur organisasi yang fungsi utamanya memberikan saran dan pelayanan kepada fungsi lini.
Ada dua tipe staf, yaitu:
1. Staf pribadi (personal staf)
Staf pribadi dibentuk untuk memberikan saran, bantuan dan jasa kepada seorang manajer. Staf pribadi biasa disebut asisten atau asisten staf yang mempunyai banyak tugas untuk atasan
dan biasanya generalis.
2. Staf spesialis.
Memberikan saran, konsultasi, bantuan, dan melayani seluruh lini dan unsur organisasi. Bertanggung jawab ke tingkatan-tingkatan organisasi yang bermacam-macam, seperti tingkatan divisi, tingkatan bagian, ataupun tingkatan cabang yang berdiri sendiri.
B. Delegasi
Adalah pelimpahan wewenang dan tanggungjawab formal kepada orang lain untuk
melaksanakan kegiatan tertentu. Jadi delegasi wewenang adalah:
1. Adalah proses manajer mengalokasikan wewenang ke bawah yaitu pada orang-orang yang melapor kepadanya.
2. Adalah pemberian otoritas atau kekuasaan formal dan tanggungjawab untuk melaksanakan kegiatan tertentu kepada orang lain. Pelimpahan otoritas oleh atasan kepada bawahan diperlukan agar organisasi dapat berfungsi secara efisien karena tak ada atasan yang dapat mengawasi secara pribadi setiap tugas-tugas organisasi.
Alasan perlunya pendelegasian, yaitu:
1. Memungkinkan manajer dapat mencapai lebih dan bila mereka menangani setiap tugas
sendiri
2. Agar organisasi dapat berfungsi lebih efisien
3. Manajer dapat memusatkan tenaganya pada tugas-tugas prioritas yang lebih penting
4. Bawahan dapat tumbuh, berkembang dan alat untuk belajar dari kesalahan
Delegasi dibutuhkan karena manajer mungkin hanya menguasai “the big picture”, tidak cukup mengerti secara terperinci dan tidak selalu mempunyai semua pengetahuan yang dibutuhkan untuk membuat keputusan. Sehingga untuk mengefisienkan penggunaan sumber daya, pelaksanaan tugas tertentu didelegasikan kepada tingkatan organisasi yang serendah mungkin di mana terdapat cukup kemampuan dan informasi untuk menyelesaikannya.
Prinsip-prinsip klasik yang dapat dijadikan dasar untuk delegasi yang efektif adalah:
1. Prinsip Skalar
Menyatakan harus ada garis otoritas yang jelas yang menghubungkan tingkat paling tinggi dengan tingkat paling bawah. Garis otoritas yang jelas ini memudahkan anggota organisasi untuk megetahui:
a. kepada siapa dia dapat mendelegasikan
b. siapa yang dapat melimpahkan wewenang kepadanya
c. kepada siapa dia bertanggungjawab
Dalam proses penyusunan garis otoritas diperlukan kelengkapan pendelegasian wewenang, yaitu semua tugas yang diperlukan dibagi habis. Hal ini digunakan untuk menghindari:
a. gaps, yaitu tugas-tugas yang tidak ada penangung jawabnya
b. overlaps, yaitu tanggung jawab untuk satu tugas yang sama diberikan kepada lebih dari satu
orang
c. splits, yaitu tanggung jawab atas tugas yang sama diberikan kepada lebih dari satu-satuan
organisasi
2. Prinsip kesatuan perintah (unity of command)
Menyatakan setiap orang dalam organisasi harus melapor pada satu atasan. Melapor
pada lebih dari satu orang akan menyulitkan seseorang untuk mengetahui kepada siapa ia harus
bertanggung jawab dan perintah siapa yang harus diikuti. Bertanggung jawab kepada lebih dari
satu atasan juga akan membuat bawahan dapat menghindari tanggungjawab atas pelaksanaan tugas yang jelek dengan alasan banyaknya tugas dari atasan lain.
3. Tanggungjawab, wewenang dan akuntabilitas
Prinsip-prinsip ini menyatakan bahwa:
a. dapat menggunakan sumber dayanya secara efisien
b. masing-masing orang dalam organisasi dapat melaksanakan tugas yang dibebankan
kepadanya secara efektif
c. akuntanbilitas penerimaan tanggungjawab dan wewenang
Ada 4 kegiatan terjadi ketika delegasi dilakukan:
1. Pendelegasian menetapkan dan memberikan tujuan dan tugas kepada bawahan.
2. Pendelegasian melimpahkan wewenang yang diperlukan untuk mencapai ujuan atau tugas.
3. Penerimaan delegasi, yang menimbulkan kewajiban atau tanggung jawab.
4. Pendelegasi menerima pertanggungjawaban bawahan untuk hasil-hasil yang dicapai.
Manfaat pendelegasian wewenang, yaitu:
1. Manajer memiliki banyak kesempatan untuk mencari dan menerima peningkatan
tanggungjawab dari tingkatan manajer yang tinggi
2. Memberikan keputusan yang lebih baik
3. Pelimpahan yang efektif mempercepat pembuatan keputusan
4. Melatih bawahan memikul tanggungjawab, melakukan penilaian dan meningkatkan
keyakinan diri serta kesediaan untuk berinisiatif
Hambatan terhadap pendelegasian yang efektif, yaitu:
© Keengganan untuk mendelegasikan wewenang
Penyebab keengganan untuk mendelegasikan wewenang adalah:
a. perasaan tidak aman. Manajer enggan mengambil resiko untuk melimpahkan tugas
atau mungkin takut kehilangan kekuasaan bila bawahannya terlalu baik melaksanakan
tugas.
b. ketidak mampuan manajer. Sebagian manajer bisa sangat tak teratur dalam membuat
perencanaan ke depan.
c. ketidak percayaan kepada bawahan
d. manajer merasa bahwa bawahan lebih senang tidak mempunyai hak pembuatan
keputusan yang luas
Untuk jangka pendek, ketiadaan keyakinan ini dapat dibenarkan bila bawahan memang tidak memiliki pengetahuan dan keahlian. Untuk jangka panjang, tak ada alasan untuk membenarkan kegagalan melatih bawahan.
© Keengganan untuk menerima pendelegasian wewenang
Penyebab keengganan untuk menerima pendelegasian wewenang adalah:
a. perasaan tidak aman bagi bawahan untuk menghindari tanggungjawab dan resiko.
b. bawahan takut dikritik atau dihukum karena membuat kesalahan.
c. bawahan tidak mendapat cukup rangsangan untuk beban tanggungjawab tambahan.
d. bawahan kurang peracaya diri dan merasa tertekan bila dilimpahi wewenang
pembuatan keputusan yang lebih besar
Syarat untuk delegasi yang efektif adalah:
a. kesediaan manajer untuk memberi kebebasan kepada bawahan dalam melaksanakan
tugas yang dilimpahkan.
b. komunikasi yang baik antara manajer dan bawahan.
c. meningkatkan kompleksitas tugas yang dilimpahkan dan derajat pelimpahan dalam
suatu jangka waktu tertentu.
Bila tidak ada kemajuan di dalam suatu jangka waktu yang direncanakan, maka beberapa hambatan dalam hubungan antara atasan dengan bawahan mungkin sudah bisa ditemukan (misalnya latihan yang tidak cukup, tidak adanya kepercayaan satu sama lain, komunikasi yang buruk). Louis Allen mengemukakan teknik untuk membantu manajer melakukan delegasi dengan efektif:
1. Tetapkan tujuan.
2. Tegaskan tanggung jawab dan wewenang.
3. Berikan motivasi kepada bawahan.
4. Meminta penyelesaian kerja.
5. Berikan latihan.
6. Adakan pengawasan yang memadai
C. Desentralisasi
Adalah konsep yang lebih luas dan berhubungan dengan seberapa jauh manajemen puncak mendelegasikan wewenang kebawah, divisi-divisi, cabang-cabang atau satuan-satuan organisasi yang lebih rendah.
Adalah penyebaran atau pelimpahan secara meluas kekuasaan dan pembuatan.
Faktor-faktor yang mempengaruhi derajat desentralisasi:
1. Filsafat manajemen
2. Ukuran dan Tingkat Pertumbuhan Organisasi.
3. Strategi dan Lingkungan Organisasi
4. Penyebaran geografis organisasi.
5. Tersedianya peralatan pengawasan yang efektif.
6. Kualitas Manajer.
7. Keanekaragaman produk dan jasa.
8. Karakteristik-karakteristik organisasi lainnya.
D. Kesimpulan
Dari data di atas dapat disimpulkan bahwa wewenang, delegasi dan desentralisasi dalam
suatu organisasi sangat penting untuk menjalankan organisasi tersebuat secara efisien. Kerjasama yang baik antara atasan dan bawahan serta kelancaran komunikasi diantara mereka akan menjadikan suatu organisasi dapat menjalankan berbagai macam aktifitas organisasinya dengan lancar dan tidak terdapat hambatan atau masalah secara signifikan. Jika hal itu dapat dilaksanakan dengan baik oleh orang-orang yang menjalankan organisasi, maka tentunya tujuan dari organisasi itu akan tercapai.
DAFTAR PUSTAKA:
http://www.scribd.com/doc/14129804/Wewenang-Delegasi-Dan-Desentralisasi
A. Latar Belakang
Saat ini penting bagi kita untuk mengetahui lebih jauh tentang wewenang, delegasi dan desentralisasi. Hal ini disebabkan dalam suatu organisasi kita diharuskan untuk beradaptasi dan menghadapi berbagai macam watak dan tingkah laku seseorang. Untuk itu, pemahaman dalam masalah di atas diperlukan untuk menjalin kerjasama dalam menjalankan suatu organisasi secara efektif dan efisien.
Terkadang banyak orang salah mengartikan posisi atau jabatannya dalam suatu organisasi yang tentunya dapat merugikan orang lain. Hal ini dapat menimbulkan masalah antar individu ataupun antar organisasi. Tentunya hal tersebut tidak diinginkan oleh kita, sehingga kita dapat mengetahui batasan-batasan yang tidak dapat dilanggar serta cara berkomunikasi dengan baik. Sehingga penyusun menyuguhkan berbagai macam hal dalam berinteraksi dengan orangorang di dalam suatu organisasi, serta hal-hal seputar wewenang dan kekuasaan yang dimiliki oleh setiap orang atau pemimpin yang tentunya berbeda-beda cakupan luasnya.
B. Perumusan Masalah
1. Di mana letak perbedaan dari wewenang dan kekuasaan?
2. Apa fungsi dari lini dan staf?
3. Mengapa delegasi sangat penting dalam organisasi?
4. Apa yang menyebabkan hambatan dalam melaksanakan delegasi?
5. Bagaimana cara mewujudkan delegasi yang efektif?
6. Apa yang dapat mempengaruhi berkembangnya desentralisasi?
A. Wewenang (authority)
Adalah hak untuk melakukan sesuatu atau memerintah orang lain untuk melakukan atau tidak melakukan sesuatu agar tercapai tujuan tertentu. Wewenang merupakan hasil delegasi atau pelimpahan wewenang dari atasan ke bawahan dalam suatu organisasi. Dua pandangan yang saling berlawanan tentang sumber wewenang, yaitu:
1. Teori formal (pandangan klasik)
Wewenang merupakan anugrah, ada karena seseorang diberi atau dilimpahi hal tersebut. Beranggapan bahwa wewenang berasal dari tingkat masyarakat yang tinggi. Jadi pandangan ini menelusuri sumber tertinggi dari wewenang ke atas sampai sumber terakhir, dimana untuk organisasi perusahaan adalah pemilik atau pemegang saham.
2. Teori penerimaan (acceptance theory of authority)
Wewenang timbul hanya jika dapat diterima oleh kelompok atau individu kepada siapa wewenang tersebut dijalankan. Pandangan ini menyatakan kunci dasar wewenang oleh yang dipengaruhi (influencee) bukan yang mempengaruhi (influencer). Jadi, wewenang tergantung pada penerima (receiver), yang memutuskan untuk menerima atau menolak. Kekuasaan sering dicampur adukkan dengan wewenang, padahal keduanya berbeda. Bila wewenang adalah hak untuk melakukan sesuatu, maka kekuasaan adalah kemampuan untuk melakukan hak tersebut. Kekuasaan adalah kemampuan untuk mempengaruhi individu, kelompok, keputusan atau kejadian. Wewenang tanpa kekuasaan atau kekuasaan tanpa wewenang akan menyebabkan konflik dalam organisasi.
WEWENANG LINI DAN STAF
Lini mempunyai fungsi untuk bertanggung jawab langsung atas tercapainya tujuan-tujuan
perusahaan. Staf adalah individu atau kelompok (terdiri para ahli) dalam struktur organisasi yang fungsi utamanya memberikan saran dan pelayanan kepada fungsi lini.
Ada dua tipe staf, yaitu:
1. Staf pribadi (personal staf)
Staf pribadi dibentuk untuk memberikan saran, bantuan dan jasa kepada seorang manajer. Staf pribadi biasa disebut asisten atau asisten staf yang mempunyai banyak tugas untuk atasan
dan biasanya generalis.
2. Staf spesialis.
Memberikan saran, konsultasi, bantuan, dan melayani seluruh lini dan unsur organisasi. Bertanggung jawab ke tingkatan-tingkatan organisasi yang bermacam-macam, seperti tingkatan divisi, tingkatan bagian, ataupun tingkatan cabang yang berdiri sendiri.
B. Delegasi
Adalah pelimpahan wewenang dan tanggungjawab formal kepada orang lain untuk
melaksanakan kegiatan tertentu. Jadi delegasi wewenang adalah:
1. Adalah proses manajer mengalokasikan wewenang ke bawah yaitu pada orang-orang yang melapor kepadanya.
2. Adalah pemberian otoritas atau kekuasaan formal dan tanggungjawab untuk melaksanakan kegiatan tertentu kepada orang lain. Pelimpahan otoritas oleh atasan kepada bawahan diperlukan agar organisasi dapat berfungsi secara efisien karena tak ada atasan yang dapat mengawasi secara pribadi setiap tugas-tugas organisasi.
Alasan perlunya pendelegasian, yaitu:
1. Memungkinkan manajer dapat mencapai lebih dan bila mereka menangani setiap tugas
sendiri
2. Agar organisasi dapat berfungsi lebih efisien
3. Manajer dapat memusatkan tenaganya pada tugas-tugas prioritas yang lebih penting
4. Bawahan dapat tumbuh, berkembang dan alat untuk belajar dari kesalahan
Delegasi dibutuhkan karena manajer mungkin hanya menguasai “the big picture”, tidak cukup mengerti secara terperinci dan tidak selalu mempunyai semua pengetahuan yang dibutuhkan untuk membuat keputusan. Sehingga untuk mengefisienkan penggunaan sumber daya, pelaksanaan tugas tertentu didelegasikan kepada tingkatan organisasi yang serendah mungkin di mana terdapat cukup kemampuan dan informasi untuk menyelesaikannya.
Prinsip-prinsip klasik yang dapat dijadikan dasar untuk delegasi yang efektif adalah:
1. Prinsip Skalar
Menyatakan harus ada garis otoritas yang jelas yang menghubungkan tingkat paling tinggi dengan tingkat paling bawah. Garis otoritas yang jelas ini memudahkan anggota organisasi untuk megetahui:
a. kepada siapa dia dapat mendelegasikan
b. siapa yang dapat melimpahkan wewenang kepadanya
c. kepada siapa dia bertanggungjawab
Dalam proses penyusunan garis otoritas diperlukan kelengkapan pendelegasian wewenang, yaitu semua tugas yang diperlukan dibagi habis. Hal ini digunakan untuk menghindari:
a. gaps, yaitu tugas-tugas yang tidak ada penangung jawabnya
b. overlaps, yaitu tanggung jawab untuk satu tugas yang sama diberikan kepada lebih dari satu
orang
c. splits, yaitu tanggung jawab atas tugas yang sama diberikan kepada lebih dari satu-satuan
organisasi
2. Prinsip kesatuan perintah (unity of command)
Menyatakan setiap orang dalam organisasi harus melapor pada satu atasan. Melapor
pada lebih dari satu orang akan menyulitkan seseorang untuk mengetahui kepada siapa ia harus
bertanggung jawab dan perintah siapa yang harus diikuti. Bertanggung jawab kepada lebih dari
satu atasan juga akan membuat bawahan dapat menghindari tanggungjawab atas pelaksanaan tugas yang jelek dengan alasan banyaknya tugas dari atasan lain.
3. Tanggungjawab, wewenang dan akuntabilitas
Prinsip-prinsip ini menyatakan bahwa:
a. dapat menggunakan sumber dayanya secara efisien
b. masing-masing orang dalam organisasi dapat melaksanakan tugas yang dibebankan
kepadanya secara efektif
c. akuntanbilitas penerimaan tanggungjawab dan wewenang
Ada 4 kegiatan terjadi ketika delegasi dilakukan:
1. Pendelegasian menetapkan dan memberikan tujuan dan tugas kepada bawahan.
2. Pendelegasian melimpahkan wewenang yang diperlukan untuk mencapai ujuan atau tugas.
3. Penerimaan delegasi, yang menimbulkan kewajiban atau tanggung jawab.
4. Pendelegasi menerima pertanggungjawaban bawahan untuk hasil-hasil yang dicapai.
Manfaat pendelegasian wewenang, yaitu:
1. Manajer memiliki banyak kesempatan untuk mencari dan menerima peningkatan
tanggungjawab dari tingkatan manajer yang tinggi
2. Memberikan keputusan yang lebih baik
3. Pelimpahan yang efektif mempercepat pembuatan keputusan
4. Melatih bawahan memikul tanggungjawab, melakukan penilaian dan meningkatkan
keyakinan diri serta kesediaan untuk berinisiatif
Hambatan terhadap pendelegasian yang efektif, yaitu:
© Keengganan untuk mendelegasikan wewenang
Penyebab keengganan untuk mendelegasikan wewenang adalah:
a. perasaan tidak aman. Manajer enggan mengambil resiko untuk melimpahkan tugas
atau mungkin takut kehilangan kekuasaan bila bawahannya terlalu baik melaksanakan
tugas.
b. ketidak mampuan manajer. Sebagian manajer bisa sangat tak teratur dalam membuat
perencanaan ke depan.
c. ketidak percayaan kepada bawahan
d. manajer merasa bahwa bawahan lebih senang tidak mempunyai hak pembuatan
keputusan yang luas
Untuk jangka pendek, ketiadaan keyakinan ini dapat dibenarkan bila bawahan memang tidak memiliki pengetahuan dan keahlian. Untuk jangka panjang, tak ada alasan untuk membenarkan kegagalan melatih bawahan.
© Keengganan untuk menerima pendelegasian wewenang
Penyebab keengganan untuk menerima pendelegasian wewenang adalah:
a. perasaan tidak aman bagi bawahan untuk menghindari tanggungjawab dan resiko.
b. bawahan takut dikritik atau dihukum karena membuat kesalahan.
c. bawahan tidak mendapat cukup rangsangan untuk beban tanggungjawab tambahan.
d. bawahan kurang peracaya diri dan merasa tertekan bila dilimpahi wewenang
pembuatan keputusan yang lebih besar
Syarat untuk delegasi yang efektif adalah:
a. kesediaan manajer untuk memberi kebebasan kepada bawahan dalam melaksanakan
tugas yang dilimpahkan.
b. komunikasi yang baik antara manajer dan bawahan.
c. meningkatkan kompleksitas tugas yang dilimpahkan dan derajat pelimpahan dalam
suatu jangka waktu tertentu.
Bila tidak ada kemajuan di dalam suatu jangka waktu yang direncanakan, maka beberapa hambatan dalam hubungan antara atasan dengan bawahan mungkin sudah bisa ditemukan (misalnya latihan yang tidak cukup, tidak adanya kepercayaan satu sama lain, komunikasi yang buruk). Louis Allen mengemukakan teknik untuk membantu manajer melakukan delegasi dengan efektif:
1. Tetapkan tujuan.
2. Tegaskan tanggung jawab dan wewenang.
3. Berikan motivasi kepada bawahan.
4. Meminta penyelesaian kerja.
5. Berikan latihan.
6. Adakan pengawasan yang memadai
C. Desentralisasi
Adalah konsep yang lebih luas dan berhubungan dengan seberapa jauh manajemen puncak mendelegasikan wewenang kebawah, divisi-divisi, cabang-cabang atau satuan-satuan organisasi yang lebih rendah.
Adalah penyebaran atau pelimpahan secara meluas kekuasaan dan pembuatan.
Faktor-faktor yang mempengaruhi derajat desentralisasi:
1. Filsafat manajemen
2. Ukuran dan Tingkat Pertumbuhan Organisasi.
3. Strategi dan Lingkungan Organisasi
4. Penyebaran geografis organisasi.
5. Tersedianya peralatan pengawasan yang efektif.
6. Kualitas Manajer.
7. Keanekaragaman produk dan jasa.
8. Karakteristik-karakteristik organisasi lainnya.
D. Kesimpulan
Dari data di atas dapat disimpulkan bahwa wewenang, delegasi dan desentralisasi dalam
suatu organisasi sangat penting untuk menjalankan organisasi tersebuat secara efisien. Kerjasama yang baik antara atasan dan bawahan serta kelancaran komunikasi diantara mereka akan menjadikan suatu organisasi dapat menjalankan berbagai macam aktifitas organisasinya dengan lancar dan tidak terdapat hambatan atau masalah secara signifikan. Jika hal itu dapat dilaksanakan dengan baik oleh orang-orang yang menjalankan organisasi, maka tentunya tujuan dari organisasi itu akan tercapai.
DAFTAR PUSTAKA:
http://www.scribd.com/doc/14129804/Wewenang-Delegasi-Dan-Desentralisasi
Pascal
Pengantar dalam Bahasa Pemrograman
Turbo Pascal
Pengenalan Pascal
Pascal merupakan salah satu bahasa pemrograman tingkat tinggi. Pemrograman tingkat tinggi menandakan bahwa Pascal banyak menggunakan bahasa manusia dalam penulisan sintaksnya.
Beberapa bahasa pemrograman tingkat tinggi lainnya yang ada yaitu BASIC dan DELPHI. Sedangkan bahasa pemrograman tingkat rendah yaitu bahasa pemrograman yang masih banyak menggunakan tanda-tanda sehingga bahasa ini cenderung lebih “kotor”. Beberapa bahasa pemrograman tingkat rendah yang sering digunakan adalah C, C++ dan Java. Mari kita melihat perbedaan antara bahasa Pascal dan C untuk pembanding dalam sintaks yang digunakan:
PASCAL
uses crt;
var a : integer;
begin
clrscr;
writeln('Masukkan nilai antara 0 sampai 100 : ');
readln(a);
if a > 5 then begin
writeln('Nilai a lebih besar dari 5');
writeln('Tekan sembarang tombol untuk keluar');
end
else begin
writeln('Nilai a lebih kecil atau sama dengan 5');
writeln('Tekan sembarang tombol untuk keluar');
end;
readkey;
end.
C
#include
#include
int a;
void main() {
clrscr();
printf(“Masukkan nilai antara 0 sampai 100 : “);
scanf(“%d”, &a);
if (a > 5) {
printf(“Nilai a lebih besar dari 5\nTekan sembarang tombol untuk keluar”);
} else {
printf(“Nilai a lebih kecil atau sama dengan 5\nTekan sembarang tombol
untuk keluar”);
}
getch();
}
Dua penggalan program di atas akan menghasilkan program yang sama persis yaitu meminta sebuah input berupa angka antara 0 sampai 100. Kemudian sebuah tulisan akan muncul tergantung dari nilai input yang dimasukkan. Dari 2 bahasa tersebut, dapat dilihat bahwa dalam bahasa Pascal lebih sederhana dan lebih banyak menggunakan bahasa manusia. Sedangkan dalam bahasa C, lebih banyak penggunaan simbol.
Turbo Pascal dan C merupakan program compiler. Compiler sendiri berarti program yang menerjemahkan tulisan berupa kode program menjadi bahasa mesin yang dapat dimengerti oleh komputer. Proses yang dilakukan disebut compile atau compiling. Suatu program dapat di-compile dengan menggunakan kombinasi tombol Alt + F9. Sedangkan untuk menjalankan program, tombol yang dapat digunakan adalah Ctrl + F9. Bila selama proses compile terdapat error atau kesalahan dalam penulisan program, maka Turbo Pascal atau C akan memberitahukan letak kesalahan tersebut sehingga pengguna dapat memperbaikinya di halaman editor.
Turbo Pascal merupakan bahasa yang case insensitive yang berarti penulisan dalam huruf kapital maupun huruf kecil tidak dipermasalahkan. Akan tetapi pada C yang case sensitive, maka penulisan huruf kapital atau kecil harus benar-benar diperhatikan. Untuk pembahasan berikutnya, kita akan menggunakan program Turbo Pascal dengan bahasa pemrograman Pascal sebagai pengantar contoh. Perlu diingat bahwa bila anda telah menguasai satu bahasa pemrograman, maka anda akan dengan cukup mudah berpindah ke bahasa pemrograman lainnya selama anda memiliki dasar algoritma dan logika yang baik. Oleh sebab itu, pada pembahasan yang selanjutnya, yang akan ditekankan adalah algoritma dan logika, bukan sintaks dan function / procedure yang terdapat dalam Turbo Pascal. Function atau procedure yang telah disediakan oleh Turbo Pascal dapat anda pelajari sendiri penggunaannya melalui Help yang terdapat di Turbo Pascal.
Struktur kode
Pada setiap kode pemrograman, terdapat aturan yang harus dipatuhi agar program
tersebut dapat menjalankan (compile) suatu program dengan baik tanpa error. Struktur utama pada Turbo Pascal adalah sebagai berikut.
program ... ; {deklarasi nama program}
uses ... ; {deklarasi penggunaan unit}
label ... ; {deklarasi label}
const ... ; {deklarasi konstant}
type ... ; {deklarasi tipe data}
var ... ; {deklarasi variabel}
procedure ... ; {deklarasi procedure}
function ... ; {deklarasi function}
begin
statement; {program ditulis di sini}
...
end.
Tulisan yang diapit oleh tanda kurung kurawal {} adalah comment dan tidak dianggap sebagai bagian program ketika di-compile oleh compiler. Pada baris pertama, anda dapat mendeklrasikan nama program. Umumnya untuk mengefisiensikan pengerjaan suatu program (khususnya pada lomba), baris pertama dapat diacuhkan atau dilewatkan. Baris kedua yaitu “USES” merupakan deklarasi penggunaan unit dalam Turbo Pascal. Unit merupakan bagian dari program yang berisi kumpulan function dan procedure. Contoh fungsi yang banyak digunakan adalah CRT, dengan function yang terdapat di dalamnya yaitu clrscr dan readkey. Anda dapat menjalankan suatu program tanpa menggunakan USES, akan tetapi anda hanya dapat menggunakan function dan procedure yang sudah terkandung secara native dalam Turbo Pascal. Contohnya anda tidak dapat menggunakan clrscr atau readkey tanpa CRT, tetapi bisa menggunakan writeln dan readln tanpa CRT tersebut karena CRT merupakan unit untuk pengolahan output ke layar dan input dari keyboard.
Label digunakan bersamaan dengan keyword GOTO. GOTO sendiri jarang digunakan karena tidak efisien dan cenderung membingungkan penggunanya. Const digunakan untuk mendeklarasikan suatu konstan. Konstan merupakan suatu keyword yang memiliki nilai tertentu. Misalnya bila anda mendeklrasikan PI sebagai 3.14, maka ketika anda menggunakan PI pada baris program, PI akan digantikan dengan 3.14. Type digunakan untuk mendeklarasikan suatu tipe data baru dari tipe data yang sudah ada sebelumnya. Berguna ketika harus menggunakan pointer.
Var digunakan untuk mendeklarasikan suatu variabel. Variabel yang dideklarasikan harus memiliki tipe data tertentu. Penjelasan dalam penggunaan variabel akan dibahas di bagian berikutnya.
Procedure dan function merupakan sub-program. Procedure tidak mengembalikan nilai, sedangkan function mengembalikan nilai. Procedure dan function mengandung suatu penggalan program yang dapat dipanggil oleh program utama atau sub-program yang lainnya. Bila anda belum mengerti maksud dari “mengembalikan nilai” maka anda dapat membayangkan bahwa hasil dari function dapat dimasukkan ke dalam suatu variabel atau menghasilkan suatu nilai, sedangkan procedure hanya menjalankan suatu potongan program. Contoh procedure adalah writeln dan clrscr karena kedua procedure tersebut tidak mengembalikan nilai apapun. Sedangkan contoh function adalah “sqrt” yang akan mengembalikan nilai berupa akar kuadrat dari bilangan yang dimasukkan. Sebagai informasi: “procedure” adalah istilah yang digunakan pada Pascal. Pada bahasa pemrograman yang lainnya, biasa disebut “function yang tidak mengembalikan nilai” atau “void function”. Program utama yang akan dijalankan oleh Turbo Pascal dapat ditulis diantara BEGIN sampai dengan END.
Variabel dan tipe data
Terdapat beberapa tipe data yang dapat dipergunakan dalam suatu variabel, di antaranya adalah (beserta range yang dapat diterima):
Integer
Integer (-2^15 sampai 2^15), word (0 sampai 2^16), shortint (-2^7 sampai 2^7), byte (0
sampai 2^7), longint (-2^23 sampai 2^23)
Float / Real
Real (6 byte), singel (4 byte), double (8 byte), extended (10 byte), comp (8 byte)
Boolean
Bernilai TRUE atau FALSE (1 atau 0)
Char
Merupakan integer yang telah dikonversikan ke kode ASCII.
Array
Merupakan deretan suatu variabel yang bertipe data sama. Pembahasan yang lebih lengkap akan terdapat di bagian tersendiri. String merupakan array dari char. Algoritma dasar Pada dasarnya terdapat beberapa algoritma yang harus dikuasai dalam pemrograman yaitu:
1. Operator
2. Input/output: Bagaimana meminta suatu input dan menampilkan suatu output.
3. Selection: Bagaimana membuat program yang dapat memilih bagian yang akan
dijalankan.
4. Repetition / looping: Bagaimana membuat program yang dapat mengulang
suatu bagian program yang dijalankan.
Rangkuman operator
Dalam bahasa pemrograman, sebuah proses dibagi menjadi 2 yaitu operand dan operator. Operand dapat berupa variabel atau nilai. Sedangkan operator merupakan tanda-tanda yang dipakai untuk mengolah. Terdapat banyak jenis operator, tapi 4 jenis yang perlu dipelajari untuk saat ini adalah assignment operator, arithmatic operator, comparison operator, logical operator. Assignment operator ditandai dengan :=, dan digunakan untuk memberi nilai ke suatu variabel.
Arithmatic operator ditandai dengan *, /, +, -, div, mod. Digunakan untuk pengolahan nilai matematika. Comparison / Relational operator ditandai dengan =, <, >, <=, >=, <>, dan IN.
Digunakan untuk perbandingan 2 nilai sehingga menghasilkan nilai true dan false. Logical operator ditandai dengan AND, OR, XOR dan NOT. Digunakan untuk perbandingan logika antara dua pernyataan atau lebih.
Penting: penggunaan = dan := harus diperhatikan karena penggunaan operator ini
terkadang salah tempat.
Input Output:
Terdapat 2 jenis input/output secara umum yaitu layar/keyboard dan file.
Input menggunakan readln() dan read(). Dalam penggunaan melalui keyboard, kedua procedure ini tidak berbeda. Akan tetapi bila input berasal dari file, kedua procedure akan berbeda dalam mengambil input. Readln() akan mengambil input dalam suatu baris, kemudian cursor akan dipindahkan ke baris selanjutnya. Pada read() akan mengambil input dalam suatu baris, kemudian cursor akan dipindahkan ke sebelah bagian yang diinput. Bila tidak ada lagi bagian yang dapat diinput, maka cursor baru dipindah ke
bawah. Output menggunakan writeln() dan write(). Penggunaannya hampir sama dengan yang read() dan readln(). Pada writeln dan write, keduanya akan berpengaruh baik di file maupun di layar.
Contoh program:
uses crt;
var a,b: integer;
begin
clrscr;
write('Masukkan bilangan antara 1 - 100: ');
readln(a);
b:= a * 2;
writeln('Bilangan yang dimasukkan adalah ', a);
writeln('Bilangan setelah dikali 2 adalah ', b);
readkey;
end.
Rangkuman Selection
Selection merupakan salah satu proses program di samping sequential (pengerjaan secara berurut) dan repetition / looping. Dalam selection, program akan memilih bagian yang akan dijalankan (sehingga terdapat bagian yang tak dijalankan).
Umumnya selection menggunakan IF ... THEN ... ELSE ..., akan tetapi terdapat pula CASE ... OF. Penggunaan IF lebih umum digunakan bila terdapat pilihan yang tidak terlalu banyak dan eksekusi baris program yang panjang.
Blok pertama untuk IF dijalankan bila condition yang digunakan bernilai TRUE,
sedangkan blok ELSE dijalankan bila nilai conditionnya adalah FALSE.
Contoh:
uses crt;
var bil1, bil2: integer;
begin
clrscr;
write('Masukkan bilangan 1 : ');
readln(bil1);
write('Masukkan bilangan 2 : ');
readln(bil2);
if bil1 writeln('Bilangan 1 lebih kecil');
end
else begin
writeln('Bilangan 2 lebih kecil');
end
readkey;
end.
Penggunaan IF dapat dikombinasikan sehingga suatu blok IF dapat menampung blok IF yang lainnya (nested selection). Penggunaan IF tidak selalu harus selalu bersama ELSE (simple selection). IF juga dapat digunakan lebih dari satu kondisi setelah ELSE (linear selection) atau pada IF yang sama menggunakan operator logika / logical operator (combined selection). Contohnya adalah seperti baris program di bawah:
if (condition1) then begin
if (condition2) then begin
statement1;
stetement2;
end
else if (condition3) then begin
statement3;
statement4;
end
else begin
statement5;
end;
statement6;
statement7;
if (condition4) then begin
statementx;
statementy;
end;
end
else if (conditionx AND conditiony OR conditionz) begin
statement01;
statement02;
end;
Penting: Ada baiknya setiap blok IF selalu dipisahkan dan ditandai dengan spasi kosong atau menggunakan TAB untuk menghindari kebingungan dalam pembuatan blok statement.
Rangkuman Repetition / Looping
Repetition dapat digunakan untuk menjalankan suatu bagian program secara berulang-ulang sesuai dengan kondisi yang ada. Looping pada Pascal menggunakan beberapa keyword seperti FOR...DO, WHILE...DO dan
REPEAT...UNTIL.
FOR...DO dipergunakan ketika nilai yang akan digunakan sudah diketahui dengan nilai yang ada di dalamnya selalu ditambah atau dikurangi satu ketika mengalami perulangan.
Sintaks:
FOR variable := startindex (TO/DOWNTO) endindex DO BEGIN
statement;
END;
Dari sintaks di atas, terdapat dua jenis perubahan yang dapat digunakan, yaitu TO dan DOWNTO. TO akan menghasilkan nilai incremental atau penambahan satu setiap kali terjadi perulangan. Sedangkan DOWNTO akan menghasilkan nilai decremental atau pengurangan satu setiap kali terjadi perulangan.
Contoh penggunaan FOR...DO:
for i:=1 to 10 do begin
write(i,' ');
end;
for j:=10 downto 1 do begin
write(j,' ');
end;
WHILE...DO dapat digunakan tanpa harus ada perubahan pada nilai kondisi. Selama kondisi masih bernilai TRUE, maka perulangan akan dilakukan terus.
Sintaks:
WHILE (condition) DO BEGIN
statement;
END;
Contoh penggunaan WHILE...DO:
i:=10;
while i>2 do begin
i:=i-2;
writeln(i);
end;
REPEAT...UNTIL berfungsi hampir sama dengan WHILE...DO. Pada REPEAT...UNTIL, looping akan berhenti justru ketika kondisi bernilai TRUE. Selain itu kondisi akan diuji pada akhir perulangan sehingga blok di dalam perulangan akan dijalankan minimal satu kali walaupun kondisi yang ada masih FALSE.
Sintaks:
REPEAT
statement;
UNTIL (condition);
Contoh penggunaan REPEAT...UNTIL:
i:=10;
repeat
i:=i-3;
writeln(i);
until i<1;
Dari penggalan program di atas, dapat dilihat bahwa REPEAT...UNTIL tidak memerlukan BEGIN dan END untuk menjalankan suatu blok statement.
TIPS: Gunakan variabel i, j, k, dan seterusnya untuk menandai indeks perulangan atau
looping.
Sumber: http://etersoul.com/comptius/comptius_programming.pdf
Turbo Pascal
Pengenalan Pascal
Pascal merupakan salah satu bahasa pemrograman tingkat tinggi. Pemrograman tingkat tinggi menandakan bahwa Pascal banyak menggunakan bahasa manusia dalam penulisan sintaksnya.
Beberapa bahasa pemrograman tingkat tinggi lainnya yang ada yaitu BASIC dan DELPHI. Sedangkan bahasa pemrograman tingkat rendah yaitu bahasa pemrograman yang masih banyak menggunakan tanda-tanda sehingga bahasa ini cenderung lebih “kotor”. Beberapa bahasa pemrograman tingkat rendah yang sering digunakan adalah C, C++ dan Java. Mari kita melihat perbedaan antara bahasa Pascal dan C untuk pembanding dalam sintaks yang digunakan:
PASCAL
uses crt;
var a : integer;
begin
clrscr;
writeln('Masukkan nilai antara 0 sampai 100 : ');
readln(a);
if a > 5 then begin
writeln('Nilai a lebih besar dari 5');
writeln('Tekan sembarang tombol untuk keluar');
end
else begin
writeln('Nilai a lebih kecil atau sama dengan 5');
writeln('Tekan sembarang tombol untuk keluar');
end;
readkey;
end.
C
#include
#include
int a;
void main() {
clrscr();
printf(“Masukkan nilai antara 0 sampai 100 : “);
scanf(“%d”, &a);
if (a > 5) {
printf(“Nilai a lebih besar dari 5\nTekan sembarang tombol untuk keluar”);
} else {
printf(“Nilai a lebih kecil atau sama dengan 5\nTekan sembarang tombol
untuk keluar”);
}
getch();
}
Dua penggalan program di atas akan menghasilkan program yang sama persis yaitu meminta sebuah input berupa angka antara 0 sampai 100. Kemudian sebuah tulisan akan muncul tergantung dari nilai input yang dimasukkan. Dari 2 bahasa tersebut, dapat dilihat bahwa dalam bahasa Pascal lebih sederhana dan lebih banyak menggunakan bahasa manusia. Sedangkan dalam bahasa C, lebih banyak penggunaan simbol.
Turbo Pascal dan C merupakan program compiler. Compiler sendiri berarti program yang menerjemahkan tulisan berupa kode program menjadi bahasa mesin yang dapat dimengerti oleh komputer. Proses yang dilakukan disebut compile atau compiling. Suatu program dapat di-compile dengan menggunakan kombinasi tombol Alt + F9. Sedangkan untuk menjalankan program, tombol yang dapat digunakan adalah Ctrl + F9. Bila selama proses compile terdapat error atau kesalahan dalam penulisan program, maka Turbo Pascal atau C akan memberitahukan letak kesalahan tersebut sehingga pengguna dapat memperbaikinya di halaman editor.
Turbo Pascal merupakan bahasa yang case insensitive yang berarti penulisan dalam huruf kapital maupun huruf kecil tidak dipermasalahkan. Akan tetapi pada C yang case sensitive, maka penulisan huruf kapital atau kecil harus benar-benar diperhatikan. Untuk pembahasan berikutnya, kita akan menggunakan program Turbo Pascal dengan bahasa pemrograman Pascal sebagai pengantar contoh. Perlu diingat bahwa bila anda telah menguasai satu bahasa pemrograman, maka anda akan dengan cukup mudah berpindah ke bahasa pemrograman lainnya selama anda memiliki dasar algoritma dan logika yang baik. Oleh sebab itu, pada pembahasan yang selanjutnya, yang akan ditekankan adalah algoritma dan logika, bukan sintaks dan function / procedure yang terdapat dalam Turbo Pascal. Function atau procedure yang telah disediakan oleh Turbo Pascal dapat anda pelajari sendiri penggunaannya melalui Help yang terdapat di Turbo Pascal.
Struktur kode
Pada setiap kode pemrograman, terdapat aturan yang harus dipatuhi agar program
tersebut dapat menjalankan (compile) suatu program dengan baik tanpa error. Struktur utama pada Turbo Pascal adalah sebagai berikut.
program ... ; {deklarasi nama program}
uses ... ; {deklarasi penggunaan unit}
label ... ; {deklarasi label}
const ... ; {deklarasi konstant}
type ... ; {deklarasi tipe data}
var ... ; {deklarasi variabel}
procedure ... ; {deklarasi procedure}
function ... ; {deklarasi function}
begin
statement; {program ditulis di sini}
...
end.
Tulisan yang diapit oleh tanda kurung kurawal {} adalah comment dan tidak dianggap sebagai bagian program ketika di-compile oleh compiler. Pada baris pertama, anda dapat mendeklrasikan nama program. Umumnya untuk mengefisiensikan pengerjaan suatu program (khususnya pada lomba), baris pertama dapat diacuhkan atau dilewatkan. Baris kedua yaitu “USES” merupakan deklarasi penggunaan unit dalam Turbo Pascal. Unit merupakan bagian dari program yang berisi kumpulan function dan procedure. Contoh fungsi yang banyak digunakan adalah CRT, dengan function yang terdapat di dalamnya yaitu clrscr dan readkey. Anda dapat menjalankan suatu program tanpa menggunakan USES, akan tetapi anda hanya dapat menggunakan function dan procedure yang sudah terkandung secara native dalam Turbo Pascal. Contohnya anda tidak dapat menggunakan clrscr atau readkey tanpa CRT, tetapi bisa menggunakan writeln dan readln tanpa CRT tersebut karena CRT merupakan unit untuk pengolahan output ke layar dan input dari keyboard.
Label digunakan bersamaan dengan keyword GOTO. GOTO sendiri jarang digunakan karena tidak efisien dan cenderung membingungkan penggunanya. Const digunakan untuk mendeklarasikan suatu konstan. Konstan merupakan suatu keyword yang memiliki nilai tertentu. Misalnya bila anda mendeklrasikan PI sebagai 3.14, maka ketika anda menggunakan PI pada baris program, PI akan digantikan dengan 3.14. Type digunakan untuk mendeklarasikan suatu tipe data baru dari tipe data yang sudah ada sebelumnya. Berguna ketika harus menggunakan pointer.
Var digunakan untuk mendeklarasikan suatu variabel. Variabel yang dideklarasikan harus memiliki tipe data tertentu. Penjelasan dalam penggunaan variabel akan dibahas di bagian berikutnya.
Procedure dan function merupakan sub-program. Procedure tidak mengembalikan nilai, sedangkan function mengembalikan nilai. Procedure dan function mengandung suatu penggalan program yang dapat dipanggil oleh program utama atau sub-program yang lainnya. Bila anda belum mengerti maksud dari “mengembalikan nilai” maka anda dapat membayangkan bahwa hasil dari function dapat dimasukkan ke dalam suatu variabel atau menghasilkan suatu nilai, sedangkan procedure hanya menjalankan suatu potongan program. Contoh procedure adalah writeln dan clrscr karena kedua procedure tersebut tidak mengembalikan nilai apapun. Sedangkan contoh function adalah “sqrt” yang akan mengembalikan nilai berupa akar kuadrat dari bilangan yang dimasukkan. Sebagai informasi: “procedure” adalah istilah yang digunakan pada Pascal. Pada bahasa pemrograman yang lainnya, biasa disebut “function yang tidak mengembalikan nilai” atau “void function”. Program utama yang akan dijalankan oleh Turbo Pascal dapat ditulis diantara BEGIN sampai dengan END.
Variabel dan tipe data
Terdapat beberapa tipe data yang dapat dipergunakan dalam suatu variabel, di antaranya adalah (beserta range yang dapat diterima):
Integer
Integer (-2^15 sampai 2^15), word (0 sampai 2^16), shortint (-2^7 sampai 2^7), byte (0
sampai 2^7), longint (-2^23 sampai 2^23)
Float / Real
Real (6 byte), singel (4 byte), double (8 byte), extended (10 byte), comp (8 byte)
Boolean
Bernilai TRUE atau FALSE (1 atau 0)
Char
Merupakan integer yang telah dikonversikan ke kode ASCII.
Array
Merupakan deretan suatu variabel yang bertipe data sama. Pembahasan yang lebih lengkap akan terdapat di bagian tersendiri. String merupakan array dari char. Algoritma dasar Pada dasarnya terdapat beberapa algoritma yang harus dikuasai dalam pemrograman yaitu:
1. Operator
2. Input/output: Bagaimana meminta suatu input dan menampilkan suatu output.
3. Selection: Bagaimana membuat program yang dapat memilih bagian yang akan
dijalankan.
4. Repetition / looping: Bagaimana membuat program yang dapat mengulang
suatu bagian program yang dijalankan.
Rangkuman operator
Dalam bahasa pemrograman, sebuah proses dibagi menjadi 2 yaitu operand dan operator. Operand dapat berupa variabel atau nilai. Sedangkan operator merupakan tanda-tanda yang dipakai untuk mengolah. Terdapat banyak jenis operator, tapi 4 jenis yang perlu dipelajari untuk saat ini adalah assignment operator, arithmatic operator, comparison operator, logical operator. Assignment operator ditandai dengan :=, dan digunakan untuk memberi nilai ke suatu variabel.
Arithmatic operator ditandai dengan *, /, +, -, div, mod. Digunakan untuk pengolahan nilai matematika. Comparison / Relational operator ditandai dengan =, <, >, <=, >=, <>, dan IN.
Digunakan untuk perbandingan 2 nilai sehingga menghasilkan nilai true dan false. Logical operator ditandai dengan AND, OR, XOR dan NOT. Digunakan untuk perbandingan logika antara dua pernyataan atau lebih.
Penting: penggunaan = dan := harus diperhatikan karena penggunaan operator ini
terkadang salah tempat.
Input Output:
Terdapat 2 jenis input/output secara umum yaitu layar/keyboard dan file.
Input menggunakan readln() dan read(). Dalam penggunaan melalui keyboard, kedua procedure ini tidak berbeda. Akan tetapi bila input berasal dari file, kedua procedure akan berbeda dalam mengambil input. Readln() akan mengambil input dalam suatu baris, kemudian cursor akan dipindahkan ke baris selanjutnya. Pada read() akan mengambil input dalam suatu baris, kemudian cursor akan dipindahkan ke sebelah bagian yang diinput. Bila tidak ada lagi bagian yang dapat diinput, maka cursor baru dipindah ke
bawah. Output menggunakan writeln() dan write(). Penggunaannya hampir sama dengan yang read() dan readln(). Pada writeln dan write, keduanya akan berpengaruh baik di file maupun di layar.
Contoh program:
uses crt;
var a,b: integer;
begin
clrscr;
write('Masukkan bilangan antara 1 - 100: ');
readln(a);
b:= a * 2;
writeln('Bilangan yang dimasukkan adalah ', a);
writeln('Bilangan setelah dikali 2 adalah ', b);
readkey;
end.
Rangkuman Selection
Selection merupakan salah satu proses program di samping sequential (pengerjaan secara berurut) dan repetition / looping. Dalam selection, program akan memilih bagian yang akan dijalankan (sehingga terdapat bagian yang tak dijalankan).
Umumnya selection menggunakan IF ... THEN ... ELSE ..., akan tetapi terdapat pula CASE ... OF. Penggunaan IF lebih umum digunakan bila terdapat pilihan yang tidak terlalu banyak dan eksekusi baris program yang panjang.
Blok pertama untuk IF dijalankan bila condition yang digunakan bernilai TRUE,
sedangkan blok ELSE dijalankan bila nilai conditionnya adalah FALSE.
Contoh:
uses crt;
var bil1, bil2: integer;
begin
clrscr;
write('Masukkan bilangan 1 : ');
readln(bil1);
write('Masukkan bilangan 2 : ');
readln(bil2);
if bil1
end
else begin
writeln('Bilangan 2 lebih kecil');
end
readkey;
end.
Penggunaan IF dapat dikombinasikan sehingga suatu blok IF dapat menampung blok IF yang lainnya (nested selection). Penggunaan IF tidak selalu harus selalu bersama ELSE (simple selection). IF juga dapat digunakan lebih dari satu kondisi setelah ELSE (linear selection) atau pada IF yang sama menggunakan operator logika / logical operator (combined selection). Contohnya adalah seperti baris program di bawah:
if (condition1) then begin
if (condition2) then begin
statement1;
stetement2;
end
else if (condition3) then begin
statement3;
statement4;
end
else begin
statement5;
end;
statement6;
statement7;
if (condition4) then begin
statementx;
statementy;
end;
end
else if (conditionx AND conditiony OR conditionz) begin
statement01;
statement02;
end;
Penting: Ada baiknya setiap blok IF selalu dipisahkan dan ditandai dengan spasi kosong atau menggunakan TAB untuk menghindari kebingungan dalam pembuatan blok statement.
Rangkuman Repetition / Looping
Repetition dapat digunakan untuk menjalankan suatu bagian program secara berulang-ulang sesuai dengan kondisi yang ada. Looping pada Pascal menggunakan beberapa keyword seperti FOR...DO, WHILE...DO dan
REPEAT...UNTIL.
FOR...DO dipergunakan ketika nilai yang akan digunakan sudah diketahui dengan nilai yang ada di dalamnya selalu ditambah atau dikurangi satu ketika mengalami perulangan.
Sintaks:
FOR variable := startindex (TO/DOWNTO) endindex DO BEGIN
statement;
END;
Dari sintaks di atas, terdapat dua jenis perubahan yang dapat digunakan, yaitu TO dan DOWNTO. TO akan menghasilkan nilai incremental atau penambahan satu setiap kali terjadi perulangan. Sedangkan DOWNTO akan menghasilkan nilai decremental atau pengurangan satu setiap kali terjadi perulangan.
Contoh penggunaan FOR...DO:
for i:=1 to 10 do begin
write(i,' ');
end;
for j:=10 downto 1 do begin
write(j,' ');
end;
WHILE...DO dapat digunakan tanpa harus ada perubahan pada nilai kondisi. Selama kondisi masih bernilai TRUE, maka perulangan akan dilakukan terus.
Sintaks:
WHILE (condition) DO BEGIN
statement;
END;
Contoh penggunaan WHILE...DO:
i:=10;
while i>2 do begin
i:=i-2;
writeln(i);
end;
REPEAT...UNTIL berfungsi hampir sama dengan WHILE...DO. Pada REPEAT...UNTIL, looping akan berhenti justru ketika kondisi bernilai TRUE. Selain itu kondisi akan diuji pada akhir perulangan sehingga blok di dalam perulangan akan dijalankan minimal satu kali walaupun kondisi yang ada masih FALSE.
Sintaks:
REPEAT
statement;
UNTIL (condition);
Contoh penggunaan REPEAT...UNTIL:
i:=10;
repeat
i:=i-3;
writeln(i);
until i<1;
Dari penggalan program di atas, dapat dilihat bahwa REPEAT...UNTIL tidak memerlukan BEGIN dan END untuk menjalankan suatu blok statement.
TIPS: Gunakan variabel i, j, k, dan seterusnya untuk menandai indeks perulangan atau
looping.
Sumber: http://etersoul.com/comptius/comptius_programming.pdf
Langganan:
Postingan (Atom)