PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab,...

36
Pemrograman Komputer Oleh : Agus Priyanto, M.Kom

Transcript of PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab,...

Page 1: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

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

Page 2: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

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: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

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: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

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: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

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: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

Definiteness (pasti)

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

Finiteness (ada batas atau berakhir)

Algoritma harus memiliki titik berhenti (stopping role).

Page 7: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

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: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

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: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

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: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

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: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

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: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

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: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

• 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: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

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: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

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: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

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: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

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: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

TIOBE Index for August

2015

Page 19: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

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: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

Secara formal, flowchart didefinisikan sebagaiskema penggambaran dari algoritma atauproses

Tabel berikut menampilkan simbol -simbolyang digunakan dalam menyusun flowchart

Page 21: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

Flowchart Simbol

Page 22: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

Berikut ini adalah flowchart untuk menggambarkankegiatan membuat telurdadar :dadar :

Page 23: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

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: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

• 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: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

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

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

Page 26: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

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: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

AlgoritmaAlgoritma PengerjaanPengerjaan didalamdidalam ResepResep MakananMakanan

1. Tuangkan satu gelas santan ke dalam wajan.

2. Masukkan bumbu-bumbu yang sudah dihaluskan.

3. Aduk hingga merata.3. Aduk hingga merata.

4. Tambahkan garam, merica dan kecap asin.

5. Masak dengan api sedang, sambil diaduk-aduk.

Page 28: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

Algoritma Dalam Mengerjakan PraktikumKimia

1. Siapkan tabung reaksi ukuran 100cc.

2. Teteskan 50 cc larutan H2SO4 ke dalamtabung.tabung.

3. Campurkan 20 cc larutan NaOH kedalamnya, aduk hingga tercampur merata.

Page 29: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

Algoritma Mengirim Surat Kepada Teman

1. Tulis surat pada secarik kertas surat.

2. Ambil sampul surat.

3. Masukkan surat ke dalam sampul.

4. Tutup sampul surat menggunakan perekat.

5. Jika kita ingat alamat teman tersebut, maka tulis alamat5. Jika kita ingat alamat teman tersebut, maka tulis alamatpada sampul surat.

6. Jika tidak ingat, lihat buku alamat, kemudian tulis alamatpada sampul surat.

7. Tempel perangko pada surat.

8. Bawa surat ke kantor pos untuk diposkan.

Page 30: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

Algoritma Mencari Kuadrat SuatuBilangan

1. Masukkan bilangan A yang akan dkuadratkan

2. Kalikan A dengan A

3. Selesai

Page 31: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

Latihan Soal

1. Buatlah algoritma dalam mengganti ban mobil yang pecah, tanpa masalah atau syarat.

2. Dari soal nomor 1, ban serep kempes.2. Dari soal nomor 1, ban serep kempes.

3. Dari soal nomor 1, ban serep bocor danharus ditambal.

Page 32: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

Algoritma Dalam Mengganti Ban Mobil Yang Pecah, Tanpa Masalah Atau Syarat

1. Start

2. Parkirkan mobil ditempat yang aman

3. Pasang segitiga pengaman pada sisi mobil

4. Ambil dongkrak dan kunci T

5. Ambil ban serep

6. Dongkrak mobil6. Dongkrak mobil

7. Buka baut ban menggunakan kunci T

8. Lepas ban mobil yang pecah

9. Pasang ban serep

10. Pasang kembali baut ban

11. Lepaskan dongkrak

12. Simpan ban pecah, kunci T, dan segitiga pengaman

13. End.

Page 33: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

Tugas

Buatlah algoritma untuk menghitung luasdan keliling lingkaran. Dengan masukan jari-jari lingkaran.

Page 34: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

Menghitung Luas Lingkaran

1. Start

2. Menetapkan nilai Phi yaitu 3.14

3. Masukan jari-jari lingkaran

4. Menghitung luas lingkaran dengan rumus4. Menghitung luas lingkaran dengan rumusL=phi x r x r

5. Mencetak nilai Luas

6. Finish

Page 35: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...

Menghitung Keliling Lingkaran

1. Start

2. Menetapkan nilai Phi yaitu 3.14

3. Masukan jari-jari lingkaran

4. Menghitung keliling lingkaran dengan rumus4. Menghitung keliling lingkaran dengan rumusK=2 x phi x r

5. Mencetak nilai Keliling

6. Finish

Page 36: PemrogramanKomputeraguspri.dosen.st3telkom.ac.id/wp-content/uploads/sites/19/2015/12/... · Matlab, PL/SQL. 5. Generasi kelima • Bahasapemrogramangenerasikelimadisebutsebagai ...