• Tidak ada hasil yang ditemukan

IKG2I4 / Software Project I LECTURE NOTE WEEK 1. Mahmud Imrona, M.T. Izzatul Ummah, M.T. Kelompok Keahlian Algoritma dan Komputasi

N/A
N/A
Protected

Academic year: 2021

Membagikan "IKG2I4 / Software Project I LECTURE NOTE WEEK 1. Mahmud Imrona, M.T. Izzatul Ummah, M.T. Kelompok Keahlian Algoritma dan Komputasi"

Copied!
33
0
0

Teks penuh

(1)

IKG2I4 / Software Project I

Mahmud Imrona, M.T. Izzatul Ummah, M.T.

Kelompok Keahlian Algoritma dan Komputasi

LECTURE NOTE

WEEK 1

(2)

Aturan/Deskripsi Perkuliahan. Konsep dasar OOP.

Class diagram. Pengenalan Java.

(3)

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.

(4)

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%

(5)

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.

(6)

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

(7)

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

(8)

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

(9)

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

(10)

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.

(11)

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).

(12)

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

(13)

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.

(14)

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

(15)
(16)

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

(17)

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.

(18)

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

(19)

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.

(20)

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.

(21)
(22)

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.

(23)

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”

(24)

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)

(25)

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.

(26)

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

(27)

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

(28)

Contoh membuat helloworld.

Buatlah file Helloworld.java, isinya adalah sbb: (ingat nama class harus sama dengan nama file)

(29)

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!!

(30)
(31)

Ingat kembali typedef struct di C.

–Contoh ADT Point, yang di Java kita namai class Titik.

(32)

Pelajari kembali beberapa keyword penting sbb: –Class –Object –Atribut –Method –Class diagram

REVIEW

(33)

THANK YOU

THANK YOU

THANK YOU

THANK YOU

Referensi

Dokumen terkait

Permasalahan yang akan dibahas dalam skripsi ini adalah apakah dokter gigi umum dalam melakukan pemasangan behel gigi yang seharusnya merupakan kewenangan dari dokter gigi

Rapat Koordinasi Protokol adalah rapat yang diselenggarakan oleh Biro Protokol dan Persidangan, Sekretariat Wakil Presiden bersama-sama dengan Direktorat Jenderal Protokol

User /admin dapat menambahkan unit baru dengan menekan tombol tambah data yang tersedia di submenu unit, setelah itu akan diarahkan ke menu tambah data ke unit.. Admin

Golongan A, yaitu air yang dapat digunakan sebagai air minum secara.. langsung, tanpa pengolahan

Kemudian plastik panas terus diinjeksikan kedalam cetakan, material dengan suhu yang lebih rendah tadi terdorong terus kedalam dan meniggalkan bekas aliran..

mekanika tanah. Untuk mengetahui tingkat keakurasian perhitungan hand method ini diperbandingkan dengan penurunan tiang hasil PDA Test. Selain itu perhitungan praktis

dilihat pada Tabel 4.2 bahwa ekstrak lengkuas konsentrasi 10% berpengaruh terhadap penurunan jumlah bakteri ikan patin, angka kuman diperoleh hasil 2,01 x 10 3 koloni/g

ABSTRAK' Penelitian ini bertujuan untuk mengetahui pengaruh Lokasi, Harga dan Label Halal Terhadap Keputusan Pembelian Produk Wardah Malang. Jenis penelitian ini adalah