Algoritma & Pemrograman IC

Konsep Dasar Pemrograman

Tahapan pembuatan program adalah mendefinisikan masalah dan menganalisanya. Mencakup : tujuan pembuatan program, parameter yang digunakan, fasilitas yang disediakan, algoritma yang diterapkan dan bahasa program yang digunakan.

Merealisasikan dengan langkah-langkah sebagai berikut:

Start

Design Algoritma & Flowcart

Menulis Program

Test kebenaran Program

Dokumentasi

Arsip

Algoritma : urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis

Flowchart : merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta instruksinya.

Program : kumpulan instruksi yang dibuat oleh programmer untuk mengatur.

Pemrograman :  kumpulan perintah ke komputer untuk mengerjakan sesuatu.

Bahasa Pemrograman : prosedur cara penulisan program. Pada bahasa pemrograman terdapat dua factor penting, yaitu sintaks dan semantik.

Fungsi Bahasa Pemrograman : sebagai media untuk menyusun dan memahami serta sebagai alat komunikasi antara pemrogram dengan komputer.

Secara umum terdapat 4 kelompok Bahasa Pemrograman, yaitu :

  1. Object Oriented Language (Visual dBase, Visual FoxPro, Delphi, Visual C)
  2. High Level Language (seperti Pascal dan Basic)
  3. Middle Level Language (seperti bahasa C), dan
  4. Low Level Language (seperti bahasa Assembly)

Tipe Pemrograman ada 7 macam, yaitu :

  1. Pemrograman Prosedural

Algoritma berisi urutan langkah-langkah penyelesaian masalah. Ini berarti algoritma adalah proses yang procedural. Contoh : Cobol, Basic, pascal, Fortran dan C.

  1. Pemrograman Terstruktur

Pemrograman yang mendukung abstraksi data, pengkodean terstruktur dan kontrol program terstruktur. Contoh : Pascal, Cobol, RPG, ADA, C.

  1. Pemrograman Modular

Pemrograman modular diterapkan dengan menggunakan sub-routine, yaitu sebuah kumpulan perintah yang melakukan tugas pemrosesan yang terbatas. Pemrograman ini banyak dimanfaatkan oleh Bahasa Pemrograman Berbasis Obyek.

  1. Pemrograman Fungsional

Bahasa pemrograman fungsional merupakan salah satu bahasa pemrograman yang memperlakukan proses komputasi sebagai evaluasi fungsi-fungsi matematika. Contoh : Lisp, Scheme, ML, Haskell.

  1. Pemrograman Berorientasi Obyek

Ciri-ciri pemrograman yang berorientasi obyek :

    • mampu memanfaatkan obyek-obyek yang tersedia atau membuat suatu obyek tertentu dengan menggunakan bahasa pemrograman.
    • Mampu merefleksikan kebutuhan-kebutuhan user sebagaimana layaknya yang ada di dunia nyata
    • Relatif lebih fleksibel dan mudah diadaptasikan terhadap perubahan suatu program
    • Memiliki feature yang memperkuat dan meningkatkan fleksibilitas suatu obyek dengan adanya class, instance, encapsulation, inheritance, reusability, dan polymorphism.

Contoh : C++, SmallTalks, Java.

  1. Pemrograman Visual
    1. Penggunaan ekspresi visual seperti grafik, gambar, atau ikon dalam proses pemrograman
    2. Mengacu pada aktivitas yang memungkinkan pengguna untuk membuat program dalam dua atau lebih dimensi.
  2. Pemrograman Even-Driven

Menggunakan konsep “jika sebuah aksi/perintah dilakukan terhadap sebuah obyek, apa yang akan terjadi/dilakukan oleh obyek tersebut selanjutnya”. Sangat fleksibel dalam pembuatan koding program, karena sudah mengunakan konsep OOP dimana pemrograman dapat dimulai dari obyek yang diinginkan tanpa harus terurut. Biasanya meruapakan jenis bahasa pemrograman visual. Contoh : Visual Basic, Visual C++, Delphi.

Data

Data : bahan mentah yang akan diolah menjadi informasi sehingga dapat digunakan oleh user atau pemakai.

Tipe data yang biasa digunakan adalah :

1. Tipe Data Dasar merupakan tipe data primitif yang tidak terstruktur yang    didefinisikan  oleh bahasa pemrograman.

Tipe data dasar dibagi menjadi 6 bagian, yaitu :

    1. Tipe Data Numerik : yaitu data berupa angka.
  • Integer : merupakan bilangan bulat positif dan negatif
  • Real : merupakan bilangan desimal atau mantissa

o        Subrange : merupakan sebuah subtype dari tipe data integer dan terdiri dari urutan nilai-nilai integer dalam range yang terbatas

§         Fixed-point real : bilangan ini direpresentasikan dengan urutan digit yang mempunyai panjang tetap dengan titik desimal diposisikan di tempat yang diberikan antara dua digit

    1. Enumerasi : adalah suatu urutan list dari nilai-nilai yang berbeda.
    2. Boolean : tipe data untuk merepresentasikan True atau False (biasa digunakan dalam penyeleksian kondisi).
    3. Character : berupa sebuah karakter yang ditulis diantara tanda petik tunggal atau ganda ( ‘ atau “ ) tergantung dari bahasa pemrograman yang digunakan.
    4. String : urutan-urutan dari karakter yang terletak diantara tanda petik tunggal atau ganda ( ‘ atau “ ) tergantung dari bahasa pemrograman yang digunakan.
    5. Internationalization : disebut I 18N

2. Tipe Data Terstruktur : merupakan tipe data campuran dari berbagai tipe data dasar, contohnya : array, record, string, list dan file.

3. Tipe data didefinisikan oleh pemakai : tipe data ini biasa disebut Enumerasi

4. Tipe Data Penunjuk : contoh tipe data penunjuk adalah pointer

Model Komputasi

Ada tiga model dasar komputasional– fungsional, logika, dan imperatif. Sebagai tambahan terhadap satuan nilai-nilai dan operasi yang berhubungan, masing-masing model komputasional mempunyai satu set operasi yang digunakan untuk menggambarkan komputasi.

a. Model Fungsional

Terdiri dari satu set nilai-nilai, fungsi-fungsi dan operasi aplikasi fungsi dan komposisi fungsi. Fungsi dapat mengambil fungsi lain sebagai argumentasi dan mengembalikan fungsi sebagai hasil (higher-order function). Suatu program adalah koleksi definisi fungsi-fungsi dan suatu komputasi adalah aplikasi fungsi.

b. Model Logika

Terdiri dari satu set nilai-nilai, definisi hubungan dan kesimpulan logis. Program terdiri dari definisi hubungan dan suatu komputasi adalah suatu bukti(suatu urutan kesimpulan).

c. Model Imperatif

Terdiri dari satu set nilai-nilai yang mencakup suatu keadaan dan operasi tugas untuk memodifikasi pernyataan. Pernyataan adalah set pasangan nilai-nama dari konstanta dan variabel. Program terdiri dari urutan tugas dan suatu komputasi terdiri dari urutan pernyataan.

Definisi Sintaks, Sematik, dan Pragmatis

Sintaks : aturan gramatikal atau komposisi suatu program yang mengatur tata cara penulisan huruf, angka dan karakter lain. Contoh : pada pembuatan program Pascal antara dua statement dipisahkan oleh titik koma (;).

X := 1 ; X := X + 1;

Semantik : mendefinisikan arti dari dari program yang benar secara sintaks dari bahasa pemrograman tersebut. Contoh : Pada pembuatan program C

Int vector [10]

Arti semantiknya : akan menyebabkan ruang sebanyak 10 elemen integer diberikan kepada variabel bernama vector ( 0 – 9 untuk array dalam C)

Pragmatis : memperhatikan tentang pemakaian bahasa, area aplikasi, kemudahan implementasi dan penggunaan, dan sukses bahasa didalam desain pelaksanaan tujuannya. Kekuatan yang membentuk suatu bahasa pemrograman meliputi arsitektur komputer, praktek rancang-bangun perangkat lunak (terutama daur hidup perangkat lunak), model komputasional, dan daerah aplikasi (contoh: alat penghubung pemakai, sistem pemprograman, dan sistem ahli).

Tujuan umum bahasa pemrograman berpegang pada prinsip desain bahasa pemrograman yang berikut.

Prinsip Desain Bahasa pemrograman

Suatu bahasa program harus dirancang untuk memudahkan agar dapat dibaca dan ditulis untuk para pemakai manusianya dan pelaksanaan efisien pada perangkat keras yang tersedia.

Keadaan dapat dibaca dan ditulis dimudahkan oleh prinsip yang berikut.

Prinsip Kelengkapan Komputasional

Model komputasional untuk tujuan umum suatu bahasa pemrograman harus universal.

Prinsip Implementasi

Implementasi harus efisien dalam penggunaan waktu dan ruangnya. Prinsip Memprogram harus ditulis dalam suatu bahasa yang mencerminkan daerah masalah

Prinsip Kesederhanaan

Bahasa harus didasarkan atas yang paling sedikit

Prinsip Orthogonal

Fungsi mandiri harus dikendalikan oleh mekanisme mandiri.

Prinsip Keteraturan

Satu set object disebut reguler berkenaan dengan kondisi beberapa jika, dan hanya jika, kondisi dapat digunakan untuk masing-masing unsur set.

Prinsip Sifat Ekstensibilitas(dapat diperpanjang)

Object baru dari tiap kelas sintaktis mungkin dibangun (digambarkan) dari dasar dan digambarkan membangun dengan suatu cara sistematis.

Prinsip keteraturan dan ekstensibilitas memerlukan konsep dasar bahasa harus diterapkan secara konsisten dan yang bersifat universal.

Pada halaman berikut kita akan belajar bahasa pemrograman sebagai perwujudan model komputasional, ilmu semantik sebagai hubungan antara model komputasional dan sintaksis, dan berhubungan pragmatis.

Prinsip Clarity, Simplicity dan Unity

Bahasa pemrograman harus dapat menolong programmer untuk membuat suatu desain program jauh sebelum programmer melakukan coding.

Kemudahan, kesederhanaan dan kesatuan merupakan suatu kombinasi yang membantu programmer mengembangkan suatu algoritma sehingga algoritma yang dihasilkan mempunyai kompleksitas yang rendah.

Orthogonality

Orthogonality menunjuk kepada suatu atribut yang dapat dikombinasikan dengan beragam fitur bahasa pemrograman sehingga setiap kombinasinya mempunyai arti dan dapat digunakan.

Kewajaran untuk Aplikasi

Bahasa pemrograman membutuhkan sintaks yang cocok/tepat yang digunakan pada struktur program untuk merefleksikan struktur logika yang melandasi suatu algoritma.

Mendukung Abstraksi

Abstraksi merupakan suatu hal yang substansial bagi programmer untuk membuat suatu solusi dari masalah yang dihadapi. Kemudian abstraksi tersebut dapat dengan mudah diimplementasikan menggunakan fitur-fitur yang ada dalam bahasa pemrograman.

Kemudahan untuk Verifikasi Program

Verifikasi program merupakan hal penting bagi sebuah program karena dengan verifikasi yang mudah maka satu program akan dengan mudah dibangun dan dikembangkan.

Lingkungan Pemrograman

Bahasa pemrograman yang mempunyai lingkungan pemrograman yang baik dan lengkap akan memudahkan programmer untuk mengimplementasikan abstraksi yang sudah disusunnya.

Portabilitas Program

Salah satu kriteria penting untuk proyek pemrograman adalah kemudahan program yang sudah jadi untuk dipindah-pindahkan dari komputer yang digunakan untuk membuat dan mengembangkan ke komputer lain yang akan menggunakannya.

Biaya Penggunaan

Biaya merupakan elemen penting dalam mengevaluasi suatu bahasa pemrograman.

Ada beberapa biaya yang dapat diukur yaitu :

  1. Biaya Eksekusi Program
  2. Biaya Translasi/kompilasi Program
  3. Biaya Penciptaan, Testing dan Penggunaan Program
  4. Biaya Pemeliharaan Program

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s