Membuat Papan Catur Dengan OpenGL

Ini adalah hasil running dari pembuatan papan catur dengan OpenGL menggunakan Microsoft Visual C++ 2008 .

OpenGL

Mengenal Library Grafis OpenGL

OpenGL adalah suatu library grafis standard yang digunakan untuk keperluan keperluan pemrograman grafis dan dipakai pada banyak platform (windows, linux) dan dapat digunakan pada berbagai jenis compiler seperti C++ atau Delphi. Selain OpenGL, library grafis yang banyak digunakan adalah DirectX. OpenGL bukanlah bahasa pemrograman tetapi merupakan suatu Application Programming Interface (API). OpenGL bersifat Open-Source, multiplatform dan multilanguage. Saat ini semua bahasa pemrograman mendukung OpenGL. Dan OpenGL bisa bekerja dalam lingkungan Windows, Unix, SGI, Linux, free BSD dll.

Library dasar dari OpenGL adalah GLUT, dengan fasilitas yang bisa dikembangkan.
Untuk sistem operasi Windows, library ini terdiri dari 3 files yaitu:
–glut.h
–glut32.lib
–glut32.dll

Library OpenGL-GLUTLibrary GLUT
• Copykanfile glut.hdidalamfolder c:\Program Files\Microsoft Visual Studio\VC98\Include\GL
• Copykanfile glut32.lib didalamfolder c:\Program Files\Microsoft Visual Studio\VC98\lib
• Copykanfile glut32.dll didalamfolder c:\Windows\System32

Sintax Perintah OpenGL

Sintaks perintah OpenGL mengikuti aturan penulisan dari library dimana fungsi tersebut berasal, format penulisan fungsi OpenGL adalah :

Semua perintah OpenGL menggunakan awalan gl diikuti dengan huruf kapital pada setiap kata membentuk nama perintah (sebagai contoh glClearColor). Untuk mendefinisikan konstanta diawali dengan GL_, dengan menggunakan huruf kapital dan garis bawah untuk memisahkan kata (seperti GL_POLY_STIPPLE). Terkadang beberapa huruf dan angka ditambahkan pada akhir perintah (seperti 3f pada glVertex3f). Dalam hal ini angka 3 menunjukkan berapa banyak argumen yang harus ada pada perintah tersebut dan akhiran huruf f menunjukkan jenis datanya yaitu floating. Sebagai contoh pada dua perintah berikut ini :
glVertex3i(1,0,-2);
glVertex3f(1.0, 0.0, -2.0);
adalah sama yaitu meletakkan titik di layar pada koordinat x = 1, y = 0 dan z = -2, perbedaannya yaitu pada perintah pertama menspesifikasikan titik dengan tipe data integer 32-bit, sedangkan yang kedua dengan tipe data single precision floating point.
Beberapa perintah OpenGL menambahkan perintah huruf akhir v yang menunjukkan bahwa perintah tersebut menggunakan pointer ke array/vektor. Di bawah ini contoh perbedaannya.
float color_array[]={1.0,0.0,0.0}
glColor3f (1.0,0.0,0.0);
glColor3fv(color_array);

Library yang Berhubungan dengan OpenGL

OpenGL menyediakan set perintah untuk menggambar dan semua penggambaran yang lebih tinggi tingkatnya harus dilakukan dengan mengambil fungsi dasar dari perintah ini. Maka dari itu dapat dibuat library itu sendiri di atas program OpenGL yang mempermudah pemrograman lebih lanjut. Fungsi asli dari OpenGL sendiri selalu diawali dengan gl yang
terdapat pada library opengl32.dll dan file header gl.h. Sedangkan beberapa library yang telah ditulis untuk menyediakan fungsi-fungsi tambahan pada OpenGL adalah :
1. OpenGL Utility Library (GLU) yang didalamnya terdapat sejumlah rutin yang menggunakan level bawah dari perintah OpenGL. Rutin-rutin ini mempunyai awalan glu. Library ini digunakan sebagai bagian dari implementasi OpenGL.
2. OpenGL Extension untuk X-Windows yang menyediakan fungsi untuk menciptakan OpenGL context dan mengasosiasikannya dengan mesin yang menggunakan X-Windows. Rutin-rutin ini mempunyai awalan glx.
3. Auxiliary atau aux library terdapat pada library glaux.lib dan file header glaux.h. Perintah yang akan digunakan selalu menggunakan awalan aux
4. OpenGL Utility Toolkit (GLUT) adalah toolkit untuk sistem windows yang ditulis oleh Mark Kilgard untuk menyembunyikan perintah API sistem windows yang kompleks.

Pengantar Komputer Grafik

Grafik komputer, adalah tentang pengambilan suatu model komputer dan memproduksi suatu citra dari model tsb

Secara lebih luas tentang grafik komputer:
– Jika kita sering/ingin berhubungan dengan model, maka kita dapat menciptakan image yang baru.
– Pembuatan animasi/menghidupkan model dalam cara yang ditentukan (seperti suatu script/naskah) atau menurut satu kumpulan aturan.
– Menjadi cara terbaik untuk menampilkan kembali (represent) model itu.
– Tentu saja, semua ini mengasums

ikan suatu cara untuk capture/menangkap atau menciptakan model tsb, kemudian akhirnya menampilkan image tsb.

Grafik Komputer berhubungan dengan:
– Pemodelan geometris: menciptakan model matematika dari objek-objek 2D dan 3D.
– Rendering: memproduksi image yang diberikan pada model ini.
– Animation: Menetapkan/menampilkan kembali tingkah laku/behavior objek bergantung waktu.

Komponen Dasar Sistem Grafik Interaktif :
– Masukan : mouse, tablet dan stylus, peralatan force feedback, scanner, live video stream, dll
– Proses dan Penyimpanan
– Keluaran : layar, printer berba

sis kertas, perekam video, non-linear editor, dll

Dalam Komputer Grafis terdapat 2 pemodelan, yaitu:
• Model Grafis
• Model Teks
Pada Model Grafis sendiri terdapat beberap

a Model, yaitu:
• Model Vektor

 • Model Raster

• Model Vektor
– Awal komputer display : dasar dr oscilloscope
– Kendali X,Y dengan vetikal/horisontal papan voltase
– Sering digunakan intensitas sebagai Z

 

 

 

 

 

• Model Raster
– Raster: array segiempat berisi titik/ dot
– Pixel: satu dot atau picture elemen dari raster
– Scan line: baris dari pixel–TV B/W : suatu oscilloscope dengan pola scan yang tetap : kiri ke kanan, atas ke bawah
– Untuk menggambar pada screen, komputer membutuhkan sinkronisasi dengan pola scanning dari raster.Diperlukan memori khusus untuk buffer citra dengan scan out sinkronouske raster yang disebut framebuffer .

 

 

 

 

 

Arsitektur Sistem Grafik

 

 

 

 

 

 

Aplikasi Dari Komputer Grafik:
• Computer games
• Special effects
• Computer art
• Scientific visualization
• Medical imaging

Proses Pengembangan aplikasi web

Resume bab 10

10. Proses Pengembangan Aplikasi Web

kekuatan proses kelas berat adalah daya adaptasi pada kompleksitas aplikasi di bawah
pembangunan. Sebaliknya, kekuatan proses tangkas adalah bagaimana mereka berhubungan dengan pengembangan pendek siklus dan persyaratan baru atau berubah.

10.2 Fundamental

Secara ringkas, kita dapat mengatakan bahwa dalam suatu pengembangan proyek perangkat lunak,konten-aspek khusus ditangani dengan metode, sedangkan proses kesepakatan dengan aspekorganisasi. Proses ini adalah kerangka kerja untuk mengelola pengembangan dan pemeliharaan, Sebaliknya, organisasi kebutuhan seperti kebutuhan orang yang berpartisipasi dalam sebuah proyek untuk berkomunikasi menentukan persyaratan pada metode. Ini adalah alasan mengapa proses dan metode yang harus dikoordinasikan.

Properti terpenting dari proses pengembangan perangkat lunak modern diantaranya adalah  iteratif. Ide dasarnya adalah untuk mengembangkan sistem perangkat lunak secara bertahap dari hasil awal ke final produk dalam beberapa iterasi (lihat Gambar 10-2). Sebuah iterasi adalah seperangkat kegiatan yang berbeda yang menghasilkan dalam sebuah rilis.

 

  • Fase Inception: Pada fase awal, pengembang menetapkan cakupan proyek dan
    kasus bisnis sistem. Tujuan dari fase ini adalah untuk mengembangkan visi umum
    produk akhir bekerja sama dengan pelanggan dan pengguna sistem yang akan datang. Ini mencakup definisi dari persyaratan mendasar, yaitu, membatasi apa yang harus dikerjakan sistem terhadap apa yang tidak perlu dilakukan. Ini adalah dasar untuk pendekatan tambahan. Selain itu, itu juga mencakup penelaahan atas kelayakan yaitu, arsitektur, minimal, yang pertama fase harus menemukan dan bereksperimen dengan arsitektur yang cocok untuk kebutuhan.
  • Fase Uraian: Dalam fase elaborasi, pengembang menganalisis kebutuhan proyek dalam
    detail yang lebih besar dan menentukan dasar arsitekturalnya. Tujuan dari fase ini adalah untuk mengecualikan tertinggi proyek risiko sejauh seluas mungkin, sehingga harga tetap dapat dirumuskan di akhir fase ini. Hal ini mencakup pemilihan arsitektur optimal dan diperluas dan pengenalan staf dengan teknologi yang akan digunakan.
  • Tahap Konstruksi: Pada tahap konstruksi, pengembang berkonsentrasi pada menyelesaikan analisis, melakukan sebagian besar desain dan implementasi sistem. Itu
    adalah, fase konstruksi membangun produk dengan berurusan dengan implementasi semua komponen dan integrasi mereka ke dalam satu produk. Produk ini tidak boleh tanpa cacat, seperti beberapa pekerjaan lebih lanjut harus selesai dalam tahap transisi. Hasil lain dari ini fase tes rinci.
  • fase: Pada fase transisi, pengembang memberikan sistem kepada pengguna. Fase ini
    menyimpulkan proyek dengan mengintegrasikan produk ke dalam lingkungan pengguna.

Kesesuaian Umum Pengembangan Aplikasi Web

  • fase Inception: Definisi dari fase pertama adalah masalah untuk pembangunan aplikasi Web. Sebagai instrumen pemasaran, aplikasi Web memiliki kelompok sasaran, tetapi kebutuhan kelompok ini tidak diketahui pada awal proyek, dan mereka berubah terus karena pengaruh pasar. Hal ini membuat perlu untuk terus-menerus dan empiris review asumsi tentang penerimaan pengguna dan untuk mengadaptasi visi produk temuan studi empiris ini.
  • Tahap Elaborasi: Sekarang, mari kita melihat tujuan-tujuan sekunder fase ini. Diragukan lagi, pelatihan staf untuk teknologi yang akan digunakan dalam proyek pembangunan adalah penting juga untuk pengembangan aplikasi Web. Namun, tanpa tekanan dari suatu perkembangan harga tetap yang dimulai pada titik tertentu dalam waktu, pelatihan juga bisa dilakukan kemudian. Hal ini hanya harus diselesaikan sebelum kompleksitas dari tugas-tugas di tangan menjadi tidak terkendali.
  • Tahap Konstruksi: pengembangan aplikasi Web juga memiliki fase di mana pekerjaan aktual konstruksi dilakukan. Berdasarkan pembahasan di atas dari fase awal, itu hanyalah pertanyaan apakah atau tidak ada bisa menjadi salah satu titik waktu ketika cukup tertentu apa komponen lainnya masih harus dikembangkan.
  • Transisi fase: Fase transisi dapat berarti bagi aplikasi Web, juga. Terutama ketika fungsionalitas baru ditambahkan ke aplikasi Web iteratif, hal ini dapat memerlukan sebuah migrasi data atau operasi paralel dua versi. Namun, fase transisi bisa sangat mudah jika mungkin untuk hanya mengganti aplikasi yang sudah ada dengan versi yang baru.

Apakah RUP memenuhi Persyaratan Aplikasi Web?

  1. Penanganan siklus pengembangan yang pendek: Siklus khas proyek yang RUP adalah
    dirancang sangat berbeda dari yang khas untuk pengembangan aplikasi Web.
  2. Penanganan mengubah persyaratan: Menurut definisi dari fase RUP, harus ada visi konkret dari aplikasi Web yang sedang dikembangkan pada akhir tahap awal.
  3. Rilis dengan tenggat waktu tetap dan isi fleksibel: Suatu proses berdasarkan RUP menghasilkan rilis pada akhir setiap iterasi.
  4. Paralel perkembangan rilis yang berbeda: Dalam proses berdasarkan RUP, pengembangan paralel pelepasan yang berbeda akan harus dilakukan iterasi paralel.
  5. Reuse dan integrasi: RUP adalah proses pengembangan berbasis komponen, yang berarti bahwa mengejar tujuan untuk mengembangkan komponen dapat digunakan kembali.
  6. Beradaptasi dengan tingkat kompleksitas aplikasi Web: RUP adalah suatu kerangka kerja proses yang dapat disesuaikan dengan berbagai aplikasi dan persyaratan organisasi.

10.5 Analisis Extreme Programming

kesesuaian Extreme Programming (XP) (Beck 1999, Beck dan Fowler 2000) – software paling populer pengembangan model proses agile – untuk pengembangan Aplikasi web.  Agile adalah proses dibangun di atas dasar pembangunan iteratif.

empat nilai inti – komunikasi, kesederhanaan, umpan balik, dan keberanian. XP nilai inti yang pertama, komunikasi, merupakan tugas dasar sistem perangkat lunak bangunan. Di XP komunikasi pribadi lebih penting daripada dokumen apapun. Tujuannya adalah untuk berikan semua pengembang pandangan bersama dari sistem yang cocok dengan pandangan yang dimiliki oleh pengguna sistem. XP nilai inti yang kedua, kesederhanaan, mendorong dimulai dengan solusi sederhana dan refactoring untuk yang lebih baik. Dalam sebuah proyek XP fokus pada desain dan coding. Inti XP nilai ketiga, umpan balik, panduan proyek sepanjang jalan. Dalam umpan balik XP terkait dengan dimensi pembangunan yang berbeda. Pemrogram membutuhkan umpan balik langsung tentang keadaan sistem setelah perubahan implementasi. XP nilai inti yang keempat, keberanian, berarti bahwa pengembang, manajer, dan pelanggan harus tidak takut untuk mencoba ide-ide baru dan pendekatan. Kadang-kadang kesempatan harus diambil untuk mencapai hasil yang diinginkan.

Apakah XP memenuhi Persyaratan Pembangunan Aplikasi Web

Dibandingkan dengan RUP, XP telah memantapkan dirinya sebagai pendekatan diterima untuk pengembangan Aplikasi web. Ini bagian hanya akan secara singkat menunjukkan bagaimana XP dapat memenuhi persyaratan yang ditetapkan untuk proyek pengembangan aplikasi Web menjadi lebih memahami kesulitan potensial.

  1. Penanganan siklus pengembangan yang singkat: Cepat rilis berturut-turut adalah salah satu karakteristik proyek XP.
  2. Penanganan persyaratan berubah: Kesederhanaan, yang merupakan salah satu dari empat nilai inti XP, berarti bahwa setiap perencanaan jangka panjang hanya dapat menjadi sangat kasar dan awal dalam sebuah XP proyek.
  3. Rilis dengan tenggat waktu tetap dan isi fleksibel: Sebuah mendahului penerimaan sukses uji penerbitan sebuah rilis. Namun, tidak ada dalam sebuah proyek XP mencegah bergerak isi dari satu rilis ke rilis berikutnya.
  4. pengembangan paralel dari rilis yang berbeda: XP tidak mendasar mengecualikan paralel
    rilis pengembangan yang berbeda.
  5. Reuse dan integrasi: Karena perkembangan tekanan waktu inWebapplication besar,
    adalah penting untuk menggunakan kembali komponen yang ada. Integrasi hanya komponen yang ada memerlukan dukungan metodologis bukan dukungan oleh proses itu sendiri.
  6. Beradaptasi dengan tingkat kompleksitas aplikasi Web: Hal positif tentang XP untuk awal tahapan proyek pengembangan aplikasi Web adalah untuk dapat menangani yang belum jelas persyaratan, dan bahwa aplikasi Web dapat digunakan setelah siklus pengembangan yang singkat.

10.6 Outlook

Meta-proses dalam arti didefinisikan di sini adalah proses manajemen yang berfungsi untuk mengontrol perubahan dan bukan untuk menciptakan produk. Karakter proses berkembang dari empiris  proses menuju proses produksi dari waktu ke waktu.Hal ini menjelaskan keunggulan saat proses tangkas dan tuntutan yang tinggi dalam anggota tim dalam proyek tersebut. pengembangan aplikasi Web ini sedang dalam keadaan mendesain ulang produk. Desain ulang produk membutuhkan konsepsi Upaya yang dapat ditangani oleh staf yang berkualifikasi tinggi dalam lingkungan kerja yang fleksibel. Selamajangka panjang, Namun, pengembangan aplikasi Web juga akan berangsur-angsur menjadi suatu produksi proses.

Download file selengkapnya

pengujian aplikasi web

Pengujian adalah salah satu yang paling penting untuk jaminan kualitas.
aplikasi Web merupakan tantangan baru untuk jaminan kualitas dan pengujian. Aplikasi Web terdiri komponen perangkat lunak beragam kemungkinan yang disediakan oleh produsen yang berbeda.
Fundamental
• Terminologi
Pengujian adalah kegiatan dilakukan untuk mengevaluasi kualitas suatu produk dan untuk meningkatkan itu dengan mengidentifikasi cacat dan masalah.
kesalahan hadir jika hasil aktual dari uji coba tidak sesuai dengan hasil yang diharapkan. Hasil yang diharapkan ditentukan, misalnya, dalam definisi persyaratan. Definisi ini menyiratkan bahwa definisi persyaratan digunakan sebagai dasar untuk pengujian selesai dan tersedia sebelum implementasi dan uji coba.
• Karakteristik Mutu
Sebuah taksonomi umum untuk karakteristik kualitas produk perangkat lunak ditentukan dalam ISO / IEC 9126-1 standar. Standar ini menyebutkan enam kategori utama karakteristik – fungsionalitas,keandalan, kegunaan, efisiensi, pemeliharaan, dan portabilitas – dan istirahat mereka turun lebih lanjutke dalam sub-karakteristik.
• Tujuan Uji
Tujuan pengujian adalah untuk menemukan kesalahan, bukan untuk menunjukkan ketidakhadiran mereka. tujuan uji lanjut penting adalah untuk membawa risiko terhadap cahaya, tidak hanya untuk menunjukkan kesesuaian dengan persyaratan lain.
Secara ringkas, kita dapat mengatakan bahwa pengujian pada umumnya, dan untuk proyek-proyek web pada khususnya, harus dapat mendeteksi sebagai kesalahan sebanyak mungkin, idealnya sebagai kesalahan serius sebanyak mungkin, dengan biaya serendah mungkin, dalam waktu yang singkat periode waktu mungkin, dan sedini mungkin.
• Uji Tingkat
Menurut tahap pembangunan yang berbeda di mana kita dapat menghasilkan hasil yang diuji, kami mengidentifikasi tingkat uji untuk memfasilitasi pengujian hasil ini.
– Unit test: uji unit diuji terkecil (kelas, halaman Web, dll), bebas satu lain. Unit testing dilakukan oleh pengembang selama implementasi.
– Integrasi tes: mengevaluasi interaksi antara unit yang berbeda dan terpisah diuji sekali
mereka telah terintegrasi. Integrasi tes dilakukan oleh tester, pengembang, atau keduanya bersama-sama.
– Sistem tes: menguji sistem, lengkap terintegrasi. Sistem tes biasanya dilakukan oleh
tim khusus uji.
– Penerimaan tes: mengevaluasi sistem bekerjasama dengan atau di bawah naungan klien dalam suatu lingkungan yang datang paling dekat dengan lingkungan produksi. Tes Penerimaan gunakan nyata kondisi dan data nyata.
– Tes Beta : biarkan kerja yang ramah pengguna dengan versi awal produk dengan tujuan untuk memberikan awal umpan balik. Beta tes informal (tanpa rencana uji dan uji kasus) yang mengandalkan pada jumlah dan kreativitas pengguna potensial.
Risiko yang melekat saat melakukan uji tingkat berurutan sesuai dengan tahapan proyek
adalah adanya kesalahpahaman mengenai harapan pengguna yang biasanya ditemukan pada tahap ahir.
• Peran Tester
Tujuannya untuk menemukan banyak kesalahan mungkin memerlukan penguji untuk memiliki sikap “destruktif” terhadap pengujian.
Uji Spesifikasi Teknik Web
Poin-poin berikut ini menguraikan spesifik yang paling penting dan tantangan di Web pengujian aplikasi berbasis pada karakteristik aplikasi.
– Kesalahan dalam “isi” sering bisa ditemukan hanya dengan manual mahal atau tindakan organisasi,mis, oleh proofreading.
– Ketika pengujian struktur hypertext, kita harus memastikan bahwa halaman yang terhubung dengan benar,misalnya, setiap halaman harus dapat diakses melalui link dan, pada gilirannya, harus memiliki link kembali ke struktur hypertext.
– persyaratan lunak subjektif pada tingkat penyajian aplikasi Web.
– Jumlah perangkat potensi dan karakteristik yang berbeda kinerja (Multi-platform) merupakan tantangan lain.
– Karena ketersediaan global dan penggunaan aplikasi Web, ada banyak tantangan
sehubungan dengan multilinguality dan kegunaan dalam pengujian aplikasi Web.
– “usia muda” umum dan “multidisciplinarity” tim sering dikaitkan dengan miskin
penerimaan metodologi dan kesiapan masyarakat miskin untuk melakukan pengujian.
– aplikasi Web terdiri dari sejumlah komponen perangkat lunak yang berbeda (misalnya, server Web,database, middleware) dan sistem terintegrasi (misalnya, sistem ERP, manajemen konten sistem), yang sering disediakan oleh vendor yang berbeda, dan dilaksanakan dengan teknologi yang berbeda.
– “ketidakmatangan” metode ujian banyak dan alat merupakan tantangan tambahan untuk. Jika sebuah aplikasi Web diimplementasikan dengan teknologi baru, maka ada sering tidak cocok pengujian metode dan alat-alat belum.
– “dominasi perubahan” membuat aplikasi Web pengujian lebih kompleks daripada konvensional pengujian software.
Pendekatan Test
Barikut karakteristik pendekatan pengujian konvensional dan gesit, dan menunjukkan bagaimana mereka berbeda.
• Pendekatan Konvensional
Dari perspektif pendekatan konvensional, pengujian kegiatan proyek meliputi:
– Perencanaan: Langkah perencanaan mendefinisikan tujuan kualitas, strategi pengujian umum, hasil uji rencana untuk semua tingkat pengujian, metrik dan metode pengukuran, dan lingkungan pengujian.
– Menyiapkan: Langkah ini melibatkan memilih teknik pengujian dan alat dan menetapkan Uji kasus (termasuk data pengujian).
– Melakukan: Langkah ini menyiapkan infrastruktur tes, menjalankan uji kasus, dan kemudian dokumen dan mengevaluasi hasilnya.
– Pelaporan: Langkah terakhir ini merangkum hasil tes dan menghasilkan laporan uji.
• Pendekatan Agile
Agile pendekatan mengasumsikan bahwa tim akan mencari solusi untuk masalah-masalah bersama dan mandiri (Ketergantungan pada diri-organisasi).
Uji Skema
Bagian ini menjelaskan skema generik untuk pengujian aplikasi Web. Skema ini menggabungkan Dasar-dasar pengujian – uji kasus, karakteristik kualitas, dan tingkat uji – dijelaskan di atas menjadi seragam dan dikelola pengaturan.
• Uji Tiga Dimensi
• Menerapkan Skema untuk Aplikasi Web
Bagian ini menjelaskan bagaimana dimensi skema generik diperkenalkan pada sebelumnya
bagian dapat terstruktur untuk mengakomodasi karakteristik khusus aplikasi Web dan
Proyek web.
 Karakteristik Mutu
Dimensi karakteristik kualitas ditentukan oleh karakteristik mutu yang relevan
untuk aplikasi Web yang diuji. Dengan demikian, karakteristik mutu yang relevan untuk pengujian berasal dalam tujuan dan harapan para pemangku kepentingan dan harus telah digambarkan sebagai nonfunctional persyaratan dalam definisi persyaratan.
 Objek Uji
Uji dimensi objek generik harus, karena termasuk isi dan struktur dan infrastruktur dan lingkungan dari suatu aplikasi Web, di samping fungsi.
 Tahapan
Tahapan proses pembangunan dapat berbeda dari satu Web proyek ke proyek lainnya, tergantung pada model proses yang dipilih (lihat Bab 10). Sebagai aturan umum,
itu sudah cukup untuk kategorisasi generik sederhana untuk kira-kira membedakan antara fase: Persyaratan definisi, desain dan implementasi, penerimaan dan instalasi, dan operasi dan pemeliharaan.
• Contoh Menggunakan Skema Test
Uji Metode dan Teknik
Bagian-bagian berikut menjelaskan secara singkat metode yang khas dan teknik untuk aplikasi Web pengujian.
• Link Pengujian
Link dalam struktur navigasi hypertext yang mengarah ke sebuah node yang tidak ada (halaman, gambar,dll) atau jangkar disebut broken link dan mewakili terkenal dan sering terjadi kesalahan dalam aplikasi Web. Untuk menguji benar menghubungkan halaman (link pemeriksaan), semua link yang diikuti secara sistematis dimulai pada sebuah halaman awal, dan kemudian dikelompokkan dalam grafik link (peta situs).
• Pengujian Browser
Browser pengujian mencoba untuk menemukan kesalahan dalam aplikasi Web yang disebabkan oleh tidak kompatibel antara browser web yang berbeda. Untuk tujuan ini, salah satu biasanya mendefinisikan inti aplikasi Web fungsi, desain kasus uji yang sesuai, dan menjalankan tes pada sistem target yang berbeda dengan yang berbeda browser versi. Selama pengujian ini, seseorang harus mengajukan berbagai pertanyaan-pertanyaan.
• Pengujian Usability
Usability testing mengevaluasi kemudahan-isu-penggunaan desain Web yang berbeda, tata letak keseluruhan, dan navigations (lihat Bab 11) dari aplikasi Web oleh satu set pengguna yang representatif.
• Load, Stress, dan Pengujian Kontinyu
Load tes, stress test, dan pengujian terus menerus didasarkan pada prosedur yang sama. Sebuah aplikasi kontrol mendistribusikan skrip pengujian di generator beban, tetapi juga menyinkronkan uji coba, dan mengumpulkan hasil tes. Namun, beban tes, stress test, dan pengujian terus menerus memiliki tujuan uji beda:
 Sebuah load test atau tidak memeriksa apakah sistem memenuhi waktu respon yang diperlukan dan diperlukan throughput (lihat juga Bab 12).
 Sebuah tes stres atau tidak memeriksa apakah sistem bereaksi dengan cara yang dikontrol dalam “stres situasi “.
 pengujian terus menerus berarti bahwa sistem tersebut dilakukan selama periode waktu yang panjang untuk menemukan “membahayakan” kesalahan.
• Pengujian Keamanan
Keamanan pengujian adalah bidang yang luas, dan akan dibahas dalam bagian ini hanya
sebentar, itu tidak mewakili suatu teknik pengujian dalam arti harfiah. Ini menyangkut isu-isu dalam kaitannya dengan “keamanan” karakteristik kualitas:
• Test-driven Development
pengembangan Test-driven memastikan bahwa pengembang di bawah stres meningkat hanya berjalan ada tes otomatis lebih sering. Hal ini memungkinkan dia untuk mendapatkan umpan balik langsung bahwa hal-hal yang masih bekerja, yang mengurangi stres dan kesalahan
probabilitas.
Uji Otomasi
Hal ini berlaku khususnya untuk pengembangan berulang dan evolusioner aplikasi web di mana penggunaan alat terorganisasi dapat mendukung tes yang diulang sering dalam siklus pengembangan jangka waktu pendek dan sempit.
• Manfaat dan Kerugian Tes Automated
Uji otomatisasi membawa manfaat berikut untuk pengujian aplikasi Web (lihat juga Fewster dan Graham 1999):
 Menjalankan uji regresi otomatis pada versi baru dari sebuah aplikasi Web memungkinkan untuk mendeteksi cacat yang disebabkan oleh efek samping untuk fungsi tidak berubah.
 Berbagai metode pengujian dan teknik akan sulit atau tidak mungkin untuk melakukan secara manual. Sebagai contoh, beban dan stress testing membutuhkan alat otomatisasi dan sesuai dengan mensimulasikan sejumlah besar pengguna bersamaan.
 Otomasi memungkinkan untuk menjalankan tes lagi dalam waktu kurang dan, dengan demikian, untuk menjalankan tes lebih sering terkemuka untuk keyakinan yang lebih besar dalam sistem yang diuji.
 Selain itu, kemampuan untuk dengan cepat menjalankan kembali serangkaian tes otomatis dapat membantu untuk mempersingkat pelaksanaan ujian waktu dan untuk mengurangi waktu-ke-pasar saat bottleneck adalah mengulangi tes yang ada.
• Uji Perangkat
alat uji Umum digunakan mendukung tugas-tugas berikut:
 Test perencanaan dan manajemen: Alat-alat ini memudahkan manajemen kasus uji dan uji data, pemilihan kasus uji yang sesuai, dan koleksi hasil tes dan pelacakan bug.
 Test desain kasus: Alat yang tersedia untuk desain uji kasus dukungan pengembang dalam menurunkan uji kasus dari definisi persyaratan atau dalam menghasilkan data pengujian.
 Statis dan analisis dinamis: Alat yang dipakai untuk mengukur aplikasi Web, misalnya HTML validator atau dam link, cobalah untuk menemukan penyimpangan dari standar.
 Mengotomasi percobaan: Tools dapat mengotomatisasi percobaan dengan mensimulasikan atau penebangan serta menangkap dan mengulang perilaku komponen atau pengguna.
 Sistem pemantauan: tersedia untuk memonitor sistem mendukung kami dalam mendeteksi kesalahan, misalnya Tools, dengan properti sistem menangkap, seperti konsumsi memori atau akses database.
 General tugas: Tools seperti editor atau generator laporan yang bermanfaat dan yang disebutkan di sini untuk demi kelengkapan.
• Alat Uji Memilih
Kecenderungan saat ini di alat uji untuk aplikasi Web adalah erat digabungkan dengan evolusi terus-menerus teknologi Web dan proses pembangunan modern.
Outlook
Kisaran luas persyaratan mutu pada aplikasi Web mendorong reorientasi luar fokus tradisional pada fungsi dalam pengujian dan membutuhkan pendekatan untuk mengelola upaya pengujian dalam kerangka waktu menyusut dan anggaran berdasarkan pertimbangan risiko.

downlod

arsitektur aplikasi web

Perbedaan Pattern dan Framework

Dalam rekayasa perangkat lunak, pattern/pola desain adalah solusi umum untuk dapat digunakan kembali masalah yang biasa terjadi dalam desain perangkat lunak. Sebuah pola desain tidak desain jadi yang dapat diubah langsung ke kode. Ini adalah deskripsi atau template untuk bagaimana memecahkan masalah yang dapat digunakan dalam berbagai situasi. pola desain berorientasi objek biasanya menunjukkan hubungan dan interaksi antara kelas-kelas atau objek, tanpa menentukan kelas aplikasi akhir atau benda yang terlibat.

Desain pola berada dalam domain modul dan interkoneksi. Pada tingkat yang lebih tinggi ada pola arsitektur yang lebih besar dalam lingkup, biasanya menggambarkan pola keseluruhan diikuti oleh seluruh sistem. Tidak semua pola pola desain perangkat lunak. Sebagai contoh, algoritma memecahkan masalah komputasi bukan masalah desain perangkat lunak.

Framework adalah suatu struktur konseptual dasar yang digunakan untuk memecahkan atau menangani suatu masalah kompleks.

MVC

MVC merupakan suatu konsep yang cukup populer dalam pembangunan aplikasi web, MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, user interface, dan bagian yang menjadi kontrol aplikasi. Terdapat 3 jenis komponen yang membangun suatu MVC pattern dalam suatu aplikasi yaitu :

  1. Model :  merepresentasikan data yang digunakan oleh aplikasi, dapat berhubungan dengan controller, tetapi tidak dapat berhubungan langsung dengan view.
  2. View : mengandung keseluruhan detail dari implementasi user interface.  Disini, komponen grafis menyediakan representasi proses internal aplikasi dan menuntun alur interaksi user terhadap aplikasi.  Pada suatu aplikasi web bagian ini biasanya berupa file template HTML, yang diatur oleh controller. View berfungsi untuk menerima dan merepresentasikan data kepada user. Bagian ini tidak memiliki akses langsung terhadap bagian model.
  3. Controller : merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi.


Strut

strut adalah komponen struktural yang dirancang untuk melawan kompresi longitudinal. Digunakan  untuk menjaga dua komponen lain yang terpisah. struts umumnya digunakan dalam arsitektur dan rekayasa, misalnya sebagai komponen casis mobil. Sebuah topangan suspensi otomotif menggabungkan fungsi utama dari peredam kejut yang berfungsi sebagai peredam, dengan kemampuan untuk mendukung beban samping tidak sepanjang sumbu kompresi, agak mirip dengan suspensi pilar geser, sehingga menghilangkan kebutuhan untuk suspensi lengan atas. Ini berarti bahwa strut harus memiliki desain yang lebih kasar, dengan me-mount poin dekat bagian tengah untuk lampiran beban tersebut.

Bentuk yang paling umum dari strut di mobil adalah MacPherson strut. MacPherson strut menggabungkan peredam kejut dan pegas dalam satu unit, dengan cara dimana setiap roda terpasang pada bodi mobil. Sedangkan Struts yang umum digunakan dalam pesawat awal untuk mendukung sayap, stabilisator, A-frame atau bingkai kontrol segitiga (TCF) pada glider dan pesawat layang gantung, dan di landing gear. Sejak tahun 1930-an mereka kebanyakan diganti dengan konstruksi kantilever, dan menjadi jarang digunakan, terutama di pesawat ringan. Para anggota struktural sering dimuat dalam ketegangan, tetapi dapat bervariasi antara ketegangan dan kompresi sebagai manuver pesawat. Namun, mereka masih banyak digunakan untuk melampirkan landing gear, khususnya di pesawat retractable-gear, dan memberikan redaman selama lepas landas dan mendarat, di sini mereka sering disebut struts oleo.

Codeigniter

CodeIgniter merupakan Web Application framework dengan bahasa pemrograman PHP yang dikembangkan oleh EllisLab. Dibawah ini adalah tampilan awal codeigniter

Baca selengkapnya …

Web Engineering (Masalah Hypertext)

Pengertian Hypertext

Hiperteks adalah teks yang memiliki link atau terhubung ke teks  dan hypertext dianggap sebagai bentuk  yang tidak linear. selain itu, mengandung unsur elektronik, baik dalam pembuatan, pengaksesan, maupun pengembangan.

Berikut ini permasalahan mengenai  hypertext :

Hypertext non linear

Metode penyimpanan informasi dalam format non-linear yang memungkinkan akses atau browsing secara non-linear atau random. disebut non linier text, karena dalam bagian-bagian tertentu bisa merujuk ke bagian lain secara tidak sekuen sesuai dengan alamat rujukan yang diberikan. Rujukan atau Link ini diantaranya yang membedakan dengan teks konvensional sebelumnya. Pembaca bisa mengikuti jalur sesuai dengan prefrensinya, dan tidak harus melalui jalur yang sama.

Hypertext Dis-orientation dan Cognitive Overload

  • Dis-orientasi

Situasi dimana pengguna hilang dalam lautan maklumat dalam aplikasi tidak linear dan menjadi tidak pasti di lokasi mana sekarang berada dalam aplikasi.

Cara mengatasinya:

  1. Hadkan bilangan pautan (links)
  2. Gunakan penunjuk lokasi visual, peta global atau tempatan dan sebagainya
  3. Adakan fungsi-fungsi seperti kembali ke ‘home’ atau skrin utama dan automatic backtracking
  • Cognitive Overload

Masalah ini timbul apabila terlalu banyak pilihan atau link dalam sesuatu halaman yang dipersembahkan terhadap pengguna, sehingga mengakibatkan pengguna sering keliru atau bingung link mana yang harus diikuti dan menyebabkan tidak suka untuk meneruskan aplikasi.

Cara untuk mengurangi Cognitive Overload adalah:

  1. Sediakan glossary bagi istilah-istilah yang teknikal
  2. Guna tetingkap pop-up untuk glossary, fungsi help, dll
  3. Mengurangi  bilangan hypertext dalam sesuatu node.

download