Monday, 14 November 2011

Algoritma dan Pemrograman 1C (TUGAS)

1.1 KONSEP DASAR PEMROGRAMAN

Komputer adalah mesin yang dapat melaksanakan seperangkat perintah dasar (instruction set). Agar komputer dapat melakukan sesuatu hal, harus diberikan perintah yang dapat dilaksanakannya, yaitu dalam bentuk kumpulan perintah-perintah dasar. Program komputer adalah sekumpulan instruksi yang dikenal oleh komputer dan disusun menurut urutan yang logis untuk menyelesaikan suatu masalah. Bahasa pemrograman adalah bahasa yang dapat diterjemahkan menjadi kumpulan perintah-perintah dasar tersebut. Penerjemahan dilakukan oleh program komputer yang disebut kompilator. Sintaks dari bahasa pemrograman lebih mudah dipahami oleh manusia daripada sintaks perintah dasar. Namun tentu saja komputer hanya dapat melaksanakan  perintah dasar itu. Maka di sinilah peran penting kompilator sebagai perantara antara bahasa pemrograman dengan perintah dasar. Kegiatan membuat program komputer dengan menggunakan bahasa pemrograman disebut pemrograman komputer. Untuk dapat membuat program komputer, harus dikuasai bahasa komputer. Berbagai bahasa komputer telah diciptakan untuk membantu manusia memprogram komputer.

Berdasarkan tingkatannya dikenal beberapa tingkat bahasa pemrograman diantaranya:

A. Bahasa Pemrograman tingkat dasar seperti: Bahasa Mesin, Bahasa Assembley.
B. Bahasa Pemrograman tingkat tengah seperti: Bahasa C, Bahasa FORTH.
C. Bahasa Pemrograman tingkat tinggi seperti: Bahasa Pascal, FORTRAN, COBOL, dan lain-lain.

Bahasa pemgrogram tingkat dasar, sebagai hirarki pertama, disebut juga bahasa generasi pertama, bahasa ini sangat tergantung pada jenis CPU yang dipakai oleh komputer itu. Bahasa ini sangat sulit
dipelajari, karena sifatnya yang sangat tergantung pada mesinnya itu K2 (machine dependent). Untuk menguasai bahasa ini, harus dipelajari dan dikuasai teknologi dan arsitektur komputer, matematika diskrit, elektronika, dan lain-lain. Bahasa ini masih menggunakan simbol-simbol yang bersifat mnemonic.

Bahasa pemrograman tingkat tengah, sifatnya sudah lebih mudah daripada bahasa pemrograman tingkat dasar, perintah-perintahnya sudah lebih mudah dibaca sebab sudah menggunakan huruf-huruf.

Bahasa pemrograman tingkat tinggi adalah bahasa komputer yang sudah mirip dengan bahasa manusia. Perintah-perintahnya sudah dibuat dalam bahasa yang mudah dimengerti manusia, seperti PRINT, WRITE, IF, THEN, ELSE, dan lain-lain.

Tahapan dalam Pemrograman
Langkah-langkah yang dilakukan dalam menyelesaikan masalah dalam pemrograman dengan komputer adalah:

1. Defenisikan Masalah
a. Tentukan apa yang menjadi masalah
b. Tentukan data input yang diperlukan
c. Tentukan output yang diinginkan

2. Buat bagan dan struktur cara penyelesaian
a. Bagan secara global
b. Deskripsikan tugas masing-masing subprogram

3. Pilih Metode Penyelesaian
a. Pilih struktur data dan Algoritma terbaik

4. Pengkodean
a. Pilih bahasa pemrograman yang sesuai
b. Menterjemahkan algoritma ke bahasa pemrograman

5. Mencari Kesalahan
a. Kesalahan sintaks (penulisan program)
b. Kesalahan Pelaksanaan: Semantik, Logika, dan ketelitian

6. Uji dan Verifikasi Program

7. Dokumentasi Program

8. Pemiliharaan Program
a. Memperbaiki kekurangan yang ditemukan kemudian
b. Memodifikasi, karena perubahan spesifikasi3

Diagram Alir
Konsep pemrograman dapat digambarkan juga dengan menggunakan diagram alir (flowchart). Diagram alir adalah simbol-simbol yang digunakan untuk menggambarkan sebuah pernyataan logika
pemrograman serta aliran logika yang ditunjukkan dengan arah panah.

Ada dua jenis diagram alir yaitu:
1. Diagram alir sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan procedure dan proses suatu file dalam suatu media menjadi file di dalam media lain, dalam suatu
system pengolahan data.

2. Diagram alir program yaitu bagan dengan simbol-simbol tertentuyang menggambarkan urutan proses dan hubungan antar prosessecara mendetail di dalam suatu program.


1.2 DATA
Data adalah catatan atas kumpulan fakta. Data merupakan bentuk jamak dari datum, berasal dari bahasa Latin yang berarti "sesuatu yang diberikan". Dalam penggunaan sehari-hari data berarti suatu pernyataan yang diterima secara apa adanya. Pernyataan ini adalah hasil pengukuran atau pengamatan suatu variabel yang bentuknya dapat berupa angka, kata-kata, atau citra.

Dalam keilmuan (ilmiah), fakta dikumpulkan untuk menjadi data. Data kemudian diolah sehingga dapat diutarakan secara jelas dan tepat sehingga dapat dimengerti oleh orang lain yang tidak langsung mengalaminya sendiri, hal ini dinamakan deskripsi. Pemilahan banyak data sesuai dengan persamaan atau perbedaan yang dikandungnya dinamakan klasifikasi.

Dalam pokok bahasan Manajemen Pengetahuan, data dicirikan sebagai sesuatu yang bersifat mentah dan tidak memiliki konteks. Dia sekedar ada dan tidak memiliki signifikansi makna di luar keberadaannya itu. Dia bisa muncul dalam berbagai bentuk, terlepas dari apakah dia bisa dimanfaatkan atau tidak.

Menurut berbagai sumber lain, data dapat juga didefinisikan sebagai berikut:

1) Menurut kamus bahasa inggris-indonesia, data berasal dari kata datum yang berarti fakta.
2) Dari sudut pandang bisnis, data bisnis adalah deskripsi organisasi tentang sesuatu (resources) dan kejadian (transactions)yang terjadi.
3) Pengertian yang lain menyebutkan bahwa data adalah deskripsi dari suatu kejadian yang kita hadapi.

1.3 MODEL KOMPUTANSI
Komputasi adalah cabang ilmu komputer dan matematika yang membahas apakah dan bagaimanakah suatu masalah dapat dipecahkan pada model komputasi, menggunakan algoritma. Bidang ini dibagi menjadi dua cabang, yaitu : teori komputabilitas dan teori kompleksitas, namun kedua cabang berurusan dengan model formal komputasi.

Untuk melakukan studi komputasi dengan ketat, ilmuwan komputer bekerja dengan abstraksi matematika dari komputer yang dinamakan model komputasi. Ada beberapa model yang digunakan, namun yang paling umum dipelajari adalah mesin Turing. Sebuah mesin Turing dapat dipikirkan sebagai komputer pribadi meja dengan kapasitas memory yang tak terhingga, namun hanya dapat diakses dalam bagian-bagian terpisah dan diskret. Ilmuwan komputer mempelajari mesin Turing karena mudah dirumuskan, dianalisis dan digunakan untuk pembuktian, dan karena mesin ini mewakili model komputasi yang dianggap sebagai model paling masuk akal yang paling ampuh yang dimungkinkan. Kapasitas memori tidak terbatas mungkin terlihat sebagai sifat yang tidak mungkin terwujudkan, namun setiap permasalahan yang “terputuskan” (decidable) yang dipecahkan oleh mesin Turing selalu hanya akan memerlukan jumlah memori terhingga. Jadi pada dasarnya setiap masalah yang dapat dipecahkan (diputuskan) oleh meisn Turing dapat dipecahkan oleh komputer yang memiliki jumlah memori terbatas.

Pembagian Model komputasi ada 3 yaitu :

1. Mesin Mealy
Dalam teori komputasi sebagai konsep dasar sebuah komputer, mesin Mealyadalah otomasi fasa berhingga (finite state automaton atau finite state tranducer) yang menghasilkan keluaran berdasarkan fasa saat itu dan bagian masukan/input. Dalam hal ini, diagram fasa (state diagram) dari mesin Mealy memiliki sinyal masukan dan sinyal keluaran untuk tiap transisi. Prinsip ini berbeda dengan mesin Moore yang hanya menghasilkan keluaran/output pada tiap fasa.

Nama Mealy diambil dari “G. H. Mealy” seorang perintis mesin-fasa (state-machine) yang menulis karangan “A Method for Synthesizing Sequential Circuits” pada tahun 1955

2. Mesin Moore
Dalam teori komputasi sebagai prinsip dasar komputer, mesin Moore adalah otomasi fasa berhingga (finite state automaton) di mana keluarannya ditentukan hanya oleh fasa saat itu (dan tidak terpengaruh oleh bagian masukan/input). Diagram fasa (state diagram) dari mesin Moore memiliki sinyal keluaran untuk masing-masing fasa. Hal ini berbeda dengan mesin Mealy yang mempunyai keluaran untuk tiap transisi.

Nama Moore diambil dari “Edward F. Moore” seorang ilmuwan komputer dan perintis mesin-fasa (state-machine) yang menulis karangan “Gedanken-experiments on Sequential Machines”.

3. Petri Net
Petri net adalah salah satu model untuk merepresentasikan sistem terdistribusi diskret. Sebagai sebuah model, Petri net merupakan grafik 2 arah yang terdiri dari place, transition, dan tanda panah yang menghubungkan keduanya. Di samping itu, untuk merepresentasikan keadaan sistem, tokendiletakkan pada place tertentu. Ketika sebuah transition terpantik, token akan bertransisi sesuai tanda panah.

Petri net pertama kali diajukkan oleh Carl Adam Petri pada tahun 1962.

Prinsip Bahasa Pemrograman
Masing-masing memiliki kelebihan tersendiri. Kadangkala dalam membangun suatu aplikasi dibutuhkan gabungan metode pemrograman tersebut. Misalnya dalam C++ dan Java (bahasa pemrograman berorientasi obyek), kita masih dapat menemukan tehnik-tehnik pemrograman berorientasi prosedur dalam setiap method/function member dalam obyek-obyeknya.

Suatu bahasa pemrograman pada asalnya hanya dapat digunakan dalam satu metode. Pascal mulanya untuk procedural-oriented, Lisp untuk functional-oriented, Smaltalk untuk object-oriented dan lain-lain. Seiring dengan perkembangan tehnologi informasi dan komputer, puluhan bahkan ratusan bahasa pemrograman baru lahir. Masing-masing memiliki keunikan dan kelebihan spesifik. Ada yang khusus untuk jenis komputer tertentu, ada pula yang khusus untuk paradigma pemrograman tertentu.

Belajar Pemrograman
Lalu bagaimana seorang programer mulai belajar memprogram? Dalam menjawab pertanyaan ini kita sering terjebak dalam masalah pemilihan bahasa pemrograman pertama bagi pemula. Bahasa pemrograman apakah yang paling tepat diajarkan kepada seorang pemula, sehingga kelak ia dapat survive di antara sekian ratus bahasa pemrograman. Sampai saat ini pun perdebatan masih terus berlanjut untuk memilih bahasa pemrograman pertama yang paling tepat. Tidak dapat diragukan lagi bahwa bahasa pemrograman hampir sebanyak bahasa manusia, atau mungkin lebih banyak lagi.

Pemilihan bahasa pemrograman pertama merupakan masalah pelik. Sebab bahasa pemrograman pertama akan mempengaruhi cara berfikir programer di masa yang akan datang. Programer dengan bahasa pertamanya Pascal akan lebih mudah berpindah ke bahasa pemrograman yang memiliki paradigma sama, yaitu berorientasi prosedur seperti C, Modula, Oberon. Tetapi programer tersebut kesulitan untuk berpindah ke bahasa pemrograman dengan paradigma yang lain seperti CLOS dan Scheme, yaitu bahasa pemrograman keluarga Lisp. Selain daripada itu, setelah menentukan paradigmanya, masalah berikutnya yang muncul adalah memilih bahasa pemrograman yang paling dominan dalam paradigma tersebut. Misalnya, untuk paradigma berorientasi fungsi manakah yang paling tepat diajarkan kepada pemula, apakah CLOS atau Scheme atau EmacsLisp. Masalah kedua ini berkaitan dengan, kemudahan dalam belajar, dialek dalam keluarga bahasa pemrograman tersebut, atau bahkan kecenderungan pasar.

Pada umumnya, lembaga pendidikan memilih paradigma pemrograman berorientasi prosedur sebagai paradigma pertama siswa mereka. Bahasa yang digunakan umumnya Pascal atau C. Hal ini dikarenakan paradigma tersebut lebih sering dipakai di dalam kehidupan sehari-hari. Setelah itu, disesuaikan dengan situasi dan kondisi diajarkan paradigma lain. Tetapi ada pula lembaga pendidikan yang memilih bahasa ML, bahasa dengan paradigma berorientasi fungsi, seperti MIT. Alasan MIT, karena sebagian mahasiswa sebelumnya telah memiliki ketrampilan dan pengetahuan dalam paradigma pemrograman berorientasi prosedur, demi alasan keadilan dipilihlah bahasa dan pemrograman yang asing untuk sebagian besar mahasiswa. Dengan demikian sebagian besar mahasiswa memulai belajar pemrograman dari awal yang sama.

Source : Pertama
              Kedua
              Ketiga
              Keempat
              Kelima

0 comments:

Post a Comment