Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
ALGORITMA PEMROGRAMAN 1
IRSAN JAELANI PERTEMUAN I
2
SEKILAS TENTANG TEKNIK INFORMATIKA
materi komputer literacy Komputer saat ini bukanlah barang mewah dan orang yang memakai komputer pun tidak perlu harus kuliah atau kursus. Ilmu ilmu seperti bagaimana cara akses internet, cara memakai microsoft word dan cara Chat di Yahoo bukanlah ilmu komputer. Saya menyebut ilmu ini adalah “komputer literacy”. Di abad 21 ini, komputer literacy sama saja dengan “kemampuan membaca” di abad 20. Jadi memang sudah seharusnya setiap orang bisa memakai komputer, sama halnya setiap orang bisa membaca atau bisa naik motor. Jika anda tidak kuliah atau anda kuliah di jurusan selain komputer, maka ilmu ilmu ini , termasuk berbagai macam buku yang bertebaran di toko buku itu bukan ilmu komputer. Catat sekali lagi, bukan Ilmu komputer, tapi lebih tepat disebut “ILmu cara memakai komputer”. Ilmu ini bisa dipelajari sendiri secara otodidak atau ditempat kursus bagi yang benar benar awam. materi kursus komputer Materi kursus komputer, biasanya fokus ke satu skill, misalkan pemrograman visual basic, jaringan komputer atau desain grafis. Ilmu ini juga bisa dipelajari sendiri sebenarnya asal anda mempunyai kemampuan logika yang kuat. Materi kursus ini juga diajarkan di kuliah IT, tapi apa bedanya? Perbedaan mendasar adalah kursus hanya fokus pada “TODO” “Next” , “Habis ini, klik itu” . Lihat penekannya ada pada praktik. Orang yang kurus itu tidak memahami secara mendalam tentang apa itu variabel, mengapa ada integer ada float. Apa itu overflow, stack atau heap, itu semua tidak anda pelajari di kursus. Maka kekurangan paling nampak dari orang yang hanya kursus, dia mengetahui ilmu itu hanya dari satu sudut pandang. Efek sampingnya, dia akan kesulitan ketika diberi kasus yang berbeda atau disuruh membuat program dengan bahasa yang berbeda. Kursus sangat cocok untuk orang yang mengejar ” cara cepat bisa Aplikasi FOO” secara “Mie instant”. Artinya anda memang bisa memahami ilmu itu, tapi tidak mendalam. Sekali lagi tidak mendalam. Kekurangna lain dari kursus adalah materi yang bersifat praktis, tidak terurut dan tidak mementingkan konsep. Materi di Jurusan Teknik informatika Jurusan teknik informatika, mempelajari ilmu yang bersifat teknik dan mendasar. Sebagai contoh Perancangan prosesor, Rancangan sistem operasi, Sistem berkas, compiler desain, computer vision Semantic Web serta topik lain secara mendalam dan terurut. Bagi yang merasa tidak perlu kuliah dan mampu belajar sendiri silahkan baca buku -buku berikut: Advanced Compiler design oleh Steven S mucnick Digital Design and Computer Architecture oleh David haris Computer Vision: Models, Learning, and Inference by Dr Simon Artifical intelegence:Modern aproach by Stuart Russell dan peter norvig dan ratusan topik Komputer lain Jika anda tanpa kuliah, hanya belajar otodidak bisa memahami buku buku diatas, anda bisa paham, maka saya sepakat dengan anda bahwa kuliah TI itu tidak perlu, nyatanya, baru baca judulnya aja sudah mabok kan? . Yang perlu anda tahu, Hanya karena anda bisa belajar hacking dan coding otodidak bukan berarti anda sudah menguasai ilmu komputer. Ilmu hacking dan programming itu hanya kurang dari 10% dari ilmu komputer yang sebenarnya. ini yang perlu ditanamkan dan dipahami. Jika anda ingin tahu luasnya ilmu komputer, silahkan buka Link diatas adalah link kuliah gratis tentang ilmu komputer dari MIT, salah satu universitas terbaik didunia. Jika anda paham 10% saja dari yang dibahas, saya bisa sepakat dengan anda bahwa kuliah komputer/IT itu tidak perlu.
3
SEKILAS TENTANG SOFTWARE
Pengertian perangkat lunak (software) komputer adalah sekumpulan data elektronik yg disimpan dan diatur oleh komputer, data elektronik yg disimpan oleh komputer itu dapat berupa program atau instruksi yg akan menjalankan suatu perintah. Perangkat lunak disebut juga sebagai penerjemah perintah-perintah yg dijalankan pengguna komputer untuk diteruskan atau diproses oleh perangkat keras. Melalui software atau perangkat lunak inilah suatu komputer dapat menjalankan suatu perintah. Fungsi perangkat lunak (software) adalah - menyediakan fungsi dasar untuk kebutuhan komputer yang dapat dibagi menjadi sistem operasi atau sistem pendukung - berfungsi dalam mengatur berbagai hardware untuk bekerja secara bersama-sama.- - Sebagai penghubung antara software-software yang lain dengan hardware - Sebagai penerjemah terhadap software-software lain dalam setiap instruksi-instruksi ke dalam bahasa mesin sehingga dapat di terima oleh hardware. - Mengidentifikasi program Software dibagi menjadi: Sistem Operasi Program Aplikasi Program utility Bahasa Pemrograman/Compiler/Interpreter Pengertian Perangkat Lunak (Software) Komputer dan Fungsinya - Komputer tidak akan lepas dari perangkat lunak (software) karena merupakan salah satu bagian terpenting dari komputer itu sendiri. Komputer merupakan sistem elektronik yg fungsinya memanipulasi data yang cepat dan tepat serta akurat yg telah di rancang dan di organisasikan supaya secara otomatis menerima atau menyimpan data input dan masukan, kemudian memprosesnya dan menghasilkan output di bawah pengawasan suatu langkah-langkah, instruksi-instruksi program yg tersimpan di memori (stored program). Agar dapat melakukan tugasnya itu maka diperlukanlah perangkat lunak (software), mengapa harus software (perangkat lunak)? 3 Golongan Perangkat Lunak (Software) Perangkat lunak ini dibagi menjadi tiga golongan, yaitu: 1.Sistem Operasi Software sistem operasi merupakan suatu software komplek yg mempunyai banyak fungsi. Fungsi yg pertama adalah untuk mengatur semua perangkat keras komputer yang terhubung dengan CPU. Fungsi yang kedua adalah menerjemahkan segala aktivitas pemakai kepada CPU agar segala yang diperintahkan oleh pemakai dapat dikerjakan oleh CPU. Fungsi yang ketiga adalah mengatur semua proses yg terjadi di dalam CPU. Sistem operasi juga berfungsi sebagai tempat atau platform untuk menjalan suatu software aplikasi. Contoh program berbasis windows hanya dapat dijalankan di pada sistem operasi windows tidak dapat dijalankan di linux kecuali menggunakan program converter. Saat ini sudah terdapat berbagai jenis software sistem operasi yg dapat di gunakan seperti dari perusahaan yg paling terkenal sebagai pembuat sistem operasi yaitu “Microsoft” yg dimiliki oleh orang terkaya didunia “Bill Gates” dan beberapa produk yg sudah diluncurkan di antaranya adalah Microsoft Windows (Windows 98, Windows 2000, Windows XP, dan Windows Vista, Windows 7 dan Windows 8) sedangkan pesaingnya ada dari Linux (Mandrake, Ubuntu, dan Redhat) dan juga dari Apple. 2. Bahasa Pemrograman Bahasa pemrograman (programming language) adalah bahasa yg digunakan untuk membuat program itu sendiri. Ada banyak bahasa pemrograman contohnya Bahasa C, C++, Visual Basic, Pascal, Borland, HTML, PHP, JAVA, dan masih banyak lagi. Untuk menunjang pembuatan harus menggunakan perangkat lunak yang digunakan untuk merancang atau membuat program sesuai dengan struktur dan metode yang dimiliki oleh bahasa program itu sendiri. 3. Program Aplikasi Program aplikasi merupakan software yang mempunyai fungsi khusus sesuai dengan tujuan pembuatannya. Program aplikasi merupakan software yang banyak digunakan untuk membantu menyelesaikan tugas tertentu, seperti untuk membuat surat, mendengarkan musik, menonton film, menghitung sejumlah angka, dan masih banyak lagi. Contoh program aplikasi seperti Microsoft word, excel, power point, Winamp, Media player classic, calculator, dll. 4. Program Utility Program bantu untuk memaksimalkan kinerja software
4
SEKILAS TENTANG ALGORITMA DAN PEMROGRAMAN
Komputer tidak dapat dilepaskan dari kebutuhan manusia modern saat ini. Komputer dapat diprogram untuk menyelesaikan pekerjaan manusia. Manusia menulis program, komputer menjalankan program tersebut. Meskipun aplikasi komersil sudah banyak tersedia untuk membantu pekerjaan manusia, namun membuat program sendiri untuk kebutuhan spesifik tetap diperlukan. Program komersil tidak dapat menyelesaikan persoalan yang bermacam-macam, spesifik dan kompleks. Saat ini pemrograman tidak lagi menjadi keahlian orang-orang dengan latar belakang pendidikan komputer atau informatika. Siswa SD, SMP, SMA dan mahasiswa yang bukan berlatar belakang pendidikan komputer pun banyak yang menyukai pemrograman. Bahkan tidak hanya orang dengan latar belakang pendidikan informatika atau ilmu komputer saja yang dituntut mampu mengembangkan program aplikasi. Agar dapat memprogram suatu persoalan, kita perlu memahami algoritma. Algoritma dan pemrograman adalah dua kata yang berhubungan erat. Sebuah program komputer pada dasarnya mengimplementasikan sebuah algoritma. Tahukah anda apakah algoritma dan apakah program itu?
5
ALGORITMA Algoritma adalah urutan langkah-langkah untuk menyelesaikan persoalan Algoritma adalah deretan langkah-langkah komputasi yang mentransformasikan data masukan menjadi keluaran Algoritma adalah deretan instruksi yang jelas untuk memecahkan persoalan, yaitu untuk memperoleh keluaran yang diinginkan dari suatu masukan dalam jumlah waktu yang terbatas Contoh Persoalan: 1. Misalkan kita memiliki setumpuk kartu (misalkan kartu pasien, kartu antrian,dsb) yang tersusun acak. Kita diminta menyusun kartu-kartu itu sehingga terurut berdasarkan nomornya dengan nomor yang kecil di bagian atas dan nomor yang besar di bagian bawah. Persoalan tersebut dirumuskan sebagai berikut: Diberikan setumpuk kartu. Urutkan kartu-kartu tersebut supaya tersusun menaik berdasarkan nomornya sedemikian sehingga nomor kecil diatas dan nomor besar dibawah! Jawaban yang diharapkan dari persoalan ini adalah susunan kartu yang sudah terurut dari nomor kecil ke nomor besar.
6
ALGORITMA Contoh Persoalan Kartu:
Misalkan kita memiliki setumpuk kartu (misalkan kartu pasien, kartu antrian,dsb) yang tersusun acak. Kita diminta menyusun kartu-kartu itu sehingga terurut berdasarkan nomornya dengan nomor yang kecil di bagian atas dan nomor yang besar di bagian bawah. Persoalan tersebut dirumuskan sebagai berikut: Diberikan setumpuk kartu. Urutkan kartu-kartu tersebut supaya tersusun menaik berdasarkan nomornya sedemikian sehingga nomor kecil diatas dan nomor besar dibawah! Jawaban yang diharapkan dari persoalan ini adalah susunan kartu yang sudah terurut dari nomor kecil ke nomor besar. Bagaimana langkah-langkah detail untuk mengurutkan kartu tersebut? Cari kartu dengan nomor terkecil, taruh kartu tersebut pada posisi paling atas. Cari kartu dengan nomor terkecil kedua, taruh kartu tersebut pada posisi kedua dari atas. Cari kartu dengan nomor terkecil ketiga, taruh kartu tersebut pada posisi ketiga diatas. ... Demikian seterusnya sampai tersisa satu kartu saja (tidak perlu diurutkan lagi) Perhatikanlah bahwa sebenarnya di dalam rangkaian langkah-langkah diatas terjadi pengulangan dua langkah penting, Yaitu (i) cari kartu dengan nomor terkecil, dan (ii) taruh kartu tersebut pada posisi yang tepat. Kedua langkah ini diulang berkali-kali sampai tinggal satu kartu saja (yang otomatis pada posisi terakhir). Maka kita dapat mengurutkan kartu secara umum sebagai berikut: Cari kartu dengan nomor terkecil diantara kartu yang tersisa. Taruh kartu tersebut pada posisi yang tepat Ulangi kembali dari langkah 1 dan 2 sampai tersisa satu kartu saja. Urutan langkah-langkah mengurutkan kartu itulah yang kita sebut algoritma. Perhatikan bahwa langkah 1 dan 2 masih perlu dirinci lagi. Bagaimana cara mencari nomor kartu terkecil diantara kartu yang tersisa? Bagaimana cara menempatkan kartu dengan nomor terkecil tersebut pada posisi yang tepat? Masih banyak yang harus dirinci lagi tapi secara garis besarnya algoritmanya adalah demikian Contoh lainnya langkah-langkah memasak di dalam resep masakan, Langkah-langkah pengisian pulsa kartu prabayar,dll. Untuk persoalan-persoalan dengan kasus yang kecil, kita dapat menemukan solusinya dengan mudah dan cepat. Tidak ada kesulitan mengurutkan 10 buah bilangan. Bagaimana kalau kasus persoalan berukuran besar? Misalnya n=1000 jelas tidak mudah dan kita membutuhkan sebuah mesin misalnya komputer untuk melakukannya. Agar dapat dijalankan oleh mesin, maka kita perlu menuliskan prosedur yang berisi urutan langkah-langkah mengurutkan. Mesin menjalankan prosedur pengurutan tersebut untuk memberikan solusi dari setiap kasus persoalan. Kita katakan langkah-langkah mengurutkan itu sebagai penyelesaian atau pemecahan masalah.
7
ALGORITMA Contoh Persoalan Mempertukarkan Isi Gelas:
Misalkan terdapat dua buah gelas, gelas A dan gelas B, yang berisi larutan berwarna. Gelas A berisi larutan berwarna merah, sedangkan gelas B berisi larutan berwarna biru. Volume air di dalam kedua gelas sama banyaknya. Bagaimana cara mempertukarkan isi kedua gelas tersebut sedemikian sehingga nantinya gelas A akan berisi larutan berwarna biru dan gelas B berisi larutan berwarna merah?
8
ALGORITMA 1. Tuangkan air dari gelas A ke gelas C
2. Tuangkan air dari gelas B ke gelas A 1. Tuangkan air dari gelas A ke gelas C 2. Tuangkan air dari gelas B ke gelas A 3. Tuangkan air dari gelas C ke gelas B Keadaan awal sebelum pertukaran 3. Tuangkan air dari gelas C ke gelas B Proses pertukaran 1. Tuangkan air dari gelas A ke gelas C Tugas di rumah buat 5 algoritma dalam kehidupan sehari-hari Hasil pertukaran
9
ALGORITMA Contoh Persoalan Mengambil Air 4 Liter:
Misalkan anda mempunyai dua buah ember, masing-masing bervolume 5 liter dan 3 liter. Anda diminta mendapatkan air sebanyak 4 liter dengan menggunakan hanya kedua ember tersbut (tidak ada peralatan lain yang tersedia), terserah bagaimana caranya. Anda boleh memindahkan air dari satu ember ke ember lain, membuang seluruh air dari ember, dan sebagainya. Bagaimanakah algoritmanya? ALGORITMA mendapatkan air dengan volume 4 liter: Isi penuh ember 3-liter dengan air. {ember 3-liter berisi 3-liter air} Tuangkan air dari ember 3-liter ke dalam ember 5-liter. {ember 5-liter sekarang berisi 3-liter air} Isi penuh ember 3-liter dengan air. {ember 3-liter air berisi 3-liter air} Tuangkan air dari ember 3-liter kedalam ember 5-liter hingga penuh. {di dalam ember 3-liter sekarang tersisa 1-liter air} Buang seluruh air dari ember 5-liter. {ember 5-liter kosong} Tuangkan air dari ember 3-liter ke dalam ember 5-liter. {ember 5-liter sekarang berisi 1-liter air} Tuangkan air dari ember 3-liter kedalam ember 5-liter. {ember 5-liter sekarang berisi 1+3=4 liter air} 5 Liter 3 Liter
10
ALGORITMA mendapatkan air dengan volume 4 liter:
Isi penuh ember 3-liter dengan air. {ember 3-liter berisi 3-liter air} Tuangkan air dari ember 3-liter ke dalam ember 5-liter. {ember 5-liter sekarang berisi 3-liter air} Isi penuh ember 3-liter dengan air. {ember 3-liter air berisi 3-liter air} Tuangkan air dari ember 3-liter kedalam ember 5-liter hingga penuh. {di dalam ember 3-liter sekarang tersisa 1-liter air} Buang seluruh air dari ember 5-liter. {ember 5-liter kosong} Tuangkan air dari ember 3-liter ke dalam ember 5-liter. {ember 5-liter sekarang berisi 1-liter air} Tuangkan air dari ember 3-liter kedalam ember 5-liter. {ember 5-liter sekarang berisi 1+3=4 liter air} Ember 5 Liter Ember 3 Liter Air berisi 4 Liter
11
ALGORITMA Contoh Persoalan Petani, Kambing, Serigala dan Sayur:
Misalkan seorang petani tiba di tepi sebuah sungai. Petani tersebut membawa seekor kambing, seekor serigala dan sekeranjang sayur. Mereka bermaksud hendak menyeberangi sungai. Petani itu menemukan sebuah perahu kecil di pinggir sungai tetapi sayang hanya dapat memuat satu bawaan saja setiap kali menyeberang. Situasinya dipersulit dengan kenyataan bahwa serigala tidak dapat ditinggal berdua dengan kambing atau kambing tidak dapat ditinggal dengan sayur. Bagaimana algoritma si petani menyeberangkan seluruh bawaannya itu sehingga mereka sampai ke seberang sungai dengan selamat. Tentu saja hanya petani yang dapat mendayung perahu.
12
ALGORITMA menyeberangkan petani dan bawaannya:
{Keadaan awal: sisi A: (P, S,K,Y) sisi B: (-,-,-)} Petani menyeberangkan kambing dari sisi A ke sisi B. { sisi A: (-, S,K,Y) sisi B: (P,-,K,-) } Petani menyeberang kembali dari B ke A. { sisi A: (P, S,-,Y) sisi B: (-,-,K,-) } Petani menyeberangkan serigrala dari sisi A ke sisi B. { sisi A: (-,-,-,Y) sisi B: (P,S,K,-) } Petani menyeberangkan kambing dari sisi B ke sisi A. { sisi A: (P, -,K,Y) sisi B: (-,S,-,-) } Petani menyeberangkan sayur dari sisi A ke sisi B. { sisi A: (-,-,K,-) sisi B: (P,S,-,Y) } Petani menyeberang sendiri dari B ke A. { sisi A: (P, -,K,-) sisi B: (-,S,-,Y) } Keadaan Awal Keadaan Akhir Sisi A: P, S, K, Y Sisi A: P, S, K, Y Sisi B: Sisi B: P, S, K, Y
13
ALGORITMA Hubungan antara algoritma, masalah dan solusi adalah sebagai berikut: Tahap pemecahan masalah adalah Proses dari masalah hingga terbentuk suatu algoritma. Tahap implementasi adalah proses penerapan algoritma hingga menghasilkan solusi. Solusi yang dimaksud adalah suatu program yang merupakan implementasi dari algoritma yang disusun.
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.