Dasar Manajemen

Keterampilan ini melibatkan kemampuan untuk melihat suatu perusahaan/organisasi secara utuh, mengenali cara kerja dan ketergantungan bermacam-macam fungsi yang ada, dan lebih jauh lagi untuk memahami hubungan antara perusahaan/organisasinya dan industri, masyarakat, dan situasi ekonomi dan sosial secara umum.
Pada dasarnya keterampilan ini lebih banyak melibatkan intuisi seorang manajer sehingga ia dapat memahami gejala-gejala umum dan keterkaitan antar variabel-variabel elementer, memberikan penekanan dan prioritas pola tindakan, serta dapat memperkirakan kencenderungan dan probabilitas hasil dari tindakan yang akan dilakukan. Di luar teknis pelatihan manajemen, prinsip ‘learning by doing’ sangat dirasakan penting untuk mengasah keterampilan konseptual ini. Sedangkan pelatihan manajemen strategi, pola promosi kepada karyawan untuk menduduki posisi lebih tinggi dan melibatkan kerja antar kelompok juga merupakan beberapa upaya untuk mengembangkan keterampilan ini secara lebih terstruktur.

Keterampilan Konseptual (Conceptual Skill)
Keterampilan konseptual adalah kemampuan untuk mengkoordinasi dan memedukan berbagai kepentingan dan kegiatan organisasi. Ini mencakup kemampun manajer untuk melihat organisasi sebagai suatu keseluruhan organisasi. Manajer membutuhkan keterampilan konseptual yang cukup mengenali bagaiman bermacam-macam faktor pada suatu keadaan tertentu berkaitan suatu dengan yang lain, sehingga tindakan yang diambilnya ditujukan untuk kepentingan organisasi secara keseluruhan. Contoh keterampilan ini adalah kemampuan memecahkan masalah, membuat keputusan, membuat rencana, dan sebagainya.

KONSEP DASAR MANAJEMEN

KONSEP DASAR MANAJEMEN

A. Pengertian :
Dilihat dari asal katanya, kata manajemen atau management dalam Bahasa Inggris berasal dari kata Italia, maneggiare yang kurang lebih berarti menangani atau to handle. Dalam bahasa latin ada kata yang punya pengertian hampir sama yakni manus yang artinya tangan atau menangani.
Sementara berbicara tentang definisi, layaknya istilah-istilah lain dalam kajian Ilmu Sosial, Manajemen juga memiliki sejumlah definisi yang diberikan para ahli. Disini hanya akan dikemukakan satu definisi yang diungkapkan oleh GR Terry sebagai berikut:

Manajemen merupakan sebuah proses yang khas, yang terdiri dari tindakan-tindakan: Perencanaan, Pengorganisasian, Penggiatan dan Pengawasan yang dilakukan untuk menentukan serta mencapai sasaran-sasaran yang telah ditetapkan melalui pemanfaatan sumber daya manusia dan sumber-sumber lainnya.


Pengertian lain manajemen adalah sebuah proses yang dilakukan untuk mewujudkan tujuan organisasi melalui serangkaian kegiatan berupa perencanaan, pengorganisasian, pengarahan dan pengendalian orang-orang serta sumber daya organisasi lainnya.
3 faktor yang terlibat dalam proses penyelesaian:
1.Adanya penggunaan sumber daya organisasi (SDM, SDA, SDD, SDI)
2.Adanya proses yang bertahap (perencanaan, pengorganisasian, pengarahan dan pengendalian)
3.Adanya seni dalam menyelesaikan pekerjaan

Peran Manajer Dalam Organisasi: Efektif dan Efisien
Manajemen diperlukan agar tujuan organisasi dapat dicapai secara efektif dan efisien. Efektif menurut Peter F. Drucker adalah “mengerjakan pekerjaan yang benar”. Sedangkan Efisien adalah “mengerjakan pekerjaan dengan benar”.
Agar manajemen yang dilakukan mengarah kepada kegiatan bisnis secara efektif dan efisien, maka manajemen perlu dijelaskan berdasarkan fungsi fungsinya/dikenal sebagai fungsi-fungsi manajemen (fungsi perencanaan, pengorganisasian pengimplementasian, serta pengendalian dan pengawasan).
Disamping pengertian dan definisi manajemen yang sudah diuraikan tadi, McFarland, 1979 juga mengemukakan empat pengertian manajemen yang biasa digunakan dalam kehidupan sehari-hari:
1.proses-proses pengorganisasian; yakni perencanaan, pengorganisasian, pengarahan, penggiatan dan pengevaluasian.
2.Kata manajemen juga berarti karir atau jabatan
3.Kata manajemen juga dapat berarti kelompok orang yang bertanggungjawab dalam menjalankan sebuah organisasi.
4.Kata manajemen juga dapat merupakan sebuah ilmu atau seni untuk mengatur orang lain

Selanjutnya Harbison dan Myers menggolongkan manajemen itu menjadi tiga tipe, yaitu:
1.Patrimonial Management
Terdapat apabila suatu perusahaan dimiliki oleh sebuah keluarga dan kedudukan-kedudukan yang penting dalam hirarki perusahaan dikuasai oleh anggota-anggota keluarga tersebut.
2.Political Management
Suatu bentuk manajemen dimana kedudukan-kedudukan penting dan pokok dalam organisasi dipegang oleh mereka yang mempunyai hubungan-hubungan politik berdasarkan atas loyalitas pada suatu partai politik tertentu.
3.Profesional Management
Kedudukan yang strategis dan penting diserahkan kepada mereka yang telah memberikan bukti akan kecakapannya, kapasitas, kesanggupan, keahlian atau dengan perkataan lain atas dasar jasa dan hasil yang mereka berikan kepada perusahaan.

B. Fungsi-fungsi Dasar Manajemen

Pada intinya fungsi-fungsi manajemen meliputi fungsi Perencanaan, Pelaksanaan dan Evaluasi. Namun dalam pelaksanaannya fungsi-fungsi dasar tersebut bisa dikembangkan secara fleksibel sesuai kebutuhan organisasi.

Berikut adalah fungsi-fungsi manajemen yang dikemukakan oleh Dessler, 1996:
1.Planning. Meliputi penentuan tujuan, tindakan, pengembangan aturan dan prosedur-prosedur, pengembangan rencana dan melakukan prediksi.
2.Organizing. Meliputi pemberian tugas, bagian-bagian, pendelegasian wewenang, mengkoordinir pekerjaan
3.Staffing, meliputi rekruitmen karyawan, pelatihan dan pengembangan
4.Leading, mencakup pemberian perintah, menjaga motivasi dan semangat kerja karyawan
5.Controlling, menentukan standar, melakukan perbaikan bila diperlukan.

Fungsi-fungsi manajemen diperlukan agar keseluruhan sumber daya organisasi dapat dikelola dan dipergunakan secara efektif dan efisien sehingga tujuan organisasi dapat tercapai.

Kegiatan-kegiatan dalam fungsi Manajemen
1. Fungsi Perencanaan (Planning)
1.Menetapkan tujuan dan target bisnis
2.Merumusakan strategi untuk mencapai tujuan dan target bisnis tersebut
3.Menentukan sumber-sumber daya yang diperlukan
4.Menetapkan standar atau indikator keberhasilan dalam pencapaian tujuan dan target bisnis.
2. Fungsi Pengorganisasian (Organizing)
1.Mengalokasikan sumber daya, merumuskan dan menetapkan tugas dan menetapkan prosedur yang diperlukan
2.Menetapkan struktur organisasi yang menunjukkan adanya garis kewenangan dan tanggung jawab
3. Kegiatan penempatan SDM pada posisi yang tepat.
3. Fungsi Pengimplementasian (Directing)
1.Mengimplementasikan proses kepemimpinan, pembimbingan dan pemberian motivasi kepada tenaga kerja agar dapat bekerja secara efektif dan efisien dalam pencapaian tujuan
2.Memberikan tugas dan penjelasan rutin mengenai pekerjaan
3. Menjelaskan kebijakan yang ditetapkan.
4. Fungsi Pengawasan (Controlling)
Mengevaluasi keberhasilan dalam pencapaian tujuan dan target bisnis sesuai dengan indikator yang telah ditetapkan
Mengambil langkah klarifikasi dan koreksi atas penyimpangan yang mungkin ditemukan
Melakukan berbagai alternatif solusi atas berbagai masalah yang terkait dengan pencapaian tujuan dan target bisnis.

Fungsi Operasional dari Manajemen
Pada pelaksanaannya, fungsi-fungsi manajemen yang dijalankan menurut tahapan tertentu akan sangat berbeda-beda jika didasarkan pada fungsi operasionalnya, belum lagi dilihat dari jenis organisasinya.
Berdasarkan operasionalnya, manajemen organisasi bisnis dapat dibedakan secara garis besar menjadi fungsi-fungsi:
Manajemen SDM
Manajemen Produksi
Manajemen Pemasaran
Manajemen Keuangan

1. Manajemen Sumber Daya Manusia
Adalah penerapan manajemen berdasarkan fungsinya untuk memperoleh SDM yang kita jalankan & bagaimana SDM yang terbaik tersebut dapat terpelihara & tetap bekerja bersama kita dengan baik.
2.Manajemen produksi
Adalah penerapan manajemen berdasarkan fungsinya untuk menghasilkan produk yang sesuai dengan standar yang ditetapkan berdasarkan keinginan konsumen, dengan teknik produksi yang se-efesien mungkin.
3. Manajemen pemasaran
Adalah kegiatan manajemen berdasarkan fungsinya yang pada intinya berusaha untuk mengidentifikasi apa yang sesungguhnya dibutuhkan oleh konsumen, & bagaimana cara pemenuhannya dapat diwujudkan.
4. Mnajemen keuangan
Adalah kegiatan manajemen berdasarkan fungsinya yang pada intinya memastikan bahwa kegiatan bisnis yang dilakukan mampu mencapai tujuannya secara ekonomis, yaitu diukur secarra profit.
5. Manajemen informasi
Adalah kegiatan manajemen berdasarkan fungsinya yang pada intinya berusaha memastikan bahwa bisnis yang berjalan tetap mampu untuk terus bertahan dalam jangka panjang.
PERAN MANAGER DALAM PROSES MANAGEMENT
Setiap perusahaan memiliki manajemen yang memegang berbagai peranan penting yang menentukan keberhasilan dalam mencapai tujuan yang telah ditetapkan untuk diwujudkan bersama. Ada banyak peran yang harus dimainkan / diperankan para manajer secara seimbang sehingga diperlukan orang-orang yang tepat untuk menjalankan peran-peran tersebut.
Manajemen yang baik haruslah berperan sesuai dengan situasi dan kondisi pada perusahaan atau organisasi. Menajemen yang tidak bisa menjalankan peran sesuai tuntutan perusahaan dapat membawa kegagalan.
Berikut ini adalah Peranan Manajemen yang harus diperankan para Manajer :
1. Peran Interpersonal
Yaitu hubungan antara manajer dengan orang yang ada di sekelilingnya, meliputi ;
- Figurehead / Pemimpin Simbol : Sebagai simbol dalam acara-acara perusahaan.
- Leader / Pemimpin : Menjadi pemimpin yag memberi motivasi para karyawan / bawahan serta mengatasi permasalahan yang muncul.
- Liaison / Penghubung : Menjadi penghubung dengan pihak internal maupun eksternal.
2. Peran Informasi
Adalah peran dalam mengatur informasi yang dimiliki baik yang berasal dari dalam maupun luar organisasi, meliputi ;
- Monitor / Pemantau : Mengawasi, memantau, mengikuti, mengumpulkan dan merekam kejadian atau peristiwa yang terjadi baik didapat secara langsung maupun tidak langsung.
- Disseminator / Penyebar : Menyebar informasi yang didapat kepada para orang-orang dalam organisasi.
- Spokeperson / Juru Bicara : Mewakili unit yang dipimpinnya kepada pihak luar.
3. Peran Pengambil Keputusan
Adalah peran dalam membuat keputusan baik yang ditentukan sendiri maupun yang dihasilkan bersama pihak lain, meliputi ;
- Entrepreneur / Kewirausahaan : Membuat ide dan kreasi yang kreatif dan inovatif untuk meningkatkan kinerja unit kerja.
- Disturbance Handler / Penyelesai Permasalahan : Mencari jalan keluar dan solusi terbaik dari setiap persoalan yang timbul.
- Resource Allicator / Pengalokasi Sumber Daya : Menentukan siapa yang menerima sumber daya serta besar sumber dayanya.
- Negotiator / Negosiator : Melakukan negosiasi dengan pihak dalam dan luar untuk kepentingan unit kerja atau perusahaan.
TIPE-TIPE MANAJER
Tingkatan Manajer:
Manajer Puncak
Manajer yang bertanggung jawab pada dewan direksi dan pemegang saham atas keseluruhan kinerja dan aktivitas perusahaan.
Manajer Menengah
Manajer yang bertanggung jawab pada pengimplementasian strategi kebijakan dan keputusan yang dibuat oleh manajer puncak.
Manajer Lini Pertama
Manajer yang bertanggung jawab langsung atas pekerjaan karyawan (supervisi)
Bidang-Bidang Manajemen
Kesemua tingkatan manajemen di atas bekerja pada berbagai bidang dalam suatu perusahaan, meliputi: Sumber daya Manusia, Informasi dan Keuangan, Operasional, Pemasaran.
1. Manajer Sumber Daya Manusia bertugas: Rekruitmen, Pelatihan, Evaluasi kinerja, dan Penentukan besarnya kompensasi bagi karyawan.
2. Manajer Informasi bertugas dan bertanggung jawab terkait: Perancangan dan Penerapan Sistem untuk menggabungkan, mengorganisasikan, dan mendistribusikan informasi.
3. Manajer Keuangan : Merencanakan dan mengawasi fungsi akuntansi dan sumber-sumber keuangan.
4. Manajer Operasi terkait dengan tugas-tugas dan tanggung jawab pada sistem yang digunakan oleh perusahaan dalam produksi, persediaan, dan pengawasan kualitas dari barang dan jasa yang dihasilkan.
5. Manajer Pemasaran bertanggung jawab atas kegiatan-kegiatan yang mencakup pengembangan, penetapan harga, promosi dan distribusi barang dan jasa dari produsen kepada konsumen.
DASAR KETRAMPILAN MANAJER
Seorang manajer harus memiliki dan mampu mengembangkan ketrampilan Teknis, Hubungan Manusia, Konseptual dan Pengambilan Keputusan serta Pengelolaan Waktu.
1. Ketrampilan Teknis
Ketrampilan yang diperlukan untuk melakukan tugas khusus.
2. Ketrampilan Hubungan Manusia
Ketrampilan untuk memahami dan bekerjasama dengan orang lain
3. Ketrampilan Konseptual
Ketrampilan terkait dengan kemampuan untuk berpikir pada hal-hal yang abstrak, mendiagnosis dan menganalisis situasi yang berbeda dan memandang jauh kedepan.
4. Ketrampilan Pengambilan Keputusan
Kemampuan dalam identifikasi masalah, dan menentukan langkah terbaik untuk menyelesaikan masalah.
5. Ketrampilan Pengelolaan Waktu
Ketrampilan yang berkaitan dengan pemanfaatan waktu secara produktif.
KEAHLIAN MANAJEMEN UNTUK ABAD KE DUA PULUH SATU
Pada abad 21 manajer dituntut untuk memiliki wawasan terhadap pasar asing dan kemampuan memahami dan memanfaatkan teknologi informasi sehingga mampu bersaing dalam lingkungan global.
MANAJEMEN DAN BUDAYA PERUSAHAAN
Budaya perusahaan meliputi pengalaman, kisah, kepercayaan dan norma-norma bersama yang memberikan ciri suatu organisasi yang akan membantu dalam menciptakan iklim kerja dan bisnis yang terjadi dalam suatu organisasi.
MENGKOMUNIKASIKAN BUDAYA DAN MENGELOLA PERUBAHAN
Budaya perusahaan mempengaruhi budaya dan perilaku manajemen, untuk itu manajer harus memiliki pemahaman yang jelas tentang budaya, menyalurkan budaya itu pada orang lain dalam organisasi dan dapat mempertahankan budaya tersebut. Jika harus mengubah budaya dapat ditempuh dengan tiga tahap:
1. Manajemen Puncak mengidentifikasi perubahan lingkungan sebagai tanggapan terbaik terhadap masalah yang dihadapi.
2. Merumuskan visi perusahaan baru.
Menetapkan sistem baru untuk menghargai dan memberikan kompensasi kepada karyawan yang mengukuhkan nilai baru perusahaan.

sumber : http://centralmakalah.blogspot.com/2009/02/konsep-dasar-manajemen.html

Warna Warni Langit Kita


Mengapa langit berwarna biru? Mengapa pula penampilannya berubah kemerahan pada pagi dan sore hari? Apakah gejala warna tersebut memang berbeda dari kabut yang tampak putih saja?

Sudah umum disaksikan bahwa ketika disorot lampu mobil, kabut terlihat terang tidak berwarna. Ini karena tetes-tetes kecil air dalam kabut menghamburkan cahaya ke segala jurusan tanpa pilih kasih. Semua warna disebarkan secara sama, sehingga hasil totalnya tampak putih.

Berlainan situasinya pada lapisan atmosfir jauh di atas. Di sana yang berperan bukan bintik-bintik air melainkan molekul-molekul udara yang ukurannya jauh lebih kecil. Melalui gejala yang disebut hamburan Rayleigh, molekul-molekul itu mempraktekkan diskriminasi. Cahaya disebarkan tidak sama rata. Semakin pendek panjang gelombang cahaya, semakin banyak yang dihamburkan.

Kita ketahui bahwa panjang gelombang terpendek dalam spektrum cahaya ditempati oleh warna ungu, dan panjang gelombang membesar ke arah merah. Artinya cahaya ungu paling hebat disebarkan ke mana-mana di atmosfir tinggi, sehingga mestinya langit bagai dipenuhi bunga violetta. Namun mata manusia kurang peka terhadap cahaya ungu, apalagi kandungan warna ungu dalam cahaya matahari relatif sedikit. Mata lebih sensitif jika panjang gelombang bergeser ke daerah nila, warna yang bertetangga dengan ungu. Dan lebih peka lagi untuk biru, tetangga nila yang jumlahnya cukup banyak sekaligus masih intens dihamburkan oleh atmosfir. Karena itulah langit di atas bumi berwarna biru.

Bandingkan dengan angkasa di atas bulan, seperti yang teramati pada foto-foto pendaratan misi Apollo. Karena ketiadaan atmosfir beserta segenap molekul yang bisa menghamburkan cahaya, langit di sana sungguh hitam pekat. Tetapi seandainya mata astronaut ditujukan ke matahari, akan luar biasa cemerlang bulatan surya akibat absennya molekul dan partikel yang seharusnya juga bisa mengerem terik matahari.

Dahsyatnya kontras antara cerah matahari dan hitam legamnya langit mengharuskan mata astronaut dilindungi oleh kaca helm yang berlapis emas. Sungguh tidak nyaman dibandingkan pemandangan langit bumi yang terang menyenangkan. Berwarna biru lagi, warna yang memberi kesan sejuk.

Senja merah
Uraian di atas berlaku jika sang surya bertahta tinggi di angkasa. Cerita menjadi lain apabila matahari bertengger rendah, yang terjadi pada pagi hari dan senja.

Pada saat-saat tersebut cahaya matahari jatuhnya condong menembus atmosfir, sehingga harus menempuh lintasan yang lebih panjang ketimbang kalau merambat tegak lurus tanah. Akibatnya molekul-molekul udara mempunyai begitu banyak kesempatan untuk menyebarkan cahaya, sambil tetap mengikuti ciri Rayleigh, yaitu semakin pendek panjang gelombang semakin hebat hamburannya.

Karena itu secara awal cahaya akan kehilangan warna ungu karena sudah habis-habisan dihamburkan. Berikutnya persediaan warna nila yang punah. Jika masih panjang lintasan yang harus ditempuh cahaya, giliran selanjutnya yang susut dalam spektrum cahaya matahari ialah biru, hijau, dan mungkin kuning. Jadi pada akhirnya, yang berhasil mencapai mata hanya sisa kuning, kemudian lebih banyak jingga, dan lebih banyak lagi merah.

Inilah rahasianya mengapa langit kita cenderung kemerahan pada saat fajar dan senja. Kadang-kadang bahkan merah bukan main. Mempesona, menyajikan pemandangan yang mengilhami pemotret, pelukis, pengarang, penyair dan pencipta lagu dalam menghasilkan karyanya. ððð

foto: http://www2.hiren.info/desktopwallpapers/natural/green-farm-and-blue-sky.jpg

Menyingkap Legenda Vampir Melalui Biokimia


Vampir kini kembali ngetren akibat film Twilight. Tahukah anda bahwa suatu penyakit genetik yang disebut porphyria boleh jadi merupakan pemicu munculnya mitos vampir? Porphyria adalah suatu kelainan berupa gangguan pada jalur pembentukan heme, suatu komponen dari hemoglobin yang berperan mengangkut oksigen dalam darah.

Anemia

Kebanyakan individu ini mengidap anemia karena mengalami gangguan sintesis heme (komponen pembentuk hemoglobin). Penyakit ini disebabkan oleh adanya ketidaksempurnaan dalam jalur pembentukan enzim dari glisin menjadi porfirin, menyebabkan over produksi porfirin yang dapat terkumpul di kulit, cairan tubuh, atau feses. Bentuk yang paling umum dari penyakit tersebut adalah acute intermittent porphyria. Kebanyakan individu yang terserang biasanya heterozigot dan biasanya tidak menimbulkan gejala spesifik karena satu single copy dari gen normal mampu menyediakan mekanisme biosintesis yang cukup untuk produksi enzim secara normal.

Istilah porphyria ini diambil dari bahasa Yunani, porphura yang berarti pigmen ungu, disebut demikian karena warna ungu yang muncul pada cairan tubuh pasien ketika terserang. Selain dapat diturunkan secara genetik, penyakit ini bisa dipicu oleh faktor lain seperti penggunaan obat-obatan tertentu, alkohol, kontrasepsi hormon, dan sebagainya. Pada kondisi lingkungan tertentu dan asupan nutrisi tertentu dapat terbentuk δ-aminolevulinate dan porphobilinogen yang menyebabkan gangguan abdominal akut dan disfungsi saraf.

Salah satu bentuk kelainan porphyria adalah dapat membuat kulit menjadi sensitif terhadap sinar matahari, membuatnya rapuh dan mudah rusak. Karakteristik ini dimanfaatkan dalam penelitian pengobatan kanker dimana suatu obat yang diturunkan dari porphyrin disisipkan ke sel kanker, kemudian dipaparkan ke sinar, sehingga membuat melanoma kanker terbakar habis. Bentuk porphyria lain yang jarang terjadi, akan menghasilkan akumulasi uroporphyrinogen I, suatu isomer dari prekursor protoporphyrin. Zat ini menyebabkan urine berwarna merah, membuat gigi sangat mengkilat jika terkena sinar ultraviolet, dan membuat kulit abnormal jika terkena sinar matahari.

Vampir dan Porphyria

Boleh jadi kondisi genetik seperti inilah yang mengawali adanya mitos tentang vampir. Seseorang yang terkena penyakit ini, membutuhkan banyak darah karena dia mengidap anemia dan dia menghisap darah orang lain di malam hari karena pada siang hari kulitnya mungkin bisa melepuh apabila terkena sinar matahari.
Pada Januari 1964, makalah yang membahas porphyria dan etiologi manusia serigala diterbitkan di Proceedings of the Royal Society of Medicine. Lebih lanjut, pada tahun 1985, David Dolphin memublikasikan makalahnya yang berjudul “Porphyria, Vampires and Werewolves : The Aetiology of European Metamorphosis Legends”, yang kemudian menuai beragam kontroversi.

Antara lain karena meski penderita porphyria mendapat terapi injeksi heme, bagaimanapun darah yang diminum (seperti yang dilakukan oleh vampir) akan masuk ke sistem pencernaan dan diuraikan. Polemik lain berkembang yakni pada aspek-aspek seperti sensitifitas terhadap cahaya, dan alergi bawang putih yang ditengarai merupakan bagian-bagian yang ditambahkan oleh industri film pada legenda vampir itu sendiri.

Bagaimana pendapat Anda?

Ide tulisan dari http://fakhria.wordpress.com
Referensi : http://en.wikipedia.org/wiki/Porphyria
http://www.inklingmagazine.com/articles/comments/vampires-save-lives/

foto:wikimedia.org

7 Pikiran yang Bisa Membunuh


Pikiran bisa membunuh kita. Kalimat itu tidak sembarangan, sebab apa yang ada di pikiran kita sangat menentukan apa yang akan kita lakukkan. Maka dalam berpikir pun kita tidak bisa seenaknya saja. Ada tujuh jenis pikiran yang berbahaya bagi kehidupan kita. Apa saja itu?

1. Stres
Apa pun yang kita lakukan, usahakan jangan membuatmu stes. Riset membuktikan bahwa stres berkepanjangan bisa mematikan. Stres meningkatkan risiko penyakit jantung, virus flu, sindroma metabolisme, dan kenaikan tekanan darah. Jangan salah, hal yang membahagiakan pun kadang membuat stres juga. Ilmuwan Inggris menemukan bahwa orang yang mendapat promosi kerja mengalami peningkatan stres sebanyak 10% dan lebih sering ke dokter.

2. Murung
Kemurungan membuat orang tidak saja kurang bisa bergaul, tapi juga mengalami penurunan kondisi fisik. Studi terhadap 180 pasien penderita penyumbatan arteri, terbukti pasien yang penyendiri berisiko meninggal dua kali lipat dari pasien yang ceria. Studi yang dipublikasikan di jurnal Archives of Surgery ini mengatakan bahwa jenis kepribadian kita berkaitan erat dengan sistem kekebalan tubuh dan sistem respon.

3. Gelisah
Kegugupan atau kegelisahan cenderung memicu kelemahan, dan berkorelasi dengan penyakit Alzheimer, bahkan kegilaan. Teori ini didapat dari studi yang dilakukan pada lebih dari 500 orang usia lanjut yang hidup sendirian selama lima tahun. Mereka yang berjiwa extrovert risikonya 50% lebih rendah terserang dementia dibanding mereka yang kerap gugup dan gelisah.

4. Kekurangan kontrol diri
Sering terlambat menepati janji? Susah mengontrol diri? Susah menyusun benda-benda milik sendiri? Waspada saja, sebab kebiasaan buruk ini mencermikan kondisi kesehatan. Studi yang dilakukan Howard S. Friedman, ilmuwan dari University of California, membuktikan hahwa mereka yang bergaya hidup disiplin, teratur, bisa hidup dua hingga empat tahun lebih panjang dari mereka yang tidak. Dan biasanya mereka yang tak bisa mengontrol diri adalah orang yang stres atau kecanduan minuman alkohol.

5. Resah
Orang yang sering merasa resah, sering khawatir dan depresi, meninggal lebih cepat dari rata-rata irang kebanyakan. Penelitian pada 1800 lelaki berusia di atas 30 tahun, membuktikan bahwa orang penderita neurotik adalah perokok. Menurut Daniel Mrocze kdari Purdue University, para penderita keresahan ini berpikir bahwa rokok bisa menenangkan mereka, namun justru itu membunuh secara perlahan

6. Kekurangan arti hidup
Jika kita merasa kekurangan makna diri, itu sudah berbahaya. Penelitian pada 1200 orang lanjut usia membuktikan bahwa mereka yang tidak menderita gangguan jiwa adalah mereka yang punya tujuan hidup tinggi. “Orang dengan pemahaman tujuan hidup tinggi akan melakukan hal-hal masuk akan bagi hidupnya, dan perilakunya cukup sehat,” jelas peneliti Patricia Boyle dari Rush Alzheimer’s Disease Center di Chicago.

7. Sinis
Bersikap sinis, curiga, tidak percaya orang lain, adalah karakter yang bis meningkatkan penyakit jantung. Studi yang dilakukan pada 300 veteran perang Vietnam menyatakan bahwa mereka yang memiliki rasa was-was dan tak percaya pada sekitar berpotensi 25% lebih tinggi terkena penyakit jantung.

Diterjemahkan secara bebas dari LiveScience.
Foto: LiveScience

Pengantar Algoritma

Pengantar

Semua sepakat bahwa komputer merupakan alat bantu untuk menyelesaikan masalah. Agar komputer dapat menyelesaikan masalah maka perlu dirumuskan terlebih dahulu langkah-langkah dalam suatu rangkaian instruksi. Sekumpulan instruksi yang merupakan penyelesaian masalah dinamakan "Program".

Agar komputer dapat menjalankan program, maka harus ditulis dalam bahasa yang dapat dimengerti oleh komputer. Karena komputer adalah sebuah mesin maka program harus ditulis dalam bahasa yang khusus dibuat untuk berkomunikasi dengan komputer. Bahasa komputer yang digunakan dalam menulis program dinamakan bahasa pemrograman. Salah satu contoh bahasa pemrograman adalah Bahasa C.

Dalam menyelesaikan masalah dengan bantuan komputer, langkah pertama yang dilakukan adalah dengan membuat desain (rancangan). Desain menyajikan cara berfikir pemrogram dalam menyelesaikan masalah. Desain ini berisi urutan langkah-langkah pencapaian solusi yang ditulis dalam notasi-notasi deskriptif. Urutan langkah-langkah yang sistematis untuk menyelesaikan masalah dinamakan ALGORITMA.

PENGULANGAN

Salah satu kelebihan komputer dibandingkan manusia adalah kemampuannya untuk melaksanakan suatu instruksi berulangkali tanpa mengenal lelah dan bosan.Pengulangan prose atau kalang(repetition atau loop) dapat dilakukan ejumlah kali atau sampai suatu kondisi tercapai.

Struktur Pengulangan

Secara umum terdiri atas 2 bagian:

1. Kondisi pengulangan, yaitu ekspresi boolean yang harus dipenuhi untuk melaksanakan pengulangan.Kondisi ini ada yang secara eksplisit oleh pemrogram atau dikelola seniri oleh komputer (implisit).

2. Badan pengulangan, yaitu bagian algoritma yang diulang.

Struktur pengulangan biasanya disertai dengan bagian:

1. Inisialisasi, yaitu aksi yang dilakukan sebelum pengulangan dilakukan pertama kali.

2. Terminasi, yaitu aksi yang dilakukan setelah pengulangan selesai dilaksanakan.

Inisialisasi dan terminasi tidak selalu harus ada(optional), namun pada berbagai kasus inisialisasi umumnya diperlukan.

Struktur pengulangan secara umum :

awal pengulangan

badan pengulangan

akhir pengulangan

Di dalam algoritma terdapat beberapa macam struktur pengulangan yang berbeda.Beberapa struktur dapat dipakai untuk masalah yang sama,namun ada notasi pengulangan yang hanya cocok untuk masalah tertentu saja.Pemilihan struktur pengulangan yang tepat bergantung pada masalah yang akan diprogram.Banyak sekali notasi struktur pengulangan, seperti :

1.Struktur For

Struktur For dipakai untuk menghasilkan pengulangan sebanyak n kali yang sudah dispesifikasikan.Jumlah pengulangan diketahui atau dapat dipastikan sebelum eksekusi program.Bentuk umumnya ada 2 macam

a.Menaik (ascending)

for pencacah <------------- nilai_awal to nilai_akhir do

aksi

endfor

b.Menurun(descending)

for pencacah <-------------nilai_akhir downto nilai_awal do

aksi

endfor

2. Struktur While

Bentuk umum struktur While adalah :

while kondisi do

aksi

endwhile

Aksi (runtunan aksi) akan dilaksanakan berulangkali selama konii bernilai true.Jika kondisi bernilai false maka pengulangan akan selesai.Agar kondisi yang mula-mula bernilai true menjadi bernilai false maka harus ada suatu nilai pengubah kondisi.

3. Struktur Repeat

Bentuk umum struktur Repeat adalah :

repeat

aksi

until kondisi

Pengulangan ini mendasarkan pada kondisi boolean.Aksi didalam badan kalang diulang sampai konisi boolean bernilai true.Jika masih false maka pengulangan akan terus berlangsung untuk itu diperlukan atau aksi yang mengubah nilai pengubah kondisi. Struktur repeat memiliki makna yang sama dengan while, dan dalam beberapa masalah kedua struktur tersebut komplemen satu sama lain.

Yang harus diperhatikan adalah bahwa pengulangan harus berhenti. Pengulangan yang tidak pernah berhenti menunjukan algoritma yang salah.


Prosedur Write, Writeln, Read dan Readln


Pada program sebelumnya telah ditampilkan beberapa prosedur. Di antaranya Writeln dan Readln. Berikut adalah beberapa fungsi dari Write, Writeln, Read, dan Readln dari Pascal

write : menulis keluaran di layar, tetapi kursor di tempat yang sama
writeln : menulis keluaran di layar, kursor akan berganti baris
read : membaca masukan dari keyboard, tetapi kursor tetap di baris yang sama
readln : membaca masukan dari keyboard, kursor akan pindah ke baris berikutnya

Dalam bahasa Pascal, yang seringkali digunakan yaitu hanya writeln dan readln. Write dan read hanya dibutuhkan dalam beberapa hal. Jadi silakan pilih mana yang dibutuhkan sesuai dengan kebutuhan. Untuk contoh agar anda lebih memahami fungsi writeln dan readln, silakan simak program berikut:
program Kedua;
uses
crt;
var
nama: string[25];
begin
clrscr;
write('Masukkan nama anda: ');
readln(nama);
writeln('Selamat Datang di Pascal, ', nama);
readln;
end.

Keterangan dari program di atas:
Baris 1: menerangkan bahwa program tersebut bernama kedua
Baris 3 dan 4: menerangkan bahwa program tersebut menggunakan unit crt
Baris 6 dan 7: menerangkan bahwa program tersebut menggunakan variabel nama dengan tipe string dengan panjang maksimal 25 karakter
Baris 9: permulaan blok program utama
Baris 10 : digunakan untuk membersihkan layar, clrscr artinya clear screen
Baris 11 : digunakan untuk menampilkan informasi ke monitor bahwa anda diminta untuk memasukkan nama posisi kursor ada di sebelah kanan
Baris 12 : digunakan untuk membaca masukan dari user dan menampungnya ke variabel nama
Baris 13 : digunakan untuk menampilkan output nama yang dimasukkan tadi dari variabel nama
Baris 14 : digunakan untuk menunggu user menekan tombol dari keyboard
Baris 15 : digunakan untuk mengakhiri program

Hasil dari program di atas adalah:
Masukkan nama anda: KurniawanSelamat datang di dunia Pascal, Kurniawan

Sumber : http://algoritma.web.id/prosedur-write-writeln-read-dan-readln.mk#more-24

Tipe Data Algoritma


1. Tipe Data

Setiap data memiliki tipe data, apakah merupakan angka bulat ( integer ), angka biasa ( real ), atau berupa karakter ( char ), dan sebagainya.

Ada 2 kategori dari tipe data yaitu:

1. Tipe dasar

1. Bilangan bulat ( integer )
- Bilangan atau angka yang tidak memiliki titik desimal atau pecahan, seperti 10, +225, -10,+25.
- Tipe dituliskan sebagai integer atau int
- Jangkauan nilai bergantung pada implementasi perangkat keras komputer, misalnya dari -11 s/d +12; untuk algoritma tidak kita batasi.
- Operasi aritmetik: tamabah+, kurang-, kali*, bagi/, sisa hasil bagi%
- Operasi pembanding:lebih kecil=, sama=, tidak sama><.
2. Bilangan biasa ( real )
- Bilangan atau angka yang bisa memiliki titik desimal atau pecahan, dan ditulis sebagai : 235.45, +13.99, -87.76 atau dalam notasi ilmiah seperti : 1.245E+03, 7.45E-02, dsb.
- Tipe dituliskan sebagai : real
- Jangkauan nilai : bergantung pada implementasi perangkat keras komputer, misalnya dari -2.9E-39 s/d +1.7E+38, untuk algoritma tidak dibatasi.
- Operasi aritmatik dan pembandingan juga berlaku bagi bilangan biasa.
3. Bilangan tetap ( const ).
- Bilangan tetap ( const ) adalah tipe bilangan, tidak bernilai bulat maupun tidak, yang nilainya tidak berubah selama algoritma dilaksanakana.
- Tipe dituliskan sebagai const .
- Jangkauan nilai meliputi semua bilangan yang mungkin.
4. Karakter ( character )
- Karakter adalah data tunggal yang mewakili semua huruf, simbol baca, dan juga simbol angka yang tidak dapat dioprasikan secara matematis, misalnya: ’A’, ’B’, .....,’Z’, ’?’,’!’, dst.
- Tipe dituliskan sebagai char
- Jangkauan nilai meliputi semua karakter dalam kode ASCII, atau yang tertera pada setiap tombol keyboard.
- Operasi pembanding dapat dilakukan dan dievaluasi menurut urutan kode ASCII, sehingga huruf ’A’ (Hex 41) sebenarnya lebih kecil dari huruf ’a’ (Hex 61).
5. Logik ( logikal )
- Tipe data logik adalah tipe data yang dipergunakan untuk memberi nilai pada hasil pembandingan, atau kombinasi pembandingan.
- Tipe dituliskan sebagai boolean
- Jangkauan nilai ada dua : true dan false

2. Tipe bentukan

1. Array ( larik )
- Array adalah tipe data bentukan, yang merupakan wadah untuk menampung beberapa nilai data yang sejenis. Kumpulan bilangan bulat adalah array integer, kumpulan bilangan tidak bulat adalah array real.
- Cara menefinisikan ada 2 macam, yaitu:
* Nilai_ujian : array [ 1..10] of integer, atau* Int nilai­_ujian[10];
- Kedua definisi diatas menunjukkan bahwa nilai_ujian adalah kumpulan dari 10 nilai bertipe bilangan bulat.
2. String
- String adalah tipe data bentukan yang merupakan deretan karakter yang membentuk satu kata atau satu kalimat, yang biasanya diapit oleh dua tanda kutip.
- Sebagai contoh: nama, alamat, dan judul adalah tipe string.
- Cara mendefinisikannya adalah:
* string nama, alamat; atau* nama,alamat : string;
3. Record ( rekaman )
- Record adalah tipe data bentukan yang merupakan wadah untuk menampung elemen data yang tipenya tidak perlu sama dengan tujuan mewakili satu jenis objek.
- Sebagai contoh, mahasiswa sebagai satu jenis objek memiliki beberapa elemen data seperti : nomer_stb, nama, umur, dll.
- Cara mendefinisikan record mahasiswa tersebut adalah sebagai berikut:
Type dataMhs : record
< nomer_stb : integer,
Nama_mhs : string,
Umur : integer,
>
2. Variabel
Variabel adalah nama yang mewakili suatu elemen data seperti : jenkel untuk jenis kelami, t4lahir untuk tempat lahir, dan sebagainya. Ada aturan tertentu yang wajib diikuti dalam pemberian nama variable, antara lain:
* Harus dimulai dengan abjad, tidak boleh dengan angka atau symbol.* Tidak boleh ada spasi diantaranya* Jangan menggunakan simbol yang bisa membingungkan seperti titik dua, titik koma, koma, dan sebagainya.* Sebaiknya memiliki arti yang sesuai denagn elemen data.* Sebaiknya tidak terlalu panjang.
Contoh variabel yang benar : Nama, Alamat, Nilai_ujian
Contoh variabel yang salah : 4XYZ, IP rata, Var;=xy,45;

Program, Programming dan Notasi Algoritma

Masih soal logika dan algoritma, sekarang kita lihat bagaimana perbedaan antara program dan programming (pemrograman). Ingat, algoritma yang kita bahas di kategori ini terkait dengan program komputer.

Karena algoritma (di sini) adalah urutan penyelesaian masalah yang akan diproses oleh komputer, maka algoritma tentu harus ditulis ke dalam bahasa yang dimengerti oleh komputer. Nah, algoritma yang ditulis dalam bahasa komputer ini disebut dengan program. Lalu bahasa yang digunakan untuk menulis program tersebut dinamakan bahasa pemrograman.

Orangnya, yang menulis program disebut pemrogram atau programmer dan proses pembuatan program disebut pemrograman (programming). Ada lagi istilah coding, yaitu kegiatan penulisan kode-kode program ke dalam bahasa pemrograman.

Belajar programming berbeda dengan belajar bahasa pemrograman. memang kadang-kadang banyak dan sering terjadi kesalahan dalam menggunakan kedua istilah tersebut. Ada yang bilang belajar programming itu ya belajar Pascal, VB, Delphi dan sebagainya. Padahal itu sebenarnya adalah belajar bahasa pemrograman, yang artinya belajar menggunakan suatu bahasa pemrograman komputer denga aturan-aturan penulisan tertentu dan biasanya hanya bisa digunakan untuk bahasa pemrograman itu saja.

Sedangkan dalam programming, lebig mengutamakan dan menekankan pada rancangan penyelesaian masalah (algoritma) yang dituliskan ke dalam notasi (cara penulisan khusus) yang biasa disebut notasi algoritmik.

Notasi algoritmik yang sering dijumpai ada 3 macam yaitu :

Notasi deskriptif, yaitu dengan cara menuliskan langkah-langkah penyelesaian masalah dengan kalimat-kalimat yang jelas dan deskriptif disertai dengan urutan (nomor urut) yang jelas.Notasi ini sudah kita gunakan pada posting tentang apa itu algoritma dan juga beberapa contoh algoritma yang lain. tetapi untuk lebih jelasnya, kita buat contoh baru.
Contoh algortima menentukan apakah suatu bilangan bulat positif itu ganjil atau genap.

ALGORITMA GanjilGenap1. masukkan/berikan sebuah bilangan bulat positif2. jika bilangan itu habis dibagi 2 (bilangan MOD 2 = 0), tulis genap3. jika tidak, tulis ganjil

Notasi bagan alir (flow chart), yaitu algoritma menggunakan bagan alir dengan memanfaatkan bentuk-bentuk geometri seperti persegi panjang, jajaran genjang, lingkaran dan sebagainya. Masing-masing bentuk mempunyai fungsi dan kegunaan tersendiri, insya Allah kita bahsa pada kesempatan yang lain…Notasi bagan alir untuk contoh bilangan ganjil dan genap di atas adalah seperti gambar berikut :

Notasi pseudo-code, yaitu notasi algoritma yang praktis dan mirip dengan bahasa pemrograman tingkat tinggi seperti Pascal. Banyak notasi pseudo-code yang digunakan oleh para ahli komputer dan berbeda-beda sehingga tidak ada aturan baku dalam penulisan pseudo-code ini, tetapi yang paling banyak digunakan dalam algoritma pemrograman adalah yang mendekati bahasa Pascal.Notasi pseudo-code untuk contoh menentukan genap dan ganjil dari bilangan bulat positif seperti terlihat di bawah.

PROGRAM GanjilGenap
DEKLARASI
bil : integer
DESKRIPSIr
ead(bil)
if (bil MOD 2 = 0) then
write(’genap’)
else
write(’ganjil’)
endif

Ya, sekarang sudah jelas perbedaan antara program, pemrograman, belajar bahasa pemrograman dan coding. Sudah jelas juga bentuk dan notasi-notasi algoritma.

Posting berikutnya kita lanjutkan dengan struktur algoritma menggunakan pseudo-code. Ketemu lagi nanti…

ALGORITMA

Pengantar

Semua sepakat bahwa komputer merupakan alat bantu untuk menyelesaikan masalah. Agar komputer dapat menyelesaikan masalah maka perlu dirumuskan terlebih dahulu langkah-langkah dalam suatu rangkaian instruksi. Sekumpulan instruksi yang merupakan penyelesaian masalah dinamakan "Program".

Agar komputer dapat menjalankan program, maka harus ditulis dalam bahasa yang dapat dimengerti oleh komputer. Karena komputer adalah sebuah mesin maka program harus ditulis dalam bahasa yang khusus dibuat untuk berkomunikasi dengan komputer. Bahasa komputer yang digunakan dalam menulis program dinamakan bahasa pemrograman. Salah satu contoh bahasa pemrograman adalah Bahasa C.

Dalam menyelesaikan masalah dengan bantuan komputer, langkah pertama yang dilakukan adalah dengan membuat desain (rancangan). Desain menyajikan cara berfikir pemrogram dalam menyelesaikan masalah. Desain ini berisi urutan langkah-langkah pencapaian solusi yang ditulis dalam notasi-notasi deskriptif. Urutan langkah-langkah yang sistematis untuk menyelesaikan masalah dinamakan ALGORITMA.

Definisi Algoritma

ALGORITMA : urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.
Algoritma menurut Kamus Besar Bahasa Indonesia adalah Urutan logis pengambilan keputusan untuk pemecahan masalah .
Contoh Algoritma dalam kehidupan sehari-hari :

Proses Algoritma Langkah dalam Algoritma
Membuat Kue Resep Kueambil 3buah telur, ambil kuning telur dan kocok
Membuat baju Pola Baju Potong kain sesuai pola
Isi Voucher HP Panduan tekan nomor 555


Notasi Algoritma

Notasi algoritma bukan notasi bahasa pemrograman,sehingga siapapun dapat membuat notasi algoritma yang berbeda.Hal yang penting mengenai notasi tersebut adalah mudah dibaca dan dimengerti.Meskipun notasi algoritma bukan notasi baku namun kepatuhan terhadap notasi perlu diperhatikan untuk menghindari kekeliruan.
Beberapa notasi dalam penulisan algoritma :

1.Notasi I : menyatakan langkah-langkah algoritma dengan untaian kalimat deskriptif.
Dengan notasi bergaya kalimat deskriptif, deskripsi setiap langkah dapat dijelaskan dengan bahasa yang gamblang.Misalnya, proses diawali dengan kata kerja seperti 'baca', 'hitung' , 'ganti' dan sebagainya.Sedangkan pernyataan kondisional dinyatakan dengan 'jika....' , 'maka....'.
Notasi ini bagus untuk algoritma yang pendek ,namun untuk masalah yang besar notasi ini tidak mungkin dipakai.Selain itu,konversi dari notasi algoritma ke bahasa pemrograman cendrung relatif sukar.

2.Notasi II: menggunakan diagram alir(flow-chart).
Diagram alir populer pada awal-awal era pemrograman dengan komputer.Diagram alir lebih menggambarkan aliran instruksi didalam program secara visual ketimbang memperlihatkan struktur program.Notasi algoritma ini juga cocok untuk masalah kecil, tidak cocok untuk masalah besar karena akan memerlukan berlembar halaman kertas untuk menggambarkan aliran proses program.

3. Notasi III: menggunakan pseudo-code
Pseudocode (pseudo artinya semu atau tidak sebenarnya) adalah notasi yang menyerupai notasi bahasa pemrograman tingkat tinggi seperti bahasa C.Hasil pengamatan memperlihatkan bahwa bahasa pemrograman umumnya mempunyai notasi yang hampir mirip untuk beberapa instruksi, seperti notasi if-then-else, while-do,repeat-until,read, write dan sebagainya. Berdasarkan pengamatan tersebut, maka didefinisikan bahwa notasi algoritma yang dapat menjelaskan perintahnya dengan bahasa yang jelas tanpa membingungkan pembaca bisa disebut dengan notasi algoritma menggunakan pseudo-code. Tidak seperti bahasa program yang direpotkan dengan tanda titik koma dan sebagainya, kata-kata khusus,indeks,format, dan lainnya, maka dengan pseudo-code ini akan lebih memudahkan dan menguntungkan. Keuntungan penggunaan notasi pseudo-code ini adalah kemudahan mengkonversinya kebahasa pemrograman, karena terdapat korespondensi antara setiap pseudo-code dengan notasi bahasa program.Korespondensi ini dapat diwujudkan dengan tabel translasi dari notasi algoritma ke notasi bahasa program


Aturan Penulisan Algoritma

Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.Deskripsi tersebut dapat ditulis alam bentuk notasi apapun , asalkan mudah dibaca dan dimengerti. Tidak ada notasi yang baku dalam penulisan teks algoritma. Tiap orang dapat membuat aturan penulisan dan algoritma sendiri.Namun, agar notasi algoritma dapat dengan mudah ditranslasi ke alam notasi bahasa pemrograman, maka sebaiknya notasi algoritma itu berkoresponden dengan notasi bahasa pemrograman secara umum.

Contoh perintah :Tulis nilai x dan y
Dalam notasi algoritma menjadi : write (x,y)
Dalam Bahasa Turbo C ditulis : printf("%d %d",x,y);


Tipe, Nama, dan Nilai

Tipe

Pada umumnya program komputer bekerja dengan memanipulasi objek (data) di dalam memori. Objek yang akan diprogram bermacam-macam tipenya, misalnya tipe numerik,karakter,string, dan record(rekaman).

Tipe data dapat dikelompokan menjadi 2, yaitu: tipe dasar dan tipe bentukan. Tipe dasar adalah tipe yang langsung dapat dipakai, sedangkan tipe bentukan dibentuk dari tipe dasar atau dari tipe bentukan lain yang sudah didefinisikan.

Suatu tipe diacu dari namanya.Nilai-nilai yang dicakup oleh tipe tersebut dinyatakan didalam ranah (domain)nilai. Operasi-operasi (beserta operator) yang dapat dilakukan terhadap tipe tersebut juga didefinisikan. Dengan kata lain suatu tipe dinyatakan dengan namanya,ranah nilai yang dikandungnya,cara menuliskan konstantanya, dan operasi yang dapat dilakukan padanya.

Tipe Dasar

Dalam bahasa pemrograman yang termasuk tipe dasar adalah :
1. bilangan logika
2. bilangan bulat
3. karakter atau string
4. bilangan riil

Tipe Bentukan

Tipe bentukan adalah tipe yang didefinisikan sendiri oleh pemrogram (user define). Tipe bentukan disusun oleh satu atau lebih tipe dasar. Ada dua macam tipe bentukan yaitu:

1.Tipe dasar yang diberi nama dengan nama tipe baru contoh : tipe BilanganBulat : integer
Variabel BilanganBulat adalah tipe bilangan bulat yang sama saja dengan tipe integer. Misalkan kita mempunyai sebuah variabel yang bernama X dan bertipe BilanganBulat, maka artinya variabel X tersebut juga bertipe integer.

2.Rekaman (rekord).
Rekaman disusun oleh satu atau lebih field.Tiap field menyimpan data dari tipe dasar tertentu atau dari tipe bentukan lain yang sudah dideinisikan sebellumnya.Nama record itentukan oleh pemrogram. Karena stukturnya yang diusun atas field-field, maka rekaman inamakan juga tipe terstruktur(stuctured type).

Nama

Setiap objek dialam mempunyai nama.Nama diberikan agar objek tersebut mudah diidentifikasi, diacu, dan dibedakan dari objek lainya.Di dalam algoritma nama dipakai sebagai pengidentifikasi "sesuatu" dan pemrogram mengacu "sesuatu" itu melalui namanya. Karena itu tiap nama haruslah unik, tidak boleh ada dua buah nama yang sama.

Di dalam algoritma "sesuatu" yang diberi nama dapat berupa :

1.Variabel
2.Konstanta
3.Tipe Bentukan
4.Nama Fungsi
5.Nama Prosedur

Suatu hal yang penting untuk diperhatikan adalah, nama sebaiknya interpretatif, yaitu mencerminkan nilai intrinsik atau fungsi yang dikandungnya.Pemrogram sangat dianjurkan untuk memberikan penjelasan terhadap nama yang didefinisikan.
Semua nama yang digunakan dalam algoritma harus didefinisikan atau dideklarasikan dibagian deklarasi .Bagian deklarasi dipakai sebagai tempat mengacu suatu kata untuk diketahui makna atau terjemahannya.Tempat untuk menjelaskan nama dan tipe dari nama tersebut.

Nilai

Nilai adalah besaran dari tipe data yang sudah didefinisikan.Nilai dapat berupa isi yang disimpan oleh nama variabel atau nama konstanta,nilai dari hasil perhitungan, atau nilai yang dikirim oleh fungsi.Algoritma pada hakikatnya adalah memanipulasi nilai yang disimpan didalam elemen memori. Nilai yang dikandung oleh variabel dimanipulasi antara lain dengan cara :
mengisikannya ke variabel lain yang bertipe sama, dipakai untuk perhitungan, atau dituliskan ke piranti keluaran.

Contoh algorima : mencetak stirng "Halo, apa kabar?" ke piranti keluaran.
Versi 1. String "Halo, apa kabar?" langsung dicetak tanpa menggunakan variabel.
Algoritma :
Deklarasi
(tidak ada)
Deskripsi
write ("Halo,apa kabar?")
Versi 2.String "Halo,apa kabar?" disimpan di dalam sebuah variabel bertipe string.
Algoritma :
Deklarasi
ucapan : string
Deskripsi
ucapan <------ 'Halo,apa kabar?'
write (ucapan)
Versi 3.String "Halo,apa kabar?" disimpan sebagai konstanta
Algoritma:
Deklarasi
const ucapan = 'Halo,apa kabar?'
Deskripsi
write (ucapan)

Keluaran yang dihasilkan oleh algoritma versi 1, 2, dan 3 adalah :
Halo, apa kabar?
Kembali Ke Atas

URUTAN / RUNTUNAN

Algoritma merupakan runtunan(sequence) satu atau lebih instruksi,yang berarti bahwa :
1. Tiap instruksi dikerjakan satu persatu.
2. Tiap instruksi dilaksanakan tepat sekali, tidak ada instruksi yang diulang.
3. Urutan instruksi yang dilaksanakan pemroses sama dengan urutan instruksi yang tertulis di algoritma.
4. Akhir instruksi merupakan akhir dari algoritma.
Urutan instruksi didalam algoritma sangat penting.Urutan instruksi menunjukan urutan logika penyelesaian masalah.

PENGULANGAN

Salah satu kelebihan komputer dibandingkan manusia adalah kemampuannya untuk melaksanakan suatu instruksi berulangkali tanpa mengenal lelah dan bosan.Pengulangan prose atau kalang(repetition atau loop) dapat dilakukan ejumlah kali atau sampai suatu kondisi tercapai.

Struktur Pengulangan

Secara umum terdiri atas 2 bagian:

1. Kondisi pengulangan, yaitu ekspresi boolean yang harus dipenuhi untuk melaksanakan pengulangan.Kondisi ini ada yang secara eksplisit oleh pemrogram atau dikelola seniri oleh komputer (implisit).
2. Badan pengulangan, yaitu bagian algoritma yang diulang.
Struktur pengulangan biasanya disertai dengan bagian:
1. Inisialisasi, yaitu aksi yang dilakukan sebelum pengulangan dilakukan pertama kali.
2. Terminasi, yaitu aksi yang dilakukan setelah pengulangan selesai dilaksanakan.
Inisialisasi dan terminasi tidak selalu harus ada(optional), namun pada berbagai kasus inisialisasi umumnya diperlukan.

Struktur pengulangan secara umum :

awal pengulangan
badan pengulangan
akhir pengulangan

Di dalam algoritma terdapat beberapa macam struktur pengulangan yang berbeda.Beberapa struktur dapat dipakai untuk masalah yang sama,namun ada notasi pengulangan yang hanya cocok untuk masalah tertentu saja.Pemilihan struktur pengulangan yang tepat bergantung pada masalah yang akan diprogram.Banyak sekali notasi struktur pengulangan, seperti :

1.Struktur For
Struktur For dipakai untuk menghasilkan pengulangan sebanyak n kali yang sudah dispesifikasikan.Jumlah pengulangan diketahui atau dapat dipastikan sebelum eksekusi program.Bentuk umumnya ada 2 macam
a.Menaik (ascending)
for pencacah <------------- nilai_awal to nilai_akhir do
aksi
endfor
b.Menurun(descending)
for pencacah <-------------nilai_akhir downto nilai_awal do
aksi
endfor

2. Struktur While
Bentuk umum struktur While adalah :
while kondisi do
aksi
endwhile
Aksi (runtunan aksi) akan dilaksanakan berulangkali selama konii bernilai true.Jika kondisi bernilai false maka pengulangan akan selesai.Agar kondisi yang mula-mula bernilai true menjadi bernilai false maka harus ada suatu nilai pengubah kondisi.

3. Struktur Repeat
Bentuk umum struktur Repeat adalah :
repeat
aksi
until kondisi
Pengulangan ini mendasarkan pada kondisi boolean.Aksi didalam badan kalang diulang sampai konisi boolean bernilai true.Jika masih false maka pengulangan akan terus berlangsung untuk itu diperlukan atau aksi yang mengubah nilai pengubah kondisi. Struktur repeat memiliki makna yang sama dengan while, dan dalam beberapa masalah kedua struktur tersebut komplemen satu sama lain.
Yang harus diperhatikan adalah bahwa pengulangan harus berhenti. Pengulangan yang tidak pernah berhenti menunjukan algoritma yang salah.

FUNGSI

Apakah fungsi itu?
Fungsi adalah modul program yang memberikan/mengembalikan (return) sebuah nilai dari tipe tertentu. Fungsi diakses dengan memanggil namanya, nama fungsi harus unik.Fungsi dapat mengandung daftar parameter formal.Parameter pada fungsi selalu merupakan parameter masukan.Jenis parameter masukan pada fungsi merupakan masukan yang digunakan oleh fungsi tersebut untuk menghasilkan nilai.
Struktur fungsi sama dengan struktur algoritma
- bagian header yang berisi nama fungsi dan spesifikasi fungsi,
- bagian deklarasi
- badan fungsi
Notasi algoritma untuk mendefinisikan fungsi adalah:
function NamaFungsi(input daftar parameter formal)-----> tipe hasil
{ spesifikasi fungsi, menjelaskan apa yang dilakukan dan yang dikembalikan fungsi }
Deklarasi
{ semua nama yang dipakai dialam algoritma fungsi dideklarasikan disini.Nama yang didefinisikan di dalam deklarasi lokal hanya dikenal dan dipakai di dalam fungsi ini saja }
Deskripsi:
{ badan fungsi, berisi instruksi-instruksi untuk menghasilkan nilai yang akan dikembalikan oleh fungsi }
return hasil ( pengembalian nilai yang dihasilkan fungsi }

LARIK

Apakah Larik?
Larik adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. setpa elemen diakses langsung melalui indeksnya.
Mendefinisikan Larik
Larik adalah struktur data yang statik, artinya, jumlah elemen larik harus sudah diketahui sebelum program dijalankan. Mendefinisikan banyaknya elemen larik berarti memesan sejumlah tempat di memori.
Contoh deklarasi larik:
Deklarasi
L : array[1..50] of integer
nama : array['a'..'j'] of string

Sejarah Algoritma

Algortima adalah jantung ilmu computer atau informatika. Banyak cabang dari ilmu komputer yang diacu dalan terminologi algoritma,misalnya algoritma perutean (routing) pesan di dalam jaringan komputer, algoritma berensenham untuk menggambar garis lurus (bidang grafik kumputer), algoritma Knuth-Morris-Pratt untuk mencari suatu pola di dalam teks (bidang information retrievel), dan sebagainya.

Ditinjau dari asal usul kata, kata “algoritma” sendiri mempunyai sejarah yang cukup aneh. Kata ini tidak muncul di dalam kamus Webster sampai akhir tahun 1957. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka Arab. Anda dikatakan algorist jika Anda menggunakan angka Arab. Para ahli bahasa berusaha menemukan asal kata algorism ini, namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal mula kata tersebut. Kata algorism berasal dari nama penulis buku arab yang terkenal, yaitu Abu Ja’afarMuhammad Ibnu Musa al-Khuwarizmi (al-Khuwarizmi dibaca orang barat menjadi algorism).Al-Khuwarizmi menulis buku yang berjudul Kital al jabar wal-muqabala, yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku ini kita juga memperoleh akar kata “aljabar” (algebra). Perubahan dari kata algorism menjadi algoritm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm beubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa/lumrah, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi “algoritma”.

Pada tahun 1950, kata algoritma perama kali digunakan pada “algoritma Euclidean” (Euclid’s algorithm). Euclid, seorang matematikawan Yunani (lahir pada tahun 350 M), dalam bukunya yang berjudul Element menuliskan langkah-langkah untuk menemukan pembagi bersama terbesar (common greatest divisor atau gcd), dari dua buah bilangan bulat, m dan n (tapi Euclid tidak menyebut metodenya itu sebagai algoritma, baru abad modernlah ornag-orang menybut metodenya itu sebagai “algoritma Euclidean”), Pembagi terbesar dari dua buah bilangan bulat tak-negatif adalah bilangan bulat positif terbesar yang habis membagi kedua bilangan tersebut.
Misalnya, m=80 dan n=12.
Semua factor pembagi adalah
1, 2, 4, 5, 8, 10, 16, 20, 40, 80
Dan semua factor pembagi 12 adalah
1, 2, 3, 4, 6, 12
Maka gcd(80,12)=4
Langkah-langkah mencari gcd(80,12) dengan algoritma Euclidean sebagai berikut :
80 dibagi 12 hasilnya = 6, sisa = 8 (atau: 80 = 6.
12 + 12 dibagi 8 hasilnya = 1, sisa = 4 (atau: 12 = 1.8 + 4)
8 dibagi 4 hasilnya = 2, sisa = 0 (atau: 8 = 4.2 + 0)

Karena pembagian yang terakhir menghasilkan 0, maka sisa pembagian terakhir sebelum 0, yaitu 4, menjadi gcd(80,12). Jadi, gcd(80,12) = gcd(12,8) = gcd(4,0) = 4.

Contoh-contoh algoritma yang sudah dijelaskan di atas memberi dua pesan penting. Pertama, sebuah algoritma harus benar. Kedua, algoritma harus berhenti, dan setelah berhenti,algoritma membri hasil yang benar. Menurut Donald E. Knuth dalam bukunya yang berjudul The art of Computer Programming, sebuah algoritma harus mempunyai lima ciri penting:
1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah trbatas.
2. Setiap langkah harus didefinisikan dengan tepat dan tidak brarti-dua (ambiguous). Misalnya, pernyataan “bagilah p dengan sejumlah beberapa bilangan bulat positif”,pernyataan ini dapat bermakna ganda. Berapakah yang dimaksud dengan “beberapa”? Algoritma menjadi jelas jika langkah tersebut ditulis “bagilah p dengan 10 buah bilangan bulat positif”.
3. Algoritma memiliki nol atau lebih masukan (input). Maukan ialah besaran yang diberikan kepada algoritma untuk diproses. Algoritma Euclidean mempunyai dua buah masukan, m dan n.
4. Algortima mempunyai nol atau lebih keluaran (output). Keluaran dapat berupa pesan atau besaran yang memiliki hubungan dengan masukan.
5. Algoritma harus sangkil (effective). Setiap langkah harus sederhana shingga dapat dikerjakan dalam sejumlah waktu yang masuk akal.

Pengertian Algoritma 3


Algoritma merupakan tahapan-tahapan untuk mencapai hasil. Jadi Algoritma tidak selalu berhubungan dengan Ilmu Komputer. Misalkan cara membuat cake. Pertama kita harus mempersiapkan adonan cake. Kemudian apabila adonan tersebut telah jadi, panaskan oven. Kemudian taruh adonan cake tersebut kedalam Loyang yang telah dioleskan mentega dan ditaburi sedikit tepung. Apabila adonan tersebut telah dimasukkan kedalam Loyang,masukkan Loyang yang berisi adonan cake tersebut kedalam oven yang telah di tentukan suhunya tadi. Tunggulah kira-kira setengah jam. Maka adonan cake tersebut akan menjadi kue cake.

Di sini saya bukan membahas tentang kue cake, tapi saya hanya memberi gambaran logis tentang pengertian Algoritma yang sebenarnya. Yang dapat kita ambil dari contoh di atas adalah untuk menghasilkan sesuatu,maka diperlukan proses. Proses tersebut terdiri dari tahapan-tahapan yang logis. Jadi menurut pemikiran saya,secara umum Inti dari algoritma adalah tahapan-tahapan logis yang harus dipenuhi untuk mencapai suatu hasil.

Sekarang saya akan membahas Algoritma menurut pengertian ilmu Komputer. Algoritma dalam ilmu Komputer adalah urut-urutan yang logis dan tepat untuk memecahkan permasalahan yang menggunakan Komputer dengan bahasa pemrograman yang telah ditentukan seperti bahasa pascal, Visual Basic, C, atau yang lainnya. Untuk membuat sebuah program, seseorang harus memiliki daya piker yang bagus. Dan untuk menghasilkan sebuah program yang berbeda dengan yang lainnya, maka orang tersebut harus memiliki kreativitas.

Kata Algoritma berasal dari bahasa arab yaitu Algorism yang berarti proses menghitung dengan angka arab. Sedangkan Algorist adalah orang yang menghitung dengan menggunakan angka arab. Sebenarnya, Algoritma itu sendiri berasal dari nama seorang ahli matematika dari Uzbekistan yaitu Abu Abdullah Muhammad Ibn Musa al-Khwarizmi yang dibaca oleh orang barat menjadi Algorism.

Pengertian Algoritma 2

Algoritma adalah dasar dan pondasi untuk membuat suatu program komputer yang baik. Program komputer yang menggunakan algoritma dan flowchart akan menghasilkan program yang tersusun rapi. Tutorial berikut akan menjelaskan dasar dasar algoritma komputer.

PENGERTIAN ALGORITMA

Algoritma adalah metode untuk menyelesaikan suatu permasalahan secara bertahap. Contoh sederhana suatu algoritma adalah resep suatu masakan. Pada resep suatu masakan terdapat langkah langkah penyelesaian untuk membuat masakan itu.
Komputer adalah suatu mesin. Untuk dapat melakukan pekerjaannya komputer membutuhkan instruksi yang diberikan pada komputer itu. Kumpulan instruksi umum untuk berbagai jenis komputer disebut algoritma.

KARAKTERISTIK ALGORITMA

Algoritma komputer memiliki beberapa karakteristik yang harus dipenuhi agar menjadi algoritma yang baik. Karakteristik itu antara lain:

Presisi.
Langkah langkah penyelesaian masalah dalam algoritma haruslah secara presisi (tepat) dinyatakan, tidak mengandung ambiguitas.

Keunikan.
Hasil pertengahan dalam tiap langkah eksekusi suatu algoritma didefinisikan secara khas dan merupakan pengolahan dari hasil eksekusi langkah sebelumnya.

Keterbatasan.
Algoritma harus terbatas dan berhenti pada suatu titik setelah semua ekesekusi dilaksanakan.
Input.
Algoritma menerima input.

Output.
Algoritma menghasilkan output.

General.
Algoritma berlaku untuk suatu kumpulan input tertentu.

Contoh algoritma:
Input: n
Output: 1/1 + 1/2+ ... +1/n1. jumlah = 0
2. i= 0
3. i=i+1
4. jumlah = jumlah + 1/i
5. ulangi langkah 3 dan 4 sehingga i==n
Algoritma pada contoh adalah algoritma untuk menghitung

Pada langkah 1, nilai 0 diisikan pada variabel jumlah. jadi jumlah pada langkah pertama bernilai 0. Tanda = adalah operator penugasan dengan makna “kopikan 0 kepada jumlah” atau ” gantikan nilai tertentu jumlah dengan 0″.Langkah 2 juga menunjukkan hal yang sama namun dengan nama variabel yang berbeda. Langkah 3 menunjukkan instruksi “kopikan jumlah antara isi variabel i dan 1 kepada variabel i”. Langkah 4 menunjukkan instruksi “kopikan jumlah antara isi variabel jumlah dengan 1/isi variabel i pada variabel jumlah”. Langkah 5 menunjukkan instruksi untuk mengulangi langkah langkah 3 dan 4 sehingga terpenuhi syarat i = = n. Operator = = disebut operator equalitas yang bermakna benar dan salah. Jika i sama dengan n maka nilainya benar dan jika i tidak sama dengan n maka nilainya salah.

Algoritma ini dikatakan presisi karena tiap langkahnya didefinisikan secara tepat dan tidak mengandung pemahaman yang ambigu ketika instruksi instruksinya dilaksanakan semua orang atau mesin. Misalkan ada instruksi “jumlahkan i”. Instruksi ini mengandung ambigu karena tidak terdapat keterangan penjumlahnya. Algoritma ini dikatakan unik karena hasil pertengahan dalam tiap langkah eksekusi suatu algoritma didefinisikan secara khas dan merupakan pengolahan dari hasil eksekusi langkah sebelumnya.Misalkan pada langkah 3. Langkah 3 akan menghasilkan nilai tertentu jika nilai i telah diketahui. Pada proses pertama nilai i adalah hasil keluaran dari langkah 2 yaitu bernilai 0 sehingga nilai keluaran i pada proses pertama langkah 3 adalah 1. Algoritma ini dikatakan terbatas karena dimulai dari langkah 1 dan diakhiri jika syarat i = = n bernilai benar. Algoritma ini input berupa nilai yang dimasukkan pada variabel n dan memiliki output yang berupa hasil dari operasi 1/1 + 1/2+ … +1/n. Algoritma ini dikatakan general karena algoritma ini dapat diterapkan untuk setiap nilai real yang dimasukkan pada variabel n.

(Diringkas oleh Abu ‘Ahmad ‘Abdul ‘Alim Al Mutafaqqih dari buku C for Scientists and Engineers karya Richard Johnsonbaugh dan Martin Kalin penerbit Prentice Hall cetakan 1997 halaman 2 s/d 4 )

Sejarah Algoritma 3


Pada artikel-artikel sebelumnya kita sering menemukan kata algoritma, tahukah anda mengenai asal-usul algoritma?. Menurut para ahli sejarah matematika, algoritma (algorithm) merupakan latinisasi dari nama Muhammad bin Musa Al-Khuwarizmi seorang ahli matematika, astrologi, astronomi dan geografi yang dilahirkan pada tahun 164 H (780 M) di kawasan Khwarizm, Asia Tengah dan wafat di Baghdad pada tahun 232 H (847 M). Berbagai karya penting telah dihasilkan diantaranya adalah: buku Aljabar wal Muqabalah, tabel trigonometri Arab, buku Shuratul Ardh dan Taqwimul Buldan yang menjadi sumbangan penting untuk ilmu Geografi, serta Dixit Algorizmi atau Algoritmi de Numero Indorum sebuah manuskrip yang diyakini menjadi cikal bakal lahirnya Algoritma.


Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab, namun pada abad ke-18 istilah ini telah berkembang menjadi algoritma suatu urutan langkah atau prosedur yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan.

Sejarah Algoritma 2

Asal-usul kata Algoritma

Istilah algoritma, mungkin bukan sesuatu yang asing bagi kita. Teman-teman ada yang tahu arti kata ‘algoritma’? Ditinjau dari asal-usul katanya, kata ‘Algoritma’ mempunyai sejarah yang agak aneh. Orang hanya menemukan kata Algorism yang berarti proses menghitung dengan angka Arab. Seseorang dikatakan ‘Algorist’ jika menghitung menggunakan angka Arab. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku Arab terkenal, yaitu Abu Abdullah Muhammad Ibnu Musa Al-Khuwarizmi dibaca orang barat menjadi Algorism.

Definisi Algoritma

Definisi Algoritma adalah “langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”. Contoh sederhana adalah penyusunan sebuah resep makanan, yang biasanya terdapat langkah-langkah cara memasak masakan tersebut. Tapi, algoritma umumnya digunakan untuk membuat diagram alur (flowchart) dalam ilmu komputer / informatika.

Penemu konsep Algoritma dan Aljabar

Penemunya adalah seorang ahli matematika dari uzbekistan yang bernama Abu Abdullah Muhammad Ibn Musa al-Khwarizmi. Di literatur barat, beliau lebih terkenal dengan sebutan Algorism. Panggilan inilah yang kemudian dipakai untuk menyebut konsep algoritma yang ditemukannya. Abu Abdullah Muhammad Ibn Musa al-Khwarizmi (770-840) lahir di Khwarizm (Kheva), kota di selatan sungai Oxus (sekarang Uzbekistan) tahun 770 masehi. Kedua orangtuanya kemudian pindah ke sebuah tempat di selatan kota Baghdad (Irak), ketika ia masih kecil. Khwarizm dikenal sebagai orang yang memperkenalkan konsep algoritma dalam matematika, konsep yang diambil dari nama belakangnya.

Al khwarizmi juga adalah penemu dari beberapa cabang ilmu matematika
yang dikenal sebagai astronom dan geografer. Ia adalah salah satu ilmuwan matematika terbesar yang pernah hidup, dan tulisan-tulisannya sangat berpengaruh pada jamannya. Teori aljabar juga adalah penemuan dan buah pikiran Al khwarizmi. Nama aljabar diambil dari bukunya yang terkenal dengan judul “Al Jabr Wa Al Muqabilah”. Ia mengembangkan tabel rincian trigonometri yang memuat fungsi sinus, kosinus dan kotangen serta konsep diferensiasi.

Pengaruhnya dalam perkembangan matematika, astronomi dan geografi tidak diragukan lagi dalam catatan sejarah. Pendekatan yang dipakainya menggunakan pendekatan sistematis dan logis. Dia memadukan pengetahuan dari Yunani dengan Hindu ditambah idenya sendiri dalam mengembangkan matematika. Khwarizm mengadopsi penggunaan angka nol, dalam ilmu aritmetik dan sistem desimal. Beberapa bukunya banyak diterjemahkan kedalam bahasa latin pada awal abad ke-12, oleh dua orang penerjemah terkemuka yaitu Adelard Bath dan Gerard Cremona. Risalah-risalah aritmetikanya, seperti Kitab al-Jam’a wal-Tafreeq bil Hisab al-Hindi, Algebra, Al-Maqala fi Hisab-al Jabr wa-al-Muqabilah, hanya dikenal dari translasi berbahasa latin. Buku-buku itu terus dipakai hingga abad ke-16 sebagai buku pegangan dasar oleh universitas-universitas di Eropa.

Buku geografinya berjudul Kitab Surat-al-Ard yang memuat peta-peta dunia pun telah diterjemahkan kedalam bahasa Inggris. Buah pikir Khwarizmi di bidang geografi juga sangat mengagumkan. Dia tidak hanya merevisi pandangan Ptolemeus dalam geografi tapi malah memperbaiki beberapa bagiannya. Tujuh puluh orang geografer pernah bekerja dibawah kepemimpinan Al khwarizmi ketika membuat peta dunia pertama di tahun 830. Ia dikisahkan pernah pula menjalin kerjasama dengan Khalifah Mamun Al-Rashid ketika menjalankan proyek untuk mengetahui volume dan lingkar bumi.

sumber : http://www.e-smartschool.com/PNK/001/PNK0010008.asp

Pengertian Algoritma

Diagram Alur sering digunakan untuk menggambarkan sebuah algoritma.
Dalam matematika dan komputasi, algoritma merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda dengan heuristik. Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai.

Desain dan analisis algoritma adalah suatu cabang khusus dalam ilmu komputer yang mempelajari karakteristik dan performa dari suatu algoritma dalam menyelesaikan masalah, terlepas dari implementasi algoritma tersebut. Dalam cabang disiplin ini algoritma dipelajari secara abstrak, terlepas dari sistem komputer atau bahasa pemrograman yang digunakan. Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan kriteria yang sama.
Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi.

Sejarah istilah "algoritma"Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12 "Algorithmi de numero Indorum". Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab (sebenarnya dari India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini berkembang menjadi algoritma, yang mencakup semua prosedur atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan.

Jenis-jenis Algoritma

Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Beberapa paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda.

Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.

Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal (, dan mengandung beberapa bagian permasalahan yang tumpang tindih . Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.

Metode serakah. Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap;
dan menggunakan pilihan "serakah" apa yang dilihat terbaik pada saat itu.