A. IDENTITAS MATA KULIAH Program Studi : Teknik Informatika Mata Kuliah : Pemrograman Java Kode : SP331 Bobot : 4 (empat) sks Kelas : MI Semester : 4 (empat) Mata kuliah prasyarat : Tidak ada Deskripsi mata kuliah : Mata Kuliah ini akan memberikan materi pemrograman Java hingga PBO. Lingkup materi meliputi : Sejarah bahasa pemrograman Java, pengendalian proses, pemahaman dan penerapan konsep pemrograman berorientasi objek. : Mahasiswa dapat menerapkan konsep object oriented dalam bahasa pemograman java. B. PENILAIAN a. Tugas : 20 % b. Kuis : 10 % c. UTS : 30 % d. UAS : 40 % C. DOSEN a. Koordinator : Arfansyah, S.Kom (arfanmdp@yahoo.co.id) b. Anggota : Nyimas Artina,S.Kom (nyimas@stmik-mdp.net) D. PUSTAKA a. Buku wajib : Diktat Pemrograman Java (Gasim AlKaff, S.Kom., M.Si) b. Buku Pelengkap : - E. JADWAL KONSULTASI Hari : Senin s.d. Kamis Jam : 07:50 s.d. 16:00 F. SANKSI : 1. Tugas yang dikumpulkan terlambat tidak diberi nilai. 2. Bagi mahasiswa yang mempunyai tingkat kehadiran kurang dari 75% tidak diizinkan untuk mengikuti UAS. 3. Mahasiswa yang memakai sandal dianggap tidak hadir.
G. TABEL KULIAH, POKOK BAHASAN DAN TUGAS Pertemuan ke 1 GBPP SAP Pengantar Pemrograman Java 2 Penggunaan tipe data 3 Penggunaan input dan output 4 Operator dan Kendali Program (Kondisi) 5 Operator dan Kendali Program (Kondisi Lanjutan) 6 Kendali Program (Perulangan) 7 Kendali Program (Perulangan Lanjutan) 8 Kendali Program (Loncatan) 9 Kendali Program (Loncatan Lanjutan) 10 Kuis dan pembahasan 11 Konsep PBO - Class (new, dot) 12 Class - Variabel instans 13 Class - variabel referensi objek 14 Aplikasi Sederhana Membaca SAP,G2BPP. 1-22. 22-34 34-39 34-39 40-45 40-45 40-45 40-45 49 53 49 53 49 53 Tugas Soal Lampiran Tugas 1 UJIAN TENGAH SEMESTER 15 16 Method - deklarasi method - pemanggilan method Method - return 17 Passing parameter 18 Passing parameter (Lanjutan) 19 Keyword this 20 Keyword this (Lanjutan) 21 Kuis dan pembahasan 54-61 54-61 61-64 61-64 67-69 67-69
22 Method overloading 23 Method overrinding 24 Konstruktor 25 Inheratansi dan Super dalam overriding method 26 Pemrograman Berorientasi Objek 27 Pemrograman Berorientasi Objek 28 Pemrograman Berorientasi Objek UJIAN AKHIR SEMESTER 70 73 70 73 74 75 76 79 80 83 80 83 80 83 Lampiran Tugas 2
: Pengenalan Bahasa Pemrograman Java : Mampu merancang dan mengeksekusi program java sederhana dengan benar dan mendokumentasikannya menggunakan baris komentar Kompetensi Dasar Indikator Sub Pengalaman Belajar Alokasi 1. Memberikan ringkasan mengenai teknologi java 1.1 Mampu mendeskripsikan asal usul bahasa pemrograman java 1.2 Mampu menjelaskan kelebihan teknologi java 1.3 Mampu mendeskripsikan macammacam pembagian teknologi java 1. Sejarah java 2. Logo dan slogan java 3. Pembagian Teknologi java - Mendiskusikan asal usul teknologi java - Mendiskusikan logo dari bahasa pemrograman java dan logo lainnya yang berkaitan dengan java - Mendiskusikan contoh dari pembagian teknologi java 2. Mampu merancang dan mengeksekusi program java sederhana dengan benar dan mendokumentasikannya menggunakan baris komentar 2.1 Menuliskan program java dengan blok pernyataan yang benar. 2.2 Menampilkan hasil program dengan cara mengkompilasi serta mengeksekusikan program dengan langkah-langkah yang tepat 2.3 Menggunakan baris komentar dengan tepat 1. Javac dan java 2. File.java dan.class 3. Baris komentar - Menyebutkan langkah-langkah kompilasi dan eksekusi suatu program java - Menuliskan baris komentar dengan benar - Mengkompilasi dan mengeksekusi program - Mendiskusikan perbedaan file berekstensi.java dan.class
: Tipe Data, Identifier dan Operator : Mampu merancang dan membuat suatu program perhitungan sederhana untuk menyelesaikan suatu permasalahan Kompetensi Dasar Indikator Sub Pengalaman Belajar Alokasi 1. Mampu menerapkan identifier yang valid ke dalam program 1.1 Mengklasifikasikan identifier yang valid dan tidak valid 1.2 Menyimpulkan pengertian dari case sensitive. 1.3 Menyebutkan aturan penamaan identifier 1. Definisi Identifier 2. Aturan Penamaan Identifier 3. Keyword 4. Literal - Mendiskusikan kata-kata khusus yang tidak boleh dipakai sebagai identifier - Menampilkan karakter-karakter literal - Mendiskusikan definisi dari identifier dan ketentuan penamaan identifier yang benar 2 x 50 2. Menjelaskan struktur bahasa java, tipe data yang digunakan dan tata bahasanya 2.1 Menyebutkan perbedaan antara tipe data char dan string 2.2 Membedakan tipe data bilangan dengan tipe data karakter 2.3 Membedakan tipe data bilangan bulat dengan tipe data bilangan pecahan 2.4 Mendeklarasikan tipe data sesuai dengan kebutuhan 2.5 Mengetahui perbedaan dari equals dan equalsignorecase 2.6 Mampu mengimplementasikan substring sesuai dengan kebutuhan 1. Tipe data char 2. Tipe data integer 3. Tipe data double 4. Tipe data boolean 5. Tipe data byte 6. Tipe data short 7. Tipe data long 8. Tipe data float 9. Tipe data string 10. equals dan equalsignorecase, substring, indexof, charat, length - Membedakan kegunaan masing-masing tipe data - Mengaplikasikan tipe data yang ada ke dalam program - Mengaplikasikan beberapa method yang umum digunakan pada tipe data string, seperti method equals dan equalsignorecase, substring, indexof, charat, dan length 2x 50 3. Mampu menyelesaikan suatu permasalahan yang membutuhkan penerapan operator pada program. 4.1 Menerapkan operator aritmatika untuk contoh kasus yang membutuhkan aritmatika 4.2 Menerjemahkan contoh operator assignment ke dalam operator aritmatika 4.3 Menerjemahkan operator increament/decreament ke dalam operator aritmatika 4.4 Mengetahui hasil dari operator perbandingan 4.5 Mengetahui hasil dari operator relational 4.6 Menjelaskan konsep dari operator ternary 1. Operator aritmatika 2. Operator assignment 3. Operator increament/decreament 4. Operator perbandingan 5. Operator relational 6. Operator ternary - Mengetahui perbedaan tipe data bilangan bulat dan desimal sewaktu mengoperasikannya dengan operator - Mengetahui konsep dari operator ternary - Menerapkan operator ke dalam program - Mengetahui perbedaan dari penulisan operator increament/decreament sebagai akhiran (y=x++ atau y=x--) dan penulisannya sebagai awalan (y=++x atau y=--x) 2 x 50
diberikan : Penginputan Data : Mempraktekkan penginputan data dengan benar dan mengintegrasikannya ke dalam suatu program penghitungan sederhana sesuai dengan contoh kasus yang Kompetensi Dasar Indikator Sub Pengalaman Belajar Alokasi 1 Mempraktekkan penginputan data dan menyimpan input tersebut ke dalam tipe data yang sesuai 1.1 Mampu mendeskripsikan objek BufferedReader dengan benar 1.2 Mampu mempraktekkan langkahlangkah penginputan data 1. import 2. throws 3. IOException 4. BufferedReader 5. InputStreamReader - Menggunakan keyword import - Menggunakan exception sebagai error handling - Mendeskripsikan objek BufferedReader dan InputStreamReader untuk menampung data dari penginputan - Melakukan penginputan data berupa kalimat 1x 50 2. Mempraktekkan penginputan data dan menggunakan operator yang sesuai untuk menghasilkan output yang diharapkan 2.1 Mampu melakukan penginputan data berupa bilangan 2.2 Mampu mengkonversi tipe data string menjadi tipe data angka 2.3 Mampu menggunakan simbol-simbol operator untuk melakukan proses perhitungan dari data-data yang telah diinput sebelumnya 1. Penginputan data berupa bilangan 2. Konversi String menjadi tipe data angka 3. Simbol-simbol operator - Melakukan penginputan data berupa bilangan - Mengkonversi tipe data string menjadi tipe data angka/bilangan - Menampilkan hasil perhitungan berdasarkan datadata yang diinputkan
: Pengendalian Proses : Kondisi, Perulangan, Percabangan : Mengintegrasikan kontrol program seleksi dan pengulangan untuk menyelesaikan suatu kasus dan menganalisa keefektifannya Kompetensi Dasar Indikator Sub Pengalaman Belajar Alokasi 1.Dapat menggunakan pernyataan if dan/atau if..else - mampu mendeskripsikan sintaks if untuk menyeleksi suatu kondisi - Menggunakan if bertingkat (nested if) - Mengganti if bertingkat dengan operator && 1. If 2. If else 3. If else if else - menggunakan sintaks If, dan if else untuk menyeleksi suatu kondisi - mampu mempraktekkan simbol operator perbandingan pada kondisi if 2x50 2.memahami dan menggunakan multiple selection dengan pernyataan switch - menggunakan switch case dengan kondisi yang bertipe data integer - menggunakan switch case dengan kondisi yang bertipe data karakter - menerjemahkan if else menjadi switch case jika memungkinkan - menerjemahkan switch case ke dalam if else 1. Switch case dengan integer 2. Switch case dengan tipe char - Melakukan suatu penyeleksian kondisi dengan menggunakan switch case - Membandingkan efektifitas penggunaan if else dan switch case 1x50 3. mampu menggunakan pernyataan pengulangan for untuk mengeksekusi pernyataan pada program secara berulang-ulang 4. mampu menggunakan pernyataan pengulangan while dan do while untuk mengeksekusi pernyataan pada program secara berulang-ulang - mampu menggunakan pengulangan for untuk menyelesaikan kasus bilangan prima, bilangan fibonacci, pemangkatan - Menjelaskan perbandingan efektifitas penerapan sintaks for, while, dan do-while dalam suatu kasus 1.for 2.for bertingkat 1.while 2. do-while - mempraktekkan pengulangan for menaik - mempraktekkan pengulangan for menurun - mempraktekkan pengulangan for di dalam for(for bertingkat/ nested for) - mempraktekkan pengulangan menggunakan while - mempraktekkan pengulangan menggunakan do while 2x50 3x50
: Konsep Pemrograman Berorientasi Objek : Menjelaskan suatu gambaran lengkap mengenai konsep object oriented Kompetensi Dasar Indikator Sub Pengalaman Belajar Alokasi 1. Mampu memberikan contoh dari class, objek, state dan behavior 1.1 Membedakan class dan objek 1.2 Membedakan state dan behavior 1. class 2. objek 3. state 4. behavior 1. Mendefinisikan pengertian dari class, objek, state dan behavior 2. Memberikan contoh dari class dan objek 3. Memberikan contoh dari state dan behavior 2. Memberikan contoh lengkap dari suatu class dilanjutkan dengan objeknya, state, behaviur, dan memberi contoh pewarisan yang didapat dari class tersebut 3. Mampu memberikan contoh dari class, objek, state dan behavior 2.1 Menyebutkan ciri-ciri dari pewarisan 2.2 Menjelaskan konsep polimorfisme dan enkapsulasi 3.1 Membedakan class dan objek 3.2 Membedakan state dan behavior 1. pewarisan 2. polimorfisme 3. enkapsulasi 1. class 2. objek 3. state 4. behavior 1. Menyebutkan contoh dari pewarisan 2. Menyebutkan ciri-ciri dari pemrograman berorientasi objek 1. Mendefinisikan pengertian dari class, objek, state dan behavior 2. Memberikan contoh dari class dan objek 3. Memberikan contoh dari state dan behavior
: Pemrograman Berorientasi Objek : Mampu menganalisa efektifitas suatu solusi permasalahan yang berbasiskan object oriented Kompetensi Dasar Indikator Sub Pengalaman Belajar Alokasi 1. Mengerti bagaimana mengkonstruksi suatu program secara modular melalui method dan memahami mekanisme penerusan informasi antarmethod 1. 2. 3. 4. Method void dan method non void Parameter pada method Method rekursif Access Modifier 2x50 2. Menerjemahkan konsep class, objek, state dan behavior ke dalam bahasa pemrograman java 3. Mengimplementasikan konsep pewarisan ke dalam pemrograman 1.1 Mampu menyebutkan kegunaan dari method 1.2 Mampu menjelaskan karakteristik method 1.3 Mampu mendeklarasikan method yang tidak mengembalikan nilai 1.4 Mampu mendeklarasikan method yang mengembalikan nilai beserta tipe datanya dengan tepat 1.5 Memahami konsep method rekursif 1.6 Mampu mendeklarasikan parameter yang diperlukan dalam method beserta tipe datanya secara tepat 1.7 Menyebutkan perbedaan macam-macam modifier 2.1 Mampu mendeklarasikan variabel dan method sesuai dengan kerangka class yang diberikan 2.2 Mampu menciptakan objek-objek berdasarkan class yang dibuat 2.3 Mampu mengimplementasikan method set dan get untuk memberikan dan mengambil nilai variabel 2.4 Mampu mendeklarasikan method (selain set dan get ) dan menggunakannya sesuai dengan keperluan 2.5 Mampu mendeklarasikan constructor dengan benar 2.6 Mampu mendeklarasikan objek suatu class dan menggunakan method dan/atau variabelnya 3.1 Menggunakan keyword extends dengan tepat 3.2 Menggunakan super untuk memanggil constructor superclass 3.3 Menggunakan super untuk memanggil method superclass 3.4 Menerapkan overloading dan overriding method 1. Deklarasi class dan objeknya 2. Deklarasi variabel dan method berdasarkan state dan behavior 3. Set dan get method 4. Constructor 1. Superclass dan subclass 2. Keyword super 3. Keyword extends 4. Overloading method 5. Overriding method - Mendeklarasikan method void dan nonvoid - Mendeklarasikan method berparameter maupun tanpa parameter - Mengetahui contoh method rekursif yang memanggil dirinya sendiri - Memodifikasi access modifier dan melihat hasil eksekusinya - Menerjemahkan state dan behavior ke dalam variabel dan method - Menggunakan access modifier yang tepat untuk setiap variabel dan method pada class - Mendeskripsikan method set untuk setiap variabel class - Mendeskripsikan method get yang digunakan untuk mengambil isi variabel class - Memahami kegunaan dari constructor - Mengintegrasikan konsep pewarisan ke dalam pemrograman - Memanggil method dan constructor dari superclass dengan menggunakan keyword super 2x 50 3x 50
Disiapkan oleh, 1. Arfansyah, S.Kom (..) Koordinator 2. Nyimas Artina, S.Kom (. ) Anggota Diperiksa oleh Yulistia, S. Kom., M. Ti. Ketua Program Studi Manj. Informatika Disahkan oleh, Ir. Sudiadi, M.M.A.E. Pembantu Ketua I