Sub Pokok Bahasan
Pendahuluan
Bahasa Pemrograman
Arti Penting Algoritma
Program Terstruktur dan Algoritma
Notasi Algoritma
Komputer adalah alat elektronik untuk mengolah data dengan menggunakan program tertentu untuk menghasilkan informasi
Fungsi komputer adalah untuk pengolahan data (data processing), sehingga komputer juga disebut sebagai pengolah data elektronik. Proses dari pengolahan data dengan menggunakan komputer disebut sebagai Pengolahan Data Elektronik (EDP atau Electronic Data Processing)
Di dalam komputer, terdapat bagian yang disebut sebagai Software (Perangkat Lunak). Perangkat lunak ini merupakan program-program yang diperlukan untuk menjalankan bagian dari komputer yang disebut sebagai Hardware (Perangkat Keras)
Pendahuluan
Komputer adalah alat bantu untuk menyelesaikan masalah.
Dalam menyelesaian masalah dengan komputer perlu merumuskan langkah-langkah penyelesaian masalah dalam sekumpulan instruksi.
Sekumpulan instruksi yang dimengerti oleh komputer yang disebut dengan program.
Macam-macam perangkat lunak:
Operating System (Sistem Operasi) program komputer yang diperlukan untuk mengatur semua yang kegiatan sistem komputer dan mengendalikan penggunaan semua perangkat yang dipasang di komputer. Contoh: UNIX, ZENIX, MS DOS, Win NT, Win Xp, Win Vista, Linux, Win 7 dll.
Language Software (Bahasa Komputer) atau Programming Language (Bahasa Pemrograman) bahasa yang digunakan untuk membuat program komputer.
Application Software (Program Aplikasi) program yang diterapkan pada suatu aplikasi tertentu, misal: untuk mengolah kata, mengolah data, menggambar, mengaransir musik dan lain sebagainya.
Bahasa Pemrograman
Digunakan sebagai sarana komunikasi untuk menjembatani hubungan antara manusia dan komputer
Faktor-faktor yang harus diperhatikan:
Sintaksis (tata bahasa yang digunakan) apabila terjadi kesalahan sintaksis, maka akan langsung terlihat, karena komputer akan menampilkan pesan salah.
Semantik (maksud yang dikandung dalam setiap pernyataan) kesalahan semantik biasanya terjadi karena kekurang pahaman terhadap setiap pernyataan yang dituliskan pada program. Sehingga walaupun program dapat berjalan, akan tetapi tidak seperti yang dikehendaki.
Kebenaran logika (benar atau tidaknya urutan pernyataan) bentuk kesalahan kebenaran logika merupakan kesalahan dalam mengimplementasikan masalah yang dihadapi, sehingga program yang ditulis tidak benar secara logika.
Pengelompokan bahasa pemrograman:
Tingkat Rendah (Low Level)
Biasanya sulit dipahami karena berhubungan dengan mesin komputer itu sendiri atau biasa disebut sebagai bahasa mesin.Contoh : Bahasa Assembler
Tingkat Tinggi (High Level)
memakai kata-kata dan pernyataan yang mudah dimengerti manusia, meskipun masih jauh berbeda dengan bahasa manusia sesungguhnya. Contoh : Bahasa Pascal, C, C++
Keterangan-keterangan yang diperlukan dalam penyusunan program komputer :
- Data apa yang akan diproses/tersedia untuk menentukan tipe data yang diperlukan oleh program komputer.
- Bagaimana data dimasukkan untuk menentukan jenis instruksi masukan yang akan digunakan.
- Dimana data diletakkan untuk menentukan variabel-variabel yang harus disediakan dalam program.
- Operator apa saja yang dapat digunakan untuk menentukan operator-operator yang diperlukan oleh program.
- Bagaimana urutan instruksi disusun untuk menentukan jenis proses yang diperlukan (urutan, kondisional/percabangan, pengulangan)
- Bagaimana menyampaikan informasi hasil pengolahan untuk menentukan jenis instruksi keluaran yang akan digunakan.
Algoritma
Apakah yang dimaksud dengan algoritma, algoritma berarti solusi. Ketika orang berbicara mengenai algoritma di bidang pemrograman, maka yang dimaksud adalah solusi dari suatu masalah yang harus dipecahkan dengan menggunakan komputer. Algoritma harus dibuat secara runut agar komputer mengerti dan mampu mengeksekusinya. Analisis kasus sangat dibutuhkan dalam membuat sebuah algoritma, misalnya proses apa saja yang sekiranya dibutuhkan untuk menyelesaikan masalah yang harus diselesaikan .
Algoritma harus dipikirkan secara logika di pikiran manusia dengan pemikiran yang lebih mudah dimengerti (menggunakan gambaran-gambaran tertentu di dalam pikiran) agar dapat lebih mudah dimengerti oleh manusia dan dapat dengan mudah dipetakan (diubah) menjadi bahasa pemrograman untuk dieksekusi oleh komputer.
Misal secara logika kita dapat membayangkan sebuah solusi harus diselesaikan pada sebuah tanah lapang . Lalu kita harus melakukan mengupas kentang di tanah lapang itu, maka yang harus kita lakukan secara runut adalah sebagai berikut:
Membuat kotak kosong di tanah lapang untuk menyimpan kentang yang akan dikupas
Mengisi kotak kosong untuk kentang dengan kentang yang akan dikupas
Membuat kotak kosong di tanah lapang untuk menyimpan pisau yang akan digunakan untuk mengupas kentang
Mengisi kotak kosong untuk pisau dengan pisau yang akan digunakan untuk mengupas kentang
Setelah pisau dan kentang telah ada di tanah lapang, maka barulah kita bisa
melakukan proses mengupas kentang
Belajar membuat algoritma seperti halnya belajar menyetir dimana harus belajar membuat algoritma dan memprogram sendiri (mengetik sendiri) untuk menjadi bisa.
Belajar algoritma harus dengan sabar dan menghargai tahap demi tahap pembelajaran (menghargai proses) untuk dapat memahami algoritma
Belajar algoritma memerlukan banyak latihan (jam terbang dalam membuat algoritma) agar menjadi andal (practice make perfect).
Jika Anda mengabaikan ini, maka Anda memilih jalan hidup untuk tidak bisa mengerti algoritma (bisa jadi tidak lulus) karena hidup adalah pilihan yang hasilnya sesuai dengan jalan yang sudah kita jalani. Keep Fight.
Sebagai manusia, kita pasti sudah mengerti jika langkah-langkah mengupas kentang, masalahnya adalah, kita harus membuat komputer mengerti langkah demi langkah yang kita inginkan sehingga menghasilkan hasil yang kita inginkan.
Agar dapat dijalankan pada komputer, maka langkah-langkah solusi yang diinginkan harus menggunakan bahasa yang dimengerti oleh komputer yang dikemas dalam bentuk program komputer.
Bahasa algoritmik (sering juga disebut pseudo-code) adalah sebuah bahasa penengah antara manusia dan komputer, sebenarnya komputer tidak langsung dapat mengeksekusi bahasa algoritmik.
Berikut adalah tahapan membuat sebuah program komputer yang dapat dieksekusi oleh komputer :
- Membuat langkah-langkah yang dibutuhkan untuk menyelesaikan masalah dengan menggunakan bahasa manusia seperti contoh pembuatan mengupas kentang di atas secara runut mulai dari inisialisasi, proses penyelesaian dan finalisasi.
- Membuat langkah-langkah dari bahasa manusia menjadi bahasa algoritmik.
- Mengubah bahasa algoritmik menjadi bahasa pemrograman yang dimengerti oleh komputer
- Melakukan kompilasi untuk mengetahui apakah kode program mengandung kesalahan penulisan
- Mengeksekusi program pada komputer
Tidak ada standar baku tentang bahasa algoritmik
Contoh :
Algoritma TUKAR ISI BEJANA
Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
DESKRIPSI :
– Tuangkan larutan dari bejana A ke dalam bejana B
– Tuangkan larutan dari bejana B ke dalam bejana A.
Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
DESKRIPSI :
1. Tuangkan larutan dari bejana A ke dalam bejana C.
2. Tuangkan larutan dari bejana B ke dalam bejana A.
3. Tuangkan larutan dari bejana C ke dalam bejana B.
Algoritma TUKAR ISI BEJANA di atas tidak menghasilkan pertukaran yang benar. Langkah di atas tidak logis, hasil pertukaran yang terjadi adalah percampuran kedua larutan tersebut.