Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
P-2 Bab 1 : Pengenalan dan Pengantar Algoritma
1.1 Tujuan 1. Mengetahui dan mampu mengidentifikasi perbedaan komponen pada komputer 2. Mengetahui tentang bahasa pemrograman komputer dan kategorinya 3. Mengetahui dan memahami algoritma dan pembuatannya 4. Mengetahui dan memahami alur pembuatan program
1.2 Materi 1.
2. 3.
4.
Komputer 1. Definisi Komputer 2. Komponen Dasar Komputer Bahasa Pemrograman Algoritma 1. Definisi Algoritma 2. Sejarah Algoritma 3. Ciri-Ciri Algoritma 4. Sifat Algoritma 5. Penulisan Algoritma Alur Pembuatan Program
1.3 Definisi dan Komponen Dasar Komputer 1.3.1 Definisi Komputer ▪
Kata komputer berasal dari bahasa Latin yaitu Computare yang artinya menghitung. SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 1
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
▪
Definisi : • Sekumpulan alat elektronik yang saling bekerja sama, dapat menerima data (input), mengolah data (process) dan memberikan informasi (output) serta terkoordinasi dibawah kontrol program yang tersimpan di memorinya.
1.3.2 Komponen Dasar Komputer Hardware 1.
Procecor (CPU) ▪ Merupakan bagian dari perangkat keras komputer yang melakukan pemprosesan aritmatika dan logika serta pengendalian operasi komputer secara keseluruhan . ▪ Terdiri dari dua bagian : • ALU (Arithmetic Logic Unit) • Control Unit SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 2
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
2.
I/O Device ▪ Merupakan bagian yang berfungsi sebagai penghubung antara komputer dengan lingkungan di luar. ▪ Terdiri dari : • Input Device ◦ Berfungsi untuk menerima input/masukan dari luar. ◦ Contohnya : Keyboard, Scanner, dll • Output Device ◦ Berfungsi untuk memberikan output/keluaran. Contohnya : Printer, Monitor, dll 3. Memory ▪ Merupakan media yang digunakan untuk menyimpan data pada komputer. ▪ Berdasarkan fungsi, memori dibagi menjadi dua bagian : • Primary Memory ◦ Untuk menyimpan data/instruksi program yang sedang dijalankan. ◦ Biasanya sering disebut dengan RAM (Random Acces Memory) ◦ Sifat : ▪ Volatile ▪ Kecepatan tinggi ▪ Akses random • Secondary Memory ◦ Untuk menyimpan data secara permanen. ◦ Sifat : ▪ Non Volatile ▪ Kecepatan relatif rendah jika dibandingkan dengan memori primer. ▪ Akses random atau sekuensial ◦ Contoh : ▪ Harddisk ▪ USB Flasdisk ▪ Optical Disk
SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 3
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
Software 1. Operating System ▪ Berfungsi untuk mengaktifkan seluruh perangkat yang terpasang pada komputer sehingga masing-masing dapat saling berkomunikasi. ▪ Contoh : • Unix/Linux • Be OS • Mac OS • Microsoft Windows 2. Utility ▪ Berfungsi untuk membantu atau mengisi kekurangan/kelemahan dari sistem operasi. ▪ Contoh : • Ubuntu Tweak • Gparted/Partition Magic
SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 4
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
3.
Application ▪ Merupakan suatu aplikasi yang digunakan untuk melakukan pekerjaan tertentu. ▪ Biasanya dibuat oleh programmer sesuai dengan permintaan dan kebutuhan perusahaan. ▪ Contoh : • MYOB Accounting 4. Package ▪ Merupakan aplikasi yang dikembangkan untuk kebutuhan umum. ▪ Contoh : • Editor text : Libre Office Writer, MS Office Word • Editor angka : Libre Office Calc, MS Office Exel • Presentasi : Libre Office Presentation, MS Office PowerPoint 5. Compiler ▪ Merupakan aplikasi yang digunakan untuk menterjemahkan bahasa yang dipahami manusia (logis) menjadi bahasa komputer (0 dan 1).
1.4 Bahasa Pemrograman • •
Definisi : ◦ Teknik komunikasi standar untuk mengekspresikan instruksi kepada komputer. Kategori : 1. Bahasa tingkat rendah • Bahasa pemrograman generasi pertama • Instruksi menggunakan bahasa mesin (0 dan 1) sehingga sangat sulit dimengerti • contoh : ◦ Assembler 2. Bahasa tingkat menengah • Instruksi yang digunakan sudah mendekati bahasa manusia tetapi agak sulit dimengerti • Masih banyak penggunaan singkatan, misalnya MOV : MOVE • Contoh : ◦ Fortran 3. Bahasa tingkat tinggi • Instruksi yang digunakan mudah untuk dimengerti • Contoh : ◦ Java, C++, *.Net SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 5
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
1.5 Algoritma 1.5.1 Definisi ▪ ▪
Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan memecahkan suatu permasalahan . Algoritma adalah urutan langkah – langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. Logis merupakan kunci dari sebuah algoritma. Langkah- langkah dalam algoritma harus logis dan bernilai benar atau salah.
1.5.2 Sejarah Algoritma ▪
▪ ▪
Berasal dari risalah Abu Abdallah Muhammad ibn Musa Al-Khwarizmi (ilmuwan persia) yang membahas tentang kalkulasi dengan angka hindu-arab (tahun 825 M) Diterjemahkan kedalam bahasa latin menjadi Algoritmi de numero Indorum Algoritmi = Al-Khwarizmi
1.5.3 Ci-Ciri Algoritma 1. 2. 3. 4. 5.
Memiliki Input Meneghasil Output Memiliki Process Menggunakan instruksi yang mudah dimengerti (tidak ambigu) Harus memiliki stoping rule
SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 6
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
1.5.4 Sifat algaritma ▪ ▪ ▪
Tidak menggunakan sintax dari bahasa pemrograman Penulisan tidak tergantung dari bahasa pemrograman Notasinya dapat digunakan pada semua bahasa pemrograman
1.5.5 Penulisan Algoritma 1.
2.
3.
Bahasa Natural ◦ Bahasa formal yang dipergunakan oleh manusia ◦ Bersifat terstruktur ◦ SE : Structured English ◦ BIT : Bahasa Indonesia Terstruktur Pseudocode ◦ Psuedo : mirip, menyerupai, seolah-olah ◦ Code : baris program ◦ Psuedocode : instruksi yang menyerupai baris program Flowchart ◦ Suatu bentuk diagram yang memiliki aliran satu atau dua arah secara sekuensial ◦ Komponen dari flowchart dapat dilihat pada tabel berikut :
SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 7
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
1.6 Alur Pembuatan Program ◦
Berikut ini langkah – langkah sistematis dasar dalam menyelesaikan permasalahan pemrograman : 1. Definisi masalah 2. Analisa dan membuat rumusan pemecahan masalah 3. Desain Algoritma dan Representasi 4. Pembuatan program, Uji Coba dan pembuatan dokumentasi Definisi Permasalahan • •
Masalah harus terdefinisi dengan baik untuk mendapatkan Input dan Output. Contoh : “ Buatlah sebuah algoritma untuk mencari luas dari suatu Segitiga ”.
Analisa Permasalahan • •
Umumnya dibagi menjadi beberapa bagian kecil dan ringkas. Contoh : ◦ Masalah : Mencari luas segitiga ◦ Input : alas, tinggi ◦ Output : luas segitiga
Desain Algoritma dan Representasi •
Bahasa Natural 1. Masukkan nilai alas 2. Masukkan nilai tinggi 3. Menghitung luas segitiga dengan mengalikan Alas dan Tinggi kemudian dibagi 2 4. Menampilkan hasil 5. Selesai
SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 8
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
•
Psuedocode Algoritma perhitungan luas segitiga Input : Alas, Tinggi Output : Luas segitiga Alas dibaca a Tinggi dibaca t Luas (Alas X Tinggi)/2 Tampilkan Luas
•
Flowchart (bagan alir)
Pembuatan Program, Uji Coba dan Penulisan Dokumentasi • •
•
Pembuatan Program dapAt dimulai setelah desain algoritma selesai, dengan menggunakan bahasa pemrograman yang dipilih. Setelah pembuatan program selesai, dilakukan proses kompilasi. Dalam proses kompilasi program terdapat dua error : ◦ Syntax Error ◦ Run Time Error Penulisan dokumentasi ditujukan untuk membantu mempermudah user dengan menuliskan tujuan, algoritma dan alur program.
1.7 Evaluasi •
Buatlah sebuah algoritma untuk : 1. Mencari luas persegi 2. Mencari luas lingkaran 3. Mencari luas persegi panjang
SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 9
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
Dengan menggunakan ketentuan : 1. Bahasa natural 2. Pseudocode 3. Flowchart
•
Ketentuan :
◦ File name : Elr_23_Algo_NIM.docx (Ex : Elr_23_Algo_10111071.docx) ◦ Kirimkan dengan subject Elr_23_Algo_NIM (Ex : Elr_23_Algo_10111071) ◦ Ke email :
[email protected]
SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 10