Senin, 26 Januari 2009

ALGORITMA DALAM BIDANG ILMU KOMPUTER DAN STRUKTUR DATA

BABI
PENDAHULUAN

A. Latar Belakang
Dewasa ini, komputer digunakan di hampir semua bidang kehidupan manusia, mulai dari pendidikan, bisnis, sampai dengan permainan. Berbicara tentang komputer tidak lepas dari pemrogaman komputer. Hal ini karena komputer pada dasarnya merupakan mesin yang tidak bisa apa-apa. Kita harus memberikan serangkaian instruksi kepada komputer agar mesin ‘pintar’ ini dapat memecahkan suatu masalah. Langkah-langkah yang perlu dilakukan dalam memberikan instruksi kepada komputer untuk memecahkan masalah inilah yang dinamakan pemrogaman komputer. Adapun langkah-langkah pemrogaman komputer adalah sebagi berikut: mendefinisikan masalah, menentukan solusi, memilih algoritma, menulis program, menguji program, menulis dokumentasi, serta merawat program.
Sebelum membuat program, hendaknya kita membuat Flow Chart atau Pseudocode, sehingga memudahkan kita untuk memahami algoritma serta memudahkan kita dalam membuat program. Program yang ditulis juga harus jelas, nyata, dan komplit.
B. Rumusan Masalah
1. Apakah yang dimaksud dengan algoritma?
2. Apakah fungsi algoritma?
3. Bagaimana kriteria algoritma dalam bidang komputer?
C. Tujuan Penulisan Makalah
1. Untuk mengetahui pengertian algoritma.
2. Mengetahui manfaat algoritma.
3. Mengetahui kriteria algoritma dalam bidang komputer.

BABII
PEMBAHASAN

A. Pengertian Algoritma
Algoritma adalah suatu prosedur yang tepat untuk memecahkan masalah dengan menggunakan bantuan komputer serta menggunakan suatu bahasa pemrogaman tertentu seperti bahasa Pascal, Visual Basic, Java, dan masih banyak lagi bahasa yang lain.Pranata (2002:8) dalam kehidupan sehari-hari, sebenarnya kita juga menggunakan algoritma untuk melaksanakan sesuatu. Sebagai contoh, ketika kita menulis surat, maka kita perlu melakukan beberapa langkah sebagai berikut:
1. Mempersiapkan kertas dan amplop.
2. Mempersiapkan alat tulis, seperti pena atau pensil.
3. Mulai menulis.
4. Memasukkan kertas ke dalam amplop.
5. Pergi ke kantor pos untuk mengeposkan surat tersebut.

B. Fungsi Algoritma
Dengan algoritma, kita dapat mengatasi masalah dari yang sederhana sampai yang kompleks sekalipun. Namun, seorang user harus mampu membuat suatu program dengan menggunakan bahasa yang difahami oleh komputer. Sebelum disajikan dalam bentuk bahasa pemrogaman, sebaiknya kita membuat diagram alir (Flow Chart) dan Pseudocode. Hal ini dimaksudkan agar dapat mempermudah kerja atau mempermudah dalam membuat program. Selain itu, algoritma dapat mengatasi masalah logika dan masalah matematika dengan cara berurutan, tetapi kadang-kadang algoritma tidak selalu berurutan, hal ini dikenal dengan proses percabangan.
C. Kriteria Program Algoritma dalam Bidang Komputer
Pada dasarnya, komputer adalah mesin digital, artinya komputer hanya bisa mengenal kondisi ada arus listrik (biasanya dilambangkan dengan 1) dan tidak ada arus listrik (biasanya dilambangkan dengan 0). Dengan kata lain, kita harus menggunakan sandi 0 dan 1 untuk melakukan pemrogaman komputer. Bahasa pemrogaman yang menggunakan sandi 0 dan 1 ini disebut bahasa mesin. Karena bahasa mesin sangat susah, maka muncul ide untuk melambangkan untaian sandi 0 dan 1 dengan singkatan kata yang lebih mudah difahami manusia biasa disebut dengan mnemonic code. Bahasa pemrogaman yang menggunakan singkatan kata ini disebut bahasa assembly.
Program algoritma harus komplit, nyata, dan jelas. Meskipun tugas algoritma tidak menghasilkan solusi, tetapi proses harus berakhir hal ini disebut dengan semi algorithm (prosedur akan berjalan terus atau biasa disebut dengan perulangan). Intinya kita tidak boleh menambah masalah, akan tetapi kita harus mampu menyelesaikan masalah untuk mendapat hasil yang tepat. Adapun contoh algoritma seperti dalam menghitung luas lingkaran dari masukan berupa jari-jari lingkaran. Rumus lingkaran adalah L=?*R*R
Berikut ini adalah contoh algoritma untuk menghitung luas lingkaran:
1. Masukkan R
2. Pi ? 3,14
3. L ? Pi*R*R
4. Tulis L
Perhatikan tanda ? pada baris kedua dan ketiga. Tanda ini berarti nilai di sebelah kanan diberikan pada operan di sebelah kiri. Sebagai contoh, untuk baris kedua, nilai 3,14 diberikan pada variabel Pi. Berikutnya, nilai Pi*R*R diberikan pada variable L. Baris terakhir menuliskan luas lingkaran tersebut.
Seperti yang dikemukakan di atas, bahwa algoritma ada yang tidak berurutan dan biasa di sebut dengan pengulangan. Adapun contohnya yaitu dalam penghitungan rata-rata dari sekumpulan data yang dimasukkan pengguna.
Berikut ini adalah algoritma untuk menghitung rata-rata data yang dimasukkan pengguna:
1. Masukkan N
2. i?1
3. j?0
4. Selama (i<=N) kerjakan baris 4 sampai dengan 7 5. Masukkan dt 6. i?i+1 7. j?j+dt 8. Rata?j/N 9. Tulis rata Baris pertama meminta pengguna memasukkan N, yaitu jumlah data. Pada baris kedua, variabel I, yang berguna sebagai pencacah banyaknya data yang telah dimasukkan pegguna, bernilai 1. Pada baris ketiga, variabel j, yang digunakan untuk menyimpan hasil penjumlahan data, diberi nilai 0. Baris keempat memberikan perintah untuk mengulangi baris keempat sampai dengan baris ketujuh selama I kurang dari sama dengan N. Dengan kata lain, setelahi lebih besar dari N, baris kedelapan yang dijalankan. Baris kelima meminta masukkan data yang ke-i. Baris keenam menambah variabel I dengan 1. Perhatikan arti dari perintah i?i+1 adalah nilai i ditambah dengan 1 kemudian hasilnya disimpan pada variabel i kembali. Baris ketujuh menambah variabel j dengan data yang dimasukkan pengguna. Sebagaimana dijelaskan di atas, variabel j digunakan untuk menyimpan hasil penjumlahan semua data, jadi untuk setiap masukan data, nilai variabel j harus ditambah dengan dt. Baris kedelapan menghitung rata-rata dengan cara membagi hasil penjumlahan dengan banyaknya data. Baris terakhir menuliskan rata-rata tersebut. Tetapi banyak pemrogram yang sudah berpengalaman tidak pernah menuliskan algoritma di atas kertas lagi.. Artinya dia menuliskan algoritma itu di daalam kepalanya.

BABIII
PENUTUP

A. Simpulan
Berdasarkan uraian di atas, dapat disimpulkan:
1. Algoritma adalah suatu prosedur yang tepat untuk memecahkan masalah dengan menggunakan bantuan komputer serta menggunakan suatu bahasa pemrogaman.
2. Fungsi algoritma adalah untuk mempermudah kerja atau memudahkan kita dalam membuat program atau biasa di sebut sebagai Problem Solving. Selain itu, algoritma dapat mengatasi masalah logika dan masalah matematika
3. Kriteria program algoritma harus komplit, nyata, dan jelas. Meskipun tugas algoritma tidak menghasilkan solusi, tetapi proses harus berakhir hal ini disebut dengan semi algorithm (prosedur akan berjalan terus atau biasa disebut dengan perulangan). Intinya kita tidak boleh menambah masalah, akan tetapi kita harus mampu menyelesaikan masalah untuk mendapat hasil yang tepat.

B. Saran
Berdasarkan simpulan di atas,disarankan kepada:
1. Para programer dapat menggunakan algoritma untuk memecahkan masalah dengan menggunakan bantuan komputer.
2. Para programer dapat menggunakan algoritma sebagai Problem Solving dalam masalah logika dan masalah matematika.
3. Para programer harus menulis program algoritma dengan jelas, nyata, dan komplit




STRUKTUR DATA

Post ini bertujuan untuk mempromosikan teman saya yang menjadi dosen di UKDW. Dia sudah menulis beberapa modul kuliah yang mungkin berguna bagi kalian yang berminat. Kali ini saya menyajikan link untuk mendownload modul Algoritma dan Struktur Data. Mata kuliah ini menurut saya sangat penting dan akan sangat membantu bagi anda yang berminat dalam bidang software engineering.

Ingat, materi kuliah ini buatan teman saya dan jika anda menjiplak / mengubah / mengutipnya mohon mencantumkan nama pembuat aslinya : Antonius Rachmat C.

Tujuan mata kuliah Algoritma dan Struktur Data :
Mahasiswa mampu memahami logika berpikir komputer, memahami prinsip kerja program, memahami alasan-alasan komputer dapat mengerjakan perintah-perintah yang diberikan, dan mampu menggambarkan logika jalannya program secara tertulis dengan algoritma (pseudo code) dan dilengkapi dengan diagram alir (flow chart) .

Perkenalan

Pengantar Algoritma dan Pemrograman
- Apa itu algoritma
- Kegunaan dan contoh
- Apa yang akan dipelajari selama kuliah

Flowchart dan Bahasa Pemrograman
- Flowchart
- Bahasa Pemrograman 3 GL dan Contohnya
- Mengenal C++ dan C#

Tipe Data, Keyword, Operator dan Kondisi (Percabangan)
- Tipe Data dan keyword
- Operator dan Derajatnya
- IF tunggal, bertingkat
- Multiple Conditions
- Switch Case
- Contoh-contoh dan latihan!

Perulangan (looping)
- For, While, DoWhile
- Break dan Continue
- Nested Loop
- Contoh kasus dan latihan!

Array 1 : Array 1 dimensi dan operasinya
- Definisi dan deklarasi
- Kegunaan, sifat-sifat Array 1 dimensi
- Contoh-contoh : add, search, edit, delete

Array 2 dimensi dan Manipulasi String
- Apa itu String
- Berbagai hal menarik tentang String

Prosedur dan Fungsi
- Procedure (void)
- Function (non-void)
- Parameter: formal dan aktual
- Latihan

ADT (Abstract Data Type) dan Stack dengan Array
- Definisi dan Deklarasi
- Kegunaan, sifat-sifat
- Contoh-contoh
- Stack dan kegunaanya

Struktur Data Antrian dengan Array
- Pengertian Antrian dan sifatnya
- Deklarasi
- Contoh penggunaan

Sorting dan Searching Array
- Bubble Sort
- Selection Sort
- Insertion Sort
- Quick Sort
- Searching sekuensial