• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI"

Copied!
32
0
0

Teks penuh

(1)

11 BAB 2

LANDASAN TEORI

2.1 .NET Framework 3.5

2.1.1 Pengenalan .NET Framework 3.5

Menurut Risman (Adnan, et al., 2008), .NET Framework adalah komponen Windows yang terintegrasi yang mendukung pembuatan dan penggunaan aplikasi dan XML Web services generasi selanjutnya. .NET Framework diciptakan untuk:

• Membuat komunikasi berdasarkan standar industri untuk menjamin kode program berbasis .NET Framework dapat bekerja sama dan atau digabungkan dengan kode program berbasis framework atau bahasa pemrograman lainnya.

• Menyediakan lingkungan pemrograman berbasis obyek yang konsisten terlepas dari apakah obyek itu disimpan dan dieksekusi secara lokal, dieksekusi secara lokal dan didistribusikan melalui internet, atau dieksekusi secara remote. Lingkungan ini juga mengurangi penggunaan piranti lunak dan konflik terhadap masalah versioning.

• Menyediakan lingkungan pemrograman yang aman bagi eksekusi kode program baik oleh kode yang dibuat oleh developer, pihak yang tidak dikenal atau oleh pihak ketiga.

(2)

• Menjaga konsistensi developer dalam membuat aplikasi baik berbasis Windows maupun berbasis web.

Framework ini memiliki 2 komponen yaitu Common Language Runtime (CLR) yang merupakan fondasi framework dan class library. Fungsi runtime adalah mengelola kode pada saat dieksekusi, mengelola thread, memori, remoting, menjalankan strict type safety, menjaga akurasi kode untuk keamanan dan kehandalan aplikasi.

Class library merupakan jenis koleksi berorientasi obyek yang dapat digunakan kembali untuk membuat berbagai jenis aplikasi baik berbasis Windows, web maupun command-line.

Untuk memperjelas hubungan antara CLR dengan class library, dapat dilihat pada Gambar 2.1.

(3)

Gamba me seh ket run Fo ar 2.1 Hubun .NET F enjalankan C hingga kedu

tiga juga did Interne ntime dalam orms Control ngan Antara Framework CLR di dala ua jenis kode dukung oleh et Explorer a m bentuk M l dapat disim a CLR Dan C dapat dikel am proses m e tersebut da framework i adalah conto IME sehing mpan didalam Class Library lola oleh un mereka dan m apat dieksek ini. oh aplikasi u gga managed mnya. y (Adnan, e nmanaged c mengekseku kusi. Runtim unmanaged y d componen et al., 2008). components usi managed me host dari yang menam nts dan Win yang code pihak mpung ndows

(4)

2.1.2 Perkembangan .NET Framework

Tahun 2006, dikeluarkanlah .NET Framework 3.0 dimana terdapat perubahan dengan adanya penambahan teknologi baru. Versi 3.5 merupakan versi terbaru dengan penambahan fitur dan teknologi yang sangat bermanfaat. Dengan adanya framework ini dalam paket piranti lunak Visual Studio 2008, maka developer diharapkan mampu lebih produktif dan lebih baik dalam membuat aplikasi dengan memanfaatkan teknologi .NET (Adnan, et al., 2008).

Untuk lebih memahami .NET Framework 3.5 dan versi sebelumnya, dapat dilihat pada Gambar 2.2 yang menunjukkan penambahan dan peningkatan apa saja yang terdapat pada versi 2.0, 3.0 dan 3.5.

Gambar 2.2 Perubahan Pada .NET Framework 2.0, 3.0 Dan 3.5 (Adnan, et al., 2008). Kumpulan kelas dalam jumlah yang sangat banyak yang dikenal sebagai .NET Framework class library, dibangun di atas Common Language Runtime (CLR). Library ini bertambah seiring dengan munculnya

(5)

pengembangan yang lebih baru. .NET Framework 2.0 menyediakan lingkungan pengembangan aplikasi yang lengkap termasuk base class library, ASP.NET, ADO.NET dan lainnya.

Pada versi 3.0, hal ini tidak berubah namun ada penambahan 4 teknologi baru yang cukup penting yaitu WCF (Windows Communication Foundation), WF (Windows Workflow Foundation), WPF (Windows Presentation Foundation), dan Windows CardSpace.

Perubahan pada versi 3.5 yaitu adanya dukungan AJAX terhadap ASP.NET dan LINQ (Language-Integrated Query) dapat digunakan oleh ADO.NET. Beberapa penambahan lain juga terdapat pada base class library, seperti penambahan type supporting sets dan dukungan enkripsi yang lebih baik. WCF, WF, dan WPF juga mengalami beberapa perbaikan seperti yang akan dibahas pada bab ini. Sistem operasi yang dapat menjalankan versi 3.5 adalah Windows Server 2008 dan 2003, Windows Vista dan Windows XP.

Karena masing-masing versi merupakan penambahan terhadap versi sebelumnya maka kebutuhan untuk melakukan pengujian kembali terhadap aplikasi yang telah kita buat dapat diminimalisir. Kita juga dapat menjalankan aplikasi yang dibuat menggunakan versi yang lebih baru pada versi framework sebelumnya karena framework versi 2.0, 3.0 dan 3.5 dapat dijalankan secara bersamaan. Dengan Visual Studio 2008 kita dapat membuat proyek yang disesuaikan dengan versi framework yang kita inginkan.

(6)

2.1.2.1 ASP.NET AJAX

ASP. NET AJAX merupakan dukungan untuk Aplikasi Berbasis Web yang responsif. Dengan adanya teknologi ini maka pendekatan yang lebih cerdas dan lebih cepat dapat dilakukan untuk mengakses data pada pengguna akhir apabila dimungkinkan serta melakukan update terhadap bagian aplikasi/halaman web yang ingin diubah. Aplikasi bisa diakses lebih cepat karena tidak perlu menunggu tampilnya halaman web baru (Adnan, et al., 2008).

Permintaan untuk mengakses data biasanya ditulis menggunakan JavaScript dan format datanya menggunakan Asynchronous JavaScript and XML. Hal inilah mengapa teknologinya dinamai sebagai AJAX.

2.1.2.2 Languange - Integrated Query (LINQ)

LINQ merupakan dukungan untuk akses yang konsisten terhadap berbagai jenis data. Manfaat LINQ adalah menyediakan sekumpulan extension pada C# dan VB.NET untuk akses yang sama terhadap berbagai jenis data. Teknologi baru yang terdapat pada versi 3.5 ini bertujuan untuk membuat akses data menjadi lebih mudah dan lebih efisien bagi siapapun yang ingin membuat dan memelihara aplikasi berbasis data menggunakan teknologi .NET (Adnan, et al., 2008).

(7)

2.1.2.3 Windows Communication Foundation (WCF)

WCF merupakan dukungan untuk Aplikasi Berorientasi pada Layanan (Service-Oriented Applications). Sejak versi awal, .NET Framework menyediakan banyak pendekatan komunikasi antar aplikasi yaitu (Adnan, et al., 2008):

• ASP.NET Web Services (ASMX) menyediakan komunikasi berbasis SOAP agar dapat saling bekerjasama.

• .NET Remoting menyediakan komunikasi antara aplik asi .NET.

Enterprise Services menyediakan dukungan untuk

aplikasi yang transaksional dan scalable.

• System Messaging menyediakan dukungan queued messaging melalui Microsoft Message Queuing (MSMQ).

Web Services Enhancements (WSE) menyediakan

dukungan terhadap keamanan Windows System.

Dengan adanya teknologi ini, developer tidak perlu menggunakan teknologi yang berbeda dan interface pemrograman aplikasi yang berbeda pula untuk masing-masing komunikasi. Cukup menggunakan pendekatan tunggal dengan memanfaatkan API yang biasa digunakan. Model komunikasi WCF sangat sederhana. Klien mengakses beberapa layanan dan memanggil operasi yang

(8)

dibutuhkan. WCF tidak harus digunakan pada host tertentu saja, sehingga developer bebas menggunakannya pada host mana saja seperti yang terlihat pada Gambar 2.3.

Gambar 2.3 Model Komunikasi WCF (Adnan, et al., 2008).

WCF memberikan dukungan yang kuat terhadap komunikasi berbasis SOAP yang merupakan bagian penting pada proses komputasi saat ini. Termasuk dukungan untuk berbagai spesifikasi * yaitu Security, ReliableMessaging, dan WS-AtomicTransaction. Namun WCF tidak membutuhkan SOAP, sehingga pendekatan komunikasi lain tetap dapat digunakan seperti protokol binary yang dioptimalkan, queued messaging menggunakan MSMQ dan pendekatan berbasis REST yang lebih mudah dan dibangun di atas protokol HTTP.

(9)

2.1.2.4 Windows Workflow Foundation (WF)

Windows Workflow Foundation merupakan dukungan untuk aplikasi berbasis workflow. Kita dapat menggunakan teknologi workflow untuk mengimplementasikan logika proses bisnis sehingga dapat lebih efektif dalam memecahkan masalah. Lebih baik kita menentukan masing-masing langkah di dalam proses dan mengeksekusinya menggunakan workflow engine daripada saling menghubungkan logika proses ini di dalam kode program. Hasilnya adalah implementasi yang lebih “bersih”. Dengan teknologi ini, Microsoft menyediakan teknologi workflow dan fondasi yang umum serta dapat digunakan oleh semua aplikasi berbasis workflow. Sejak diperkenalkan pada versi 3.0, teknologi ini telah banyak digunakan dalam piranti lunak Microsoft, seperti Windows SharePoint Services dan dalam aplikasi lainnya (Adnan, et al., 2008).

Secara sederhana WF adalah kumpulan aktivitas yang dieksekusi oleh engine WF melalui berbagai cara. Sebenarnya masing-masing aktivitas adalah sebuah kelas dan kelas ini dapat menampung pekerjaan yang ingin dikerjakan oleh pembuat workflow. Aktivitas – aktivitas tersebut dapat digunakan kembali pada workflow lainnya sehingga membuat kita lebih mudah untuk menciptakan solusi otomatis terhadap problem baru yang mungkin timbul. Cara kerja workflow dapat dilihat pada Gambar 2.4.

(10)

Gambar 2.4 Bagaimana WF Bekerja (Adnan, et al., 2008).

2.2 Layanan (Service)

Layanan atau service berbeda dengan sebuah object atau procedure. Layanan didefinisikan dengan messages dimana suatu layanan dapat melakukan pertukaran messages dengan layanan yang lain. Sebuah layanan bersifat independent yang tidak bergantung terhadap aplikasi yang menyimpannya. Hal ini memberikan kemampuan untuk sebuah layanan dapat dengan mudah digunakan secara bersama-sama antar departemen, enterprise, atau melalui internet (Erl, 2007).

Service merepresentasikan sekumpulan operation yang berhubungan untuk

(11)

Hubungan antara layanan dengan layanan dapat digambarkan sebagai berikut (Erl, 2005):

2.2.1 Bagaimana Sebuah Layanan Mengenkapsulasi Logic

Sebuah layanan dapat mengenkapsulasi proses yang besar atau hanya satu proses kecil. Lingkup layanan tidak terbatas, seperti terlihat pada gambar 2.5.

(12)

2.2.2 Bagaimana Layanan Berhubungan Satu Sama Lain

Suatu layanan bisa digunakan oleh layanan lainnya ataupun aplikasi lainnya. Tetapi, supaya layanan dapat berhubungan satu sama lain diperlukan adanya service description. Service description menyediakan nama dari layanan tersebut, data yang diharapkan dan data yang dikembalikan oleh layanan tersebut. Seperti terlihat pada gambar 2.6, layanan A berhubungan dengan layanan B dengan adanya service description.

Gambar 2.6 Bagaimana Layanan Berhubungan Satu Sama Lain (Erl, 2005).

2.2.3 Bagaimana Layanan Berkomunikasi Satu Sama Lain

Setelah layanan berhubungan satu sama lain, layanan berinteraksi dan bertukar informasi. Layanan berkomunikasi dengan menggunakan message. Komunikasi antar layanan dapat dilihat pada gambar 2.7.

(13)

Gambar 2.7 Bagaimana Layanan Berkomunikasi Satu Sama Lain (Erl, 2005).

2.2.4 Bagaimana Layanan Didesain

Pada gambar 2.8 layanan didesain dengan mengikuti aturan sebagai berikut (Erl, 2005):

Loosely coupled, yaitu setiap layanan berdiri sendiri secara

independen dan tidak bergantung pada layanan lainnya untuk berjalan.

Service contract, yaitu setiap layanan memiliki kesepakatan

mengenai cara untuk berkomunikasi.

Autonomy, yaitu layanan memiliki hak penuh atas lojik yang

dienkapsulasi.

Abstraction, yaitu lojik yang diimplementasi di dalam layanan tidak diperlihatkan.

(14)

Reusability, yaitu lojik dibagi menjadi sekumpulan layanan yang dapat memudahkan penggunaan berulang.

Composability, yaitu kumpulan layanan – layanan dapat

digabungkan membentuk suatu komposit layanan.

Statelessness, yaitu layanan meminimalisir atau tidak memiliki status tertentu terkait dengan aktifitas yang dilakukan.

Discoverability, yaitu layanan didesain untuk deskriptif

sehingga layanan bisa ditemukan dan diakses melalui mekanisme pencarian tertentu.

(15)

2.3 Service Oriented Architecture (SOA) 2.3.1 Paradigma SOA

Era modern saat ini, fungsi-fungsi operasi bisnis pada perguruan tinggi diterapkan secara otomatis, dan tantangan yang muncul adalah bagaimana meningkatkan kemampuan dari sistem atau aplikasi yang digunakan dapat selaras dengan kebutuhan-kebutuhan baru. Penambahan antarmuka baru, menggabungkan data dari sumber yang berbeda dalam satu tampilan, integrasi dengan mobile device adalah alasan umum dalam melakukan investasi dan perbaikan terhadap sistem pada suatu organisasi atau perguruan tinggi. Kompleksitas adalah fakta terhadap perkembangan teknologi informasi. Tantangan utama saat ini adalah berkaitan dengan kompleksitas ketika membangun aplikasi yang baru, menggantikan aplikasi yang lama, dan melakukan perawatan serta peningkatan kinerja aplikasi dan sistem. Untuk menjawab tantangan tersebut sebuah paradigma pengembangan berorientasi layanan (service-oriented development) ditawarkan untuk menjadi menjadi solusi terhadap kompleksitas yang dihadapi (Erl, 2007).

Layanan atau service berbeda dengan sebuah object atau procedure. Layanan didefinisikan dengan messages dimana suatu layanan dapat melakukan pertukaran messages dengan layanan yang lain. Sebuah layanan bersifat independent yang tidak bergantung terhadap aplikasi yang menyimpannya. Hal ini memberikan kemampuan untuk sebuah layanan dapat dengan mudah digunakan secara bersama-sama antar departemen, enterprise, atau melalui internet. SOA memberikan cara bagaimana layanan-layanan

(16)

dalam suatu sistem dapat diterapkan dan diatur. Pengembangan sistem berbasis layanan dan SOA adalah merupakan karakter yang dimiliki oleh teknologi Web services. SOA dan web services adalah merupakan jawaban terhadap pengintegrasian sistem dan aplikasi yang kompleks. SOA memberikan peta dan menggunakan model untuk menyatukan atau mengembangkan legacy system dan sistem yang baru selanjutnya web services menyediakan unifying glue dimana web services akan menyatukan dengan protokol umum standard ( SOAP, XML) serta deskripsi bahasa yang dapat dimengerti oleh mesin yang lain (WSDL). Sayed Hashimi (Hashimi, 2003) menjelaskan latar belakang penggunaan SOA ditinjau dari sisi developers perangkat lunak. SOA menjadi sangat populer melalui perkembangan Web services. SOA muncul untuk menawarkan solusi terhadap masalah yang dihadapi para developers perangkat lunak.

Proses menulis perangkat lunak yang sangat kompleks, dimana kode program yang sama harus ditulis kembali secara berulang-ulang, memicu munculnya kebutuhan terhadap cara yang lebih baik dalam menulis perangkat lunak dengan menggunakan kembali kode program yang sama. Solusi penulisan perangkat lunak yang kompleks adalah konsep modular design.

Modular design memungkinkan programmer menulis sub-routines dan

functions yang dapat digunakan kembali. Programmer dapat melakukan proses cutting dan pasting sebuah modul ke dalam aplikasi lain. Dampak negatif dari metode ini adalah kesulitan dalam perawatan perangkat lunak dan deployment perangkat lunak. Ketika sebuah bug ditemukan maintainer harus melakukan penelusuran terhadap semua aplikasi yang menggunakan fungsi tersebut dan

(17)

melakukan perbaikan. Hasil perbaikan mempengaruhi proses deployment perangkat lunak, perangkat lunak tidak berjalan sesuai dengan yang diharapkan. Para developer tidak menyukai hal tersebut, mereka membutuhkan

higher level of abstraction. Peneliti menawarkan classes dan OO perangkat

lunak untuk mengatasi masalah tadi.

Ketika kompleksitas perangkat lunak dan perangkat keras berkembang para developer mulai menyadari akan kompleksitas perangkat lunak, keperluan reuse code, dan memerlukan fungsi-fungsi untuk melakukan perawatan perangkat lunak. Component-based software memberikan solusi untuk menangani kompleksitas perangkat lunak, penggunaan kembali kode program, dan melakukan perawatan perangkat lunak. Keterbatasan component-based

software adalah tidak menangani kompleksitas yang dihadapi oleh para

developer saat ini. Saat ini terdapat berbagai isu kompleks yang dihadapi oleh pada developers, organisasi, users, dan stakeholders seperti distributed software, application integration, platform yang berbeda (OS, perangkat lunak, perangkat keras), protokol yang beragam, perkembangan ICT, dan sebagainya. Perangkat lunak saat ini harus dilengkapi dengan fitur-fitur yang dapat mengakomodasi isu-isu tersebut. SOA dengan web services memberikan solusi untuk semua isu yang telah disebutkan diatas. Dengan mengadopsi SOA, kerumitan protokol dan platform dapat dikurangi dan integrasi antar aplikasi dapat dilakukan.

2.3.2 Definisi SOA

(18)

Menurut Thomas Erl (Erl, 2007) :

“SOA adalah sebuah model desain dengan memiliki konsep yang dalam tentang meng-enkapsulasi logik aplikasi di dalam layanan-layanan yang berinteraksi melalui protokol yang umum”

Organization for the Advancement of Structured Information Standards (OASIS) mendefinisikan SOA sebagai berikut :

“Sebuah paradigma untuk melakukan pengaturan dan penggunaan layanan-layanan yang didistribusikan yang di kontrol oleh domain yang berbeda. SOA menyediakan sebuah keseragaman dalam memberikan, menemukan, berinteraksi dan menggunakan layanan-layanan yang dimiliki untuk menghasilkan efek yang diinginkan, konsisten dengan kondisi awal yang diukur dan harapan-harapan yang telah ditetapkan.” Menurut website www.service-architecture.com :

“SOA secara esensial adalah sebuah kumpulan dari layanan-layanan. Layanan-layanan tersebut berkomunikasi satu dengan yang lain. Komunikasi dapat melibatkan data yang sederhana atau dua atau lebih layanan yang berkoordinasi dengan beberapa aktivitas. Beberapa layanan dapat membutuhkan layanan yang lain untuk melakukan suatu aktifitas.” Menurut website XML.com :

“SOA adalah sebuah gaya arsitektural yang memiliki tujuan untuk mencapai tingkat ketergantungan yang rendah diantara interaksi perangkat lunak. Sebuah layanan adalah sebuah unit yang dilakukan oleh sebuah penyedia layanan untuk mendapatkan hasil yang diharapkan oleh pengguna layanan. Masing-masing penyedia dan pengguna layanan

(19)

memiliki peran untuk dilaksanakan oleh perangkat lunak sesuai dengan kepemilikannya.”

Secara umum SOA dapat dituliskan kembali sebagai berikut :

“SOA adalah sebuah arsitektur aplikasi dimana semua fungsi, layanan-layanan didefinisikan menggunakan sebuah bahasa yang terdeskripsi dan dapat mengakses antarmuka yang dipanggil untuk melakukan proses-proses bisnis. Setiap interaksi adalah independent terhadap yang lain. Karena antarmuka bersifat independent terhadap platform, setiap klien dari sembarang device dapat menggunakan service yang disediakan. SOA menghubungkan sistem operasi yang beragam dan mampu melakukan otomatisasi terhadap proses bisnis suatu organisasi secara internal atau enterprise.”

2.3.3 Prinsip – Prinsip SOA

Prinsip-prinsip berikut ini mendefinisikan aturan-aturan dasar dalam pengembangan, perawatan dan penggunaan dari SOA (Erl, 2007):

a. Konsep utama dari SOA adalah layanan.

b. Setiap layanan didefinisikan dengan sebuah kontrak yang formal.

c. Layanan-layanan hanya berinteraksi dengan layanan yang lain melalui antarmuka kontrak yang telah didefinisikan terlebih dahulu.

d. Layanan-layanan harus dapat diakses melalui standard teknologi yang tersedia pada lingkungan secara umum.

(20)

Mekanisme-mekanisme yang digunakan harus dapat diterima oleh standard-standard industri.

e. Layanan-layanan harus dapat didefinisikan kedalam level abstraksi yang tinggi yang berhubungan aktifitas-aktifitas pada dunia nyata dan fungsi-fungsi bisnis yang dapat dikenal sehingga kebutuhan-kebutuhan bisnis dan kemampuan-kemampuan teknikal dapat di selaraskan dengan tepat.

f. Layanan-layanan yang tersedia harus memiliki arti yang penuh atau mudah dipahami.

g. Layanan-layanan harus loosely coupled.

h. Kumpulan layanan harus memiliki tipe dokumen yang sama, yaitu dokumen XML. Hal ini untuk menfasilitasi pertukaran informasi diantara layanan-layanan dan struktur dan semantik dari dokumen harus disepakati dan dapat dimengerti dengan baik.

i. Layanan-layanan harus memberikan tugas-tugas yang spesifik dan menyediakan antarmuka yang sederhana untuk mengakses atau menggunakan fungsionalitas yang disediakan.

j. Layanan-layanan harus menyediakan informasi yang menjelaskan kemampuan dan keterbatasan dari layanan yang disediakan. Informasi tersebut harus tersedia pada repository.

(21)

2.3.4 Komponen SOA

Bila dilihat pada penjelasan sebelumnya, SOA terdiri atas sekumpulan

service. Namun sekumpulan service tidak cukup untuk membentuk sebuah

arsitektur ini. Menurut (Erl, 2005), SOA terdiri atas empat komponen, yaitu:

a) Message, yaitu data yang dibutuhkan untuk menyelesaikan

sebagian atau sebuah unit kerja, yang dipertukarkan antara satu service dengan yang lainnya.

b) Operation, yaitu fungsi-fungsi yang dimiliki oleh sebuah service untuk memproses message hingga menghasilkan sesuatu. Fungsi-fungsi inilah yang nantinya akan saling berinteraksi untuk menyelesaikan sebuah unit kerja.

c) Service, merepresentasikan sekumpulan operation yang

berhubungan untuk menyelesaikan sekumpulan unit kerja yang berhubungan.

d) Process, merupakan business rule yang menentukan operasi

(22)

Gambar 2.9 Ilustasi Operations dan Services (Erl, 2005).

Komponen-komponen tersebut terhubung satu sama lain dengan deskripsi sebagai berikut (Erl, 2005):

• Sebuah operation mengirim dan menerima message untuk mengerjakan sesuatu.

• Sebuah operation kebanyakan didefinisikan oleh message yang memprosesnya.

• Sebuah service mengelompokkan sekumpulan operation yang berhubungan.

• Sebuah service didefinisikan oleh operation yang membentuknya.

• Sebuah instans dari service dapat mengkomposisi service lain. • Sebuah instans dari process tidak harus didefinisikan oleh

service karena mungkin hanya membutuhkan sebagian dari

(23)

• Sebuah instans dari process memicu sekumpulan operation berjalan untuk menyelesaikan proses otomasi.

• Setiap instans dari process didefinisikan secara parsial operation yang digunakannya.

Hubungan ketergantungan antara komponen SOA dapat dilihat pada Gambar 2.10.

Gambar 2.10 Ketergantungan Antara Komponen SOA (Erl, 2005).

2.4 BPM

2.4.1 Konsep Dasar BPM

Business Process Management (BPM) adalah disiplin ilmu untuk memodelkan, automatisasi, mengelola, dan mengoptimasi proses bisnis untuk meningkatkan profitability. Proses bisnis yang dimaksud di dalam definisi

(24)

BPM ini termasuk sistem teknologi informasi dan interaksi manusia (Newcomer & Lomow, 2004). Penggunaan dari disiplin ilmu ini semakin meluas di organisasi. Hal ini disebabkan pentingnya sebuah organisasi menjadi efektif dan efisien dengan terus memperbaiki proses bisnisnya.

Proses bisnis sendiri didefinisikan sebagai serangkaian aktivitas yang terstruktur atau semiterstruktur yang dilakukan dalam sekumpulan atau oleh dua atau lebih individu untuk mencapai tujuan bersama. Ada lima poin esensial dari definisi ini :

• Proses bisnis terdiri atas sekumpulan oleh task (pekerjaan). Satu task tidak bisa dikategorikan dalam proses bisnis.

• Proses bisnis itu terstruktur atau semi-terstruktur. Hal ini berarti ada sekumpulan lojik atau aturan yang mengatur keterurutan aktivitas. Aktivitas tidak dijalankan secara ad hoc.

Task dapat muncul dalam serial atau paralel.

• Harus ada setidaknya dua atau lebih individu atau aplikasi yang terlibat sebagai pemain dalam melakukan tugas yang berbeda untuk sebuah proses.

• Sekumpulan task harus memiliki tujuan, sehingga dapat dinilai untuk optimalisasi berikutnya dengan melihat keberhasilan mencapai tujuan atau tidak.

Seperti dijelaskan pada poin nomor empat di atas, proses bisnis dewasa ini tidak seluruhnya dijalankan secara manual oleh manusia. Sebagian dijalankan dengan bantuan sistem lain. Konversi dari aktivitas sebuah organisasi dari

(25)

manual atau setengah terkomputerisasi menjadi terotomasi penuh disebut business process automation (Newcomer & Lomow, 2004).

2.4.2 Tujuan BPM

Tujuan dari BPM seperti yang dituliskan pada (Newcomer & Lomow, 2004) adalah sebagai berikut :

1. Mengurangi ketidakcocokan antara kebutuhan perusahaan dengan sistem teknologi informasi yang terimplementasi dengan memungkinkan pihak analis bisnis memodelkan proses bisnis dan membiarkan bagian teknologi informasi (misal: sebuah divisi atau departemen) menyediakan infrastruktur untuk mengeksekusi dan mengontrol proses bisnis tersebut.

2. Meningkatkan produktivitas pegawai dan mengurangi biaya operasional dengan mengotomatisasi dan melancarkan proses bisnis.

3. Meningkatkan agility dan fleksibilitas pada perusahaan dengan secara eksplisit memisahkan antara logika proses dari aturan bisnis dan merepresentasikan proses bisnis dalam bentuk yang mudah diubah jika terjadi perubahan kebutuhan.

4. Mengurangi biaya pengembangan dan usaha dengan menggunakan bahasa pemrograman high level yang memungkinkan analis bisnis dan pengembang secara cepat membangun dan memperbaharui sistem teknologi informasi dalam domain permasalahan tertentu.

(26)

2.5 Pengenalan C#

C# adalah bahasa pemrograman baru yang diciptakan oleh Microsoft (dikembangkan dibawah kepemimpinan Anders Hejlsberg yang notabene juga telah menciptakan berbagai macam bahasa pemrograman termasuk Borland Turbo C++ dan Borland Delphi). Bahasa C# juga telah di standarisasi secara internasional oleh ECMA. Seperti halnya bahasa pemrograman yang lain, C# bisa digunakan untuk membangun berbagai macam jenis aplikasi, seperti aplikasi berbasis windows (desktop) dan aplikasi berbasis web serta aplikasi berbasis web services (Agus Kurniawan, 2004).

2.5.1 Keuntungan Menggunakan C# 2.5.1.1 Sederhana

C# menghilangkan beberapa hal yang bersifat kompleks yang terdapat dalam beberapa macam bahasa pemrograman seperti Java dan C++, termasuk diantaranya mengilangkan macro, templates, multiple inheritance dan virtual base classes. Hal-hal tersebut yang dapat menyebabkan pengguna bingung pada saat menggunakannya, dan juga berpotensial dapat menjadi masalah bagi para programmer C++. Jika anda pertama kali belajar bahasa C# sebagai bahasa pemrograman, maka hal-hal tersebut di atas tidak akan membuat waktu anda terbuang terlalu banyak untuk mempelajarinya. C# bersifat sederhana, karena bahasa ini didasarkan kepada bahasa C dan C++. Jika anda familiar dengan C dan C++ atau bahkan Java, anda akan menemukan aspek – aspek yang begitu familiar, seperti

(27)

statements, expression, operators, dan beberapa fungsi yang diadopsi langsung dari C dan C++, tetapi dengan berbagai perbaikan yang membuat bahasanya menjadi lebih sederhana (Kurniawan, et al., 2004).

2.5.1.2 Modern

Yang membuat C# menjadi suatu bahasa pemrograman yang modern adalah adanya beberapa fitur seperti exception handling,

garbage collection, extensible data types, dan code security

(keamanan kode/bahasa pemrograman). Dengan adanya fitur-fitur tersebut, menjadikan bahasa C# sebagai bahasa pemrograman yang modern (Kurniawan, et al., 2004).

2.5.1.3 Object – Oriented Language

Kunci dari bahasa pemrograman yang bersifat Object

Oriented adalah encapsulation, inheritance, dan polymorphism.

Secara sederhana, istilah – istilah tersebut bisa didefinisikan sebagai berikut (Kurniawan, et al., 2004):

Encapsulation, dimana semua fungsi ditempatkan

dalam satu paket (single package).

Inheritance, adalah suatu cara yang terstruktur dari suatu kode – kode pemrograman dan fungsi untuk

(28)

menjadi sebuah program baru dan berbentuk suatu paket.

Polymorphism, adalah kemampuan untuk

mengadaptasi apa yang diperlukan untuk dikerjakan. Sifat-sifat tersebut di atas, telah dimiliki oleh C# sehingga bahasa C# merupakan bahasa yang bersifat Object Oriented.

2.5.1.4 Powerfull Dan Fleksibel

C# bisa digunakan untuk membuat berbagai macam aplikasi, seperti aplikasi pengolah kata, grafik, atau bahkan membuat kompiler untuk sebuah bahasa permrograman, inilah yang membuat C# menjadi bahasa pemrograman yang powerfull dan fleksibel (Kurniawan, et al., 2004).

2.5.1.5 Efisien

C# adalah bahasa pemrograman yang menggunakan kata – kata yang biasa disebut dengan keywords. Keywords ini digunakan untuk menjelaskan berbagai macam informasi. Jika anda berpikiran bahwa bahasa pemrograman yang menggunakan sangat banyak kata – kata (keywords) akan lebih powerfull, maka jawabannya adalah “pemikiran itu tidak selalu benar”, karena hal itu justru bisa

(29)

menambah kerumitan para developer pada saat membuat suatu aplikasi (Kurniawan, et al., 2004).

Keyword – keyword yang terdapat didalam bahasa C# dapat dilihat pada Gambar 2.11.

Gambar 2.11 Daftar Keywords Pada Bahasa C# (Kurniawan, et al., 2004).

2.5.1.6 Modular

Kode C# ditulis dengan pembagian masing – masing Class (classes) yang terdiri dari routines yang disebut sebagai member

methods. Class – class dan metode – metode ini dapat digunakan

kembali oleh program atau aplikasi lain. Hanya dengan memberikan informasi yang dibutuhkan oleh class dan metode yang dimaksud,

(30)

maka kita akan dapat membuat suatu kode yang dapat digunakan oleh satu atau beberapa aplikasi dan program (reusable code) (Kurniawan, et al., 2004).

2.5.1.7 C# Akan Menjadi Populer

Dengan dukungan penuh dari Microsoft yang akan mengeluarkan produk – produk utamanya dengan dukungan Framework .NET, maka masa depan bahasa C# sebagai salah satu bahasa pemrograman yang ada di dalam lingkungan Framework .NET akan lebih baik (Kurniawan, et al., 2004).

2.6 Visual Studio .NET

Visual Studio .NET merupakan editor yang paling ideal untuk membuat aplikasi yang berbasis Framework .NET, termasuk aplikasi dengan bahasa C (Kurniawan, et al., 2004). Dengan editor ini, maka kita akan bisa memanfaatkan kemampuan bahasa C# secara maksimal. Editor ini tidak hanya menyediakan berbagai macam tools dan wizard untuk membuat aplikasi C#, tetapi juga termasuk fitur – fitur produktif seperti IntelliSense dan bantuan yang dinamis. Dengan IntelliSense, jika kita mengetik nama sebuah namespace atau nama class, maka anggota dari namespace atau class itu akan secara otomatis di munculkan sehingga kita tidak perlu mengingat anggota dari semua class yang kita gunakan. IntelliSense

(31)

juga akan menampilkan semua argumen dan jenis tipenya ketika kita mengetikan nama dari sebuah metode.

2.7 Diagran Aliran Dokumen (DAD)

Diagram aliran dokumen (DAD) adalah suatu model yang menggambarkan aliran dokumen dan proses untuk mengolah dokumen dalam suatu proses (Mulyadi, 2001).

Komponen – komponen dari diagram aliran dokumen, dapat dilihat pada Tabel L1 yang terdapat pada halaman lampiran.

2.8 Unified Modelling Languange (UML)

2.8.1 Pengertian Unified Modelling Languange (UML)

Unified Modeling Language (UML), adalah sekumpulan konvensi pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek (Whittem, et al., 2005).

2.8.2 Diagram Perilaku

2.8.2.1 Diagram Use Case

Diagram use case secara grafis mendeskripsikan siapa yang akan menggunakan sistem dan dalam cara apa pengguna mengharapkan interaksi dengan sistem itu.

(32)

Diagram use case adalah diagram yang menunjukan serangkaian use case dan aktor dan hubungannya. Diagram use case digunakan untuk mengilustrasikan gambaran statis use case dari sebuah sistem. Diagram use case sangat penting dalam pemodelan dan pengaturan behavior sistem (Booch, 1999).

Contoh pemodelan diagram use case dapat dilihat pada Gambar L1 yang terdapat pada halaman lampiran.

2.8.2.2 Diagram Interaksi

Sequence diagram (diagram interaksi) secara grafis menggambarkan bagaimana objek berinteraksi dengan satu sama lain melalaui pesan pada eksekusi sebuah use case atau operasi.

Diagram interaksi adalah diagram yang menekankan urutan waktu dalam pengiriman pesan. Diagram interaksi menunjukan interaksi objek dengan waktu yang dipresentasikan dalam grafik dua dimensi. Dimensi vertikal menunjukan waktu, digambarkan melintang ke bawah. Dimensi horizontal menunjukan jenis peranan yang mengambarkan individu objek. Durasi aktifitas objek ditunjukan oleh lifeline yang berupa garis putus – putus. Pesan ditampilkan sebagai panah dari satu lifeline sebuah objek ke lifeline objek yang lainnya (Booch, 1999).

Gambar

Gambar 2.2 Perubahan Pada .NET Framework 2.0, 3.0 Dan 3.5 (Adnan, et al., 2008).  Kumpulan kelas dalam jumlah yang sangat banyak yang dikenal  sebagai .NET Framework class library, dibangun di atas Common Language  Runtime (CLR)
Gambar 2.3 Model Komunikasi WCF (Adnan, et al., 2008).
Gambar 2.4 Bagaimana WF Bekerja (Adnan, et al., 2008).
Gambar 2.5 Bagaimana Sebuah Layanan Mengenkapsulasi Logic (Erl, 2005).
+7

Referensi

Dokumen terkait

Teknik pengolahan data yang dilakukan yaitu pemeriksaan (editing), (coding), dan tabulasi. Teknik analisis data yang digunakan adalah analisis tabel frekuensi

Berdasarkan kesimpulan penelitian, saran yang dapat diberikan adalah: (1) dengan adanya perbedaan pencapaian kemampuan berpikir geometri tingkat rendah siswa

Setelah melihat bentuk kalimat yang utuh dan yang tidak utuh maka dapat ditarik kesimpulan, bahwa dalam membuat sebuah kalimat hendaknya memperlihatkan kemampuan struktur bahasa

Gunakan setting ini bila ingin memotret dengan lampu kilat seperti saat tidak ada sumber cahaya apapun selain dari lampu kamera, atau saat siang hari tapi objek

data disimpan dengan cara-cara tertentu sehingga mudah untuk digunakan atau ditampilkan kembali, data dapat digunakan satu atau lebih program-program aplikasi secara

Tujuan dari penelitian ini adalah mengetahui nilai kapasitas infiltrasi di Universitas Muhammadiyah Yogyakarta pada jenis penutup lahan tanah, mengetahui volume total

Pada sub-frame FCS (Frame Check Sequence) berisi sebuah CRC (Cyclic Redundancy Check) yang berfungsi sebagai pendeteksi kesalahan. Dengan adanya FCS maka data dapat

Dalam penggunaan internet banking memiliki banyak keuntungan terutama pada efisiensi waktu dan tenaga yang di keluarkan, hal ini terjadi karena internet banking dapat