Pemrograman Terstruktur.. Apa itu pemrograman terstruktur?
Pemrograman Terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program. Prinsip dari pemrograman terstruktur adalah bahwa Apabila kita sudah sampai pada langkah tertentu, kita tidak boleh mengeksekusi langkah sebelumnya. Hal ini dikecualikan pada langkah-langkah untuk proses berulang.
Pengajaran mata kuliah ini bertujuan untuk :
1. Mahasiswa memahami metodologi pengembangan software (analisa ,design, coding, testing, dokumentasi) dan mampu menerapkan metodologi tersebut pada persoalan-persoalan sederhana.
2. Mahasiswa mampu berkomunikasi dan bekerja sama dalam sebuah tim melalui mekanisme dokumentasi program.
3. Mahasiswa mampu merancang program secara modular/terstruktur dengan pendekatan top-down menggunakan fungsi-fungsi.
4. Mahasiswa mampu merancang algoritma dengan benar dan efisien, serta mampu melakukan analisa kompleksitas terhadap algoritma tersebut.
5. Mahasiswa memahami elemen-elemen bahasa pemrograman C dan mampu mengimplementasikan hasil rancangannya secara benar.
6. Mahasiswa mampu menuangkan hasil pemikirannya dalam bahasa lisan maupun tulisan dengan baik.
Pokok bahasan yang akan dibahas antara lain :
- Gambaran Umum Mengenai Pemrograman
2. Contohpenerapanmetodologipengembangansoftware padapersoalan-persoalansederhana: konversisatuanjarakdarimil kekilometer, konversisuhudariFahrenheit keCelcius
3. Langkah-langkahutamapenulisanprogram (coding) dalambahasaC menggunakanBorland Turbo C++
- Gambaran Umum tentang C
Pada pokok bahasan ini kita akan diberikan pengenalan-pengenalan tentang bahasa C, yang tak lain adalah bahasa pemrograman itu sendiri. Materi-materinya antara lain :
1. Elemen-elemen bahasa C, deklarasivariable, executable statement, bentuk umum program C, ekspresi aritmetika, tipe data sederhana
2. Macam-macam error : syntax error, logical error, run time error, undetected error
3. Menulis program-program sederhana: hello world, 2 program pada pertemuan sebelumnya
4. Studikasus : Konversi uang dengan satuan besar ke dalam uang dengan satuan kecil
- Pemrograman Terstruktur /Modular
1. Perancangan Top-Down menggunakan Fungsi
2. Macam-macam fungsi: tanpa argumen, input argumen, output argument
3. Pointer, alokasi memori dinamik, passing parameter by value, passing parameter by reference
4. Fungsi-fungsi pustaka dalam C
5. Structure chart, pseudocode, flowchart
6. Studikasus: Menggambar bentuk-bentuk sederhana
Misal akan dibuat tampilan "Selamat Pagi Indonesia" sebanyak 20 kali. Tampilan-tampilan ini dapat dibuat dengan menggunakan fungsi printf() sebanyak 20 kali, tapi program semacam ini tidak efisien. Proses berulang-ulang ini disebut dengan proses PERULANGAN. Akan lebih praktis jika dilakukan dengan statemen perulangan. Statemen-statemen yang dapat digunakan adalah for, while, dan do-while.
Menciptakan Variabel Array
Untuk menciptakan variabel array dapat menggunakan perintah :
DIM variable[(subscripts)] [AS type]
Contoh :
DIM A(20) As Integer
Akan menciptakan variabel array yang bernama A yang memiliki 20 elemen (mulai dari index 0 s/d 19), yang masing-masing dapat menampung data integer, dan memiliki nilai awal 0 (nol).
tersisa pada bagian array yang belum diurutkan.
2. Selection Sort
Algoritma ini sangat rapat dan mudah untuk diimplementasikan. Ide utama dari algoritma selection sort adalah memilih elemen dengan nilai paling rendah dan menukar elemen yang terpilih dengan elemen ke-i. Nilai dari i dimulai dari 1 ke n, dimana n adalah jumlah total elemen dikurangi 1.
2. Macam-macam fungsi: tanpa argumen, input argumen, output argument
3. Pointer, alokasi memori dinamik, passing parameter by value, passing parameter by reference
4. Fungsi-fungsi pustaka dalam C
5. Structure chart, pseudocode, flowchart
6. Studikasus: Menggambar bentuk-bentuk sederhana
- Percabangan
Percabangan adalah suatu keadaan dimana pernyataan dapat dieksekusi apabila suatu kondisi memenuhi syarat untuk mengerjakan pernyataan tersebut. Dalam Java terdapat tiga (3) percabangan yaitu:
- if
Pada pernyataan if, pernyataan dapat dieksekusi apabila kondisinya memenuhi ketentuan. - if else
Pada pernyataan if akan menjalankan sebuah atau blog pernyataan jika kondisi persyaratannya bernilai benar, jika sebaliknya (kondisi salah) maka tidak akan menjalankan apa-apa. Pernyataan if-else digunakan apabila ada pernyataa lain yang dijalankan jika kondisi persyaratannya tidak terpenuhi (bernilai salah). Jika kondisi tidak terpenuhi (salah) maka yang dijalankan adalah sebuah atau beberapa pernyataan yang ada dalam blok else. - switch
Pernyataan switch digunakan untuk memilih salah satu pernyataan dari beberapa pernyataan berdasarkan pemeriksaan nilai ekspresi. Ekspresi yang diperiksa harus bertpe int atau char.
- Perulangan
- Array
Menciptakan Variabel Array
Untuk menciptakan variabel array dapat menggunakan perintah :
DIM variable[(subscripts)] [AS type]
Contoh :
DIM A(20) As Integer
Akan menciptakan variabel array yang bernama A yang memiliki 20 elemen (mulai dari index 0 s/d 19), yang masing-masing dapat menampung data integer, dan memiliki nilai awal 0 (nol).
Terdapat 2 jenis array yaitu Static Array dan Dynamic Array
Perbedaan Static Array dan Dynamic Array :
1. Memory Static Array dialokasikan oleh QBasic pada awal
eksekusi program dimulai, sedangkan Memory Dynamic Array
dialokasikan secara dinamis pada saat eksekusi program
berlangsung.
2. Static Array tidak dapat dideklarasi ulang, sedangkan Dynamic
Array dapat dideklarasikan ulang dengan perintah REDIM
- Algoritma
- Sorting
Beberapa macam algoritma sorting telah dibuat karena proses tersebut sangat mendasar dan sering digunakan. Oleh karena itu, pemahaman atas algoritma – algoritma yang ada sangatlah berguna.
Ada 4 macam sorting yang akan dibahas di artikel ini :
1. Insertion Sort
Algoritma insertion sort pada dasarnya memilah data yang akan diurutkan menjadi dua bagian, yang belum diurutkan dan yang sudah diurutkan. Elemen pertama diambil dari bagian array yang belum diurutkan dan kemudian diletakkan sesuai posisinya pada bagian lain dari array yang telah diurutkan. Langkah ini dilakukan secara berulang hingga tidak ada lagi elemen yangtersisa pada bagian array yang belum diurutkan.
2. Selection Sort
Algoritma ini sangat rapat dan mudah untuk diimplementasikan. Ide utama dari algoritma selection sort adalah memilih elemen dengan nilai paling rendah dan menukar elemen yang terpilih dengan elemen ke-i. Nilai dari i dimulai dari 1 ke n, dimana n adalah jumlah total elemen dikurangi 1.
3. Merge Sort
Merge sort menggunakan pola divide and conquer. Dengan hal ini deskripsi dari algoritma dirumuskan dalam 3 langkah berpola divide-and-conquer. Berikut menjelaskan langkah kerja dari Merge sort.a. Divide
Memilah elemen – elemen dari rangkaian data menjadi dua bagian.
b. Conquer
Conquer setiap bagian dengan memanggil prosedur merge sort secara rekursif
c. Kombinasi
Mengkombinasikan dua bagian tersebut secara rekursif untuk mendapatkan rangkaian data berurutan.
Proses rekursi berhenti jika mencapai elemen dasar. Hal ini terjadi bilamana bagian
yang akan diurutkan menyisakan tepat satu elemen. Sisa pengurutan satu elemen
tersebut menandakan bahwa bagian tersebut telah terurut sesuai rangkaian.
4. Quicksort
Quicksort ditemukan oleh C.A.R Hoare. Seperti pada merge sort, algoritma ini juga
Pada algoritma quicksort, langkah ”kombinasi” tidak di lakukan karena telah terjadiberdasar pada pola divide-and-conquer. Berbeda dengan merge sort,
pengurutan elemen – elemen pada sub-array.
- Searching
Sequential Search
Adalah suatu teknik pencarian data dalam array (1 dimensi) yang akan menelusuri semua elemen-elemen array dari awal sampai akhir, dimana data-data tidak perlu diurutkan terlebih dahulu.
Binary Search
Adalah teknik pencarian data dalam dengan cara membagi data menjadi dua bagian setiap kali terjadi proses pencarian.Data yang ada harus diurutkan terlebih dahulu berdasarkan suatu urutan tertentu yang dijadikan kunci pencarian.
- String
- Fungsi Rekursif
- Structure dan Union
Union digunakan untuk kongsi memory. Dengan menggunakan union suatu lokasi memori dapat ditempati oleh dua atau beberapa variabel dengan masing-masing tipe data yang berbeda.
- Pemrosesan File
- Program Berukuran Besar
- Struktur Data Dinamik
- C++
Udah dulu ya buat posting kali ini.. Semoga bermanfaat bagi Anda yang sedang belajar tentang pemrograman..
Vivat TC!! Vivat ITS!! ^.^
Vivat TC!! Vivat ITS!! ^.^
Sumber :
putramahkota.comxa.com/web_documents/pemrogramanpc00.pdfhttp://www.nusinau.com/algoritma-modular-programming/
http://uqifumi.wordpress.com/2010/03/12/percabangan/
http://uqifumi.wordpress.com/2010/03/12/percabangan/
http://davidraja.multiply.com/reviews/item/35
http://ariefcrb.blogspot.com/2009/11/pengertian-algoritma.htmlblog.binadarma.ac.id/usman/.../JENI-Intro2-Bab06-Algoritma-Sorting.pdf
http://belajarstrukturdata.blogspot.com/2010/06/searching.htmlid.wikipedia.org/wiki/String
http://uneg-unegku.blogspot.com/2006/05/fungsi-rekursif.html
http://www.nusinau.com/intan-struktur-data/
http://id.wikipedia.org/wiki/C%2B%2B
http://ariefcrb.blogspot.com/2009/11/pengertian-algoritma.htmlblog.binadarma.ac.id/usman/.../JENI-Intro2-Bab06-Algoritma-Sorting.pdf
http://belajarstrukturdata.blogspot.com/2010/06/searching.htmlid.wikipedia.org/wiki/String
http://uneg-unegku.blogspot.com/2006/05/fungsi-rekursif.html
http://www.nusinau.com/intan-struktur-data/
http://id.wikipedia.org/wiki/C%2B%2B

No comments:
Post a Comment