Rifky Kurniawan, S.Kom, MTI Algoritma Dasar & C++ Rifky Kurniawan, S.Kom, MTI
Komputer dan Perangkatnya
komputer berasal dari bahasa latin Computare yang berarti menghitung komputer juga didefinisikan sebagai alat pengolah data elektronik yang bekerja dan dikontrol oleh sekumpulan instruksi (Program)
komputer hanya melakukan 3 fungsi dasar yaitu : Melakukan operasi aritmatika pada data numerik seperti +. -. *. /. Melakukan operasi logika seperti <, >, =, . Menyimpan dan mengambil data.
Lalu bagaimana memerintahkan komputer agar bisa bekerja sesuai yang diinginkan oleh manusia??
Bahasa pemrograman dan penerjemahnya (Programming language & language translator) Bahasa pemrograman didefinisikan sebagai sekumpulan aturan (sintaks), kata, dan lambang yang memungkinkan orang untuk memberi perintah ke komputer dalam format yang dapat dipahami secara eksak.
Bahasa pemrograman dapat digolongkan menjadi 5 jenis Bahasa tingkat rendah - low level language, adalah bahasa yang langsung dipahami oleh komputer, tetapi sulit dipahami oleh manusia, kecepatan aksesnya tinggi. Ada 2 macam bahasa tingkat rendah, yaitu: i. bahasa mesin (machine language) yang menggunakan angka biner, disebut juga bahasa generasi pertama ii. bahasa Assembly yang menggunakan simbol-simbol (mnemonic), disebut juga bahasa generasi kedua.
Bahasa pemrograman dapat digolongkan menjadi 5 jenis (lanjt.) Bahasa berorientasi prosedur, adalah bahasa pemrograman yang menggunakan logika tradisional dalam memecahkan masalah, disebut juga bahasa generasi ketiga. Bahasa ini sudah menggunakan bahasa Inggris sederhana dan simbol arithmatika Contohnya BASIC, FORTRAN, PASCAL, C, COBOL dan sebagainya.
Bahasa pemrograman dapat digolongkan menjadi 5 jenis (lanjt.) Bahasa berorientasi objek, adalah bahasa pemrograman yang menggunakan objek-objek dalam memecahkan masalah. Contohnya Smalltalk, C++, Java, C#, dan sebagainya .
Bahasa pemrograman dapat digolongkan menjadi 5 jenis (lanjt.) Bahasa pemrograman generasi ke 4, adalah bahasa yang berbentuk pertanyaan (query), biasanya digunakan bersama basis data. Contohnya SQL, Informix, Oracle dan sebagainya. Bahasa pemrograman visual, adalah bahasa yang menggunakan simbol-simbol visual. Contohnya Alice, Mindscript, dan Prograph
Program yang ditulis dalam bahasa pemrograman selain bahasa mesin harus diterjemahkan ke bahasa mesin dengan bantuan compiler atau intepreter supaya dapat dieksekusi oleh komputer. Hasil penerjemahan disebut sebagai object code atau object program. Tiap bahasa pemrograman mempunyai compiler/intepreter-nya sendiri.
Perangkat lunak aplikasi perangkat lunak yang membantu manusia melakukan pekerjaan tertentu. Generalized application software: perangkat lunak yang diperlukan untuk melakukan macam-macam pekerjaan. Wordprocessing (pengolah kata): MS Word, Word Perfect Spreadsheet (lembar kerja): MS Excell, Lotus123 Presentation (presentasi): MS Power Point Database Management (pengelolaan basis data): MS Access Internet browser: Internet Explorer, Netscape Specialized application software : perangkat lunak yang dirancang untuk melakukan pekejaan tertentu dan tidak dapat diubah atau diprogram untuk melakukan pekerjaan lain. Dibuat khusus sesuai permintaan/spesifikasi tertentu.
Pemakai (user) adalah orang yang menggunakan komputer sehingga komputer dapat membantu menyelesaikan pekerjaannya atau hanya sekedar untuk menghabiskan waktu. Berdasarkan tingkat pengetahuannya, pemakai komputer dibedakan menjadi : End user: pemakai biasa yang tidak perlu memahami sistem komputer secara keseluruhan. User: pemakai yang memahami sistem komputer, contohnya para programmer.
Cara kerja komputer Supaya komputer dapat bekerja maka dibutuhkan langkah-langkah yang terdiri dari input, proses, output, dan simpan (IPOS) yang saling berhubungan
Pembuatan Program Komputer hanya melakukan apa saja yang diperintahkan manusia bukan apa yang manusia inginkan. Namun Komputer tidak mengerti bahasa manusia. Hal inilah yang mendasari bagaimana perintah harus diberikan ke komputer, yaitu dengan bantuan bahasa pemrograman
Bahasa pemrograman menjadikan komputer sebagai alat bantu untuk menyelesaikan masalah (problem solving tool). Pemrograman adalah kegiatan menulis program dalam suatu bahasa pemrograman dan orang yang melakukannya disebut sebagai programmer. Program atau secara umum disebut sebagai perangkat lunak didefinisikan sebagai instruksi-instruksi yang diberikan supaya komputer melaksanakan suatu pekerjaan sehingga menghasilkan keluaran yang diinginkan. Teknik dan metodologi untuk membuat program dicakup dalam bidang ilmu yang disebut sebagai Rekayasa Perangkat Lunak (Software Engineering).
Program yang telah dibuat, pada umumnya tidak dapat dipakai untuk selamanya. Pada suatu saat, program harus diganti dengan program baru yang lebih baik. Karena itu dikatakan program mempunyai daur hidup (life cycle) seperti manusia. Daur hidup program (software life cycle) adalah : Analisis Kebutuhan. Mendesain solusi. Memvalidasi desain Mengimplementasi desain. Menjalankan dan menguji solusi. Mendokumentasikan solusi.
Analisis kebutuhan Analisis kebutuhan adalah kegiatan menentukan apa yang dibutuhkan oleh user untuk menyelesaikan masalahnya, yaitu: Melihat kebutuhan, dapat berupa grafik, diagram atau laporan Mempertemukan sistem analis dengan user Mengidentifikasikan input, proses, output dan komponen data
Analisis kebutuhan Hasilnya adalah suatu laporan (Input Proses Output Chart – IPO Chart) yang berisi data yang perlu input, bagaimana cara mendapatkan data input, cara memvalidasinya, prosesnya seperti apa, output seperti apa yang diperlukan, kepada siapa output harus diberikan, bagaimana bentuk outputnya dan seterusnya.
Selain masalah input, proses dan output, yang perlu dipertimbangkan juga adalah tingkat keahlian si pemakai program: apakah pemakai program adalah orang yang awam atau expert di bidang komputer berapa lama program ini akan digunakan perubahan apa yang diharapkan dari program ini nantinya; perangkat keras dan perangkat lunak lunak apa yang tersedia informasi yang berhubungan lainnya. Semua informasi itu diperlukan supaya masalah menjadi jelas dan spesifikasi yang dibuat dapat menjawab masalah. Pekerjaan ini biasanya dilakukan oleh seorang analis sistem (system analyst).
Mendesain Solusi Algoritma didefinisikan sebagai langkah-langkah prosedur untuk mendapatkan output dari input yang ada. Salah satu caranya adalah dengan pendekatan top-down, yaitu mulai dari mengidentifikasikan pekerjaan utama untuk mengatasi masalah, lalu tiap pekerjaan tadi diperinci lagi menjadi sub-pekerjaan. Pendekatan ini diilustrasikan dengan dengan diagram struktur (structured diagram).
contoh: masalah menghitung biaya konstruksi gedung apartemen Ketiga pekerjaan itu harus diperinci lagi sebelum dapat dibuat algoritmanya.
Setelah membuat struktur diagram seperti di atas, dilanjutkan dengan mendesain algoritma yang dapat dilakukan dengan bantuan: Program flowchart untuk menggambarkan aliran logika dari algoritma Pseudocode untuk menjelaskan logika algoritma dalam bentuk tulisan sederhana UML (Unified Modeling Language) untuk memodelkan dan mendolumentasikan sistem
Memvalidasi Desain Desk Check: menguji algoritma dengan menggunakan data tes yaitu data input yang sudah diproses dan diketahui outputnya. Inspeksi: melihat kembali dengan telisi solusi algoritma yang telah dibuat
Mengimplementasi Desain langkah berikutnya adalah menerjemahkan algoritma menjadi program. perlu ditentukan lebih dulu bahasa pemrograman apa yang akan digunakan.
Apapun bahasa pemrograman yang dipilih, program yang dibuat harus betul, mudah dibaca dan dimengerti. Terstruktur, pendekatan top-down ketika menghadapi masalah, sederhana dan jelas alurnya. Setiap unit program harus didokumentasikan mempunyai keterangan bagian program yang penting perlu ditambahkan keterangan menggunakan nama variabel yang mempunyai arti Ditulis dengan cara yang dapat memudahkan pembacaan program
Setelah program dibuat, perlu di-review (code review) untuk mengetahui letak kesalahan dan memperbaikinya sehingga program bebas dari kesalahan. Hal ini dapat dilakukan oleh programmer sendiri atau quality control tester.
Menjalankan dan menguji solusi menguji program (disebut juga debugging), biasanya ditemui kesalahan-kesalahan (error atau bug) berikut ini: Syntax error: kesalahan salah menulis instruksi program. Kesalahan ini ditemui ketika program di-compile Run-time error: kesalahan yang terjadi ketika program dijalankan. Kesalahan ini akan menyebabkan eksekusi program berhenti. Logical error: kesalahan ini biasanya terjadi ketika menulis algoritma atau program. Berbeda dengan syntax error dan run-time error, kesalahan ini tidak menyebabkan eksekusi berhenti sehingga tidak ada pesan adanya kesalahan, tetapi output program salah.
Mendokumentasikan solusi Review program code: programmer mencari dead code (program yang tidak pernah dieksekusi) dan menghapusnya lalu menjalankan program kembali untuk memastikan bahwa program dapat berjalan dengan benar Review all documentation: memastikan semua flow chart, algoritma, data tes, dan listing program telah terdokumentasi dengan baik dan lengkap.
Tujuan Kuliah IT
Bukan…