Eko Zulkaryanto Computer Science Student, Bogor Agricultural University Microsoft Student Partners Indonesia http://zulkaryanto.wordpress.com 05 Januari 2010
USULAN PENELITIAN IMPLEMENTASI POLA DESAIN MODEL-VIEW-VIEWMODEL (Studi Kasus Aplikasi Windows Presentation Foundation dan Microsoft Silverlight 3) Oleh : Eko Zulkaryanto G64062250 Pembimbing : Mushthofa, S.Kom, M.Sc.
PENDAHULUAN Latar Belakang Saat ini telah banyak berkembang pola desain dalam pengembangan aplikasi. Pengembang menggunakan pola desain sesuai dengan permasalahan yang mereka hadapi dalam pengembangan aplikasi tersebut. Perlu adanya pemilihan pola desain yang cocok digunakan dalam mengembagkan sebuah aplikasi dengan mempertimbangkan kelebihan dan kekurangan pola desain tersebut. Pengembang juga memerlukan rujukan mengenai pola desain yang mereka pakai dalam pengembangan aplikasi. MSDN Magazine menerbitkan sebuah artikel berjudul “WPF Apps With The ModelView-ViewModel Design Pattern” yang ditulis oleh Josh Smith pada awal Tahun 2009. Josh Smith adalah seorang Microsoft Most Valuable Professional (MVP) di bidang Windows Presentation Foundation (WPF). Pengembang memerlukan framework yang cocok untuk mengembangkan aplikasi mereka. Saat ini pengembang bisa memilih framework yang akan mereka gunakan. Pada penelitian ini digunakan .Net Framework dengan aplikasi Windows Presentation Foundation dan Microsoft Silverlight 3. Demikian juga untuk antarmuka pengguna menjadi sangat penting ketika pengguna aplikasi telah berhadapan dengan aplikasi tersebut. Pengembangan antarmuka pengguna pada aplikasi perangkat lunak yang profesional tidaklah mudah. Adanya kesulitan dalam hal banyaknya data yang rumit, desain interaksi, visual design, konektifitas, multithreading, security, dan unit testing. Mempertimbangkan
hal tersebut, antarmuka pengguna menjelaskan bagian terpenting sistem dan harus memenuhi kebutuhan pengguna yang memiliki gaya pemakaian tidak terprediksi, dan antarmuka pengguna bisa menjadi bagian yang dapat berubah-ubah pada beberapa aplikasi. Tujuan Tujuan dari penelitian ini adalah mengimlementasikan pola desain Model-ViewViewModel (MVVM) pada aplikasi Windows Presentation Foundation (WPF) dan Microsoft Silverlight 3 dan melakukan analisis kelebihan dan kekurangan pola desain Model-ViewViewModel (MVVM). Ruang Lingkup Ruang lingkup dari penelitian adalah: a) Pengembangan aplikasi pada lingkungan .Net Framework 3.5 atau yang lebih baru. b) Pembuatan aplikasi dengan Windows Presentation Foundation (WPF) dan Microsoft Silverlight 3. c) Pembuatan aplikasi menggunakan pola desain MVVM dan MVP. Manfaat Manfaat penelitian ini adalah memberikan rujukan kepada pengembang dalam mengimplementasikan pola desain Model-ViewViewModel (MVVM) dan memberi rujukan tentang kelebihan dan kekurangan pola desain MVVM. TINJAUAN PUSTAKA .Net Framework .Net Framework merupakan salah satu dari cakupan Microsoft .Net yang dikeluarkan oleh Microsoft. .Net Framework adalah teknologi
1
mendasar dalam pengembangan aplikasi di lingkungan Microsoft Windows. .Net Framework terdiri dari dua bagian utama yaitu Common Language Runtime (CLR) dan .Net Framework class library. CLR menyediakan lingkungan runtime untuk eksekusi kode yang ditulis dalam bahasa .Net. .Net Framework class library dirancang untuk mendukung usaha pengembang dalam menyediakan kelas-kelas dasar yang akan dipakai dalam pewarisan (Duthie 2008). .Net Framework dirilis di pasaran sejak tahun 2000. Versi .Net Framework saat ini adalah .Net Framework 3.5 Service Pack 1 (Horn 2010). Horn (2010) menambahkan .Net Framework 3.0 dibangun di atas .Net Framework 2.0 dengan menambahkan beberapa teknologi baru. .Net Framework 3.0 memperkenalkan Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), Windows Workflow Foundation (WF), dan Windows CardSpace. .Net Framework 3.5 dibangun di atas .Net Framework 3.0 dengan memperkenalkan ASP.NET AJAX dan Language Integrated Query (LINQ). Banyak fitur baru dan teknologi baru pada .Net Framework 3.5 Service Pack 1 .
sesuai yang diinginkan. Walaupun XAML dibuat untuk WPF dan digunakan kembali pada Silverlight, masih mempunyai sedikit aturan profil tinggi lainnya. XAML juga digunakan untuk mendefinisikan workflow pada Windows Workflow Foundation (WF) dan digunakan untuk membuat dokumen XML Paper Specification (XPS). WPF WPF sebelumnya dikenal dengan sebagai Avalon, Windows Presentation Foundation (WPF) adalah subsistem grafis baru di Windows Vista dengan menyediakan sarana untuk mengombinasikan Antarmuka pengguna, gambar 2D dan 3D, dokumen, dan media digital. WPF dibangun di atas .Net Framework, WPF menyediakan lingkungan yang sudah teratur untuk pengembangan dengan sistem operasi Windows. Hal ini memberi keuntungan dari investasi yang ada dibuat oleh Microsoft dalam .Net Framework, dan memungkinkan pengembang akrab dengan teknologi .Net agar cepat dalam memulai mengembangkan aplikasi yang menggunakan WPF (Andrade 2007). Pada Gambar 1 dapat dilihat posisi WPF pada .Net Framework.
XAML XAML (dibaca zammel) adalah akronim dari eXtensible Application Markup Language (Daymon & MacDonald 2009). XAML berbasis XML dan digunakan untuk membuat instance dari objek .Net. Walaupun XAML merupakan teknologi yang bisa diterapkan dalam berbagai domain permasalahan yang berbeda, pada awalnya didesain sebagai bagian dari Windows Presentation Foundation (WPF), kemudian pengembang Windows dimudahkan membangun rich user interface. Ketika membangun antarmuka pengguna untuk aplikasi Silverlight digunakan standard yang sama (MacDonald 2009). Menurut MacDonald (2009), XAML dipakai berdasarkan aturan seperti pada HTML dan bahkan lebih dekat dengan XHTML. XHTML memungkinkan untuk menentukan elemenelemen pada web biasa dan mendefinisikan wilayah isi dari web. Untuk memanipulasi XHTML digunakan Javascript atau kode C# di client. Jadi, XAML dan XHTML berbagi konvensi sintaks yang sama. Seperti XHTML, XAML adalah bahasa berbasis XML yang menyediakan elemen yang dapat digunakan
Gambar 1 WPF di dalam .Net Framework 3.5.
Gambar 1 menunjukkan bahwa bermula dari .Net Framework 3.0.
WPF
Menurut MSDN Library (2008), Windows Presentation Foundation (WPF) adalah sebuah sistem presentasi generasi berikutnya untuk membangun aplikasi klien Windows dengan user experiences yang mengagumkan secara visual. Inti dari WPF adalah sebuah mesin render yang berbasis vektor dan tidak bergantung pada resolusi yang dibangun untuk memanfaatkan hardware grafis modern. Microsoft Silverlight 3 Silverlight adalah teknologi yang dibangun oleh Microsoft yang digunakan untuk membangun aplikasi Rich Internet Application
2 http://zulkaryanto.wordpress.com
(RIA) dengan target aplikasi web. Silverlight adalah plug-in antar platform dan antar browser yang dibentuk dari suatu himpunan fungsi yang tercantum pada WPF dan .Net Framework (Horn 2010). Pengembang telah dibiasakan membangun standar aplikasi web atau aplikasi menggunakan ASP.NET yang diperlukan untuk membangun aplikasi Silverlight. Aplikasi Silverlight akan diunduh dan dieksekusi pada mesin klien. Pengiriman balik ke web server hanya terjadi jika diinisiasi secara manual dari aplikasi Silverlight. Ketika pengguna menampilkan sebuah halaman yang berisi kontrol Silverlight, jika plug-in Silverlight belum di-install pada mesin pengguna maka pengguna akan diminta untuk mengunduh dan meng-install plug-in. Setelah ter-install, kontrol Silverlight akan diunduh dan dieksekusi. Ketika subsekuen meminta kontrol Silverlight, akan melakukan instansiasi pada mesin pengguna dan kemudian permintaan sumber dari web server akan hanya dibuat secara manual ketika dibutuhkan. Silverlight 3 telah dirilis pada pertengahan Bulan Juli 2009 secara virtual di http://www.seethelight.com. Silverlight 3 menyediakan fitur-fitur baru yaitu out-ofbrowser, network detection, 3D projection,dan lainnya. Antarmuka Pengguna Desain antarmuka pengguna merupakan himpunan bagian dari suatu bidang studi yang disebut Interaksi Manusia-Komputer (IMK). Interaksi Manusia-Komputer adalah studi, perencanaan, dan desain bagaimana orang dan komputer bekerja sama sehingga kebutuhan seseorang merasa puas dengan cara yang paling efektif. Perancang IMK harus mempertimbangkan beberapa faktor: apa yang orang inginkan dan berharap, apa keterbatasan fisik dan kemampuan yang dimiliki orang, bagaimana persepsi mereka dan bagaimana sistem pengolahan informasi kerja, dan apa yang menyenangkan dan menarik orang. Desainer juga harus mempertimbangkan krakteristik teknis dan keterbatasan hardware dan software (Galitz 2007). Galitz (2007) menambahkan bahwa antarmuka pengguna adalah bagian dari sebuah komputer dan perangkat lunak yang orang dapat melihat, mendengar, menyentuh, berbicara, atau
mengerti. Antarmuka pengguna memiliki dua komponen dasar yaitu input dan output. Input adalah bagaimana seseorang berkomunikasi dengan kebutuhannya atau keiinginannya kepada komputer. Beberapa komponen input seperti common keyboard, mouse, trackball, one’s finger (untuk layar sentuh yang sensitif atau bantalan), one’s voice (untuk perintah yang diucapkan). Output adalah bagaimana komputer menyampaikan hasil perhitungan dan persyaratan pengguna. Saat ini komputer yang paling umum adalah mekanisme output tampilah layar, diikuti dengan mekanisme pendengaran yang menguntungkan pendengaran seseorang. Penggunaan indera manusia penciuman dan sentuhan output dalam desain antarmuka pengguna masih tetap sebagian besar belum diselidiki. Desain antarmuka pengguna yang tepat akan menyediakan campuran mekanisme input dan output yang dirancang dengan baik yang memenuhi kebutuhan pengguna, kemampuan, dan keterbatasan kemungkinan cara yang paling efektif. Menurut Galitz (2007), prinsip umum dalam pengembangan antarmuka antara lain: a. Accessibillity, yaitu sistem yang didesain harus berguna, tanpa modifikasi oleh banyak orang yang mungkin. b. Aesthetically Pleasing, yaitu menyediakan makna yang kontras antar elemen, dibuat grup, elemen dan grup disejajarkan, menyediakan representasi tiga dimensi, dan menggunakan warna dan grafis yang efektif dan sederhana. c. Availability, yaitu semua aspek atau objek harus tersedia setiap waktu dan menghindari penggunaan mode yang bisa mempengaruhi interaksi pengguna kepada sistem. d. Clarity, yaitu antarmuka harus jelas dalam penampilan visual, konsep, dan penuturan. Elemen visual harus bisa dimengerti, menjelaskan kepada pengguna sebenarnya terhadap fungsi-fungsi. Metafora atau analogi yang ada harus realistis dan sederhana. Antarmuka kata dan teks harus sederhana, tidak ambigu, dan bebas dari jargon komputer. e. Configurability, yaitu personalisasi yang mudah dan kostumisasi melalui konfigurasi dan konfigurasi kembali dari penambahan rasa terhadap kontrol dari sistem, menitikberatkan sebuah aturan aktif dalam memberi pengertian kepada pengguna, memperbolehkan pilihan personal dan perbedaan tingkat pengalaman. Hal ini juga
3 http://zulkaryanto.wordpress.com
f.
g.
h.
i.
j.
k.
l.
akan membimbing pengguna agar memiliki tingkat kepuasan yang lebih tinggi. Consistency, yaitu sistem harus terlihat, bertindak, dan beroperasi secara sama menyeluruh, komponen yang sama yaitu kesamaan yang terlihat, penggunaan, dan operasi. Aksi yang sama harus menghasilkan hasil yang sama, fungsi dari suatu elemen tidak boleh berubah, dan posisi dari elemen standard tidak boleh berubah. Control, yaitu pengguna harus mengontrol interaksi, aksi harus menghasilkan dari permintaan eksplisit pengguna, aksi harus dilakukan dengan cepat, aksi harus mampu memberi interupsi dan membatalkan, pengguna jangan pernah diinterupsi dengan error. Konteks pemeliharaan harus berdasarkan prespektif dari user. Upaya untuk mencapai tujuan harus fleksibel dan cocok dengan kemampuan pengguna, pengalaman, kebiasaan, dan kecenderungan. Menghindari mode karena mode membatasi aksi yang tersedia kepada pengguna. Mengizinkan pengguna untuk kostumisasi aspek dari antarmuka ketika selalu disediakan antarmuka default. Directness, yaitu menyediakan cara langsung untuk menyelesaikan tugas, alternatif yang ada harus terlihat, dan efek dari aksi terhadap objek harus terlihat. Efficiency, yaitu meminimalkan perpindahan mata dan tangan dan aksi kontrol lainnya, misalnya transisi antara kontrol sistem yang berbeda harus mengalir dengan mudah dan bebas, lintasan navigasi harus sependek mungkin, dan perpindahan mata pada layar harus jelas dan berurutan, dan mengantisipasi keinginan dan kebutuhan pengguna sewaktu-waktu yang mungkin. Familiarity, yaitu menyediakan konsep yang umum, dan menggunakan bahasa yang umum kepada pengguna, menjaga antarmuka tetap alami dan menirukan pola tingkah laku pengguna dan menggunakan metafora atau kiasan sesuai dengan dunia nyata. Flexibility, yaitu sistem harus sensitif untuk membedakan kebutuhan penggunanya, memungkinkan tingakatan dan tipe kinerja berdasarkan masing-masing pengetahuan dan kemampuan pengguna, masing-masing pengalaman, masing-masing kecenderungan personal, masing-masing kebiasaan pengguna, dan kondisi sesaat. Forgiveness, yaitu memberi toleransi dan memaafkan terhadap umum dan kesalahan manusia yang tidak bisa dihindari, mencegah kesalahan yang terjadi sewaktu-
m.
n.
o.
p.
q.
r.
s.
t.
u.
v. w.
waktu yang mungkin, dan menyediakan pesan yang berguna ketika kesalahan terjadi. Immersion, berarti keadaan ketika mental berada pada fokus yang sangat hebat yaitu kesadaran dan rasa hilang. Hal ini terjadi bisa dari rasa khawatir dan frustasi yang hilang. Sistem harus bisa menyertakan immersion ke dalam tugas. Obviousness, yaitu sistem harus mudah dipelajari dan dimengerti, pengguna harus tahu apa yang dilihat, apa ini, apa yang dilakukan kapan melakukannya, dimana dilakukan, mengapa dilakukan, dan bagaimana dilakukan. Aliran aksi, respon, presentasi visual, dan informasi harus bisa dirasakan agar mudah diingat. Operability, yaitu menjamin desain sistem bisa digunakan setiap orang terlepas dari kemampuan fisik. Perceptibility, yaitu menjamin desain sistem bisa diterima terlepas dari kemampuan panca indera. Positive First Impression, yaitu sistem harus meminimalisasi kendala yang bisa merintangi tujuan, mengarahkan terhadap kemungkinan, dan pemikat yang bisa membawa pengguna menuju titik tujuan. Predictability, yaitu sistem harus membuat pengguna bisa mengatasi deretan alami dari masing-masing tugas, misalnya dengan menyediakan elemen yang terang dan bisa dikenali dan menyediakan isyarat hasil dari aksi yang dilakukan. Sistem tidak boleh membungkus atau mengombinasikan aksi. Semua persangkaan harus bisa terpenuhi secara beraturan dan seutuhnya. Recovery, yaitu sistem harus memperbolehkan: perintah atau aksi dihentikan dan kembali dan segera kembali ke titik tertentu jika kesulitan muncul. Sistem menjamin pengguna tidak pernah kehilangan pekerjaannya karena kesalahan dan masalah pada perangkat keras, perangkat lunak, atau komunikasi. Responsiveness, yaitu sistem harus cepat merespon permintaan pengguna dan segera menyediakan pengakuan untuk semua aksi pengguna (visual, secara teks, dan secara audio). Safety, yaitu melindungi pengguna dari melakukan kesalahan dengan menyediakan isyarat visual, pengingat, daftar pilihan, dan bantuan lainnya secara otomatis atau saat ada permintaan. Simplicity, yaitu sistem menyediakan antarmuka secara sederhana yang mungkin. Transparency, yaitu memperbolehkan pengguna untuk fokus pada tugas atau 4 http://zulkaryanto.wordpress.com
pekerjaan, tanpa memperhatikan ilmu mekanik dari antarmuka. Pekerjaan dan pengingat yang bekerja di dalam komputer harus tidak terlihat oleh pengguna. x. Trade-Offs, yaitu desain akhir akan berdasarkan keseimbangan antar prinsip desain. y. Visibility, yaitu status dan metode penggunaan sistem harus terlihat. Pola Desain Pola desain merupakan desain struktur utama yang membuat desain object-oriented yang reusable (Gamma et al 1995). Pola desain berfokus pada permasalahan desain objectoriented. Model-View-Controller Menurut Gamma et al (1995), Model-ViewController (MVC) digunakan untuk membangun antarmuka pengguna pada Smalltalk-80. Menurut Potel (1996), MVC adalah fundamental dari pola desain yang digunakan pada Smalltalk untuk mengimplementasikan objek graphical user interface (GUI), dan MVC digunakan lagi dan diadopsi ke dalam kelas pustaka GUI lainnya dan beberapa framework aplikasi. Model-View-Controller (MVC) adalah suatu rancangan aplikasi yang terbagi atas tiga bagian yaitu: Model, View, dan Controller. MVC digunakan untuk memetakan input, proses, dan output ke dalam Antarmuka pengguna (Marston 2004 dalam Mamluati 2006). Hubungan di antara MVC dapat dilihat pada gambar dibawah. Penjelasan dari masing-masing adalah sebagai berikut:
bagian
Model Model merupakan representasi dari proses bisnis di dalam aplikasi perangkat lunak. Lebih mudahnya, dapat juga disebutkan bahwa Model adalah bagian yang bertugas untuk mengolah data mentah menjadi data yang mengandung arti yang diinginkan oleh pengguna. View View mengatur antarmuka dari sistem mengatur output baik grafis maupun teks, merupakan hasil akhir yang dikirimkan ke pengguna aplikasi. Format HTML merupakan contoh umum hasil akhir yang dikirimkan dalam aplikasi web.
Controller merepresentasikan permintaan yang datang dari pengguna berupa input dari keyboard atau mouse, memerintahkan Model untuk memproses aksi berdasarkan input, kemudian menampilkan hasil dari aksi tersebut ke View. Model-View-ViewModel Model-View-ViewModel adalah variasi dari Model-View-Controller (MVC) yang dirancang sebagai platform pengembangan antarmuka pengguna modern. Menurut Horn (2010), pola Model-ViewViewModel merupakan pola pengembangan terbaru turunan dari pola Model-ViewController (MVC). Pada MVC, Controller berisi logika yang menangani event dari antarmuka pengguna dan menangani penampilan data di View. Pola desain MVVM memiliki kemampuan baru dalam data-binding (pengikatan data) yang terdapat pada ViewModel. Controller pada pola desain MVVM diganti ViewModel yang tugasnya mengontrol penampilan dari View. Model-View-Presenter Model-View-Presenter (MVP) merupakan turunan dari model pemrograman pada Smalltalk MVC (Potel et al 1996). Perbedaan dengan MVC ialah Controller pada MVC diganti degan Presenter. Presenter pada MVP merupakan interpretasi kejadian dan pergerakan yang diinisiasi oleh pengguna dan menyediakan logika bisnis yang cocok dengan perintah untuk memanipulasi Model. MVP merupakan jenis pola desain antarmuka pengguna yang memasangkan logika antarmuka pengguna. Berdasarkan MSDN Library (2009), varian dari MVP yaitu Passive View dan Supervising Controller. Presenter pada Passive View memperbaharui View untuk memberi tahu perubahan kepada Model. Interaksi dengan Model ditangani secara eksklusif oleh Presenter. View tidak mengetahui perubahanperubahan di dalam Model. View pada Supervising Controller berinteraksi dengan Model untuk melakukan pengikatan data sederhana yang dapat didefinisikan secara deklaratif, tanpa campur tangan Presenter. Ilustrasi Passive View dapat dilihat pada Gambar 2.
Controller
5 http://zulkaryanto.wordpress.com
Kekurangan MVP adalah adanya penambahan kode program yang terlibat dalam pemisahan antara Model, View, dan Presenter. Namun, kekurangan ini bisa tertutupi dengan adanya manfaat yang muncul dari pemisahan kode program ini. METODE PENELITIAN Penelitian ini akan dikerjakan dalam beberapa tahap. Tahap-tahap tersebut dapat dilihat pada Gambar 4. Mulai
Studi Pustaka
Gambar 2 Ilustrasi Passive View.
Ilustrasi Supervising Controller dapat dilihat pada Gambar 3.
Pengembangan Sistem
Pengujian & Analisis
Dokumentasi
Selesai
Gambar 4 Metode Penelitian.
Studi Pustaka
Gambar 3 Ilustrasi Supervising Controller.
Menurut Rozzaq (2007), keuntungan dalam implementasi aplikasi menggunakan pola desain MVP adalah : a. Logika domain tidak tersebar di seluruh kode program antarmuka. Sehingga mengurangi duplikasi penulisan kode program dan lebih memudahkan dalam proses debugging, pemeliharaan, penambahan, dan penggunaan ulang kode. b. Antarmuka pengguna dapat diubah secara bebas dari Model dalam kasus yang tidak merubah kebutuhan aplikasi yang mendasar. c. Pemisahan domain logika dengan dari kode program antarmuka pengguna sangat memudahkan pengujian unit (unit testing).
Dalam tahap ini, kegiatan yang akan dilakukan adalah mengumpulkan semua informasi atau literatur yang terkait dengan penelitian. Informasi tersebut akan berasal dari jurnal, buku, internet, atau artikel yang berkaitan dengan pemanfaatan pola desain dalam pengembangan aplikasi Windows Presentation Foundation dan Silverlight 3. Selain itu akan dicari literatur yang membahas tentang pengembangan aplikasi WPF dan Silverlight 3. Perumusan Masalah Pola desain MVVM dimanfaatkan untuk mengembangkan aplikasi Windows Presentation Foundation dan Microsoft Silverlight 3. Implementasi Pola Desain MVVM Menerapkan MVVM sebagai pola desain aplikasi WPF dan Silverlight 3. Tahap ini akan dilakukan pembuatan sistem menggunakan aplikasi WPF dan Silverlight 3 yang
6 http://zulkaryanto.wordpress.com
memanfaatkan service dari Facebook, Twitter, atau Kompas.com. Tahap ini juga akan diperhatikan desain antarmuka pengguna yang disesuaikan dengan desain antarmuka pengguna menurut Galitz. Pengujian dan Analisis Pengujian sistem dilakukan pada aplikasi WPF dan Silverlight 3 yang telah diterapkan dengan pola desain MVVM. Pengujian akan dilakukan dengan metode black box atau unit testing. Pengujian black box akan dilakukan dengan hanya memperhatikan input dan output yang terjadi pada sistem tanpa melihat proses yang terjadi di dalamnya. Pengujian dengan unit testing akan dilakukan dengan memanfaatkan fitur yang terdapat pada Microsoft Visual Studio 2008 dan Microsoft Visual Studio 2010. Kemudian akan dilakukan analisis kelebihan dan kekurangan pola desain MVVM yang dibandingkan dengan kelebihan dan kekurangan pola desain MVP dengan dilihat dari sisi antarmuka pengguna berdasarkan prinsip umum desain antarmuka menurut Galitz dan dari sisi pemrograman. Lingkungan Pengembangan Lingkungan pengembangan pada penelitian ini terdiri dari lingkungan perangkat lunak dan perangkat keras. Lingkungan perangkat lunak yang akan dipakai pada penelitian ini adalah Microsoft Windows 7 Enterprise, Microsoft Visual Studio 2010 Ultimate Beta 2, Microsoft Visual Studio 2008 Team System Team Suite, Adobe Photoshop CS 3, Microsoft Expression Blend 3 + Sketchflow, .Net Framework 3, 3.5, atau 4, Microsoft Expression Design 3, Facebook library atau Twitter, RSS Kompas.com, dan Microsoft Virtual Earth SDK. Lingkungan perangkat keras yang akan dipakai pada penelitian ini adalah prosesor Intel Core 2 Duo T5500 1.66 GHz, RAM 3 GB DDR 2, resolusi monitor 1280 x 800, Intel Graphics Media Accelerator 950, dan HDD 120 GB.
DAFTAR PUSTAKA Andrade C, Livermore S, Meyers M, Vliet SV. 2007. Professional WPF Programming: .NET Development with the Windows® Presentation Foundation. Indiana: Wiley Publishing, Inc.
Duthie, G. Andrew. 2008. Microsoft ASP.NET, Step by Step. Imam Mustaqim, penerjemah. Jakarta: Gramedia. Terjemahan dari: Microsoft ASP.NET , Step by Step. Feldman A, Daymon M. 2009. WPF in Action with Visual Studio 2008: Covers Visual Studio 2008 SP1 and .NET 3.5 SP1. Greenwich: Manning Publications Co. Galitz WO. 2007. The Essential Guide to User Interface Design An Introduction to GUI Design Principles and Techniques. Indiana: Wiley Publishing, Inc. Gamma E, Helm R, Johnson R, Vlissides J. 1995. Design Pattern: Elements of Reusable Object-Oriented Software. New York: Addison-Wesley Pub Co. Horn, Shannon. 2010. Microsoft Silverlight 3: A Beginner’s Guide. New York: McGraw-Hill Companies. MacDonald M. 2009. Pro Silverlight 2 in C# 2008. New York: Apress. Mamluati, Heni. 2006. Pengembangan Antarmuka Sistem Katalogisasi Berbasis Web Menggunakan Konsep Model-ViewController (MVC) Studi Kasus: Perpustakaan IPB [skripsi]. Institut Pertanian Bogor. Fakultas Matematika dan Ilmu Pengetahuan Alam. [MSDN Library]. 2009. Model-View-Presenter Pattern. http://msdn.microsoft.com/en-us/ library/cc304760.aspx [02 Januari 2010]. [MSDN Library]. 2009. Introduction to Windows Presentation Foundation. http://msdn.microsoft.com/en-us/library/ aa970268.aspx [02 Januari 2010]. Potel M. 1996. MVP: Model-View-Presenter The Taligent Programming Model for C++ and Java. http://www.wildcrest.com/Potel/ Portfolio/mvp.pdf [02 Januari 2010]. Rozzaq S. 2007. Desain Pattern: Model-ViewPresenter (MVP). http://www.razzaq.org/ pub/design_pattern_model_view_presenter. pdf [02 Januari 2010]. Smith J. 2009. WPF Apps With The ModelView-ViewModel Design Pattern. http://msdn. microsoft.com/en-us/magazine/ dd419663.aspx [17 November 2009].
7 http://zulkaryanto.wordpress.com
JADWAL PENELITIAN Rencana jadwal penelitian yang akan dilakukan dapat dilihat pada Tabel 1. Tabel 1 Rencana jadwal penelitian Bulan No.
Jenis Kegiatan
2009 Desember
1
Bimbingan
2
Studi Pustaka
3
Kolokium
4
Pengembangan Sistem
5
Analisis & Dokumentasi
6
Seminar & Sidang
2010 Januari
Februari
Maret
April
Mei
Juni
8 http://zulkaryanto.wordpress.com