IKG2I4 / Software Project I
Mahmud Imrona, M.T. Izzatul Ummah, M.T.
Kelompok Keahlian Algoritma dan Komputasi
LECTURE NOTE
WEEK 1
Aturan/Deskripsi Perkuliahan. Konsep dasar OOP.
Class diagram. Pengenalan Java.
Software Project adalah matakuliah yang “unik”, karena kuliah ini pada dasarnya bersifat praktis, mahasiswa disarankan untuk mengeksplorasi
teknologi pengembangan perangkat lunak secara mandiri.
Proses pengerjaan tugas besar akan lebih cepat bila mahasiswa mau belajar sendiri materi-materi yang dibutuhkan, tanpa perlu menunggu
diajarkan oleh dosen.
Weekly Assignment, Quiz, Keaktifan: 20% Ujian Tengah Semester: 30%
–Materi: Inheritance, Agregasi-Array, Abstract & Interface. –Mekanisme UTS: Ujian berupa praktek implementasi
coding menggunakan laptop masing-masing (tidak ada ujian teori). Soal diberikan berupa class diagram.
–Sifat UTS: open book, open all resources (boleh buka ebook/slide/Internet dsb, tapi tidak boleh chatting).
Project (kelompok): 50%
Mencontek atau copy-paste dari teman saat UTS mengakibatkan nilai E.
Ketidakhadiran ketika presentasi tugas besar mengakibatkan nilai nol untuk Project.
Pada kuliah ini, mahasiswa diharapkan mencari real user/client untuk pengerjaan tugas besar.
Dosen selain berperan sebagai pengajar juga bertindak sebagai user/client, di mana dosen dapat menambah
requirement baru, perubahan, atau perbaikan pada software tugas besar.
Week 1: konsep OOP, class diagram, Java Week 2: class Driver, private/public, get/set Week 3: inheritance, overriding, overloading Week 4: relasi antarkelas
Week 5: relasi antarkelas menggunakan array Week 6: abstract class, interface, exception
Week 7: JAVA API DOCS, Java Library, IO Stream
Week 8: Graphical User Interface, OOP with C++ Week 9: ER Model, Query sederhana
Week 10: Query SQL (menggunakan Oracle) Week 11: Query SQL (menggunakan Oracle) Week 12: JDBC, GUI dan IDE
Week 13: presentasi project Week 14: presentasi project
Jacquie Barker. Beginning Java Object: From Concept to Code. Apress Publisher.
Deitel & Deitel. Java™ How to Program, 6th, Prentice Hall. Head First Java by Bert Bates and Kathy Sierra, O'Reilly Manual dan tutorial: JDK 7 API DOCS
Oracle documentation MySQL documentation
GOOGLE, YOUTUBE, programmer forums, etc.
– http://www.tutorialspoint.com/computer_programming_tutorials.htm
REFERENSI
OOP is the most emerging technique in the world’s of programming
Important for large/economic scale of software development:
–Works with large group of team (programmer)
Nature OOP: easy to learn, easy to use (high reusability), minimalize coding error
Paradigma pemrograman yang berusaha mendekati dunia nyata.
Berorientasi pada aktor/pelaku, di mana masing-masing dapat memiliki sifat (atribut/properties) dan dapat melakukan hal-hal spesifik yang sudah ditentukan (methods)
Everything in OOP is object.
Object Oriented Programming adalah paradigma pemrograman modern di mana setiap entitas di dalam sistem diidentifikasi sebagai object yang memiliki data (atribut/state) dan fungsi yang bisa dikerjakan (method/behavior). Identifikasi ini
digambarkan terlebih dahulu dalam sebuah class. Class adalah abstraksi atau blueprint (bentuk
dasar) dari sekumpulan entitas-entitas yang memiliki kesamaan. Class bisa juga dipahami sebagai kelompok, atau hasil pengelompokan (kategori).
Langkah-langkah pemodelan object oriented:
–Langkah pertama: Identifikasi entitas apa saja yang harus ada, siapa aktor/pelaku (role)? (Subjek)
Ini jadi Class
Berupa kata benda
–Apa sifat/elemen masing2 benda/aktor? Ini jadi Property
Berupa kata benda atau kata sifat
–Benda/aktor itu bisa melakukan apa saja? (Predikat)
Ini jadi Methods (kalau di C/C++ ini adalah prosedur/fungsi)
Biasanya berupa kata kerja
Contoh 1:
–Class: Manusia
–Property/Attribute: nama, umur, gender, kebangsaan, warnakulit, warna rambut, warna iris mata
–Method: lahir, berjalan, berlari, berdiri, tidur, makan,
berpikir, berbicara, tertawa, menangis, tersenyum, marah, berbohong, mati.
Contoh 2:
–Class: Hewan
–Property/Attribute: umur, gender
–Method: lahir, makan, tidur, berlari, mati.
Contoh 3:
–Class: Makhluk Hidup
–Property/Attribute: umur, jumlah sel –Method: lahir, mati.
Class Manusia dan Hewan pasti termasuk di dalam kelompok Class Makhluk Hidup
–Dibahas lebih jauh di Inheritance
–Ingat konsep Phyllum/Divisio (pembagian
divisio,class,ordo, family,genus,species) pada Biologi, maka kelas juga bisa dibuat bertingkat-tingkat dalam
Perhatikan ruang kelas tempat kita belajar. Ada banyak entitas di dalam ruang kelas itu, baik
benda mati ataupun makhluk hidup. Bila kita identifikasi, terdapat: –Kursi –Meja –Papantulis –Kapur –Dosen
–Mahasiswa, dan sebagainya
Kursi, Meja, Papantulis, Kapur, Dosen, Mahasiswa; masing-masing itu bisa dimodelkan sebagai class. Lalu apa yang dimaksud dengan object?
–Object adalah instansiasi atau perwujudan individual dari class tersebut.
–Contoh, untuk class Dosen, objectnya adalah Izza, Mahmud, Yuliant, Erliansyah, dsb.
–Untuk class Mahasiswa, objectnya adalah si X, si Y, si Z, serta semua mahasiswa lainnya.
–Untuk class Kursi, objectnya adalah tiap-tiap kursi di ruangan tersebut.
Mari kita tinjau sebuah “dunia” poligon yang terdiri dari bentuk-bentuk bangun datar dan bangun ruang.
Beberapa class sederhana yang bisa kita identifikasi:
–Segiempat –Lingkaran
–Segitiga Siku-siku –Balok
Tiap class dapat memiliki atribut masing-masing, misalnya Segiempat memiliki atribut panjang dan lebar, Lingkaran memiliki 1 atribut yaitu radius, SegitigaSiku memiliki atribut alas dan tinggi, Balok memiliki 3 atribut (panjang, lebar, tinggi). Tiap class dapat memiliki fungsi misalnya
hitungLuas, hitungKeliling, hitungVolume, dsb., yang rumus atau algoritmanya berbeda-beda antara class yang satu dengan class yang lain.
Class diagram menggambarkan class-class dan hubungan antar class. Class diagram termasuk dalam notasi UML (Unified Modeling Language). Di dalam class diagram biasanya ada:
–Nama class –Atribut class
–Method (fungsi/prosedur)
Contoh tools untuk membuat class diagram: StarUML, Poseidon, Rational Rose.
Segiempat, Lingkaran, SegitigaSiku, dan Balok tersebut adalah nama class.
Lalu yang mana objectnya?
–Pertanyaan ini penting, untuk membedakan class dan object.
–Object baru muncul jika kita “menginstansiasi” atau
“memunculkan” atau “melahirkan” sebuah entitas individu dari class tersebut. Misalnya jika kita menggambar dua buah segiempat dan tiga buah lingkaran, yang
masing-masing memiliki ukuran berbeda-beda (boleh juga sama), maka kita telah menginstansiasi lima buah object.
Class adalah nama kelompok/kategori. Object adalah instance atau perwujudan individual dari class tersebut.
Tiap object harus “lahir” dari sebuah class. Tidak ada object yang tidak berasal dari class tertentu. Pada object oriented programming, semua adalah object yang berasal dari suatu class.
Semua atribut dan method harus berada di dalam suatu class. Tidak boleh ada yang “mengambang”
Java adalah:
–Bahasa pemrograman yang dibuat oleh James Gosling –Nama software yang menjalankan program Java
–Diambil dari nama kopi Jawa yg terkenal di kalangan programmer (C/C++, yg melahirkan Java)
Oak (diganti karena udah ada yang memakai nama ini)
Kelebihan OOP/Java:
–Pemodelan lebih mudah dan akurat (mirip dunia nyata) –Membuat program/software lebih cepat
–Write once, run everywhere (bisa di Windows, Linux, Mac)
Untuk weekly assignment dan homework, diharuskan menggunakan compiler berbasis
Command-Prompt atau Terminal (javac, java). Dari pekan 1 sampai pekan 8 semua tugas
mingguan yang diberikan berbasis Terminal. Penggunaan IDE seperti Netbeans dan Eclipse hanya untuk tugas besar saja.
Download dan instal compiler Java:
–http://www.oracle.com/technetwork/java/javase/downloa ds/jdk8-downloads-2133151.html
Set environment variable (agar javac dikenali): Di ControlPanel->System->Advanced->Environment Variables:
–SystemVariables->Path, tambahkan C:\Program Files\Java\
jdk1.8xxx\bin
–UserVariables: klik New ClassPath, ketikkan .;C:\Program
Files\Java\jdk1.8xxx\lib
PENGENALAN JAVA
Nama class harus sama dengan nama file.
Nama file/class harus diawali huruf besar. Contoh:
–Nama file: Segiempat.java
–Nama class: class Segiempat {….}
Cara compile:
–javac nama_file.java
Cara run:
–java nama_class
Contoh membuat helloworld.
Buatlah file Helloworld.java, isinya adalah sbb: (ingat nama class harus sama dengan nama file)
Buka Command Prompt, pastikan masuk di folder yg benar tempat Anda menaruh file Helloworld.java
–Cara masuk ke folder: ketik perintah cd <folder>
Cara mengcompile: javac Helloworld.java
–Bila tidak ada tulisan error, maka program sudah tercompile dan muncul file Helloworld.class
Cara merun: java Helloworld (ngga pake .class)
–Bila sudah benar, akan muncul tulisan Helloworld!!
Ingat kembali typedef struct di C.
–Contoh ADT Point, yang di Java kita namai class Titik.
Pelajari kembali beberapa keyword penting sbb: –Class –Object –Atribut –Method –Class diagram