Minggu, 02 Desember 2012

Pascal

Pascal adalah bahasa pemrograman yang pertama kali di buat oleh Profesor Niklaus Wirth, seorang anggota International Federation of Information Processing (IFIP) pada tahun 1971. Dengan mengambil nama dari matematikawan Perancis, Blaise Pascal, yang pertama kali menciptakan mesin penghitung, Profesor Niklaus Wirth membuat bahasa Pascal ini sebagai alat bantu untuk mengajarkan konsep pemrograman komputer kepada mahasiswanya. Selain itu, Profesor Niklaus Wirth membuat Pascal juga untuk melengkapi kekurangan-kekurangan bahasa pemrograman yang ada pada saat itu. Kelebihan dari Pacal adalah: Pascal memiliki Type Data Standard yang biasa digunakan pada bahasa-bahasa pemrograman lain. Selain itu juga, programer Pascal dapat membuat tipe data lain yang diturunkan dari tipe data standar (User defined Data Types). pascal juga memiliki prosedure dan function yang biasa digunakan programer untuk menulis program dengan terstruktur. Pascal juga memilikiStrongly-typed, yang biasa digunakan oleh programmer untuk menentukan tipe data dari suatu variabel, dan variabel tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain dari format yang ditentukan. Berikut ini adalah contoh program penjumlahan menggunakan Free pascal: program penjumlahan; uses crt; var x, y, z : integer; begin write(‘Masukan angka pertama = ‘); read(x); writeln; write(Masukan angka kedua = ‘); read(y); writeln; z:=x+y; write(‘Hasil penjumlahan = ‘,z); end. Pascal merupakan bahasa pemrograman yang cara penulisannya sangat dekat dengan cara penulisan algoritma structur english. Bagi yang sudah memahami algoritma, pascal akan sangat mudah untuk dimengerti. Pascal itu sendiri bukanlah nama dari sang pembuat, karena yang membuat bahasa pemrograman Pascal adalah Nicklus Wirth. Sedangkan nama “PASCAL” diambil dari nama seorang ahli matematika Blaise Pascal yang berasal dari perancis, karena sudah membuat mesin hitung. Bahasa Pascal termasuk bahasa pemrograman tingkat tinggi (High Level), yaitu pemrograman yang menggunakan bahasa yang sudah dapat dimengerti oleh manusa. Selain itu, termasuk bahasa pemrograman tersktuktur, sehingga penulisan coding-nya harus beurutan dari awal sampai akhir. Kelebihan bahasa pascal adalah: 1. Tipe Data Standar, tipe data yang digunakan familiar juga dibahasa pemrograman yang lain. Sehingga tidak akan terlalu sulit dan tidak harus mengenal lagi tipe data yang baru. 2. User defined data type, programmer dapat membuat tipe data baru yang merupakan turunan dari tipe data standar yang sudah ada. 3. Strongly-typed, programmer harus menentukan tipe data dari sebuah variabel dan variabel tersebut tidak dapat diisi oleh tipe data yang lain. 4. Terstruktur, penulisan program dapat dipecah-pecah menjadi fungsi-fungsi kecil yang dapat dipanggil berulang-ulang. 5. Sederhana dan Ekspresif, bahasa yang mendekati bahasa manusia ( Bahasa Inggris) sehingga dapat mudah dimengerti Pascal adalah bahasa tingkat tinggi (high level languange) yang orientasinya pada segala tujuan, dirancang oleh Prof. Niklaus Wirth dari Technical University diZurich, Switzerland. Nama Pascal diambil sebagai penghargaan terhadap Blaise Pascal, ahli matematik dan philosophi terkenal abad 17 dari Prancis. Prof. Niklaus Wirth memperkenalkan compiler bahasa Pascal pertama kali untuk komputer CDC 6000 (Control Data Corporation) yang dipublikasikan pada tahun 1971 dengan tujuan untuk membantu mengajar program komputer secara sistematis, khususnya untuk memperkenalkan pemrograman yang terstruktur (structured programming). Jadi Pascal adalah bahasa yang ditujukan untuk membuat program terstruktur. Beberapa versi dari Pascal telah beredar di pasaran, diantaranya UCSD Pascal (University of California at San Diego Pascal), MS-Pascal (Microsoft Pascal), Apple Pascal, Turbo Pascal, dan lain sebagainya. TENTANG PASCAL Pascal adalah bahasa pemrograman yang pertama kali di buat oleh Profesor Niklaus Wirth, seorang anggota International Federation of Information Processing (IFIP) pada tahun 1971. Dengan mengambil nama dari matematikawan Perancis, Blaise Pascal, yang pertama kali menciptakan mesin penghitung, Profesor Niklaus Wirth membuat bahasa Pascal ini sebagai alat bantu untuk mengajarkan konsep pemrograman komputer kepada mahasiswanya. Selain itu, Profesor Niklaus Wirth membuat Pascal juga untuk melengkapi kekurangan-kekurangan bahasa pemrograman yang ada pada saat itu. Kelebihan Kelebihan dari bahasa pemrograman Pascal adalah: § Tipe Data Standar, tipe-tipe data standar yang telah tersedia pada kebanyakan bahasa pemrograman. Pascal memiliki tipe data standar: boolean, integer, real, char, string, § User defined Data Types, programmer dapat membuat tipe data lain yang diturunkan dari tipe data standar. § Strongly-typed, programmer harus menentukan tipe data dari suatu variabel, dan variabel tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain dari format yang ditentukan. § Terstruktur, memiliki sintaks yang memungkinkan penulisan program dipecah menjadi fungsi-fungsi kecil (procedure dan function) yang dapat dipergunakan berulang-ulang. § Sederhana dan Ekspresif, memiliki struktur yang sederhana dan sangat mendekati bahasa manusia (bahasa Inggris) sehingga mudah dipelajari dan dipahami. Bahasa PASCAL juga merupakan bahasa yang digunakan sebagai standar bahasa pemrograman bagi tim nasional Olimpiade Komputer Indonesia (TOKI). Selain itu, Bahasa PASCAL masih digunakan dalam IOI (International Olympiad in Informatics). Tipe Bahasa Dalam bahasa Pascal terdapat beberapa jenis tipe data yang bisa digunakan untuk sebuah variabel atau konstanta pada program. Tipe Data tersebut antara lain adalah Tipe Data Deskripsi (range variabel) Byte angka dari 0 sampai 255 Integer angka dari -32768 to 32767 Real semua nilai pecahan dari 1E-38 to 1E+38 Boolean nilai TRUE atau FALSE Char semua karakter dari tabel ASCII String semua huruf, spasi, frase Hello Word Contoh program Hello World menggunakan bahasa pascal adalah sebagai berikut: Program HelloWorld; begin writeln('Hello world'); Kelemahan Kekurangan bahasa pascal : Ø Versi awal Pascal kurang cocok untuk aplikasi bisnis karena dukungan basisdata yang terbatas. Ø Sintaks Pascal terlalu bertele-tele Ø Tidak mendukung pemrograman berorientasi objek Ø Pascal tidak fleksibel dan banyak kekurangan yang dibutuhkan untuk membuat aplikasi yang besar.

Semua Tentantg Pemrograman

pemrograman web itu merupakan salah satu cara membuat web dengan implementasi kode-kode bahasa pemrograman yang dapat berjalan di server. Bahasa pemrograman yang mendukung pemrograman web ini antara lain PHP, JSP, ASP dan lain-lain. Pada pemrograman web terdapat 2 sisi programming. Yang pertama itu Client side programming, client side programming itu proses dilakukan pada sisi client (browser), script programnya dapat dilihat hanya dengan menggunakan view source. Script tergantung pada browser, bila browser tidak mendukung script, maka hasil tidak akan terlihat. Trus yang kedua itu Server side programming yaitu proses dilakukan pada sisi server, tidak tergantung pada browser, script programnya tidak dapat terlihat sehingga lebih aman dan dapat melakukan konektifitas dengan database, dapat juga memanipulasi. Dalam pemrograman web kita juga dapet istilah web dinamis dan web statis. Hah.. apa lagi tuh?? Web dinamis bukannya web yang bergerak-gerak dengan bantuan flash dan komponen lainnya, klo menurut anda itu adalah pengertian dari web dinamis anda salah besar. Trus bagaimana dengan web statis?? Web yang ga bergerak??? Web statis dan web dinamis itu mempunyai perbedaan pada back-endnya. Klo web dinamis itu mempunyai back-end database, maksudnya data yang didalam web itu dapat diubah tanpa harus coding ulang sedangkan klo web statis itu keblikan dari web dinamis. Ketika mendengar kata Olimpiade Komputer, mungkin benak kita membayangkan lomba membongkar pasang komputer, mengetik cepat, membuat game, atau meretas jaringan. Walau tidak sepenuhnya benar, tetapi ternyata apa yang diujikan dalam Olimpiade ini adalah logika berpikir dan kemampuan pemrograman komputer. Apa itu pemrograman komputer? Sebelum menjelaskan tentang pemrograman komputer, ada baiknya kita mengetahui definisi komputer. Komputer berasal dari bahasa latin computare yang artinya menghitung. Karena luasnya bidang ilmu komputer, para pakar dan peneliti memiliki perbedaan dalam mendefinisikan terminologi komputer. Menurut Hamacher, komputer adalah mesin penghitung elektronik yang cepat dan dapat menerima informasi input digital, memproses sesuai dengan program yang tersimpan di memorinya, kemudian menghasilkan output berupa informasi. Sedangkan Fuori berpendapat bahwa komputer adalah suatu pemroses data yang dapat melakukan perhitungan besar secara cepat, termasuk perhitungan aritmatika dan operasi logika, tanpa campur tangan dari manusia. Program komputer, atau istilah lengkapnya “kode program komputer”, menyatakan langkah-langkah (perintah-perintah) yang harus dikerjakan oleh komputer. Program komputer biasanya ditulis menggunakan suatu bahasa pemrograman tertentu dari sekian banyak pilihan bahasa pemrograman. Program yang ditulis dengan bahasa pemrograman tersebut umumnya ditulis menggunakan suatu editor yang disediakan perangkat lunak untuk bahasa pemrograman yang bersangkutan (atau yang lebih umum seperti notepad). Editor yang disediakan perangkat lunak untuk bahasa pemrograman yang bersangkutan biasanya lebih baik dari yang umum. Dikarenakan editor tersebut dilengkapi dengan berbagai fasilitas untuk mempermudah dalam proses penyusunan program. Program yang telah disusun dengan suatu bahasa pemrograman tidak serta merta dapat dijalankan oleh komputer. Hal itu dikarenakan komputer hanya dapat menjalankan perintah-perintah yang ditulis dalam “bahasa mesin” (deretan yang hanya terdiri dari simbol 0 dan 1). Oleh sebab itu, jika kode program ditulis dalam bahasa yang bukan bahasa mesin, program tersebut harus “diterjemahkan” (selanjutnya akan menggunakan istilah “dikompilasi”) terlebih dahulu ke dalam bahasa mesin. Untuk melakukan kompilasi, digunakan suatu perangkat lunak yang dinamai compiler. Tentu saja, compiler yang digunakan adalah compiler yang sesuai dengan bahasa pemrograman yang digunakan. Karena perlu adanya proses kompilasi ini maka istilah kode program sebelum kompilasi disebut kode sumber (source code).

Semua Tentang Algoritma

Apakah Itu Algoritma Ditinjau dari asal usul katanya kata Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata Algorism yang berarti proses menghitung dengan angka arab. Anda dikatakan Algorist jika anda 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 yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al- Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari Algorism menjadi Algorithm muncul karena kata Algorism sering dikelirukan dengan Arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa. Maka lambat laun kata Algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam Bahasa Indonesia, kata Algorithm diserap menjadi Algoritma. Definisi Algoritma “Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”. Kata Logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam Algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Algoritma Merupakan Jantung Ilmu Informatika Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-haripun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu ada urutan langkah-lankah membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca satu per satu langkah-langkah pembuatannya lalu ia mengerjakan proses sesuai yang ia baca. Secara umum, pihak (benda) yang mengerjakan proses disebut pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau alatalat elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau “mengeksekusi” algoritma yang menjabarkan proses tersebut. Melaksanakan Algoritma berarti mengerjakan langkah-langkah di dalam Algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Juru masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu berdasarkan papan not balok. Karena itu suatu Algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus : 1. Mengerti setiap langkah dalam Algoritma 2. Mengerjakan operasi yang bersesuaian dengan langkah tersebut. Sejak dulu hingga sekarang, tentu kita mengetahui bahwa di dunia komputer terdapat beraneka ragam bahasa pemrograman. Karena begitu banyaknya jenis-jenis bahasa pemrograman, bahasabahasa tersebut juga dikelompokan berdasarkan kriteria tertentu. Ada yang mengelompokkannya menjadi 3 level bahasa yaitu: high level (Seperti Pascal dan Basic), middle level (Seperti Bahasa C), dan low level (Seperti Bahasa Assembly). Ada juga yang mengelompokkannya menjadi procedural/functional programming, object oriented programming, dan sebagainya. Pemrograman dapat diklasifikasikan sebagai berikut [Rechenberg]: 1. Berorientasi prosedur (procedural oriented) 2. Berorientasi fungsi (functional oriented) 3. Berorientasi logik (logic oriented) 4. Berorientasi obyek (object oriented) 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. 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. Dalam matematika dan komputasi, algoritma atau algoritme [1] 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. Mungkin kita sering mendengar orang menyebutkan kata ini, algoritma, khususnya di perguruan tinggi. Hampir di semua sisi kehidupan kita, selalu berkaitan dengan yang namanya algoritma. Mau membuat program komputer, mau menyelesaikan soal-soal matemetika, pasti pakai algoritma. Bahkan kegiatan sehari-hari pun tidak lepas dari yang namanya algoritma. Mengapa algoritma selalu ada? Jawabnya simpel saja, selama ada masalah, maka algoritma juga ada dan akan selalu diusahakan untuk ada. Lalu apa hubungannya? Begini, pada saat kita menghadapi masalah, tentu kita ingin menyelesaikan masalah tersebut, iya kan? Bagaimanapun, seberat apapun masalahnya, kita ingin agar masalah itu selesai. Nah, proses-proses dan langkah-langkah kita dalam penyelesaian masalah inilah yang disebut dengan algoritma. Ya… walaupun dalan kenyataannya kita tidak pernah menggunakan atau bahkan tahu dengan sebutan algoritma. Algoritma adalah rangkaian prosedur atau langkah-langkah yang berurutan untuk memecahkan dan menyelesaikan suatu masalah. Ya, begitulah kira-kira gambaran singkat tentang algoritma. Lalu seperti apa sih contohnya? Tadi kan disebut bahwa kehidupan ini tidak lepas dengan yang namanya algoritma. Coba kita baca dulu beberapa masalah berikut ini : Misalkan Anda seorang pelajar atau mahasiswa (seperti saya), setiap pagi hari harus pergi ke sekolah/kampus, apa yang Anda lakukan untuk memecahkan masalah Anda ini, agar Anda bisa sampai tujuan. Anda punya 2 gelas minuman, 1 gelas berisi susu dan lainnya berisi teh, bagaimana cara Anda menukarkan isi kedua gelas tersebut? Ingat ya, ditukar, bukan dicampur… Anda hobi bikin kue, misalnya donat, bagaimana cara Anda bikin kue tersebut? Banyak lagi masalah-masalah lainnya, Anda pikirkan saja sendiri. Melihat beberapa contoh tersebut yang menuntut penyelesaian, maka kesatuan setiap urutan langkah-langkah kita dalam menyelesaikannya disebut algoritma. Sekarang coba kita lihat bagaimana algortima dari contoh-contoh di atas. Contoh 1 : bangun pagi-pagi mandi berpakaian rapi makan pagi/sarapan berangkat ke sekolah/kampus naik motor kalau tidak, ikut teman kalau tidak, naik angkot sampai sekolah/kampus, belajar Contoh 2 : beri nama A untuk gelas berisi susu dan B untuk gelas berisi teh ambil 1 gelas kosong untuk membantu proses pertukaran, beri nama C untuk gelas bantu tersebut tuang susu dari gelas A ke dalam gelas C tuang teh dari gelas B ke dalam gelas A tuang susu dari gelas C ke dalam gelas B susu dan teh sudah bertukar tempat Contoh 3 : Untuk contoh ini, saya rasa Anda sudah mengerti maksudnya. Tinggal lihat resep bikin kue donat, lakukan seperti petunjuk dan langkah-langkahnya… Misalnya, siapkan bahan kue, campur dan aduk adonan dan seterusnya… Dari contoh-contoh di atas, 1 kesatuan langkah-langkah yang kita lakukan untuk menyelesaikannya disebut dengan algoritma. Perlu diperhatikan bahwa ada beberapa catatan penting dalam penyusunan algoritma, yaitu : langkah-langkahnya harus bisa dilaksanakan (logis) dan sederahana serta seringkas mungkin harus dapat berhenti setelah mengerjakan beberapa prosedur/langkah-langkah ada sesuatu yang menjadi sumber pengerjaan algoritma itu (ada inputnya) ada hasil (output) yang didapat dari algoritma tersebut sekalipun tidak ada nilainya (nol) Algoritma yang akan kita bahas pada posting-posting berikutnya menyangkut tentang pemrograman komputer. Karena algoritma adalah jantungnya komputer, maka mempelajari algoritma adalah hal penting sebagai dasar dalam pembuatan program. Contoh di atas kita jadikan gambaran bahwa dalam penyelesaian sebuah program tidak jauh bebeda dengan penyelesaian masalah kita sehari-hari. Bedanya mungkin hanya pada penulisan algoritmanya dan masalah yang dihadapi. Untuk lebih memperjelas dan memperdalam tentang gambaran algoritma ini, serta bagaimana kita membuat penyelesaian dengan syarat-syarat tertentu (sesuai masalah), kita coba lagi menyelesaikan beberapa masalah yang ‘menarik’ pada posting berikutnya. Sementara sampai di sini dulu… Nantikan posting berikutnya… Referensi : Rinaldi Munir, Algoritma dan Pemrograman dalam Bahasa Pascal dan C, Penerbit Informatika, Bandung, 2007 Algoritma adalah urutan aksi-aksi yang dinyatakan dengan jelas dan tidak rancu untuk memecahkan suatu masalah dalam rentang waktu tertentu. Setiap aksi harus dapat dikerjakan dan mempunyai efek tertentu. Algoritman dapat dituliskan dengan banyak cara, mulai dari menggunkan bahasa alami yang digunakan sehari-hari, simbol grafik bagan alir, sampai menggunakan bahasa pemrograman seperti bahasa Pascal. Dari sumber lain, algoritma diartikan sebagai urutan langkah-langkah logis penyelesaian suatu masalah yang disusun secara sistematis. Kata logis di atas merupakan kata kunci dalam sebuah algoritma. Langkah-langkah di dalam algoritma haruslah logis, ini berarti hasil dari urutan langkah-langkah tersebut harus dapat ditentukan, benar atau salahnya. Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. Jadi program adalah perwujudan atau implementasi teknis algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh komputer. Secara garis besar, algoritma adalah urutan langkah-langkah penyelesaian masalah, sedangkan program adalah realisasi algoritma dalam bahasa pemrograman. Program ditulis dalam salah satu bahasa pemrograman, dan kegiatan membuat program disebut pemrograman. (programming). Orang yang menulis program disebut pemrogram (programmer). Tiap-tiap langkah di dalam program disebut pemrogram (programmer). Tiap-tiap langkah di dalam program disebut pernyataan (statement) atau instruksi. Jadi, program tersusun atas deretan instruksi, bila suatu instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan instruksi tersebut dikerjakan oleh komputer. Komputer secara garis besar tersusun atas empat komponen utama, yaitu piranti masukkan, piranti keluaran, unit pemroses utama (CPU), dan memori. Mekanisme kerja keempat komponen tersebut adalah mula-mula program dimasukkan ke dalam memori komputer, ketika program dilaksanankan (execute), setiap instruksi yang telah tersimpan di dalam komputer dikirim ke CPU, CPU mengerjakan operasi- operasi yang bersesuaian dengan instruksi tersebut. Bila suatu operasi memerlukan data, data dibaca di piranti masukkan, disimpan di dalam memori, lalu dikirim ke CPU untuk operasi yang memerlukannya tadi. Bila proses menghasilkan keluaran atau informasi, keluaran disimpan ke dalam memori, lalu memori menuliskan keluaran tasi di piranti keluaran (misalkan dengan mencetaknya ke layer monitor). Pembuatan algoritma mempunyai banyak keuntungan di antaranya: 1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya. 2. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman. 3. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama. Beberapa hal yang perlu diperhatikan dalam membuat algoritma: 1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami. 2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik. 3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum. 4. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya. 5. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman. 6. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman. Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu: a. Pendeklarasian variabel Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya. b. Pemilihan tipe data Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data. c. Pemakaian instruksi-instruksi Beberapa instruksi mempunyai kegunaan yang sama tetapi masing- masing memiliki kelebihan dan kekurangan yang berbeda. d. Aturan sintaksis Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan. e. Tampilan hasil Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program. f. Cara pengoperasian compiler atau interpreter. Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter.