RANCANGAN PEMBELAJARAN BERBASIS STUDENT CENTERED LEARNING Kode matakuliah Mata kuliah Semester SKS : IFP-2315 : PEMROGRAMAN ANTAR MUKA GRAFIS : IV : 3 + 1 sks Praktikum Penyusun : Dr. Ir. Amir Hamzah, M.T. JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI INSTITUT SAINS & TEKNOLOGI AKPRIND YOGYAKARTA 2013 RANCANGAN PEMBELAJARAN BERBASIS STUDENT CENTERED LEARNING Mata Kuliah Kode Semester SKS Program studi Jenjang Tujuan : Pemrogaman Antar Muka Grafis : IFP-2315 : IV : 3 : Teknik Informatika : Sarjana : Agar mahasiswa mengerti dan dapat menerapkan dan mengembangkan Teknik Pemrograman Berbasis Grafis menggunakan program java Prasyarat : Kepustakaan : 1. Lemay, L. and Perkins, C.L.,1996, Teach Yourself Java in 21 Days, Sams Net, Indiana 2. Sanchez, J. dan Canton, M., 2001, JAVA 2 Week End Crash Course, Elex Media Computindo 3. Prasetyo, D.D., 2004,Pemrograman Java 2, Elex Media Komputindo, Jakarta 4. Hartati, G.S., Suharto, B.H dan Wijono, M.S., Pemrograman GUI Swing Java dengan NetBeans 5, Penerbit Andi, Yogyakarta 5. http://java.sun.com/j2se/1.4.2/docs/api/overview-summary.html Kompetensi : Mahasiswa mampu membuat aplikasi menggunakan pendekatan antar muka grafis yang melibatkan komponen Graphical User Interface (GUI) dengan pendekatan program java dan memadukannya dengan database management System yang sederhana seperti MS-ACCEESS dan My-SQL. Materi : Dasar-dasar GUI (Form, Button, Label,TextField,TextArea, Panel, Choice), Array dan String, Utilitas (Vector, Dictionary, Hashtable, Calender, Date), Thread dan sinkronisasi Thread, File dan konsep Stream, awt dan GUI Lanjut (Table dan Menu), koneksi ke database Evaluasi : Rumus Evaluasi adalah : NA = 10% Presensi + 36% Uian + 24% Tugas + 30% Praktikum 1. Presensi (kehadiran kuliah) : 10% 2. Ujian Tengah Semester (UTS) : 18 % 3. Ujian Akhir Semester (UAS) : 18 % 4. Tugas 1, 2 dan 3 : 24 % 5. Praktikum : 30% Norma Penilaian : Semua penilaian dalam bentuk angka 0.00 sampai 100.00, kemudian nilai akhir (NA) ditentukan berdasarkan formula nilai akhir dan dikonversikan ke nilai huruf dengan ketentuan sbb : Kisaran Nilai Angka (NA) 0.00 < NA < 20.00 20.00 < NA < 40.00 40.00 < NA < 60.00 60.00 < NA < 80.00 80.00 < NA < 100.00 Nilai Huruf (NH) E D C B A 6. Ketentuan dan Tata Tertib kuliah tatap muka 1. Kehadiran kuliah minimal 75% untuk dapat mengikuti ujiaan, utamanya ujian akhir semester (UAS) 2. Keterlambatan kehadiran kuliah : maksimal 20 menit (atau sesuai kesepakatan), lebih dari 20 menit tidak diiijinkan masuk kelas (kecuali dapat menjelaskan tentang sesuatu topik masalah di depan kelas, atau menjawab suatu pertanyaan dosen) 3. Selama kuliah seluruh alat komunikasi, HP dan alat lain dimatikan 4. Mahasiswa wajib mendownload semua meteri kuliah dan membacanya sesuai skedul 5. Pertanyaan yang muncul dari proses membaca bahan kuliah dan jawaban yang muncul dari sesama teman yang sudah memahami akan memberi kontribusi pada nilai tugas 6. Hal-hal lain yang belum dituliskan akan ditetapkan pada tatap muka pertama kali 7. Ijin Tidak mengikuti Kuliah 1. Mahasiswa diijinkan tidak mengikuti kuliah maksimal 4 kali 2. Prosedur ijin tidak mengikuti kuliah ditetapkan oleh BAA 3. Ijin tidak mengikuti kuliah dibauat sebelum kuliah, atau jika terpaksa setelah kuliah , maka paling lambat satu mingghu setelah tatap muka yang bersangkutan 4 Materi Per Tatap Muka 1 Ming gu Ke 1 2 2 Kemampuan akhir yang diharapkan Mahasiswa mampu memahami konsep GUI dann menggunakan kompponen GUI sederhana : Form, Button, Label, dan TextField untuk aplikasi sederhana Mahasiswa memahami dan memanfaatkan konsep Array dan mengelola String 3 Bahan Kajian Membuat Project dengan NetBeans 1) Pengertian GUI 2) Memahami Generated Code dari NetBeans 3) Membuat Form dengan Title 4) Memasang komponen : Label, Button, dan TextField 5) Mengendalikan Komponen GUI 6) Aplikasi GUI sederhana : - Kalkulator - Hitung Faktorial - Menentukan Bilangan Prima Class dan method abstract 1) Definisi class abstract 2) Definisi method abstract 3) Class abstract :Number 4) Class Integer, Long, Float, Double 5) Konversi bilangan ke string dan string kebilangan Project NetBeans 1) Komponen GUI :Panel dan TextArea 2) Komponen Choice dan RadioGroup Konsep Array 1) Definisi Array 2) Array 1 dimensi dan dua dimensi 3) Pemanfaatan array 1 dan 2 dimensi untuk simulasi kamus Class String 1) Constructor String 2) Konversi array byte ke string, array char ke string 3) Kesamaan string, substring, copy string, gabung string 4) Menggabungkan konsep array dan string : Kasuskamus 2 bahasa 4 Bentuk pembelajar an Kuliah, simulasi, diskusi dan tugas mandiri Kuliah, simulasi, diskusi dan tugas mandiri 5 Kriteria Penilaian 1. Kemampuan dalam memahami lingkunagn Pemrograman IDE 2. Kemampuan menggunakan komponen sedrhana IDE : Form, Label, Button, TextField 3. Kemampuan konversi nilai data dari string ke numerik 1. Kemampuan dalam memanfaatkan array, baik 1 atau 2 dimensi untuk mengatasi persoalan 2. kemampuan melakukan operasi untuk manipulasi string dengan methodmethod yang ada dalam clas String 3. Kemampuan menggunakan komponen TextArea dan RadioButton 5 3 Mahasisiswa Mampu memahami utilitas yang disediakan oleh java seperti fungsifungsi matematik dalam class Math, search dan sort dengan class Arrays, struktur data dengan class Vector, Operasi data dengan Dictonary dan Hashtable dan manajemen waktu dengan class Calendar dan Date Class Math 1) Math sebagai class statik 2) Fungsi-fungsi penting : sqrt(), power() 3) Fungsi acak : random() Kuliah, simulasi, diskusi dan tugas mandiri (dikumpulka Dictionary dan Hashtable n sebagai 1) Konsep Dictionary tugas 1 : 2) Ases Hashtable : put() dan mencakup get() minggu 3) Cek : containsKey() 1,2,3,4) 4) Simulasi kamus Calendar dan Date 1) Konsep date java 2) Constructor Date() 3) Method : getDate(), getDay(), getMonth(), getYear(), getHours(), getMinutes() , getSeconds(), getTime() 4) Pewaktu : CurrentTimeMillis() 1. Kemampuan menggunakan method-method dalam class Math untuk kepentingan operasi fungsi pangkat, random, trignometri dll 2. Kemampuan operasi data sortir dan searching dengan class Arrays 3. Kemampuan manipulasi data dengan class Vector dan class Hashtable 4. Kemampuan menangani data Tanggal dan waktu 4-5 Memanfaatkan awt Mahasisiswa mampu 1) Konsep awt dan paket awt memahami 2) Class Graphics, Font, dan Color menggunakan 3) Method: paint(), repaint(), konsep AWT drawString(), drawLine(), untuk drawRect(), drawOval(), mengelola fillRect(),fillOval(), pemrograman drawArc(), drawPolygon() grafis dan Kendali mouse dan perancangan antar muka keyboard grafis 1) Menangani mouse dengan interface MouseListener 2) Menangani keyboard dengan interface KeyListener Kuliah, 1) Kemampuan simulasi, memahami dan diskusi dan membuat applet tugas java dan kelompok memadukan (dikumpulka dengan grafik n sebagai dalam konsep tugas 3 dan awt diprrsentasi 2) Kemampuan kan membuat applet mencakup dengan kendali materi mouse dan minggu 9keyboard 12) 3) Kemampuan membuat prgram dengan memanfaatkan komponen GUI 7 Pengelolaan citra Mahasisiswa mampu 1) Memasang gambar membuat 2) Mengubah ukuran gambar applet dengan 3) Mengubah warna, memadukan memotong, memutar dengan gambar konsep Thread 4) Membuat clip gambar untuk 5) Transformasi Grafik 2D Kuliah, 1) Kemampuan simulasi, membuat applet diskusi dan untuk pengolahan tugas dan manipulasi mandiri gambar 2) Kemampuan mengendalikan applet dengan 6 menangani Animasi dan Thread pengelolaan citra, animasi 1) Implement Runnable aplet dan multi 2) Membuat animasi jam media 3) Membuat animasi gambar thread 3) Kemampuan memadukan audio dengan animasi Pengelolaan suara 1) Audio 2) Memainkan suara 3) Mengontorl suara 4) Memadukan suara dengan animasi 8 Ujian Tengah Semester Mengevaluasi keberhasilan proses belajar mengajar pada perkuliahan minggu 17 Ujian Tertulis Kemampuan mengimplementasi kan persoalan/ kasus dengan menggunakan pemrograman 9-10 Mahasiswa mampu memahami berbagai macam cara untuk melakukan pembacaan dan penulisan ke berbagai sumber data melalui konsep Stream dalam java Ases file teks 1) FileReader(), FileWriter() 2) BufferReader(), BufferWriter() 3) Aplikasi mengkopy file Kuliah, simulasi, diskusi dan tugas mandiri Kemampuan menerapkan konsep Stream, InputStream dan OutputStream dalam berbagai variasi kasus: I/I aliran byte, I/O buffered, dan I/O dengan data bertipe Class InputStream dan turunannya 1) Konsep dasar Stream 2) InputStream : konstruktor, method: read(), read([]b), read([]b,n,m), skip(), available() 3) Keyboard sebagai InputStream : System.in 4) Membaca file dengan FileInputStream 5) ByteArrayInputStream Class OutputStream dan turunannya 1) OutputStream : konstruktor, method : write(), write([]b), write([]b,n,m) 2) Menulis File dengan FIleOutputStream 3) Mengkopi File I/O Terbuffer 1) Urgensi I/O terbuffer 2) BufferedInputStream dan BufferedOutputStream 3) Perbandingan dengan I/O tidak terbuffered 7 11-12 Mahasiswa mampu membuat program dengan GUI untuk mengakses database atau applet menggunakan java Swing dan java Script I/O dengan data bertipe 1) Penanganan berbagai tipe data dalam I/O 2) DataInputStream dan method :readInt(), readLong(), readFLoat(), readChar(), readByte(), readLine() 3) DataOutputStream dan method :writeInt(), writeLong(), writeFloat, writeDouble(), writeBytes() 4) Contoh aplikasi Koneksi dengan Data base 1. Koneksi database MSACCESS 2. Baca Record 3. Tambah Record 4. Hapus Record Antaramuka Ases Database 1. Membuat Form Input data 2. Membuat Table untuk menampilkan data Kuliah, simulasi, diskusi dan tugas mandiri (Dikumpulk an sebagai tugas 4 : mencakup minggu 1314) Mampu membuat program JAVA dengan tiga pendekatan : aplikasi, applet dan java Script Kuliah, simulasi, diskusi dan tugas mandiri 1) Kemampuan membuat program dengan thread, mengendalikan thread dengan class Thread dan Interface Runnable 2) Kemampuan menerapkan konsep komunikasi thread dan sinkronisasi thread Koneksi dengan My-SQL 1. Cara Koneksi 2. Baca Record 3. Tambah Record 4. Hapus Record 13-14 15 Mahasisiswa mampu memahami konsep Thread, mmbuat program dengan konsep thread, mengendalika n kominikasi thread dan sinkronisasi thread Mahasiswa mampu memilih topik untuk Class Thread 1) Constructor Thread 2) Implementasi Runnable 3) Daur hidup thread : init(), start(), run(), stop() 4) Kendali thread: sleep(), suspend() 5) Prioritas thread : setPriority(), getPriority() 6) Daemon thread Komunikasi dan sinkronisasi 1) Urgensi komunikasi thread 2) Metode komunikasi 3) Proses atomik 4) Syncronisasi thread 5) Kasus penerapan : simulasi bank Presentasi Tugas III dan Presentasi Review keseluruhan materi dan petunjuk pengembangan mandiri 1) Kemampuan memilih topik 2) Kemampuan menulis laporan 8 16 dipecahkan database dan GUI berkelompok dan membuat laporan serta mempresentas ikan UJIAN AKHIR SEMESTER 3) Kemampuan membuat presentasi Mengevaluasi keberhasilan proses belajar mengajar pada perkuliahan minggu 915 Uijian Tertulis Kemampuan membuat dan memecahkan kasus/ persoalan matematika/fisika serta persoalan dengan menggunakan pemrogarman MODUL PRAKTIKUM Percobaan I Percobaan II Percobaan III Percobaan IV Percobaan V Percobaan VI Percobaan VII Percobaan VIII : Form dan GUI Dasar (Label,Button dan TextField) –Program Kalkulator dan Faktorial : GUI Lanjut (Panel,TextArea, Radio)-Array, String, HashTable Tugas I : Kamus 2 bahasa : Manipulasi Grafis Garis, kotak, lingkaran, elips, busur, Font, Huruf dan Tulisan, Image : Manipulasi Citra, memotong, memutar dan membuat clip Tugas II : Antarmuka grafis menipulasi citra : File dan Stream, program copy file program membaca file dan menampilkan : Koneksi dengan database MS ACCESS Tugas III : Antar muka database (membuat sistem GUI database sederhana) : Koneksi Database dengan MySQL (menyempurnakan tugas III) : Thread dan Aplikasinya 9 RANCANGAN TUGAS 1 Mata Kuliah Kode Mata Kuliah SKS Semester : PemrogramanAntar Muka Grafis : TIFS2204 : 3 (tiga) :4 1. TUJUAN TUGAS Mengukur kemampuan mahasiswa dalam memahami kemampuan dasar GUI dengan komponen GUI dasar : Button, Label, TextField, Radio dan Panel dan kemampuan programming untuk manipulasi teks dengan string dan Hashtable 2. URAIAN TUGAS Obyek garapan : Membuat program aplikasi dengan GUI java yang melibatkan manipulasi string, penerapan hashtable atau array dengan melibatkan komponen GUI Button, Panel, label, TextField, dan Raio Button Metode/cara mengerjakan Mahasiswa membuat program Menjalankan program Melaporkan code program dan hasil running program Referensi RPP dan modul Minggu 1 sampai Minggu 3 Buku-buku Java yang relevan Deskripsi luaran tugas yang dihasilkan Kode program Hasil runnning program Pembahasan 3. KRITERIA PENILAIAN o Kemampuan untuk menganalisis suatu masalah dan menerjemahkan masalah untuk dipecahkan dengan teknik GUI dan teknik struktur data yang dapat disolusi oleh utilitas java o Ketepatan dalam membuat program sesuai dengan kasus yang diberikan Kriteria Penilaian : Konversi Grade 0 Skor Indikator kinerja yang dibutuhkan <20 1 20-39 2 40-59 3 60 – 79 4 80-100 Tidak mampu mengenali masalah dan menjawa denganasalasalan, tidak mengenali pada masalahnya Kurang mampu mengenali masalah yang diberikan dan kurang mampu membuat program dengan benar Mampu mengenali masalah tetapi , tetapi belum bisa membuat program dengan benar Mampu membuatod yang diperlukan program tetapi belum semua diselesaikan secara sempurna, terutama dalam merancang metodmet Mampu membuat program dengan benar untuk semua persoalan yang diberikan Batas waktu penyelesaian : 2 (dua) minggu 10 SOAL : 1. Buatlah GUI untuk membuat kamus English-Indonesia dan Indonesia-English dengan antar muka sebagai berikut dengan munggunakan teknik Hashtable 11 12 RANCANGAN TUGAS 2 Mata Kuliah Kode Mata Kuliah SKS Semester : Pemrograman JAVA : TIFS2204 : 3 (tiga) :4 1. TUJUAN TUGAS Mengukur kemampuan mahasiswa dalam memahami konsep pemrograman multi threading dalam java dan pemrograman untuk menangani file teks serta menggabungkannya 2. URAIAN TUGAS Obyek garapan : Membuat program aplikasi java yang melibatkan perancangan lebih dari satu thread dan mengatur komunikasi antar thread dan waktu hidup thread, serta mambuat program untuk mengakses dan memanipulasi file teks Metode/cara mengerjakan Mahasiswa membuat program Menjalankan program Melaporkan code program dan hasil running program Referensi RPP dan modul Minggu 5 sampai Minggu 7 Buku-buku Java yang relevan Deskripsi luaran tugas yang dihasilkan Kode program Hasil runnning program Pembahasan 3. KRITERIA PENILAIAN o Kemampuan untuk menganalisis suatu program Java dan ketepatan dalam menjawab hasil program o Ketepatan dalam membuat program sesuai dengan kasus yang diberikan Kriteria Penilaian : Konversi Grade 0 Skor Indikator kinerja yang dibutuhkan <20 1 20-39 2 40-59 3 60 – 79 4 80-100 Tidak mampu mengenali masalah dan menjawa denganasalasalan, tidak mengenali pada masalahnya Kurang mampu mengenali masalah yang diberikan dan kurang mampu membuat program dengan benar Mampu mengenali masalah tetapi , tetapi belum bisa membuat program dengan benar Mampu membuatod yang diperlukan program tetapi belum semua diselesaikan secara sempurna, terutama dalam merancang metodmet Mampu membuat program dengan benar untuk semua persoalan yang diberikan Batas waktu penyelesaian : 2 (dua) minggu 13 SOAL TUGAS 2 Buat program antar muka grafis untuk menampilkan foto seperti pada gambar berikut. File-file foto dapat dipilih dengan Cobo-Box dan disediakan tombol untuk memperbesar dan memperkecil foto. Modifikasikan juga jika gambarnya dipasang ditengah (a) Mula-mula (b) diklik besarkan beberapa kali 14 SOAL TUGAS 3 : MENYUSUL