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 : Pemrogaman Antar Muka Grafis Kode : IFP-2315 Semester : IV SKS : 3 Program studi : Teknik Informatika Jenjang : Sarjana Tujuan : Agar mahasiswa mengerti dan dapat menerapkan dan mengembangkan Teknik Pemrograman Berbasis Grafis 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 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) Nilai Huruf (NH) 0.00 < NA < 20.00 E 20.00 < NA < 40.00 D 40.00 < NA < 60.00 C 60.00 < NA < 80.00 B 80.00 < NA < 100.00 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 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 Ming gu Ke Materi Per Tatap Muka 1 2 3 4 5 Kemampuan Bahan Kajian Bentuk Kriteria Penilaian akhir yang pembelajar diharapkan an 1 Mahasiswa mampu memahami konsep GUI dann kompponen GUI sederhana : Form, Button, Label, dan TextField untuk aplikasi sederhana 2 Mahasiswa memahami dan memanfaatkan konsep Array dan mengelola String 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 1. Kemampuan dalam memahami lingkunagn Pemrograman IDE 2. Kemampuan 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 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() Dictionary dan Hashtable 1) Konsep Dictionary 2) Ases Hashtable : put() dan get() 3) Cek : containskey() 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() (dikumpulka n sebagai 1 : mencakup minggu 1,2,3,4) 1. Kemampuan 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 Mahasisiswa mampu memahami dan konsep AWT untuk mengelola pemrograman grafis dan perancangan antar muka grafis Memanfaatkan awt 1) Konsep awt dan paket awt 2) Class Graphics, Font, Color 3) Method: paint(), repaint(), drawstring(), drawline(), drawrect(), drawoval(), fillrect(),filloval(), drawarc(), drawpolygon() Kendali mouse dan keyboard 1) Menangani mouse dengan interface MouseListener 2) Menangani keyboard dengan interface KeyListener kelompok (dikumpulka n sebagai 3 dan diprrsentasi kan mencakup materi minggu 9-12) 1) Kemampuan memahami dan membuat applet java dan memadukan dengan grafik dalam konsep awt 2) Kemampuan membuat applet dengan kendali mouse dan keyboard 3) Kemampuan membuat prgram dengan memanfaatkan komponen GUI 7 Mahasisiswa mampu membuat applet dengan memadukan dengan konsep Thread untuk Pengelolaan citra 1) Memasang gambar 2) Mengubah ukuran gambar 3) Mengubah warna, memotong, memutar gambar 4) Membuat clip gambar 5) Transformasi Grafik 2D 1) Kemampuan membuat applet untuk pengolahan dan manipulasi gambar 2) Kemampuan mengendalikan applet dengan
6 menangani pengelolaan citra, animasi dan multi media Animasi dan Thread 1) Implement Runnable aplet 2) Membuat animasi jam 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 1-7 Ujian Tertulis Kemampuan mengimplementasi kan persoalan/ kasus dengan 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 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 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 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 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 MS- ACCESS 2. Baca Record 3. Tambah Record 4. Hapus Record Antaramuka Ases Database 1. Membuat Form Input data 2. Membuat Table untuk menampilkan data Koneksi dengan My-SQL 1. Cara Koneksi 2. Baca Record 3. Tambah Record 4. Hapus Record (Dikumpulk an sebagai 4 : mencakup minggu 13-14) Mampu membuat program JAVA dengan tiga pendekatan : aplikasi, applet dan java Script 13-14 Mahasisiswa mampu memahami konsep Thread, mmbuat program dengan konsep thread, mengendalika n kominikasi thread dan sinkronisasi thread 15 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 Review keseluruhan materi dan petunjuk pengembangan Presentasi 1) Kemampuan membuat program dengan thread, mengendalikan thread dengan class Thread dan Interface Runnable 2) Kemampuan menerapkan konsep komunikasi thread dan sinkronisasi thread 1) Kemampuan memilih topik 2) Kemampuan menulis laporan
8 dipecahkan database dan GUI berkelompok dan membuat laporan serta mempresentas ikan 16 UJIAN AKHIR SEMESTER Mengevaluasi keberhasilan proses belajar mengajar pada perkuliahan minggu 9-15 Uijian Tertulis 3) Kemampuan membuat presentasi Kemampuan membuat dan memecahkan kasus/ persoalan matematika/fisika serta persoalan dengan 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 III) : Thread dan Aplikasinya
9 RANCANGAN TUGAS 1 Mata Kuliah : PemrogramanAntar Muka Grafis Kode Mata Kuliah : TIFS2204 SKS : 3 (tiga) Semester : 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 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 Skor Indikator kinerja yang dibutuhkan Grade 0 <20 Tidak mampu mengenali masalah dan menjawa denganasalasalan, tidak mengenali pada masalahnya 1 20-39 Kurang mampu mengenali masalah yang diberikan dan kurang mampu membuat program dengan benar 2 40-59 Mampu mengenali masalah tetapi, tetapi belum bisa membuat program dengan benar 3 60 79 Mampu membuatod yang diperlukan program tetapi belum semua diselesaikan secara sempurna, terutama dalam merancang metodmet 4 80-100 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 Mata Kuliah : Pemrograman JAVA Kode Mata Kuliah : TIFS2204 SKS : 3 (tiga) Semester : 4 RANCANGAN TUGAS 2 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 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 Skor Indikator kinerja yang dibutuhkan Grade 0 <20 Tidak mampu mengenali masalah dan menjawa denganasalasalan, tidak mengenali pada masalahnya 1 20-39 Kurang mampu mengenali masalah yang diberikan dan kurang mampu membuat program dengan benar 2 40-59 Mampu mengenali masalah tetapi, tetapi belum bisa membuat program dengan benar 3 60 79 Mampu membuatod yang diperlukan program tetapi belum semua diselesaikan secara sempurna, terutama dalam merancang metodmet 4 80-100 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
SOAL TUGAS 3 : MENYUSUL 14