PERTEMUAN 12 Introduction to Security

Beberapa Statistik tentang Computer/Information Security :
lSurvey Information Week (USA), 1271 system or network manager, hanya 22% yang menganggap keamanan sistem informasi sebagai komponen penting.
lKesadaran akan masalah keamanan masih rendah! 

lAngka pasti, sulit ditampilkan karena kendala bisnis. Negative publicity.
l1996. FBI National Computer Crime Squad, kejahatan komputer yang terdeteksi kurang dari 15%, dan hanya 10% dari angka itu yang dilaporkan.
l1996. American Bar Association: dari 1000 perusahaan, 48% telah mengalami computer fraud dalam kurun 5 tahun terakhir.
l1996. Di Inggris, NCC Information Security Breaches Survey: kejahatan komputer naik 200% dari 1995 ke 1996.
l1997. FBI: kasus persidangan yang berhubungan dengan kejahatan komputer naik 950% dari tahun 1996 ke 1997, dan yang convicted di pengadilan naik 88%. 
l1988. Sendmail dieksploitasi oleh R.T. Morris sehingga melumpuhkan Internet. Diperkirakan kerugian mencapai $100 juta. Morris dihukum denda $10.000.
l10 Maret 1997. Seorang hacker dari Massachusetts berhasil mematikan sistem telekomunikasi sebuah airport lokal (Worcester, Mass.) sehingga memutuskan komunikasi di control tower dan menghalau pesawat yang hendal mendarat
l7 Februari 2000 s/d 9 Februari 2000. Distributed Denial of Service (Ddos) attack terhadap Yahoo, eBay, CNN, Amazon, ZDNet, E-Trade. Diduga penggunaan program Trinoo, TFN.
lJumlah kelemahan (vulnerabilities) sistem informasi yang dilaporkan ke Bugtraq meningkat empat kali (quadruple) semenjak tahun 1998 sd tahun 2000. Dari 20 laporan perbulan menjadi 80 laporan perbulan.
l1999. Common Vulnerabilities and Exposure cve.mitre.org mempublikasikan lebih dari 1000 kelemahan sistem. CVE terdiri dari 20 security entities.
l2000. Ernst & Young survey menunjukkan bahwa 66% responden menganggap security & privacy menghambat (inhibit) perkembangan e-commerce
l2001. Virus SirCam mengirimkan file dari harddisk korban. File rahasia bisa tersebar. Worm Code Red menyerang sistem IIS kemudian melakukan port scanning dan menyusup ke sistem IIS yang ditemukannya. 
1999 Computer Security Institute (CSI) / FBI Computer Crime Survey menunjukkan beberapa statistik yang menarik, seperti misalnya ditunjukkan bahwa “disgruntled worker” (orang dalam) merupakan potensi attack / abuse.
 
Statistik di Indonesia :
lJanuari 1999. Domain Timor Timur (.tp) diacak-acak dengan dugaan dilakukan oleh orang Indonesia
lSeptember 2000. Mulai banyak penipuan transaksi di ruangan lelang (auction) dengan tidak mengirimkan barang yang sudah disepakati
l24 Oktober 2000. Dua Warnet di Bandung digrebeg karena menggunakan account dialup curian
lBanyak situs web Indonesia (termasuk situs Bank) yang diobok-obok (defaced)
lAkhir tahun 2000, banyak pengguna Warnet yang melakukan kegiatan “carding”

lJuni 2001. Situs plesetan “kilkbca.com” muncul dan menangkap PIN pengguna klikbca.com
lSeorang operator komputer di sebuah rumah sakit mencuri obat-obatan dengan mengubah data-data pembelian obat
lOktober 2001. Jaringan VSAT BCA terputus selama beberapa jam sehingga mesin ATM tidak dapat digunakan untuk transaksi. Tidak diberitakan penyebabnya.
l3 April 2002. Pada siang hari (jam 14:34 WIB), sistem BEJ macet sehingga transaksi tidak dapat dilakukan sampai tutup pasar (jam 16:00). Diduga karena ada transaksi besar (15 ribu saham TLKM dibeli oleh Meryll Lynch). Padahal ada perangkat (switch) yang tidak berfungsi
lOktober 2002. Web BRI diubah (deface) 
- Peningkatan Kejahatan Komputer Beberapa Sebab :
l1. Aplikasi bisnis yang berbasis komputer / Internet meningkat.
  • lInternet mulai dibuka untuk publik tahun 1995
  • lElectronic commerce (e-commerce)
  • lStatistik e-commerce yang semakin meningkat.
  • lSemakin banyak yang terhubung ke jaringan (seperti Internet). 
l2. Desentralisasi server.
  • lTerkait dengan langkanya SDM yang handal
  • lLebih banyak server yang harus ditangani dan butuh lebih banyak SDM dan tersebar di berbagai lokasi. Padahal susah mencari SDM
  • lServer remote seringkali tidak terurus
  • lSerangan terhadap server remote lebih susah ditangani (berebut akses dan bandwidth dengan penyerang) 
 
l3. Transisi dari single vendor ke multi-vendor.
  • lBanyak jenis perangkat dari berbagai vendor yang harus dipelajari. Contoh: Untuk router: Cisco, Bay Networks, Nortel, 3Com, Juniper, Linux-based router, … Untuk server: Solaris, Windows NT/2000/XP, SCO UNIX, Linux, *BSD, AIX, HP-UX, …
  • lMencari satu orang yang menguasai semuanya sangat sulit. Apalagi jika dibutuhkan SDM yang lebih banyak
 

PERTEMUAN 1 Tugas+Resume

 #SOAL#
Buatlah essay tentang profil Perusahaan yang menggunakan basisdata.
1. Nama Perusahaan dan detil profesi (tuliskan websitenya jika ada).
2. Bergerak dibidang apa
3. Sejak kapan terkomputerisasi.
4. Database apa yang digunakan.
5. Developer apa yang digunakan.


#JAWABAN#
1. Nama Perusahaan dan detil profesi (tuliskan websitenya jika ada).
a. Nama Perusahaan :
Google Inc
b.  Detil profesi (tuliskan websitenya jika ada) :
Perusahaan Google Inc yang kita kenal adalah perusahaan multinasional publik yang menyediakan pelayanan search engine yaitu fasilitas yang menyediakan informasi penyediaan data-data berdasarkan keywords yang di inputkan ke mesin pencarai untuk mendapatkan informasi yang dibutuhkan user.
salah satu budaya google adalah santai, menurut filosofinya yang berbunyi "Don't be evil" yang artinya "Kerja harusnya menantang dan tantangan itu harusnya menyenangkan".
 Website : http://www.google.com
2. Bergerak dibidang apa
Google adalah perusahaan yang beggerak di bidang IT, tentunya perusahaan Google sudah menerapkan sistem komputerisasi yang sangat canggih, server-server google juga merupakan server terbesar di dunia dan memiliki sistem database canggih yang dapat membantu manusia mencari di search enginenya. Google tidak hanya menyediakan database untuk search engine barupa kata-kata, tapi juga gambar, Video, Maps, Shopping, layanan E-mail, google translate, dan masih banyak lagi....
3. Sejak kapan terkomputerisasi.
Seperti perusahaan dewasa ini, tentunya perusahaan Google sudah menerapkan sistem komputerisasi yang sangat canggih sejak 4 September 1992 di Menlo Park, California.
4. Database apa yang digunakan.
Basis data perusahaan Google diakses oleh sejumlah pegawai perusahaan dalam sebuah lokasi. Basis data seperti ini disimpan dalam sebuah server dan para pemakai dapat mengakses dari masing-masing komputer yang berkedudukan sebagai client.
5. Developer apa yang digunakan.
Web Developer yang digunakan Google Inc adalah  C + +, Python, dan / atau JavaScript


PERTEMUAN 2 Inheritance

Inheritance - Presentation Transcript

Atau pewarisan pada pemrograman berorientasi objek merupakan  suatu hubungan dua buah kelas atau lebih. Dalam hal ini ada kelas yangmemiliki atribut dan metode yang sama dengan kelas lainnya beserta atributdan  metode  tambahan  yang  merupakan  sifat  khusus  kelas  yang  menjaditurunannya
1. Inheritance (Pewarisan) merupakan salah satu dari tiga konsep dasar OOP.2. Konsep inheritance ini mengadopsidunia riil dimana suatu entitas/obyek 3. dapat mempunyai entitas/obyek turunan.Dengan konsep inheritance, sebuahclass dapat mempunyai class turunan.
  1. PemrogramanBerorientasiObjek
    Inheritance (Pewarisan)
  2. Pengertian Inheritance
    Proses pewarisan data dan method dari suatu kelas kepada kelas yang lain
    Class yg mewariskanSuperclass
    Class yg diwariskan Subclass
  3. Keyword Extends
    bentukumumpada Java :
    <hakakses> class <subclass> extends <superclass>
    Contoh :
    public class mobilextendsKendaraanBermotor
    bentukumumpada C++ :
    class <subclass> : <hakakses> <superclass>
    contoh :
    class mobil : public kendaraan_bermotor
  4. Keyword Super
    untuk memanggil konstruktor dan method oleh subclass yang dimiliki oleh superclass
    • Bentuk umum untuk memanggil konstruktor :
    super ()
    super(parameter)
    • Bentuk umum untuk memanggil method :
    super.method(parameter)
  5. Jenis-Jenis Inheritance
    Single Inheritance (Pewarisan Tunggal)
    Multiple Inheritance (PewarisanJamak)
    Virtual Multiple Inheritance (PewarisanJamak Maya)
  6. Single Inheritance (Pewarisan Tunggal)
    Adalah pewarisan yang jumlah kelas dasarnya (basic class / superclass) tunggal, tapi kelas turunan (subclass) bisa lebih dari satu
    Konsep inheritance yang ada di Java hanya memperkenankan adanya single inheritance.
  7. Single Inheritance (Pewarisan Tunggal)
  8. Syntax Single Inheritance
    C++
    JAVA
    class A
    {
    . . .
    };
    class B : public A
    {
    . . .
    }
    class A
    {
    . . .
    };
    Public class B extends A
    {
    . . .
    }
  9. Contoh Single Inheritance ( Java )
    public class Komputer {
    String Processor;
    int Monitor;
    intHardDisk;
    int Memory;
    public intgetHardDisk() {
    return HardDisk;
    }
    public void setHardDisk(intHardDisk) {
    this.HardDisk = HardDisk;
    }
    public intgetMemory() {
    return Memory;
    }
    public void setMemory(int Memory) {
    this.Memory = Memory;
    }
    public intgetMonitor() {
    return Monitor;
    }
    public void setMonitor(int Monitor) {
    this.Monitor = Monitor;
    }
    public String getProcessor() {
    return Processor;
    }
    public void setProcessor(String Processor) {
    this.Processor = Processor;
    }
    }
  10. Contoh Single Inheritance ( Java )
    public class Laptop extends Komputer{
    String typeBattery;
    intdurasiBattery;
    public intgetDurasiBattery() {
    return durasiBattery;
    }
    public void setDurasiBattery(intdurasiBattery) {
    this.durasiBattery = durasiBattery;
    }
    public String getTypeBattery() {
    return typeBattery;
    }
    public void setTypeBattery(String typeBattery) {
    this.typeBattery = typeBattery;
    }
    }
  11. Contoh Single Inheritance ( Java )
    public class Circle {
    private double radius;
    Circle(double r) { //Constructor
    radius = r;
    }
    Circle() { //Constructor
    radius = 1.0;
    }
    public double getRadius() {
    return radius;
    }
    public double findArea() {
    return radius*radius*3.14;
    }
    }
  12. Contoh Single Inheritance ( Java )
    public class Cylinder extends Circle {
    private double length;
    public Cylinder() { //Constructor
    super();
    length = 1.0;
    }
    public Cylinder(double r,double l) { //Constructor
    super(r);
    length = l;
    }
    public double getLength() {
    return length;
    }
    public double findArea() {
    System.out.println(“Call Cylinder find Area”);
    return 2*super.findArea()+2*getRadius()*3.14159*length;
    }
    public double findVolume() {
    return findArea() * length;
    }
    }
  13. Contoh Single Inheritance ( Java )
    public class Test {
    public static void main(String [] Args) {
    //Create Cylinder object and display it's properties
    Cylinder myCylinder = new Cylinder(5.0,2.0);
    System.out.println("The length : "+myCylinder.getLength());
    System.out.println("The radius : "+myCylinder.getRadius());
    System.out.println("The Cylinder Volume : "+myCylinder.findVolume());
    System.out.println("The area of Circle : "+myCylinder.findArea());
    }
    }
  14. Multiple Inheritance (PewarisanJamak)
    Kelas yang diturunkan lebih dari satu kelas yang berbeda (jumlahkelas dasarnya lebih dari satu)
    Java tidak mendukung Multiple Inheritance
    C++ mendukung Multiple Inheritance
    Java menggunakan interface untuk menggantikan konsep multiple inheritance
    Multiple Interface Inheritance
  15. Multiple Inheritance (PewarisanJamak)
  16. Syntax Multiple Inheritance
    class A
    {
    . . .
    };
    class B
    {
    . . .
    }
    class C: public A, public B
    {
    . . .
    }
  17. Contoh Multiple Inheritance (C++)
    class ayah{
    public:
    void rambut(){
    cout<<">RambutnyaKeriting"<<endl;
    }
    };
    class ibu{
    public:
    void kulit(){
    cout<<">KulitnyaPutih"<<endl;
    }
    };
  18. Contoh Multiple Inheritance (C++)
    class anak : public ayah, public ibu{
    public:
    void hidung(){
    cout<<">Hidunganakitumancung"<<endl<<endl;
    }
    };
    class cucu : public ayah, public ibu{
    public:
    void pandai(){
    cout<<">CucudariKakekdanNenekitupandaiberhitung"<<endl<<endl;
    }
    };
  19. Virtual Multiple Inheritance
    Kelas yang diturunkan lebih dari satu kelas yang berbeda (jumlah kelas dasarnya lebih darisatu)
    Hanyasaja, beberapa diantara kelas dasar tersebut merupakan kelas turunan dari kelas dasar yang sama
  20. Virtual Multiple Inheritance
  21. Syntax VirtualMultiple Inheritance
    class A
    {
    . . .
    };
    class B: virtual public A
    {
    . . .
    };
    class C: virtual public A
    {
    . . .
    };
    class D: public B, public C
    {
    . . .
    };
  22. Contoh Virtual Multiple Inheritance
    class hewan
    {
    public:
    void bergerak()
    {
    cout<<" # Bergerakberpindahtempat"<<endl;
    }
    };
    class kuda: virtual public hewan
    {
    public :
    void berlari()
    {
    cout<<" # Berlarinyasangatcepat"<<endl;
    }
    };
    class burung: virtual public hewan
    {
    public:
    void terbang()
    {
    cout<<" # Terbangmenembusawan"<<endl;
    }
    };
    class pegasus: public kuda, public burung
    {
    public:
    void lariterbang()
    {
    cout<<"# Bersayap, laridandapatterbangkeangkasa"<<endl;
    }
    };
  23. Hal yg perlu dipertimbangkan saat mewariskan method :
    Jika method disuperclass PUBLIC makasemua subclass bersifat PUBLIC
    Jika method disuperclass PROTECTED maka bisa menjadi PROTECTED atau PUBLIC untuksemua subclass
    Jika method disuperclass DEFAULT maka pada subclass bisamenjadi PRIVATE
    Jika method disuperclass PRIVATE, maka tidak bisa diwariskan
    Hubungan antara Akses dan Inheritance
  24. HakAkses Subclass danSuperclass
  25. Selesai 

Referensi : http://www.slideshare.net/Goenz/inheritance
                      http://www.scribd.com/doc/44969884/Pengertian-Inheritance-Bu-Ruci 

    PERTEMUAN 1 Class VS Object


    Pemrograman Berorientasi Objek (PBO)
    PBO atau OOP adalah metode pemrograman yang memandang komponen pemrograman sebagai objek-objek yang saling berinteraksi. Objek-objek tersebut saling berinteraksi satu sama lain dengan bertukar data dan menjalankan fungsi sehingga program berjalan dan menghasilkan output yang diinginkan.

    Sekilas sejarah java
    • Java diciptakan oleh tim yang dibentuk pada awal tahun 1991 dan dipimpin oleh James
       Gosling dan Patric Naughton.
    • Tim ini dibentuk karena proyek dari Sun Microsystem yang memiliki nama The Green Project
       dengan tujuan untuk menghasilkan bahasa komputer sederhana yang dapat dijalankan 
       di peralatan sederhana dengan tidak
      terikat pada arsitektur tertentu.
    • Mula-mula James Gosling menyebut bahasa pemrograman yang dihasilkan dengan OAK
      tetapi karena OAK sendiri merupakan nama dari bahasa pemrograman komputer yang sudah
      ada maka kemudian Sun mengubahnya menjadi Java.

    Sekilas Pemrograman Berorientasi Obyek
    • Pemrograman berorientasi obyek yg disingkat pbo, mempunyai konsep yang menuntut 2 sifat, yaitu fleksibel
      dan dapat di gunakan kembali.
    • Fleksibel ini menyangkut kemudahan, apakah itu dibuat, dibentuk dsb.
    • Dapat di gunakan kembali disini berarti bila software dapat berarti modul dan dapat di gunakan oleh software
      atau modul-modul lainnya.
    • Konsep pbo adalah pembuatan kelas (class), obyek(object), abtraksi, pengkapsulan, pewarisan, polimorfi,
      interface.
    • Ide dari pemrograman berorientasi obyek adalah data yg dapat digunakan oleh data lain dan fungsi.. Data dan
      fungsi ini di singkat menjadi obyek, yang dengan pengkapselan maka data ini tidak dapat di manipulasi oleh
      obyek lain

    Obyek
    • Apa itu obyek ?
    • Segala sesuatu di dunia nyata adalah
    obyek, termasuk apa yang anda dapat
    lihat.
    • Semua Obyek di dunia nyata mempunyai :
    • 1. Sifat, yg menerangkan keadaaan obyek
    tersebut
    • 2. Prilaku,yg mengungkapkan
    kemungkinan apa yg diperbuat

    Sebuah komponen perangkat lunak yang  stukturnya mirip dengan obyek pada dunia nyata
    Kesatuan antara data (atribut) dan fungsi (method) yang memproses data tersebut
    Perwujudan dari suatu class, bersifat konkrit
    Contoh: lingkaran, hewan, pegawai, mahasiswa, mobil, dll 
    Data / Atribut

    Menggambarkan karakteristik/ciri khas dari suatu objek
    Contoh objek : mobil
    - Data/Atribut : warna, no plat, manufaktur, kecepatan, tipe, harga
     
    Method
     Menggambarkan tingkah laku atau hal- hal yang dapat dilakukan oleh suatu objek
    Dapat mengembalikan nilai balik atau tidak
    Dapat berparamater atau tidak
    Contoh objek : mobil
    - Method : akselerasi, membelok, mengerem 
    Class
    Desain/cetakan/model/blueprint dari sebuah objek
    Wadah/tempat untuk mendefinisikan suatu objek
    Bersifat abstrak
      
    Kelas adalah sebuah rancangan software untuk
    obyek. Kelas terdiri dari atribut-atribut dan
    prosedur-prosedur.
    • Contoh Kelas pada PBO yang ada di disekeliling
    kita adalah :
    • Manusia.
    • Variabel dari Manusia adalah : nama, tgl lahir,
    jenis kelamin.
    • Prosedur dari Manusia adalah : bangun pagi,
    bekerja, bermain, tidur.


    Implementasi di pemrograman java :
    class Manusia {
              String Nama = "Ali";
              String TglLahir = "18 Agustus 1980";
              String JenisKelamin= "Laki-laki";

              String jam;

              void bangunPagi(){

                                   jam="06:00"; 
              }
              void bekerja(){
                                   jam="07:00";
              }
              void bermain(){
                                   jam="18:00";
              }
              void tidur(){
                                  jam="22:00";
              }
     }


    Kegunaan Kelas:
    • Dengan memakai kata kunci class maka anda :
    • menggunakan kata kunci dari bahasa pemrograman java, dan anda
    bisa merancang software untuk obyek.
    • menggunakan Pemrograman berorientasi Obyek
    • memproduksi Obyek dan obyek ini bisa berkomunikasi dengan
    obyek lainnya di sebuah sistem.
    • Mekanisme memproduksi Obyek dengan kelas :
    • Deklarasi -> class Manusia ;
    • Initialisasi -> class Manusia = new Manusia() ;
    • Proses initialisasi dengan memakai kata kunci “new” sangat
    berguna, karena Obyek sudah di reservasi di memori dan siap
    digunakan atau interaksi dengan obyek lain.



    Abstraction
    Proses melakukan desain class, menentukan data dan method yang akan dimiliki oleh suatu class
    Contoh: mobil
    -Data: warna, no plat, manufaktur, kecepatan, tipe, harga
    -Method: akselerasi, membelok, mengerem 

    Paket
    • Apa itu paket ?
    • Paket adalah kumpulan kelas atau interface. Dengan paket sebuah software dapat dibuat
    lebih struktural. Di bahasa pemrograman java sudah disediakan paket, misalnya paket java.io (
    input output ), paket java.math ( mathematic), paket java.util. Dengan paket-paket ini memudahkan pemrogram untuk berorientasi mewujudkan software.


    Sebagai contoh kita buat paket musik. Di dalama musik ada gitar, piano, seruling.

    package musik;
    class Seruling {
              void play(){

                               System.out.println("tut tut tut...");
              }
     }
    package musik;
    class Gitar {
              void play() {
                                System.out.println("ting ting ting ...");
              }
    }
    package musik;
    class Piano {
              void play() {
                                System.out.println("teng teng teng ...");
              }
    }


     Perbedaan Objek & Class
     







    Encapsulation
    Inti dari metode OOP dimana data objek dilindungi dari perubahan secara langsung dari luar
    Penggunaan access modifier: private, public, protected, dan default. 
    Karakteristik PBO
    PBO mempunyai karakterisitik khusus yang membedakannya dengan pemrograman terstruktur. Karakteristik atau sifat tersebut antara lain :
    - Abstraksi dan Modular -- dipecah2 jadi modul
    - Inheritance -- pewarisan sifat
    - Enkapsulation -- penyembunyian data
    - Polymorpism -- sifat dari objek yang dapat berupa dalam berbagai bentuk.
     
    Kelebihan PBO :
    1. Alami (Natural)
    2.Dapat diandalkan (Reliable)
    3.Dapat digunakan kembali (Resuable)
    4.Mudah untuk di-maintain (Maintainable)
    5.Dapat diperluas (extendable)
    6.Efisiensi Waktu 
    Kekurangan PBO :
    1.Memerlukan sumber daya komputer yang lebih besar karena tiap objek membutuhkan alokasi memori sendiri
    2.Sulitnya memahami konsep objek dan aspek-aspek yang terkait, seperti: class, inheritance, dll 
    Bahasa pemrograman yang mendukung PBO antara lain:
    1.Java
    2.Visual Foxpro
    3.C++
    4.C#
    5.Visual Basic.NET
    6.Delphi
    7.PHP
    8.Perl
    9.Ruby