pemrograman komputer -...
TRANSCRIPT
Pemrograman KomputerOleh : Agus Priyanto, M.KomOleh : Agus Priyanto, M.Kom
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
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
Definisi Algoritma
Urutan langkah-langkah logis penyelesaianmasalah yang disusun secara sistematis
Urutan logis pengambilan keputusan untuk pemecahan Urutan logis pengambilan keputusan untuk pemecahanmasalah
4
Ciri Penting Algoritma
Memiliki Input
Algoritma dapat memiliki nol atau lebih inputan dariluar.
Memiliki Output
Algoritma harus memiliki minimal satu buah output keluaran.
5
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).
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
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
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
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).
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.
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:
• 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.
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
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).
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
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.
TIOBE Index for August
2015
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
Secara formal, flowchart didefinisikan sebagaiskema penggambaran dari algoritma atauproses
Tabel berikut menampilkan simbol -simbolyang digunakan dalam menyusun flowchart
Flowchart Simbol
Berikut ini adalah flowchart untuk menggambarkankegiatan membuat telurdadar :dadar :
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
• 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
• Pseudocode lebih cocok digunakan untukmenyusun algoritma dengan kasus yang besardan kompleks
• Sangat dianjurkan kepada programmer pemula untuk mulai menggunakanpseudocode dalam menyelesaikan masalah
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)