pemrograman komputer -...

27
Pemrograman Komputer Oleh : Agus Priyanto, M.Kom

Upload: dangkhuong

Post on 05-Feb-2018

246 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

Pemrograman KomputerOleh : Agus Priyanto, M.KomOleh : Agus Priyanto, M.Kom

Page 2: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

Tujuan Pembelajaran

1. Memahami bagaimana komputer menanganidata elektronik

2. Memahami komponen yang terlibat dalam2. Memahami komponen yang terlibat dalammemproduksi informasi

3. Memahami perbedaan bahasa pemrogramandi setiap tingkatan

Page 3: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

Algoritma Dan Pemrograman

Algoritma adalah jantung ilmu komputer daninformatika. Banyak cabang dari ilmu komputeryang diacu dalam terminology algoritma.

Algoritma berasal dari kata algorism yang berarti proses menghitung. Kata algorism berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’afar Muhammad IbnuMusa al-Khuwarizmi

3

Page 4: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

Definisi Algoritma

Urutan langkah-langkah logis penyelesaianmasalah yang disusun secara sistematis

Urutan logis pengambilan keputusan untuk pemecahan Urutan logis pengambilan keputusan untuk pemecahanmasalah

4

Page 5: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

Ciri Penting Algoritma

Memiliki Input

Algoritma dapat memiliki nol atau lebih inputan dariluar.

Memiliki Output

Algoritma harus memiliki minimal satu buah output keluaran.

5

Page 6: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

Definiteness (pasti)

Algoritma memiliki instruksi-instruksi yang jelas dantidak ambigu atau memilikuiarti ganda.

Finiteness (ada batas atau berakhir)

Algoritma harus memiliki titik berhenti (stopping role).

Page 7: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

Effectiveness(efektif dan efisien)

• Algoritma sebisa mungkin harus dapat dilaksanakandan efektif.

• Contoh instruksi yang tidak efektif adalah : A = A + • Contoh instruksi yang tidak efektif adalah : A = A + 0 atau A = A * 1.

7

Page 8: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

Belajar Memprogram danBelajar Bahasa Pemrograman Belajar Memprogram :

Pemahaman persoalan, analisis, dan sintesis

Pemecahan Masalah

Belajar Bahasa Pemrograman :

• Belajar memakai suatu bahasa

• Aturan sintaks (tata bahasa)

8

Pemecahan Masalah

-Strategi-Metodologi-Sistematika

Notasi yang telah disepakati

Page 9: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

Bahasa Pemrograman

Bahasa pemrograman adalah bahasa buatanyang digunakan untuk mengendalikanperilaku dari sebuah mesin, biasanya berupamesin komputer, sehingga dapat digunakanuntuk memberitahu komputer tentang apauntuk memberitahu komputer tentang apayang harus dilakukan

Struktur bahasa ini memiliki kemiripan denganbahasa natural manusia

Page 10: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

Klasifikasi menurut generasi

1. First Generation Language (1GL)Bahasa pemrograman ini berupa kode-kode mesin yang hanyabisa dipahami oleh mikroprosesor.

2. Second Generation Language (2GL)2. Second Generation Language (2GL)• Bahasa pada generasi ini adalah assembly language, dimana

bahasa ini masih menggunakan kode-kode yang disebutdengan mnemonic.

• Bahasa assembly disebut sebagai generasi kedua karenabahasa ini bukan bahasa asli mikroprosesor, meskipunbegitu programer tetap harus mengetahui keunikan darimasing masing mikroprosesor (registe r dan jenis instruksi).

Page 11: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

3. Generasi ketiga• Bahasa pemrograman generasi ketiga sengaja didesain

supaya

mudah dipahami oleh manusia.

Pada generasi ini mulai dikenalkan istilah variabel, tipe• Pada generasi ini mulai dikenalkan istilah variabel, tipedata, ekspresi aljabar dan sudah mendukungpemrograman terstruktur.C

• Contoh bahasa: FORTRAN, COBOL, ALGOL, BASIC, C, C++, Pascal, Java.

Page 12: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

4. Generasi keempat• Pada generasi ini, bahasa pemrograman didesain

untuk mengurangi effort dan mempercepat prosespembuatan program.

• Pada 3GL, pembuatan program membutuhkan• Pada 3GL, pembuatan program membutuhkanwaktu yang lama dan mudah sekali didapatierror.

• Pada 4GL, telah menggunakan metod ologi dimanasebuah perintah dapat menghasilkan beberapainstruksi 3GL yang kompleks dengan sedikit error.

• Contoh bahasa:

Page 13: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

• Contoh bahasa :

Pemrograman umum : DataFlex, WinDev, PowerBuilder

Basis data : SQL, Progress 4GL

Manipulasi data, analisis dan pelaporan : ABAP, Manipulasi data, analisis dan pelaporan : ABAP, Matlab, PL/SQL.

Page 14: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

5. Generasi kelima• Bahasa pemrograman generasi kelima disebut sebagai

constraintprogramming atau declarative-programming.

• Dalam membuat program tidak dituliskan dalambentuk algoritma melainkan dituliskan batasan ataubentuk algoritma melainkan dituliskan batasan ataufakta dari sebuah lingkup masalah, sehingga program akan menghasilkan luaran dalam bentuk solusi.

• Bahasa pemrograman ini digunakan untukmembangun sistem kecerdasan buatan dan belumdigunakan secara meluas di dunia industri. Contohbahasa: Prolog, LISP, Mercury

Page 15: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

Klasifikasi menurut tingkatan

1. Low -level programming language• Tingkat bahasa pemrograman ini disebut rendah

bukan karena posisinya berada di bawah, melainkankarena kurangnya abstraksi (penggambaran kodeinstruksi) antara bahasa natural dengan bahasa mesininstruksi) antara bahasa natural dengan bahasa mesin

• Oleh karena itu, bahasa di tingkat ini sering disebutsebagai ’bahasa mesin’

• Bahasa pemrograman yang masuk kategori ini adalahbahasa mesin itu sendiri (1GL) dan bahasa assembly (2GL).

Page 16: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

2. High-level programming l anguage(HLL)

Bahasa pemrograman di tingkat ini memilikiabstraksi yang lebih banyak dan terdapatabstraksi yang lebih banyak dan terdapatkemiripan dengan bahasa natural (bahasa Inggris), lebih mudah untuk digunakan dan mudah untukdipindahkan antar platform

Page 17: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

3. Very high-level programming language (VHLL)

• Bahasa ini memiliki abstraksi yang lebih tinggidibandingkan HLL, dan digunakan untukdibandingkan HLL, dan digunakan untukmenunjang produktifitas programer profesional.

• Biasanya VHLL digunakan hanya untuk tujuanyang spesifik, misalnya untuk keperluan bisnis: mengolah data, membuat laporan, dsb.

Page 18: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

TIOBE Index for August

2015

Page 19: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

Flowchart

Dalam membuat algoritma, diperlukan suatumekanisme atau alat bantu untuk menuangkanhasil pemikiran mengenai langkah –langkahpenyelesaian masalah yang sistematis danterurutterurut

Pada dasarnya untuk bisa menyusun solusidiperlukan kemampuan problem-solving yang baik

Page 20: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

Secara formal, flowchart didefinisikan sebagaiskema penggambaran dari algoritma atauproses

Tabel berikut menampilkan simbol -simbolyang digunakan dalam menyusun flowchart

Page 21: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

Flowchart Simbol

Page 22: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

Berikut ini adalah flowchart untuk menggambarkankegiatan membuat telurdadar :dadar :

Page 23: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

Pseudocode

• Skema lain yang dapat digunakan untukmenyusun algoritma adalah pseudocode

• Pseudocode adalah bentuk informal untuk• Pseudocode adalah bentuk informal untukmendeskripsikan algoritma yang mengikutistruktur bahasa pemrograman tertentu

Page 24: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

• Tujuan dari penggunaan pseudocode adalahsupaya :

1. lebih mudah dibaca oleh manusia

2. lebih mudah untuk dipahami2. lebih mudah untuk dipahami

3. lebih mudah dalam menuangkan ide/hasilpemikiran

Page 25: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

• Pseudocode lebih cocok digunakan untukmenyusun algoritma dengan kasus yang besardan kompleks

• Sangat dianjurkan kepada programmer pemula untuk mulai menggunakanpseudocode dalam menyelesaikan masalah

Page 26: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress

if sales > 1000 then

bonus sales * 25%

salary 2000000 + bonus

if (sales > 1000)

bonus = sales * 25%

salary = 2000000 + bonus

Pseudocode C++

salary 2000000 + bonus

output(salary)

salary = 2000000 + bonus

cout(salary)

Page 27: Pemrograman Komputer - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Belajar Memprogram dan ... Basis data : SQL, Progress