Algoritma & Pemrograman I I
Nama : Danang Junaedi Panggilan : ADA or danang Email :
[email protected] No HP : 08562303178 Blog http://danangjunaedi.wordpress.com materi kuliah http://danangjunaedi.blogspot.com my journey o Social Network Friendster : http://www.friendster.com/adadanang Facebook : http://www.facebook.com/danangjunaedi? o YM : danang_junaedi (cuman jarang on-line, males) o o o o o
About Me
Jurusan Teknik Informatika
I-2
Universitas Widyatama
Algoritma & Pemrograman I I
Overview
Pendahuluan
o o o o o o
Deskripsi Tujuan Instruksional & Kaitan Materi Urutan Bahasan Penilaian & Grade Referensi Tata Tertib Perkuliahan
Sesi 01 Dosen Pembina : Danang Junaedi
Jurusan Teknik Informatika
I-4
Algoritma & Pemrograman I I
Universitas Widyatama
Algoritma & Pemrograman I I
Deskripsi
Tujuan Instruksional & Kaitan Materi o Tujuan Umum
Mata kuliah ini mengajarkan tentang konsep dan logika berpikir serta teknik penyelesaian masalah, cara analisis masalah dan perancangan solusi dari masalah tersebut, yang kemudian dipecahkan (implementasi) dengan menggunakan teknik pemrograman terstruktur. Selain itu juga diperkenalkan dan diajarkan penggunaan bahasa pemrograman (Bahasa C/C++) sebagai bahasa untuk pemrograman terstruktur serta MinGW sebagai tools untuk mengkompilasi program.
Setelah proses perkuliahan, mahasiswa memiliki kemampuan untuk tingkat pemahaman menjelaskan konsep dan logika berpikir serta teknik penyelesaian masalah, prinsip kerja serta jalannya program, analisis masalah dan perancangan solusi, yang kemudian diimplementasikan dengan menggunakan teknik pemrograman terstruktur. tingkat aplikasi mengimplementasikan konsep dan logika berpikir serta teknik penyelesaian masalah, analisis masalah dan perancangan solusi serta membuat penyelesaian masalah dengan menggunakan pemrograman terstruktur, kemudian mengeksekusi dan melakukan pengujian program tanpa tergantung pada bahasa pemrograman apapun (minimal menggunakan bahasa pemrograman C/C++).
o Kaitan Materi -
Jurusan Teknik Informatika
I-5
Universitas Widyatama
Jurusan Teknik Informatika
I-6
Universitas Widyatama
1
Algoritma & Pemrograman I I
Algoritma & Pemrograman I I
Urutan Pembahasan
Penilaian & Grade o Penilaian *
Pertemuan
Materi
1
Pendahuluan (Susunan Materi, Aturan Perkuliahan, Aturan Penilaian, grade nilai, referensi); Introduction (pengertianpengertian dasar, Pendeklarasian Data dan Ekspresi)
2-5 6-7 8
Quiz
10%
Grade
Tugas
15%
A
≥ 85
Presentasi
10%
B
75 - 85
Tutorial
10%
C
60 - 75
UTS
25%
D
45 - 60
Array; Presentasi (optional)
UAS
30%
E
< 45
UTS
Kehadiran
Struktur dasar algoritma; Presentasi(optional)
dasar-dasar
Pemrograman;
9-11
Searching & Sorting; Presentasi (optional)
12-13
Fungsi & Prosedur; Presentasi (optional)
14-15
Mesin abstrak, file sequential; Presentasi (optional)
16
o Grade *
5% (>80%)
Range Nilai
*) tergantung performansi kelas
Jumlah 105%
UAS
Jurusan Teknik Informatika
I-7
Universitas Widyatama
Jurusan Teknik Informatika
I-8
Universitas Widyatama
Algoritma & Pemrograman I I
Algoritma & Pemrograman I I
Referensi 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Tata Tertib Perkuliahan
Liem, Inggriani; Diktat Kuliah Algoritma & Pemrograman Prosedural : Bagian I; Teknik Informatika, ITB, 2001 Munir, Rinaldi; Algoritma dan Pemrograman : Jilid I; Informatika Bandung Deitel, H.M. and Deitel, P.J., “C++ How to Program, 2nd Edition”, Prentice Hall, 1994 Juliff, P., Program Design, 3rd Edition”, Prentice Hall, 1990 Seigel, C., “Teach Yourself C, 2nd Edition”, MIS Press, 1993. Sekarwangi, Guntari;Kurniandi, Ocke, “ Diktat Kuliah Pemrograman I (Terstuktur)”, Teknik Informatika – Universitas Widyatama, Bandung, 2004 Rilgivia, Hevi;Sekarwangi, Guntari, “ Diktat Kuliah Algoritma & Pemrograman I”, Teknik Informatika – Universitas Widyatama, Bandung, 2004 Yatini B., Indra;Nasution, Erliansyah, “Algoritma & Struktur Data dengan C++, Graha Ilmu,Yogyakarta, 2005 Sugiyono, Ir., “Pemrograman Terstruktur untuk Pelajar & Mahasiswa”, Panji Gumilang Press, Kuningan, 2005 Wahana Komputer, “Seri Buku Pintar – Menjadi Seorang Programmer Komputer” Andi, Yogyakarta, 2006 Joni, I Made; Raharjo, Budi, “Pemrograman C dan Implementasinya”, Informatika, Bandung, 2006 Raharjo, Budi, “Pemrograman C++ Mudah dan Cepat Menjadi Master C++ dengan Mengungkap Rahasia-Rahasia Pemrograman dalam C++”, Informatika, 2006 Shalahuddi, M.;A. S., Rosa, “ C++ dan Java dari Nol Menjadi Andal”, Informatika, 2007 http://lecturer.ukdw.ac.id/anton/algoritmaTI.php, Tanggal Akses : 23 Agustus 2007 http://lecturer.ukdw.ac.id/anton/algostrukdat1.php, Tanggal Akses : 23 Agustus 2007 http://www.lcusd.net/lchs/dclausen/, Tanggal Akses : 8 Agustus 2007 http://www.planetsourcecode.com http://www.programmersheaven.com Herianto, “Presentasi Pemrograman Terstruktur.ppt”,Aliminsyah, S.E., “Kamus Komputer Lengkap”, GutenTechnosains, Bandung, 2007 http://danangjunaedi.wordpress.com/2009/08/29/perkuliahan-pemrograman-i-terstruktur-i/
Jurusan Teknik Informatika
I-9
Universitas Widyatama
Introduction
o Dianjurkan membawa referensi yang terkait dengan mata kuliah Algoritma & Pemrograman I + sudah dibaca di rumah o Kalo ga ngerti nanya, kalo ga ada yang nanya ntar saya yang nanya o Mengumpulkan tugas tepat pada waktunya, boleh nyontek tapi harus ngerti o Hadir sebelum perkuliahan selesai (Batas keterlambatan 15 menit Jika dosen yang terlambat maka mahasiswa mendapat bonus nilai 100 u/ tutorial pada pertemuan tersebut. Jika mahasiswa yang terlambat, maka nilai tutorial – 50%)
o Harus selalu ikhlas, terumtama kalo saya kasih tugas, quiz n test o o o o o o
Dosen tidak selalu benar so jangan takut ngasih koreksi kalo dosen salah Dilarang membawa benda berbahaya ke dalam kelas, contohnya tabung elpiji 3 kg Selama perkuliahan berlangsung,dilarang melakukan hal-hal yang aneh, kecuali dosen Tidak dianjurkan TIDUR di kelas Dilarang bilang dosen pemrograman terstruktur jelek coz saya kan ganteng…!!! Hal-hal lain diatur kemudian
Jurusan Teknik Informatika
I - 10
Universitas Widyatama
Mengenal Algoritma & Pemrograman
Sesi 01 Dosen Pembina : Danang Junaedi
2
Algoritma & Pemrograman I I
Algoritma & Pemrograman I I
Overview
o o o o o o o o
Deskripsi
Deskripsi Tujuan khusus Pengertian Algoritma Ciri Penting Algoritma Aturan Penulisan Algoritma Program Komputer Bahasa Pemrograman Profesi Programmer
Jurusan Teknik Informatika
I - 13
Pada sesi ini membahas mengenai : 1. Pengertian Algoritma 2. Ciri Penting Algoritma 3. Aturan Penulisan Algoritma Pengenalan Komputer 4. Bahasa Pemrograman 5. Profesi Programmer
Universitas Widyatama
Jurusan Teknik Informatika
I - 14
Universitas Widyatama
Algoritma & Pemrograman I I
Tujuan Khusus
Programmer
Setelah mempelajari materi dalam pertemuan ini mahasiswa diharapkan dapat : 1. Menjelaskan pengertian, fungsi dan penggunaan algoritma 2. Menjelaskan dan menggunakan nama data, tipe data, operator dan ekspresi dalam algoritma 3. Mengetahui komponen-komponen yang terkait dengan program komputer dalam hal ini hardware dan software 4. Mengenal program komputer scara umum 5. Mengenal bahasa pemrograman secara umum 6. Mengetahui bagaimana profesi programmer beserta standar gaji profesi di bidang IT
Jurusan Teknik Informatika
I - 15
Universitas Widyatama
Algoritma & Pemrograman I I
Algoritma & Pemrograman I I
Definisi
Tugas
o Orang yang membuat atau menciptakan program komputer, suatu set nyata dari instruksi untuk dilakukan oleh komputer o Orang yang membuat program komputer dengan menggunakan bahasa pemrograman tertentu yang dapat digunakan untuk menyelesaikan permasalahan melalui otomatisi dengan bantuan software
Jurusan Teknik Informatika
I - 17
Universitas Widyatama
o Menerima model konseptual dari system analyst dan kemudian menjadikannya sebagai program executable menggunakan bahasa permograman tertentu. o Mendesain dan mengembangkan program komputer dengan menggunakan bahasa pemrograman tertentu untuk membantu menyelesaikan kegiatan sehari-harinya dengan bantuan komputer.
Jurusan Teknik Informatika
I - 18
Universitas Widyatama
3
Algoritma & Pemrograman I I
Algoritma & Pemrograman I I
Kualifikasi Programmer
Persiapan yang harus dilakukan
o Kepribadian : Selalu bergembira, Lurus hati dan berdisiplin, bijaksana, sopan santun, mudah bergaul, penuh inisiatif, tidak putus asa dan pantang menyerah, ketajaman daya ingat, penuh perhatian, percaya diri, selalu ingin tahu, bertanggung jawab o Kemampuan : Instalasi Software & Hardware, Backup & Recovery Data, Troubleshooting Hardware, Kemampuan komunikasi, Kemampuan Bahasa Pemrograman tertentu.
Jurusan Teknik Informatika
I - 19
Universitas Widyatama
o Menguasai dasar teknologi informasi o Menguasai teknik pemrograman dan bahasa pemrograman tertentu.(note : untuk yang satu ini anda harus memiliki semangat dan obsesi yang tinggi dalam belajar program) o Sertifikasi programmer professional bisa jadi nilai tambah
Jurusan Teknik Informatika
I - 20
Universitas Widyatama
Algoritma & Pemrograman I I
Kelompok Profesi & Peluang Usaha
Program Komputer
o Profesi Programmer : Web Programmer Database Programmer Game Programmer Application Programmer Antivirus Programmer
o Peluang Usaha Programmer Freelance Programmer Perusahaan Software House Jurusan Teknik Informatika
I - 21
Universitas Widyatama
Algoritma & Pemrograman I I
Algoritma & Pemrograman I I
Definisi Algoritma
Bagaimana cara Menyelesaikan Masalah?
o Suatu cara yang terdiri dari urutan langkah-langkah atau tahapan yang logis untuk menyelesaikan suatu masalah. o Desain yang menyajikan cara berpikir pemrogram yang berisi urutan langkah-langkah pencapaian solusi yang ditulis dalam notasi-notasi deskriptif untuk menyelesaikan suatu masalah
Jurusan Teknik Informatika
I - 23
Universitas Widyatama
o Apakah kita memahami masalah yang akan diselesaikan ? o Bagaimana cara memahami masalah ? Apa yang diinginkan ? Bagaimana cara mendapatkannya ? Apa yang dibutuhkan ?
Jurusan Teknik Informatika
I - 24
Universitas Widyatama
4
Algoritma & Pemrograman I I
Algoritma & Pemrograman I I
Ciri Penting Algoritma
Aturan Penulisan Algoritma
o Algoritma harus memiliki nol atau labih masukan (besaran yang diberikan pada algoritma sebelum algoritma mulai bekerja). o Algoritma harus memiliki satu atau lebih keluaran (besaran yang memiliki hubungan dengan masukan). o Algoritma harus sangkil (efektif), setiap langkah harus sederhana sehingga dapat dikerjakan dalam sejumlah waktu yang masuk akal. o Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas. o Setiap langkah harus didefinisikan dengan tepat dan tidak memiliki arti ganda (ambigous) o Banyak cara untuk membuat penyelesaian masalah, namun harus dipilih cara yang efisien (dalam hal ini algoritma yang efisien). Jurusan Teknik Informatika
I - 25
Universitas Widyatama
o Pada dasarnya, teks algoritma selalu disusun oleh tiga bagian (blok) yaitu judul algoritma, kamus dan algoritma. Setiap bagian sebaiknya disertai dengan komentar (kalimat yang diapit oleh tanda kurung kurawal) untuk memperjelas maksud teks yang dituliskan. Judul
Kamus
: menyatakan nama algoritma (nama algoritma sebaiknya singkat namun cukup menggambarkan apa yang dilakukan algoritma tersebut) : berfungsi sebagai bagian untuk mendefinisikan semua nama yang dipakai dalam algoritma
Algoritma : yang berisi langkah-langkah penyelesaian masalah
Jurusan Teknik Informatika
I - 26
Universitas Widyatama
Algoritma & Pemrograman I I
Definisi
Pengenalan Algoritma
o Kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program) o Kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan. (Menurut P. Insap Santosa) o Suatu rangkaian instruksi-instruksi dalam bahasa komputer yang disusun secara logis dan sistematis dengan tujuan untuk memecahkan suatu masalah serta nembuat mudah pekerjaan penggunan komputer. o Mem-program komputer, secara teknis bertujuan untuk Memasukkan/ menyusun sejumlah instruksi dan data ke memory, yang selanjutnya akan diambil satu persatu oleh CPU/Processor untuk dilaksanakan
Jurusan Teknik Informatika
I - 28
Algoritma & Pemrograman I I
Universitas Widyatama
Algoritma & Pemrograman I I
Kriteria
Prinsip Kerja Menulis program dan menyimpannya sebagai source file (file sumber)
File Sumber
Revisi File Sumber
Compiler mentranslasi program
File Objek baru
Pembetulan syntax error
Daftar kesalahan
File Objek lain
Linker menggabungkan file objek yang baru dengan file file objek yang lain
Loader menempatkan file executable ke dalam memori
File Executable
o o o o o o o o o
Ekspresifitas Definitas Tipe data dan strukturnya Modularitas Adanya Input dan Output Portabilitas Efisiensi Interaktif Umum
Program executable ada di memori
-
Jurusan Teknik Informatika
I - 29
Universitas Widyatama
Jurusan Teknik Informatika
I - 30
Universitas Widyatama
5
Algoritma & Pemrograman I I
Algoritma & Pemrograman I I
Sifat Pemrograman
Aspek Program
o Program Oriented : program selalu berubah, bersifat statis dan tidak flexible. Ex : Program Animasi o Data Oriented : program tidak selalu berubah, bersifat dinamis, dan flexibilitas tinggi. Ex : Program Aplikasi o Program Interaktif :dapat mengatur piranti masukan & keluaran o Program Efisiensi : program yang efisien dalam hal pernyataan atau instruksi program itu sendiri, pemakaian memori, dan pemakaian piranti masukan & keluaran. o Portabilitas Program : penulisan program ditentukan oleh mesin komputer dan/atau Sistem operasinya
Jurusan Teknik Informatika
I - 31
Universitas Widyatama
o Brainware o Hardware o Software
Jurusan Teknik Informatika
I - 32
Universitas Widyatama
Algoritma & Pemrograman I I
Definisi
Hardware
o Secara bahasa berarti perangkat keras dari komputer o Secara istilah berarti bagian dari komputer yang dapat dirasakan kehadirannya secara fisik dengan cara dilihat dan disentuh. o Secara elektronik berupa rangkaian elektronika yang terdiri dari komponen-komponen elektronik seperti IC, resistor, kapasitor, diode dan lainnya.
Jurusan Teknik Informatika
I - 34
Universitas Widyatama
Algoritma & Pemrograman I I
Model Konseptual
Software
Memori Sekunder Peralatan Output
Peralatan Input
Memori Utama Monitor Keyboard
Central Processing Unit
Mouse Monitor
Jurusan Teknik Informatika
I - 35
Universitas Widyatama
6
Algoritma & Pemrograman I I
Algoritma & Pemrograman I I
Definisi
Diagram Software
o Secara bahasa berarti perangkat lunak dari komputer o Secara istilah berarti Bagian dari komputer yang digunakan untuk membantu pekerjaan proses komputer dalam fasilitas berbentuk program. Perangkat lunak yang memungkinkan komputer mengerjakan halhal yang bersifat khusus, sesuai dengan kebutuhan kita. Kumpulan instruksi yang membuat komputer dan hardware melakukan suatu tugas, software disebut juga sebagai program.
Jurusan Teknik Informatika
I - 37
Universitas Widyatama
Jurusan Teknik Informatika
I - 38
Universitas Widyatama
Algoritma & Pemrograman I I
Jenis Program Komputer
Bahasa Pemrograman
o Berdasarkan jumlah Pengguna Multi User : program yang digunakan oleh lebih dari satu orang pada saat yang bersamaan. Ex : DOS, Windows Single User : program yang hanya digunakan oleh satu rang pada satu saat. Ex : Linux, UNIX o Berdasarkan Tampilan GUI (Graphical User interface) Ex :Visual Basic, delphi dll. CUI (Command User interface) Ex : Pascal, C, Perl dll. o Berdasarkan Tempat Menjalankan Program 32 bit 64 bit o Berdasarkan Konfigurasi Stand Alone : semua lapisan penyusun program terletak pada satu komputer Two Tier (Client Server) : Server berfungsi sebagai penyedia informasi dan Client berfungsi melakukan penanganan data. Three Tier : terdiri dari Server database, Server Program dan Client Jurusan Teknik Informatika
I - 39
Universitas Widyatama
Algoritma & Pemrograman I I
Algoritma & Pemrograman I I
Definisi
Perkembangan Bahasa Pemrograman
o Teknik komputasi yang terstandarisasi untuk menyatakan instruksi kepada komputer. o Kesatuan aturan sintaksis dan semantic yang digunakan untuk mendefinisikan program o Bahasa yang digunakan untuk menulis program komputer o Bahasa yang dirancang untuk mengkomunikasikan perintahperintah dari pengguna dengan komputer o Suatu bahasa yang spesifik yang dipergunakan oleh programmer untuk membuat program o Sering diistilahkan juga dengan bahasa komputer, adalah teknik komando/instruksi standar untuk memerintah komputer o Bahasa yang dapat diterjemahkan menjadi kumpulan perintah-perintah dasar tersebut. Penerjemahan dilakukan oleh program komputer yang disebut kompilator. Jurusan Teknik Informatika
I - 41
Universitas Widyatama
o Abad pertengahan Charles Babbge ilmuwan dari Inggris orang pertama yang mendesain mesin menyerupai komputer, Pembuat program untuk mesin tersebut adalah Countess of Lovelace seorang putri dari Lord Byron o Komputer diperintah secara fisik dengan menggunakan metode pengkabelan (wiring) o 1940 diciptakan komputer yang menggunakan listrik, Konrad Zuse mengeluarkan isu pembuatan program komputer (software) o Bahasa Pemrograman Sederhana (one purpose only) o Fortran merupakan Bahasa pemrograman Tingkat Tinggi pertama dibuat oleh tim IBM (John W. Backus) sampai saat ini telah berkembang dan yang terakhir dikeluarkan adalah Fortran 2004 o Basic, Pascal, C/C++ o 1995 Java dikeluarkan oleh Sun Microsystem o dotNet dikeluarkan oleh Microsoft
Jurusan Teknik Informatika
I - 42
Universitas Widyatama
7
Algoritma & Pemrograman I I
Algoritma & Pemrograman I I
Kelompok Bahasa Pemrograman o http://en.wikipedia.org (Array, Aspect-oriented, Assembly, Concatenative, Concurrent, Curly-Bracket, Data-structured, Dataflow, Declarative, Domain-specific, Dynamic, Educational, Esoteric, General Purpose, Imperative, Functional, Interface Description, Logic, Multiparadigm, Object Oriented, Protoypebased, Pattern directive invocation, Procedural, Quantum, Reflective, Scripting, Synchronous, Visual) o Bentuk Tampilan Berbasis Web (HTML, VBScript, ASP, PHP, CGI, Java Script) Berbasis Visual ( Visual Basic dkk, Power Builder, Delphi, Java) Berbasis Teks (Clipper, Pascal, C/C++, Basic, Fortran, Cobol, assembly, Ada, Algol, Forth)
o Permograman Berbasis Linux (Perl, Phyton, Shell Programming, A+, Real Basic, KDevelop)
Jurusan Teknik Informatika
I - 43
Universitas Widyatama
Jurusan Teknik Informatika
I - 44
Universitas Widyatama
Algoritma & Pemrograman I I
Algoritma & Pemrograman I I
Kelompok Bahasa Pemrograman o Machine Language : hanya mengenal 2 keadaan ON (1) dan OFF (0), Ex : Bahasa Mesin o Low Level Language : atau disebut juga Symbolic Language atau Assembler Language, menggunakan simbol Mnemonic (Membantu & Mengingat). Ex : Assembler o Middle Level Language : menggunakan prosedur dalam penulisan pernyataan atau instruksi dan dapat langsung dibaca oleh komputer. Ex. C o High Level Language : berorientasi kepada programmer/pengguna, memerlukan compiler (penterjemah instruksi) Procedure Oriented Language Scientific : digunakan untuk memecahkan persoalan matematis. Ex : Algol, Fortran, Pascal, Basic Business : digunakan untuk persoalan bisnis. Ex : Cobol, PL/I Problem Oriented Language : Ex. RPG (Report Program Generator) o Object Oriented Language : berorientasi objek
Jurusan Teknik Informatika
I - 45
Universitas Widyatama
Struktur Bahasa Pemrograman o Bagian Deklarasi
Deklarasi Variable Deklarasi Konstanta Deklarasi Tipe Data Deklarasi Procedure/Fungsi
o Bagian Statemen : merupakan bagian program yang akan dieksekusi/dijalankan
Jurusan Teknik Informatika
I - 46
Universitas Widyatama
Algoritma & Pemrograman I I
Kesalahan pada saat pembuatan program
Elemen Bahasa Pemrograman o Aturan Leksikal
Token Komentar Identifier Keywords Operator
o Tipe Data o Ekspresi o Statemen
Simple Statement Compound Statement Selection Statement Iteration Statement
o Fungsi & Prosedur Jurusan Teknik Informatika
I - 47
Universitas Widyatama
8
Algoritma & Pemrograman I I
Algoritma & Pemrograman I I
Kesalahan pada Tahapan Pemrograman
Sebelum Pemrograman
Jurusan Teknik Informatika
I - 49
Universitas Widyatama
Jurusan Teknik Informatika
I - 50
Universitas Widyatama
9