BAB II. LANDASAN TEORI
2.1. Landasan Teori Secara Umum 2.1.1 Aplikasi Aplikasi adalah sebuah program yang siap untuk digunakan di komputer atau perangkat pendukung lainnya untuk menjalankan perintah-perintah yang dibutuhkan penggunanya dengan benar dengan cara mengolah data menjadi informasi yang dibutuhkan. Dikutip dari buku (Sommervile & Ian, 2010), aplikasi terdiri dari berbagai macam diantaranya adalah: 1. Stand-alone application adalah aplikasi yang berdiri di dalam computer itu sendiri. Biasanya tidak membutuhkan koneksi network 2. Interactive terkoneksi
transaction-based dengan
computer
applications pusat
adalah
dimana
aplikasi
pengguna
yang hanya
menggunakan komputernya untuk komunikasi jarak jauh. 3. Embeded control system adalah aplikasi khusus yang diciptakan untuk mengendalikan suatu perangkat keras. 4. Batch Processing system adalah system bisnis yang dapat memproses sekumpulan data yang besar. 5. Entertainment system adalah system yang secara pokok biasa digunakan untuk menghibur pengguna.
2
6. System for modelling and simulation adalah system yang dibangun oleh para pakar dan ilmuan untuk menggambarkan suatu pendekatan secara fisik maupun proses. 7. Data collection system adalah system yang mampu mendapatkan data dari system lain dengan berbagai sensor dan mengirimkannya pada system lain. 8. System of system adalah suatu kumpulan dari banyak sistem. 2.1.2 Database Database adalah suatu kumpulan data yang saling berhubungan secara logis dan penjelasan tentang data yang saling berhubungan yang dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi (Connolly & Begg, 2010). Menurut (Gottschalk & Saether, 2010), database adalah sekumpulan data yang terorganisir untuk mendukung banyak aplikasi secara efisien dengan memusatkan data dan mengontrol data redundant. 2.1.3 Model-Driven Architecture (MDA) Pada tahun 2000, sebuah organisasi OMG mengusulkan perubahan besar dari komposisi objek ke transformasi objek dan mulai mempromosikan MDA. Pada tahun 2001, OMG mengadopsi framework yang kedua, yaitu Model Driven Architecture atau MDA. Tidak seperti OMA dan CORBA, dimana frameworknya untuk mengimplementasi sistem terdistribusi, sedangkan MDA adalah sebuah metodologi untuk menggunakan model dalam pengembangan software (Object Management Group, Inc, 2003). MDA merupakan sebuah pendekatan yang mampu sebagai alat untuk: 1. Spesifikasi sebuah sistem yang bebas dari platform
3
2. Spesifikasi platform-platform 3. Memilih platform tertentu untuk sistem 4. Transformasi spesifikasi sistem menjadi satu untuk platform tertentu Tiga tujuan utama dari MDA adalah portability, interoperability, dan reusability. 2.1.4 Rapid Application Development (RAD) Menurut (Kendall, 2010), Rapid Application Development (RAD) adalah suatu pendekatan berorientasi objek terhadap pengembangan sistem yang mencakup suatu metode pengembangan serta perangkat-perangkat lunak. RAD bertujuan untuk mempersingkat waktu yang biasanya diperlukan dalam siklus hidup pengembangan sistem tradisional antara perancangan dan penerapan suatu sistem informasi. Menurut (Kendall, 2010), terdapat tiga fase dalam RAD yang melibatkan penganalisis dan pengguna dalam tahap penilaian, perancangan, dan penerapan. Adapun ketiga fase tersebut adalah requirements planning (perencanaan syaratsyarat), RAD design workshop (workshop desain RAD), dan implementation (implementasi). Sesuai dengan metodologi RAD menurut Kendall (2010), berikut ini adalah tahap-tahap pengembangan aplikasi dari tiap-tiap fase pengembangan aplikasi. 1. Requirements Planning Dalam
fase
mengidentifikasikan
ini,
pengguna
tujuan-tujuan
dan aplikasi
penganalisis atau
bertemu
sistem
serta
untuk untuk
megidentifikasikan syarat-syarat informasi yang ditimbulkan dari tujuan-tujuan tersebut. Orientasi dalam fase ini adalah menyelesaikan masalah-masalah
4
perusahaan. Meskipun teknologi informasi dan sistem bisa mengarahkan sebagian dari sistem yang diajukan, fokusnya akan selalu tetap pada upaya pencapaian tujuan-tujuan perusahaan (Kendall, 2010). 2. RAD Design Workshop Fase ini adalah fase untuk merancang dan memperbaiki yang bisa digambarkan sebagai workshop. Penganalisis dan dan pemrogram dapat bekerja membangun dan menunjukkan representasi visual desain dan pola kerja kepada pengguna. Workshop desain ini dapat dilakukan selama beberapa hari tergantung dari ukuran aplikasi yang akan dikembangkan. Selama workshop desain RAD, pengguna merespon prototipe yang ada dan penganalisis memperbaiki modulmodul yang dirancang berdasarkan respon pengguna. Apabila sorang pengembangnya merupakan pengembang atau pengguna yang berpengalaman, Kendall menilai bahwa usaha kreatif ini dapat mendorong pengembangan sampai pada tingkat terakselerasi (Kendall, 2010). 3. Implementation Pada fase implementasi ini, penganalisis bekerja dengan para pengguna secara intens selama workshop dan merancang aspek-aspek bisnis dan nonteknis perusahaan. Segera setelah aspek-aspek ini disetujui dan sistem-sistem dibangun dan disaring, sistem-sistem baru atau bagian dari sistem diujicoba dan kemudian diperkenalkan kepada organisasi (Kendall, 2010). 2.1.5 Software Architecture Dalam journal (Gilmer & Brad, 2008), ada beberapa tipe arsitektur perangkat lunak, antara lain: 1. Stand-alone Application
5
Aplikasi dijalankan sepenuhnya didalam sistem dimana pengguna langsung menggunakannya, sehingga PC yang diinstal aplikasi ini, memerlukan performance server CPU yang bagus. 2. Thick-client Application Aplikasi berjalan di dalam sistem dimana pengguna langsung menggunakannya, akan tetapi diperlukan server atau koneksi ke luar, biasanya untuk melakukan akses data. Dalam sistem ini, tidak semua pengolahan di klien, tetapi terhubung ke beberapa sumber daya lain, seperti database, untuk mengakses data secara bersamaan. Sehingga penggunaan bandwidth tergantung pada transaksi data. Keamanan juga terjamin, karena sebagian besar resiko keamanan teratasi dengan struktur keamanan perusahaan. 3. Thin-client Application Aplikasi berjalan pada server, tetapi memiliki software kecil yang berjalan pada penggunanya. Pada sistem ini, memerlukan jaringan bandwidth yang rendah, karena biasanya data yang mengalir pada jaringan sistem ini hanya data keyboard dan tampilan. Dalam kebanyakan kasus, aplikasi ini berjalan dalam lingkungan perusahaan, dan kadang-kadang klien yang didedikasikan untuk aplikasi, membuat keamanan kurang perhatian. Namun, dalam aplikasi lain, data ini dikirim melalui Internet ke thin client jarak jauh. 4. Web-client Application Aplikasi berjalan di server, baik internal Perusahaan atau melalui internet, dan diakses melalui browser. Sistem ini merupakan evolusi
6
dari thin client. Karena banyak kebutuhan dari pengguna yang harus diakses melalui browser.
2.2. Landasan Teori Secara Khusus 2.2.2 .NET Framework .NET Framework adalah sebuah framework software yang di-develop oleh Microsoft yang berjalan di Lingungan Microsoft. Microsfot mulai men-develop .NET Framework sekitar tahun 1990. Di dalam .NET Framework terdapat banyak class library. Class library disusun secara hirarki menggunakan namespace. Programmer dapat menggunakan class libray untuk mengembangkan aplikasi mereka. Prinsip desain dari .NET Framework adalah Interoprability, language independence,
portability,
security,
memory
management,
simplified
deployment, and performance. Di dalam code generator menggunakan class library, contohnya adalah ketika akan menciptakan file, maka dibutuhkan pengecekan folder atas file yang akan disimpan tersebut. Jika folder sudah ada, maka harus dilakukan replacement. Aplikasi hasil dari Code Generator menggunakan .NET Framework 4.5 sebagai environment pengembangannya. Di dalam .NET Framework 4.5 sudah banyak fasilitas yang disediakan, antara lain: 1. Memiliki kemampuan mengukur berapa lama sebuah ekspresi akan selesai
7
2. Kemampuan untuk mendefinisikan budaya untuk sebuah domain aplikasi 3. Mendukung UTF-16 encoding 4. Kinerja yang lebih baik ketika mengambil sumber daya 5. Mendukung kompresi zip denga algoritma kompresi beserta format arsipnya 6. Kemampuan untuk menyesuaikan konteks refleksi untuk mengubah tingkah laku refleksi default melalui class CustomReflectionContext 7. Fitur asynchronous baru yang ditambahkan ke C# dan Visual Basic.
Seperti yang dikutip (Microsoft, 2015), berikut beberapa fitur dari .NET Framework 4.5 antara lain: 1. Mendukung Common Language Runtime (CLR) 4 2. Mendukung Windows Store apps 3. Mendukung WPF, WCF, WF, ASP.NET updates . 4. Tersedia di Visual Studio 2012 5. Dapat diinstal di Win Vista, 7, 8 ke atas.
2.2.3 Solution Solution dalam Visual Studio adalah berupa sebuah file yang mengatur semua project yang ada di dalamnya, apakah berbentuk web, desktop, atau lainnya. Isi dari file Solution tersebut berbentuk xml, sehingga mudah dimengerti
8
dan dimodifikasi. Solution di sini mencerminkan suatu sistem yang dibangun oleh Perusahaan. 2.2.4 Project Project dalam Visual Studio berupa file berformat xml yang berfungsi untuk mengatur objek-objek yang ada di dalamnya, termasuk reference yang dibutuhkan untuk membangun sebuah aplikasi. Project tersebut bisa dalam berbagai jenis, antara lain Web, Desktop, atau Mobile Application. Pemilihan jenis project tergantung kebutuhan setiap Perusahaan. Di Dalam solution tidak hanya menyimpan satu project, akan tetapi bisa lebih dari satu project. Struktur dari Project bisa dilihat pada gambar 2.1.
Gambar 2.1 – Struktur Web Project di Visual Studio
2.3. Studi Literatur Kebutuhan teknologi informasi menyebabkan semakin banyaknya persaingan untuk menciptakan teknologi informasi yang baru demi mempercepat pengembangan suatu aplikasi. Perlu dilakukan studi literatur untuk menciptakan sebuah teknologi baru yang lebih handal dan sesuai kebutuhan.
9
2.3.1 Object Oriented Programming (OOP) Pada awalnya bahasa pemrograman berbentuk struktural. Pedadogi mereka dibangun berdasarkan urutan, seleksi dan iterasi. Sebagai akibat, mengajar bahasa populer seperti FORTRAN, Pascal dan C diatur oleh desain dan implementasi algoritma umum dan struktur data. Adapun ungkapan terkenal "Algoritma + Struktur Data = Program." Tetapi pemrograman terstruktur tidak dapat banyak memecahkan masalah seperti yang ada di OOP. Sehingga mereka harus diarah ke pemrograman berorientasi objek, dimana focus utama adalah pemecahan masalah dan menghindari efek samping, daripada rincian bahasa. (Kolling, 1999). Dalam jurnal (Okur, 2006), disebutkan bahwa OOP telah menjadi gaya pemrograman yang dominan baik di dunia industri perangkat lunak maupun pendidikan selama sepuluh tahun terakhir atau lebih. Software House memiliki produk versi OOP dan di lembaga pendidikan telah menyertakan kurikulum OOP. OOP pada dasarnya pemodelan objek kehidupan nyata, karena itu wajar untuk menempatkan deskripsi dan identifikasi objek. Dalam sistem berorientasi objek, semua entitas secara konsep dimodelkan sebagai objek. Nilai atribut merupakan objek, oleh karena itu memiliki memori pribadi. Sebuah objek primitive seperti integer atau string, tidak miliki attribute. Hanya memiliki nilai yang merupakan objek itu sendiri. Metode terdiri dari kode yang memanipulasi atau mengembalikan keadaan suatu objek. Objek dapat berkomunikasi satu sama lain melalui pesan (Paruchuri, Krishna, & Kumar, 2013)
10
Tujuan dibuatnya bahasa pemrograman C# adalah sebagai bahasa pemrograman yang bersifat bahasa pemrograman general-purpose, berorientasi objek, modern, dan sederhana. Keuntungan menggunakan C# adalah karena lebih powerful. Perintah yang ada di C++ ada di C#, hanya dengan bahasa perintahnya saja yang lebih dipermudah. Dalam mendebug error, C# menyediakan informasi lengkap mengenai error yang terjadi. Sebelum terjadi error dan sebelum di Run, C# telah memberikan warning bahwa telah terjadi kesalahan penulisan. Apabila menggunakan platform windows dalam pengembangannya, maka C# sangat powerful, karena banyak komponen atau library windows yang dapat diinstancekan. Selain itu, banyak Perusahaan besar yang lebih banyak menggunakan C#. 2.3.2 Business Logic Layer (BLL) Berdasarkan penelitian oleh Mitchell (Mitchell, Microsoft Corporation, 2006), “a Business Logic Layer (BLL) that serves as an intermediary for data exchange between the presentation layer and the DAL”. Seperti yang digambarkan oleh Gambar 2.2 di bawah mengenai cara kerja dari Business Logic Layer (BLL), bahwa BLL berfungsi sebagai perantara untuk pertukaran data antara Presentation Layer dan DAL.
11
Gambar 2.2 – Fungsi BLL Memisahkan Presentation Layer dan Memberlakukan Aturan Bisnis (Mitchell, Microsoft Corporation, 2006)
2.3.3 Data Access Layer (DAL) Berdasarkan penelitian oleh Mitchell (Mitchell, Microsoft Corporation, 2006) “All code that is specific to the underlying data source – such as creating a connection to the database, issuing SELECT, INSERT, UPDATE, and DELETE commands, and so on – should be located in the DAL. The presentation layer should not contain any references to such data access code, but should instead make calls into the DAL for any and all data requests. Data Access Layers typically contain methods for accessing the underlying database data”. Artinya Semua kode yang khusus untuk sumber data yang mendasari, seperti membuat
12
koneksi database, seperti perintah SELECT, INSERT, UPDATE, DELETE, dan sebagainya, harus diletakkan di DAL. Presentation Layer tidak boleh mengandung referensi kode program untuk akses data, melainkan harus melakukan pemanggilan ke DAL untuk setiap dan semua permintaan data. Data Access layer biasanya berisi metode untuk mengakses data database. 2.3.4 Stored Procedures Stored Procedures (SP) merupakan kode program SQL yang didesain oleh Database Designer (DBD) dan disimpan di server database. Fungsinya adalah untuk memisahkan dan membagi secara jelas tugas dari DBD dan programmer. Programmer hanya perlu tahu nama SP dan paramaternya. Hal ini sangat berfungsi jika suatu saat ada perubahan terhadap langkah membaca SP, maka perubahan cukup terjadi di sisi database, terlebih jika ada contoh kasus migrasi database, dari Access ke SQL Server. Maka yang bekerja di sini adalah DBD dengan segala ketrampilan SQL-nya (Whitehorn & Mark, 2009) 2.3.5 Metodologi Pengembangan Web Ada beberapa teknologi pengembangan web yang pernah ada, akan tetapi semuanya memiliki kelebihan dan kelemahan. Untuk itu, metode-metode tersebut perlu dikombinasikan sesuai dengan kondisi dan kebutuhan pada saat pengembangannya. Seperti dikutip oleh paper (Howcroft & Carroll, 2000), metode Waterfall adalah metodologi yang paling gampang diimplementasikan karena cenderung lebih sederhana. Akan tetapi kurang iterasi antara setiap tahapannya, sehingga apabila ada perubahan, maka perlu dilakukan dari awal kembali. Padahal perkembangan web begitu cepat. Adapun metodologi Structure System Analysis and Design Method (SSADM) yang dikembangkan untuk
13
pengembangan tradisional. Metodologi ini mengendepankan pada analisis dan desain yang berdampak pada pengurangan kemungkinan perubahan kode program. Karena dengan analisis dan desain yang matang, akan mengurangi kesalahan dan kelalaian yang akan timbul kemudian. Metodologi Prototyping lebih kepada prototype atau desain tampilan kepada end-user daripada proses kerja sistem yang ada di dalamnya. Sehingga metode ini cocok dengan website yang statik. Metodologi Prototyping Incremental memungkinkan sistem yang besar dapat dikembangkan secara bertahap, karena lebih mengedepankan menyelesaikan dulu fitur yang penting di dalam sistem, dan menunda fitur yang kurang penting. Sehingga proses bisa lebih cepat dan membantu pembangunan fitur baru. Untuk membantu penelitian, berdasarkan artikel (Howcroft & Carroll, 2000), ada beberapa tahapan metodologi dari kombinasi di atas, yaitu: 1. Phase One: Analysis 1.1 Development of a Web Strategy 1.2 Defining Objectives 1.3 Objectives Analysis 2. Phase Two: Design 2.1 Design 2.2 Design Testing 3. Phase Three: Generation 3.1 Resource Selection 3.2 Design Review 3.3 Code Generation & Installation
14
3.4 Testing 4. Phase Four: Implementation 4.1 Implementation 4.2 Maintenance 4.3 Objectives Review
Adapun pendekatan terbaru pada tahun 2005 yaitu Model-Driven Architecture. Netsilon tool menggunakan pengembangan dan pemodelan aplikasi web yang bebas dari platform, seperti dikutip dalam paper (Muller, Studer, Fondement, & Bezivin, 2005) . Model ini akan mentransformasi Platform Independent Model (PIM) menjadi Platform Specific Model (PSM), sehingga dapat menghasilkan kode program. Salah satu persyaratan yang paling diutamakan dalam aplikasi web adalah Business Model, Hypertext Model, dan Presentation Model. Business Model mendefinisikan sebuah organisasi konsep bisnis yang diatur oleh aplikasi. Pada pendekatan MDA, Business Model digunakan sebagai input proses MDA yang akan menciptakan business layer. Hypertext Model merupakan sebuah deskripsi abstrak terhadap komposisi dan navigasi antara elemen dokumen dan sub elemen dokumen. Dalam konteks pemodelan web, bagaimana menjelaskan sebuah web dibangun dan terhubung. Presentation Model mendefinisikan sebuah tampilan atau interface dari sebuah aplikasi web. Netsilon Tool memasukkan Presentation Model yang menyediakan sebuah repository untuk file yang diproduksi oleh graphic designers. Presentation Model ini bisa bersifat dinamik berdasarkan informasi yang masuk. Dengan penjelasan di atas, maka dapat digambarkan pada gambar 2.3.
15
Gambar 2.3 – Model Multi-view pada Aplikasi berbasis Web (Muller, Studer, Fondement, & Bezivin, 2005)
2.3.6 Teknologi Code Generator Banyak teknologi baru dibidang teknologi informasi untuk membantu mempercepat pengembangan sebuah aplikasi, salah satunya adalah code generator. Selain membantu programmer dalam membangun aplikasi, code generator juga diperlukan oleh Perusahaan dalam menciptakan aplikasi sesuai standar mereka dengan cepat dan tepat. Pada tahun 1992, berdasarkan penelitian oleh Cracken (Cracken, 1992), mempresentasikan keuntungan dari code generator pada Perusahaan. Developer pengguna Code Generator telah meningkat beberapa tahun terakhir. Alasan utamanya adalah untuk perbaikan di dalam teknologi. Alasan lain adalah karena developer sudah siap dalam berkonsentrasi terhadap business logic daripada isu pemrograman dan lingkungannya. Di dalam artikel tersebut disebutkan, Jim
16
Kersting, Direktur Pengembang Sistem pada Rejis Commission. Mereka telah menggunakan IEF Construction Toolset, sebuah aplikasi kecil yang dapat mereduksi waktu
pengembangan sistem untuk membuat kontruksi pertama
aplikasi sekitar 27% pada project pertama mereka, akan tetapi prosentasenya bertambah menjadi hampir 50% pada project selanjutnya. Keuntungan yang nyata dari code generator adalah kulitas sistem yang lebih baik, dan memudahkan dalam perawatannya. “Kita butuh maintain 100 sampai 300 baris koding dari sekitar 5000 baris Cobol”, kata Kersting. Keuntungan lainnya dari code generator adalah dapat digunakan kembali. Dalam sebuah penelitian (Kuntsche, Barz, Kraus, Arellano-Garcia, & Wozny, 2011) menjelaskan sebuah informasi model disimpan di dalam XML dan MathML dan code generation untuk bahasa pemrograman yang berbeda yang digunakan untuk mengubah model umum didefinisikan ke dalam program yang dapat dieksekusi. Sebuah MOSAIC menggunakan code generation untuk mensupport operasi matematika dan komposisi variabel seperti yang telah definisikan. Dengan code generator, maka dapat menghasilkan suatu bahasa pemgrograman dari bahasa pemgrograman yang berbeda. Bisa dilihat pada gambar 2.4, simulasi problem terhadap input yang dilakukan oleh code generation untuk menciptakan kode program:
17
Gambar 2.4 – Modul untuk Evaluasi Sistem yang akan mentransfer generisasi kode program (Kuntsche, Barz, Kraus, Arellano-Garcia, & Wozny, 2011)
Sebuah penelitian selanjutnya (Antonio Possatto & Lucredio, 2015), menyebutkan bahwa code generator dapat meningkatkan produktivitas dan kualitas proses pengembangan software karena dapat menciptakan secara otomatis untuk dapat melakukan tugas-tugas dari kode program yang membosankan dan rentan terjadi kesalahan. Dengan menggunakan template code genetator, maka sebuah code yang sudah ada, dapat ditransformasi secara aman dan cepat. Sebuah mapping file secara otomatis dapat mencari lokasi perubahan pada reference implementation yang harus dimigrasi.
Gambar 2.5 – Pengecekan Ulang terhadap sebuah Mekanisme (Antonio Possatto & Lucredio, 2015)
Sebagai ilustrasi, di bawah 2.6 adalah gambar mapping antara referensi implementation dan format dasar code generator.
18
Gambar 2.6 – Syarat Pemetaan antara Referensi Implementasi dan Format Dasar Code Generator (Antonio Possatto & Lucredio, 2015)
Gambar di atas menunjukkan persyaratan mapping antara code implementasi dengan template code generator. Tipe 1 menunjukkan simple copy, yaitu code program yang ada dengan template adalah sama, tanpa modifikasi. Tipe 4 menunjukkan repetition, yaitu baris koding yang muncul berulang. Tipe 5 menunjukkan conditional, yaitu ada kode program yang berbeda, tetapi hanya muncul satu kali pada kondisi tertentu. Setelah menggunakan code generator, maka terdapat perbandingan kecepatan dalam merubah code program yang dapat dibuktikan dengan gambar static 2.7.
19
Gambar 2.7 – Pengecekan Ulang terhadap Rentang Waktu Setiap Partisipan dalam Hitungan Menit, dalam Setiap Tugasnya Menggunakan Kedua Pendekatan (Manual dan Semi-automatic) (Antonio Possatto & Lucredio, 2015)
2.3.6.1 DBS Application
Salah satu bahan literatur tesis ini adalah (Hamid, 2012) dengan link https://dbs.codeplex.com/. Tujuan dari pembuatan program ini adalah untuk programmer yang ingin mengembangkan aplikasi n-tier. Update terakhir dari aplikasi ini pada tahun 2012 versi Beta. Teknologi ini bisa menciptakan SQL Script, Data Access Layer (DAL) dan Business Logic Layer (BLL). SQL Script yang dihasilkan untuk insert, update, delete, dan select table. DAL dan BLL yang diciptakan juga berfungsi untuk menjembati SQL Script tersebut.
20
Gambar 2.8 – Aplikasi DBS
Akan tetapi aplikasi ini memiliki banyak kelemahan, antara lain tidak ada integrasi antara masing-masing tier yang dihasilkan. Jika Perubahan script dilakukan di salah satu tier, maka tier lain harus diupdate manual juga. Memang, update manual dibutuhkan oleh programmer untuk memodifikasi pemrograman, akan tetapi kemungkinan banyak error yang muncul. Aplikasi di atas hanya sekedar menciptakan kode program back-end, tidak sampai ke front-end. Cara kerja aplikasi ini bisa digunakan jika ada modifikasi table di dalam database, sehingga diperlukan generate ulang beberapa object. 2.3.6.2 PCG Application Studi literatur dilanjutkan dari aplikasi ciptaan (Harrod, 2013) dengan link https://sqltoaspx.codeplex.com/ . Tujuan dari pembuatan program ini adalah untuk menciptakan aplikasi dari sisi back-end dan front-end. Update terakhir dari aplikasi ini pada tahun 2013 versi 1.0.1. Pada bagian front-end, aplikasi ini
21
membentuk file aspx, yaitu form standar web dari Visual Studio. Sedangkan pada bagian back-end, aplikasi ini dapat membentuk file class yang mencerminkan table yang dipilih. Class yang terbentuk hanya bersifat mendefinisikan variabel dari masing-masing field dari table, tidak ada method di dalamnya. Karena kode program untuk manipulasi database terdapat di file aspx-nya.
Gambar 2.9 – Aplikasi PCG Aplikasi ini tidak cocok dengan konsep OOP. Karena tidak bisa melakukan pemanggilan object dari method yang dibuat. Semua method disimpan di front-end, sehingga lebih cocok dengan pemrograman struktural. Akan tetapi, fitur lookup table dapat dijadikan sebagai literature agar user bisa memodifikasi lookup tersebut sesuai dengan kebutuhan mereka. 2.3.6.3 SalarDBCodeGenerator Application Untuk
memperkaya
literatur,
studi
dilanjutkan
dengan
link
https://salardbcodegenerator.codeplex.com/, yang diciptakan oleh (salar2k, 2014). Tujuan dari pembuatan program ini adalah untuk menghasilkan kelas
22
.NET dan metode untuk database dan model tersebut berdasarkan pola yang disesuaikan. Update terakhir dari aplikasi ini pada tahun 2014 versi 2.1.2013.719.
Gambar 2.10 – Aplikasi SalarDBCodeGenerator
Aplikasi menghasilkan file sebuah project csproj, project dari bahasa pemrograman C#. Project ini dapat dikembangkan kembali menggunakan editor Visual Studio. Di dalam project ini juga terdapat beberapa object class seperti DAL dan BLL. Script Store Procedure untuk memanipulasi data juga telah disediakan untuk dieksekusi ditahap selanjutnya. Konsep dari aplikasi ini bisa dijadikan bahan literatur, karena sudah memenuhi konsep OOP. Aplikasi ini sangat praktis, karena telah menghasilkan project yang dibutuhkan pada pengembangan thesis ini, walaupun masih banyak beberapa kekurangannya.
23
Kekurangan dari aplikasi ini adalah tidak bisa menghasilkan file front-end. Sedangkan lamanya pembuatan program biasanya pada desain formnya. Walaupun standar dari setiap Perusahaan sudah ada, akan tetapi desain form memerlukan butuh waktu lagi untuk mengintegrasikan antara class dengan formnya. Dari hasil Studi Literatur di atas, maka penulis dapat mendesain sebuah aplikasi yang lebih praktis dan lebih terintegrasi. Sehingga pembuatan aplikasi dari hasil generate program, menjadi lebih cepat dan tidak perlu banyak mondifikasi kembali. Fitur untuk memodifikasi kode program bisa dicontoh dari DBS Application. Karena perubahan field database pasti akan terjadi, sehingga untuk mempercepat koding kembali, maka programmer cukup menciptakan dari project generator. Lookup dari sebuah form pasti akan selalu ada di setiap form, untuk itu informasi yang ada pada lookup data harus user friendly. Lookup tidak hanya di-embed di field kunci, akan tetapi bisa diterapkan di semua field. Untuk itu, konsep yang dikembangkan oleh PCG Application perlu ditiru, bagaimana cara mengintegrasikan lookup yang disetting dengan hasil generate ke file aspx-nya. Lookup tersebut akan penulis integrasikan dengan store procedure, agar jika ada modifikasi akan lebih praktis. Apabila object yang dibutuhkan bisa digenetate, maka langkah selanjutnya adalah bagaimana cara untuk mengintegrasikannya ke dalam suatu project C#. Project tersebut berfungsi untuk menjalakan kode program dan proses debugging serta release produk. Konsep yang dikembangkan oleh Aplikasi SalarDBCodeGenerator dapat dijadikan sebagai bahan literatur. Akan tetapi perlu ada research selanjutnya, yaitu bagaimana membuat file
24
solution yang berfungsi untuk mengatur project-project yang ada. Karena dalam sebuah sistem biasanya tidak hanya terdiri dari satu project saja, tetapi bisa banyak project. Misalnya project web, project mobile, project windows application, project library, project webservice, dan project lainnya.