Tuesday, January 28, 2014

part 11

Analisa Perancangan Objek

Pengembangan Sistem Informasi
Perkembangan ilmu pengetahuan dan teknologi dewasa ini sangat berpengaruh terhadap kemajuan organisasi. Kemajuan menimbulkan persaingan. Untuk mencapai tujuan tiap organisasi memerlukan manajemen yang tepat dan dapat dilaksanakan sesuai kebutuhan. Kegiatan manajemen memerlukan dukungan informasi. Dengan berkembang pesatnya teknologi alat pengolah data komputer dan teknologi peralatan komunikasi, maka pekerjaan manajemen dan pelayanan masyarakat yang memerlukan dukungan data dan informasi juga mengalami kemajuan pesat.
Tanpa dukungan informasi, manajemen suatu organisasi tidak dapat mencapai tujuan yang direncanakan, apalagi untuk mencapai sasaran secara efisien dan efektif (Amsyah,2000).
Sebuah era baru di dalam dunia usaha dan berorganisasi muncul sejalan dengan diperkenalkan istilah teknologi informasi dan sistem informasi. Menurut (Indrajid,2000) pada intinya keduanya memiliki nuansa arti yang sama, yaitu bagaimana sebuah organisasi, baik berorientasi profit maupun nonprofit berusaha untuk menggunakan perangkat komputer, aplikasi dan sarana telekomunikasi untuk meningkatkan kinerjanya secara signifikan.               
Proses perencanaan dan pengembangan suatu sistem informasi dimulai dengan menganalisis kebutuhan bisnis atau manajemen perusahaan (Bussiness Requirements Analysis), dimana tujuannya adalah untuk mengetahui posisi atau peranan teknologi informasi yang sesuai dengan perusahaan yang bersangkutan serta untuk mendefinisikan secara rinci jenis-jenis informasi yang dibutuhkan oleh manajemen perusahaan baik secara taktis maupun strategis untuk pengembangan bisnisnya.
Pengembangan sistem (system development) dapat berarti menyusun suatu sistem yang baru untuk menggantikan sistem yang lama secara keseluruhan atau memperbaiki sistem yang telah ada (Jogiyanto,1999). Pengembangan sebuah sistem informasi dalam sebuah perusahaan dilakukan dengan pendekatan manajemen proyek (project manajement). Lepas dari berbagai variasi proyek-proyek teknologi informasi yang ada seperti pembuatan aplikasi, penerapan perangkat lunak, konstruksi infrastruktur jaringan, dan sebagainya metodologi yang digunakan secara umum adalah sama. 

Konsep Berorientasi Objek
Menurut Mahyuzir (1991) pendekatan berorientasi objek ini memiliki keunggulan dan mekanisme yang handal, yakni membuat penulisan pemrograman menjadi lebih sederhana, lebih kompak, lebih fleksibel tetapi dengan kemampuan yang jauh lebih baik.
Orientasi objek adalah suatu strategi untuk mengorganisasikan sistem sebagai koleksi dari interaksi objek-objek yang menggabungkan data dan perilaku (Blaha,1998). Penggunaan model orientasi objek banyak diterapkan karena memiliki banyak keuntungan, seperti meningkatkan kualitas, mempercepat waktu pemasaran, meningkatkan komunikasi antara pengembang dan pengguna, mudah untuk dikembangkan, mudah untuk dideteksi kekurangannya, serta menambah cermat pemilihan perangkat lunak.
Fokus utama metodologi ini pada objek, dengan melihat suatu sistem terdiri dari objek yang saling berhubungan. Objek dapat digambarkan sebagai benda, orang, tempat dan sebagainya yang mempunyai atribut dan metode. Metodologi terdiri dari pembuatan model dan domain aplikasi, kemudian menambahkan rincian implementasi pada saat pembuatan desain dari suatu sistem. Tahap-tahap metodologi berdasarkan Sistem Development Life Cycle (SDLC) digunakan dengan memperhatikan karakteristik khusus berorientasi objek (Sutopo, 2002) yaitu Analisis, Desain dan Implementasi.
Menurut Gora (1996) semua metodologi analisis dan perancangan berorientasi objek mempunyai kesamaan dalam hal objek, kelas, inheritance, dan relationship.
Tiga karakteristik kunci pendekatan berorientasi objek untuk pengembangan sistem (Yourdan,1994) yaitu;
1.       Abstraksi yaitu mekanisme yang menyederhanakan realitas yang kompleks menjadi model yang lebih sederhana.
2.       Enkapsulasi yaitu mekanisme yang menyembunyikan implementasi objek sehingga komponen lain tidak akan menyadari bagaimana data itu disimpan pada objek.
3.       Inheritance yaitu mekanisme menurunkan atribut dan fungsi dari suatu superkelas ke subkelas dalam suatu hirarki.
Adapun The Object Management Group (OMG) yaitu suatu konsorsium pengembang perangkat lunak menguraikan ciri-ciri utama kunci analisis dan perancangan berorientasi objek yang membedakan dari metodologi lainnya yaitu;
1.        Abstraksi yaitu mendifinisikan suatu keterhubungan diantara suatu kelompok tipe objek dimana objek tersebut merepresentasikan suatu rangkaian karakteristik yang dipakai bersama dengan tipe objek lain.
2.        Enkapsulasi yaitu mengimplikasikan pengemasan operasi dan data secara bersama-sama pada suatu tipe objek dimana hanya data tersebut yang dapat diakses melalui antarmukanya.
3.        Reuse atau penggunaan ulang yaitu suatu kemampuan untuk menggunakan ulang tipe objek selama perancangan suatu sistem dan kelas-kelas objek dalam suatu implementasi suatu sistem.
4.        Spesialisasi yaitu ketika suatu objek menurunkan operasi, tipe atribut dan tipe keterhubungan dari satu atau lebih supertipe.
5.        Komunikasi objek yaitu dalam sistem orientasi objek, menggunakan bentuk dari satu objek mengirim permintaan ke objek lain.
6.        Polymorfisme yaitu konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku yang berbeda. Polymorfisme mempunyai arti bahwa operasi yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda.
                
Analisis dan Perancangan Sistem
Secara fungsional penyelenggaraan tugas fakultas meliputi bidang-bidang kerja sebagai berikut:
a.          Bidang Akademik.
Bidang ini berkaitan dengan penyelenggaraan pendidikan dan pengajaran, penelitian, dan pengabdian pada masyarakat.
b.          Bidang Administrasi Umum
Bidang ini berkaitan dengan penyelenggaraan administrasi umum, kepegawaian dan keuangan.
c.         Bidang kemahasiswaan
Bidang ini berkaitan dengan pelayanan kegiatan dan kesejahteraan mahasiswa.
Unsur pelaksana akademik adalah jurusan dan program studi. Jurusan merupakan unit pelaksana fakultas dalam sebagian atau satu cabang ilmu. Program studi merupakan unit pelaksana fakultas dalam penyelenggaraan pendidikan akademik dan atau profesional yang didasarkan atas suatu kurikulum, sedangkan unsur pelaksana administrasi adalah bagian tata usaha dengan sub-subbagian. Unsur penunjang berfungsi membantu pengurus fakultas dalam melaksanakan proses belajar mengajar, khususnya pelaksanaan kegiatan akademik. Unsur penunjang ini meliputi:unit perpustakaan, laboratorium studio, dan sebagainya.
Hasil analisis menunjukkan bahwa sistem informasi akademik yang akan dikembangkan pada Fakultas Teknik meliputi:
-          Memberikan pelayanan registrasi kepada mahasiswa seperti pembayaran spp, pendaftaran ulang (cuti atau aktif), kegiatan krs.
-          Memberikan pelayanan perkuliahan, seperti pembuatan jadwal kuliah, jadwal ujian mid dan jadwal ujian akhir, kemudian pembuatan daftar hadir dosen dan daftar hadir mahasiswa.
-          Memberikan pelayanan pengajaran, yaitu pembuatan jadwal mengajar untuk dosen tetap dan dosen luar biasa, pengambilan matakuliah baik matakuliah paket untuk mahasiswa baru dan matakuliah non paket dan juga menentukan ruang perkuliahan.

a.  Analisis Berorientasi Objek
Dari proses analisis di atas maka hasilnya diperoleh sebagai berikut:
1.          Menentukan subyek- subyek.
Subyek pada sistem ini dibagi menjadi 3 bagian yang dianggap dapat mewakili sistem informasi yang akan di rancang yaitu: registrasi, perkuliahan, dan pengajaran.
2.          Menentukan obyek dan kelas
Dari subyek yang didapat, maka diperoleh daftar kelas-kelas yang dikelompokkan berdasarkan subyek-subyek di atas yaitu:
a.    Subyek registrasi terdiri dari kelas-kelas yaitu : SPP, KRS cuti  dan KRS aktif sedangkan obyeknya adalah daftar ulang.
b.    Subyek perkuliahan terdiri dari kelas-kelas yaitu : jadwal kuliah, jadwal ujian mid, jadwal ujian akhir, daftar hadir dosen, daftar hadir mahasiswa. Obyeknya adalah kuliah.
c.     Subyek pengajaran terdiri dari kelas-kelas yaitu : dosen tetap, dosen luar biasa, ruang perkuliahan, mahasiswa, matakuliah paket dan non paket. Obyeknya adalah mengajar.
3.          Menentukan struktur obyek dan hirarki kelas
Terdapat 2 tipe struktur yaitu struktur gen-spec dan struktur whole-part. Struktur gen-spec membentuk relasi pewarisan sedangkan struktur whole-part adalah memperlihatkan hirarki dari suatu kelas sebagai komponen dari kelas yang lain yang juga disebut sub obyek.

1.       Task Management Component (TMC)
Task Management Component (TMC) terdiri dari kelas-kelas dan objek yang menspesifikasikan komponen sistem operasi yang mengimplementasikan  sistem. Untuk TMC, user hanya berhubungan secara langsung mengambil data dari basis data. Dan masing-masing interface atau antarmuka pada sistem informasi akan melaksanakan tugasnya sesuai dengan aplikasi yang dibuat. Dengan mengetahui masing-masing tugas dari komponen, akan mempermudah user dalam menggunakan sistem informasi yang dibuat.

Kesimpulan
Analisa dan perancangan sistem berorientasi objek mempermudah bagi analis dan perancang untuk memulai membuat suatu sistem informasi karena langkah-langkah untuk menganalisis dan mendsain suatu masalah jelas, berurutan dan mudah dipaham. Analisis dan perancangan sistem dapat dikembangkan secara keseluruhan misalnya pembuatan Sistem Informasi Akademik Universitas, sehingga semua kebutuhan sistem akademik dapat terakomodasi.

Daftar Pustaka
Amsyah, Zulkifli. 2000. Manajemen Sistem Informasi. Gramedia Pustaka Utama. Jakarta.
Blaha, Michael and William Premerlani. 1998. Object-Oriented Modeling and Design for Database Application. Prentice Hall. New Jersey.
Gora, Michael. 1996. Object-Oriented Analysis and Design. DBMS Online Miller Freeman, Inc. http://www.dbmsmag.com/9606d15.html.
Indrajid, R. Eko. 2000. Manajemen Sistem Informasi dan Teknologi Informasi. Elex Media Komputindo. Jakarta.
Jogiyanto,HM. 1999. Analisis dan Disain Sistem Informasi. Andi. Yokyakarta.
Mahyuzir, T.D. 1991. Pengantar Analisis dan Perancangan Perangkat Lunak. Elex Media Komputindo. Jakarta.
Sutopo, H.A. 2002. Analisis dan Desain Berorientasi Objek. J & J Learning. Yogyakarta.

Yourdan, Edward. 1994. Object-Oriented System Design An Integrated Approach. Prentice Hall Inc. New Jersey.

part 10

Attribute
Definisi dan Gambaran Umum Atribut
          Atribut dari sebuah kelas adalah variabel global yang dimiliki sebuah kelas, Atribut dapat memiliki hak akses private, public maupun protected.
Sebuah atribut yang dinyatakan sebagai private hanya dapat diakses secara langsung oleh kelas yang membungkusnya, sedangkan kelas lainnya tidak dapat mengakses atribut ini secara langsung.
          Sebuah atribut yang dinyatakan sebagai public dapat diakses secara langsung oleh kelas lain di luar kelas yang membungkusnya.
Sebuah atribut yang dinyatakan sebagai protected tidak dapat diakses secara langsung oleh kelas lain di luar kelas yang membungkusnya, kecuali kelas yang mengaksesnya adalah kelas turunan dari kelas yang membungkusnya.
          Atribut juga biasa disebut state/ properties/ field merupakan bagian yang dimiliki oleh sebuah class yang tidak melakukan operasi, tetapi kepadanya dilakukan operasi sehingga dapat merubah nilai dari attribute tersebut.
Karakteristik Atribut
          Dalam class, atribut disebut sebagai variabel. Atribut dapat membedakan antara satu object dengan object yang lain. Sebagai contoh, pada class : mahasiswa, terdapat object mahasiswa si A, dan object mahasiswa si B.
          Yang membedakan antara object si A dan si B adalah NPM-nya (Nomor Pokok Mahasiswa) yang merupakan atribut dari object tersebut. Pada atribut, terdapat pula dua istilah variabel, yaitu Instance Variabel dan Class Variable.
Dimana pada tiap variabel memiliki karakteristik tersendiri, diantaranya :
Pada Instance Variabel à tiap object memiliki instance variabel dan menyimpan nilainya tersendiri.
          Sedangkan pada Class Variabel à atribut yang dimiliki oleh semua object yang berasal dari class yang sama, serta semua object memiliki nilai class variabel yang sama. atribut yang dimiliki object dari class yang sama

part 9

Deklarasi (membuat) object di main program :
n  Syntax:
            namaclass namaobjek;

Memanggil method (fungsi) dari sebuah objek :
n  Syntax:
            Namaobjek.namamethod;

Perhatikan blok fungsi main() :
//main program
void main()
{
            contact kontak; //deklarasi objek kontak berdasarkan class contact
            kontak.tambahKontak(); //memanggil method pada objek kontak
            kontak.lihatKontak(); //memanggil method pada objek kontak
}
  • contact kontak;  menciptakan objek bernama kontak dari kelas contack.
  • Pendeklarasian sebuah objek sama seperti mendeklarasikan sebuah variabel. Atau dengan kata lain kontak adalah sebuah objek dengan tipe contack.

Member Function
Member Function adalah suatu fungsi yang merupakan bagian dari class.

n  Contoh :
// member function tambahKontak() anggota dari class contack
void contact::tambahKontak()
{
            cout << "Nama          : ";
            cin.getline(name,40);
            cout << "Telp : ";
            cin.getline(phoneNo,20);
            cout << "Usia : ";
            cin >> age;
}

// member function lihatKontak()anggota dari class contack
void contact::lihatKontak()
{
            cout << endl;
            cout << "Nama : " << name << endl;
            cout << "Usia : " << age << endl;
            cout << "Telp : " << phoneNo << endl;
            cout << endl;
}

Keterangan :
  • Untuk memisahkan antara class dengan nama fungsi memakai tanda ::

Mengakses Anggota Object Method Accessing

n  Pengaksesan terhadap anggota / member selalu melalui objek yang dikenakan pada classnya. Pada masing – masing member function, pemrogram menentukan objek yang terkait dengan member function (apabila sudah melalui objek maka member function umumnya disebut method).
n  Sedangkan untuk melakukan akses terhadap anggota melalui suatu objek maka harus mengikuti aturan penulisannya

Mengkases Method
n  Untuk melakukan akses terhadap anggota melalui suatu objek maka aturan penulisannya adalah sbb:

            Syntax akses method:
            Namaobjek.namamethod;      

            Syntax akses data member:
            Namaobjek.namadatamember;

Perhatikan blok fungsi main() :
//main program
void main()
{
            contact kontak; //deklarasi objek kontak berdasarkan class contact
            kontak.tambahKontak(); //memanggil method pada objek kontak
            kontak.lihatKontak(); //memanggil method pada objek kontak
}

  • Cara memanggil fungsi dari sebuah objek, dapat dicapai dengan menghubungkan nama objek dan fungsi yang ingin dipanggil dengan operator tanda titik (.), seperti :
kontak.tambahKontak(); //memanggil method pada objek kontak
                        kontak.lihatKontak(); //memanggil method pada objek kontak
Label Akses untuk data member dan member function

n  Untuk mengontrol akses terhadap anggota (data member dan member function),  Visual C++ menyediakan label akses:

n  public:
            Dengan label ini berarti anggota boleh diakses dari luar class dengan
            operator pengakses anggota kelas.

n  private:
            Dengan label ini berarti anggota hanya boleh diakses oleh member
            function (dari dalam class).

n  Contoh penulisan:

class luaskotak 
{
public:
            int hitung();
            void lebar(int lbr);
            void panjang(int pjg);
            luaskotak();
            virtual ~luaskotak();
private:
            int hasil;
            int y;
            int x;
};


part 8

karakteristik yang dimiliki OOP:

n  Encapsulated
Ø  menyembunyikan kerja kode

n  Inheritance
Ø   kemampuan untuk meminjam sebagian kode untuk digunakan kembali

n  Polymorphisme
Ø   kemampuan untuk meminta objek yang berbeda untuk melaksanakan tugas yang sama.

Class Contents
Class umumnya memiliki:
n  Member Function
            Fungsi yang merupakan bagian dari class.
            Sebutan lain member function:
n  Method (apabila sudah dibuat objeknya)
n  Fungsi anggota
n  Data Member
            Variable berada di dalam class.
            Sebutan lain member function:
n  Properties
n  Anggota data

Deklarasi (membuat) class di C++

n  Syntax (aturan penulisan) :

class namaclass 
{
public:
            void memberFunction1();   // deklarasi member function
            void memberFunction1();   // deklarasi member function
            char dataMember1;            // deklarasi data member
            int dataMember2;               // deklarasi data member
            namaclass();                              // deklarasi constructor
            ~namaclass();                            // deklarasi destructor
};

Contoh :
class contact
{
            public:                          // menyatakan anggota berikut bersifat public
            void lihatKontak();       // deklarasi member function lihatKontak()
            void tambahKontak(); // deklarasi member function tambahKontak()
            char phoneNo[20];      // deklarasi data member phoneNo type char
            int age;                       // deklarasi data member age type int
            char name[50];          // deklarasi data member name type char
            contact();                   // deklarasi constructor
            virtual ~contact();      // deklarasi destructor
};

  • Fungsi lihatKontak () dan tambahKontak () disebut member function (member fungsi).
  • Variabel phoneNo, age, dan name disebut member data (member data atau member variabel). Disebut member karena kesemuanya merupakan anggota dari kelas contack.
  • contact() disebut deklarasi constructor, untuk membuat sebuah objek maka harus membuat sebuah constructor, sebuah konstruktor harus mempunyai nama yang sama dengan kelas dimana konstruktor tersebut berada, dan dideklarasikan tanpa return value (nilai balik), juga tanpa kata kunci void.
  • virtual ~contact() disebut  deklarasi destructor, jika kita mendeklarasikan konstruktor untuk membuat sebuah objek, maka kita juga harus mendeklarasikan sebuah destruktor untuk menghapus sebuah objek. Setiap kelas mempunyai tepat satu destruktor.


part 7

Pemrograman berorientasi objek

Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan  suatu teknik pemrograman yang berorientasi objek.
OOP merupakan konsep pemrograman untuk memodelkan objek yang ada dalam kehidupan sehari-hari.
OOP adalah pemrograman yang berorientasi bahwa setiap modul program di anggap sebagai suatu objek yang memiliki fungsi dan data sendiri.

Setiap objek dalam kehidupan nyata dapat kita pandang sebagai kelas, misalnya :
Kelas Hewan,
Kelas Manusia,
Kelas Mobil.
            Kelas Mahasiswa

Sedangkan objek dari kelas tersebut misalnya :
Sapi dan ayam untuk kelas Hewan,
Budi dan Tono untuk kelas Manusia
Toyota dan VW untuk kelas Mobil.
            Toni dan Ayu kelas Mahasiswa

CLASS
  • Class merupakan kumpulan dari objek yang serupa, sedangkan Objek merupakan anggota dari Class.

  • Objek pada class mempunyai atribut (karakter atau data item) dan mempunyai kemampuan (metode atau service atau fungsi).

  • Dengan membuat class berarti kita membuat kerangka dasar atau cetakan yang nantinya dapat digunakan untuk membuat sejumlah objek.

OBJECT
Suatu perwujudan (abstraksi) dari manusia atau benda yang mempunyai siklus hidup : Born (created), Life(run, do it’s job), Dead (destroyed).

Contoh :
  1. John dan Anne adalah mahasiswa AMIK Raharja.

a.       Mahasiswa AMIK Raharja à Class

    1. John dan Anne à Object .

  1. Novel dan komik adalah buku bacaan.
    1. Buku bacaan à Class
    2. Novel dan komikà Object

Pemrograman berorientasi objek :
v  Fungsi dan data bukan menjadi dua hal yang terpisah.
v  Fungsi dan data menjadi satu kesatuan yang disebut sebagai obyek  aktif.
v  Cara pandang program adalah serangkaian obyek yang bekerjasama untuk menyelesaikan suatu problem.



Keuntungan OOP :
  1. Mudah dimodifikasi dan dirawat (maintenance). Hal ini dapat mengurangi maintenance cost suatu sistem.
  2. Komponen yang sudah dibuat, dapat digunakan kembali pada sistem lain yang memerlukan komponen tersebut (reusable). Hal ini juga dapat mengurangi development cost dan development time.
  3. Akses terhadap suatu data dapat diatur dengan mudah. Kita dapat menentukan siapa saja yang dapat mengakses suatu data.