matematika diskrit

advertisement
STRUKTUR DATA
MUSTAKIM, S.T
PERTEMUAN 3
Jurusan Sistem Informasi
Fakultas Sains dan Teknologi UIN Suska Riau
2011
PENGANTAR PEMROGRAMAN
PEMROGRAMAN YANG BAIK
Perangkat Lunak  Seni, Sains dan Rekayasa
Rekayasa Perangkat Lunak :
Disiplin yang mempelajari teknik, metodologi,
manajemen dan sebagainya untuk mendapatkan dan
menghasilkan Perangkat Lunak yang berkualitas.
Halaman
3
PEMROGRAMAN YANG BAIK
Urutan dan jenis aktifitas yang benar dan sesuai
dengan model proses dan metodologi yang dipilih
adalah:
1. Analisis dan Spesifikasi Masalah
2. Perancangan Sistem
3. Pemrograman dan integrasi
4. Verifikasi dan Validasi
5. Pemeliharaan Sistem
Halaman
4
GAYA PEMROGRAMAN DAN
GUNA ULANG
Gaya Pemrograman Pemrograman mempunyai gaya
sesuai dengan bahasa yang digunakan, setiap bahasa
mempunyai gaya pemrograman yang berbeda-beda
Guna Ulang Mereduksi ongkos perancangan,
penodean/ pemrograman dan pengujian.
Halaman
5
GAYA PEMROGRAMAN DAN
GUNA ULANG
Aturan Guna Ulang
1. Jaga agar operasi koheren
2. Jaga agar operasi berukuran kecil
3. Jaga agar operasi konsisten
4. Pemisahan Kebijakan dan Implementasi
5. Menyediakan cakupan yang seragam
6. Perlebar operasi sebesar mungkin
7. Menghindari operasi global
Halaman
6
PETUNJUK PEMROGRAMAN
1.
2.
3.
4.
5.
6.
7.
8.
9.
Jangan memulai pemrograman jika belum siap
Jaga agar metode-metode mudah dipahami
Buat agar metode mudah dibaca
Gunakan nama yang sama dengan nama pada
model objek
Pilihlah nama identifier dengan hati-hati
Gunakan petunjuk pemrograman yang disepakati
pada tim
Lakukan pemaketan ke modul
Lakukan dokumentasi terhadap kelas ADT dan
metode
Lakukan publikasi spesifikasi
Halaman
7
STRUKTUR DATA UNTUK
FRACTION
ILUSTRASI MASALAH
Integer  Pembilang (Numerator)
Integer (bukan nol)  penyebut/pembagi (denominator)
if Komputer tidak menghendaki 0,3333333 then
error rate else
Komputer menghendaki 1/3
1=pembilang dan 3=penyebut
{*/Lebih jauh pada Aljabar Linier dan OOP*/}
Halaman
9
TUJUAN ADT FRACTION
Tujuan:
Menciptakan type dimana entitas (instan) sebagai cara
alami bilangan pecahan bukan bilangan desimal.
{*/Lebih lanjut di Matematika Diskrit tentang
Bilangan*/}
Halaman
10
OPERASI DI ADT FRACTION
1. Operasi Pembangunan : bilangan pecahan
berparameter atau default
2. Operasi Aritmatika
3. Operasi Pengopian : nilai bilangan pecahan ke
bilangan lain
4. Operasi Relasi : perbandingan bilangan pecahan
dengan bilangan pecahan lain
5. Operasi Konversi : bil pecahan ke bil nyata, bil
pecahan menjadi string dan sebaliknya dsb
Halaman
11
STRUKTUR DATA UNTUK
OBJECT ORIENTED PROGRAMMING
OOP
• Dalam paradigma pemrograman berorientasi obyek
dikenal kelas dan obyek. Kelas merupakan blue print
dari obyek – obyek yang akan dibuat. Analogi kelas
dan obyek seperti rancangan model rumah dan
pembangunan rumah-rumah, adapun proses
pembuatan obyek dari kelas dikenal dengan
instantiasi.
• Pembuatan obyek dari kelas dengan instantiasi.
Sebagai contoh kita ambil kelas manusia. Kelas
manusia mempunyai atribut : nama. Selain itu kelas
manusia juga mempunyai method : tampilkan nama,
kerja, makan.
Halaman
13
OBJEK
Objek (object): entitas yang memiliki kumpulan dari
data serta metoda-metoda (method-method) yang
bekerja pada data tsb. Data dan metoda-metoda suatu
kelas mendefinisikan isi dan sifat tersebut.
Halaman
14
KELAS
Kelas obyek (object class): (disngkat kelas)
mendefinisikan sekumpulan obyek yang memiliki
metoda-metoda dan jenis data yang sama; obyekobyek tersebut didefinisikan secara format dalam kelas
atau dengan perkataan lain suatu obyek merupakan
instance dari kelas obyeknya
Halaman
15
METODA
Metoda: spesifikasi "sifat" dari kelas yang secara
formal ditulis dalam bentuk prosedur/fungsi dan
metoda in mengkomputasi/beraksi berdasar sejumlah
data yang tedapat pada obyek dan/atau argumen yang
diberikan serta data lain yang aksesibel oleh obyek tsb
Halaman
16
ANALOGI
Kelas : Rancangan Rumah
Objek : Rumah
Metoda : Jendela, Pintu, Kamar
Halaman
17
PEMAHAMAN TENTANG OOP
1. Buat sebuah kasus sederhana
2. Tentukan yang mana kelas, objek dan method
3. Buat kedalam sebuah bahasa Java kemudian
tentukan yang mana antara kelas, objek dan
method
Halaman
18
STRUKTUR DATA DENGAN JAVA
MENGAPA JAVA ?
Karena java adalah bahasa pemrograman multi
platform. Java tidak menyediakan IDE khusus seperti
halnya bahasa pemrograman yang lain. Pemrogram
bisa menggunakan IDE yang support ke Java, misalnya
Netbeans, Eclips, TexPad, dan lain-lain. Editor teks bisa
digunakan semisal Notepad
Halaman
20
HIMPUNAN KARAKTER
• Himpunaan karakter terdiri dari huruf, digit maupun
simbol-simbol lainya (termasuk spasi, karakter
kontrol).
Contoh :
• Huruf
: A, a, B, b, C, c ...............
• Digit
: 0, 1, 2, 3, 4, 5 ...........
• Simbol dan lainnya
: _ - + * dan sebagainya
Halaman
21
PENGENAL
Pengenal atau identifier adalah suatu nama yang bisa
dipakai dalam pemrograman untuk menyatakan :
• variabel
• konstanta bernama
• tipe data
• fungsi
• label
• obyek
Halaman
22
VARIABEL DAN KONSTANTA
• Variabel digunakan dalam program untuk
menyimpam suatu nilai, dan nilai yang ada padanya
dapat diubah selama ekseskusi berlangsung.
ex: a,b,c : integer
• Konstanta adalah nilai yang tetap.
ex: pi, sin, dll
Halaman
23
CONTOH PROGRAM
public class Coba
{
public static void main(String args[])
{
System.out.println(“Ini adalah Struktur Data");
}
}
Halaman
24
PENJELASAN
• public class Pertama adalah nama kelas yang kita
buat (dalam java setiap membuat program berarti
membuat sebuah kelas).
• public static void main(String args[]) adalah
permulaan fungsi utama dalam java. Kata kunci void
didepan main merupakan keharusan pada java.
• System.out.println memberikan hasil/output.
• Lebih Jelas di PBO
Halaman
25
MATEMATIKA DASAR
FLOOR DAN CEIL
• ↓ x adalah bilangan bulat terbesar yang tidak
melibihi x
• ↑ x adalah bilangan bulat terkecil yang tidak
lebih kecil dibanding x
• Jika x adalah bilangan bulat, maka:
Jika ↓x = ↑x = x
• Jika x bukan bilangan bulat, maka:
Jika ↓x + 1 = ↑x
Halaman
27
CONTOH
• ↓3,14 = 3
• ↑3,14 = 4
• ↓√5 = 2
• ↑√5= 3
• ↓7 = 7
• ↑7 = 7
Fungsi Floor dan ceil  fungsi statis dikelas
Math pada paket java.lang
Halaman
28
NILAI ABSOLUT
Nilai absolut dari bilangan riil x, ditulis ABS(x)
atau |x|.
• Bernilai 0, bila x=0
• Bernilai x, bila x > 0
• Bernilai –x, bila x < 0
Halaman
29
CONTOH
•
•
•
•
•
|-15| = 15
|7| = 7
|-3,333| = 3,333
|4,444| = 4,444
|-0,75| = 0,75
Fungsi Absolut  fungsi statis dikelas abs pada
paket java.lang
Halaman
30
INT(X)
Bila x adalah bilangan riil, INT(x) adalah nilai
bilangan bulat dari x dengan cara
menghilangkan bagian pecahan dari bilangan x
Contoh :
• INT(3,14) = 3
• INT(√5) = 2
• INT(-8,5) = -8
• INT(7) = 7
Halaman
31
FUNGSI SISA BAGI (MOD)
Bila k sembarang bilangan bulat dan M adalah
bilangan bulat positif, maka k(mod M).
Contoh :
• 25 (mod 7) = 4
• 25 (mod 5) = 0
• 35 (mod 11) = 2
• 3 (mod 8) = 3
Halaman
32
TOLONG DIKERJAKAN
Terdiri dari 6 kelompok, untuk 1 perwakilan:
1. Penjumlahan
2. Aritmatika
3. Floor dan Ceil
4. Absolut
5. Int
6. Mod
Halaman
33
TOLONG DIKERJAKAN
Buatlah struktur algoritma atau program dari
fungsi matematika berikut:
Penjumlahan
- input: 3 buah bilangan
- outpt: menghasilkan nilai penjumlahan dari
3 buah bilangan tersebut
Halaman
34
TOLONG DIKERJAKAN
Buatlah struktur algoritma atau program dari
fungsi matematika berikut:
Aritmatika
- input: 2 buah bilangan
- terdapat 4 proses : Tambah, kurang, kali, bagi
- outpt: menghasilkan 4 keluaran dari hasil
penjumlahan, pengurangan, perkalian dan
pembagian
Halaman
35
TOLONG DIKERJAKAN
Buatlah dengan menggunakan bahasa C/ C++
untuk menentukan fungsi Floor dan Ceil, Absolut,
int, dan Mod…
Masing-masing satu program menghasilkan satu
keluaran.
Halaman
36
Download