SESI 1 PENGERTIAN DASAR ALGORITMA DAN PEMROGRAMAN FLOWCHART












































- Slides: 44
SESI 1 : PENGERTIAN DASAR ALGORITMA DAN PEMROGRAMAN, FLOWCHART & PSEUDOCODE
Outline Materi v Perkenalan dan Aturan perkuliahan v Silabus Singkat Matakuliah v Sistem Penilaian
Aturan Perkuliahan Bobot Penilaian • Tugas • Quis 25% 15% • UTS 20% • UAS 25% • Kehadiran 15% • Ketidakhadiran kuliah maksimal 4 x • Maksimal keterlambatan masuk kuliah 15 menit
Buku pegangan • Algoritma dan Pemrograman, Ir. Rinaldi Munir & Ir. Leoni M Penerbit Informatika Bandung • Menguasai Java dan Object oriented programming, benny hermawan, penerbit andi. 05/03/2021
TUJUAN PEMBELAJARAN • Mahasiswa memahami konsep dasar dari Algoritma dan Pemrograman. • Mahasiswa memahami karakteristik bahasa pemrograman Java. • Mahasiswa dapat membuat program sederhana dengan menggunakan bahasa pemrograman Java. 05/03/2021
MATERI • 1. Definisi Algoritma dan Pemrograman • 2. Perkenalan Java • 3. Latihan Terbimbing • 4. Pembahasan 05/03/2021
Ringkasan Teori 1. SEJARAH ALGORITMA • Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi 2. DEFINISI ALGORITMA • Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Yang ditekankan adalah urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat. (Dari Microsoft Press Computer and Internet Dictionaary 1997, 1998) • Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. Yang ditekankan pertama adalah alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu. (Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh Moh Sjukani hal 1) 05/03/2021
Contoh Algoritma dalam kehidupan nyata ? 05/03/2021
Contoh Algoritma dalam kehidupan nyata ? • Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbaga masalah pemrograman, terutama dalam komputasi numeris. • Tanpa algoritma yang dirancang baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien. • Pelaksana algoritma adalah Komputer. • Manusia dan komputer berkomunikasi dengan cara: manusia memberikan perintah kepada komputer berupa instruksi-instruksi yang disebut program. Alat yang digunakan untuk membuat program tersebut adalah bahasa pemrograman. • Bahasa pemrograman sangat bermacam-macam: VB. Net, C, C++, Pascal, Java, C#, Basic, Perl, PHP, ASP, J#, J++ dan masih banyak bahasa lainnya. 05/03/2021
Kriteria Algoritma Menurut Donald E. Knuth • 1. Input: algoritma dapat memiliki nol atau lebih inputan dari luar. • 2. Output: algoritma harus memiliki minimal satu buah output keluaran. • 3. Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu. • 4. Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role). • 5. Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1 • Namun ada beberapa program yang memang dirancang untuk unterminatable: contoh Sistem Operasi. 05/03/2021
Jenis Proses Algoritma • Sequence Process: instruksi dikerjakan secara sekuensial, berurutan. • Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu • Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu. • Concurrent Process: beberapa instruksi dikerjakan secara bersama. 05/03/2021
BEDA ALGORITMA DAN PROGRAM • Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman. 05/03/2021
Sejarah java • Pada 1991, sekelompok insinyur Sun dipimpin oleh Patrick Naughton dan James Gosling ingin merancang bahasa komputer untuk perangkat konsumer seperti cable TV Box. Dikarenakan perangkat tersebut tidak memiliki banyak memori, Bahasa harus berukuran kecil dan mengandung kode yang liat. Juga karena manufaktur berbeda memilih processor yang berbeda pula, maka bahasa harus bebas dari manufaktur manapun. Proyek diberi nama kode ”Green”. • Karena orang–orang di proyek Green berbasis C++ dan bukan Pascal maka kebanyakan sintaks diambil dari C++, serta mengadopsi orientasi objek dan bukan prosedural. Mulanya bahasa yang diciptakan diberi nama ”Oak” oleh James Gosling yang mendapat inspirasi dari sebuah pohon yang berada pada seberang kantornya, namun dikarenakan nama Oak sendiri merupakan nama bahasa pemrograman yang telah ada sebelumnya, kemudian SUN menggantinya dengan JAVA. Nama JAVA sendiri terinspirasi pada saat mereka sedang menikmati secangkir kopi di sebuah kedai kopi yang kemudian dengan tidak sengaja salah satu dari mereka menyebutkan kata JAVA yang mengandung arti asal bijih kopi. Akhirnya mereka sepakat untuk memberikan nama bahasa pemrograman tersebut dengan nama Java. 05/03/2021
Karakteristik Bahasa java • Java pertama kali diluncurkan sebagai bahasa pemrograman umum (general purpose programming language) dengan kelebihan dia bisa dijalankan di web browser sebagai applet. Sejak awal, para pembuat Java telah menanamkan visi mereka ke dalam Java untuk small embedded customer device)seperti TV, telepon, radio, dan sebagainya supaya dapat berkomunikasi satu sama lain. Langkah pertama yang diambil oleh Sun Microsistem adalah dengan membuat JVM (Java Virtual machine) yang kemudian diimplementasikan dalam bentuk JRE (Java Runtime Environment). JVM adalah lingkungan tempat eksekusi program Java berlangsung dimana para obyek saling berinteraksi satu dengan yang lainnya. Virtual machine inilah yang menyebabkan Java mempunyai kemampuan penanganan memori yang lebih baik, keamanan yang lebih tinggi serta portabilitas yang besar. Apabila kita hanya ingin menjalankan program Java, maka kita cukup memiliki JRE saja. Tapi seandainya kita ingin mengembangkan perangkat lunak sendiri, JRE saja tidak cukup. 05/03/2021
• Enterprise Java (J 2 EE) untuk aplikasi berbasis web, aplikasi sistem tersebar dengan beraneka ragam klien dengan kompleksitas yang tinggi. Merupakan superset dari Standar Java • Standard Java (J 2 SE), ini adalah yang biasa kita kenal sebagai bahasa Java, dan merupakan fokus kita sekarang. 10 • Micro Java (J 2 ME) merupakan subset dari J 2 SE dan salah satu aplikasinya yang banyak dipakai adalah untuk wireless device/mobile device 05/03/2021
• Program Java dijalankan menggunakan interpreter melalui Java Virtual machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda. Fitur-fitur utama yang lain: �Mendukung multithreading. �Selalu memeriksa tipe obyek pada saat runtime. �Mempunyai automatic garbage collection untuk membersihkan obyek yang tidak terpakai dari memori �Mendukung exception sebagai salah satu cara penanganan kesalahan 05/03/2021
Bagaimana Java Bekerja? • Lingkungan pemrograman pada Java menggunakan compiler sekaligus interpreter agar dapat berjalan pada platform yang berbeda. Java compiler melakukan kompilasi pada source code (. java) menjadi Java bytecodes (. class) seperti ditunjukkan oleh Gambar berikut. 05/03/2021
• Java bytecodes merupakan instruksi mesin yang tidak spesifik terhadap processor. Oleh karena itu, program Java hasil kompilasi akan dapat dijalankan pada berbagai platform sistem komputer dengan menggunakan Java Virtual machine (JVM), "write once, run anywhere". JVM disebut juga bytecodes interpreter atau Java runtime interpreter. 05/03/2021
PENYAJIAN ALGORITMA MELALUI FLOWCHART DAN PSEUDOCODE • BENTUK PENYAJIAN ALGORITMA • Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu dalam bentuk tulisan yang dikenal sebagai Pseudocode dan gambar yang dikenal sebagai Flowchart. 05/03/2021
Pseudocode • Pseudocode adalah kode yang mirip dengan kode pemrograman yang sebenarnya seperti VB. Net, Java, Python atau C, yang disajikan dalam bentuk tulisan yang mengacu pada struktur bahasa tertentu misalnya bahasa Indonesia atau bahasa inggris. Secara umum, pseudocode mengekspresikan ide-ide secara informal dalam proses penyusunan algoritma. • Salah satu cara untuk menghasilkan kode pseudo adalah dengan meregangkan aturan-aturan bahasa formal yang dengannya versi akhir dari algoritma akan diekspresikan. Pendekatan ini umumnya digunakan ketika bahasa pemrograman yang akan digunakan telah diketahui sejak awal. 05/03/2021
Pseudocode • Contoh : • Dengan menggunakan Pseudocode, buatlah algoritma untuk menentukan nilai luas dari sebuah persegi panjang. • Jawab : 05/03/2021
Flowchart • Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah ke dalam segmen -segmen yang lebih kecil dan menolong dalam menganalisis alternatif lain dalam pengoperasian. 05/03/2021
Flowchart • Ada dua macam flowchart yang menggambarkan proses dengan komputer, yaitu: • 1. Flowchart Sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain, dalam suatu sistem pengolahan data. • Beberapa contoh Flowchart sistem: 05/03/2021
Flowchart • 2. Flowchart Program, yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program. 05/03/2021
Flowchart 05/03/2021
Flowchart 05/03/2021
Area Kerja Net. Beans • Net. Beans adalah satu editor yang digunakan untuk mengetik kode program Java, meng compile dan menjalankan program. 05/03/2021
CONTOH KASUS 1 DAN PENYELESAIANNYA • SOAL • Buatlah program dengan menggunakan Java untuk menampilkan tulisan dibawah ini sebagai berikut : • 1. NIM • 2. Nama • 3. Motivasi hari ini 05/03/2021
PENYELESAIAN • 1. Tentukan Object • 2. Gambarkan Flowchart / Pseudocode • 3. Terjemahkan ke dalam bahasa Java • 4. Compiling Program 05/03/2021
JAWAB • 1. Object yang akan ditampilkan adalah Nim, Nama, dan motivasi • 2. maka pada program harus menampilkan Nim, Nama, dan motivasi 05/03/2021
Flowchart dari hasil analisis : ? 05/03/2021
Buat class dengan kode program seperti di bawah ini: Programku. java 05/03/2021
CONTOH KASUS 2 DAN PENYELESAIANNYA • SOAL • Buatlah program dengan menggunakan Java untuk menampilkan tulisan dibawah ini sebagai berikut : • Angka 10, huruf a, hasil true, dan string “hello” 05/03/2021
PENYELESAIAN • 1. Tentukan Object • 2. Gambarkan Flowchart / Pseudocode • 3. Terjemahkan ke dalam bahasa Java • 4. Compiling Program 05/03/2021
JAWAB • Object yang akan ditampilkan adalah Angka 10, huruf a, hasil true, dan string “hello” • Maka pada program harus menampilkan Angka 10, huruf a, hasil true, dan string “hello” 05/03/2021
Flowchart dari hasil analisis : ? 05/03/2021
Buat class dengan kode program seperti di bawah ini: Latihan 1. java 05/03/2021
CONTOH KASUS 3 DAN PENYELESAIANNYA • SOAL • Seorang siswa SD hendak menghitung Luas dari bangun datar bernama persegi panjang. • Buatlah program dengan menggunakan Java untuk membantu anak tersebut. Ketentuan dari programnya adalah sebagai berikut : • Nilai panjang dan lebar diinputkan sendiri oleh user lewat keyboard. • Formula untuk menghitung Luas adalah nilai Panjang x nilai Lebar. • Tampilkan nilai Luas jika nilai panjang dan lebar sudah di penuhi oleh user. 05/03/2021
05/03/2021
PENYELESAIAN • 1. Tentukan Object • 2. Gambarkan Flowchart / Pseudocode • 3. Terjemahkan ke dalam bahasa Java • 4. Compiling Program 05/03/2021
JAWAB • Object yang diketahui dari soal diatas adalah Persegi. Panjang. Object inilah yang nantinya akan menjadi Class dari program yang akan kita buat. • Dari hasil analisis soal bahwa nilai inputan terdiri dari Panjang dan Lebar, inputan ini harus diinput oleh user melalui keyboard. Dan nilai yang dioutputkan adalah Luas yang didapat dari hasil kalkulasi antara nilai Panjang dikalikan dengan nilai Lebar. 05/03/2021
Flowchart dari hasil analisis : 05/03/2021
Buat class dengan kode program seperti di bawah ini: Persegi. Panjang. java 05/03/2021
Driverclass : Persegi. Panjang. T ester. java 05/03/2021 Hana Zainab Mukarromah, ST