elib.unikom.ac.idelib.unikom.ac.id/files/disk1/429/jbptunikompp-gdl-ahmad... · Web viewQuery...
Transcript of elib.unikom.ac.idelib.unikom.ac.id/files/disk1/429/jbptunikompp-gdl-ahmad... · Web viewQuery...
7
BAB II
TINJAUAN PUSTAKA
2.1. Profil Tempat Kerja Praktek
2.1.1. Sejarah PT. Collega Inti Pratama [1]
PT. Collega Inti Pratama resmi berdiri pada tanggal 3 Februari 2001.
Perusahaan ini yang saat awal dirintis hanya berkekuatan kurang dari 10 orang
tenaga ahli, dan hanya mengandalkan pengalaman serta kepercayaan dari salah
satu mitra sekaligus client perusahaan yakni Bank Pembangunan Daerah (BPD)
Bali, berhasil mengeluarkan produk core banking system yang kemudian diberi
nama OLIBs (OnLine Integrated Banking System). OLIBs sebagai produk
pertama dari PT. Collega Inti Pratama ini berhasil diimplementasikan secara
Online pada lebih dari 25 kantor layanan BPD Bali saat itu, dan atas kesuksesan
implementasi tersebut, beberapa Bank lain mulai bergabung dan menggunakan
produk core banking OLIBs.
Tergerak akan tingginya kebutuhan solusi teknologi perbankan sebagai
bagian dari kelengkapan solusi core banking yang telah ada, maka PT. Collega
Inti Pratama mulai fokus melakukan riset untuk mengembangkan produk-produk
solusi teknologi lain terutama dalam memenuhi regulasi Bank Indonesia serta
target pengembangan bisnis dari para client perusahaan ini, dan sejak bulan Juli
2008, PT. Collega Inti Pratama resmi menempati kantor di gedung Talavera
8
Office Park lantai 6 dan 7, JL. T.B. Simatupang, Cilandak Jakarta Selatan dengan
fasilitas Data Center serta Disaster Recovery Center yang terletak di Bandung
guna mendukung jasa layanan Outsourcing.
2.1.2. Logo PT. Collega Inti Pratama
PT. Collega Inti Pratama mempunyai logo berupa huruf C, I dan P yang
disatukan yang berwarna orange dan terdapat tulisan collega yang berwarna biru
dibawahnya. Logo PT. Collega Inti Pratama dapat dilihat pada Gambar 2.1.
Logo tersebut memiliki makna sebagai berikut:
1. Lambang CIP yang berwarna orange merupakan singkatan dari nama
perusahaan, yaitu Collega Inti Pratama.
2. Lambang collega yang berwarna biru merupakan nama singkat yang telah
familiar dari perusahaan ini.
Gambar 2.1 Logo PT. Collega Inti Pratama
9
2.1.3. Badan Hukum PT. Collega Inti Pratama
Badan hukum perusahaan ini adalah Perseroan Terbatas (PT) atau disebut
juga Naamloze Vennotschap (NV). Hal ini berdasarkan pengesahan menteri
Kehakiman dan HAM no: C-17900,HT,01,01,TH,2002.
Perseroan Terbatas (PT) adalah perseroan atau persekutuan unuk
menjalankan perusahaan yang mempunyai modal usaha. Dalam hal ini, setiap
sekutu atau persero turut serta mengambil bagian sebanyak satu atau lebih saham.
Wewenang setiap persero atau pemegang saham bergantung pada besarnya saham
yang ditanamkan di dalam perusahaan ini.
2.1.4. Struktur Organisasi dan Job Description
Organisasi perusahaan sangat penting dalam menjamin kelangsungan dan
kelancaran mekanisme kerja perusahaan, adanya organisasi dimaksudkan untuk
menciptakan suatu sistem pembagian kerja atau tugas yang sesuai dengan
kebutuhan perusahaan sehingga mempermudah kegiatan operasional perusahaan
dalam mencapai tujuan.
PT. Collega Inti Pratama terdiri dari beberapa departemen. Departemen
dimana kami melakukan kerja praktek adalah Departemen Core Banking System
Development. Pada departemen tersebut posisi kami adalah sebagai programmer.
Struktur organisasi Departemen Core Banking System Development PT. Collega
Inti Pratama dapat dilihat pada Gambar 2.2.
Manajer Core Banking System Development
Analis ImplementatorProgrammer
10
Gambar 2.2 Struktur Organisasi Departement Core Banking System Development
PT. Collega Inti Pratama
Uraian tugas dari struktur organisasi Departement Core Banking System
Development PT. Collega Inti Pratama adalah sebagai berikut:
1. Manajer Core Banking System Development
a. Bertanggung jawab atas segala kegiatan pada Core Banking System
Development.
b. Memonitor pekerjaan analis, programmer dan implementator.
2. Analis
a. Menganalisis aplikasi yang akan dirancang.
b. Membuat design aplikasi yang akan dirancang.
3. Programmer
Membuat aplikasi sesuai yang diberikan oleh analis.
4. Implementator
Menguji aplikasi yang telah dibuat oleh programmer.
11
2.2. Landasan Teori
2.2.1. Sistem Informasi[2]
Menurut Jerry FithGerald, sistem adalah suatu jaringan kerja dari
prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk
melakukan suatu kegiatan atau menyelesaikan suatu sasaran tertentu.
Informasi adalah data yang telah diproses menjadi bentuk yang memiliki
arti bagi penerima dan dapat berupa fakta, suatu nilai yang bermanfaat.
Menurut Robert A. Leitch, sistem informasi adalah suatu sistem di dalam
suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian,
mendukung operasi, bersifat manajerial dan kegiatan strategi dari suatu organisasi
dan menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan.
2.2.2. Pemodelan Berorientasi Objek
Pemodelan Berorientasi Objek adalah sebuah pendekatan untuk
pengembangan suatu software dimana dalam struktur software tersebut didasarkan
kepada interaksi objek dalam penyelesaian suatu proses/tugas[3].
2.2.2.1. Pengertian Objek
Dalam paradigma berbasis objek, objek adalah representasi sebuah
entitas yang memiliki makna tertentu yang menjadi perhatian si pemandang.
Objek dapat menerima pesan (message), mengolah data, dan mengirimkan pesan
ke objek lain. Objek bersifat independen, artinya tiap objek dapat dipandang
12
sebagai sebuah entitas mandiri yang memiliki peran atau tanggung jawab
tertentu[4].
2.2.2.2. Karakteristik Pemodelan Berorientasi Objek
Pemodelan berorientasi objek memiliki karakteristik sebagai berikut[5]:
1. Encapsulation (Pembungkusan)
Variabel dan method dalam suatu objek dibungkus agar terlindungi.
2. Inheritance (Pewarisan)
Sebuah class bisa mewariskan atribut dan methodnya ke class yang lain.
Class yang mewarisi disebut superclass. Class yang diberi warisan
disebut subclass. Sebuah subclass bisa mewariskan atau berlaku sebagai
superclass bagi class yang lain disebut multilevel inheritance.
3. Polymorphism (Polimorfisme – Perbedaan bentuk)
Polimorfisme artinya penyamaran dimana suatu bentuk dapat memiliki
lebih dari satu bentuk.
2.2.3. Unified Modeling Language (UML)
2.2.3.1. Pengertian UML
Unified Modeling Language (UML) merupakan satu kumpulan konvensi
pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah
sistem software yang terkait dengan objek[6].
13
2.2.3.2. Konsep Dasar UML
Pemodelan menggunakan Unified Modeling Language merupakan
metode pemodelan berorientasi objek dan berbasis visual. Karenanya pemodelan
menggunakan UML merupakan pemodelan objek yang fokus pada pendefinisian
struktur statis dan model sistem informasi yang dinamis daripada mendefinisikan
data dan model proses yang tujuannya adalah pengembangan tradisional. UML
menawarkandiagram yang dikelompokan menjadi lima perspektif berbeda untuk
memodelkan suatu sistem[6].
2.2.3.3. Diagram Dasar dalam Unified Modeling Language (UML)
Berikut ini adalah penjelasan mengenai berbagai diagram UML serta
tujuannya[7]:
1. Model Use Case Diagram
Use Case Diagram secara grafis menggambarkan interaksi antara sistem,
sistem eksternal, dan pengguna. Dengan kata lain Use Case diagram
secara grafis mendeskripsikan siapa yang akan menggunakan sistem dan
dalam cara apa pengguna (user) mengharapkan interaksi dengan sistem
itu. Use Case secara naratif digunakan untuk secara tekstual
menggambarkan sekuensi langkah-langkah dari setiap interaksi.
2. Diagram Struktur Statis
UML menawarkan dua diagram untuk memodelkan struktur statis sistem
informasi, yaitu:
14
a. Class Diagram: menggambarkan struktur objek sistem. Diagram ini
menunjukan class object yang menyusun sistem dan juga hubungan
antara class object tersebut.
b. Object Diagram: serupa dengan class diagram, tetapi objek diagram
memodelkan instance object actual dengan menunjukan nilai-nilai
saat ini dari atribut instance. Object Diagram menyajikan
“snapshot/potret” tentang objek sistem pada point waktu tertentu.
Diagram ini tidak digunakan sesering Class Diagram, tetapi saat
digunakan dapat membantu seorang developer memahami struktur
sistem secara lebih baik.
3. Diagram Interaksi
Diagram interaksi memodelkan sebuah interaksi, terdiri dari satu set
objek, hubungan-hubungannya, dan pesan yang terkirim di antara objek.
Model diagram ini memodelkan behavior (kelakuan) sistem yang
dinamis dan UML memiliki dua diagram untuk tujuan ini, yaitu:
a. Diagram rangkaian/Sequence Diagram: secara grafis
menggambarkan bagaimana objek berinteraksi dengan satu sama
lain melalui pesan pada sekuensi sebuah use case atau operasi.
Diagram ini mengilustrasikan bagaimana pesan terkirim dan diterima
di antara objek dan dalam sekuensi atau timing apa.
b. Diagram kolaborasi: serupa dengan diagram rangkaian/sekuensi,
tetapi tidak fokus pada timing atau sekuensi pesan. Diagram ini justru
menggambarkan interaksi (atau kolaborasi) antara objek dalam sebuah
15
format jaringan. Diagram rangkaian maupun diagram kolaborasi
merupakan isomorphic artinya kita dapat mengubah dari satu diagram
ke diagram lain.
4. Diagram State
UML memiliki sebuah diagram untuk memodelkan behavior objek
khusus yang kompleks (statechart) dan sebuah diagram untuk
memodelkan behavior dari sebuah use case atau sebuah metode, yaitu:
a. Diagram statechart: digunakan untuk memodelkan behavior objek
khusus yang dinamis. Diagram ini mengilustrasikan siklus hidup
objek-berbagai keadaan yang dapat diasumsikan oleh objek dan
event-event (kejadian) yang menyebabkan objek beralih dari satu
state ke state lain.
b. Diagram aktivitas/Activity Diagram: secara grafis digunakan untuk
menggambarkan rangkaian aliran aktivitas baik proses bisnis
maupun use case. Activity diagram dapat juga digunakan untuk
memodelkan action yang akan dilakukan saat sebuah operasi
dieksekusi, dan memodelkan hasil dari action tersebut.
5. Diagram Implementasi
Diagram implementasi juga memodelkan struktur sistem informasi,
yaitu:
a. Diagram komponen/Component Diagram: digunakan untuk
menggambarkan organisasi dan ketergantungan komponen-
komponen software sistem. Komponen diagram dapat digunakan
16
untuk menunjukan bagaimana kode pemrograman dibagi menjadi
modul-modul (atau komponen).
b. Diagram penguraian/Deployment: digunakan untuk mendeskripsikan
arsitektur fisik dalam istilah ”node” untuk hardware dan software
dalam sistem. Diagram ini menggambarkan konfigurasi komponen-
komponen software real-time, prosesor, dan peralatan yang
membentuk arsitektur sistem.
2.2.4. Three Tier
Aplikasi 3 tier adalah sebuah program yang diorganisasi menjadi tiga
disjunctive tier utama. Konsep arsitektur three tier dapat dilihat pada gambar 2.3.
Tier ini bertanggung jawab terhadap bagaimana mendapatkan, menyimpan, dan
meng-update database dari informasi yang didapatkan. Fungsi dari tier ini dapat
direpresentasikan secara lebih jelas pada database yang bersifat komersial. Tier
ini akan berisi stored procedures yang akan dapat meningkatkan performa dan
code transparency dari sebuah aplikasi. Tiga disjunctive tier utama adalah sebagai
berikut[8]:
1. Presentation Tier (Front End)
Tier ini bertanggung jawab terhadap komunikasi antar user dengan
penyedia web service dan akan menggunakan objek-objek dari Logical
Tier untuk melakukan respon terhadap GUI dengan menggunakan event-
event. Presentation Tier hanya akan berhubungan dengan Logical Tier.
17
2. Logical Tier (Middleware)
Tier ini merupakan otak dari aplikasi 3-tier. Ada beberapa
pengembang yang membagi Logical Tier menjadi dua bagian, yaitu
Business Tier dan Data Access Tier, namun pembedaan ini tidak harus
dilakukan. Beberapa pengembang memilih untuk tidak membedakan
kedua tier ini dengan alasan bahwa tier-tier tambahan justru akan
menurunkan performa.
a. Business Tier
Sub tier ini terdiri dari class-class untuk melakukan perhitungan
terhadap nilai-nilai agregat. Class-class pada Data Access Tier akan
memberikan semua informasi pengaksesan database yang
dibutuhkan oleh sub tier ini.
b. Data Access Tier
Tier ini berfungsi sebagai sebuah interface ke Data Tier. Tier ini
mengetahui bagaimana cara memperoleh dan menyimpan informasi
ke dalam database.
3. Data Tier (Back End)
Setiap tier dapat dipisahkan ke dalam beberapa mesin yang terpisah
secara fisik di dalam sebuah network. Beberapa arsitek membagi Logical
Tier menjadi dua buah sub tier, yaitu Business Tier dan Data Access Tier,
dengan tujuan untuk meningkatkan scalability dan transparency.
Karakteristik dari komunikasi antar tier adalah bahwa tier-tier akan
18
berkomunikasi hanya terhadap tier yang berbatasan langsung dengan
dirinya.
Gambar 2.3 Konsep arsitektur Three Tier [9]
Beberapa keuntungan arsitektur three-tier [9]:
1. Keluwesan teknologi
2. Mudah untuk mengubah DBMS engine.
3. Memungkinkan pula middle tier ke platform yang berbeda.
4. Biaya jangka panjang yang rendah.
5. Perubahan-perubahan cukup dilakukan pada middle tier dari aplikasi
keseluruhan.
6. Keunggulan kompetitif.
19
7. Kemampuan untuk bereaksi terhadap perubahan bisnis dengan cepat,
dengan cara mengubah modul kode daripada mengubah keseluruhan
aplikasi.
2.2.5. Eclipse
Eclipse adalah IDE (integrated development environment) tools Java
editor profesional, untuk mendesain, melakukan coding, dan pengembangan dari
JSE, J2EE, dan web application. Tools ini memiliki fitur visual editing dengan
menambahkan plugin WindowBuilder yang memungkinkan user membuat
aplikasi tanpa harus menulis barisan kode Java. Eclipse membantu membangun
aplikasi desktop dan web applications dengan menggunakan bahasa pemrograman
Java.
2.2.6. Pemrograman Database[2]
Definisi dari database adalah kumpulan dari beberapa data dalam jumlah
banyak, saling berhubungan dan yang mempunyai arti tertentu (Riyanto, 2003),
Database secara global terdiri dari kumpulan tabel yang berisi baris dan kolom.
Tiap baris dan tabel memiliki satu unit data yang disebut record dan kolom
didalam tabel (disebut dengan field) merupakan keterangan dari masing-masing
record.
Pemrograman database merupakan kegiatan yang dilakukan untuk
meningkatkan kemudahan dalam melakukan manajemen dan akses ke sebuah
database (Riyanto, 2003). Pemrograman sebuah database banyak dilakukan
20
dengan menggunakan bahasa yang disebut dengan Structure Query Language
(SQL). Selain SQL, Pemrograman database juga meliputi manipulasi objek-objek
database, analisa query, dan juga interaksi database dengan Open Database
Connectivity (ODBC).
Pemrograman database akan penulis lakukan dengan menggunakan
software database bernama Sybase. Sybase adalah sebuah Relational Database
Management System (RDBMS) yang didistribusikan secara berbayar dibawah
lisensi Sybase corp.
Kelebihan Sybase bila dibandingkan dengan produk-produk lain yang
sejenis:
1. Sybase merupakan software database yang memiliki kecepatan dan
reliabilitas yang tinggi dalam proses data.
2. Sybase mudah digunakan dan memiliki dukungan user yang luas.
3. Memiliki tingkat keamanan yang baik.
4. Bisa berjalan dibanyak platform selain PC.
5. Mendukung banyak bahasa pemrograman seperti Power Builder, C, C++,
Perl, Phyton, Java, dan PHP.
2.2.7. Jboss
Jboss adalah server aplikasi sumber terbuka berbasis Java EE yang
diimplementasikan menggunakan Java. Dengan basis Java, Jboss otomatis lintas
platform, dalam arti ia dapat digunakan di segala sistem operasi yang mendukung
Java. Pengembangan inti dari Jboss pada prinsipnya adalah karyawan Red Hat,
21
resminya dibawah perusahaan layanan Jboss Inc. yang didirikan oleh Mark Fleury
dan kemudian diakusisi Red Hat. Jboss merupakan pioner dalam hal model bisnis
Open Source Proffesional, dimana pengembangannya menerima kompensasi dari
pekerjaannya[10].