BAB I PENDAHULUAN. Pemrograman Berorientasi Objek atau Object Oriented Programming (OOP) telah

dokumen-dokumen yang mirip
PERBANDINGAN PENERAPAN OOP DAN AOP PADA APLIKASI YANG DIBANGUN DENGAN FRAMEWORK ASP.NET MVC WEB APPLICATION

BAB I PENDAHULUAN. Saat ini, teknologi perangkat bergerak semakin berkembang dan populer

BAB I PENDAHULUAN. I.1 Latar Belakang

PENDAHULUAN. 1.1 Latar Belakang Masalah BAB I

Pemrograman Berbasis Objek 2. Java Programming Fery Updi,M.Kom

RENCANA PEMBELAJARAN SEMESTER

PEMROGRAMAN BERORIENTASI OBJEK

PROPOSAL PEMBUATAN DAN PENGEMBANGAN APLIKASI BERBASIS WEBSITE

1. PENDAHULUAN 1.1 LATAR BELAKANG

BAB 1 PENDAHULUAN Latar belakang

BAB I PENDAHULUAN. 1.1 Latar Belakang

MODUL 5 PEMROGRAMAN VISUAL BASIC.NET DENGAN OOP (I)

programming Proses perancangan, penulisan, pengujian,

BAB II LANDASAN TEORI

BAB I PERSYARATAN PRODUK

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

UNIVERSITAS MERCU BUANA FAKULTAS : ILMU KOMPUTER PROGRAM STUDI : SISTEM INFORMASI

BAB III PERANCANGAN PROGRAM

BAB I PENDAHULUAN... I-1

BAB I PENDAHULUAN. 1.1 Latar Belakang

IT210 - Pemrograman Visual. Ramos Somya

BAB 1 PENDAHULUAN. 1.1 Latar Belakang. Aplikasi Perancangan Design Undangan, Invitation Card, Souvenir Berbasis

MI2193 PEMROGRAMAN WEB LANJUT PHP FRAMEWORK. Created by MTA Revised by HPU

KONTRAK BELAJAR. Nama Mata Kuliah : Web Dinamis Lanjut Kode Mata Kuliah : IKB : Wahyu Widodo, S.Kom Semester : 5

PENGEMBANGAN PERANGKAT LUNAK E-COMMERCE BERORIENTASI ASPEK MENGGUNAKAN USE CASES

MK. Pemrograman Berorientasi Objek PENGENALAN JAVA KARMILASARI

BAB I PENDAHULUAN. 1.1 Latar Belakang. 1.2 Rumusan masalah

BAB I PENDAHULUAN 1.1 Latar Belakang

PENDAHULUAN TINJAUAN PUSTAKA

Mengenal Object Oriented Programming (OOP)

( MAKALAH ) Inheritance, Polymorphism, Enkapsulasi. Mata Kuliah Object Oriented Programming (OOP) Dosen Pembina Agung Darmawan.

STANDAR KOMPETENSI DAN KOMPETENSI DASAR KELOMPOK PROGRAM PRODUKTIF SEKOLAH MENENGAH KEJURUAN

BAB I PENDAHULUAN. bagi kepentingan manusia pada umumnya. Perkembangan teknologi informasi

BAB I PENDAHULUAN. 1.1 Latar Belakang

Object Oriented Programming 1

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

REFACTORING OBJEK MENJADI ASPEK PADA PERANGKAT LUNAK E-COMMERCE MENGGUNAKAN METODE EKSTRAKSI

BAB 1 PENDAHULUAN. dimana manusia semakin ketergantungan dengan teknologi. Ketergantungan manusia dengan

Studi Literatur Implementasi Perhitungan Metrics Pengumpulan Data Implementasi Perhitungan Metrics Analisis Hasil Perhitungan Metrics

Dwi Hartanto, S.Kom 3/21/2012. Pertemuan 1 PSBO 1

PENGEMBANGAN PERANGKAT LUNAK. Karmilasari

BAB I PENDAHULUAN. Pusat Penelitian dan Pengembangan Sumber Daya Air (Puslitbang SDA)

BAB 2 LANDASAN TEORI. Data adalah fakta atau bagian dari fakta yang digambarkan dengan simbol-simbol,

Mengenal Framework Codeigniter

PERANGKAT LUNAK PENGOLAHAN NILAI SISWA PADA SEKOLAH MENENGAH ATAS (STUDI KASUS DI SMA YADIKA SUMEDANG)

BAB I PENDAHULUAN 1.1. Latar Belakang

BAB III PERANCANGAN SISTEM. membahas tentang ilmu yang terkait dalam permasalahan tersebut.

PENGGUNAAN PROGRAM CKJM UNTUK ANALISIS PAKET REMOTE METHOD INVOCATION. Abstrak

DAFTAR ISTILAH. Activity Diagram

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

BAB I PENDAHULUAN. pengembangan pendidikan di bumi nusantara ini adalah sekolah baik sekolah

BAB I PENDAHULUAN 1.1 Latar Belakang

PENGEMBANGAN SISTEM MANAJEMEN JURUSAN DAN LABORATORIUM TI UNIVERSITAS SILIWANGI BERBASIS FRAMEWORK

Mengukur Tingkat Reusability dan Efficiency dari Kode Program dengan Pendekatan Fuzzy Logic

3.1 APLIKASI YANG DITANGANI OLEH CODE GENERATOR

METODOLOGI BERORIENTASI OBJEK IIM ABDURROHIM, S.T.,M.T

Agi Putra Kharisma, S.T., M.T. Pengembangan Berorientasi Penggunaan Ulang

BAB 1 PENDAHULUAN. Teknologi informasi pada saat ini telah berkembang sangat pesat sehingga mempunyai

PENGEMBANGAN SISTEM INFORMASI PENGOLAHAN DATA PASIEN BERBASIS OBJECT ORIENTED PROGRAMMING (Studi Kasus: Balai Pengobatan Victoria Natar)

BAB II LANDASAN TEORI

1 BAB 1 PENDAHULUAN 1.1 Latar Belakang

aplikasi dalam kerja praktek ini dengan judul SISTEM INFORMASI SURAT MASUK DAN SURAT KELUAR KANTOR SATUAN KERJA

Object OOP. Polymor phism

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB II LANDASAN TEORI

Aplikasi Mobile berbasis Android yang dapat menjadi panduan dalam mengontrol berat badan maupun kalori yang dikonsumsi setiap minggunya?.

SISTEM INFORMASI REKAM MEDIS PASIEN DI KLINIK WIDYA BHAKTI INTI BANDUNG. Irman Hariman, S.T.,M.T. 1, Yuliyati. 2 1,2

BAB I PENDAHULUAN. Laboratorium merupakan tempat berlangsungnya beragam riset ilmiah, eksperimen,

BAB I PENDAHULUAN 1.1 Latar Belakang

PROTOTIPE SISTEM MANAJEMEN TUGAS AKHIR BERBASIS WEB MENGGUNAKAN TEKNOLOGI JAVA SERVER FACES (JSF) NASKAH PUBLIKASI. Oleh: Gita Indah Marthasari, S.

1. BAB 1 PENDAHULUAN. 1.1 Latar Belakang

1.1 Latar Belakang Masalah

BAB II LANDASAN TEORI. Pengertian service menurut Chaffey (2008) adalah suatu aktivitas atau

IMPLEMENTASI MODEL VIEW CONTROLLER (MVC) PADA E-LEARNING MAN 1 PANGKALAN BALAI DENGAN METODE PROTOTYPING BERBASIS WEB

DAFTAR ISI HALAMAN JUDUL HALAMAN PENGESAHAN PEMBIMBING HALAMAN PENGESAHAN PENGUJI KATA PENGANTAR.. DAFTAR GAMBAR DAFTAR MODUL..

BAB I PENDAHULUAN Latar Belakang Masalah. Perkembangan teknologi komputer, menjadikan komputer sebagai suatu

BAB I PENDAHULUAN. masalah, batasan masalah, maksud dan tujuan, metodologi penelitian, dan

KOM204 : BAHASA PEMROGRAMAN

BAB 1 PENDAHULUAN. teladan terutama dalam mencontoh sifat para nabi. Dalam ajaran islam

BAB 3 PERANCANGAN PROGRAM

VB.NET No.1: Belajar Visual Basic.NET, apa itu VB.NET?

BAB I PENDAHULUAN. perangkat komputer yang digunakan, maka akan diperlukan waktu yang sangat lama

BAB V IMPLEMENTASI SISTEM

BAB I PENDAHULUAN. keunggulan kompetitif (competitive advantage) dengan strategi keunggulan biaya

BAB III PERANCANGAN SISTEM

BAB 4 Pendekatan-Pendekatan Pengembangan Sistem

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

PENGEMBANGAN PERANGKAT LUNAK. Setia Wirawan

Pengantar Teknologi Informasi. Software Komputer

BAB 1 PENDAHULUAN. Dalam pengembangan perangkat lunak, tim developer membangun cetak

3. BAB III LANDASAN TEORI

BAB II LANDASAN TEORI. digunakan untuk memodelkan kebutuhan data dari suatu organisasi,

Transkripsi:

BAB I PENDAHULUAN 1.1 Latar Belakang Pemrograman Berorientasi Objek atau Object Oriented Programming (OOP) telah menjadi paradigma utama pemrograman dalam beberapa tahun terakhir, yang menggeser paradigma pemrograman terstruktur. OOP mempunyai kelebihan dalam meningkatkan readability (mudah dibaca dan dipelajari), reusability (mudah digunakan kembali), dan dekomposisi permasalahan (permodulan) [1]. Tetapi permasalahan akan muncul jika didalam objek-objek atau kelas-kelas yang berbeda terdapat suatu aspek tertentu yang unik. Hal ini akan menimbulkan permasalahan yaitu: Code scattering yaitu munculnya beberapa kode program yang sama pada kelas atau objek dilingkungan core concern sebuah aplikasi. Code tangling yaitu bercampurnya kode program core concern dengan cross cutting concern, hal ini menjadikan struktur program tersebut tidak dapat ditelusuri dengan baik karena adanya code-code yang sama di beberapa bagian yang berbeda dalam program, mengakibatkan menjadi sulit dikelola dan diubah. Selain itu adanya permasalahan inheritance anomaly yang ditemukan pada tahun 1993 oleh Matsuoka dan Yonezawa [27], merujuk pada masalah yang timbul oleh interaksi antara inheritance dan concurrency pada concurrent object oriented languages (COOLs), hal ini mengakibatkan kegagalan pewarisan dimana sebuah mekanisme penggunaan kembali suatu kode (code-reuse) tidak berjalan dengan semestinya. Kemudian muncul jenis paradigma baru yaitu Pemrograman Berorientasi Aspek atau Aspect Oriented Programming (AOP) yang dikembangkan untuk memperbaiki paradigma OOP, dimana paradigma AOP ini diperkirakan akan berkembang pesat dan menjadi salah satu acuan sebagai paradigma pemrograman bagi programmer. AOP merupakan sebuah teknik yang melengkapi OOP dan berfungsi untuk mengatasi masalah cross cutting concern

dan inheritance anomaly. Jika AOP dianalogikan dengan proses normalisasi pada pada perancangan basis data, maka AOP merupakan teknik normalisasi cross cutting concern yang tersebar pada sebuah sistem, dan mengelompokkan cross cutting concern tersebut menjadi sebuah aspect [2]. Di samping itu dengan paradigma AOP ini juga dapat digunakan untuk mengatasi masalah inheritance anomaly yang ada di OOP. Pada penelitian ini pengembangan web menjadi pilihan untuk dianalisis karena sampai saat ini masih banyak aplikasi-aplikasi yang dibuat berbasis web sehingga harapannya penelitian ini dapat dijadikan sebagai acuan oleh banyak programmer terutama yang berbasis web. 1.1.1 Perumusan Masalah Berdasarkan latar belakang yang telah disampaikan maka diperlukan adanya analisis perbandingan penerapan teknik perangkat lunak Object Oriented Programming (OOP) dengan Aspect Oriented Programming (AOP) dan sejauh mana kelebihan menerapkan paradigma AOP dibandingkan dengan paradigma OOP. 1.1.2 Pertanyaan Penelitian 1. Manakah antara penerapan teknik OOP dibandingkan dengan teknik AOP yang lebih baik, berdasarkan kaidah-kaidah perangkat lunak yang berkualitas? 2. Apakah kelebihan dan kekurangan antara teknik OOP dan AOP? 1.1.3 Batasan Masalah Dalam penelitian ini akan menganalisis perbedaan penerapan teknik OOP dengan AOP yang diterapkan pada program aplikasi yang dibangun menggunakan bahasa C# dengan framework ASP.NET MVC Web application, dengan batasan masalah sebagai berikut: 1. Permasalahan yang akan dibandingkan yaitu cross cutting concern dan inheritance anomaly. 2. Untuk permasalahan cross cutting concern, dibatasi pada fungsionalitas program yang meliputi: fungsi pencatatan (logging), otorisasi (Authorization), dan penanganan

kesalahan (Exception handling), yang akan diimplementasikan pada kedua paradigma pemrograman tersebut. 3. Kaidah-kaidah yang menunjukkan kualitas dari perangkat lunak, yang akan digunakan untuk membandingkan kedua paradigma pemrograman ini meliputi: Reusability yaitu kemampuan source code yang dibuat dapat digunakan kembali lagi baik pada aplikasi lain maupun pada aplikasi itu sendiri. Understanbility yaitu kemudahan dalam memahami source code yang dibuat. Maintenace yaitu kemudahan dalam pemeliharaan perangkat lunak. Testability yaitu kemudahan dalam pengujian terhadap perangkat lunak.

1.1.4 Keaslian Penelitian Beberapa penelitian yang ada diantaranya, melakukan penelitian manfaat penerapan AOP pada programming library untuk penggambaran diagram statistik chart2d dan studi kasus penerapan AOP pada Card Fraud Monitoring yaitu aplikasi untuk melakukan preotorisasi transaksi berbasis kartu dan pencegahan fraud berdasarkan data kebiasaan transaksi nasabah. Sedangkan untuk penelitian yang kami lakukan menganalisis perbedaan penerapan teknik OOP dengan AOP yang diterapkan pada program aplikasi yang dibangun menggunakan bahasa C# dengan framework ASP.NET MVC Web application, dengan permasalahan cross cutting concern dan inheritance anomaly, dimana untuk cross cutting concern batasan fungsionalitas programnya meliputi: fungsi pencatatan (logging), otorisasi (Authorization), dan penanganan kesalahan (Exception handling), yang akan diimplementasikan pada kedua paradigma pemrograman tersebut. Dimana kriteria-kriteria untuk membandingkan kedua paradigma pemrograman ini meliputi reusability, understandability, maintainability dan testability, untuk menunjukkan kualitas dari perangkat lunak. 1.1.5 Manfaat Penelitian Hasil penelitian ini diharapkan dapat mengetahui kelebihan maupun kekurangan penerapan paradigma AOP pada suatu aplikasi, sehingga dapat dijadikan pertimbangan untuk menerapkan paradigma AOP pada aplikasi yang akan dibangun, khususnya pada aplikasi yang dibangun menggunakan bahasa C# dengan framework ASP.NET MVC Web Application. 1.2 Tujuan Penelitian Sesuai dengan perumusan masalah yang telah disampaikan sebelumnya, maka penelitian ini bertujuan untuk membuktikan kelebihan penerapan teknik AOP dibandingkan dengan teknik OOP, dengan mengevaluasi berdasarkan kaidah-kaidah perangkat lunak yang

berkualitas menggunakan beberapa metode metric.