untuk menyelesaikan sebuah masalah yang disusun dengan sistematis. Program yaitu kumpulan instruksi/perintah komputer dengan bahasa tertentu yang berfungsi menghubungan user dengan komputer. Atau bisa juga disebut implementasi dari bahasa pemrograman - Setiap langkah/step harus jelas dan pasti - Boleh tidak ada inputan tetapi harus memiliki output minimal 1 output, output ini merupakan solusi akhir dari penyelesaian masalah - Efektif/tepat guna dan efisien/membutuhkan waktu singkat dan memori sedikit - Jumlah langkah/step harus ada batasannya, baik ada solusi ataupun tidak - Terstruktur/runtun, jelas (ipo)
Mendefinisaikan masalah Menentukan solusi Memilih algoritma Menulis program Menguji program Menulis dokumentasi Merawat program Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program) Program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan. Instruksi (statement) yang dimaksud adalah syntax (cara penulisan) sesuai dengan bahasa pemrograman yang digunakan yang mempunyai komponen- komponen : Input, Output, Proses, Percabangan dan Perulangan. Adalah alat untuk membuat program Contoh: C, C++, C#, Pascal, Basic, Perl, PHP, ASP, JHP, Java, dll.
Perbedaan: cara memberikan instruksi (sintaks) Persamaan: bertujuan menghasilkan output yang sama 1. First Generation Language (1GL) Bahasa pemrograman ini berupa kode-kode mesin yang hanya bisa dipahami oleh mikroprosesor.
2. Second Generation Language (2GL) Bahasa = assembly language, Menggunakan kode-kode yang disebut dengan mnemonic. Bahasa ini bukan bahasa asli mikroprosesor, meskipun begitu programer tetap harus mengetahui keunikan dari masing-masing mikroprosesor (register dan jenis instruksi).
3. Generasi ketiga (3GL) Pada generasi ini mulai dikenalkan istilah variabel, tipe data, ekspresi aljabar dan sudah mendukung pemrograman terstruktur.
4. Generasi keempat (4GL) Didesain untuk mengurangi effort dan mempercepat proses pembuatan program. Contoh bahasa: Pemrograman umum : DataFlex, WinDev, PowerBuilder Basis data : SQL, Progress 4GL Manipulasi data, analisis dan pelaporan : ABAP, Matlab, PL/SQL.
5. Generasi kelima (5GL) Disebut sebagai constraint-programming atau declarative- programming. Program tidak dituliskan dalam bentuk algoritma melainkan dituliskan batasan atau fakta dari sebuah lingkup masalah, sehingga program akan menghasilkan luaran dalam bentuk solusi Bahasa pemrograman ini digunakan untuk membangun sistem kecerdasan buatan dan belum digunakan secara meluas di dunia industri. Contoh bahasa: Prolog, LISP, Mercury. 1. Low-level programming language (bahasa mesin) Tingkat bahasa pemrograman ini disebut rendah (low level) bukan karena posisinya berada di bawah, melainkan karena kurangnya abstraksi (penggambaran kode instruksi) antara bahasa natural dengan bahasa mesin. Bahasa pemrograman yang masuk kategori ini adalah bahasa mesin itu sendiri (1GL) dan bahasa assembly (2GL).
2. High-level programming language (HLL) Bahasa pemrograman di tingkat ini memiliki abstraksi yang lebih banyak dan terdapat kemiripan dengan bahasa natural (bahasa Inggris), lebih mudah untuk digunakan dan mudah untuk dipindahkan antar platform.
3. Very high-level programming language (VHLL) Bahasa ini memiliki abstraksi yang lebih tinggi dibandingkan HLL, dan digunakan untuk menunjang produktifitas programer profesional. Biasanya VHLL digunakan hanya untuk tujuan yang spesifik, misalnya untuk keperluan bisnis: mengolah data, membuat laporan, dsb.
Paradigma Imperatif Paradigma Fungsional Paradigma Logika Inti dari paradigma ini adalah menjalankan sebuah urutan perintah, jalankan satu perintah kemudian jalankan perintah yang selanjutnya. Ide dasarnya adalah dari model komputer Von Neumann. Eksekusi langkah-langkah komputasi diatur oleh sebuah struktur kontrol. Berdasarkan urutan-urutan atau sekuensial. Contoh bahasa pemrograman: Fortran, Algol, Pascal, Basic, C Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur merupakan kumpulan instruksi yang dikerjakan secara berurutan. Pemrograman Fungsional adalah sebuah paradigma yang menjadikan fungsi matematika sebagai penentu dalam eksekusi komputasi. Fungsi tersebut merupakan dasar utama dari program yang akan dijalankan. Paradigma ini lebih banyak digunakan di kalangan akademis daripada produk komersial, terutama yang murni fungsional. Ide dasar dari matematika dan teori fungsi. Beberapa contoh bahasa fungsional adalah APL, Erlang, Haskell, Lisp, ML, Oz dan Scheme. Umumnya digunakan pada domain yang berhubungan dengan ekstraksi pengetahuan yang berbasis kepada fakta dan relasi. Berasal dari pembuktian otomatis didalam intelegensia buatan. Berdasar kepada aksioma, aturan dan query. Eksekusi program menjadi proses pencarian secara sistematik dalam sekumpulan fakta, dengan menggunakan sekumpulan aturan. Beberapa contoh bahasa pemrograman: ALF, Fril, Gdel, Mercury, Oz, Ciao, Visual Prolog, XSB, and Prolog Logika digunakan secara murni untuk representasi bahasa deklaratif yang kebenarannya ditentukan oleh programmer, sedangkan pembukti- teorema atau model pembangkit digunakan sebagai pemecah masalah. Mempermudah kompleksitas perangkat lunak Caranya adalah dengan memperkuat modularity dan reusability didalam perangkat lunak tersebut. Menggunakan obyek dan interaksi antar obyek dalam penyusunan sebuah perangkat lunak. Ide dari interaksi antar obyek yang ada pada dunia nyata. Antar obyek saling berinteraksi dengan saling mengirimkan pesan (message). Abstraksi Enkapsulasi Pewarisan Polimorfisme Karakteristik utama : Kejadian yang terjadi pada waktu yang terbatas dan menghasilkan efek yang memang direncanakan Dari waktu0 ke waktuN Contoh: aksi Bu Tati mengupas kentang untuk makan malam Batasan: Apa kentang harus dibeli dulu atau sudah ada? Apakah mengupas berarti sampai kentang terhidang? Apakah setelah kentang selesai dikupas, harus ada kegiatan lain seperti dibuat sup atau digoreng? Berarti harus ada kejadian awal = start dan kejadian akhir = finish Kejadian bu Tati dapat juga diterapkan pada ibu-ibu yang lain, yang juga akan mengupas kentang Cara (Metode) sebisa mungkin harus bersifat universal Ada 2 gelas kosong berukuran: 5 liter dan 3 liter Bagaimana cara kita mendapatkan air berukuran 4 liter?
Masukkan air ke 3 liter hingga penuh Masukkan air 3 liter ke 5 liter, sisa 2 liter kosong Masukkan air ke 3 liter hingga penuh Tuangkan air 3 liter ke sisa 2 liter, berarti sisa 1 liter di gelas 2 liter Buang seluruh air di gelas 5 liter tadi Tuangkan air 1 liter yg ada di gelas 3 liter tadi hingga ke 5 liter kosong Masukkan air ke 3 liter hingga penuh Tuangkan 3 liter ke gelas 5 liter yang sudah ada 1 liter tadi, hingga kita dapat 4 liter
Menggunakan untaian kalimat untuk menjelaskan langkah langkah Contoh
PROGRAM GanjilGenap Diberikan sebuah bilangan bulat positif X untuk dicek apakah termasuk ganjil atau genap
ALGORITMA 1.Jika X habis dibagi 2 maka tulis Genap, jika tidak maka tulis Ganjil Menggunakan simbol simbol untuk menggambarkan aliran atau langkah langkah Aliran proses ditunjukkan dengan arah panah atau disebut dengan flowlines.
mulai baca X X mod 2 = 0 selesai Tulis Genap Tulis Ganjil tidak ya KETERANGAN SIMBOL Mulai / Selesai (Terminator) Aliran Data Input / Output Proses Percabangan (Decision)
Pemberian nilai awal suatu variabel (Preparation) Memangggil prosedur / fungsi (Call) Connector (di halaman yang sama) Connector (di halaman lain)
Sequence process
Perulangan
- Kasus : menghitung luas segitiga - Algoritma : Masukkan alas (a) Masukkan tinggi (t) Hitung luas (L), yaitu 0.5 * alas * tinggi Cetak luas (L) Menggunakan kode kode untuk menyatakan langkah langkah Bentuk informal untuk mendeskripsikan algoritma yang mengikuti struktur bahasa pemrograman tertentu. Contoh
DEKLARASI X : integer
ALGORITMA read(X) if X mod 2 = 0 then {apakah X habis dibagi 2} write(Genap) {jika ya} else write(Ganjil) {jika tidak} Struktur algoritma yang digunakan mengacu pada struktur pemrograman bahasa Pascal yang terdiri dari 3 (tiga) bagian,
Judul Deklarasi/Kamus data Badan Program Pada bagian Judul, digunakan sebagai tempat untuk mencantumkan nama atau judul program. Terdapat aturan penulisan judul, yakni: Tidak diawali dengan angka atau karakter selain alphabet Tidak terdapat karakter spasi atau karakter selain alphabet kecuali karakter underscore _ (sebagai pengganti karakter spasi).
Sebagai tempat untuk mencantumkan variabel, konstanta, dan record. Mengingat cara eksekusi kode program dilakukan berurut dari atas ke bawah maka, deklarasi diletakkan di awal program setelah bagian judul. Hal-hal yang dideklarasikan pada bagian ini digunakan sebagai reservasi alokasi memory untuk penyimpanan data dan akan digunakan selama program bekerja. Pada bahasa pemrograman Pascal, bagian deklarasi juga berfungsi untuk mendeklarasikan nama function dan procedure.
Pada bagian badan program, digunakan untuk meletakkan semua algoritma atau kode-kode program. Bagian ini diawali dengan BEGIN dan diakhiri dengan END. Semua algoritma atau kode program wajib dituliskan diantara kedua penanda tersebut.
Algoritma Pseudo-code Masukkan panjang Input panjang Masukkan lebar Input lebar Nilai luas adalah panjang x lebar Luas panjang x lebar Tampilkan luas Print luas Contoh lain: Algoritma Pseudo-code Jika sudah selesai, cetak invoice IF KONDISI_SELESAI = DONE THEN PRINT INVOICE Nilai A dibagi dengan 2 A A / 2 Jika nilai A lebih besar dari 2 maka nilai A dikalikan 3 IF A > 2 THEN A A x 3 Dari dua bilangan A dan B, cari bilangan yang terbesar IF A > B THEN PRINT A ELSE PRINT B Masukkan semua mata kuliah yang ingin diambil pada semester ini DARI MATKUL = 0 SAMPAI MATKUL <= MATKUL_DIINGINKAN, MASUKAN DATA MATKUL Sebenarnya tidak ada aturan mengikat tentang penulisan algoritma dan pseudo-code, karena fungsi kedua hal ini adalah untuk memudahkan seseorang untuk menggambarkan urutan suatu kejadian. Algoritma dan pseudo-code untuk para programmer, berfungsi sebagai dasar alur pembuatan program. Di mana dapat merepresentasikan alur cerita dari client tentang kebutuhan dasar dari sebuah program, sehingga lebih mudah untuk dipahami. Jadi pseudo-code bisa dikatakan juga sebagai algortima yang sudah sedikit digabungkan dengan bahasa pemrograman yang akan digunakan. Terdapat 2 buah ember A dan B masing masing memiliki isi yang berbeda. Tuliskan algoritma untuk menukarkan isi masing masing ember tersebut.
ALGORITMA - untuk menukar air dari ember A ke ember B,dibutuhkan satu ember kosong yaitu C. - air yang ada di ember A kita pindah dahulu ke ember C. - sekarang ember A kosong, kemudian isi yang ada di ember B kita pindah ke ember A. - sekarang ember A terisi dan ember B kosong. - kemudian isi yang ada di ember C kita pindah ke ember B. - sehingga ember A dan B sudah terisi dan tertukar sedang ember C menjadi kosong. FLOWCHART
mulai baca A,B,C selesai Tampilkan A,B C = A A = B B = C Pseudo code DEKLARASI A,B,C : integer
ALGORITMA A = 2 B = 5 C A isi di variabel A sudah pindah ke variabel C A B isi yang ada di variabel B sudah pindah ke variabel A B C isi yang ada di variabel C sudah pindah ke variabel B sehingga
Pendekatan sederhana untuk komunikasi profesional: Panduan praktis untuk komunikasi profesional dan strategi komunikasi bisnis tertulis dan interpersonal terbaik